void check_add_double(void) {
  do {
    do {
      double a1;
      _Complex double b1, c1;
      volatile double a2;
      volatile _Complex double b2, c2;
      a1 = +0.0;
      b1 = (+1 == 1   ? +1 == 1 ? 0.0 + 0.0i : 0.0 - 0.0i
            : +1 == 1 ? -(0.0 - 0.0i)
                      : -(0.0 + 0.0i));
      do {
        if ((b1) != 0 || __builtin_copysign(1.0, __real__(b1)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(b1)) != +1.0)
          abort();
      } while (0);
      c1 = a1 + b1;
      do {
        if ((c1) != 0 || __builtin_copysign(1.0, __real__(c1)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(c1)) != +1.0)
          abort();
      } while (0);
      a2 = +0.0;
      b2 = (+1 == 1   ? +1 == 1 ? 0.0 + 0.0i : 0.0 - 0.0i
            : +1 == 1 ? -(0.0 - 0.0i)
                      : -(0.0 + 0.0i));
      do {
        if ((b2) != 0 || __builtin_copysign(1.0, __real__(b2)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(b2)) != +1.0)
          abort();
      } while (0);
      c2 = a2 + b2;
      do {
        if ((c2) != 0 || __builtin_copysign(1.0, __real__(c2)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(c2)) != +1.0)
          abort();
      } while (0);
    } while (0);
    do {
      double a1;
      _Complex double b1, c1;
      volatile double a2;
      volatile _Complex double b2, c2;
      a1 = +0.0;
      b1 = (+1 == 1   ? -1 == 1 ? 0.0 + 0.0i : 0.0 - 0.0i
            : -1 == 1 ? -(0.0 - 0.0i)
                      : -(0.0 + 0.0i));
      do {
        if ((b1) != 0 || __builtin_copysign(1.0, __real__(b1)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(b1)) != -1.0)
          abort();
      } while (0);
      c1 = a1 + b1;
      do {
        if ((c1) != 0 || __builtin_copysign(1.0, __real__(c1)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(c1)) != -1.0)
          abort();
      } while (0);
      a2 = +0.0;
      b2 = (+1 == 1   ? -1 == 1 ? 0.0 + 0.0i : 0.0 - 0.0i
            : -1 == 1 ? -(0.0 - 0.0i)
                      : -(0.0 + 0.0i));
      do {
        if ((b2) != 0 || __builtin_copysign(1.0, __real__(b2)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(b2)) != -1.0)
          abort();
      } while (0);
      c2 = a2 + b2;
      do {
        if ((c2) != 0 || __builtin_copysign(1.0, __real__(c2)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(c2)) != -1.0)
          abort();
      } while (0);
    } while (0);
    do {
      double a1;
      _Complex double b1, c1;
      volatile double a2;
      volatile _Complex double b2, c2;
      a1 = +0.0;
      b1 = (-1 == 1   ? +1 == 1 ? 0.0 + 0.0i : 0.0 - 0.0i
            : +1 == 1 ? -(0.0 - 0.0i)
                      : -(0.0 + 0.0i));
      do {
        if ((b1) != 0 || __builtin_copysign(1.0, __real__(b1)) != -1.0 ||
            __builtin_copysign(1.0, __imag__(b1)) != +1.0)
          abort();
      } while (0);
      c1 = a1 + b1;
      do {
        if ((c1) != 0 || __builtin_copysign(1.0, __real__(c1)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(c1)) != +1.0)
          abort();
      } while (0);
      a2 = +0.0;
      b2 = (-1 == 1   ? +1 == 1 ? 0.0 + 0.0i : 0.0 - 0.0i
            : +1 == 1 ? -(0.0 - 0.0i)
                      : -(0.0 + 0.0i));
      do {
        if ((b2) != 0 || __builtin_copysign(1.0, __real__(b2)) != -1.0 ||
            __builtin_copysign(1.0, __imag__(b2)) != +1.0)
          abort();
      } while (0);
      c2 = a2 + b2;
      do {
        if ((c2) != 0 || __builtin_copysign(1.0, __real__(c2)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(c2)) != +1.0)
          abort();
      } while (0);
    } while (0);
    do {
      double a1;
      _Complex double b1, c1;
      volatile double a2;
      volatile _Complex double b2, c2;
      a1 = +0.0;
      b1 = (-1 == 1   ? -1 == 1 ? 0.0 + 0.0i : 0.0 - 0.0i
            : -1 == 1 ? -(0.0 - 0.0i)
                      : -(0.0 + 0.0i));
      do {
        if ((b1) != 0 || __builtin_copysign(1.0, __real__(b1)) != -1.0 ||
            __builtin_copysign(1.0, __imag__(b1)) != -1.0)
          abort();
      } while (0);
      c1 = a1 + b1;
      do {
        if ((c1) != 0 || __builtin_copysign(1.0, __real__(c1)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(c1)) != -1.0)
          abort();
      } while (0);
      a2 = +0.0;
      b2 = (-1 == 1   ? -1 == 1 ? 0.0 + 0.0i : 0.0 - 0.0i
            : -1 == 1 ? -(0.0 - 0.0i)
                      : -(0.0 + 0.0i));
      do {
        if ((b2) != 0 || __builtin_copysign(1.0, __real__(b2)) != -1.0 ||
            __builtin_copysign(1.0, __imag__(b2)) != -1.0)
          abort();
      } while (0);
      c2 = a2 + b2;
      do {
        if ((c2) != 0 || __builtin_copysign(1.0, __real__(c2)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(c2)) != -1.0)
          abort();
      } while (0);
    } while (0);
    do {
      double a1;
      _Complex double b1, c1;
      volatile double a2;
      volatile _Complex double b2, c2;
      a1 = -0.0;
      b1 = (+1 == 1   ? +1 == 1 ? 0.0 + 0.0i : 0.0 - 0.0i
            : +1 == 1 ? -(0.0 - 0.0i)
                      : -(0.0 + 0.0i));
      do {
        if ((b1) != 0 || __builtin_copysign(1.0, __real__(b1)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(b1)) != +1.0)
          abort();
      } while (0);
      c1 = a1 + b1;
      do {
        if ((c1) != 0 || __builtin_copysign(1.0, __real__(c1)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(c1)) != +1.0)
          abort();
      } while (0);
      a2 = -0.0;
      b2 = (+1 == 1   ? +1 == 1 ? 0.0 + 0.0i : 0.0 - 0.0i
            : +1 == 1 ? -(0.0 - 0.0i)
                      : -(0.0 + 0.0i));
      do {
        if ((b2) != 0 || __builtin_copysign(1.0, __real__(b2)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(b2)) != +1.0)
          abort();
      } while (0);
      c2 = a2 + b2;
      do {
        if ((c2) != 0 || __builtin_copysign(1.0, __real__(c2)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(c2)) != +1.0)
          abort();
      } while (0);
    } while (0);
    do {
      double a1;
      _Complex double b1, c1;
      volatile double a2;
      volatile _Complex double b2, c2;
      a1 = -0.0;
      b1 = (+1 == 1   ? -1 == 1 ? 0.0 + 0.0i : 0.0 - 0.0i
            : -1 == 1 ? -(0.0 - 0.0i)
                      : -(0.0 + 0.0i));
      do {
        if ((b1) != 0 || __builtin_copysign(1.0, __real__(b1)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(b1)) != -1.0)
          abort();
      } while (0);
      c1 = a1 + b1;
      do {
        if ((c1) != 0 || __builtin_copysign(1.0, __real__(c1)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(c1)) != -1.0)
          abort();
      } while (0);
      a2 = -0.0;
      b2 = (+1 == 1   ? -1 == 1 ? 0.0 + 0.0i : 0.0 - 0.0i
            : -1 == 1 ? -(0.0 - 0.0i)
                      : -(0.0 + 0.0i));
      do {
        if ((b2) != 0 || __builtin_copysign(1.0, __real__(b2)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(b2)) != -1.0)
          abort();
      } while (0);
      c2 = a2 + b2;
      do {
        if ((c2) != 0 || __builtin_copysign(1.0, __real__(c2)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(c2)) != -1.0)
          abort();
      } while (0);
    } while (0);
    do {
      double a1;
      _Complex double b1, c1;
      volatile double a2;
      volatile _Complex double b2, c2;
      a1 = -0.0;
      b1 = (-1 == 1   ? +1 == 1 ? 0.0 + 0.0i : 0.0 - 0.0i
            : +1 == 1 ? -(0.0 - 0.0i)
                      : -(0.0 + 0.0i));
      do {
        if ((b1) != 0 || __builtin_copysign(1.0, __real__(b1)) != -1.0 ||
            __builtin_copysign(1.0, __imag__(b1)) != +1.0)
          abort();
      } while (0);
      c1 = a1 + b1;
      do {
        if ((c1) != 0 || __builtin_copysign(1.0, __real__(c1)) != -1.0 ||
            __builtin_copysign(1.0, __imag__(c1)) != +1.0)
          abort();
      } while (0);
      a2 = -0.0;
      b2 = (-1 == 1   ? +1 == 1 ? 0.0 + 0.0i : 0.0 - 0.0i
            : +1 == 1 ? -(0.0 - 0.0i)
                      : -(0.0 + 0.0i));
      do {
        if ((b2) != 0 || __builtin_copysign(1.0, __real__(b2)) != -1.0 ||
            __builtin_copysign(1.0, __imag__(b2)) != +1.0)
          abort();
      } while (0);
      c2 = a2 + b2;
      do {
        if ((c2) != 0 || __builtin_copysign(1.0, __real__(c2)) != -1.0 ||
            __builtin_copysign(1.0, __imag__(c2)) != +1.0)
          abort();
      } while (0);
    } while (0);
    do {
      double a1;
      _Complex double b1, c1;
      volatile double a2;
      volatile _Complex double b2, c2;
      a1 = -0.0;
      b1 = (-1 == 1   ? -1 == 1 ? 0.0 + 0.0i : 0.0 - 0.0i
            : -1 == 1 ? -(0.0 - 0.0i)
                      : -(0.0 + 0.0i));
      do {
        if ((b1) != 0 || __builtin_copysign(1.0, __real__(b1)) != -1.0 ||
            __builtin_copysign(1.0, __imag__(b1)) != -1.0)
          abort();
      } while (0);
      c1 = a1 + b1;
      do {
        if ((c1) != 0 || __builtin_copysign(1.0, __real__(c1)) != -1.0 ||
            __builtin_copysign(1.0, __imag__(c1)) != -1.0)
          abort();
      } while (0);
      a2 = -0.0;
      b2 = (-1 == 1   ? -1 == 1 ? 0.0 + 0.0i : 0.0 - 0.0i
            : -1 == 1 ? -(0.0 - 0.0i)
                      : -(0.0 + 0.0i));
      do {
        if ((b2) != 0 || __builtin_copysign(1.0, __real__(b2)) != -1.0 ||
            __builtin_copysign(1.0, __imag__(b2)) != -1.0)
          abort();
      } while (0);
      c2 = a2 + b2;
      do {
        if ((c2) != 0 || __builtin_copysign(1.0, __real__(c2)) != -1.0 ||
            __builtin_copysign(1.0, __imag__(c2)) != -1.0)
          abort();
      } while (0);
    } while (0);
    do {
      _Complex double a1, c1;
      double b1;
      volatile _Complex double a2, c2;
      volatile double b2;
      a1 = (+1 == 1   ? +1 == 1 ? 0.0 + 0.0i : 0.0 - 0.0i
            : +1 == 1 ? -(0.0 - 0.0i)
                      : -(0.0 + 0.0i));
      do {
        if ((a1) != 0 || __builtin_copysign(1.0, __real__(a1)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(a1)) != +1.0)
          abort();
      } while (0);
      b1 = +0.0;
      c1 = a1 + b1;
      do {
        if ((c1) != 0 || __builtin_copysign(1.0, __real__(c1)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(c1)) != +1.0)
          abort();
      } while (0);
      a2 = (+1 == 1   ? +1 == 1 ? 0.0 + 0.0i : 0.0 - 0.0i
            : +1 == 1 ? -(0.0 - 0.0i)
                      : -(0.0 + 0.0i));
      do {
        if ((a2) != 0 || __builtin_copysign(1.0, __real__(a2)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(a2)) != +1.0)
          abort();
      } while (0);
      b2 = +0.0;
      c2 = a2 + b2;
      do {
        if ((c2) != 0 || __builtin_copysign(1.0, __real__(c2)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(c2)) != +1.0)
          abort();
      } while (0);
    } while (0);
    do {
      _Complex double a1, c1;
      double b1;
      volatile _Complex double a2, c2;
      volatile double b2;
      a1 = (+1 == 1   ? +1 == 1 ? 0.0 + 0.0i : 0.0 - 0.0i
            : +1 == 1 ? -(0.0 - 0.0i)
                      : -(0.0 + 0.0i));
      do {
        if ((a1) != 0 || __builtin_copysign(1.0, __real__(a1)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(a1)) != +1.0)
          abort();
      } while (0);
      b1 = -0.0;
      c1 = a1 + b1;
      do {
        if ((c1) != 0 || __builtin_copysign(1.0, __real__(c1)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(c1)) != +1.0)
          abort();
      } while (0);
      a2 = (+1 == 1   ? +1 == 1 ? 0.0 + 0.0i : 0.0 - 0.0i
            : +1 == 1 ? -(0.0 - 0.0i)
                      : -(0.0 + 0.0i));
      do {
        if ((a2) != 0 || __builtin_copysign(1.0, __real__(a2)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(a2)) != +1.0)
          abort();
      } while (0);
      b2 = -0.0;
      c2 = a2 + b2;
      do {
        if ((c2) != 0 || __builtin_copysign(1.0, __real__(c2)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(c2)) != +1.0)
          abort();
      } while (0);
    } while (0);
    do {
      _Complex double a1, c1;
      double b1;
      volatile _Complex double a2, c2;
      volatile double b2;
      a1 = (+1 == 1   ? -1 == 1 ? 0.0 + 0.0i : 0.0 - 0.0i
            : -1 == 1 ? -(0.0 - 0.0i)
                      : -(0.0 + 0.0i));
      do {
        if ((a1) != 0 || __builtin_copysign(1.0, __real__(a1)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(a1)) != -1.0)
          abort();
      } while (0);
      b1 = +0.0;
      c1 = a1 + b1;
      do {
        if ((c1) != 0 || __builtin_copysign(1.0, __real__(c1)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(c1)) != -1.0)
          abort();
      } while (0);
      a2 = (+1 == 1   ? -1 == 1 ? 0.0 + 0.0i : 0.0 - 0.0i
            : -1 == 1 ? -(0.0 - 0.0i)
                      : -(0.0 + 0.0i));
      do {
        if ((a2) != 0 || __builtin_copysign(1.0, __real__(a2)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(a2)) != -1.0)
          abort();
      } while (0);
      b2 = +0.0;
      c2 = a2 + b2;
      do {
        if ((c2) != 0 || __builtin_copysign(1.0, __real__(c2)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(c2)) != -1.0)
          abort();
      } while (0);
    } while (0);
    do {
      _Complex double a1, c1;
      double b1;
      volatile _Complex double a2, c2;
      volatile double b2;
      a1 = (+1 == 1   ? -1 == 1 ? 0.0 + 0.0i : 0.0 - 0.0i
            : -1 == 1 ? -(0.0 - 0.0i)
                      : -(0.0 + 0.0i));
      do {
        if ((a1) != 0 || __builtin_copysign(1.0, __real__(a1)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(a1)) != -1.0)
          abort();
      } while (0);
      b1 = -0.0;
      c1 = a1 + b1;
      do {
        if ((c1) != 0 || __builtin_copysign(1.0, __real__(c1)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(c1)) != -1.0)
          abort();
      } while (0);
      a2 = (+1 == 1   ? -1 == 1 ? 0.0 + 0.0i : 0.0 - 0.0i
            : -1 == 1 ? -(0.0 - 0.0i)
                      : -(0.0 + 0.0i));
      do {
        if ((a2) != 0 || __builtin_copysign(1.0, __real__(a2)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(a2)) != -1.0)
          abort();
      } while (0);
      b2 = -0.0;
      c2 = a2 + b2;
      do {
        if ((c2) != 0 || __builtin_copysign(1.0, __real__(c2)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(c2)) != -1.0)
          abort();
      } while (0);
    } while (0);
    do {
      _Complex double a1, c1;
      double b1;
      volatile _Complex double a2, c2;
      volatile double b2;
      a1 = (-1 == 1   ? +1 == 1 ? 0.0 + 0.0i : 0.0 - 0.0i
            : +1 == 1 ? -(0.0 - 0.0i)
                      : -(0.0 + 0.0i));
      do {
        if ((a1) != 0 || __builtin_copysign(1.0, __real__(a1)) != -1.0 ||
            __builtin_copysign(1.0, __imag__(a1)) != +1.0)
          abort();
      } while (0);
      b1 = +0.0;
      c1 = a1 + b1;
      do {
        if ((c1) != 0 || __builtin_copysign(1.0, __real__(c1)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(c1)) != +1.0)
          abort();
      } while (0);
      a2 = (-1 == 1   ? +1 == 1 ? 0.0 + 0.0i : 0.0 - 0.0i
            : +1 == 1 ? -(0.0 - 0.0i)
                      : -(0.0 + 0.0i));
      do {
        if ((a2) != 0 || __builtin_copysign(1.0, __real__(a2)) != -1.0 ||
            __builtin_copysign(1.0, __imag__(a2)) != +1.0)
          abort();
      } while (0);
      b2 = +0.0;
      c2 = a2 + b2;
      do {
        if ((c2) != 0 || __builtin_copysign(1.0, __real__(c2)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(c2)) != +1.0)
          abort();
      } while (0);
    } while (0);
    do {
      _Complex double a1, c1;
      double b1;
      volatile _Complex double a2, c2;
      volatile double b2;
      a1 = (-1 == 1   ? +1 == 1 ? 0.0 + 0.0i : 0.0 - 0.0i
            : +1 == 1 ? -(0.0 - 0.0i)
                      : -(0.0 + 0.0i));
      do {
        if ((a1) != 0 || __builtin_copysign(1.0, __real__(a1)) != -1.0 ||
            __builtin_copysign(1.0, __imag__(a1)) != +1.0)
          abort();
      } while (0);
      b1 = -0.0;
      c1 = a1 + b1;
      do {
        if ((c1) != 0 || __builtin_copysign(1.0, __real__(c1)) != -1.0 ||
            __builtin_copysign(1.0, __imag__(c1)) != +1.0)
          abort();
      } while (0);
      a2 = (-1 == 1   ? +1 == 1 ? 0.0 + 0.0i : 0.0 - 0.0i
            : +1 == 1 ? -(0.0 - 0.0i)
                      : -(0.0 + 0.0i));
      do {
        if ((a2) != 0 || __builtin_copysign(1.0, __real__(a2)) != -1.0 ||
            __builtin_copysign(1.0, __imag__(a2)) != +1.0)
          abort();
      } while (0);
      b2 = -0.0;
      c2 = a2 + b2;
      do {
        if ((c2) != 0 || __builtin_copysign(1.0, __real__(c2)) != -1.0 ||
            __builtin_copysign(1.0, __imag__(c2)) != +1.0)
          abort();
      } while (0);
    } while (0);
    do {
      _Complex double a1, c1;
      double b1;
      volatile _Complex double a2, c2;
      volatile double b2;
      a1 = (-1 == 1   ? -1 == 1 ? 0.0 + 0.0i : 0.0 - 0.0i
            : -1 == 1 ? -(0.0 - 0.0i)
                      : -(0.0 + 0.0i));
      do {
        if ((a1) != 0 || __builtin_copysign(1.0, __real__(a1)) != -1.0 ||
            __builtin_copysign(1.0, __imag__(a1)) != -1.0)
          abort();
      } while (0);
      b1 = +0.0;
      c1 = a1 + b1;
      do {
        if ((c1) != 0 || __builtin_copysign(1.0, __real__(c1)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(c1)) != -1.0)
          abort();
      } while (0);
      a2 = (-1 == 1   ? -1 == 1 ? 0.0 + 0.0i : 0.0 - 0.0i
            : -1 == 1 ? -(0.0 - 0.0i)
                      : -(0.0 + 0.0i));
      do {
        if ((a2) != 0 || __builtin_copysign(1.0, __real__(a2)) != -1.0 ||
            __builtin_copysign(1.0, __imag__(a2)) != -1.0)
          abort();
      } while (0);
      b2 = +0.0;
      c2 = a2 + b2;
      do {
        if ((c2) != 0 || __builtin_copysign(1.0, __real__(c2)) != +1.0 ||
            __builtin_copysign(1.0, __imag__(c2)) != -1.0)
          abort();
      } while (0);
    } while (0);
    do {
      _Complex double a1, c1;
      double b1;
      volatile _Complex double a2, c2;
      volatile double b2;
      a1 = (-1 == 1   ? -1 == 1 ? 0.0 + 0.0i : 0.0 - 0.0i
            : -1 == 1 ? -(0.0 - 0.0i)
                      : -(0.0 + 0.0i));
      do {
        if ((a1) != 0 || __builtin_copysign(1.0, __real__(a1)) != -1.0 ||
            __builtin_copysign(1.0, __imag__(a1)) != -1.0)
          abort();
      } while (0);
      b1 = -0.0;
      c1 = a1 + b1;
      do {
        if ((c1) != 0 || __builtin_copysign(1.0, __real__(c1)) != -1.0 ||
            __builtin_copysign(1.0, __imag__(c1)) != -1.0)
          abort();
      } while (0);
      a2 = (-1 == 1   ? -1 == 1 ? 0.0 + 0.0i : 0.0 - 0.0i
            : -1 == 1 ? -(0.0 - 0.0i)
                      : -(0.0 + 0.0i));
      do {
        if ((a2) != 0 || __builtin_copysign(1.0, __real__(a2)) != -1.0 ||
            __builtin_copysign(1.0, __imag__(a2)) != -1.0)
          abort();
      } while (0);
      b2 = -0.0;
      c2 = a2 + b2;
      do {
        if ((c2) != 0 || __builtin_copysign(1.0, __real__(c2)) != -1.0 ||
            __builtin_copysign(1.0, __imag__(c2)) != -1.0)
          abort();
      } while (0);
    } while (0);
  } while (0);
}


x86 assembly (clang, -O0):
<check_add_double>:
push   %rbp
mov    %rsp,%rbp
sub    $0xb00,%rsp
jmp    1120 <check_add_double+0x10>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x8(%rbp)
mov    $0x1,%al
test   $0x1,%al
jne    1137 <check_add_double+0x27>
jmp    11a6 <check_add_double+0x96>
mov    $0x1,%al
test   $0x1,%al
jne    1146 <check_add_double+0x36>
jmp    1161 <check_add_double+0x51>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x510(%rbp)
ff
movsd  %xmm0,-0x508(%rbp)
ff
jmp    1181 <check_add_double+0x71>
xorps  %xmm1,%xmm1
movsd  0x5e94(%rip),%xmm0
movsd  %xmm1,-0x510(%rbp)
ff
movsd  %xmm0,-0x508(%rbp)
ff
jmp    1181 <check_add_double+0x71>
movsd  -0x510(%rbp),%xmm1
ff
movsd  -0x508(%rbp),%xmm0
ff
movsd  %xmm1,-0x520(%rbp)
ff
movsd  %xmm0,-0x518(%rbp)
ff
jmp    1215 <check_add_double+0x105>
mov    $0x1,%al
test   $0x1,%al
jne    11b5 <check_add_double+0xa5>
jmp    11d5 <check_add_double+0xc5>
movsd  0x5e43(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x530(%rbp)
ff
movsd  %xmm0,-0x528(%rbp)
ff
jmp    11f5 <check_add_double+0xe5>
movsd  0x5e23(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x530(%rbp)
ff
movsd  %xmm0,-0x528(%rbp)
ff
jmp    11f5 <check_add_double+0xe5>
movsd  -0x530(%rbp),%xmm1
ff
movsd  -0x528(%rbp),%xmm0
ff
movsd  %xmm1,-0x520(%rbp)
ff
movsd  %xmm0,-0x518(%rbp)
ff
movsd  -0x520(%rbp),%xmm1
ff
movsd  -0x518(%rbp),%xmm0
ff
movsd  %xmm1,-0x18(%rbp)
movsd  %xmm0,-0x10(%rbp)
movsd  -0x18(%rbp),%xmm1
movsd  -0x10(%rbp),%xmm0
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    12cc <check_add_double+0x1bc>
movsd  -0x18(%rbp),%xmm0
movaps 0x5db3(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x5db8(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x5d84(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    12cc <check_add_double+0x1bc>
jp     12cc <check_add_double+0x1bc>
movsd  -0x10(%rbp),%xmm0
movaps 0x5d80(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x5d85(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x5d51(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    12cc <check_add_double+0x1bc>
jp     12cc <check_add_double+0x1bc>
jmp    12d1 <check_add_double+0x1c1>
call   1030 <abort@plt>
jmp    12d6 <check_add_double+0x1c6>
movsd  -0x8(%rbp),%xmm1
movsd  -0x18(%rbp),%xmm2
movsd  -0x10(%rbp),%xmm0
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x28(%rbp)
movsd  %xmm0,-0x20(%rbp)
movsd  -0x28(%rbp),%xmm1
movsd  -0x20(%rbp),%xmm0
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    1390 <check_add_double+0x280>
movsd  -0x28(%rbp),%xmm0
movaps 0x5cef(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x5cf4(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x5cc0(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1390 <check_add_double+0x280>
jp     1390 <check_add_double+0x280>
movsd  -0x20(%rbp),%xmm0
movaps 0x5cbc(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x5cc1(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x5c8d(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1390 <check_add_double+0x280>
jp     1390 <check_add_double+0x280>
jmp    1395 <check_add_double+0x285>
call   1030 <abort@plt>
jmp    139a <check_add_double+0x28a>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x30(%rbp)
mov    $0x1,%al
test   $0x1,%al
jne    13b1 <check_add_double+0x2a1>
jmp    1420 <check_add_double+0x310>
mov    $0x1,%al
test   $0x1,%al
jne    13c0 <check_add_double+0x2b0>
jmp    13db <check_add_double+0x2cb>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x540(%rbp)
ff
movsd  %xmm0,-0x538(%rbp)
ff
jmp    13fb <check_add_double+0x2eb>
xorps  %xmm1,%xmm1
movsd  0x5c1a(%rip),%xmm0
movsd  %xmm1,-0x540(%rbp)
ff
movsd  %xmm0,-0x538(%rbp)
ff
jmp    13fb <check_add_double+0x2eb>
movsd  -0x540(%rbp),%xmm1
ff
movsd  -0x538(%rbp),%xmm0
ff
movsd  %xmm1,-0x550(%rbp)
ff
movsd  %xmm0,-0x548(%rbp)
ff
jmp    148f <check_add_double+0x37f>
mov    $0x1,%al
test   $0x1,%al
jne    142f <check_add_double+0x31f>
jmp    144f <check_add_double+0x33f>
movsd  0x5bc9(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x560(%rbp)
ff
movsd  %xmm0,-0x558(%rbp)
ff
jmp    146f <check_add_double+0x35f>
movsd  0x5ba9(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x560(%rbp)
ff
movsd  %xmm0,-0x558(%rbp)
ff
jmp    146f <check_add_double+0x35f>
movsd  -0x560(%rbp),%xmm1
ff
movsd  -0x558(%rbp),%xmm0
ff
movsd  %xmm1,-0x550(%rbp)
ff
movsd  %xmm0,-0x548(%rbp)
ff
movsd  -0x550(%rbp),%xmm1
ff
movsd  -0x548(%rbp),%xmm0
ff
movsd  %xmm1,-0x40(%rbp)
movsd  %xmm0,-0x38(%rbp)
movsd  -0x40(%rbp),%xmm1
movsd  -0x38(%rbp),%xmm0
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    1546 <check_add_double+0x436>
movsd  -0x40(%rbp),%xmm0
movaps 0x5b39(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x5b3e(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x5b0a(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1546 <check_add_double+0x436>
jp     1546 <check_add_double+0x436>
movsd  -0x38(%rbp),%xmm0
movaps 0x5b06(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x5b0b(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x5ad7(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1546 <check_add_double+0x436>
jp     1546 <check_add_double+0x436>
jmp    154b <check_add_double+0x43b>
call   1030 <abort@plt>
jmp    1550 <check_add_double+0x440>
movsd  -0x30(%rbp),%xmm1
movsd  -0x40(%rbp),%xmm2
movsd  -0x38(%rbp),%xmm0
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x50(%rbp)
movsd  %xmm0,-0x48(%rbp)
movsd  -0x50(%rbp),%xmm1
movsd  -0x48(%rbp),%xmm0
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    160a <check_add_double+0x4fa>
movsd  -0x50(%rbp),%xmm0
movaps 0x5a75(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x5a7a(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x5a46(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    160a <check_add_double+0x4fa>
jp     160a <check_add_double+0x4fa>
movsd  -0x48(%rbp),%xmm0
movaps 0x5a42(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x5a47(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x5a13(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    160a <check_add_double+0x4fa>
jp     160a <check_add_double+0x4fa>
jmp    160f <check_add_double+0x4ff>
call   1030 <abort@plt>
jmp    1614 <check_add_double+0x504>
jmp    1619 <check_add_double+0x509>
jmp    161e <check_add_double+0x50e>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x58(%rbp)
mov    $0x1,%al
test   $0x1,%al
jne    1635 <check_add_double+0x525>
jmp    16a4 <check_add_double+0x594>
xor    %eax,%eax
test   $0x1,%al
jne    1644 <check_add_double+0x534>
jmp    165f <check_add_double+0x54f>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x570(%rbp)
ff
movsd  %xmm0,-0x568(%rbp)
ff
jmp    167f <check_add_double+0x56f>
xorps  %xmm1,%xmm1
movsd  0x5996(%rip),%xmm0
movsd  %xmm1,-0x570(%rbp)
ff
movsd  %xmm0,-0x568(%rbp)
ff
jmp    167f <check_add_double+0x56f>
movsd  -0x570(%rbp),%xmm1
ff
movsd  -0x568(%rbp),%xmm0
ff
movsd  %xmm1,-0x580(%rbp)
ff
movsd  %xmm0,-0x578(%rbp)
ff
jmp    1713 <check_add_double+0x603>
xor    %eax,%eax
test   $0x1,%al
jne    16b3 <check_add_double+0x5a3>
jmp    16d3 <check_add_double+0x5c3>
movsd  0x5945(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x590(%rbp)
ff
movsd  %xmm0,-0x588(%rbp)
ff
jmp    16f3 <check_add_double+0x5e3>
movsd  0x5925(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x590(%rbp)
ff
movsd  %xmm0,-0x588(%rbp)
ff
jmp    16f3 <check_add_double+0x5e3>
movsd  -0x590(%rbp),%xmm1
ff
movsd  -0x588(%rbp),%xmm0
ff
movsd  %xmm1,-0x580(%rbp)
ff
movsd  %xmm0,-0x578(%rbp)
ff
movsd  -0x580(%rbp),%xmm1
ff
movsd  -0x578(%rbp),%xmm0
ff
movsd  %xmm1,-0x68(%rbp)
movsd  %xmm0,-0x60(%rbp)
movsd  -0x68(%rbp),%xmm1
movsd  -0x60(%rbp),%xmm0
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    17ca <check_add_double+0x6ba>
movsd  -0x68(%rbp),%xmm0
movaps 0x58b5(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x58ba(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x5886(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    17ca <check_add_double+0x6ba>
jp     17ca <check_add_double+0x6ba>
movsd  -0x60(%rbp),%xmm0
movaps 0x5882(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x5887(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x585b(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    17ca <check_add_double+0x6ba>
jp     17ca <check_add_double+0x6ba>
jmp    17cf <check_add_double+0x6bf>
call   1030 <abort@plt>
jmp    17d4 <check_add_double+0x6c4>
movsd  -0x58(%rbp),%xmm1
movsd  -0x68(%rbp),%xmm2
movsd  -0x60(%rbp),%xmm0
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x78(%rbp)
movsd  %xmm0,-0x70(%rbp)
movsd  -0x78(%rbp),%xmm1
movsd  -0x70(%rbp),%xmm0
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    188e <check_add_double+0x77e>
movsd  -0x78(%rbp),%xmm0
movaps 0x57f1(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x57f6(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x57c2(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    188e <check_add_double+0x77e>
jp     188e <check_add_double+0x77e>
movsd  -0x70(%rbp),%xmm0
movaps 0x57be(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x57c3(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x5797(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    188e <check_add_double+0x77e>
jp     188e <check_add_double+0x77e>
jmp    1893 <check_add_double+0x783>
call   1030 <abort@plt>
jmp    1898 <check_add_double+0x788>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x80(%rbp)
mov    $0x1,%al
test   $0x1,%al
jne    18af <check_add_double+0x79f>
jmp    191e <check_add_double+0x80e>
xor    %eax,%eax
test   $0x1,%al
jne    18be <check_add_double+0x7ae>
jmp    18d9 <check_add_double+0x7c9>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x5a0(%rbp)
ff
movsd  %xmm0,-0x598(%rbp)
ff
jmp    18f9 <check_add_double+0x7e9>
xorps  %xmm1,%xmm1
movsd  0x571c(%rip),%xmm0
movsd  %xmm1,-0x5a0(%rbp)
ff
movsd  %xmm0,-0x598(%rbp)
ff
jmp    18f9 <check_add_double+0x7e9>
movsd  -0x5a0(%rbp),%xmm1
movsd  -0x598(%rbp),%xmm0
ff
movsd  %xmm1,-0x5b0(%rbp)
ff
movsd  %xmm0,-0x5a8(%rbp)
ff
jmp    198d <check_add_double+0x87d>
xor    %eax,%eax
test   $0x1,%al
jne    192d <check_add_double+0x81d>
jmp    194d <check_add_double+0x83d>
movsd  0x56cb(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x5c0(%rbp)
ff
movsd  %xmm0,-0x5b8(%rbp)
ff
jmp    196d <check_add_double+0x85d>
movsd  0x56ab(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x5c0(%rbp)
ff
movsd  %xmm0,-0x5b8(%rbp)
ff
jmp    196d <check_add_double+0x85d>
movsd  -0x5c0(%rbp),%xmm1
ff
movsd  -0x5b8(%rbp),%xmm0
ff
movsd  %xmm1,-0x5b0(%rbp)
ff
movsd  %xmm0,-0x5a8(%rbp)
ff
movsd  -0x5b0(%rbp),%xmm1
ff
movsd  -0x5a8(%rbp),%xmm0
ff
movsd  %xmm1,-0x90(%rbp)
ff
movsd  %xmm0,-0x88(%rbp)
ff
movsd  -0x90(%rbp),%xmm1
ff
movsd  -0x88(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    1a56 <check_add_double+0x946>
movsd  -0x90(%rbp),%xmm0
ff
movaps 0x562c(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x5631(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x55fd(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1a56 <check_add_double+0x946>
jp     1a56 <check_add_double+0x946>
movsd  -0x88(%rbp),%xmm0
ff
movaps 0x55f6(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x55fb(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x55cf(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1a56 <check_add_double+0x946>
jp     1a56 <check_add_double+0x946>
jmp    1a5b <check_add_double+0x94b>
call   1030 <abort@plt>
jmp    1a60 <check_add_double+0x950>
movsd  -0x80(%rbp),%xmm1
movsd  -0x90(%rbp),%xmm2
ff
movsd  -0x88(%rbp),%xmm0
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0xa0(%rbp)
ff
movsd  %xmm0,-0x98(%rbp)
ff
movsd  -0xa0(%rbp),%xmm1
ff
movsd  -0x98(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    1b32 <check_add_double+0xa22>
movsd  -0xa0(%rbp),%xmm0
ff
movaps 0x5550(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x5555(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x5521(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1b32 <check_add_double+0xa22>
jp     1b32 <check_add_double+0xa22>
movsd  -0x98(%rbp),%xmm0
ff
movaps 0x551a(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x551f(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x54f3(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1b32 <check_add_double+0xa22>
jp     1b32 <check_add_double+0xa22>
jmp    1b37 <check_add_double+0xa27>
call   1030 <abort@plt>
jmp    1b3c <check_add_double+0xa2c>
jmp    1b41 <check_add_double+0xa31>
jmp    1b46 <check_add_double+0xa36>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xa8(%rbp)
ff
xor    %eax,%eax
test   $0x1,%al
jne    1b60 <check_add_double+0xa50>
jmp    1bcf <check_add_double+0xabf>
mov    $0x1,%al
test   $0x1,%al
jne    1b6f <check_add_double+0xa5f>
jmp    1b8a <check_add_double+0xa7a>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x5d0(%rbp)
ff
movsd  %xmm0,-0x5c8(%rbp)
ff
jmp    1baa <check_add_double+0xa9a>
xorps  %xmm1,%xmm1
movsd  0x546b(%rip),%xmm0
movsd  %xmm1,-0x5d0(%rbp)
ff
movsd  %xmm0,-0x5c8(%rbp)
ff
jmp    1baa <check_add_double+0xa9a>
movsd  -0x5d0(%rbp),%xmm1
ff
movsd  -0x5c8(%rbp),%xmm0
ff
movsd  %xmm1,-0x5e0(%rbp)
ff
movsd  %xmm0,-0x5d8(%rbp)
ff
jmp    1c3e <check_add_double+0xb2e>
mov    $0x1,%al
test   $0x1,%al
jne    1bde <check_add_double+0xace>
jmp    1bfe <check_add_double+0xaee>
movsd  0x541a(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x5f0(%rbp)
ff
movsd  %xmm0,-0x5e8(%rbp)
ff
jmp    1c1e <check_add_double+0xb0e>
movsd  0x53fa(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x5f0(%rbp)
ff
movsd  %xmm0,-0x5e8(%rbp)
ff
jmp    1c1e <check_add_double+0xb0e>
movsd  -0x5f0(%rbp),%xmm1
ff
movsd  -0x5e8(%rbp),%xmm0
ff
movsd  %xmm1,-0x5e0(%rbp)
ff
movsd  %xmm0,-0x5d8(%rbp)
ff
movsd  -0x5e0(%rbp),%xmm1
ff
movsd  -0x5d8(%rbp),%xmm0
ff
movsd  %xmm1,-0xb8(%rbp)
ff
movsd  %xmm0,-0xb0(%rbp)
ff
movsd  -0xb8(%rbp),%xmm1
ff
movsd  -0xb0(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    1d07 <check_add_double+0xbf7>
movsd  -0xb8(%rbp),%xmm0
ff
movaps 0x537b(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x5380(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x5354(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1d07 <check_add_double+0xbf7>
jp     1d07 <check_add_double+0xbf7>
movsd  -0xb0(%rbp),%xmm0
ff
movaps 0x5345(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x534a(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x5316(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1d07 <check_add_double+0xbf7>
jp     1d07 <check_add_double+0xbf7>
jmp    1d0c <check_add_double+0xbfc>
call   1030 <abort@plt>
jmp    1d11 <check_add_double+0xc01>
movsd  -0xa8(%rbp),%xmm1
ff
movsd  -0xb8(%rbp),%xmm2
ff
movsd  -0xb0(%rbp),%xmm0
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0xc8(%rbp)
ff
movsd  %xmm0,-0xc0(%rbp)
ff
movsd  -0xc8(%rbp),%xmm1
ff
movsd  -0xc0(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    1de6 <check_add_double+0xcd6>
movsd  -0xc8(%rbp),%xmm0
ff
movaps 0x529c(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x52a1(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x526d(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1de6 <check_add_double+0xcd6>
jp     1de6 <check_add_double+0xcd6>
movsd  -0xc0(%rbp),%xmm0
ff
movaps 0x5266(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x526b(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x5237(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1de6 <check_add_double+0xcd6>
jp     1de6 <check_add_double+0xcd6>
jmp    1deb <check_add_double+0xcdb>
call   1030 <abort@plt>
jmp    1df0 <check_add_double+0xce0>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xd0(%rbp)
ff
xor    %eax,%eax
test   $0x1,%al
jne    1e0a <check_add_double+0xcfa>
jmp    1e79 <check_add_double+0xd69>
mov    $0x1,%al
test   $0x1,%al
jne    1e19 <check_add_double+0xd09>
jmp    1e34 <check_add_double+0xd24>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x600(%rbp)
ff
movsd  %xmm0,-0x5f8(%rbp)
ff
jmp    1e54 <check_add_double+0xd44>
xorps  %xmm1,%xmm1
movsd  0x51c1(%rip),%xmm0
movsd  %xmm1,-0x600(%rbp)
ff
movsd  %xmm0,-0x5f8(%rbp)
ff
jmp    1e54 <check_add_double+0xd44>
movsd  -0x600(%rbp),%xmm1
ff
movsd  -0x5f8(%rbp),%xmm0
ff
movsd  %xmm1,-0x610(%rbp)
ff
movsd  %xmm0,-0x608(%rbp)
ff
jmp    1ee8 <check_add_double+0xdd8>
mov    $0x1,%al
test   $0x1,%al
jne    1e88 <check_add_double+0xd78>
jmp    1ea8 <check_add_double+0xd98>
movsd  0x5170(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x620(%rbp)
ff
movsd  %xmm0,-0x618(%rbp)
ff
jmp    1ec8 <check_add_double+0xdb8>
movsd  0x5150(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x620(%rbp)
ff
movsd  %xmm0,-0x618(%rbp)
ff
jmp    1ec8 <check_add_double+0xdb8>
movsd  -0x620(%rbp),%xmm1
ff
movsd  -0x618(%rbp),%xmm0
ff
movsd  %xmm1,-0x610(%rbp)
ff
movsd  %xmm0,-0x608(%rbp)
ff
movsd  -0x610(%rbp),%xmm1
ff
movsd  -0x608(%rbp),%xmm0
ff
movsd  %xmm1,-0xe0(%rbp)
ff
movsd  %xmm0,-0xd8(%rbp)
ff
movsd  -0xe0(%rbp),%xmm1
ff
movsd  -0xd8(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    1fb1 <check_add_double+0xea1>
movsd  -0xe0(%rbp),%xmm0
ff
movaps 0x50d1(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x50d6(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x50aa(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1fb1 <check_add_double+0xea1>
jp     1fb1 <check_add_double+0xea1>
movsd  -0xd8(%rbp),%xmm0
ff
movaps 0x509b(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x50a0(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x506c(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1fb1 <check_add_double+0xea1>
jp     1fb1 <check_add_double+0xea1>
jmp    1fb6 <check_add_double+0xea6>
call   1030 <abort@plt>
jmp    1fbb <check_add_double+0xeab>
movsd  -0xd0(%rbp),%xmm1
ff
movsd  -0xe0(%rbp),%xmm2
ff
movsd  -0xd8(%rbp),%xmm0
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0xf0(%rbp)
ff
movsd  %xmm0,-0xe8(%rbp)
ff
movsd  -0xf0(%rbp),%xmm1
ff
movsd  -0xe8(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    2090 <check_add_double+0xf80>
movsd  -0xf0(%rbp),%xmm0
ff
movaps 0x4ff2(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4ff7(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x4fc3(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2090 <check_add_double+0xf80>
jp     2090 <check_add_double+0xf80>
movsd  -0xe8(%rbp),%xmm0
ff
movaps 0x4fbc(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4fc1(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x4f8d(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2090 <check_add_double+0xf80>
jp     2090 <check_add_double+0xf80>
jmp    2095 <check_add_double+0xf85>
call   1030 <abort@plt>
jmp    209a <check_add_double+0xf8a>
jmp    209f <check_add_double+0xf8f>
jmp    20a4 <check_add_double+0xf94>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0xf8(%rbp)
ff
xor    %eax,%eax
test   $0x1,%al
jne    20be <check_add_double+0xfae>
jmp    212d <check_add_double+0x101d>
xor    %eax,%eax
test   $0x1,%al
jne    20cd <check_add_double+0xfbd>
jmp    20e8 <check_add_double+0xfd8>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x630(%rbp)
ff
movsd  %xmm0,-0x628(%rbp)
ff
jmp    2108 <check_add_double+0xff8>
xorps  %xmm1,%xmm1
movsd  0x4f0d(%rip),%xmm0
movsd  %xmm1,-0x630(%rbp)
ff
movsd  %xmm0,-0x628(%rbp)
ff
jmp    2108 <check_add_double+0xff8>
movsd  -0x630(%rbp),%xmm1
ff
movsd  -0x628(%rbp),%xmm0
ff
movsd  %xmm1,-0x640(%rbp)
ff
movsd  %xmm0,-0x638(%rbp)
ff
jmp    219c <check_add_double+0x108c>
xor    %eax,%eax
test   $0x1,%al
jne    213c <check_add_double+0x102c>
jmp    215c <check_add_double+0x104c>
movsd  0x4ebc(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x650(%rbp)
ff
movsd  %xmm0,-0x648(%rbp)
ff
jmp    217c <check_add_double+0x106c>
movsd  0x4e9c(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x650(%rbp)
ff
movsd  %xmm0,-0x648(%rbp)
ff
jmp    217c <check_add_double+0x106c>
movsd  -0x650(%rbp),%xmm1
ff
movsd  -0x648(%rbp),%xmm0
ff
movsd  %xmm1,-0x640(%rbp)
ff
movsd  %xmm0,-0x638(%rbp)
ff
movsd  -0x640(%rbp),%xmm1
ff
movsd  -0x638(%rbp),%xmm0
ff
movsd  %xmm1,-0x108(%rbp)
ff
movsd  %xmm0,-0x100(%rbp)
ff
movsd  -0x108(%rbp),%xmm1
ff
movsd  -0x100(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    2265 <check_add_double+0x1155>
movsd  -0x108(%rbp),%xmm0
ff
movaps 0x4e1d(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4e22(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x4df6(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2265 <check_add_double+0x1155>
jp     2265 <check_add_double+0x1155>
movsd  -0x100(%rbp),%xmm0
ff
movaps 0x4de7(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4dec(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x4dc0(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2265 <check_add_double+0x1155>
jp     2265 <check_add_double+0x1155>
jmp    226a <check_add_double+0x115a>
call   1030 <abort@plt>
jmp    226f <check_add_double+0x115f>
movsd  -0xf8(%rbp),%xmm1
ff
movsd  -0x108(%rbp),%xmm2
ff
movsd  -0x100(%rbp),%xmm0
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x118(%rbp)
ff
movsd  %xmm0,-0x110(%rbp)
ff
movsd  -0x118(%rbp),%xmm1
ff
movsd  -0x110(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    2344 <check_add_double+0x1234>
movsd  -0x118(%rbp),%xmm0
ff
movaps 0x4d3e(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4d43(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x4d0f(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2344 <check_add_double+0x1234>
jp     2344 <check_add_double+0x1234>
movsd  -0x110(%rbp),%xmm0
ff
movaps 0x4d08(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4d0d(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x4ce1(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2344 <check_add_double+0x1234>
jp     2344 <check_add_double+0x1234>
jmp    2349 <check_add_double+0x1239>
call   1030 <abort@plt>
jmp    234e <check_add_double+0x123e>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x120(%rbp)
ff
xor    %eax,%eax
test   $0x1,%al
jne    2368 <check_add_double+0x1258>
jmp    23d7 <check_add_double+0x12c7>
xor    %eax,%eax
test   $0x1,%al
jne    2377 <check_add_double+0x1267>
jmp    2392 <check_add_double+0x1282>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x660(%rbp)
ff
movsd  %xmm0,-0x658(%rbp)
ff
jmp    23b2 <check_add_double+0x12a2>
xorps  %xmm1,%xmm1
movsd  0x4c63(%rip),%xmm0
movsd  %xmm1,-0x660(%rbp)
ff
movsd  %xmm0,-0x658(%rbp)
ff
jmp    23b2 <check_add_double+0x12a2>
movsd  -0x660(%rbp),%xmm1
ff
movsd  -0x658(%rbp),%xmm0
ff
movsd  %xmm1,-0x670(%rbp)
ff
movsd  %xmm0,-0x668(%rbp)
ff
jmp    2446 <check_add_double+0x1336>
xor    %eax,%eax
test   $0x1,%al
jne    23e6 <check_add_double+0x12d6>
jmp    2406 <check_add_double+0x12f6>
movsd  0x4c12(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x680(%rbp)
ff
movsd  %xmm0,-0x678(%rbp)
jmp    2426 <check_add_double+0x1316>
movsd  0x4bf2(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x680(%rbp)
ff
movsd  %xmm0,-0x678(%rbp)
ff
jmp    2426 <check_add_double+0x1316>
movsd  -0x680(%rbp),%xmm1
ff
movsd  -0x678(%rbp),%xmm0
ff
movsd  %xmm1,-0x670(%rbp)
ff
movsd  %xmm0,-0x668(%rbp)
ff
movsd  -0x670(%rbp),%xmm1
ff
movsd  -0x668(%rbp),%xmm0
ff
movsd  %xmm1,-0x130(%rbp)
ff
movsd  %xmm0,-0x128(%rbp)
ff
movsd  -0x130(%rbp),%xmm1
ff
movsd  -0x128(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    250f <check_add_double+0x13ff>
movsd  -0x130(%rbp),%xmm0
ff
movaps 0x4b73(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4b78(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x4b4c(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    250f <check_add_double+0x13ff>
jp     250f <check_add_double+0x13ff>
movsd  -0x128(%rbp),%xmm0
ff
movaps 0x4b3d(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4b42(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x4b16(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    250f <check_add_double+0x13ff>
jp     250f <check_add_double+0x13ff>
jmp    2514 <check_add_double+0x1404>
call   1030 <abort@plt>
jmp    2519 <check_add_double+0x1409>
movsd  -0x120(%rbp),%xmm1
ff
movsd  -0x130(%rbp),%xmm2
ff
movsd  -0x128(%rbp),%xmm0
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x140(%rbp)
ff
movsd  %xmm0,-0x138(%rbp)
ff
movsd  -0x140(%rbp),%xmm1
ff
movsd  -0x138(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    25ee <check_add_double+0x14de>
movsd  -0x140(%rbp),%xmm0
ff
movaps 0x4a94(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4a99(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x4a65(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    25ee <check_add_double+0x14de>
jp     25ee <check_add_double+0x14de>
movsd  -0x138(%rbp),%xmm0
ff
movaps 0x4a5e(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4a63(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x4a37(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    25ee <check_add_double+0x14de>
jp     25ee <check_add_double+0x14de>
jmp    25f3 <check_add_double+0x14e3>
call   1030 <abort@plt>
jmp    25f8 <check_add_double+0x14e8>
jmp    25fd <check_add_double+0x14ed>
jmp    2602 <check_add_double+0x14f2>
movsd  0x49f6(%rip),%xmm0
movsd  %xmm0,-0x148(%rbp)
ff
mov    $0x1,%al
test   $0x1,%al
jne    2621 <check_add_double+0x1511>
jmp    2690 <check_add_double+0x1580>
mov    $0x1,%al
test   $0x1,%al
jne    2630 <check_add_double+0x1520>
jmp    264b <check_add_double+0x153b>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x690(%rbp)
ff
movsd  %xmm0,-0x688(%rbp)
ff
jmp    266b <check_add_double+0x155b>
xorps  %xmm1,%xmm1
movsd  0x49aa(%rip),%xmm0
movsd  %xmm1,-0x690(%rbp)
ff
movsd  %xmm0,-0x688(%rbp)
ff
jmp    266b <check_add_double+0x155b>
movsd  -0x690(%rbp),%xmm1
ff
movsd  -0x688(%rbp),%xmm0
ff
movsd  %xmm1,-0x6a0(%rbp)
ff
movsd  %xmm0,-0x698(%rbp)
ff
jmp    26ff <check_add_double+0x15ef>
mov    $0x1,%al
test   $0x1,%al
jne    269f <check_add_double+0x158f>
jmp    26bf <check_add_double+0x15af>
movsd  0x4959(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x6b0(%rbp)
ff
movsd  %xmm0,-0x6a8(%rbp)
ff
jmp    26df <check_add_double+0x15cf>
movsd  0x4939(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x6b0(%rbp)
ff
movsd  %xmm0,-0x6a8(%rbp)
ff
jmp    26df <check_add_double+0x15cf>
movsd  -0x6b0(%rbp),%xmm1
ff
movsd  -0x6a8(%rbp),%xmm0
ff
movsd  %xmm1,-0x6a0(%rbp)
ff
movsd  %xmm0,-0x698(%rbp)
ff
movsd  -0x6a0(%rbp),%xmm1
ff
movsd  -0x698(%rbp),%xmm0
ff
movsd  %xmm1,-0x158(%rbp)
ff
movsd  %xmm0,-0x150(%rbp)
ff
movsd  -0x158(%rbp),%xmm1
ff
movsd  -0x150(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    27c8 <check_add_double+0x16b8>
movsd  -0x158(%rbp),%xmm0
ff
movaps 0x48ba(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x48bf(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x488b(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    27c8 <check_add_double+0x16b8>
jp     27c8 <check_add_double+0x16b8>
movsd  -0x150(%rbp),%xmm0
ff
movaps 0x4884(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4889(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x4855(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    27c8 <check_add_double+0x16b8>
jp     27c8 <check_add_double+0x16b8>
jmp    27cd <check_add_double+0x16bd>
call   1030 <abort@plt>
jmp    27d2 <check_add_double+0x16c2>
movsd  -0x148(%rbp),%xmm1
ff
movsd  -0x158(%rbp),%xmm2
ff
movsd  -0x150(%rbp),%xmm0
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x168(%rbp)
ff
movsd  %xmm0,-0x160(%rbp)
ff
movsd  -0x168(%rbp),%xmm1
ff
movsd  -0x160(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    28a7 <check_add_double+0x1797>
movsd  -0x168(%rbp),%xmm0
ff
movaps 0x47db(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x47e0(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x47ac(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    28a7 <check_add_double+0x1797>
jp     28a7 <check_add_double+0x1797>
movsd  -0x160(%rbp),%xmm0
ff
movaps 0x47a5(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x47aa(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x4776(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    28a7 <check_add_double+0x1797>
jp     28a7 <check_add_double+0x1797>
jmp    28ac <check_add_double+0x179c>
call   1030 <abort@plt>
jmp    28b1 <check_add_double+0x17a1>
movsd  0x4747(%rip),%xmm0
movsd  %xmm0,-0x170(%rbp)
ff
mov    $0x1,%al
test   $0x1,%al
jne    28d0 <check_add_double+0x17c0>
jmp    293f <check_add_double+0x182f>
mov    $0x1,%al
test   $0x1,%al
jne    28df <check_add_double+0x17cf>
jmp    28fa <check_add_double+0x17ea>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x6c0(%rbp)
ff
movsd  %xmm0,-0x6b8(%rbp)
ff
jmp    291a <check_add_double+0x180a>
xorps  %xmm1,%xmm1
movsd  0x46fb(%rip),%xmm0
movsd  %xmm1,-0x6c0(%rbp)
ff
movsd  %xmm0,-0x6b8(%rbp)
ff
jmp    291a <check_add_double+0x180a>
movsd  -0x6c0(%rbp),%xmm1
ff
movsd  -0x6b8(%rbp),%xmm0
ff
movsd  %xmm1,-0x6d0(%rbp)
ff
movsd  %xmm0,-0x6c8(%rbp)
ff
jmp    29ae <check_add_double+0x189e>
mov    $0x1,%al
test   $0x1,%al
jne    294e <check_add_double+0x183e>
jmp    296e <check_add_double+0x185e>
movsd  0x46aa(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x6e0(%rbp)
ff
movsd  %xmm0,-0x6d8(%rbp)
ff
jmp    298e <check_add_double+0x187e>
movsd  0x468a(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x6e0(%rbp)
ff
movsd  %xmm0,-0x6d8(%rbp)
ff
jmp    298e <check_add_double+0x187e>
movsd  -0x6e0(%rbp),%xmm1
ff
movsd  -0x6d8(%rbp),%xmm0
ff
movsd  %xmm1,-0x6d0(%rbp)
ff
movsd  %xmm0,-0x6c8(%rbp)
ff
movsd  -0x6d0(%rbp),%xmm1
ff
movsd  -0x6c8(%rbp),%xmm0
ff
movsd  %xmm1,-0x180(%rbp)
ff
movsd  %xmm0,-0x178(%rbp)
ff
movsd  -0x180(%rbp),%xmm1
ff
movsd  -0x178(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    2a77 <check_add_double+0x1967>
movsd  -0x180(%rbp),%xmm0
ff
movaps 0x460b(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4610(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x45dc(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2a77 <check_add_double+0x1967>
jp     2a77 <check_add_double+0x1967>
movsd  -0x178(%rbp),%xmm0
ff
movaps 0x45d5(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x45da(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x45a6(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2a77 <check_add_double+0x1967>
jp     2a77 <check_add_double+0x1967>
jmp    2a7c <check_add_double+0x196c>
call   1030 <abort@plt>
jmp    2a81 <check_add_double+0x1971>
movsd  -0x170(%rbp),%xmm1
ff
movsd  -0x180(%rbp),%xmm2
ff
movsd  -0x178(%rbp),%xmm0
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x190(%rbp)
ff
movsd  %xmm0,-0x188(%rbp)
ff
movsd  -0x190(%rbp),%xmm1
ff
movsd  -0x188(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    2b56 <check_add_double+0x1a46>
movsd  -0x190(%rbp),%xmm0
ff
movaps 0x452c(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4531(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x44fd(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2b56 <check_add_double+0x1a46>
jp     2b56 <check_add_double+0x1a46>
movsd  -0x188(%rbp),%xmm0
ff
movaps 0x44f6(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x44fb(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x44c7(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2b56 <check_add_double+0x1a46>
jp     2b56 <check_add_double+0x1a46>
jmp    2b5b <check_add_double+0x1a4b>
call   1030 <abort@plt>
jmp    2b60 <check_add_double+0x1a50>
jmp    2b65 <check_add_double+0x1a55>
jmp    2b6a <check_add_double+0x1a5a>
movsd  0x448e(%rip),%xmm0
movsd  %xmm0,-0x198(%rbp)
ff
mov    $0x1,%al
test   $0x1,%al
jne    2b89 <check_add_double+0x1a79>
jmp    2bf8 <check_add_double+0x1ae8>
xor    %eax,%eax
test   $0x1,%al
jne    2b98 <check_add_double+0x1a88>
jmp    2bb3 <check_add_double+0x1aa3>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x6f0(%rbp)
ff
movsd  %xmm0,-0x6e8(%rbp)
ff
jmp    2bd3 <check_add_double+0x1ac3>
xorps  %xmm1,%xmm1
movsd  0x4442(%rip),%xmm0
movsd  %xmm1,-0x6f0(%rbp)
ff
movsd  %xmm0,-0x6e8(%rbp)
ff
jmp    2bd3 <check_add_double+0x1ac3>
movsd  -0x6f0(%rbp),%xmm1
ff
movsd  -0x6e8(%rbp),%xmm0
ff
movsd  %xmm1,-0x700(%rbp)
ff
movsd  %xmm0,-0x6f8(%rbp)
ff
jmp    2c67 <check_add_double+0x1b57>
xor    %eax,%eax
test   $0x1,%al
jne    2c07 <check_add_double+0x1af7>
jmp    2c27 <check_add_double+0x1b17>
movsd  0x43f1(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x710(%rbp)
ff
movsd  %xmm0,-0x708(%rbp)
ff
jmp    2c47 <check_add_double+0x1b37>
movsd  0x43d1(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x710(%rbp)
ff
movsd  %xmm0,-0x708(%rbp)
ff
jmp    2c47 <check_add_double+0x1b37>
movsd  -0x710(%rbp),%xmm1
ff
movsd  -0x708(%rbp),%xmm0
ff
movsd  %xmm1,-0x700(%rbp)
ff
movsd  %xmm0,-0x6f8(%rbp)
ff
movsd  -0x700(%rbp),%xmm1
ff
movsd  -0x6f8(%rbp),%xmm0
ff
movsd  %xmm1,-0x1a8(%rbp)
ff
movsd  %xmm0,-0x1a0(%rbp)
ff
movsd  -0x1a8(%rbp),%xmm1
ff
movsd  -0x1a0(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    2d30 <check_add_double+0x1c20>
movsd  -0x1a8(%rbp),%xmm0
ff
movaps 0x4352(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4357(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x4323(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2d30 <check_add_double+0x1c20>
jp     2d30 <check_add_double+0x1c20>
movsd  -0x1a0(%rbp),%xmm0
ff
movaps 0x431c(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4321(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x42f5(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2d30 <check_add_double+0x1c20>
jp     2d30 <check_add_double+0x1c20>
jmp    2d35 <check_add_double+0x1c25>
call   1030 <abort@plt>
jmp    2d3a <check_add_double+0x1c2a>
movsd  -0x198(%rbp),%xmm1
ff
movsd  -0x1a8(%rbp),%xmm2
ff
movsd  -0x1a0(%rbp),%xmm0
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x1b8(%rbp)
ff
movsd  %xmm0,-0x1b0(%rbp)
ff
movsd  -0x1b8(%rbp),%xmm1
ff
movsd  -0x1b0(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    2e0f <check_add_double+0x1cff>
movsd  -0x1b8(%rbp),%xmm0
ff
movaps 0x4273(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4278(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x4244(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2e0f <check_add_double+0x1cff>
jp     2e0f <check_add_double+0x1cff>
movsd  -0x1b0(%rbp),%xmm0
ff
movaps 0x423d(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4242(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x4216(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2e0f <check_add_double+0x1cff>
jp     2e0f <check_add_double+0x1cff>
jmp    2e14 <check_add_double+0x1d04>
call   1030 <abort@plt>
jmp    2e19 <check_add_double+0x1d09>
movsd  0x41df(%rip),%xmm0
movsd  %xmm0,-0x1c0(%rbp)
ff
mov    $0x1,%al
test   $0x1,%al
jne    2e38 <check_add_double+0x1d28>
jmp    2ea7 <check_add_double+0x1d97>
xor    %eax,%eax
test   $0x1,%al
jne    2e47 <check_add_double+0x1d37>
jmp    2e62 <check_add_double+0x1d52>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x720(%rbp)
ff
movsd  %xmm0,-0x718(%rbp)
ff
jmp    2e82 <check_add_double+0x1d72>
xorps  %xmm1,%xmm1
movsd  0x4193(%rip),%xmm0
movsd  %xmm1,-0x720(%rbp)
ff
movsd  %xmm0,-0x718(%rbp)
ff
jmp    2e82 <check_add_double+0x1d72>
movsd  -0x720(%rbp),%xmm1
ff
movsd  -0x718(%rbp),%xmm0
ff
movsd  %xmm1,-0x730(%rbp)
ff
movsd  %xmm0,-0x728(%rbp)
ff
jmp    2f16 <check_add_double+0x1e06>
xor    %eax,%eax
test   $0x1,%al
jne    2eb6 <check_add_double+0x1da6>
jmp    2ed6 <check_add_double+0x1dc6>
movsd  0x4142(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x740(%rbp)
ff
movsd  %xmm0,-0x738(%rbp)
ff
jmp    2ef6 <check_add_double+0x1de6>
movsd  0x4122(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x740(%rbp)
ff
movsd  %xmm0,-0x738(%rbp)
ff
jmp    2ef6 <check_add_double+0x1de6>
movsd  -0x740(%rbp),%xmm1
ff
movsd  -0x738(%rbp),%xmm0
ff
movsd  %xmm1,-0x730(%rbp)
ff
movsd  %xmm0,-0x728(%rbp)
ff
movsd  -0x730(%rbp),%xmm1
ff
movsd  -0x728(%rbp),%xmm0
ff
movsd  %xmm1,-0x1d0(%rbp)
ff
movsd  %xmm0,-0x1c8(%rbp)
ff
movsd  -0x1d0(%rbp),%xmm1
ff
movsd  -0x1c8(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    2fdf <check_add_double+0x1ecf>
movsd  -0x1d0(%rbp),%xmm0
ff
movaps 0x40a3(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x40a8(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x4074(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2fdf <check_add_double+0x1ecf>
jp     2fdf <check_add_double+0x1ecf>
movsd  -0x1c8(%rbp),%xmm0
ff
movaps 0x406d(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4072(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x4046(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2fdf <check_add_double+0x1ecf>
jp     2fdf <check_add_double+0x1ecf>
jmp    2fe4 <check_add_double+0x1ed4>
call   1030 <abort@plt>
jmp    2fe9 <check_add_double+0x1ed9>
movsd  -0x1c0(%rbp),%xmm1
ff
movsd  -0x1d0(%rbp),%xmm2
ff
movsd  -0x1c8(%rbp),%xmm0
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x1e0(%rbp)
movsd  %xmm0,-0x1d8(%rbp)
ff
movsd  -0x1e0(%rbp),%xmm1
ff
movsd  -0x1d8(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    30be <check_add_double+0x1fae>
movsd  -0x1e0(%rbp),%xmm0
ff
movaps 0x3fc4(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x3fc9(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x3f95(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    30be <check_add_double+0x1fae>
jp     30be <check_add_double+0x1fae>
movsd  -0x1d8(%rbp),%xmm0
ff
movaps 0x3f8e(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x3f93(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x3f67(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    30be <check_add_double+0x1fae>
jp     30be <check_add_double+0x1fae>
jmp    30c3 <check_add_double+0x1fb3>
call   1030 <abort@plt>
jmp    30c8 <check_add_double+0x1fb8>
jmp    30cd <check_add_double+0x1fbd>
jmp    30d2 <check_add_double+0x1fc2>
movsd  0x3f26(%rip),%xmm0
movsd  %xmm0,-0x1e8(%rbp)
ff
xor    %eax,%eax
test   $0x1,%al
jne    30f1 <check_add_double+0x1fe1>
jmp    3160 <check_add_double+0x2050>
mov    $0x1,%al
test   $0x1,%al
jne    3100 <check_add_double+0x1ff0>
jmp    311b <check_add_double+0x200b>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x750(%rbp)
ff
movsd  %xmm0,-0x748(%rbp)
ff
jmp    313b <check_add_double+0x202b>
xorps  %xmm1,%xmm1
movsd  0x3eda(%rip),%xmm0
movsd  %xmm1,-0x750(%rbp)
ff
movsd  %xmm0,-0x748(%rbp)
ff
jmp    313b <check_add_double+0x202b>
movsd  -0x750(%rbp),%xmm1
ff
movsd  -0x748(%rbp),%xmm0
ff
movsd  %xmm1,-0x760(%rbp)
ff
movsd  %xmm0,-0x758(%rbp)
ff
jmp    31cf <check_add_double+0x20bf>
mov    $0x1,%al
test   $0x1,%al
jne    316f <check_add_double+0x205f>
jmp    318f <check_add_double+0x207f>
movsd  0x3e89(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x770(%rbp)
ff
movsd  %xmm0,-0x768(%rbp)
ff
jmp    31af <check_add_double+0x209f>
movsd  0x3e69(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x770(%rbp)
ff
movsd  %xmm0,-0x768(%rbp)
ff
jmp    31af <check_add_double+0x209f>
movsd  -0x770(%rbp),%xmm1
ff
movsd  -0x768(%rbp),%xmm0
ff
movsd  %xmm1,-0x760(%rbp)
ff
movsd  %xmm0,-0x758(%rbp)
ff
movsd  -0x760(%rbp),%xmm1
ff
movsd  -0x758(%rbp),%xmm0
ff
movsd  %xmm1,-0x1f8(%rbp)
ff
movsd  %xmm0,-0x1f0(%rbp)
ff
movsd  -0x1f8(%rbp),%xmm1
ff
movsd  -0x1f0(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    3298 <check_add_double+0x2188>
movsd  -0x1f8(%rbp),%xmm0
ff
movaps 0x3dea(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x3def(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x3dc3(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    3298 <check_add_double+0x2188>
jp     3298 <check_add_double+0x2188>
movsd  -0x1f0(%rbp),%xmm0
ff
movaps 0x3db4(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x3db9(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x3d85(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    3298 <check_add_double+0x2188>
jp     3298 <check_add_double+0x2188>
jmp    329d <check_add_double+0x218d>
call   1030 <abort@plt>
jmp    32a2 <check_add_double+0x2192>
movsd  -0x1e8(%rbp),%xmm1
ff
movsd  -0x1f8(%rbp),%xmm2
ff
movsd  -0x1f0(%rbp),%xmm0
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x208(%rbp)
ff
movsd  %xmm0,-0x200(%rbp)
ff
movsd  -0x208(%rbp),%xmm1
ff
movsd  -0x200(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    3377 <check_add_double+0x2267>
movsd  -0x208(%rbp),%xmm0
ff
movaps 0x3d0b(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x3d10(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x3ce4(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    3377 <check_add_double+0x2267>
jp     3377 <check_add_double+0x2267>
movsd  -0x200(%rbp),%xmm0
ff
movaps 0x3cd5(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x3cda(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x3ca6(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    3377 <check_add_double+0x2267>
jp     3377 <check_add_double+0x2267>
jmp    337c <check_add_double+0x226c>
call   1030 <abort@plt>
jmp    3381 <check_add_double+0x2271>
movsd  0x3c77(%rip),%xmm0
movsd  %xmm0,-0x210(%rbp)
ff
xor    %eax,%eax
test   $0x1,%al
jne    33a0 <check_add_double+0x2290>
jmp    340f <check_add_double+0x22ff>
mov    $0x1,%al
test   $0x1,%al
jne    33af <check_add_double+0x229f>
jmp    33ca <check_add_double+0x22ba>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x780(%rbp)
ff
movsd  %xmm0,-0x778(%rbp)
ff
jmp    33ea <check_add_double+0x22da>
xorps  %xmm1,%xmm1
movsd  0x3c2b(%rip),%xmm0
movsd  %xmm1,-0x780(%rbp)
ff
movsd  %xmm0,-0x778(%rbp)
ff
jmp    33ea <check_add_double+0x22da>
movsd  -0x780(%rbp),%xmm1
ff
movsd  -0x778(%rbp),%xmm0
ff
movsd  %xmm1,-0x790(%rbp)
ff
movsd  %xmm0,-0x788(%rbp)
ff
jmp    347e <check_add_double+0x236e>
mov    $0x1,%al
test   $0x1,%al
jne    341e <check_add_double+0x230e>
jmp    343e <check_add_double+0x232e>
movsd  0x3bda(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x7a0(%rbp)
ff
movsd  %xmm0,-0x798(%rbp)
ff
jmp    345e <check_add_double+0x234e>
movsd  0x3bba(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x7a0(%rbp)
ff
movsd  %xmm0,-0x798(%rbp)
ff
jmp    345e <check_add_double+0x234e>
movsd  -0x7a0(%rbp),%xmm1
ff
movsd  -0x798(%rbp),%xmm0
ff
movsd  %xmm1,-0x790(%rbp)
ff
movsd  %xmm0,-0x788(%rbp)
ff
movsd  -0x790(%rbp),%xmm1
ff
movsd  -0x788(%rbp),%xmm0
ff
movsd  %xmm1,-0x220(%rbp)
ff
movsd  %xmm0,-0x218(%rbp)
ff
movsd  -0x220(%rbp),%xmm1
ff
movsd  -0x218(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    3547 <check_add_double+0x2437>
movsd  -0x220(%rbp),%xmm0
ff
movaps 0x3b3b(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x3b40(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x3b14(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    3547 <check_add_double+0x2437>
jp     3547 <check_add_double+0x2437>
movsd  -0x218(%rbp),%xmm0
ff
movaps 0x3b05(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x3b0a(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x3ad6(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    3547 <check_add_double+0x2437>
jp     3547 <check_add_double+0x2437>
jmp    354c <check_add_double+0x243c>
call   1030 <abort@plt>
jmp    3551 <check_add_double+0x2441>
movsd  -0x210(%rbp),%xmm1
ff
movsd  -0x220(%rbp),%xmm2
ff
movsd  -0x218(%rbp),%xmm0
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x230(%rbp)
ff
movsd  %xmm0,-0x228(%rbp)
ff
movsd  -0x230(%rbp),%xmm1
ff
movsd  -0x228(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    3626 <check_add_double+0x2516>
movsd  -0x230(%rbp),%xmm0
ff
movaps 0x3a5c(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x3a61(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x3a35(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    3626 <check_add_double+0x2516>
jp     3626 <check_add_double+0x2516>
movsd  -0x228(%rbp),%xmm0
ff
movaps 0x3a26(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x3a2b(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x39f7(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    3626 <check_add_double+0x2516>
jp     3626 <check_add_double+0x2516>
jmp    362b <check_add_double+0x251b>
call   1030 <abort@plt>
jmp    3630 <check_add_double+0x2520>
jmp    3635 <check_add_double+0x2525>
jmp    363a <check_add_double+0x252a>
movsd  0x39be(%rip),%xmm0
movsd  %xmm0,-0x238(%rbp)
ff
xor    %eax,%eax
test   $0x1,%al
jne    3659 <check_add_double+0x2549>
jmp    36c8 <check_add_double+0x25b8>
xor    %eax,%eax
test   $0x1,%al
jne    3668 <check_add_double+0x2558>
jmp    3683 <check_add_double+0x2573>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x7b0(%rbp)
ff
movsd  %xmm0,-0x7a8(%rbp)
ff
jmp    36a3 <check_add_double+0x2593>
xorps  %xmm1,%xmm1
movsd  0x3972(%rip),%xmm0
movsd  %xmm1,-0x7b0(%rbp)
ff
movsd  %xmm0,-0x7a8(%rbp)
ff
jmp    36a3 <check_add_double+0x2593>
movsd  -0x7b0(%rbp),%xmm1
ff
movsd  -0x7a8(%rbp),%xmm0
ff
movsd  %xmm1,-0x7c0(%rbp)
ff
movsd  %xmm0,-0x7b8(%rbp)
ff
jmp    3737 <check_add_double+0x2627>
xor    %eax,%eax
test   $0x1,%al
jne    36d7 <check_add_double+0x25c7>
jmp    36f7 <check_add_double+0x25e7>
movsd  0x3921(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x7d0(%rbp)
ff
movsd  %xmm0,-0x7c8(%rbp)
ff
jmp    3717 <check_add_double+0x2607>
movsd  0x3901(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x7d0(%rbp)
ff
movsd  %xmm0,-0x7c8(%rbp)
ff
jmp    3717 <check_add_double+0x2607>
movsd  -0x7d0(%rbp),%xmm1
ff
movsd  -0x7c8(%rbp),%xmm0
ff
movsd  %xmm1,-0x7c0(%rbp)
ff
movsd  %xmm0,-0x7b8(%rbp)
ff
movsd  -0x7c0(%rbp),%xmm1
ff
movsd  -0x7b8(%rbp),%xmm0
ff
movsd  %xmm1,-0x248(%rbp)
ff
movsd  %xmm0,-0x240(%rbp)
ff
movsd  -0x248(%rbp),%xmm1
ff
movsd  -0x240(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    3800 <check_add_double+0x26f0>
movsd  -0x248(%rbp),%xmm0
ff
movaps 0x3882(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x3887(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x385b(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    3800 <check_add_double+0x26f0>
jp     3800 <check_add_double+0x26f0>
movsd  -0x240(%rbp),%xmm0
ff
movaps 0x384c(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x3851(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x3825(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    3800 <check_add_double+0x26f0>
jp     3800 <check_add_double+0x26f0>
jmp    3805 <check_add_double+0x26f5>
call   1030 <abort@plt>
jmp    380a <check_add_double+0x26fa>
movsd  -0x238(%rbp),%xmm1
ff
movsd  -0x248(%rbp),%xmm2
ff
movsd  -0x240(%rbp),%xmm0
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x258(%rbp)
ff
movsd  %xmm0,-0x250(%rbp)
ff
movsd  -0x258(%rbp),%xmm1
ff
movsd  -0x250(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    38df <check_add_double+0x27cf>
movsd  -0x258(%rbp),%xmm0
ff
movaps 0x37a3(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x37a8(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x377c(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    38df <check_add_double+0x27cf>
jp     38df <check_add_double+0x27cf>
movsd  -0x250(%rbp),%xmm0
ff
movaps 0x376d(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x3772(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x3746(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    38df <check_add_double+0x27cf>
jp     38df <check_add_double+0x27cf>
jmp    38e4 <check_add_double+0x27d4>
call   1030 <abort@plt>
jmp    38e9 <check_add_double+0x27d9>
movsd  0x370f(%rip),%xmm0
movsd  %xmm0,-0x260(%rbp)
ff
xor    %eax,%eax
test   $0x1,%al
jne    3908 <check_add_double+0x27f8>
jmp    3977 <check_add_double+0x2867>
xor    %eax,%eax
test   $0x1,%al
jne    3917 <check_add_double+0x2807>
jmp    3932 <check_add_double+0x2822>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x7e0(%rbp)
ff
movsd  %xmm0,-0x7d8(%rbp)
ff
jmp    3952 <check_add_double+0x2842>
xorps  %xmm1,%xmm1
movsd  0x36c3(%rip),%xmm0
movsd  %xmm1,-0x7e0(%rbp)
ff
movsd  %xmm0,-0x7d8(%rbp)
ff
jmp    3952 <check_add_double+0x2842>
movsd  -0x7e0(%rbp),%xmm1
ff
movsd  -0x7d8(%rbp),%xmm0
ff
movsd  %xmm1,-0x7f0(%rbp)
ff
movsd  %xmm0,-0x7e8(%rbp)
ff
jmp    39e6 <check_add_double+0x28d6>
xor    %eax,%eax
test   $0x1,%al
jne    3986 <check_add_double+0x2876>
jmp    39a6 <check_add_double+0x2896>
movsd  0x3672(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x800(%rbp)
ff
movsd  %xmm0,-0x7f8(%rbp)
ff
jmp    39c6 <check_add_double+0x28b6>
movsd  0x3652(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x800(%rbp)
ff
movsd  %xmm0,-0x7f8(%rbp)
ff
jmp    39c6 <check_add_double+0x28b6>
movsd  -0x800(%rbp),%xmm1
ff
movsd  -0x7f8(%rbp),%xmm0
ff
movsd  %xmm1,-0x7f0(%rbp)
ff
movsd  %xmm0,-0x7e8(%rbp)
ff
movsd  -0x7f0(%rbp),%xmm1
ff
movsd  -0x7e8(%rbp),%xmm0
ff
movsd  %xmm1,-0x270(%rbp)
ff
movsd  %xmm0,-0x268(%rbp)
ff
movsd  -0x270(%rbp),%xmm1
ff
movsd  -0x268(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    3aaf <check_add_double+0x299f>
movsd  -0x270(%rbp),%xmm0
ff
movaps 0x35d3(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x35d8(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x35ac(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    3aaf <check_add_double+0x299f>
jp     3aaf <check_add_double+0x299f>
movsd  -0x268(%rbp),%xmm0
ff
movaps 0x359d(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x35a2(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x3576(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    3aaf <check_add_double+0x299f>
jp     3aaf <check_add_double+0x299f>
jmp    3ab4 <check_add_double+0x29a4>
call   1030 <abort@plt>
jmp    3ab9 <check_add_double+0x29a9>
movsd  -0x260(%rbp),%xmm1
ff
movsd  -0x270(%rbp),%xmm2
ff
movsd  -0x268(%rbp),%xmm0
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x280(%rbp)
ff
movsd  %xmm0,-0x278(%rbp)
ff
movsd  -0x280(%rbp),%xmm1
ff
movsd  -0x278(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    3b8e <check_add_double+0x2a7e>
movsd  -0x280(%rbp),%xmm0
ff
movaps 0x34f4(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x34f9(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x34cd(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    3b8e <check_add_double+0x2a7e>
jp     3b8e <check_add_double+0x2a7e>
movsd  -0x278(%rbp),%xmm0
ff
movaps 0x34be(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x34c3(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x3497(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    3b8e <check_add_double+0x2a7e>
jp     3b8e <check_add_double+0x2a7e>
jmp    3b93 <check_add_double+0x2a83>
call   1030 <abort@plt>
jmp    3b98 <check_add_double+0x2a88>
jmp    3b9d <check_add_double+0x2a8d>
jmp    3ba2 <check_add_double+0x2a92>
mov    $0x1,%al
test   $0x1,%al
jne    3bb1 <check_add_double+0x2aa1>
jmp    3c20 <check_add_double+0x2b10>
mov    $0x1,%al
test   $0x1,%al
jne    3bc0 <check_add_double+0x2ab0>
jmp    3bdb <check_add_double+0x2acb>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x810(%rbp)
ff
movsd  %xmm0,-0x808(%rbp)
ff
jmp    3bfb <check_add_double+0x2aeb>
xorps  %xmm1,%xmm1
movsd  0x341a(%rip),%xmm0
movsd  %xmm1,-0x810(%rbp)
ff
movsd  %xmm0,-0x808(%rbp)
ff
jmp    3bfb <check_add_double+0x2aeb>
movsd  -0x810(%rbp),%xmm1
ff
movsd  -0x808(%rbp),%xmm0
ff
movsd  %xmm1,-0x820(%rbp)
ff
movsd  %xmm0,-0x818(%rbp)
ff
jmp    3c8f <check_add_double+0x2b7f>
mov    $0x1,%al
test   $0x1,%al
jne    3c2f <check_add_double+0x2b1f>
jmp    3c4f <check_add_double+0x2b3f>
movsd  0x33c9(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x830(%rbp)
ff
movsd  %xmm0,-0x828(%rbp)
ff
jmp    3c6f <check_add_double+0x2b5f>
movsd  0x33a9(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x830(%rbp)
ff
movsd  %xmm0,-0x828(%rbp)
ff
jmp    3c6f <check_add_double+0x2b5f>
movsd  -0x830(%rbp),%xmm1
ff
movsd  -0x828(%rbp),%xmm0
ff
movsd  %xmm1,-0x820(%rbp)
ff
movsd  %xmm0,-0x818(%rbp)
ff
movsd  -0x820(%rbp),%xmm1
ff
movsd  -0x818(%rbp),%xmm0
ff
movsd  %xmm1,-0x290(%rbp)
ff
movsd  %xmm0,-0x288(%rbp)
ff
movsd  -0x290(%rbp),%xmm1
ff
movsd  -0x288(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    3d58 <check_add_double+0x2c48>
movsd  -0x290(%rbp),%xmm0
ff
movaps 0x332a(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x332f(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x32fb(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    3d58 <check_add_double+0x2c48>
jp     3d58 <check_add_double+0x2c48>
movsd  -0x288(%rbp),%xmm0
ff
movaps 0x32f4(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x32f9(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x32c5(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    3d58 <check_add_double+0x2c48>
jp     3d58 <check_add_double+0x2c48>
jmp    3d5d <check_add_double+0x2c4d>
call   1030 <abort@plt>
jmp    3d62 <check_add_double+0x2c52>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x2a8(%rbp)
ff
movsd  -0x290(%rbp),%xmm1
ff
movsd  -0x288(%rbp),%xmm0
ff
addsd  -0x2a8(%rbp),%xmm1
ff
movsd  %xmm1,-0x2a0(%rbp)
ff
movsd  %xmm0,-0x298(%rbp)
ff
movsd  -0x2a0(%rbp),%xmm1
ff
movsd  -0x298(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    3e3e <check_add_double+0x2d2e>
movsd  -0x2a0(%rbp),%xmm0
ff
movaps 0x3244(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x3249(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x3215(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    3e3e <check_add_double+0x2d2e>
jp     3e3e <check_add_double+0x2d2e>
movsd  -0x298(%rbp),%xmm0
ff
movaps 0x320e(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x3213(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x31df(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    3e3e <check_add_double+0x2d2e>
jp     3e3e <check_add_double+0x2d2e>
jmp    3e43 <check_add_double+0x2d33>
call   1030 <abort@plt>
jmp    3e48 <check_add_double+0x2d38>
mov    $0x1,%al
test   $0x1,%al
jne    3e57 <check_add_double+0x2d47>
jmp    3ec6 <check_add_double+0x2db6>
mov    $0x1,%al
test   $0x1,%al
jne    3e66 <check_add_double+0x2d56>
jmp    3e81 <check_add_double+0x2d71>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x840(%rbp)
ff
movsd  %xmm0,-0x838(%rbp)
ff
jmp    3ea1 <check_add_double+0x2d91>
xorps  %xmm1,%xmm1
movsd  0x3174(%rip),%xmm0
movsd  %xmm1,-0x840(%rbp)
ff
movsd  %xmm0,-0x838(%rbp)
ff
jmp    3ea1 <check_add_double+0x2d91>
movsd  -0x840(%rbp),%xmm1
ff
movsd  -0x838(%rbp),%xmm0
ff
movsd  %xmm1,-0x850(%rbp)
ff
movsd  %xmm0,-0x848(%rbp)
ff
jmp    3f35 <check_add_double+0x2e25>
mov    $0x1,%al
test   $0x1,%al
jne    3ed5 <check_add_double+0x2dc5>
jmp    3ef5 <check_add_double+0x2de5>
movsd  0x3123(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x860(%rbp)
ff
movsd  %xmm0,-0x858(%rbp)
ff
jmp    3f15 <check_add_double+0x2e05>
movsd  0x3103(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x860(%rbp)
ff
movsd  %xmm0,-0x858(%rbp)
ff
jmp    3f15 <check_add_double+0x2e05>
movsd  -0x860(%rbp),%xmm1
ff
movsd  -0x858(%rbp),%xmm0
ff
movsd  %xmm1,-0x850(%rbp)
ff
movsd  %xmm0,-0x848(%rbp)
ff
movsd  -0x850(%rbp),%xmm1
ff
movsd  -0x848(%rbp),%xmm0
ff
movsd  %xmm1,-0x2b8(%rbp)
ff
movsd  %xmm0,-0x2b0(%rbp)
ff
movsd  -0x2b8(%rbp),%xmm1
ff
movsd  -0x2b0(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    3ffe <check_add_double+0x2eee>
movsd  -0x2b8(%rbp),%xmm0
ff
movaps 0x3084(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x3089(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x3055(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    3ffe <check_add_double+0x2eee>
jp     3ffe <check_add_double+0x2eee>
movsd  -0x2b0(%rbp),%xmm0
ff
movaps 0x304e(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x3053(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x301f(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    3ffe <check_add_double+0x2eee>
jp     3ffe <check_add_double+0x2eee>
jmp    4003 <check_add_double+0x2ef3>
call   1030 <abort@plt>
jmp    4008 <check_add_double+0x2ef8>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x2d0(%rbp)
ff
movsd  -0x2b8(%rbp),%xmm1
ff
movsd  -0x2b0(%rbp),%xmm0
ff
movsd  -0x2d0(%rbp),%xmm2
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x2c8(%rbp)
ff
movsd  %xmm0,-0x2c0(%rbp)
ff
movsd  -0x2c8(%rbp),%xmm1
ff
movsd  -0x2c0(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    40e8 <check_add_double+0x2fd8>
movsd  -0x2c8(%rbp),%xmm0
ff
movaps 0x2f9a(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x2f9f(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x2f6b(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    40e8 <check_add_double+0x2fd8>
jp     40e8 <check_add_double+0x2fd8>
movsd  -0x2c0(%rbp),%xmm0
ff
movaps 0x2f64(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x2f69(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x2f35(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    40e8 <check_add_double+0x2fd8>
jp     40e8 <check_add_double+0x2fd8>
jmp    40ed <check_add_double+0x2fdd>
call   1030 <abort@plt>
jmp    40f2 <check_add_double+0x2fe2>
jmp    40f7 <check_add_double+0x2fe7>
jmp    40fc <check_add_double+0x2fec>
mov    $0x1,%al
test   $0x1,%al
jne    410b <check_add_double+0x2ffb>
jmp    417a <check_add_double+0x306a>
mov    $0x1,%al
test   $0x1,%al
jne    411a <check_add_double+0x300a>
jmp    4135 <check_add_double+0x3025>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x870(%rbp)
ff
movsd  %xmm0,-0x868(%rbp)
ff
jmp    4155 <check_add_double+0x3045>
xorps  %xmm1,%xmm1
movsd  0x2ec0(%rip),%xmm0
movsd  %xmm1,-0x870(%rbp)
ff
movsd  %xmm0,-0x868(%rbp)
ff
jmp    4155 <check_add_double+0x3045>
movsd  -0x870(%rbp),%xmm1
ff
movsd  -0x868(%rbp),%xmm0
ff
movsd  %xmm1,-0x880(%rbp)
ff
movsd  %xmm0,-0x878(%rbp)
ff
jmp    41e9 <check_add_double+0x30d9>
mov    $0x1,%al
test   $0x1,%al
jne    4189 <check_add_double+0x3079>
jmp    41a9 <check_add_double+0x3099>
movsd  0x2e6f(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x890(%rbp)
ff
movsd  %xmm0,-0x888(%rbp)
ff
jmp    41c9 <check_add_double+0x30b9>
movsd  0x2e4f(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x890(%rbp)
ff
movsd  %xmm0,-0x888(%rbp)
ff
jmp    41c9 <check_add_double+0x30b9>
movsd  -0x890(%rbp),%xmm1
ff
movsd  -0x888(%rbp),%xmm0
ff
movsd  %xmm1,-0x880(%rbp)
ff
movsd  %xmm0,-0x878(%rbp)
ff
movsd  -0x880(%rbp),%xmm1
ff
movsd  -0x878(%rbp),%xmm0
ff
movsd  %xmm1,-0x2e0(%rbp)
movsd  %xmm0,-0x2d8(%rbp)
ff
movsd  -0x2e0(%rbp),%xmm1
ff
movsd  -0x2d8(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    42b2 <check_add_double+0x31a2>
movsd  -0x2e0(%rbp),%xmm0
ff
movaps 0x2dd0(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x2dd5(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x2da1(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    42b2 <check_add_double+0x31a2>
jp     42b2 <check_add_double+0x31a2>
movsd  -0x2d8(%rbp),%xmm0
ff
movaps 0x2d9a(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x2d9f(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x2d6b(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    42b2 <check_add_double+0x31a2>
jp     42b2 <check_add_double+0x31a2>
jmp    42b7 <check_add_double+0x31a7>
call   1030 <abort@plt>
jmp    42bc <check_add_double+0x31ac>
movsd  0x2d3c(%rip),%xmm0
movsd  %xmm0,-0x2f8(%rbp)
ff
movsd  -0x2e0(%rbp),%xmm1
ff
movsd  -0x2d8(%rbp),%xmm0
ff
addsd  -0x2f8(%rbp),%xmm1
ff
movsd  %xmm1,-0x2f0(%rbp)
ff
movsd  %xmm0,-0x2e8(%rbp)
ff
movsd  -0x2f0(%rbp),%xmm1
ff
movsd  -0x2e8(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    439d <check_add_double+0x328d>
movsd  -0x2f0(%rbp),%xmm0
ff
movaps 0x2ce5(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x2cea(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x2cb6(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    439d <check_add_double+0x328d>
jp     439d <check_add_double+0x328d>
movsd  -0x2e8(%rbp),%xmm0
ff
movaps 0x2caf(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x2cb4(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x2c80(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    439d <check_add_double+0x328d>
jp     439d <check_add_double+0x328d>
jmp    43a2 <check_add_double+0x3292>
call   1030 <abort@plt>
jmp    43a7 <check_add_double+0x3297>
mov    $0x1,%al
test   $0x1,%al
jne    43b6 <check_add_double+0x32a6>
jmp    4425 <check_add_double+0x3315>
mov    $0x1,%al
test   $0x1,%al
jne    43c5 <check_add_double+0x32b5>
jmp    43e0 <check_add_double+0x32d0>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x8a0(%rbp)
ff
movsd  %xmm0,-0x898(%rbp)
ff
jmp    4400 <check_add_double+0x32f0>
xorps  %xmm1,%xmm1
movsd  0x2c15(%rip),%xmm0
movsd  %xmm1,-0x8a0(%rbp)
ff
movsd  %xmm0,-0x898(%rbp)
ff
jmp    4400 <check_add_double+0x32f0>
movsd  -0x8a0(%rbp),%xmm1
ff
movsd  -0x898(%rbp),%xmm0
ff
movsd  %xmm1,-0x8b0(%rbp)
ff
movsd  %xmm0,-0x8a8(%rbp)
ff
jmp    4494 <check_add_double+0x3384>
mov    $0x1,%al
test   $0x1,%al
jne    4434 <check_add_double+0x3324>
jmp    4454 <check_add_double+0x3344>
movsd  0x2bc4(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x8c0(%rbp)
ff
movsd  %xmm0,-0x8b8(%rbp)
ff
jmp    4474 <check_add_double+0x3364>
movsd  0x2ba4(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x8c0(%rbp)
ff
movsd  %xmm0,-0x8b8(%rbp)
ff
jmp    4474 <check_add_double+0x3364>
movsd  -0x8c0(%rbp),%xmm1
ff
movsd  -0x8b8(%rbp),%xmm0
ff
movsd  %xmm1,-0x8b0(%rbp)
ff
movsd  %xmm0,-0x8a8(%rbp)
ff
movsd  -0x8b0(%rbp),%xmm1
ff
movsd  -0x8a8(%rbp),%xmm0
ff
movsd  %xmm1,-0x308(%rbp)
ff
movsd  %xmm0,-0x300(%rbp)
ff
movsd  -0x308(%rbp),%xmm1
ff
movsd  -0x300(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    455d <check_add_double+0x344d>
movsd  -0x308(%rbp),%xmm0
ff
movaps 0x2b25(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x2b2a(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x2af6(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    455d <check_add_double+0x344d>
jp     455d <check_add_double+0x344d>
movsd  -0x300(%rbp),%xmm0
ff
movaps 0x2aef(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x2af4(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x2ac0(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    455d <check_add_double+0x344d>
jp     455d <check_add_double+0x344d>
jmp    4562 <check_add_double+0x3452>
call   1030 <abort@plt>
jmp    4567 <check_add_double+0x3457>
movsd  0x2a91(%rip),%xmm0
movsd  %xmm0,-0x320(%rbp)
ff
movsd  -0x308(%rbp),%xmm1
ff
movsd  -0x300(%rbp),%xmm0
ff
movsd  -0x320(%rbp),%xmm2
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x318(%rbp)
ff
movsd  %xmm0,-0x310(%rbp)
ff
movsd  -0x318(%rbp),%xmm1
ff
movsd  -0x310(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    464c <check_add_double+0x353c>
movsd  -0x318(%rbp),%xmm0
ff
movaps 0x2a36(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x2a3b(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x2a07(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    464c <check_add_double+0x353c>
jp     464c <check_add_double+0x353c>
movsd  -0x310(%rbp),%xmm0
ff
movaps 0x2a00(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x2a05(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x29d1(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    464c <check_add_double+0x353c>
jp     464c <check_add_double+0x353c>
jmp    4651 <check_add_double+0x3541>
call   1030 <abort@plt>
jmp    4656 <check_add_double+0x3546>
jmp    465b <check_add_double+0x354b>
jmp    4660 <check_add_double+0x3550>
mov    $0x1,%al
test   $0x1,%al
jne    466f <check_add_double+0x355f>
jmp    46de <check_add_double+0x35ce>
xor    %eax,%eax
test   $0x1,%al
jne    467e <check_add_double+0x356e>
jmp    4699 <check_add_double+0x3589>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x8d0(%rbp)
ff
movsd  %xmm0,-0x8c8(%rbp)
ff
jmp    46b9 <check_add_double+0x35a9>
xorps  %xmm1,%xmm1
movsd  0x295c(%rip),%xmm0
movsd  %xmm1,-0x8d0(%rbp)
ff
movsd  %xmm0,-0x8c8(%rbp)
ff
jmp    46b9 <check_add_double+0x35a9>
movsd  -0x8d0(%rbp),%xmm1
ff
movsd  -0x8c8(%rbp),%xmm0
ff
movsd  %xmm1,-0x8e0(%rbp)
ff
movsd  %xmm0,-0x8d8(%rbp)
ff
jmp    474d <check_add_double+0x363d>
xor    %eax,%eax
test   $0x1,%al
jne    46ed <check_add_double+0x35dd>
jmp    470d <check_add_double+0x35fd>
movsd  0x290b(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x8f0(%rbp)
ff
movsd  %xmm0,-0x8e8(%rbp)
ff
jmp    472d <check_add_double+0x361d>
movsd  0x28eb(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x8f0(%rbp)
ff
movsd  %xmm0,-0x8e8(%rbp)
ff
jmp    472d <check_add_double+0x361d>
movsd  -0x8f0(%rbp),%xmm1
ff
movsd  -0x8e8(%rbp),%xmm0
ff
movsd  %xmm1,-0x8e0(%rbp)
ff
movsd  %xmm0,-0x8d8(%rbp)
ff
movsd  -0x8e0(%rbp),%xmm1
ff
movsd  -0x8d8(%rbp),%xmm0
ff
movsd  %xmm1,-0x330(%rbp)
ff
movsd  %xmm0,-0x328(%rbp)
ff
movsd  -0x330(%rbp),%xmm1
ff
movsd  -0x328(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    4816 <check_add_double+0x3706>
movsd  -0x330(%rbp),%xmm0
ff
movaps 0x286c(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x2871(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x283d(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    4816 <check_add_double+0x3706>
jp     4816 <check_add_double+0x3706>
movsd  -0x328(%rbp),%xmm0
ff
movaps 0x2836(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x283b(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x280f(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    4816 <check_add_double+0x3706>
jp     4816 <check_add_double+0x3706>
jmp    481b <check_add_double+0x370b>
call   1030 <abort@plt>
jmp    4820 <check_add_double+0x3710>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x348(%rbp)
ff
movsd  -0x330(%rbp),%xmm1
ff
movsd  -0x328(%rbp),%xmm0
ff
addsd  -0x348(%rbp),%xmm1
ff
movsd  %xmm1,-0x340(%rbp)
ff
movsd  %xmm0,-0x338(%rbp)
ff
movsd  -0x340(%rbp),%xmm1
ff
movsd  -0x338(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    48fc <check_add_double+0x37ec>
movsd  -0x340(%rbp),%xmm0
ff
movaps 0x2786(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x278b(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x2757(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    48fc <check_add_double+0x37ec>
jp     48fc <check_add_double+0x37ec>
movsd  -0x338(%rbp),%xmm0
ff
movaps 0x2750(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x2755(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x2729(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    48fc <check_add_double+0x37ec>
jp     48fc <check_add_double+0x37ec>
jmp    4901 <check_add_double+0x37f1>
call   1030 <abort@plt>
jmp    4906 <check_add_double+0x37f6>
mov    $0x1,%al
test   $0x1,%al
jne    4915 <check_add_double+0x3805>
jmp    4984 <check_add_double+0x3874>
xor    %eax,%eax
test   $0x1,%al
jne    4924 <check_add_double+0x3814>
jmp    493f <check_add_double+0x382f>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x900(%rbp)
ff
movsd  %xmm0,-0x8f8(%rbp)
ff
jmp    495f <check_add_double+0x384f>
xorps  %xmm1,%xmm1
movsd  0x26b6(%rip),%xmm0
movsd  %xmm1,-0x900(%rbp)
ff
movsd  %xmm0,-0x8f8(%rbp)
ff
jmp    495f <check_add_double+0x384f>
movsd  -0x900(%rbp),%xmm1
ff
movsd  -0x8f8(%rbp),%xmm0
ff
movsd  %xmm1,-0x910(%rbp)
ff
movsd  %xmm0,-0x908(%rbp)
ff
jmp    49f3 <check_add_double+0x38e3>
xor    %eax,%eax
test   $0x1,%al
jne    4993 <check_add_double+0x3883>
jmp    49b3 <check_add_double+0x38a3>
movsd  0x2665(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x920(%rbp)
ff
movsd  %xmm0,-0x918(%rbp)
ff
jmp    49d3 <check_add_double+0x38c3>
movsd  0x2645(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x920(%rbp)
ff
movsd  %xmm0,-0x918(%rbp)
ff
jmp    49d3 <check_add_double+0x38c3>
movsd  -0x920(%rbp),%xmm1
ff
movsd  -0x918(%rbp),%xmm0
ff
movsd  %xmm1,-0x910(%rbp)
ff
movsd  %xmm0,-0x908(%rbp)
ff
movsd  -0x910(%rbp),%xmm1
ff
movsd  -0x908(%rbp),%xmm0
ff
movsd  %xmm1,-0x358(%rbp)
ff
movsd  %xmm0,-0x350(%rbp)
ff
movsd  -0x358(%rbp),%xmm1
ff
movsd  -0x350(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    4abc <check_add_double+0x39ac>
movsd  -0x358(%rbp),%xmm0
ff
movaps 0x25c6(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x25cb(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x2597(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    4abc <check_add_double+0x39ac>
jp     4abc <check_add_double+0x39ac>
movsd  -0x350(%rbp),%xmm0
ff
movaps 0x2590(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x2595(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x2569(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    4abc <check_add_double+0x39ac>
jp     4abc <check_add_double+0x39ac>
jmp    4ac1 <check_add_double+0x39b1>
call   1030 <abort@plt>
jmp    4ac6 <check_add_double+0x39b6>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x370(%rbp)
ff
movsd  -0x358(%rbp),%xmm1
ff
movsd  -0x350(%rbp),%xmm0
ff
movsd  -0x370(%rbp),%xmm2
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x368(%rbp)
ff
movsd  %xmm0,-0x360(%rbp)
ff
movsd  -0x368(%rbp),%xmm1
ff
movsd  -0x360(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    4ba6 <check_add_double+0x3a96>
movsd  -0x368(%rbp),%xmm0
ff
movaps 0x24dc(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x24e1(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x24ad(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    4ba6 <check_add_double+0x3a96>
jp     4ba6 <check_add_double+0x3a96>
movsd  -0x360(%rbp),%xmm0
ff
movaps 0x24a6(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x24ab(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x247f(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    4ba6 <check_add_double+0x3a96>
jp     4ba6 <check_add_double+0x3a96>
jmp    4bab <check_add_double+0x3a9b>
call   1030 <abort@plt>
jmp    4bb0 <check_add_double+0x3aa0>
jmp    4bb5 <check_add_double+0x3aa5>
jmp    4bba <check_add_double+0x3aaa>
mov    $0x1,%al
test   $0x1,%al
jne    4bc9 <check_add_double+0x3ab9>
jmp    4c38 <check_add_double+0x3b28>
xor    %eax,%eax
test   $0x1,%al
jne    4bd8 <check_add_double+0x3ac8>
jmp    4bf3 <check_add_double+0x3ae3>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x930(%rbp)
ff
movsd  %xmm0,-0x928(%rbp)
ff
jmp    4c13 <check_add_double+0x3b03>
xorps  %xmm1,%xmm1
movsd  0x2402(%rip),%xmm0
movsd  %xmm1,-0x930(%rbp)
ff
movsd  %xmm0,-0x928(%rbp)
ff
jmp    4c13 <check_add_double+0x3b03>
movsd  -0x930(%rbp),%xmm1
ff
movsd  -0x928(%rbp),%xmm0
ff
movsd  %xmm1,-0x940(%rbp)
ff
movsd  %xmm0,-0x938(%rbp)
ff
jmp    4ca7 <check_add_double+0x3b97>
xor    %eax,%eax
test   $0x1,%al
jne    4c47 <check_add_double+0x3b37>
jmp    4c67 <check_add_double+0x3b57>
movsd  0x23b1(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x950(%rbp)
ff
movsd  %xmm0,-0x948(%rbp)
ff
jmp    4c87 <check_add_double+0x3b77>
movsd  0x2391(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x950(%rbp)
ff
movsd  %xmm0,-0x948(%rbp)
ff
jmp    4c87 <check_add_double+0x3b77>
movsd  -0x950(%rbp),%xmm1
ff
movsd  -0x948(%rbp),%xmm0
ff
movsd  %xmm1,-0x940(%rbp)
ff
movsd  %xmm0,-0x938(%rbp)
ff
movsd  -0x940(%rbp),%xmm1
ff
movsd  -0x938(%rbp),%xmm0
ff
movsd  %xmm1,-0x380(%rbp)
ff
movsd  %xmm0,-0x378(%rbp)
ff
movsd  -0x380(%rbp),%xmm1
ff
movsd  -0x378(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    4d70 <check_add_double+0x3c60>
movsd  -0x380(%rbp),%xmm0
ff
movaps 0x2312(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x2317(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x22e3(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    4d70 <check_add_double+0x3c60>
jp     4d70 <check_add_double+0x3c60>
movsd  -0x378(%rbp),%xmm0
ff
movaps 0x22dc(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x22e1(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x22b5(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    4d70 <check_add_double+0x3c60>
jp     4d70 <check_add_double+0x3c60>
jmp    4d75 <check_add_double+0x3c65>
call   1030 <abort@plt>
jmp    4d7a <check_add_double+0x3c6a>
movsd  0x227e(%rip),%xmm0
movsd  %xmm0,-0x398(%rbp)
ff
movsd  -0x380(%rbp),%xmm1
ff
movsd  -0x378(%rbp),%xmm0
ff
addsd  -0x398(%rbp),%xmm1
ff
movsd  %xmm1,-0x390(%rbp)
ff
movsd  %xmm0,-0x388(%rbp)
ff
movsd  -0x390(%rbp),%xmm1
ff
movsd  -0x388(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    4e5b <check_add_double+0x3d4b>
movsd  -0x390(%rbp),%xmm0
ff
movaps 0x2227(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x222c(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x21f8(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    4e5b <check_add_double+0x3d4b>
jp     4e5b <check_add_double+0x3d4b>
movsd  -0x388(%rbp),%xmm0
ff
movaps 0x21f1(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x21f6(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x21ca(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    4e5b <check_add_double+0x3d4b>
jp     4e5b <check_add_double+0x3d4b>
jmp    4e60 <check_add_double+0x3d50>
call   1030 <abort@plt>
jmp    4e65 <check_add_double+0x3d55>
mov    $0x1,%al
test   $0x1,%al
jne    4e74 <check_add_double+0x3d64>
jmp    4ee3 <check_add_double+0x3dd3>
xor    %eax,%eax
test   $0x1,%al
jne    4e83 <check_add_double+0x3d73>
jmp    4e9e <check_add_double+0x3d8e>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x960(%rbp)
ff
movsd  %xmm0,-0x958(%rbp)
ff
jmp    4ebe <check_add_double+0x3dae>
xorps  %xmm1,%xmm1
movsd  0x2157(%rip),%xmm0
movsd  %xmm1,-0x960(%rbp)
ff
movsd  %xmm0,-0x958(%rbp)
ff
jmp    4ebe <check_add_double+0x3dae>
movsd  -0x960(%rbp),%xmm1
ff
movsd  -0x958(%rbp),%xmm0
ff
movsd  %xmm1,-0x970(%rbp)
ff
movsd  %xmm0,-0x968(%rbp)
ff
jmp    4f52 <check_add_double+0x3e42>
xor    %eax,%eax
test   $0x1,%al
jne    4ef2 <check_add_double+0x3de2>
jmp    4f12 <check_add_double+0x3e02>
movsd  0x2106(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x980(%rbp)
ff
movsd  %xmm0,-0x978(%rbp)
ff
jmp    4f32 <check_add_double+0x3e22>
movsd  0x20e6(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x980(%rbp)
ff
movsd  %xmm0,-0x978(%rbp)
ff
jmp    4f32 <check_add_double+0x3e22>
movsd  -0x980(%rbp),%xmm1
ff
movsd  -0x978(%rbp),%xmm0
ff
movsd  %xmm1,-0x970(%rbp)
ff
movsd  %xmm0,-0x968(%rbp)
ff
movsd  -0x970(%rbp),%xmm1
ff
movsd  -0x968(%rbp),%xmm0
ff
movsd  %xmm1,-0x3a8(%rbp)
ff
movsd  %xmm0,-0x3a0(%rbp)
ff
movsd  -0x3a8(%rbp),%xmm1
ff
movsd  -0x3a0(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    501b <check_add_double+0x3f0b>
movsd  -0x3a8(%rbp),%xmm0
ff
movaps 0x2067(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x206c(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x2038(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    501b <check_add_double+0x3f0b>
jp     501b <check_add_double+0x3f0b>
movsd  -0x3a0(%rbp),%xmm0
ff
movaps 0x2031(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x2036(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x200a(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    501b <check_add_double+0x3f0b>
jp     501b <check_add_double+0x3f0b>
jmp    5020 <check_add_double+0x3f10>
call   1030 <abort@plt>
jmp    5025 <check_add_double+0x3f15>
movsd  0x1fd3(%rip),%xmm0
movsd  %xmm0,-0x3c0(%rbp)
ff
movsd  -0x3a8(%rbp),%xmm1
ff
movsd  -0x3a0(%rbp),%xmm0
ff
movsd  -0x3c0(%rbp),%xmm2
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x3b8(%rbp)
ff
movsd  %xmm0,-0x3b0(%rbp)
ff
movsd  -0x3b8(%rbp),%xmm1
ff
movsd  -0x3b0(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    510a <check_add_double+0x3ffa>
movsd  -0x3b8(%rbp),%xmm0
ff
movaps 0x1f78(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1f7d(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x1f49(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    510a <check_add_double+0x3ffa>
jp     510a <check_add_double+0x3ffa>
movsd  -0x3b0(%rbp),%xmm0
ff
movaps 0x1f42(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1f47(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x1f1b(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    510a <check_add_double+0x3ffa>
jp     510a <check_add_double+0x3ffa>
jmp    510f <check_add_double+0x3fff>
call   1030 <abort@plt>
jmp    5114 <check_add_double+0x4004>
jmp    5119 <check_add_double+0x4009>
jmp    511e <check_add_double+0x400e>
xor    %eax,%eax
test   $0x1,%al
jne    512d <check_add_double+0x401d>
jmp    519c <check_add_double+0x408c>
mov    $0x1,%al
test   $0x1,%al
jne    513c <check_add_double+0x402c>
jmp    5157 <check_add_double+0x4047>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x990(%rbp)
ff
movsd  %xmm0,-0x988(%rbp)
ff
jmp    5177 <check_add_double+0x4067>
xorps  %xmm1,%xmm1
movsd  0x1e9e(%rip),%xmm0
movsd  %xmm1,-0x990(%rbp)
ff
movsd  %xmm0,-0x988(%rbp)
ff
jmp    5177 <check_add_double+0x4067>
movsd  -0x990(%rbp),%xmm1
ff
movsd  -0x988(%rbp),%xmm0
ff
movsd  %xmm1,-0x9a0(%rbp)
ff
movsd  %xmm0,-0x998(%rbp)
ff
jmp    520b <check_add_double+0x40fb>
mov    $0x1,%al
test   $0x1,%al
jne    51ab <check_add_double+0x409b>
jmp    51cb <check_add_double+0x40bb>
movsd  0x1e4d(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x9b0(%rbp)
ff
movsd  %xmm0,-0x9a8(%rbp)
ff
jmp    51eb <check_add_double+0x40db>
movsd  0x1e2d(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x9b0(%rbp)
ff
movsd  %xmm0,-0x9a8(%rbp)
ff
jmp    51eb <check_add_double+0x40db>
movsd  -0x9b0(%rbp),%xmm1
ff
movsd  -0x9a8(%rbp),%xmm0
ff
movsd  %xmm1,-0x9a0(%rbp)
ff
movsd  %xmm0,-0x998(%rbp)
ff
movsd  -0x9a0(%rbp),%xmm1
ff
movsd  -0x998(%rbp),%xmm0
ff
movsd  %xmm1,-0x3d0(%rbp)
ff
movsd  %xmm0,-0x3c8(%rbp)
ff
movsd  -0x3d0(%rbp),%xmm1
ff
movsd  -0x3c8(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    52d4 <check_add_double+0x41c4>
movsd  -0x3d0(%rbp),%xmm0
ff
movaps 0x1dae(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1db3(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x1d87(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    52d4 <check_add_double+0x41c4>
jp     52d4 <check_add_double+0x41c4>
movsd  -0x3c8(%rbp),%xmm0
ff
movaps 0x1d78(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1d7d(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x1d49(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    52d4 <check_add_double+0x41c4>
jp     52d4 <check_add_double+0x41c4>
jmp    52d9 <check_add_double+0x41c9>
call   1030 <abort@plt>
jmp    52de <check_add_double+0x41ce>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x3e8(%rbp)
ff
movsd  -0x3d0(%rbp),%xmm1
ff
movsd  -0x3c8(%rbp),%xmm0
ff
addsd  -0x3e8(%rbp),%xmm1
movsd  %xmm1,-0x3e0(%rbp)
ff
movsd  %xmm0,-0x3d8(%rbp)
ff
movsd  -0x3e0(%rbp),%xmm1
ff
movsd  -0x3d8(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    53ba <check_add_double+0x42aa>
movsd  -0x3e0(%rbp),%xmm0
ff
movaps 0x1cc8(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1ccd(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x1c99(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    53ba <check_add_double+0x42aa>
jp     53ba <check_add_double+0x42aa>
movsd  -0x3d8(%rbp),%xmm0
ff
movaps 0x1c92(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1c97(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x1c63(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    53ba <check_add_double+0x42aa>
jp     53ba <check_add_double+0x42aa>
jmp    53bf <check_add_double+0x42af>
call   1030 <abort@plt>
jmp    53c4 <check_add_double+0x42b4>
xor    %eax,%eax
test   $0x1,%al
jne    53d3 <check_add_double+0x42c3>
jmp    5442 <check_add_double+0x4332>
mov    $0x1,%al
test   $0x1,%al
jne    53e2 <check_add_double+0x42d2>
jmp    53fd <check_add_double+0x42ed>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x9c0(%rbp)
ff
movsd  %xmm0,-0x9b8(%rbp)
ff
jmp    541d <check_add_double+0x430d>
xorps  %xmm1,%xmm1
movsd  0x1bf8(%rip),%xmm0
movsd  %xmm1,-0x9c0(%rbp)
ff
movsd  %xmm0,-0x9b8(%rbp)
ff
jmp    541d <check_add_double+0x430d>
movsd  -0x9c0(%rbp),%xmm1
ff
movsd  -0x9b8(%rbp),%xmm0
ff
movsd  %xmm1,-0x9d0(%rbp)
ff
movsd  %xmm0,-0x9c8(%rbp)
ff
jmp    54b1 <check_add_double+0x43a1>
mov    $0x1,%al
test   $0x1,%al
jne    5451 <check_add_double+0x4341>
jmp    5471 <check_add_double+0x4361>
movsd  0x1ba7(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x9e0(%rbp)
ff
movsd  %xmm0,-0x9d8(%rbp)
ff
jmp    5491 <check_add_double+0x4381>
movsd  0x1b87(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x9e0(%rbp)
ff
movsd  %xmm0,-0x9d8(%rbp)
ff
jmp    5491 <check_add_double+0x4381>
movsd  -0x9e0(%rbp),%xmm1
ff
movsd  -0x9d8(%rbp),%xmm0
ff
movsd  %xmm1,-0x9d0(%rbp)
ff
movsd  %xmm0,-0x9c8(%rbp)
ff
movsd  -0x9d0(%rbp),%xmm1
ff
movsd  -0x9c8(%rbp),%xmm0
ff
movsd  %xmm1,-0x3f8(%rbp)
ff
movsd  %xmm0,-0x3f0(%rbp)
ff
movsd  -0x3f8(%rbp),%xmm1
ff
movsd  -0x3f0(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    557a <check_add_double+0x446a>
movsd  -0x3f8(%rbp),%xmm0
ff
movaps 0x1b08(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1b0d(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x1ae1(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    557a <check_add_double+0x446a>
jp     557a <check_add_double+0x446a>
movsd  -0x3f0(%rbp),%xmm0
ff
movaps 0x1ad2(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1ad7(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x1aa3(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    557a <check_add_double+0x446a>
jp     557a <check_add_double+0x446a>
jmp    557f <check_add_double+0x446f>
call   1030 <abort@plt>
jmp    5584 <check_add_double+0x4474>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x410(%rbp)
ff
movsd  -0x3f8(%rbp),%xmm1
ff
movsd  -0x3f0(%rbp),%xmm0
ff
movsd  -0x410(%rbp),%xmm2
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x408(%rbp)
ff
movsd  %xmm0,-0x400(%rbp)
ff
movsd  -0x408(%rbp),%xmm1
ff
movsd  -0x400(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    5664 <check_add_double+0x4554>
movsd  -0x408(%rbp),%xmm0
ff
movaps 0x1a1e(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1a23(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x19ef(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    5664 <check_add_double+0x4554>
jp     5664 <check_add_double+0x4554>
movsd  -0x400(%rbp),%xmm0
ff
movaps 0x19e8(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x19ed(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x19b9(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    5664 <check_add_double+0x4554>
jp     5664 <check_add_double+0x4554>
jmp    5669 <check_add_double+0x4559>
call   1030 <abort@plt>
jmp    566e <check_add_double+0x455e>
jmp    5673 <check_add_double+0x4563>
jmp    5678 <check_add_double+0x4568>
xor    %eax,%eax
test   $0x1,%al
jne    5687 <check_add_double+0x4577>
jmp    56f6 <check_add_double+0x45e6>
mov    $0x1,%al
test   $0x1,%al
jne    5696 <check_add_double+0x4586>
jmp    56b1 <check_add_double+0x45a1>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x9f0(%rbp)
ff
movsd  %xmm0,-0x9e8(%rbp)
ff
jmp    56d1 <check_add_double+0x45c1>
xorps  %xmm1,%xmm1
movsd  0x1944(%rip),%xmm0
movsd  %xmm1,-0x9f0(%rbp)
ff
movsd  %xmm0,-0x9e8(%rbp)
ff
jmp    56d1 <check_add_double+0x45c1>
movsd  -0x9f0(%rbp),%xmm1
ff
movsd  -0x9e8(%rbp),%xmm0
ff
movsd  %xmm1,-0xa00(%rbp)
ff
movsd  %xmm0,-0x9f8(%rbp)
ff
jmp    5765 <check_add_double+0x4655>
mov    $0x1,%al
test   $0x1,%al
jne    5705 <check_add_double+0x45f5>
jmp    5725 <check_add_double+0x4615>
movsd  0x18f3(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0xa10(%rbp)
ff
movsd  %xmm0,-0xa08(%rbp)
ff
jmp    5745 <check_add_double+0x4635>
movsd  0x18d3(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xa10(%rbp)
ff
movsd  %xmm0,-0xa08(%rbp)
ff
jmp    5745 <check_add_double+0x4635>
movsd  -0xa10(%rbp),%xmm1
ff
movsd  -0xa08(%rbp),%xmm0
ff
movsd  %xmm1,-0xa00(%rbp)
ff
movsd  %xmm0,-0x9f8(%rbp)
ff
movsd  -0xa00(%rbp),%xmm1
ff
movsd  -0x9f8(%rbp),%xmm0
ff
movsd  %xmm1,-0x420(%rbp)
ff
movsd  %xmm0,-0x418(%rbp)
ff
movsd  -0x420(%rbp),%xmm1
ff
movsd  -0x418(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    582e <check_add_double+0x471e>
movsd  -0x420(%rbp),%xmm0
ff
movaps 0x1854(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1859(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x182d(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    582e <check_add_double+0x471e>
jp     582e <check_add_double+0x471e>
movsd  -0x418(%rbp),%xmm0
ff
movaps 0x181e(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1823(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x17ef(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    582e <check_add_double+0x471e>
jp     582e <check_add_double+0x471e>
jmp    5833 <check_add_double+0x4723>
call   1030 <abort@plt>
jmp    5838 <check_add_double+0x4728>
movsd  0x17c0(%rip),%xmm0
movsd  %xmm0,-0x438(%rbp)
ff
movsd  -0x420(%rbp),%xmm1
ff
movsd  -0x418(%rbp),%xmm0
ff
addsd  -0x438(%rbp),%xmm1
ff
movsd  %xmm1,-0x430(%rbp)
ff
movsd  %xmm0,-0x428(%rbp)
ff
movsd  -0x430(%rbp),%xmm1
ff
movsd  -0x428(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    5919 <check_add_double+0x4809>
movsd  -0x430(%rbp),%xmm0
ff
movaps 0x1769(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x176e(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x1742(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    5919 <check_add_double+0x4809>
jp     5919 <check_add_double+0x4809>
movsd  -0x428(%rbp),%xmm0
ff
movaps 0x1733(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1738(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x1704(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    5919 <check_add_double+0x4809>
jp     5919 <check_add_double+0x4809>
jmp    591e <check_add_double+0x480e>
call   1030 <abort@plt>
jmp    5923 <check_add_double+0x4813>
xor    %eax,%eax
test   $0x1,%al
jne    5932 <check_add_double+0x4822>
jmp    59a1 <check_add_double+0x4891>
mov    $0x1,%al
test   $0x1,%al
jne    5941 <check_add_double+0x4831>
jmp    595c <check_add_double+0x484c>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xa20(%rbp)
ff
movsd  %xmm0,-0xa18(%rbp)
ff
jmp    597c <check_add_double+0x486c>
xorps  %xmm1,%xmm1
movsd  0x1699(%rip),%xmm0
movsd  %xmm1,-0xa20(%rbp)
ff
movsd  %xmm0,-0xa18(%rbp)
ff
jmp    597c <check_add_double+0x486c>
movsd  -0xa20(%rbp),%xmm1
ff
movsd  -0xa18(%rbp),%xmm0
ff
movsd  %xmm1,-0xa30(%rbp)
ff
movsd  %xmm0,-0xa28(%rbp)
ff
jmp    5a10 <check_add_double+0x4900>
mov    $0x1,%al
test   $0x1,%al
jne    59b0 <check_add_double+0x48a0>
jmp    59d0 <check_add_double+0x48c0>
movsd  0x1648(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0xa40(%rbp)
ff
movsd  %xmm0,-0xa38(%rbp)
ff
jmp    59f0 <check_add_double+0x48e0>
movsd  0x1628(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xa40(%rbp)
ff
movsd  %xmm0,-0xa38(%rbp)
ff
jmp    59f0 <check_add_double+0x48e0>
movsd  -0xa40(%rbp),%xmm1
ff
movsd  -0xa38(%rbp),%xmm0
ff
movsd  %xmm1,-0xa30(%rbp)
ff
movsd  %xmm0,-0xa28(%rbp)
ff
movsd  -0xa30(%rbp),%xmm1
ff
movsd  -0xa28(%rbp),%xmm0
ff
movsd  %xmm1,-0x448(%rbp)
ff
movsd  %xmm0,-0x440(%rbp)
ff
movsd  -0x448(%rbp),%xmm1
ff
movsd  -0x440(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    5ad9 <check_add_double+0x49c9>
movsd  -0x448(%rbp),%xmm0
ff
movaps 0x15a9(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x15ae(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x1582(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    5ad9 <check_add_double+0x49c9>
jp     5ad9 <check_add_double+0x49c9>
movsd  -0x440(%rbp),%xmm0
ff
movaps 0x1573(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1578(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x1544(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    5ad9 <check_add_double+0x49c9>
jp     5ad9 <check_add_double+0x49c9>
jmp    5ade <check_add_double+0x49ce>
call   1030 <abort@plt>
jmp    5ae3 <check_add_double+0x49d3>
movsd  0x1515(%rip),%xmm0
movsd  %xmm0,-0x460(%rbp)
ff
movsd  -0x448(%rbp),%xmm1
ff
movsd  -0x440(%rbp),%xmm0
ff
movsd  -0x460(%rbp),%xmm2
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x458(%rbp)
ff
movsd  %xmm0,-0x450(%rbp)
ff
movsd  -0x458(%rbp),%xmm1
ff
movsd  -0x450(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    5bc8 <check_add_double+0x4ab8>
movsd  -0x458(%rbp),%xmm0
ff
movaps 0x14ba(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x14bf(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x1493(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    5bc8 <check_add_double+0x4ab8>
jp     5bc8 <check_add_double+0x4ab8>
movsd  -0x450(%rbp),%xmm0
ff
movaps 0x1484(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1489(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x1455(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    5bc8 <check_add_double+0x4ab8>
jp     5bc8 <check_add_double+0x4ab8>
jmp    5bcd <check_add_double+0x4abd>
call   1030 <abort@plt>
jmp    5bd2 <check_add_double+0x4ac2>
jmp    5bd7 <check_add_double+0x4ac7>
jmp    5bdc <check_add_double+0x4acc>
xor    %eax,%eax
test   $0x1,%al
jne    5beb <check_add_double+0x4adb>
jmp    5c5a <check_add_double+0x4b4a>
xor    %eax,%eax
test   $0x1,%al
jne    5bfa <check_add_double+0x4aea>
jmp    5c15 <check_add_double+0x4b05>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xa50(%rbp)
ff
movsd  %xmm0,-0xa48(%rbp)
ff
jmp    5c35 <check_add_double+0x4b25>
xorps  %xmm1,%xmm1
movsd  0x13e0(%rip),%xmm0
movsd  %xmm1,-0xa50(%rbp)
ff
movsd  %xmm0,-0xa48(%rbp)
ff
jmp    5c35 <check_add_double+0x4b25>
movsd  -0xa50(%rbp),%xmm1
ff
movsd  -0xa48(%rbp),%xmm0
ff
movsd  %xmm1,-0xa60(%rbp)
ff
movsd  %xmm0,-0xa58(%rbp)
ff
jmp    5cc9 <check_add_double+0x4bb9>
xor    %eax,%eax
test   $0x1,%al
jne    5c69 <check_add_double+0x4b59>
jmp    5c89 <check_add_double+0x4b79>
movsd  0x138f(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0xa70(%rbp)
ff
movsd  %xmm0,-0xa68(%rbp)
ff
jmp    5ca9 <check_add_double+0x4b99>
movsd  0x136f(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xa70(%rbp)
ff
movsd  %xmm0,-0xa68(%rbp)
ff
jmp    5ca9 <check_add_double+0x4b99>
movsd  -0xa70(%rbp),%xmm1
ff
movsd  -0xa68(%rbp),%xmm0
ff
movsd  %xmm1,-0xa60(%rbp)
ff
movsd  %xmm0,-0xa58(%rbp)
ff
movsd  -0xa60(%rbp),%xmm1
ff
movsd  -0xa58(%rbp),%xmm0
ff
movsd  %xmm1,-0x470(%rbp)
ff
movsd  %xmm0,-0x468(%rbp)
ff
movsd  -0x470(%rbp),%xmm1
ff
movsd  -0x468(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    5d92 <check_add_double+0x4c82>
movsd  -0x470(%rbp),%xmm0
ff
movaps 0x12f0(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x12f5(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x12c9(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    5d92 <check_add_double+0x4c82>
jp     5d92 <check_add_double+0x4c82>
movsd  -0x468(%rbp),%xmm0
ff
movaps 0x12ba(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x12bf(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x1293(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    5d92 <check_add_double+0x4c82>
jp     5d92 <check_add_double+0x4c82>
jmp    5d97 <check_add_double+0x4c87>
call   1030 <abort@plt>
jmp    5d9c <check_add_double+0x4c8c>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x488(%rbp)
ff
movsd  -0x470(%rbp),%xmm1
ff
movsd  -0x468(%rbp),%xmm0
ff
addsd  -0x488(%rbp),%xmm1
ff
movsd  %xmm1,-0x480(%rbp)
ff
movsd  %xmm0,-0x478(%rbp)
ff
movsd  -0x480(%rbp),%xmm1
ff
movsd  -0x478(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    5e78 <check_add_double+0x4d68>
movsd  -0x480(%rbp),%xmm0
ff
movaps 0x120a(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x120f(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x11db(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    5e78 <check_add_double+0x4d68>
jp     5e78 <check_add_double+0x4d68>
movsd  -0x478(%rbp),%xmm0
ff
movaps 0x11d4(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x11d9(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x11ad(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    5e78 <check_add_double+0x4d68>
jp     5e78 <check_add_double+0x4d68>
jmp    5e7d <check_add_double+0x4d6d>
call   1030 <abort@plt>
jmp    5e82 <check_add_double+0x4d72>
xor    %eax,%eax
test   $0x1,%al
jne    5e91 <check_add_double+0x4d81>
jmp    5f00 <check_add_double+0x4df0>
xor    %eax,%eax
test   $0x1,%al
jne    5ea0 <check_add_double+0x4d90>
jmp    5ebb <check_add_double+0x4dab>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xa80(%rbp)
ff
movsd  %xmm0,-0xa78(%rbp)
ff
jmp    5edb <check_add_double+0x4dcb>
xorps  %xmm1,%xmm1
movsd  0x113a(%rip),%xmm0
movsd  %xmm1,-0xa80(%rbp)
ff
movsd  %xmm0,-0xa78(%rbp)
ff
jmp    5edb <check_add_double+0x4dcb>
movsd  -0xa80(%rbp),%xmm1
ff
movsd  -0xa78(%rbp),%xmm0
ff
movsd  %xmm1,-0xa90(%rbp)
ff
movsd  %xmm0,-0xa88(%rbp)
ff
jmp    5f6f <check_add_double+0x4e5f>
xor    %eax,%eax
test   $0x1,%al
jne    5f0f <check_add_double+0x4dff>
jmp    5f2f <check_add_double+0x4e1f>
movsd  0x10e9(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0xaa0(%rbp)
ff
movsd  %xmm0,-0xa98(%rbp)
ff
jmp    5f4f <check_add_double+0x4e3f>
movsd  0x10c9(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xaa0(%rbp)
ff
movsd  %xmm0,-0xa98(%rbp)
ff
jmp    5f4f <check_add_double+0x4e3f>
movsd  -0xaa0(%rbp),%xmm1
ff
movsd  -0xa98(%rbp),%xmm0
ff
movsd  %xmm1,-0xa90(%rbp)
ff
movsd  %xmm0,-0xa88(%rbp)
ff
movsd  -0xa90(%rbp),%xmm1
ff
movsd  -0xa88(%rbp),%xmm0
ff
movsd  %xmm1,-0x498(%rbp)
ff
movsd  %xmm0,-0x490(%rbp)
ff
movsd  -0x498(%rbp),%xmm1
ff
movsd  -0x490(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    6038 <check_add_double+0x4f28>
movsd  -0x498(%rbp),%xmm0
ff
movaps 0x104a(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x104f(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x1023(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    6038 <check_add_double+0x4f28>
jp     6038 <check_add_double+0x4f28>
movsd  -0x490(%rbp),%xmm0
movaps 0x1014(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1019(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0xfed(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    6038 <check_add_double+0x4f28>
jp     6038 <check_add_double+0x4f28>
jmp    603d <check_add_double+0x4f2d>
call   1030 <abort@plt>
jmp    6042 <check_add_double+0x4f32>
xorps  %xmm0,%xmm0
movsd  %xmm0,-0x4b0(%rbp)
ff
movsd  -0x498(%rbp),%xmm1
ff
movsd  -0x490(%rbp),%xmm0
ff
movsd  -0x4b0(%rbp),%xmm2
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x4a8(%rbp)
ff
movsd  %xmm0,-0x4a0(%rbp)
ff
movsd  -0x4a8(%rbp),%xmm1
ff
movsd  -0x4a0(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    6122 <check_add_double+0x5012>
movsd  -0x4a8(%rbp),%xmm0
ff
movaps 0xf60(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xf65(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0xf31(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    6122 <check_add_double+0x5012>
jp     6122 <check_add_double+0x5012>
movsd  -0x4a0(%rbp),%xmm0
ff
movaps 0xf2a(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xf2f(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0xf03(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    6122 <check_add_double+0x5012>
jp     6122 <check_add_double+0x5012>
jmp    6127 <check_add_double+0x5017>
call   1030 <abort@plt>
jmp    612c <check_add_double+0x501c>
jmp    6131 <check_add_double+0x5021>
jmp    6136 <check_add_double+0x5026>
xor    %eax,%eax
test   $0x1,%al
jne    6145 <check_add_double+0x5035>
jmp    61b4 <check_add_double+0x50a4>
xor    %eax,%eax
test   $0x1,%al
jne    6154 <check_add_double+0x5044>
jmp    616f <check_add_double+0x505f>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xab0(%rbp)
ff
movsd  %xmm0,-0xaa8(%rbp)
ff
jmp    618f <check_add_double+0x507f>
xorps  %xmm1,%xmm1
movsd  0xe86(%rip),%xmm0
movsd  %xmm1,-0xab0(%rbp)
ff
movsd  %xmm0,-0xaa8(%rbp)
ff
jmp    618f <check_add_double+0x507f>
movsd  -0xab0(%rbp),%xmm1
ff
movsd  -0xaa8(%rbp),%xmm0
ff
movsd  %xmm1,-0xac0(%rbp)
ff
movsd  %xmm0,-0xab8(%rbp)
ff
jmp    6223 <check_add_double+0x5113>
xor    %eax,%eax
test   $0x1,%al
jne    61c3 <check_add_double+0x50b3>
jmp    61e3 <check_add_double+0x50d3>
movsd  0xe35(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0xad0(%rbp)
ff
movsd  %xmm0,-0xac8(%rbp)
ff
jmp    6203 <check_add_double+0x50f3>
movsd  0xe15(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xad0(%rbp)
ff
movsd  %xmm0,-0xac8(%rbp)
ff
jmp    6203 <check_add_double+0x50f3>
movsd  -0xad0(%rbp),%xmm1
ff
movsd  -0xac8(%rbp),%xmm0
ff
movsd  %xmm1,-0xac0(%rbp)
ff
movsd  %xmm0,-0xab8(%rbp)
ff
movsd  -0xac0(%rbp),%xmm1
ff
movsd  -0xab8(%rbp),%xmm0
ff
movsd  %xmm1,-0x4c0(%rbp)
ff
movsd  %xmm0,-0x4b8(%rbp)
ff
movsd  -0x4c0(%rbp),%xmm1
ff
movsd  -0x4b8(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    62ec <check_add_double+0x51dc>
movsd  -0x4c0(%rbp),%xmm0
ff
movaps 0xd96(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xd9b(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0xd6f(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    62ec <check_add_double+0x51dc>
jp     62ec <check_add_double+0x51dc>
movsd  -0x4b8(%rbp),%xmm0
ff
movaps 0xd60(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xd65(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0xd39(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    62ec <check_add_double+0x51dc>
jp     62ec <check_add_double+0x51dc>
jmp    62f1 <check_add_double+0x51e1>
call   1030 <abort@plt>
jmp    62f6 <check_add_double+0x51e6>
movsd  0xd02(%rip),%xmm0
movsd  %xmm0,-0x4d8(%rbp)
ff
movsd  -0x4c0(%rbp),%xmm1
ff
movsd  -0x4b8(%rbp),%xmm0
ff
addsd  -0x4d8(%rbp),%xmm1
ff
movsd  %xmm1,-0x4d0(%rbp)
ff
movsd  %xmm0,-0x4c8(%rbp)
ff
movsd  -0x4d0(%rbp),%xmm1
ff
movsd  -0x4c8(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    63d7 <check_add_double+0x52c7>
movsd  -0x4d0(%rbp),%xmm0
ff
movaps 0xcab(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xcb0(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0xc84(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    63d7 <check_add_double+0x52c7>
jp     63d7 <check_add_double+0x52c7>
movsd  -0x4c8(%rbp),%xmm0
ff
movaps 0xc75(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xc7a(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0xc4e(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    63d7 <check_add_double+0x52c7>
jp     63d7 <check_add_double+0x52c7>
jmp    63dc <check_add_double+0x52cc>
call   1030 <abort@plt>
jmp    63e1 <check_add_double+0x52d1>
xor    %eax,%eax
test   $0x1,%al
jne    63f0 <check_add_double+0x52e0>
jmp    645f <check_add_double+0x534f>
xor    %eax,%eax
test   $0x1,%al
jne    63ff <check_add_double+0x52ef>
jmp    641a <check_add_double+0x530a>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xae0(%rbp)
ff
movsd  %xmm0,-0xad8(%rbp)
ff
jmp    643a <check_add_double+0x532a>
xorps  %xmm1,%xmm1
movsd  0xbdb(%rip),%xmm0
movsd  %xmm1,-0xae0(%rbp)
ff
movsd  %xmm0,-0xad8(%rbp)
ff
jmp    643a <check_add_double+0x532a>
movsd  -0xae0(%rbp),%xmm1
ff
movsd  -0xad8(%rbp),%xmm0
ff
movsd  %xmm1,-0xaf0(%rbp)
ff
movsd  %xmm0,-0xae8(%rbp)
ff
jmp    64ce <check_add_double+0x53be>
xor    %eax,%eax
test   $0x1,%al
jne    646e <check_add_double+0x535e>
jmp    648e <check_add_double+0x537e>
movsd  0xb8a(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0xb00(%rbp)
ff
movsd  %xmm0,-0xaf8(%rbp)
ff
jmp    64ae <check_add_double+0x539e>
movsd  0xb6a(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xb00(%rbp)
ff
movsd  %xmm0,-0xaf8(%rbp)
ff
jmp    64ae <check_add_double+0x539e>
movsd  -0xb00(%rbp),%xmm1
ff
movsd  -0xaf8(%rbp),%xmm0
ff
movsd  %xmm1,-0xaf0(%rbp)
ff
movsd  %xmm0,-0xae8(%rbp)
ff
movsd  -0xaf0(%rbp),%xmm1
ff
movsd  -0xae8(%rbp),%xmm0
ff
movsd  %xmm1,-0x4e8(%rbp)
ff
movsd  %xmm0,-0x4e0(%rbp)
ff
movsd  -0x4e8(%rbp),%xmm1
ff
movsd  -0x4e0(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    6597 <check_add_double+0x5487>
movsd  -0x4e8(%rbp),%xmm0
ff
movaps 0xaeb(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xaf0(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0xac4(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    6597 <check_add_double+0x5487>
jp     6597 <check_add_double+0x5487>
movsd  -0x4e0(%rbp),%xmm0
ff
movaps 0xab5(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xaba(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0xa8e(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    6597 <check_add_double+0x5487>
jp     6597 <check_add_double+0x5487>
jmp    659c <check_add_double+0x548c>
call   1030 <abort@plt>
jmp    65a1 <check_add_double+0x5491>
movsd  0xa57(%rip),%xmm0
movsd  %xmm0,-0x500(%rbp)
ff
movsd  -0x4e8(%rbp),%xmm1
ff
movsd  -0x4e0(%rbp),%xmm0
ff
movsd  -0x500(%rbp),%xmm2
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x4f8(%rbp)
ff
movsd  %xmm0,-0x4f0(%rbp)
ff
movsd  -0x4f8(%rbp),%xmm1
ff
movsd  -0x4f0(%rbp),%xmm0
ff
xorps  %xmm2,%xmm2
ucomisd %xmm2,%xmm1
setne  %al
setp   %cl
or     %cl,%al
xorps  %xmm1,%xmm1
ucomisd %xmm1,%xmm0
setne  %cl
setp   %dl
or     %dl,%cl
or     %cl,%al
test   $0x1,%al
jne    6686 <check_add_double+0x5576>
movsd  -0x4f8(%rbp),%xmm0
ff
movaps 0x9fc(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xa01(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x9d5(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    6686 <check_add_double+0x5576>
jp     6686 <check_add_double+0x5576>
movsd  -0x4f0(%rbp),%xmm0
ff
movaps 0x9c6(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x9cb(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x99f(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    6686 <check_add_double+0x5576>
jp     6686 <check_add_double+0x5576>
jmp    668b <check_add_double+0x557b>
call   1030 <abort@plt>
jmp    6690 <check_add_double+0x5580>
jmp    6695 <check_add_double+0x5585>
jmp    669a <check_add_double+0x558a>
add    $0xb00,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<check_add_double>:
sub    $0x28,%rsp
movq   $0x0,0x18(%rsp)
movq   $0x0,(%rsp)
movq   $0x0,0x8(%rsp)
movsd  (%rsp),%xmm2
movsd  0x8(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
ucomisd %xmm1,%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  (%rsp),%xmm0
andpd  0x1e96(%rip),%xmm0
orpd   0x1e9e(%rip),%xmm0
ucomisd 0x1ea6(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x8(%rsp),%xmm0
andpd  0x1e6c(%rip),%xmm0
orpd   0x1e74(%rip),%xmm0
ucomisd 0x1e7c(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x18(%rsp),%xmm0
addsd  (%rsp),%xmm0
movsd  0x8(%rsp),%xmm1
movsd  %xmm0,0x10(%rsp)
movsd  %xmm1,0x20(%rsp)
movsd  0x10(%rsp),%xmm2
movsd  0x20(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
ucomisd %xmm1,%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x10(%rsp),%xmm0
andpd  0x1df5(%rip),%xmm0
orpd   0x1dfd(%rip),%xmm0
ucomisd 0x1e05(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x20(%rsp),%xmm0
andpd  0x1dcb(%rip),%xmm0
orpd   0x1dd3(%rip),%xmm0
ucomisd 0x1ddb(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movq   $0x0,0x18(%rsp)
movq   $0x0,(%rsp)
movabs $0x8000000000000000,%rax
mov    %rax,0x8(%rsp)
movsd  (%rsp),%xmm2
movsd  0x8(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
ucomisd %xmm1,%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  (%rsp),%xmm0
andpd  0x1d53(%rip),%xmm0
orpd   0x1d5b(%rip),%xmm0
ucomisd 0x1d63(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x8(%rsp),%xmm0
andpd  0x1d29(%rip),%xmm0
orpd   0x1d31(%rip),%xmm0
ucomisd 0x1d41(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x18(%rsp),%xmm0
addsd  (%rsp),%xmm0
movsd  0x8(%rsp),%xmm1
movsd  %xmm0,0x10(%rsp)
movsd  %xmm1,0x20(%rsp)
movsd  0x10(%rsp),%xmm2
movsd  0x20(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
ucomisd %xmm1,%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x10(%rsp),%xmm0
andpd  0x1cb2(%rip),%xmm0
orpd   0x1cba(%rip),%xmm0
ucomisd 0x1cc2(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x20(%rsp),%xmm0
andpd  0x1c88(%rip),%xmm0
orpd   0x1c90(%rip),%xmm0
ucomisd 0x1ca0(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movq   $0x0,0x18(%rsp)
mov    %rax,(%rsp)
movq   $0x0,0x8(%rsp)
movsd  (%rsp),%xmm2
movsd  0x8(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
ucomisd %xmm1,%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  (%rsp),%xmm0
andpd  0x1c1a(%rip),%xmm0
orpd   0x1c22(%rip),%xmm0
ucomisd 0x1c32(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x8(%rsp),%xmm0
andpd  0x1bf0(%rip),%xmm0
orpd   0x1bf8(%rip),%xmm0
ucomisd 0x1c00(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x18(%rsp),%xmm0
addsd  (%rsp),%xmm0
movsd  0x8(%rsp),%xmm1
movsd  %xmm0,0x10(%rsp)
movsd  %xmm1,0x20(%rsp)
movsd  0x10(%rsp),%xmm2
movsd  0x20(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
ucomisd %xmm1,%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x10(%rsp),%xmm0
andpd  0x1b79(%rip),%xmm0
orpd   0x1b81(%rip),%xmm0
ucomisd 0x1b89(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x20(%rsp),%xmm0
andpd  0x1b4f(%rip),%xmm0
orpd   0x1b57(%rip),%xmm0
ucomisd 0x1b5f(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movq   $0x0,0x18(%rsp)
mov    %rax,(%rsp)
mov    %rax,0x8(%rsp)
movsd  (%rsp),%xmm2
movsd  0x8(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
ucomisd %xmm1,%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  (%rsp),%xmm0
andpd  0x1ae5(%rip),%xmm0
orpd   0x1aed(%rip),%xmm0
ucomisd 0x1afd(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x8(%rsp),%xmm0
andpd  0x1abb(%rip),%xmm0
orpd   0x1ac3(%rip),%xmm0
ucomisd 0x1ad3(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x18(%rsp),%xmm0
addsd  (%rsp),%xmm0
movsd  0x8(%rsp),%xmm1
movsd  %xmm0,0x10(%rsp)
movsd  %xmm1,0x20(%rsp)
movsd  0x10(%rsp),%xmm2
movsd  0x20(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
ucomisd %xmm1,%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x10(%rsp),%xmm0
andpd  0x1a44(%rip),%xmm0
orpd   0x1a4c(%rip),%xmm0
ucomisd 0x1a54(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x20(%rsp),%xmm0
andpd  0x1a1a(%rip),%xmm0
orpd   0x1a22(%rip),%xmm0
ucomisd 0x1a32(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
mov    %rax,0x18(%rsp)
movq   $0x0,(%rsp)
movq   $0x0,0x8(%rsp)
movsd  (%rsp),%xmm2
movsd  0x8(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
ucomisd %xmm1,%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  (%rsp),%xmm0
andpd  0x19ac(%rip),%xmm0
orpd   0x19b4(%rip),%xmm0
ucomisd 0x19bc(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x8(%rsp),%xmm0
andpd  0x1982(%rip),%xmm0
orpd   0x198a(%rip),%xmm0
ucomisd 0x1992(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x18(%rsp),%xmm0
addsd  (%rsp),%xmm0
movsd  0x8(%rsp),%xmm1
movsd  %xmm0,0x10(%rsp)
movsd  %xmm1,0x20(%rsp)
movsd  0x10(%rsp),%xmm2
movsd  0x20(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
ucomisd %xmm1,%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x10(%rsp),%xmm0
andpd  0x190b(%rip),%xmm0
orpd   0x1913(%rip),%xmm0
ucomisd 0x191b(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x20(%rsp),%xmm0
andpd  0x18e1(%rip),%xmm0
orpd   0x18e9(%rip),%xmm0
ucomisd 0x18f1(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
mov    %rax,0x18(%rsp)
movq   $0x0,(%rsp)
mov    %rax,0x8(%rsp)
movsd  (%rsp),%xmm2
movsd  0x8(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
ucomisd %xmm1,%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  (%rsp),%xmm0
andpd  0x1877(%rip),%xmm0
orpd   0x187f(%rip),%xmm0
ucomisd 0x1887(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x8(%rsp),%xmm0
andpd  0x184d(%rip),%xmm0
orpd   0x1855(%rip),%xmm0
ucomisd 0x1865(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x18(%rsp),%xmm0
addsd  (%rsp),%xmm0
movsd  0x8(%rsp),%xmm1
movsd  %xmm0,0x10(%rsp)
movsd  %xmm1,0x20(%rsp)
movsd  0x10(%rsp),%xmm2
movsd  0x20(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
ucomisd %xmm1,%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x10(%rsp),%xmm0
andpd  0x17d6(%rip),%xmm0
orpd   0x17de(%rip),%xmm0
ucomisd 0x17e6(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x20(%rsp),%xmm0
andpd  0x17ac(%rip),%xmm0
orpd   0x17b4(%rip),%xmm0
ucomisd 0x17c4(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
mov    %rax,0x18(%rsp)
mov    %rax,(%rsp)
movq   $0x0,0x8(%rsp)
movsd  (%rsp),%xmm2
movsd  0x8(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
ucomisd %xmm1,%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  (%rsp),%xmm0
andpd  0x1742(%rip),%xmm0
orpd   0x174a(%rip),%xmm0
ucomisd 0x175a(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x8(%rsp),%xmm0
andpd  0x1718(%rip),%xmm0
orpd   0x1720(%rip),%xmm0
ucomisd 0x1728(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x18(%rsp),%xmm0
addsd  (%rsp),%xmm0
movsd  0x8(%rsp),%xmm1
movsd  %xmm0,0x10(%rsp)
movsd  %xmm1,0x20(%rsp)
movsd  0x10(%rsp),%xmm2
movsd  0x20(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
ucomisd %xmm1,%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x10(%rsp),%xmm0
andpd  0x16a1(%rip),%xmm0
orpd   0x16a9(%rip),%xmm0
ucomisd 0x16b9(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x20(%rsp),%xmm0
andpd  0x1677(%rip),%xmm0
orpd   0x167f(%rip),%xmm0
ucomisd 0x1687(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
mov    %rax,0x18(%rsp)
mov    %rax,(%rsp)
mov    %rax,0x8(%rsp)
movsd  (%rsp),%xmm2
movsd  0x8(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
ucomisd %xmm1,%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  (%rsp),%xmm0
andpd  0x1611(%rip),%xmm0
orpd   0x1619(%rip),%xmm0
ucomisd 0x1629(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x8(%rsp),%xmm0
andpd  0x15e7(%rip),%xmm0
orpd   0x15ef(%rip),%xmm0
ucomisd 0x15ff(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x18(%rsp),%xmm0
addsd  (%rsp),%xmm0
movsd  0x8(%rsp),%xmm1
movsd  %xmm0,0x10(%rsp)
movsd  %xmm1,0x20(%rsp)
movsd  0x10(%rsp),%xmm2
movsd  0x20(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
ucomisd %xmm1,%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x10(%rsp),%xmm0
andpd  0x1570(%rip),%xmm0
orpd   0x1578(%rip),%xmm0
ucomisd 0x1588(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x20(%rsp),%xmm0
andpd  0x1546(%rip),%xmm0
orpd   0x154e(%rip),%xmm0
ucomisd 0x155e(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movq   $0x0,0x18(%rsp)
movq   $0x0,(%rsp)
movsd  0x18(%rsp),%xmm2
movsd  (%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
ucomisd %xmm1,%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x18(%rsp),%xmm0
andpd  0x14dc(%rip),%xmm0
orpd   0x14e4(%rip),%xmm0
ucomisd 0x14ec(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  (%rsp),%xmm0
andpd  0x14b3(%rip),%xmm0
orpd   0x14bb(%rip),%xmm0
ucomisd 0x14c3(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movq   $0x0,0x20(%rsp)
movsd  0x18(%rsp),%xmm0
movsd  (%rsp),%xmm1
addsd  0x20(%rsp),%xmm0
movsd  %xmm0,0x8(%rsp)
movsd  %xmm1,0x10(%rsp)
movsd  0x8(%rsp),%xmm2
movsd  0x10(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
ucomisd %xmm1,%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x8(%rsp),%xmm0
andpd  0x1433(%rip),%xmm0
orpd   0x143b(%rip),%xmm0
ucomisd 0x1443(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x10(%rsp),%xmm0
andpd  0x1409(%rip),%xmm0
orpd   0x1411(%rip),%xmm0
ucomisd 0x1419(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movq   $0x0,0x18(%rsp)
movq   $0x0,(%rsp)
movsd  0x18(%rsp),%xmm2
movsd  (%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
ucomisd %xmm1,%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x18(%rsp),%xmm0
andpd  0x139f(%rip),%xmm0
orpd   0x13a7(%rip),%xmm0
ucomisd 0x13af(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  (%rsp),%xmm0
andpd  0x1376(%rip),%xmm0
orpd   0x137e(%rip),%xmm0
ucomisd 0x1386(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
mov    %rax,0x20(%rsp)
movsd  0x18(%rsp),%xmm0
movsd  (%rsp),%xmm1
addsd  0x20(%rsp),%xmm0
movsd  %xmm0,0x8(%rsp)
movsd  %xmm1,0x10(%rsp)
movsd  0x8(%rsp),%xmm2
movsd  0x10(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
ucomisd %xmm1,%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x8(%rsp),%xmm0
andpd  0x12fa(%rip),%xmm0
orpd   0x1302(%rip),%xmm0
ucomisd 0x130a(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x10(%rsp),%xmm0
andpd  0x12d0(%rip),%xmm0
orpd   0x12d8(%rip),%xmm0
ucomisd 0x12e0(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movq   $0x0,0x18(%rsp)
mov    %rax,(%rsp)
movsd  0x18(%rsp),%xmm2
movsd  (%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
ucomisd %xmm1,%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x18(%rsp),%xmm0
andpd  0x126a(%rip),%xmm0
orpd   0x1272(%rip),%xmm0
ucomisd 0x127a(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  (%rsp),%xmm0
andpd  0x1241(%rip),%xmm0
orpd   0x1249(%rip),%xmm0
ucomisd 0x1259(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movq   $0x0,0x20(%rsp)
movsd  0x18(%rsp),%xmm0
movsd  (%rsp),%xmm1
addsd  0x20(%rsp),%xmm0
movsd  %xmm0,0x8(%rsp)
movsd  %xmm1,0x10(%rsp)
movsd  0x8(%rsp),%xmm2
movsd  0x10(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
ucomisd %xmm1,%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x8(%rsp),%xmm0
andpd  0x11c1(%rip),%xmm0
orpd   0x11c9(%rip),%xmm0
ucomisd 0x11d1(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x10(%rsp),%xmm0
andpd  0x1197(%rip),%xmm0
orpd   0x119f(%rip),%xmm0
ucomisd 0x11af(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movq   $0x0,0x18(%rsp)
mov    %rax,(%rsp)
movsd  0x18(%rsp),%xmm2
movsd  (%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
ucomisd %xmm1,%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x18(%rsp),%xmm0
andpd  0x1131(%rip),%xmm0
orpd   0x1139(%rip),%xmm0
ucomisd 0x1141(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  (%rsp),%xmm0
andpd  0x1108(%rip),%xmm0
orpd   0x1110(%rip),%xmm0
ucomisd 0x1120(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
mov    %rax,0x20(%rsp)
movsd  0x18(%rsp),%xmm0
movsd  (%rsp),%xmm1
addsd  0x20(%rsp),%xmm0
movsd  %xmm0,0x8(%rsp)
movsd  %xmm1,0x10(%rsp)
movsd  0x8(%rsp),%xmm2
movsd  0x10(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
ucomisd %xmm1,%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x8(%rsp),%xmm0
andpd  0x108c(%rip),%xmm0
orpd   0x1094(%rip),%xmm0
ucomisd 0x109c(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x10(%rsp),%xmm0
andpd  0x1062(%rip),%xmm0
orpd   0x106a(%rip),%xmm0
ucomisd 0x107a(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
mov    %rax,0x18(%rsp)
movq   $0x0,(%rsp)
movsd  0x18(%rsp),%xmm2
movsd  (%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
ucomisd %xmm1,%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x18(%rsp),%xmm0
andpd  0xffc(%rip),%xmm0
orpd   0x1004(%rip),%xmm0
ucomisd 0x1014(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  (%rsp),%xmm0
andpd  0xfd3(%rip),%xmm0
orpd   0xfdb(%rip),%xmm0
ucomisd 0xfe3(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movq   $0x0,0x20(%rsp)
movsd  0x18(%rsp),%xmm0
movsd  (%rsp),%xmm1
addsd  0x20(%rsp),%xmm0
movsd  %xmm0,0x8(%rsp)
movsd  %xmm1,0x10(%rsp)
movsd  0x8(%rsp),%xmm2
movsd  0x10(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
ucomisd %xmm1,%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x8(%rsp),%xmm0
andpd  0xf53(%rip),%xmm0
orpd   0xf5b(%rip),%xmm0
ucomisd 0xf63(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x10(%rsp),%xmm0
andpd  0xf29(%rip),%xmm0
orpd   0xf31(%rip),%xmm0
ucomisd 0xf39(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
mov    %rax,0x18(%rsp)
movq   $0x0,(%rsp)
movsd  0x18(%rsp),%xmm2
movsd  (%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
ucomisd %xmm1,%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x18(%rsp),%xmm0
andpd  0xec3(%rip),%xmm0
orpd   0xecb(%rip),%xmm0
ucomisd 0xedb(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  (%rsp),%xmm0
andpd  0xe9a(%rip),%xmm0
orpd   0xea2(%rip),%xmm0
ucomisd 0xeaa(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
mov    %rax,0x20(%rsp)
movsd  0x18(%rsp),%xmm0
movsd  (%rsp),%xmm1
addsd  0x20(%rsp),%xmm0
movsd  %xmm0,0x8(%rsp)
movsd  %xmm1,0x10(%rsp)
movsd  0x8(%rsp),%xmm2
movsd  0x10(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
ucomisd %xmm1,%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x8(%rsp),%xmm0
andpd  0xe1e(%rip),%xmm0
orpd   0xe26(%rip),%xmm0
ucomisd 0xe36(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x10(%rsp),%xmm0
andpd  0xdf4(%rip),%xmm0
orpd   0xdfc(%rip),%xmm0
ucomisd 0xe04(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
mov    %rax,0x18(%rsp)
mov    %rax,(%rsp)
movsd  0x18(%rsp),%xmm2
movsd  (%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
ucomisd %xmm1,%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x18(%rsp),%xmm0
andpd  0xd92(%rip),%xmm0
orpd   0xd9a(%rip),%xmm0
ucomisd 0xdaa(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  (%rsp),%xmm0
andpd  0xd69(%rip),%xmm0
orpd   0xd71(%rip),%xmm0
ucomisd 0xd81(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movq   $0x0,0x20(%rsp)
movsd  0x18(%rsp),%xmm0
movsd  (%rsp),%xmm1
addsd  0x20(%rsp),%xmm0
movsd  %xmm0,0x8(%rsp)
movsd  %xmm1,0x10(%rsp)
movsd  0x8(%rsp),%xmm2
movsd  0x10(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
ucomisd %xmm1,%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x8(%rsp),%xmm0
andpd  0xce9(%rip),%xmm0
orpd   0xcf1(%rip),%xmm0
ucomisd 0xcf9(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x10(%rsp),%xmm0
andpd  0xcbf(%rip),%xmm0
orpd   0xcc7(%rip),%xmm0
ucomisd 0xcd7(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
mov    %rax,0x18(%rsp)
mov    %rax,(%rsp)
movsd  0x18(%rsp),%xmm2
movsd  (%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
ucomisd %xmm1,%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x18(%rsp),%xmm0
andpd  0xc5d(%rip),%xmm0
orpd   0xc65(%rip),%xmm0
ucomisd 0xc75(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  (%rsp),%xmm0
andpd  0xc34(%rip),%xmm0
orpd   0xc3c(%rip),%xmm0
ucomisd 0xc4c(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
mov    %rax,0x20(%rsp)
movsd  0x18(%rsp),%xmm0
movsd  (%rsp),%xmm1
addsd  0x20(%rsp),%xmm0
movsd  %xmm0,0x8(%rsp)
movsd  %xmm1,0x10(%rsp)
movsd  0x8(%rsp),%xmm2
movsd  0x10(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
ucomisd %xmm1,%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x8(%rsp),%xmm0
andpd  0xbc8(%rip),%xmm0
orpd   0xbd0(%rip),%xmm0
ucomisd 0xbe0(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
movsd  0x10(%rsp),%xmm0
andpd  0xba6(%rip),%xmm0
orpd   0xbae(%rip),%xmm0
ucomisd 0xbbe(%rip),%xmm0
jne    2473 <check_add_double+0x1363>
jp     2473 <check_add_double+0x1363>
add    $0x28,%rsp
ret
call   1030 <abort@plt>

LLVM IR (-O0):
define void @check_add_double() {
%1 = alloca double
%2 = alloca { double, double }
%3 = alloca { double, double }
%4 = alloca double
%5 = alloca { double, double }
%6 = alloca { double, double }
%7 = alloca double
%8 = alloca { double, double }
%9 = alloca { double, double }
%10 = alloca double
%11 = alloca { double, double }
%12 = alloca { double, double }
%13 = alloca double
%14 = alloca { double, double }
%15 = alloca { double, double }
%16 = alloca double
%17 = alloca { double, double }
%18 = alloca { double, double }
%19 = alloca double
%20 = alloca { double, double }
%21 = alloca { double, double }
%22 = alloca double
%23 = alloca { double, double }
%24 = alloca { double, double }
%25 = alloca double
%26 = alloca { double, double }
%27 = alloca { double, double }
%28 = alloca double
%29 = alloca { double, double }
%30 = alloca { double, double }
%31 = alloca double
%32 = alloca { double, double }
%33 = alloca { double, double }
%34 = alloca double
%35 = alloca { double, double }
%36 = alloca { double, double }
%37 = alloca double
%38 = alloca { double, double }
%39 = alloca { double, double }
%40 = alloca double
%41 = alloca { double, double }
%42 = alloca { double, double }
%43 = alloca double
%44 = alloca { double, double }
%45 = alloca { double, double }
%46 = alloca double
%47 = alloca { double, double }
%48 = alloca { double, double }
%49 = alloca { double, double }
%50 = alloca { double, double }
%51 = alloca double
%52 = alloca { double, double }
%53 = alloca { double, double }
%54 = alloca double
%55 = alloca { double, double }
%56 = alloca { double, double }
%57 = alloca double
%58 = alloca { double, double }
%59 = alloca { double, double }
%60 = alloca double
%61 = alloca { double, double }
%62 = alloca { double, double }
%63 = alloca double
%64 = alloca { double, double }
%65 = alloca { double, double }
%66 = alloca double
%67 = alloca { double, double }
%68 = alloca { double, double }
%69 = alloca double
%70 = alloca { double, double }
%71 = alloca { double, double }
%72 = alloca double
%73 = alloca { double, double }
%74 = alloca { double, double }
%75 = alloca double
%76 = alloca { double, double }
%77 = alloca { double, double }
%78 = alloca double
%79 = alloca { double, double }
%80 = alloca { double, double }
%81 = alloca double
%82 = alloca { double, double }
%83 = alloca { double, double }
%84 = alloca double
%85 = alloca { double, double }
%86 = alloca { double, double }
%87 = alloca double
%88 = alloca { double, double }
%89 = alloca { double, double }
%90 = alloca double
%91 = alloca { double, double }
%92 = alloca { double, double }
%93 = alloca double
%94 = alloca { double, double }
%95 = alloca { double, double }
%96 = alloca double
br label %97
97: ; preds = %0
br label %98
98: ; preds = %97
store double 0.000000e+00, double* %1
br i1 true, label %99, label %105
99: ; preds = %98
br i1 true, label %100, label %101
100: ; preds = %99
br label %102
101: ; preds = %99
br label %102
102: ; preds = %101, %100
%103 = phi double [ 0.000000e+00, %100 ], [ 0.000000e+00, %101 ]
%104 = phi double [ 0.000000e+00, %100 ], [ -0.000000e+00, %101 ]
br label %111
105: ; preds = %98
br i1 true, label %106, label %107
106: ; preds = %105
br label %108
107: ; preds = %105
br label %108
108: ; preds = %107, %106
%109 = phi double [ -0.000000e+00, %106 ], [ -0.000000e+00, %107 ]
%110 = phi double [ 0.000000e+00, %106 ], [ -0.000000e+00, %107 ]
br label %111
111: ; preds = %108, %102
%112 = phi double [ %103, %102 ], [ %109, %108 ]
%113 = phi double [ %104, %102 ], [ %110, %108 ]
%114 = getelementptr inbounds { double, double }, { double, double }* %2, i32 0, i32 0
%115 = getelementptr inbounds { double, double }, { double, double }* %2, i32 0, i32 1
store double %112, double* %114
store double %113, double* %115
br label %116
116: ; preds = %111
%117 = getelementptr inbounds { double, double }, { double, double }* %2, i32 0, i32 0
%118 = load double, double* %117
%119 = getelementptr inbounds { double, double }, { double, double }* %2, i32 0, i32 1
%120 = load double, double* %119
%121 = fcmp une double %118, 0.000000e+00
%122 = fcmp une double %120, 0.000000e+00
%123 = or i1 %121, %122
br i1 %123, label %134, label %124
124: ; preds = %116
%125 = getelementptr inbounds { double, double }, { double, double }* %2, i32 0, i32 0
%126 = load double, double* %125
%127 = call double @llvm.copysign.f64(double 1.000000e+00, double %126)
%128 = fcmp une double %127, 1.000000e+00
br i1 %128, label %134, label %129
129: ; preds = %124
%130 = getelementptr inbounds { double, double }, { double, double }* %2, i32 0, i32 1
%131 = load double, double* %130
%132 = call double @llvm.copysign.f64(double 1.000000e+00, double %131)
%133 = fcmp une double %132, 1.000000e+00
br i1 %133, label %134, label %135
134: ; preds = %129, %124, %116
unreachable
135: ; preds = %129
br label %136
136: ; preds = %135
%137 = load double, double* %1
%138 = getelementptr inbounds { double, double }, { double, double }* %2, i32 0, i32 0
%139 = load double, double* %138
%140 = getelementptr inbounds { double, double }, { double, double }* %2, i32 0, i32 1
%141 = load double, double* %140
%142 = fadd double %137, %139
%143 = getelementptr inbounds { double, double }, { double, double }* %3, i32 0, i32 0
%144 = getelementptr inbounds { double, double }, { double, double }* %3, i32 0, i32 1
store double %142, double* %143
store double %141, double* %144
br label %145
145: ; preds = %136
%146 = getelementptr inbounds { double, double }, { double, double }* %3, i32 0, i32 0
%147 = load double, double* %146
%148 = getelementptr inbounds { double, double }, { double, double }* %3, i32 0, i32 1
%149 = load double, double* %148
%150 = fcmp une double %147, 0.000000e+00
%151 = fcmp une double %149, 0.000000e+00
%152 = or i1 %150, %151
br i1 %152, label %163, label %153
153: ; preds = %145
%154 = getelementptr inbounds { double, double }, { double, double }* %3, i32 0, i32 0
%155 = load double, double* %154
%156 = call double @llvm.copysign.f64(double 1.000000e+00, double %155)
%157 = fcmp une double %156, 1.000000e+00
br i1 %157, label %163, label %158
158: ; preds = %153
%159 = getelementptr inbounds { double, double }, { double, double }* %3, i32 0, i32 1
%160 = load double, double* %159
%161 = call double @llvm.copysign.f64(double 1.000000e+00, double %160)
%162 = fcmp une double %161, 1.000000e+00
br i1 %162, label %163, label %164
163: ; preds = %158, %153, %145
unreachable
164: ; preds = %158
br label %165
165: ; preds = %164
store volatile double 0.000000e+00, double* %4
br i1 true, label %166, label %172
166: ; preds = %165
br i1 true, label %167, label %168
167: ; preds = %166
br label %169
168: ; preds = %166
br label %169
169: ; preds = %168, %167
%170 = phi double [ 0.000000e+00, %167 ], [ 0.000000e+00, %168 ]
%171 = phi double [ 0.000000e+00, %167 ], [ -0.000000e+00, %168 ]
br label %178
172: ; preds = %165
br i1 true, label %173, label %174
173: ; preds = %172
br label %175
174: ; preds = %172
br label %175
175: ; preds = %174, %173
%176 = phi double [ -0.000000e+00, %173 ], [ -0.000000e+00, %174 ]
%177 = phi double [ 0.000000e+00, %173 ], [ -0.000000e+00, %174 ]
br label %178
178: ; preds = %175, %169
%179 = phi double [ %170, %169 ], [ %176, %175 ]
%180 = phi double [ %171, %169 ], [ %177, %175 ]
%181 = getelementptr inbounds { double, double }, { double, double }* %5, i32 0, i32 0
%182 = getelementptr inbounds { double, double }, { double, double }* %5, i32 0, i32 1
store volatile double %179, double* %181
store volatile double %180, double* %182
br label %183
183: ; preds = %178
%184 = getelementptr inbounds { double, double }, { double, double }* %5, i32 0, i32 0
%185 = load volatile double, double* %184
%186 = getelementptr inbounds { double, double }, { double, double }* %5, i32 0, i32 1
%187 = load volatile double, double* %186
%188 = fcmp une double %185, 0.000000e+00
%189 = fcmp une double %187, 0.000000e+00
%190 = or i1 %188, %189
br i1 %190, label %201, label %191
191: ; preds = %183
%192 = getelementptr inbounds { double, double }, { double, double }* %5, i32 0, i32 0
%193 = load volatile double, double* %192
%194 = call double @llvm.copysign.f64(double 1.000000e+00, double %193)
%195 = fcmp une double %194, 1.000000e+00
br i1 %195, label %201, label %196
196: ; preds = %191
%197 = getelementptr inbounds { double, double }, { double, double }* %5, i32 0, i32 1
%198 = load volatile double, double* %197
%199 = call double @llvm.copysign.f64(double 1.000000e+00, double %198)
%200 = fcmp une double %199, 1.000000e+00
br i1 %200, label %201, label %202
201: ; preds = %196, %191, %183
unreachable
202: ; preds = %196
br label %203
203: ; preds = %202
%204 = load volatile double, double* %4
%205 = getelementptr inbounds { double, double }, { double, double }* %5, i32 0, i32 0
%206 = load volatile double, double* %205
%207 = getelementptr inbounds { double, double }, { double, double }* %5, i32 0, i32 1
%208 = load volatile double, double* %207
%209 = fadd double %204, %206
%210 = getelementptr inbounds { double, double }, { double, double }* %6, i32 0, i32 0
%211 = getelementptr inbounds { double, double }, { double, double }* %6, i32 0, i32 1
store volatile double %209, double* %210
store volatile double %208, double* %211
br label %212
212: ; preds = %203
%213 = getelementptr inbounds { double, double }, { double, double }* %6, i32 0, i32 0
%214 = load volatile double, double* %213
%215 = getelementptr inbounds { double, double }, { double, double }* %6, i32 0, i32 1
%216 = load volatile double, double* %215
%217 = fcmp une double %214, 0.000000e+00
%218 = fcmp une double %216, 0.000000e+00
%219 = or i1 %217, %218
br i1 %219, label %230, label %220
220: ; preds = %212
%221 = getelementptr inbounds { double, double }, { double, double }* %6, i32 0, i32 0
%222 = load volatile double, double* %221
%223 = call double @llvm.copysign.f64(double 1.000000e+00, double %222)
%224 = fcmp une double %223, 1.000000e+00
br i1 %224, label %230, label %225
225: ; preds = %220
%226 = getelementptr inbounds { double, double }, { double, double }* %6, i32 0, i32 1
%227 = load volatile double, double* %226
%228 = call double @llvm.copysign.f64(double 1.000000e+00, double %227)
%229 = fcmp une double %228, 1.000000e+00
br i1 %229, label %230, label %231
230: ; preds = %225, %220, %212
unreachable
231: ; preds = %225
br label %232
232: ; preds = %231
br label %233
233: ; preds = %232
br label %234
234: ; preds = %233
store double 0.000000e+00, double* %7
br i1 true, label %235, label %241
235: ; preds = %234
br i1 false, label %236, label %237
236: ; preds = %235
br label %238
237: ; preds = %235
br label %238
238: ; preds = %237, %236
%239 = phi double [ 0.000000e+00, %236 ], [ 0.000000e+00, %237 ]
%240 = phi double [ 0.000000e+00, %236 ], [ -0.000000e+00, %237 ]
br label %247
241: ; preds = %234
br i1 false, label %242, label %243
242: ; preds = %241
br label %244
243: ; preds = %241
br label %244
244: ; preds = %243, %242
%245 = phi double [ -0.000000e+00, %242 ], [ -0.000000e+00, %243 ]
%246 = phi double [ 0.000000e+00, %242 ], [ -0.000000e+00, %243 ]
br label %247
247: ; preds = %244, %238
%248 = phi double [ %239, %238 ], [ %245, %244 ]
%249 = phi double [ %240, %238 ], [ %246, %244 ]
%250 = getelementptr inbounds { double, double }, { double, double }* %8, i32 0, i32 0
%251 = getelementptr inbounds { double, double }, { double, double }* %8, i32 0, i32 1
store double %248, double* %250
store double %249, double* %251
br label %252
252: ; preds = %247
%253 = getelementptr inbounds { double, double }, { double, double }* %8, i32 0, i32 0
%254 = load double, double* %253
%255 = getelementptr inbounds { double, double }, { double, double }* %8, i32 0, i32 1
%256 = load double, double* %255
%257 = fcmp une double %254, 0.000000e+00
%258 = fcmp une double %256, 0.000000e+00
%259 = or i1 %257, %258
br i1 %259, label %270, label %260
260: ; preds = %252
%261 = getelementptr inbounds { double, double }, { double, double }* %8, i32 0, i32 0
%262 = load double, double* %261
%263 = call double @llvm.copysign.f64(double 1.000000e+00, double %262)
%264 = fcmp une double %263, 1.000000e+00
br i1 %264, label %270, label %265
265: ; preds = %260
%266 = getelementptr inbounds { double, double }, { double, double }* %8, i32 0, i32 1
%267 = load double, double* %266
%268 = call double @llvm.copysign.f64(double 1.000000e+00, double %267)
%269 = fcmp une double %268, -1.000000e+00
br i1 %269, label %270, label %271
270: ; preds = %265, %260, %252
unreachable
271: ; preds = %265
br label %272
272: ; preds = %271
%273 = load double, double* %7
%274 = getelementptr inbounds { double, double }, { double, double }* %8, i32 0, i32 0
%275 = load double, double* %274
%276 = getelementptr inbounds { double, double }, { double, double }* %8, i32 0, i32 1
%277 = load double, double* %276
%278 = fadd double %273, %275
%279 = getelementptr inbounds { double, double }, { double, double }* %9, i32 0, i32 0
%280 = getelementptr inbounds { double, double }, { double, double }* %9, i32 0, i32 1
store double %278, double* %279
store double %277, double* %280
br label %281
281: ; preds = %272
%282 = getelementptr inbounds { double, double }, { double, double }* %9, i32 0, i32 0
%283 = load double, double* %282
%284 = getelementptr inbounds { double, double }, { double, double }* %9, i32 0, i32 1
%285 = load double, double* %284
%286 = fcmp une double %283, 0.000000e+00
%287 = fcmp une double %285, 0.000000e+00
%288 = or i1 %286, %287
br i1 %288, label %299, label %289
289: ; preds = %281
%290 = getelementptr inbounds { double, double }, { double, double }* %9, i32 0, i32 0
%291 = load double, double* %290
%292 = call double @llvm.copysign.f64(double 1.000000e+00, double %291)
%293 = fcmp une double %292, 1.000000e+00
br i1 %293, label %299, label %294
294: ; preds = %289
%295 = getelementptr inbounds { double, double }, { double, double }* %9, i32 0, i32 1
%296 = load double, double* %295
%297 = call double @llvm.copysign.f64(double 1.000000e+00, double %296)
%298 = fcmp une double %297, -1.000000e+00
br i1 %298, label %299, label %300
299: ; preds = %294, %289, %281
unreachable
300: ; preds = %294
br label %301
301: ; preds = %300
store volatile double 0.000000e+00, double* %10
br i1 true, label %302, label %308
302: ; preds = %301
br i1 false, label %303, label %304
303: ; preds = %302
br label %305
304: ; preds = %302
br label %305
305: ; preds = %304, %303
%306 = phi double [ 0.000000e+00, %303 ], [ 0.000000e+00, %304 ]
%307 = phi double [ 0.000000e+00, %303 ], [ -0.000000e+00, %304 ]
br label %314
308: ; preds = %301
br i1 false, label %309, label %310
309: ; preds = %308
br label %311
310: ; preds = %308
br label %311
311: ; preds = %310, %309
%312 = phi double [ -0.000000e+00, %309 ], [ -0.000000e+00, %310 ]
%313 = phi double [ 0.000000e+00, %309 ], [ -0.000000e+00, %310 ]
br label %314
314: ; preds = %311, %305
%315 = phi double [ %306, %305 ], [ %312, %311 ]
%316 = phi double [ %307, %305 ], [ %313, %311 ]
%317 = getelementptr inbounds { double, double }, { double, double }* %11, i32 0, i32 0
%318 = getelementptr inbounds { double, double }, { double, double }* %11, i32 0, i32 1
store volatile double %315, double* %317
store volatile double %316, double* %318
br label %319
319: ; preds = %314
%320 = getelementptr inbounds { double, double }, { double, double }* %11, i32 0, i32 0
%321 = load volatile double, double* %320
%322 = getelementptr inbounds { double, double }, { double, double }* %11, i32 0, i32 1
%323 = load volatile double, double* %322
%324 = fcmp une double %321, 0.000000e+00
%325 = fcmp une double %323, 0.000000e+00
%326 = or i1 %324, %325
br i1 %326, label %337, label %327
327: ; preds = %319
%328 = getelementptr inbounds { double, double }, { double, double }* %11, i32 0, i32 0
%329 = load volatile double, double* %328
%330 = call double @llvm.copysign.f64(double 1.000000e+00, double %329)
%331 = fcmp une double %330, 1.000000e+00
br i1 %331, label %337, label %332
332: ; preds = %327
%333 = getelementptr inbounds { double, double }, { double, double }* %11, i32 0, i32 1
%334 = load volatile double, double* %333
%335 = call double @llvm.copysign.f64(double 1.000000e+00, double %334)
%336 = fcmp une double %335, -1.000000e+00
br i1 %336, label %337, label %338
337: ; preds = %332, %327, %319
unreachable
338: ; preds = %332
br label %339
339: ; preds = %338
%340 = load volatile double, double* %10
%341 = getelementptr inbounds { double, double }, { double, double }* %11, i32 0, i32 0
%342 = load volatile double, double* %341
%343 = getelementptr inbounds { double, double }, { double, double }* %11, i32 0, i32 1
%344 = load volatile double, double* %343
%345 = fadd double %340, %342
%346 = getelementptr inbounds { double, double }, { double, double }* %12, i32 0, i32 0
%347 = getelementptr inbounds { double, double }, { double, double }* %12, i32 0, i32 1
store volatile double %345, double* %346
store volatile double %344, double* %347
br label %348
348: ; preds = %339
%349 = getelementptr inbounds { double, double }, { double, double }* %12, i32 0, i32 0
%350 = load volatile double, double* %349
%351 = getelementptr inbounds { double, double }, { double, double }* %12, i32 0, i32 1
%352 = load volatile double, double* %351
%353 = fcmp une double %350, 0.000000e+00
%354 = fcmp une double %352, 0.000000e+00
%355 = or i1 %353, %354
br i1 %355, label %366, label %356
356: ; preds = %348
%357 = getelementptr inbounds { double, double }, { double, double }* %12, i32 0, i32 0
%358 = load volatile double, double* %357
%359 = call double @llvm.copysign.f64(double 1.000000e+00, double %358)
%360 = fcmp une double %359, 1.000000e+00
br i1 %360, label %366, label %361
361: ; preds = %356
%362 = getelementptr inbounds { double, double }, { double, double }* %12, i32 0, i32 1
%363 = load volatile double, double* %362
%364 = call double @llvm.copysign.f64(double 1.000000e+00, double %363)
%365 = fcmp une double %364, -1.000000e+00
br i1 %365, label %366, label %367
366: ; preds = %361, %356, %348
unreachable
367: ; preds = %361
br label %368
368: ; preds = %367
br label %369
369: ; preds = %368
br label %370
370: ; preds = %369
store double 0.000000e+00, double* %13
br i1 false, label %371, label %377
371: ; preds = %370
br i1 true, label %372, label %373
372: ; preds = %371
br label %374
373: ; preds = %371
br label %374
374: ; preds = %373, %372
%375 = phi double [ 0.000000e+00, %372 ], [ 0.000000e+00, %373 ]
%376 = phi double [ 0.000000e+00, %372 ], [ -0.000000e+00, %373 ]
br label %383
377: ; preds = %370
br i1 true, label %378, label %379
378: ; preds = %377
br label %380
379: ; preds = %377
br label %380
380: ; preds = %379, %378
%381 = phi double [ -0.000000e+00, %378 ], [ -0.000000e+00, %379 ]
%382 = phi double [ 0.000000e+00, %378 ], [ -0.000000e+00, %379 ]
br label %383
383: ; preds = %380, %374
%384 = phi double [ %375, %374 ], [ %381, %380 ]
%385 = phi double [ %376, %374 ], [ %382, %380 ]
%386 = getelementptr inbounds { double, double }, { double, double }* %14, i32 0, i32 0
%387 = getelementptr inbounds { double, double }, { double, double }* %14, i32 0, i32 1
store double %384, double* %386
store double %385, double* %387
br label %388
388: ; preds = %383
%389 = getelementptr inbounds { double, double }, { double, double }* %14, i32 0, i32 0
%390 = load double, double* %389
%391 = getelementptr inbounds { double, double }, { double, double }* %14, i32 0, i32 1
%392 = load double, double* %391
%393 = fcmp une double %390, 0.000000e+00
%394 = fcmp une double %392, 0.000000e+00
%395 = or i1 %393, %394
br i1 %395, label %406, label %396
396: ; preds = %388
%397 = getelementptr inbounds { double, double }, { double, double }* %14, i32 0, i32 0
%398 = load double, double* %397
%399 = call double @llvm.copysign.f64(double 1.000000e+00, double %398)
%400 = fcmp une double %399, -1.000000e+00
br i1 %400, label %406, label %401
401: ; preds = %396
%402 = getelementptr inbounds { double, double }, { double, double }* %14, i32 0, i32 1
%403 = load double, double* %402
%404 = call double @llvm.copysign.f64(double 1.000000e+00, double %403)
%405 = fcmp une double %404, 1.000000e+00
br i1 %405, label %406, label %407
406: ; preds = %401, %396, %388
unreachable
407: ; preds = %401
br label %408
408: ; preds = %407
%409 = load double, double* %13
%410 = getelementptr inbounds { double, double }, { double, double }* %14, i32 0, i32 0
%411 = load double, double* %410
%412 = getelementptr inbounds { double, double }, { double, double }* %14, i32 0, i32 1
%413 = load double, double* %412
%414 = fadd double %409, %411
%415 = getelementptr inbounds { double, double }, { double, double }* %15, i32 0, i32 0
%416 = getelementptr inbounds { double, double }, { double, double }* %15, i32 0, i32 1
store double %414, double* %415
store double %413, double* %416
br label %417
417: ; preds = %408
%418 = getelementptr inbounds { double, double }, { double, double }* %15, i32 0, i32 0
%419 = load double, double* %418
%420 = getelementptr inbounds { double, double }, { double, double }* %15, i32 0, i32 1
%421 = load double, double* %420
%422 = fcmp une double %419, 0.000000e+00
%423 = fcmp une double %421, 0.000000e+00
%424 = or i1 %422, %423
br i1 %424, label %435, label %425
425: ; preds = %417
%426 = getelementptr inbounds { double, double }, { double, double }* %15, i32 0, i32 0
%427 = load double, double* %426
%428 = call double @llvm.copysign.f64(double 1.000000e+00, double %427)
%429 = fcmp une double %428, 1.000000e+00
br i1 %429, label %435, label %430
430: ; preds = %425
%431 = getelementptr inbounds { double, double }, { double, double }* %15, i32 0, i32 1
%432 = load double, double* %431
%433 = call double @llvm.copysign.f64(double 1.000000e+00, double %432)
%434 = fcmp une double %433, 1.000000e+00
br i1 %434, label %435, label %436
435: ; preds = %430, %425, %417
unreachable
436: ; preds = %430
br label %437
437: ; preds = %436
store volatile double 0.000000e+00, double* %16
br i1 false, label %438, label %444
438: ; preds = %437
br i1 true, label %439, label %440
439: ; preds = %438
br label %441
440: ; preds = %438
br label %441
441: ; preds = %440, %439
%442 = phi double [ 0.000000e+00, %439 ], [ 0.000000e+00, %440 ]
%443 = phi double [ 0.000000e+00, %439 ], [ -0.000000e+00, %440 ]
br label %450
444: ; preds = %437
br i1 true, label %445, label %446
445: ; preds = %444
br label %447
446: ; preds = %444
br label %447
447: ; preds = %446, %445
%448 = phi double [ -0.000000e+00, %445 ], [ -0.000000e+00, %446 ]
%449 = phi double [ 0.000000e+00, %445 ], [ -0.000000e+00, %446 ]
br label %450
450: ; preds = %447, %441
%451 = phi double [ %442, %441 ], [ %448, %447 ]
%452 = phi double [ %443, %441 ], [ %449, %447 ]
%453 = getelementptr inbounds { double, double }, { double, double }* %17, i32 0, i32 0
%454 = getelementptr inbounds { double, double }, { double, double }* %17, i32 0, i32 1
store volatile double %451, double* %453
store volatile double %452, double* %454
br label %455
455: ; preds = %450
%456 = getelementptr inbounds { double, double }, { double, double }* %17, i32 0, i32 0
%457 = load volatile double, double* %456
%458 = getelementptr inbounds { double, double }, { double, double }* %17, i32 0, i32 1
%459 = load volatile double, double* %458
%460 = fcmp une double %457, 0.000000e+00
%461 = fcmp une double %459, 0.000000e+00
%462 = or i1 %460, %461
br i1 %462, label %473, label %463
463: ; preds = %455
%464 = getelementptr inbounds { double, double }, { double, double }* %17, i32 0, i32 0
%465 = load volatile double, double* %464
%466 = call double @llvm.copysign.f64(double 1.000000e+00, double %465)
%467 = fcmp une double %466, -1.000000e+00
br i1 %467, label %473, label %468
468: ; preds = %463
%469 = getelementptr inbounds { double, double }, { double, double }* %17, i32 0, i32 1
%470 = load volatile double, double* %469
%471 = call double @llvm.copysign.f64(double 1.000000e+00, double %470)
%472 = fcmp une double %471, 1.000000e+00
br i1 %472, label %473, label %474
473: ; preds = %468, %463, %455
unreachable
474: ; preds = %468
br label %475
475: ; preds = %474
%476 = load volatile double, double* %16
%477 = getelementptr inbounds { double, double }, { double, double }* %17, i32 0, i32 0
%478 = load volatile double, double* %477
%479 = getelementptr inbounds { double, double }, { double, double }* %17, i32 0, i32 1
%480 = load volatile double, double* %479
%481 = fadd double %476, %478
%482 = getelementptr inbounds { double, double }, { double, double }* %18, i32 0, i32 0
%483 = getelementptr inbounds { double, double }, { double, double }* %18, i32 0, i32 1
store volatile double %481, double* %482
store volatile double %480, double* %483
br label %484
484: ; preds = %475
%485 = getelementptr inbounds { double, double }, { double, double }* %18, i32 0, i32 0
%486 = load volatile double, double* %485
%487 = getelementptr inbounds { double, double }, { double, double }* %18, i32 0, i32 1
%488 = load volatile double, double* %487
%489 = fcmp une double %486, 0.000000e+00
%490 = fcmp une double %488, 0.000000e+00
%491 = or i1 %489, %490
br i1 %491, label %502, label %492
492: ; preds = %484
%493 = getelementptr inbounds { double, double }, { double, double }* %18, i32 0, i32 0
%494 = load volatile double, double* %493
%495 = call double @llvm.copysign.f64(double 1.000000e+00, double %494)
%496 = fcmp une double %495, 1.000000e+00
br i1 %496, label %502, label %497
497: ; preds = %492
%498 = getelementptr inbounds { double, double }, { double, double }* %18, i32 0, i32 1
%499 = load volatile double, double* %498
%500 = call double @llvm.copysign.f64(double 1.000000e+00, double %499)
%501 = fcmp une double %500, 1.000000e+00
br i1 %501, label %502, label %503
502: ; preds = %497, %492, %484
unreachable
503: ; preds = %497
br label %504
504: ; preds = %503
br label %505
505: ; preds = %504
br label %506
506: ; preds = %505
store double 0.000000e+00, double* %19
br i1 false, label %507, label %513
507: ; preds = %506
br i1 false, label %508, label %509
508: ; preds = %507
br label %510
509: ; preds = %507
br label %510
510: ; preds = %509, %508
%511 = phi double [ 0.000000e+00, %508 ], [ 0.000000e+00, %509 ]
%512 = phi double [ 0.000000e+00, %508 ], [ -0.000000e+00, %509 ]
br label %519
513: ; preds = %506
br i1 false, label %514, label %515
514: ; preds = %513
br label %516
515: ; preds = %513
br label %516
516: ; preds = %515, %514
%517 = phi double [ -0.000000e+00, %514 ], [ -0.000000e+00, %515 ]
%518 = phi double [ 0.000000e+00, %514 ], [ -0.000000e+00, %515 ]
br label %519
519: ; preds = %516, %510
%520 = phi double [ %511, %510 ], [ %517, %516 ]
%521 = phi double [ %512, %510 ], [ %518, %516 ]
%522 = getelementptr inbounds { double, double }, { double, double }* %20, i32 0, i32 0
%523 = getelementptr inbounds { double, double }, { double, double }* %20, i32 0, i32 1
store double %520, double* %522
store double %521, double* %523
br label %524
524: ; preds = %519
%525 = getelementptr inbounds { double, double }, { double, double }* %20, i32 0, i32 0
%526 = load double, double* %525
%527 = getelementptr inbounds { double, double }, { double, double }* %20, i32 0, i32 1
%528 = load double, double* %527
%529 = fcmp une double %526, 0.000000e+00
%530 = fcmp une double %528, 0.000000e+00
%531 = or i1 %529, %530
br i1 %531, label %542, label %532
532: ; preds = %524
%533 = getelementptr inbounds { double, double }, { double, double }* %20, i32 0, i32 0
%534 = load double, double* %533
%535 = call double @llvm.copysign.f64(double 1.000000e+00, double %534)
%536 = fcmp une double %535, -1.000000e+00
br i1 %536, label %542, label %537
537: ; preds = %532
%538 = getelementptr inbounds { double, double }, { double, double }* %20, i32 0, i32 1
%539 = load double, double* %538
%540 = call double @llvm.copysign.f64(double 1.000000e+00, double %539)
%541 = fcmp une double %540, -1.000000e+00
br i1 %541, label %542, label %543
542: ; preds = %537, %532, %524
unreachable
543: ; preds = %537
br label %544
544: ; preds = %543
%545 = load double, double* %19
%546 = getelementptr inbounds { double, double }, { double, double }* %20, i32 0, i32 0
%547 = load double, double* %546
%548 = getelementptr inbounds { double, double }, { double, double }* %20, i32 0, i32 1
%549 = load double, double* %548
%550 = fadd double %545, %547
%551 = getelementptr inbounds { double, double }, { double, double }* %21, i32 0, i32 0
%552 = getelementptr inbounds { double, double }, { double, double }* %21, i32 0, i32 1
store double %550, double* %551
store double %549, double* %552
br label %553
553: ; preds = %544
%554 = getelementptr inbounds { double, double }, { double, double }* %21, i32 0, i32 0
%555 = load double, double* %554
%556 = getelementptr inbounds { double, double }, { double, double }* %21, i32 0, i32 1
%557 = load double, double* %556
%558 = fcmp une double %555, 0.000000e+00
%559 = fcmp une double %557, 0.000000e+00
%560 = or i1 %558, %559
br i1 %560, label %571, label %561
561: ; preds = %553
%562 = getelementptr inbounds { double, double }, { double, double }* %21, i32 0, i32 0
%563 = load double, double* %562
%564 = call double @llvm.copysign.f64(double 1.000000e+00, double %563)
%565 = fcmp une double %564, 1.000000e+00
br i1 %565, label %571, label %566
566: ; preds = %561
%567 = getelementptr inbounds { double, double }, { double, double }* %21, i32 0, i32 1
%568 = load double, double* %567
%569 = call double @llvm.copysign.f64(double 1.000000e+00, double %568)
%570 = fcmp une double %569, -1.000000e+00
br i1 %570, label %571, label %572
571: ; preds = %566, %561, %553
unreachable
572: ; preds = %566
br label %573
573: ; preds = %572
store volatile double 0.000000e+00, double* %22
br i1 false, label %574, label %580
574: ; preds = %573
br i1 false, label %575, label %576
575: ; preds = %574
br label %577
576: ; preds = %574
br label %577
577: ; preds = %576, %575
%578 = phi double [ 0.000000e+00, %575 ], [ 0.000000e+00, %576 ]
%579 = phi double [ 0.000000e+00, %575 ], [ -0.000000e+00, %576 ]
br label %586
580: ; preds = %573
br i1 false, label %581, label %582
581: ; preds = %580
br label %583
582: ; preds = %580
br label %583
583: ; preds = %582, %581
%584 = phi double [ -0.000000e+00, %581 ], [ -0.000000e+00, %582 ]
%585 = phi double [ 0.000000e+00, %581 ], [ -0.000000e+00, %582 ]
br label %586
586: ; preds = %583, %577
%587 = phi double [ %578, %577 ], [ %584, %583 ]
%588 = phi double [ %579, %577 ], [ %585, %583 ]
%589 = getelementptr inbounds { double, double }, { double, double }* %23, i32 0, i32 0
%590 = getelementptr inbounds { double, double }, { double, double }* %23, i32 0, i32 1
store volatile double %587, double* %589
store volatile double %588, double* %590
br label %591
591: ; preds = %586
%592 = getelementptr inbounds { double, double }, { double, double }* %23, i32 0, i32 0
%593 = load volatile double, double* %592
%594 = getelementptr inbounds { double, double }, { double, double }* %23, i32 0, i32 1
%595 = load volatile double, double* %594
%596 = fcmp une double %593, 0.000000e+00
%597 = fcmp une double %595, 0.000000e+00
%598 = or i1 %596, %597
br i1 %598, label %609, label %599
599: ; preds = %591
%600 = getelementptr inbounds { double, double }, { double, double }* %23, i32 0, i32 0
%601 = load volatile double, double* %600
%602 = call double @llvm.copysign.f64(double 1.000000e+00, double %601)
%603 = fcmp une double %602, -1.000000e+00
br i1 %603, label %609, label %604
604: ; preds = %599
%605 = getelementptr inbounds { double, double }, { double, double }* %23, i32 0, i32 1
%606 = load volatile double, double* %605
%607 = call double @llvm.copysign.f64(double 1.000000e+00, double %606)
%608 = fcmp une double %607, -1.000000e+00
br i1 %608, label %609, label %610
609: ; preds = %604, %599, %591
unreachable
610: ; preds = %604
br label %611
611: ; preds = %610
%612 = load volatile double, double* %22
%613 = getelementptr inbounds { double, double }, { double, double }* %23, i32 0, i32 0
%614 = load volatile double, double* %613
%615 = getelementptr inbounds { double, double }, { double, double }* %23, i32 0, i32 1
%616 = load volatile double, double* %615
%617 = fadd double %612, %614
%618 = getelementptr inbounds { double, double }, { double, double }* %24, i32 0, i32 0
%619 = getelementptr inbounds { double, double }, { double, double }* %24, i32 0, i32 1
store volatile double %617, double* %618
store volatile double %616, double* %619
br label %620
620: ; preds = %611
%621 = getelementptr inbounds { double, double }, { double, double }* %24, i32 0, i32 0
%622 = load volatile double, double* %621
%623 = getelementptr inbounds { double, double }, { double, double }* %24, i32 0, i32 1
%624 = load volatile double, double* %623
%625 = fcmp une double %622, 0.000000e+00
%626 = fcmp une double %624, 0.000000e+00
%627 = or i1 %625, %626
br i1 %627, label %638, label %628
628: ; preds = %620
%629 = getelementptr inbounds { double, double }, { double, double }* %24, i32 0, i32 0
%630 = load volatile double, double* %629
%631 = call double @llvm.copysign.f64(double 1.000000e+00, double %630)
%632 = fcmp une double %631, 1.000000e+00
br i1 %632, label %638, label %633
633: ; preds = %628
%634 = getelementptr inbounds { double, double }, { double, double }* %24, i32 0, i32 1
%635 = load volatile double, double* %634
%636 = call double @llvm.copysign.f64(double 1.000000e+00, double %635)
%637 = fcmp une double %636, -1.000000e+00
br i1 %637, label %638, label %639
638: ; preds = %633, %628, %620
unreachable
639: ; preds = %633
br label %640
640: ; preds = %639
br label %641
641: ; preds = %640
br label %642
642: ; preds = %641
store double -0.000000e+00, double* %25
br i1 true, label %643, label %649
643: ; preds = %642
br i1 true, label %644, label %645
644: ; preds = %643
br label %646
645: ; preds = %643
br label %646
646: ; preds = %645, %644
%647 = phi double [ 0.000000e+00, %644 ], [ 0.000000e+00, %645 ]
%648 = phi double [ 0.000000e+00, %644 ], [ -0.000000e+00, %645 ]
br label %655
649: ; preds = %642
br i1 true, label %650, label %651
650: ; preds = %649
br label %652
651: ; preds = %649
br label %652
652: ; preds = %651, %650
%653 = phi double [ -0.000000e+00, %650 ], [ -0.000000e+00, %651 ]
%654 = phi double [ 0.000000e+00, %650 ], [ -0.000000e+00, %651 ]
br label %655
655: ; preds = %652, %646
%656 = phi double [ %647, %646 ], [ %653, %652 ]
%657 = phi double [ %648, %646 ], [ %654, %652 ]
%658 = getelementptr inbounds { double, double }, { double, double }* %26, i32 0, i32 0
%659 = getelementptr inbounds { double, double }, { double, double }* %26, i32 0, i32 1
store double %656, double* %658
store double %657, double* %659
br label %660
660: ; preds = %655
%661 = getelementptr inbounds { double, double }, { double, double }* %26, i32 0, i32 0
%662 = load double, double* %661
%663 = getelementptr inbounds { double, double }, { double, double }* %26, i32 0, i32 1
%664 = load double, double* %663
%665 = fcmp une double %662, 0.000000e+00
%666 = fcmp une double %664, 0.000000e+00
%667 = or i1 %665, %666
br i1 %667, label %678, label %668
668: ; preds = %660
%669 = getelementptr inbounds { double, double }, { double, double }* %26, i32 0, i32 0
%670 = load double, double* %669
%671 = call double @llvm.copysign.f64(double 1.000000e+00, double %670)
%672 = fcmp une double %671, 1.000000e+00
br i1 %672, label %678, label %673
673: ; preds = %668
%674 = getelementptr inbounds { double, double }, { double, double }* %26, i32 0, i32 1
%675 = load double, double* %674
%676 = call double @llvm.copysign.f64(double 1.000000e+00, double %675)
%677 = fcmp une double %676, 1.000000e+00
br i1 %677, label %678, label %679
678: ; preds = %673, %668, %660
unreachable
679: ; preds = %673
br label %680
680: ; preds = %679
%681 = load double, double* %25
%682 = getelementptr inbounds { double, double }, { double, double }* %26, i32 0, i32 0
%683 = load double, double* %682
%684 = getelementptr inbounds { double, double }, { double, double }* %26, i32 0, i32 1
%685 = load double, double* %684
%686 = fadd double %681, %683
%687 = getelementptr inbounds { double, double }, { double, double }* %27, i32 0, i32 0
%688 = getelementptr inbounds { double, double }, { double, double }* %27, i32 0, i32 1
store double %686, double* %687
store double %685, double* %688
br label %689
689: ; preds = %680
%690 = getelementptr inbounds { double, double }, { double, double }* %27, i32 0, i32 0
%691 = load double, double* %690
%692 = getelementptr inbounds { double, double }, { double, double }* %27, i32 0, i32 1
%693 = load double, double* %692
%694 = fcmp une double %691, 0.000000e+00
%695 = fcmp une double %693, 0.000000e+00
%696 = or i1 %694, %695
br i1 %696, label %707, label %697
697: ; preds = %689
%698 = getelementptr inbounds { double, double }, { double, double }* %27, i32 0, i32 0
%699 = load double, double* %698
%700 = call double @llvm.copysign.f64(double 1.000000e+00, double %699)
%701 = fcmp une double %700, 1.000000e+00
br i1 %701, label %707, label %702
702: ; preds = %697
%703 = getelementptr inbounds { double, double }, { double, double }* %27, i32 0, i32 1
%704 = load double, double* %703
%705 = call double @llvm.copysign.f64(double 1.000000e+00, double %704)
%706 = fcmp une double %705, 1.000000e+00
br i1 %706, label %707, label %708
707: ; preds = %702, %697, %689
unreachable
708: ; preds = %702
br label %709
709: ; preds = %708
store volatile double -0.000000e+00, double* %28
br i1 true, label %710, label %716
710: ; preds = %709
br i1 true, label %711, label %712
711: ; preds = %710
br label %713
712: ; preds = %710
br label %713
713: ; preds = %712, %711
%714 = phi double [ 0.000000e+00, %711 ], [ 0.000000e+00, %712 ]
%715 = phi double [ 0.000000e+00, %711 ], [ -0.000000e+00, %712 ]
br label %722
716: ; preds = %709
br i1 true, label %717, label %718
717: ; preds = %716
br label %719
718: ; preds = %716
br label %719
719: ; preds = %718, %717
%720 = phi double [ -0.000000e+00, %717 ], [ -0.000000e+00, %718 ]
%721 = phi double [ 0.000000e+00, %717 ], [ -0.000000e+00, %718 ]
br label %722
722: ; preds = %719, %713
%723 = phi double [ %714, %713 ], [ %720, %719 ]
%724 = phi double [ %715, %713 ], [ %721, %719 ]
%725 = getelementptr inbounds { double, double }, { double, double }* %29, i32 0, i32 0
%726 = getelementptr inbounds { double, double }, { double, double }* %29, i32 0, i32 1
store volatile double %723, double* %725
store volatile double %724, double* %726
br label %727
727: ; preds = %722
%728 = getelementptr inbounds { double, double }, { double, double }* %29, i32 0, i32 0
%729 = load volatile double, double* %728
%730 = getelementptr inbounds { double, double }, { double, double }* %29, i32 0, i32 1
%731 = load volatile double, double* %730
%732 = fcmp une double %729, 0.000000e+00
%733 = fcmp une double %731, 0.000000e+00
%734 = or i1 %732, %733
br i1 %734, label %745, label %735
735: ; preds = %727
%736 = getelementptr inbounds { double, double }, { double, double }* %29, i32 0, i32 0
%737 = load volatile double, double* %736
%738 = call double @llvm.copysign.f64(double 1.000000e+00, double %737)
%739 = fcmp une double %738, 1.000000e+00
br i1 %739, label %745, label %740
740: ; preds = %735
%741 = getelementptr inbounds { double, double }, { double, double }* %29, i32 0, i32 1
%742 = load volatile double, double* %741
%743 = call double @llvm.copysign.f64(double 1.000000e+00, double %742)
%744 = fcmp une double %743, 1.000000e+00
br i1 %744, label %745, label %746
745: ; preds = %740, %735, %727
unreachable
746: ; preds = %740
br label %747
747: ; preds = %746
%748 = load volatile double, double* %28
%749 = getelementptr inbounds { double, double }, { double, double }* %29, i32 0, i32 0
%750 = load volatile double, double* %749
%751 = getelementptr inbounds { double, double }, { double, double }* %29, i32 0, i32 1
%752 = load volatile double, double* %751
%753 = fadd double %748, %750
%754 = getelementptr inbounds { double, double }, { double, double }* %30, i32 0, i32 0
%755 = getelementptr inbounds { double, double }, { double, double }* %30, i32 0, i32 1
store volatile double %753, double* %754
store volatile double %752, double* %755
br label %756
756: ; preds = %747
%757 = getelementptr inbounds { double, double }, { double, double }* %30, i32 0, i32 0
%758 = load volatile double, double* %757
%759 = getelementptr inbounds { double, double }, { double, double }* %30, i32 0, i32 1
%760 = load volatile double, double* %759
%761 = fcmp une double %758, 0.000000e+00
%762 = fcmp une double %760, 0.000000e+00
%763 = or i1 %761, %762
br i1 %763, label %774, label %764
764: ; preds = %756
%765 = getelementptr inbounds { double, double }, { double, double }* %30, i32 0, i32 0
%766 = load volatile double, double* %765
%767 = call double @llvm.copysign.f64(double 1.000000e+00, double %766)
%768 = fcmp une double %767, 1.000000e+00
br i1 %768, label %774, label %769
769: ; preds = %764
%770 = getelementptr inbounds { double, double }, { double, double }* %30, i32 0, i32 1
%771 = load volatile double, double* %770
%772 = call double @llvm.copysign.f64(double 1.000000e+00, double %771)
%773 = fcmp une double %772, 1.000000e+00
br i1 %773, label %774, label %775
774: ; preds = %769, %764, %756
unreachable
775: ; preds = %769
br label %776
776: ; preds = %775
br label %777
777: ; preds = %776
br label %778
778: ; preds = %777
store double -0.000000e+00, double* %31
br i1 true, label %779, label %785
779: ; preds = %778
br i1 false, label %780, label %781
780: ; preds = %779
br label %782
781: ; preds = %779
br label %782
782: ; preds = %781, %780
%783 = phi double [ 0.000000e+00, %780 ], [ 0.000000e+00, %781 ]
%784 = phi double [ 0.000000e+00, %780 ], [ -0.000000e+00, %781 ]
br label %791
785: ; preds = %778
br i1 false, label %786, label %787
786: ; preds = %785
br label %788
787: ; preds = %785
br label %788
788: ; preds = %787, %786
%789 = phi double [ -0.000000e+00, %786 ], [ -0.000000e+00, %787 ]
%790 = phi double [ 0.000000e+00, %786 ], [ -0.000000e+00, %787 ]
br label %791
791: ; preds = %788, %782
%792 = phi double [ %783, %782 ], [ %789, %788 ]
%793 = phi double [ %784, %782 ], [ %790, %788 ]
%794 = getelementptr inbounds { double, double }, { double, double }* %32, i32 0, i32 0
%795 = getelementptr inbounds { double, double }, { double, double }* %32, i32 0, i32 1
store double %792, double* %794
store double %793, double* %795
br label %796
796: ; preds = %791
%797 = getelementptr inbounds { double, double }, { double, double }* %32, i32 0, i32 0
%798 = load double, double* %797
%799 = getelementptr inbounds { double, double }, { double, double }* %32, i32 0, i32 1
%800 = load double, double* %799
%801 = fcmp une double %798, 0.000000e+00
%802 = fcmp une double %800, 0.000000e+00
%803 = or i1 %801, %802
br i1 %803, label %814, label %804
804: ; preds = %796
%805 = getelementptr inbounds { double, double }, { double, double }* %32, i32 0, i32 0
%806 = load double, double* %805
%807 = call double @llvm.copysign.f64(double 1.000000e+00, double %806)
%808 = fcmp une double %807, 1.000000e+00
br i1 %808, label %814, label %809
809: ; preds = %804
%810 = getelementptr inbounds { double, double }, { double, double }* %32, i32 0, i32 1
%811 = load double, double* %810
%812 = call double @llvm.copysign.f64(double 1.000000e+00, double %811)
%813 = fcmp une double %812, -1.000000e+00
br i1 %813, label %814, label %815
814: ; preds = %809, %804, %796
unreachable
815: ; preds = %809
br label %816
816: ; preds = %815
%817 = load double, double* %31
%818 = getelementptr inbounds { double, double }, { double, double }* %32, i32 0, i32 0
%819 = load double, double* %818
%820 = getelementptr inbounds { double, double }, { double, double }* %32, i32 0, i32 1
%821 = load double, double* %820
%822 = fadd double %817, %819
%823 = getelementptr inbounds { double, double }, { double, double }* %33, i32 0, i32 0
%824 = getelementptr inbounds { double, double }, { double, double }* %33, i32 0, i32 1
store double %822, double* %823
store double %821, double* %824
br label %825
825: ; preds = %816
%826 = getelementptr inbounds { double, double }, { double, double }* %33, i32 0, i32 0
%827 = load double, double* %826
%828 = getelementptr inbounds { double, double }, { double, double }* %33, i32 0, i32 1
%829 = load double, double* %828
%830 = fcmp une double %827, 0.000000e+00
%831 = fcmp une double %829, 0.000000e+00
%832 = or i1 %830, %831
br i1 %832, label %843, label %833
833: ; preds = %825
%834 = getelementptr inbounds { double, double }, { double, double }* %33, i32 0, i32 0
%835 = load double, double* %834
%836 = call double @llvm.copysign.f64(double 1.000000e+00, double %835)
%837 = fcmp une double %836, 1.000000e+00
br i1 %837, label %843, label %838
838: ; preds = %833
%839 = getelementptr inbounds { double, double }, { double, double }* %33, i32 0, i32 1
%840 = load double, double* %839
%841 = call double @llvm.copysign.f64(double 1.000000e+00, double %840)
%842 = fcmp une double %841, -1.000000e+00
br i1 %842, label %843, label %844
843: ; preds = %838, %833, %825
unreachable
844: ; preds = %838
br label %845
845: ; preds = %844
store volatile double -0.000000e+00, double* %34
br i1 true, label %846, label %852
846: ; preds = %845
br i1 false, label %847, label %848
847: ; preds = %846
br label %849
848: ; preds = %846
br label %849
849: ; preds = %848, %847
%850 = phi double [ 0.000000e+00, %847 ], [ 0.000000e+00, %848 ]
%851 = phi double [ 0.000000e+00, %847 ], [ -0.000000e+00, %848 ]
br label %858
852: ; preds = %845
br i1 false, label %853, label %854
853: ; preds = %852
br label %855
854: ; preds = %852
br label %855
855: ; preds = %854, %853
%856 = phi double [ -0.000000e+00, %853 ], [ -0.000000e+00, %854 ]
%857 = phi double [ 0.000000e+00, %853 ], [ -0.000000e+00, %854 ]
br label %858
858: ; preds = %855, %849
%859 = phi double [ %850, %849 ], [ %856, %855 ]
%860 = phi double [ %851, %849 ], [ %857, %855 ]
%861 = getelementptr inbounds { double, double }, { double, double }* %35, i32 0, i32 0
%862 = getelementptr inbounds { double, double }, { double, double }* %35, i32 0, i32 1
store volatile double %859, double* %861
store volatile double %860, double* %862
br label %863
863: ; preds = %858
%864 = getelementptr inbounds { double, double }, { double, double }* %35, i32 0, i32 0
%865 = load volatile double, double* %864
%866 = getelementptr inbounds { double, double }, { double, double }* %35, i32 0, i32 1
%867 = load volatile double, double* %866
%868 = fcmp une double %865, 0.000000e+00
%869 = fcmp une double %867, 0.000000e+00
%870 = or i1 %868, %869
br i1 %870, label %881, label %871
871: ; preds = %863
%872 = getelementptr inbounds { double, double }, { double, double }* %35, i32 0, i32 0
%873 = load volatile double, double* %872
%874 = call double @llvm.copysign.f64(double 1.000000e+00, double %873)
%875 = fcmp une double %874, 1.000000e+00
br i1 %875, label %881, label %876
876: ; preds = %871
%877 = getelementptr inbounds { double, double }, { double, double }* %35, i32 0, i32 1
%878 = load volatile double, double* %877
%879 = call double @llvm.copysign.f64(double 1.000000e+00, double %878)
%880 = fcmp une double %879, -1.000000e+00
br i1 %880, label %881, label %882
881: ; preds = %876, %871, %863
unreachable
882: ; preds = %876
br label %883
883: ; preds = %882
%884 = load volatile double, double* %34
%885 = getelementptr inbounds { double, double }, { double, double }* %35, i32 0, i32 0
%886 = load volatile double, double* %885
%887 = getelementptr inbounds { double, double }, { double, double }* %35, i32 0, i32 1
%888 = load volatile double, double* %887
%889 = fadd double %884, %886
%890 = getelementptr inbounds { double, double }, { double, double }* %36, i32 0, i32 0
%891 = getelementptr inbounds { double, double }, { double, double }* %36, i32 0, i32 1
store volatile double %889, double* %890
store volatile double %888, double* %891
br label %892
892: ; preds = %883
%893 = getelementptr inbounds { double, double }, { double, double }* %36, i32 0, i32 0
%894 = load volatile double, double* %893
%895 = getelementptr inbounds { double, double }, { double, double }* %36, i32 0, i32 1
%896 = load volatile double, double* %895
%897 = fcmp une double %894, 0.000000e+00
%898 = fcmp une double %896, 0.000000e+00
%899 = or i1 %897, %898
br i1 %899, label %910, label %900
900: ; preds = %892
%901 = getelementptr inbounds { double, double }, { double, double }* %36, i32 0, i32 0
%902 = load volatile double, double* %901
%903 = call double @llvm.copysign.f64(double 1.000000e+00, double %902)
%904 = fcmp une double %903, 1.000000e+00
br i1 %904, label %910, label %905
905: ; preds = %900
%906 = getelementptr inbounds { double, double }, { double, double }* %36, i32 0, i32 1
%907 = load volatile double, double* %906
%908 = call double @llvm.copysign.f64(double 1.000000e+00, double %907)
%909 = fcmp une double %908, -1.000000e+00
br i1 %909, label %910, label %911
910: ; preds = %905, %900, %892
unreachable
911: ; preds = %905
br label %912
912: ; preds = %911
br label %913
913: ; preds = %912
br label %914
914: ; preds = %913
store double -0.000000e+00, double* %37
br i1 false, label %915, label %921
915: ; preds = %914
br i1 true, label %916, label %917
916: ; preds = %915
br label %918
917: ; preds = %915
br label %918
918: ; preds = %917, %916
%919 = phi double [ 0.000000e+00, %916 ], [ 0.000000e+00, %917 ]
%920 = phi double [ 0.000000e+00, %916 ], [ -0.000000e+00, %917 ]
br label %927
921: ; preds = %914
br i1 true, label %922, label %923
922: ; preds = %921
br label %924
923: ; preds = %921
br label %924
924: ; preds = %923, %922
%925 = phi double [ -0.000000e+00, %922 ], [ -0.000000e+00, %923 ]
%926 = phi double [ 0.000000e+00, %922 ], [ -0.000000e+00, %923 ]
br label %927
927: ; preds = %924, %918
%928 = phi double [ %919, %918 ], [ %925, %924 ]
%929 = phi double [ %920, %918 ], [ %926, %924 ]
%930 = getelementptr inbounds { double, double }, { double, double }* %38, i32 0, i32 0
%931 = getelementptr inbounds { double, double }, { double, double }* %38, i32 0, i32 1
store double %928, double* %930
store double %929, double* %931
br label %932
932: ; preds = %927
%933 = getelementptr inbounds { double, double }, { double, double }* %38, i32 0, i32 0
%934 = load double, double* %933
%935 = getelementptr inbounds { double, double }, { double, double }* %38, i32 0, i32 1
%936 = load double, double* %935
%937 = fcmp une double %934, 0.000000e+00
%938 = fcmp une double %936, 0.000000e+00
%939 = or i1 %937, %938
br i1 %939, label %950, label %940
940: ; preds = %932
%941 = getelementptr inbounds { double, double }, { double, double }* %38, i32 0, i32 0
%942 = load double, double* %941
%943 = call double @llvm.copysign.f64(double 1.000000e+00, double %942)
%944 = fcmp une double %943, -1.000000e+00
br i1 %944, label %950, label %945
945: ; preds = %940
%946 = getelementptr inbounds { double, double }, { double, double }* %38, i32 0, i32 1
%947 = load double, double* %946
%948 = call double @llvm.copysign.f64(double 1.000000e+00, double %947)
%949 = fcmp une double %948, 1.000000e+00
br i1 %949, label %950, label %951
950: ; preds = %945, %940, %932
unreachable
951: ; preds = %945
br label %952
952: ; preds = %951
%953 = load double, double* %37
%954 = getelementptr inbounds { double, double }, { double, double }* %38, i32 0, i32 0
%955 = load double, double* %954
%956 = getelementptr inbounds { double, double }, { double, double }* %38, i32 0, i32 1
%957 = load double, double* %956
%958 = fadd double %953, %955
%959 = getelementptr inbounds { double, double }, { double, double }* %39, i32 0, i32 0
%960 = getelementptr inbounds { double, double }, { double, double }* %39, i32 0, i32 1
store double %958, double* %959
store double %957, double* %960
br label %961
961: ; preds = %952
%962 = getelementptr inbounds { double, double }, { double, double }* %39, i32 0, i32 0
%963 = load double, double* %962
%964 = getelementptr inbounds { double, double }, { double, double }* %39, i32 0, i32 1
%965 = load double, double* %964
%966 = fcmp une double %963, 0.000000e+00
%967 = fcmp une double %965, 0.000000e+00
%968 = or i1 %966, %967
br i1 %968, label %979, label %969
969: ; preds = %961
%970 = getelementptr inbounds { double, double }, { double, double }* %39, i32 0, i32 0
%971 = load double, double* %970
%972 = call double @llvm.copysign.f64(double 1.000000e+00, double %971)
%973 = fcmp une double %972, -1.000000e+00
br i1 %973, label %979, label %974
974: ; preds = %969
%975 = getelementptr inbounds { double, double }, { double, double }* %39, i32 0, i32 1
%976 = load double, double* %975
%977 = call double @llvm.copysign.f64(double 1.000000e+00, double %976)
%978 = fcmp une double %977, 1.000000e+00
br i1 %978, label %979, label %980
979: ; preds = %974, %969, %961
unreachable
980: ; preds = %974
br label %981
981: ; preds = %980
store volatile double -0.000000e+00, double* %40
br i1 false, label %982, label %988
982: ; preds = %981
br i1 true, label %983, label %984
983: ; preds = %982
br label %985
984: ; preds = %982
br label %985
985: ; preds = %984, %983
%986 = phi double [ 0.000000e+00, %983 ], [ 0.000000e+00, %984 ]
%987 = phi double [ 0.000000e+00, %983 ], [ -0.000000e+00, %984 ]
br label %994
988: ; preds = %981
br i1 true, label %989, label %990
989: ; preds = %988
br label %991
990: ; preds = %988
br label %991
991: ; preds = %990, %989
%992 = phi double [ -0.000000e+00, %989 ], [ -0.000000e+00, %990 ]
%993 = phi double [ 0.000000e+00, %989 ], [ -0.000000e+00, %990 ]
br label %994
994: ; preds = %991, %985
%995 = phi double [ %986, %985 ], [ %992, %991 ]
%996 = phi double [ %987, %985 ], [ %993, %991 ]
%997 = getelementptr inbounds { double, double }, { double, double }* %41, i32 0, i32 0
%998 = getelementptr inbounds { double, double }, { double, double }* %41, i32 0, i32 1
store volatile double %995, double* %997
store volatile double %996, double* %998
br label %999
999: ; preds = %994
%1000 = getelementptr inbounds { double, double }, { double, double }* %41, i32 0, i32 0
%1001 = load volatile double, double* %1000
%1002 = getelementptr inbounds { double, double }, { double, double }* %41, i32 0, i32 1
%1003 = load volatile double, double* %1002
%1004 = fcmp une double %1001, 0.000000e+00
%1005 = fcmp une double %1003, 0.000000e+00
%1006 = or i1 %1004, %1005
br i1 %1006, label %1017, label %1007
1007: ; preds = %999
%1008 = getelementptr inbounds { double, double }, { double, double }* %41, i32 0, i32 0
%1009 = load volatile double, double* %1008
%1010 = call double @llvm.copysign.f64(double 1.000000e+00, double %1009)
%1011 = fcmp une double %1010, -1.000000e+00
br i1 %1011, label %1017, label %1012
1012: ; preds = %1007
%1013 = getelementptr inbounds { double, double }, { double, double }* %41, i32 0, i32 1
%1014 = load volatile double, double* %1013
%1015 = call double @llvm.copysign.f64(double 1.000000e+00, double %1014)
%1016 = fcmp une double %1015, 1.000000e+00
br i1 %1016, label %1017, label %1018
1017: ; preds = %1012, %1007, %999
unreachable
1018: ; preds = %1012
br label %1019
1019: ; preds = %1018
%1020 = load volatile double, double* %40
%1021 = getelementptr inbounds { double, double }, { double, double }* %41, i32 0, i32 0
%1022 = load volatile double, double* %1021
%1023 = getelementptr inbounds { double, double }, { double, double }* %41, i32 0, i32 1
%1024 = load volatile double, double* %1023
%1025 = fadd double %1020, %1022
%1026 = getelementptr inbounds { double, double }, { double, double }* %42, i32 0, i32 0
%1027 = getelementptr inbounds { double, double }, { double, double }* %42, i32 0, i32 1
store volatile double %1025, double* %1026
store volatile double %1024, double* %1027
br label %1028
1028: ; preds = %1019
%1029 = getelementptr inbounds { double, double }, { double, double }* %42, i32 0, i32 0
%1030 = load volatile double, double* %1029
%1031 = getelementptr inbounds { double, double }, { double, double }* %42, i32 0, i32 1
%1032 = load volatile double, double* %1031
%1033 = fcmp une double %1030, 0.000000e+00
%1034 = fcmp une double %1032, 0.000000e+00
%1035 = or i1 %1033, %1034
br i1 %1035, label %1046, label %1036
1036: ; preds = %1028
%1037 = getelementptr inbounds { double, double }, { double, double }* %42, i32 0, i32 0
%1038 = load volatile double, double* %1037
%1039 = call double @llvm.copysign.f64(double 1.000000e+00, double %1038)
%1040 = fcmp une double %1039, -1.000000e+00
br i1 %1040, label %1046, label %1041
1041: ; preds = %1036
%1042 = getelementptr inbounds { double, double }, { double, double }* %42, i32 0, i32 1
%1043 = load volatile double, double* %1042
%1044 = call double @llvm.copysign.f64(double 1.000000e+00, double %1043)
%1045 = fcmp une double %1044, 1.000000e+00
br i1 %1045, label %1046, label %1047
1046: ; preds = %1041, %1036, %1028
unreachable
1047: ; preds = %1041
br label %1048
1048: ; preds = %1047
br label %1049
1049: ; preds = %1048
br label %1050
1050: ; preds = %1049
store double -0.000000e+00, double* %43
br i1 false, label %1051, label %1057
1051: ; preds = %1050
br i1 false, label %1052, label %1053
1052: ; preds = %1051
br label %1054
1053: ; preds = %1051
br label %1054
1054: ; preds = %1053, %1052
%1055 = phi double [ 0.000000e+00, %1052 ], [ 0.000000e+00, %1053 ]
%1056 = phi double [ 0.000000e+00, %1052 ], [ -0.000000e+00, %1053 ]
br label %1063
1057: ; preds = %1050
br i1 false, label %1058, label %1059
1058: ; preds = %1057
br label %1060
1059: ; preds = %1057
br label %1060
1060: ; preds = %1059, %1058
%1061 = phi double [ -0.000000e+00, %1058 ], [ -0.000000e+00, %1059 ]
%1062 = phi double [ 0.000000e+00, %1058 ], [ -0.000000e+00, %1059 ]
br label %1063
1063: ; preds = %1060, %1054
%1064 = phi double [ %1055, %1054 ], [ %1061, %1060 ]
%1065 = phi double [ %1056, %1054 ], [ %1062, %1060 ]
%1066 = getelementptr inbounds { double, double }, { double, double }* %44, i32 0, i32 0
%1067 = getelementptr inbounds { double, double }, { double, double }* %44, i32 0, i32 1
store double %1064, double* %1066
store double %1065, double* %1067
br label %1068
1068: ; preds = %1063
%1069 = getelementptr inbounds { double, double }, { double, double }* %44, i32 0, i32 0
%1070 = load double, double* %1069
%1071 = getelementptr inbounds { double, double }, { double, double }* %44, i32 0, i32 1
%1072 = load double, double* %1071
%1073 = fcmp une double %1070, 0.000000e+00
%1074 = fcmp une double %1072, 0.000000e+00
%1075 = or i1 %1073, %1074
br i1 %1075, label %1086, label %1076
1076: ; preds = %1068
%1077 = getelementptr inbounds { double, double }, { double, double }* %44, i32 0, i32 0
%1078 = load double, double* %1077
%1079 = call double @llvm.copysign.f64(double 1.000000e+00, double %1078)
%1080 = fcmp une double %1079, -1.000000e+00
br i1 %1080, label %1086, label %1081
1081: ; preds = %1076
%1082 = getelementptr inbounds { double, double }, { double, double }* %44, i32 0, i32 1
%1083 = load double, double* %1082
%1084 = call double @llvm.copysign.f64(double 1.000000e+00, double %1083)
%1085 = fcmp une double %1084, -1.000000e+00
br i1 %1085, label %1086, label %1087
1086: ; preds = %1081, %1076, %1068
unreachable
1087: ; preds = %1081
br label %1088
1088: ; preds = %1087
%1089 = load double, double* %43
%1090 = getelementptr inbounds { double, double }, { double, double }* %44, i32 0, i32 0
%1091 = load double, double* %1090
%1092 = getelementptr inbounds { double, double }, { double, double }* %44, i32 0, i32 1
%1093 = load double, double* %1092
%1094 = fadd double %1089, %1091
%1095 = getelementptr inbounds { double, double }, { double, double }* %45, i32 0, i32 0
%1096 = getelementptr inbounds { double, double }, { double, double }* %45, i32 0, i32 1
store double %1094, double* %1095
store double %1093, double* %1096
br label %1097
1097: ; preds = %1088
%1098 = getelementptr inbounds { double, double }, { double, double }* %45, i32 0, i32 0
%1099 = load double, double* %1098
%1100 = getelementptr inbounds { double, double }, { double, double }* %45, i32 0, i32 1
%1101 = load double, double* %1100
%1102 = fcmp une double %1099, 0.000000e+00
%1103 = fcmp une double %1101, 0.000000e+00
%1104 = or i1 %1102, %1103
br i1 %1104, label %1115, label %1105
1105: ; preds = %1097
%1106 = getelementptr inbounds { double, double }, { double, double }* %45, i32 0, i32 0
%1107 = load double, double* %1106
%1108 = call double @llvm.copysign.f64(double 1.000000e+00, double %1107)
%1109 = fcmp une double %1108, -1.000000e+00
br i1 %1109, label %1115, label %1110
1110: ; preds = %1105
%1111 = getelementptr inbounds { double, double }, { double, double }* %45, i32 0, i32 1
%1112 = load double, double* %1111
%1113 = call double @llvm.copysign.f64(double 1.000000e+00, double %1112)
%1114 = fcmp une double %1113, -1.000000e+00
br i1 %1114, label %1115, label %1116
1115: ; preds = %1110, %1105, %1097
unreachable
1116: ; preds = %1110
br label %1117
1117: ; preds = %1116
store volatile double -0.000000e+00, double* %46
br i1 false, label %1118, label %1124
1118: ; preds = %1117
br i1 false, label %1119, label %1120
1119: ; preds = %1118
br label %1121
1120: ; preds = %1118
br label %1121
1121: ; preds = %1120, %1119
%1122 = phi double [ 0.000000e+00, %1119 ], [ 0.000000e+00, %1120 ]
%1123 = phi double [ 0.000000e+00, %1119 ], [ -0.000000e+00, %1120 ]
br label %1130
1124: ; preds = %1117
br i1 false, label %1125, label %1126
1125: ; preds = %1124
br label %1127
1126: ; preds = %1124
br label %1127
1127: ; preds = %1126, %1125
%1128 = phi double [ -0.000000e+00, %1125 ], [ -0.000000e+00, %1126 ]
%1129 = phi double [ 0.000000e+00, %1125 ], [ -0.000000e+00, %1126 ]
br label %1130
1130: ; preds = %1127, %1121
%1131 = phi double [ %1122, %1121 ], [ %1128, %1127 ]
%1132 = phi double [ %1123, %1121 ], [ %1129, %1127 ]
%1133 = getelementptr inbounds { double, double }, { double, double }* %47, i32 0, i32 0
%1134 = getelementptr inbounds { double, double }, { double, double }* %47, i32 0, i32 1
store volatile double %1131, double* %1133
store volatile double %1132, double* %1134
br label %1135
1135: ; preds = %1130
%1136 = getelementptr inbounds { double, double }, { double, double }* %47, i32 0, i32 0
%1137 = load volatile double, double* %1136
%1138 = getelementptr inbounds { double, double }, { double, double }* %47, i32 0, i32 1
%1139 = load volatile double, double* %1138
%1140 = fcmp une double %1137, 0.000000e+00
%1141 = fcmp une double %1139, 0.000000e+00
%1142 = or i1 %1140, %1141
br i1 %1142, label %1153, label %1143
1143: ; preds = %1135
%1144 = getelementptr inbounds { double, double }, { double, double }* %47, i32 0, i32 0
%1145 = load volatile double, double* %1144
%1146 = call double @llvm.copysign.f64(double 1.000000e+00, double %1145)
%1147 = fcmp une double %1146, -1.000000e+00
br i1 %1147, label %1153, label %1148
1148: ; preds = %1143
%1149 = getelementptr inbounds { double, double }, { double, double }* %47, i32 0, i32 1
%1150 = load volatile double, double* %1149
%1151 = call double @llvm.copysign.f64(double 1.000000e+00, double %1150)
%1152 = fcmp une double %1151, -1.000000e+00
br i1 %1152, label %1153, label %1154
1153: ; preds = %1148, %1143, %1135
unreachable
1154: ; preds = %1148
br label %1155
1155: ; preds = %1154
%1156 = load volatile double, double* %46
%1157 = getelementptr inbounds { double, double }, { double, double }* %47, i32 0, i32 0
%1158 = load volatile double, double* %1157
%1159 = getelementptr inbounds { double, double }, { double, double }* %47, i32 0, i32 1
%1160 = load volatile double, double* %1159
%1161 = fadd double %1156, %1158
%1162 = getelementptr inbounds { double, double }, { double, double }* %48, i32 0, i32 0
%1163 = getelementptr inbounds { double, double }, { double, double }* %48, i32 0, i32 1
store volatile double %1161, double* %1162
store volatile double %1160, double* %1163
br label %1164
1164: ; preds = %1155
%1165 = getelementptr inbounds { double, double }, { double, double }* %48, i32 0, i32 0
%1166 = load volatile double, double* %1165
%1167 = getelementptr inbounds { double, double }, { double, double }* %48, i32 0, i32 1
%1168 = load volatile double, double* %1167
%1169 = fcmp une double %1166, 0.000000e+00
%1170 = fcmp une double %1168, 0.000000e+00
%1171 = or i1 %1169, %1170
br i1 %1171, label %1182, label %1172
1172: ; preds = %1164
%1173 = getelementptr inbounds { double, double }, { double, double }* %48, i32 0, i32 0
%1174 = load volatile double, double* %1173
%1175 = call double @llvm.copysign.f64(double 1.000000e+00, double %1174)
%1176 = fcmp une double %1175, -1.000000e+00
br i1 %1176, label %1182, label %1177
1177: ; preds = %1172
%1178 = getelementptr inbounds { double, double }, { double, double }* %48, i32 0, i32 1
%1179 = load volatile double, double* %1178
%1180 = call double @llvm.copysign.f64(double 1.000000e+00, double %1179)
%1181 = fcmp une double %1180, -1.000000e+00
br i1 %1181, label %1182, label %1183
1182: ; preds = %1177, %1172, %1164
unreachable
1183: ; preds = %1177
br label %1184
1184: ; preds = %1183
br label %1185
1185: ; preds = %1184
br label %1186
1186: ; preds = %1185
br i1 true, label %1187, label %1193
1187: ; preds = %1186
br i1 true, label %1188, label %1189
1188: ; preds = %1187
br label %1190
1189: ; preds = %1187
br label %1190
1190: ; preds = %1189, %1188
%1191 = phi double [ 0.000000e+00, %1188 ], [ 0.000000e+00, %1189 ]
%1192 = phi double [ 0.000000e+00, %1188 ], [ -0.000000e+00, %1189 ]
br label %1199
1193: ; preds = %1186
br i1 true, label %1194, label %1195
1194: ; preds = %1193
br label %1196
1195: ; preds = %1193
br label %1196
1196: ; preds = %1195, %1194
%1197 = phi double [ -0.000000e+00, %1194 ], [ -0.000000e+00, %1195 ]
%1198 = phi double [ 0.000000e+00, %1194 ], [ -0.000000e+00, %1195 ]
br label %1199
1199: ; preds = %1196, %1190
%1200 = phi double [ %1191, %1190 ], [ %1197, %1196 ]
%1201 = phi double [ %1192, %1190 ], [ %1198, %1196 ]
%1202 = getelementptr inbounds { double, double }, { double, double }* %49, i32 0, i32 0
%1203 = getelementptr inbounds { double, double }, { double, double }* %49, i32 0, i32 1
store double %1200, double* %1202
store double %1201, double* %1203
br label %1204
1204: ; preds = %1199
%1205 = getelementptr inbounds { double, double }, { double, double }* %49, i32 0, i32 0
%1206 = load double, double* %1205
%1207 = getelementptr inbounds { double, double }, { double, double }* %49, i32 0, i32 1
%1208 = load double, double* %1207
%1209 = fcmp une double %1206, 0.000000e+00
%1210 = fcmp une double %1208, 0.000000e+00
%1211 = or i1 %1209, %1210
br i1 %1211, label %1222, label %1212
1212: ; preds = %1204
%1213 = getelementptr inbounds { double, double }, { double, double }* %49, i32 0, i32 0
%1214 = load double, double* %1213
%1215 = call double @llvm.copysign.f64(double 1.000000e+00, double %1214)
%1216 = fcmp une double %1215, 1.000000e+00
br i1 %1216, label %1222, label %1217
1217: ; preds = %1212
%1218 = getelementptr inbounds { double, double }, { double, double }* %49, i32 0, i32 1
%1219 = load double, double* %1218
%1220 = call double @llvm.copysign.f64(double 1.000000e+00, double %1219)
%1221 = fcmp une double %1220, 1.000000e+00
br i1 %1221, label %1222, label %1223
1222: ; preds = %1217, %1212, %1204
unreachable
1223: ; preds = %1217
br label %1224
1224: ; preds = %1223
store double 0.000000e+00, double* %51
%1225 = getelementptr inbounds { double, double }, { double, double }* %49, i32 0, i32 0
%1226 = load double, double* %1225
%1227 = getelementptr inbounds { double, double }, { double, double }* %49, i32 0, i32 1
%1228 = load double, double* %1227
%1229 = load double, double* %51
%1230 = fadd double %1226, %1229
%1231 = getelementptr inbounds { double, double }, { double, double }* %50, i32 0, i32 0
%1232 = getelementptr inbounds { double, double }, { double, double }* %50, i32 0, i32 1
store double %1230, double* %1231
store double %1228, double* %1232
br label %1233
1233: ; preds = %1224
%1234 = getelementptr inbounds { double, double }, { double, double }* %50, i32 0, i32 0
%1235 = load double, double* %1234
%1236 = getelementptr inbounds { double, double }, { double, double }* %50, i32 0, i32 1
%1237 = load double, double* %1236
%1238 = fcmp une double %1235, 0.000000e+00
%1239 = fcmp une double %1237, 0.000000e+00
%1240 = or i1 %1238, %1239
br i1 %1240, label %1251, label %1241
1241: ; preds = %1233
%1242 = getelementptr inbounds { double, double }, { double, double }* %50, i32 0, i32 0
%1243 = load double, double* %1242
%1244 = call double @llvm.copysign.f64(double 1.000000e+00, double %1243)
%1245 = fcmp une double %1244, 1.000000e+00
br i1 %1245, label %1251, label %1246
1246: ; preds = %1241
%1247 = getelementptr inbounds { double, double }, { double, double }* %50, i32 0, i32 1
%1248 = load double, double* %1247
%1249 = call double @llvm.copysign.f64(double 1.000000e+00, double %1248)
%1250 = fcmp une double %1249, 1.000000e+00
br i1 %1250, label %1251, label %1252
1251: ; preds = %1246, %1241, %1233
unreachable
1252: ; preds = %1246
br label %1253
1253: ; preds = %1252
br i1 true, label %1254, label %1260
1254: ; preds = %1253
br i1 true, label %1255, label %1256
1255: ; preds = %1254
br label %1257
1256: ; preds = %1254
br label %1257
1257: ; preds = %1256, %1255
%1258 = phi double [ 0.000000e+00, %1255 ], [ 0.000000e+00, %1256 ]
%1259 = phi double [ 0.000000e+00, %1255 ], [ -0.000000e+00, %1256 ]
br label %1266
1260: ; preds = %1253
br i1 true, label %1261, label %1262
1261: ; preds = %1260
br label %1263
1262: ; preds = %1260
br label %1263
1263: ; preds = %1262, %1261
%1264 = phi double [ -0.000000e+00, %1261 ], [ -0.000000e+00, %1262 ]
%1265 = phi double [ 0.000000e+00, %1261 ], [ -0.000000e+00, %1262 ]
br label %1266
1266: ; preds = %1263, %1257
%1267 = phi double [ %1258, %1257 ], [ %1264, %1263 ]
%1268 = phi double [ %1259, %1257 ], [ %1265, %1263 ]
%1269 = getelementptr inbounds { double, double }, { double, double }* %52, i32 0, i32 0
%1270 = getelementptr inbounds { double, double }, { double, double }* %52, i32 0, i32 1
store volatile double %1267, double* %1269
store volatile double %1268, double* %1270
br label %1271
1271: ; preds = %1266
%1272 = getelementptr inbounds { double, double }, { double, double }* %52, i32 0, i32 0
%1273 = load volatile double, double* %1272
%1274 = getelementptr inbounds { double, double }, { double, double }* %52, i32 0, i32 1
%1275 = load volatile double, double* %1274
%1276 = fcmp une double %1273, 0.000000e+00
%1277 = fcmp une double %1275, 0.000000e+00
%1278 = or i1 %1276, %1277
br i1 %1278, label %1289, label %1279
1279: ; preds = %1271
%1280 = getelementptr inbounds { double, double }, { double, double }* %52, i32 0, i32 0
%1281 = load volatile double, double* %1280
%1282 = call double @llvm.copysign.f64(double 1.000000e+00, double %1281)
%1283 = fcmp une double %1282, 1.000000e+00
br i1 %1283, label %1289, label %1284
1284: ; preds = %1279
%1285 = getelementptr inbounds { double, double }, { double, double }* %52, i32 0, i32 1
%1286 = load volatile double, double* %1285
%1287 = call double @llvm.copysign.f64(double 1.000000e+00, double %1286)
%1288 = fcmp une double %1287, 1.000000e+00
br i1 %1288, label %1289, label %1290
1289: ; preds = %1284, %1279, %1271
unreachable
1290: ; preds = %1284
br label %1291
1291: ; preds = %1290
store volatile double 0.000000e+00, double* %54
%1292 = getelementptr inbounds { double, double }, { double, double }* %52, i32 0, i32 0
%1293 = load volatile double, double* %1292
%1294 = getelementptr inbounds { double, double }, { double, double }* %52, i32 0, i32 1
%1295 = load volatile double, double* %1294
%1296 = load volatile double, double* %54
%1297 = fadd double %1293, %1296
%1298 = getelementptr inbounds { double, double }, { double, double }* %53, i32 0, i32 0
%1299 = getelementptr inbounds { double, double }, { double, double }* %53, i32 0, i32 1
store volatile double %1297, double* %1298
store volatile double %1295, double* %1299
br label %1300
1300: ; preds = %1291
%1301 = getelementptr inbounds { double, double }, { double, double }* %53, i32 0, i32 0
%1302 = load volatile double, double* %1301
%1303 = getelementptr inbounds { double, double }, { double, double }* %53, i32 0, i32 1
%1304 = load volatile double, double* %1303
%1305 = fcmp une double %1302, 0.000000e+00
%1306 = fcmp une double %1304, 0.000000e+00
%1307 = or i1 %1305, %1306
br i1 %1307, label %1318, label %1308
1308: ; preds = %1300
%1309 = getelementptr inbounds { double, double }, { double, double }* %53, i32 0, i32 0
%1310 = load volatile double, double* %1309
%1311 = call double @llvm.copysign.f64(double 1.000000e+00, double %1310)
%1312 = fcmp une double %1311, 1.000000e+00
br i1 %1312, label %1318, label %1313
1313: ; preds = %1308
%1314 = getelementptr inbounds { double, double }, { double, double }* %53, i32 0, i32 1
%1315 = load volatile double, double* %1314
%1316 = call double @llvm.copysign.f64(double 1.000000e+00, double %1315)
%1317 = fcmp une double %1316, 1.000000e+00
br i1 %1317, label %1318, label %1319
1318: ; preds = %1313, %1308, %1300
unreachable
1319: ; preds = %1313
br label %1320
1320: ; preds = %1319
br label %1321
1321: ; preds = %1320
br label %1322
1322: ; preds = %1321
br i1 true, label %1323, label %1329
1323: ; preds = %1322
br i1 true, label %1324, label %1325
1324: ; preds = %1323
br label %1326
1325: ; preds = %1323
br label %1326
1326: ; preds = %1325, %1324
%1327 = phi double [ 0.000000e+00, %1324 ], [ 0.000000e+00, %1325 ]
%1328 = phi double [ 0.000000e+00, %1324 ], [ -0.000000e+00, %1325 ]
br label %1335
1329: ; preds = %1322
br i1 true, label %1330, label %1331
1330: ; preds = %1329
br label %1332
1331: ; preds = %1329
br label %1332
1332: ; preds = %1331, %1330
%1333 = phi double [ -0.000000e+00, %1330 ], [ -0.000000e+00, %1331 ]
%1334 = phi double [ 0.000000e+00, %1330 ], [ -0.000000e+00, %1331 ]
br label %1335
1335: ; preds = %1332, %1326
%1336 = phi double [ %1327, %1326 ], [ %1333, %1332 ]
%1337 = phi double [ %1328, %1326 ], [ %1334, %1332 ]
%1338 = getelementptr inbounds { double, double }, { double, double }* %55, i32 0, i32 0
%1339 = getelementptr inbounds { double, double }, { double, double }* %55, i32 0, i32 1
store double %1336, double* %1338
store double %1337, double* %1339
br label %1340
1340: ; preds = %1335
%1341 = getelementptr inbounds { double, double }, { double, double }* %55, i32 0, i32 0
%1342 = load double, double* %1341
%1343 = getelementptr inbounds { double, double }, { double, double }* %55, i32 0, i32 1
%1344 = load double, double* %1343
%1345 = fcmp une double %1342, 0.000000e+00
%1346 = fcmp une double %1344, 0.000000e+00
%1347 = or i1 %1345, %1346
br i1 %1347, label %1358, label %1348
1348: ; preds = %1340
%1349 = getelementptr inbounds { double, double }, { double, double }* %55, i32 0, i32 0
%1350 = load double, double* %1349
%1351 = call double @llvm.copysign.f64(double 1.000000e+00, double %1350)
%1352 = fcmp une double %1351, 1.000000e+00
br i1 %1352, label %1358, label %1353
1353: ; preds = %1348
%1354 = getelementptr inbounds { double, double }, { double, double }* %55, i32 0, i32 1
%1355 = load double, double* %1354
%1356 = call double @llvm.copysign.f64(double 1.000000e+00, double %1355)
%1357 = fcmp une double %1356, 1.000000e+00
br i1 %1357, label %1358, label %1359
1358: ; preds = %1353, %1348, %1340
unreachable
1359: ; preds = %1353
br label %1360
1360: ; preds = %1359
store double -0.000000e+00, double* %57
%1361 = getelementptr inbounds { double, double }, { double, double }* %55, i32 0, i32 0
%1362 = load double, double* %1361
%1363 = getelementptr inbounds { double, double }, { double, double }* %55, i32 0, i32 1
%1364 = load double, double* %1363
%1365 = load double, double* %57
%1366 = fadd double %1362, %1365
%1367 = getelementptr inbounds { double, double }, { double, double }* %56, i32 0, i32 0
%1368 = getelementptr inbounds { double, double }, { double, double }* %56, i32 0, i32 1
store double %1366, double* %1367
store double %1364, double* %1368
br label %1369
1369: ; preds = %1360
%1370 = getelementptr inbounds { double, double }, { double, double }* %56, i32 0, i32 0
%1371 = load double, double* %1370
%1372 = getelementptr inbounds { double, double }, { double, double }* %56, i32 0, i32 1
%1373 = load double, double* %1372
%1374 = fcmp une double %1371, 0.000000e+00
%1375 = fcmp une double %1373, 0.000000e+00
%1376 = or i1 %1374, %1375
br i1 %1376, label %1387, label %1377
1377: ; preds = %1369
%1378 = getelementptr inbounds { double, double }, { double, double }* %56, i32 0, i32 0
%1379 = load double, double* %1378
%1380 = call double @llvm.copysign.f64(double 1.000000e+00, double %1379)
%1381 = fcmp une double %1380, 1.000000e+00
br i1 %1381, label %1387, label %1382
1382: ; preds = %1377
%1383 = getelementptr inbounds { double, double }, { double, double }* %56, i32 0, i32 1
%1384 = load double, double* %1383
%1385 = call double @llvm.copysign.f64(double 1.000000e+00, double %1384)
%1386 = fcmp une double %1385, 1.000000e+00
br i1 %1386, label %1387, label %1388
1387: ; preds = %1382, %1377, %1369
unreachable
1388: ; preds = %1382
br label %1389
1389: ; preds = %1388
br i1 true, label %1390, label %1396
1390: ; preds = %1389
br i1 true, label %1391, label %1392
1391: ; preds = %1390
br label %1393
1392: ; preds = %1390
br label %1393
1393: ; preds = %1392, %1391
%1394 = phi double [ 0.000000e+00, %1391 ], [ 0.000000e+00, %1392 ]
%1395 = phi double [ 0.000000e+00, %1391 ], [ -0.000000e+00, %1392 ]
br label %1402
1396: ; preds = %1389
br i1 true, label %1397, label %1398
1397: ; preds = %1396
br label %1399
1398: ; preds = %1396
br label %1399
1399: ; preds = %1398, %1397
%1400 = phi double [ -0.000000e+00, %1397 ], [ -0.000000e+00, %1398 ]
%1401 = phi double [ 0.000000e+00, %1397 ], [ -0.000000e+00, %1398 ]
br label %1402
1402: ; preds = %1399, %1393
%1403 = phi double [ %1394, %1393 ], [ %1400, %1399 ]
%1404 = phi double [ %1395, %1393 ], [ %1401, %1399 ]
%1405 = getelementptr inbounds { double, double }, { double, double }* %58, i32 0, i32 0
%1406 = getelementptr inbounds { double, double }, { double, double }* %58, i32 0, i32 1
store volatile double %1403, double* %1405
store volatile double %1404, double* %1406
br label %1407
1407: ; preds = %1402
%1408 = getelementptr inbounds { double, double }, { double, double }* %58, i32 0, i32 0
%1409 = load volatile double, double* %1408
%1410 = getelementptr inbounds { double, double }, { double, double }* %58, i32 0, i32 1
%1411 = load volatile double, double* %1410
%1412 = fcmp une double %1409, 0.000000e+00
%1413 = fcmp une double %1411, 0.000000e+00
%1414 = or i1 %1412, %1413
br i1 %1414, label %1425, label %1415
1415: ; preds = %1407
%1416 = getelementptr inbounds { double, double }, { double, double }* %58, i32 0, i32 0
%1417 = load volatile double, double* %1416
%1418 = call double @llvm.copysign.f64(double 1.000000e+00, double %1417)
%1419 = fcmp une double %1418, 1.000000e+00
br i1 %1419, label %1425, label %1420
1420: ; preds = %1415
%1421 = getelementptr inbounds { double, double }, { double, double }* %58, i32 0, i32 1
%1422 = load volatile double, double* %1421
%1423 = call double @llvm.copysign.f64(double 1.000000e+00, double %1422)
%1424 = fcmp une double %1423, 1.000000e+00
br i1 %1424, label %1425, label %1426
1425: ; preds = %1420, %1415, %1407
unreachable
1426: ; preds = %1420
br label %1427
1427: ; preds = %1426
store volatile double -0.000000e+00, double* %60
%1428 = getelementptr inbounds { double, double }, { double, double }* %58, i32 0, i32 0
%1429 = load volatile double, double* %1428
%1430 = getelementptr inbounds { double, double }, { double, double }* %58, i32 0, i32 1
%1431 = load volatile double, double* %1430
%1432 = load volatile double, double* %60
%1433 = fadd double %1429, %1432
%1434 = getelementptr inbounds { double, double }, { double, double }* %59, i32 0, i32 0
%1435 = getelementptr inbounds { double, double }, { double, double }* %59, i32 0, i32 1
store volatile double %1433, double* %1434
store volatile double %1431, double* %1435
br label %1436
1436: ; preds = %1427
%1437 = getelementptr inbounds { double, double }, { double, double }* %59, i32 0, i32 0
%1438 = load volatile double, double* %1437
%1439 = getelementptr inbounds { double, double }, { double, double }* %59, i32 0, i32 1
%1440 = load volatile double, double* %1439
%1441 = fcmp une double %1438, 0.000000e+00
%1442 = fcmp une double %1440, 0.000000e+00
%1443 = or i1 %1441, %1442
br i1 %1443, label %1454, label %1444
1444: ; preds = %1436
%1445 = getelementptr inbounds { double, double }, { double, double }* %59, i32 0, i32 0
%1446 = load volatile double, double* %1445
%1447 = call double @llvm.copysign.f64(double 1.000000e+00, double %1446)
%1448 = fcmp une double %1447, 1.000000e+00
br i1 %1448, label %1454, label %1449
1449: ; preds = %1444
%1450 = getelementptr inbounds { double, double }, { double, double }* %59, i32 0, i32 1
%1451 = load volatile double, double* %1450
%1452 = call double @llvm.copysign.f64(double 1.000000e+00, double %1451)
%1453 = fcmp une double %1452, 1.000000e+00
br i1 %1453, label %1454, label %1455
1454: ; preds = %1449, %1444, %1436
unreachable
1455: ; preds = %1449
br label %1456
1456: ; preds = %1455
br label %1457
1457: ; preds = %1456
br label %1458
1458: ; preds = %1457
br i1 true, label %1459, label %1465
1459: ; preds = %1458
br i1 false, label %1460, label %1461
1460: ; preds = %1459
br label %1462
1461: ; preds = %1459
br label %1462
1462: ; preds = %1461, %1460
%1463 = phi double [ 0.000000e+00, %1460 ], [ 0.000000e+00, %1461 ]
%1464 = phi double [ 0.000000e+00, %1460 ], [ -0.000000e+00, %1461 ]
br label %1471
1465: ; preds = %1458
br i1 false, label %1466, label %1467
1466: ; preds = %1465
br label %1468
1467: ; preds = %1465
br label %1468
1468: ; preds = %1467, %1466
%1469 = phi double [ -0.000000e+00, %1466 ], [ -0.000000e+00, %1467 ]
%1470 = phi double [ 0.000000e+00, %1466 ], [ -0.000000e+00, %1467 ]
br label %1471
1471: ; preds = %1468, %1462
%1472 = phi double [ %1463, %1462 ], [ %1469, %1468 ]
%1473 = phi double [ %1464, %1462 ], [ %1470, %1468 ]
%1474 = getelementptr inbounds { double, double }, { double, double }* %61, i32 0, i32 0
%1475 = getelementptr inbounds { double, double }, { double, double }* %61, i32 0, i32 1
store double %1472, double* %1474
store double %1473, double* %1475
br label %1476
1476: ; preds = %1471
%1477 = getelementptr inbounds { double, double }, { double, double }* %61, i32 0, i32 0
%1478 = load double, double* %1477
%1479 = getelementptr inbounds { double, double }, { double, double }* %61, i32 0, i32 1
%1480 = load double, double* %1479
%1481 = fcmp une double %1478, 0.000000e+00
%1482 = fcmp une double %1480, 0.000000e+00
%1483 = or i1 %1481, %1482
br i1 %1483, label %1494, label %1484
1484: ; preds = %1476
%1485 = getelementptr inbounds { double, double }, { double, double }* %61, i32 0, i32 0
%1486 = load double, double* %1485
%1487 = call double @llvm.copysign.f64(double 1.000000e+00, double %1486)
%1488 = fcmp une double %1487, 1.000000e+00
br i1 %1488, label %1494, label %1489
1489: ; preds = %1484
%1490 = getelementptr inbounds { double, double }, { double, double }* %61, i32 0, i32 1
%1491 = load double, double* %1490
%1492 = call double @llvm.copysign.f64(double 1.000000e+00, double %1491)
%1493 = fcmp une double %1492, -1.000000e+00
br i1 %1493, label %1494, label %1495
1494: ; preds = %1489, %1484, %1476
unreachable
1495: ; preds = %1489
br label %1496
1496: ; preds = %1495
store double 0.000000e+00, double* %63
%1497 = getelementptr inbounds { double, double }, { double, double }* %61, i32 0, i32 0
%1498 = load double, double* %1497
%1499 = getelementptr inbounds { double, double }, { double, double }* %61, i32 0, i32 1
%1500 = load double, double* %1499
%1501 = load double, double* %63
%1502 = fadd double %1498, %1501
%1503 = getelementptr inbounds { double, double }, { double, double }* %62, i32 0, i32 0
%1504 = getelementptr inbounds { double, double }, { double, double }* %62, i32 0, i32 1
store double %1502, double* %1503
store double %1500, double* %1504
br label %1505
1505: ; preds = %1496
%1506 = getelementptr inbounds { double, double }, { double, double }* %62, i32 0, i32 0
%1507 = load double, double* %1506
%1508 = getelementptr inbounds { double, double }, { double, double }* %62, i32 0, i32 1
%1509 = load double, double* %1508
%1510 = fcmp une double %1507, 0.000000e+00
%1511 = fcmp une double %1509, 0.000000e+00
%1512 = or i1 %1510, %1511
br i1 %1512, label %1523, label %1513
1513: ; preds = %1505
%1514 = getelementptr inbounds { double, double }, { double, double }* %62, i32 0, i32 0
%1515 = load double, double* %1514
%1516 = call double @llvm.copysign.f64(double 1.000000e+00, double %1515)
%1517 = fcmp une double %1516, 1.000000e+00
br i1 %1517, label %1523, label %1518
1518: ; preds = %1513
%1519 = getelementptr inbounds { double, double }, { double, double }* %62, i32 0, i32 1
%1520 = load double, double* %1519
%1521 = call double @llvm.copysign.f64(double 1.000000e+00, double %1520)
%1522 = fcmp une double %1521, -1.000000e+00
br i1 %1522, label %1523, label %1524
1523: ; preds = %1518, %1513, %1505
unreachable
1524: ; preds = %1518
br label %1525
1525: ; preds = %1524
br i1 true, label %1526, label %1532
1526: ; preds = %1525
br i1 false, label %1527, label %1528
1527: ; preds = %1526
br label %1529
1528: ; preds = %1526
br label %1529
1529: ; preds = %1528, %1527
%1530 = phi double [ 0.000000e+00, %1527 ], [ 0.000000e+00, %1528 ]
%1531 = phi double [ 0.000000e+00, %1527 ], [ -0.000000e+00, %1528 ]
br label %1538
1532: ; preds = %1525
br i1 false, label %1533, label %1534
1533: ; preds = %1532
br label %1535
1534: ; preds = %1532
br label %1535
1535: ; preds = %1534, %1533
%1536 = phi double [ -0.000000e+00, %1533 ], [ -0.000000e+00, %1534 ]
%1537 = phi double [ 0.000000e+00, %1533 ], [ -0.000000e+00, %1534 ]
br label %1538
1538: ; preds = %1535, %1529
%1539 = phi double [ %1530, %1529 ], [ %1536, %1535 ]
%1540 = phi double [ %1531, %1529 ], [ %1537, %1535 ]
%1541 = getelementptr inbounds { double, double }, { double, double }* %64, i32 0, i32 0
%1542 = getelementptr inbounds { double, double }, { double, double }* %64, i32 0, i32 1
store volatile double %1539, double* %1541
store volatile double %1540, double* %1542
br label %1543
1543: ; preds = %1538
%1544 = getelementptr inbounds { double, double }, { double, double }* %64, i32 0, i32 0
%1545 = load volatile double, double* %1544
%1546 = getelementptr inbounds { double, double }, { double, double }* %64, i32 0, i32 1
%1547 = load volatile double, double* %1546
%1548 = fcmp une double %1545, 0.000000e+00
%1549 = fcmp une double %1547, 0.000000e+00
%1550 = or i1 %1548, %1549
br i1 %1550, label %1561, label %1551
1551: ; preds = %1543
%1552 = getelementptr inbounds { double, double }, { double, double }* %64, i32 0, i32 0
%1553 = load volatile double, double* %1552
%1554 = call double @llvm.copysign.f64(double 1.000000e+00, double %1553)
%1555 = fcmp une double %1554, 1.000000e+00
br i1 %1555, label %1561, label %1556
1556: ; preds = %1551
%1557 = getelementptr inbounds { double, double }, { double, double }* %64, i32 0, i32 1
%1558 = load volatile double, double* %1557
%1559 = call double @llvm.copysign.f64(double 1.000000e+00, double %1558)
%1560 = fcmp une double %1559, -1.000000e+00
br i1 %1560, label %1561, label %1562
1561: ; preds = %1556, %1551, %1543
unreachable
1562: ; preds = %1556
br label %1563
1563: ; preds = %1562
store volatile double 0.000000e+00, double* %66
%1564 = getelementptr inbounds { double, double }, { double, double }* %64, i32 0, i32 0
%1565 = load volatile double, double* %1564
%1566 = getelementptr inbounds { double, double }, { double, double }* %64, i32 0, i32 1
%1567 = load volatile double, double* %1566
%1568 = load volatile double, double* %66
%1569 = fadd double %1565, %1568
%1570 = getelementptr inbounds { double, double }, { double, double }* %65, i32 0, i32 0
%1571 = getelementptr inbounds { double, double }, { double, double }* %65, i32 0, i32 1
store volatile double %1569, double* %1570
store volatile double %1567, double* %1571
br label %1572
1572: ; preds = %1563
%1573 = getelementptr inbounds { double, double }, { double, double }* %65, i32 0, i32 0
%1574 = load volatile double, double* %1573
%1575 = getelementptr inbounds { double, double }, { double, double }* %65, i32 0, i32 1
%1576 = load volatile double, double* %1575
%1577 = fcmp une double %1574, 0.000000e+00
%1578 = fcmp une double %1576, 0.000000e+00
%1579 = or i1 %1577, %1578
br i1 %1579, label %1590, label %1580
1580: ; preds = %1572
%1581 = getelementptr inbounds { double, double }, { double, double }* %65, i32 0, i32 0
%1582 = load volatile double, double* %1581
%1583 = call double @llvm.copysign.f64(double 1.000000e+00, double %1582)
%1584 = fcmp une double %1583, 1.000000e+00
br i1 %1584, label %1590, label %1585
1585: ; preds = %1580
%1586 = getelementptr inbounds { double, double }, { double, double }* %65, i32 0, i32 1
%1587 = load volatile double, double* %1586
%1588 = call double @llvm.copysign.f64(double 1.000000e+00, double %1587)
%1589 = fcmp une double %1588, -1.000000e+00
br i1 %1589, label %1590, label %1591
1590: ; preds = %1585, %1580, %1572
unreachable
1591: ; preds = %1585
br label %1592
1592: ; preds = %1591
br label %1593
1593: ; preds = %1592
br label %1594
1594: ; preds = %1593
br i1 true, label %1595, label %1601
1595: ; preds = %1594
br i1 false, label %1596, label %1597
1596: ; preds = %1595
br label %1598
1597: ; preds = %1595
br label %1598
1598: ; preds = %1597, %1596
%1599 = phi double [ 0.000000e+00, %1596 ], [ 0.000000e+00, %1597 ]
%1600 = phi double [ 0.000000e+00, %1596 ], [ -0.000000e+00, %1597 ]
br label %1607
1601: ; preds = %1594
br i1 false, label %1602, label %1603
1602: ; preds = %1601
br label %1604
1603: ; preds = %1601
br label %1604
1604: ; preds = %1603, %1602
%1605 = phi double [ -0.000000e+00, %1602 ], [ -0.000000e+00, %1603 ]
%1606 = phi double [ 0.000000e+00, %1602 ], [ -0.000000e+00, %1603 ]
br label %1607
1607: ; preds = %1604, %1598
%1608 = phi double [ %1599, %1598 ], [ %1605, %1604 ]
%1609 = phi double [ %1600, %1598 ], [ %1606, %1604 ]
%1610 = getelementptr inbounds { double, double }, { double, double }* %67, i32 0, i32 0
%1611 = getelementptr inbounds { double, double }, { double, double }* %67, i32 0, i32 1
store double %1608, double* %1610
store double %1609, double* %1611
br label %1612
1612: ; preds = %1607
%1613 = getelementptr inbounds { double, double }, { double, double }* %67, i32 0, i32 0
%1614 = load double, double* %1613
%1615 = getelementptr inbounds { double, double }, { double, double }* %67, i32 0, i32 1
%1616 = load double, double* %1615
%1617 = fcmp une double %1614, 0.000000e+00
%1618 = fcmp une double %1616, 0.000000e+00
%1619 = or i1 %1617, %1618
br i1 %1619, label %1630, label %1620
1620: ; preds = %1612
%1621 = getelementptr inbounds { double, double }, { double, double }* %67, i32 0, i32 0
%1622 = load double, double* %1621
%1623 = call double @llvm.copysign.f64(double 1.000000e+00, double %1622)
%1624 = fcmp une double %1623, 1.000000e+00
br i1 %1624, label %1630, label %1625
1625: ; preds = %1620
%1626 = getelementptr inbounds { double, double }, { double, double }* %67, i32 0, i32 1
%1627 = load double, double* %1626
%1628 = call double @llvm.copysign.f64(double 1.000000e+00, double %1627)
%1629 = fcmp une double %1628, -1.000000e+00
br i1 %1629, label %1630, label %1631
1630: ; preds = %1625, %1620, %1612
unreachable
1631: ; preds = %1625
br label %1632
1632: ; preds = %1631
store double -0.000000e+00, double* %69
%1633 = getelementptr inbounds { double, double }, { double, double }* %67, i32 0, i32 0
%1634 = load double, double* %1633
%1635 = getelementptr inbounds { double, double }, { double, double }* %67, i32 0, i32 1
%1636 = load double, double* %1635
%1637 = load double, double* %69
%1638 = fadd double %1634, %1637
%1639 = getelementptr inbounds { double, double }, { double, double }* %68, i32 0, i32 0
%1640 = getelementptr inbounds { double, double }, { double, double }* %68, i32 0, i32 1
store double %1638, double* %1639
store double %1636, double* %1640
br label %1641
1641: ; preds = %1632
%1642 = getelementptr inbounds { double, double }, { double, double }* %68, i32 0, i32 0
%1643 = load double, double* %1642
%1644 = getelementptr inbounds { double, double }, { double, double }* %68, i32 0, i32 1
%1645 = load double, double* %1644
%1646 = fcmp une double %1643, 0.000000e+00
%1647 = fcmp une double %1645, 0.000000e+00
%1648 = or i1 %1646, %1647
br i1 %1648, label %1659, label %1649
1649: ; preds = %1641
%1650 = getelementptr inbounds { double, double }, { double, double }* %68, i32 0, i32 0
%1651 = load double, double* %1650
%1652 = call double @llvm.copysign.f64(double 1.000000e+00, double %1651)
%1653 = fcmp une double %1652, 1.000000e+00
br i1 %1653, label %1659, label %1654
1654: ; preds = %1649
%1655 = getelementptr inbounds { double, double }, { double, double }* %68, i32 0, i32 1
%1656 = load double, double* %1655
%1657 = call double @llvm.copysign.f64(double 1.000000e+00, double %1656)
%1658 = fcmp une double %1657, -1.000000e+00
br i1 %1658, label %1659, label %1660
1659: ; preds = %1654, %1649, %1641
unreachable
1660: ; preds = %1654
br label %1661
1661: ; preds = %1660
br i1 true, label %1662, label %1668
1662: ; preds = %1661
br i1 false, label %1663, label %1664
1663: ; preds = %1662
br label %1665
1664: ; preds = %1662
br label %1665
1665: ; preds = %1664, %1663
%1666 = phi double [ 0.000000e+00, %1663 ], [ 0.000000e+00, %1664 ]
%1667 = phi double [ 0.000000e+00, %1663 ], [ -0.000000e+00, %1664 ]
br label %1674
1668: ; preds = %1661
br i1 false, label %1669, label %1670
1669: ; preds = %1668
br label %1671
1670: ; preds = %1668
br label %1671
1671: ; preds = %1670, %1669
%1672 = phi double [ -0.000000e+00, %1669 ], [ -0.000000e+00, %1670 ]
%1673 = phi double [ 0.000000e+00, %1669 ], [ -0.000000e+00, %1670 ]
br label %1674
1674: ; preds = %1671, %1665
%1675 = phi double [ %1666, %1665 ], [ %1672, %1671 ]
%1676 = phi double [ %1667, %1665 ], [ %1673, %1671 ]
%1677 = getelementptr inbounds { double, double }, { double, double }* %70, i32 0, i32 0
%1678 = getelementptr inbounds { double, double }, { double, double }* %70, i32 0, i32 1
store volatile double %1675, double* %1677
store volatile double %1676, double* %1678
br label %1679
1679: ; preds = %1674
%1680 = getelementptr inbounds { double, double }, { double, double }* %70, i32 0, i32 0
%1681 = load volatile double, double* %1680
%1682 = getelementptr inbounds { double, double }, { double, double }* %70, i32 0, i32 1
%1683 = load volatile double, double* %1682
%1684 = fcmp une double %1681, 0.000000e+00
%1685 = fcmp une double %1683, 0.000000e+00
%1686 = or i1 %1684, %1685
br i1 %1686, label %1697, label %1687
1687: ; preds = %1679
%1688 = getelementptr inbounds { double, double }, { double, double }* %70, i32 0, i32 0
%1689 = load volatile double, double* %1688
%1690 = call double @llvm.copysign.f64(double 1.000000e+00, double %1689)
%1691 = fcmp une double %1690, 1.000000e+00
br i1 %1691, label %1697, label %1692
1692: ; preds = %1687
%1693 = getelementptr inbounds { double, double }, { double, double }* %70, i32 0, i32 1
%1694 = load volatile double, double* %1693
%1695 = call double @llvm.copysign.f64(double 1.000000e+00, double %1694)
%1696 = fcmp une double %1695, -1.000000e+00
br i1 %1696, label %1697, label %1698
1697: ; preds = %1692, %1687, %1679
unreachable
1698: ; preds = %1692
br label %1699
1699: ; preds = %1698
store volatile double -0.000000e+00, double* %72
%1700 = getelementptr inbounds { double, double }, { double, double }* %70, i32 0, i32 0
%1701 = load volatile double, double* %1700
%1702 = getelementptr inbounds { double, double }, { double, double }* %70, i32 0, i32 1
%1703 = load volatile double, double* %1702
%1704 = load volatile double, double* %72
%1705 = fadd double %1701, %1704
%1706 = getelementptr inbounds { double, double }, { double, double }* %71, i32 0, i32 0
%1707 = getelementptr inbounds { double, double }, { double, double }* %71, i32 0, i32 1
store volatile double %1705, double* %1706
store volatile double %1703, double* %1707
br label %1708
1708: ; preds = %1699
%1709 = getelementptr inbounds { double, double }, { double, double }* %71, i32 0, i32 0
%1710 = load volatile double, double* %1709
%1711 = getelementptr inbounds { double, double }, { double, double }* %71, i32 0, i32 1
%1712 = load volatile double, double* %1711
%1713 = fcmp une double %1710, 0.000000e+00
%1714 = fcmp une double %1712, 0.000000e+00
%1715 = or i1 %1713, %1714
br i1 %1715, label %1726, label %1716
1716: ; preds = %1708
%1717 = getelementptr inbounds { double, double }, { double, double }* %71, i32 0, i32 0
%1718 = load volatile double, double* %1717
%1719 = call double @llvm.copysign.f64(double 1.000000e+00, double %1718)
%1720 = fcmp une double %1719, 1.000000e+00
br i1 %1720, label %1726, label %1721
1721: ; preds = %1716
%1722 = getelementptr inbounds { double, double }, { double, double }* %71, i32 0, i32 1
%1723 = load volatile double, double* %1722
%1724 = call double @llvm.copysign.f64(double 1.000000e+00, double %1723)
%1725 = fcmp une double %1724, -1.000000e+00
br i1 %1725, label %1726, label %1727
1726: ; preds = %1721, %1716, %1708
unreachable
1727: ; preds = %1721
br label %1728
1728: ; preds = %1727
br label %1729
1729: ; preds = %1728
br label %1730
1730: ; preds = %1729
br i1 false, label %1731, label %1737
1731: ; preds = %1730
br i1 true, label %1732, label %1733
1732: ; preds = %1731
br label %1734
1733: ; preds = %1731
br label %1734
1734: ; preds = %1733, %1732
%1735 = phi double [ 0.000000e+00, %1732 ], [ 0.000000e+00, %1733 ]
%1736 = phi double [ 0.000000e+00, %1732 ], [ -0.000000e+00, %1733 ]
br label %1743
1737: ; preds = %1730
br i1 true, label %1738, label %1739
1738: ; preds = %1737
br label %1740
1739: ; preds = %1737
br label %1740
1740: ; preds = %1739, %1738
%1741 = phi double [ -0.000000e+00, %1738 ], [ -0.000000e+00, %1739 ]
%1742 = phi double [ 0.000000e+00, %1738 ], [ -0.000000e+00, %1739 ]
br label %1743
1743: ; preds = %1740, %1734
%1744 = phi double [ %1735, %1734 ], [ %1741, %1740 ]
%1745 = phi double [ %1736, %1734 ], [ %1742, %1740 ]
%1746 = getelementptr inbounds { double, double }, { double, double }* %73, i32 0, i32 0
%1747 = getelementptr inbounds { double, double }, { double, double }* %73, i32 0, i32 1
store double %1744, double* %1746
store double %1745, double* %1747
br label %1748
1748: ; preds = %1743
%1749 = getelementptr inbounds { double, double }, { double, double }* %73, i32 0, i32 0
%1750 = load double, double* %1749
%1751 = getelementptr inbounds { double, double }, { double, double }* %73, i32 0, i32 1
%1752 = load double, double* %1751
%1753 = fcmp une double %1750, 0.000000e+00
%1754 = fcmp une double %1752, 0.000000e+00
%1755 = or i1 %1753, %1754
br i1 %1755, label %1766, label %1756
1756: ; preds = %1748
%1757 = getelementptr inbounds { double, double }, { double, double }* %73, i32 0, i32 0
%1758 = load double, double* %1757
%1759 = call double @llvm.copysign.f64(double 1.000000e+00, double %1758)
%1760 = fcmp une double %1759, -1.000000e+00
br i1 %1760, label %1766, label %1761
1761: ; preds = %1756
%1762 = getelementptr inbounds { double, double }, { double, double }* %73, i32 0, i32 1
%1763 = load double, double* %1762
%1764 = call double @llvm.copysign.f64(double 1.000000e+00, double %1763)
%1765 = fcmp une double %1764, 1.000000e+00
br i1 %1765, label %1766, label %1767
1766: ; preds = %1761, %1756, %1748
unreachable
1767: ; preds = %1761
br label %1768
1768: ; preds = %1767
store double 0.000000e+00, double* %75
%1769 = getelementptr inbounds { double, double }, { double, double }* %73, i32 0, i32 0
%1770 = load double, double* %1769
%1771 = getelementptr inbounds { double, double }, { double, double }* %73, i32 0, i32 1
%1772 = load double, double* %1771
%1773 = load double, double* %75
%1774 = fadd double %1770, %1773
%1775 = getelementptr inbounds { double, double }, { double, double }* %74, i32 0, i32 0
%1776 = getelementptr inbounds { double, double }, { double, double }* %74, i32 0, i32 1
store double %1774, double* %1775
store double %1772, double* %1776
br label %1777
1777: ; preds = %1768
%1778 = getelementptr inbounds { double, double }, { double, double }* %74, i32 0, i32 0
%1779 = load double, double* %1778
%1780 = getelementptr inbounds { double, double }, { double, double }* %74, i32 0, i32 1
%1781 = load double, double* %1780
%1782 = fcmp une double %1779, 0.000000e+00
%1783 = fcmp une double %1781, 0.000000e+00
%1784 = or i1 %1782, %1783
br i1 %1784, label %1795, label %1785
1785: ; preds = %1777
%1786 = getelementptr inbounds { double, double }, { double, double }* %74, i32 0, i32 0
%1787 = load double, double* %1786
%1788 = call double @llvm.copysign.f64(double 1.000000e+00, double %1787)
%1789 = fcmp une double %1788, 1.000000e+00
br i1 %1789, label %1795, label %1790
1790: ; preds = %1785
%1791 = getelementptr inbounds { double, double }, { double, double }* %74, i32 0, i32 1
%1792 = load double, double* %1791
%1793 = call double @llvm.copysign.f64(double 1.000000e+00, double %1792)
%1794 = fcmp une double %1793, 1.000000e+00
br i1 %1794, label %1795, label %1796
1795: ; preds = %1790, %1785, %1777
unreachable
1796: ; preds = %1790
br label %1797
1797: ; preds = %1796
br i1 false, label %1798, label %1804
1798: ; preds = %1797
br i1 true, label %1799, label %1800
1799: ; preds = %1798
br label %1801
1800: ; preds = %1798
br label %1801
1801: ; preds = %1800, %1799
%1802 = phi double [ 0.000000e+00, %1799 ], [ 0.000000e+00, %1800 ]
%1803 = phi double [ 0.000000e+00, %1799 ], [ -0.000000e+00, %1800 ]
br label %1810
1804: ; preds = %1797
br i1 true, label %1805, label %1806
1805: ; preds = %1804
br label %1807
1806: ; preds = %1804
br label %1807
1807: ; preds = %1806, %1805
%1808 = phi double [ -0.000000e+00, %1805 ], [ -0.000000e+00, %1806 ]
%1809 = phi double [ 0.000000e+00, %1805 ], [ -0.000000e+00, %1806 ]
br label %1810
1810: ; preds = %1807, %1801
%1811 = phi double [ %1802, %1801 ], [ %1808, %1807 ]
%1812 = phi double [ %1803, %1801 ], [ %1809, %1807 ]
%1813 = getelementptr inbounds { double, double }, { double, double }* %76, i32 0, i32 0
%1814 = getelementptr inbounds { double, double }, { double, double }* %76, i32 0, i32 1
store volatile double %1811, double* %1813
store volatile double %1812, double* %1814
br label %1815
1815: ; preds = %1810
%1816 = getelementptr inbounds { double, double }, { double, double }* %76, i32 0, i32 0
%1817 = load volatile double, double* %1816
%1818 = getelementptr inbounds { double, double }, { double, double }* %76, i32 0, i32 1
%1819 = load volatile double, double* %1818
%1820 = fcmp une double %1817, 0.000000e+00
%1821 = fcmp une double %1819, 0.000000e+00
%1822 = or i1 %1820, %1821
br i1 %1822, label %1833, label %1823
1823: ; preds = %1815
%1824 = getelementptr inbounds { double, double }, { double, double }* %76, i32 0, i32 0
%1825 = load volatile double, double* %1824
%1826 = call double @llvm.copysign.f64(double 1.000000e+00, double %1825)
%1827 = fcmp une double %1826, -1.000000e+00
br i1 %1827, label %1833, label %1828
1828: ; preds = %1823
%1829 = getelementptr inbounds { double, double }, { double, double }* %76, i32 0, i32 1
%1830 = load volatile double, double* %1829
%1831 = call double @llvm.copysign.f64(double 1.000000e+00, double %1830)
%1832 = fcmp une double %1831, 1.000000e+00
br i1 %1832, label %1833, label %1834
1833: ; preds = %1828, %1823, %1815
unreachable
1834: ; preds = %1828
br label %1835
1835: ; preds = %1834
store volatile double 0.000000e+00, double* %78
%1836 = getelementptr inbounds { double, double }, { double, double }* %76, i32 0, i32 0
%1837 = load volatile double, double* %1836
%1838 = getelementptr inbounds { double, double }, { double, double }* %76, i32 0, i32 1
%1839 = load volatile double, double* %1838
%1840 = load volatile double, double* %78
%1841 = fadd double %1837, %1840
%1842 = getelementptr inbounds { double, double }, { double, double }* %77, i32 0, i32 0
%1843 = getelementptr inbounds { double, double }, { double, double }* %77, i32 0, i32 1
store volatile double %1841, double* %1842
store volatile double %1839, double* %1843
br label %1844
1844: ; preds = %1835
%1845 = getelementptr inbounds { double, double }, { double, double }* %77, i32 0, i32 0
%1846 = load volatile double, double* %1845
%1847 = getelementptr inbounds { double, double }, { double, double }* %77, i32 0, i32 1
%1848 = load volatile double, double* %1847
%1849 = fcmp une double %1846, 0.000000e+00
%1850 = fcmp une double %1848, 0.000000e+00
%1851 = or i1 %1849, %1850
br i1 %1851, label %1862, label %1852
1852: ; preds = %1844
%1853 = getelementptr inbounds { double, double }, { double, double }* %77, i32 0, i32 0
%1854 = load volatile double, double* %1853
%1855 = call double @llvm.copysign.f64(double 1.000000e+00, double %1854)
%1856 = fcmp une double %1855, 1.000000e+00
br i1 %1856, label %1862, label %1857
1857: ; preds = %1852
%1858 = getelementptr inbounds { double, double }, { double, double }* %77, i32 0, i32 1
%1859 = load volatile double, double* %1858
%1860 = call double @llvm.copysign.f64(double 1.000000e+00, double %1859)
%1861 = fcmp une double %1860, 1.000000e+00
br i1 %1861, label %1862, label %1863
1862: ; preds = %1857, %1852, %1844
unreachable
1863: ; preds = %1857
br label %1864
1864: ; preds = %1863
br label %1865
1865: ; preds = %1864
br label %1866
1866: ; preds = %1865
br i1 false, label %1867, label %1873
1867: ; preds = %1866
br i1 true, label %1868, label %1869
1868: ; preds = %1867
br label %1870
1869: ; preds = %1867
br label %1870
1870: ; preds = %1869, %1868
%1871 = phi double [ 0.000000e+00, %1868 ], [ 0.000000e+00, %1869 ]
%1872 = phi double [ 0.000000e+00, %1868 ], [ -0.000000e+00, %1869 ]
br label %1879
1873: ; preds = %1866
br i1 true, label %1874, label %1875
1874: ; preds = %1873
br label %1876
1875: ; preds = %1873
br label %1876
1876: ; preds = %1875, %1874
%1877 = phi double [ -0.000000e+00, %1874 ], [ -0.000000e+00, %1875 ]
%1878 = phi double [ 0.000000e+00, %1874 ], [ -0.000000e+00, %1875 ]
br label %1879
1879: ; preds = %1876, %1870
%1880 = phi double [ %1871, %1870 ], [ %1877, %1876 ]
%1881 = phi double [ %1872, %1870 ], [ %1878, %1876 ]
%1882 = getelementptr inbounds { double, double }, { double, double }* %79, i32 0, i32 0
%1883 = getelementptr inbounds { double, double }, { double, double }* %79, i32 0, i32 1
store double %1880, double* %1882
store double %1881, double* %1883
br label %1884
1884: ; preds = %1879
%1885 = getelementptr inbounds { double, double }, { double, double }* %79, i32 0, i32 0
%1886 = load double, double* %1885
%1887 = getelementptr inbounds { double, double }, { double, double }* %79, i32 0, i32 1
%1888 = load double, double* %1887
%1889 = fcmp une double %1886, 0.000000e+00
%1890 = fcmp une double %1888, 0.000000e+00
%1891 = or i1 %1889, %1890
br i1 %1891, label %1902, label %1892
1892: ; preds = %1884
%1893 = getelementptr inbounds { double, double }, { double, double }* %79, i32 0, i32 0
%1894 = load double, double* %1893
%1895 = call double @llvm.copysign.f64(double 1.000000e+00, double %1894)
%1896 = fcmp une double %1895, -1.000000e+00
br i1 %1896, label %1902, label %1897
1897: ; preds = %1892
%1898 = getelementptr inbounds { double, double }, { double, double }* %79, i32 0, i32 1
%1899 = load double, double* %1898
%1900 = call double @llvm.copysign.f64(double 1.000000e+00, double %1899)
%1901 = fcmp une double %1900, 1.000000e+00
br i1 %1901, label %1902, label %1903
1902: ; preds = %1897, %1892, %1884
unreachable
1903: ; preds = %1897
br label %1904
1904: ; preds = %1903
store double -0.000000e+00, double* %81
%1905 = getelementptr inbounds { double, double }, { double, double }* %79, i32 0, i32 0
%1906 = load double, double* %1905
%1907 = getelementptr inbounds { double, double }, { double, double }* %79, i32 0, i32 1
%1908 = load double, double* %1907
%1909 = load double, double* %81
%1910 = fadd double %1906, %1909
%1911 = getelementptr inbounds { double, double }, { double, double }* %80, i32 0, i32 0
%1912 = getelementptr inbounds { double, double }, { double, double }* %80, i32 0, i32 1
store double %1910, double* %1911
store double %1908, double* %1912
br label %1913
1913: ; preds = %1904
%1914 = getelementptr inbounds { double, double }, { double, double }* %80, i32 0, i32 0
%1915 = load double, double* %1914
%1916 = getelementptr inbounds { double, double }, { double, double }* %80, i32 0, i32 1
%1917 = load double, double* %1916
%1918 = fcmp une double %1915, 0.000000e+00
%1919 = fcmp une double %1917, 0.000000e+00
%1920 = or i1 %1918, %1919
br i1 %1920, label %1931, label %1921
1921: ; preds = %1913
%1922 = getelementptr inbounds { double, double }, { double, double }* %80, i32 0, i32 0
%1923 = load double, double* %1922
%1924 = call double @llvm.copysign.f64(double 1.000000e+00, double %1923)
%1925 = fcmp une double %1924, -1.000000e+00
br i1 %1925, label %1931, label %1926
1926: ; preds = %1921
%1927 = getelementptr inbounds { double, double }, { double, double }* %80, i32 0, i32 1
%1928 = load double, double* %1927
%1929 = call double @llvm.copysign.f64(double 1.000000e+00, double %1928)
%1930 = fcmp une double %1929, 1.000000e+00
br i1 %1930, label %1931, label %1932
1931: ; preds = %1926, %1921, %1913
unreachable
1932: ; preds = %1926
br label %1933
1933: ; preds = %1932
br i1 false, label %1934, label %1940
1934: ; preds = %1933
br i1 true, label %1935, label %1936
1935: ; preds = %1934
br label %1937
1936: ; preds = %1934
br label %1937
1937: ; preds = %1936, %1935
%1938 = phi double [ 0.000000e+00, %1935 ], [ 0.000000e+00, %1936 ]
%1939 = phi double [ 0.000000e+00, %1935 ], [ -0.000000e+00, %1936 ]
br label %1946
1940: ; preds = %1933
br i1 true, label %1941, label %1942
1941: ; preds = %1940
br label %1943
1942: ; preds = %1940
br label %1943
1943: ; preds = %1942, %1941
%1944 = phi double [ -0.000000e+00, %1941 ], [ -0.000000e+00, %1942 ]
%1945 = phi double [ 0.000000e+00, %1941 ], [ -0.000000e+00, %1942 ]
br label %1946
1946: ; preds = %1943, %1937
%1947 = phi double [ %1938, %1937 ], [ %1944, %1943 ]
%1948 = phi double [ %1939, %1937 ], [ %1945, %1943 ]
%1949 = getelementptr inbounds { double, double }, { double, double }* %82, i32 0, i32 0
%1950 = getelementptr inbounds { double, double }, { double, double }* %82, i32 0, i32 1
store volatile double %1947, double* %1949
store volatile double %1948, double* %1950
br label %1951
1951: ; preds = %1946
%1952 = getelementptr inbounds { double, double }, { double, double }* %82, i32 0, i32 0
%1953 = load volatile double, double* %1952
%1954 = getelementptr inbounds { double, double }, { double, double }* %82, i32 0, i32 1
%1955 = load volatile double, double* %1954
%1956 = fcmp une double %1953, 0.000000e+00
%1957 = fcmp une double %1955, 0.000000e+00
%1958 = or i1 %1956, %1957
br i1 %1958, label %1969, label %1959
1959: ; preds = %1951
%1960 = getelementptr inbounds { double, double }, { double, double }* %82, i32 0, i32 0
%1961 = load volatile double, double* %1960
%1962 = call double @llvm.copysign.f64(double 1.000000e+00, double %1961)
%1963 = fcmp une double %1962, -1.000000e+00
br i1 %1963, label %1969, label %1964
1964: ; preds = %1959
%1965 = getelementptr inbounds { double, double }, { double, double }* %82, i32 0, i32 1
%1966 = load volatile double, double* %1965
%1967 = call double @llvm.copysign.f64(double 1.000000e+00, double %1966)
%1968 = fcmp une double %1967, 1.000000e+00
br i1 %1968, label %1969, label %1970
1969: ; preds = %1964, %1959, %1951
unreachable
1970: ; preds = %1964
br label %1971
1971: ; preds = %1970
store volatile double -0.000000e+00, double* %84
%1972 = getelementptr inbounds { double, double }, { double, double }* %82, i32 0, i32 0
%1973 = load volatile double, double* %1972
%1974 = getelementptr inbounds { double, double }, { double, double }* %82, i32 0, i32 1
%1975 = load volatile double, double* %1974
%1976 = load volatile double, double* %84
%1977 = fadd double %1973, %1976
%1978 = getelementptr inbounds { double, double }, { double, double }* %83, i32 0, i32 0
%1979 = getelementptr inbounds { double, double }, { double, double }* %83, i32 0, i32 1
store volatile double %1977, double* %1978
store volatile double %1975, double* %1979
br label %1980
1980: ; preds = %1971
%1981 = getelementptr inbounds { double, double }, { double, double }* %83, i32 0, i32 0
%1982 = load volatile double, double* %1981
%1983 = getelementptr inbounds { double, double }, { double, double }* %83, i32 0, i32 1
%1984 = load volatile double, double* %1983
%1985 = fcmp une double %1982, 0.000000e+00
%1986 = fcmp une double %1984, 0.000000e+00
%1987 = or i1 %1985, %1986
br i1 %1987, label %1998, label %1988
1988: ; preds = %1980
%1989 = getelementptr inbounds { double, double }, { double, double }* %83, i32 0, i32 0
%1990 = load volatile double, double* %1989
%1991 = call double @llvm.copysign.f64(double 1.000000e+00, double %1990)
%1992 = fcmp une double %1991, -1.000000e+00
br i1 %1992, label %1998, label %1993
1993: ; preds = %1988
%1994 = getelementptr inbounds { double, double }, { double, double }* %83, i32 0, i32 1
%1995 = load volatile double, double* %1994
%1996 = call double @llvm.copysign.f64(double 1.000000e+00, double %1995)
%1997 = fcmp une double %1996, 1.000000e+00
br i1 %1997, label %1998, label %1999
1998: ; preds = %1993, %1988, %1980
unreachable
1999: ; preds = %1993
br label %2000
2000: ; preds = %1999
br label %2001
2001: ; preds = %2000
br label %2002
2002: ; preds = %2001
br i1 false, label %2003, label %2009
2003: ; preds = %2002
br i1 false, label %2004, label %2005
2004: ; preds = %2003
br label %2006
2005: ; preds = %2003
br label %2006
2006: ; preds = %2005, %2004
%2007 = phi double [ 0.000000e+00, %2004 ], [ 0.000000e+00, %2005 ]
%2008 = phi double [ 0.000000e+00, %2004 ], [ -0.000000e+00, %2005 ]
br label %2015
2009: ; preds = %2002
br i1 false, label %2010, label %2011
2010: ; preds = %2009
br label %2012
2011: ; preds = %2009
br label %2012
2012: ; preds = %2011, %2010
%2013 = phi double [ -0.000000e+00, %2010 ], [ -0.000000e+00, %2011 ]
%2014 = phi double [ 0.000000e+00, %2010 ], [ -0.000000e+00, %2011 ]
br label %2015
2015: ; preds = %2012, %2006
%2016 = phi double [ %2007, %2006 ], [ %2013, %2012 ]
%2017 = phi double [ %2008, %2006 ], [ %2014, %2012 ]
%2018 = getelementptr inbounds { double, double }, { double, double }* %85, i32 0, i32 0
%2019 = getelementptr inbounds { double, double }, { double, double }* %85, i32 0, i32 1
store double %2016, double* %2018
store double %2017, double* %2019
br label %2020
2020: ; preds = %2015
%2021 = getelementptr inbounds { double, double }, { double, double }* %85, i32 0, i32 0
%2022 = load double, double* %2021
%2023 = getelementptr inbounds { double, double }, { double, double }* %85, i32 0, i32 1
%2024 = load double, double* %2023
%2025 = fcmp une double %2022, 0.000000e+00
%2026 = fcmp une double %2024, 0.000000e+00
%2027 = or i1 %2025, %2026
br i1 %2027, label %2038, label %2028
2028: ; preds = %2020
%2029 = getelementptr inbounds { double, double }, { double, double }* %85, i32 0, i32 0
%2030 = load double, double* %2029
%2031 = call double @llvm.copysign.f64(double 1.000000e+00, double %2030)
%2032 = fcmp une double %2031, -1.000000e+00
br i1 %2032, label %2038, label %2033
2033: ; preds = %2028
%2034 = getelementptr inbounds { double, double }, { double, double }* %85, i32 0, i32 1
%2035 = load double, double* %2034
%2036 = call double @llvm.copysign.f64(double 1.000000e+00, double %2035)
%2037 = fcmp une double %2036, -1.000000e+00
br i1 %2037, label %2038, label %2039
2038: ; preds = %2033, %2028, %2020
unreachable
2039: ; preds = %2033
br label %2040
2040: ; preds = %2039
store double 0.000000e+00, double* %87
%2041 = getelementptr inbounds { double, double }, { double, double }* %85, i32 0, i32 0
%2042 = load double, double* %2041
%2043 = getelementptr inbounds { double, double }, { double, double }* %85, i32 0, i32 1
%2044 = load double, double* %2043
%2045 = load double, double* %87
%2046 = fadd double %2042, %2045
%2047 = getelementptr inbounds { double, double }, { double, double }* %86, i32 0, i32 0
%2048 = getelementptr inbounds { double, double }, { double, double }* %86, i32 0, i32 1
store double %2046, double* %2047
store double %2044, double* %2048
br label %2049
2049: ; preds = %2040
%2050 = getelementptr inbounds { double, double }, { double, double }* %86, i32 0, i32 0
%2051 = load double, double* %2050
%2052 = getelementptr inbounds { double, double }, { double, double }* %86, i32 0, i32 1
%2053 = load double, double* %2052
%2054 = fcmp une double %2051, 0.000000e+00
%2055 = fcmp une double %2053, 0.000000e+00
%2056 = or i1 %2054, %2055
br i1 %2056, label %2067, label %2057
2057: ; preds = %2049
%2058 = getelementptr inbounds { double, double }, { double, double }* %86, i32 0, i32 0
%2059 = load double, double* %2058
%2060 = call double @llvm.copysign.f64(double 1.000000e+00, double %2059)
%2061 = fcmp une double %2060, 1.000000e+00
br i1 %2061, label %2067, label %2062
2062: ; preds = %2057
%2063 = getelementptr inbounds { double, double }, { double, double }* %86, i32 0, i32 1
%2064 = load double, double* %2063
%2065 = call double @llvm.copysign.f64(double 1.000000e+00, double %2064)
%2066 = fcmp une double %2065, -1.000000e+00
br i1 %2066, label %2067, label %2068
2067: ; preds = %2062, %2057, %2049
unreachable
2068: ; preds = %2062
br label %2069
2069: ; preds = %2068
br i1 false, label %2070, label %2076
2070: ; preds = %2069
br i1 false, label %2071, label %2072
2071: ; preds = %2070
br label %2073
2072: ; preds = %2070
br label %2073
2073: ; preds = %2072, %2071
%2074 = phi double [ 0.000000e+00, %2071 ], [ 0.000000e+00, %2072 ]
%2075 = phi double [ 0.000000e+00, %2071 ], [ -0.000000e+00, %2072 ]
br label %2082
2076: ; preds = %2069
br i1 false, label %2077, label %2078
2077: ; preds = %2076
br label %2079
2078: ; preds = %2076
br label %2079
2079: ; preds = %2078, %2077
%2080 = phi double [ -0.000000e+00, %2077 ], [ -0.000000e+00, %2078 ]
%2081 = phi double [ 0.000000e+00, %2077 ], [ -0.000000e+00, %2078 ]
br label %2082
2082: ; preds = %2079, %2073
%2083 = phi double [ %2074, %2073 ], [ %2080, %2079 ]
%2084 = phi double [ %2075, %2073 ], [ %2081, %2079 ]
%2085 = getelementptr inbounds { double, double }, { double, double }* %88, i32 0, i32 0
%2086 = getelementptr inbounds { double, double }, { double, double }* %88, i32 0, i32 1
store volatile double %2083, double* %2085
store volatile double %2084, double* %2086
br label %2087
2087: ; preds = %2082
%2088 = getelementptr inbounds { double, double }, { double, double }* %88, i32 0, i32 0
%2089 = load volatile double, double* %2088
%2090 = getelementptr inbounds { double, double }, { double, double }* %88, i32 0, i32 1
%2091 = load volatile double, double* %2090
%2092 = fcmp une double %2089, 0.000000e+00
%2093 = fcmp une double %2091, 0.000000e+00
%2094 = or i1 %2092, %2093
br i1 %2094, label %2105, label %2095
2095: ; preds = %2087
%2096 = getelementptr inbounds { double, double }, { double, double }* %88, i32 0, i32 0
%2097 = load volatile double, double* %2096
%2098 = call double @llvm.copysign.f64(double 1.000000e+00, double %2097)
%2099 = fcmp une double %2098, -1.000000e+00
br i1 %2099, label %2105, label %2100
2100: ; preds = %2095
%2101 = getelementptr inbounds { double, double }, { double, double }* %88, i32 0, i32 1
%2102 = load volatile double, double* %2101
%2103 = call double @llvm.copysign.f64(double 1.000000e+00, double %2102)
%2104 = fcmp une double %2103, -1.000000e+00
br i1 %2104, label %2105, label %2106
2105: ; preds = %2100, %2095, %2087
unreachable
2106: ; preds = %2100
br label %2107
2107: ; preds = %2106
store volatile double 0.000000e+00, double* %90
%2108 = getelementptr inbounds { double, double }, { double, double }* %88, i32 0, i32 0
%2109 = load volatile double, double* %2108
%2110 = getelementptr inbounds { double, double }, { double, double }* %88, i32 0, i32 1
%2111 = load volatile double, double* %2110
%2112 = load volatile double, double* %90
%2113 = fadd double %2109, %2112
%2114 = getelementptr inbounds { double, double }, { double, double }* %89, i32 0, i32 0
%2115 = getelementptr inbounds { double, double }, { double, double }* %89, i32 0, i32 1
store volatile double %2113, double* %2114
store volatile double %2111, double* %2115
br label %2116
2116: ; preds = %2107
%2117 = getelementptr inbounds { double, double }, { double, double }* %89, i32 0, i32 0
%2118 = load volatile double, double* %2117
%2119 = getelementptr inbounds { double, double }, { double, double }* %89, i32 0, i32 1
%2120 = load volatile double, double* %2119
%2121 = fcmp une double %2118, 0.000000e+00
%2122 = fcmp une double %2120, 0.000000e+00
%2123 = or i1 %2121, %2122
br i1 %2123, label %2134, label %2124
2124: ; preds = %2116
%2125 = getelementptr inbounds { double, double }, { double, double }* %89, i32 0, i32 0
%2126 = load volatile double, double* %2125
%2127 = call double @llvm.copysign.f64(double 1.000000e+00, double %2126)
%2128 = fcmp une double %2127, 1.000000e+00
br i1 %2128, label %2134, label %2129
2129: ; preds = %2124
%2130 = getelementptr inbounds { double, double }, { double, double }* %89, i32 0, i32 1
%2131 = load volatile double, double* %2130
%2132 = call double @llvm.copysign.f64(double 1.000000e+00, double %2131)
%2133 = fcmp une double %2132, -1.000000e+00
br i1 %2133, label %2134, label %2135
2134: ; preds = %2129, %2124, %2116
unreachable
2135: ; preds = %2129
br label %2136
2136: ; preds = %2135
br label %2137
2137: ; preds = %2136
br label %2138
2138: ; preds = %2137
br i1 false, label %2139, label %2145
2139: ; preds = %2138
br i1 false, label %2140, label %2141
2140: ; preds = %2139
br label %2142
2141: ; preds = %2139
br label %2142
2142: ; preds = %2141, %2140
%2143 = phi double [ 0.000000e+00, %2140 ], [ 0.000000e+00, %2141 ]
%2144 = phi double [ 0.000000e+00, %2140 ], [ -0.000000e+00, %2141 ]
br label %2151
2145: ; preds = %2138
br i1 false, label %2146, label %2147
2146: ; preds = %2145
br label %2148
2147: ; preds = %2145
br label %2148
2148: ; preds = %2147, %2146
%2149 = phi double [ -0.000000e+00, %2146 ], [ -0.000000e+00, %2147 ]
%2150 = phi double [ 0.000000e+00, %2146 ], [ -0.000000e+00, %2147 ]
br label %2151
2151: ; preds = %2148, %2142
%2152 = phi double [ %2143, %2142 ], [ %2149, %2148 ]
%2153 = phi double [ %2144, %2142 ], [ %2150, %2148 ]
%2154 = getelementptr inbounds { double, double }, { double, double }* %91, i32 0, i32 0
%2155 = getelementptr inbounds { double, double }, { double, double }* %91, i32 0, i32 1
store double %2152, double* %2154
store double %2153, double* %2155
br label %2156
2156: ; preds = %2151
%2157 = getelementptr inbounds { double, double }, { double, double }* %91, i32 0, i32 0
%2158 = load double, double* %2157
%2159 = getelementptr inbounds { double, double }, { double, double }* %91, i32 0, i32 1
%2160 = load double, double* %2159
%2161 = fcmp une double %2158, 0.000000e+00
%2162 = fcmp une double %2160, 0.000000e+00
%2163 = or i1 %2161, %2162
br i1 %2163, label %2174, label %2164
2164: ; preds = %2156
%2165 = getelementptr inbounds { double, double }, { double, double }* %91, i32 0, i32 0
%2166 = load double, double* %2165
%2167 = call double @llvm.copysign.f64(double 1.000000e+00, double %2166)
%2168 = fcmp une double %2167, -1.000000e+00
br i1 %2168, label %2174, label %2169
2169: ; preds = %2164
%2170 = getelementptr inbounds { double, double }, { double, double }* %91, i32 0, i32 1
%2171 = load double, double* %2170
%2172 = call double @llvm.copysign.f64(double 1.000000e+00, double %2171)
%2173 = fcmp une double %2172, -1.000000e+00
br i1 %2173, label %2174, label %2175
2174: ; preds = %2169, %2164, %2156
unreachable
2175: ; preds = %2169
br label %2176
2176: ; preds = %2175
store double -0.000000e+00, double* %93
%2177 = getelementptr inbounds { double, double }, { double, double }* %91, i32 0, i32 0
%2178 = load double, double* %2177
%2179 = getelementptr inbounds { double, double }, { double, double }* %91, i32 0, i32 1
%2180 = load double, double* %2179
%2181 = load double, double* %93
%2182 = fadd double %2178, %2181
%2183 = getelementptr inbounds { double, double }, { double, double }* %92, i32 0, i32 0
%2184 = getelementptr inbounds { double, double }, { double, double }* %92, i32 0, i32 1
store double %2182, double* %2183
store double %2180, double* %2184
br label %2185
2185: ; preds = %2176
%2186 = getelementptr inbounds { double, double }, { double, double }* %92, i32 0, i32 0
%2187 = load double, double* %2186
%2188 = getelementptr inbounds { double, double }, { double, double }* %92, i32 0, i32 1
%2189 = load double, double* %2188
%2190 = fcmp une double %2187, 0.000000e+00
%2191 = fcmp une double %2189, 0.000000e+00
%2192 = or i1 %2190, %2191
br i1 %2192, label %2203, label %2193
2193: ; preds = %2185
%2194 = getelementptr inbounds { double, double }, { double, double }* %92, i32 0, i32 0
%2195 = load double, double* %2194
%2196 = call double @llvm.copysign.f64(double 1.000000e+00, double %2195)
%2197 = fcmp une double %2196, -1.000000e+00
br i1 %2197, label %2203, label %2198
2198: ; preds = %2193
%2199 = getelementptr inbounds { double, double }, { double, double }* %92, i32 0, i32 1
%2200 = load double, double* %2199
%2201 = call double @llvm.copysign.f64(double 1.000000e+00, double %2200)
%2202 = fcmp une double %2201, -1.000000e+00
br i1 %2202, label %2203, label %2204
2203: ; preds = %2198, %2193, %2185
unreachable
2204: ; preds = %2198
br label %2205
2205: ; preds = %2204
br i1 false, label %2206, label %2212
2206: ; preds = %2205
br i1 false, label %2207, label %2208
2207: ; preds = %2206
br label %2209
2208: ; preds = %2206
br label %2209
2209: ; preds = %2208, %2207
%2210 = phi double [ 0.000000e+00, %2207 ], [ 0.000000e+00, %2208 ]
%2211 = phi double [ 0.000000e+00, %2207 ], [ -0.000000e+00, %2208 ]
br label %2218
2212: ; preds = %2205
br i1 false, label %2213, label %2214
2213: ; preds = %2212
br label %2215
2214: ; preds = %2212
br label %2215
2215: ; preds = %2214, %2213
%2216 = phi double [ -0.000000e+00, %2213 ], [ -0.000000e+00, %2214 ]
%2217 = phi double [ 0.000000e+00, %2213 ], [ -0.000000e+00, %2214 ]
br label %2218
2218: ; preds = %2215, %2209
%2219 = phi double [ %2210, %2209 ], [ %2216, %2215 ]
%2220 = phi double [ %2211, %2209 ], [ %2217, %2215 ]
%2221 = getelementptr inbounds { double, double }, { double, double }* %94, i32 0, i32 0
%2222 = getelementptr inbounds { double, double }, { double, double }* %94, i32 0, i32 1
store volatile double %2219, double* %2221
store volatile double %2220, double* %2222
br label %2223
2223: ; preds = %2218
%2224 = getelementptr inbounds { double, double }, { double, double }* %94, i32 0, i32 0
%2225 = load volatile double, double* %2224
%2226 = getelementptr inbounds { double, double }, { double, double }* %94, i32 0, i32 1
%2227 = load volatile double, double* %2226
%2228 = fcmp une double %2225, 0.000000e+00
%2229 = fcmp une double %2227, 0.000000e+00
%2230 = or i1 %2228, %2229
br i1 %2230, label %2241, label %2231
2231: ; preds = %2223
%2232 = getelementptr inbounds { double, double }, { double, double }* %94, i32 0, i32 0
%2233 = load volatile double, double* %2232
%2234 = call double @llvm.copysign.f64(double 1.000000e+00, double %2233)
%2235 = fcmp une double %2234, -1.000000e+00
br i1 %2235, label %2241, label %2236
2236: ; preds = %2231
%2237 = getelementptr inbounds { double, double }, { double, double }* %94, i32 0, i32 1
%2238 = load volatile double, double* %2237
%2239 = call double @llvm.copysign.f64(double 1.000000e+00, double %2238)
%2240 = fcmp une double %2239, -1.000000e+00
br i1 %2240, label %2241, label %2242
2241: ; preds = %2236, %2231, %2223
unreachable
2242: ; preds = %2236
br label %2243
2243: ; preds = %2242
store volatile double -0.000000e+00, double* %96
%2244 = getelementptr inbounds { double, double }, { double, double }* %94, i32 0, i32 0
%2245 = load volatile double, double* %2244
%2246 = getelementptr inbounds { double, double }, { double, double }* %94, i32 0, i32 1
%2247 = load volatile double, double* %2246
%2248 = load volatile double, double* %96
%2249 = fadd double %2245, %2248
%2250 = getelementptr inbounds { double, double }, { double, double }* %95, i32 0, i32 0
%2251 = getelementptr inbounds { double, double }, { double, double }* %95, i32 0, i32 1
store volatile double %2249, double* %2250
store volatile double %2247, double* %2251
br label %2252
2252: ; preds = %2243
%2253 = getelementptr inbounds { double, double }, { double, double }* %95, i32 0, i32 0
%2254 = load volatile double, double* %2253
%2255 = getelementptr inbounds { double, double }, { double, double }* %95, i32 0, i32 1
%2256 = load volatile double, double* %2255
%2257 = fcmp une double %2254, 0.000000e+00
%2258 = fcmp une double %2256, 0.000000e+00
%2259 = or i1 %2257, %2258
br i1 %2259, label %2270, label %2260
2260: ; preds = %2252
%2261 = getelementptr inbounds { double, double }, { double, double }* %95, i32 0, i32 0
%2262 = load volatile double, double* %2261
%2263 = call double @llvm.copysign.f64(double 1.000000e+00, double %2262)
%2264 = fcmp une double %2263, -1.000000e+00
br i1 %2264, label %2270, label %2265
2265: ; preds = %2260
%2266 = getelementptr inbounds { double, double }, { double, double }* %95, i32 0, i32 1
%2267 = load volatile double, double* %2266
%2268 = call double @llvm.copysign.f64(double 1.000000e+00, double %2267)
%2269 = fcmp une double %2268, -1.000000e+00
br i1 %2269, label %2270, label %2271
2270: ; preds = %2265, %2260, %2252
unreachable
2271: ; preds = %2265
br label %2272
2272: ; preds = %2271
br label %2273
2273: ; preds = %2272
br label %2274
2274: ; preds = %2273
ret void
}

LLVM IR (-O2):
define void @check_add_double() {
%1 = alloca double
%2 = alloca double
%3 = alloca double
%4 = alloca double
%5 = alloca double
%6 = alloca double
%7 = alloca double
%8 = alloca double
%9 = alloca double
%10 = alloca double
%11 = alloca double
%12 = alloca double
%13 = alloca double
%14 = alloca double
%15 = alloca double
%16 = alloca double
%17 = alloca double
%18 = alloca double
%19 = alloca double
%20 = alloca double
%21 = alloca double
%22 = alloca double
%23 = alloca double
%24 = alloca double
%25 = alloca double
%26 = alloca double
%27 = alloca double
%28 = alloca double
%29 = alloca double
%30 = alloca double
%31 = alloca double
%32 = alloca double
%33 = alloca double
%34 = alloca double
%35 = alloca double
%36 = alloca double
%37 = alloca double
%38 = alloca double
%39 = alloca double
%40 = alloca double
%41 = alloca double
%42 = alloca double
%43 = alloca double
%44 = alloca double
%45 = alloca double
%46 = alloca double
%47 = alloca double
%48 = alloca double
%49 = alloca double
%50 = alloca double
%51 = alloca double
%52 = alloca double
%53 = alloca double
%54 = alloca double
%55 = alloca double
%56 = alloca double
%57 = alloca double
%58 = alloca double
%59 = alloca double
%60 = alloca double
%61 = alloca double
%62 = alloca double
%63 = alloca double
%64 = alloca double
%65 = alloca double
%66 = alloca double
%67 = alloca double
%68 = alloca double
%69 = alloca double
%70 = alloca double
%71 = alloca double
%72 = alloca double
%73 = alloca double
%74 = alloca double
%75 = alloca double
%76 = alloca double
%77 = alloca double
%78 = alloca double
%79 = alloca double
%80 = alloca double
%81 = bitcast double* %1 to i8*
%82 = bitcast double* %2 to i8*
%83 = bitcast double* %3 to i8*
%84 = bitcast double* %4 to i8*
%85 = bitcast double* %5 to i8*
store volatile double 0.000000e+00, double* %1
store volatile double 0.000000e+00, double* %2
store volatile double 0.000000e+00, double* %3
%86 = load volatile double, double* %2
%87 = load volatile double, double* %3
%88 = fcmp une double %86, 0.000000e+00
%89 = fcmp une double %87, 0.000000e+00
%90 = or i1 %88, %89
br i1 %90, label %99, label %91
91: ; preds = %0
%92 = load volatile double, double* %2
%93 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %92)
%94 = fcmp une double %93, 1.000000e+00
br i1 %94, label %99, label %95
95: ; preds = %91
%96 = load volatile double, double* %3
%97 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %96)
%98 = fcmp une double %97, 1.000000e+00
br i1 %98, label %99, label %100
99: ; preds = %95, %91, %0
tail call void @abort()
unreachable
100: ; preds = %95
%101 = load volatile double, double* %1
%102 = load volatile double, double* %2
%103 = load volatile double, double* %3
%104 = fadd double %101, %102
store volatile double %104, double* %4
store volatile double %103, double* %5
%105 = load volatile double, double* %4
%106 = load volatile double, double* %5
%107 = fcmp une double %105, 0.000000e+00
%108 = fcmp une double %106, 0.000000e+00
%109 = or i1 %107, %108
br i1 %109, label %118, label %110
110: ; preds = %100
%111 = load volatile double, double* %4
%112 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %111)
%113 = fcmp une double %112, 1.000000e+00
br i1 %113, label %118, label %114
114: ; preds = %110
%115 = load volatile double, double* %5
%116 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %115)
%117 = fcmp une double %116, 1.000000e+00
br i1 %117, label %118, label %119
118: ; preds = %114, %110, %100
tail call void @abort()
unreachable
119: ; preds = %114
%120 = bitcast double* %6 to i8*
%121 = bitcast double* %7 to i8*
%122 = bitcast double* %8 to i8*
%123 = bitcast double* %9 to i8*
%124 = bitcast double* %10 to i8*
store volatile double 0.000000e+00, double* %6
store volatile double 0.000000e+00, double* %7
store volatile double -0.000000e+00, double* %8
%125 = load volatile double, double* %7
%126 = load volatile double, double* %8
%127 = fcmp une double %125, 0.000000e+00
%128 = fcmp une double %126, 0.000000e+00
%129 = or i1 %127, %128
br i1 %129, label %138, label %130
130: ; preds = %119
%131 = load volatile double, double* %7
%132 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %131)
%133 = fcmp une double %132, 1.000000e+00
br i1 %133, label %138, label %134
134: ; preds = %130
%135 = load volatile double, double* %8
%136 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %135)
%137 = fcmp une double %136, -1.000000e+00
br i1 %137, label %138, label %139
138: ; preds = %134, %130, %119
tail call void @abort()
unreachable
139: ; preds = %134
%140 = load volatile double, double* %6
%141 = load volatile double, double* %7
%142 = load volatile double, double* %8
%143 = fadd double %140, %141
store volatile double %143, double* %9
store volatile double %142, double* %10
%144 = load volatile double, double* %9
%145 = load volatile double, double* %10
%146 = fcmp une double %144, 0.000000e+00
%147 = fcmp une double %145, 0.000000e+00
%148 = or i1 %146, %147
br i1 %148, label %157, label %149
149: ; preds = %139
%150 = load volatile double, double* %9
%151 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %150)
%152 = fcmp une double %151, 1.000000e+00
br i1 %152, label %157, label %153
153: ; preds = %149
%154 = load volatile double, double* %10
%155 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %154)
%156 = fcmp une double %155, -1.000000e+00
br i1 %156, label %157, label %158
157: ; preds = %153, %149, %139
tail call void @abort()
unreachable
158: ; preds = %153
%159 = bitcast double* %11 to i8*
%160 = bitcast double* %12 to i8*
%161 = bitcast double* %13 to i8*
%162 = bitcast double* %14 to i8*
%163 = bitcast double* %15 to i8*
store volatile double 0.000000e+00, double* %11
store volatile double -0.000000e+00, double* %12
store volatile double 0.000000e+00, double* %13
%164 = load volatile double, double* %12
%165 = load volatile double, double* %13
%166 = fcmp une double %164, 0.000000e+00
%167 = fcmp une double %165, 0.000000e+00
%168 = or i1 %166, %167
br i1 %168, label %177, label %169
169: ; preds = %158
%170 = load volatile double, double* %12
%171 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %170)
%172 = fcmp une double %171, -1.000000e+00
br i1 %172, label %177, label %173
173: ; preds = %169
%174 = load volatile double, double* %13
%175 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %174)
%176 = fcmp une double %175, 1.000000e+00
br i1 %176, label %177, label %178
177: ; preds = %173, %169, %158
tail call void @abort()
unreachable
178: ; preds = %173
%179 = load volatile double, double* %11
%180 = load volatile double, double* %12
%181 = load volatile double, double* %13
%182 = fadd double %179, %180
store volatile double %182, double* %14
store volatile double %181, double* %15
%183 = load volatile double, double* %14
%184 = load volatile double, double* %15
%185 = fcmp une double %183, 0.000000e+00
%186 = fcmp une double %184, 0.000000e+00
%187 = or i1 %185, %186
br i1 %187, label %196, label %188
188: ; preds = %178
%189 = load volatile double, double* %14
%190 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %189)
%191 = fcmp une double %190, 1.000000e+00
br i1 %191, label %196, label %192
192: ; preds = %188
%193 = load volatile double, double* %15
%194 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %193)
%195 = fcmp une double %194, 1.000000e+00
br i1 %195, label %196, label %197
196: ; preds = %192, %188, %178
tail call void @abort()
unreachable
197: ; preds = %192
%198 = bitcast double* %16 to i8*
%199 = bitcast double* %17 to i8*
%200 = bitcast double* %18 to i8*
%201 = bitcast double* %19 to i8*
%202 = bitcast double* %20 to i8*
store volatile double 0.000000e+00, double* %16
store volatile double -0.000000e+00, double* %17
store volatile double -0.000000e+00, double* %18
%203 = load volatile double, double* %17
%204 = load volatile double, double* %18
%205 = fcmp une double %203, 0.000000e+00
%206 = fcmp une double %204, 0.000000e+00
%207 = or i1 %205, %206
br i1 %207, label %216, label %208
208: ; preds = %197
%209 = load volatile double, double* %17
%210 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %209)
%211 = fcmp une double %210, -1.000000e+00
br i1 %211, label %216, label %212
212: ; preds = %208
%213 = load volatile double, double* %18
%214 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %213)
%215 = fcmp une double %214, -1.000000e+00
br i1 %215, label %216, label %217
216: ; preds = %212, %208, %197
tail call void @abort()
unreachable
217: ; preds = %212
%218 = load volatile double, double* %16
%219 = load volatile double, double* %17
%220 = load volatile double, double* %18
%221 = fadd double %218, %219
store volatile double %221, double* %19
store volatile double %220, double* %20
%222 = load volatile double, double* %19
%223 = load volatile double, double* %20
%224 = fcmp une double %222, 0.000000e+00
%225 = fcmp une double %223, 0.000000e+00
%226 = or i1 %224, %225
br i1 %226, label %235, label %227
227: ; preds = %217
%228 = load volatile double, double* %19
%229 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %228)
%230 = fcmp une double %229, 1.000000e+00
br i1 %230, label %235, label %231
231: ; preds = %227
%232 = load volatile double, double* %20
%233 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %232)
%234 = fcmp une double %233, -1.000000e+00
br i1 %234, label %235, label %236
235: ; preds = %231, %227, %217
tail call void @abort()
unreachable
236: ; preds = %231
%237 = bitcast double* %21 to i8*
%238 = bitcast double* %22 to i8*
%239 = bitcast double* %23 to i8*
%240 = bitcast double* %24 to i8*
%241 = bitcast double* %25 to i8*
store volatile double -0.000000e+00, double* %21
store volatile double 0.000000e+00, double* %22
store volatile double 0.000000e+00, double* %23
%242 = load volatile double, double* %22
%243 = load volatile double, double* %23
%244 = fcmp une double %242, 0.000000e+00
%245 = fcmp une double %243, 0.000000e+00
%246 = or i1 %244, %245
br i1 %246, label %255, label %247
247: ; preds = %236
%248 = load volatile double, double* %22
%249 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %248)
%250 = fcmp une double %249, 1.000000e+00
br i1 %250, label %255, label %251
251: ; preds = %247
%252 = load volatile double, double* %23
%253 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %252)
%254 = fcmp une double %253, 1.000000e+00
br i1 %254, label %255, label %256
255: ; preds = %251, %247, %236
tail call void @abort()
unreachable
256: ; preds = %251
%257 = load volatile double, double* %21
%258 = load volatile double, double* %22
%259 = load volatile double, double* %23
%260 = fadd double %257, %258
store volatile double %260, double* %24
store volatile double %259, double* %25
%261 = load volatile double, double* %24
%262 = load volatile double, double* %25
%263 = fcmp une double %261, 0.000000e+00
%264 = fcmp une double %262, 0.000000e+00
%265 = or i1 %263, %264
br i1 %265, label %274, label %266
266: ; preds = %256
%267 = load volatile double, double* %24
%268 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %267)
%269 = fcmp une double %268, 1.000000e+00
br i1 %269, label %274, label %270
270: ; preds = %266
%271 = load volatile double, double* %25
%272 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %271)
%273 = fcmp une double %272, 1.000000e+00
br i1 %273, label %274, label %275
274: ; preds = %270, %266, %256
tail call void @abort()
unreachable
275: ; preds = %270
%276 = bitcast double* %26 to i8*
%277 = bitcast double* %27 to i8*
%278 = bitcast double* %28 to i8*
%279 = bitcast double* %29 to i8*
%280 = bitcast double* %30 to i8*
store volatile double -0.000000e+00, double* %26
store volatile double 0.000000e+00, double* %27
store volatile double -0.000000e+00, double* %28
%281 = load volatile double, double* %27
%282 = load volatile double, double* %28
%283 = fcmp une double %281, 0.000000e+00
%284 = fcmp une double %282, 0.000000e+00
%285 = or i1 %283, %284
br i1 %285, label %294, label %286
286: ; preds = %275
%287 = load volatile double, double* %27
%288 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %287)
%289 = fcmp une double %288, 1.000000e+00
br i1 %289, label %294, label %290
290: ; preds = %286
%291 = load volatile double, double* %28
%292 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %291)
%293 = fcmp une double %292, -1.000000e+00
br i1 %293, label %294, label %295
294: ; preds = %290, %286, %275
tail call void @abort()
unreachable
295: ; preds = %290
%296 = load volatile double, double* %26
%297 = load volatile double, double* %27
%298 = load volatile double, double* %28
%299 = fadd double %296, %297
store volatile double %299, double* %29
store volatile double %298, double* %30
%300 = load volatile double, double* %29
%301 = load volatile double, double* %30
%302 = fcmp une double %300, 0.000000e+00
%303 = fcmp une double %301, 0.000000e+00
%304 = or i1 %302, %303
br i1 %304, label %313, label %305
305: ; preds = %295
%306 = load volatile double, double* %29
%307 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %306)
%308 = fcmp une double %307, 1.000000e+00
br i1 %308, label %313, label %309
309: ; preds = %305
%310 = load volatile double, double* %30
%311 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %310)
%312 = fcmp une double %311, -1.000000e+00
br i1 %312, label %313, label %314
313: ; preds = %309, %305, %295
tail call void @abort()
unreachable
314: ; preds = %309
%315 = bitcast double* %31 to i8*
%316 = bitcast double* %32 to i8*
%317 = bitcast double* %33 to i8*
%318 = bitcast double* %34 to i8*
%319 = bitcast double* %35 to i8*
store volatile double -0.000000e+00, double* %31
store volatile double -0.000000e+00, double* %32
store volatile double 0.000000e+00, double* %33
%320 = load volatile double, double* %32
%321 = load volatile double, double* %33
%322 = fcmp une double %320, 0.000000e+00
%323 = fcmp une double %321, 0.000000e+00
%324 = or i1 %322, %323
br i1 %324, label %333, label %325
325: ; preds = %314
%326 = load volatile double, double* %32
%327 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %326)
%328 = fcmp une double %327, -1.000000e+00
br i1 %328, label %333, label %329
329: ; preds = %325
%330 = load volatile double, double* %33
%331 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %330)
%332 = fcmp une double %331, 1.000000e+00
br i1 %332, label %333, label %334
333: ; preds = %329, %325, %314
tail call void @abort()
unreachable
334: ; preds = %329
%335 = load volatile double, double* %31
%336 = load volatile double, double* %32
%337 = load volatile double, double* %33
%338 = fadd double %335, %336
store volatile double %338, double* %34
store volatile double %337, double* %35
%339 = load volatile double, double* %34
%340 = load volatile double, double* %35
%341 = fcmp une double %339, 0.000000e+00
%342 = fcmp une double %340, 0.000000e+00
%343 = or i1 %341, %342
br i1 %343, label %352, label %344
344: ; preds = %334
%345 = load volatile double, double* %34
%346 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %345)
%347 = fcmp une double %346, -1.000000e+00
br i1 %347, label %352, label %348
348: ; preds = %344
%349 = load volatile double, double* %35
%350 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %349)
%351 = fcmp une double %350, 1.000000e+00
br i1 %351, label %352, label %353
352: ; preds = %348, %344, %334
tail call void @abort()
unreachable
353: ; preds = %348
%354 = bitcast double* %36 to i8*
%355 = bitcast double* %37 to i8*
%356 = bitcast double* %38 to i8*
%357 = bitcast double* %39 to i8*
%358 = bitcast double* %40 to i8*
store volatile double -0.000000e+00, double* %36
store volatile double -0.000000e+00, double* %37
store volatile double -0.000000e+00, double* %38
%359 = load volatile double, double* %37
%360 = load volatile double, double* %38
%361 = fcmp une double %359, 0.000000e+00
%362 = fcmp une double %360, 0.000000e+00
%363 = or i1 %361, %362
br i1 %363, label %372, label %364
364: ; preds = %353
%365 = load volatile double, double* %37
%366 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %365)
%367 = fcmp une double %366, -1.000000e+00
br i1 %367, label %372, label %368
368: ; preds = %364
%369 = load volatile double, double* %38
%370 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %369)
%371 = fcmp une double %370, -1.000000e+00
br i1 %371, label %372, label %373
372: ; preds = %368, %364, %353
tail call void @abort()
unreachable
373: ; preds = %368
%374 = load volatile double, double* %36
%375 = load volatile double, double* %37
%376 = load volatile double, double* %38
%377 = fadd double %374, %375
store volatile double %377, double* %39
store volatile double %376, double* %40
%378 = load volatile double, double* %39
%379 = load volatile double, double* %40
%380 = fcmp une double %378, 0.000000e+00
%381 = fcmp une double %379, 0.000000e+00
%382 = or i1 %380, %381
br i1 %382, label %391, label %383
383: ; preds = %373
%384 = load volatile double, double* %39
%385 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %384)
%386 = fcmp une double %385, -1.000000e+00
br i1 %386, label %391, label %387
387: ; preds = %383
%388 = load volatile double, double* %40
%389 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %388)
%390 = fcmp une double %389, -1.000000e+00
br i1 %390, label %391, label %392
391: ; preds = %387, %383, %373
tail call void @abort()
unreachable
392: ; preds = %387
%393 = bitcast double* %41 to i8*
%394 = bitcast double* %42 to i8*
%395 = bitcast double* %43 to i8*
%396 = bitcast double* %44 to i8*
%397 = bitcast double* %45 to i8*
store volatile double 0.000000e+00, double* %41
store volatile double 0.000000e+00, double* %42
%398 = load volatile double, double* %41
%399 = load volatile double, double* %42
%400 = fcmp une double %398, 0.000000e+00
%401 = fcmp une double %399, 0.000000e+00
%402 = or i1 %400, %401
br i1 %402, label %411, label %403
403: ; preds = %392
%404 = load volatile double, double* %41
%405 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %404)
%406 = fcmp une double %405, 1.000000e+00
br i1 %406, label %411, label %407
407: ; preds = %403
%408 = load volatile double, double* %42
%409 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %408)
%410 = fcmp une double %409, 1.000000e+00
br i1 %410, label %411, label %412
411: ; preds = %407, %403, %392
tail call void @abort()
unreachable
412: ; preds = %407
store volatile double 0.000000e+00, double* %45
%413 = load volatile double, double* %41
%414 = load volatile double, double* %42
%415 = load volatile double, double* %45
%416 = fadd double %413, %415
store volatile double %416, double* %43
store volatile double %414, double* %44
%417 = load volatile double, double* %43
%418 = load volatile double, double* %44
%419 = fcmp une double %417, 0.000000e+00
%420 = fcmp une double %418, 0.000000e+00
%421 = or i1 %419, %420
br i1 %421, label %430, label %422
422: ; preds = %412
%423 = load volatile double, double* %43
%424 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %423)
%425 = fcmp une double %424, 1.000000e+00
br i1 %425, label %430, label %426
426: ; preds = %422
%427 = load volatile double, double* %44
%428 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %427)
%429 = fcmp une double %428, 1.000000e+00
br i1 %429, label %430, label %431
430: ; preds = %426, %422, %412
tail call void @abort()
unreachable
431: ; preds = %426
%432 = bitcast double* %46 to i8*
%433 = bitcast double* %47 to i8*
%434 = bitcast double* %48 to i8*
%435 = bitcast double* %49 to i8*
%436 = bitcast double* %50 to i8*
store volatile double 0.000000e+00, double* %46
store volatile double 0.000000e+00, double* %47
%437 = load volatile double, double* %46
%438 = load volatile double, double* %47
%439 = fcmp une double %437, 0.000000e+00
%440 = fcmp une double %438, 0.000000e+00
%441 = or i1 %439, %440
br i1 %441, label %450, label %442
442: ; preds = %431
%443 = load volatile double, double* %46
%444 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %443)
%445 = fcmp une double %444, 1.000000e+00
br i1 %445, label %450, label %446
446: ; preds = %442
%447 = load volatile double, double* %47
%448 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %447)
%449 = fcmp une double %448, 1.000000e+00
br i1 %449, label %450, label %451
450: ; preds = %446, %442, %431
tail call void @abort()
unreachable
451: ; preds = %446
store volatile double -0.000000e+00, double* %50
%452 = load volatile double, double* %46
%453 = load volatile double, double* %47
%454 = load volatile double, double* %50
%455 = fadd double %452, %454
store volatile double %455, double* %48
store volatile double %453, double* %49
%456 = load volatile double, double* %48
%457 = load volatile double, double* %49
%458 = fcmp une double %456, 0.000000e+00
%459 = fcmp une double %457, 0.000000e+00
%460 = or i1 %458, %459
br i1 %460, label %469, label %461
461: ; preds = %451
%462 = load volatile double, double* %48
%463 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %462)
%464 = fcmp une double %463, 1.000000e+00
br i1 %464, label %469, label %465
465: ; preds = %461
%466 = load volatile double, double* %49
%467 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %466)
%468 = fcmp une double %467, 1.000000e+00
br i1 %468, label %469, label %470
469: ; preds = %465, %461, %451
tail call void @abort()
unreachable
470: ; preds = %465
%471 = bitcast double* %51 to i8*
%472 = bitcast double* %52 to i8*
%473 = bitcast double* %53 to i8*
%474 = bitcast double* %54 to i8*
%475 = bitcast double* %55 to i8*
store volatile double 0.000000e+00, double* %51
store volatile double -0.000000e+00, double* %52
%476 = load volatile double, double* %51
%477 = load volatile double, double* %52
%478 = fcmp une double %476, 0.000000e+00
%479 = fcmp une double %477, 0.000000e+00
%480 = or i1 %478, %479
br i1 %480, label %489, label %481
481: ; preds = %470
%482 = load volatile double, double* %51
%483 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %482)
%484 = fcmp une double %483, 1.000000e+00
br i1 %484, label %489, label %485
485: ; preds = %481
%486 = load volatile double, double* %52
%487 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %486)
%488 = fcmp une double %487, -1.000000e+00
br i1 %488, label %489, label %490
489: ; preds = %485, %481, %470
tail call void @abort()
unreachable
490: ; preds = %485
store volatile double 0.000000e+00, double* %55
%491 = load volatile double, double* %51
%492 = load volatile double, double* %52
%493 = load volatile double, double* %55
%494 = fadd double %491, %493
store volatile double %494, double* %53
store volatile double %492, double* %54
%495 = load volatile double, double* %53
%496 = load volatile double, double* %54
%497 = fcmp une double %495, 0.000000e+00
%498 = fcmp une double %496, 0.000000e+00
%499 = or i1 %497, %498
br i1 %499, label %508, label %500
500: ; preds = %490
%501 = load volatile double, double* %53
%502 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %501)
%503 = fcmp une double %502, 1.000000e+00
br i1 %503, label %508, label %504
504: ; preds = %500
%505 = load volatile double, double* %54
%506 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %505)
%507 = fcmp une double %506, -1.000000e+00
br i1 %507, label %508, label %509
508: ; preds = %504, %500, %490
tail call void @abort()
unreachable
509: ; preds = %504
%510 = bitcast double* %56 to i8*
%511 = bitcast double* %57 to i8*
%512 = bitcast double* %58 to i8*
%513 = bitcast double* %59 to i8*
%514 = bitcast double* %60 to i8*
store volatile double 0.000000e+00, double* %56
store volatile double -0.000000e+00, double* %57
%515 = load volatile double, double* %56
%516 = load volatile double, double* %57
%517 = fcmp une double %515, 0.000000e+00
%518 = fcmp une double %516, 0.000000e+00
%519 = or i1 %517, %518
br i1 %519, label %528, label %520
520: ; preds = %509
%521 = load volatile double, double* %56
%522 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %521)
%523 = fcmp une double %522, 1.000000e+00
br i1 %523, label %528, label %524
524: ; preds = %520
%525 = load volatile double, double* %57
%526 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %525)
%527 = fcmp une double %526, -1.000000e+00
br i1 %527, label %528, label %529
528: ; preds = %524, %520, %509
tail call void @abort()
unreachable
529: ; preds = %524
store volatile double -0.000000e+00, double* %60
%530 = load volatile double, double* %56
%531 = load volatile double, double* %57
%532 = load volatile double, double* %60
%533 = fadd double %530, %532
store volatile double %533, double* %58
store volatile double %531, double* %59
%534 = load volatile double, double* %58
%535 = load volatile double, double* %59
%536 = fcmp une double %534, 0.000000e+00
%537 = fcmp une double %535, 0.000000e+00
%538 = or i1 %536, %537
br i1 %538, label %547, label %539
539: ; preds = %529
%540 = load volatile double, double* %58
%541 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %540)
%542 = fcmp une double %541, 1.000000e+00
br i1 %542, label %547, label %543
543: ; preds = %539
%544 = load volatile double, double* %59
%545 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %544)
%546 = fcmp une double %545, -1.000000e+00
br i1 %546, label %547, label %548
547: ; preds = %543, %539, %529
tail call void @abort()
unreachable
548: ; preds = %543
%549 = bitcast double* %61 to i8*
%550 = bitcast double* %62 to i8*
%551 = bitcast double* %63 to i8*
%552 = bitcast double* %64 to i8*
%553 = bitcast double* %65 to i8*
store volatile double -0.000000e+00, double* %61
store volatile double 0.000000e+00, double* %62
%554 = load volatile double, double* %61
%555 = load volatile double, double* %62
%556 = fcmp une double %554, 0.000000e+00
%557 = fcmp une double %555, 0.000000e+00
%558 = or i1 %556, %557
br i1 %558, label %567, label %559
559: ; preds = %548
%560 = load volatile double, double* %61
%561 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %560)
%562 = fcmp une double %561, -1.000000e+00
br i1 %562, label %567, label %563
563: ; preds = %559
%564 = load volatile double, double* %62
%565 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %564)
%566 = fcmp une double %565, 1.000000e+00
br i1 %566, label %567, label %568
567: ; preds = %563, %559, %548
tail call void @abort()
unreachable
568: ; preds = %563
store volatile double 0.000000e+00, double* %65
%569 = load volatile double, double* %61
%570 = load volatile double, double* %62
%571 = load volatile double, double* %65
%572 = fadd double %569, %571
store volatile double %572, double* %63
store volatile double %570, double* %64
%573 = load volatile double, double* %63
%574 = load volatile double, double* %64
%575 = fcmp une double %573, 0.000000e+00
%576 = fcmp une double %574, 0.000000e+00
%577 = or i1 %575, %576
br i1 %577, label %586, label %578
578: ; preds = %568
%579 = load volatile double, double* %63
%580 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %579)
%581 = fcmp une double %580, 1.000000e+00
br i1 %581, label %586, label %582
582: ; preds = %578
%583 = load volatile double, double* %64
%584 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %583)
%585 = fcmp une double %584, 1.000000e+00
br i1 %585, label %586, label %587
586: ; preds = %582, %578, %568
tail call void @abort()
unreachable
587: ; preds = %582
%588 = bitcast double* %66 to i8*
%589 = bitcast double* %67 to i8*
%590 = bitcast double* %68 to i8*
%591 = bitcast double* %69 to i8*
%592 = bitcast double* %70 to i8*
store volatile double -0.000000e+00, double* %66
store volatile double 0.000000e+00, double* %67
%593 = load volatile double, double* %66
%594 = load volatile double, double* %67
%595 = fcmp une double %593, 0.000000e+00
%596 = fcmp une double %594, 0.000000e+00
%597 = or i1 %595, %596
br i1 %597, label %606, label %598
598: ; preds = %587
%599 = load volatile double, double* %66
%600 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %599)
%601 = fcmp une double %600, -1.000000e+00
br i1 %601, label %606, label %602
602: ; preds = %598
%603 = load volatile double, double* %67
%604 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %603)
%605 = fcmp une double %604, 1.000000e+00
br i1 %605, label %606, label %607
606: ; preds = %602, %598, %587
tail call void @abort()
unreachable
607: ; preds = %602
store volatile double -0.000000e+00, double* %70
%608 = load volatile double, double* %66
%609 = load volatile double, double* %67
%610 = load volatile double, double* %70
%611 = fadd double %608, %610
store volatile double %611, double* %68
store volatile double %609, double* %69
%612 = load volatile double, double* %68
%613 = load volatile double, double* %69
%614 = fcmp une double %612, 0.000000e+00
%615 = fcmp une double %613, 0.000000e+00
%616 = or i1 %614, %615
br i1 %616, label %625, label %617
617: ; preds = %607
%618 = load volatile double, double* %68
%619 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %618)
%620 = fcmp une double %619, -1.000000e+00
br i1 %620, label %625, label %621
621: ; preds = %617
%622 = load volatile double, double* %69
%623 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %622)
%624 = fcmp une double %623, 1.000000e+00
br i1 %624, label %625, label %626
625: ; preds = %621, %617, %607
tail call void @abort()
unreachable
626: ; preds = %621
%627 = bitcast double* %71 to i8*
%628 = bitcast double* %72 to i8*
%629 = bitcast double* %73 to i8*
%630 = bitcast double* %74 to i8*
%631 = bitcast double* %75 to i8*
store volatile double -0.000000e+00, double* %71
store volatile double -0.000000e+00, double* %72
%632 = load volatile double, double* %71
%633 = load volatile double, double* %72
%634 = fcmp une double %632, 0.000000e+00
%635 = fcmp une double %633, 0.000000e+00
%636 = or i1 %634, %635
br i1 %636, label %645, label %637
637: ; preds = %626
%638 = load volatile double, double* %71
%639 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %638)
%640 = fcmp une double %639, -1.000000e+00
br i1 %640, label %645, label %641
641: ; preds = %637
%642 = load volatile double, double* %72
%643 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %642)
%644 = fcmp une double %643, -1.000000e+00
br i1 %644, label %645, label %646
645: ; preds = %641, %637, %626
tail call void @abort()
unreachable
646: ; preds = %641
store volatile double 0.000000e+00, double* %75
%647 = load volatile double, double* %71
%648 = load volatile double, double* %72
%649 = load volatile double, double* %75
%650 = fadd double %647, %649
store volatile double %650, double* %73
store volatile double %648, double* %74
%651 = load volatile double, double* %73
%652 = load volatile double, double* %74
%653 = fcmp une double %651, 0.000000e+00
%654 = fcmp une double %652, 0.000000e+00
%655 = or i1 %653, %654
br i1 %655, label %664, label %656
656: ; preds = %646
%657 = load volatile double, double* %73
%658 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %657)
%659 = fcmp une double %658, 1.000000e+00
br i1 %659, label %664, label %660
660: ; preds = %656
%661 = load volatile double, double* %74
%662 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %661)
%663 = fcmp une double %662, -1.000000e+00
br i1 %663, label %664, label %665
664: ; preds = %660, %656, %646
tail call void @abort()
unreachable
665: ; preds = %660
%666 = bitcast double* %76 to i8*
%667 = bitcast double* %77 to i8*
%668 = bitcast double* %78 to i8*
%669 = bitcast double* %79 to i8*
%670 = bitcast double* %80 to i8*
store volatile double -0.000000e+00, double* %76
store volatile double -0.000000e+00, double* %77
%671 = load volatile double, double* %76
%672 = load volatile double, double* %77
%673 = fcmp une double %671, 0.000000e+00
%674 = fcmp une double %672, 0.000000e+00
%675 = or i1 %673, %674
br i1 %675, label %684, label %676
676: ; preds = %665
%677 = load volatile double, double* %76
%678 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %677)
%679 = fcmp une double %678, -1.000000e+00
br i1 %679, label %684, label %680
680: ; preds = %676
%681 = load volatile double, double* %77
%682 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %681)
%683 = fcmp une double %682, -1.000000e+00
br i1 %683, label %684, label %685
684: ; preds = %680, %676, %665
tail call void @abort()
unreachable
685: ; preds = %680
store volatile double -0.000000e+00, double* %80
%686 = load volatile double, double* %76
%687 = load volatile double, double* %77
%688 = load volatile double, double* %80
%689 = fadd double %686, %688
store volatile double %689, double* %78
store volatile double %687, double* %79
%690 = load volatile double, double* %78
%691 = load volatile double, double* %79
%692 = fcmp une double %690, 0.000000e+00
%693 = fcmp une double %691, 0.000000e+00
%694 = or i1 %692, %693
br i1 %694, label %703, label %695
695: ; preds = %685
%696 = load volatile double, double* %78
%697 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %696)
%698 = fcmp une double %697, -1.000000e+00
br i1 %698, label %703, label %699
699: ; preds = %695
%700 = load volatile double, double* %79
%701 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %700)
%702 = fcmp une double %701, -1.000000e+00
br i1 %702, label %703, label %704
703: ; preds = %699, %695, %685
tail call void @abort()
unreachable
704: ; preds = %699
ret void
}