https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98201

--- Comment #5 from Thomas Koenig <tkoenig at gcc dot gnu.org> ---
What is the output of

#include <complex.h>
#include <stdio.h>

int main()
{
  _Complex float z, sq, sq2;
  int n;
  float a;
  a = -1.;
  for (n = 1; n < 10; n++)
    {
      a = a * 10;
      z = a + _Complex_I * 1.0;
      sq = csqrtf (z);
      sq2 = sq * sq;
      printf ("(%e,%e) (%e,%e) (%e,%e)\n", creal(z), cimag(z),
              creal(sq), cimag(sq), creal(sq2), cimag(sq2));
    }
  return 0;
}

?

On my Linux box, it is

(-1.000000e+01,1.000000e+00) (1.579171e-01,3.166218e+00)
(-1.000000e+01,1.000000e+00)
(-1.000000e+02,1.000000e+00) (4.999937e-02,1.000012e+01)
(-1.000000e+02,1.000000e+00)
(-1.000000e+03,1.000000e+00) (1.581139e-02,3.162278e+01)
(-9.999999e+02,1.000000e+00)
(-1.000000e+04,1.000000e+00) (5.000000e-03,1.000000e+02)
(-1.000000e+04,1.000000e+00)
(-1.000000e+05,1.000000e+00) (1.581139e-03,3.162278e+02)
(-9.999999e+04,1.000000e+00)
(-1.000000e+06,1.000000e+00) (5.000000e-04,1.000000e+03)
(-1.000000e+06,1.000000e+00)
(-1.000000e+07,1.000000e+00) (1.581139e-04,3.162278e+03)
(-1.000000e+07,1.000000e+00)
(-1.000000e+08,1.000000e+00) (5.000000e-05,1.000000e+04)
(-1.000000e+08,1.000000e+00)
(-1.000000e+09,1.000000e+00) (1.581139e-05,3.162278e+04)
(-1.000000e+09,9.999999e-01)

Reply via email to