void foo(_Complex long double cld, _Complex double cd, _Complex float cf,
         long double ld, double d, float f, int x) {
  do {
    if (__builtin_cprojf(__builtin_inff() + 0I) != 0 + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojf(
                                      __builtin_inff() + 0I)))) !=
         __builtin_copysignf((1), (__builtin_cimagf(0 + __builtin_inff())))))
      link_error(195);
    if (__builtin_cproj(__builtin_inff() + 0I) != 0 + __builtin_inff() ||
        (__builtin_copysignf(
             (1), (__builtin_cimagf(__builtin_cproj(__builtin_inff() + 0I)))) !=
         __builtin_copysignf((1), (__builtin_cimagf(0 + __builtin_inff())))))
      link_error(195);
    if (__builtin_cprojl(__builtin_inff() + 0I) != 0 + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojl(
                                      __builtin_inff() + 0I)))) !=
         __builtin_copysignf((1), (__builtin_cimagf(0 + __builtin_inff())))))
      link_error(195);
  } while (0);
  do {
    if (__builtin_cprojf(__builtin_inff() - 0I) != -0.FI + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojf(
                                      __builtin_inff() - 0I)))) !=
         __builtin_copysignf((1),
                             (__builtin_cimagf(-0.FI + __builtin_inff())))))
      link_error(196);
    if (__builtin_cproj(__builtin_inff() - 0I) != -0.FI + __builtin_inff() ||
        (__builtin_copysignf(
             (1), (__builtin_cimagf(__builtin_cproj(__builtin_inff() - 0I)))) !=
         __builtin_copysignf((1),
                             (__builtin_cimagf(-0.FI + __builtin_inff())))))
      link_error(196);
    if (__builtin_cprojl(__builtin_inff() - 0I) != -0.FI + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojl(
                                      __builtin_inff() - 0I)))) !=
         __builtin_copysignf((1),
                             (__builtin_cimagf(-0.FI + __builtin_inff())))))
      link_error(196);
  } while (0);
  do {
    if (__builtin_cprojf(__builtin_inff() + 4I) != 0 + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojf(
                                      __builtin_inff() + 4I)))) !=
         __builtin_copysignf((1), (__builtin_cimagf(0 + __builtin_inff())))))
      link_error(197);
    if (__builtin_cproj(__builtin_inff() + 4I) != 0 + __builtin_inff() ||
        (__builtin_copysignf(
             (1), (__builtin_cimagf(__builtin_cproj(__builtin_inff() + 4I)))) !=
         __builtin_copysignf((1), (__builtin_cimagf(0 + __builtin_inff())))))
      link_error(197);
    if (__builtin_cprojl(__builtin_inff() + 4I) != 0 + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojl(
                                      __builtin_inff() + 4I)))) !=
         __builtin_copysignf((1), (__builtin_cimagf(0 + __builtin_inff())))))
      link_error(197);
  } while (0);
  do {
    if (__builtin_cprojf(__builtin_inff() - 4I) != -0.FI + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojf(
                                      __builtin_inff() - 4I)))) !=
         __builtin_copysignf((1),
                             (__builtin_cimagf(-0.FI + __builtin_inff())))))
      link_error(198);
    if (__builtin_cproj(__builtin_inff() - 4I) != -0.FI + __builtin_inff() ||
        (__builtin_copysignf(
             (1), (__builtin_cimagf(__builtin_cproj(__builtin_inff() - 4I)))) !=
         __builtin_copysignf((1),
                             (__builtin_cimagf(-0.FI + __builtin_inff())))))
      link_error(198);
    if (__builtin_cprojl(__builtin_inff() - 4I) != -0.FI + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojl(
                                      __builtin_inff() - 4I)))) !=
         __builtin_copysignf((1),
                             (__builtin_cimagf(-0.FI + __builtin_inff())))))
      link_error(198);
  } while (0);
  do {
    if (__builtin_cprojf(-__builtin_inff() + 0I) != 0 + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojf(
                                      -__builtin_inff() + 0I)))) !=
         __builtin_copysignf((1), (__builtin_cimagf(0 + __builtin_inff())))))
      link_error(199);
    if (__builtin_cproj(-__builtin_inff() + 0I) != 0 + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cproj(
                                      -__builtin_inff() + 0I)))) !=
         __builtin_copysignf((1), (__builtin_cimagf(0 + __builtin_inff())))))
      link_error(199);
    if (__builtin_cprojl(-__builtin_inff() + 0I) != 0 + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojl(
                                      -__builtin_inff() + 0I)))) !=
         __builtin_copysignf((1), (__builtin_cimagf(0 + __builtin_inff())))))
      link_error(199);
  } while (0);
  do {
    if (__builtin_cprojf(-__builtin_inff() - 0I) != -0.FI + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojf(
                                      -__builtin_inff() - 0I)))) !=
         __builtin_copysignf((1),
                             (__builtin_cimagf(-0.FI + __builtin_inff())))))
      link_error(200);
    if (__builtin_cproj(-__builtin_inff() - 0I) != -0.FI + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cproj(
                                      -__builtin_inff() - 0I)))) !=
         __builtin_copysignf((1),
                             (__builtin_cimagf(-0.FI + __builtin_inff())))))
      link_error(200);
    if (__builtin_cprojl(-__builtin_inff() - 0I) != -0.FI + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojl(
                                      -__builtin_inff() - 0I)))) !=
         __builtin_copysignf((1),
                             (__builtin_cimagf(-0.FI + __builtin_inff())))))
      link_error(200);
  } while (0);
  do {
    if (__builtin_cprojf(-__builtin_inff() + 4I) != 0 + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojf(
                                      -__builtin_inff() + 4I)))) !=
         __builtin_copysignf((1), (__builtin_cimagf(0 + __builtin_inff())))))
      link_error(201);
    if (__builtin_cproj(-__builtin_inff() + 4I) != 0 + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cproj(
                                      -__builtin_inff() + 4I)))) !=
         __builtin_copysignf((1), (__builtin_cimagf(0 + __builtin_inff())))))
      link_error(201);
    if (__builtin_cprojl(-__builtin_inff() + 4I) != 0 + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojl(
                                      -__builtin_inff() + 4I)))) !=
         __builtin_copysignf((1), (__builtin_cimagf(0 + __builtin_inff())))))
      link_error(201);
  } while (0);
  do {
    if (__builtin_cprojf(-__builtin_inff() - 4I) != -0.FI + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojf(
                                      -__builtin_inff() - 4I)))) !=
         __builtin_copysignf((1),
                             (__builtin_cimagf(-0.FI + __builtin_inff())))))
      link_error(202);
    if (__builtin_cproj(-__builtin_inff() - 4I) != -0.FI + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cproj(
                                      -__builtin_inff() - 4I)))) !=
         __builtin_copysignf((1),
                             (__builtin_cimagf(-0.FI + __builtin_inff())))))
      link_error(202);
    if (__builtin_cprojl(-__builtin_inff() - 4I) != -0.FI + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojl(
                                      -__builtin_inff() - 4I)))) !=
         __builtin_copysignf((1),
                             (__builtin_cimagf(-0.FI + __builtin_inff())))))
      link_error(202);
  } while (0);
  do {
    if (__builtin_cprojf(0 + 1i * __builtin_inff()) != 0 + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojf(
                                      0 + 1i * __builtin_inff())))) !=
         __builtin_copysignf((1), (__builtin_cimagf(0 + __builtin_inff())))))
      link_error(204);
    if (__builtin_cproj(0 + 1i * __builtin_inff()) != 0 + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cproj(
                                      0 + 1i * __builtin_inff())))) !=
         __builtin_copysignf((1), (__builtin_cimagf(0 + __builtin_inff())))))
      link_error(204);
    if (__builtin_cprojl(0 + 1i * __builtin_inff()) != 0 + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojl(
                                      0 + 1i * __builtin_inff())))) !=
         __builtin_copysignf((1), (__builtin_cimagf(0 + __builtin_inff())))))
      link_error(204);
  } while (0);
  do {
    if (__builtin_cprojf(0 - 1i * __builtin_inff()) !=
            -0.FI + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojf(
                                      0 - 1i * __builtin_inff())))) !=
         __builtin_copysignf((1),
                             (__builtin_cimagf(-0.FI + __builtin_inff())))))
      link_error(205);
    if (__builtin_cproj(0 - 1i * __builtin_inff()) !=
            -0.FI + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cproj(
                                      0 - 1i * __builtin_inff())))) !=
         __builtin_copysignf((1),
                             (__builtin_cimagf(-0.FI + __builtin_inff())))))
      link_error(205);
    if (__builtin_cprojl(0 - 1i * __builtin_inff()) !=
            -0.FI + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojl(
                                      0 - 1i * __builtin_inff())))) !=
         __builtin_copysignf((1),
                             (__builtin_cimagf(-0.FI + __builtin_inff())))))
      link_error(205);
  } while (0);
  do {
    if (__builtin_cprojf(23 + 1i * __builtin_inff()) != 0 + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojf(
                                      23 + 1i * __builtin_inff())))) !=
         __builtin_copysignf((1), (__builtin_cimagf(0 + __builtin_inff())))))
      link_error(206);
    if (__builtin_cproj(23 + 1i * __builtin_inff()) != 0 + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cproj(
                                      23 + 1i * __builtin_inff())))) !=
         __builtin_copysignf((1), (__builtin_cimagf(0 + __builtin_inff())))))
      link_error(206);
    if (__builtin_cprojl(23 + 1i * __builtin_inff()) != 0 + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojl(
                                      23 + 1i * __builtin_inff())))) !=
         __builtin_copysignf((1), (__builtin_cimagf(0 + __builtin_inff())))))
      link_error(206);
  } while (0);
  do {
    if (__builtin_cprojf(23 - 1i * __builtin_inff()) !=
            -0.FI + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojf(
                                      23 - 1i * __builtin_inff())))) !=
         __builtin_copysignf((1),
                             (__builtin_cimagf(-0.FI + __builtin_inff())))))
      link_error(207);
    if (__builtin_cproj(23 - 1i * __builtin_inff()) !=
            -0.FI + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cproj(
                                      23 - 1i * __builtin_inff())))) !=
         __builtin_copysignf((1),
                             (__builtin_cimagf(-0.FI + __builtin_inff())))))
      link_error(207);
    if (__builtin_cprojl(23 - 1i * __builtin_inff()) !=
            -0.FI + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojl(
                                      23 - 1i * __builtin_inff())))) !=
         __builtin_copysignf((1),
                             (__builtin_cimagf(-0.FI + __builtin_inff())))))
      link_error(207);
  } while (0);
  do {
    if (__builtin_cprojf(-0.F + 1i * __builtin_inff()) !=
            0 + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojf(
                                      -0.F + 1i * __builtin_inff())))) !=
         __builtin_copysignf((1), (__builtin_cimagf(0 + __builtin_inff())))))
      link_error(208);
    if (__builtin_cproj(-0.F + 1i * __builtin_inff()) != 0 + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cproj(
                                      -0.F + 1i * __builtin_inff())))) !=
         __builtin_copysignf((1), (__builtin_cimagf(0 + __builtin_inff())))))
      link_error(208);
    if (__builtin_cprojl(-0.F + 1i * __builtin_inff()) !=
            0 + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojl(
                                      -0.F + 1i * __builtin_inff())))) !=
         __builtin_copysignf((1), (__builtin_cimagf(0 + __builtin_inff())))))
      link_error(208);
  } while (0);
  do {
    if (__builtin_cprojf(-0.F - 1i * __builtin_inff()) !=
            -0.FI + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojf(
                                      -0.F - 1i * __builtin_inff())))) !=
         __builtin_copysignf((1),
                             (__builtin_cimagf(-0.FI + __builtin_inff())))))
      link_error(209);
    if (__builtin_cproj(-0.F - 1i * __builtin_inff()) !=
            -0.FI + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cproj(
                                      -0.F - 1i * __builtin_inff())))) !=
         __builtin_copysignf((1),
                             (__builtin_cimagf(-0.FI + __builtin_inff())))))
      link_error(209);
    if (__builtin_cprojl(-0.F - 1i * __builtin_inff()) !=
            -0.FI + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojl(
                                      -0.F - 1i * __builtin_inff())))) !=
         __builtin_copysignf((1),
                             (__builtin_cimagf(-0.FI + __builtin_inff())))))
      link_error(209);
  } while (0);
  do {
    if (__builtin_cprojf(-23 + 1i * __builtin_inff()) != 0 + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojf(
                                      -23 + 1i * __builtin_inff())))) !=
         __builtin_copysignf((1), (__builtin_cimagf(0 + __builtin_inff())))))
      link_error(210);
    if (__builtin_cproj(-23 + 1i * __builtin_inff()) != 0 + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cproj(
                                      -23 + 1i * __builtin_inff())))) !=
         __builtin_copysignf((1), (__builtin_cimagf(0 + __builtin_inff())))))
      link_error(210);
    if (__builtin_cprojl(-23 + 1i * __builtin_inff()) != 0 + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojl(
                                      -23 + 1i * __builtin_inff())))) !=
         __builtin_copysignf((1), (__builtin_cimagf(0 + __builtin_inff())))))
      link_error(210);
  } while (0);
  do {
    if (__builtin_cprojf(-23 - 1i * __builtin_inff()) !=
            -0.FI + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojf(
                                      -23 - 1i * __builtin_inff())))) !=
         __builtin_copysignf((1),
                             (__builtin_cimagf(-0.FI + __builtin_inff())))))
      link_error(211);
    if (__builtin_cproj(-23 - 1i * __builtin_inff()) !=
            -0.FI + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cproj(
                                      -23 - 1i * __builtin_inff())))) !=
         __builtin_copysignf((1),
                             (__builtin_cimagf(-0.FI + __builtin_inff())))))
      link_error(211);
    if (__builtin_cprojl(-23 - 1i * __builtin_inff()) !=
            -0.FI + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojl(
                                      -23 - 1i * __builtin_inff())))) !=
         __builtin_copysignf((1),
                             (__builtin_cimagf(-0.FI + __builtin_inff())))))
      link_error(211);
  } while (0);
  do {
    if (__builtin_cprojf(__builtin_inff() + 1i * __builtin_inff()) !=
            0 + __builtin_inff() ||
        (__builtin_copysignf((1),
                             (__builtin_cimagf(__builtin_cprojf(
                                 __builtin_inff() + 1i * __builtin_inff())))) !=
         __builtin_copysignf((1), (__builtin_cimagf(0 + __builtin_inff())))))
      link_error(213);
    if (__builtin_cproj(__builtin_inff() + 1i * __builtin_inff()) !=
            0 + __builtin_inff() ||
        (__builtin_copysignf((1),
                             (__builtin_cimagf(__builtin_cproj(
                                 __builtin_inff() + 1i * __builtin_inff())))) !=
         __builtin_copysignf((1), (__builtin_cimagf(0 + __builtin_inff())))))
      link_error(213);
    if (__builtin_cprojl(__builtin_inff() + 1i * __builtin_inff()) !=
            0 + __builtin_inff() ||
        (__builtin_copysignf((1),
                             (__builtin_cimagf(__builtin_cprojl(
                                 __builtin_inff() + 1i * __builtin_inff())))) !=
         __builtin_copysignf((1), (__builtin_cimagf(0 + __builtin_inff())))))
      link_error(213);
  } while (0);
  do {
    if (__builtin_cprojf(__builtin_inff() - 1i * __builtin_inff()) !=
            -0.FI + __builtin_inff() ||
        (__builtin_copysignf((1),
                             (__builtin_cimagf(__builtin_cprojf(
                                 __builtin_inff() - 1i * __builtin_inff())))) !=
         __builtin_copysignf((1),
                             (__builtin_cimagf(-0.FI + __builtin_inff())))))
      link_error(214);
    if (__builtin_cproj(__builtin_inff() - 1i * __builtin_inff()) !=
            -0.FI + __builtin_inff() ||
        (__builtin_copysignf((1),
                             (__builtin_cimagf(__builtin_cproj(
                                 __builtin_inff() - 1i * __builtin_inff())))) !=
         __builtin_copysignf((1),
                             (__builtin_cimagf(-0.FI + __builtin_inff())))))
      link_error(214);
    if (__builtin_cprojl(__builtin_inff() - 1i * __builtin_inff()) !=
            -0.FI + __builtin_inff() ||
        (__builtin_copysignf((1),
                             (__builtin_cimagf(__builtin_cprojl(
                                 __builtin_inff() - 1i * __builtin_inff())))) !=
         __builtin_copysignf((1),
                             (__builtin_cimagf(-0.FI + __builtin_inff())))))
      link_error(214);
  } while (0);
  do {
    if (__builtin_cprojf(-__builtin_inff() + 1i * __builtin_inff()) !=
            0 + __builtin_inff() ||
        (__builtin_copysignf(
             (1), (__builtin_cimagf(__builtin_cprojf(
                      -__builtin_inff() + 1i * __builtin_inff())))) !=
         __builtin_copysignf((1), (__builtin_cimagf(0 + __builtin_inff())))))
      link_error(215);
    if (__builtin_cproj(-__builtin_inff() + 1i * __builtin_inff()) !=
            0 + __builtin_inff() ||
        (__builtin_copysignf(
             (1), (__builtin_cimagf(__builtin_cproj(-__builtin_inff() +
                                                    1i * __builtin_inff())))) !=
         __builtin_copysignf((1), (__builtin_cimagf(0 + __builtin_inff())))))
      link_error(215);
    if (__builtin_cprojl(-__builtin_inff() + 1i * __builtin_inff()) !=
            0 + __builtin_inff() ||
        (__builtin_copysignf(
             (1), (__builtin_cimagf(__builtin_cprojl(
                      -__builtin_inff() + 1i * __builtin_inff())))) !=
         __builtin_copysignf((1), (__builtin_cimagf(0 + __builtin_inff())))))
      link_error(215);
  } while (0);
  do {
    if (__builtin_cprojf(-__builtin_inff() - 1i * __builtin_inff()) !=
            -0.FI + __builtin_inff() ||
        (__builtin_copysignf(
             (1), (__builtin_cimagf(__builtin_cprojf(
                      -__builtin_inff() - 1i * __builtin_inff())))) !=
         __builtin_copysignf((1),
                             (__builtin_cimagf(-0.FI + __builtin_inff())))))
      link_error(216);
    if (__builtin_cproj(-__builtin_inff() - 1i * __builtin_inff()) !=
            -0.FI + __builtin_inff() ||
        (__builtin_copysignf(
             (1), (__builtin_cimagf(__builtin_cproj(-__builtin_inff() -
                                                    1i * __builtin_inff())))) !=
         __builtin_copysignf((1),
                             (__builtin_cimagf(-0.FI + __builtin_inff())))))
      link_error(216);
    if (__builtin_cprojl(-__builtin_inff() - 1i * __builtin_inff()) !=
            -0.FI + __builtin_inff() ||
        (__builtin_copysignf(
             (1), (__builtin_cimagf(__builtin_cprojl(
                      -__builtin_inff() - 1i * __builtin_inff())))) !=
         __builtin_copysignf((1),
                             (__builtin_cimagf(-0.FI + __builtin_inff())))))
      link_error(216);
  } while (0);
  do {
    if (__builtin_cprojf(0) != (0) ||
        ((__builtin_copysignf((1), (__builtin_crealf(__builtin_cprojf(0)))) !=
          __builtin_copysignf((1), (__builtin_crealf((0))))) ||
         (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojf(0)))) !=
          __builtin_copysignf((1), (__builtin_cimagf((0)))))))
      link_error(218);
  } while (0);
  do {
    if (__builtin_cprojf(-0.F) != (-0.F) ||
        ((__builtin_copysignf((1),
                              (__builtin_crealf(__builtin_cprojf(-0.F)))) !=
          __builtin_copysignf((1), (__builtin_crealf((-0.F))))) ||
         (__builtin_copysignf((1),
                              (__builtin_cimagf(__builtin_cprojf(-0.F)))) !=
          __builtin_copysignf((1), (__builtin_cimagf((-0.F)))))))
      link_error(219);
  } while (0);
  do {
    if (__builtin_cprojf(0 - 0.FI) != (0 - 0.FI) ||
        ((__builtin_copysignf((1),
                              (__builtin_crealf(__builtin_cprojf(0 - 0.FI)))) !=
          __builtin_copysignf((1), (__builtin_crealf((0 - 0.FI))))) ||
         (__builtin_copysignf((1),
                              (__builtin_cimagf(__builtin_cprojf(0 - 0.FI)))) !=
          __builtin_copysignf((1), (__builtin_cimagf((0 - 0.FI)))))))
      link_error(220);
  } while (0);
  do {
    if (__builtin_cprojf(-0.F - 0.FI) != (-0.F - 0.FI) ||
        ((__builtin_copysignf(
              (1), (__builtin_crealf(__builtin_cprojf(-0.F - 0.FI)))) !=
          __builtin_copysignf((1), (__builtin_crealf((-0.F - 0.FI))))) ||
         (__builtin_copysignf(
              (1), (__builtin_cimagf(__builtin_cprojf(-0.F - 0.FI)))) !=
          __builtin_copysignf((1), (__builtin_cimagf((-0.F - 0.FI)))))))
      link_error(221);
  } while (0);
  do {
    if (__builtin_cprojf(22 + 3I) != (22 + 3I) ||
        ((__builtin_copysignf((1),
                              (__builtin_crealf(__builtin_cprojf(22 + 3I)))) !=
          __builtin_copysignf((1), (__builtin_crealf((22 + 3I))))) ||
         (__builtin_copysignf((1),
                              (__builtin_cimagf(__builtin_cprojf(22 + 3I)))) !=
          __builtin_copysignf((1), (__builtin_cimagf((22 + 3I)))))))
      link_error(223);
  } while (0);
  do {
    if (__builtin_cprojf(22 - 3I) != (22 - 3I) ||
        ((__builtin_copysignf((1),
                              (__builtin_crealf(__builtin_cprojf(22 - 3I)))) !=
          __builtin_copysignf((1), (__builtin_crealf((22 - 3I))))) ||
         (__builtin_copysignf((1),
                              (__builtin_cimagf(__builtin_cprojf(22 - 3I)))) !=
          __builtin_copysignf((1), (__builtin_cimagf((22 - 3I)))))))
      link_error(224);
  } while (0);
  do {
    if (__builtin_cprojf(-22 + 3I) != (-22 + 3I) ||
        ((__builtin_copysignf((1),
                              (__builtin_crealf(__builtin_cprojf(-22 + 3I)))) !=
          __builtin_copysignf((1), (__builtin_crealf((-22 + 3I))))) ||
         (__builtin_copysignf((1),
                              (__builtin_cimagf(__builtin_cprojf(-22 + 3I)))) !=
          __builtin_copysignf((1), (__builtin_cimagf((-22 + 3I)))))))
      link_error(225);
  } while (0);
  do {
    if (__builtin_cprojf(-22 - 3I) != (-22 - 3I) ||
        ((__builtin_copysignf((1),
                              (__builtin_crealf(__builtin_cprojf(-22 - 3I)))) !=
          __builtin_copysignf((1), (__builtin_crealf((-22 - 3I))))) ||
         (__builtin_copysignf((1),
                              (__builtin_cimagf(__builtin_cprojf(-22 - 3I)))) !=
          __builtin_copysignf((1), (__builtin_cimagf((-22 - 3I)))))))
      link_error(226);
  } while (0);
  do {
    if (__builtin_cprojf(f + 1i * __builtin_inff()) !=
            0.FI + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojf(
                                      f + 1i * __builtin_inff())))) !=
         __builtin_copysignf((1), (__builtin_cimagf(0.FI + __builtin_inff())))))
      link_error(228);
    if (__builtin_cproj(d + 1i * __builtin_inff()) != 0.FI + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cproj(
                                      d + 1i * __builtin_inff())))) !=
         __builtin_copysignf((1), (__builtin_cimagf(0.FI + __builtin_inff())))))
      link_error(228);
    if (__builtin_cprojl(ld + 1i * __builtin_inff()) !=
            0.FI + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojl(
                                      ld + 1i * __builtin_inff())))) !=
         __builtin_copysignf((1), (__builtin_cimagf(0.FI + __builtin_inff())))))
      link_error(228);
  } while (0);
  do {
    if (__builtin_cprojf(f + 1i * -__builtin_inff()) !=
            -0.FI + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojf(
                                      f + 1i * -__builtin_inff())))) !=
         __builtin_copysignf((1),
                             (__builtin_cimagf(-0.FI + __builtin_inff())))))
      link_error(229);
    if (__builtin_cproj(d + 1i * -__builtin_inff()) !=
            -0.FI + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cproj(
                                      d + 1i * -__builtin_inff())))) !=
         __builtin_copysignf((1),
                             (__builtin_cimagf(-0.FI + __builtin_inff())))))
      link_error(229);
    if (__builtin_cprojl(ld + 1i * -__builtin_inff()) !=
            -0.FI + __builtin_inff() ||
        (__builtin_copysignf((1), (__builtin_cimagf(__builtin_cprojl(
                                      ld + 1i * -__builtin_inff())))) !=
         __builtin_copysignf((1),
                             (__builtin_cimagf(-0.FI + __builtin_inff())))))
      link_error(229);
  } while (0);
  return;
}


x86 assembly (clang, -O0):
<foo>:
push   %rbp
mov    %rsp,%rbp
sub    $0x1500,%rsp
fldt   0x30(%rbp)
movsd  %xmm0,-0x10(%rbp)
movsd  %xmm1,-0x8(%rbp)
movlpd %xmm2,-0x18(%rbp)
fstpt  -0x30(%rbp)
movsd  %xmm3,-0x38(%rbp)
movss  %xmm4,-0x3c(%rbp)
mov    %edi,-0x40(%rbp)
movl   $0x7f800000,-0x48(%rbp)
movl   $0x0,-0x44(%rbp)
movsd  -0x48(%rbp),%xmm0
call   1040 <cprojf@plt>
movlpd %xmm0,-0x50(%rbp)
movss  -0x50(%rbp),%xmm1
movss  -0x4c(%rbp),%xmm0
movss  0x8e64(%rip),%xmm2
ucomiss %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    1213 <foo+0xd3>
movl   $0x7f800000,-0x58(%rbp)
movl   $0x0,-0x54(%rbp)
movsd  -0x58(%rbp),%xmm0
call   1040 <cprojf@plt>
movlpd %xmm0,-0x60(%rbp)
movss  -0x5c(%rbp),%xmm0
movaps 0x8e58(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x8e5d(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x8e05(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    1213 <foo+0xd3>
jp     1213 <foo+0xd3>
jmp    121f <foo+0xdf>
mov    $0xc3,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
movsd  0x8e39(%rip),%xmm0
movsd  %xmm0,-0x70(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x68(%rbp)
movsd  -0x70(%rbp),%xmm0
movsd  -0x68(%rbp),%xmm1
call   1060 <cproj@plt>
movsd  0x8e15(%rip),%xmm2
ucomisd %xmm2,%xmm0
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm0,%xmm0
ucomisd %xmm0,%xmm1
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    12ca <foo+0x18a>
movsd  0x8de8(%rip),%xmm0
movsd  %xmm0,-0x80(%rbp)
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x78(%rbp)
movsd  -0x80(%rbp),%xmm0
movsd  -0x78(%rbp),%xmm1
call   1060 <cproj@plt>
cvtsd2ss %xmm1,%xmm0
movaps 0x8da1(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x8da6(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x8d4e(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    12ca <foo+0x18a>
jp     12ca <foo+0x18a>
jmp    12d6 <foo+0x196>
mov    $0xc3,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
flds   0x8d24(%rip)
fld    %st(0)
fstpt  -0x1190(%rbp)
fstpt  -0xa0(%rbp)
fldz
fld    %st(0)
fstpt  -0x1184(%rbp)
fstpt  -0x90(%rbp)
movaps -0xa0(%rbp),%xmm0
movaps -0x90(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
fldt   -0x1190(%rbp)
fldt   -0x1184(%rbp)
fxch   %st(2)
fucomip %st(1),%st
fstp   %st(0)
setb   %al
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setp   %dl
setne  %cl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    13b7 <foo+0x277>
flds   0x8cb6(%rip)
fstpt  -0xc0(%rbp)
fldz
fstpt  -0xb0(%rbp)
movaps -0xc0(%rbp),%xmm0
movaps -0xb0(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  -0x1044(%rbp)
movss  -0x1044(%rbp),%xmm0
ff
movaps 0x8cb4(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x8cb9(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x8c61(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    13b7 <foo+0x277>
jp     13b7 <foo+0x277>
jmp    13c3 <foo+0x283>
mov    $0xc3,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
jmp    13c8 <foo+0x288>
jmp    13cd <foo+0x28d>
movl   $0x7f800000,-0xc8(%rbp)
movl   $0x0,-0xc4(%rbp)
movsd  -0xc8(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xd0(%rbp)
ff
movss  -0xd0(%rbp),%xmm1
ff
movss  -0xcc(%rbp),%xmm0
ff
movss  0x8bf2(%rip),%xmm2
ucomiss %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
movss  0x8be7(%rip),%xmm1
ucomiss %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    1499 <foo+0x359>
movl   $0x7f800000,-0xd8(%rbp)
movl   $0x0,-0xd4(%rbp)
movsd  -0xd8(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xe0(%rbp)
ff
movss  -0xdc(%rbp),%xmm0
ff
movaps 0x8bd2(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x8bd7(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x8b87(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    1499 <foo+0x359>
jp     1499 <foo+0x359>
jmp    14a5 <foo+0x365>
mov    $0xc4,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
movsd  0x8bb3(%rip),%xmm0
movsd  %xmm0,-0xf0(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xe8(%rbp)
ff
movsd  -0xf0(%rbp),%xmm0
ff
movsd  -0xe8(%rbp),%xmm1
ff
call   1060 <cproj@plt>
movsd  0x8b83(%rip),%xmm2
ucomisd %xmm2,%xmm0
setne  %al
setp   %cl
or     %cl,%al
movsd  0x8b77(%rip),%xmm0
ucomisd %xmm0,%xmm1
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    156d <foo+0x42d>
movsd  0x8b51(%rip),%xmm0
movsd  %xmm0,-0x100(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0x100(%rbp),%xmm0
ff
movsd  -0xf8(%rbp),%xmm1
ff
call   1060 <cproj@plt>
cvtsd2ss %xmm1,%xmm0
movaps 0x8afe(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x8b03(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x8ab3(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    156d <foo+0x42d>
jp     156d <foo+0x42d>
jmp    1579 <foo+0x439>
mov    $0xc4,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
flds   0x8a81(%rip)
fld    %st(0)
fstpt  -0x11a8(%rbp)
fstpt  -0x120(%rbp)
fldz
fld    %st(0)
fstpt  -0x119c(%rbp)
fstpt  -0x110(%rbp)
movaps -0x120(%rbp),%xmm0
movaps -0x110(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
fldt   -0x11a8(%rbp)
fldt   -0x119c(%rbp)
fxch   %st(2)
fucomip %st(1),%st
fstp   %st(0)
setb   %al
fchs
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setp   %dl
setne  %cl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    165c <foo+0x51c>
flds   0x8a11(%rip)
fstpt  -0x140(%rbp)
fldz
fstpt  -0x130(%rbp)
movaps -0x140(%rbp),%xmm0
movaps -0x130(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  -0x1048(%rbp)
movss  -0x1048(%rbp),%xmm0
ff
movaps 0x8a0f(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x8a14(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x89c4(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    165c <foo+0x51c>
jp     165c <foo+0x51c>
jmp    1668 <foo+0x528>
mov    $0xc4,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
jmp    166d <foo+0x52d>
jmp    1672 <foo+0x532>
movl   $0x7f800000,-0x148(%rbp)
movl   $0x40800000,-0x144(%rbp)
movsd  -0x148(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0x150(%rbp)
ff
movss  -0x150(%rbp),%xmm1
ff
movss  -0x14c(%rbp),%xmm0
ff
movss  0x894d(%rip),%xmm2
ucomiss %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    1739 <foo+0x5f9>
movl   $0x7f800000,-0x158(%rbp)
movl   $0x40800000,-0x154(%rbp)
movsd  -0x158(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0x160(%rbp)
ff
movss  -0x15c(%rbp),%xmm0
ff
movaps 0x8932(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x8937(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x88df(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    1739 <foo+0x5f9>
jp     1739 <foo+0x5f9>
jmp    1745 <foo+0x605>
mov    $0xc5,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
movsd  0x8913(%rip),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
movsd  0x8913(%rip),%xmm0
movsd  %xmm0,-0x168(%rbp)
ff
movsd  -0x170(%rbp),%xmm0
ff
movsd  -0x168(%rbp),%xmm1
ff
call   1060 <cproj@plt>
movsd  0x88de(%rip),%xmm2
ucomisd %xmm2,%xmm0
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm0,%xmm0
ucomisd %xmm0,%xmm1
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    1812 <foo+0x6d2>
movsd  0x88b1(%rip),%xmm0
movsd  %xmm0,-0x180(%rbp)
ff
movsd  0x88b1(%rip),%xmm0
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x180(%rbp),%xmm0
ff
movsd  -0x178(%rbp),%xmm1
ff
call   1060 <cproj@plt>
cvtsd2ss %xmm1,%xmm0
movaps 0x8859(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x885e(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x8806(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    1812 <foo+0x6d2>
jp     1812 <foo+0x6d2>
jmp    181e <foo+0x6de>
mov    $0xc5,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
flds   0x87dc(%rip)
fld    %st(0)
fstpt  -0x11b4(%rbp)
fstpt  -0x1a0(%rbp)
flds   0x87d8(%rip)
fstpt  -0x190(%rbp)
movaps -0x1a0(%rbp),%xmm0
movaps -0x190(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
fldt   -0x11b4(%rbp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setb   %al
fldz
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setp   %dl
setne  %cl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    18fb <foo+0x7bb>
flds   0x8776(%rip)
fstpt  -0x1c0(%rbp)
flds   0x877a(%rip)
fstpt  -0x1b0(%rbp)
movaps -0x1c0(%rbp),%xmm0
movaps -0x1b0(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  -0x104c(%rbp)
movss  -0x104c(%rbp),%xmm0
ff
movaps 0x8770(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x8775(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x871d(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    18fb <foo+0x7bb>
jp     18fb <foo+0x7bb>
jmp    1907 <foo+0x7c7>
mov    $0xc5,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
jmp    190c <foo+0x7cc>
jmp    1911 <foo+0x7d1>
movl   $0x7f800000,-0x1c8(%rbp)
movl   $0xc0800000,-0x1c4(%rbp)
movsd  -0x1c8(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0x1d0(%rbp)
ff
movss  -0x1d0(%rbp),%xmm1
ff
movss  -0x1cc(%rbp),%xmm0
ff
movss  0x86ae(%rip),%xmm2
ucomiss %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
movss  0x86a3(%rip),%xmm1
ucomiss %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    19dd <foo+0x89d>
movl   $0x7f800000,-0x1d8(%rbp)
movl   $0xc0800000,-0x1d4(%rbp)
movsd  -0x1d8(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0x1e0(%rbp)
ff
movss  -0x1dc(%rbp),%xmm0
ff
movaps 0x868e(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x8693(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x8643(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    19dd <foo+0x89d>
jp     19dd <foo+0x89d>
jmp    19e9 <foo+0x8a9>
mov    $0xc6,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
movsd  0x866f(%rip),%xmm0
movsd  %xmm0,-0x1f0(%rbp)
ff
movsd  0x8677(%rip),%xmm0
movsd  %xmm0,-0x1e8(%rbp)
ff
movsd  -0x1f0(%rbp),%xmm0
ff
movsd  -0x1e8(%rbp),%xmm1
ff
call   1060 <cproj@plt>
movsd  0x863a(%rip),%xmm2
ucomisd %xmm2,%xmm0
setne  %al
setp   %cl
or     %cl,%al
movsd  0x862e(%rip),%xmm0
ucomisd %xmm0,%xmm1
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    1abb <foo+0x97b>
movsd  0x8608(%rip),%xmm0
movsd  %xmm0,-0x200(%rbp)
ff
movsd  0x8610(%rip),%xmm0
movsd  %xmm0,-0x1f8(%rbp)
ff
movsd  -0x200(%rbp),%xmm0
ff
movsd  -0x1f8(%rbp),%xmm1
ff
call   1060 <cproj@plt>
cvtsd2ss %xmm1,%xmm0
movaps 0x85b0(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x85b5(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x8565(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    1abb <foo+0x97b>
jp     1abb <foo+0x97b>
jmp    1ac7 <foo+0x987>
mov    $0xc6,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
flds   0x8533(%rip)
fld    %st(0)
fstpt  -0x11c0(%rbp)
fstpt  -0x220(%rbp)
flds   0x8533(%rip)
fstpt  -0x210(%rbp)
movaps -0x220(%rbp),%xmm0
movaps -0x210(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
fldt   -0x11c0(%rbp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setb   %al
fldz
fchs
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setp   %dl
setne  %cl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    1ba6 <foo+0xa66>
flds   0x84cb(%rip)
fstpt  -0x240(%rbp)
flds   0x84d3(%rip)
fstpt  -0x230(%rbp)
movaps -0x240(%rbp),%xmm0
movaps -0x230(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  -0x1050(%rbp)
movss  -0x1050(%rbp),%xmm0
ff
movaps 0x84c5(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x84ca(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x847a(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    1ba6 <foo+0xa66>
jp     1ba6 <foo+0xa66>
jmp    1bb2 <foo+0xa72>
mov    $0xc6,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
jmp    1bb7 <foo+0xa77>
jmp    1bbc <foo+0xa7c>
movl   $0xff800000,-0x248(%rbp)
movl   $0x0,-0x244(%rbp)
movsd  -0x248(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0x250(%rbp)
ff
movss  -0x250(%rbp),%xmm1
ff
movss  -0x24c(%rbp),%xmm0
ff
movss  0x8403(%rip),%xmm2
ucomiss %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    1c83 <foo+0xb43>
movl   $0xff800000,-0x258(%rbp)
movl   $0x0,-0x254(%rbp)
movsd  -0x258(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0x260(%rbp)
ff
movss  -0x25c(%rbp),%xmm0
ff
movaps 0x83e8(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x83ed(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x8395(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    1c83 <foo+0xb43>
jp     1c83 <foo+0xb43>
jmp    1c8f <foo+0xb4f>
mov    $0xc7,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
movsd  0x83e9(%rip),%xmm0
movsd  %xmm0,-0x270(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x268(%rbp)
ff
movsd  -0x270(%rbp),%xmm0
ff
movsd  -0x268(%rbp),%xmm1
ff
call   1060 <cproj@plt>
movsd  0x8399(%rip),%xmm2
ucomisd %xmm2,%xmm0
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm0,%xmm0
ucomisd %xmm0,%xmm1
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    1d52 <foo+0xc12>
movsd  0x838c(%rip),%xmm0
movsd  %xmm0,-0x280(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x278(%rbp)
ff
movsd  -0x280(%rbp),%xmm0
ff
movsd  -0x278(%rbp),%xmm1
ff
call   1060 <cproj@plt>
cvtsd2ss %xmm1,%xmm0
movaps 0x8319(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x831e(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x82c6(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    1d52 <foo+0xc12>
jp     1d52 <foo+0xc12>
jmp    1d5e <foo+0xc1e>
mov    $0xc7,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
flds   0x82b4(%rip)
fstpt  -0x2a0(%rbp)
fldz
fld    %st(0)
fstpt  -0x11cc(%rbp)
fstpt  -0x290(%rbp)
movaps -0x2a0(%rbp),%xmm0
movaps -0x290(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
fldt   -0x11cc(%rbp)
flds   0x825d(%rip)
fxch   %st(2)
fucomip %st(2),%st
fstp   %st(1)
setb   %al
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setp   %dl
setne  %cl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    1e37 <foo+0xcf7>
flds   0x824e(%rip)
fstpt  -0x2c0(%rbp)
fldz
fstpt  -0x2b0(%rbp)
movaps -0x2c0(%rbp),%xmm0
movaps -0x2b0(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  -0x1054(%rbp)
movss  -0x1054(%rbp),%xmm0
ff
movaps 0x8234(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x8239(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x81e1(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    1e37 <foo+0xcf7>
jp     1e37 <foo+0xcf7>
jmp    1e43 <foo+0xd03>
mov    $0xc7,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
jmp    1e48 <foo+0xd08>
jmp    1e4d <foo+0xd0d>
movl   $0xff800000,-0x2c8(%rbp)
movl   $0x0,-0x2c4(%rbp)
movsd  -0x2c8(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0x2d0(%rbp)
ff
movss  -0x2d0(%rbp),%xmm1
ff
movss  -0x2cc(%rbp),%xmm0
ff
movss  0x8172(%rip),%xmm2
ucomiss %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
movss  0x8167(%rip),%xmm1
ucomiss %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    1f19 <foo+0xdd9>
movl   $0xff800000,-0x2d8(%rbp)
movl   $0x0,-0x2d4(%rbp)
movsd  -0x2d8(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0x2e0(%rbp)
ff
movss  -0x2dc(%rbp),%xmm0
ff
movaps 0x8152(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x8157(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x8107(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    1f19 <foo+0xdd9>
jp     1f19 <foo+0xdd9>
jmp    1f25 <foo+0xde5>
mov    $0xc8,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
movsd  0x8153(%rip),%xmm0
movsd  %xmm0,-0x2f0(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x2e8(%rbp)
ff
movsd  -0x2f0(%rbp),%xmm0
ff
movsd  -0x2e8(%rbp),%xmm1
ff
call   1060 <cproj@plt>
movsd  0x8103(%rip),%xmm2
ucomisd %xmm2,%xmm0
setne  %al
setp   %cl
or     %cl,%al
movsd  0x80f7(%rip),%xmm0
ucomisd %xmm0,%xmm1
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    1fed <foo+0xead>
movsd  0x80f1(%rip),%xmm0
movsd  %xmm0,-0x300(%rbp)
ff
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x2f8(%rbp)
ff
movsd  -0x300(%rbp),%xmm0
ff
movsd  -0x2f8(%rbp),%xmm1
ff
call   1060 <cproj@plt>
cvtsd2ss %xmm1,%xmm0
movaps 0x807e(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x8083(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x8033(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    1fed <foo+0xead>
jp     1fed <foo+0xead>
jmp    1ff9 <foo+0xeb9>
mov    $0xc8,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
flds   0x8019(%rip)
fstpt  -0x320(%rbp)
fldz
fld    %st(0)
fstpt  -0x11d8(%rbp)
fstpt  -0x310(%rbp)
movaps -0x320(%rbp),%xmm0
movaps -0x310(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
fldt   -0x11d8(%rbp)
flds   0x7fc2(%rip)
fxch   %st(2)
fucomip %st(2),%st
fstp   %st(1)
setb   %al
fchs
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setp   %dl
setne  %cl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    20d4 <foo+0xf94>
flds   0x7fb1(%rip)
fstpt  -0x340(%rbp)
fldz
fstpt  -0x330(%rbp)
movaps -0x340(%rbp),%xmm0
movaps -0x330(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  -0x1058(%rbp)
movss  -0x1058(%rbp),%xmm0
ff
movaps 0x7f97(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x7f9c(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x7f4c(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    20d4 <foo+0xf94>
jp     20d4 <foo+0xf94>
jmp    20e0 <foo+0xfa0>
mov    $0xc8,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
jmp    20e5 <foo+0xfa5>
jmp    20ea <foo+0xfaa>
movl   $0xff800000,-0x348(%rbp)
movl   $0x40800000,-0x344(%rbp)
movsd  -0x348(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0x350(%rbp)
ff
movss  -0x350(%rbp),%xmm1
ff
movss  -0x34c(%rbp),%xmm0
ff
movss  0x7ed5(%rip),%xmm2
ucomiss %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    21b1 <foo+0x1071>
movl   $0xff800000,-0x358(%rbp)
movl   $0x40800000,-0x354(%rbp)
movsd  -0x358(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0x360(%rbp)
ff
movss  -0x35c(%rbp),%xmm0
ff
movaps 0x7eba(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x7ebf(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x7e67(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    21b1 <foo+0x1071>
jp     21b1 <foo+0x1071>
jmp    21bd <foo+0x107d>
mov    $0xc9,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
movsd  0x7ebb(%rip),%xmm0
movsd  %xmm0,-0x370(%rbp)
ff
movsd  0x7e9b(%rip),%xmm0
movsd  %xmm0,-0x368(%rbp)
ff
movsd  -0x370(%rbp),%xmm0
ff
movsd  -0x368(%rbp),%xmm1
ff
call   1060 <cproj@plt>
movsd  0x7e66(%rip),%xmm2
ucomisd %xmm2,%xmm0
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm0,%xmm0
ucomisd %xmm0,%xmm1
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    228a <foo+0x114a>
movsd  0x7e59(%rip),%xmm0
movsd  %xmm0,-0x380(%rbp)
ff
movsd  0x7e39(%rip),%xmm0
movsd  %xmm0,-0x378(%rbp)
ff
movsd  -0x380(%rbp),%xmm0
ff
movsd  -0x378(%rbp),%xmm1
ff
call   1060 <cproj@plt>
cvtsd2ss %xmm1,%xmm0
movaps 0x7de1(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x7de6(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x7d8e(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    228a <foo+0x114a>
jp     228a <foo+0x114a>
jmp    2296 <foo+0x1156>
mov    $0xc9,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
flds   0x7d7c(%rip)
fstpt  -0x3a0(%rbp)
flds   0x7d68(%rip)
fstpt  -0x390(%rbp)
movaps -0x3a0(%rbp),%xmm0
movaps -0x390(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
flds   0x7d2f(%rip)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setb   %al
fldz
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setp   %dl
setne  %cl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    236b <foo+0x122b>
flds   0x7d1e(%rip)
fstpt  -0x3c0(%rbp)
flds   0x7d0a(%rip)
fstpt  -0x3b0(%rbp)
movaps -0x3c0(%rbp),%xmm0
movaps -0x3b0(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  -0x105c(%rbp)
movss  -0x105c(%rbp),%xmm0
ff
movaps 0x7d00(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x7d05(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x7cad(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    236b <foo+0x122b>
jp     236b <foo+0x122b>
jmp    2377 <foo+0x1237>
mov    $0xc9,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
jmp    237c <foo+0x123c>
jmp    2381 <foo+0x1241>
movl   $0xff800000,-0x3c8(%rbp)
movl   $0xc0800000,-0x3c4(%rbp)
movsd  -0x3c8(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0x3d0(%rbp)
ff
movss  -0x3d0(%rbp),%xmm1
ff
movss  -0x3cc(%rbp),%xmm0
ff
movss  0x7c3e(%rip),%xmm2
ucomiss %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
movss  0x7c33(%rip),%xmm1
ucomiss %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    244d <foo+0x130d>
movl   $0xff800000,-0x3d8(%rbp)
movl   $0xc0800000,-0x3d4(%rbp)
movsd  -0x3d8(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0x3e0(%rbp)
ff
movss  -0x3dc(%rbp),%xmm0
ff
movaps 0x7c1e(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x7c23(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x7bd3(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    244d <foo+0x130d>
jp     244d <foo+0x130d>
jmp    2459 <foo+0x1319>
mov    $0xca,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
movsd  0x7c1f(%rip),%xmm0
movsd  %xmm0,-0x3f0(%rbp)
ff
movsd  0x7c07(%rip),%xmm0
movsd  %xmm0,-0x3e8(%rbp)
ff
movsd  -0x3f0(%rbp),%xmm0
ff
movsd  -0x3e8(%rbp),%xmm1
ff
call   1060 <cproj@plt>
movsd  0x7bca(%rip),%xmm2
ucomisd %xmm2,%xmm0
setne  %al
setp   %cl
or     %cl,%al
movsd  0x7bbe(%rip),%xmm0
ucomisd %xmm0,%xmm1
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    252b <foo+0x13eb>
movsd  0x7bb8(%rip),%xmm0
movsd  %xmm0,-0x400(%rbp)
ff
movsd  0x7ba0(%rip),%xmm0
movsd  %xmm0,-0x3f8(%rbp)
ff
movsd  -0x400(%rbp),%xmm0
ff
movsd  -0x3f8(%rbp),%xmm1
ff
call   1060 <cproj@plt>
cvtsd2ss %xmm1,%xmm0
movaps 0x7b40(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x7b45(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x7af5(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    252b <foo+0x13eb>
jp     252b <foo+0x13eb>
jmp    2537 <foo+0x13f7>
mov    $0xca,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
flds   0x7adb(%rip)
fstpt  -0x420(%rbp)
flds   0x7acb(%rip)
fstpt  -0x410(%rbp)
movaps -0x420(%rbp),%xmm0
movaps -0x410(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
flds   0x7a8e(%rip)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setb   %al
fldz
fchs
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setp   %dl
setne  %cl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    260e <foo+0x14ce>
flds   0x7a7b(%rip)
fstpt  -0x440(%rbp)
flds   0x7a6b(%rip)
fstpt  -0x430(%rbp)
movaps -0x440(%rbp),%xmm0
movaps -0x430(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  -0x1060(%rbp)
movss  -0x1060(%rbp),%xmm0
ff
movaps 0x7a5d(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x7a62(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x7a12(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    260e <foo+0x14ce>
jp     260e <foo+0x14ce>
jmp    261a <foo+0x14da>
mov    $0xca,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
jmp    261f <foo+0x14df>
jmp    2624 <foo+0x14e4>
movss  0x79f0(%rip),%xmm1
movss  0x79cc(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x11e0(%rbp)
ff
movss  %xmm0,-0x11dc(%rbp)
ff
jne    2653 <foo+0x1513>
jmp    26c5 <foo+0x1585>
movss  0x79c1(%rip),%xmm1
movss  0x799d(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x11e0(%rbp)
ff
movss  %xmm0,-0x11dc(%rbp)
ff
jne    2682 <foo+0x1542>
jmp    26c5 <foo+0x1585>
movss  0x797a(%rip),%xmm1
movss  0x796e(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x448(%rbp)
ff
movss  -0x448(%rbp),%xmm1
ff
movss  -0x444(%rbp),%xmm0
ff
movss  %xmm1,-0x11e0(%rbp)
ff
movss  %xmm0,-0x11dc(%rbp)
ff
movss  -0x11e0(%rbp),%xmm1
ff
movss  -0x11dc(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
addss  %xmm2,%xmm1
addss  %xmm2,%xmm0
movss  %xmm1,-0x450(%rbp)
ff
movss  %xmm0,-0x44c(%rbp)
ff
movsd  -0x450(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0x458(%rbp)
ff
movss  -0x458(%rbp),%xmm1
ff
movss  -0x454(%rbp),%xmm0
ff
movss  0x78e3(%rip),%xmm2
ucomiss %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    285b <foo+0x171b>
movss  0x78d4(%rip),%xmm1
movss  0x78b0(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x11e8(%rbp)
ff
movss  %xmm0,-0x11e4(%rbp)
ff
jne    276f <foo+0x162f>
jmp    27e1 <foo+0x16a1>
movss  0x78a5(%rip),%xmm1
movss  0x7881(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x11e8(%rbp)
ff
movss  %xmm0,-0x11e4(%rbp)
ff
jne    279e <foo+0x165e>
jmp    27e1 <foo+0x16a1>
movss  0x785e(%rip),%xmm1
movss  0x7852(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x460(%rbp)
ff
movss  -0x460(%rbp),%xmm1
ff
movss  -0x45c(%rbp),%xmm0
ff
movss  %xmm1,-0x11e8(%rbp)
ff
movss  %xmm0,-0x11e4(%rbp)
ff
movss  -0x11e8(%rbp),%xmm1
ff
movss  -0x11e4(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
addss  %xmm2,%xmm1
addss  %xmm2,%xmm0
movss  %xmm1,-0x468(%rbp)
ff
movss  %xmm0,-0x464(%rbp)
ff
movsd  -0x468(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0x470(%rbp)
ff
movss  -0x46c(%rbp),%xmm0
ff
movaps 0x7810(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x7815(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x77bd(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    285b <foo+0x171b>
jp     285b <foo+0x171b>
jmp    2867 <foo+0x1727>
mov    $0xcc,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
movss  0x77ad(%rip),%xmm1
movss  0x7789(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x11f0(%rbp)
ff
movss  %xmm0,-0x11ec(%rbp)
ff
jne    2896 <foo+0x1756>
jmp    2908 <foo+0x17c8>
movss  0x777e(%rip),%xmm1
movss  0x775a(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x11f0(%rbp)
ff
movss  %xmm0,-0x11ec(%rbp)
ff
jne    28c5 <foo+0x1785>
jmp    2908 <foo+0x17c8>
movss  0x7737(%rip),%xmm1
movss  0x772b(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x478(%rbp)
ff
movss  -0x478(%rbp),%xmm1
ff
movss  -0x474(%rbp),%xmm0
ff
movss  %xmm1,-0x11f0(%rbp)
ff
movss  %xmm0,-0x11ec(%rbp)
ff
movss  -0x11f0(%rbp),%xmm0
ff
movss  -0x11ec(%rbp),%xmm2
ff
xorps  %xmm1,%xmm1
addss  %xmm0,%xmm1
xorps  %xmm0,%xmm0
addss  %xmm2,%xmm0
cvtss2sd %xmm1,%xmm1
cvtss2sd %xmm0,%xmm0
movsd  %xmm1,-0x488(%rbp)
ff
movsd  %xmm0,-0x480(%rbp)
ff
movsd  -0x488(%rbp),%xmm0
ff
movsd  -0x480(%rbp),%xmm1
ff
call   1060 <cproj@plt>
movsd  0x7705(%rip),%xmm2
ucomisd %xmm2,%xmm0
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm0,%xmm0
ucomisd %xmm0,%xmm1
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    2aa2 <foo+0x1962>
movss  0x7694(%rip),%xmm1
movss  0x7670(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x11f8(%rbp)
ff
movss  %xmm0,-0x11f4(%rbp)
ff
jne    29af <foo+0x186f>
jmp    2a21 <foo+0x18e1>
movss  0x7665(%rip),%xmm1
movss  0x7641(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x11f8(%rbp)
ff
movss  %xmm0,-0x11f4(%rbp)
ff
jne    29de <foo+0x189e>
jmp    2a21 <foo+0x18e1>
movss  0x761e(%rip),%xmm1
movss  0x7612(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x490(%rbp)
movss  -0x490(%rbp),%xmm1
ff
movss  -0x48c(%rbp),%xmm0
ff
movss  %xmm1,-0x11f8(%rbp)
ff
movss  %xmm0,-0x11f4(%rbp)
ff
movss  -0x11f8(%rbp),%xmm0
ff
movss  -0x11f4(%rbp),%xmm2
ff
xorps  %xmm1,%xmm1
addss  %xmm0,%xmm1
xorps  %xmm0,%xmm0
addss  %xmm2,%xmm0
cvtss2sd %xmm1,%xmm1
cvtss2sd %xmm0,%xmm0
movsd  %xmm1,-0x4a0(%rbp)
ff
movsd  %xmm0,-0x498(%rbp)
ff
movsd  -0x4a0(%rbp),%xmm0
ff
movsd  -0x498(%rbp),%xmm1
ff
call   1060 <cproj@plt>
cvtsd2ss %xmm1,%xmm0
movaps 0x75c9(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x75ce(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x7576(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    2aa2 <foo+0x1962>
jp     2aa2 <foo+0x1962>
jmp    2aae <foo+0x196e>
mov    $0xcc,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
movss  0x7566(%rip),%xmm1
movss  0x7542(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1200(%rbp)
ff
movss  %xmm0,-0x11fc(%rbp)
ff
jne    2add <foo+0x199d>
jmp    2b4f <foo+0x1a0f>
movss  0x7537(%rip),%xmm1
movss  0x7513(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1200(%rbp)
ff
movss  %xmm0,-0x11fc(%rbp)
jne    2b0c <foo+0x19cc>
jmp    2b4f <foo+0x1a0f>
movss  0x74f0(%rip),%xmm1
movss  0x74e4(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x4a8(%rbp)
ff
movss  -0x4a8(%rbp),%xmm1
ff
movss  -0x4a4(%rbp),%xmm0
ff
movss  %xmm1,-0x1200(%rbp)
ff
movss  %xmm0,-0x11fc(%rbp)
ff
movss  -0x1200(%rbp),%xmm1
ff
movss  -0x11fc(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
addss  %xmm2,%xmm1
addss  %xmm2,%xmm0
movss  %xmm1,-0x1064(%rbp)
ff
flds   -0x1064(%rbp)
movss  %xmm0,-0x1068(%rbp)
ff
flds   -0x1068(%rbp)
fxch   %st(1)
fstpt  -0x4d0(%rbp)
fstpt  -0x4c0(%rbp)
movaps -0x4d0(%rbp),%xmm0
movaps -0x4c0(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
flds   0x7449(%rip)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setb   %al
fldz
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setp   %dl
setne  %cl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    2d1f <foo+0x1bdf>
movss  0x743a(%rip),%xmm1
movss  0x7416(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1208(%rbp)
ff
movss  %xmm0,-0x1204(%rbp)
ff
jne    2c09 <foo+0x1ac9>
jmp    2c7b <foo+0x1b3b>
movss  0x740b(%rip),%xmm1
movss  0x73e7(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1208(%rbp)
ff
movss  %xmm0,-0x1204(%rbp)
ff
jne    2c38 <foo+0x1af8>
jmp    2c7b <foo+0x1b3b>
movss  0x73c4(%rip),%xmm1
movss  0x73b8(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x4d8(%rbp)
ff
movss  -0x4d8(%rbp),%xmm1
ff
movss  -0x4d4(%rbp),%xmm0
ff
movss  %xmm1,-0x1208(%rbp)
ff
movss  %xmm0,-0x1204(%rbp)
ff
movss  -0x1208(%rbp),%xmm1
ff
movss  -0x1204(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
addss  %xmm2,%xmm1
addss  %xmm2,%xmm0
movss  %xmm1,-0x106c(%rbp)
ff
flds   -0x106c(%rbp)
movss  %xmm0,-0x1070(%rbp)
ff
flds   -0x1070(%rbp)
fxch   %st(1)
fstpt  -0x500(%rbp)
fstpt  -0x4f0(%rbp)
movaps -0x500(%rbp),%xmm0
movaps -0x4f0(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  -0x1074(%rbp)
movss  -0x1074(%rbp),%xmm0
ff
movaps 0x734c(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x7351(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x72f9(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    2d1f <foo+0x1bdf>
jp     2d1f <foo+0x1bdf>
jmp    2d2b <foo+0x1beb>
mov    $0xcc,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
jmp    2d30 <foo+0x1bf0>
jmp    2d35 <foo+0x1bf5>
movss  0x72df(%rip),%xmm1
movss  0x72bb(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1210(%rbp)
ff
movss  %xmm0,-0x120c(%rbp)
ff
jne    2d64 <foo+0x1c24>
jmp    2dd6 <foo+0x1c96>
movss  0x72b0(%rip),%xmm1
movss  0x728c(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1210(%rbp)
ff
movss  %xmm0,-0x120c(%rbp)
ff
jne    2d93 <foo+0x1c53>
jmp    2dd6 <foo+0x1c96>
movss  0x7269(%rip),%xmm1
movss  0x725d(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x508(%rbp)
ff
movss  -0x508(%rbp),%xmm1
ff
movss  -0x504(%rbp),%xmm0
ff
movss  %xmm1,-0x1210(%rbp)
ff
movss  %xmm0,-0x120c(%rbp)
ff
movss  -0x1210(%rbp),%xmm3
ff
movss  -0x120c(%rbp),%xmm2
ff
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
subss  %xmm3,%xmm1
subss  %xmm2,%xmm0
movss  %xmm1,-0x510(%rbp)
ff
movss  %xmm0,-0x50c(%rbp)
ff
movsd  -0x510(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0x518(%rbp)
ff
movss  -0x518(%rbp),%xmm1
ff
movss  -0x514(%rbp),%xmm0
ff
movss  0x71cf(%rip),%xmm2
ucomiss %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
movss  0x71c4(%rip),%xmm1
ucomiss %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    2f77 <foo+0x1e37>
movss  0x71bb(%rip),%xmm1
movss  0x7197(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1218(%rbp)
ff
movss  %xmm0,-0x1214(%rbp)
ff
jne    2e88 <foo+0x1d48>
jmp    2efa <foo+0x1dba>
movss  0x718c(%rip),%xmm1
movss  0x7168(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1218(%rbp)
ff
movss  %xmm0,-0x1214(%rbp)
ff
jne    2eb7 <foo+0x1d77>
jmp    2efa <foo+0x1dba>
movss  0x7145(%rip),%xmm1
movss  0x7139(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x520(%rbp)
ff
movss  -0x520(%rbp),%xmm1
ff
movss  -0x51c(%rbp),%xmm0
ff
movss  %xmm1,-0x1218(%rbp)
ff
movss  %xmm0,-0x1214(%rbp)
ff
movss  -0x1218(%rbp),%xmm3
ff
movss  -0x1214(%rbp),%xmm2
ff
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
subss  %xmm3,%xmm1
subss  %xmm2,%xmm0
movss  %xmm1,-0x528(%rbp)
ff
movss  %xmm0,-0x524(%rbp)
ff
movsd  -0x528(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0x530(%rbp)
ff
movss  -0x52c(%rbp),%xmm0
ff
movaps 0x70f4(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x70f9(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x70a9(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    2f77 <foo+0x1e37>
jp     2f77 <foo+0x1e37>
jmp    2f83 <foo+0x1e43>
mov    $0xcd,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
movss  0x7091(%rip),%xmm1
movss  0x706d(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1220(%rbp)
ff
movss  %xmm0,-0x121c(%rbp)
ff
jne    2fb2 <foo+0x1e72>
jmp    3024 <foo+0x1ee4>
movss  0x7062(%rip),%xmm1
movss  0x703e(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1220(%rbp)
ff
movss  %xmm0,-0x121c(%rbp)
ff
jne    2fe1 <foo+0x1ea1>
jmp    3024 <foo+0x1ee4>
movss  0x701b(%rip),%xmm1
movss  0x700f(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x538(%rbp)
movss  -0x538(%rbp),%xmm1
movss  -0x534(%rbp),%xmm0
ff
movss  %xmm1,-0x1220(%rbp)
ff
movss  %xmm0,-0x121c(%rbp)
ff
movss  -0x1220(%rbp),%xmm0
ff
movss  -0x121c(%rbp),%xmm2
ff
xorps  %xmm1,%xmm1
subss  %xmm0,%xmm1
xorps  %xmm0,%xmm0
subss  %xmm2,%xmm0
cvtss2sd %xmm1,%xmm1
cvtss2sd %xmm0,%xmm0
movsd  %xmm1,-0x548(%rbp)
ff
movsd  %xmm0,-0x540(%rbp)
ff
movsd  -0x548(%rbp),%xmm0
ff
movsd  -0x540(%rbp),%xmm1
ff
call   1060 <cproj@plt>
movsd  0x6fe9(%rip),%xmm2
ucomisd %xmm2,%xmm0
setne  %al
setp   %cl
or     %cl,%al
movsd  0x6fdd(%rip),%xmm0
ucomisd %xmm0,%xmm1
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    31c3 <foo+0x2083>
movss  0x6f73(%rip),%xmm1
movss  0x6f4f(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1228(%rbp)
ff
movss  %xmm0,-0x1224(%rbp)
ff
jne    30d0 <foo+0x1f90>
jmp    3142 <foo+0x2002>
movss  0x6f44(%rip),%xmm1
movss  0x6f20(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1228(%rbp)
ff
movss  %xmm0,-0x1224(%rbp)
ff
jne    30ff <foo+0x1fbf>
jmp    3142 <foo+0x2002>
movss  0x6efd(%rip),%xmm1
movss  0x6ef1(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x550(%rbp)
ff
movss  -0x550(%rbp),%xmm1
ff
movss  -0x54c(%rbp),%xmm0
ff
movss  %xmm1,-0x1228(%rbp)
ff
movss  %xmm0,-0x1224(%rbp)
ff
movss  -0x1228(%rbp),%xmm0
ff
movss  -0x1224(%rbp),%xmm2
ff
xorps  %xmm1,%xmm1
subss  %xmm0,%xmm1
xorps  %xmm0,%xmm0
subss  %xmm2,%xmm0
cvtss2sd %xmm1,%xmm1
cvtss2sd %xmm0,%xmm0
movsd  %xmm1,-0x560(%rbp)
ff
movsd  %xmm0,-0x558(%rbp)
ff
movsd  -0x560(%rbp),%xmm0
ff
movsd  -0x558(%rbp),%xmm1
ff
call   1060 <cproj@plt>
cvtsd2ss %xmm1,%xmm0
movaps 0x6ea8(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x6ead(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x6e5d(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    31c3 <foo+0x2083>
jp     31c3 <foo+0x2083>
jmp    31cf <foo+0x208f>
mov    $0xcd,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
movss  0x6e45(%rip),%xmm1
movss  0x6e21(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1230(%rbp)
ff
movss  %xmm0,-0x122c(%rbp)
ff
jne    31fe <foo+0x20be>
jmp    3270 <foo+0x2130>
movss  0x6e16(%rip),%xmm1
movss  0x6df2(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1230(%rbp)
ff
movss  %xmm0,-0x122c(%rbp)
ff
jne    322d <foo+0x20ed>
jmp    3270 <foo+0x2130>
movss  0x6dcf(%rip),%xmm1
movss  0x6dc3(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x568(%rbp)
ff
movss  -0x568(%rbp),%xmm1
ff
movss  -0x564(%rbp),%xmm0
ff
movss  %xmm1,-0x1230(%rbp)
ff
movss  %xmm0,-0x122c(%rbp)
ff
movss  -0x1230(%rbp),%xmm3
ff
movss  -0x122c(%rbp),%xmm2
ff
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
subss  %xmm3,%xmm1
subss  %xmm2,%xmm0
movss  %xmm1,-0x1078(%rbp)
ff
flds   -0x1078(%rbp)
movss  %xmm0,-0x107c(%rbp)
ff
flds   -0x107c(%rbp)
fxch   %st(1)
fstpt  -0x590(%rbp)
fstpt  -0x580(%rbp)
movaps -0x590(%rbp),%xmm0
movaps -0x580(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
flds   0x6d25(%rip)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setb   %al
fldz
fchs
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setp   %dl
setne  %cl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    3448 <foo+0x2308>
movss  0x6d14(%rip),%xmm1
movss  0x6cf0(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1238(%rbp)
ff
movss  %xmm0,-0x1234(%rbp)
ff
jne    332f <foo+0x21ef>
jmp    33a1 <foo+0x2261>
movss  0x6ce5(%rip),%xmm1
movss  0x6cc1(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1238(%rbp)
ff
movss  %xmm0,-0x1234(%rbp)
ff
jne    335e <foo+0x221e>
jmp    33a1 <foo+0x2261>
movss  0x6c9e(%rip),%xmm1
movss  0x6c92(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x598(%rbp)
ff
movss  -0x598(%rbp),%xmm1
ff
movss  -0x594(%rbp),%xmm0
ff
movss  %xmm1,-0x1238(%rbp)
ff
movss  %xmm0,-0x1234(%rbp)
ff
movss  -0x1238(%rbp),%xmm3
ff
movss  -0x1234(%rbp),%xmm2
ff
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
subss  %xmm3,%xmm1
subss  %xmm2,%xmm0
movss  %xmm1,-0x1080(%rbp)
ff
flds   -0x1080(%rbp)
movss  %xmm0,-0x1084(%rbp)
ff
flds   -0x1084(%rbp)
fxch   %st(1)
fstpt  -0x5c0(%rbp)
fstpt  -0x5b0(%rbp)
movaps -0x5c0(%rbp),%xmm0
movaps -0x5b0(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  -0x1088(%rbp)
movss  -0x1088(%rbp),%xmm0
ff
movaps 0x6c23(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x6c28(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x6bd8(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    3448 <foo+0x2308>
jp     3448 <foo+0x2308>
jmp    3454 <foo+0x2314>
mov    $0xcd,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
jmp    3459 <foo+0x2319>
jmp    345e <foo+0x231e>
movss  0x6bb6(%rip),%xmm1
movss  0x6b92(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1240(%rbp)
ff
movss  %xmm0,-0x123c(%rbp)
ff
jne    348d <foo+0x234d>
jmp    34ff <foo+0x23bf>
movss  0x6b87(%rip),%xmm1
movss  0x6b63(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1240(%rbp)
ff
movss  %xmm0,-0x123c(%rbp)
ff
jne    34bc <foo+0x237c>
jmp    34ff <foo+0x23bf>
movss  0x6b40(%rip),%xmm1
movss  0x6b34(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x5c8(%rbp)
ff
movss  -0x5c8(%rbp),%xmm1
ff
movss  -0x5c4(%rbp),%xmm0
ff
movss  %xmm1,-0x1240(%rbp)
ff
movss  %xmm0,-0x123c(%rbp)
ff
movss  -0x1240(%rbp),%xmm1
ff
movss  -0x123c(%rbp),%xmm0
ff
movss  0x6b09(%rip),%xmm2
addss  %xmm2,%xmm1
xorps  %xmm2,%xmm2
addss  %xmm2,%xmm0
movss  %xmm1,-0x5d0(%rbp)
ff
movss  %xmm0,-0x5cc(%rbp)
ff
movsd  -0x5d0(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0x5d8(%rbp)
ff
movss  -0x5d8(%rbp),%xmm1
ff
movss  -0x5d4(%rbp),%xmm0
ff
movss  0x6aa1(%rip),%xmm2
ucomiss %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    36a5 <foo+0x2565>
movss  0x6a92(%rip),%xmm1
movss  0x6a6e(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1248(%rbp)
ff
movss  %xmm0,-0x1244(%rbp)
ff
jne    35b1 <foo+0x2471>
jmp    3623 <foo+0x24e3>
movss  0x6a63(%rip),%xmm1
movss  0x6a3f(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1248(%rbp)
ff
movss  %xmm0,-0x1244(%rbp)
ff
jne    35e0 <foo+0x24a0>
jmp    3623 <foo+0x24e3>
movss  0x6a1c(%rip),%xmm1
movss  0x6a10(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x5e0(%rbp)
ff
movss  -0x5e0(%rbp),%xmm1
ff
movss  -0x5dc(%rbp),%xmm0
ff
movss  %xmm1,-0x1248(%rbp)
ff
movss  %xmm0,-0x1244(%rbp)
ff
movss  -0x1248(%rbp),%xmm1
ff
movss  -0x1244(%rbp),%xmm0
ff
movss  0x69e5(%rip),%xmm2
addss  %xmm2,%xmm1
xorps  %xmm2,%xmm2
addss  %xmm2,%xmm0
movss  %xmm1,-0x5e8(%rbp)
ff
movss  %xmm0,-0x5e4(%rbp)
ff
movsd  -0x5e8(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0x5f0(%rbp)
ff
movss  -0x5ec(%rbp),%xmm0
ff
movaps 0x69c6(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x69cb(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x6973(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    36a5 <foo+0x2565>
jp     36a5 <foo+0x2565>
jmp    36b1 <foo+0x2571>
mov    $0xce,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
movss  0x6963(%rip),%xmm1
movss  0x693f(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1250(%rbp)
ff
movss  %xmm0,-0x124c(%rbp)
ff
jne    36e0 <foo+0x25a0>
jmp    3752 <foo+0x2612>
movss  0x6934(%rip),%xmm1
movss  0x6910(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1250(%rbp)
ff
movss  %xmm0,-0x124c(%rbp)
ff
jne    370f <foo+0x25cf>
jmp    3752 <foo+0x2612>
movss  0x68ed(%rip),%xmm1
movss  0x68e1(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x5f8(%rbp)
ff
movss  -0x5f8(%rbp),%xmm1
ff
movss  -0x5f4(%rbp),%xmm0
ff
movss  %xmm1,-0x1250(%rbp)
ff
movss  %xmm0,-0x124c(%rbp)
ff
movss  -0x1250(%rbp),%xmm0
ff
movss  -0x124c(%rbp),%xmm2
ff
movss  0x68b6(%rip),%xmm1
addss  %xmm0,%xmm1
xorps  %xmm0,%xmm0
addss  %xmm2,%xmm0
cvtss2sd %xmm1,%xmm1
cvtss2sd %xmm0,%xmm0
movsd  %xmm1,-0x608(%rbp)
ff
movsd  %xmm0,-0x600(%rbp)
ff
movsd  -0x608(%rbp),%xmm0
ff
movsd  -0x600(%rbp),%xmm1
ff
call   1060 <cproj@plt>
movsd  0x68b6(%rip),%xmm2
ucomisd %xmm2,%xmm0
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm0,%xmm0
ucomisd %xmm0,%xmm1
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    38f6 <foo+0x27b6>
movss  0x6845(%rip),%xmm1
movss  0x6821(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1258(%rbp)
ff
movss  %xmm0,-0x1254(%rbp)
ff
jne    37fe <foo+0x26be>
jmp    3870 <foo+0x2730>
movss  0x6816(%rip),%xmm1
movss  0x67f2(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1258(%rbp)
ff
movss  %xmm0,-0x1254(%rbp)
ff
jne    382d <foo+0x26ed>
jmp    3870 <foo+0x2730>
movss  0x67cf(%rip),%xmm1
movss  0x67c3(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x610(%rbp)
ff
movss  -0x610(%rbp),%xmm1
ff
movss  -0x60c(%rbp),%xmm0
ff
movss  %xmm1,-0x1258(%rbp)
ff
movss  %xmm0,-0x1254(%rbp)
ff
movss  -0x1258(%rbp),%xmm0
ff
movss  -0x1254(%rbp),%xmm2
ff
movss  0x6798(%rip),%xmm1
addss  %xmm0,%xmm1
xorps  %xmm0,%xmm0
addss  %xmm2,%xmm0
cvtss2sd %xmm1,%xmm1
cvtss2sd %xmm0,%xmm0
movsd  %xmm1,-0x620(%rbp)
ff
movsd  %xmm0,-0x618(%rbp)
ff
movsd  -0x620(%rbp),%xmm0
ff
movsd  -0x618(%rbp),%xmm1
ff
call   1060 <cproj@plt>
cvtsd2ss %xmm1,%xmm0
movaps 0x6775(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x677a(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x6722(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    38f6 <foo+0x27b6>
jp     38f6 <foo+0x27b6>
jmp    3902 <foo+0x27c2>
mov    $0xce,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
movss  0x6712(%rip),%xmm1
movss  0x66ee(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1260(%rbp)
ff
movss  %xmm0,-0x125c(%rbp)
ff
jne    3931 <foo+0x27f1>
jmp    39a3 <foo+0x2863>
movss  0x66e3(%rip),%xmm1
movss  0x66bf(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1260(%rbp)
ff
movss  %xmm0,-0x125c(%rbp)
ff
jne    3960 <foo+0x2820>
jmp    39a3 <foo+0x2863>
movss  0x669c(%rip),%xmm1
movss  0x6690(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x628(%rbp)
ff
movss  -0x628(%rbp),%xmm1
ff
movss  -0x624(%rbp),%xmm0
ff
movss  %xmm1,-0x1260(%rbp)
ff
movss  %xmm0,-0x125c(%rbp)
ff
movss  -0x1260(%rbp),%xmm1
ff
movss  -0x125c(%rbp),%xmm0
ff
movss  0x6665(%rip),%xmm2
addss  %xmm2,%xmm1
xorps  %xmm2,%xmm2
addss  %xmm2,%xmm0
movss  %xmm1,-0x108c(%rbp)
ff
flds   -0x108c(%rbp)
movss  %xmm0,-0x1090(%rbp)
ff
flds   -0x1090(%rbp)
fxch   %st(1)
fstpt  -0x650(%rbp)
fstpt  -0x640(%rbp)
movaps -0x650(%rbp),%xmm0
movaps -0x640(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
flds   0x65ed(%rip)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setb   %al
fldz
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setp   %dl
setne  %cl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    3b83 <foo+0x2a43>
movss  0x65de(%rip),%xmm1
movss  0x65ba(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1268(%rbp)
ff
movss  %xmm0,-0x1264(%rbp)
ff
jne    3a65 <foo+0x2925>
jmp    3ad7 <foo+0x2997>
movss  0x65af(%rip),%xmm1
movss  0x658b(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1268(%rbp)
ff
movss  %xmm0,-0x1264(%rbp)
ff
jne    3a94 <foo+0x2954>
jmp    3ad7 <foo+0x2997>
movss  0x6568(%rip),%xmm1
movss  0x655c(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x658(%rbp)
ff
movss  -0x658(%rbp),%xmm1
ff
movss  -0x654(%rbp),%xmm0
ff
movss  %xmm1,-0x1268(%rbp)
ff
movss  %xmm0,-0x1264(%rbp)
ff
movss  -0x1268(%rbp),%xmm1
ff
movss  -0x1264(%rbp),%xmm0
ff
movss  0x6531(%rip),%xmm2
addss  %xmm2,%xmm1
xorps  %xmm2,%xmm2
addss  %xmm2,%xmm0
movss  %xmm1,-0x1094(%rbp)
ff
flds   -0x1094(%rbp)
movss  %xmm0,-0x1098(%rbp)
ff
flds   -0x1098(%rbp)
fxch   %st(1)
fstpt  -0x680(%rbp)
fstpt  -0x670(%rbp)
movaps -0x680(%rbp),%xmm0
movaps -0x670(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  -0x109c(%rbp)
movss  -0x109c(%rbp),%xmm0
ff
movaps 0x64e8(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x64ed(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x6495(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    3b83 <foo+0x2a43>
jp     3b83 <foo+0x2a43>
jmp    3b8f <foo+0x2a4f>
mov    $0xce,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
jmp    3b94 <foo+0x2a54>
jmp    3b99 <foo+0x2a59>
movss  0x647b(%rip),%xmm1
movss  0x6457(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1270(%rbp)
ff
movss  %xmm0,-0x126c(%rbp)
ff
jne    3bc8 <foo+0x2a88>
jmp    3c3a <foo+0x2afa>
movss  0x644c(%rip),%xmm1
movss  0x6428(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1270(%rbp)
ff
movss  %xmm0,-0x126c(%rbp)
ff
jne    3bf7 <foo+0x2ab7>
jmp    3c3a <foo+0x2afa>
movss  0x6405(%rip),%xmm1
movss  0x63f9(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x688(%rbp)
ff
movss  -0x688(%rbp),%xmm1
ff
movss  -0x684(%rbp),%xmm0
ff
movss  %xmm1,-0x1270(%rbp)
ff
movss  %xmm0,-0x126c(%rbp)
ff
movss  -0x1270(%rbp),%xmm0
ff
movss  -0x126c(%rbp),%xmm2
ff
movss  0x63ce(%rip),%xmm1
subss  %xmm0,%xmm1
xorps  %xmm0,%xmm0
subss  %xmm2,%xmm0
movss  %xmm1,-0x690(%rbp)
ff
movss  %xmm0,-0x68c(%rbp)
ff
movsd  -0x690(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0x698(%rbp)
ff
movss  -0x698(%rbp),%xmm1
ff
movss  -0x694(%rbp),%xmm0
ff
movss  0x6366(%rip),%xmm2
ucomiss %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
movss  0x635b(%rip),%xmm1
ucomiss %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    3de5 <foo+0x2ca5>
movss  0x6352(%rip),%xmm1
movss  0x632e(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1278(%rbp)
ff
movss  %xmm0,-0x1274(%rbp)
ff
jne    3cf1 <foo+0x2bb1>
jmp    3d63 <foo+0x2c23>
movss  0x6323(%rip),%xmm1
movss  0x62ff(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1278(%rbp)
ff
movss  %xmm0,-0x1274(%rbp)
ff
jne    3d20 <foo+0x2be0>
jmp    3d63 <foo+0x2c23>
movss  0x62dc(%rip),%xmm1
movss  0x62d0(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x6a0(%rbp)
ff
movss  -0x6a0(%rbp),%xmm1
ff
movss  -0x69c(%rbp),%xmm0
ff
movss  %xmm1,-0x1278(%rbp)
ff
movss  %xmm0,-0x1274(%rbp)
ff
movss  -0x1278(%rbp),%xmm0
ff
movss  -0x1274(%rbp),%xmm2
ff
movss  0x62a5(%rip),%xmm1
subss  %xmm0,%xmm1
xorps  %xmm0,%xmm0
subss  %xmm2,%xmm0
movss  %xmm1,-0x6a8(%rbp)
ff
movss  %xmm0,-0x6a4(%rbp)
ff
movsd  -0x6a8(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0x6b0(%rbp)
ff
movss  -0x6ac(%rbp),%xmm0
ff
movaps 0x6286(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x628b(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x623b(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    3de5 <foo+0x2ca5>
jp     3de5 <foo+0x2ca5>
jmp    3df1 <foo+0x2cb1>
mov    $0xcf,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
movss  0x6223(%rip),%xmm1
movss  0x61ff(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1280(%rbp)
ff
movss  %xmm0,-0x127c(%rbp)
ff
jne    3e20 <foo+0x2ce0>
jmp    3e92 <foo+0x2d52>
movss  0x61f4(%rip),%xmm1
movss  0x61d0(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1280(%rbp)
ff
movss  %xmm0,-0x127c(%rbp)
ff
jne    3e4f <foo+0x2d0f>
jmp    3e92 <foo+0x2d52>
movss  0x61ad(%rip),%xmm1
movss  0x61a1(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x6b8(%rbp)
ff
movss  -0x6b8(%rbp),%xmm1
ff
movss  -0x6b4(%rbp),%xmm0
ff
movss  %xmm1,-0x1280(%rbp)
ff
movss  %xmm0,-0x127c(%rbp)
ff
movss  -0x1280(%rbp),%xmm0
ff
movss  -0x127c(%rbp),%xmm2
ff
movss  0x6176(%rip),%xmm1
subss  %xmm0,%xmm1
xorps  %xmm0,%xmm0
subss  %xmm2,%xmm0
cvtss2sd %xmm1,%xmm1
cvtss2sd %xmm0,%xmm0
movsd  %xmm1,-0x6c8(%rbp)
ff
movsd  %xmm0,-0x6c0(%rbp)
ff
movsd  -0x6c8(%rbp),%xmm0
ff
movsd  -0x6c0(%rbp),%xmm1
ff
call   1060 <cproj@plt>
movsd  0x6176(%rip),%xmm2
ucomisd %xmm2,%xmm0
setne  %al
setp   %cl
or     %cl,%al
movsd  0x616a(%rip),%xmm0
ucomisd %xmm0,%xmm1
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    403b <foo+0x2efb>
movss  0x6100(%rip),%xmm1
movss  0x60dc(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1288(%rbp)
ff
movss  %xmm0,-0x1284(%rbp)
ff
jne    3f43 <foo+0x2e03>
jmp    3fb5 <foo+0x2e75>
movss  0x60d1(%rip),%xmm1
movss  0x60ad(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1288(%rbp)
ff
movss  %xmm0,-0x1284(%rbp)
ff
jne    3f72 <foo+0x2e32>
jmp    3fb5 <foo+0x2e75>
movss  0x608a(%rip),%xmm1
movss  0x607e(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x6d0(%rbp)
ff
movss  -0x6d0(%rbp),%xmm1
ff
movss  -0x6cc(%rbp),%xmm0
ff
movss  %xmm1,-0x1288(%rbp)
ff
movss  %xmm0,-0x1284(%rbp)
ff
movss  -0x1288(%rbp),%xmm0
ff
movss  -0x1284(%rbp),%xmm2
ff
movss  0x6053(%rip),%xmm1
subss  %xmm0,%xmm1
xorps  %xmm0,%xmm0
subss  %xmm2,%xmm0
cvtss2sd %xmm1,%xmm1
cvtss2sd %xmm0,%xmm0
movsd  %xmm1,-0x6e0(%rbp)
ff
movsd  %xmm0,-0x6d8(%rbp)
ff
movsd  -0x6e0(%rbp),%xmm0
ff
movsd  -0x6d8(%rbp),%xmm1
ff
call   1060 <cproj@plt>
cvtsd2ss %xmm1,%xmm0
movaps 0x6030(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x6035(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x5fe5(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    403b <foo+0x2efb>
jp     403b <foo+0x2efb>
jmp    4047 <foo+0x2f07>
mov    $0xcf,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
movss  0x5fcd(%rip),%xmm1
movss  0x5fa9(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1290(%rbp)
ff
movss  %xmm0,-0x128c(%rbp)
ff
jne    4076 <foo+0x2f36>
jmp    40e8 <foo+0x2fa8>
movss  0x5f9e(%rip),%xmm1
movss  0x5f7a(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1290(%rbp)
ff
movss  %xmm0,-0x128c(%rbp)
ff
jne    40a5 <foo+0x2f65>
jmp    40e8 <foo+0x2fa8>
movss  0x5f57(%rip),%xmm1
movss  0x5f4b(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x6e8(%rbp)
ff
movss  -0x6e8(%rbp),%xmm1
ff
movss  -0x6e4(%rbp),%xmm0
ff
movss  %xmm1,-0x1290(%rbp)
ff
movss  %xmm0,-0x128c(%rbp)
ff
movss  -0x1290(%rbp),%xmm0
ff
movss  -0x128c(%rbp),%xmm2
ff
movss  0x5f20(%rip),%xmm1
subss  %xmm0,%xmm1
xorps  %xmm0,%xmm0
subss  %xmm2,%xmm0
movss  %xmm1,-0x10a0(%rbp)
ff
flds   -0x10a0(%rbp)
movss  %xmm0,-0x10a4(%rbp)
ff
flds   -0x10a4(%rbp)
fxch   %st(1)
fstpt  -0x710(%rbp)
fstpt  -0x700(%rbp)
movaps -0x710(%rbp),%xmm0
movaps -0x700(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
flds   0x5ea8(%rip)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setb   %al
fldz
fchs
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setp   %dl
setne  %cl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    42ca <foo+0x318a>
movss  0x5e97(%rip),%xmm1
movss  0x5e73(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1298(%rbp)
ff
movss  %xmm0,-0x1294(%rbp)
ff
jne    41ac <foo+0x306c>
jmp    421e <foo+0x30de>
movss  0x5e68(%rip),%xmm1
movss  0x5e44(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1298(%rbp)
ff
movss  %xmm0,-0x1294(%rbp)
ff
jne    41db <foo+0x309b>
jmp    421e <foo+0x30de>
movss  0x5e21(%rip),%xmm1
movss  0x5e15(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x718(%rbp)
ff
movss  -0x718(%rbp),%xmm1
ff
movss  -0x714(%rbp),%xmm0
ff
movss  %xmm1,-0x1298(%rbp)
ff
movss  %xmm0,-0x1294(%rbp)
ff
movss  -0x1298(%rbp),%xmm0
ff
movss  -0x1294(%rbp),%xmm2
ff
movss  0x5dea(%rip),%xmm1
subss  %xmm0,%xmm1
xorps  %xmm0,%xmm0
subss  %xmm2,%xmm0
movss  %xmm1,-0x10a8(%rbp)
ff
flds   -0x10a8(%rbp)
movss  %xmm0,-0x10ac(%rbp)
ff
flds   -0x10ac(%rbp)
fxch   %st(1)
fstpt  -0x740(%rbp)
fstpt  -0x730(%rbp)
movaps -0x740(%rbp),%xmm0
movaps -0x730(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  -0x10b0(%rbp)
movss  -0x10b0(%rbp),%xmm0
ff
movaps 0x5da1(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x5da6(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x5d56(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    42ca <foo+0x318a>
jp     42ca <foo+0x318a>
jmp    42d6 <foo+0x3196>
mov    $0xcf,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
jmp    42db <foo+0x319b>
jmp    42e0 <foo+0x31a0>
movss  0x5d34(%rip),%xmm1
movss  0x5d10(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x12a0(%rbp)
ff
movss  %xmm0,-0x129c(%rbp)
ff
jne    430f <foo+0x31cf>
jmp    4381 <foo+0x3241>
movss  0x5d05(%rip),%xmm1
movss  0x5ce1(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x12a0(%rbp)
ff
movss  %xmm0,-0x129c(%rbp)
ff
jne    433e <foo+0x31fe>
jmp    4381 <foo+0x3241>
movss  0x5cbe(%rip),%xmm1
movss  0x5cb2(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x748(%rbp)
ff
movss  -0x748(%rbp),%xmm1
ff
movss  -0x744(%rbp),%xmm0
ff
movss  %xmm1,-0x12a0(%rbp)
ff
movss  %xmm0,-0x129c(%rbp)
ff
movss  -0x12a0(%rbp),%xmm1
ff
movss  -0x129c(%rbp),%xmm0
ff
movss  %xmm1,-0x750(%rbp)
ff
movss  %xmm0,-0x74c(%rbp)
ff
movsd  -0x750(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0x758(%rbp)
ff
movss  -0x758(%rbp),%xmm1
ff
movss  -0x754(%rbp),%xmm0
ff
movss  0x5c32(%rip),%xmm2
ucomiss %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    4501 <foo+0x33c1>
movss  0x5c23(%rip),%xmm1
movss  0x5bff(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x12a8(%rbp)
ff
movss  %xmm0,-0x12a4(%rbp)
ff
jne    4420 <foo+0x32e0>
jmp    4492 <foo+0x3352>
movss  0x5bf4(%rip),%xmm1
movss  0x5bd0(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x12a8(%rbp)
ff
movss  %xmm0,-0x12a4(%rbp)
ff
jne    444f <foo+0x330f>
jmp    4492 <foo+0x3352>
movss  0x5bad(%rip),%xmm1
movss  0x5ba1(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x760(%rbp)
ff
movss  -0x760(%rbp),%xmm1
ff
movss  -0x75c(%rbp),%xmm0
ff
movss  %xmm1,-0x12a8(%rbp)
ff
movss  %xmm0,-0x12a4(%rbp)
ff
movss  -0x12a8(%rbp),%xmm1
ff
movss  -0x12a4(%rbp),%xmm0
ff
movss  %xmm1,-0x768(%rbp)
ff
movss  %xmm0,-0x764(%rbp)
ff
movsd  -0x768(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0x770(%rbp)
ff
movss  -0x76c(%rbp),%xmm0
ff
movaps 0x5b6a(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x5b6f(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x5b17(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    4501 <foo+0x33c1>
jp     4501 <foo+0x33c1>
jmp    450d <foo+0x33cd>
mov    $0xd0,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
movss  0x5b07(%rip),%xmm1
movss  0x5ae3(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x12b0(%rbp)
ff
movss  %xmm0,-0x12ac(%rbp)
ff
jne    453c <foo+0x33fc>
jmp    45ae <foo+0x346e>
movss  0x5ad8(%rip),%xmm1
movss  0x5ab4(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x12b0(%rbp)
ff
movss  %xmm0,-0x12ac(%rbp)
ff
jne    456b <foo+0x342b>
jmp    45ae <foo+0x346e>
movss  0x5a91(%rip),%xmm1
movss  0x5a85(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x778(%rbp)
ff
movss  -0x778(%rbp),%xmm1
ff
movss  -0x774(%rbp),%xmm0
ff
movss  %xmm1,-0x12b0(%rbp)
ff
movss  %xmm0,-0x12ac(%rbp)
ff
movss  -0x12b0(%rbp),%xmm2
ff
movss  -0x12ac(%rbp),%xmm0
ff
movss  0x5a42(%rip),%xmm1
addss  %xmm2,%xmm1
cvtss2sd %xmm1,%xmm1
cvtss2sd %xmm0,%xmm0
movsd  %xmm1,-0x788(%rbp)
ff
movsd  %xmm0,-0x780(%rbp)
ff
movsd  -0x788(%rbp),%xmm0
ff
movsd  -0x780(%rbp),%xmm1
ff
call   1060 <cproj@plt>
movsd  0x5a61(%rip),%xmm2
ucomisd %xmm2,%xmm0
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm0,%xmm0
ucomisd %xmm0,%xmm1
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    4744 <foo+0x3604>
movss  0x59f0(%rip),%xmm1
movss  0x59cc(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x12b8(%rbp)
ff
movss  %xmm0,-0x12b4(%rbp)
ff
jne    4653 <foo+0x3513>
jmp    46c5 <foo+0x3585>
movss  0x59c1(%rip),%xmm1
movss  0x599d(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x12b8(%rbp)
ff
movss  %xmm0,-0x12b4(%rbp)
ff
jne    4682 <foo+0x3542>
jmp    46c5 <foo+0x3585>
movss  0x597a(%rip),%xmm1
movss  0x596e(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x790(%rbp)
ff
movss  -0x790(%rbp),%xmm1
ff
movss  -0x78c(%rbp),%xmm0
ff
movss  %xmm1,-0x12b8(%rbp)
ff
movss  %xmm0,-0x12b4(%rbp)
ff
movss  -0x12b8(%rbp),%xmm2
ff
movss  -0x12b4(%rbp),%xmm0
ff
movss  0x592b(%rip),%xmm1
addss  %xmm2,%xmm1
cvtss2sd %xmm1,%xmm1
cvtss2sd %xmm0,%xmm0
movsd  %xmm1,-0x7a0(%rbp)
ff
movsd  %xmm0,-0x798(%rbp)
ff
movsd  -0x7a0(%rbp),%xmm0
movsd  -0x798(%rbp),%xmm1
ff
call   1060 <cproj@plt>
cvtsd2ss %xmm1,%xmm0
movaps 0x5927(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x592c(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x58d4(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    4744 <foo+0x3604>
jp     4744 <foo+0x3604>
jmp    4750 <foo+0x3610>
mov    $0xd0,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
movss  0x58c4(%rip),%xmm1
movss  0x58a0(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x12c0(%rbp)
ff
movss  %xmm0,-0x12bc(%rbp)
ff
jne    477f <foo+0x363f>
jmp    47f1 <foo+0x36b1>
movss  0x5895(%rip),%xmm1
movss  0x5871(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x12c0(%rbp)
ff
movss  %xmm0,-0x12bc(%rbp)
ff
jne    47ae <foo+0x366e>
jmp    47f1 <foo+0x36b1>
movss  0x584e(%rip),%xmm1
movss  0x5842(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x7a8(%rbp)
ff
movss  -0x7a8(%rbp),%xmm1
ff
movss  -0x7a4(%rbp),%xmm0
ff
movss  %xmm1,-0x12c0(%rbp)
ff
movss  %xmm0,-0x12bc(%rbp)
ff
movss  -0x12c0(%rbp),%xmm1
ff
movss  -0x12bc(%rbp),%xmm0
movss  %xmm1,-0x10b4(%rbp)
ff
flds   -0x10b4(%rbp)
movss  %xmm0,-0x10b8(%rbp)
ff
flds   -0x10b8(%rbp)
fxch   %st(1)
fstpt  -0x7d0(%rbp)
fstpt  -0x7c0(%rbp)
movaps -0x7d0(%rbp),%xmm0
movaps -0x7c0(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
flds   0x57b2(%rip)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setb   %al
fldz
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setp   %dl
setne  %cl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    49ab <foo+0x386b>
movss  0x57a3(%rip),%xmm1
movss  0x577f(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x12c8(%rbp)
ff
movss  %xmm0,-0x12c4(%rbp)
ff
jne    48a0 <foo+0x3760>
jmp    4912 <foo+0x37d2>
movss  0x5774(%rip),%xmm1
movss  0x5750(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x12c8(%rbp)
ff
movss  %xmm0,-0x12c4(%rbp)
ff
jne    48cf <foo+0x378f>
jmp    4912 <foo+0x37d2>
movss  0x572d(%rip),%xmm1
movss  0x5721(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x7d8(%rbp)
ff
movss  -0x7d8(%rbp),%xmm1
ff
movss  -0x7d4(%rbp),%xmm0
ff
movss  %xmm1,-0x12c8(%rbp)
ff
movss  %xmm0,-0x12c4(%rbp)
ff
movss  -0x12c8(%rbp),%xmm1
ff
movss  -0x12c4(%rbp),%xmm0
ff
movss  %xmm1,-0x10bc(%rbp)
ff
flds   -0x10bc(%rbp)
movss  %xmm0,-0x10c0(%rbp)
ff
flds   -0x10c0(%rbp)
fxch   %st(1)
fstpt  -0x800(%rbp)
fstpt  -0x7f0(%rbp)
movaps -0x800(%rbp),%xmm0
movaps -0x7f0(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  -0x10c4(%rbp)
movss  -0x10c4(%rbp),%xmm0
ff
movaps 0x56c0(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x56c5(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x566d(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    49ab <foo+0x386b>
jp     49ab <foo+0x386b>
jmp    49b7 <foo+0x3877>
mov    $0xd0,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
jmp    49bc <foo+0x387c>
jmp    49c1 <foo+0x3881>
movss  0x5653(%rip),%xmm1
movss  0x562f(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x12d0(%rbp)
ff
movss  %xmm0,-0x12cc(%rbp)
ff
jne    49f0 <foo+0x38b0>
jmp    4a62 <foo+0x3922>
movss  0x5624(%rip),%xmm1
movss  0x5600(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x12d0(%rbp)
ff
movss  %xmm0,-0x12cc(%rbp)
ff
jne    4a1f <foo+0x38df>
jmp    4a62 <foo+0x3922>
movss  0x55dd(%rip),%xmm1
movss  0x55d1(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x808(%rbp)
ff
movss  -0x808(%rbp),%xmm1
ff
movss  -0x804(%rbp),%xmm0
ff
movss  %xmm1,-0x12d0(%rbp)
ff
movss  %xmm0,-0x12cc(%rbp)
ff
movss  -0x12d0(%rbp),%xmm1
ff
movss  -0x12cc(%rbp),%xmm0
ff
movaps 0x55c7(%rip),%xmm2
pxor   %xmm2,%xmm1
pxor   %xmm2,%xmm0
movss  %xmm1,-0x810(%rbp)
ff
movss  %xmm0,-0x80c(%rbp)
ff
movsd  -0x810(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0x818(%rbp)
ff
movss  -0x818(%rbp),%xmm1
ff
movss  -0x814(%rbp),%xmm0
ff
movss  0x5542(%rip),%xmm2
ucomiss %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
movss  0x5537(%rip),%xmm1
ucomiss %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    4c05 <foo+0x3ac5>
movss  0x552e(%rip),%xmm1
movss  0x550a(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x12d8(%rbp)
ff
movss  %xmm0,-0x12d4(%rbp)
ff
jne    4b15 <foo+0x39d5>
jmp    4b87 <foo+0x3a47>
movss  0x54ff(%rip),%xmm1
movss  0x54db(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x12d8(%rbp)
ff
movss  %xmm0,-0x12d4(%rbp)
ff
jne    4b44 <foo+0x3a04>
jmp    4b87 <foo+0x3a47>
movss  0x54b8(%rip),%xmm1
movss  0x54ac(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x820(%rbp)
ff
movss  -0x820(%rbp),%xmm1
ff
movss  -0x81c(%rbp),%xmm0
ff
movss  %xmm1,-0x12d8(%rbp)
ff
movss  %xmm0,-0x12d4(%rbp)
ff
movss  -0x12d8(%rbp),%xmm1
ff
movss  -0x12d4(%rbp),%xmm0
ff
movaps 0x54a2(%rip),%xmm2
pxor   %xmm2,%xmm1
pxor   %xmm2,%xmm0
movss  %xmm1,-0x828(%rbp)
ff
movss  %xmm0,-0x824(%rbp)
ff
movsd  -0x828(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0x830(%rbp)
ff
movss  -0x82c(%rbp),%xmm0
ff
movaps 0x5466(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x546b(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x541b(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    4c05 <foo+0x3ac5>
jp     4c05 <foo+0x3ac5>
jmp    4c11 <foo+0x3ad1>
mov    $0xd1,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
movss  0x5403(%rip),%xmm1
movss  0x53df(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x12e0(%rbp)
ff
movss  %xmm0,-0x12dc(%rbp)
ff
jne    4c40 <foo+0x3b00>
jmp    4cb2 <foo+0x3b72>
movss  0x53d4(%rip),%xmm1
movss  0x53b0(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x12e0(%rbp)
ff
movss  %xmm0,-0x12dc(%rbp)
ff
jne    4c6f <foo+0x3b2f>
jmp    4cb2 <foo+0x3b72>
movss  0x538d(%rip),%xmm1
movss  0x5381(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x838(%rbp)
ff
movss  -0x838(%rbp),%xmm1
ff
movss  -0x834(%rbp),%xmm0
ff
movss  %xmm1,-0x12e0(%rbp)
ff
movss  %xmm0,-0x12dc(%rbp)
ff
movss  -0x12e0(%rbp),%xmm2
ff
movss  -0x12dc(%rbp),%xmm0
ff
movss  0x533e(%rip),%xmm1
subss  %xmm2,%xmm1
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
cvtss2sd %xmm1,%xmm1
cvtss2sd %xmm0,%xmm0
movsd  %xmm1,-0x848(%rbp)
ff
movsd  %xmm0,-0x840(%rbp)
ff
movsd  -0x848(%rbp),%xmm0
ff
movsd  -0x840(%rbp),%xmm1
ff
call   1060 <cproj@plt>
movsd  0x5350(%rip),%xmm2
ucomisd %xmm2,%xmm0
setne  %al
setp   %cl
or     %cl,%al
movsd  0x5344(%rip),%xmm0
ucomisd %xmm0,%xmm1
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    4e67 <foo+0x3d27>
movss  0x52da(%rip),%xmm1
movss  0x52b6(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x12e8(%rbp)
ff
movss  %xmm0,-0x12e4(%rbp)
ff
jne    4d69 <foo+0x3c29>
jmp    4ddb <foo+0x3c9b>
movss  0x52ab(%rip),%xmm1
movss  0x5287(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x12e8(%rbp)
ff
movss  %xmm0,-0x12e4(%rbp)
ff
jne    4d98 <foo+0x3c58>
jmp    4ddb <foo+0x3c9b>
movss  0x5264(%rip),%xmm1
movss  0x5258(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x850(%rbp)
ff
movss  -0x850(%rbp),%xmm1
ff
movss  -0x84c(%rbp),%xmm0
ff
movss  %xmm1,-0x12e8(%rbp)
ff
movss  %xmm0,-0x12e4(%rbp)
ff
movss  -0x12e8(%rbp),%xmm2
ff
movss  -0x12e4(%rbp),%xmm0
ff
movss  0x5215(%rip),%xmm1
subss  %xmm2,%xmm1
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
cvtss2sd %xmm1,%xmm1
cvtss2sd %xmm0,%xmm0
movsd  %xmm1,-0x860(%rbp)
ff
movsd  %xmm0,-0x858(%rbp)
ff
movsd  -0x860(%rbp),%xmm0
ff
movsd  -0x858(%rbp),%xmm1
ff
call   1060 <cproj@plt>
cvtsd2ss %xmm1,%xmm0
movaps 0x5204(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x5209(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x51b9(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    4e67 <foo+0x3d27>
jp     4e67 <foo+0x3d27>
jmp    4e73 <foo+0x3d33>
mov    $0xd1,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
movss  0x51a1(%rip),%xmm1
movss  0x517d(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x12f0(%rbp)
ff
movss  %xmm0,-0x12ec(%rbp)
ff
jne    4ea2 <foo+0x3d62>
jmp    4f14 <foo+0x3dd4>
movss  0x5172(%rip),%xmm1
movss  0x514e(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x12f0(%rbp)
ff
movss  %xmm0,-0x12ec(%rbp)
ff
jne    4ed1 <foo+0x3d91>
jmp    4f14 <foo+0x3dd4>
movss  0x512b(%rip),%xmm1
movss  0x511f(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x868(%rbp)
ff
movss  -0x868(%rbp),%xmm1
ff
movss  -0x864(%rbp),%xmm0
ff
movss  %xmm1,-0x12f0(%rbp)
ff
movss  %xmm0,-0x12ec(%rbp)
ff
movss  -0x12f0(%rbp),%xmm1
ff
movss  -0x12ec(%rbp),%xmm0
ff
movaps 0x5115(%rip),%xmm2
pxor   %xmm2,%xmm1
pxor   %xmm2,%xmm0
movss  %xmm1,-0x10c8(%rbp)
ff
flds   -0x10c8(%rbp)
movss  %xmm0,-0x10cc(%rbp)
ff
flds   -0x10cc(%rbp)
fxch   %st(1)
fstpt  -0x890(%rbp)
fstpt  -0x880(%rbp)
movaps -0x890(%rbp),%xmm0
movaps -0x880(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
flds   0x5080(%rip)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setb   %al
fldz
fchs
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setp   %dl
setne  %cl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    50ee <foo+0x3fae>
movss  0x506f(%rip),%xmm1
movss  0x504b(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x12f8(%rbp)
ff
movss  %xmm0,-0x12f4(%rbp)
ff
jne    4fd4 <foo+0x3e94>
jmp    5046 <foo+0x3f06>
movss  0x5040(%rip),%xmm1
movss  0x501c(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x12f8(%rbp)
ff
movss  %xmm0,-0x12f4(%rbp)
ff
jne    5003 <foo+0x3ec3>
jmp    5046 <foo+0x3f06>
movss  0x4ff9(%rip),%xmm1
movss  0x4fed(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x898(%rbp)
ff
movss  -0x898(%rbp),%xmm1
ff
movss  -0x894(%rbp),%xmm0
ff
movss  %xmm1,-0x12f8(%rbp)
ff
movss  %xmm0,-0x12f4(%rbp)
ff
movss  -0x12f8(%rbp),%xmm1
ff
movss  -0x12f4(%rbp),%xmm0
ff
movaps 0x4fe3(%rip),%xmm2
pxor   %xmm2,%xmm1
pxor   %xmm2,%xmm0
movss  %xmm1,-0x10d0(%rbp)
ff
flds   -0x10d0(%rbp)
movss  %xmm0,-0x10d4(%rbp)
ff
flds   -0x10d4(%rbp)
fxch   %st(1)
fstpt  -0x8c0(%rbp)
fstpt  -0x8b0(%rbp)
movaps -0x8c0(%rbp),%xmm0
movaps -0x8b0(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  -0x10d8(%rbp)
movss  -0x10d8(%rbp),%xmm0
ff
movaps 0x4f7d(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4f82(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x4f32(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    50ee <foo+0x3fae>
jp     50ee <foo+0x3fae>
jmp    50fa <foo+0x3fba>
mov    $0xd1,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
jmp    50ff <foo+0x3fbf>
jmp    5104 <foo+0x3fc4>
movss  0x4f10(%rip),%xmm1
movss  0x4eec(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1300(%rbp)
ff
movss  %xmm0,-0x12fc(%rbp)
ff
jne    5133 <foo+0x3ff3>
jmp    51a5 <foo+0x4065>
movss  0x4ee1(%rip),%xmm1
movss  0x4ebd(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1300(%rbp)
ff
movss  %xmm0,-0x12fc(%rbp)
ff
jne    5162 <foo+0x4022>
jmp    51a5 <foo+0x4065>
movss  0x4e9a(%rip),%xmm1
movss  0x4e8e(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x8c8(%rbp)
ff
movss  -0x8c8(%rbp),%xmm1
ff
movss  -0x8c4(%rbp),%xmm0
ff
movss  %xmm1,-0x1300(%rbp)
ff
movss  %xmm0,-0x12fc(%rbp)
ff
movss  -0x1300(%rbp),%xmm1
ff
movss  -0x12fc(%rbp),%xmm0
ff
movss  0x4e67(%rip),%xmm2
addss  %xmm2,%xmm1
xorps  %xmm2,%xmm2
addss  %xmm2,%xmm0
movss  %xmm1,-0x8d0(%rbp)
ff
movss  %xmm0,-0x8cc(%rbp)
ff
movsd  -0x8d0(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0x8d8(%rbp)
ff
movss  -0x8d8(%rbp),%xmm1
ff
movss  -0x8d4(%rbp),%xmm0
ff
movss  0x4dfb(%rip),%xmm2
ucomiss %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    534b <foo+0x420b>
movss  0x4dec(%rip),%xmm1
movss  0x4dc8(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1308(%rbp)
ff
movss  %xmm0,-0x1304(%rbp)
ff
jne    5257 <foo+0x4117>
jmp    52c9 <foo+0x4189>
movss  0x4dbd(%rip),%xmm1
movss  0x4d99(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1308(%rbp)
ff
movss  %xmm0,-0x1304(%rbp)
ff
jne    5286 <foo+0x4146>
jmp    52c9 <foo+0x4189>
movss  0x4d76(%rip),%xmm1
movss  0x4d6a(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x8e0(%rbp)
ff
movss  -0x8e0(%rbp),%xmm1
ff
movss  -0x8dc(%rbp),%xmm0
ff
movss  %xmm1,-0x1308(%rbp)
ff
movss  %xmm0,-0x1304(%rbp)
ff
movss  -0x1308(%rbp),%xmm1
ff
movss  -0x1304(%rbp),%xmm0
ff
movss  0x4d43(%rip),%xmm2
addss  %xmm2,%xmm1
xorps  %xmm2,%xmm2
addss  %xmm2,%xmm0
movss  %xmm1,-0x8e8(%rbp)
ff
movss  %xmm0,-0x8e4(%rbp)
ff
movsd  -0x8e8(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0x8f0(%rbp)
ff
movss  -0x8ec(%rbp),%xmm0
ff
movaps 0x4d20(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4d25(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x4ccd(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    534b <foo+0x420b>
jp     534b <foo+0x420b>
jmp    5357 <foo+0x4217>
mov    $0xd2,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
movss  0x4cbd(%rip),%xmm1
movss  0x4c99(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1310(%rbp)
ff
movss  %xmm0,-0x130c(%rbp)
ff
jne    5386 <foo+0x4246>
jmp    53f8 <foo+0x42b8>
movss  0x4c8e(%rip),%xmm1
movss  0x4c6a(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1310(%rbp)
ff
movss  %xmm0,-0x130c(%rbp)
ff
jne    53b5 <foo+0x4275>
jmp    53f8 <foo+0x42b8>
movss  0x4c47(%rip),%xmm1
movss  0x4c3b(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x8f8(%rbp)
ff
movss  -0x8f8(%rbp),%xmm1
ff
movss  -0x8f4(%rbp),%xmm0
ff
movss  %xmm1,-0x1310(%rbp)
ff
movss  %xmm0,-0x130c(%rbp)
ff
movss  -0x1310(%rbp),%xmm0
ff
movss  -0x130c(%rbp),%xmm2
ff
movss  0x4c14(%rip),%xmm1
addss  %xmm0,%xmm1
xorps  %xmm0,%xmm0
addss  %xmm2,%xmm0
cvtss2sd %xmm1,%xmm1
cvtss2sd %xmm0,%xmm0
movsd  %xmm1,-0x908(%rbp)
ff
movsd  %xmm0,-0x900(%rbp)
ff
movsd  -0x908(%rbp),%xmm0
ff
movsd  -0x900(%rbp),%xmm1
ff
call   1060 <cproj@plt>
movsd  0x4c10(%rip),%xmm2
ucomisd %xmm2,%xmm0
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm0,%xmm0
ucomisd %xmm0,%xmm1
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    559c <foo+0x445c>
movss  0x4b9f(%rip),%xmm1
movss  0x4b7b(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1318(%rbp)
ff
movss  %xmm0,-0x1314(%rbp)
ff
jne    54a4 <foo+0x4364>
jmp    5516 <foo+0x43d6>
movss  0x4b70(%rip),%xmm1
movss  0x4b4c(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1318(%rbp)
ff
movss  %xmm0,-0x1314(%rbp)
ff
jne    54d3 <foo+0x4393>
jmp    5516 <foo+0x43d6>
movss  0x4b29(%rip),%xmm1
movss  0x4b1d(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x910(%rbp)
ff
movss  -0x910(%rbp),%xmm1
ff
movss  -0x90c(%rbp),%xmm0
ff
movss  %xmm1,-0x1318(%rbp)
ff
movss  %xmm0,-0x1314(%rbp)
ff
movss  -0x1318(%rbp),%xmm0
ff
movss  -0x1314(%rbp),%xmm2
ff
movss  0x4af6(%rip),%xmm1
addss  %xmm0,%xmm1
xorps  %xmm0,%xmm0
addss  %xmm2,%xmm0
cvtss2sd %xmm1,%xmm1
cvtss2sd %xmm0,%xmm0
movsd  %xmm1,-0x920(%rbp)
ff
movsd  %xmm0,-0x918(%rbp)
ff
movsd  -0x920(%rbp),%xmm0
ff
movsd  -0x918(%rbp),%xmm1
ff
call   1060 <cproj@plt>
cvtsd2ss %xmm1,%xmm0
movaps 0x4acf(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4ad4(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x4a7c(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    559c <foo+0x445c>
jp     559c <foo+0x445c>
jmp    55a8 <foo+0x4468>
mov    $0xd2,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
movss  0x4a6c(%rip),%xmm1
movss  0x4a48(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1320(%rbp)
ff
movss  %xmm0,-0x131c(%rbp)
ff
jne    55d7 <foo+0x4497>
jmp    5649 <foo+0x4509>
movss  0x4a3d(%rip),%xmm1
movss  0x4a19(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1320(%rbp)
ff
movss  %xmm0,-0x131c(%rbp)
ff
jne    5606 <foo+0x44c6>
jmp    5649 <foo+0x4509>
movss  0x49f6(%rip),%xmm1
movss  0x49ea(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x928(%rbp)
ff
movss  -0x928(%rbp),%xmm1
ff
movss  -0x924(%rbp),%xmm0
ff
movss  %xmm1,-0x1320(%rbp)
ff
movss  %xmm0,-0x131c(%rbp)
ff
movss  -0x1320(%rbp),%xmm1
ff
movss  -0x131c(%rbp),%xmm0
ff
movss  0x49c3(%rip),%xmm2
addss  %xmm2,%xmm1
xorps  %xmm2,%xmm2
addss  %xmm2,%xmm0
movss  %xmm1,-0x10dc(%rbp)
ff
flds   -0x10dc(%rbp)
movss  %xmm0,-0x10e0(%rbp)
ff
flds   -0x10e0(%rbp)
fxch   %st(1)
fstpt  -0x950(%rbp)
fstpt  -0x940(%rbp)
movaps -0x950(%rbp),%xmm0
movaps -0x940(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
flds   0x4947(%rip)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setb   %al
fldz
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setp   %dl
setne  %cl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    5829 <foo+0x46e9>
movss  0x4938(%rip),%xmm1
movss  0x4914(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1328(%rbp)
ff
movss  %xmm0,-0x1324(%rbp)
ff
jne    570b <foo+0x45cb>
jmp    577d <foo+0x463d>
movss  0x4909(%rip),%xmm1
movss  0x48e5(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1328(%rbp)
ff
movss  %xmm0,-0x1324(%rbp)
ff
jne    573a <foo+0x45fa>
jmp    577d <foo+0x463d>
movss  0x48c2(%rip),%xmm1
movss  0x48b6(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x958(%rbp)
ff
movss  -0x958(%rbp),%xmm1
ff
movss  -0x954(%rbp),%xmm0
ff
movss  %xmm1,-0x1328(%rbp)
ff
movss  %xmm0,-0x1324(%rbp)
ff
movss  -0x1328(%rbp),%xmm1
ff
movss  -0x1324(%rbp),%xmm0
ff
movss  0x488f(%rip),%xmm2
addss  %xmm2,%xmm1
xorps  %xmm2,%xmm2
addss  %xmm2,%xmm0
movss  %xmm1,-0x10e4(%rbp)
ff
flds   -0x10e4(%rbp)
movss  %xmm0,-0x10e8(%rbp)
ff
flds   -0x10e8(%rbp)
fxch   %st(1)
fstpt  -0x980(%rbp)
fstpt  -0x970(%rbp)
movaps -0x980(%rbp),%xmm0
movaps -0x970(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  -0x10ec(%rbp)
movss  -0x10ec(%rbp),%xmm0
ff
movaps 0x4842(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4847(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x47ef(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    5829 <foo+0x46e9>
jp     5829 <foo+0x46e9>
jmp    5835 <foo+0x46f5>
mov    $0xd2,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
jmp    583a <foo+0x46fa>
jmp    583f <foo+0x46ff>
movss  0x47d5(%rip),%xmm1
movss  0x47b1(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1330(%rbp)
ff
movss  %xmm0,-0x132c(%rbp)
ff
jne    586e <foo+0x472e>
jmp    58e0 <foo+0x47a0>
movss  0x47a6(%rip),%xmm1
movss  0x4782(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1330(%rbp)
ff
movss  %xmm0,-0x132c(%rbp)
ff
jne    589d <foo+0x475d>
jmp    58e0 <foo+0x47a0>
movss  0x475f(%rip),%xmm1
movss  0x4753(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x988(%rbp)
ff
movss  -0x988(%rbp),%xmm1
ff
movss  -0x984(%rbp),%xmm0
ff
movss  %xmm1,-0x1330(%rbp)
ff
movss  %xmm0,-0x132c(%rbp)
ff
movss  -0x1330(%rbp),%xmm0
ff
movss  -0x132c(%rbp),%xmm2
ff
movss  0x472c(%rip),%xmm1
subss  %xmm0,%xmm1
xorps  %xmm0,%xmm0
subss  %xmm2,%xmm0
movss  %xmm1,-0x990(%rbp)
ff
movss  %xmm0,-0x98c(%rbp)
ff
movsd  -0x990(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0x998(%rbp)
ff
movss  -0x998(%rbp),%xmm1
ff
movss  -0x994(%rbp),%xmm0
ff
movss  0x46c0(%rip),%xmm2
ucomiss %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
movss  0x46b5(%rip),%xmm1
ucomiss %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    5a8b <foo+0x494b>
movss  0x46ac(%rip),%xmm1
movss  0x4688(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1338(%rbp)
ff
movss  %xmm0,-0x1334(%rbp)
ff
jne    5997 <foo+0x4857>
jmp    5a09 <foo+0x48c9>
movss  0x467d(%rip),%xmm1
movss  0x4659(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1338(%rbp)
ff
movss  %xmm0,-0x1334(%rbp)
ff
jne    59c6 <foo+0x4886>
jmp    5a09 <foo+0x48c9>
movss  0x4636(%rip),%xmm1
movss  0x462a(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x9a0(%rbp)
ff
movss  -0x9a0(%rbp),%xmm1
ff
movss  -0x99c(%rbp),%xmm0
ff
movss  %xmm1,-0x1338(%rbp)
movss  %xmm0,-0x1334(%rbp)
ff
movss  -0x1338(%rbp),%xmm0
ff
movss  -0x1334(%rbp),%xmm2
ff
movss  0x4603(%rip),%xmm1
subss  %xmm0,%xmm1
xorps  %xmm0,%xmm0
subss  %xmm2,%xmm0
movss  %xmm1,-0x9a8(%rbp)
ff
movss  %xmm0,-0x9a4(%rbp)
ff
movsd  -0x9a8(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0x9b0(%rbp)
ff
movss  -0x9ac(%rbp),%xmm0
ff
movaps 0x45e0(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x45e5(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x4595(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    5a8b <foo+0x494b>
jp     5a8b <foo+0x494b>
jmp    5a97 <foo+0x4957>
mov    $0xd3,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
movss  0x457d(%rip),%xmm1
movss  0x4559(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1340(%rbp)
ff
movss  %xmm0,-0x133c(%rbp)
ff
jne    5ac6 <foo+0x4986>
jmp    5b38 <foo+0x49f8>
movss  0x454e(%rip),%xmm1
movss  0x452a(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1340(%rbp)
ff
movss  %xmm0,-0x133c(%rbp)
ff
jne    5af5 <foo+0x49b5>
jmp    5b38 <foo+0x49f8>
movss  0x4507(%rip),%xmm1
movss  0x44fb(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x9b8(%rbp)
ff
movss  -0x9b8(%rbp),%xmm1
ff
movss  -0x9b4(%rbp),%xmm0
ff
movss  %xmm1,-0x1340(%rbp)
ff
movss  %xmm0,-0x133c(%rbp)
ff
movss  -0x1340(%rbp),%xmm0
ff
movss  -0x133c(%rbp),%xmm2
ff
movss  0x44d4(%rip),%xmm1
subss  %xmm0,%xmm1
xorps  %xmm0,%xmm0
subss  %xmm2,%xmm0
cvtss2sd %xmm1,%xmm1
cvtss2sd %xmm0,%xmm0
movsd  %xmm1,-0x9c8(%rbp)
ff
movsd  %xmm0,-0x9c0(%rbp)
ff
movsd  -0x9c8(%rbp),%xmm0
ff
movsd  -0x9c0(%rbp),%xmm1
ff
call   1060 <cproj@plt>
movsd  0x44d0(%rip),%xmm2
ucomisd %xmm2,%xmm0
setne  %al
setp   %cl
or     %cl,%al
movsd  0x44c4(%rip),%xmm0
ucomisd %xmm0,%xmm1
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    5ce1 <foo+0x4ba1>
movss  0x445a(%rip),%xmm1
movss  0x4436(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1348(%rbp)
ff
movss  %xmm0,-0x1344(%rbp)
ff
jne    5be9 <foo+0x4aa9>
jmp    5c5b <foo+0x4b1b>
movss  0x442b(%rip),%xmm1
movss  0x4407(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1348(%rbp)
ff
movss  %xmm0,-0x1344(%rbp)
ff
jne    5c18 <foo+0x4ad8>
jmp    5c5b <foo+0x4b1b>
movss  0x43e4(%rip),%xmm1
movss  0x43d8(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x9d0(%rbp)
ff
movss  -0x9d0(%rbp),%xmm1
ff
movss  -0x9cc(%rbp),%xmm0
ff
movss  %xmm1,-0x1348(%rbp)
ff
movss  %xmm0,-0x1344(%rbp)
ff
movss  -0x1348(%rbp),%xmm0
ff
movss  -0x1344(%rbp),%xmm2
ff
movss  0x43b1(%rip),%xmm1
subss  %xmm0,%xmm1
xorps  %xmm0,%xmm0
subss  %xmm2,%xmm0
cvtss2sd %xmm1,%xmm1
cvtss2sd %xmm0,%xmm0
movsd  %xmm1,-0x9e0(%rbp)
ff
movsd  %xmm0,-0x9d8(%rbp)
ff
movsd  -0x9e0(%rbp),%xmm0
ff
movsd  -0x9d8(%rbp),%xmm1
ff
call   1060 <cproj@plt>
cvtsd2ss %xmm1,%xmm0
movaps 0x438a(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x438f(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x433f(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    5ce1 <foo+0x4ba1>
jp     5ce1 <foo+0x4ba1>
jmp    5ced <foo+0x4bad>
mov    $0xd3,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
movss  0x4327(%rip),%xmm1
movss  0x4303(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1350(%rbp)
ff
movss  %xmm0,-0x134c(%rbp)
ff
jne    5d1c <foo+0x4bdc>
jmp    5d8e <foo+0x4c4e>
movss  0x42f8(%rip),%xmm1
movss  0x42d4(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1350(%rbp)
ff
movss  %xmm0,-0x134c(%rbp)
ff
jne    5d4b <foo+0x4c0b>
jmp    5d8e <foo+0x4c4e>
movss  0x42b1(%rip),%xmm1
movss  0x42a5(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x9e8(%rbp)
ff
movss  -0x9e8(%rbp),%xmm1
ff
movss  -0x9e4(%rbp),%xmm0
ff
movss  %xmm1,-0x1350(%rbp)
ff
movss  %xmm0,-0x134c(%rbp)
ff
movss  -0x1350(%rbp),%xmm0
ff
movss  -0x134c(%rbp),%xmm2
ff
movss  0x427e(%rip),%xmm1
subss  %xmm0,%xmm1
xorps  %xmm0,%xmm0
subss  %xmm2,%xmm0
movss  %xmm1,-0x10f0(%rbp)
ff
flds   -0x10f0(%rbp)
movss  %xmm0,-0x10f4(%rbp)
ff
flds   -0x10f4(%rbp)
fxch   %st(1)
fstpt  -0xa10(%rbp)
fstpt  -0xa00(%rbp)
movaps -0xa10(%rbp),%xmm0
movaps -0xa00(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
flds   0x4202(%rip)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setb   %al
fldz
fchs
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setp   %dl
setne  %cl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    5f70 <foo+0x4e30>
movss  0x41f1(%rip),%xmm1
movss  0x41cd(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1358(%rbp)
ff
movss  %xmm0,-0x1354(%rbp)
ff
jne    5e52 <foo+0x4d12>
jmp    5ec4 <foo+0x4d84>
movss  0x41c2(%rip),%xmm1
movss  0x419e(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1358(%rbp)
ff
movss  %xmm0,-0x1354(%rbp)
ff
jne    5e81 <foo+0x4d41>
jmp    5ec4 <foo+0x4d84>
movss  0x417b(%rip),%xmm1
movss  0x416f(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xa18(%rbp)
ff
movss  -0xa18(%rbp),%xmm1
ff
movss  -0xa14(%rbp),%xmm0
ff
movss  %xmm1,-0x1358(%rbp)
ff
movss  %xmm0,-0x1354(%rbp)
ff
movss  -0x1358(%rbp),%xmm0
ff
movss  -0x1354(%rbp),%xmm2
ff
movss  0x4148(%rip),%xmm1
subss  %xmm0,%xmm1
xorps  %xmm0,%xmm0
subss  %xmm2,%xmm0
movss  %xmm1,-0x10f8(%rbp)
ff
flds   -0x10f8(%rbp)
movss  %xmm0,-0x10fc(%rbp)
ff
flds   -0x10fc(%rbp)
fxch   %st(1)
fstpt  -0xa40(%rbp)
fstpt  -0xa30(%rbp)
movaps -0xa40(%rbp),%xmm0
movaps -0xa30(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  -0x1100(%rbp)
movss  -0x1100(%rbp),%xmm0
ff
movaps 0x40fb(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4100(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x40b0(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    5f70 <foo+0x4e30>
jp     5f70 <foo+0x4e30>
jmp    5f7c <foo+0x4e3c>
mov    $0xd3,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
jmp    5f81 <foo+0x4e41>
jmp    5f86 <foo+0x4e46>
movss  0x408e(%rip),%xmm1
movss  0x406a(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1360(%rbp)
ff
movss  %xmm0,-0x135c(%rbp)
ff
jne    5fb5 <foo+0x4e75>
jmp    6027 <foo+0x4ee7>
movss  0x405f(%rip),%xmm1
movss  0x403b(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1360(%rbp)
ff
movss  %xmm0,-0x135c(%rbp)
ff
jne    5fe4 <foo+0x4ea4>
jmp    6027 <foo+0x4ee7>
movss  0x4018(%rip),%xmm1
movss  0x400c(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xa48(%rbp)
movss  -0xa48(%rbp),%xmm1
movss  -0xa44(%rbp),%xmm0
ff
movss  %xmm1,-0x1360(%rbp)
ff
movss  %xmm0,-0x135c(%rbp)
ff
movss  -0x1360(%rbp),%xmm1
ff
movss  -0x135c(%rbp),%xmm0
ff
movss  0x3fc1(%rip),%xmm2
addss  %xmm2,%xmm1
movss  %xmm1,-0xa50(%rbp)
ff
movss  %xmm0,-0xa4c(%rbp)
ff
movsd  -0xa50(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xa58(%rbp)
ff
movss  -0xa58(%rbp),%xmm1
ff
movss  -0xa54(%rbp),%xmm0
ff
movss  0x3f80(%rip),%xmm2
ucomiss %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    61bf <foo+0x507f>
movss  0x3f71(%rip),%xmm1
movss  0x3f4d(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1368(%rbp)
ff
movss  %xmm0,-0x1364(%rbp)
ff
jne    60d2 <foo+0x4f92>
jmp    6144 <foo+0x5004>
movss  0x3f42(%rip),%xmm1
movss  0x3f1e(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1368(%rbp)
ff
movss  %xmm0,-0x1364(%rbp)
ff
jne    6101 <foo+0x4fc1>
jmp    6144 <foo+0x5004>
movss  0x3efb(%rip),%xmm1
movss  0x3eef(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xa60(%rbp)
ff
movss  -0xa60(%rbp),%xmm1
ff
movss  -0xa5c(%rbp),%xmm0
ff
movss  %xmm1,-0x1368(%rbp)
ff
movss  %xmm0,-0x1364(%rbp)
ff
movss  -0x1368(%rbp),%xmm1
ff
movss  -0x1364(%rbp),%xmm0
ff
movss  0x3ea4(%rip),%xmm2
addss  %xmm2,%xmm1
movss  %xmm1,-0xa68(%rbp)
ff
movss  %xmm0,-0xa64(%rbp)
ff
movsd  -0xa68(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xa70(%rbp)
ff
movss  -0xa6c(%rbp),%xmm0
ff
movaps 0x3eac(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x3eb1(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x3e59(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    61bf <foo+0x507f>
jp     61bf <foo+0x507f>
jmp    61cb <foo+0x508b>
mov    $0xd5,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
movss  0x3e49(%rip),%xmm1
movss  0x3e25(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1370(%rbp)
ff
movss  %xmm0,-0x136c(%rbp)
ff
jne    61fa <foo+0x50ba>
jmp    626c <foo+0x512c>
movss  0x3e1a(%rip),%xmm1
movss  0x3df6(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1370(%rbp)
ff
movss  %xmm0,-0x136c(%rbp)
ff
jne    6229 <foo+0x50e9>
jmp    626c <foo+0x512c>
movss  0x3dd3(%rip),%xmm1
movss  0x3dc7(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xa78(%rbp)
ff
movss  -0xa78(%rbp),%xmm1
ff
movss  -0xa74(%rbp),%xmm0
ff
movss  %xmm1,-0x1370(%rbp)
ff
movss  %xmm0,-0x136c(%rbp)
ff
movss  -0x1370(%rbp),%xmm2
ff
movss  -0x136c(%rbp),%xmm0
ff
movss  0x3d7c(%rip),%xmm1
addss  %xmm2,%xmm1
cvtss2sd %xmm1,%xmm1
cvtss2sd %xmm0,%xmm0
movsd  %xmm1,-0xa88(%rbp)
ff
movsd  %xmm0,-0xa80(%rbp)
ff
movsd  -0xa88(%rbp),%xmm0
ff
movsd  -0xa80(%rbp),%xmm1
ff
call   1060 <cproj@plt>
movsd  0x3da3(%rip),%xmm2
ucomisd %xmm2,%xmm0
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm0,%xmm0
ucomisd %xmm0,%xmm1
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    6402 <foo+0x52c2>
movss  0x3d32(%rip),%xmm1
movss  0x3d0e(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1378(%rbp)
ff
movss  %xmm0,-0x1374(%rbp)
ff
jne    6311 <foo+0x51d1>
jmp    6383 <foo+0x5243>
movss  0x3d03(%rip),%xmm1
movss  0x3cdf(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1378(%rbp)
ff
movss  %xmm0,-0x1374(%rbp)
ff
jne    6340 <foo+0x5200>
jmp    6383 <foo+0x5243>
movss  0x3cbc(%rip),%xmm1
movss  0x3cb0(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xa90(%rbp)
ff
movss  -0xa90(%rbp),%xmm1
ff
movss  -0xa8c(%rbp),%xmm0
ff
movss  %xmm1,-0x1378(%rbp)
ff
movss  %xmm0,-0x1374(%rbp)
ff
movss  -0x1378(%rbp),%xmm2
ff
movss  -0x1374(%rbp),%xmm0
ff
movss  0x3c65(%rip),%xmm1
addss  %xmm2,%xmm1
cvtss2sd %xmm1,%xmm1
cvtss2sd %xmm0,%xmm0
movsd  %xmm1,-0xaa0(%rbp)
ff
movsd  %xmm0,-0xa98(%rbp)
ff
movsd  -0xaa0(%rbp),%xmm0
ff
movsd  -0xa98(%rbp),%xmm1
ff
call   1060 <cproj@plt>
cvtsd2ss %xmm1,%xmm0
movaps 0x3c69(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x3c6e(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x3c16(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    6402 <foo+0x52c2>
jp     6402 <foo+0x52c2>
jmp    640e <foo+0x52ce>
mov    $0xd5,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
movss  0x3c06(%rip),%xmm1
movss  0x3be2(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1380(%rbp)
ff
movss  %xmm0,-0x137c(%rbp)
ff
jne    643d <foo+0x52fd>
jmp    64af <foo+0x536f>
movss  0x3bd7(%rip),%xmm1
movss  0x3bb3(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1380(%rbp)
ff
movss  %xmm0,-0x137c(%rbp)
ff
jne    646c <foo+0x532c>
jmp    64af <foo+0x536f>
movss  0x3b90(%rip),%xmm1
movss  0x3b84(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xaa8(%rbp)
ff
movss  -0xaa8(%rbp),%xmm1
ff
movss  -0xaa4(%rbp),%xmm0
ff
movss  %xmm1,-0x1380(%rbp)
ff
movss  %xmm0,-0x137c(%rbp)
ff
movss  -0x1380(%rbp),%xmm1
ff
movss  -0x137c(%rbp),%xmm0
ff
movss  0x3b39(%rip),%xmm2
addss  %xmm2,%xmm1
movss  %xmm1,-0x1108(%rbp)
ff
flds   -0x1108(%rbp)
movss  %xmm0,-0x1104(%rbp)
ff
flds   -0x1104(%rbp)
fxch   %st(1)
fstpt  -0xad0(%rbp)
fstpt  -0xac0(%rbp)
movaps -0xad0(%rbp),%xmm0
movaps -0xac0(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
flds   0x3ae8(%rip)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setb   %al
fldz
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setp   %dl
setne  %cl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    6681 <foo+0x5541>
movss  0x3ad9(%rip),%xmm1
movss  0x3ab5(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1388(%rbp)
ff
movss  %xmm0,-0x1384(%rbp)
ff
jne    656a <foo+0x542a>
jmp    65dc <foo+0x549c>
movss  0x3aaa(%rip),%xmm1
movss  0x3a86(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1388(%rbp)
ff
movss  %xmm0,-0x1384(%rbp)
ff
jne    6599 <foo+0x5459>
jmp    65dc <foo+0x549c>
movss  0x3a63(%rip),%xmm1
movss  0x3a57(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xad8(%rbp)
ff
movss  -0xad8(%rbp),%xmm1
ff
movss  -0xad4(%rbp),%xmm0
ff
movss  %xmm1,-0x1388(%rbp)
ff
movss  %xmm0,-0x1384(%rbp)
ff
movss  -0x1388(%rbp),%xmm1
ff
movss  -0x1384(%rbp),%xmm0
ff
movss  0x3a0c(%rip),%xmm2
addss  %xmm2,%xmm1
movss  %xmm1,-0x1110(%rbp)
ff
flds   -0x1110(%rbp)
movss  %xmm0,-0x110c(%rbp)
ff
flds   -0x110c(%rbp)
fxch   %st(1)
fstpt  -0xb00(%rbp)
fstpt  -0xaf0(%rbp)
movaps -0xb00(%rbp),%xmm0
movaps -0xaf0(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  -0x1114(%rbp)
movss  -0x1114(%rbp),%xmm0
ff
movaps 0x39ea(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x39ef(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x3997(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    6681 <foo+0x5541>
jp     6681 <foo+0x5541>
jmp    668d <foo+0x554d>
mov    $0xd5,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
jmp    6692 <foo+0x5552>
jmp    6697 <foo+0x5557>
movss  0x397d(%rip),%xmm1
movss  0x3959(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1390(%rbp)
ff
movss  %xmm0,-0x138c(%rbp)
ff
jne    66c6 <foo+0x5586>
jmp    6738 <foo+0x55f8>
movss  0x394e(%rip),%xmm1
movss  0x392a(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1390(%rbp)
ff
movss  %xmm0,-0x138c(%rbp)
ff
jne    66f5 <foo+0x55b5>
jmp    6738 <foo+0x55f8>
movss  0x3907(%rip),%xmm1
movss  0x38fb(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xb08(%rbp)
ff
movss  -0xb08(%rbp),%xmm1
ff
movss  -0xb04(%rbp),%xmm0
ff
movss  %xmm1,-0x1390(%rbp)
ff
movss  %xmm0,-0x138c(%rbp)
ff
movss  -0x1390(%rbp),%xmm2
ff
movss  -0x138c(%rbp),%xmm0
ff
movss  0x38b0(%rip),%xmm1
subss  %xmm2,%xmm1
movaps 0x38e5(%rip),%xmm2
pxor   %xmm2,%xmm0
movss  %xmm1,-0xb10(%rbp)
ff
movss  %xmm0,-0xb0c(%rbp)
ff
movsd  -0xb10(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xb18(%rbp)
ff
movss  -0xb18(%rbp),%xmm1
ff
movss  -0xb14(%rbp),%xmm0
ff
movss  0x3864(%rip),%xmm2
ucomiss %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
movss  0x3859(%rip),%xmm1
ucomiss %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    68eb <foo+0x57ab>
movss  0x3850(%rip),%xmm1
movss  0x382c(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1398(%rbp)
ff
movss  %xmm0,-0x1394(%rbp)
ff
jne    67f3 <foo+0x56b3>
jmp    6865 <foo+0x5725>
movss  0x3821(%rip),%xmm1
movss  0x37fd(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1398(%rbp)
ff
movss  %xmm0,-0x1394(%rbp)
ff
jne    6822 <foo+0x56e2>
jmp    6865 <foo+0x5725>
movss  0x37da(%rip),%xmm1
movss  0x37ce(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xb20(%rbp)
ff
movss  -0xb20(%rbp),%xmm1
ff
movss  -0xb1c(%rbp),%xmm0
ff
movss  %xmm1,-0x1398(%rbp)
ff
movss  %xmm0,-0x1394(%rbp)
ff
movss  -0x1398(%rbp),%xmm2
ff
movss  -0x1394(%rbp),%xmm0
ff
movss  0x3783(%rip),%xmm1
subss  %xmm2,%xmm1
movaps 0x37b8(%rip),%xmm2
pxor   %xmm2,%xmm0
movss  %xmm1,-0xb28(%rbp)
ff
movss  %xmm0,-0xb24(%rbp)
ff
movsd  -0xb28(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xb30(%rbp)
ff
movss  -0xb2c(%rbp),%xmm0
ff
movaps 0x3780(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x3785(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x3735(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    68eb <foo+0x57ab>
jp     68eb <foo+0x57ab>
jmp    68f7 <foo+0x57b7>
mov    $0xd6,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
movss  0x371d(%rip),%xmm1
movss  0x36f9(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x13a0(%rbp)
ff
movss  %xmm0,-0x139c(%rbp)
ff
jne    6926 <foo+0x57e6>
jmp    6998 <foo+0x5858>
movss  0x36ee(%rip),%xmm1
movss  0x36ca(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x13a0(%rbp)
ff
movss  %xmm0,-0x139c(%rbp)
ff
jne    6955 <foo+0x5815>
jmp    6998 <foo+0x5858>
movss  0x36a7(%rip),%xmm1
movss  0x369b(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xb38(%rbp)
ff
movss  -0xb38(%rbp),%xmm1
ff
movss  -0xb34(%rbp),%xmm0
ff
movss  %xmm1,-0x13a0(%rbp)
ff
movss  %xmm0,-0x139c(%rbp)
ff
movss  -0x13a0(%rbp),%xmm2
ff
movss  -0x139c(%rbp),%xmm0
ff
movss  0x3650(%rip),%xmm1
subss  %xmm2,%xmm1
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
cvtss2sd %xmm1,%xmm1
cvtss2sd %xmm0,%xmm0
movsd  %xmm1,-0xb48(%rbp)
ff
movsd  %xmm0,-0xb40(%rbp)
ff
movsd  -0xb48(%rbp),%xmm0
ff
movsd  -0xb40(%rbp),%xmm1
ff
call   1060 <cproj@plt>
movsd  0x366a(%rip),%xmm2
ucomisd %xmm2,%xmm0
setne  %al
setp   %cl
or     %cl,%al
movsd  0x365e(%rip),%xmm0
ucomisd %xmm0,%xmm1
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    6b4d <foo+0x5a0d>
movss  0x35f4(%rip),%xmm1
movss  0x35d0(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x13a8(%rbp)
ff
movss  %xmm0,-0x13a4(%rbp)
ff
jne    6a4f <foo+0x590f>
jmp    6ac1 <foo+0x5981>
movss  0x35c5(%rip),%xmm1
movss  0x35a1(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x13a8(%rbp)
ff
movss  %xmm0,-0x13a4(%rbp)
ff
jne    6a7e <foo+0x593e>
jmp    6ac1 <foo+0x5981>
movss  0x357e(%rip),%xmm1
movss  0x3572(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xb50(%rbp)
ff
movss  -0xb50(%rbp),%xmm1
ff
movss  -0xb4c(%rbp),%xmm0
ff
movss  %xmm1,-0x13a8(%rbp)
ff
movss  %xmm0,-0x13a4(%rbp)
ff
movss  -0x13a8(%rbp),%xmm2
ff
movss  -0x13a4(%rbp),%xmm0
ff
movss  0x3527(%rip),%xmm1
subss  %xmm2,%xmm1
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
cvtss2sd %xmm1,%xmm1
cvtss2sd %xmm0,%xmm0
movsd  %xmm1,-0xb60(%rbp)
ff
movsd  %xmm0,-0xb58(%rbp)
ff
movsd  -0xb60(%rbp),%xmm0
ff
movsd  -0xb58(%rbp),%xmm1
ff
call   1060 <cproj@plt>
cvtsd2ss %xmm1,%xmm0
movaps 0x351e(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x3523(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x34d3(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    6b4d <foo+0x5a0d>
jp     6b4d <foo+0x5a0d>
jmp    6b59 <foo+0x5a19>
mov    $0xd6,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
movss  0x34bb(%rip),%xmm1
movss  0x3497(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x13b0(%rbp)
ff
movss  %xmm0,-0x13ac(%rbp)
ff
jne    6b88 <foo+0x5a48>
jmp    6bfa <foo+0x5aba>
movss  0x348c(%rip),%xmm1
movss  0x3468(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x13b0(%rbp)
ff
movss  %xmm0,-0x13ac(%rbp)
ff
jne    6bb7 <foo+0x5a77>
jmp    6bfa <foo+0x5aba>
movss  0x3445(%rip),%xmm1
movss  0x3439(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xb68(%rbp)
ff
movss  -0xb68(%rbp),%xmm1
ff
movss  -0xb64(%rbp),%xmm0
ff
movss  %xmm1,-0x13b0(%rbp)
ff
movss  %xmm0,-0x13ac(%rbp)
ff
movss  -0x13b0(%rbp),%xmm2
ff
movss  -0x13ac(%rbp),%xmm0
ff
movss  0x33ee(%rip),%xmm1
subss  %xmm2,%xmm1
movaps 0x3423(%rip),%xmm2
pxor   %xmm2,%xmm0
movss  %xmm1,-0x1118(%rbp)
ff
flds   -0x1118(%rbp)
movss  %xmm0,-0x111c(%rbp)
ff
flds   -0x111c(%rbp)
fxch   %st(1)
fstpt  -0xb90(%rbp)
fstpt  -0xb80(%rbp)
movaps -0xb90(%rbp),%xmm0
movaps -0xb80(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
flds   0x3392(%rip)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setb   %al
fldz
fchs
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setp   %dl
setne  %cl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    6de4 <foo+0x5ca4>
movss  0x3381(%rip),%xmm1
movss  0x335d(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x13b8(%rbp)
ff
movss  %xmm0,-0x13b4(%rbp)
ff
jne    6cc2 <foo+0x5b82>
jmp    6d34 <foo+0x5bf4>
movss  0x3352(%rip),%xmm1
movss  0x332e(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x13b8(%rbp)
ff
movss  %xmm0,-0x13b4(%rbp)
ff
jne    6cf1 <foo+0x5bb1>
jmp    6d34 <foo+0x5bf4>
movss  0x330b(%rip),%xmm1
movss  0x32ff(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xb98(%rbp)
ff
movss  -0xb98(%rbp),%xmm1
ff
movss  -0xb94(%rbp),%xmm0
ff
movss  %xmm1,-0x13b8(%rbp)
ff
movss  %xmm0,-0x13b4(%rbp)
ff
movss  -0x13b8(%rbp),%xmm2
ff
movss  -0x13b4(%rbp),%xmm0
ff
movss  0x32b4(%rip),%xmm1
subss  %xmm2,%xmm1
movaps 0x32e9(%rip),%xmm2
pxor   %xmm2,%xmm0
movss  %xmm1,-0x1120(%rbp)
ff
flds   -0x1120(%rbp)
movss  %xmm0,-0x1124(%rbp)
ff
flds   -0x1124(%rbp)
fxch   %st(1)
fstpt  -0xbc0(%rbp)
fstpt  -0xbb0(%rbp)
movaps -0xbc0(%rbp),%xmm0
movaps -0xbb0(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  -0x1128(%rbp)
movss  -0x1128(%rbp),%xmm0
ff
movaps 0x3287(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x328c(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x323c(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    6de4 <foo+0x5ca4>
jp     6de4 <foo+0x5ca4>
jmp    6df0 <foo+0x5cb0>
mov    $0xd6,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
jmp    6df5 <foo+0x5cb5>
jmp    6dfa <foo+0x5cba>
movss  0x321a(%rip),%xmm1
movss  0x31f6(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x13c0(%rbp)
ff
movss  %xmm0,-0x13bc(%rbp)
ff
jne    6e29 <foo+0x5ce9>
jmp    6e9b <foo+0x5d5b>
movss  0x31eb(%rip),%xmm1
movss  0x31c7(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x13c0(%rbp)
ff
movss  %xmm0,-0x13bc(%rbp)
ff
jne    6e58 <foo+0x5d18>
jmp    6e9b <foo+0x5d5b>
movss  0x31a4(%rip),%xmm1
movss  0x3198(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xbc8(%rbp)
ff
movss  -0xbc8(%rbp),%xmm1
ff
movss  -0xbc4(%rbp),%xmm0
ff
movss  %xmm1,-0x13c0(%rbp)
ff
movss  %xmm0,-0x13bc(%rbp)
ff
movss  -0x13c0(%rbp),%xmm1
ff
movss  -0x13bc(%rbp),%xmm0
ff
movss  0x3165(%rip),%xmm2
addss  %xmm2,%xmm1
movss  %xmm1,-0xbd0(%rbp)
ff
movss  %xmm0,-0xbcc(%rbp)
ff
movsd  -0xbd0(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xbd8(%rbp)
ff
movss  -0xbd8(%rbp),%xmm1
ff
movss  -0xbd4(%rbp),%xmm0
ff
movss  0x310c(%rip),%xmm2
ucomiss %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    7033 <foo+0x5ef3>
movss  0x30fd(%rip),%xmm1
movss  0x30d9(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x13c8(%rbp)
ff
movss  %xmm0,-0x13c4(%rbp)
ff
jne    6f46 <foo+0x5e06>
jmp    6fb8 <foo+0x5e78>
movss  0x30ce(%rip),%xmm1
movss  0x30aa(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x13c8(%rbp)
ff
movss  %xmm0,-0x13c4(%rbp)
ff
jne    6f75 <foo+0x5e35>
jmp    6fb8 <foo+0x5e78>
movss  0x3087(%rip),%xmm1
movss  0x307b(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xbe0(%rbp)
ff
movss  -0xbe0(%rbp),%xmm1
ff
movss  -0xbdc(%rbp),%xmm0
ff
movss  %xmm1,-0x13c8(%rbp)
ff
movss  %xmm0,-0x13c4(%rbp)
ff
movss  -0x13c8(%rbp),%xmm1
ff
movss  -0x13c4(%rbp),%xmm0
ff
movss  0x3048(%rip),%xmm2
addss  %xmm2,%xmm1
movss  %xmm1,-0xbe8(%rbp)
ff
movss  %xmm0,-0xbe4(%rbp)
ff
movsd  -0xbe8(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xbf0(%rbp)
ff
movss  -0xbec(%rbp),%xmm0
movaps 0x3038(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x303d(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x2fe5(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    7033 <foo+0x5ef3>
jp     7033 <foo+0x5ef3>
jmp    703f <foo+0x5eff>
mov    $0xd7,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
movss  0x2fd5(%rip),%xmm1
movss  0x2fb1(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x13d0(%rbp)
ff
movss  %xmm0,-0x13cc(%rbp)
ff
jne    706e <foo+0x5f2e>
jmp    70e0 <foo+0x5fa0>
movss  0x2fa6(%rip),%xmm1
movss  0x2f82(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x13d0(%rbp)
ff
movss  %xmm0,-0x13cc(%rbp)
ff
jne    709d <foo+0x5f5d>
jmp    70e0 <foo+0x5fa0>
movss  0x2f5f(%rip),%xmm1
movss  0x2f53(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xbf8(%rbp)
ff
movss  -0xbf8(%rbp),%xmm1
ff
movss  -0xbf4(%rbp),%xmm0
ff
movss  %xmm1,-0x13d0(%rbp)
ff
movss  %xmm0,-0x13cc(%rbp)
ff
movss  -0x13d0(%rbp),%xmm2
ff
movss  -0x13cc(%rbp),%xmm0
ff
movss  0x2f20(%rip),%xmm1
addss  %xmm2,%xmm1
cvtss2sd %xmm1,%xmm1
cvtss2sd %xmm0,%xmm0
movsd  %xmm1,-0xc08(%rbp)
ff
movsd  %xmm0,-0xc00(%rbp)
ff
movsd  -0xc08(%rbp),%xmm0
ff
movsd  -0xc00(%rbp),%xmm1
ff
call   1060 <cproj@plt>
movsd  0x2f2f(%rip),%xmm2
ucomisd %xmm2,%xmm0
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm0,%xmm0
ucomisd %xmm0,%xmm1
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    7276 <foo+0x6136>
movss  0x2ebe(%rip),%xmm1
movss  0x2e9a(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x13d8(%rbp)
ff
movss  %xmm0,-0x13d4(%rbp)
ff
jne    7185 <foo+0x6045>
jmp    71f7 <foo+0x60b7>
movss  0x2e8f(%rip),%xmm1
movss  0x2e6b(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x13d8(%rbp)
ff
movss  %xmm0,-0x13d4(%rbp)
ff
jne    71b4 <foo+0x6074>
jmp    71f7 <foo+0x60b7>
movss  0x2e48(%rip),%xmm1
movss  0x2e3c(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xc10(%rbp)
ff
movss  -0xc10(%rbp),%xmm1
ff
movss  -0xc0c(%rbp),%xmm0
ff
movss  %xmm1,-0x13d8(%rbp)
ff
movss  %xmm0,-0x13d4(%rbp)
ff
movss  -0x13d8(%rbp),%xmm2
ff
movss  -0x13d4(%rbp),%xmm0
ff
movss  0x2e09(%rip),%xmm1
addss  %xmm2,%xmm1
cvtss2sd %xmm1,%xmm1
cvtss2sd %xmm0,%xmm0
movsd  %xmm1,-0xc20(%rbp)
ff
movsd  %xmm0,-0xc18(%rbp)
ff
movsd  -0xc20(%rbp),%xmm0
ff
movsd  -0xc18(%rbp),%xmm1
ff
call   1060 <cproj@plt>
cvtsd2ss %xmm1,%xmm0
movaps 0x2df5(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x2dfa(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x2da2(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    7276 <foo+0x6136>
jp     7276 <foo+0x6136>
jmp    7282 <foo+0x6142>
mov    $0xd7,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
movss  0x2d92(%rip),%xmm1
movss  0x2d6e(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x13e0(%rbp)
ff
movss  %xmm0,-0x13dc(%rbp)
ff
jne    72b1 <foo+0x6171>
jmp    7323 <foo+0x61e3>
movss  0x2d63(%rip),%xmm1
movss  0x2d3f(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x13e0(%rbp)
ff
movss  %xmm0,-0x13dc(%rbp)
ff
jne    72e0 <foo+0x61a0>
jmp    7323 <foo+0x61e3>
movss  0x2d1c(%rip),%xmm1
movss  0x2d10(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xc28(%rbp)
ff
movss  -0xc28(%rbp),%xmm1
ff
movss  -0xc24(%rbp),%xmm0
ff
movss  %xmm1,-0x13e0(%rbp)
ff
movss  %xmm0,-0x13dc(%rbp)
ff
movss  -0x13e0(%rbp),%xmm1
ff
movss  -0x13dc(%rbp),%xmm0
ff
movss  0x2cdd(%rip),%xmm2
addss  %xmm2,%xmm1
movss  %xmm1,-0x1130(%rbp)
ff
flds   -0x1130(%rbp)
movss  %xmm0,-0x112c(%rbp)
ff
flds   -0x112c(%rbp)
fxch   %st(1)
fstpt  -0xc50(%rbp)
fstpt  -0xc40(%rbp)
movaps -0xc50(%rbp),%xmm0
movaps -0xc40(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
flds   0x2c74(%rip)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setb   %al
fldz
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setp   %dl
setne  %cl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    74f5 <foo+0x63b5>
movss  0x2c65(%rip),%xmm1
movss  0x2c41(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x13e8(%rbp)
ff
movss  %xmm0,-0x13e4(%rbp)
ff
jne    73de <foo+0x629e>
jmp    7450 <foo+0x6310>
movss  0x2c36(%rip),%xmm1
movss  0x2c12(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x13e8(%rbp)
ff
movss  %xmm0,-0x13e4(%rbp)
ff
jne    740d <foo+0x62cd>
jmp    7450 <foo+0x6310>
movss  0x2bef(%rip),%xmm1
movss  0x2be3(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xc58(%rbp)
ff
movss  -0xc58(%rbp),%xmm1
ff
movss  -0xc54(%rbp),%xmm0
ff
movss  %xmm1,-0x13e8(%rbp)
ff
movss  %xmm0,-0x13e4(%rbp)
ff
movss  -0x13e8(%rbp),%xmm1
ff
movss  -0x13e4(%rbp),%xmm0
ff
movss  0x2bb0(%rip),%xmm2
addss  %xmm2,%xmm1
movss  %xmm1,-0x1138(%rbp)
ff
flds   -0x1138(%rbp)
movss  %xmm0,-0x1134(%rbp)
ff
flds   -0x1134(%rbp)
fxch   %st(1)
fstpt  -0xc80(%rbp)
fstpt  -0xc70(%rbp)
movaps -0xc80(%rbp),%xmm0
movaps -0xc70(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  -0x113c(%rbp)
movss  -0x113c(%rbp),%xmm0
ff
movaps 0x2b76(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x2b7b(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x2b23(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    74f5 <foo+0x63b5>
jp     74f5 <foo+0x63b5>
jmp    7501 <foo+0x63c1>
mov    $0xd7,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
jmp    7506 <foo+0x63c6>
jmp    750b <foo+0x63cb>
movss  0x2b09(%rip),%xmm1
movss  0x2ae5(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x13f0(%rbp)
ff
movss  %xmm0,-0x13ec(%rbp)
ff
jne    753a <foo+0x63fa>
jmp    75ac <foo+0x646c>
movss  0x2ada(%rip),%xmm1
movss  0x2ab6(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x13f0(%rbp)
ff
movss  %xmm0,-0x13ec(%rbp)
ff
jne    7569 <foo+0x6429>
jmp    75ac <foo+0x646c>
movss  0x2a93(%rip),%xmm1
movss  0x2a87(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xc88(%rbp)
ff
movss  -0xc88(%rbp),%xmm1
ff
movss  -0xc84(%rbp),%xmm0
ff
movss  %xmm1,-0x13f0(%rbp)
ff
movss  %xmm0,-0x13ec(%rbp)
ff
movss  -0x13f0(%rbp),%xmm2
ff
movss  -0x13ec(%rbp),%xmm0
ff
movss  0x2a54(%rip),%xmm1
subss  %xmm2,%xmm1
movaps 0x2a71(%rip),%xmm2
pxor   %xmm2,%xmm0
movss  %xmm1,-0xc90(%rbp)
ff
movss  %xmm0,-0xc8c(%rbp)
ff
movsd  -0xc90(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xc98(%rbp)
ff
movss  -0xc98(%rbp),%xmm1
ff
movss  -0xc94(%rbp),%xmm0
ff
movss  0x29f0(%rip),%xmm2
ucomiss %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
movss  0x29e5(%rip),%xmm1
ucomiss %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    775f <foo+0x661f>
movss  0x29dc(%rip),%xmm1
movss  0x29b8(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x13f8(%rbp)
ff
movss  %xmm0,-0x13f4(%rbp)
ff
jne    7667 <foo+0x6527>
jmp    76d9 <foo+0x6599>
movss  0x29ad(%rip),%xmm1
movss  0x2989(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x13f8(%rbp)
ff
movss  %xmm0,-0x13f4(%rbp)
ff
jne    7696 <foo+0x6556>
jmp    76d9 <foo+0x6599>
movss  0x2966(%rip),%xmm1
movss  0x295a(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xca0(%rbp)
ff
movss  -0xca0(%rbp),%xmm1
ff
movss  -0xc9c(%rbp),%xmm0
ff
movss  %xmm1,-0x13f8(%rbp)
ff
movss  %xmm0,-0x13f4(%rbp)
ff
movss  -0x13f8(%rbp),%xmm2
ff
movss  -0x13f4(%rbp),%xmm0
ff
movss  0x2927(%rip),%xmm1
subss  %xmm2,%xmm1
movaps 0x2944(%rip),%xmm2
pxor   %xmm2,%xmm0
movss  %xmm1,-0xca8(%rbp)
ff
movss  %xmm0,-0xca4(%rbp)
ff
movsd  -0xca8(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xcb0(%rbp)
ff
movss  -0xcac(%rbp),%xmm0
ff
movaps 0x290c(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x2911(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x28c1(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    775f <foo+0x661f>
jp     775f <foo+0x661f>
jmp    776b <foo+0x662b>
mov    $0xd8,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
movss  0x28a9(%rip),%xmm1
movss  0x2885(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1400(%rbp)
ff
movss  %xmm0,-0x13fc(%rbp)
ff
jne    779a <foo+0x665a>
jmp    780c <foo+0x66cc>
movss  0x287a(%rip),%xmm1
movss  0x2856(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1400(%rbp)
ff
movss  %xmm0,-0x13fc(%rbp)
ff
jne    77c9 <foo+0x6689>
jmp    780c <foo+0x66cc>
movss  0x2833(%rip),%xmm1
movss  0x2827(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xcb8(%rbp)
ff
movss  -0xcb8(%rbp),%xmm1
ff
movss  -0xcb4(%rbp),%xmm0
ff
movss  %xmm1,-0x1400(%rbp)
ff
movss  %xmm0,-0x13fc(%rbp)
ff
movss  -0x1400(%rbp),%xmm2
ff
movss  -0x13fc(%rbp),%xmm0
ff
movss  0x27f4(%rip),%xmm1
subss  %xmm2,%xmm1
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
cvtss2sd %xmm1,%xmm1
cvtss2sd %xmm0,%xmm0
movsd  %xmm1,-0xcc8(%rbp)
ff
movsd  %xmm0,-0xcc0(%rbp)
ff
movsd  -0xcc8(%rbp),%xmm0
ff
movsd  -0xcc0(%rbp),%xmm1
ff
call   1060 <cproj@plt>
movsd  0x27f6(%rip),%xmm2
ucomisd %xmm2,%xmm0
setne  %al
setp   %cl
or     %cl,%al
movsd  0x27ea(%rip),%xmm0
ucomisd %xmm0,%xmm1
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    79c1 <foo+0x6881>
movss  0x2780(%rip),%xmm1
movss  0x275c(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1408(%rbp)
ff
movss  %xmm0,-0x1404(%rbp)
ff
jne    78c3 <foo+0x6783>
jmp    7935 <foo+0x67f5>
movss  0x2751(%rip),%xmm1
movss  0x272d(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1408(%rbp)
ff
movss  %xmm0,-0x1404(%rbp)
ff
jne    78f2 <foo+0x67b2>
jmp    7935 <foo+0x67f5>
movss  0x270a(%rip),%xmm1
movss  0x26fe(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xcd0(%rbp)
ff
movss  -0xcd0(%rbp),%xmm1
ff
movss  -0xccc(%rbp),%xmm0
ff
movss  %xmm1,-0x1408(%rbp)
ff
movss  %xmm0,-0x1404(%rbp)
ff
movss  -0x1408(%rbp),%xmm2
ff
movss  -0x1404(%rbp),%xmm0
ff
movss  0x26cb(%rip),%xmm1
subss  %xmm2,%xmm1
movd   %xmm0,%eax
xor    $0x80000000,%eax
movd   %eax,%xmm0
cvtss2sd %xmm1,%xmm1
cvtss2sd %xmm0,%xmm0
movsd  %xmm1,-0xce0(%rbp)
ff
movsd  %xmm0,-0xcd8(%rbp)
ff
movsd  -0xce0(%rbp),%xmm0
ff
movsd  -0xcd8(%rbp),%xmm1
ff
call   1060 <cproj@plt>
cvtsd2ss %xmm1,%xmm0
movaps 0x26aa(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x26af(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x265f(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    79c1 <foo+0x6881>
jp     79c1 <foo+0x6881>
jmp    79cd <foo+0x688d>
mov    $0xd8,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
movss  0x2647(%rip),%xmm1
movss  0x2623(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1410(%rbp)
ff
movss  %xmm0,-0x140c(%rbp)
ff
jne    79fc <foo+0x68bc>
jmp    7a6e <foo+0x692e>
movss  0x2618(%rip),%xmm1
movss  0x25f4(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1410(%rbp)
ff
movss  %xmm0,-0x140c(%rbp)
ff
jne    7a2b <foo+0x68eb>
jmp    7a6e <foo+0x692e>
movss  0x25d1(%rip),%xmm1
movss  0x25c5(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xce8(%rbp)
ff
movss  -0xce8(%rbp),%xmm1
ff
movss  -0xce4(%rbp),%xmm0
ff
movss  %xmm1,-0x1410(%rbp)
ff
movss  %xmm0,-0x140c(%rbp)
ff
movss  -0x1410(%rbp),%xmm2
ff
movss  -0x140c(%rbp),%xmm0
ff
movss  0x2592(%rip),%xmm1
subss  %xmm2,%xmm1
movaps 0x25af(%rip),%xmm2
pxor   %xmm2,%xmm0
movss  %xmm1,-0x1140(%rbp)
ff
flds   -0x1140(%rbp)
movss  %xmm0,-0x1144(%rbp)
ff
flds   -0x1144(%rbp)
fxch   %st(1)
fstpt  -0xd10(%rbp)
fstpt  -0xd00(%rbp)
movaps -0xd10(%rbp),%xmm0
movaps -0xd00(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
flds   0x251e(%rip)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setb   %al
fldz
fchs
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setp   %dl
setne  %cl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    7c58 <foo+0x6b18>
movss  0x250d(%rip),%xmm1
movss  0x24e9(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1418(%rbp)
ff
movss  %xmm0,-0x1414(%rbp)
ff
jne    7b36 <foo+0x69f6>
jmp    7ba8 <foo+0x6a68>
movss  0x24de(%rip),%xmm1
movss  0x24ba(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1418(%rbp)
ff
movss  %xmm0,-0x1414(%rbp)
ff
jne    7b65 <foo+0x6a25>
jmp    7ba8 <foo+0x6a68>
movss  0x2497(%rip),%xmm1
movss  0x248b(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xd18(%rbp)
ff
movss  -0xd18(%rbp),%xmm1
ff
movss  -0xd14(%rbp),%xmm0
ff
movss  %xmm1,-0x1418(%rbp)
ff
movss  %xmm0,-0x1414(%rbp)
ff
movss  -0x1418(%rbp),%xmm2
ff
movss  -0x1414(%rbp),%xmm0
ff
movss  0x2458(%rip),%xmm1
subss  %xmm2,%xmm1
movaps 0x2475(%rip),%xmm2
pxor   %xmm2,%xmm0
movss  %xmm1,-0x1148(%rbp)
ff
flds   -0x1148(%rbp)
movss  %xmm0,-0x114c(%rbp)
ff
flds   -0x114c(%rbp)
fxch   %st(1)
fstpt  -0xd40(%rbp)
fstpt  -0xd30(%rbp)
movaps -0xd40(%rbp),%xmm0
movaps -0xd30(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  -0x1150(%rbp)
movss  -0x1150(%rbp),%xmm0
ff
movaps 0x2413(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x2418(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x23c8(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    7c58 <foo+0x6b18>
jp     7c58 <foo+0x6b18>
jmp    7c64 <foo+0x6b24>
mov    $0xd8,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
jmp    7c69 <foo+0x6b29>
jmp    7c6e <foo+0x6b2e>
movl   $0x0,-0xd48(%rbp)
movl   $0x0,-0xd44(%rbp)
movsd  -0xd48(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xd50(%rbp)
ff
movss  -0xd50(%rbp),%xmm1
ff
movss  -0xd4c(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomiss %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    7d8e <foo+0x6c4e>
movl   $0x0,-0xd58(%rbp)
movl   $0x0,-0xd54(%rbp)
movsd  -0xd58(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xd60(%rbp)
ff
movss  -0xd60(%rbp),%xmm0
ff
movaps 0x233b(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x2340(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x22e8(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    7d8e <foo+0x6c4e>
jp     7d8e <foo+0x6c4e>
movl   $0x0,-0xd68(%rbp)
movl   $0x0,-0xd64(%rbp)
movsd  -0xd68(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xd70(%rbp)
ff
movss  -0xd6c(%rbp),%xmm0
ff
movaps 0x22dd(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x22e2(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x228a(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    7d8e <foo+0x6c4e>
jp     7d8e <foo+0x6c4e>
jmp    7d9a <foo+0x6c5a>
mov    $0xda,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
jmp    7d9f <foo+0x6c5f>
jmp    7da4 <foo+0x6c64>
movl   $0x80000000,-0xd78(%rbp)
movl   $0x0,-0xd74(%rbp)
movsd  -0xd78(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xd80(%rbp)
ff
movss  -0xd80(%rbp),%xmm1
ff
movss  -0xd7c(%rbp),%xmm0
ff
movss  0x2223(%rip),%xmm2
ucomiss %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    7ec9 <foo+0x6d89>
movl   $0x80000000,-0xd88(%rbp)
movl   $0x0,-0xd84(%rbp)
movsd  -0xd88(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xd90(%rbp)
ff
movss  -0xd90(%rbp),%xmm0
ff
movaps 0x2200(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x2205(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x21b5(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    7ec9 <foo+0x6d89>
jp     7ec9 <foo+0x6d89>
movl   $0x80000000,-0xd98(%rbp)
movl   $0x0,-0xd94(%rbp)
movsd  -0xd98(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xda0(%rbp)
ff
movss  -0xd9c(%rbp),%xmm0
ff
movaps 0x21a2(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x21a7(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x214f(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    7ec9 <foo+0x6d89>
jp     7ec9 <foo+0x6d89>
jmp    7ed5 <foo+0x6d95>
mov    $0xdb,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
jmp    7eda <foo+0x6d9a>
jmp    7edf <foo+0x6d9f>
movl   $0x0,-0xda8(%rbp)
movl   $0x0,-0xda4(%rbp)
movsd  -0xda8(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xdb0(%rbp)
ff
movss  -0xdb0(%rbp),%xmm1
ff
movss  -0xdac(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomiss %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    7fff <foo+0x6ebf>
movl   $0x0,-0xdb8(%rbp)
movl   $0x0,-0xdb4(%rbp)
movsd  -0xdb8(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xdc0(%rbp)
ff
movss  -0xdc0(%rbp),%xmm0
ff
movaps 0x20ca(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x20cf(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x2077(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    7fff <foo+0x6ebf>
jp     7fff <foo+0x6ebf>
movl   $0x0,-0xdc8(%rbp)
movl   $0x0,-0xdc4(%rbp)
movsd  -0xdc8(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xdd0(%rbp)
ff
movss  -0xdcc(%rbp),%xmm0
ff
movaps 0x206c(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x2071(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x2019(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    7fff <foo+0x6ebf>
jp     7fff <foo+0x6ebf>
jmp    800b <foo+0x6ecb>
mov    $0xdc,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
jmp    8010 <foo+0x6ed0>
jmp    8015 <foo+0x6ed5>
movl   $0x80000000,-0xdd8(%rbp)
movl   $0x80000000,-0xdd4(%rbp)
movsd  -0xdd8(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xde0(%rbp)
ff
movss  -0xde0(%rbp),%xmm1
ff
movss  -0xddc(%rbp),%xmm0
ff
movss  0x1fb2(%rip),%xmm2
ucomiss %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
movss  0x1f9f(%rip),%xmm1
ucomiss %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    813f <foo+0x6fff>
movl   $0x80000000,-0xde8(%rbp)
movl   $0x80000000,-0xde4(%rbp)
movsd  -0xde8(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xdf0(%rbp)
ff
movss  -0xdf0(%rbp),%xmm0
ff
movaps 0x1f8a(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1f8f(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x1f3f(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    813f <foo+0x6fff>
jp     813f <foo+0x6fff>
movl   $0x80000000,-0xdf8(%rbp)
movl   $0x80000000,-0xdf4(%rbp)
movsd  -0xdf8(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xe00(%rbp)
ff
movss  -0xdfc(%rbp),%xmm0
ff
movaps 0x1f2c(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1f31(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x1ee1(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    813f <foo+0x6fff>
jp     813f <foo+0x6fff>
jmp    814b <foo+0x700b>
mov    $0xdd,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
jmp    8150 <foo+0x7010>
jmp    8155 <foo+0x7015>
movl   $0x41b00000,-0xe08(%rbp)
movl   $0x40400000,-0xe04(%rbp)
movsd  -0xe08(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xe10(%rbp)
ff
movss  -0xe10(%rbp),%xmm1
ff
movss  -0xe0c(%rbp),%xmm0
ff
movss  0x1e96(%rip),%xmm2
ucomiss %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
movss  0x1e7f(%rip),%xmm1
ucomiss %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    827f <foo+0x713f>
movl   $0x41b00000,-0xe18(%rbp)
movl   $0x40400000,-0xe14(%rbp)
movsd  -0xe18(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xe20(%rbp)
ff
movss  -0xe20(%rbp),%xmm0
ff
movaps 0x1e4a(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1e4f(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x1df7(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    827f <foo+0x713f>
jp     827f <foo+0x713f>
movl   $0x41b00000,-0xe28(%rbp)
movl   $0x40400000,-0xe24(%rbp)
movsd  -0xe28(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xe30(%rbp)
ff
movss  -0xe2c(%rbp),%xmm0
ff
movaps 0x1dec(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1df1(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x1d99(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    827f <foo+0x713f>
jp     827f <foo+0x713f>
jmp    828b <foo+0x714b>
mov    $0xdf,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
jmp    8290 <foo+0x7150>
jmp    8295 <foo+0x7155>
movl   $0x41b00000,-0xe38(%rbp)
movl   $0xc0400000,-0xe34(%rbp)
movsd  -0xe38(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xe40(%rbp)
ff
movss  -0xe40(%rbp),%xmm1
ff
movss  -0xe3c(%rbp),%xmm0
ff
movss  0x1d56(%rip),%xmm2
ucomiss %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
movss  0x1d47(%rip),%xmm1
ucomiss %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    83bf <foo+0x727f>
movl   $0x41b00000,-0xe48(%rbp)
movl   $0xc0400000,-0xe44(%rbp)
movsd  -0xe48(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xe50(%rbp)
ff
movss  -0xe50(%rbp),%xmm0
ff
movaps 0x1d0a(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1d0f(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x1cb7(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    83bf <foo+0x727f>
jp     83bf <foo+0x727f>
movl   $0x41b00000,-0xe58(%rbp)
movl   $0xc0400000,-0xe54(%rbp)
movsd  -0xe58(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xe60(%rbp)
ff
movss  -0xe5c(%rbp),%xmm0
ff
movaps 0x1cac(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1cb1(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x1c61(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    83bf <foo+0x727f>
jp     83bf <foo+0x727f>
jmp    83cb <foo+0x728b>
mov    $0xe0,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
jmp    83d0 <foo+0x7290>
jmp    83d5 <foo+0x7295>
movl   $0xc1b00000,-0xe68(%rbp)
movl   $0x40400000,-0xe64(%rbp)
movsd  -0xe68(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xe70(%rbp)
ff
movss  -0xe70(%rbp),%xmm1
ff
movss  -0xe6c(%rbp),%xmm0
ff
movss  0x1c1e(%rip),%xmm2
ucomiss %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
movss  0x1bff(%rip),%xmm1
ucomiss %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    84ff <foo+0x73bf>
movl   $0xc1b00000,-0xe78(%rbp)
movl   $0x40400000,-0xe74(%rbp)
movsd  -0xe78(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xe80(%rbp)
ff
movss  -0xe80(%rbp),%xmm0
ff
movaps 0x1bca(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1bcf(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x1b7f(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    84ff <foo+0x73bf>
jp     84ff <foo+0x73bf>
movl   $0xc1b00000,-0xe88(%rbp)
movl   $0x40400000,-0xe84(%rbp)
movsd  -0xe88(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xe90(%rbp)
ff
movss  -0xe8c(%rbp),%xmm0
ff
movaps 0x1b6c(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1b71(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x1b19(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    84ff <foo+0x73bf>
jp     84ff <foo+0x73bf>
jmp    850b <foo+0x73cb>
mov    $0xe1,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
jmp    8510 <foo+0x73d0>
jmp    8515 <foo+0x73d5>
movl   $0xc1b00000,-0xe98(%rbp)
movl   $0xc0400000,-0xe94(%rbp)
movsd  -0xe98(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xea0(%rbp)
ff
movss  -0xea0(%rbp),%xmm1
ff
movss  -0xe9c(%rbp),%xmm0
ff
movss  0x1ade(%rip),%xmm2
ucomiss %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
movss  0x1ac7(%rip),%xmm1
ucomiss %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    863f <foo+0x74ff>
movl   $0xc1b00000,-0xea8(%rbp)
movl   $0xc0400000,-0xea4(%rbp)
movsd  -0xea8(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xeb0(%rbp)
ff
movss  -0xeb0(%rbp),%xmm0
ff
movaps 0x1a8a(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1a8f(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x1a3f(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    863f <foo+0x74ff>
jp     863f <foo+0x74ff>
movl   $0xc1b00000,-0xeb8(%rbp)
movl   $0xc0400000,-0xeb4(%rbp)
movsd  -0xeb8(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xec0(%rbp)
ff
movss  -0xebc(%rbp),%xmm0
ff
movaps 0x1a2c(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1a31(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x19e1(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    863f <foo+0x74ff>
jp     863f <foo+0x74ff>
jmp    864b <foo+0x750b>
mov    $0xe2,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
jmp    8650 <foo+0x7510>
jmp    8655 <foo+0x7515>
movss  -0x3c(%rbp),%xmm0
movss  %xmm0,-0x1424(%rbp)
ff
movss  0x19b2(%rip),%xmm1
movss  0x198e(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1420(%rbp)
ff
movss  %xmm0,-0x141c(%rbp)
ff
jne    8691 <foo+0x7551>
jmp    8703 <foo+0x75c3>
movss  0x1983(%rip),%xmm1
movss  0x195f(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1420(%rbp)
ff
movss  %xmm0,-0x141c(%rbp)
ff
jne    86c0 <foo+0x7580>
jmp    8703 <foo+0x75c3>
movss  0x193c(%rip),%xmm1
movss  0x1930(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xec8(%rbp)
ff
movss  -0xec8(%rbp),%xmm1
ff
movss  -0xec4(%rbp),%xmm0
ff
movss  %xmm1,-0x1420(%rbp)
ff
movss  %xmm0,-0x141c(%rbp)
ff
movss  -0x1424(%rbp),%xmm1
ff
movss  -0x1420(%rbp),%xmm2
ff
movss  -0x141c(%rbp),%xmm0
ff
addss  %xmm2,%xmm1
movss  %xmm1,-0xed0(%rbp)
ff
movss  %xmm0,-0xecc(%rbp)
ff
movsd  -0xed0(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xed8(%rbp)
ff
movss  -0xed8(%rbp),%xmm1
ff
movss  -0xed4(%rbp),%xmm0
ff
movss  0x18a4(%rip),%xmm2
ucomiss %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    88a8 <foo+0x7768>
movss  -0x3c(%rbp),%xmm0
movss  %xmm0,-0x1430(%rbp)
ff
movss  0x1888(%rip),%xmm1
movss  0x1864(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x142c(%rbp)
ff
movss  %xmm0,-0x1428(%rbp)
ff
jne    87bb <foo+0x767b>
jmp    882d <foo+0x76ed>
movss  0x1859(%rip),%xmm1
movss  0x1835(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x142c(%rbp)
ff
movss  %xmm0,-0x1428(%rbp)
ff
jne    87ea <foo+0x76aa>
jmp    882d <foo+0x76ed>
movss  0x1812(%rip),%xmm1
movss  0x1806(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xee0(%rbp)
ff
movss  -0xee0(%rbp),%xmm1
ff
movss  -0xedc(%rbp),%xmm0
ff
movss  %xmm1,-0x142c(%rbp)
ff
movss  %xmm0,-0x1428(%rbp)
ff
movss  -0x1430(%rbp),%xmm1
ff
movss  -0x142c(%rbp),%xmm2
ff
movss  -0x1428(%rbp),%xmm0
ff
addss  %xmm2,%xmm1
movss  %xmm1,-0xee8(%rbp)
ff
movss  %xmm0,-0xee4(%rbp)
ff
movsd  -0xee8(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xef0(%rbp)
ff
movss  -0xeec(%rbp),%xmm0
ff
movaps 0x17c3(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x17c8(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x1770(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    88a8 <foo+0x7768>
jp     88a8 <foo+0x7768>
jmp    88b4 <foo+0x7774>
mov    $0xe4,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
movsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x1440(%rbp)
ff
movss  0x1753(%rip),%xmm1
movss  0x172f(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1438(%rbp)
ff
movss  %xmm0,-0x1434(%rbp)
ff
jne    88f0 <foo+0x77b0>
jmp    8962 <foo+0x7822>
movss  0x1724(%rip),%xmm1
movss  0x1700(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1438(%rbp)
ff
movss  %xmm0,-0x1434(%rbp)
ff
jne    891f <foo+0x77df>
jmp    8962 <foo+0x7822>
movss  0x16dd(%rip),%xmm1
movss  0x16d1(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xef8(%rbp)
ff
movss  -0xef8(%rbp),%xmm1
ff
movss  -0xef4(%rbp),%xmm0
ff
movss  %xmm1,-0x1438(%rbp)
ff
movss  %xmm0,-0x1434(%rbp)
ff
movsd  -0x1440(%rbp),%xmm1
ff
movss  -0x1438(%rbp),%xmm2
ff
movss  -0x1434(%rbp),%xmm0
ff
cvtss2sd %xmm2,%xmm2
cvtss2sd %xmm0,%xmm0
addsd  %xmm2,%xmm1
movsd  %xmm1,-0xf08(%rbp)
ff
movsd  %xmm0,-0xf00(%rbp)
ff
movsd  -0xf08(%rbp),%xmm0
ff
movsd  -0xf00(%rbp),%xmm1
ff
call   1060 <cproj@plt>
movsd  0x16ad(%rip),%xmm2
ucomisd %xmm2,%xmm0
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm0,%xmm0
ucomisd %xmm0,%xmm1
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    8b05 <foo+0x79c5>
movsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x1450(%rbp)
ff
movss  0x162f(%rip),%xmm1
movss  0x160b(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1448(%rbp)
movss  %xmm0,-0x1444(%rbp)
ff
jne    8a14 <foo+0x78d4>
jmp    8a86 <foo+0x7946>
movss  0x1600(%rip),%xmm1
movss  0x15dc(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1448(%rbp)
ff
movss  %xmm0,-0x1444(%rbp)
ff
jne    8a43 <foo+0x7903>
jmp    8a86 <foo+0x7946>
movss  0x15b9(%rip),%xmm1
movss  0x15ad(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xf10(%rbp)
ff
movss  -0xf10(%rbp),%xmm1
ff
movss  -0xf0c(%rbp),%xmm0
ff
movss  %xmm1,-0x1448(%rbp)
ff
movss  %xmm0,-0x1444(%rbp)
ff
movsd  -0x1450(%rbp),%xmm1
ff
movss  -0x1448(%rbp),%xmm2
ff
movss  -0x1444(%rbp),%xmm0
ff
cvtss2sd %xmm2,%xmm2
cvtss2sd %xmm0,%xmm0
addsd  %xmm2,%xmm1
movsd  %xmm1,-0xf20(%rbp)
ff
movsd  %xmm0,-0xf18(%rbp)
ff
movsd  -0xf20(%rbp),%xmm0
ff
movsd  -0xf18(%rbp),%xmm1
ff
call   1060 <cproj@plt>
cvtsd2ss %xmm1,%xmm0
movaps 0x1566(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x156b(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x1513(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    8b05 <foo+0x79c5>
jp     8b05 <foo+0x79c5>
jmp    8b11 <foo+0x79d1>
mov    $0xe4,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
fldt   -0x30(%rbp)
fstpt  -0x1464(%rbp)
movss  0x14fa(%rip),%xmm1
movss  0x14d6(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1458(%rbp)
ff
movss  %xmm0,-0x1454(%rbp)
ff
jne    8b49 <foo+0x7a09>
jmp    8bbb <foo+0x7a7b>
movss  0x14cb(%rip),%xmm1
movss  0x14a7(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1458(%rbp)
ff
movss  %xmm0,-0x1454(%rbp)
ff
jne    8b78 <foo+0x7a38>
jmp    8bbb <foo+0x7a7b>
movss  0x1484(%rip),%xmm1
movss  0x1478(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xf28(%rbp)
ff
movss  -0xf28(%rbp),%xmm1
ff
movss  -0xf24(%rbp),%xmm0
ff
movss  %xmm1,-0x1458(%rbp)
ff
movss  %xmm0,-0x1454(%rbp)
ff
fldt   -0x1464(%rbp)
movss  -0x1458(%rbp),%xmm1
ff
movss  -0x1454(%rbp),%xmm0
ff
movss  %xmm1,-0x1154(%rbp)
ff
flds   -0x1154(%rbp)
movss  %xmm0,-0x1158(%rbp)
ff
flds   -0x1158(%rbp)
fxch   %st(2)
faddp  %st,%st(1)
fstpt  -0xf50(%rbp)
fstpt  -0xf40(%rbp)
movaps -0xf50(%rbp),%xmm0
movaps -0xf40(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
flds   0x13e0(%rip)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setb   %al
fldz
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setp   %dl
setne  %cl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    8d8e <foo+0x7c4e>
fldt   -0x30(%rbp)
fstpt  -0x1478(%rbp)
movss  0x13c8(%rip),%xmm1
movss  0x13a4(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x146c(%rbp)
ff
movss  %xmm0,-0x1468(%rbp)
ff
jne    8c7b <foo+0x7b3b>
jmp    8ced <foo+0x7bad>
movss  0x1399(%rip),%xmm1
movss  0x1375(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x146c(%rbp)
ff
movss  %xmm0,-0x1468(%rbp)
ff
jne    8caa <foo+0x7b6a>
jmp    8ced <foo+0x7bad>
movss  0x1352(%rip),%xmm1
movss  0x1346(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xf58(%rbp)
ff
movss  -0xf58(%rbp),%xmm1
ff
movss  -0xf54(%rbp),%xmm0
ff
movss  %xmm1,-0x146c(%rbp)
ff
movss  %xmm0,-0x1468(%rbp)
ff
fldt   -0x1478(%rbp)
movss  -0x146c(%rbp),%xmm1
ff
movss  -0x1468(%rbp),%xmm0
ff
movss  %xmm1,-0x115c(%rbp)
ff
flds   -0x115c(%rbp)
movss  %xmm0,-0x1160(%rbp)
ff
flds   -0x1160(%rbp)
fxch   %st(2)
faddp  %st,%st(1)
fstpt  -0xf80(%rbp)
fstpt  -0xf70(%rbp)
movaps -0xf80(%rbp),%xmm0
movaps -0xf70(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  -0x1164(%rbp)
movss  -0x1164(%rbp),%xmm0
ff
movaps 0x12dd(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x12e2(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x128a(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    8d8e <foo+0x7c4e>
jp     8d8e <foo+0x7c4e>
jmp    8d9a <foo+0x7c5a>
mov    $0xe4,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
jmp    8d9f <foo+0x7c5f>
jmp    8da4 <foo+0x7c64>
movss  -0x3c(%rbp),%xmm0
movss  %xmm0,-0x1484(%rbp)
ff
movss  0x1263(%rip),%xmm1
movss  0x1257(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1480(%rbp)
ff
movss  %xmm0,-0x147c(%rbp)
ff
jne    8de0 <foo+0x7ca0>
jmp    8e52 <foo+0x7d12>
movss  0x1234(%rip),%xmm1
movss  0x1228(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1480(%rbp)
ff
movss  %xmm0,-0x147c(%rbp)
ff
jne    8e0f <foo+0x7ccf>
jmp    8e52 <foo+0x7d12>
movss  0x11ed(%rip),%xmm1
movss  0x11f9(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xf88(%rbp)
ff
movss  -0xf88(%rbp),%xmm1
ff
movss  -0xf84(%rbp),%xmm0
ff
movss  %xmm1,-0x1480(%rbp)
ff
movss  %xmm0,-0x147c(%rbp)
ff
movss  -0x1484(%rbp),%xmm1
ff
movss  -0x1480(%rbp),%xmm2
ff
movss  -0x147c(%rbp),%xmm0
ff
addss  %xmm2,%xmm1
movss  %xmm1,-0xf90(%rbp)
ff
movss  %xmm0,-0xf8c(%rbp)
ff
movsd  -0xf90(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xf98(%rbp)
ff
movss  -0xf98(%rbp),%xmm1
ff
movss  -0xf94(%rbp),%xmm0
ff
movss  0x1155(%rip),%xmm2
ucomiss %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
movss  0x114a(%rip),%xmm1
ucomiss %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    8ffc <foo+0x7ebc>
movss  -0x3c(%rbp),%xmm0
movss  %xmm0,-0x1490(%rbp)
ff
movss  0x1134(%rip),%xmm1
movss  0x1128(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x148c(%rbp)
ff
movss  %xmm0,-0x1488(%rbp)
ff
jne    8f0f <foo+0x7dcf>
jmp    8f81 <foo+0x7e41>
movss  0x1105(%rip),%xmm1
movss  0x10f9(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x148c(%rbp)
ff
movss  %xmm0,-0x1488(%rbp)
ff
jne    8f3e <foo+0x7dfe>
jmp    8f81 <foo+0x7e41>
movss  0x10be(%rip),%xmm1
movss  0x10ca(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xfa0(%rbp)
ff
movss  -0xfa0(%rbp),%xmm1
ff
movss  -0xf9c(%rbp),%xmm0
ff
movss  %xmm1,-0x148c(%rbp)
ff
movss  %xmm0,-0x1488(%rbp)
ff
movss  -0x1490(%rbp),%xmm1
ff
movss  -0x148c(%rbp),%xmm2
ff
movss  -0x1488(%rbp),%xmm0
ff
addss  %xmm2,%xmm1
movss  %xmm1,-0xfa8(%rbp)
ff
movss  %xmm0,-0xfa4(%rbp)
ff
movsd  -0xfa8(%rbp),%xmm0
ff
call   1040 <cprojf@plt>
movlpd %xmm0,-0xfb0(%rbp)
ff
movss  -0xfac(%rbp),%xmm0
ff
movaps 0x106f(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1074(%rip),%xmm1
por    %xmm1,%xmm0
movss  0x1024(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    8ffc <foo+0x7ebc>
jp     8ffc <foo+0x7ebc>
jmp    9008 <foo+0x7ec8>
mov    $0xe5,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
movsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x14a0(%rbp)
ff
movss  0xfff(%rip),%xmm1
movss  0xff3(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x1498(%rbp)
ff
movss  %xmm0,-0x1494(%rbp)
ff
jne    9044 <foo+0x7f04>
jmp    90b6 <foo+0x7f76>
movss  0xfd0(%rip),%xmm1
movss  0xfc4(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x1498(%rbp)
ff
movss  %xmm0,-0x1494(%rbp)
ff
jne    9073 <foo+0x7f33>
jmp    90b6 <foo+0x7f76>
movss  0xf89(%rip),%xmm1
movss  0xf95(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xfb8(%rbp)
ff
movss  -0xfb8(%rbp),%xmm1
ff
movss  -0xfb4(%rbp),%xmm0
ff
movss  %xmm1,-0x1498(%rbp)
ff
movss  %xmm0,-0x1494(%rbp)
ff
movsd  -0x14a0(%rbp),%xmm1
ff
movss  -0x1498(%rbp),%xmm2
ff
movss  -0x1494(%rbp),%xmm0
ff
cvtss2sd %xmm2,%xmm2
cvtss2sd %xmm0,%xmm0
addsd  %xmm2,%xmm1
movsd  %xmm1,-0xfc8(%rbp)
ff
movsd  %xmm0,-0xfc0(%rbp)
ff
movsd  -0xfc8(%rbp),%xmm0
ff
movsd  -0xfc0(%rbp),%xmm1
ff
call   1060 <cproj@plt>
movsd  0xf59(%rip),%xmm2
ucomisd %xmm2,%xmm0
setne  %al
setp   %cl
or     %cl,%al
movsd  0xf4d(%rip),%xmm0
ucomisd %xmm0,%xmm1
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    925e <foo+0x811e>
movsd  -0x38(%rbp),%xmm0
movsd  %xmm0,-0x14b0(%rbp)
ff
movss  0xed6(%rip),%xmm1
movss  0xeca(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x14a8(%rbp)
ff
movss  %xmm0,-0x14a4(%rbp)
ff
jne    916d <foo+0x802d>
jmp    91df <foo+0x809f>
movss  0xea7(%rip),%xmm1
movss  0xe9b(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x14a8(%rbp)
ff
movss  %xmm0,-0x14a4(%rbp)
ff
jne    919c <foo+0x805c>
jmp    91df <foo+0x809f>
movss  0xe60(%rip),%xmm1
movss  0xe6c(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xfd0(%rbp)
ff
movss  -0xfd0(%rbp),%xmm1
ff
movss  -0xfcc(%rbp),%xmm0
ff
movss  %xmm1,-0x14a8(%rbp)
ff
movss  %xmm0,-0x14a4(%rbp)
ff
movsd  -0x14b0(%rbp),%xmm1
ff
movss  -0x14a8(%rbp),%xmm2
ff
movss  -0x14a4(%rbp),%xmm0
ff
cvtss2sd %xmm2,%xmm2
cvtss2sd %xmm0,%xmm0
addsd  %xmm2,%xmm1
movsd  %xmm1,-0xfe0(%rbp)
ff
movsd  %xmm0,-0xfd8(%rbp)
ff
movsd  -0xfe0(%rbp),%xmm0
ff
movsd  -0xfd8(%rbp),%xmm1
ff
call   1060 <cproj@plt>
cvtsd2ss %xmm1,%xmm0
movaps 0xe0d(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xe12(%rip),%xmm1
por    %xmm1,%xmm0
movss  0xdc2(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    925e <foo+0x811e>
jp     925e <foo+0x811e>
jmp    926a <foo+0x812a>
mov    $0xe5,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
fldt   -0x30(%rbp)
fstpt  -0x14c4(%rbp)
movss  0xda1(%rip),%xmm1
movss  0xd95(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x14b8(%rbp)
ff
movss  %xmm0,-0x14b4(%rbp)
ff
jne    92a2 <foo+0x8162>
jmp    9314 <foo+0x81d4>
movss  0xd72(%rip),%xmm1
movss  0xd66(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x14b8(%rbp)
ff
movss  %xmm0,-0x14b4(%rbp)
ff
jne    92d1 <foo+0x8191>
jmp    9314 <foo+0x81d4>
movss  0xd2b(%rip),%xmm1
movss  0xd37(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0xfe8(%rbp)
ff
movss  -0xfe8(%rbp),%xmm1
ff
movss  -0xfe4(%rbp),%xmm0
ff
movss  %xmm1,-0x14b8(%rbp)
ff
movss  %xmm0,-0x14b4(%rbp)
ff
fldt   -0x14c4(%rbp)
movss  -0x14b8(%rbp),%xmm1
ff
movss  -0x14b4(%rbp),%xmm0
ff
movss  %xmm1,-0x1168(%rbp)
ff
flds   -0x1168(%rbp)
movss  %xmm0,-0x116c(%rbp)
ff
flds   -0x116c(%rbp)
fxch   %st(2)
faddp  %st,%st(1)
fstpt  -0x1010(%rbp)
fstpt  -0x1000(%rbp)
movaps -0x1010(%rbp),%xmm0
movaps -0x1000(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
flds   0xc87(%rip)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setb   %al
fldz
fchs
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
setp   %dl
setne  %cl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    94e9 <foo+0x83a9>
fldt   -0x30(%rbp)
fstpt  -0x14d8(%rbp)
movss  0xc6d(%rip),%xmm1
movss  0xc61(%rip),%xmm0
mov    $0x1,%al
test   $0x1,%al
movss  %xmm1,-0x14cc(%rbp)
ff
movss  %xmm0,-0x14c8(%rbp)
ff
jne    93d6 <foo+0x8296>
jmp    9448 <foo+0x8308>
movss  0xc3e(%rip),%xmm1
movss  0xc32(%rip),%xmm0
xor    %eax,%eax
test   $0x1,%al
movss  %xmm1,-0x14cc(%rbp)
ff
movss  %xmm0,-0x14c8(%rbp)
ff
jne    9405 <foo+0x82c5>
jmp    9448 <foo+0x8308>
movss  0xbf7(%rip),%xmm1
movss  0xc03(%rip),%xmm2
xorps  %xmm3,%xmm3
movaps %xmm3,%xmm0
call   9510 <__mulsc3>
movlpd %xmm0,-0x1018(%rbp)
ff
movss  -0x1018(%rbp),%xmm1
ff
movss  -0x1014(%rbp),%xmm0
ff
movss  %xmm1,-0x14cc(%rbp)
ff
movss  %xmm0,-0x14c8(%rbp)
ff
fldt   -0x14d8(%rbp)
movss  -0x14cc(%rbp),%xmm1
ff
movss  -0x14c8(%rbp),%xmm0
ff
movss  %xmm1,-0x1170(%rbp)
ff
flds   -0x1170(%rbp)
movss  %xmm0,-0x1174(%rbp)
ff
flds   -0x1174(%rbp)
fxch   %st(2)
faddp  %st,%st(1)
fstpt  -0x1040(%rbp)
fstpt  -0x1030(%rbp)
movaps -0x1040(%rbp),%xmm0
movaps -0x1030(%rbp),%xmm1
mov    %rsp,%rax
movaps %xmm1,0x10(%rax)
movaps %xmm0,(%rax)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  -0x1178(%rbp)
movss  -0x1178(%rbp),%xmm0
ff
movaps 0xb82(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xb87(%rip),%xmm1
por    %xmm1,%xmm0
movss  0xb37(%rip),%xmm1
ucomiss %xmm1,%xmm0
jne    94e9 <foo+0x83a9>
jp     94e9 <foo+0x83a9>
jmp    94f5 <foo+0x83b5>
mov    $0xe5,%edi
mov    $0x0,%al
call   1050 <link_error@plt>
jmp    94fa <foo+0x83ba>
add    $0x1500,%rsp
pop    %rbp
ret
cs nopw 0x0(%rax,%rax,1)
nopl   (%rax)

x86 assembly (clang, -O2):
<foo>:
push   %rbp
push   %r15
push   %r14
push   %r12
push   %rbx
sub    $0x670,%rsp
movss  0x1ea9(%rip),%xmm0
call   1040 <cprojf@plt>
ucomiss 0x1e9d(%rip),%xmm0
shufps $0x55,%xmm0,%xmm0
setb   %al
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
setp   %cl
setne  %bl
or     %cl,%bl
or     %al,%bl
andps  0x1ebf(%rip),%xmm0
orps   0x1ec8(%rip),%xmm0
movaps %xmm0,0x50(%rsp)
jne    119f <foo+0x5f>
movaps 0x50(%rsp),%xmm0
ucomiss 0x1e69(%rip),%xmm0
jne    119f <foo+0x5f>
jnp    11ab <foo+0x6b>
mov    $0xc3,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
movsd  0x1f5d(%rip),%xmm0
xorps  %xmm1,%xmm1
call   1060 <cproj@plt>
ucomisd 0x1f4d(%rip),%xmm0
setb   %al
movsd  %xmm1,0x40(%rsp)
ucomisd 0x1f64(%rip),%xmm1
setp   %cl
setne  %bpl
or     %cl,%bpl
or     %al,%bpl
jne    1206 <foo+0xc6>
movsd  0x40(%rsp),%xmm0
cvtsd2ss %xmm0,%xmm0
andps  0x1e4c(%rip),%xmm0
orps   0x1e55(%rip),%xmm0
ucomiss 0x1e02(%rip),%xmm0
jne    1206 <foo+0xc6>
jnp    1212 <foo+0xd2>
mov    $0xc3,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
flds   0x1de8(%rip)
fld    %st(0)
fstpt  0x28(%rsp)
fstpt  0x650(%rsp)
fldz
fld    %st(0)
fstpt  0x34(%rsp)
fstpt  0x660(%rsp)
movaps 0x650(%rsp),%xmm0
movaps 0x660(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fldt   0x28(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
jb     12d1 <foo+0x191>
fldt   0x34(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
fldz
jne    12d1 <foo+0x191>
jp     12d1 <foo+0x191>
fstp   %st(0)
fldt   0x28(%rsp)
fstpt  0x630(%rsp)
fldt   0x34(%rsp)
fstpt  0x640(%rsp)
movaps 0x630(%rsp),%xmm0
movaps 0x640(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  0xdc(%rsp)
movss  0xdc(%rsp),%xmm0
andps  0x1d83(%rip),%xmm0
orps   0x1d8c(%rip),%xmm0
ucomiss 0x1d39(%rip),%xmm0
fldz
jne    12d1 <foo+0x191>
jnp    12e1 <foo+0x1a1>
fstp   %st(0)
mov    $0xc3,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldz
fstp   %st(0)
movaps 0x50(%rsp),%xmm0
ucomiss 0x1d19(%rip),%xmm0
setp   %al
setne  %cl
or     %al,%cl
or     %cl,%bl
cmp    $0x1,%bl
je     1305 <foo+0x1c5>
test   %bpl,%bpl
je     1316 <foo+0x1d6>
jmp    1339 <foo+0x1f9>
mov    $0xc4,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
test   %bpl,%bpl
jne    1339 <foo+0x1f9>
movsd  0x40(%rsp),%xmm0
cvtsd2ss %xmm0,%xmm0
andps  0x1d19(%rip),%xmm0
orps   0x1d22(%rip),%xmm0
ucomiss 0x1cd3(%rip),%xmm0
jne    1339 <foo+0x1f9>
jnp    1345 <foo+0x205>
mov    $0xc4,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldt   0x28(%rsp)
fstpt  0x610(%rsp)
fldt   0x34(%rsp)
fstpt  0x620(%rsp)
movaps 0x610(%rsp),%xmm0
movaps 0x620(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fldt   0x28(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
jb     13f8 <foo+0x2b8>
fldt   0x34(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
fldz
jne    13f8 <foo+0x2b8>
jp     13f8 <foo+0x2b8>
fstp   %st(0)
fldt   0x28(%rsp)
fstpt  0x5f0(%rsp)
fldt   0x34(%rsp)
fstpt  0x600(%rsp)
movaps 0x5f0(%rsp),%xmm0
movaps 0x600(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  0xd8(%rsp)
movss  0xd8(%rsp),%xmm0
andps  0x1c5c(%rip),%xmm0
orps   0x1c65(%rip),%xmm0
ucomiss 0x1c16(%rip),%xmm0
fldz
jne    13f8 <foo+0x2b8>
jnp    1408 <foo+0x2c8>
fstp   %st(0)
mov    $0xc4,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldz
fstp   %st(0)
movaps 0x1c4f(%rip),%xmm0
call   1040 <cprojf@plt>
ucomiss 0x1be3(%rip),%xmm0
jb     1446 <foo+0x306>
shufps $0x55,%xmm0,%xmm0
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
jne    1446 <foo+0x306>
jp     1446 <foo+0x306>
andps  0x1c0c(%rip),%xmm0
orps   0x1c15(%rip),%xmm0
ucomiss 0x1bc2(%rip),%xmm0
jne    1446 <foo+0x306>
jnp    1452 <foo+0x312>
mov    $0xc5,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
movsd  0x1cbe(%rip),%xmm1
movsd  0x1cae(%rip),%xmm0
call   1060 <cproj@plt>
ucomisd 0x1ca1(%rip),%xmm0
jb     149d <foo+0x35d>
xorpd  %xmm0,%xmm0
ucomisd %xmm0,%xmm1
jne    149d <foo+0x35d>
jp     149d <foo+0x35d>
xorps  %xmm0,%xmm0
cvtsd2ss %xmm1,%xmm0
andps  0x1bb5(%rip),%xmm0
orps   0x1bbe(%rip),%xmm0
ucomiss 0x1b6b(%rip),%xmm0
jne    149d <foo+0x35d>
jnp    14a9 <foo+0x369>
mov    $0xc5,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldt   0x28(%rsp)
fstpt  0x5d0(%rsp)
flds   0x1b52(%rip)
fld    %st(0)
fstpt  0x50(%rsp)
fstpt  0x5e0(%rsp)
movaps 0x5d0(%rsp),%xmm0
movaps 0x5e0(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fldt   0x28(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
jb     1564 <foo+0x424>
fldt   0x34(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
fldz
jne    1564 <foo+0x424>
jp     1564 <foo+0x424>
fstp   %st(0)
fldt   0x28(%rsp)
fstpt  0x5b0(%rsp)
fldt   0x50(%rsp)
fstpt  0x5c0(%rsp)
movaps 0x5b0(%rsp),%xmm0
movaps 0x5c0(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  0xd4(%rsp)
movss  0xd4(%rsp),%xmm0
andps  0x1af0(%rip),%xmm0
orps   0x1af9(%rip),%xmm0
ucomiss 0x1aa6(%rip),%xmm0
fldz
jne    1564 <foo+0x424>
jnp    1574 <foo+0x434>
fstp   %st(0)
mov    $0xc5,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldz
fstp   %st(0)
movaps 0x1af3(%rip),%xmm0
call   1040 <cprojf@plt>
ucomiss 0x1a77(%rip),%xmm0
jb     15b2 <foo+0x472>
shufps $0x55,%xmm0,%xmm0
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
jne    15b2 <foo+0x472>
jp     15b2 <foo+0x472>
andps  0x1aa0(%rip),%xmm0
orps   0x1aa9(%rip),%xmm0
ucomiss 0x1a5a(%rip),%xmm0
jne    15b2 <foo+0x472>
jnp    15be <foo+0x47e>
mov    $0xc6,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
movsd  0x1b5a(%rip),%xmm1
movsd  0x1b42(%rip),%xmm0
call   1060 <cproj@plt>
ucomisd 0x1b35(%rip),%xmm0
jb     1609 <foo+0x4c9>
xorpd  %xmm0,%xmm0
ucomisd %xmm0,%xmm1
jne    1609 <foo+0x4c9>
jp     1609 <foo+0x4c9>
xorps  %xmm0,%xmm0
cvtsd2ss %xmm1,%xmm0
andps  0x1a49(%rip),%xmm0
orps   0x1a52(%rip),%xmm0
ucomiss 0x1a03(%rip),%xmm0
jne    1609 <foo+0x4c9>
jnp    1615 <foo+0x4d5>
mov    $0xc6,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldt   0x28(%rsp)
fstpt  0x590(%rsp)
flds   0x19ea(%rip)
fld    %st(0)
fstpt  0x60(%rsp)
fstpt  0x5a0(%rsp)
movaps 0x590(%rsp),%xmm0
movaps 0x5a0(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fldt   0x28(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
jb     16d0 <foo+0x590>
fldt   0x34(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
fldz
jne    16d0 <foo+0x590>
jp     16d0 <foo+0x590>
fstp   %st(0)
fldt   0x28(%rsp)
fstpt  0x570(%rsp)
fldt   0x60(%rsp)
fstpt  0x580(%rsp)
movaps 0x570(%rsp),%xmm0
movaps 0x580(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  0xd0(%rsp)
movss  0xd0(%rsp),%xmm0
andps  0x1984(%rip),%xmm0
orps   0x198d(%rip),%xmm0
ucomiss 0x193e(%rip),%xmm0
fldz
jne    16d0 <foo+0x590>
jnp    16e0 <foo+0x5a0>
fstp   %st(0)
mov    $0xc6,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldz
fstp   %st(0)
movss  0x192a(%rip),%xmm0
call   1040 <cprojf@plt>
ucomiss 0x190a(%rip),%xmm0
shufps $0x55,%xmm0,%xmm0
setb   %al
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
setp   %cl
setne  %bl
or     %cl,%bl
or     %al,%bl
andps  0x192c(%rip),%xmm0
orps   0x1935(%rip),%xmm0
movaps %xmm0,0x70(%rsp)
jne    1732 <foo+0x5f2>
movaps 0x70(%rsp),%xmm0
ucomiss 0x18d6(%rip),%xmm0
jne    1732 <foo+0x5f2>
jnp    173e <foo+0x5fe>
mov    $0xc7,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
movsd  0x19e2(%rip),%xmm0
xorps  %xmm1,%xmm1
call   1060 <cproj@plt>
ucomisd 0x19ba(%rip),%xmm0
setb   %al
movsd  %xmm1,0xe0(%rsp)
ucomisd 0x19ce(%rip),%xmm1
setp   %cl
setne  %bpl
or     %cl,%bpl
or     %al,%bpl
jne    179f <foo+0x65f>
movsd  0xe0(%rsp),%xmm0
cvtsd2ss %xmm0,%xmm0
andps  0x18b3(%rip),%xmm0
orps   0x18bc(%rip),%xmm0
ucomiss 0x1869(%rip),%xmm0
jne    179f <foo+0x65f>
jnp    17ab <foo+0x66b>
mov    $0xc7,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
flds   0x1863(%rip)
fld    %st(0)
fstpt  0x40(%rsp)
fstpt  0x550(%rsp)
fldt   0x34(%rsp)
fstpt  0x560(%rsp)
movaps 0x550(%rsp),%xmm0
movaps 0x560(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fldt   0x28(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
jb     1866 <foo+0x726>
fldt   0x34(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
fldz
jne    1866 <foo+0x726>
jp     1866 <foo+0x726>
fstp   %st(0)
fldt   0x40(%rsp)
fstpt  0x530(%rsp)
fldt   0x34(%rsp)
fstpt  0x540(%rsp)
movaps 0x530(%rsp),%xmm0
movaps 0x540(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  0xcc(%rsp)
movss  0xcc(%rsp),%xmm0
andps  0x17ee(%rip),%xmm0
orps   0x17f7(%rip),%xmm0
ucomiss 0x17a4(%rip),%xmm0
fldz
jne    1866 <foo+0x726>
jnp    1876 <foo+0x736>
fstp   %st(0)
mov    $0xc7,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldz
fstp   %st(0)
movaps 0x70(%rsp),%xmm0
ucomiss 0x1784(%rip),%xmm0
setp   %al
setne  %cl
or     %al,%cl
or     %cl,%bl
cmp    $0x1,%bl
je     189a <foo+0x75a>
test   %bpl,%bpl
je     18ab <foo+0x76b>
jmp    18d1 <foo+0x791>
mov    $0xc8,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
test   %bpl,%bpl
jne    18d1 <foo+0x791>
movsd  0xe0(%rsp),%xmm0
cvtsd2ss %xmm0,%xmm0
andps  0x1781(%rip),%xmm0
orps   0x178a(%rip),%xmm0
ucomiss 0x173b(%rip),%xmm0
jne    18d1 <foo+0x791>
jnp    18dd <foo+0x79d>
mov    $0xc8,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldt   0x40(%rsp)
fstpt  0x510(%rsp)
fldt   0x34(%rsp)
fstpt  0x520(%rsp)
movaps 0x510(%rsp),%xmm0
movaps 0x520(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fldt   0x28(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
jb     1990 <foo+0x850>
fldt   0x34(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
fldz
jne    1990 <foo+0x850>
jp     1990 <foo+0x850>
fstp   %st(0)
fldt   0x40(%rsp)
fstpt  0x4f0(%rsp)
fldt   0x34(%rsp)
fstpt  0x500(%rsp)
movaps 0x4f0(%rsp),%xmm0
movaps 0x500(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  0xc8(%rsp)
movss  0xc8(%rsp),%xmm0
andps  0x16c4(%rip),%xmm0
orps   0x16cd(%rip),%xmm0
ucomiss 0x167e(%rip),%xmm0
fldz
jne    1990 <foo+0x850>
jnp    19a0 <foo+0x860>
fstp   %st(0)
mov    $0xc8,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldz
fstp   %st(0)
movaps 0x16d7(%rip),%xmm0
call   1040 <cprojf@plt>
ucomiss 0x164b(%rip),%xmm0
jb     19de <foo+0x89e>
shufps $0x55,%xmm0,%xmm0
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
jne    19de <foo+0x89e>
jp     19de <foo+0x89e>
andps  0x1674(%rip),%xmm0
orps   0x167d(%rip),%xmm0
ucomiss 0x162a(%rip),%xmm0
jne    19de <foo+0x89e>
jnp    19ea <foo+0x8aa>
mov    $0xc9,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
movsd  0x1736(%rip),%xmm0
movsd  0x171e(%rip),%xmm1
call   1060 <cproj@plt>
ucomisd 0x1709(%rip),%xmm0
jb     1a35 <foo+0x8f5>
xorpd  %xmm0,%xmm0
ucomisd %xmm0,%xmm1
jne    1a35 <foo+0x8f5>
jp     1a35 <foo+0x8f5>
xorps  %xmm0,%xmm0
cvtsd2ss %xmm1,%xmm0
andps  0x161d(%rip),%xmm0
orps   0x1626(%rip),%xmm0
ucomiss 0x15d3(%rip),%xmm0
jne    1a35 <foo+0x8f5>
jnp    1a41 <foo+0x901>
mov    $0xc9,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldt   0x40(%rsp)
fstpt  0x4d0(%rsp)
fldt   0x50(%rsp)
fstpt  0x4e0(%rsp)
movaps 0x4d0(%rsp),%xmm0
movaps 0x4e0(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fldt   0x28(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
jb     1af4 <foo+0x9b4>
fldt   0x34(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
fldz
jne    1af4 <foo+0x9b4>
jp     1af4 <foo+0x9b4>
fstp   %st(0)
fldt   0x40(%rsp)
fstpt  0x4b0(%rsp)
fldt   0x50(%rsp)
fstpt  0x4c0(%rsp)
movaps 0x4b0(%rsp),%xmm0
movaps 0x4c0(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  0xc4(%rsp)
movss  0xc4(%rsp),%xmm0
andps  0x1560(%rip),%xmm0
orps   0x1569(%rip),%xmm0
ucomiss 0x1516(%rip),%xmm0
fldz
jne    1af4 <foo+0x9b4>
jnp    1b04 <foo+0x9c4>
fstp   %st(0)
mov    $0xc9,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldz
fstp   %st(0)
movaps 0x1583(%rip),%xmm0
call   1040 <cprojf@plt>
ucomiss 0x14e7(%rip),%xmm0
jb     1b42 <foo+0xa02>
shufps $0x55,%xmm0,%xmm0
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
jne    1b42 <foo+0xa02>
jp     1b42 <foo+0xa02>
andps  0x1510(%rip),%xmm0
orps   0x1519(%rip),%xmm0
ucomiss 0x14ca(%rip),%xmm0
jne    1b42 <foo+0xa02>
jnp    1b4e <foo+0xa0e>
mov    $0xca,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
movsd  0x15d2(%rip),%xmm0
movsd  0x15c2(%rip),%xmm1
call   1060 <cproj@plt>
ucomisd 0x15a5(%rip),%xmm0
jb     1b99 <foo+0xa59>
xorpd  %xmm0,%xmm0
ucomisd %xmm0,%xmm1
jne    1b99 <foo+0xa59>
jp     1b99 <foo+0xa59>
xorps  %xmm0,%xmm0
cvtsd2ss %xmm1,%xmm0
andps  0x14b9(%rip),%xmm0
orps   0x14c2(%rip),%xmm0
ucomiss 0x1473(%rip),%xmm0
jne    1b99 <foo+0xa59>
jnp    1ba5 <foo+0xa65>
mov    $0xca,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldt   0x40(%rsp)
fstpt  0x490(%rsp)
fldt   0x60(%rsp)
fstpt  0x4a0(%rsp)
movaps 0x490(%rsp),%xmm0
movaps 0x4a0(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fldt   0x28(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
jb     1c58 <foo+0xb18>
fldt   0x34(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
fldz
jne    1c58 <foo+0xb18>
jp     1c58 <foo+0xb18>
fstp   %st(0)
fldt   0x40(%rsp)
fstpt  0x470(%rsp)
fldt   0x60(%rsp)
fstpt  0x480(%rsp)
movaps 0x470(%rsp),%xmm0
movaps 0x480(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  0xc0(%rsp)
movss  0xc0(%rsp),%xmm0
andps  0x13fc(%rip),%xmm0
orps   0x1405(%rip),%xmm0
ucomiss 0x13b6(%rip),%xmm0
fldz
jne    1c58 <foo+0xb18>
jnp    1c68 <foo+0xb28>
fstp   %st(0)
mov    $0xca,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldz
fstp   %st(0)
movaps 0x142f(%rip),%xmm0
call   1040 <cprojf@plt>
ucomiss 0x1383(%rip),%xmm0
shufps $0x55,%xmm0,%xmm0
setb   %al
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
setp   %cl
setne  %dl
or     %cl,%dl
or     %al,%dl
andps  0x13a5(%rip),%xmm0
orps   0x13ae(%rip),%xmm0
ucomiss 0x135b(%rip),%xmm0
setp   %al
setne  %r14b
or     %al,%r14b
or     %dl,%r14b
cmp    $0x1,%r14b
jne    1cc8 <foo+0xb88>
mov    $0xcc,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
movsd  0x1460(%rip),%xmm0
movsd  0x1438(%rip),%xmm1
call   1060 <cproj@plt>
ucomisd 0x142b(%rip),%xmm0
setb   %al
xorpd  %xmm0,%xmm0
movsd  %xmm1,0x60(%rsp)
ucomisd %xmm0,%xmm1
setp   %cl
setne  %bpl
or     %cl,%bpl
or     %al,%bpl
jne    1d28 <foo+0xbe8>
movsd  0x60(%rsp),%xmm0
cvtsd2ss %xmm0,%xmm0
andps  0x132a(%rip),%xmm0
orps   0x1333(%rip),%xmm0
ucomiss 0x12e0(%rip),%xmm0
jne    1d28 <foo+0xbe8>
jnp    1d34 <foo+0xbf4>
mov    $0xcc,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
flds   0x12de(%rip)
fld    %st(0)
fstpt  0x50(%rsp)
fstpt  0x450(%rsp)
fldt   0x28(%rsp)
fstpt  0x460(%rsp)
movaps 0x450(%rsp),%xmm0
movaps 0x460(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fldt   0x28(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
jb     1def <foo+0xcaf>
fldt   0x34(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
fldz
jne    1def <foo+0xcaf>
jp     1def <foo+0xcaf>
fstp   %st(0)
fldt   0x50(%rsp)
fstpt  0x430(%rsp)
fldt   0x28(%rsp)
fstpt  0x440(%rsp)
movaps 0x430(%rsp),%xmm0
movaps 0x440(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  0xbc(%rsp)
movss  0xbc(%rsp),%xmm0
andps  0x1265(%rip),%xmm0
orps   0x126e(%rip),%xmm0
ucomiss 0x121b(%rip),%xmm0
fldz
jne    1def <foo+0xcaf>
jnp    1dff <foo+0xcbf>
fstp   %st(0)
mov    $0xcc,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldz
fstp   %st(0)
movaps 0x12a8(%rip),%xmm0
call   1040 <cprojf@plt>
ucomiss 0x11ec(%rip),%xmm0
shufps $0x55,%xmm0,%xmm0
setb   %al
xorps  %xmm1,%xmm1
ucomiss %xmm1,%xmm0
setp   %cl
setne  %dl
or     %cl,%dl
or     %al,%dl
andps  0x120e(%rip),%xmm0
orps   0x1217(%rip),%xmm0
ucomiss 0x11c8(%rip),%xmm0
setp   %al
setne  %r12b
or     %al,%r12b
or     %dl,%r12b
cmp    $0x1,%r12b
jne    1e5f <foo+0xd1f>
mov    $0xcd,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
movsd  0x12c9(%rip),%xmm0
movsd  0x12b9(%rip),%xmm1
call   1060 <cproj@plt>
ucomisd 0x1294(%rip),%xmm0
setb   %al
xorpd  %xmm0,%xmm0
movsd  %xmm1,0x70(%rsp)
ucomisd %xmm0,%xmm1
setp   %cl
setne  %r15b
or     %cl,%r15b
or     %al,%r15b
jne    1ebf <foo+0xd7f>
movsd  0x70(%rsp),%xmm0
cvtsd2ss %xmm0,%xmm0
andps  0x1193(%rip),%xmm0
orps   0x119c(%rip),%xmm0
ucomiss 0x114d(%rip),%xmm0
jne    1ebf <foo+0xd7f>
jnp    1ecb <foo+0xd8b>
mov    $0xcd,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldt   0x50(%rsp)
fstpt  0x410(%rsp)
fldt   0x40(%rsp)
fstpt  0x420(%rsp)
movaps 0x410(%rsp),%xmm0
movaps 0x420(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fldt   0x28(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
jb     1f7e <foo+0xe3e>
fldt   0x34(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
fldz
jne    1f7e <foo+0xe3e>
jp     1f7e <foo+0xe3e>
fstp   %st(0)
fldt   0x50(%rsp)
fstpt  0x3f0(%rsp)
fldt   0x40(%rsp)
fstpt  0x400(%rsp)
movaps 0x3f0(%rsp),%xmm0
movaps 0x400(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  0xb8(%rsp)
movss  0xb8(%rsp),%xmm0
andps  0x10d6(%rip),%xmm0
orps   0x10df(%rip),%xmm0
ucomiss 0x1090(%rip),%xmm0
fldz
jne    1f7e <foo+0xe3e>
jnp    1f8e <foo+0xe4e>
fstp   %st(0)
mov    $0xcd,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldz
fstp   %st(0)
test   %r14b,%r14b
jne    1f9c <foo+0xe5c>
test   %bpl,%bpl
je     1fad <foo+0xe6d>
jmp    1fd0 <foo+0xe90>
mov    $0xce,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
test   %bpl,%bpl
jne    1fd0 <foo+0xe90>
movsd  0x60(%rsp),%xmm0
cvtsd2ss %xmm0,%xmm0
andps  0x1082(%rip),%xmm0
orps   0x108b(%rip),%xmm0
ucomiss 0x1038(%rip),%xmm0
jne    1fd0 <foo+0xe90>
jnp    1fdc <foo+0xe9c>
mov    $0xce,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldt   0x50(%rsp)
fstpt  0x3d0(%rsp)
fldt   0x28(%rsp)
fstpt  0x3e0(%rsp)
movaps 0x3d0(%rsp),%xmm0
movaps 0x3e0(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fldt   0x28(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
jb     208f <foo+0xf4f>
fldt   0x34(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
fldz
jne    208f <foo+0xf4f>
jp     208f <foo+0xf4f>
fstp   %st(0)
fldt   0x50(%rsp)
fstpt  0x3b0(%rsp)
fldt   0x28(%rsp)
fstpt  0x3c0(%rsp)
movaps 0x3b0(%rsp),%xmm0
movaps 0x3c0(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  0xb4(%rsp)
movss  0xb4(%rsp),%xmm0
andps  0xfc5(%rip),%xmm0
orps   0xfce(%rip),%xmm0
ucomiss 0xf7b(%rip),%xmm0
fldz
jne    208f <foo+0xf4f>
jnp    209f <foo+0xf5f>
fstp   %st(0)
mov    $0xce,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldz
fstp   %st(0)
test   %r12b,%r12b
jne    20ad <foo+0xf6d>
test   %r15b,%r15b
je     20be <foo+0xf7e>
jmp    20e1 <foo+0xfa1>
mov    $0xcf,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
test   %r15b,%r15b
jne    20e1 <foo+0xfa1>
movsd  0x70(%rsp),%xmm0
cvtsd2ss %xmm0,%xmm0
andps  0xf71(%rip),%xmm0
orps   0xf7a(%rip),%xmm0
ucomiss 0xf2b(%rip),%xmm0
jne    20e1 <foo+0xfa1>
jnp    20ed <foo+0xfad>
mov    $0xcf,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldt   0x50(%rsp)
fstpt  0x390(%rsp)
fldt   0x40(%rsp)
fstpt  0x3a0(%rsp)
movaps 0x390(%rsp),%xmm0
movaps 0x3a0(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fldt   0x28(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
jb     21a0 <foo+0x1060>
fldt   0x34(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
fldz
jne    21a0 <foo+0x1060>
jp     21a0 <foo+0x1060>
fstp   %st(0)
fldt   0x50(%rsp)
fstpt  0x370(%rsp)
fldt   0x40(%rsp)
fstpt  0x380(%rsp)
movaps 0x370(%rsp),%xmm0
movaps 0x380(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  0xb0(%rsp)
movss  0xb0(%rsp),%xmm0
andps  0xeb4(%rip),%xmm0
orps   0xebd(%rip),%xmm0
ucomiss 0xe6e(%rip),%xmm0
fldz
jne    21a0 <foo+0x1060>
jnp    21b0 <foo+0x1070>
fstp   %st(0)
mov    $0xcf,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldz
fstp   %st(0)
test   %r14b,%r14b
jne    21be <foo+0x107e>
test   %bpl,%bpl
je     21cf <foo+0x108f>
jmp    21f2 <foo+0x10b2>
mov    $0xd0,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
test   %bpl,%bpl
jne    21f2 <foo+0x10b2>
movsd  0x60(%rsp),%xmm0
cvtsd2ss %xmm0,%xmm0
andps  0xe60(%rip),%xmm0
orps   0xe69(%rip),%xmm0
ucomiss 0xe16(%rip),%xmm0
jne    21f2 <foo+0x10b2>
jnp    21fe <foo+0x10be>
mov    $0xd0,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldt   0x50(%rsp)
fstpt  0x350(%rsp)
fldt   0x28(%rsp)
fstpt  0x360(%rsp)
movaps 0x350(%rsp),%xmm0
movaps 0x360(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fldt   0x28(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
jb     22b1 <foo+0x1171>
fldt   0x34(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
fldz
jne    22b1 <foo+0x1171>
jp     22b1 <foo+0x1171>
fstp   %st(0)
fldt   0x50(%rsp)
fstpt  0x330(%rsp)
fldt   0x28(%rsp)
fstpt  0x340(%rsp)
movaps 0x330(%rsp),%xmm0
movaps 0x340(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  0xac(%rsp)
movss  0xac(%rsp),%xmm0
andps  0xda3(%rip),%xmm0
orps   0xdac(%rip),%xmm0
ucomiss 0xd59(%rip),%xmm0
fldz
jne    22b1 <foo+0x1171>
jnp    22c1 <foo+0x1181>
fstp   %st(0)
mov    $0xd0,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldz
fstp   %st(0)
test   %r12b,%r12b
jne    22cf <foo+0x118f>
test   %r15b,%r15b
je     22e0 <foo+0x11a0>
jmp    2303 <foo+0x11c3>
mov    $0xd1,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
test   %r15b,%r15b
jne    2303 <foo+0x11c3>
movsd  0x70(%rsp),%xmm0
cvtsd2ss %xmm0,%xmm0
andps  0xd4f(%rip),%xmm0
orps   0xd58(%rip),%xmm0
ucomiss 0xd09(%rip),%xmm0
jne    2303 <foo+0x11c3>
jnp    230f <foo+0x11cf>
mov    $0xd1,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldt   0x50(%rsp)
fstpt  0x310(%rsp)
fldt   0x40(%rsp)
fstpt  0x320(%rsp)
movaps 0x310(%rsp),%xmm0
movaps 0x320(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fldt   0x28(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
jb     23c2 <foo+0x1282>
fldt   0x34(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
fldz
jne    23c2 <foo+0x1282>
jp     23c2 <foo+0x1282>
fstp   %st(0)
fldt   0x50(%rsp)
fstpt  0x2f0(%rsp)
fldt   0x40(%rsp)
fstpt  0x300(%rsp)
movaps 0x2f0(%rsp),%xmm0
movaps 0x300(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  0xa8(%rsp)
movss  0xa8(%rsp),%xmm0
andps  0xc92(%rip),%xmm0
orps   0xc9b(%rip),%xmm0
ucomiss 0xc4c(%rip),%xmm0
fldz
jne    23c2 <foo+0x1282>
jnp    23d2 <foo+0x1292>
fstp   %st(0)
mov    $0xd1,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldz
fstp   %st(0)
test   %r14b,%r14b
jne    23e0 <foo+0x12a0>
test   %bpl,%bpl
je     23f1 <foo+0x12b1>
jmp    2414 <foo+0x12d4>
mov    $0xd2,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
test   %bpl,%bpl
jne    2414 <foo+0x12d4>
movsd  0x60(%rsp),%xmm0
cvtsd2ss %xmm0,%xmm0
andps  0xc3e(%rip),%xmm0
orps   0xc47(%rip),%xmm0
ucomiss 0xbf4(%rip),%xmm0
jne    2414 <foo+0x12d4>
jnp    2420 <foo+0x12e0>
mov    $0xd2,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldt   0x50(%rsp)
fstpt  0x2d0(%rsp)
fldt   0x28(%rsp)
fstpt  0x2e0(%rsp)
movaps 0x2d0(%rsp),%xmm0
movaps 0x2e0(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fldt   0x28(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
jb     24d3 <foo+0x1393>
fldt   0x34(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
fldz
jne    24d3 <foo+0x1393>
jp     24d3 <foo+0x1393>
fstp   %st(0)
fldt   0x50(%rsp)
fstpt  0x2b0(%rsp)
fldt   0x28(%rsp)
fstpt  0x2c0(%rsp)
movaps 0x2b0(%rsp),%xmm0
movaps 0x2c0(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  0xa4(%rsp)
movss  0xa4(%rsp),%xmm0
andps  0xb81(%rip),%xmm0
orps   0xb8a(%rip),%xmm0
ucomiss 0xb37(%rip),%xmm0
fldz
jne    24d3 <foo+0x1393>
jnp    24e3 <foo+0x13a3>
fstp   %st(0)
mov    $0xd2,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldz
fstp   %st(0)
test   %r12b,%r12b
jne    24f1 <foo+0x13b1>
test   %r15b,%r15b
je     2502 <foo+0x13c2>
jmp    2525 <foo+0x13e5>
mov    $0xd3,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
test   %r15b,%r15b
jne    2525 <foo+0x13e5>
movsd  0x70(%rsp),%xmm0
cvtsd2ss %xmm0,%xmm0
andps  0xb2d(%rip),%xmm0
orps   0xb36(%rip),%xmm0
ucomiss 0xae7(%rip),%xmm0
jne    2525 <foo+0x13e5>
jnp    2531 <foo+0x13f1>
mov    $0xd3,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldt   0x50(%rsp)
fstpt  0x290(%rsp)
fldt   0x40(%rsp)
fstpt  0x2a0(%rsp)
movaps 0x290(%rsp),%xmm0
movaps 0x2a0(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fldt   0x28(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
jb     25e4 <foo+0x14a4>
fldt   0x34(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
fldz
jne    25e4 <foo+0x14a4>
jp     25e4 <foo+0x14a4>
fstp   %st(0)
fldt   0x50(%rsp)
fstpt  0x270(%rsp)
fldt   0x40(%rsp)
fstpt  0x280(%rsp)
movaps 0x270(%rsp),%xmm0
movaps 0x280(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  0xa0(%rsp)
movss  0xa0(%rsp),%xmm0
andps  0xa70(%rip),%xmm0
orps   0xa79(%rip),%xmm0
ucomiss 0xa2a(%rip),%xmm0
fldz
jne    25e4 <foo+0x14a4>
jnp    25f4 <foo+0x14b4>
fstp   %st(0)
mov    $0xd3,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldz
fstp   %st(0)
test   %r14b,%r14b
jne    2602 <foo+0x14c2>
test   %bpl,%bpl
je     2613 <foo+0x14d3>
jmp    2636 <foo+0x14f6>
mov    $0xd5,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
test   %bpl,%bpl
jne    2636 <foo+0x14f6>
movsd  0x60(%rsp),%xmm0
cvtsd2ss %xmm0,%xmm0
andps  0xa1c(%rip),%xmm0
orps   0xa25(%rip),%xmm0
ucomiss 0x9d2(%rip),%xmm0
jne    2636 <foo+0x14f6>
jnp    2642 <foo+0x1502>
mov    $0xd5,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldt   0x50(%rsp)
fstpt  0x250(%rsp)
fldt   0x28(%rsp)
fstpt  0x260(%rsp)
movaps 0x250(%rsp),%xmm0
movaps 0x260(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fldt   0x28(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
jb     26f5 <foo+0x15b5>
fldt   0x34(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
fldz
jne    26f5 <foo+0x15b5>
jp     26f5 <foo+0x15b5>
fstp   %st(0)
fldt   0x50(%rsp)
fstpt  0x230(%rsp)
fldt   0x28(%rsp)
fstpt  0x240(%rsp)
movaps 0x230(%rsp),%xmm0
movaps 0x240(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  0x9c(%rsp)
movss  0x9c(%rsp),%xmm0
andps  0x95f(%rip),%xmm0
orps   0x968(%rip),%xmm0
ucomiss 0x915(%rip),%xmm0
fldz
jne    26f5 <foo+0x15b5>
jnp    2705 <foo+0x15c5>
fstp   %st(0)
mov    $0xd5,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldz
fstp   %st(0)
test   %r12b,%r12b
jne    2713 <foo+0x15d3>
test   %r15b,%r15b
je     2724 <foo+0x15e4>
jmp    2747 <foo+0x1607>
mov    $0xd6,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
test   %r15b,%r15b
jne    2747 <foo+0x1607>
movsd  0x70(%rsp),%xmm0
cvtsd2ss %xmm0,%xmm0
andps  0x90b(%rip),%xmm0
orps   0x914(%rip),%xmm0
ucomiss 0x8c5(%rip),%xmm0
jne    2747 <foo+0x1607>
jnp    2753 <foo+0x1613>
mov    $0xd6,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldt   0x50(%rsp)
fstpt  0x210(%rsp)
fldt   0x40(%rsp)
fstpt  0x220(%rsp)
movaps 0x210(%rsp),%xmm0
movaps 0x220(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fldt   0x28(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
jb     2806 <foo+0x16c6>
fldt   0x34(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
fldz
jne    2806 <foo+0x16c6>
jp     2806 <foo+0x16c6>
fstp   %st(0)
fldt   0x50(%rsp)
fstpt  0x1f0(%rsp)
fldt   0x40(%rsp)
fstpt  0x200(%rsp)
movaps 0x1f0(%rsp),%xmm0
movaps 0x200(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  0x98(%rsp)
movss  0x98(%rsp),%xmm0
andps  0x84e(%rip),%xmm0
orps   0x857(%rip),%xmm0
ucomiss 0x808(%rip),%xmm0
fldz
jne    2806 <foo+0x16c6>
jnp    2816 <foo+0x16d6>
fstp   %st(0)
mov    $0xd6,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldz
fstp   %st(0)
test   %r14b,%r14b
jne    2824 <foo+0x16e4>
test   %bpl,%bpl
je     2835 <foo+0x16f5>
jmp    2858 <foo+0x1718>
mov    $0xd7,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
test   %bpl,%bpl
jne    2858 <foo+0x1718>
movsd  0x60(%rsp),%xmm0
cvtsd2ss %xmm0,%xmm0
andps  0x7fa(%rip),%xmm0
orps   0x803(%rip),%xmm0
ucomiss 0x7b0(%rip),%xmm0
jne    2858 <foo+0x1718>
jnp    2864 <foo+0x1724>
mov    $0xd7,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldt   0x50(%rsp)
fstpt  0x1d0(%rsp)
fldt   0x28(%rsp)
fstpt  0x1e0(%rsp)
movaps 0x1d0(%rsp),%xmm0
movaps 0x1e0(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fldt   0x28(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
jb     2917 <foo+0x17d7>
fldt   0x34(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
fldz
jne    2917 <foo+0x17d7>
jp     2917 <foo+0x17d7>
fstp   %st(0)
fldt   0x50(%rsp)
fstpt  0x1b0(%rsp)
fldt   0x28(%rsp)
fstpt  0x1c0(%rsp)
movaps 0x1b0(%rsp),%xmm0
movaps 0x1c0(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  0x94(%rsp)
movss  0x94(%rsp),%xmm0
andps  0x73d(%rip),%xmm0
orps   0x746(%rip),%xmm0
ucomiss 0x6f3(%rip),%xmm0
fldz
jne    2917 <foo+0x17d7>
jnp    2927 <foo+0x17e7>
fstp   %st(0)
mov    $0xd7,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldz
fstp   %st(0)
test   %r12b,%r12b
jne    2935 <foo+0x17f5>
test   %r15b,%r15b
je     2946 <foo+0x1806>
jmp    2969 <foo+0x1829>
mov    $0xd8,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
test   %r15b,%r15b
jne    2969 <foo+0x1829>
movsd  0x70(%rsp),%xmm0
cvtsd2ss %xmm0,%xmm0
andps  0x6e9(%rip),%xmm0
orps   0x6f2(%rip),%xmm0
ucomiss 0x6a3(%rip),%xmm0
jne    2969 <foo+0x1829>
jnp    2975 <foo+0x1835>
mov    $0xd8,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldt   0x50(%rsp)
fstpt  0x190(%rsp)
fldt   0x40(%rsp)
fstpt  0x1a0(%rsp)
movaps 0x190(%rsp),%xmm0
movaps 0x1a0(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fldt   0x28(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
jb     2a28 <foo+0x18e8>
fldt   0x34(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
fldz
jne    2a28 <foo+0x18e8>
jp     2a28 <foo+0x18e8>
fstp   %st(0)
fldt   0x50(%rsp)
fstpt  0x170(%rsp)
fldt   0x40(%rsp)
fstpt  0x180(%rsp)
movaps 0x170(%rsp),%xmm0
movaps 0x180(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  0x90(%rsp)
movss  0x90(%rsp),%xmm0
andps  0x62c(%rip),%xmm0
orps   0x635(%rip),%xmm0
ucomiss 0x5e6(%rip),%xmm0
fldz
jne    2a28 <foo+0x18e8>
jnp    2a38 <foo+0x18f8>
fstp   %st(0)
mov    $0xd8,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldz
fstp   %st(0)
xorps  %xmm0,%xmm0
call   1040 <cprojf@plt>
movaps %xmm0,%xmm1
shufps $0x55,%xmm0,%xmm1
xorps  %xmm2,%xmm2
ucomiss %xmm2,%xmm0
setp   %al
setne  %cl
or     %al,%cl
ucomiss %xmm2,%xmm1
setp   %al
setne  %dl
or     %al,%dl
or     %cl,%dl
movaps 0x5d5(%rip),%xmm3
andps  %xmm3,%xmm0
movss  0x58e(%rip),%xmm2
orps   %xmm2,%xmm0
ucomiss %xmm2,%xmm0
setp   %al
setne  %cl
or     %al,%cl
or     %dl,%cl
andps  %xmm3,%xmm1
orps   %xmm2,%xmm1
ucomiss %xmm2,%xmm1
setp   %al
setne  %bl
or     %al,%bl
or     %cl,%bl
cmp    $0x1,%bl
jne    2aaa <foo+0x196a>
mov    $0xda,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
movss  0x56a(%rip),%xmm0
call   1040 <cprojf@plt>
movss  0x55d(%rip),%xmm3
ucomiss 0x56a(%rip),%xmm0
shufps $0x0,%xmm3,%xmm3
movaps %xmm3,0xe0(%rsp)
jne    2d6f <foo+0x1c2f>
jp     2d6f <foo+0x1c2f>
movaps %xmm0,%xmm1
shufps $0x55,%xmm0,%xmm1
xorps  %xmm2,%xmm2
ucomiss %xmm2,%xmm1
jne    2d6f <foo+0x1c2f>
jp     2d6f <foo+0x1c2f>
andps  %xmm3,%xmm0
movss  0x502(%rip),%xmm2
orps   %xmm2,%xmm0
ucomiss 0x4fc(%rip),%xmm0
jne    2d6f <foo+0x1c2f>
jp     2d6f <foo+0x1c2f>
andps  %xmm3,%xmm1
movss  0x4e1(%rip),%xmm0
orps   %xmm0,%xmm1
ucomiss 0x4d7(%rip),%xmm1
jne    2d6f <foo+0x1c2f>
jp     2d6f <foo+0x1c2f>
test   %bl,%bl
je     2b49 <foo+0x1a09>
mov    $0xdc,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
movaps 0x570(%rip),%xmm0
call   1040 <cprojf@plt>
xorps  %xmm2,%xmm2
ucomiss %xmm2,%xmm0
movaps 0xe0(%rsp),%xmm3
jne    2ba7 <foo+0x1a67>
jp     2ba7 <foo+0x1a67>
movaps %xmm0,%xmm1
shufps $0x55,%xmm0,%xmm1
ucomiss %xmm2,%xmm1
jne    2ba7 <foo+0x1a67>
jp     2ba7 <foo+0x1a67>
andps  %xmm3,%xmm0
movss  0x484(%rip),%xmm2
orps   %xmm2,%xmm0
ucomiss 0x47e(%rip),%xmm0
jne    2ba7 <foo+0x1a67>
jp     2ba7 <foo+0x1a67>
andps  %xmm3,%xmm1
movss  0x46b(%rip),%xmm0
orps   %xmm0,%xmm1
ucomiss 0x465(%rip),%xmm1
jne    2ba7 <foo+0x1a67>
jnp    2bb3 <foo+0x1a73>
mov    $0xdd,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
movaps 0x516(%rip),%xmm0
call   1040 <cprojf@plt>
ucomiss 0x45a(%rip),%xmm0
jne    2c16 <foo+0x1ad6>
jp     2c16 <foo+0x1ad6>
movaps %xmm0,%xmm1
shufps $0x55,%xmm0,%xmm1
ucomiss 0x44c(%rip),%xmm1
jne    2c16 <foo+0x1ad6>
jp     2c16 <foo+0x1ad6>
andps  0x45d(%rip),%xmm0
movss  0x419(%rip),%xmm2
orps   %xmm2,%xmm0
ucomiss 0x40f(%rip),%xmm0
jne    2c16 <foo+0x1ad6>
jp     2c16 <foo+0x1ad6>
andps  0x440(%rip),%xmm1
movss  0x3fc(%rip),%xmm0
orps   %xmm0,%xmm1
ucomiss 0x3f2(%rip),%xmm1
jne    2c16 <foo+0x1ad6>
jnp    2c22 <foo+0x1ae2>
mov    $0xdf,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
movaps 0x4b7(%rip),%xmm0
call   1040 <cprojf@plt>
ucomiss 0x3eb(%rip),%xmm0
jne    2c85 <foo+0x1b45>
jp     2c85 <foo+0x1b45>
movaps %xmm0,%xmm1
shufps $0x55,%xmm0,%xmm1
ucomiss 0x3e1(%rip),%xmm1
jne    2c85 <foo+0x1b45>
jp     2c85 <foo+0x1b45>
andps  0x3ee(%rip),%xmm0
movss  0x3aa(%rip),%xmm2
orps   %xmm2,%xmm0
ucomiss 0x3a0(%rip),%xmm0
jne    2c85 <foo+0x1b45>
jp     2c85 <foo+0x1b45>
andps  0x3d1(%rip),%xmm1
movss  0x38d(%rip),%xmm0
orps   %xmm0,%xmm1
ucomiss 0x387(%rip),%xmm1
jne    2c85 <foo+0x1b45>
jnp    2c91 <foo+0x1b51>
mov    $0xe0,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
movaps 0x458(%rip),%xmm0
call   1040 <cprojf@plt>
ucomiss 0x388(%rip),%xmm0
jne    2cf4 <foo+0x1bb4>
jp     2cf4 <foo+0x1bb4>
movaps %xmm0,%xmm1
shufps $0x55,%xmm0,%xmm1
ucomiss 0x36e(%rip),%xmm1
jne    2cf4 <foo+0x1bb4>
jp     2cf4 <foo+0x1bb4>
andps  0x37f(%rip),%xmm0
movss  0x33b(%rip),%xmm2
orps   %xmm2,%xmm0
ucomiss 0x335(%rip),%xmm0
jne    2cf4 <foo+0x1bb4>
jp     2cf4 <foo+0x1bb4>
andps  0x362(%rip),%xmm1
movss  0x31e(%rip),%xmm0
orps   %xmm0,%xmm1
ucomiss 0x314(%rip),%xmm1
jne    2cf4 <foo+0x1bb4>
jnp    2d00 <foo+0x1bc0>
mov    $0xe1,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
movaps 0x3f9(%rip),%xmm0
call   1040 <cprojf@plt>
ucomiss 0x319(%rip),%xmm0
jne    2d88 <foo+0x1c48>
jp     2d88 <foo+0x1c48>
movaps %xmm0,%xmm1
shufps $0x55,%xmm0,%xmm1
ucomiss 0x303(%rip),%xmm1
jne    2d88 <foo+0x1c48>
jp     2d88 <foo+0x1c48>
andps  0x310(%rip),%xmm0
movss  0x2cc(%rip),%xmm2
orps   %xmm2,%xmm0
ucomiss 0x2c6(%rip),%xmm0
jne    2d88 <foo+0x1c48>
jp     2d88 <foo+0x1c48>
andps  0x2f3(%rip),%xmm1
movss  0x2af(%rip),%xmm0
orps   %xmm0,%xmm1
ucomiss 0x2a9(%rip),%xmm1
jne    2d88 <foo+0x1c48>
jp     2d88 <foo+0x1c48>
test   %r14b,%r14b
jne    2d99 <foo+0x1c59>
test   %bpl,%bpl
je     2daa <foo+0x1c6a>
jmp    2dcd <foo+0x1c8d>
mov    $0xdb,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
test   %bl,%bl
jne    2b3d <foo+0x19fd>
jmp    2b49 <foo+0x1a09>
mov    $0xe2,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
test   %r14b,%r14b
je     2d68 <foo+0x1c28>
mov    $0xe4,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
test   %bpl,%bpl
jne    2dcd <foo+0x1c8d>
movsd  0x60(%rsp),%xmm0
cvtsd2ss %xmm0,%xmm0
andps  0x285(%rip),%xmm0
orps   0x28e(%rip),%xmm0
ucomiss 0x23b(%rip),%xmm0
jne    2dcd <foo+0x1c8d>
jnp    2dd9 <foo+0x1c99>
mov    $0xe4,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldt   0x50(%rsp)
fstpt  0x150(%rsp)
fldt   0x28(%rsp)
fstpt  0x160(%rsp)
movaps 0x150(%rsp),%xmm0
movaps 0x160(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fldt   0x28(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
jb     2e8c <foo+0x1d4c>
fldt   0x34(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
fldz
jne    2e8c <foo+0x1d4c>
jp     2e8c <foo+0x1d4c>
fstp   %st(0)
fldt   0x50(%rsp)
fstpt  0x130(%rsp)
fldt   0x28(%rsp)
fstpt  0x140(%rsp)
movaps 0x130(%rsp),%xmm0
movaps 0x140(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  0x8c(%rsp)
movss  0x8c(%rsp),%xmm0
andps  0x1c8(%rip),%xmm0
orps   0x1d1(%rip),%xmm0
ucomiss 0x17e(%rip),%xmm0
fldz
jne    2e8c <foo+0x1d4c>
jnp    2e9c <foo+0x1d5c>
fstp   %st(0)
mov    $0xe4,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldz
fstp   %st(0)
test   %r12b,%r12b
jne    2eaa <foo+0x1d6a>
test   %r15b,%r15b
je     2ebb <foo+0x1d7b>
jmp    2ede <foo+0x1d9e>
mov    $0xe5,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
test   %r15b,%r15b
jne    2ede <foo+0x1d9e>
movsd  0x70(%rsp),%xmm0
cvtsd2ss %xmm0,%xmm0
andps  0x174(%rip),%xmm0
orps   0x17d(%rip),%xmm0
ucomiss 0x12e(%rip),%xmm0
jne    2ede <foo+0x1d9e>
jnp    2eea <foo+0x1daa>
mov    $0xe5,%edi
xor    %eax,%eax
call   1050 <link_error@plt>
fldt   0x50(%rsp)
fstpt  0x110(%rsp)
fldt   0x40(%rsp)
fstpt  0x120(%rsp)
movaps 0x110(%rsp),%xmm0
movaps 0x120(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fldt   0x28(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
jb     2f9d <foo+0x1e5d>
fldt   0x34(%rsp)
fxch   %st(1)
fucomip %st(1),%st
fstp   %st(0)
fldz
jne    2f9d <foo+0x1e5d>
jp     2f9d <foo+0x1e5d>
fstp   %st(0)
fldt   0x50(%rsp)
fstpt  0xf0(%rsp)
fldt   0x40(%rsp)
fstpt  0x100(%rsp)
movaps 0xf0(%rsp),%xmm0
movaps 0x100(%rsp),%xmm1
movaps %xmm1,0x10(%rsp)
movaps %xmm0,(%rsp)
call   1030 <cprojl@plt>
fstp   %st(0)
fstps  0x88(%rsp)
movss  0x88(%rsp),%xmm0
andps  0xb7(%rip),%xmm0
orps   0xc0(%rip),%xmm0
ucomiss 0x71(%rip),%xmm0
fldz
jne    2f9d <foo+0x1e5d>
jnp    2fba <foo+0x1e7a>
fstp   %st(0)
mov    $0xe5,%edi
xor    %eax,%eax
add    $0x670,%rsp
pop    %rbx
pop    %r12
pop    %r14
pop    %r15
pop    %rbp
jmp    1050 <link_error@plt>
fstp   %st(0)
add    $0x670,%rsp
pop    %rbx
pop    %r12
pop    %r14
pop    %r15
pop    %rbp
ret

LLVM IR (-O0):
define void @foo({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %0, double %1, double %2, <2 x float> %3, x86_fp80 %4, double %5, float %6, i32 %7) {
%9 = alloca { double, double }
%10 = alloca { float, float }
%11 = alloca x86_fp80
%12 = alloca double
%13 = alloca float
%14 = alloca i32
%15 = alloca { float, float }
%16 = alloca { float, float }
%17 = alloca { float, float }
%18 = alloca { float, float }
%19 = alloca { double, double }
%20 = alloca { double, double }
%21 = alloca { x86_fp80, x86_fp80 }
%22 = alloca { x86_fp80, x86_fp80 }
%23 = alloca { float, float }
%24 = alloca { float, float }
%25 = alloca { float, float }
%26 = alloca { float, float }
%27 = alloca { double, double }
%28 = alloca { double, double }
%29 = alloca { x86_fp80, x86_fp80 }
%30 = alloca { x86_fp80, x86_fp80 }
%31 = alloca { float, float }
%32 = alloca { float, float }
%33 = alloca { float, float }
%34 = alloca { float, float }
%35 = alloca { double, double }
%36 = alloca { double, double }
%37 = alloca { x86_fp80, x86_fp80 }
%38 = alloca { x86_fp80, x86_fp80 }
%39 = alloca { float, float }
%40 = alloca { float, float }
%41 = alloca { float, float }
%42 = alloca { float, float }
%43 = alloca { double, double }
%44 = alloca { double, double }
%45 = alloca { x86_fp80, x86_fp80 }
%46 = alloca { x86_fp80, x86_fp80 }
%47 = alloca { float, float }
%48 = alloca { float, float }
%49 = alloca { float, float }
%50 = alloca { float, float }
%51 = alloca { double, double }
%52 = alloca { double, double }
%53 = alloca { x86_fp80, x86_fp80 }
%54 = alloca { x86_fp80, x86_fp80 }
%55 = alloca { float, float }
%56 = alloca { float, float }
%57 = alloca { float, float }
%58 = alloca { float, float }
%59 = alloca { double, double }
%60 = alloca { double, double }
%61 = alloca { x86_fp80, x86_fp80 }
%62 = alloca { x86_fp80, x86_fp80 }
%63 = alloca { float, float }
%64 = alloca { float, float }
%65 = alloca { float, float }
%66 = alloca { float, float }
%67 = alloca { double, double }
%68 = alloca { double, double }
%69 = alloca { x86_fp80, x86_fp80 }
%70 = alloca { x86_fp80, x86_fp80 }
%71 = alloca { float, float }
%72 = alloca { float, float }
%73 = alloca { float, float }
%74 = alloca { float, float }
%75 = alloca { double, double }
%76 = alloca { double, double }
%77 = alloca { x86_fp80, x86_fp80 }
%78 = alloca { x86_fp80, x86_fp80 }
%79 = alloca { float, float }
%80 = alloca { float, float }
%81 = alloca { float, float }
%82 = alloca { float, float }
%83 = alloca { float, float }
%84 = alloca { float, float }
%85 = alloca { float, float }
%86 = alloca { double, double }
%87 = alloca { float, float }
%88 = alloca { double, double }
%89 = alloca { float, float }
%90 = alloca { x86_fp80, x86_fp80 }
%91 = alloca { float, float }
%92 = alloca { x86_fp80, x86_fp80 }
%93 = alloca { float, float }
%94 = alloca { float, float }
%95 = alloca { float, float }
%96 = alloca { float, float }
%97 = alloca { float, float }
%98 = alloca { float, float }
%99 = alloca { float, float }
%100 = alloca { double, double }
%101 = alloca { float, float }
%102 = alloca { double, double }
%103 = alloca { float, float }
%104 = alloca { x86_fp80, x86_fp80 }
%105 = alloca { float, float }
%106 = alloca { x86_fp80, x86_fp80 }
%107 = alloca { float, float }
%108 = alloca { float, float }
%109 = alloca { float, float }
%110 = alloca { float, float }
%111 = alloca { float, float }
%112 = alloca { float, float }
%113 = alloca { float, float }
%114 = alloca { double, double }
%115 = alloca { float, float }
%116 = alloca { double, double }
%117 = alloca { float, float }
%118 = alloca { x86_fp80, x86_fp80 }
%119 = alloca { float, float }
%120 = alloca { x86_fp80, x86_fp80 }
%121 = alloca { float, float }
%122 = alloca { float, float }
%123 = alloca { float, float }
%124 = alloca { float, float }
%125 = alloca { float, float }
%126 = alloca { float, float }
%127 = alloca { float, float }
%128 = alloca { double, double }
%129 = alloca { float, float }
%130 = alloca { double, double }
%131 = alloca { float, float }
%132 = alloca { x86_fp80, x86_fp80 }
%133 = alloca { float, float }
%134 = alloca { x86_fp80, x86_fp80 }
%135 = alloca { float, float }
%136 = alloca { float, float }
%137 = alloca { float, float }
%138 = alloca { float, float }
%139 = alloca { float, float }
%140 = alloca { float, float }
%141 = alloca { float, float }
%142 = alloca { double, double }
%143 = alloca { float, float }
%144 = alloca { double, double }
%145 = alloca { float, float }
%146 = alloca { x86_fp80, x86_fp80 }
%147 = alloca { float, float }
%148 = alloca { x86_fp80, x86_fp80 }
%149 = alloca { float, float }
%150 = alloca { float, float }
%151 = alloca { float, float }
%152 = alloca { float, float }
%153 = alloca { float, float }
%154 = alloca { float, float }
%155 = alloca { float, float }
%156 = alloca { double, double }
%157 = alloca { float, float }
%158 = alloca { double, double }
%159 = alloca { float, float }
%160 = alloca { x86_fp80, x86_fp80 }
%161 = alloca { float, float }
%162 = alloca { x86_fp80, x86_fp80 }
%163 = alloca { float, float }
%164 = alloca { float, float }
%165 = alloca { float, float }
%166 = alloca { float, float }
%167 = alloca { float, float }
%168 = alloca { float, float }
%169 = alloca { float, float }
%170 = alloca { double, double }
%171 = alloca { float, float }
%172 = alloca { double, double }
%173 = alloca { float, float }
%174 = alloca { x86_fp80, x86_fp80 }
%175 = alloca { float, float }
%176 = alloca { x86_fp80, x86_fp80 }
%177 = alloca { float, float }
%178 = alloca { float, float }
%179 = alloca { float, float }
%180 = alloca { float, float }
%181 = alloca { float, float }
%182 = alloca { float, float }
%183 = alloca { float, float }
%184 = alloca { double, double }
%185 = alloca { float, float }
%186 = alloca { double, double }
%187 = alloca { float, float }
%188 = alloca { x86_fp80, x86_fp80 }
%189 = alloca { float, float }
%190 = alloca { x86_fp80, x86_fp80 }
%191 = alloca { float, float }
%192 = alloca { float, float }
%193 = alloca { float, float }
%194 = alloca { float, float }
%195 = alloca { float, float }
%196 = alloca { float, float }
%197 = alloca { float, float }
%198 = alloca { double, double }
%199 = alloca { float, float }
%200 = alloca { double, double }
%201 = alloca { float, float }
%202 = alloca { x86_fp80, x86_fp80 }
%203 = alloca { float, float }
%204 = alloca { x86_fp80, x86_fp80 }
%205 = alloca { float, float }
%206 = alloca { float, float }
%207 = alloca { float, float }
%208 = alloca { float, float }
%209 = alloca { float, float }
%210 = alloca { float, float }
%211 = alloca { float, float }
%212 = alloca { double, double }
%213 = alloca { float, float }
%214 = alloca { double, double }
%215 = alloca { float, float }
%216 = alloca { x86_fp80, x86_fp80 }
%217 = alloca { float, float }
%218 = alloca { x86_fp80, x86_fp80 }
%219 = alloca { float, float }
%220 = alloca { float, float }
%221 = alloca { float, float }
%222 = alloca { float, float }
%223 = alloca { float, float }
%224 = alloca { float, float }
%225 = alloca { float, float }
%226 = alloca { double, double }
%227 = alloca { float, float }
%228 = alloca { double, double }
%229 = alloca { float, float }
%230 = alloca { x86_fp80, x86_fp80 }
%231 = alloca { float, float }
%232 = alloca { x86_fp80, x86_fp80 }
%233 = alloca { float, float }
%234 = alloca { float, float }
%235 = alloca { float, float }
%236 = alloca { float, float }
%237 = alloca { float, float }
%238 = alloca { float, float }
%239 = alloca { float, float }
%240 = alloca { double, double }
%241 = alloca { float, float }
%242 = alloca { double, double }
%243 = alloca { float, float }
%244 = alloca { x86_fp80, x86_fp80 }
%245 = alloca { float, float }
%246 = alloca { x86_fp80, x86_fp80 }
%247 = alloca { float, float }
%248 = alloca { float, float }
%249 = alloca { float, float }
%250 = alloca { float, float }
%251 = alloca { float, float }
%252 = alloca { float, float }
%253 = alloca { float, float }
%254 = alloca { float, float }
%255 = alloca { float, float }
%256 = alloca { float, float }
%257 = alloca { float, float }
%258 = alloca { float, float }
%259 = alloca { float, float }
%260 = alloca { float, float }
%261 = alloca { float, float }
%262 = alloca { float, float }
%263 = alloca { float, float }
%264 = alloca { float, float }
%265 = alloca { float, float }
%266 = alloca { float, float }
%267 = alloca { float, float }
%268 = alloca { float, float }
%269 = alloca { float, float }
%270 = alloca { float, float }
%271 = alloca { float, float }
%272 = alloca { float, float }
%273 = alloca { float, float }
%274 = alloca { float, float }
%275 = alloca { float, float }
%276 = alloca { float, float }
%277 = alloca { float, float }
%278 = alloca { float, float }
%279 = alloca { float, float }
%280 = alloca { float, float }
%281 = alloca { float, float }
%282 = alloca { float, float }
%283 = alloca { float, float }
%284 = alloca { float, float }
%285 = alloca { float, float }
%286 = alloca { float, float }
%287 = alloca { float, float }
%288 = alloca { float, float }
%289 = alloca { float, float }
%290 = alloca { float, float }
%291 = alloca { float, float }
%292 = alloca { float, float }
%293 = alloca { float, float }
%294 = alloca { float, float }
%295 = alloca { float, float }
%296 = alloca { float, float }
%297 = alloca { float, float }
%298 = alloca { float, float }
%299 = alloca { float, float }
%300 = alloca { float, float }
%301 = alloca { float, float }
%302 = alloca { double, double }
%303 = alloca { float, float }
%304 = alloca { double, double }
%305 = alloca { float, float }
%306 = alloca { x86_fp80, x86_fp80 }
%307 = alloca { float, float }
%308 = alloca { x86_fp80, x86_fp80 }
%309 = alloca { float, float }
%310 = alloca { float, float }
%311 = alloca { float, float }
%312 = alloca { float, float }
%313 = alloca { float, float }
%314 = alloca { float, float }
%315 = alloca { float, float }
%316 = alloca { double, double }
%317 = alloca { float, float }
%318 = alloca { double, double }
%319 = alloca { float, float }
%320 = alloca { x86_fp80, x86_fp80 }
%321 = alloca { float, float }
%322 = alloca { x86_fp80, x86_fp80 }
%323 = getelementptr inbounds { double, double }, { double, double }* %9, i32 0, i32 0
store double %1, double* %323
%324 = getelementptr inbounds { double, double }, { double, double }* %9, i32 0, i32 1
store double %2, double* %324
%325 = bitcast { float, float }* %10 to <2 x float>*
store <2 x float> %3, <2 x float>* %325
store x86_fp80 %4, x86_fp80* %11
store double %5, double* %12
store float %6, float* %13
store i32 %7, i32* %14
br label %326
326: ; preds = %8
%327 = getelementptr inbounds { float, float }, { float, float }* %15, i32 0, i32 0
%328 = getelementptr inbounds { float, float }, { float, float }* %15, i32 0, i32 1
store float 0x7FF0000000000000, float* %327
store float 0.000000e+00, float* %328
%329 = bitcast { float, float }* %15 to <2 x float>*
%330 = load <2 x float>, <2 x float>* %329
%331 = call <2 x float> @cprojf(<2 x float> %330)
%332 = bitcast { float, float }* %16 to <2 x float>*
store <2 x float> %331, <2 x float>* %332
%333 = getelementptr inbounds { float, float }, { float, float }* %16, i32 0, i32 0
%334 = load float, float* %333
%335 = getelementptr inbounds { float, float }, { float, float }* %16, i32 0, i32 1
%336 = load float, float* %335
%337 = fcmp une float %334, 0x7FF0000000000000
%338 = fcmp une float %336, 0.000000e+00
%339 = or i1 %337, %338
br i1 %339, label %354, label %340
340: ; preds = %326
%341 = getelementptr inbounds { float, float }, { float, float }* %17, i32 0, i32 0
%342 = getelementptr inbounds { float, float }, { float, float }* %17, i32 0, i32 1
store float 0x7FF0000000000000, float* %341
store float 0.000000e+00, float* %342
%343 = bitcast { float, float }* %17 to <2 x float>*
%344 = load <2 x float>, <2 x float>* %343
%345 = call <2 x float> @cprojf(<2 x float> %344)
%346 = bitcast { float, float }* %18 to <2 x float>*
store <2 x float> %345, <2 x float>* %346
%347 = getelementptr inbounds { float, float }, { float, float }* %18, i32 0, i32 0
%348 = load float, float* %347
%349 = getelementptr inbounds { float, float }, { float, float }* %18, i32 0, i32 1
%350 = load float, float* %349
%351 = call float @llvm.copysign.f32(float 1.000000e+00, float %350)
%352 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%353 = fcmp une float %351, %352
br i1 %353, label %354, label %356
354: ; preds = %340, %326
%355 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 195)
br label %356
356: ; preds = %354, %340
%357 = getelementptr inbounds { double, double }, { double, double }* %19, i32 0, i32 0
%358 = getelementptr inbounds { double, double }, { double, double }* %19, i32 0, i32 1
store double 0x7FF0000000000000, double* %357
store double 0.000000e+00, double* %358
%359 = getelementptr inbounds { double, double }, { double, double }* %19, i32 0, i32 0
%360 = load double, double* %359
%361 = getelementptr inbounds { double, double }, { double, double }* %19, i32 0, i32 1
%362 = load double, double* %361
%363 = call { double, double } @cproj(double %360, double %362)
%364 = extractvalue { double, double } %363, 0
%365 = extractvalue { double, double } %363, 1
%366 = fcmp une double %364, 0x7FF0000000000000
%367 = fcmp une double %365, 0.000000e+00
%368 = or i1 %366, %367
br i1 %368, label %384, label %369
369: ; preds = %356
%370 = getelementptr inbounds { double, double }, { double, double }* %20, i32 0, i32 0
%371 = getelementptr inbounds { double, double }, { double, double }* %20, i32 0, i32 1
store double 0x7FF0000000000000, double* %370
store double 0.000000e+00, double* %371
%372 = getelementptr inbounds { double, double }, { double, double }* %20, i32 0, i32 0
%373 = load double, double* %372
%374 = getelementptr inbounds { double, double }, { double, double }* %20, i32 0, i32 1
%375 = load double, double* %374
%376 = call { double, double } @cproj(double %373, double %375)
%377 = extractvalue { double, double } %376, 0
%378 = extractvalue { double, double } %376, 1
%379 = fptrunc double %377 to float
%380 = fptrunc double %378 to float
%381 = call float @llvm.copysign.f32(float 1.000000e+00, float %380)
%382 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%383 = fcmp une float %381, %382
br i1 %383, label %384, label %386
384: ; preds = %369, %356
%385 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 195)
br label %386
386: ; preds = %384, %369
%387 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %21, i32 0, i32 0
%388 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %21, i32 0, i32 1
store x86_fp80 0xK7FFF8000000000000000, x86_fp80* %387
store x86_fp80 0xK00000000000000000000, x86_fp80* %388
%389 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %21)
%390 = extractvalue { x86_fp80, x86_fp80 } %389, 0
%391 = extractvalue { x86_fp80, x86_fp80 } %389, 1
%392 = fcmp une x86_fp80 %390, 0xK7FFF8000000000000000
%393 = fcmp une x86_fp80 %391, 0xK00000000000000000000
%394 = or i1 %392, %393
br i1 %394, label %406, label %395
395: ; preds = %386
%396 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %22, i32 0, i32 0
%397 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %22, i32 0, i32 1
store x86_fp80 0xK7FFF8000000000000000, x86_fp80* %396
store x86_fp80 0xK00000000000000000000, x86_fp80* %397
%398 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %22)
%399 = extractvalue { x86_fp80, x86_fp80 } %398, 0
%400 = extractvalue { x86_fp80, x86_fp80 } %398, 1
%401 = fptrunc x86_fp80 %399 to float
%402 = fptrunc x86_fp80 %400 to float
%403 = call float @llvm.copysign.f32(float 1.000000e+00, float %402)
%404 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%405 = fcmp une float %403, %404
br i1 %405, label %406, label %408
406: ; preds = %395, %386
%407 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 195)
br label %408
408: ; preds = %406, %395
br label %409
409: ; preds = %408
br label %410
410: ; preds = %409
%411 = getelementptr inbounds { float, float }, { float, float }* %23, i32 0, i32 0
%412 = getelementptr inbounds { float, float }, { float, float }* %23, i32 0, i32 1
store float 0x7FF0000000000000, float* %411
store float 0.000000e+00, float* %412
%413 = bitcast { float, float }* %23 to <2 x float>*
%414 = load <2 x float>, <2 x float>* %413
%415 = call <2 x float> @cprojf(<2 x float> %414)
%416 = bitcast { float, float }* %24 to <2 x float>*
store <2 x float> %415, <2 x float>* %416
%417 = getelementptr inbounds { float, float }, { float, float }* %24, i32 0, i32 0
%418 = load float, float* %417
%419 = getelementptr inbounds { float, float }, { float, float }* %24, i32 0, i32 1
%420 = load float, float* %419
%421 = fcmp une float %418, 0x7FF0000000000000
%422 = fcmp une float %420, -0.000000e+00
%423 = or i1 %421, %422
br i1 %423, label %438, label %424
424: ; preds = %410
%425 = getelementptr inbounds { float, float }, { float, float }* %25, i32 0, i32 0
%426 = getelementptr inbounds { float, float }, { float, float }* %25, i32 0, i32 1
store float 0x7FF0000000000000, float* %425
store float 0.000000e+00, float* %426
%427 = bitcast { float, float }* %25 to <2 x float>*
%428 = load <2 x float>, <2 x float>* %427
%429 = call <2 x float> @cprojf(<2 x float> %428)
%430 = bitcast { float, float }* %26 to <2 x float>*
store <2 x float> %429, <2 x float>* %430
%431 = getelementptr inbounds { float, float }, { float, float }* %26, i32 0, i32 0
%432 = load float, float* %431
%433 = getelementptr inbounds { float, float }, { float, float }* %26, i32 0, i32 1
%434 = load float, float* %433
%435 = call float @llvm.copysign.f32(float 1.000000e+00, float %434)
%436 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%437 = fcmp une float %435, %436
br i1 %437, label %438, label %440
438: ; preds = %424, %410
%439 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 196)
br label %440
440: ; preds = %438, %424
%441 = getelementptr inbounds { double, double }, { double, double }* %27, i32 0, i32 0
%442 = getelementptr inbounds { double, double }, { double, double }* %27, i32 0, i32 1
store double 0x7FF0000000000000, double* %441
store double 0.000000e+00, double* %442
%443 = getelementptr inbounds { double, double }, { double, double }* %27, i32 0, i32 0
%444 = load double, double* %443
%445 = getelementptr inbounds { double, double }, { double, double }* %27, i32 0, i32 1
%446 = load double, double* %445
%447 = call { double, double } @cproj(double %444, double %446)
%448 = extractvalue { double, double } %447, 0
%449 = extractvalue { double, double } %447, 1
%450 = fcmp une double %448, 0x7FF0000000000000
%451 = fcmp une double %449, -0.000000e+00
%452 = or i1 %450, %451
br i1 %452, label %468, label %453
453: ; preds = %440
%454 = getelementptr inbounds { double, double }, { double, double }* %28, i32 0, i32 0
%455 = getelementptr inbounds { double, double }, { double, double }* %28, i32 0, i32 1
store double 0x7FF0000000000000, double* %454
store double 0.000000e+00, double* %455
%456 = getelementptr inbounds { double, double }, { double, double }* %28, i32 0, i32 0
%457 = load double, double* %456
%458 = getelementptr inbounds { double, double }, { double, double }* %28, i32 0, i32 1
%459 = load double, double* %458
%460 = call { double, double } @cproj(double %457, double %459)
%461 = extractvalue { double, double } %460, 0
%462 = extractvalue { double, double } %460, 1
%463 = fptrunc double %461 to float
%464 = fptrunc double %462 to float
%465 = call float @llvm.copysign.f32(float 1.000000e+00, float %464)
%466 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%467 = fcmp une float %465, %466
br i1 %467, label %468, label %470
468: ; preds = %453, %440
%469 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 196)
br label %470
470: ; preds = %468, %453
%471 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %29, i32 0, i32 0
%472 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %29, i32 0, i32 1
store x86_fp80 0xK7FFF8000000000000000, x86_fp80* %471
store x86_fp80 0xK00000000000000000000, x86_fp80* %472
%473 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %29)
%474 = extractvalue { x86_fp80, x86_fp80 } %473, 0
%475 = extractvalue { x86_fp80, x86_fp80 } %473, 1
%476 = fcmp une x86_fp80 %474, 0xK7FFF8000000000000000
%477 = fcmp une x86_fp80 %475, 0xK80000000000000000000
%478 = or i1 %476, %477
br i1 %478, label %490, label %479
479: ; preds = %470
%480 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %30, i32 0, i32 0
%481 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %30, i32 0, i32 1
store x86_fp80 0xK7FFF8000000000000000, x86_fp80* %480
store x86_fp80 0xK00000000000000000000, x86_fp80* %481
%482 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %30)
%483 = extractvalue { x86_fp80, x86_fp80 } %482, 0
%484 = extractvalue { x86_fp80, x86_fp80 } %482, 1
%485 = fptrunc x86_fp80 %483 to float
%486 = fptrunc x86_fp80 %484 to float
%487 = call float @llvm.copysign.f32(float 1.000000e+00, float %486)
%488 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%489 = fcmp une float %487, %488
br i1 %489, label %490, label %492
490: ; preds = %479, %470
%491 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 196)
br label %492
492: ; preds = %490, %479
br label %493
493: ; preds = %492
br label %494
494: ; preds = %493
%495 = getelementptr inbounds { float, float }, { float, float }* %31, i32 0, i32 0
%496 = getelementptr inbounds { float, float }, { float, float }* %31, i32 0, i32 1
store float 0x7FF0000000000000, float* %495
store float 4.000000e+00, float* %496
%497 = bitcast { float, float }* %31 to <2 x float>*
%498 = load <2 x float>, <2 x float>* %497
%499 = call <2 x float> @cprojf(<2 x float> %498)
%500 = bitcast { float, float }* %32 to <2 x float>*
store <2 x float> %499, <2 x float>* %500
%501 = getelementptr inbounds { float, float }, { float, float }* %32, i32 0, i32 0
%502 = load float, float* %501
%503 = getelementptr inbounds { float, float }, { float, float }* %32, i32 0, i32 1
%504 = load float, float* %503
%505 = fcmp une float %502, 0x7FF0000000000000
%506 = fcmp une float %504, 0.000000e+00
%507 = or i1 %505, %506
br i1 %507, label %522, label %508
508: ; preds = %494
%509 = getelementptr inbounds { float, float }, { float, float }* %33, i32 0, i32 0
%510 = getelementptr inbounds { float, float }, { float, float }* %33, i32 0, i32 1
store float 0x7FF0000000000000, float* %509
store float 4.000000e+00, float* %510
%511 = bitcast { float, float }* %33 to <2 x float>*
%512 = load <2 x float>, <2 x float>* %511
%513 = call <2 x float> @cprojf(<2 x float> %512)
%514 = bitcast { float, float }* %34 to <2 x float>*
store <2 x float> %513, <2 x float>* %514
%515 = getelementptr inbounds { float, float }, { float, float }* %34, i32 0, i32 0
%516 = load float, float* %515
%517 = getelementptr inbounds { float, float }, { float, float }* %34, i32 0, i32 1
%518 = load float, float* %517
%519 = call float @llvm.copysign.f32(float 1.000000e+00, float %518)
%520 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%521 = fcmp une float %519, %520
br i1 %521, label %522, label %524
522: ; preds = %508, %494
%523 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 197)
br label %524
524: ; preds = %522, %508
%525 = getelementptr inbounds { double, double }, { double, double }* %35, i32 0, i32 0
%526 = getelementptr inbounds { double, double }, { double, double }* %35, i32 0, i32 1
store double 0x7FF0000000000000, double* %525
store double 4.000000e+00, double* %526
%527 = getelementptr inbounds { double, double }, { double, double }* %35, i32 0, i32 0
%528 = load double, double* %527
%529 = getelementptr inbounds { double, double }, { double, double }* %35, i32 0, i32 1
%530 = load double, double* %529
%531 = call { double, double } @cproj(double %528, double %530)
%532 = extractvalue { double, double } %531, 0
%533 = extractvalue { double, double } %531, 1
%534 = fcmp une double %532, 0x7FF0000000000000
%535 = fcmp une double %533, 0.000000e+00
%536 = or i1 %534, %535
br i1 %536, label %552, label %537
537: ; preds = %524
%538 = getelementptr inbounds { double, double }, { double, double }* %36, i32 0, i32 0
%539 = getelementptr inbounds { double, double }, { double, double }* %36, i32 0, i32 1
store double 0x7FF0000000000000, double* %538
store double 4.000000e+00, double* %539
%540 = getelementptr inbounds { double, double }, { double, double }* %36, i32 0, i32 0
%541 = load double, double* %540
%542 = getelementptr inbounds { double, double }, { double, double }* %36, i32 0, i32 1
%543 = load double, double* %542
%544 = call { double, double } @cproj(double %541, double %543)
%545 = extractvalue { double, double } %544, 0
%546 = extractvalue { double, double } %544, 1
%547 = fptrunc double %545 to float
%548 = fptrunc double %546 to float
%549 = call float @llvm.copysign.f32(float 1.000000e+00, float %548)
%550 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%551 = fcmp une float %549, %550
br i1 %551, label %552, label %554
552: ; preds = %537, %524
%553 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 197)
br label %554
554: ; preds = %552, %537
%555 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %37, i32 0, i32 0
%556 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %37, i32 0, i32 1
store x86_fp80 0xK7FFF8000000000000000, x86_fp80* %555
store x86_fp80 0xK40018000000000000000, x86_fp80* %556
%557 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %37)
%558 = extractvalue { x86_fp80, x86_fp80 } %557, 0
%559 = extractvalue { x86_fp80, x86_fp80 } %557, 1
%560 = fcmp une x86_fp80 %558, 0xK7FFF8000000000000000
%561 = fcmp une x86_fp80 %559, 0xK00000000000000000000
%562 = or i1 %560, %561
br i1 %562, label %574, label %563
563: ; preds = %554
%564 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %38, i32 0, i32 0
%565 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %38, i32 0, i32 1
store x86_fp80 0xK7FFF8000000000000000, x86_fp80* %564
store x86_fp80 0xK40018000000000000000, x86_fp80* %565
%566 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %38)
%567 = extractvalue { x86_fp80, x86_fp80 } %566, 0
%568 = extractvalue { x86_fp80, x86_fp80 } %566, 1
%569 = fptrunc x86_fp80 %567 to float
%570 = fptrunc x86_fp80 %568 to float
%571 = call float @llvm.copysign.f32(float 1.000000e+00, float %570)
%572 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%573 = fcmp une float %571, %572
br i1 %573, label %574, label %576
574: ; preds = %563, %554
%575 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 197)
br label %576
576: ; preds = %574, %563
br label %577
577: ; preds = %576
br label %578
578: ; preds = %577
%579 = getelementptr inbounds { float, float }, { float, float }* %39, i32 0, i32 0
%580 = getelementptr inbounds { float, float }, { float, float }* %39, i32 0, i32 1
store float 0x7FF0000000000000, float* %579
store float -4.000000e+00, float* %580
%581 = bitcast { float, float }* %39 to <2 x float>*
%582 = load <2 x float>, <2 x float>* %581
%583 = call <2 x float> @cprojf(<2 x float> %582)
%584 = bitcast { float, float }* %40 to <2 x float>*
store <2 x float> %583, <2 x float>* %584
%585 = getelementptr inbounds { float, float }, { float, float }* %40, i32 0, i32 0
%586 = load float, float* %585
%587 = getelementptr inbounds { float, float }, { float, float }* %40, i32 0, i32 1
%588 = load float, float* %587
%589 = fcmp une float %586, 0x7FF0000000000000
%590 = fcmp une float %588, -0.000000e+00
%591 = or i1 %589, %590
br i1 %591, label %606, label %592
592: ; preds = %578
%593 = getelementptr inbounds { float, float }, { float, float }* %41, i32 0, i32 0
%594 = getelementptr inbounds { float, float }, { float, float }* %41, i32 0, i32 1
store float 0x7FF0000000000000, float* %593
store float -4.000000e+00, float* %594
%595 = bitcast { float, float }* %41 to <2 x float>*
%596 = load <2 x float>, <2 x float>* %595
%597 = call <2 x float> @cprojf(<2 x float> %596)
%598 = bitcast { float, float }* %42 to <2 x float>*
store <2 x float> %597, <2 x float>* %598
%599 = getelementptr inbounds { float, float }, { float, float }* %42, i32 0, i32 0
%600 = load float, float* %599
%601 = getelementptr inbounds { float, float }, { float, float }* %42, i32 0, i32 1
%602 = load float, float* %601
%603 = call float @llvm.copysign.f32(float 1.000000e+00, float %602)
%604 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%605 = fcmp une float %603, %604
br i1 %605, label %606, label %608
606: ; preds = %592, %578
%607 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 198)
br label %608
608: ; preds = %606, %592
%609 = getelementptr inbounds { double, double }, { double, double }* %43, i32 0, i32 0
%610 = getelementptr inbounds { double, double }, { double, double }* %43, i32 0, i32 1
store double 0x7FF0000000000000, double* %609
store double -4.000000e+00, double* %610
%611 = getelementptr inbounds { double, double }, { double, double }* %43, i32 0, i32 0
%612 = load double, double* %611
%613 = getelementptr inbounds { double, double }, { double, double }* %43, i32 0, i32 1
%614 = load double, double* %613
%615 = call { double, double } @cproj(double %612, double %614)
%616 = extractvalue { double, double } %615, 0
%617 = extractvalue { double, double } %615, 1
%618 = fcmp une double %616, 0x7FF0000000000000
%619 = fcmp une double %617, -0.000000e+00
%620 = or i1 %618, %619
br i1 %620, label %636, label %621
621: ; preds = %608
%622 = getelementptr inbounds { double, double }, { double, double }* %44, i32 0, i32 0
%623 = getelementptr inbounds { double, double }, { double, double }* %44, i32 0, i32 1
store double 0x7FF0000000000000, double* %622
store double -4.000000e+00, double* %623
%624 = getelementptr inbounds { double, double }, { double, double }* %44, i32 0, i32 0
%625 = load double, double* %624
%626 = getelementptr inbounds { double, double }, { double, double }* %44, i32 0, i32 1
%627 = load double, double* %626
%628 = call { double, double } @cproj(double %625, double %627)
%629 = extractvalue { double, double } %628, 0
%630 = extractvalue { double, double } %628, 1
%631 = fptrunc double %629 to float
%632 = fptrunc double %630 to float
%633 = call float @llvm.copysign.f32(float 1.000000e+00, float %632)
%634 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%635 = fcmp une float %633, %634
br i1 %635, label %636, label %638
636: ; preds = %621, %608
%637 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 198)
br label %638
638: ; preds = %636, %621
%639 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %45, i32 0, i32 0
%640 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %45, i32 0, i32 1
store x86_fp80 0xK7FFF8000000000000000, x86_fp80* %639
store x86_fp80 0xKC0018000000000000000, x86_fp80* %640
%641 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %45)
%642 = extractvalue { x86_fp80, x86_fp80 } %641, 0
%643 = extractvalue { x86_fp80, x86_fp80 } %641, 1
%644 = fcmp une x86_fp80 %642, 0xK7FFF8000000000000000
%645 = fcmp une x86_fp80 %643, 0xK80000000000000000000
%646 = or i1 %644, %645
br i1 %646, label %658, label %647
647: ; preds = %638
%648 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %46, i32 0, i32 0
%649 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %46, i32 0, i32 1
store x86_fp80 0xK7FFF8000000000000000, x86_fp80* %648
store x86_fp80 0xKC0018000000000000000, x86_fp80* %649
%650 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %46)
%651 = extractvalue { x86_fp80, x86_fp80 } %650, 0
%652 = extractvalue { x86_fp80, x86_fp80 } %650, 1
%653 = fptrunc x86_fp80 %651 to float
%654 = fptrunc x86_fp80 %652 to float
%655 = call float @llvm.copysign.f32(float 1.000000e+00, float %654)
%656 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%657 = fcmp une float %655, %656
br i1 %657, label %658, label %660
658: ; preds = %647, %638
%659 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 198)
br label %660
660: ; preds = %658, %647
br label %661
661: ; preds = %660
br label %662
662: ; preds = %661
%663 = getelementptr inbounds { float, float }, { float, float }* %47, i32 0, i32 0
%664 = getelementptr inbounds { float, float }, { float, float }* %47, i32 0, i32 1
store float 0xFFF0000000000000, float* %663
store float 0.000000e+00, float* %664
%665 = bitcast { float, float }* %47 to <2 x float>*
%666 = load <2 x float>, <2 x float>* %665
%667 = call <2 x float> @cprojf(<2 x float> %666)
%668 = bitcast { float, float }* %48 to <2 x float>*
store <2 x float> %667, <2 x float>* %668
%669 = getelementptr inbounds { float, float }, { float, float }* %48, i32 0, i32 0
%670 = load float, float* %669
%671 = getelementptr inbounds { float, float }, { float, float }* %48, i32 0, i32 1
%672 = load float, float* %671
%673 = fcmp une float %670, 0x7FF0000000000000
%674 = fcmp une float %672, 0.000000e+00
%675 = or i1 %673, %674
br i1 %675, label %690, label %676
676: ; preds = %662
%677 = getelementptr inbounds { float, float }, { float, float }* %49, i32 0, i32 0
%678 = getelementptr inbounds { float, float }, { float, float }* %49, i32 0, i32 1
store float 0xFFF0000000000000, float* %677
store float 0.000000e+00, float* %678
%679 = bitcast { float, float }* %49 to <2 x float>*
%680 = load <2 x float>, <2 x float>* %679
%681 = call <2 x float> @cprojf(<2 x float> %680)
%682 = bitcast { float, float }* %50 to <2 x float>*
store <2 x float> %681, <2 x float>* %682
%683 = getelementptr inbounds { float, float }, { float, float }* %50, i32 0, i32 0
%684 = load float, float* %683
%685 = getelementptr inbounds { float, float }, { float, float }* %50, i32 0, i32 1
%686 = load float, float* %685
%687 = call float @llvm.copysign.f32(float 1.000000e+00, float %686)
%688 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%689 = fcmp une float %687, %688
br i1 %689, label %690, label %692
690: ; preds = %676, %662
%691 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 199)
br label %692
692: ; preds = %690, %676
%693 = getelementptr inbounds { double, double }, { double, double }* %51, i32 0, i32 0
%694 = getelementptr inbounds { double, double }, { double, double }* %51, i32 0, i32 1
store double 0xFFF0000000000000, double* %693
store double 0.000000e+00, double* %694
%695 = getelementptr inbounds { double, double }, { double, double }* %51, i32 0, i32 0
%696 = load double, double* %695
%697 = getelementptr inbounds { double, double }, { double, double }* %51, i32 0, i32 1
%698 = load double, double* %697
%699 = call { double, double } @cproj(double %696, double %698)
%700 = extractvalue { double, double } %699, 0
%701 = extractvalue { double, double } %699, 1
%702 = fcmp une double %700, 0x7FF0000000000000
%703 = fcmp une double %701, 0.000000e+00
%704 = or i1 %702, %703
br i1 %704, label %720, label %705
705: ; preds = %692
%706 = getelementptr inbounds { double, double }, { double, double }* %52, i32 0, i32 0
%707 = getelementptr inbounds { double, double }, { double, double }* %52, i32 0, i32 1
store double 0xFFF0000000000000, double* %706
store double 0.000000e+00, double* %707
%708 = getelementptr inbounds { double, double }, { double, double }* %52, i32 0, i32 0
%709 = load double, double* %708
%710 = getelementptr inbounds { double, double }, { double, double }* %52, i32 0, i32 1
%711 = load double, double* %710
%712 = call { double, double } @cproj(double %709, double %711)
%713 = extractvalue { double, double } %712, 0
%714 = extractvalue { double, double } %712, 1
%715 = fptrunc double %713 to float
%716 = fptrunc double %714 to float
%717 = call float @llvm.copysign.f32(float 1.000000e+00, float %716)
%718 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%719 = fcmp une float %717, %718
br i1 %719, label %720, label %722
720: ; preds = %705, %692
%721 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 199)
br label %722
722: ; preds = %720, %705
%723 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %53, i32 0, i32 0
%724 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %53, i32 0, i32 1
store x86_fp80 0xKFFFF8000000000000000, x86_fp80* %723
store x86_fp80 0xK00000000000000000000, x86_fp80* %724
%725 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %53)
%726 = extractvalue { x86_fp80, x86_fp80 } %725, 0
%727 = extractvalue { x86_fp80, x86_fp80 } %725, 1
%728 = fcmp une x86_fp80 %726, 0xK7FFF8000000000000000
%729 = fcmp une x86_fp80 %727, 0xK00000000000000000000
%730 = or i1 %728, %729
br i1 %730, label %742, label %731
731: ; preds = %722
%732 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %54, i32 0, i32 0
%733 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %54, i32 0, i32 1
store x86_fp80 0xKFFFF8000000000000000, x86_fp80* %732
store x86_fp80 0xK00000000000000000000, x86_fp80* %733
%734 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %54)
%735 = extractvalue { x86_fp80, x86_fp80 } %734, 0
%736 = extractvalue { x86_fp80, x86_fp80 } %734, 1
%737 = fptrunc x86_fp80 %735 to float
%738 = fptrunc x86_fp80 %736 to float
%739 = call float @llvm.copysign.f32(float 1.000000e+00, float %738)
%740 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%741 = fcmp une float %739, %740
br i1 %741, label %742, label %744
742: ; preds = %731, %722
%743 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 199)
br label %744
744: ; preds = %742, %731
br label %745
745: ; preds = %744
br label %746
746: ; preds = %745
%747 = getelementptr inbounds { float, float }, { float, float }* %55, i32 0, i32 0
%748 = getelementptr inbounds { float, float }, { float, float }* %55, i32 0, i32 1
store float 0xFFF0000000000000, float* %747
store float 0.000000e+00, float* %748
%749 = bitcast { float, float }* %55 to <2 x float>*
%750 = load <2 x float>, <2 x float>* %749
%751 = call <2 x float> @cprojf(<2 x float> %750)
%752 = bitcast { float, float }* %56 to <2 x float>*
store <2 x float> %751, <2 x float>* %752
%753 = getelementptr inbounds { float, float }, { float, float }* %56, i32 0, i32 0
%754 = load float, float* %753
%755 = getelementptr inbounds { float, float }, { float, float }* %56, i32 0, i32 1
%756 = load float, float* %755
%757 = fcmp une float %754, 0x7FF0000000000000
%758 = fcmp une float %756, -0.000000e+00
%759 = or i1 %757, %758
br i1 %759, label %774, label %760
760: ; preds = %746
%761 = getelementptr inbounds { float, float }, { float, float }* %57, i32 0, i32 0
%762 = getelementptr inbounds { float, float }, { float, float }* %57, i32 0, i32 1
store float 0xFFF0000000000000, float* %761
store float 0.000000e+00, float* %762
%763 = bitcast { float, float }* %57 to <2 x float>*
%764 = load <2 x float>, <2 x float>* %763
%765 = call <2 x float> @cprojf(<2 x float> %764)
%766 = bitcast { float, float }* %58 to <2 x float>*
store <2 x float> %765, <2 x float>* %766
%767 = getelementptr inbounds { float, float }, { float, float }* %58, i32 0, i32 0
%768 = load float, float* %767
%769 = getelementptr inbounds { float, float }, { float, float }* %58, i32 0, i32 1
%770 = load float, float* %769
%771 = call float @llvm.copysign.f32(float 1.000000e+00, float %770)
%772 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%773 = fcmp une float %771, %772
br i1 %773, label %774, label %776
774: ; preds = %760, %746
%775 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 200)
br label %776
776: ; preds = %774, %760
%777 = getelementptr inbounds { double, double }, { double, double }* %59, i32 0, i32 0
%778 = getelementptr inbounds { double, double }, { double, double }* %59, i32 0, i32 1
store double 0xFFF0000000000000, double* %777
store double 0.000000e+00, double* %778
%779 = getelementptr inbounds { double, double }, { double, double }* %59, i32 0, i32 0
%780 = load double, double* %779
%781 = getelementptr inbounds { double, double }, { double, double }* %59, i32 0, i32 1
%782 = load double, double* %781
%783 = call { double, double } @cproj(double %780, double %782)
%784 = extractvalue { double, double } %783, 0
%785 = extractvalue { double, double } %783, 1
%786 = fcmp une double %784, 0x7FF0000000000000
%787 = fcmp une double %785, -0.000000e+00
%788 = or i1 %786, %787
br i1 %788, label %804, label %789
789: ; preds = %776
%790 = getelementptr inbounds { double, double }, { double, double }* %60, i32 0, i32 0
%791 = getelementptr inbounds { double, double }, { double, double }* %60, i32 0, i32 1
store double 0xFFF0000000000000, double* %790
store double 0.000000e+00, double* %791
%792 = getelementptr inbounds { double, double }, { double, double }* %60, i32 0, i32 0
%793 = load double, double* %792
%794 = getelementptr inbounds { double, double }, { double, double }* %60, i32 0, i32 1
%795 = load double, double* %794
%796 = call { double, double } @cproj(double %793, double %795)
%797 = extractvalue { double, double } %796, 0
%798 = extractvalue { double, double } %796, 1
%799 = fptrunc double %797 to float
%800 = fptrunc double %798 to float
%801 = call float @llvm.copysign.f32(float 1.000000e+00, float %800)
%802 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%803 = fcmp une float %801, %802
br i1 %803, label %804, label %806
804: ; preds = %789, %776
%805 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 200)
br label %806
806: ; preds = %804, %789
%807 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %61, i32 0, i32 0
%808 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %61, i32 0, i32 1
store x86_fp80 0xKFFFF8000000000000000, x86_fp80* %807
store x86_fp80 0xK00000000000000000000, x86_fp80* %808
%809 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %61)
%810 = extractvalue { x86_fp80, x86_fp80 } %809, 0
%811 = extractvalue { x86_fp80, x86_fp80 } %809, 1
%812 = fcmp une x86_fp80 %810, 0xK7FFF8000000000000000
%813 = fcmp une x86_fp80 %811, 0xK80000000000000000000
%814 = or i1 %812, %813
br i1 %814, label %826, label %815
815: ; preds = %806
%816 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %62, i32 0, i32 0
%817 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %62, i32 0, i32 1
store x86_fp80 0xKFFFF8000000000000000, x86_fp80* %816
store x86_fp80 0xK00000000000000000000, x86_fp80* %817
%818 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %62)
%819 = extractvalue { x86_fp80, x86_fp80 } %818, 0
%820 = extractvalue { x86_fp80, x86_fp80 } %818, 1
%821 = fptrunc x86_fp80 %819 to float
%822 = fptrunc x86_fp80 %820 to float
%823 = call float @llvm.copysign.f32(float 1.000000e+00, float %822)
%824 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%825 = fcmp une float %823, %824
br i1 %825, label %826, label %828
826: ; preds = %815, %806
%827 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 200)
br label %828
828: ; preds = %826, %815
br label %829
829: ; preds = %828
br label %830
830: ; preds = %829
%831 = getelementptr inbounds { float, float }, { float, float }* %63, i32 0, i32 0
%832 = getelementptr inbounds { float, float }, { float, float }* %63, i32 0, i32 1
store float 0xFFF0000000000000, float* %831
store float 4.000000e+00, float* %832
%833 = bitcast { float, float }* %63 to <2 x float>*
%834 = load <2 x float>, <2 x float>* %833
%835 = call <2 x float> @cprojf(<2 x float> %834)
%836 = bitcast { float, float }* %64 to <2 x float>*
store <2 x float> %835, <2 x float>* %836
%837 = getelementptr inbounds { float, float }, { float, float }* %64, i32 0, i32 0
%838 = load float, float* %837
%839 = getelementptr inbounds { float, float }, { float, float }* %64, i32 0, i32 1
%840 = load float, float* %839
%841 = fcmp une float %838, 0x7FF0000000000000
%842 = fcmp une float %840, 0.000000e+00
%843 = or i1 %841, %842
br i1 %843, label %858, label %844
844: ; preds = %830
%845 = getelementptr inbounds { float, float }, { float, float }* %65, i32 0, i32 0
%846 = getelementptr inbounds { float, float }, { float, float }* %65, i32 0, i32 1
store float 0xFFF0000000000000, float* %845
store float 4.000000e+00, float* %846
%847 = bitcast { float, float }* %65 to <2 x float>*
%848 = load <2 x float>, <2 x float>* %847
%849 = call <2 x float> @cprojf(<2 x float> %848)
%850 = bitcast { float, float }* %66 to <2 x float>*
store <2 x float> %849, <2 x float>* %850
%851 = getelementptr inbounds { float, float }, { float, float }* %66, i32 0, i32 0
%852 = load float, float* %851
%853 = getelementptr inbounds { float, float }, { float, float }* %66, i32 0, i32 1
%854 = load float, float* %853
%855 = call float @llvm.copysign.f32(float 1.000000e+00, float %854)
%856 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%857 = fcmp une float %855, %856
br i1 %857, label %858, label %860
858: ; preds = %844, %830
%859 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 201)
br label %860
860: ; preds = %858, %844
%861 = getelementptr inbounds { double, double }, { double, double }* %67, i32 0, i32 0
%862 = getelementptr inbounds { double, double }, { double, double }* %67, i32 0, i32 1
store double 0xFFF0000000000000, double* %861
store double 4.000000e+00, double* %862
%863 = getelementptr inbounds { double, double }, { double, double }* %67, i32 0, i32 0
%864 = load double, double* %863
%865 = getelementptr inbounds { double, double }, { double, double }* %67, i32 0, i32 1
%866 = load double, double* %865
%867 = call { double, double } @cproj(double %864, double %866)
%868 = extractvalue { double, double } %867, 0
%869 = extractvalue { double, double } %867, 1
%870 = fcmp une double %868, 0x7FF0000000000000
%871 = fcmp une double %869, 0.000000e+00
%872 = or i1 %870, %871
br i1 %872, label %888, label %873
873: ; preds = %860
%874 = getelementptr inbounds { double, double }, { double, double }* %68, i32 0, i32 0
%875 = getelementptr inbounds { double, double }, { double, double }* %68, i32 0, i32 1
store double 0xFFF0000000000000, double* %874
store double 4.000000e+00, double* %875
%876 = getelementptr inbounds { double, double }, { double, double }* %68, i32 0, i32 0
%877 = load double, double* %876
%878 = getelementptr inbounds { double, double }, { double, double }* %68, i32 0, i32 1
%879 = load double, double* %878
%880 = call { double, double } @cproj(double %877, double %879)
%881 = extractvalue { double, double } %880, 0
%882 = extractvalue { double, double } %880, 1
%883 = fptrunc double %881 to float
%884 = fptrunc double %882 to float
%885 = call float @llvm.copysign.f32(float 1.000000e+00, float %884)
%886 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%887 = fcmp une float %885, %886
br i1 %887, label %888, label %890
888: ; preds = %873, %860
%889 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 201)
br label %890
890: ; preds = %888, %873
%891 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %69, i32 0, i32 0
%892 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %69, i32 0, i32 1
store x86_fp80 0xKFFFF8000000000000000, x86_fp80* %891
store x86_fp80 0xK40018000000000000000, x86_fp80* %892
%893 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %69)
%894 = extractvalue { x86_fp80, x86_fp80 } %893, 0
%895 = extractvalue { x86_fp80, x86_fp80 } %893, 1
%896 = fcmp une x86_fp80 %894, 0xK7FFF8000000000000000
%897 = fcmp une x86_fp80 %895, 0xK00000000000000000000
%898 = or i1 %896, %897
br i1 %898, label %910, label %899
899: ; preds = %890
%900 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %70, i32 0, i32 0
%901 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %70, i32 0, i32 1
store x86_fp80 0xKFFFF8000000000000000, x86_fp80* %900
store x86_fp80 0xK40018000000000000000, x86_fp80* %901
%902 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %70)
%903 = extractvalue { x86_fp80, x86_fp80 } %902, 0
%904 = extractvalue { x86_fp80, x86_fp80 } %902, 1
%905 = fptrunc x86_fp80 %903 to float
%906 = fptrunc x86_fp80 %904 to float
%907 = call float @llvm.copysign.f32(float 1.000000e+00, float %906)
%908 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%909 = fcmp une float %907, %908
br i1 %909, label %910, label %912
910: ; preds = %899, %890
%911 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 201)
br label %912
912: ; preds = %910, %899
br label %913
913: ; preds = %912
br label %914
914: ; preds = %913
%915 = getelementptr inbounds { float, float }, { float, float }* %71, i32 0, i32 0
%916 = getelementptr inbounds { float, float }, { float, float }* %71, i32 0, i32 1
store float 0xFFF0000000000000, float* %915
store float -4.000000e+00, float* %916
%917 = bitcast { float, float }* %71 to <2 x float>*
%918 = load <2 x float>, <2 x float>* %917
%919 = call <2 x float> @cprojf(<2 x float> %918)
%920 = bitcast { float, float }* %72 to <2 x float>*
store <2 x float> %919, <2 x float>* %920
%921 = getelementptr inbounds { float, float }, { float, float }* %72, i32 0, i32 0
%922 = load float, float* %921
%923 = getelementptr inbounds { float, float }, { float, float }* %72, i32 0, i32 1
%924 = load float, float* %923
%925 = fcmp une float %922, 0x7FF0000000000000
%926 = fcmp une float %924, -0.000000e+00
%927 = or i1 %925, %926
br i1 %927, label %942, label %928
928: ; preds = %914
%929 = getelementptr inbounds { float, float }, { float, float }* %73, i32 0, i32 0
%930 = getelementptr inbounds { float, float }, { float, float }* %73, i32 0, i32 1
store float 0xFFF0000000000000, float* %929
store float -4.000000e+00, float* %930
%931 = bitcast { float, float }* %73 to <2 x float>*
%932 = load <2 x float>, <2 x float>* %931
%933 = call <2 x float> @cprojf(<2 x float> %932)
%934 = bitcast { float, float }* %74 to <2 x float>*
store <2 x float> %933, <2 x float>* %934
%935 = getelementptr inbounds { float, float }, { float, float }* %74, i32 0, i32 0
%936 = load float, float* %935
%937 = getelementptr inbounds { float, float }, { float, float }* %74, i32 0, i32 1
%938 = load float, float* %937
%939 = call float @llvm.copysign.f32(float 1.000000e+00, float %938)
%940 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%941 = fcmp une float %939, %940
br i1 %941, label %942, label %944
942: ; preds = %928, %914
%943 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 202)
br label %944
944: ; preds = %942, %928
%945 = getelementptr inbounds { double, double }, { double, double }* %75, i32 0, i32 0
%946 = getelementptr inbounds { double, double }, { double, double }* %75, i32 0, i32 1
store double 0xFFF0000000000000, double* %945
store double -4.000000e+00, double* %946
%947 = getelementptr inbounds { double, double }, { double, double }* %75, i32 0, i32 0
%948 = load double, double* %947
%949 = getelementptr inbounds { double, double }, { double, double }* %75, i32 0, i32 1
%950 = load double, double* %949
%951 = call { double, double } @cproj(double %948, double %950)
%952 = extractvalue { double, double } %951, 0
%953 = extractvalue { double, double } %951, 1
%954 = fcmp une double %952, 0x7FF0000000000000
%955 = fcmp une double %953, -0.000000e+00
%956 = or i1 %954, %955
br i1 %956, label %972, label %957
957: ; preds = %944
%958 = getelementptr inbounds { double, double }, { double, double }* %76, i32 0, i32 0
%959 = getelementptr inbounds { double, double }, { double, double }* %76, i32 0, i32 1
store double 0xFFF0000000000000, double* %958
store double -4.000000e+00, double* %959
%960 = getelementptr inbounds { double, double }, { double, double }* %76, i32 0, i32 0
%961 = load double, double* %960
%962 = getelementptr inbounds { double, double }, { double, double }* %76, i32 0, i32 1
%963 = load double, double* %962
%964 = call { double, double } @cproj(double %961, double %963)
%965 = extractvalue { double, double } %964, 0
%966 = extractvalue { double, double } %964, 1
%967 = fptrunc double %965 to float
%968 = fptrunc double %966 to float
%969 = call float @llvm.copysign.f32(float 1.000000e+00, float %968)
%970 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%971 = fcmp une float %969, %970
br i1 %971, label %972, label %974
972: ; preds = %957, %944
%973 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 202)
br label %974
974: ; preds = %972, %957
%975 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %77, i32 0, i32 0
%976 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %77, i32 0, i32 1
store x86_fp80 0xKFFFF8000000000000000, x86_fp80* %975
store x86_fp80 0xKC0018000000000000000, x86_fp80* %976
%977 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %77)
%978 = extractvalue { x86_fp80, x86_fp80 } %977, 0
%979 = extractvalue { x86_fp80, x86_fp80 } %977, 1
%980 = fcmp une x86_fp80 %978, 0xK7FFF8000000000000000
%981 = fcmp une x86_fp80 %979, 0xK80000000000000000000
%982 = or i1 %980, %981
br i1 %982, label %994, label %983
983: ; preds = %974
%984 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %78, i32 0, i32 0
%985 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %78, i32 0, i32 1
store x86_fp80 0xKFFFF8000000000000000, x86_fp80* %984
store x86_fp80 0xKC0018000000000000000, x86_fp80* %985
%986 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %78)
%987 = extractvalue { x86_fp80, x86_fp80 } %986, 0
%988 = extractvalue { x86_fp80, x86_fp80 } %986, 1
%989 = fptrunc x86_fp80 %987 to float
%990 = fptrunc x86_fp80 %988 to float
%991 = call float @llvm.copysign.f32(float 1.000000e+00, float %990)
%992 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%993 = fcmp une float %991, %992
br i1 %993, label %994, label %996
994: ; preds = %983, %974
%995 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 202)
br label %996
996: ; preds = %994, %983
br label %997
997: ; preds = %996
br label %998
998: ; preds = %997
br i1 true, label %999, label %1007
999: ; preds = %998
br i1 false, label %1000, label %1007
1000: ; preds = %999
%1001 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1002 = bitcast { float, float }* %79 to <2 x float>*
store <2 x float> %1001, <2 x float>* %1002
%1003 = getelementptr inbounds { float, float }, { float, float }* %79, i32 0, i32 0
%1004 = load float, float* %1003
%1005 = getelementptr inbounds { float, float }, { float, float }* %79, i32 0, i32 1
%1006 = load float, float* %1005
br label %1007
1007: ; preds = %1000, %999, %998
%1008 = phi float [ 0x7FF8000000000000, %998 ], [ 0x7FF8000000000000, %999 ], [ %1004, %1000 ]
%1009 = phi float [ 0x7FF0000000000000, %998 ], [ 0x7FF0000000000000, %999 ], [ %1006, %1000 ]
%1010 = fadd float 0.000000e+00, %1008
%1011 = fadd float 0.000000e+00, %1009
%1012 = getelementptr inbounds { float, float }, { float, float }* %80, i32 0, i32 0
%1013 = getelementptr inbounds { float, float }, { float, float }* %80, i32 0, i32 1
store float %1010, float* %1012
store float %1011, float* %1013
%1014 = bitcast { float, float }* %80 to <2 x float>*
%1015 = load <2 x float>, <2 x float>* %1014
%1016 = call <2 x float> @cprojf(<2 x float> %1015)
%1017 = bitcast { float, float }* %81 to <2 x float>*
store <2 x float> %1016, <2 x float>* %1017
%1018 = getelementptr inbounds { float, float }, { float, float }* %81, i32 0, i32 0
%1019 = load float, float* %1018
%1020 = getelementptr inbounds { float, float }, { float, float }* %81, i32 0, i32 1
%1021 = load float, float* %1020
%1022 = fcmp une float %1019, 0x7FF0000000000000
%1023 = fcmp une float %1021, 0.000000e+00
%1024 = or i1 %1022, %1023
br i1 %1024, label %1052, label %1025
1025: ; preds = %1007
br i1 true, label %1026, label %1034
1026: ; preds = %1025
br i1 false, label %1027, label %1034
1027: ; preds = %1026
%1028 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1029 = bitcast { float, float }* %82 to <2 x float>*
store <2 x float> %1028, <2 x float>* %1029
%1030 = getelementptr inbounds { float, float }, { float, float }* %82, i32 0, i32 0
%1031 = load float, float* %1030
%1032 = getelementptr inbounds { float, float }, { float, float }* %82, i32 0, i32 1
%1033 = load float, float* %1032
br label %1034
1034: ; preds = %1027, %1026, %1025
%1035 = phi float [ 0x7FF8000000000000, %1025 ], [ 0x7FF8000000000000, %1026 ], [ %1031, %1027 ]
%1036 = phi float [ 0x7FF0000000000000, %1025 ], [ 0x7FF0000000000000, %1026 ], [ %1033, %1027 ]
%1037 = fadd float 0.000000e+00, %1035
%1038 = fadd float 0.000000e+00, %1036
%1039 = getelementptr inbounds { float, float }, { float, float }* %83, i32 0, i32 0
%1040 = getelementptr inbounds { float, float }, { float, float }* %83, i32 0, i32 1
store float %1037, float* %1039
store float %1038, float* %1040
%1041 = bitcast { float, float }* %83 to <2 x float>*
%1042 = load <2 x float>, <2 x float>* %1041
%1043 = call <2 x float> @cprojf(<2 x float> %1042)
%1044 = bitcast { float, float }* %84 to <2 x float>*
store <2 x float> %1043, <2 x float>* %1044
%1045 = getelementptr inbounds { float, float }, { float, float }* %84, i32 0, i32 0
%1046 = load float, float* %1045
%1047 = getelementptr inbounds { float, float }, { float, float }* %84, i32 0, i32 1
%1048 = load float, float* %1047
%1049 = call float @llvm.copysign.f32(float 1.000000e+00, float %1048)
%1050 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%1051 = fcmp une float %1049, %1050
br i1 %1051, label %1052, label %1054
1052: ; preds = %1034, %1007
%1053 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 204)
br label %1054
1054: ; preds = %1052, %1034
br i1 true, label %1055, label %1063
1055: ; preds = %1054
br i1 false, label %1056, label %1063
1056: ; preds = %1055
%1057 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1058 = bitcast { float, float }* %85 to <2 x float>*
store <2 x float> %1057, <2 x float>* %1058
%1059 = getelementptr inbounds { float, float }, { float, float }* %85, i32 0, i32 0
%1060 = load float, float* %1059
%1061 = getelementptr inbounds { float, float }, { float, float }* %85, i32 0, i32 1
%1062 = load float, float* %1061
br label %1063
1063: ; preds = %1056, %1055, %1054
%1064 = phi float [ 0x7FF8000000000000, %1054 ], [ 0x7FF8000000000000, %1055 ], [ %1060, %1056 ]
%1065 = phi float [ 0x7FF0000000000000, %1054 ], [ 0x7FF0000000000000, %1055 ], [ %1062, %1056 ]
%1066 = fadd float 0.000000e+00, %1064
%1067 = fadd float 0.000000e+00, %1065
%1068 = fpext float %1066 to double
%1069 = fpext float %1067 to double
%1070 = getelementptr inbounds { double, double }, { double, double }* %86, i32 0, i32 0
%1071 = getelementptr inbounds { double, double }, { double, double }* %86, i32 0, i32 1
store double %1068, double* %1070
store double %1069, double* %1071
%1072 = getelementptr inbounds { double, double }, { double, double }* %86, i32 0, i32 0
%1073 = load double, double* %1072
%1074 = getelementptr inbounds { double, double }, { double, double }* %86, i32 0, i32 1
%1075 = load double, double* %1074
%1076 = call { double, double } @cproj(double %1073, double %1075)
%1077 = extractvalue { double, double } %1076, 0
%1078 = extractvalue { double, double } %1076, 1
%1079 = fcmp une double %1077, 0x7FF0000000000000
%1080 = fcmp une double %1078, 0.000000e+00
%1081 = or i1 %1079, %1080
br i1 %1081, label %1112, label %1082
1082: ; preds = %1063
br i1 true, label %1083, label %1091
1083: ; preds = %1082
br i1 false, label %1084, label %1091
1084: ; preds = %1083
%1085 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1086 = bitcast { float, float }* %87 to <2 x float>*
store <2 x float> %1085, <2 x float>* %1086
%1087 = getelementptr inbounds { float, float }, { float, float }* %87, i32 0, i32 0
%1088 = load float, float* %1087
%1089 = getelementptr inbounds { float, float }, { float, float }* %87, i32 0, i32 1
%1090 = load float, float* %1089
br label %1091
1091: ; preds = %1084, %1083, %1082
%1092 = phi float [ 0x7FF8000000000000, %1082 ], [ 0x7FF8000000000000, %1083 ], [ %1088, %1084 ]
%1093 = phi float [ 0x7FF0000000000000, %1082 ], [ 0x7FF0000000000000, %1083 ], [ %1090, %1084 ]
%1094 = fadd float 0.000000e+00, %1092
%1095 = fadd float 0.000000e+00, %1093
%1096 = fpext float %1094 to double
%1097 = fpext float %1095 to double
%1098 = getelementptr inbounds { double, double }, { double, double }* %88, i32 0, i32 0
%1099 = getelementptr inbounds { double, double }, { double, double }* %88, i32 0, i32 1
store double %1096, double* %1098
store double %1097, double* %1099
%1100 = getelementptr inbounds { double, double }, { double, double }* %88, i32 0, i32 0
%1101 = load double, double* %1100
%1102 = getelementptr inbounds { double, double }, { double, double }* %88, i32 0, i32 1
%1103 = load double, double* %1102
%1104 = call { double, double } @cproj(double %1101, double %1103)
%1105 = extractvalue { double, double } %1104, 0
%1106 = extractvalue { double, double } %1104, 1
%1107 = fptrunc double %1105 to float
%1108 = fptrunc double %1106 to float
%1109 = call float @llvm.copysign.f32(float 1.000000e+00, float %1108)
%1110 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%1111 = fcmp une float %1109, %1110
br i1 %1111, label %1112, label %1114
1112: ; preds = %1091, %1063
%1113 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 204)
br label %1114
1114: ; preds = %1112, %1091
br i1 true, label %1115, label %1123
1115: ; preds = %1114
br i1 false, label %1116, label %1123
1116: ; preds = %1115
%1117 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1118 = bitcast { float, float }* %89 to <2 x float>*
store <2 x float> %1117, <2 x float>* %1118
%1119 = getelementptr inbounds { float, float }, { float, float }* %89, i32 0, i32 0
%1120 = load float, float* %1119
%1121 = getelementptr inbounds { float, float }, { float, float }* %89, i32 0, i32 1
%1122 = load float, float* %1121
br label %1123
1123: ; preds = %1116, %1115, %1114
%1124 = phi float [ 0x7FF8000000000000, %1114 ], [ 0x7FF8000000000000, %1115 ], [ %1120, %1116 ]
%1125 = phi float [ 0x7FF0000000000000, %1114 ], [ 0x7FF0000000000000, %1115 ], [ %1122, %1116 ]
%1126 = fadd float 0.000000e+00, %1124
%1127 = fadd float 0.000000e+00, %1125
%1128 = fpext float %1126 to x86_fp80
%1129 = fpext float %1127 to x86_fp80
%1130 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %90, i32 0, i32 0
%1131 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %90, i32 0, i32 1
store x86_fp80 %1128, x86_fp80* %1130
store x86_fp80 %1129, x86_fp80* %1131
%1132 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %90)
%1133 = extractvalue { x86_fp80, x86_fp80 } %1132, 0
%1134 = extractvalue { x86_fp80, x86_fp80 } %1132, 1
%1135 = fcmp une x86_fp80 %1133, 0xK7FFF8000000000000000
%1136 = fcmp une x86_fp80 %1134, 0xK00000000000000000000
%1137 = or i1 %1135, %1136
br i1 %1137, label %1164, label %1138
1138: ; preds = %1123
br i1 true, label %1139, label %1147
1139: ; preds = %1138
br i1 false, label %1140, label %1147
1140: ; preds = %1139
%1141 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1142 = bitcast { float, float }* %91 to <2 x float>*
store <2 x float> %1141, <2 x float>* %1142
%1143 = getelementptr inbounds { float, float }, { float, float }* %91, i32 0, i32 0
%1144 = load float, float* %1143
%1145 = getelementptr inbounds { float, float }, { float, float }* %91, i32 0, i32 1
%1146 = load float, float* %1145
br label %1147
1147: ; preds = %1140, %1139, %1138
%1148 = phi float [ 0x7FF8000000000000, %1138 ], [ 0x7FF8000000000000, %1139 ], [ %1144, %1140 ]
%1149 = phi float [ 0x7FF0000000000000, %1138 ], [ 0x7FF0000000000000, %1139 ], [ %1146, %1140 ]
%1150 = fadd float 0.000000e+00, %1148
%1151 = fadd float 0.000000e+00, %1149
%1152 = fpext float %1150 to x86_fp80
%1153 = fpext float %1151 to x86_fp80
%1154 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %92, i32 0, i32 0
%1155 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %92, i32 0, i32 1
store x86_fp80 %1152, x86_fp80* %1154
store x86_fp80 %1153, x86_fp80* %1155
%1156 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %92)
%1157 = extractvalue { x86_fp80, x86_fp80 } %1156, 0
%1158 = extractvalue { x86_fp80, x86_fp80 } %1156, 1
%1159 = fptrunc x86_fp80 %1157 to float
%1160 = fptrunc x86_fp80 %1158 to float
%1161 = call float @llvm.copysign.f32(float 1.000000e+00, float %1160)
%1162 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%1163 = fcmp une float %1161, %1162
br i1 %1163, label %1164, label %1166
1164: ; preds = %1147, %1123
%1165 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 204)
br label %1166
1166: ; preds = %1164, %1147
br label %1167
1167: ; preds = %1166
br label %1168
1168: ; preds = %1167
br i1 true, label %1169, label %1177
1169: ; preds = %1168
br i1 false, label %1170, label %1177
1170: ; preds = %1169
%1171 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1172 = bitcast { float, float }* %93 to <2 x float>*
store <2 x float> %1171, <2 x float>* %1172
%1173 = getelementptr inbounds { float, float }, { float, float }* %93, i32 0, i32 0
%1174 = load float, float* %1173
%1175 = getelementptr inbounds { float, float }, { float, float }* %93, i32 0, i32 1
%1176 = load float, float* %1175
br label %1177
1177: ; preds = %1170, %1169, %1168
%1178 = phi float [ 0x7FF8000000000000, %1168 ], [ 0x7FF8000000000000, %1169 ], [ %1174, %1170 ]
%1179 = phi float [ 0x7FF0000000000000, %1168 ], [ 0x7FF0000000000000, %1169 ], [ %1176, %1170 ]
%1180 = fsub float 0.000000e+00, %1178
%1181 = fsub float 0.000000e+00, %1179
%1182 = getelementptr inbounds { float, float }, { float, float }* %94, i32 0, i32 0
%1183 = getelementptr inbounds { float, float }, { float, float }* %94, i32 0, i32 1
store float %1180, float* %1182
store float %1181, float* %1183
%1184 = bitcast { float, float }* %94 to <2 x float>*
%1185 = load <2 x float>, <2 x float>* %1184
%1186 = call <2 x float> @cprojf(<2 x float> %1185)
%1187 = bitcast { float, float }* %95 to <2 x float>*
store <2 x float> %1186, <2 x float>* %1187
%1188 = getelementptr inbounds { float, float }, { float, float }* %95, i32 0, i32 0
%1189 = load float, float* %1188
%1190 = getelementptr inbounds { float, float }, { float, float }* %95, i32 0, i32 1
%1191 = load float, float* %1190
%1192 = fcmp une float %1189, 0x7FF0000000000000
%1193 = fcmp une float %1191, -0.000000e+00
%1194 = or i1 %1192, %1193
br i1 %1194, label %1222, label %1195
1195: ; preds = %1177
br i1 true, label %1196, label %1204
1196: ; preds = %1195
br i1 false, label %1197, label %1204
1197: ; preds = %1196
%1198 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1199 = bitcast { float, float }* %96 to <2 x float>*
store <2 x float> %1198, <2 x float>* %1199
%1200 = getelementptr inbounds { float, float }, { float, float }* %96, i32 0, i32 0
%1201 = load float, float* %1200
%1202 = getelementptr inbounds { float, float }, { float, float }* %96, i32 0, i32 1
%1203 = load float, float* %1202
br label %1204
1204: ; preds = %1197, %1196, %1195
%1205 = phi float [ 0x7FF8000000000000, %1195 ], [ 0x7FF8000000000000, %1196 ], [ %1201, %1197 ]
%1206 = phi float [ 0x7FF0000000000000, %1195 ], [ 0x7FF0000000000000, %1196 ], [ %1203, %1197 ]
%1207 = fsub float 0.000000e+00, %1205
%1208 = fsub float 0.000000e+00, %1206
%1209 = getelementptr inbounds { float, float }, { float, float }* %97, i32 0, i32 0
%1210 = getelementptr inbounds { float, float }, { float, float }* %97, i32 0, i32 1
store float %1207, float* %1209
store float %1208, float* %1210
%1211 = bitcast { float, float }* %97 to <2 x float>*
%1212 = load <2 x float>, <2 x float>* %1211
%1213 = call <2 x float> @cprojf(<2 x float> %1212)
%1214 = bitcast { float, float }* %98 to <2 x float>*
store <2 x float> %1213, <2 x float>* %1214
%1215 = getelementptr inbounds { float, float }, { float, float }* %98, i32 0, i32 0
%1216 = load float, float* %1215
%1217 = getelementptr inbounds { float, float }, { float, float }* %98, i32 0, i32 1
%1218 = load float, float* %1217
%1219 = call float @llvm.copysign.f32(float 1.000000e+00, float %1218)
%1220 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%1221 = fcmp une float %1219, %1220
br i1 %1221, label %1222, label %1224
1222: ; preds = %1204, %1177
%1223 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 205)
br label %1224
1224: ; preds = %1222, %1204
br i1 true, label %1225, label %1233
1225: ; preds = %1224
br i1 false, label %1226, label %1233
1226: ; preds = %1225
%1227 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1228 = bitcast { float, float }* %99 to <2 x float>*
store <2 x float> %1227, <2 x float>* %1228
%1229 = getelementptr inbounds { float, float }, { float, float }* %99, i32 0, i32 0
%1230 = load float, float* %1229
%1231 = getelementptr inbounds { float, float }, { float, float }* %99, i32 0, i32 1
%1232 = load float, float* %1231
br label %1233
1233: ; preds = %1226, %1225, %1224
%1234 = phi float [ 0x7FF8000000000000, %1224 ], [ 0x7FF8000000000000, %1225 ], [ %1230, %1226 ]
%1235 = phi float [ 0x7FF0000000000000, %1224 ], [ 0x7FF0000000000000, %1225 ], [ %1232, %1226 ]
%1236 = fsub float 0.000000e+00, %1234
%1237 = fsub float 0.000000e+00, %1235
%1238 = fpext float %1236 to double
%1239 = fpext float %1237 to double
%1240 = getelementptr inbounds { double, double }, { double, double }* %100, i32 0, i32 0
%1241 = getelementptr inbounds { double, double }, { double, double }* %100, i32 0, i32 1
store double %1238, double* %1240
store double %1239, double* %1241
%1242 = getelementptr inbounds { double, double }, { double, double }* %100, i32 0, i32 0
%1243 = load double, double* %1242
%1244 = getelementptr inbounds { double, double }, { double, double }* %100, i32 0, i32 1
%1245 = load double, double* %1244
%1246 = call { double, double } @cproj(double %1243, double %1245)
%1247 = extractvalue { double, double } %1246, 0
%1248 = extractvalue { double, double } %1246, 1
%1249 = fcmp une double %1247, 0x7FF0000000000000
%1250 = fcmp une double %1248, -0.000000e+00
%1251 = or i1 %1249, %1250
br i1 %1251, label %1282, label %1252
1252: ; preds = %1233
br i1 true, label %1253, label %1261
1253: ; preds = %1252
br i1 false, label %1254, label %1261
1254: ; preds = %1253
%1255 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1256 = bitcast { float, float }* %101 to <2 x float>*
store <2 x float> %1255, <2 x float>* %1256
%1257 = getelementptr inbounds { float, float }, { float, float }* %101, i32 0, i32 0
%1258 = load float, float* %1257
%1259 = getelementptr inbounds { float, float }, { float, float }* %101, i32 0, i32 1
%1260 = load float, float* %1259
br label %1261
1261: ; preds = %1254, %1253, %1252
%1262 = phi float [ 0x7FF8000000000000, %1252 ], [ 0x7FF8000000000000, %1253 ], [ %1258, %1254 ]
%1263 = phi float [ 0x7FF0000000000000, %1252 ], [ 0x7FF0000000000000, %1253 ], [ %1260, %1254 ]
%1264 = fsub float 0.000000e+00, %1262
%1265 = fsub float 0.000000e+00, %1263
%1266 = fpext float %1264 to double
%1267 = fpext float %1265 to double
%1268 = getelementptr inbounds { double, double }, { double, double }* %102, i32 0, i32 0
%1269 = getelementptr inbounds { double, double }, { double, double }* %102, i32 0, i32 1
store double %1266, double* %1268
store double %1267, double* %1269
%1270 = getelementptr inbounds { double, double }, { double, double }* %102, i32 0, i32 0
%1271 = load double, double* %1270
%1272 = getelementptr inbounds { double, double }, { double, double }* %102, i32 0, i32 1
%1273 = load double, double* %1272
%1274 = call { double, double } @cproj(double %1271, double %1273)
%1275 = extractvalue { double, double } %1274, 0
%1276 = extractvalue { double, double } %1274, 1
%1277 = fptrunc double %1275 to float
%1278 = fptrunc double %1276 to float
%1279 = call float @llvm.copysign.f32(float 1.000000e+00, float %1278)
%1280 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%1281 = fcmp une float %1279, %1280
br i1 %1281, label %1282, label %1284
1282: ; preds = %1261, %1233
%1283 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 205)
br label %1284
1284: ; preds = %1282, %1261
br i1 true, label %1285, label %1293
1285: ; preds = %1284
br i1 false, label %1286, label %1293
1286: ; preds = %1285
%1287 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1288 = bitcast { float, float }* %103 to <2 x float>*
store <2 x float> %1287, <2 x float>* %1288
%1289 = getelementptr inbounds { float, float }, { float, float }* %103, i32 0, i32 0
%1290 = load float, float* %1289
%1291 = getelementptr inbounds { float, float }, { float, float }* %103, i32 0, i32 1
%1292 = load float, float* %1291
br label %1293
1293: ; preds = %1286, %1285, %1284
%1294 = phi float [ 0x7FF8000000000000, %1284 ], [ 0x7FF8000000000000, %1285 ], [ %1290, %1286 ]
%1295 = phi float [ 0x7FF0000000000000, %1284 ], [ 0x7FF0000000000000, %1285 ], [ %1292, %1286 ]
%1296 = fsub float 0.000000e+00, %1294
%1297 = fsub float 0.000000e+00, %1295
%1298 = fpext float %1296 to x86_fp80
%1299 = fpext float %1297 to x86_fp80
%1300 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %104, i32 0, i32 0
%1301 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %104, i32 0, i32 1
store x86_fp80 %1298, x86_fp80* %1300
store x86_fp80 %1299, x86_fp80* %1301
%1302 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %104)
%1303 = extractvalue { x86_fp80, x86_fp80 } %1302, 0
%1304 = extractvalue { x86_fp80, x86_fp80 } %1302, 1
%1305 = fcmp une x86_fp80 %1303, 0xK7FFF8000000000000000
%1306 = fcmp une x86_fp80 %1304, 0xK80000000000000000000
%1307 = or i1 %1305, %1306
br i1 %1307, label %1334, label %1308
1308: ; preds = %1293
br i1 true, label %1309, label %1317
1309: ; preds = %1308
br i1 false, label %1310, label %1317
1310: ; preds = %1309
%1311 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1312 = bitcast { float, float }* %105 to <2 x float>*
store <2 x float> %1311, <2 x float>* %1312
%1313 = getelementptr inbounds { float, float }, { float, float }* %105, i32 0, i32 0
%1314 = load float, float* %1313
%1315 = getelementptr inbounds { float, float }, { float, float }* %105, i32 0, i32 1
%1316 = load float, float* %1315
br label %1317
1317: ; preds = %1310, %1309, %1308
%1318 = phi float [ 0x7FF8000000000000, %1308 ], [ 0x7FF8000000000000, %1309 ], [ %1314, %1310 ]
%1319 = phi float [ 0x7FF0000000000000, %1308 ], [ 0x7FF0000000000000, %1309 ], [ %1316, %1310 ]
%1320 = fsub float 0.000000e+00, %1318
%1321 = fsub float 0.000000e+00, %1319
%1322 = fpext float %1320 to x86_fp80
%1323 = fpext float %1321 to x86_fp80
%1324 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %106, i32 0, i32 0
%1325 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %106, i32 0, i32 1
store x86_fp80 %1322, x86_fp80* %1324
store x86_fp80 %1323, x86_fp80* %1325
%1326 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %106)
%1327 = extractvalue { x86_fp80, x86_fp80 } %1326, 0
%1328 = extractvalue { x86_fp80, x86_fp80 } %1326, 1
%1329 = fptrunc x86_fp80 %1327 to float
%1330 = fptrunc x86_fp80 %1328 to float
%1331 = call float @llvm.copysign.f32(float 1.000000e+00, float %1330)
%1332 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%1333 = fcmp une float %1331, %1332
br i1 %1333, label %1334, label %1336
1334: ; preds = %1317, %1293
%1335 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 205)
br label %1336
1336: ; preds = %1334, %1317
br label %1337
1337: ; preds = %1336
br label %1338
1338: ; preds = %1337
br i1 true, label %1339, label %1347
1339: ; preds = %1338
br i1 false, label %1340, label %1347
1340: ; preds = %1339
%1341 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1342 = bitcast { float, float }* %107 to <2 x float>*
store <2 x float> %1341, <2 x float>* %1342
%1343 = getelementptr inbounds { float, float }, { float, float }* %107, i32 0, i32 0
%1344 = load float, float* %1343
%1345 = getelementptr inbounds { float, float }, { float, float }* %107, i32 0, i32 1
%1346 = load float, float* %1345
br label %1347
1347: ; preds = %1340, %1339, %1338
%1348 = phi float [ 0x7FF8000000000000, %1338 ], [ 0x7FF8000000000000, %1339 ], [ %1344, %1340 ]
%1349 = phi float [ 0x7FF0000000000000, %1338 ], [ 0x7FF0000000000000, %1339 ], [ %1346, %1340 ]
%1350 = fadd float 2.300000e+01, %1348
%1351 = fadd float 0.000000e+00, %1349
%1352 = getelementptr inbounds { float, float }, { float, float }* %108, i32 0, i32 0
%1353 = getelementptr inbounds { float, float }, { float, float }* %108, i32 0, i32 1
store float %1350, float* %1352
store float %1351, float* %1353
%1354 = bitcast { float, float }* %108 to <2 x float>*
%1355 = load <2 x float>, <2 x float>* %1354
%1356 = call <2 x float> @cprojf(<2 x float> %1355)
%1357 = bitcast { float, float }* %109 to <2 x float>*
store <2 x float> %1356, <2 x float>* %1357
%1358 = getelementptr inbounds { float, float }, { float, float }* %109, i32 0, i32 0
%1359 = load float, float* %1358
%1360 = getelementptr inbounds { float, float }, { float, float }* %109, i32 0, i32 1
%1361 = load float, float* %1360
%1362 = fcmp une float %1359, 0x7FF0000000000000
%1363 = fcmp une float %1361, 0.000000e+00
%1364 = or i1 %1362, %1363
br i1 %1364, label %1392, label %1365
1365: ; preds = %1347
br i1 true, label %1366, label %1374
1366: ; preds = %1365
br i1 false, label %1367, label %1374
1367: ; preds = %1366
%1368 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1369 = bitcast { float, float }* %110 to <2 x float>*
store <2 x float> %1368, <2 x float>* %1369
%1370 = getelementptr inbounds { float, float }, { float, float }* %110, i32 0, i32 0
%1371 = load float, float* %1370
%1372 = getelementptr inbounds { float, float }, { float, float }* %110, i32 0, i32 1
%1373 = load float, float* %1372
br label %1374
1374: ; preds = %1367, %1366, %1365
%1375 = phi float [ 0x7FF8000000000000, %1365 ], [ 0x7FF8000000000000, %1366 ], [ %1371, %1367 ]
%1376 = phi float [ 0x7FF0000000000000, %1365 ], [ 0x7FF0000000000000, %1366 ], [ %1373, %1367 ]
%1377 = fadd float 2.300000e+01, %1375
%1378 = fadd float 0.000000e+00, %1376
%1379 = getelementptr inbounds { float, float }, { float, float }* %111, i32 0, i32 0
%1380 = getelementptr inbounds { float, float }, { float, float }* %111, i32 0, i32 1
store float %1377, float* %1379
store float %1378, float* %1380
%1381 = bitcast { float, float }* %111 to <2 x float>*
%1382 = load <2 x float>, <2 x float>* %1381
%1383 = call <2 x float> @cprojf(<2 x float> %1382)
%1384 = bitcast { float, float }* %112 to <2 x float>*
store <2 x float> %1383, <2 x float>* %1384
%1385 = getelementptr inbounds { float, float }, { float, float }* %112, i32 0, i32 0
%1386 = load float, float* %1385
%1387 = getelementptr inbounds { float, float }, { float, float }* %112, i32 0, i32 1
%1388 = load float, float* %1387
%1389 = call float @llvm.copysign.f32(float 1.000000e+00, float %1388)
%1390 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%1391 = fcmp une float %1389, %1390
br i1 %1391, label %1392, label %1394
1392: ; preds = %1374, %1347
%1393 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 206)
br label %1394
1394: ; preds = %1392, %1374
br i1 true, label %1395, label %1403
1395: ; preds = %1394
br i1 false, label %1396, label %1403
1396: ; preds = %1395
%1397 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1398 = bitcast { float, float }* %113 to <2 x float>*
store <2 x float> %1397, <2 x float>* %1398
%1399 = getelementptr inbounds { float, float }, { float, float }* %113, i32 0, i32 0
%1400 = load float, float* %1399
%1401 = getelementptr inbounds { float, float }, { float, float }* %113, i32 0, i32 1
%1402 = load float, float* %1401
br label %1403
1403: ; preds = %1396, %1395, %1394
%1404 = phi float [ 0x7FF8000000000000, %1394 ], [ 0x7FF8000000000000, %1395 ], [ %1400, %1396 ]
%1405 = phi float [ 0x7FF0000000000000, %1394 ], [ 0x7FF0000000000000, %1395 ], [ %1402, %1396 ]
%1406 = fadd float 2.300000e+01, %1404
%1407 = fadd float 0.000000e+00, %1405
%1408 = fpext float %1406 to double
%1409 = fpext float %1407 to double
%1410 = getelementptr inbounds { double, double }, { double, double }* %114, i32 0, i32 0
%1411 = getelementptr inbounds { double, double }, { double, double }* %114, i32 0, i32 1
store double %1408, double* %1410
store double %1409, double* %1411
%1412 = getelementptr inbounds { double, double }, { double, double }* %114, i32 0, i32 0
%1413 = load double, double* %1412
%1414 = getelementptr inbounds { double, double }, { double, double }* %114, i32 0, i32 1
%1415 = load double, double* %1414
%1416 = call { double, double } @cproj(double %1413, double %1415)
%1417 = extractvalue { double, double } %1416, 0
%1418 = extractvalue { double, double } %1416, 1
%1419 = fcmp une double %1417, 0x7FF0000000000000
%1420 = fcmp une double %1418, 0.000000e+00
%1421 = or i1 %1419, %1420
br i1 %1421, label %1452, label %1422
1422: ; preds = %1403
br i1 true, label %1423, label %1431
1423: ; preds = %1422
br i1 false, label %1424, label %1431
1424: ; preds = %1423
%1425 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1426 = bitcast { float, float }* %115 to <2 x float>*
store <2 x float> %1425, <2 x float>* %1426
%1427 = getelementptr inbounds { float, float }, { float, float }* %115, i32 0, i32 0
%1428 = load float, float* %1427
%1429 = getelementptr inbounds { float, float }, { float, float }* %115, i32 0, i32 1
%1430 = load float, float* %1429
br label %1431
1431: ; preds = %1424, %1423, %1422
%1432 = phi float [ 0x7FF8000000000000, %1422 ], [ 0x7FF8000000000000, %1423 ], [ %1428, %1424 ]
%1433 = phi float [ 0x7FF0000000000000, %1422 ], [ 0x7FF0000000000000, %1423 ], [ %1430, %1424 ]
%1434 = fadd float 2.300000e+01, %1432
%1435 = fadd float 0.000000e+00, %1433
%1436 = fpext float %1434 to double
%1437 = fpext float %1435 to double
%1438 = getelementptr inbounds { double, double }, { double, double }* %116, i32 0, i32 0
%1439 = getelementptr inbounds { double, double }, { double, double }* %116, i32 0, i32 1
store double %1436, double* %1438
store double %1437, double* %1439
%1440 = getelementptr inbounds { double, double }, { double, double }* %116, i32 0, i32 0
%1441 = load double, double* %1440
%1442 = getelementptr inbounds { double, double }, { double, double }* %116, i32 0, i32 1
%1443 = load double, double* %1442
%1444 = call { double, double } @cproj(double %1441, double %1443)
%1445 = extractvalue { double, double } %1444, 0
%1446 = extractvalue { double, double } %1444, 1
%1447 = fptrunc double %1445 to float
%1448 = fptrunc double %1446 to float
%1449 = call float @llvm.copysign.f32(float 1.000000e+00, float %1448)
%1450 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%1451 = fcmp une float %1449, %1450
br i1 %1451, label %1452, label %1454
1452: ; preds = %1431, %1403
%1453 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 206)
br label %1454
1454: ; preds = %1452, %1431
br i1 true, label %1455, label %1463
1455: ; preds = %1454
br i1 false, label %1456, label %1463
1456: ; preds = %1455
%1457 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1458 = bitcast { float, float }* %117 to <2 x float>*
store <2 x float> %1457, <2 x float>* %1458
%1459 = getelementptr inbounds { float, float }, { float, float }* %117, i32 0, i32 0
%1460 = load float, float* %1459
%1461 = getelementptr inbounds { float, float }, { float, float }* %117, i32 0, i32 1
%1462 = load float, float* %1461
br label %1463
1463: ; preds = %1456, %1455, %1454
%1464 = phi float [ 0x7FF8000000000000, %1454 ], [ 0x7FF8000000000000, %1455 ], [ %1460, %1456 ]
%1465 = phi float [ 0x7FF0000000000000, %1454 ], [ 0x7FF0000000000000, %1455 ], [ %1462, %1456 ]
%1466 = fadd float 2.300000e+01, %1464
%1467 = fadd float 0.000000e+00, %1465
%1468 = fpext float %1466 to x86_fp80
%1469 = fpext float %1467 to x86_fp80
%1470 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %118, i32 0, i32 0
%1471 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %118, i32 0, i32 1
store x86_fp80 %1468, x86_fp80* %1470
store x86_fp80 %1469, x86_fp80* %1471
%1472 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %118)
%1473 = extractvalue { x86_fp80, x86_fp80 } %1472, 0
%1474 = extractvalue { x86_fp80, x86_fp80 } %1472, 1
%1475 = fcmp une x86_fp80 %1473, 0xK7FFF8000000000000000
%1476 = fcmp une x86_fp80 %1474, 0xK00000000000000000000
%1477 = or i1 %1475, %1476
br i1 %1477, label %1504, label %1478
1478: ; preds = %1463
br i1 true, label %1479, label %1487
1479: ; preds = %1478
br i1 false, label %1480, label %1487
1480: ; preds = %1479
%1481 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1482 = bitcast { float, float }* %119 to <2 x float>*
store <2 x float> %1481, <2 x float>* %1482
%1483 = getelementptr inbounds { float, float }, { float, float }* %119, i32 0, i32 0
%1484 = load float, float* %1483
%1485 = getelementptr inbounds { float, float }, { float, float }* %119, i32 0, i32 1
%1486 = load float, float* %1485
br label %1487
1487: ; preds = %1480, %1479, %1478
%1488 = phi float [ 0x7FF8000000000000, %1478 ], [ 0x7FF8000000000000, %1479 ], [ %1484, %1480 ]
%1489 = phi float [ 0x7FF0000000000000, %1478 ], [ 0x7FF0000000000000, %1479 ], [ %1486, %1480 ]
%1490 = fadd float 2.300000e+01, %1488
%1491 = fadd float 0.000000e+00, %1489
%1492 = fpext float %1490 to x86_fp80
%1493 = fpext float %1491 to x86_fp80
%1494 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %120, i32 0, i32 0
%1495 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %120, i32 0, i32 1
store x86_fp80 %1492, x86_fp80* %1494
store x86_fp80 %1493, x86_fp80* %1495
%1496 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %120)
%1497 = extractvalue { x86_fp80, x86_fp80 } %1496, 0
%1498 = extractvalue { x86_fp80, x86_fp80 } %1496, 1
%1499 = fptrunc x86_fp80 %1497 to float
%1500 = fptrunc x86_fp80 %1498 to float
%1501 = call float @llvm.copysign.f32(float 1.000000e+00, float %1500)
%1502 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%1503 = fcmp une float %1501, %1502
br i1 %1503, label %1504, label %1506
1504: ; preds = %1487, %1463
%1505 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 206)
br label %1506
1506: ; preds = %1504, %1487
br label %1507
1507: ; preds = %1506
br label %1508
1508: ; preds = %1507
br i1 true, label %1509, label %1517
1509: ; preds = %1508
br i1 false, label %1510, label %1517
1510: ; preds = %1509
%1511 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1512 = bitcast { float, float }* %121 to <2 x float>*
store <2 x float> %1511, <2 x float>* %1512
%1513 = getelementptr inbounds { float, float }, { float, float }* %121, i32 0, i32 0
%1514 = load float, float* %1513
%1515 = getelementptr inbounds { float, float }, { float, float }* %121, i32 0, i32 1
%1516 = load float, float* %1515
br label %1517
1517: ; preds = %1510, %1509, %1508
%1518 = phi float [ 0x7FF8000000000000, %1508 ], [ 0x7FF8000000000000, %1509 ], [ %1514, %1510 ]
%1519 = phi float [ 0x7FF0000000000000, %1508 ], [ 0x7FF0000000000000, %1509 ], [ %1516, %1510 ]
%1520 = fsub float 2.300000e+01, %1518
%1521 = fsub float 0.000000e+00, %1519
%1522 = getelementptr inbounds { float, float }, { float, float }* %122, i32 0, i32 0
%1523 = getelementptr inbounds { float, float }, { float, float }* %122, i32 0, i32 1
store float %1520, float* %1522
store float %1521, float* %1523
%1524 = bitcast { float, float }* %122 to <2 x float>*
%1525 = load <2 x float>, <2 x float>* %1524
%1526 = call <2 x float> @cprojf(<2 x float> %1525)
%1527 = bitcast { float, float }* %123 to <2 x float>*
store <2 x float> %1526, <2 x float>* %1527
%1528 = getelementptr inbounds { float, float }, { float, float }* %123, i32 0, i32 0
%1529 = load float, float* %1528
%1530 = getelementptr inbounds { float, float }, { float, float }* %123, i32 0, i32 1
%1531 = load float, float* %1530
%1532 = fcmp une float %1529, 0x7FF0000000000000
%1533 = fcmp une float %1531, -0.000000e+00
%1534 = or i1 %1532, %1533
br i1 %1534, label %1562, label %1535
1535: ; preds = %1517
br i1 true, label %1536, label %1544
1536: ; preds = %1535
br i1 false, label %1537, label %1544
1537: ; preds = %1536
%1538 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1539 = bitcast { float, float }* %124 to <2 x float>*
store <2 x float> %1538, <2 x float>* %1539
%1540 = getelementptr inbounds { float, float }, { float, float }* %124, i32 0, i32 0
%1541 = load float, float* %1540
%1542 = getelementptr inbounds { float, float }, { float, float }* %124, i32 0, i32 1
%1543 = load float, float* %1542
br label %1544
1544: ; preds = %1537, %1536, %1535
%1545 = phi float [ 0x7FF8000000000000, %1535 ], [ 0x7FF8000000000000, %1536 ], [ %1541, %1537 ]
%1546 = phi float [ 0x7FF0000000000000, %1535 ], [ 0x7FF0000000000000, %1536 ], [ %1543, %1537 ]
%1547 = fsub float 2.300000e+01, %1545
%1548 = fsub float 0.000000e+00, %1546
%1549 = getelementptr inbounds { float, float }, { float, float }* %125, i32 0, i32 0
%1550 = getelementptr inbounds { float, float }, { float, float }* %125, i32 0, i32 1
store float %1547, float* %1549
store float %1548, float* %1550
%1551 = bitcast { float, float }* %125 to <2 x float>*
%1552 = load <2 x float>, <2 x float>* %1551
%1553 = call <2 x float> @cprojf(<2 x float> %1552)
%1554 = bitcast { float, float }* %126 to <2 x float>*
store <2 x float> %1553, <2 x float>* %1554
%1555 = getelementptr inbounds { float, float }, { float, float }* %126, i32 0, i32 0
%1556 = load float, float* %1555
%1557 = getelementptr inbounds { float, float }, { float, float }* %126, i32 0, i32 1
%1558 = load float, float* %1557
%1559 = call float @llvm.copysign.f32(float 1.000000e+00, float %1558)
%1560 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%1561 = fcmp une float %1559, %1560
br i1 %1561, label %1562, label %1564
1562: ; preds = %1544, %1517
%1563 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 207)
br label %1564
1564: ; preds = %1562, %1544
br i1 true, label %1565, label %1573
1565: ; preds = %1564
br i1 false, label %1566, label %1573
1566: ; preds = %1565
%1567 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1568 = bitcast { float, float }* %127 to <2 x float>*
store <2 x float> %1567, <2 x float>* %1568
%1569 = getelementptr inbounds { float, float }, { float, float }* %127, i32 0, i32 0
%1570 = load float, float* %1569
%1571 = getelementptr inbounds { float, float }, { float, float }* %127, i32 0, i32 1
%1572 = load float, float* %1571
br label %1573
1573: ; preds = %1566, %1565, %1564
%1574 = phi float [ 0x7FF8000000000000, %1564 ], [ 0x7FF8000000000000, %1565 ], [ %1570, %1566 ]
%1575 = phi float [ 0x7FF0000000000000, %1564 ], [ 0x7FF0000000000000, %1565 ], [ %1572, %1566 ]
%1576 = fsub float 2.300000e+01, %1574
%1577 = fsub float 0.000000e+00, %1575
%1578 = fpext float %1576 to double
%1579 = fpext float %1577 to double
%1580 = getelementptr inbounds { double, double }, { double, double }* %128, i32 0, i32 0
%1581 = getelementptr inbounds { double, double }, { double, double }* %128, i32 0, i32 1
store double %1578, double* %1580
store double %1579, double* %1581
%1582 = getelementptr inbounds { double, double }, { double, double }* %128, i32 0, i32 0
%1583 = load double, double* %1582
%1584 = getelementptr inbounds { double, double }, { double, double }* %128, i32 0, i32 1
%1585 = load double, double* %1584
%1586 = call { double, double } @cproj(double %1583, double %1585)
%1587 = extractvalue { double, double } %1586, 0
%1588 = extractvalue { double, double } %1586, 1
%1589 = fcmp une double %1587, 0x7FF0000000000000
%1590 = fcmp une double %1588, -0.000000e+00
%1591 = or i1 %1589, %1590
br i1 %1591, label %1622, label %1592
1592: ; preds = %1573
br i1 true, label %1593, label %1601
1593: ; preds = %1592
br i1 false, label %1594, label %1601
1594: ; preds = %1593
%1595 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1596 = bitcast { float, float }* %129 to <2 x float>*
store <2 x float> %1595, <2 x float>* %1596
%1597 = getelementptr inbounds { float, float }, { float, float }* %129, i32 0, i32 0
%1598 = load float, float* %1597
%1599 = getelementptr inbounds { float, float }, { float, float }* %129, i32 0, i32 1
%1600 = load float, float* %1599
br label %1601
1601: ; preds = %1594, %1593, %1592
%1602 = phi float [ 0x7FF8000000000000, %1592 ], [ 0x7FF8000000000000, %1593 ], [ %1598, %1594 ]
%1603 = phi float [ 0x7FF0000000000000, %1592 ], [ 0x7FF0000000000000, %1593 ], [ %1600, %1594 ]
%1604 = fsub float 2.300000e+01, %1602
%1605 = fsub float 0.000000e+00, %1603
%1606 = fpext float %1604 to double
%1607 = fpext float %1605 to double
%1608 = getelementptr inbounds { double, double }, { double, double }* %130, i32 0, i32 0
%1609 = getelementptr inbounds { double, double }, { double, double }* %130, i32 0, i32 1
store double %1606, double* %1608
store double %1607, double* %1609
%1610 = getelementptr inbounds { double, double }, { double, double }* %130, i32 0, i32 0
%1611 = load double, double* %1610
%1612 = getelementptr inbounds { double, double }, { double, double }* %130, i32 0, i32 1
%1613 = load double, double* %1612
%1614 = call { double, double } @cproj(double %1611, double %1613)
%1615 = extractvalue { double, double } %1614, 0
%1616 = extractvalue { double, double } %1614, 1
%1617 = fptrunc double %1615 to float
%1618 = fptrunc double %1616 to float
%1619 = call float @llvm.copysign.f32(float 1.000000e+00, float %1618)
%1620 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%1621 = fcmp une float %1619, %1620
br i1 %1621, label %1622, label %1624
1622: ; preds = %1601, %1573
%1623 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 207)
br label %1624
1624: ; preds = %1622, %1601
br i1 true, label %1625, label %1633
1625: ; preds = %1624
br i1 false, label %1626, label %1633
1626: ; preds = %1625
%1627 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1628 = bitcast { float, float }* %131 to <2 x float>*
store <2 x float> %1627, <2 x float>* %1628
%1629 = getelementptr inbounds { float, float }, { float, float }* %131, i32 0, i32 0
%1630 = load float, float* %1629
%1631 = getelementptr inbounds { float, float }, { float, float }* %131, i32 0, i32 1
%1632 = load float, float* %1631
br label %1633
1633: ; preds = %1626, %1625, %1624
%1634 = phi float [ 0x7FF8000000000000, %1624 ], [ 0x7FF8000000000000, %1625 ], [ %1630, %1626 ]
%1635 = phi float [ 0x7FF0000000000000, %1624 ], [ 0x7FF0000000000000, %1625 ], [ %1632, %1626 ]
%1636 = fsub float 2.300000e+01, %1634
%1637 = fsub float 0.000000e+00, %1635
%1638 = fpext float %1636 to x86_fp80
%1639 = fpext float %1637 to x86_fp80
%1640 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %132, i32 0, i32 0
%1641 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %132, i32 0, i32 1
store x86_fp80 %1638, x86_fp80* %1640
store x86_fp80 %1639, x86_fp80* %1641
%1642 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %132)
%1643 = extractvalue { x86_fp80, x86_fp80 } %1642, 0
%1644 = extractvalue { x86_fp80, x86_fp80 } %1642, 1
%1645 = fcmp une x86_fp80 %1643, 0xK7FFF8000000000000000
%1646 = fcmp une x86_fp80 %1644, 0xK80000000000000000000
%1647 = or i1 %1645, %1646
br i1 %1647, label %1674, label %1648
1648: ; preds = %1633
br i1 true, label %1649, label %1657
1649: ; preds = %1648
br i1 false, label %1650, label %1657
1650: ; preds = %1649
%1651 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1652 = bitcast { float, float }* %133 to <2 x float>*
store <2 x float> %1651, <2 x float>* %1652
%1653 = getelementptr inbounds { float, float }, { float, float }* %133, i32 0, i32 0
%1654 = load float, float* %1653
%1655 = getelementptr inbounds { float, float }, { float, float }* %133, i32 0, i32 1
%1656 = load float, float* %1655
br label %1657
1657: ; preds = %1650, %1649, %1648
%1658 = phi float [ 0x7FF8000000000000, %1648 ], [ 0x7FF8000000000000, %1649 ], [ %1654, %1650 ]
%1659 = phi float [ 0x7FF0000000000000, %1648 ], [ 0x7FF0000000000000, %1649 ], [ %1656, %1650 ]
%1660 = fsub float 2.300000e+01, %1658
%1661 = fsub float 0.000000e+00, %1659
%1662 = fpext float %1660 to x86_fp80
%1663 = fpext float %1661 to x86_fp80
%1664 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %134, i32 0, i32 0
%1665 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %134, i32 0, i32 1
store x86_fp80 %1662, x86_fp80* %1664
store x86_fp80 %1663, x86_fp80* %1665
%1666 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %134)
%1667 = extractvalue { x86_fp80, x86_fp80 } %1666, 0
%1668 = extractvalue { x86_fp80, x86_fp80 } %1666, 1
%1669 = fptrunc x86_fp80 %1667 to float
%1670 = fptrunc x86_fp80 %1668 to float
%1671 = call float @llvm.copysign.f32(float 1.000000e+00, float %1670)
%1672 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%1673 = fcmp une float %1671, %1672
br i1 %1673, label %1674, label %1676
1674: ; preds = %1657, %1633
%1675 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 207)
br label %1676
1676: ; preds = %1674, %1657
br label %1677
1677: ; preds = %1676
br label %1678
1678: ; preds = %1677
br i1 true, label %1679, label %1687
1679: ; preds = %1678
br i1 false, label %1680, label %1687
1680: ; preds = %1679
%1681 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1682 = bitcast { float, float }* %135 to <2 x float>*
store <2 x float> %1681, <2 x float>* %1682
%1683 = getelementptr inbounds { float, float }, { float, float }* %135, i32 0, i32 0
%1684 = load float, float* %1683
%1685 = getelementptr inbounds { float, float }, { float, float }* %135, i32 0, i32 1
%1686 = load float, float* %1685
br label %1687
1687: ; preds = %1680, %1679, %1678
%1688 = phi float [ 0x7FF8000000000000, %1678 ], [ 0x7FF8000000000000, %1679 ], [ %1684, %1680 ]
%1689 = phi float [ 0x7FF0000000000000, %1678 ], [ 0x7FF0000000000000, %1679 ], [ %1686, %1680 ]
%1690 = fadd float -0.000000e+00, %1688
%1691 = getelementptr inbounds { float, float }, { float, float }* %136, i32 0, i32 0
%1692 = getelementptr inbounds { float, float }, { float, float }* %136, i32 0, i32 1
store float %1690, float* %1691
store float %1689, float* %1692
%1693 = bitcast { float, float }* %136 to <2 x float>*
%1694 = load <2 x float>, <2 x float>* %1693
%1695 = call <2 x float> @cprojf(<2 x float> %1694)
%1696 = bitcast { float, float }* %137 to <2 x float>*
store <2 x float> %1695, <2 x float>* %1696
%1697 = getelementptr inbounds { float, float }, { float, float }* %137, i32 0, i32 0
%1698 = load float, float* %1697
%1699 = getelementptr inbounds { float, float }, { float, float }* %137, i32 0, i32 1
%1700 = load float, float* %1699
%1701 = fcmp une float %1698, 0x7FF0000000000000
%1702 = fcmp une float %1700, 0.000000e+00
%1703 = or i1 %1701, %1702
br i1 %1703, label %1730, label %1704
1704: ; preds = %1687
br i1 true, label %1705, label %1713
1705: ; preds = %1704
br i1 false, label %1706, label %1713
1706: ; preds = %1705
%1707 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1708 = bitcast { float, float }* %138 to <2 x float>*
store <2 x float> %1707, <2 x float>* %1708
%1709 = getelementptr inbounds { float, float }, { float, float }* %138, i32 0, i32 0
%1710 = load float, float* %1709
%1711 = getelementptr inbounds { float, float }, { float, float }* %138, i32 0, i32 1
%1712 = load float, float* %1711
br label %1713
1713: ; preds = %1706, %1705, %1704
%1714 = phi float [ 0x7FF8000000000000, %1704 ], [ 0x7FF8000000000000, %1705 ], [ %1710, %1706 ]
%1715 = phi float [ 0x7FF0000000000000, %1704 ], [ 0x7FF0000000000000, %1705 ], [ %1712, %1706 ]
%1716 = fadd float -0.000000e+00, %1714
%1717 = getelementptr inbounds { float, float }, { float, float }* %139, i32 0, i32 0
%1718 = getelementptr inbounds { float, float }, { float, float }* %139, i32 0, i32 1
store float %1716, float* %1717
store float %1715, float* %1718
%1719 = bitcast { float, float }* %139 to <2 x float>*
%1720 = load <2 x float>, <2 x float>* %1719
%1721 = call <2 x float> @cprojf(<2 x float> %1720)
%1722 = bitcast { float, float }* %140 to <2 x float>*
store <2 x float> %1721, <2 x float>* %1722
%1723 = getelementptr inbounds { float, float }, { float, float }* %140, i32 0, i32 0
%1724 = load float, float* %1723
%1725 = getelementptr inbounds { float, float }, { float, float }* %140, i32 0, i32 1
%1726 = load float, float* %1725
%1727 = call float @llvm.copysign.f32(float 1.000000e+00, float %1726)
%1728 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%1729 = fcmp une float %1727, %1728
br i1 %1729, label %1730, label %1732
1730: ; preds = %1713, %1687
%1731 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 208)
br label %1732
1732: ; preds = %1730, %1713
br i1 true, label %1733, label %1741
1733: ; preds = %1732
br i1 false, label %1734, label %1741
1734: ; preds = %1733
%1735 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1736 = bitcast { float, float }* %141 to <2 x float>*
store <2 x float> %1735, <2 x float>* %1736
%1737 = getelementptr inbounds { float, float }, { float, float }* %141, i32 0, i32 0
%1738 = load float, float* %1737
%1739 = getelementptr inbounds { float, float }, { float, float }* %141, i32 0, i32 1
%1740 = load float, float* %1739
br label %1741
1741: ; preds = %1734, %1733, %1732
%1742 = phi float [ 0x7FF8000000000000, %1732 ], [ 0x7FF8000000000000, %1733 ], [ %1738, %1734 ]
%1743 = phi float [ 0x7FF0000000000000, %1732 ], [ 0x7FF0000000000000, %1733 ], [ %1740, %1734 ]
%1744 = fadd float -0.000000e+00, %1742
%1745 = fpext float %1744 to double
%1746 = fpext float %1743 to double
%1747 = getelementptr inbounds { double, double }, { double, double }* %142, i32 0, i32 0
%1748 = getelementptr inbounds { double, double }, { double, double }* %142, i32 0, i32 1
store double %1745, double* %1747
store double %1746, double* %1748
%1749 = getelementptr inbounds { double, double }, { double, double }* %142, i32 0, i32 0
%1750 = load double, double* %1749
%1751 = getelementptr inbounds { double, double }, { double, double }* %142, i32 0, i32 1
%1752 = load double, double* %1751
%1753 = call { double, double } @cproj(double %1750, double %1752)
%1754 = extractvalue { double, double } %1753, 0
%1755 = extractvalue { double, double } %1753, 1
%1756 = fcmp une double %1754, 0x7FF0000000000000
%1757 = fcmp une double %1755, 0.000000e+00
%1758 = or i1 %1756, %1757
br i1 %1758, label %1788, label %1759
1759: ; preds = %1741
br i1 true, label %1760, label %1768
1760: ; preds = %1759
br i1 false, label %1761, label %1768
1761: ; preds = %1760
%1762 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1763 = bitcast { float, float }* %143 to <2 x float>*
store <2 x float> %1762, <2 x float>* %1763
%1764 = getelementptr inbounds { float, float }, { float, float }* %143, i32 0, i32 0
%1765 = load float, float* %1764
%1766 = getelementptr inbounds { float, float }, { float, float }* %143, i32 0, i32 1
%1767 = load float, float* %1766
br label %1768
1768: ; preds = %1761, %1760, %1759
%1769 = phi float [ 0x7FF8000000000000, %1759 ], [ 0x7FF8000000000000, %1760 ], [ %1765, %1761 ]
%1770 = phi float [ 0x7FF0000000000000, %1759 ], [ 0x7FF0000000000000, %1760 ], [ %1767, %1761 ]
%1771 = fadd float -0.000000e+00, %1769
%1772 = fpext float %1771 to double
%1773 = fpext float %1770 to double
%1774 = getelementptr inbounds { double, double }, { double, double }* %144, i32 0, i32 0
%1775 = getelementptr inbounds { double, double }, { double, double }* %144, i32 0, i32 1
store double %1772, double* %1774
store double %1773, double* %1775
%1776 = getelementptr inbounds { double, double }, { double, double }* %144, i32 0, i32 0
%1777 = load double, double* %1776
%1778 = getelementptr inbounds { double, double }, { double, double }* %144, i32 0, i32 1
%1779 = load double, double* %1778
%1780 = call { double, double } @cproj(double %1777, double %1779)
%1781 = extractvalue { double, double } %1780, 0
%1782 = extractvalue { double, double } %1780, 1
%1783 = fptrunc double %1781 to float
%1784 = fptrunc double %1782 to float
%1785 = call float @llvm.copysign.f32(float 1.000000e+00, float %1784)
%1786 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%1787 = fcmp une float %1785, %1786
br i1 %1787, label %1788, label %1790
1788: ; preds = %1768, %1741
%1789 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 208)
br label %1790
1790: ; preds = %1788, %1768
br i1 true, label %1791, label %1799
1791: ; preds = %1790
br i1 false, label %1792, label %1799
1792: ; preds = %1791
%1793 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1794 = bitcast { float, float }* %145 to <2 x float>*
store <2 x float> %1793, <2 x float>* %1794
%1795 = getelementptr inbounds { float, float }, { float, float }* %145, i32 0, i32 0
%1796 = load float, float* %1795
%1797 = getelementptr inbounds { float, float }, { float, float }* %145, i32 0, i32 1
%1798 = load float, float* %1797
br label %1799
1799: ; preds = %1792, %1791, %1790
%1800 = phi float [ 0x7FF8000000000000, %1790 ], [ 0x7FF8000000000000, %1791 ], [ %1796, %1792 ]
%1801 = phi float [ 0x7FF0000000000000, %1790 ], [ 0x7FF0000000000000, %1791 ], [ %1798, %1792 ]
%1802 = fadd float -0.000000e+00, %1800
%1803 = fpext float %1802 to x86_fp80
%1804 = fpext float %1801 to x86_fp80
%1805 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %146, i32 0, i32 0
%1806 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %146, i32 0, i32 1
store x86_fp80 %1803, x86_fp80* %1805
store x86_fp80 %1804, x86_fp80* %1806
%1807 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %146)
%1808 = extractvalue { x86_fp80, x86_fp80 } %1807, 0
%1809 = extractvalue { x86_fp80, x86_fp80 } %1807, 1
%1810 = fcmp une x86_fp80 %1808, 0xK7FFF8000000000000000
%1811 = fcmp une x86_fp80 %1809, 0xK00000000000000000000
%1812 = or i1 %1810, %1811
br i1 %1812, label %1838, label %1813
1813: ; preds = %1799
br i1 true, label %1814, label %1822
1814: ; preds = %1813
br i1 false, label %1815, label %1822
1815: ; preds = %1814
%1816 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1817 = bitcast { float, float }* %147 to <2 x float>*
store <2 x float> %1816, <2 x float>* %1817
%1818 = getelementptr inbounds { float, float }, { float, float }* %147, i32 0, i32 0
%1819 = load float, float* %1818
%1820 = getelementptr inbounds { float, float }, { float, float }* %147, i32 0, i32 1
%1821 = load float, float* %1820
br label %1822
1822: ; preds = %1815, %1814, %1813
%1823 = phi float [ 0x7FF8000000000000, %1813 ], [ 0x7FF8000000000000, %1814 ], [ %1819, %1815 ]
%1824 = phi float [ 0x7FF0000000000000, %1813 ], [ 0x7FF0000000000000, %1814 ], [ %1821, %1815 ]
%1825 = fadd float -0.000000e+00, %1823
%1826 = fpext float %1825 to x86_fp80
%1827 = fpext float %1824 to x86_fp80
%1828 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %148, i32 0, i32 0
%1829 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %148, i32 0, i32 1
store x86_fp80 %1826, x86_fp80* %1828
store x86_fp80 %1827, x86_fp80* %1829
%1830 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %148)
%1831 = extractvalue { x86_fp80, x86_fp80 } %1830, 0
%1832 = extractvalue { x86_fp80, x86_fp80 } %1830, 1
%1833 = fptrunc x86_fp80 %1831 to float
%1834 = fptrunc x86_fp80 %1832 to float
%1835 = call float @llvm.copysign.f32(float 1.000000e+00, float %1834)
%1836 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%1837 = fcmp une float %1835, %1836
br i1 %1837, label %1838, label %1840
1838: ; preds = %1822, %1799
%1839 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 208)
br label %1840
1840: ; preds = %1838, %1822
br label %1841
1841: ; preds = %1840
br label %1842
1842: ; preds = %1841
br i1 true, label %1843, label %1851
1843: ; preds = %1842
br i1 false, label %1844, label %1851
1844: ; preds = %1843
%1845 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1846 = bitcast { float, float }* %149 to <2 x float>*
store <2 x float> %1845, <2 x float>* %1846
%1847 = getelementptr inbounds { float, float }, { float, float }* %149, i32 0, i32 0
%1848 = load float, float* %1847
%1849 = getelementptr inbounds { float, float }, { float, float }* %149, i32 0, i32 1
%1850 = load float, float* %1849
br label %1851
1851: ; preds = %1844, %1843, %1842
%1852 = phi float [ 0x7FF8000000000000, %1842 ], [ 0x7FF8000000000000, %1843 ], [ %1848, %1844 ]
%1853 = phi float [ 0x7FF0000000000000, %1842 ], [ 0x7FF0000000000000, %1843 ], [ %1850, %1844 ]
%1854 = fsub float -0.000000e+00, %1852
%1855 = fneg float %1853
%1856 = getelementptr inbounds { float, float }, { float, float }* %150, i32 0, i32 0
%1857 = getelementptr inbounds { float, float }, { float, float }* %150, i32 0, i32 1
store float %1854, float* %1856
store float %1855, float* %1857
%1858 = bitcast { float, float }* %150 to <2 x float>*
%1859 = load <2 x float>, <2 x float>* %1858
%1860 = call <2 x float> @cprojf(<2 x float> %1859)
%1861 = bitcast { float, float }* %151 to <2 x float>*
store <2 x float> %1860, <2 x float>* %1861
%1862 = getelementptr inbounds { float, float }, { float, float }* %151, i32 0, i32 0
%1863 = load float, float* %1862
%1864 = getelementptr inbounds { float, float }, { float, float }* %151, i32 0, i32 1
%1865 = load float, float* %1864
%1866 = fcmp une float %1863, 0x7FF0000000000000
%1867 = fcmp une float %1865, -0.000000e+00
%1868 = or i1 %1866, %1867
br i1 %1868, label %1896, label %1869
1869: ; preds = %1851
br i1 true, label %1870, label %1878
1870: ; preds = %1869
br i1 false, label %1871, label %1878
1871: ; preds = %1870
%1872 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1873 = bitcast { float, float }* %152 to <2 x float>*
store <2 x float> %1872, <2 x float>* %1873
%1874 = getelementptr inbounds { float, float }, { float, float }* %152, i32 0, i32 0
%1875 = load float, float* %1874
%1876 = getelementptr inbounds { float, float }, { float, float }* %152, i32 0, i32 1
%1877 = load float, float* %1876
br label %1878
1878: ; preds = %1871, %1870, %1869
%1879 = phi float [ 0x7FF8000000000000, %1869 ], [ 0x7FF8000000000000, %1870 ], [ %1875, %1871 ]
%1880 = phi float [ 0x7FF0000000000000, %1869 ], [ 0x7FF0000000000000, %1870 ], [ %1877, %1871 ]
%1881 = fsub float -0.000000e+00, %1879
%1882 = fneg float %1880
%1883 = getelementptr inbounds { float, float }, { float, float }* %153, i32 0, i32 0
%1884 = getelementptr inbounds { float, float }, { float, float }* %153, i32 0, i32 1
store float %1881, float* %1883
store float %1882, float* %1884
%1885 = bitcast { float, float }* %153 to <2 x float>*
%1886 = load <2 x float>, <2 x float>* %1885
%1887 = call <2 x float> @cprojf(<2 x float> %1886)
%1888 = bitcast { float, float }* %154 to <2 x float>*
store <2 x float> %1887, <2 x float>* %1888
%1889 = getelementptr inbounds { float, float }, { float, float }* %154, i32 0, i32 0
%1890 = load float, float* %1889
%1891 = getelementptr inbounds { float, float }, { float, float }* %154, i32 0, i32 1
%1892 = load float, float* %1891
%1893 = call float @llvm.copysign.f32(float 1.000000e+00, float %1892)
%1894 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%1895 = fcmp une float %1893, %1894
br i1 %1895, label %1896, label %1898
1896: ; preds = %1878, %1851
%1897 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 209)
br label %1898
1898: ; preds = %1896, %1878
br i1 true, label %1899, label %1907
1899: ; preds = %1898
br i1 false, label %1900, label %1907
1900: ; preds = %1899
%1901 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1902 = bitcast { float, float }* %155 to <2 x float>*
store <2 x float> %1901, <2 x float>* %1902
%1903 = getelementptr inbounds { float, float }, { float, float }* %155, i32 0, i32 0
%1904 = load float, float* %1903
%1905 = getelementptr inbounds { float, float }, { float, float }* %155, i32 0, i32 1
%1906 = load float, float* %1905
br label %1907
1907: ; preds = %1900, %1899, %1898
%1908 = phi float [ 0x7FF8000000000000, %1898 ], [ 0x7FF8000000000000, %1899 ], [ %1904, %1900 ]
%1909 = phi float [ 0x7FF0000000000000, %1898 ], [ 0x7FF0000000000000, %1899 ], [ %1906, %1900 ]
%1910 = fsub float -0.000000e+00, %1908
%1911 = fneg float %1909
%1912 = fpext float %1910 to double
%1913 = fpext float %1911 to double
%1914 = getelementptr inbounds { double, double }, { double, double }* %156, i32 0, i32 0
%1915 = getelementptr inbounds { double, double }, { double, double }* %156, i32 0, i32 1
store double %1912, double* %1914
store double %1913, double* %1915
%1916 = getelementptr inbounds { double, double }, { double, double }* %156, i32 0, i32 0
%1917 = load double, double* %1916
%1918 = getelementptr inbounds { double, double }, { double, double }* %156, i32 0, i32 1
%1919 = load double, double* %1918
%1920 = call { double, double } @cproj(double %1917, double %1919)
%1921 = extractvalue { double, double } %1920, 0
%1922 = extractvalue { double, double } %1920, 1
%1923 = fcmp une double %1921, 0x7FF0000000000000
%1924 = fcmp une double %1922, -0.000000e+00
%1925 = or i1 %1923, %1924
br i1 %1925, label %1956, label %1926
1926: ; preds = %1907
br i1 true, label %1927, label %1935
1927: ; preds = %1926
br i1 false, label %1928, label %1935
1928: ; preds = %1927
%1929 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1930 = bitcast { float, float }* %157 to <2 x float>*
store <2 x float> %1929, <2 x float>* %1930
%1931 = getelementptr inbounds { float, float }, { float, float }* %157, i32 0, i32 0
%1932 = load float, float* %1931
%1933 = getelementptr inbounds { float, float }, { float, float }* %157, i32 0, i32 1
%1934 = load float, float* %1933
br label %1935
1935: ; preds = %1928, %1927, %1926
%1936 = phi float [ 0x7FF8000000000000, %1926 ], [ 0x7FF8000000000000, %1927 ], [ %1932, %1928 ]
%1937 = phi float [ 0x7FF0000000000000, %1926 ], [ 0x7FF0000000000000, %1927 ], [ %1934, %1928 ]
%1938 = fsub float -0.000000e+00, %1936
%1939 = fneg float %1937
%1940 = fpext float %1938 to double
%1941 = fpext float %1939 to double
%1942 = getelementptr inbounds { double, double }, { double, double }* %158, i32 0, i32 0
%1943 = getelementptr inbounds { double, double }, { double, double }* %158, i32 0, i32 1
store double %1940, double* %1942
store double %1941, double* %1943
%1944 = getelementptr inbounds { double, double }, { double, double }* %158, i32 0, i32 0
%1945 = load double, double* %1944
%1946 = getelementptr inbounds { double, double }, { double, double }* %158, i32 0, i32 1
%1947 = load double, double* %1946
%1948 = call { double, double } @cproj(double %1945, double %1947)
%1949 = extractvalue { double, double } %1948, 0
%1950 = extractvalue { double, double } %1948, 1
%1951 = fptrunc double %1949 to float
%1952 = fptrunc double %1950 to float
%1953 = call float @llvm.copysign.f32(float 1.000000e+00, float %1952)
%1954 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%1955 = fcmp une float %1953, %1954
br i1 %1955, label %1956, label %1958
1956: ; preds = %1935, %1907
%1957 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 209)
br label %1958
1958: ; preds = %1956, %1935
br i1 true, label %1959, label %1967
1959: ; preds = %1958
br i1 false, label %1960, label %1967
1960: ; preds = %1959
%1961 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1962 = bitcast { float, float }* %159 to <2 x float>*
store <2 x float> %1961, <2 x float>* %1962
%1963 = getelementptr inbounds { float, float }, { float, float }* %159, i32 0, i32 0
%1964 = load float, float* %1963
%1965 = getelementptr inbounds { float, float }, { float, float }* %159, i32 0, i32 1
%1966 = load float, float* %1965
br label %1967
1967: ; preds = %1960, %1959, %1958
%1968 = phi float [ 0x7FF8000000000000, %1958 ], [ 0x7FF8000000000000, %1959 ], [ %1964, %1960 ]
%1969 = phi float [ 0x7FF0000000000000, %1958 ], [ 0x7FF0000000000000, %1959 ], [ %1966, %1960 ]
%1970 = fsub float -0.000000e+00, %1968
%1971 = fneg float %1969
%1972 = fpext float %1970 to x86_fp80
%1973 = fpext float %1971 to x86_fp80
%1974 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %160, i32 0, i32 0
%1975 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %160, i32 0, i32 1
store x86_fp80 %1972, x86_fp80* %1974
store x86_fp80 %1973, x86_fp80* %1975
%1976 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %160)
%1977 = extractvalue { x86_fp80, x86_fp80 } %1976, 0
%1978 = extractvalue { x86_fp80, x86_fp80 } %1976, 1
%1979 = fcmp une x86_fp80 %1977, 0xK7FFF8000000000000000
%1980 = fcmp une x86_fp80 %1978, 0xK80000000000000000000
%1981 = or i1 %1979, %1980
br i1 %1981, label %2008, label %1982
1982: ; preds = %1967
br i1 true, label %1983, label %1991
1983: ; preds = %1982
br i1 false, label %1984, label %1991
1984: ; preds = %1983
%1985 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%1986 = bitcast { float, float }* %161 to <2 x float>*
store <2 x float> %1985, <2 x float>* %1986
%1987 = getelementptr inbounds { float, float }, { float, float }* %161, i32 0, i32 0
%1988 = load float, float* %1987
%1989 = getelementptr inbounds { float, float }, { float, float }* %161, i32 0, i32 1
%1990 = load float, float* %1989
br label %1991
1991: ; preds = %1984, %1983, %1982
%1992 = phi float [ 0x7FF8000000000000, %1982 ], [ 0x7FF8000000000000, %1983 ], [ %1988, %1984 ]
%1993 = phi float [ 0x7FF0000000000000, %1982 ], [ 0x7FF0000000000000, %1983 ], [ %1990, %1984 ]
%1994 = fsub float -0.000000e+00, %1992
%1995 = fneg float %1993
%1996 = fpext float %1994 to x86_fp80
%1997 = fpext float %1995 to x86_fp80
%1998 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %162, i32 0, i32 0
%1999 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %162, i32 0, i32 1
store x86_fp80 %1996, x86_fp80* %1998
store x86_fp80 %1997, x86_fp80* %1999
%2000 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %162)
%2001 = extractvalue { x86_fp80, x86_fp80 } %2000, 0
%2002 = extractvalue { x86_fp80, x86_fp80 } %2000, 1
%2003 = fptrunc x86_fp80 %2001 to float
%2004 = fptrunc x86_fp80 %2002 to float
%2005 = call float @llvm.copysign.f32(float 1.000000e+00, float %2004)
%2006 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%2007 = fcmp une float %2005, %2006
br i1 %2007, label %2008, label %2010
2008: ; preds = %1991, %1967
%2009 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 209)
br label %2010
2010: ; preds = %2008, %1991
br label %2011
2011: ; preds = %2010
br label %2012
2012: ; preds = %2011
br i1 true, label %2013, label %2021
2013: ; preds = %2012
br i1 false, label %2014, label %2021
2014: ; preds = %2013
%2015 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2016 = bitcast { float, float }* %163 to <2 x float>*
store <2 x float> %2015, <2 x float>* %2016
%2017 = getelementptr inbounds { float, float }, { float, float }* %163, i32 0, i32 0
%2018 = load float, float* %2017
%2019 = getelementptr inbounds { float, float }, { float, float }* %163, i32 0, i32 1
%2020 = load float, float* %2019
br label %2021
2021: ; preds = %2014, %2013, %2012
%2022 = phi float [ 0x7FF8000000000000, %2012 ], [ 0x7FF8000000000000, %2013 ], [ %2018, %2014 ]
%2023 = phi float [ 0x7FF0000000000000, %2012 ], [ 0x7FF0000000000000, %2013 ], [ %2020, %2014 ]
%2024 = fadd float -2.300000e+01, %2022
%2025 = fadd float 0.000000e+00, %2023
%2026 = getelementptr inbounds { float, float }, { float, float }* %164, i32 0, i32 0
%2027 = getelementptr inbounds { float, float }, { float, float }* %164, i32 0, i32 1
store float %2024, float* %2026
store float %2025, float* %2027
%2028 = bitcast { float, float }* %164 to <2 x float>*
%2029 = load <2 x float>, <2 x float>* %2028
%2030 = call <2 x float> @cprojf(<2 x float> %2029)
%2031 = bitcast { float, float }* %165 to <2 x float>*
store <2 x float> %2030, <2 x float>* %2031
%2032 = getelementptr inbounds { float, float }, { float, float }* %165, i32 0, i32 0
%2033 = load float, float* %2032
%2034 = getelementptr inbounds { float, float }, { float, float }* %165, i32 0, i32 1
%2035 = load float, float* %2034
%2036 = fcmp une float %2033, 0x7FF0000000000000
%2037 = fcmp une float %2035, 0.000000e+00
%2038 = or i1 %2036, %2037
br i1 %2038, label %2066, label %2039
2039: ; preds = %2021
br i1 true, label %2040, label %2048
2040: ; preds = %2039
br i1 false, label %2041, label %2048
2041: ; preds = %2040
%2042 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2043 = bitcast { float, float }* %166 to <2 x float>*
store <2 x float> %2042, <2 x float>* %2043
%2044 = getelementptr inbounds { float, float }, { float, float }* %166, i32 0, i32 0
%2045 = load float, float* %2044
%2046 = getelementptr inbounds { float, float }, { float, float }* %166, i32 0, i32 1
%2047 = load float, float* %2046
br label %2048
2048: ; preds = %2041, %2040, %2039
%2049 = phi float [ 0x7FF8000000000000, %2039 ], [ 0x7FF8000000000000, %2040 ], [ %2045, %2041 ]
%2050 = phi float [ 0x7FF0000000000000, %2039 ], [ 0x7FF0000000000000, %2040 ], [ %2047, %2041 ]
%2051 = fadd float -2.300000e+01, %2049
%2052 = fadd float 0.000000e+00, %2050
%2053 = getelementptr inbounds { float, float }, { float, float }* %167, i32 0, i32 0
%2054 = getelementptr inbounds { float, float }, { float, float }* %167, i32 0, i32 1
store float %2051, float* %2053
store float %2052, float* %2054
%2055 = bitcast { float, float }* %167 to <2 x float>*
%2056 = load <2 x float>, <2 x float>* %2055
%2057 = call <2 x float> @cprojf(<2 x float> %2056)
%2058 = bitcast { float, float }* %168 to <2 x float>*
store <2 x float> %2057, <2 x float>* %2058
%2059 = getelementptr inbounds { float, float }, { float, float }* %168, i32 0, i32 0
%2060 = load float, float* %2059
%2061 = getelementptr inbounds { float, float }, { float, float }* %168, i32 0, i32 1
%2062 = load float, float* %2061
%2063 = call float @llvm.copysign.f32(float 1.000000e+00, float %2062)
%2064 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%2065 = fcmp une float %2063, %2064
br i1 %2065, label %2066, label %2068
2066: ; preds = %2048, %2021
%2067 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 210)
br label %2068
2068: ; preds = %2066, %2048
br i1 true, label %2069, label %2077
2069: ; preds = %2068
br i1 false, label %2070, label %2077
2070: ; preds = %2069
%2071 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2072 = bitcast { float, float }* %169 to <2 x float>*
store <2 x float> %2071, <2 x float>* %2072
%2073 = getelementptr inbounds { float, float }, { float, float }* %169, i32 0, i32 0
%2074 = load float, float* %2073
%2075 = getelementptr inbounds { float, float }, { float, float }* %169, i32 0, i32 1
%2076 = load float, float* %2075
br label %2077
2077: ; preds = %2070, %2069, %2068
%2078 = phi float [ 0x7FF8000000000000, %2068 ], [ 0x7FF8000000000000, %2069 ], [ %2074, %2070 ]
%2079 = phi float [ 0x7FF0000000000000, %2068 ], [ 0x7FF0000000000000, %2069 ], [ %2076, %2070 ]
%2080 = fadd float -2.300000e+01, %2078
%2081 = fadd float 0.000000e+00, %2079
%2082 = fpext float %2080 to double
%2083 = fpext float %2081 to double
%2084 = getelementptr inbounds { double, double }, { double, double }* %170, i32 0, i32 0
%2085 = getelementptr inbounds { double, double }, { double, double }* %170, i32 0, i32 1
store double %2082, double* %2084
store double %2083, double* %2085
%2086 = getelementptr inbounds { double, double }, { double, double }* %170, i32 0, i32 0
%2087 = load double, double* %2086
%2088 = getelementptr inbounds { double, double }, { double, double }* %170, i32 0, i32 1
%2089 = load double, double* %2088
%2090 = call { double, double } @cproj(double %2087, double %2089)
%2091 = extractvalue { double, double } %2090, 0
%2092 = extractvalue { double, double } %2090, 1
%2093 = fcmp une double %2091, 0x7FF0000000000000
%2094 = fcmp une double %2092, 0.000000e+00
%2095 = or i1 %2093, %2094
br i1 %2095, label %2126, label %2096
2096: ; preds = %2077
br i1 true, label %2097, label %2105
2097: ; preds = %2096
br i1 false, label %2098, label %2105
2098: ; preds = %2097
%2099 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2100 = bitcast { float, float }* %171 to <2 x float>*
store <2 x float> %2099, <2 x float>* %2100
%2101 = getelementptr inbounds { float, float }, { float, float }* %171, i32 0, i32 0
%2102 = load float, float* %2101
%2103 = getelementptr inbounds { float, float }, { float, float }* %171, i32 0, i32 1
%2104 = load float, float* %2103
br label %2105
2105: ; preds = %2098, %2097, %2096
%2106 = phi float [ 0x7FF8000000000000, %2096 ], [ 0x7FF8000000000000, %2097 ], [ %2102, %2098 ]
%2107 = phi float [ 0x7FF0000000000000, %2096 ], [ 0x7FF0000000000000, %2097 ], [ %2104, %2098 ]
%2108 = fadd float -2.300000e+01, %2106
%2109 = fadd float 0.000000e+00, %2107
%2110 = fpext float %2108 to double
%2111 = fpext float %2109 to double
%2112 = getelementptr inbounds { double, double }, { double, double }* %172, i32 0, i32 0
%2113 = getelementptr inbounds { double, double }, { double, double }* %172, i32 0, i32 1
store double %2110, double* %2112
store double %2111, double* %2113
%2114 = getelementptr inbounds { double, double }, { double, double }* %172, i32 0, i32 0
%2115 = load double, double* %2114
%2116 = getelementptr inbounds { double, double }, { double, double }* %172, i32 0, i32 1
%2117 = load double, double* %2116
%2118 = call { double, double } @cproj(double %2115, double %2117)
%2119 = extractvalue { double, double } %2118, 0
%2120 = extractvalue { double, double } %2118, 1
%2121 = fptrunc double %2119 to float
%2122 = fptrunc double %2120 to float
%2123 = call float @llvm.copysign.f32(float 1.000000e+00, float %2122)
%2124 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%2125 = fcmp une float %2123, %2124
br i1 %2125, label %2126, label %2128
2126: ; preds = %2105, %2077
%2127 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 210)
br label %2128
2128: ; preds = %2126, %2105
br i1 true, label %2129, label %2137
2129: ; preds = %2128
br i1 false, label %2130, label %2137
2130: ; preds = %2129
%2131 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2132 = bitcast { float, float }* %173 to <2 x float>*
store <2 x float> %2131, <2 x float>* %2132
%2133 = getelementptr inbounds { float, float }, { float, float }* %173, i32 0, i32 0
%2134 = load float, float* %2133
%2135 = getelementptr inbounds { float, float }, { float, float }* %173, i32 0, i32 1
%2136 = load float, float* %2135
br label %2137
2137: ; preds = %2130, %2129, %2128
%2138 = phi float [ 0x7FF8000000000000, %2128 ], [ 0x7FF8000000000000, %2129 ], [ %2134, %2130 ]
%2139 = phi float [ 0x7FF0000000000000, %2128 ], [ 0x7FF0000000000000, %2129 ], [ %2136, %2130 ]
%2140 = fadd float -2.300000e+01, %2138
%2141 = fadd float 0.000000e+00, %2139
%2142 = fpext float %2140 to x86_fp80
%2143 = fpext float %2141 to x86_fp80
%2144 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %174, i32 0, i32 0
%2145 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %174, i32 0, i32 1
store x86_fp80 %2142, x86_fp80* %2144
store x86_fp80 %2143, x86_fp80* %2145
%2146 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %174)
%2147 = extractvalue { x86_fp80, x86_fp80 } %2146, 0
%2148 = extractvalue { x86_fp80, x86_fp80 } %2146, 1
%2149 = fcmp une x86_fp80 %2147, 0xK7FFF8000000000000000
%2150 = fcmp une x86_fp80 %2148, 0xK00000000000000000000
%2151 = or i1 %2149, %2150
br i1 %2151, label %2178, label %2152
2152: ; preds = %2137
br i1 true, label %2153, label %2161
2153: ; preds = %2152
br i1 false, label %2154, label %2161
2154: ; preds = %2153
%2155 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2156 = bitcast { float, float }* %175 to <2 x float>*
store <2 x float> %2155, <2 x float>* %2156
%2157 = getelementptr inbounds { float, float }, { float, float }* %175, i32 0, i32 0
%2158 = load float, float* %2157
%2159 = getelementptr inbounds { float, float }, { float, float }* %175, i32 0, i32 1
%2160 = load float, float* %2159
br label %2161
2161: ; preds = %2154, %2153, %2152
%2162 = phi float [ 0x7FF8000000000000, %2152 ], [ 0x7FF8000000000000, %2153 ], [ %2158, %2154 ]
%2163 = phi float [ 0x7FF0000000000000, %2152 ], [ 0x7FF0000000000000, %2153 ], [ %2160, %2154 ]
%2164 = fadd float -2.300000e+01, %2162
%2165 = fadd float 0.000000e+00, %2163
%2166 = fpext float %2164 to x86_fp80
%2167 = fpext float %2165 to x86_fp80
%2168 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %176, i32 0, i32 0
%2169 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %176, i32 0, i32 1
store x86_fp80 %2166, x86_fp80* %2168
store x86_fp80 %2167, x86_fp80* %2169
%2170 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %176)
%2171 = extractvalue { x86_fp80, x86_fp80 } %2170, 0
%2172 = extractvalue { x86_fp80, x86_fp80 } %2170, 1
%2173 = fptrunc x86_fp80 %2171 to float
%2174 = fptrunc x86_fp80 %2172 to float
%2175 = call float @llvm.copysign.f32(float 1.000000e+00, float %2174)
%2176 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%2177 = fcmp une float %2175, %2176
br i1 %2177, label %2178, label %2180
2178: ; preds = %2161, %2137
%2179 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 210)
br label %2180
2180: ; preds = %2178, %2161
br label %2181
2181: ; preds = %2180
br label %2182
2182: ; preds = %2181
br i1 true, label %2183, label %2191
2183: ; preds = %2182
br i1 false, label %2184, label %2191
2184: ; preds = %2183
%2185 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2186 = bitcast { float, float }* %177 to <2 x float>*
store <2 x float> %2185, <2 x float>* %2186
%2187 = getelementptr inbounds { float, float }, { float, float }* %177, i32 0, i32 0
%2188 = load float, float* %2187
%2189 = getelementptr inbounds { float, float }, { float, float }* %177, i32 0, i32 1
%2190 = load float, float* %2189
br label %2191
2191: ; preds = %2184, %2183, %2182
%2192 = phi float [ 0x7FF8000000000000, %2182 ], [ 0x7FF8000000000000, %2183 ], [ %2188, %2184 ]
%2193 = phi float [ 0x7FF0000000000000, %2182 ], [ 0x7FF0000000000000, %2183 ], [ %2190, %2184 ]
%2194 = fsub float -2.300000e+01, %2192
%2195 = fsub float 0.000000e+00, %2193
%2196 = getelementptr inbounds { float, float }, { float, float }* %178, i32 0, i32 0
%2197 = getelementptr inbounds { float, float }, { float, float }* %178, i32 0, i32 1
store float %2194, float* %2196
store float %2195, float* %2197
%2198 = bitcast { float, float }* %178 to <2 x float>*
%2199 = load <2 x float>, <2 x float>* %2198
%2200 = call <2 x float> @cprojf(<2 x float> %2199)
%2201 = bitcast { float, float }* %179 to <2 x float>*
store <2 x float> %2200, <2 x float>* %2201
%2202 = getelementptr inbounds { float, float }, { float, float }* %179, i32 0, i32 0
%2203 = load float, float* %2202
%2204 = getelementptr inbounds { float, float }, { float, float }* %179, i32 0, i32 1
%2205 = load float, float* %2204
%2206 = fcmp une float %2203, 0x7FF0000000000000
%2207 = fcmp une float %2205, -0.000000e+00
%2208 = or i1 %2206, %2207
br i1 %2208, label %2236, label %2209
2209: ; preds = %2191
br i1 true, label %2210, label %2218
2210: ; preds = %2209
br i1 false, label %2211, label %2218
2211: ; preds = %2210
%2212 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2213 = bitcast { float, float }* %180 to <2 x float>*
store <2 x float> %2212, <2 x float>* %2213
%2214 = getelementptr inbounds { float, float }, { float, float }* %180, i32 0, i32 0
%2215 = load float, float* %2214
%2216 = getelementptr inbounds { float, float }, { float, float }* %180, i32 0, i32 1
%2217 = load float, float* %2216
br label %2218
2218: ; preds = %2211, %2210, %2209
%2219 = phi float [ 0x7FF8000000000000, %2209 ], [ 0x7FF8000000000000, %2210 ], [ %2215, %2211 ]
%2220 = phi float [ 0x7FF0000000000000, %2209 ], [ 0x7FF0000000000000, %2210 ], [ %2217, %2211 ]
%2221 = fsub float -2.300000e+01, %2219
%2222 = fsub float 0.000000e+00, %2220
%2223 = getelementptr inbounds { float, float }, { float, float }* %181, i32 0, i32 0
%2224 = getelementptr inbounds { float, float }, { float, float }* %181, i32 0, i32 1
store float %2221, float* %2223
store float %2222, float* %2224
%2225 = bitcast { float, float }* %181 to <2 x float>*
%2226 = load <2 x float>, <2 x float>* %2225
%2227 = call <2 x float> @cprojf(<2 x float> %2226)
%2228 = bitcast { float, float }* %182 to <2 x float>*
store <2 x float> %2227, <2 x float>* %2228
%2229 = getelementptr inbounds { float, float }, { float, float }* %182, i32 0, i32 0
%2230 = load float, float* %2229
%2231 = getelementptr inbounds { float, float }, { float, float }* %182, i32 0, i32 1
%2232 = load float, float* %2231
%2233 = call float @llvm.copysign.f32(float 1.000000e+00, float %2232)
%2234 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%2235 = fcmp une float %2233, %2234
br i1 %2235, label %2236, label %2238
2236: ; preds = %2218, %2191
%2237 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 211)
br label %2238
2238: ; preds = %2236, %2218
br i1 true, label %2239, label %2247
2239: ; preds = %2238
br i1 false, label %2240, label %2247
2240: ; preds = %2239
%2241 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2242 = bitcast { float, float }* %183 to <2 x float>*
store <2 x float> %2241, <2 x float>* %2242
%2243 = getelementptr inbounds { float, float }, { float, float }* %183, i32 0, i32 0
%2244 = load float, float* %2243
%2245 = getelementptr inbounds { float, float }, { float, float }* %183, i32 0, i32 1
%2246 = load float, float* %2245
br label %2247
2247: ; preds = %2240, %2239, %2238
%2248 = phi float [ 0x7FF8000000000000, %2238 ], [ 0x7FF8000000000000, %2239 ], [ %2244, %2240 ]
%2249 = phi float [ 0x7FF0000000000000, %2238 ], [ 0x7FF0000000000000, %2239 ], [ %2246, %2240 ]
%2250 = fsub float -2.300000e+01, %2248
%2251 = fsub float 0.000000e+00, %2249
%2252 = fpext float %2250 to double
%2253 = fpext float %2251 to double
%2254 = getelementptr inbounds { double, double }, { double, double }* %184, i32 0, i32 0
%2255 = getelementptr inbounds { double, double }, { double, double }* %184, i32 0, i32 1
store double %2252, double* %2254
store double %2253, double* %2255
%2256 = getelementptr inbounds { double, double }, { double, double }* %184, i32 0, i32 0
%2257 = load double, double* %2256
%2258 = getelementptr inbounds { double, double }, { double, double }* %184, i32 0, i32 1
%2259 = load double, double* %2258
%2260 = call { double, double } @cproj(double %2257, double %2259)
%2261 = extractvalue { double, double } %2260, 0
%2262 = extractvalue { double, double } %2260, 1
%2263 = fcmp une double %2261, 0x7FF0000000000000
%2264 = fcmp une double %2262, -0.000000e+00
%2265 = or i1 %2263, %2264
br i1 %2265, label %2296, label %2266
2266: ; preds = %2247
br i1 true, label %2267, label %2275
2267: ; preds = %2266
br i1 false, label %2268, label %2275
2268: ; preds = %2267
%2269 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2270 = bitcast { float, float }* %185 to <2 x float>*
store <2 x float> %2269, <2 x float>* %2270
%2271 = getelementptr inbounds { float, float }, { float, float }* %185, i32 0, i32 0
%2272 = load float, float* %2271
%2273 = getelementptr inbounds { float, float }, { float, float }* %185, i32 0, i32 1
%2274 = load float, float* %2273
br label %2275
2275: ; preds = %2268, %2267, %2266
%2276 = phi float [ 0x7FF8000000000000, %2266 ], [ 0x7FF8000000000000, %2267 ], [ %2272, %2268 ]
%2277 = phi float [ 0x7FF0000000000000, %2266 ], [ 0x7FF0000000000000, %2267 ], [ %2274, %2268 ]
%2278 = fsub float -2.300000e+01, %2276
%2279 = fsub float 0.000000e+00, %2277
%2280 = fpext float %2278 to double
%2281 = fpext float %2279 to double
%2282 = getelementptr inbounds { double, double }, { double, double }* %186, i32 0, i32 0
%2283 = getelementptr inbounds { double, double }, { double, double }* %186, i32 0, i32 1
store double %2280, double* %2282
store double %2281, double* %2283
%2284 = getelementptr inbounds { double, double }, { double, double }* %186, i32 0, i32 0
%2285 = load double, double* %2284
%2286 = getelementptr inbounds { double, double }, { double, double }* %186, i32 0, i32 1
%2287 = load double, double* %2286
%2288 = call { double, double } @cproj(double %2285, double %2287)
%2289 = extractvalue { double, double } %2288, 0
%2290 = extractvalue { double, double } %2288, 1
%2291 = fptrunc double %2289 to float
%2292 = fptrunc double %2290 to float
%2293 = call float @llvm.copysign.f32(float 1.000000e+00, float %2292)
%2294 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%2295 = fcmp une float %2293, %2294
br i1 %2295, label %2296, label %2298
2296: ; preds = %2275, %2247
%2297 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 211)
br label %2298
2298: ; preds = %2296, %2275
br i1 true, label %2299, label %2307
2299: ; preds = %2298
br i1 false, label %2300, label %2307
2300: ; preds = %2299
%2301 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2302 = bitcast { float, float }* %187 to <2 x float>*
store <2 x float> %2301, <2 x float>* %2302
%2303 = getelementptr inbounds { float, float }, { float, float }* %187, i32 0, i32 0
%2304 = load float, float* %2303
%2305 = getelementptr inbounds { float, float }, { float, float }* %187, i32 0, i32 1
%2306 = load float, float* %2305
br label %2307
2307: ; preds = %2300, %2299, %2298
%2308 = phi float [ 0x7FF8000000000000, %2298 ], [ 0x7FF8000000000000, %2299 ], [ %2304, %2300 ]
%2309 = phi float [ 0x7FF0000000000000, %2298 ], [ 0x7FF0000000000000, %2299 ], [ %2306, %2300 ]
%2310 = fsub float -2.300000e+01, %2308
%2311 = fsub float 0.000000e+00, %2309
%2312 = fpext float %2310 to x86_fp80
%2313 = fpext float %2311 to x86_fp80
%2314 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %188, i32 0, i32 0
%2315 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %188, i32 0, i32 1
store x86_fp80 %2312, x86_fp80* %2314
store x86_fp80 %2313, x86_fp80* %2315
%2316 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %188)
%2317 = extractvalue { x86_fp80, x86_fp80 } %2316, 0
%2318 = extractvalue { x86_fp80, x86_fp80 } %2316, 1
%2319 = fcmp une x86_fp80 %2317, 0xK7FFF8000000000000000
%2320 = fcmp une x86_fp80 %2318, 0xK80000000000000000000
%2321 = or i1 %2319, %2320
br i1 %2321, label %2348, label %2322
2322: ; preds = %2307
br i1 true, label %2323, label %2331
2323: ; preds = %2322
br i1 false, label %2324, label %2331
2324: ; preds = %2323
%2325 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2326 = bitcast { float, float }* %189 to <2 x float>*
store <2 x float> %2325, <2 x float>* %2326
%2327 = getelementptr inbounds { float, float }, { float, float }* %189, i32 0, i32 0
%2328 = load float, float* %2327
%2329 = getelementptr inbounds { float, float }, { float, float }* %189, i32 0, i32 1
%2330 = load float, float* %2329
br label %2331
2331: ; preds = %2324, %2323, %2322
%2332 = phi float [ 0x7FF8000000000000, %2322 ], [ 0x7FF8000000000000, %2323 ], [ %2328, %2324 ]
%2333 = phi float [ 0x7FF0000000000000, %2322 ], [ 0x7FF0000000000000, %2323 ], [ %2330, %2324 ]
%2334 = fsub float -2.300000e+01, %2332
%2335 = fsub float 0.000000e+00, %2333
%2336 = fpext float %2334 to x86_fp80
%2337 = fpext float %2335 to x86_fp80
%2338 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %190, i32 0, i32 0
%2339 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %190, i32 0, i32 1
store x86_fp80 %2336, x86_fp80* %2338
store x86_fp80 %2337, x86_fp80* %2339
%2340 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %190)
%2341 = extractvalue { x86_fp80, x86_fp80 } %2340, 0
%2342 = extractvalue { x86_fp80, x86_fp80 } %2340, 1
%2343 = fptrunc x86_fp80 %2341 to float
%2344 = fptrunc x86_fp80 %2342 to float
%2345 = call float @llvm.copysign.f32(float 1.000000e+00, float %2344)
%2346 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%2347 = fcmp une float %2345, %2346
br i1 %2347, label %2348, label %2350
2348: ; preds = %2331, %2307
%2349 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 211)
br label %2350
2350: ; preds = %2348, %2331
br label %2351
2351: ; preds = %2350
br label %2352
2352: ; preds = %2351
br i1 true, label %2353, label %2361
2353: ; preds = %2352
br i1 false, label %2354, label %2361
2354: ; preds = %2353
%2355 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2356 = bitcast { float, float }* %191 to <2 x float>*
store <2 x float> %2355, <2 x float>* %2356
%2357 = getelementptr inbounds { float, float }, { float, float }* %191, i32 0, i32 0
%2358 = load float, float* %2357
%2359 = getelementptr inbounds { float, float }, { float, float }* %191, i32 0, i32 1
%2360 = load float, float* %2359
br label %2361
2361: ; preds = %2354, %2353, %2352
%2362 = phi float [ 0x7FF8000000000000, %2352 ], [ 0x7FF8000000000000, %2353 ], [ %2358, %2354 ]
%2363 = phi float [ 0x7FF0000000000000, %2352 ], [ 0x7FF0000000000000, %2353 ], [ %2360, %2354 ]
%2364 = fadd float 0x7FF0000000000000, %2362
%2365 = getelementptr inbounds { float, float }, { float, float }* %192, i32 0, i32 0
%2366 = getelementptr inbounds { float, float }, { float, float }* %192, i32 0, i32 1
store float %2364, float* %2365
store float %2363, float* %2366
%2367 = bitcast { float, float }* %192 to <2 x float>*
%2368 = load <2 x float>, <2 x float>* %2367
%2369 = call <2 x float> @cprojf(<2 x float> %2368)
%2370 = bitcast { float, float }* %193 to <2 x float>*
store <2 x float> %2369, <2 x float>* %2370
%2371 = getelementptr inbounds { float, float }, { float, float }* %193, i32 0, i32 0
%2372 = load float, float* %2371
%2373 = getelementptr inbounds { float, float }, { float, float }* %193, i32 0, i32 1
%2374 = load float, float* %2373
%2375 = fcmp une float %2372, 0x7FF0000000000000
%2376 = fcmp une float %2374, 0.000000e+00
%2377 = or i1 %2375, %2376
br i1 %2377, label %2404, label %2378
2378: ; preds = %2361
br i1 true, label %2379, label %2387
2379: ; preds = %2378
br i1 false, label %2380, label %2387
2380: ; preds = %2379
%2381 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2382 = bitcast { float, float }* %194 to <2 x float>*
store <2 x float> %2381, <2 x float>* %2382
%2383 = getelementptr inbounds { float, float }, { float, float }* %194, i32 0, i32 0
%2384 = load float, float* %2383
%2385 = getelementptr inbounds { float, float }, { float, float }* %194, i32 0, i32 1
%2386 = load float, float* %2385
br label %2387
2387: ; preds = %2380, %2379, %2378
%2388 = phi float [ 0x7FF8000000000000, %2378 ], [ 0x7FF8000000000000, %2379 ], [ %2384, %2380 ]
%2389 = phi float [ 0x7FF0000000000000, %2378 ], [ 0x7FF0000000000000, %2379 ], [ %2386, %2380 ]
%2390 = fadd float 0x7FF0000000000000, %2388
%2391 = getelementptr inbounds { float, float }, { float, float }* %195, i32 0, i32 0
%2392 = getelementptr inbounds { float, float }, { float, float }* %195, i32 0, i32 1
store float %2390, float* %2391
store float %2389, float* %2392
%2393 = bitcast { float, float }* %195 to <2 x float>*
%2394 = load <2 x float>, <2 x float>* %2393
%2395 = call <2 x float> @cprojf(<2 x float> %2394)
%2396 = bitcast { float, float }* %196 to <2 x float>*
store <2 x float> %2395, <2 x float>* %2396
%2397 = getelementptr inbounds { float, float }, { float, float }* %196, i32 0, i32 0
%2398 = load float, float* %2397
%2399 = getelementptr inbounds { float, float }, { float, float }* %196, i32 0, i32 1
%2400 = load float, float* %2399
%2401 = call float @llvm.copysign.f32(float 1.000000e+00, float %2400)
%2402 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%2403 = fcmp une float %2401, %2402
br i1 %2403, label %2404, label %2406
2404: ; preds = %2387, %2361
%2405 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 213)
br label %2406
2406: ; preds = %2404, %2387
br i1 true, label %2407, label %2415
2407: ; preds = %2406
br i1 false, label %2408, label %2415
2408: ; preds = %2407
%2409 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2410 = bitcast { float, float }* %197 to <2 x float>*
store <2 x float> %2409, <2 x float>* %2410
%2411 = getelementptr inbounds { float, float }, { float, float }* %197, i32 0, i32 0
%2412 = load float, float* %2411
%2413 = getelementptr inbounds { float, float }, { float, float }* %197, i32 0, i32 1
%2414 = load float, float* %2413
br label %2415
2415: ; preds = %2408, %2407, %2406
%2416 = phi float [ 0x7FF8000000000000, %2406 ], [ 0x7FF8000000000000, %2407 ], [ %2412, %2408 ]
%2417 = phi float [ 0x7FF0000000000000, %2406 ], [ 0x7FF0000000000000, %2407 ], [ %2414, %2408 ]
%2418 = fadd float 0x7FF0000000000000, %2416
%2419 = fpext float %2418 to double
%2420 = fpext float %2417 to double
%2421 = getelementptr inbounds { double, double }, { double, double }* %198, i32 0, i32 0
%2422 = getelementptr inbounds { double, double }, { double, double }* %198, i32 0, i32 1
store double %2419, double* %2421
store double %2420, double* %2422
%2423 = getelementptr inbounds { double, double }, { double, double }* %198, i32 0, i32 0
%2424 = load double, double* %2423
%2425 = getelementptr inbounds { double, double }, { double, double }* %198, i32 0, i32 1
%2426 = load double, double* %2425
%2427 = call { double, double } @cproj(double %2424, double %2426)
%2428 = extractvalue { double, double } %2427, 0
%2429 = extractvalue { double, double } %2427, 1
%2430 = fcmp une double %2428, 0x7FF0000000000000
%2431 = fcmp une double %2429, 0.000000e+00
%2432 = or i1 %2430, %2431
br i1 %2432, label %2462, label %2433
2433: ; preds = %2415
br i1 true, label %2434, label %2442
2434: ; preds = %2433
br i1 false, label %2435, label %2442
2435: ; preds = %2434
%2436 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2437 = bitcast { float, float }* %199 to <2 x float>*
store <2 x float> %2436, <2 x float>* %2437
%2438 = getelementptr inbounds { float, float }, { float, float }* %199, i32 0, i32 0
%2439 = load float, float* %2438
%2440 = getelementptr inbounds { float, float }, { float, float }* %199, i32 0, i32 1
%2441 = load float, float* %2440
br label %2442
2442: ; preds = %2435, %2434, %2433
%2443 = phi float [ 0x7FF8000000000000, %2433 ], [ 0x7FF8000000000000, %2434 ], [ %2439, %2435 ]
%2444 = phi float [ 0x7FF0000000000000, %2433 ], [ 0x7FF0000000000000, %2434 ], [ %2441, %2435 ]
%2445 = fadd float 0x7FF0000000000000, %2443
%2446 = fpext float %2445 to double
%2447 = fpext float %2444 to double
%2448 = getelementptr inbounds { double, double }, { double, double }* %200, i32 0, i32 0
%2449 = getelementptr inbounds { double, double }, { double, double }* %200, i32 0, i32 1
store double %2446, double* %2448
store double %2447, double* %2449
%2450 = getelementptr inbounds { double, double }, { double, double }* %200, i32 0, i32 0
%2451 = load double, double* %2450
%2452 = getelementptr inbounds { double, double }, { double, double }* %200, i32 0, i32 1
%2453 = load double, double* %2452
%2454 = call { double, double } @cproj(double %2451, double %2453)
%2455 = extractvalue { double, double } %2454, 0
%2456 = extractvalue { double, double } %2454, 1
%2457 = fptrunc double %2455 to float
%2458 = fptrunc double %2456 to float
%2459 = call float @llvm.copysign.f32(float 1.000000e+00, float %2458)
%2460 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%2461 = fcmp une float %2459, %2460
br i1 %2461, label %2462, label %2464
2462: ; preds = %2442, %2415
%2463 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 213)
br label %2464
2464: ; preds = %2462, %2442
br i1 true, label %2465, label %2473
2465: ; preds = %2464
br i1 false, label %2466, label %2473
2466: ; preds = %2465
%2467 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2468 = bitcast { float, float }* %201 to <2 x float>*
store <2 x float> %2467, <2 x float>* %2468
%2469 = getelementptr inbounds { float, float }, { float, float }* %201, i32 0, i32 0
%2470 = load float, float* %2469
%2471 = getelementptr inbounds { float, float }, { float, float }* %201, i32 0, i32 1
%2472 = load float, float* %2471
br label %2473
2473: ; preds = %2466, %2465, %2464
%2474 = phi float [ 0x7FF8000000000000, %2464 ], [ 0x7FF8000000000000, %2465 ], [ %2470, %2466 ]
%2475 = phi float [ 0x7FF0000000000000, %2464 ], [ 0x7FF0000000000000, %2465 ], [ %2472, %2466 ]
%2476 = fadd float 0x7FF0000000000000, %2474
%2477 = fpext float %2476 to x86_fp80
%2478 = fpext float %2475 to x86_fp80
%2479 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %202, i32 0, i32 0
%2480 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %202, i32 0, i32 1
store x86_fp80 %2477, x86_fp80* %2479
store x86_fp80 %2478, x86_fp80* %2480
%2481 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %202)
%2482 = extractvalue { x86_fp80, x86_fp80 } %2481, 0
%2483 = extractvalue { x86_fp80, x86_fp80 } %2481, 1
%2484 = fcmp une x86_fp80 %2482, 0xK7FFF8000000000000000
%2485 = fcmp une x86_fp80 %2483, 0xK00000000000000000000
%2486 = or i1 %2484, %2485
br i1 %2486, label %2512, label %2487
2487: ; preds = %2473
br i1 true, label %2488, label %2496
2488: ; preds = %2487
br i1 false, label %2489, label %2496
2489: ; preds = %2488
%2490 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2491 = bitcast { float, float }* %203 to <2 x float>*
store <2 x float> %2490, <2 x float>* %2491
%2492 = getelementptr inbounds { float, float }, { float, float }* %203, i32 0, i32 0
%2493 = load float, float* %2492
%2494 = getelementptr inbounds { float, float }, { float, float }* %203, i32 0, i32 1
%2495 = load float, float* %2494
br label %2496
2496: ; preds = %2489, %2488, %2487
%2497 = phi float [ 0x7FF8000000000000, %2487 ], [ 0x7FF8000000000000, %2488 ], [ %2493, %2489 ]
%2498 = phi float [ 0x7FF0000000000000, %2487 ], [ 0x7FF0000000000000, %2488 ], [ %2495, %2489 ]
%2499 = fadd float 0x7FF0000000000000, %2497
%2500 = fpext float %2499 to x86_fp80
%2501 = fpext float %2498 to x86_fp80
%2502 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %204, i32 0, i32 0
%2503 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %204, i32 0, i32 1
store x86_fp80 %2500, x86_fp80* %2502
store x86_fp80 %2501, x86_fp80* %2503
%2504 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %204)
%2505 = extractvalue { x86_fp80, x86_fp80 } %2504, 0
%2506 = extractvalue { x86_fp80, x86_fp80 } %2504, 1
%2507 = fptrunc x86_fp80 %2505 to float
%2508 = fptrunc x86_fp80 %2506 to float
%2509 = call float @llvm.copysign.f32(float 1.000000e+00, float %2508)
%2510 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%2511 = fcmp une float %2509, %2510
br i1 %2511, label %2512, label %2514
2512: ; preds = %2496, %2473
%2513 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 213)
br label %2514
2514: ; preds = %2512, %2496
br label %2515
2515: ; preds = %2514
br label %2516
2516: ; preds = %2515
br i1 true, label %2517, label %2525
2517: ; preds = %2516
br i1 false, label %2518, label %2525
2518: ; preds = %2517
%2519 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2520 = bitcast { float, float }* %205 to <2 x float>*
store <2 x float> %2519, <2 x float>* %2520
%2521 = getelementptr inbounds { float, float }, { float, float }* %205, i32 0, i32 0
%2522 = load float, float* %2521
%2523 = getelementptr inbounds { float, float }, { float, float }* %205, i32 0, i32 1
%2524 = load float, float* %2523
br label %2525
2525: ; preds = %2518, %2517, %2516
%2526 = phi float [ 0x7FF8000000000000, %2516 ], [ 0x7FF8000000000000, %2517 ], [ %2522, %2518 ]
%2527 = phi float [ 0x7FF0000000000000, %2516 ], [ 0x7FF0000000000000, %2517 ], [ %2524, %2518 ]
%2528 = fsub float 0x7FF0000000000000, %2526
%2529 = fneg float %2527
%2530 = getelementptr inbounds { float, float }, { float, float }* %206, i32 0, i32 0
%2531 = getelementptr inbounds { float, float }, { float, float }* %206, i32 0, i32 1
store float %2528, float* %2530
store float %2529, float* %2531
%2532 = bitcast { float, float }* %206 to <2 x float>*
%2533 = load <2 x float>, <2 x float>* %2532
%2534 = call <2 x float> @cprojf(<2 x float> %2533)
%2535 = bitcast { float, float }* %207 to <2 x float>*
store <2 x float> %2534, <2 x float>* %2535
%2536 = getelementptr inbounds { float, float }, { float, float }* %207, i32 0, i32 0
%2537 = load float, float* %2536
%2538 = getelementptr inbounds { float, float }, { float, float }* %207, i32 0, i32 1
%2539 = load float, float* %2538
%2540 = fcmp une float %2537, 0x7FF0000000000000
%2541 = fcmp une float %2539, -0.000000e+00
%2542 = or i1 %2540, %2541
br i1 %2542, label %2570, label %2543
2543: ; preds = %2525
br i1 true, label %2544, label %2552
2544: ; preds = %2543
br i1 false, label %2545, label %2552
2545: ; preds = %2544
%2546 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2547 = bitcast { float, float }* %208 to <2 x float>*
store <2 x float> %2546, <2 x float>* %2547
%2548 = getelementptr inbounds { float, float }, { float, float }* %208, i32 0, i32 0
%2549 = load float, float* %2548
%2550 = getelementptr inbounds { float, float }, { float, float }* %208, i32 0, i32 1
%2551 = load float, float* %2550
br label %2552
2552: ; preds = %2545, %2544, %2543
%2553 = phi float [ 0x7FF8000000000000, %2543 ], [ 0x7FF8000000000000, %2544 ], [ %2549, %2545 ]
%2554 = phi float [ 0x7FF0000000000000, %2543 ], [ 0x7FF0000000000000, %2544 ], [ %2551, %2545 ]
%2555 = fsub float 0x7FF0000000000000, %2553
%2556 = fneg float %2554
%2557 = getelementptr inbounds { float, float }, { float, float }* %209, i32 0, i32 0
%2558 = getelementptr inbounds { float, float }, { float, float }* %209, i32 0, i32 1
store float %2555, float* %2557
store float %2556, float* %2558
%2559 = bitcast { float, float }* %209 to <2 x float>*
%2560 = load <2 x float>, <2 x float>* %2559
%2561 = call <2 x float> @cprojf(<2 x float> %2560)
%2562 = bitcast { float, float }* %210 to <2 x float>*
store <2 x float> %2561, <2 x float>* %2562
%2563 = getelementptr inbounds { float, float }, { float, float }* %210, i32 0, i32 0
%2564 = load float, float* %2563
%2565 = getelementptr inbounds { float, float }, { float, float }* %210, i32 0, i32 1
%2566 = load float, float* %2565
%2567 = call float @llvm.copysign.f32(float 1.000000e+00, float %2566)
%2568 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%2569 = fcmp une float %2567, %2568
br i1 %2569, label %2570, label %2572
2570: ; preds = %2552, %2525
%2571 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 214)
br label %2572
2572: ; preds = %2570, %2552
br i1 true, label %2573, label %2581
2573: ; preds = %2572
br i1 false, label %2574, label %2581
2574: ; preds = %2573
%2575 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2576 = bitcast { float, float }* %211 to <2 x float>*
store <2 x float> %2575, <2 x float>* %2576
%2577 = getelementptr inbounds { float, float }, { float, float }* %211, i32 0, i32 0
%2578 = load float, float* %2577
%2579 = getelementptr inbounds { float, float }, { float, float }* %211, i32 0, i32 1
%2580 = load float, float* %2579
br label %2581
2581: ; preds = %2574, %2573, %2572
%2582 = phi float [ 0x7FF8000000000000, %2572 ], [ 0x7FF8000000000000, %2573 ], [ %2578, %2574 ]
%2583 = phi float [ 0x7FF0000000000000, %2572 ], [ 0x7FF0000000000000, %2573 ], [ %2580, %2574 ]
%2584 = fsub float 0x7FF0000000000000, %2582
%2585 = fneg float %2583
%2586 = fpext float %2584 to double
%2587 = fpext float %2585 to double
%2588 = getelementptr inbounds { double, double }, { double, double }* %212, i32 0, i32 0
%2589 = getelementptr inbounds { double, double }, { double, double }* %212, i32 0, i32 1
store double %2586, double* %2588
store double %2587, double* %2589
%2590 = getelementptr inbounds { double, double }, { double, double }* %212, i32 0, i32 0
%2591 = load double, double* %2590
%2592 = getelementptr inbounds { double, double }, { double, double }* %212, i32 0, i32 1
%2593 = load double, double* %2592
%2594 = call { double, double } @cproj(double %2591, double %2593)
%2595 = extractvalue { double, double } %2594, 0
%2596 = extractvalue { double, double } %2594, 1
%2597 = fcmp une double %2595, 0x7FF0000000000000
%2598 = fcmp une double %2596, -0.000000e+00
%2599 = or i1 %2597, %2598
br i1 %2599, label %2630, label %2600
2600: ; preds = %2581
br i1 true, label %2601, label %2609
2601: ; preds = %2600
br i1 false, label %2602, label %2609
2602: ; preds = %2601
%2603 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2604 = bitcast { float, float }* %213 to <2 x float>*
store <2 x float> %2603, <2 x float>* %2604
%2605 = getelementptr inbounds { float, float }, { float, float }* %213, i32 0, i32 0
%2606 = load float, float* %2605
%2607 = getelementptr inbounds { float, float }, { float, float }* %213, i32 0, i32 1
%2608 = load float, float* %2607
br label %2609
2609: ; preds = %2602, %2601, %2600
%2610 = phi float [ 0x7FF8000000000000, %2600 ], [ 0x7FF8000000000000, %2601 ], [ %2606, %2602 ]
%2611 = phi float [ 0x7FF0000000000000, %2600 ], [ 0x7FF0000000000000, %2601 ], [ %2608, %2602 ]
%2612 = fsub float 0x7FF0000000000000, %2610
%2613 = fneg float %2611
%2614 = fpext float %2612 to double
%2615 = fpext float %2613 to double
%2616 = getelementptr inbounds { double, double }, { double, double }* %214, i32 0, i32 0
%2617 = getelementptr inbounds { double, double }, { double, double }* %214, i32 0, i32 1
store double %2614, double* %2616
store double %2615, double* %2617
%2618 = getelementptr inbounds { double, double }, { double, double }* %214, i32 0, i32 0
%2619 = load double, double* %2618
%2620 = getelementptr inbounds { double, double }, { double, double }* %214, i32 0, i32 1
%2621 = load double, double* %2620
%2622 = call { double, double } @cproj(double %2619, double %2621)
%2623 = extractvalue { double, double } %2622, 0
%2624 = extractvalue { double, double } %2622, 1
%2625 = fptrunc double %2623 to float
%2626 = fptrunc double %2624 to float
%2627 = call float @llvm.copysign.f32(float 1.000000e+00, float %2626)
%2628 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%2629 = fcmp une float %2627, %2628
br i1 %2629, label %2630, label %2632
2630: ; preds = %2609, %2581
%2631 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 214)
br label %2632
2632: ; preds = %2630, %2609
br i1 true, label %2633, label %2641
2633: ; preds = %2632
br i1 false, label %2634, label %2641
2634: ; preds = %2633
%2635 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2636 = bitcast { float, float }* %215 to <2 x float>*
store <2 x float> %2635, <2 x float>* %2636
%2637 = getelementptr inbounds { float, float }, { float, float }* %215, i32 0, i32 0
%2638 = load float, float* %2637
%2639 = getelementptr inbounds { float, float }, { float, float }* %215, i32 0, i32 1
%2640 = load float, float* %2639
br label %2641
2641: ; preds = %2634, %2633, %2632
%2642 = phi float [ 0x7FF8000000000000, %2632 ], [ 0x7FF8000000000000, %2633 ], [ %2638, %2634 ]
%2643 = phi float [ 0x7FF0000000000000, %2632 ], [ 0x7FF0000000000000, %2633 ], [ %2640, %2634 ]
%2644 = fsub float 0x7FF0000000000000, %2642
%2645 = fneg float %2643
%2646 = fpext float %2644 to x86_fp80
%2647 = fpext float %2645 to x86_fp80
%2648 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %216, i32 0, i32 0
%2649 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %216, i32 0, i32 1
store x86_fp80 %2646, x86_fp80* %2648
store x86_fp80 %2647, x86_fp80* %2649
%2650 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %216)
%2651 = extractvalue { x86_fp80, x86_fp80 } %2650, 0
%2652 = extractvalue { x86_fp80, x86_fp80 } %2650, 1
%2653 = fcmp une x86_fp80 %2651, 0xK7FFF8000000000000000
%2654 = fcmp une x86_fp80 %2652, 0xK80000000000000000000
%2655 = or i1 %2653, %2654
br i1 %2655, label %2682, label %2656
2656: ; preds = %2641
br i1 true, label %2657, label %2665
2657: ; preds = %2656
br i1 false, label %2658, label %2665
2658: ; preds = %2657
%2659 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2660 = bitcast { float, float }* %217 to <2 x float>*
store <2 x float> %2659, <2 x float>* %2660
%2661 = getelementptr inbounds { float, float }, { float, float }* %217, i32 0, i32 0
%2662 = load float, float* %2661
%2663 = getelementptr inbounds { float, float }, { float, float }* %217, i32 0, i32 1
%2664 = load float, float* %2663
br label %2665
2665: ; preds = %2658, %2657, %2656
%2666 = phi float [ 0x7FF8000000000000, %2656 ], [ 0x7FF8000000000000, %2657 ], [ %2662, %2658 ]
%2667 = phi float [ 0x7FF0000000000000, %2656 ], [ 0x7FF0000000000000, %2657 ], [ %2664, %2658 ]
%2668 = fsub float 0x7FF0000000000000, %2666
%2669 = fneg float %2667
%2670 = fpext float %2668 to x86_fp80
%2671 = fpext float %2669 to x86_fp80
%2672 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %218, i32 0, i32 0
%2673 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %218, i32 0, i32 1
store x86_fp80 %2670, x86_fp80* %2672
store x86_fp80 %2671, x86_fp80* %2673
%2674 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %218)
%2675 = extractvalue { x86_fp80, x86_fp80 } %2674, 0
%2676 = extractvalue { x86_fp80, x86_fp80 } %2674, 1
%2677 = fptrunc x86_fp80 %2675 to float
%2678 = fptrunc x86_fp80 %2676 to float
%2679 = call float @llvm.copysign.f32(float 1.000000e+00, float %2678)
%2680 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%2681 = fcmp une float %2679, %2680
br i1 %2681, label %2682, label %2684
2682: ; preds = %2665, %2641
%2683 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 214)
br label %2684
2684: ; preds = %2682, %2665
br label %2685
2685: ; preds = %2684
br label %2686
2686: ; preds = %2685
br i1 true, label %2687, label %2695
2687: ; preds = %2686
br i1 false, label %2688, label %2695
2688: ; preds = %2687
%2689 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2690 = bitcast { float, float }* %219 to <2 x float>*
store <2 x float> %2689, <2 x float>* %2690
%2691 = getelementptr inbounds { float, float }, { float, float }* %219, i32 0, i32 0
%2692 = load float, float* %2691
%2693 = getelementptr inbounds { float, float }, { float, float }* %219, i32 0, i32 1
%2694 = load float, float* %2693
br label %2695
2695: ; preds = %2688, %2687, %2686
%2696 = phi float [ 0x7FF8000000000000, %2686 ], [ 0x7FF8000000000000, %2687 ], [ %2692, %2688 ]
%2697 = phi float [ 0x7FF0000000000000, %2686 ], [ 0x7FF0000000000000, %2687 ], [ %2694, %2688 ]
%2698 = fadd float 0xFFF0000000000000, %2696
%2699 = getelementptr inbounds { float, float }, { float, float }* %220, i32 0, i32 0
%2700 = getelementptr inbounds { float, float }, { float, float }* %220, i32 0, i32 1
store float %2698, float* %2699
store float %2697, float* %2700
%2701 = bitcast { float, float }* %220 to <2 x float>*
%2702 = load <2 x float>, <2 x float>* %2701
%2703 = call <2 x float> @cprojf(<2 x float> %2702)
%2704 = bitcast { float, float }* %221 to <2 x float>*
store <2 x float> %2703, <2 x float>* %2704
%2705 = getelementptr inbounds { float, float }, { float, float }* %221, i32 0, i32 0
%2706 = load float, float* %2705
%2707 = getelementptr inbounds { float, float }, { float, float }* %221, i32 0, i32 1
%2708 = load float, float* %2707
%2709 = fcmp une float %2706, 0x7FF0000000000000
%2710 = fcmp une float %2708, 0.000000e+00
%2711 = or i1 %2709, %2710
br i1 %2711, label %2738, label %2712
2712: ; preds = %2695
br i1 true, label %2713, label %2721
2713: ; preds = %2712
br i1 false, label %2714, label %2721
2714: ; preds = %2713
%2715 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2716 = bitcast { float, float }* %222 to <2 x float>*
store <2 x float> %2715, <2 x float>* %2716
%2717 = getelementptr inbounds { float, float }, { float, float }* %222, i32 0, i32 0
%2718 = load float, float* %2717
%2719 = getelementptr inbounds { float, float }, { float, float }* %222, i32 0, i32 1
%2720 = load float, float* %2719
br label %2721
2721: ; preds = %2714, %2713, %2712
%2722 = phi float [ 0x7FF8000000000000, %2712 ], [ 0x7FF8000000000000, %2713 ], [ %2718, %2714 ]
%2723 = phi float [ 0x7FF0000000000000, %2712 ], [ 0x7FF0000000000000, %2713 ], [ %2720, %2714 ]
%2724 = fadd float 0xFFF0000000000000, %2722
%2725 = getelementptr inbounds { float, float }, { float, float }* %223, i32 0, i32 0
%2726 = getelementptr inbounds { float, float }, { float, float }* %223, i32 0, i32 1
store float %2724, float* %2725
store float %2723, float* %2726
%2727 = bitcast { float, float }* %223 to <2 x float>*
%2728 = load <2 x float>, <2 x float>* %2727
%2729 = call <2 x float> @cprojf(<2 x float> %2728)
%2730 = bitcast { float, float }* %224 to <2 x float>*
store <2 x float> %2729, <2 x float>* %2730
%2731 = getelementptr inbounds { float, float }, { float, float }* %224, i32 0, i32 0
%2732 = load float, float* %2731
%2733 = getelementptr inbounds { float, float }, { float, float }* %224, i32 0, i32 1
%2734 = load float, float* %2733
%2735 = call float @llvm.copysign.f32(float 1.000000e+00, float %2734)
%2736 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%2737 = fcmp une float %2735, %2736
br i1 %2737, label %2738, label %2740
2738: ; preds = %2721, %2695
%2739 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 215)
br label %2740
2740: ; preds = %2738, %2721
br i1 true, label %2741, label %2749
2741: ; preds = %2740
br i1 false, label %2742, label %2749
2742: ; preds = %2741
%2743 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2744 = bitcast { float, float }* %225 to <2 x float>*
store <2 x float> %2743, <2 x float>* %2744
%2745 = getelementptr inbounds { float, float }, { float, float }* %225, i32 0, i32 0
%2746 = load float, float* %2745
%2747 = getelementptr inbounds { float, float }, { float, float }* %225, i32 0, i32 1
%2748 = load float, float* %2747
br label %2749
2749: ; preds = %2742, %2741, %2740
%2750 = phi float [ 0x7FF8000000000000, %2740 ], [ 0x7FF8000000000000, %2741 ], [ %2746, %2742 ]
%2751 = phi float [ 0x7FF0000000000000, %2740 ], [ 0x7FF0000000000000, %2741 ], [ %2748, %2742 ]
%2752 = fadd float 0xFFF0000000000000, %2750
%2753 = fpext float %2752 to double
%2754 = fpext float %2751 to double
%2755 = getelementptr inbounds { double, double }, { double, double }* %226, i32 0, i32 0
%2756 = getelementptr inbounds { double, double }, { double, double }* %226, i32 0, i32 1
store double %2753, double* %2755
store double %2754, double* %2756
%2757 = getelementptr inbounds { double, double }, { double, double }* %226, i32 0, i32 0
%2758 = load double, double* %2757
%2759 = getelementptr inbounds { double, double }, { double, double }* %226, i32 0, i32 1
%2760 = load double, double* %2759
%2761 = call { double, double } @cproj(double %2758, double %2760)
%2762 = extractvalue { double, double } %2761, 0
%2763 = extractvalue { double, double } %2761, 1
%2764 = fcmp une double %2762, 0x7FF0000000000000
%2765 = fcmp une double %2763, 0.000000e+00
%2766 = or i1 %2764, %2765
br i1 %2766, label %2796, label %2767
2767: ; preds = %2749
br i1 true, label %2768, label %2776
2768: ; preds = %2767
br i1 false, label %2769, label %2776
2769: ; preds = %2768
%2770 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2771 = bitcast { float, float }* %227 to <2 x float>*
store <2 x float> %2770, <2 x float>* %2771
%2772 = getelementptr inbounds { float, float }, { float, float }* %227, i32 0, i32 0
%2773 = load float, float* %2772
%2774 = getelementptr inbounds { float, float }, { float, float }* %227, i32 0, i32 1
%2775 = load float, float* %2774
br label %2776
2776: ; preds = %2769, %2768, %2767
%2777 = phi float [ 0x7FF8000000000000, %2767 ], [ 0x7FF8000000000000, %2768 ], [ %2773, %2769 ]
%2778 = phi float [ 0x7FF0000000000000, %2767 ], [ 0x7FF0000000000000, %2768 ], [ %2775, %2769 ]
%2779 = fadd float 0xFFF0000000000000, %2777
%2780 = fpext float %2779 to double
%2781 = fpext float %2778 to double
%2782 = getelementptr inbounds { double, double }, { double, double }* %228, i32 0, i32 0
%2783 = getelementptr inbounds { double, double }, { double, double }* %228, i32 0, i32 1
store double %2780, double* %2782
store double %2781, double* %2783
%2784 = getelementptr inbounds { double, double }, { double, double }* %228, i32 0, i32 0
%2785 = load double, double* %2784
%2786 = getelementptr inbounds { double, double }, { double, double }* %228, i32 0, i32 1
%2787 = load double, double* %2786
%2788 = call { double, double } @cproj(double %2785, double %2787)
%2789 = extractvalue { double, double } %2788, 0
%2790 = extractvalue { double, double } %2788, 1
%2791 = fptrunc double %2789 to float
%2792 = fptrunc double %2790 to float
%2793 = call float @llvm.copysign.f32(float 1.000000e+00, float %2792)
%2794 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%2795 = fcmp une float %2793, %2794
br i1 %2795, label %2796, label %2798
2796: ; preds = %2776, %2749
%2797 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 215)
br label %2798
2798: ; preds = %2796, %2776
br i1 true, label %2799, label %2807
2799: ; preds = %2798
br i1 false, label %2800, label %2807
2800: ; preds = %2799
%2801 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2802 = bitcast { float, float }* %229 to <2 x float>*
store <2 x float> %2801, <2 x float>* %2802
%2803 = getelementptr inbounds { float, float }, { float, float }* %229, i32 0, i32 0
%2804 = load float, float* %2803
%2805 = getelementptr inbounds { float, float }, { float, float }* %229, i32 0, i32 1
%2806 = load float, float* %2805
br label %2807
2807: ; preds = %2800, %2799, %2798
%2808 = phi float [ 0x7FF8000000000000, %2798 ], [ 0x7FF8000000000000, %2799 ], [ %2804, %2800 ]
%2809 = phi float [ 0x7FF0000000000000, %2798 ], [ 0x7FF0000000000000, %2799 ], [ %2806, %2800 ]
%2810 = fadd float 0xFFF0000000000000, %2808
%2811 = fpext float %2810 to x86_fp80
%2812 = fpext float %2809 to x86_fp80
%2813 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %230, i32 0, i32 0
%2814 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %230, i32 0, i32 1
store x86_fp80 %2811, x86_fp80* %2813
store x86_fp80 %2812, x86_fp80* %2814
%2815 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %230)
%2816 = extractvalue { x86_fp80, x86_fp80 } %2815, 0
%2817 = extractvalue { x86_fp80, x86_fp80 } %2815, 1
%2818 = fcmp une x86_fp80 %2816, 0xK7FFF8000000000000000
%2819 = fcmp une x86_fp80 %2817, 0xK00000000000000000000
%2820 = or i1 %2818, %2819
br i1 %2820, label %2846, label %2821
2821: ; preds = %2807
br i1 true, label %2822, label %2830
2822: ; preds = %2821
br i1 false, label %2823, label %2830
2823: ; preds = %2822
%2824 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2825 = bitcast { float, float }* %231 to <2 x float>*
store <2 x float> %2824, <2 x float>* %2825
%2826 = getelementptr inbounds { float, float }, { float, float }* %231, i32 0, i32 0
%2827 = load float, float* %2826
%2828 = getelementptr inbounds { float, float }, { float, float }* %231, i32 0, i32 1
%2829 = load float, float* %2828
br label %2830
2830: ; preds = %2823, %2822, %2821
%2831 = phi float [ 0x7FF8000000000000, %2821 ], [ 0x7FF8000000000000, %2822 ], [ %2827, %2823 ]
%2832 = phi float [ 0x7FF0000000000000, %2821 ], [ 0x7FF0000000000000, %2822 ], [ %2829, %2823 ]
%2833 = fadd float 0xFFF0000000000000, %2831
%2834 = fpext float %2833 to x86_fp80
%2835 = fpext float %2832 to x86_fp80
%2836 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %232, i32 0, i32 0
%2837 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %232, i32 0, i32 1
store x86_fp80 %2834, x86_fp80* %2836
store x86_fp80 %2835, x86_fp80* %2837
%2838 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %232)
%2839 = extractvalue { x86_fp80, x86_fp80 } %2838, 0
%2840 = extractvalue { x86_fp80, x86_fp80 } %2838, 1
%2841 = fptrunc x86_fp80 %2839 to float
%2842 = fptrunc x86_fp80 %2840 to float
%2843 = call float @llvm.copysign.f32(float 1.000000e+00, float %2842)
%2844 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%2845 = fcmp une float %2843, %2844
br i1 %2845, label %2846, label %2848
2846: ; preds = %2830, %2807
%2847 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 215)
br label %2848
2848: ; preds = %2846, %2830
br label %2849
2849: ; preds = %2848
br label %2850
2850: ; preds = %2849
br i1 true, label %2851, label %2859
2851: ; preds = %2850
br i1 false, label %2852, label %2859
2852: ; preds = %2851
%2853 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2854 = bitcast { float, float }* %233 to <2 x float>*
store <2 x float> %2853, <2 x float>* %2854
%2855 = getelementptr inbounds { float, float }, { float, float }* %233, i32 0, i32 0
%2856 = load float, float* %2855
%2857 = getelementptr inbounds { float, float }, { float, float }* %233, i32 0, i32 1
%2858 = load float, float* %2857
br label %2859
2859: ; preds = %2852, %2851, %2850
%2860 = phi float [ 0x7FF8000000000000, %2850 ], [ 0x7FF8000000000000, %2851 ], [ %2856, %2852 ]
%2861 = phi float [ 0x7FF0000000000000, %2850 ], [ 0x7FF0000000000000, %2851 ], [ %2858, %2852 ]
%2862 = fsub float 0xFFF0000000000000, %2860
%2863 = fneg float %2861
%2864 = getelementptr inbounds { float, float }, { float, float }* %234, i32 0, i32 0
%2865 = getelementptr inbounds { float, float }, { float, float }* %234, i32 0, i32 1
store float %2862, float* %2864
store float %2863, float* %2865
%2866 = bitcast { float, float }* %234 to <2 x float>*
%2867 = load <2 x float>, <2 x float>* %2866
%2868 = call <2 x float> @cprojf(<2 x float> %2867)
%2869 = bitcast { float, float }* %235 to <2 x float>*
store <2 x float> %2868, <2 x float>* %2869
%2870 = getelementptr inbounds { float, float }, { float, float }* %235, i32 0, i32 0
%2871 = load float, float* %2870
%2872 = getelementptr inbounds { float, float }, { float, float }* %235, i32 0, i32 1
%2873 = load float, float* %2872
%2874 = fcmp une float %2871, 0x7FF0000000000000
%2875 = fcmp une float %2873, -0.000000e+00
%2876 = or i1 %2874, %2875
br i1 %2876, label %2904, label %2877
2877: ; preds = %2859
br i1 true, label %2878, label %2886
2878: ; preds = %2877
br i1 false, label %2879, label %2886
2879: ; preds = %2878
%2880 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2881 = bitcast { float, float }* %236 to <2 x float>*
store <2 x float> %2880, <2 x float>* %2881
%2882 = getelementptr inbounds { float, float }, { float, float }* %236, i32 0, i32 0
%2883 = load float, float* %2882
%2884 = getelementptr inbounds { float, float }, { float, float }* %236, i32 0, i32 1
%2885 = load float, float* %2884
br label %2886
2886: ; preds = %2879, %2878, %2877
%2887 = phi float [ 0x7FF8000000000000, %2877 ], [ 0x7FF8000000000000, %2878 ], [ %2883, %2879 ]
%2888 = phi float [ 0x7FF0000000000000, %2877 ], [ 0x7FF0000000000000, %2878 ], [ %2885, %2879 ]
%2889 = fsub float 0xFFF0000000000000, %2887
%2890 = fneg float %2888
%2891 = getelementptr inbounds { float, float }, { float, float }* %237, i32 0, i32 0
%2892 = getelementptr inbounds { float, float }, { float, float }* %237, i32 0, i32 1
store float %2889, float* %2891
store float %2890, float* %2892
%2893 = bitcast { float, float }* %237 to <2 x float>*
%2894 = load <2 x float>, <2 x float>* %2893
%2895 = call <2 x float> @cprojf(<2 x float> %2894)
%2896 = bitcast { float, float }* %238 to <2 x float>*
store <2 x float> %2895, <2 x float>* %2896
%2897 = getelementptr inbounds { float, float }, { float, float }* %238, i32 0, i32 0
%2898 = load float, float* %2897
%2899 = getelementptr inbounds { float, float }, { float, float }* %238, i32 0, i32 1
%2900 = load float, float* %2899
%2901 = call float @llvm.copysign.f32(float 1.000000e+00, float %2900)
%2902 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%2903 = fcmp une float %2901, %2902
br i1 %2903, label %2904, label %2906
2904: ; preds = %2886, %2859
%2905 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 216)
br label %2906
2906: ; preds = %2904, %2886
br i1 true, label %2907, label %2915
2907: ; preds = %2906
br i1 false, label %2908, label %2915
2908: ; preds = %2907
%2909 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2910 = bitcast { float, float }* %239 to <2 x float>*
store <2 x float> %2909, <2 x float>* %2910
%2911 = getelementptr inbounds { float, float }, { float, float }* %239, i32 0, i32 0
%2912 = load float, float* %2911
%2913 = getelementptr inbounds { float, float }, { float, float }* %239, i32 0, i32 1
%2914 = load float, float* %2913
br label %2915
2915: ; preds = %2908, %2907, %2906
%2916 = phi float [ 0x7FF8000000000000, %2906 ], [ 0x7FF8000000000000, %2907 ], [ %2912, %2908 ]
%2917 = phi float [ 0x7FF0000000000000, %2906 ], [ 0x7FF0000000000000, %2907 ], [ %2914, %2908 ]
%2918 = fsub float 0xFFF0000000000000, %2916
%2919 = fneg float %2917
%2920 = fpext float %2918 to double
%2921 = fpext float %2919 to double
%2922 = getelementptr inbounds { double, double }, { double, double }* %240, i32 0, i32 0
%2923 = getelementptr inbounds { double, double }, { double, double }* %240, i32 0, i32 1
store double %2920, double* %2922
store double %2921, double* %2923
%2924 = getelementptr inbounds { double, double }, { double, double }* %240, i32 0, i32 0
%2925 = load double, double* %2924
%2926 = getelementptr inbounds { double, double }, { double, double }* %240, i32 0, i32 1
%2927 = load double, double* %2926
%2928 = call { double, double } @cproj(double %2925, double %2927)
%2929 = extractvalue { double, double } %2928, 0
%2930 = extractvalue { double, double } %2928, 1
%2931 = fcmp une double %2929, 0x7FF0000000000000
%2932 = fcmp une double %2930, -0.000000e+00
%2933 = or i1 %2931, %2932
br i1 %2933, label %2964, label %2934
2934: ; preds = %2915
br i1 true, label %2935, label %2943
2935: ; preds = %2934
br i1 false, label %2936, label %2943
2936: ; preds = %2935
%2937 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2938 = bitcast { float, float }* %241 to <2 x float>*
store <2 x float> %2937, <2 x float>* %2938
%2939 = getelementptr inbounds { float, float }, { float, float }* %241, i32 0, i32 0
%2940 = load float, float* %2939
%2941 = getelementptr inbounds { float, float }, { float, float }* %241, i32 0, i32 1
%2942 = load float, float* %2941
br label %2943
2943: ; preds = %2936, %2935, %2934
%2944 = phi float [ 0x7FF8000000000000, %2934 ], [ 0x7FF8000000000000, %2935 ], [ %2940, %2936 ]
%2945 = phi float [ 0x7FF0000000000000, %2934 ], [ 0x7FF0000000000000, %2935 ], [ %2942, %2936 ]
%2946 = fsub float 0xFFF0000000000000, %2944
%2947 = fneg float %2945
%2948 = fpext float %2946 to double
%2949 = fpext float %2947 to double
%2950 = getelementptr inbounds { double, double }, { double, double }* %242, i32 0, i32 0
%2951 = getelementptr inbounds { double, double }, { double, double }* %242, i32 0, i32 1
store double %2948, double* %2950
store double %2949, double* %2951
%2952 = getelementptr inbounds { double, double }, { double, double }* %242, i32 0, i32 0
%2953 = load double, double* %2952
%2954 = getelementptr inbounds { double, double }, { double, double }* %242, i32 0, i32 1
%2955 = load double, double* %2954
%2956 = call { double, double } @cproj(double %2953, double %2955)
%2957 = extractvalue { double, double } %2956, 0
%2958 = extractvalue { double, double } %2956, 1
%2959 = fptrunc double %2957 to float
%2960 = fptrunc double %2958 to float
%2961 = call float @llvm.copysign.f32(float 1.000000e+00, float %2960)
%2962 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%2963 = fcmp une float %2961, %2962
br i1 %2963, label %2964, label %2966
2964: ; preds = %2943, %2915
%2965 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 216)
br label %2966
2966: ; preds = %2964, %2943
br i1 true, label %2967, label %2975
2967: ; preds = %2966
br i1 false, label %2968, label %2975
2968: ; preds = %2967
%2969 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2970 = bitcast { float, float }* %243 to <2 x float>*
store <2 x float> %2969, <2 x float>* %2970
%2971 = getelementptr inbounds { float, float }, { float, float }* %243, i32 0, i32 0
%2972 = load float, float* %2971
%2973 = getelementptr inbounds { float, float }, { float, float }* %243, i32 0, i32 1
%2974 = load float, float* %2973
br label %2975
2975: ; preds = %2968, %2967, %2966
%2976 = phi float [ 0x7FF8000000000000, %2966 ], [ 0x7FF8000000000000, %2967 ], [ %2972, %2968 ]
%2977 = phi float [ 0x7FF0000000000000, %2966 ], [ 0x7FF0000000000000, %2967 ], [ %2974, %2968 ]
%2978 = fsub float 0xFFF0000000000000, %2976
%2979 = fneg float %2977
%2980 = fpext float %2978 to x86_fp80
%2981 = fpext float %2979 to x86_fp80
%2982 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %244, i32 0, i32 0
%2983 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %244, i32 0, i32 1
store x86_fp80 %2980, x86_fp80* %2982
store x86_fp80 %2981, x86_fp80* %2983
%2984 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %244)
%2985 = extractvalue { x86_fp80, x86_fp80 } %2984, 0
%2986 = extractvalue { x86_fp80, x86_fp80 } %2984, 1
%2987 = fcmp une x86_fp80 %2985, 0xK7FFF8000000000000000
%2988 = fcmp une x86_fp80 %2986, 0xK80000000000000000000
%2989 = or i1 %2987, %2988
br i1 %2989, label %3016, label %2990
2990: ; preds = %2975
br i1 true, label %2991, label %2999
2991: ; preds = %2990
br i1 false, label %2992, label %2999
2992: ; preds = %2991
%2993 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%2994 = bitcast { float, float }* %245 to <2 x float>*
store <2 x float> %2993, <2 x float>* %2994
%2995 = getelementptr inbounds { float, float }, { float, float }* %245, i32 0, i32 0
%2996 = load float, float* %2995
%2997 = getelementptr inbounds { float, float }, { float, float }* %245, i32 0, i32 1
%2998 = load float, float* %2997
br label %2999
2999: ; preds = %2992, %2991, %2990
%3000 = phi float [ 0x7FF8000000000000, %2990 ], [ 0x7FF8000000000000, %2991 ], [ %2996, %2992 ]
%3001 = phi float [ 0x7FF0000000000000, %2990 ], [ 0x7FF0000000000000, %2991 ], [ %2998, %2992 ]
%3002 = fsub float 0xFFF0000000000000, %3000
%3003 = fneg float %3001
%3004 = fpext float %3002 to x86_fp80
%3005 = fpext float %3003 to x86_fp80
%3006 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %246, i32 0, i32 0
%3007 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %246, i32 0, i32 1
store x86_fp80 %3004, x86_fp80* %3006
store x86_fp80 %3005, x86_fp80* %3007
%3008 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %246)
%3009 = extractvalue { x86_fp80, x86_fp80 } %3008, 0
%3010 = extractvalue { x86_fp80, x86_fp80 } %3008, 1
%3011 = fptrunc x86_fp80 %3009 to float
%3012 = fptrunc x86_fp80 %3010 to float
%3013 = call float @llvm.copysign.f32(float 1.000000e+00, float %3012)
%3014 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%3015 = fcmp une float %3013, %3014
br i1 %3015, label %3016, label %3018
3016: ; preds = %2999, %2975
%3017 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 216)
br label %3018
3018: ; preds = %3016, %2999
br label %3019
3019: ; preds = %3018
br label %3020
3020: ; preds = %3019
%3021 = getelementptr inbounds { float, float }, { float, float }* %247, i32 0, i32 0
%3022 = getelementptr inbounds { float, float }, { float, float }* %247, i32 0, i32 1
store float 0.000000e+00, float* %3021
store float 0.000000e+00, float* %3022
%3023 = bitcast { float, float }* %247 to <2 x float>*
%3024 = load <2 x float>, <2 x float>* %3023
%3025 = call <2 x float> @cprojf(<2 x float> %3024)
%3026 = bitcast { float, float }* %248 to <2 x float>*
store <2 x float> %3025, <2 x float>* %3026
%3027 = getelementptr inbounds { float, float }, { float, float }* %248, i32 0, i32 0
%3028 = load float, float* %3027
%3029 = getelementptr inbounds { float, float }, { float, float }* %248, i32 0, i32 1
%3030 = load float, float* %3029
%3031 = fcmp une float %3028, 0.000000e+00
%3032 = fcmp une float %3030, 0.000000e+00
%3033 = or i1 %3031, %3032
br i1 %3033, label %3062, label %3034
3034: ; preds = %3020
%3035 = getelementptr inbounds { float, float }, { float, float }* %249, i32 0, i32 0
%3036 = getelementptr inbounds { float, float }, { float, float }* %249, i32 0, i32 1
store float 0.000000e+00, float* %3035
store float 0.000000e+00, float* %3036
%3037 = bitcast { float, float }* %249 to <2 x float>*
%3038 = load <2 x float>, <2 x float>* %3037
%3039 = call <2 x float> @cprojf(<2 x float> %3038)
%3040 = bitcast { float, float }* %250 to <2 x float>*
store <2 x float> %3039, <2 x float>* %3040
%3041 = getelementptr inbounds { float, float }, { float, float }* %250, i32 0, i32 0
%3042 = load float, float* %3041
%3043 = getelementptr inbounds { float, float }, { float, float }* %250, i32 0, i32 1
%3044 = load float, float* %3043
%3045 = call float @llvm.copysign.f32(float 1.000000e+00, float %3042)
%3046 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%3047 = fcmp une float %3045, %3046
br i1 %3047, label %3062, label %3048
3048: ; preds = %3034
%3049 = getelementptr inbounds { float, float }, { float, float }* %251, i32 0, i32 0
%3050 = getelementptr inbounds { float, float }, { float, float }* %251, i32 0, i32 1
store float 0.000000e+00, float* %3049
store float 0.000000e+00, float* %3050
%3051 = bitcast { float, float }* %251 to <2 x float>*
%3052 = load <2 x float>, <2 x float>* %3051
%3053 = call <2 x float> @cprojf(<2 x float> %3052)
%3054 = bitcast { float, float }* %252 to <2 x float>*
store <2 x float> %3053, <2 x float>* %3054
%3055 = getelementptr inbounds { float, float }, { float, float }* %252, i32 0, i32 0
%3056 = load float, float* %3055
%3057 = getelementptr inbounds { float, float }, { float, float }* %252, i32 0, i32 1
%3058 = load float, float* %3057
%3059 = call float @llvm.copysign.f32(float 1.000000e+00, float %3058)
%3060 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%3061 = fcmp une float %3059, %3060
br i1 %3061, label %3062, label %3064
3062: ; preds = %3048, %3034, %3020
%3063 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 218)
br label %3064
3064: ; preds = %3062, %3048
br label %3065
3065: ; preds = %3064
br label %3066
3066: ; preds = %3065
%3067 = getelementptr inbounds { float, float }, { float, float }* %253, i32 0, i32 0
%3068 = getelementptr inbounds { float, float }, { float, float }* %253, i32 0, i32 1
store float -0.000000e+00, float* %3067
store float 0.000000e+00, float* %3068
%3069 = bitcast { float, float }* %253 to <2 x float>*
%3070 = load <2 x float>, <2 x float>* %3069
%3071 = call <2 x float> @cprojf(<2 x float> %3070)
%3072 = bitcast { float, float }* %254 to <2 x float>*
store <2 x float> %3071, <2 x float>* %3072
%3073 = getelementptr inbounds { float, float }, { float, float }* %254, i32 0, i32 0
%3074 = load float, float* %3073
%3075 = getelementptr inbounds { float, float }, { float, float }* %254, i32 0, i32 1
%3076 = load float, float* %3075
%3077 = fcmp une float %3074, -0.000000e+00
%3078 = fcmp une float %3076, 0.000000e+00
%3079 = or i1 %3077, %3078
br i1 %3079, label %3108, label %3080
3080: ; preds = %3066
%3081 = getelementptr inbounds { float, float }, { float, float }* %255, i32 0, i32 0
%3082 = getelementptr inbounds { float, float }, { float, float }* %255, i32 0, i32 1
store float -0.000000e+00, float* %3081
store float 0.000000e+00, float* %3082
%3083 = bitcast { float, float }* %255 to <2 x float>*
%3084 = load <2 x float>, <2 x float>* %3083
%3085 = call <2 x float> @cprojf(<2 x float> %3084)
%3086 = bitcast { float, float }* %256 to <2 x float>*
store <2 x float> %3085, <2 x float>* %3086
%3087 = getelementptr inbounds { float, float }, { float, float }* %256, i32 0, i32 0
%3088 = load float, float* %3087
%3089 = getelementptr inbounds { float, float }, { float, float }* %256, i32 0, i32 1
%3090 = load float, float* %3089
%3091 = call float @llvm.copysign.f32(float 1.000000e+00, float %3088)
%3092 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%3093 = fcmp une float %3091, %3092
br i1 %3093, label %3108, label %3094
3094: ; preds = %3080
%3095 = getelementptr inbounds { float, float }, { float, float }* %257, i32 0, i32 0
%3096 = getelementptr inbounds { float, float }, { float, float }* %257, i32 0, i32 1
store float -0.000000e+00, float* %3095
store float 0.000000e+00, float* %3096
%3097 = bitcast { float, float }* %257 to <2 x float>*
%3098 = load <2 x float>, <2 x float>* %3097
%3099 = call <2 x float> @cprojf(<2 x float> %3098)
%3100 = bitcast { float, float }* %258 to <2 x float>*
store <2 x float> %3099, <2 x float>* %3100
%3101 = getelementptr inbounds { float, float }, { float, float }* %258, i32 0, i32 0
%3102 = load float, float* %3101
%3103 = getelementptr inbounds { float, float }, { float, float }* %258, i32 0, i32 1
%3104 = load float, float* %3103
%3105 = call float @llvm.copysign.f32(float 1.000000e+00, float %3104)
%3106 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%3107 = fcmp une float %3105, %3106
br i1 %3107, label %3108, label %3110
3108: ; preds = %3094, %3080, %3066
%3109 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 219)
br label %3110
3110: ; preds = %3108, %3094
br label %3111
3111: ; preds = %3110
br label %3112
3112: ; preds = %3111
%3113 = getelementptr inbounds { float, float }, { float, float }* %259, i32 0, i32 0
%3114 = getelementptr inbounds { float, float }, { float, float }* %259, i32 0, i32 1
store float 0.000000e+00, float* %3113
store float 0.000000e+00, float* %3114
%3115 = bitcast { float, float }* %259 to <2 x float>*
%3116 = load <2 x float>, <2 x float>* %3115
%3117 = call <2 x float> @cprojf(<2 x float> %3116)
%3118 = bitcast { float, float }* %260 to <2 x float>*
store <2 x float> %3117, <2 x float>* %3118
%3119 = getelementptr inbounds { float, float }, { float, float }* %260, i32 0, i32 0
%3120 = load float, float* %3119
%3121 = getelementptr inbounds { float, float }, { float, float }* %260, i32 0, i32 1
%3122 = load float, float* %3121
%3123 = fcmp une float %3120, 0.000000e+00
%3124 = fcmp une float %3122, 0.000000e+00
%3125 = or i1 %3123, %3124
br i1 %3125, label %3154, label %3126
3126: ; preds = %3112
%3127 = getelementptr inbounds { float, float }, { float, float }* %261, i32 0, i32 0
%3128 = getelementptr inbounds { float, float }, { float, float }* %261, i32 0, i32 1
store float 0.000000e+00, float* %3127
store float 0.000000e+00, float* %3128
%3129 = bitcast { float, float }* %261 to <2 x float>*
%3130 = load <2 x float>, <2 x float>* %3129
%3131 = call <2 x float> @cprojf(<2 x float> %3130)
%3132 = bitcast { float, float }* %262 to <2 x float>*
store <2 x float> %3131, <2 x float>* %3132
%3133 = getelementptr inbounds { float, float }, { float, float }* %262, i32 0, i32 0
%3134 = load float, float* %3133
%3135 = getelementptr inbounds { float, float }, { float, float }* %262, i32 0, i32 1
%3136 = load float, float* %3135
%3137 = call float @llvm.copysign.f32(float 1.000000e+00, float %3134)
%3138 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%3139 = fcmp une float %3137, %3138
br i1 %3139, label %3154, label %3140
3140: ; preds = %3126
%3141 = getelementptr inbounds { float, float }, { float, float }* %263, i32 0, i32 0
%3142 = getelementptr inbounds { float, float }, { float, float }* %263, i32 0, i32 1
store float 0.000000e+00, float* %3141
store float 0.000000e+00, float* %3142
%3143 = bitcast { float, float }* %263 to <2 x float>*
%3144 = load <2 x float>, <2 x float>* %3143
%3145 = call <2 x float> @cprojf(<2 x float> %3144)
%3146 = bitcast { float, float }* %264 to <2 x float>*
store <2 x float> %3145, <2 x float>* %3146
%3147 = getelementptr inbounds { float, float }, { float, float }* %264, i32 0, i32 0
%3148 = load float, float* %3147
%3149 = getelementptr inbounds { float, float }, { float, float }* %264, i32 0, i32 1
%3150 = load float, float* %3149
%3151 = call float @llvm.copysign.f32(float 1.000000e+00, float %3150)
%3152 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%3153 = fcmp une float %3151, %3152
br i1 %3153, label %3154, label %3156
3154: ; preds = %3140, %3126, %3112
%3155 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 220)
br label %3156
3156: ; preds = %3154, %3140
br label %3157
3157: ; preds = %3156
br label %3158
3158: ; preds = %3157
%3159 = getelementptr inbounds { float, float }, { float, float }* %265, i32 0, i32 0
%3160 = getelementptr inbounds { float, float }, { float, float }* %265, i32 0, i32 1
store float -0.000000e+00, float* %3159
store float -0.000000e+00, float* %3160
%3161 = bitcast { float, float }* %265 to <2 x float>*
%3162 = load <2 x float>, <2 x float>* %3161
%3163 = call <2 x float> @cprojf(<2 x float> %3162)
%3164 = bitcast { float, float }* %266 to <2 x float>*
store <2 x float> %3163, <2 x float>* %3164
%3165 = getelementptr inbounds { float, float }, { float, float }* %266, i32 0, i32 0
%3166 = load float, float* %3165
%3167 = getelementptr inbounds { float, float }, { float, float }* %266, i32 0, i32 1
%3168 = load float, float* %3167
%3169 = fcmp une float %3166, -0.000000e+00
%3170 = fcmp une float %3168, -0.000000e+00
%3171 = or i1 %3169, %3170
br i1 %3171, label %3200, label %3172
3172: ; preds = %3158
%3173 = getelementptr inbounds { float, float }, { float, float }* %267, i32 0, i32 0
%3174 = getelementptr inbounds { float, float }, { float, float }* %267, i32 0, i32 1
store float -0.000000e+00, float* %3173
store float -0.000000e+00, float* %3174
%3175 = bitcast { float, float }* %267 to <2 x float>*
%3176 = load <2 x float>, <2 x float>* %3175
%3177 = call <2 x float> @cprojf(<2 x float> %3176)
%3178 = bitcast { float, float }* %268 to <2 x float>*
store <2 x float> %3177, <2 x float>* %3178
%3179 = getelementptr inbounds { float, float }, { float, float }* %268, i32 0, i32 0
%3180 = load float, float* %3179
%3181 = getelementptr inbounds { float, float }, { float, float }* %268, i32 0, i32 1
%3182 = load float, float* %3181
%3183 = call float @llvm.copysign.f32(float 1.000000e+00, float %3180)
%3184 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%3185 = fcmp une float %3183, %3184
br i1 %3185, label %3200, label %3186
3186: ; preds = %3172
%3187 = getelementptr inbounds { float, float }, { float, float }* %269, i32 0, i32 0
%3188 = getelementptr inbounds { float, float }, { float, float }* %269, i32 0, i32 1
store float -0.000000e+00, float* %3187
store float -0.000000e+00, float* %3188
%3189 = bitcast { float, float }* %269 to <2 x float>*
%3190 = load <2 x float>, <2 x float>* %3189
%3191 = call <2 x float> @cprojf(<2 x float> %3190)
%3192 = bitcast { float, float }* %270 to <2 x float>*
store <2 x float> %3191, <2 x float>* %3192
%3193 = getelementptr inbounds { float, float }, { float, float }* %270, i32 0, i32 0
%3194 = load float, float* %3193
%3195 = getelementptr inbounds { float, float }, { float, float }* %270, i32 0, i32 1
%3196 = load float, float* %3195
%3197 = call float @llvm.copysign.f32(float 1.000000e+00, float %3196)
%3198 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%3199 = fcmp une float %3197, %3198
br i1 %3199, label %3200, label %3202
3200: ; preds = %3186, %3172, %3158
%3201 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 221)
br label %3202
3202: ; preds = %3200, %3186
br label %3203
3203: ; preds = %3202
br label %3204
3204: ; preds = %3203
%3205 = getelementptr inbounds { float, float }, { float, float }* %271, i32 0, i32 0
%3206 = getelementptr inbounds { float, float }, { float, float }* %271, i32 0, i32 1
store float 2.200000e+01, float* %3205
store float 3.000000e+00, float* %3206
%3207 = bitcast { float, float }* %271 to <2 x float>*
%3208 = load <2 x float>, <2 x float>* %3207
%3209 = call <2 x float> @cprojf(<2 x float> %3208)
%3210 = bitcast { float, float }* %272 to <2 x float>*
store <2 x float> %3209, <2 x float>* %3210
%3211 = getelementptr inbounds { float, float }, { float, float }* %272, i32 0, i32 0
%3212 = load float, float* %3211
%3213 = getelementptr inbounds { float, float }, { float, float }* %272, i32 0, i32 1
%3214 = load float, float* %3213
%3215 = fcmp une float %3212, 2.200000e+01
%3216 = fcmp une float %3214, 3.000000e+00
%3217 = or i1 %3215, %3216
br i1 %3217, label %3246, label %3218
3218: ; preds = %3204
%3219 = getelementptr inbounds { float, float }, { float, float }* %273, i32 0, i32 0
%3220 = getelementptr inbounds { float, float }, { float, float }* %273, i32 0, i32 1
store float 2.200000e+01, float* %3219
store float 3.000000e+00, float* %3220
%3221 = bitcast { float, float }* %273 to <2 x float>*
%3222 = load <2 x float>, <2 x float>* %3221
%3223 = call <2 x float> @cprojf(<2 x float> %3222)
%3224 = bitcast { float, float }* %274 to <2 x float>*
store <2 x float> %3223, <2 x float>* %3224
%3225 = getelementptr inbounds { float, float }, { float, float }* %274, i32 0, i32 0
%3226 = load float, float* %3225
%3227 = getelementptr inbounds { float, float }, { float, float }* %274, i32 0, i32 1
%3228 = load float, float* %3227
%3229 = call float @llvm.copysign.f32(float 1.000000e+00, float %3226)
%3230 = call float @llvm.copysign.f32(float 1.000000e+00, float 2.200000e+01)
%3231 = fcmp une float %3229, %3230
br i1 %3231, label %3246, label %3232
3232: ; preds = %3218
%3233 = getelementptr inbounds { float, float }, { float, float }* %275, i32 0, i32 0
%3234 = getelementptr inbounds { float, float }, { float, float }* %275, i32 0, i32 1
store float 2.200000e+01, float* %3233
store float 3.000000e+00, float* %3234
%3235 = bitcast { float, float }* %275 to <2 x float>*
%3236 = load <2 x float>, <2 x float>* %3235
%3237 = call <2 x float> @cprojf(<2 x float> %3236)
%3238 = bitcast { float, float }* %276 to <2 x float>*
store <2 x float> %3237, <2 x float>* %3238
%3239 = getelementptr inbounds { float, float }, { float, float }* %276, i32 0, i32 0
%3240 = load float, float* %3239
%3241 = getelementptr inbounds { float, float }, { float, float }* %276, i32 0, i32 1
%3242 = load float, float* %3241
%3243 = call float @llvm.copysign.f32(float 1.000000e+00, float %3242)
%3244 = call float @llvm.copysign.f32(float 1.000000e+00, float 3.000000e+00)
%3245 = fcmp une float %3243, %3244
br i1 %3245, label %3246, label %3248
3246: ; preds = %3232, %3218, %3204
%3247 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 223)
br label %3248
3248: ; preds = %3246, %3232
br label %3249
3249: ; preds = %3248
br label %3250
3250: ; preds = %3249
%3251 = getelementptr inbounds { float, float }, { float, float }* %277, i32 0, i32 0
%3252 = getelementptr inbounds { float, float }, { float, float }* %277, i32 0, i32 1
store float 2.200000e+01, float* %3251
store float -3.000000e+00, float* %3252
%3253 = bitcast { float, float }* %277 to <2 x float>*
%3254 = load <2 x float>, <2 x float>* %3253
%3255 = call <2 x float> @cprojf(<2 x float> %3254)
%3256 = bitcast { float, float }* %278 to <2 x float>*
store <2 x float> %3255, <2 x float>* %3256
%3257 = getelementptr inbounds { float, float }, { float, float }* %278, i32 0, i32 0
%3258 = load float, float* %3257
%3259 = getelementptr inbounds { float, float }, { float, float }* %278, i32 0, i32 1
%3260 = load float, float* %3259
%3261 = fcmp une float %3258, 2.200000e+01
%3262 = fcmp une float %3260, -3.000000e+00
%3263 = or i1 %3261, %3262
br i1 %3263, label %3292, label %3264
3264: ; preds = %3250
%3265 = getelementptr inbounds { float, float }, { float, float }* %279, i32 0, i32 0
%3266 = getelementptr inbounds { float, float }, { float, float }* %279, i32 0, i32 1
store float 2.200000e+01, float* %3265
store float -3.000000e+00, float* %3266
%3267 = bitcast { float, float }* %279 to <2 x float>*
%3268 = load <2 x float>, <2 x float>* %3267
%3269 = call <2 x float> @cprojf(<2 x float> %3268)
%3270 = bitcast { float, float }* %280 to <2 x float>*
store <2 x float> %3269, <2 x float>* %3270
%3271 = getelementptr inbounds { float, float }, { float, float }* %280, i32 0, i32 0
%3272 = load float, float* %3271
%3273 = getelementptr inbounds { float, float }, { float, float }* %280, i32 0, i32 1
%3274 = load float, float* %3273
%3275 = call float @llvm.copysign.f32(float 1.000000e+00, float %3272)
%3276 = call float @llvm.copysign.f32(float 1.000000e+00, float 2.200000e+01)
%3277 = fcmp une float %3275, %3276
br i1 %3277, label %3292, label %3278
3278: ; preds = %3264
%3279 = getelementptr inbounds { float, float }, { float, float }* %281, i32 0, i32 0
%3280 = getelementptr inbounds { float, float }, { float, float }* %281, i32 0, i32 1
store float 2.200000e+01, float* %3279
store float -3.000000e+00, float* %3280
%3281 = bitcast { float, float }* %281 to <2 x float>*
%3282 = load <2 x float>, <2 x float>* %3281
%3283 = call <2 x float> @cprojf(<2 x float> %3282)
%3284 = bitcast { float, float }* %282 to <2 x float>*
store <2 x float> %3283, <2 x float>* %3284
%3285 = getelementptr inbounds { float, float }, { float, float }* %282, i32 0, i32 0
%3286 = load float, float* %3285
%3287 = getelementptr inbounds { float, float }, { float, float }* %282, i32 0, i32 1
%3288 = load float, float* %3287
%3289 = call float @llvm.copysign.f32(float 1.000000e+00, float %3288)
%3290 = call float @llvm.copysign.f32(float 1.000000e+00, float -3.000000e+00)
%3291 = fcmp une float %3289, %3290
br i1 %3291, label %3292, label %3294
3292: ; preds = %3278, %3264, %3250
%3293 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 224)
br label %3294
3294: ; preds = %3292, %3278
br label %3295
3295: ; preds = %3294
br label %3296
3296: ; preds = %3295
%3297 = getelementptr inbounds { float, float }, { float, float }* %283, i32 0, i32 0
%3298 = getelementptr inbounds { float, float }, { float, float }* %283, i32 0, i32 1
store float -2.200000e+01, float* %3297
store float 3.000000e+00, float* %3298
%3299 = bitcast { float, float }* %283 to <2 x float>*
%3300 = load <2 x float>, <2 x float>* %3299
%3301 = call <2 x float> @cprojf(<2 x float> %3300)
%3302 = bitcast { float, float }* %284 to <2 x float>*
store <2 x float> %3301, <2 x float>* %3302
%3303 = getelementptr inbounds { float, float }, { float, float }* %284, i32 0, i32 0
%3304 = load float, float* %3303
%3305 = getelementptr inbounds { float, float }, { float, float }* %284, i32 0, i32 1
%3306 = load float, float* %3305
%3307 = fcmp une float %3304, -2.200000e+01
%3308 = fcmp une float %3306, 3.000000e+00
%3309 = or i1 %3307, %3308
br i1 %3309, label %3338, label %3310
3310: ; preds = %3296
%3311 = getelementptr inbounds { float, float }, { float, float }* %285, i32 0, i32 0
%3312 = getelementptr inbounds { float, float }, { float, float }* %285, i32 0, i32 1
store float -2.200000e+01, float* %3311
store float 3.000000e+00, float* %3312
%3313 = bitcast { float, float }* %285 to <2 x float>*
%3314 = load <2 x float>, <2 x float>* %3313
%3315 = call <2 x float> @cprojf(<2 x float> %3314)
%3316 = bitcast { float, float }* %286 to <2 x float>*
store <2 x float> %3315, <2 x float>* %3316
%3317 = getelementptr inbounds { float, float }, { float, float }* %286, i32 0, i32 0
%3318 = load float, float* %3317
%3319 = getelementptr inbounds { float, float }, { float, float }* %286, i32 0, i32 1
%3320 = load float, float* %3319
%3321 = call float @llvm.copysign.f32(float 1.000000e+00, float %3318)
%3322 = call float @llvm.copysign.f32(float 1.000000e+00, float -2.200000e+01)
%3323 = fcmp une float %3321, %3322
br i1 %3323, label %3338, label %3324
3324: ; preds = %3310
%3325 = getelementptr inbounds { float, float }, { float, float }* %287, i32 0, i32 0
%3326 = getelementptr inbounds { float, float }, { float, float }* %287, i32 0, i32 1
store float -2.200000e+01, float* %3325
store float 3.000000e+00, float* %3326
%3327 = bitcast { float, float }* %287 to <2 x float>*
%3328 = load <2 x float>, <2 x float>* %3327
%3329 = call <2 x float> @cprojf(<2 x float> %3328)
%3330 = bitcast { float, float }* %288 to <2 x float>*
store <2 x float> %3329, <2 x float>* %3330
%3331 = getelementptr inbounds { float, float }, { float, float }* %288, i32 0, i32 0
%3332 = load float, float* %3331
%3333 = getelementptr inbounds { float, float }, { float, float }* %288, i32 0, i32 1
%3334 = load float, float* %3333
%3335 = call float @llvm.copysign.f32(float 1.000000e+00, float %3334)
%3336 = call float @llvm.copysign.f32(float 1.000000e+00, float 3.000000e+00)
%3337 = fcmp une float %3335, %3336
br i1 %3337, label %3338, label %3340
3338: ; preds = %3324, %3310, %3296
%3339 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 225)
br label %3340
3340: ; preds = %3338, %3324
br label %3341
3341: ; preds = %3340
br label %3342
3342: ; preds = %3341
%3343 = getelementptr inbounds { float, float }, { float, float }* %289, i32 0, i32 0
%3344 = getelementptr inbounds { float, float }, { float, float }* %289, i32 0, i32 1
store float -2.200000e+01, float* %3343
store float -3.000000e+00, float* %3344
%3345 = bitcast { float, float }* %289 to <2 x float>*
%3346 = load <2 x float>, <2 x float>* %3345
%3347 = call <2 x float> @cprojf(<2 x float> %3346)
%3348 = bitcast { float, float }* %290 to <2 x float>*
store <2 x float> %3347, <2 x float>* %3348
%3349 = getelementptr inbounds { float, float }, { float, float }* %290, i32 0, i32 0
%3350 = load float, float* %3349
%3351 = getelementptr inbounds { float, float }, { float, float }* %290, i32 0, i32 1
%3352 = load float, float* %3351
%3353 = fcmp une float %3350, -2.200000e+01
%3354 = fcmp une float %3352, -3.000000e+00
%3355 = or i1 %3353, %3354
br i1 %3355, label %3384, label %3356
3356: ; preds = %3342
%3357 = getelementptr inbounds { float, float }, { float, float }* %291, i32 0, i32 0
%3358 = getelementptr inbounds { float, float }, { float, float }* %291, i32 0, i32 1
store float -2.200000e+01, float* %3357
store float -3.000000e+00, float* %3358
%3359 = bitcast { float, float }* %291 to <2 x float>*
%3360 = load <2 x float>, <2 x float>* %3359
%3361 = call <2 x float> @cprojf(<2 x float> %3360)
%3362 = bitcast { float, float }* %292 to <2 x float>*
store <2 x float> %3361, <2 x float>* %3362
%3363 = getelementptr inbounds { float, float }, { float, float }* %292, i32 0, i32 0
%3364 = load float, float* %3363
%3365 = getelementptr inbounds { float, float }, { float, float }* %292, i32 0, i32 1
%3366 = load float, float* %3365
%3367 = call float @llvm.copysign.f32(float 1.000000e+00, float %3364)
%3368 = call float @llvm.copysign.f32(float 1.000000e+00, float -2.200000e+01)
%3369 = fcmp une float %3367, %3368
br i1 %3369, label %3384, label %3370
3370: ; preds = %3356
%3371 = getelementptr inbounds { float, float }, { float, float }* %293, i32 0, i32 0
%3372 = getelementptr inbounds { float, float }, { float, float }* %293, i32 0, i32 1
store float -2.200000e+01, float* %3371
store float -3.000000e+00, float* %3372
%3373 = bitcast { float, float }* %293 to <2 x float>*
%3374 = load <2 x float>, <2 x float>* %3373
%3375 = call <2 x float> @cprojf(<2 x float> %3374)
%3376 = bitcast { float, float }* %294 to <2 x float>*
store <2 x float> %3375, <2 x float>* %3376
%3377 = getelementptr inbounds { float, float }, { float, float }* %294, i32 0, i32 0
%3378 = load float, float* %3377
%3379 = getelementptr inbounds { float, float }, { float, float }* %294, i32 0, i32 1
%3380 = load float, float* %3379
%3381 = call float @llvm.copysign.f32(float 1.000000e+00, float %3380)
%3382 = call float @llvm.copysign.f32(float 1.000000e+00, float -3.000000e+00)
%3383 = fcmp une float %3381, %3382
br i1 %3383, label %3384, label %3386
3384: ; preds = %3370, %3356, %3342
%3385 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 226)
br label %3386
3386: ; preds = %3384, %3370
br label %3387
3387: ; preds = %3386
br label %3388
3388: ; preds = %3387
%3389 = load float, float* %13
br i1 true, label %3390, label %3398
3390: ; preds = %3388
br i1 false, label %3391, label %3398
3391: ; preds = %3390
%3392 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%3393 = bitcast { float, float }* %295 to <2 x float>*
store <2 x float> %3392, <2 x float>* %3393
%3394 = getelementptr inbounds { float, float }, { float, float }* %295, i32 0, i32 0
%3395 = load float, float* %3394
%3396 = getelementptr inbounds { float, float }, { float, float }* %295, i32 0, i32 1
%3397 = load float, float* %3396
br label %3398
3398: ; preds = %3391, %3390, %3388
%3399 = phi float [ 0x7FF8000000000000, %3388 ], [ 0x7FF8000000000000, %3390 ], [ %3395, %3391 ]
%3400 = phi float [ 0x7FF0000000000000, %3388 ], [ 0x7FF0000000000000, %3390 ], [ %3397, %3391 ]
%3401 = fadd float %3389, %3399
%3402 = getelementptr inbounds { float, float }, { float, float }* %296, i32 0, i32 0
%3403 = getelementptr inbounds { float, float }, { float, float }* %296, i32 0, i32 1
store float %3401, float* %3402
store float %3400, float* %3403
%3404 = bitcast { float, float }* %296 to <2 x float>*
%3405 = load <2 x float>, <2 x float>* %3404
%3406 = call <2 x float> @cprojf(<2 x float> %3405)
%3407 = bitcast { float, float }* %297 to <2 x float>*
store <2 x float> %3406, <2 x float>* %3407
%3408 = getelementptr inbounds { float, float }, { float, float }* %297, i32 0, i32 0
%3409 = load float, float* %3408
%3410 = getelementptr inbounds { float, float }, { float, float }* %297, i32 0, i32 1
%3411 = load float, float* %3410
%3412 = fcmp une float %3409, 0x7FF0000000000000
%3413 = fcmp une float %3411, 0.000000e+00
%3414 = or i1 %3412, %3413
br i1 %3414, label %3442, label %3415
3415: ; preds = %3398
%3416 = load float, float* %13
br i1 true, label %3417, label %3425
3417: ; preds = %3415
br i1 false, label %3418, label %3425
3418: ; preds = %3417
%3419 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%3420 = bitcast { float, float }* %298 to <2 x float>*
store <2 x float> %3419, <2 x float>* %3420
%3421 = getelementptr inbounds { float, float }, { float, float }* %298, i32 0, i32 0
%3422 = load float, float* %3421
%3423 = getelementptr inbounds { float, float }, { float, float }* %298, i32 0, i32 1
%3424 = load float, float* %3423
br label %3425
3425: ; preds = %3418, %3417, %3415
%3426 = phi float [ 0x7FF8000000000000, %3415 ], [ 0x7FF8000000000000, %3417 ], [ %3422, %3418 ]
%3427 = phi float [ 0x7FF0000000000000, %3415 ], [ 0x7FF0000000000000, %3417 ], [ %3424, %3418 ]
%3428 = fadd float %3416, %3426
%3429 = getelementptr inbounds { float, float }, { float, float }* %299, i32 0, i32 0
%3430 = getelementptr inbounds { float, float }, { float, float }* %299, i32 0, i32 1
store float %3428, float* %3429
store float %3427, float* %3430
%3431 = bitcast { float, float }* %299 to <2 x float>*
%3432 = load <2 x float>, <2 x float>* %3431
%3433 = call <2 x float> @cprojf(<2 x float> %3432)
%3434 = bitcast { float, float }* %300 to <2 x float>*
store <2 x float> %3433, <2 x float>* %3434
%3435 = getelementptr inbounds { float, float }, { float, float }* %300, i32 0, i32 0
%3436 = load float, float* %3435
%3437 = getelementptr inbounds { float, float }, { float, float }* %300, i32 0, i32 1
%3438 = load float, float* %3437
%3439 = call float @llvm.copysign.f32(float 1.000000e+00, float %3438)
%3440 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%3441 = fcmp une float %3439, %3440
br i1 %3441, label %3442, label %3444
3442: ; preds = %3425, %3398
%3443 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 228)
br label %3444
3444: ; preds = %3442, %3425
%3445 = load double, double* %12
br i1 true, label %3446, label %3454
3446: ; preds = %3444
br i1 false, label %3447, label %3454
3447: ; preds = %3446
%3448 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%3449 = bitcast { float, float }* %301 to <2 x float>*
store <2 x float> %3448, <2 x float>* %3449
%3450 = getelementptr inbounds { float, float }, { float, float }* %301, i32 0, i32 0
%3451 = load float, float* %3450
%3452 = getelementptr inbounds { float, float }, { float, float }* %301, i32 0, i32 1
%3453 = load float, float* %3452
br label %3454
3454: ; preds = %3447, %3446, %3444
%3455 = phi float [ 0x7FF8000000000000, %3444 ], [ 0x7FF8000000000000, %3446 ], [ %3451, %3447 ]
%3456 = phi float [ 0x7FF0000000000000, %3444 ], [ 0x7FF0000000000000, %3446 ], [ %3453, %3447 ]
%3457 = fpext float %3455 to double
%3458 = fpext float %3456 to double
%3459 = fadd double %3445, %3457
%3460 = getelementptr inbounds { double, double }, { double, double }* %302, i32 0, i32 0
%3461 = getelementptr inbounds { double, double }, { double, double }* %302, i32 0, i32 1
store double %3459, double* %3460
store double %3458, double* %3461
%3462 = getelementptr inbounds { double, double }, { double, double }* %302, i32 0, i32 0
%3463 = load double, double* %3462
%3464 = getelementptr inbounds { double, double }, { double, double }* %302, i32 0, i32 1
%3465 = load double, double* %3464
%3466 = call { double, double } @cproj(double %3463, double %3465)
%3467 = extractvalue { double, double } %3466, 0
%3468 = extractvalue { double, double } %3466, 1
%3469 = fcmp une double %3467, 0x7FF0000000000000
%3470 = fcmp une double %3468, 0.000000e+00
%3471 = or i1 %3469, %3470
br i1 %3471, label %3502, label %3472
3472: ; preds = %3454
%3473 = load double, double* %12
br i1 true, label %3474, label %3482
3474: ; preds = %3472
br i1 false, label %3475, label %3482
3475: ; preds = %3474
%3476 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%3477 = bitcast { float, float }* %303 to <2 x float>*
store <2 x float> %3476, <2 x float>* %3477
%3478 = getelementptr inbounds { float, float }, { float, float }* %303, i32 0, i32 0
%3479 = load float, float* %3478
%3480 = getelementptr inbounds { float, float }, { float, float }* %303, i32 0, i32 1
%3481 = load float, float* %3480
br label %3482
3482: ; preds = %3475, %3474, %3472
%3483 = phi float [ 0x7FF8000000000000, %3472 ], [ 0x7FF8000000000000, %3474 ], [ %3479, %3475 ]
%3484 = phi float [ 0x7FF0000000000000, %3472 ], [ 0x7FF0000000000000, %3474 ], [ %3481, %3475 ]
%3485 = fpext float %3483 to double
%3486 = fpext float %3484 to double
%3487 = fadd double %3473, %3485
%3488 = getelementptr inbounds { double, double }, { double, double }* %304, i32 0, i32 0
%3489 = getelementptr inbounds { double, double }, { double, double }* %304, i32 0, i32 1
store double %3487, double* %3488
store double %3486, double* %3489
%3490 = getelementptr inbounds { double, double }, { double, double }* %304, i32 0, i32 0
%3491 = load double, double* %3490
%3492 = getelementptr inbounds { double, double }, { double, double }* %304, i32 0, i32 1
%3493 = load double, double* %3492
%3494 = call { double, double } @cproj(double %3491, double %3493)
%3495 = extractvalue { double, double } %3494, 0
%3496 = extractvalue { double, double } %3494, 1
%3497 = fptrunc double %3495 to float
%3498 = fptrunc double %3496 to float
%3499 = call float @llvm.copysign.f32(float 1.000000e+00, float %3498)
%3500 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%3501 = fcmp une float %3499, %3500
br i1 %3501, label %3502, label %3504
3502: ; preds = %3482, %3454
%3503 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 228)
br label %3504
3504: ; preds = %3502, %3482
%3505 = load x86_fp80, x86_fp80* %11
br i1 true, label %3506, label %3514
3506: ; preds = %3504
br i1 false, label %3507, label %3514
3507: ; preds = %3506
%3508 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%3509 = bitcast { float, float }* %305 to <2 x float>*
store <2 x float> %3508, <2 x float>* %3509
%3510 = getelementptr inbounds { float, float }, { float, float }* %305, i32 0, i32 0
%3511 = load float, float* %3510
%3512 = getelementptr inbounds { float, float }, { float, float }* %305, i32 0, i32 1
%3513 = load float, float* %3512
br label %3514
3514: ; preds = %3507, %3506, %3504
%3515 = phi float [ 0x7FF8000000000000, %3504 ], [ 0x7FF8000000000000, %3506 ], [ %3511, %3507 ]
%3516 = phi float [ 0x7FF0000000000000, %3504 ], [ 0x7FF0000000000000, %3506 ], [ %3513, %3507 ]
%3517 = fpext float %3515 to x86_fp80
%3518 = fpext float %3516 to x86_fp80
%3519 = fadd x86_fp80 %3505, %3517
%3520 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %306, i32 0, i32 0
%3521 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %306, i32 0, i32 1
store x86_fp80 %3519, x86_fp80* %3520
store x86_fp80 %3518, x86_fp80* %3521
%3522 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %306)
%3523 = extractvalue { x86_fp80, x86_fp80 } %3522, 0
%3524 = extractvalue { x86_fp80, x86_fp80 } %3522, 1
%3525 = fcmp une x86_fp80 %3523, 0xK7FFF8000000000000000
%3526 = fcmp une x86_fp80 %3524, 0xK00000000000000000000
%3527 = or i1 %3525, %3526
br i1 %3527, label %3554, label %3528
3528: ; preds = %3514
%3529 = load x86_fp80, x86_fp80* %11
br i1 true, label %3530, label %3538
3530: ; preds = %3528
br i1 false, label %3531, label %3538
3531: ; preds = %3530
%3532 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0x7FF0000000000000, float 0.000000e+00)
%3533 = bitcast { float, float }* %307 to <2 x float>*
store <2 x float> %3532, <2 x float>* %3533
%3534 = getelementptr inbounds { float, float }, { float, float }* %307, i32 0, i32 0
%3535 = load float, float* %3534
%3536 = getelementptr inbounds { float, float }, { float, float }* %307, i32 0, i32 1
%3537 = load float, float* %3536
br label %3538
3538: ; preds = %3531, %3530, %3528
%3539 = phi float [ 0x7FF8000000000000, %3528 ], [ 0x7FF8000000000000, %3530 ], [ %3535, %3531 ]
%3540 = phi float [ 0x7FF0000000000000, %3528 ], [ 0x7FF0000000000000, %3530 ], [ %3537, %3531 ]
%3541 = fpext float %3539 to x86_fp80
%3542 = fpext float %3540 to x86_fp80
%3543 = fadd x86_fp80 %3529, %3541
%3544 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %308, i32 0, i32 0
%3545 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %308, i32 0, i32 1
store x86_fp80 %3543, x86_fp80* %3544
store x86_fp80 %3542, x86_fp80* %3545
%3546 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %308)
%3547 = extractvalue { x86_fp80, x86_fp80 } %3546, 0
%3548 = extractvalue { x86_fp80, x86_fp80 } %3546, 1
%3549 = fptrunc x86_fp80 %3547 to float
%3550 = fptrunc x86_fp80 %3548 to float
%3551 = call float @llvm.copysign.f32(float 1.000000e+00, float %3550)
%3552 = call float @llvm.copysign.f32(float 1.000000e+00, float 0.000000e+00)
%3553 = fcmp une float %3551, %3552
br i1 %3553, label %3554, label %3556
3554: ; preds = %3538, %3514
%3555 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 228)
br label %3556
3556: ; preds = %3554, %3538
br label %3557
3557: ; preds = %3556
br label %3558
3558: ; preds = %3557
%3559 = load float, float* %13
br i1 true, label %3560, label %3568
3560: ; preds = %3558
br i1 false, label %3561, label %3568
3561: ; preds = %3560
%3562 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0xFFF0000000000000, float 0.000000e+00)
%3563 = bitcast { float, float }* %309 to <2 x float>*
store <2 x float> %3562, <2 x float>* %3563
%3564 = getelementptr inbounds { float, float }, { float, float }* %309, i32 0, i32 0
%3565 = load float, float* %3564
%3566 = getelementptr inbounds { float, float }, { float, float }* %309, i32 0, i32 1
%3567 = load float, float* %3566
br label %3568
3568: ; preds = %3561, %3560, %3558
%3569 = phi float [ 0x7FF8000000000000, %3558 ], [ 0x7FF8000000000000, %3560 ], [ %3565, %3561 ]
%3570 = phi float [ 0xFFF0000000000000, %3558 ], [ 0xFFF0000000000000, %3560 ], [ %3567, %3561 ]
%3571 = fadd float %3559, %3569
%3572 = getelementptr inbounds { float, float }, { float, float }* %310, i32 0, i32 0
%3573 = getelementptr inbounds { float, float }, { float, float }* %310, i32 0, i32 1
store float %3571, float* %3572
store float %3570, float* %3573
%3574 = bitcast { float, float }* %310 to <2 x float>*
%3575 = load <2 x float>, <2 x float>* %3574
%3576 = call <2 x float> @cprojf(<2 x float> %3575)
%3577 = bitcast { float, float }* %311 to <2 x float>*
store <2 x float> %3576, <2 x float>* %3577
%3578 = getelementptr inbounds { float, float }, { float, float }* %311, i32 0, i32 0
%3579 = load float, float* %3578
%3580 = getelementptr inbounds { float, float }, { float, float }* %311, i32 0, i32 1
%3581 = load float, float* %3580
%3582 = fcmp une float %3579, 0x7FF0000000000000
%3583 = fcmp une float %3581, -0.000000e+00
%3584 = or i1 %3582, %3583
br i1 %3584, label %3612, label %3585
3585: ; preds = %3568
%3586 = load float, float* %13
br i1 true, label %3587, label %3595
3587: ; preds = %3585
br i1 false, label %3588, label %3595
3588: ; preds = %3587
%3589 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0xFFF0000000000000, float 0.000000e+00)
%3590 = bitcast { float, float }* %312 to <2 x float>*
store <2 x float> %3589, <2 x float>* %3590
%3591 = getelementptr inbounds { float, float }, { float, float }* %312, i32 0, i32 0
%3592 = load float, float* %3591
%3593 = getelementptr inbounds { float, float }, { float, float }* %312, i32 0, i32 1
%3594 = load float, float* %3593
br label %3595
3595: ; preds = %3588, %3587, %3585
%3596 = phi float [ 0x7FF8000000000000, %3585 ], [ 0x7FF8000000000000, %3587 ], [ %3592, %3588 ]
%3597 = phi float [ 0xFFF0000000000000, %3585 ], [ 0xFFF0000000000000, %3587 ], [ %3594, %3588 ]
%3598 = fadd float %3586, %3596
%3599 = getelementptr inbounds { float, float }, { float, float }* %313, i32 0, i32 0
%3600 = getelementptr inbounds { float, float }, { float, float }* %313, i32 0, i32 1
store float %3598, float* %3599
store float %3597, float* %3600
%3601 = bitcast { float, float }* %313 to <2 x float>*
%3602 = load <2 x float>, <2 x float>* %3601
%3603 = call <2 x float> @cprojf(<2 x float> %3602)
%3604 = bitcast { float, float }* %314 to <2 x float>*
store <2 x float> %3603, <2 x float>* %3604
%3605 = getelementptr inbounds { float, float }, { float, float }* %314, i32 0, i32 0
%3606 = load float, float* %3605
%3607 = getelementptr inbounds { float, float }, { float, float }* %314, i32 0, i32 1
%3608 = load float, float* %3607
%3609 = call float @llvm.copysign.f32(float 1.000000e+00, float %3608)
%3610 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%3611 = fcmp une float %3609, %3610
br i1 %3611, label %3612, label %3614
3612: ; preds = %3595, %3568
%3613 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 229)
br label %3614
3614: ; preds = %3612, %3595
%3615 = load double, double* %12
br i1 true, label %3616, label %3624
3616: ; preds = %3614
br i1 false, label %3617, label %3624
3617: ; preds = %3616
%3618 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0xFFF0000000000000, float 0.000000e+00)
%3619 = bitcast { float, float }* %315 to <2 x float>*
store <2 x float> %3618, <2 x float>* %3619
%3620 = getelementptr inbounds { float, float }, { float, float }* %315, i32 0, i32 0
%3621 = load float, float* %3620
%3622 = getelementptr inbounds { float, float }, { float, float }* %315, i32 0, i32 1
%3623 = load float, float* %3622
br label %3624
3624: ; preds = %3617, %3616, %3614
%3625 = phi float [ 0x7FF8000000000000, %3614 ], [ 0x7FF8000000000000, %3616 ], [ %3621, %3617 ]
%3626 = phi float [ 0xFFF0000000000000, %3614 ], [ 0xFFF0000000000000, %3616 ], [ %3623, %3617 ]
%3627 = fpext float %3625 to double
%3628 = fpext float %3626 to double
%3629 = fadd double %3615, %3627
%3630 = getelementptr inbounds { double, double }, { double, double }* %316, i32 0, i32 0
%3631 = getelementptr inbounds { double, double }, { double, double }* %316, i32 0, i32 1
store double %3629, double* %3630
store double %3628, double* %3631
%3632 = getelementptr inbounds { double, double }, { double, double }* %316, i32 0, i32 0
%3633 = load double, double* %3632
%3634 = getelementptr inbounds { double, double }, { double, double }* %316, i32 0, i32 1
%3635 = load double, double* %3634
%3636 = call { double, double } @cproj(double %3633, double %3635)
%3637 = extractvalue { double, double } %3636, 0
%3638 = extractvalue { double, double } %3636, 1
%3639 = fcmp une double %3637, 0x7FF0000000000000
%3640 = fcmp une double %3638, -0.000000e+00
%3641 = or i1 %3639, %3640
br i1 %3641, label %3672, label %3642
3642: ; preds = %3624
%3643 = load double, double* %12
br i1 true, label %3644, label %3652
3644: ; preds = %3642
br i1 false, label %3645, label %3652
3645: ; preds = %3644
%3646 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0xFFF0000000000000, float 0.000000e+00)
%3647 = bitcast { float, float }* %317 to <2 x float>*
store <2 x float> %3646, <2 x float>* %3647
%3648 = getelementptr inbounds { float, float }, { float, float }* %317, i32 0, i32 0
%3649 = load float, float* %3648
%3650 = getelementptr inbounds { float, float }, { float, float }* %317, i32 0, i32 1
%3651 = load float, float* %3650
br label %3652
3652: ; preds = %3645, %3644, %3642
%3653 = phi float [ 0x7FF8000000000000, %3642 ], [ 0x7FF8000000000000, %3644 ], [ %3649, %3645 ]
%3654 = phi float [ 0xFFF0000000000000, %3642 ], [ 0xFFF0000000000000, %3644 ], [ %3651, %3645 ]
%3655 = fpext float %3653 to double
%3656 = fpext float %3654 to double
%3657 = fadd double %3643, %3655
%3658 = getelementptr inbounds { double, double }, { double, double }* %318, i32 0, i32 0
%3659 = getelementptr inbounds { double, double }, { double, double }* %318, i32 0, i32 1
store double %3657, double* %3658
store double %3656, double* %3659
%3660 = getelementptr inbounds { double, double }, { double, double }* %318, i32 0, i32 0
%3661 = load double, double* %3660
%3662 = getelementptr inbounds { double, double }, { double, double }* %318, i32 0, i32 1
%3663 = load double, double* %3662
%3664 = call { double, double } @cproj(double %3661, double %3663)
%3665 = extractvalue { double, double } %3664, 0
%3666 = extractvalue { double, double } %3664, 1
%3667 = fptrunc double %3665 to float
%3668 = fptrunc double %3666 to float
%3669 = call float @llvm.copysign.f32(float 1.000000e+00, float %3668)
%3670 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%3671 = fcmp une float %3669, %3670
br i1 %3671, label %3672, label %3674
3672: ; preds = %3652, %3624
%3673 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 229)
br label %3674
3674: ; preds = %3672, %3652
%3675 = load x86_fp80, x86_fp80* %11
br i1 true, label %3676, label %3684
3676: ; preds = %3674
br i1 false, label %3677, label %3684
3677: ; preds = %3676
%3678 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0xFFF0000000000000, float 0.000000e+00)
%3679 = bitcast { float, float }* %319 to <2 x float>*
store <2 x float> %3678, <2 x float>* %3679
%3680 = getelementptr inbounds { float, float }, { float, float }* %319, i32 0, i32 0
%3681 = load float, float* %3680
%3682 = getelementptr inbounds { float, float }, { float, float }* %319, i32 0, i32 1
%3683 = load float, float* %3682
br label %3684
3684: ; preds = %3677, %3676, %3674
%3685 = phi float [ 0x7FF8000000000000, %3674 ], [ 0x7FF8000000000000, %3676 ], [ %3681, %3677 ]
%3686 = phi float [ 0xFFF0000000000000, %3674 ], [ 0xFFF0000000000000, %3676 ], [ %3683, %3677 ]
%3687 = fpext float %3685 to x86_fp80
%3688 = fpext float %3686 to x86_fp80
%3689 = fadd x86_fp80 %3675, %3687
%3690 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %320, i32 0, i32 0
%3691 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %320, i32 0, i32 1
store x86_fp80 %3689, x86_fp80* %3690
store x86_fp80 %3688, x86_fp80* %3691
%3692 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %320)
%3693 = extractvalue { x86_fp80, x86_fp80 } %3692, 0
%3694 = extractvalue { x86_fp80, x86_fp80 } %3692, 1
%3695 = fcmp une x86_fp80 %3693, 0xK7FFF8000000000000000
%3696 = fcmp une x86_fp80 %3694, 0xK80000000000000000000
%3697 = or i1 %3695, %3696
br i1 %3697, label %3724, label %3698
3698: ; preds = %3684
%3699 = load x86_fp80, x86_fp80* %11
br i1 true, label %3700, label %3708
3700: ; preds = %3698
br i1 false, label %3701, label %3708
3701: ; preds = %3700
%3702 = call <2 x float> @__mulsc3(float 0.000000e+00, float 1.000000e+00, float 0xFFF0000000000000, float 0.000000e+00)
%3703 = bitcast { float, float }* %321 to <2 x float>*
store <2 x float> %3702, <2 x float>* %3703
%3704 = getelementptr inbounds { float, float }, { float, float }* %321, i32 0, i32 0
%3705 = load float, float* %3704
%3706 = getelementptr inbounds { float, float }, { float, float }* %321, i32 0, i32 1
%3707 = load float, float* %3706
br label %3708
3708: ; preds = %3701, %3700, %3698
%3709 = phi float [ 0x7FF8000000000000, %3698 ], [ 0x7FF8000000000000, %3700 ], [ %3705, %3701 ]
%3710 = phi float [ 0xFFF0000000000000, %3698 ], [ 0xFFF0000000000000, %3700 ], [ %3707, %3701 ]
%3711 = fpext float %3709 to x86_fp80
%3712 = fpext float %3710 to x86_fp80
%3713 = fadd x86_fp80 %3699, %3711
%3714 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %322, i32 0, i32 0
%3715 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %322, i32 0, i32 1
store x86_fp80 %3713, x86_fp80* %3714
store x86_fp80 %3712, x86_fp80* %3715
%3716 = call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %322)
%3717 = extractvalue { x86_fp80, x86_fp80 } %3716, 0
%3718 = extractvalue { x86_fp80, x86_fp80 } %3716, 1
%3719 = fptrunc x86_fp80 %3717 to float
%3720 = fptrunc x86_fp80 %3718 to float
%3721 = call float @llvm.copysign.f32(float 1.000000e+00, float %3720)
%3722 = call float @llvm.copysign.f32(float 1.000000e+00, float -0.000000e+00)
%3723 = fcmp une float %3721, %3722
br i1 %3723, label %3724, label %3726
3724: ; preds = %3708, %3684
%3725 = call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 229)
br label %3726
3726: ; preds = %3724, %3708
br label %3727
3727: ; preds = %3726
ret void
}

LLVM IR (-O2):
define void @foo({ x86_fp80, x86_fp80 }* nocapture readnone byval({ x86_fp80, x86_fp80 }) align 16 %0, double %1, double %2, <2 x float> %3, x86_fp80 %4, double %5, float %6, i32 %7) {
%9 = alloca { x86_fp80, x86_fp80 }
%10 = alloca { x86_fp80, x86_fp80 }
%11 = alloca { x86_fp80, x86_fp80 }
%12 = alloca { x86_fp80, x86_fp80 }
%13 = alloca { x86_fp80, x86_fp80 }
%14 = alloca { x86_fp80, x86_fp80 }
%15 = alloca { x86_fp80, x86_fp80 }
%16 = alloca { x86_fp80, x86_fp80 }
%17 = alloca { x86_fp80, x86_fp80 }
%18 = alloca { x86_fp80, x86_fp80 }
%19 = alloca { x86_fp80, x86_fp80 }
%20 = alloca { x86_fp80, x86_fp80 }
%21 = alloca { x86_fp80, x86_fp80 }
%22 = alloca { x86_fp80, x86_fp80 }
%23 = alloca { x86_fp80, x86_fp80 }
%24 = alloca { x86_fp80, x86_fp80 }
%25 = alloca { x86_fp80, x86_fp80 }
%26 = alloca { x86_fp80, x86_fp80 }
%27 = alloca { x86_fp80, x86_fp80 }
%28 = alloca { x86_fp80, x86_fp80 }
%29 = alloca { x86_fp80, x86_fp80 }
%30 = alloca { x86_fp80, x86_fp80 }
%31 = alloca { x86_fp80, x86_fp80 }
%32 = alloca { x86_fp80, x86_fp80 }
%33 = alloca { x86_fp80, x86_fp80 }
%34 = alloca { x86_fp80, x86_fp80 }
%35 = alloca { x86_fp80, x86_fp80 }
%36 = alloca { x86_fp80, x86_fp80 }
%37 = alloca { x86_fp80, x86_fp80 }
%38 = alloca { x86_fp80, x86_fp80 }
%39 = alloca { x86_fp80, x86_fp80 }
%40 = alloca { x86_fp80, x86_fp80 }
%41 = alloca { x86_fp80, x86_fp80 }
%42 = alloca { x86_fp80, x86_fp80 }
%43 = alloca { x86_fp80, x86_fp80 }
%44 = alloca { x86_fp80, x86_fp80 }
%45 = alloca { x86_fp80, x86_fp80 }
%46 = alloca { x86_fp80, x86_fp80 }
%47 = alloca { x86_fp80, x86_fp80 }
%48 = alloca { x86_fp80, x86_fp80 }
%49 = alloca { x86_fp80, x86_fp80 }
%50 = alloca { x86_fp80, x86_fp80 }
%51 = alloca { x86_fp80, x86_fp80 }
%52 = alloca { x86_fp80, x86_fp80 }
%53 = tail call <2 x float> @cprojf(<2 x float> <float 0x7FF0000000000000, float 0.000000e+00>)
%54 = extractelement <2 x float> %53, i64 0
%55 = extractelement <2 x float> %53, i64 1
%56 = fcmp une float %54, 0x7FF0000000000000
%57 = fcmp une float %55, 0.000000e+00
%58 = or i1 %56, %57
%59 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %55)
%60 = fcmp une float %59, 1.000000e+00
%61 = select i1 %58, i1 true, i1 %60
br i1 %61, label %62, label %64
62: ; preds = %8
%63 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 195)
br label %64
64: ; preds = %8, %62
%65 = tail call { double, double } @cproj(double 0x7FF0000000000000, double 0.000000e+00)
%66 = extractvalue { double, double } %65, 0
%67 = extractvalue { double, double } %65, 1
%68 = fcmp une double %66, 0x7FF0000000000000
%69 = fcmp une double %67, 0.000000e+00
%70 = or i1 %68, %69
br i1 %70, label %75, label %71
71: ; preds = %64
%72 = fptrunc double %67 to float
%73 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %72)
%74 = fcmp une float %73, 1.000000e+00
br i1 %74, label %75, label %77
75: ; preds = %71, %64
%76 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 195)
br label %77
77: ; preds = %75, %71
%78 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %9, i64 0, i32 0
%79 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %9, i64 0, i32 1
store x86_fp80 0xK7FFF8000000000000000, x86_fp80* %78
store x86_fp80 0xK00000000000000000000, x86_fp80* %79
%80 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %9)
%81 = extractvalue { x86_fp80, x86_fp80 } %80, 0
%82 = extractvalue { x86_fp80, x86_fp80 } %80, 1
%83 = fcmp une x86_fp80 %81, 0xK7FFF8000000000000000
%84 = fcmp une x86_fp80 %82, 0xK00000000000000000000
%85 = or i1 %83, %84
br i1 %85, label %94, label %86
86: ; preds = %77
%87 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %10, i64 0, i32 0
%88 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %10, i64 0, i32 1
store x86_fp80 0xK7FFF8000000000000000, x86_fp80* %87
store x86_fp80 0xK00000000000000000000, x86_fp80* %88
%89 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %10)
%90 = extractvalue { x86_fp80, x86_fp80 } %89, 1
%91 = fptrunc x86_fp80 %90 to float
%92 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %91)
%93 = fcmp une float %92, 1.000000e+00
br i1 %93, label %94, label %96
94: ; preds = %86, %77
%95 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 195)
br label %96
96: ; preds = %94, %86
%97 = fcmp une float %59, -1.000000e+00
%98 = select i1 %58, i1 true, i1 %97
br i1 %98, label %99, label %101
99: ; preds = %96
%100 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 196)
br label %101
101: ; preds = %96, %99
br i1 %70, label %106, label %102
102: ; preds = %101
%103 = fptrunc double %67 to float
%104 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %103)
%105 = fcmp une float %104, -1.000000e+00
br i1 %105, label %106, label %108
106: ; preds = %102, %101
%107 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 196)
br label %108
108: ; preds = %106, %102
%109 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %11, i64 0, i32 0
%110 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %11, i64 0, i32 1
store x86_fp80 0xK7FFF8000000000000000, x86_fp80* %109
store x86_fp80 0xK00000000000000000000, x86_fp80* %110
%111 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %11)
%112 = extractvalue { x86_fp80, x86_fp80 } %111, 0
%113 = extractvalue { x86_fp80, x86_fp80 } %111, 1
%114 = fcmp une x86_fp80 %112, 0xK7FFF8000000000000000
%115 = fcmp une x86_fp80 %113, 0xK00000000000000000000
%116 = or i1 %114, %115
br i1 %116, label %125, label %117
117: ; preds = %108
%118 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %12, i64 0, i32 0
%119 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %12, i64 0, i32 1
store x86_fp80 0xK7FFF8000000000000000, x86_fp80* %118
store x86_fp80 0xK00000000000000000000, x86_fp80* %119
%120 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %12)
%121 = extractvalue { x86_fp80, x86_fp80 } %120, 1
%122 = fptrunc x86_fp80 %121 to float
%123 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %122)
%124 = fcmp une float %123, -1.000000e+00
br i1 %124, label %125, label %127
125: ; preds = %117, %108
%126 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 196)
br label %127
127: ; preds = %125, %117
%128 = tail call <2 x float> @cprojf(<2 x float> <float 0x7FF0000000000000, float 4.000000e+00>)
%129 = extractelement <2 x float> %128, i64 0
%130 = extractelement <2 x float> %128, i64 1
%131 = fcmp une float %129, 0x7FF0000000000000
%132 = fcmp une float %130, 0.000000e+00
%133 = or i1 %131, %132
%134 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %130)
%135 = fcmp une float %134, 1.000000e+00
%136 = select i1 %133, i1 true, i1 %135
br i1 %136, label %137, label %139
137: ; preds = %127
%138 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 197)
br label %139
139: ; preds = %127, %137
%140 = tail call { double, double } @cproj(double 0x7FF0000000000000, double 4.000000e+00)
%141 = extractvalue { double, double } %140, 0
%142 = extractvalue { double, double } %140, 1
%143 = fcmp une double %141, 0x7FF0000000000000
%144 = fcmp une double %142, 0.000000e+00
%145 = or i1 %143, %144
br i1 %145, label %150, label %146
146: ; preds = %139
%147 = fptrunc double %142 to float
%148 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %147)
%149 = fcmp une float %148, 1.000000e+00
br i1 %149, label %150, label %152
150: ; preds = %146, %139
%151 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 197)
br label %152
152: ; preds = %150, %146
%153 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %13, i64 0, i32 0
%154 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %13, i64 0, i32 1
store x86_fp80 0xK7FFF8000000000000000, x86_fp80* %153
store x86_fp80 0xK40018000000000000000, x86_fp80* %154
%155 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %13)
%156 = extractvalue { x86_fp80, x86_fp80 } %155, 0
%157 = extractvalue { x86_fp80, x86_fp80 } %155, 1
%158 = fcmp une x86_fp80 %156, 0xK7FFF8000000000000000
%159 = fcmp une x86_fp80 %157, 0xK00000000000000000000
%160 = or i1 %158, %159
br i1 %160, label %169, label %161
161: ; preds = %152
%162 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %14, i64 0, i32 0
%163 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %14, i64 0, i32 1
store x86_fp80 0xK7FFF8000000000000000, x86_fp80* %162
store x86_fp80 0xK40018000000000000000, x86_fp80* %163
%164 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %14)
%165 = extractvalue { x86_fp80, x86_fp80 } %164, 1
%166 = fptrunc x86_fp80 %165 to float
%167 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %166)
%168 = fcmp une float %167, 1.000000e+00
br i1 %168, label %169, label %171
169: ; preds = %161, %152
%170 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 197)
br label %171
171: ; preds = %169, %161
%172 = tail call <2 x float> @cprojf(<2 x float> <float 0x7FF0000000000000, float -4.000000e+00>)
%173 = extractelement <2 x float> %172, i64 0
%174 = extractelement <2 x float> %172, i64 1
%175 = fcmp une float %173, 0x7FF0000000000000
%176 = fcmp une float %174, 0.000000e+00
%177 = or i1 %175, %176
%178 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %174)
%179 = fcmp une float %178, -1.000000e+00
%180 = select i1 %177, i1 true, i1 %179
br i1 %180, label %181, label %183
181: ; preds = %171
%182 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 198)
br label %183
183: ; preds = %171, %181
%184 = tail call { double, double } @cproj(double 0x7FF0000000000000, double -4.000000e+00)
%185 = extractvalue { double, double } %184, 0
%186 = extractvalue { double, double } %184, 1
%187 = fcmp une double %185, 0x7FF0000000000000
%188 = fcmp une double %186, 0.000000e+00
%189 = or i1 %187, %188
br i1 %189, label %194, label %190
190: ; preds = %183
%191 = fptrunc double %186 to float
%192 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %191)
%193 = fcmp une float %192, -1.000000e+00
br i1 %193, label %194, label %196
194: ; preds = %190, %183
%195 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 198)
br label %196
196: ; preds = %194, %190
%197 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %15, i64 0, i32 0
%198 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %15, i64 0, i32 1
store x86_fp80 0xK7FFF8000000000000000, x86_fp80* %197
store x86_fp80 0xKC0018000000000000000, x86_fp80* %198
%199 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %15)
%200 = extractvalue { x86_fp80, x86_fp80 } %199, 0
%201 = extractvalue { x86_fp80, x86_fp80 } %199, 1
%202 = fcmp une x86_fp80 %200, 0xK7FFF8000000000000000
%203 = fcmp une x86_fp80 %201, 0xK00000000000000000000
%204 = or i1 %202, %203
br i1 %204, label %213, label %205
205: ; preds = %196
%206 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %16, i64 0, i32 0
%207 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %16, i64 0, i32 1
store x86_fp80 0xK7FFF8000000000000000, x86_fp80* %206
store x86_fp80 0xKC0018000000000000000, x86_fp80* %207
%208 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %16)
%209 = extractvalue { x86_fp80, x86_fp80 } %208, 1
%210 = fptrunc x86_fp80 %209 to float
%211 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %210)
%212 = fcmp une float %211, -1.000000e+00
br i1 %212, label %213, label %215
213: ; preds = %205, %196
%214 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 198)
br label %215
215: ; preds = %213, %205
%216 = tail call <2 x float> @cprojf(<2 x float> <float 0xFFF0000000000000, float 0.000000e+00>)
%217 = extractelement <2 x float> %216, i64 0
%218 = extractelement <2 x float> %216, i64 1
%219 = fcmp une float %217, 0x7FF0000000000000
%220 = fcmp une float %218, 0.000000e+00
%221 = or i1 %219, %220
%222 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %218)
%223 = fcmp une float %222, 1.000000e+00
%224 = select i1 %221, i1 true, i1 %223
br i1 %224, label %225, label %227
225: ; preds = %215
%226 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 199)
br label %227
227: ; preds = %215, %225
%228 = tail call { double, double } @cproj(double 0xFFF0000000000000, double 0.000000e+00)
%229 = extractvalue { double, double } %228, 0
%230 = extractvalue { double, double } %228, 1
%231 = fcmp une double %229, 0x7FF0000000000000
%232 = fcmp une double %230, 0.000000e+00
%233 = or i1 %231, %232
br i1 %233, label %238, label %234
234: ; preds = %227
%235 = fptrunc double %230 to float
%236 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %235)
%237 = fcmp une float %236, 1.000000e+00
br i1 %237, label %238, label %240
238: ; preds = %234, %227
%239 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 199)
br label %240
240: ; preds = %238, %234
%241 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %17, i64 0, i32 0
%242 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %17, i64 0, i32 1
store x86_fp80 0xKFFFF8000000000000000, x86_fp80* %241
store x86_fp80 0xK00000000000000000000, x86_fp80* %242
%243 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %17)
%244 = extractvalue { x86_fp80, x86_fp80 } %243, 0
%245 = extractvalue { x86_fp80, x86_fp80 } %243, 1
%246 = fcmp une x86_fp80 %244, 0xK7FFF8000000000000000
%247 = fcmp une x86_fp80 %245, 0xK00000000000000000000
%248 = or i1 %246, %247
br i1 %248, label %257, label %249
249: ; preds = %240
%250 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %18, i64 0, i32 0
%251 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %18, i64 0, i32 1
store x86_fp80 0xKFFFF8000000000000000, x86_fp80* %250
store x86_fp80 0xK00000000000000000000, x86_fp80* %251
%252 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %18)
%253 = extractvalue { x86_fp80, x86_fp80 } %252, 1
%254 = fptrunc x86_fp80 %253 to float
%255 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %254)
%256 = fcmp une float %255, 1.000000e+00
br i1 %256, label %257, label %259
257: ; preds = %249, %240
%258 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 199)
br label %259
259: ; preds = %257, %249
%260 = fcmp une float %222, -1.000000e+00
%261 = select i1 %221, i1 true, i1 %260
br i1 %261, label %262, label %264
262: ; preds = %259
%263 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 200)
br label %264
264: ; preds = %259, %262
br i1 %233, label %269, label %265
265: ; preds = %264
%266 = fptrunc double %230 to float
%267 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %266)
%268 = fcmp une float %267, -1.000000e+00
br i1 %268, label %269, label %271
269: ; preds = %265, %264
%270 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 200)
br label %271
271: ; preds = %269, %265
%272 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %19, i64 0, i32 0
%273 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %19, i64 0, i32 1
store x86_fp80 0xKFFFF8000000000000000, x86_fp80* %272
store x86_fp80 0xK00000000000000000000, x86_fp80* %273
%274 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %19)
%275 = extractvalue { x86_fp80, x86_fp80 } %274, 0
%276 = extractvalue { x86_fp80, x86_fp80 } %274, 1
%277 = fcmp une x86_fp80 %275, 0xK7FFF8000000000000000
%278 = fcmp une x86_fp80 %276, 0xK00000000000000000000
%279 = or i1 %277, %278
br i1 %279, label %288, label %280
280: ; preds = %271
%281 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %20, i64 0, i32 0
%282 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %20, i64 0, i32 1
store x86_fp80 0xKFFFF8000000000000000, x86_fp80* %281
store x86_fp80 0xK00000000000000000000, x86_fp80* %282
%283 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %20)
%284 = extractvalue { x86_fp80, x86_fp80 } %283, 1
%285 = fptrunc x86_fp80 %284 to float
%286 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %285)
%287 = fcmp une float %286, -1.000000e+00
br i1 %287, label %288, label %290
288: ; preds = %280, %271
%289 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 200)
br label %290
290: ; preds = %288, %280
%291 = tail call <2 x float> @cprojf(<2 x float> <float 0xFFF0000000000000, float 4.000000e+00>)
%292 = extractelement <2 x float> %291, i64 0
%293 = extractelement <2 x float> %291, i64 1
%294 = fcmp une float %292, 0x7FF0000000000000
%295 = fcmp une float %293, 0.000000e+00
%296 = or i1 %294, %295
%297 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %293)
%298 = fcmp une float %297, 1.000000e+00
%299 = select i1 %296, i1 true, i1 %298
br i1 %299, label %300, label %302
300: ; preds = %290
%301 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 201)
br label %302
302: ; preds = %290, %300
%303 = tail call { double, double } @cproj(double 0xFFF0000000000000, double 4.000000e+00)
%304 = extractvalue { double, double } %303, 0
%305 = extractvalue { double, double } %303, 1
%306 = fcmp une double %304, 0x7FF0000000000000
%307 = fcmp une double %305, 0.000000e+00
%308 = or i1 %306, %307
br i1 %308, label %313, label %309
309: ; preds = %302
%310 = fptrunc double %305 to float
%311 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %310)
%312 = fcmp une float %311, 1.000000e+00
br i1 %312, label %313, label %315
313: ; preds = %309, %302
%314 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 201)
br label %315
315: ; preds = %313, %309
%316 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %21, i64 0, i32 0
%317 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %21, i64 0, i32 1
store x86_fp80 0xKFFFF8000000000000000, x86_fp80* %316
store x86_fp80 0xK40018000000000000000, x86_fp80* %317
%318 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %21)
%319 = extractvalue { x86_fp80, x86_fp80 } %318, 0
%320 = extractvalue { x86_fp80, x86_fp80 } %318, 1
%321 = fcmp une x86_fp80 %319, 0xK7FFF8000000000000000
%322 = fcmp une x86_fp80 %320, 0xK00000000000000000000
%323 = or i1 %321, %322
br i1 %323, label %332, label %324
324: ; preds = %315
%325 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %22, i64 0, i32 0
%326 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %22, i64 0, i32 1
store x86_fp80 0xKFFFF8000000000000000, x86_fp80* %325
store x86_fp80 0xK40018000000000000000, x86_fp80* %326
%327 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %22)
%328 = extractvalue { x86_fp80, x86_fp80 } %327, 1
%329 = fptrunc x86_fp80 %328 to float
%330 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %329)
%331 = fcmp une float %330, 1.000000e+00
br i1 %331, label %332, label %334
332: ; preds = %324, %315
%333 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 201)
br label %334
334: ; preds = %332, %324
%335 = tail call <2 x float> @cprojf(<2 x float> <float 0xFFF0000000000000, float -4.000000e+00>)
%336 = extractelement <2 x float> %335, i64 0
%337 = extractelement <2 x float> %335, i64 1
%338 = fcmp une float %336, 0x7FF0000000000000
%339 = fcmp une float %337, 0.000000e+00
%340 = or i1 %338, %339
%341 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %337)
%342 = fcmp une float %341, -1.000000e+00
%343 = select i1 %340, i1 true, i1 %342
br i1 %343, label %344, label %346
344: ; preds = %334
%345 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 202)
br label %346
346: ; preds = %334, %344
%347 = tail call { double, double } @cproj(double 0xFFF0000000000000, double -4.000000e+00)
%348 = extractvalue { double, double } %347, 0
%349 = extractvalue { double, double } %347, 1
%350 = fcmp une double %348, 0x7FF0000000000000
%351 = fcmp une double %349, 0.000000e+00
%352 = or i1 %350, %351
br i1 %352, label %357, label %353
353: ; preds = %346
%354 = fptrunc double %349 to float
%355 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %354)
%356 = fcmp une float %355, -1.000000e+00
br i1 %356, label %357, label %359
357: ; preds = %353, %346
%358 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 202)
br label %359
359: ; preds = %357, %353
%360 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %23, i64 0, i32 0
%361 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %23, i64 0, i32 1
store x86_fp80 0xKFFFF8000000000000000, x86_fp80* %360
store x86_fp80 0xKC0018000000000000000, x86_fp80* %361
%362 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %23)
%363 = extractvalue { x86_fp80, x86_fp80 } %362, 0
%364 = extractvalue { x86_fp80, x86_fp80 } %362, 1
%365 = fcmp une x86_fp80 %363, 0xK7FFF8000000000000000
%366 = fcmp une x86_fp80 %364, 0xK00000000000000000000
%367 = or i1 %365, %366
br i1 %367, label %376, label %368
368: ; preds = %359
%369 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %24, i64 0, i32 0
%370 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %24, i64 0, i32 1
store x86_fp80 0xKFFFF8000000000000000, x86_fp80* %369
store x86_fp80 0xKC0018000000000000000, x86_fp80* %370
%371 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %24)
%372 = extractvalue { x86_fp80, x86_fp80 } %371, 1
%373 = fptrunc x86_fp80 %372 to float
%374 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %373)
%375 = fcmp une float %374, -1.000000e+00
br i1 %375, label %376, label %378
376: ; preds = %368, %359
%377 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 202)
br label %378
378: ; preds = %376, %368
%379 = tail call <2 x float> @cprojf(<2 x float> <float 0x7FF8000000000000, float 0x7FF0000000000000>)
%380 = extractelement <2 x float> %379, i64 0
%381 = extractelement <2 x float> %379, i64 1
%382 = fcmp une float %380, 0x7FF0000000000000
%383 = fcmp une float %381, 0.000000e+00
%384 = or i1 %382, %383
%385 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %381)
%386 = fcmp une float %385, 1.000000e+00
%387 = select i1 %384, i1 true, i1 %386
br i1 %387, label %388, label %390
388: ; preds = %378
%389 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 204)
br label %390
390: ; preds = %378, %388
%391 = tail call { double, double } @cproj(double 0x7FF8000000000000, double 0x7FF0000000000000)
%392 = extractvalue { double, double } %391, 0
%393 = extractvalue { double, double } %391, 1
%394 = fcmp une double %392, 0x7FF0000000000000
%395 = fcmp une double %393, 0.000000e+00
%396 = or i1 %394, %395
br i1 %396, label %401, label %397
397: ; preds = %390
%398 = fptrunc double %393 to float
%399 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %398)
%400 = fcmp une float %399, 1.000000e+00
br i1 %400, label %401, label %403
401: ; preds = %397, %390
%402 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 204)
br label %403
403: ; preds = %401, %397
%404 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %25, i64 0, i32 0
%405 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %25, i64 0, i32 1
store x86_fp80 0xK7FFFC000000000000000, x86_fp80* %404
store x86_fp80 0xK7FFF8000000000000000, x86_fp80* %405
%406 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %25)
%407 = extractvalue { x86_fp80, x86_fp80 } %406, 0
%408 = extractvalue { x86_fp80, x86_fp80 } %406, 1
%409 = fcmp une x86_fp80 %407, 0xK7FFF8000000000000000
%410 = fcmp une x86_fp80 %408, 0xK00000000000000000000
%411 = or i1 %409, %410
br i1 %411, label %420, label %412
412: ; preds = %403
%413 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %26, i64 0, i32 0
%414 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %26, i64 0, i32 1
store x86_fp80 0xK7FFFC000000000000000, x86_fp80* %413
store x86_fp80 0xK7FFF8000000000000000, x86_fp80* %414
%415 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %26)
%416 = extractvalue { x86_fp80, x86_fp80 } %415, 1
%417 = fptrunc x86_fp80 %416 to float
%418 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %417)
%419 = fcmp une float %418, 1.000000e+00
br i1 %419, label %420, label %422
420: ; preds = %412, %403
%421 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 204)
br label %422
422: ; preds = %420, %412
%423 = tail call <2 x float> @cprojf(<2 x float> <float 0x7FF8000000000000, float 0xFFF0000000000000>)
%424 = extractelement <2 x float> %423, i64 0
%425 = extractelement <2 x float> %423, i64 1
%426 = fcmp une float %424, 0x7FF0000000000000
%427 = fcmp une float %425, 0.000000e+00
%428 = or i1 %426, %427
%429 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %425)
%430 = fcmp une float %429, -1.000000e+00
%431 = select i1 %428, i1 true, i1 %430
br i1 %431, label %432, label %434
432: ; preds = %422
%433 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 205)
br label %434
434: ; preds = %422, %432
%435 = tail call { double, double } @cproj(double 0x7FF8000000000000, double 0xFFF0000000000000)
%436 = extractvalue { double, double } %435, 0
%437 = extractvalue { double, double } %435, 1
%438 = fcmp une double %436, 0x7FF0000000000000
%439 = fcmp une double %437, 0.000000e+00
%440 = or i1 %438, %439
br i1 %440, label %445, label %441
441: ; preds = %434
%442 = fptrunc double %437 to float
%443 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %442)
%444 = fcmp une float %443, -1.000000e+00
br i1 %444, label %445, label %447
445: ; preds = %441, %434
%446 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 205)
br label %447
447: ; preds = %445, %441
%448 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %27, i64 0, i32 0
%449 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %27, i64 0, i32 1
store x86_fp80 0xK7FFFC000000000000000, x86_fp80* %448
store x86_fp80 0xKFFFF8000000000000000, x86_fp80* %449
%450 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %27)
%451 = extractvalue { x86_fp80, x86_fp80 } %450, 0
%452 = extractvalue { x86_fp80, x86_fp80 } %450, 1
%453 = fcmp une x86_fp80 %451, 0xK7FFF8000000000000000
%454 = fcmp une x86_fp80 %452, 0xK00000000000000000000
%455 = or i1 %453, %454
br i1 %455, label %464, label %456
456: ; preds = %447
%457 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %28, i64 0, i32 0
%458 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %28, i64 0, i32 1
store x86_fp80 0xK7FFFC000000000000000, x86_fp80* %457
store x86_fp80 0xKFFFF8000000000000000, x86_fp80* %458
%459 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %28)
%460 = extractvalue { x86_fp80, x86_fp80 } %459, 1
%461 = fptrunc x86_fp80 %460 to float
%462 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %461)
%463 = fcmp une float %462, -1.000000e+00
br i1 %463, label %464, label %466
464: ; preds = %456, %447
%465 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 205)
br label %466
466: ; preds = %464, %456
br i1 %387, label %467, label %469
467: ; preds = %466
%468 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 206)
br label %469
469: ; preds = %466, %467
br i1 %396, label %474, label %470
470: ; preds = %469
%471 = fptrunc double %393 to float
%472 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %471)
%473 = fcmp une float %472, 1.000000e+00
br i1 %473, label %474, label %476
474: ; preds = %470, %469
%475 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 206)
br label %476
476: ; preds = %474, %470
%477 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %29, i64 0, i32 0
%478 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %29, i64 0, i32 1
store x86_fp80 0xK7FFFC000000000000000, x86_fp80* %477
store x86_fp80 0xK7FFF8000000000000000, x86_fp80* %478
%479 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %29)
%480 = extractvalue { x86_fp80, x86_fp80 } %479, 0
%481 = extractvalue { x86_fp80, x86_fp80 } %479, 1
%482 = fcmp une x86_fp80 %480, 0xK7FFF8000000000000000
%483 = fcmp une x86_fp80 %481, 0xK00000000000000000000
%484 = or i1 %482, %483
br i1 %484, label %493, label %485
485: ; preds = %476
%486 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %30, i64 0, i32 0
%487 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %30, i64 0, i32 1
store x86_fp80 0xK7FFFC000000000000000, x86_fp80* %486
store x86_fp80 0xK7FFF8000000000000000, x86_fp80* %487
%488 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %30)
%489 = extractvalue { x86_fp80, x86_fp80 } %488, 1
%490 = fptrunc x86_fp80 %489 to float
%491 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %490)
%492 = fcmp une float %491, 1.000000e+00
br i1 %492, label %493, label %495
493: ; preds = %485, %476
%494 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 206)
br label %495
495: ; preds = %493, %485
br i1 %431, label %496, label %498
496: ; preds = %495
%497 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 207)
br label %498
498: ; preds = %495, %496
br i1 %440, label %503, label %499
499: ; preds = %498
%500 = fptrunc double %437 to float
%501 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %500)
%502 = fcmp une float %501, -1.000000e+00
br i1 %502, label %503, label %505
503: ; preds = %499, %498
%504 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 207)
br label %505
505: ; preds = %503, %499
%506 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %31, i64 0, i32 0
%507 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %31, i64 0, i32 1
store x86_fp80 0xK7FFFC000000000000000, x86_fp80* %506
store x86_fp80 0xKFFFF8000000000000000, x86_fp80* %507
%508 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %31)
%509 = extractvalue { x86_fp80, x86_fp80 } %508, 0
%510 = extractvalue { x86_fp80, x86_fp80 } %508, 1
%511 = fcmp une x86_fp80 %509, 0xK7FFF8000000000000000
%512 = fcmp une x86_fp80 %510, 0xK00000000000000000000
%513 = or i1 %511, %512
br i1 %513, label %522, label %514
514: ; preds = %505
%515 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %32, i64 0, i32 0
%516 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %32, i64 0, i32 1
store x86_fp80 0xK7FFFC000000000000000, x86_fp80* %515
store x86_fp80 0xKFFFF8000000000000000, x86_fp80* %516
%517 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %32)
%518 = extractvalue { x86_fp80, x86_fp80 } %517, 1
%519 = fptrunc x86_fp80 %518 to float
%520 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %519)
%521 = fcmp une float %520, -1.000000e+00
br i1 %521, label %522, label %524
522: ; preds = %514, %505
%523 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 207)
br label %524
524: ; preds = %522, %514
br i1 %387, label %525, label %527
525: ; preds = %524
%526 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 208)
br label %527
527: ; preds = %524, %525
br i1 %396, label %532, label %528
528: ; preds = %527
%529 = fptrunc double %393 to float
%530 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %529)
%531 = fcmp une float %530, 1.000000e+00
br i1 %531, label %532, label %534
532: ; preds = %528, %527
%533 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 208)
br label %534
534: ; preds = %532, %528
%535 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %33, i64 0, i32 0
%536 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %33, i64 0, i32 1
store x86_fp80 0xK7FFFC000000000000000, x86_fp80* %535
store x86_fp80 0xK7FFF8000000000000000, x86_fp80* %536
%537 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %33)
%538 = extractvalue { x86_fp80, x86_fp80 } %537, 0
%539 = extractvalue { x86_fp80, x86_fp80 } %537, 1
%540 = fcmp une x86_fp80 %538, 0xK7FFF8000000000000000
%541 = fcmp une x86_fp80 %539, 0xK00000000000000000000
%542 = or i1 %540, %541
br i1 %542, label %551, label %543
543: ; preds = %534
%544 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %34, i64 0, i32 0
%545 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %34, i64 0, i32 1
store x86_fp80 0xK7FFFC000000000000000, x86_fp80* %544
store x86_fp80 0xK7FFF8000000000000000, x86_fp80* %545
%546 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %34)
%547 = extractvalue { x86_fp80, x86_fp80 } %546, 1
%548 = fptrunc x86_fp80 %547 to float
%549 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %548)
%550 = fcmp une float %549, 1.000000e+00
br i1 %550, label %551, label %553
551: ; preds = %543, %534
%552 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 208)
br label %553
553: ; preds = %551, %543
br i1 %431, label %554, label %556
554: ; preds = %553
%555 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 209)
br label %556
556: ; preds = %553, %554
br i1 %440, label %561, label %557
557: ; preds = %556
%558 = fptrunc double %437 to float
%559 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %558)
%560 = fcmp une float %559, -1.000000e+00
br i1 %560, label %561, label %563
561: ; preds = %557, %556
%562 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 209)
br label %563
563: ; preds = %561, %557
%564 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %35, i64 0, i32 0
%565 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %35, i64 0, i32 1
store x86_fp80 0xK7FFFC000000000000000, x86_fp80* %564
store x86_fp80 0xKFFFF8000000000000000, x86_fp80* %565
%566 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %35)
%567 = extractvalue { x86_fp80, x86_fp80 } %566, 0
%568 = extractvalue { x86_fp80, x86_fp80 } %566, 1
%569 = fcmp une x86_fp80 %567, 0xK7FFF8000000000000000
%570 = fcmp une x86_fp80 %568, 0xK00000000000000000000
%571 = or i1 %569, %570
br i1 %571, label %580, label %572
572: ; preds = %563
%573 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %36, i64 0, i32 0
%574 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %36, i64 0, i32 1
store x86_fp80 0xK7FFFC000000000000000, x86_fp80* %573
store x86_fp80 0xKFFFF8000000000000000, x86_fp80* %574
%575 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %36)
%576 = extractvalue { x86_fp80, x86_fp80 } %575, 1
%577 = fptrunc x86_fp80 %576 to float
%578 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %577)
%579 = fcmp une float %578, -1.000000e+00
br i1 %579, label %580, label %582
580: ; preds = %572, %563
%581 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 209)
br label %582
582: ; preds = %580, %572
br i1 %387, label %583, label %585
583: ; preds = %582
%584 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 210)
br label %585
585: ; preds = %582, %583
br i1 %396, label %590, label %586
586: ; preds = %585
%587 = fptrunc double %393 to float
%588 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %587)
%589 = fcmp une float %588, 1.000000e+00
br i1 %589, label %590, label %592
590: ; preds = %586, %585
%591 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 210)
br label %592
592: ; preds = %590, %586
%593 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %37, i64 0, i32 0
%594 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %37, i64 0, i32 1
store x86_fp80 0xK7FFFC000000000000000, x86_fp80* %593
store x86_fp80 0xK7FFF8000000000000000, x86_fp80* %594
%595 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %37)
%596 = extractvalue { x86_fp80, x86_fp80 } %595, 0
%597 = extractvalue { x86_fp80, x86_fp80 } %595, 1
%598 = fcmp une x86_fp80 %596, 0xK7FFF8000000000000000
%599 = fcmp une x86_fp80 %597, 0xK00000000000000000000
%600 = or i1 %598, %599
br i1 %600, label %609, label %601
601: ; preds = %592
%602 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %38, i64 0, i32 0
%603 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %38, i64 0, i32 1
store x86_fp80 0xK7FFFC000000000000000, x86_fp80* %602
store x86_fp80 0xK7FFF8000000000000000, x86_fp80* %603
%604 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %38)
%605 = extractvalue { x86_fp80, x86_fp80 } %604, 1
%606 = fptrunc x86_fp80 %605 to float
%607 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %606)
%608 = fcmp une float %607, 1.000000e+00
br i1 %608, label %609, label %611
609: ; preds = %601, %592
%610 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 210)
br label %611
611: ; preds = %609, %601
br i1 %431, label %612, label %614
612: ; preds = %611
%613 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 211)
br label %614
614: ; preds = %611, %612
br i1 %440, label %619, label %615
615: ; preds = %614
%616 = fptrunc double %437 to float
%617 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %616)
%618 = fcmp une float %617, -1.000000e+00
br i1 %618, label %619, label %621
619: ; preds = %615, %614
%620 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 211)
br label %621
621: ; preds = %619, %615
%622 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %39, i64 0, i32 0
%623 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %39, i64 0, i32 1
store x86_fp80 0xK7FFFC000000000000000, x86_fp80* %622
store x86_fp80 0xKFFFF8000000000000000, x86_fp80* %623
%624 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %39)
%625 = extractvalue { x86_fp80, x86_fp80 } %624, 0
%626 = extractvalue { x86_fp80, x86_fp80 } %624, 1
%627 = fcmp une x86_fp80 %625, 0xK7FFF8000000000000000
%628 = fcmp une x86_fp80 %626, 0xK00000000000000000000
%629 = or i1 %627, %628
br i1 %629, label %638, label %630
630: ; preds = %621
%631 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %40, i64 0, i32 0
%632 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %40, i64 0, i32 1
store x86_fp80 0xK7FFFC000000000000000, x86_fp80* %631
store x86_fp80 0xKFFFF8000000000000000, x86_fp80* %632
%633 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %40)
%634 = extractvalue { x86_fp80, x86_fp80 } %633, 1
%635 = fptrunc x86_fp80 %634 to float
%636 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %635)
%637 = fcmp une float %636, -1.000000e+00
br i1 %637, label %638, label %640
638: ; preds = %630, %621
%639 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 211)
br label %640
640: ; preds = %638, %630
br i1 %387, label %641, label %643
641: ; preds = %640
%642 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 213)
br label %643
643: ; preds = %640, %641
br i1 %396, label %648, label %644
644: ; preds = %643
%645 = fptrunc double %393 to float
%646 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %645)
%647 = fcmp une float %646, 1.000000e+00
br i1 %647, label %648, label %650
648: ; preds = %644, %643
%649 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 213)
br label %650
650: ; preds = %648, %644
%651 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %41, i64 0, i32 0
%652 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %41, i64 0, i32 1
store x86_fp80 0xK7FFFC000000000000000, x86_fp80* %651
store x86_fp80 0xK7FFF8000000000000000, x86_fp80* %652
%653 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %41)
%654 = extractvalue { x86_fp80, x86_fp80 } %653, 0
%655 = extractvalue { x86_fp80, x86_fp80 } %653, 1
%656 = fcmp une x86_fp80 %654, 0xK7FFF8000000000000000
%657 = fcmp une x86_fp80 %655, 0xK00000000000000000000
%658 = or i1 %656, %657
br i1 %658, label %667, label %659
659: ; preds = %650
%660 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %42, i64 0, i32 0
%661 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %42, i64 0, i32 1
store x86_fp80 0xK7FFFC000000000000000, x86_fp80* %660
store x86_fp80 0xK7FFF8000000000000000, x86_fp80* %661
%662 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %42)
%663 = extractvalue { x86_fp80, x86_fp80 } %662, 1
%664 = fptrunc x86_fp80 %663 to float
%665 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %664)
%666 = fcmp une float %665, 1.000000e+00
br i1 %666, label %667, label %669
667: ; preds = %659, %650
%668 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 213)
br label %669
669: ; preds = %667, %659
br i1 %431, label %670, label %672
670: ; preds = %669
%671 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 214)
br label %672
672: ; preds = %669, %670
br i1 %440, label %677, label %673
673: ; preds = %672
%674 = fptrunc double %437 to float
%675 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %674)
%676 = fcmp une float %675, -1.000000e+00
br i1 %676, label %677, label %679
677: ; preds = %673, %672
%678 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 214)
br label %679
679: ; preds = %677, %673
%680 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %43, i64 0, i32 0
%681 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %43, i64 0, i32 1
store x86_fp80 0xK7FFFC000000000000000, x86_fp80* %680
store x86_fp80 0xKFFFF8000000000000000, x86_fp80* %681
%682 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %43)
%683 = extractvalue { x86_fp80, x86_fp80 } %682, 0
%684 = extractvalue { x86_fp80, x86_fp80 } %682, 1
%685 = fcmp une x86_fp80 %683, 0xK7FFF8000000000000000
%686 = fcmp une x86_fp80 %684, 0xK00000000000000000000
%687 = or i1 %685, %686
br i1 %687, label %696, label %688
688: ; preds = %679
%689 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %44, i64 0, i32 0
%690 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %44, i64 0, i32 1
store x86_fp80 0xK7FFFC000000000000000, x86_fp80* %689
store x86_fp80 0xKFFFF8000000000000000, x86_fp80* %690
%691 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %44)
%692 = extractvalue { x86_fp80, x86_fp80 } %691, 1
%693 = fptrunc x86_fp80 %692 to float
%694 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %693)
%695 = fcmp une float %694, -1.000000e+00
br i1 %695, label %696, label %698
696: ; preds = %688, %679
%697 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 214)
br label %698
698: ; preds = %696, %688
br i1 %387, label %699, label %701
699: ; preds = %698
%700 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 215)
br label %701
701: ; preds = %698, %699
br i1 %396, label %706, label %702
702: ; preds = %701
%703 = fptrunc double %393 to float
%704 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %703)
%705 = fcmp une float %704, 1.000000e+00
br i1 %705, label %706, label %708
706: ; preds = %702, %701
%707 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 215)
br label %708
708: ; preds = %706, %702
%709 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %45, i64 0, i32 0
%710 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %45, i64 0, i32 1
store x86_fp80 0xK7FFFC000000000000000, x86_fp80* %709
store x86_fp80 0xK7FFF8000000000000000, x86_fp80* %710
%711 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %45)
%712 = extractvalue { x86_fp80, x86_fp80 } %711, 0
%713 = extractvalue { x86_fp80, x86_fp80 } %711, 1
%714 = fcmp une x86_fp80 %712, 0xK7FFF8000000000000000
%715 = fcmp une x86_fp80 %713, 0xK00000000000000000000
%716 = or i1 %714, %715
br i1 %716, label %725, label %717
717: ; preds = %708
%718 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %46, i64 0, i32 0
%719 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %46, i64 0, i32 1
store x86_fp80 0xK7FFFC000000000000000, x86_fp80* %718
store x86_fp80 0xK7FFF8000000000000000, x86_fp80* %719
%720 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %46)
%721 = extractvalue { x86_fp80, x86_fp80 } %720, 1
%722 = fptrunc x86_fp80 %721 to float
%723 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %722)
%724 = fcmp une float %723, 1.000000e+00
br i1 %724, label %725, label %727
725: ; preds = %717, %708
%726 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 215)
br label %727
727: ; preds = %725, %717
br i1 %431, label %728, label %730
728: ; preds = %727
%729 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 216)
br label %730
730: ; preds = %727, %728
br i1 %440, label %735, label %731
731: ; preds = %730
%732 = fptrunc double %437 to float
%733 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %732)
%734 = fcmp une float %733, -1.000000e+00
br i1 %734, label %735, label %737
735: ; preds = %731, %730
%736 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 216)
br label %737
737: ; preds = %735, %731
%738 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %47, i64 0, i32 0
%739 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %47, i64 0, i32 1
store x86_fp80 0xK7FFFC000000000000000, x86_fp80* %738
store x86_fp80 0xKFFFF8000000000000000, x86_fp80* %739
%740 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %47)
%741 = extractvalue { x86_fp80, x86_fp80 } %740, 0
%742 = extractvalue { x86_fp80, x86_fp80 } %740, 1
%743 = fcmp une x86_fp80 %741, 0xK7FFF8000000000000000
%744 = fcmp une x86_fp80 %742, 0xK00000000000000000000
%745 = or i1 %743, %744
br i1 %745, label %754, label %746
746: ; preds = %737
%747 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %48, i64 0, i32 0
%748 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %48, i64 0, i32 1
store x86_fp80 0xK7FFFC000000000000000, x86_fp80* %747
store x86_fp80 0xKFFFF8000000000000000, x86_fp80* %748
%749 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %48)
%750 = extractvalue { x86_fp80, x86_fp80 } %749, 1
%751 = fptrunc x86_fp80 %750 to float
%752 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %751)
%753 = fcmp une float %752, -1.000000e+00
br i1 %753, label %754, label %756
754: ; preds = %746, %737
%755 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 216)
br label %756
756: ; preds = %754, %746
%757 = tail call <2 x float> @cprojf(<2 x float> zeroinitializer)
%758 = extractelement <2 x float> %757, i64 0
%759 = extractelement <2 x float> %757, i64 1
%760 = fcmp une float %758, 0.000000e+00
%761 = fcmp une float %759, 0.000000e+00
%762 = or i1 %760, %761
%763 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %758)
%764 = fcmp une float %763, 1.000000e+00
%765 = select i1 %762, i1 true, i1 %764
%766 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %759)
%767 = fcmp une float %766, 1.000000e+00
%768 = select i1 %765, i1 true, i1 %767
br i1 %768, label %769, label %771
769: ; preds = %756
%770 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 218)
br label %771
771: ; preds = %756, %769
%772 = tail call <2 x float> @cprojf(<2 x float> <float -0.000000e+00, float 0.000000e+00>)
%773 = extractelement <2 x float> %772, i64 0
%774 = extractelement <2 x float> %772, i64 1
%775 = fcmp une float %773, 0.000000e+00
%776 = fcmp une float %774, 0.000000e+00
%777 = or i1 %775, %776
%778 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %773)
%779 = fcmp une float %778, -1.000000e+00
%780 = select i1 %777, i1 true, i1 %779
%781 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %774)
%782 = fcmp une float %781, 1.000000e+00
%783 = select i1 %780, i1 true, i1 %782
br i1 %783, label %784, label %786
784: ; preds = %771
%785 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 219)
br label %786
786: ; preds = %771, %784
br i1 %768, label %787, label %789
787: ; preds = %786
%788 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 220)
br label %789
789: ; preds = %786, %787
%790 = tail call <2 x float> @cprojf(<2 x float> <float -0.000000e+00, float -0.000000e+00>)
%791 = extractelement <2 x float> %790, i64 0
%792 = extractelement <2 x float> %790, i64 1
%793 = fcmp une float %791, 0.000000e+00
%794 = fcmp une float %792, 0.000000e+00
%795 = or i1 %793, %794
%796 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %791)
%797 = fcmp une float %796, -1.000000e+00
%798 = select i1 %795, i1 true, i1 %797
%799 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %792)
%800 = fcmp une float %799, -1.000000e+00
%801 = select i1 %798, i1 true, i1 %800
br i1 %801, label %802, label %804
802: ; preds = %789
%803 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 221)
br label %804
804: ; preds = %789, %802
%805 = tail call <2 x float> @cprojf(<2 x float> <float 2.200000e+01, float 3.000000e+00>)
%806 = extractelement <2 x float> %805, i64 0
%807 = extractelement <2 x float> %805, i64 1
%808 = fcmp une float %806, 2.200000e+01
%809 = fcmp une float %807, 3.000000e+00
%810 = or i1 %808, %809
%811 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %806)
%812 = fcmp une float %811, 1.000000e+00
%813 = select i1 %810, i1 true, i1 %812
%814 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %807)
%815 = fcmp une float %814, 1.000000e+00
%816 = select i1 %813, i1 true, i1 %815
br i1 %816, label %817, label %819
817: ; preds = %804
%818 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 223)
br label %819
819: ; preds = %804, %817
%820 = tail call <2 x float> @cprojf(<2 x float> <float 2.200000e+01, float -3.000000e+00>)
%821 = extractelement <2 x float> %820, i64 0
%822 = extractelement <2 x float> %820, i64 1
%823 = fcmp une float %821, 2.200000e+01
%824 = fcmp une float %822, -3.000000e+00
%825 = or i1 %823, %824
%826 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %821)
%827 = fcmp une float %826, 1.000000e+00
%828 = select i1 %825, i1 true, i1 %827
%829 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %822)
%830 = fcmp une float %829, -1.000000e+00
%831 = select i1 %828, i1 true, i1 %830
br i1 %831, label %832, label %834
832: ; preds = %819
%833 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 224)
br label %834
834: ; preds = %819, %832
%835 = tail call <2 x float> @cprojf(<2 x float> <float -2.200000e+01, float 3.000000e+00>)
%836 = extractelement <2 x float> %835, i64 0
%837 = extractelement <2 x float> %835, i64 1
%838 = fcmp une float %836, -2.200000e+01
%839 = fcmp une float %837, 3.000000e+00
%840 = or i1 %838, %839
%841 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %836)
%842 = fcmp une float %841, -1.000000e+00
%843 = select i1 %840, i1 true, i1 %842
%844 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %837)
%845 = fcmp une float %844, 1.000000e+00
%846 = select i1 %843, i1 true, i1 %845
br i1 %846, label %847, label %849
847: ; preds = %834
%848 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 225)
br label %849
849: ; preds = %834, %847
%850 = tail call <2 x float> @cprojf(<2 x float> <float -2.200000e+01, float -3.000000e+00>)
%851 = extractelement <2 x float> %850, i64 0
%852 = extractelement <2 x float> %850, i64 1
%853 = fcmp une float %851, -2.200000e+01
%854 = fcmp une float %852, -3.000000e+00
%855 = or i1 %853, %854
%856 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %851)
%857 = fcmp une float %856, -1.000000e+00
%858 = select i1 %855, i1 true, i1 %857
%859 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %852)
%860 = fcmp une float %859, -1.000000e+00
%861 = select i1 %858, i1 true, i1 %860
br i1 %861, label %862, label %864
862: ; preds = %849
%863 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 226)
br label %864
864: ; preds = %849, %862
br i1 %387, label %865, label %867
865: ; preds = %864
%866 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 228)
br label %867
867: ; preds = %864, %865
br i1 %396, label %872, label %868
868: ; preds = %867
%869 = fptrunc double %393 to float
%870 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %869)
%871 = fcmp une float %870, 1.000000e+00
br i1 %871, label %872, label %874
872: ; preds = %868, %867
%873 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 228)
br label %874
874: ; preds = %872, %868
%875 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %49, i64 0, i32 0
%876 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %49, i64 0, i32 1
store x86_fp80 0xK7FFFC000000000000000, x86_fp80* %875
store x86_fp80 0xK7FFF8000000000000000, x86_fp80* %876
%877 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %49)
%878 = extractvalue { x86_fp80, x86_fp80 } %877, 0
%879 = extractvalue { x86_fp80, x86_fp80 } %877, 1
%880 = fcmp une x86_fp80 %878, 0xK7FFF8000000000000000
%881 = fcmp une x86_fp80 %879, 0xK00000000000000000000
%882 = or i1 %880, %881
br i1 %882, label %891, label %883
883: ; preds = %874
%884 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %50, i64 0, i32 0
%885 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %50, i64 0, i32 1
store x86_fp80 0xK7FFFC000000000000000, x86_fp80* %884
store x86_fp80 0xK7FFF8000000000000000, x86_fp80* %885
%886 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %50)
%887 = extractvalue { x86_fp80, x86_fp80 } %886, 1
%888 = fptrunc x86_fp80 %887 to float
%889 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %888)
%890 = fcmp une float %889, 1.000000e+00
br i1 %890, label %891, label %893
891: ; preds = %883, %874
%892 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 228)
br label %893
893: ; preds = %891, %883
br i1 %431, label %894, label %896
894: ; preds = %893
%895 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 229)
br label %896
896: ; preds = %893, %894
br i1 %440, label %901, label %897
897: ; preds = %896
%898 = fptrunc double %437 to float
%899 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %898)
%900 = fcmp une float %899, -1.000000e+00
br i1 %900, label %901, label %903
901: ; preds = %897, %896
%902 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 229)
br label %903
903: ; preds = %901, %897
%904 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %51, i64 0, i32 0
%905 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %51, i64 0, i32 1
store x86_fp80 0xK7FFFC000000000000000, x86_fp80* %904
store x86_fp80 0xKFFFF8000000000000000, x86_fp80* %905
%906 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %51)
%907 = extractvalue { x86_fp80, x86_fp80 } %906, 0
%908 = extractvalue { x86_fp80, x86_fp80 } %906, 1
%909 = fcmp une x86_fp80 %907, 0xK7FFF8000000000000000
%910 = fcmp une x86_fp80 %908, 0xK00000000000000000000
%911 = or i1 %909, %910
br i1 %911, label %920, label %912
912: ; preds = %903
%913 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %52, i64 0, i32 0
%914 = getelementptr inbounds { x86_fp80, x86_fp80 }, { x86_fp80, x86_fp80 }* %52, i64 0, i32 1
store x86_fp80 0xK7FFFC000000000000000, x86_fp80* %913
store x86_fp80 0xKFFFF8000000000000000, x86_fp80* %914
%915 = tail call { x86_fp80, x86_fp80 } @cprojl({ x86_fp80, x86_fp80 }* byval({ x86_fp80, x86_fp80 }) align 16 %52)
%916 = extractvalue { x86_fp80, x86_fp80 } %915, 1
%917 = fptrunc x86_fp80 %916 to float
%918 = tail call float @llvm.copysign.f32(float 1.000000e+00, float %917)
%919 = fcmp une float %918, -1.000000e+00
br i1 %919, label %920, label %922
920: ; preds = %912, %903
%921 = tail call i32 (i32, ...) bitcast (i32 (...)* @link_error to i32 (i32, ...)*)(i32 229)
br label %922
922: ; preds = %912, %920
ret void
}