void check_mul_double(void) {
  do {
    do {
      _Complex double a1, b1, c1;
      volatile _Complex double a2, b2, c2;
      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 = (+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 = (+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 = (+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, b1, c1;
      volatile _Complex double a2, b2, c2;
      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 = (+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 = (+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 = (+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, b1, c1;
      volatile _Complex double a2, b2, c2;
      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 = (-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 = (+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 = (-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, b1, c1;
      volatile _Complex double a2, b2, c2;
      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 = (-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 = (+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 = (-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, b1, c1;
      volatile _Complex double a2, b2, c2;
      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 = (+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 = (+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 = (+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, b1, c1;
      volatile _Complex double a2, b2, c2;
      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 = (+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 = (+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 = (+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, b1, c1;
      volatile _Complex double a2, b2, c2;
      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 = (-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 = (+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 = (-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, b1, c1;
      volatile _Complex double a2, b2, c2;
      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 = (-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 = (+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 = (-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, b1, c1;
      volatile _Complex double a2, b2, c2;
      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 = (+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 = (-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 = (+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, b1, c1;
      volatile _Complex double a2, b2, c2;
      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 = (+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 = (-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 = (+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, b1, c1;
      volatile _Complex double a2, b2, c2;
      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 = (-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 = (-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 = (-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, b1, c1;
      volatile _Complex double a2, b2, c2;
      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 = (-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 = (-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 = (-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, b1, c1;
      volatile _Complex double a2, b2, c2;
      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 = (+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 = (-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 = (+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, b1, c1;
      volatile _Complex double a2, b2, c2;
      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 = (+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 = (-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 = (+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, b1, c1;
      volatile _Complex double a2, b2, c2;
      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 = (-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 = (-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 = (-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, b1, c1;
      volatile _Complex double a2, b2, c2;
      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 = (-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 = (-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 = (-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);
  } while (0);
}


x86 assembly (clang, -O0):
<check_mul_double>:
push   %rbp
mov    %rsp,%rbp
sub    $0x1a00,%rsp
jmp    1120 <check_mul_double+0x10>
mov    $0x1,%al
test   $0x1,%al
jne    112f <check_mul_double+0x1f>
jmp    119e <check_mul_double+0x8e>
mov    $0x1,%al
test   $0x1,%al
jne    113e <check_mul_double+0x2e>
jmp    1159 <check_mul_double+0x49>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x610(%rbp)
ff
movsd  %xmm0,-0x608(%rbp)
ff
jmp    1179 <check_mul_double+0x69>
xorps  %xmm1,%xmm1
movsd  0xae9c(%rip),%xmm0
movsd  %xmm1,-0x610(%rbp)
ff
movsd  %xmm0,-0x608(%rbp)
ff
jmp    1179 <check_mul_double+0x69>
movsd  -0x610(%rbp),%xmm1
ff
movsd  -0x608(%rbp),%xmm0
ff
movsd  %xmm1,-0x620(%rbp)
ff
movsd  %xmm0,-0x618(%rbp)
ff
jmp    120d <check_mul_double+0xfd>
mov    $0x1,%al
test   $0x1,%al
jne    11ad <check_mul_double+0x9d>
jmp    11cd <check_mul_double+0xbd>
movsd  0xae4b(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x630(%rbp)
ff
movsd  %xmm0,-0x628(%rbp)
ff
jmp    11ed <check_mul_double+0xdd>
movsd  0xae2b(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x630(%rbp)
ff
movsd  %xmm0,-0x628(%rbp)
ff
jmp    11ed <check_mul_double+0xdd>
movsd  -0x630(%rbp),%xmm1
ff
movsd  -0x628(%rbp),%xmm0
ff
movsd  %xmm1,-0x620(%rbp)
ff
movsd  %xmm0,-0x618(%rbp)
ff
movsd  -0x620(%rbp),%xmm1
ff
movsd  -0x618(%rbp),%xmm0
ff
movsd  %xmm1,-0x10(%rbp)
movsd  %xmm0,-0x8(%rbp)
movsd  -0x10(%rbp),%xmm1
movsd  -0x8(%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    12c4 <check_mul_double+0x1b4>
movsd  -0x10(%rbp),%xmm0
movaps 0xadbb(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xadc0(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0xad8c(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    12c4 <check_mul_double+0x1b4>
jp     12c4 <check_mul_double+0x1b4>
movsd  -0x8(%rbp),%xmm0
movaps 0xad88(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xad8d(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0xad59(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    12c4 <check_mul_double+0x1b4>
jp     12c4 <check_mul_double+0x1b4>
jmp    12c9 <check_mul_double+0x1b9>
call   1030 <abort@plt>
jmp    12ce <check_mul_double+0x1be>
mov    $0x1,%al
test   $0x1,%al
jne    12dd <check_mul_double+0x1cd>
jmp    134c <check_mul_double+0x23c>
mov    $0x1,%al
test   $0x1,%al
jne    12ec <check_mul_double+0x1dc>
jmp    1307 <check_mul_double+0x1f7>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x640(%rbp)
ff
movsd  %xmm0,-0x638(%rbp)
ff
jmp    1327 <check_mul_double+0x217>
xorps  %xmm1,%xmm1
movsd  0xacee(%rip),%xmm0
movsd  %xmm1,-0x640(%rbp)
ff
movsd  %xmm0,-0x638(%rbp)
ff
jmp    1327 <check_mul_double+0x217>
movsd  -0x640(%rbp),%xmm1
ff
movsd  -0x638(%rbp),%xmm0
ff
movsd  %xmm1,-0x650(%rbp)
ff
movsd  %xmm0,-0x648(%rbp)
ff
jmp    13bb <check_mul_double+0x2ab>
mov    $0x1,%al
test   $0x1,%al
jne    135b <check_mul_double+0x24b>
jmp    137b <check_mul_double+0x26b>
movsd  0xac9d(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x660(%rbp)
ff
movsd  %xmm0,-0x658(%rbp)
ff
jmp    139b <check_mul_double+0x28b>
movsd  0xac7d(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x660(%rbp)
ff
movsd  %xmm0,-0x658(%rbp)
ff
jmp    139b <check_mul_double+0x28b>
movsd  -0x660(%rbp),%xmm1
ff
movsd  -0x658(%rbp),%xmm0
ff
movsd  %xmm1,-0x650(%rbp)
ff
movsd  %xmm0,-0x648(%rbp)
ff
movsd  -0x650(%rbp),%xmm1
ff
movsd  -0x648(%rbp),%xmm0
ff
movsd  %xmm1,-0x20(%rbp)
movsd  %xmm0,-0x18(%rbp)
movsd  -0x20(%rbp),%xmm1
movsd  -0x18(%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    1472 <check_mul_double+0x362>
movsd  -0x20(%rbp),%xmm0
movaps 0xac0d(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xac12(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0xabde(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1472 <check_mul_double+0x362>
jp     1472 <check_mul_double+0x362>
movsd  -0x18(%rbp),%xmm0
movaps 0xabda(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xabdf(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0xabab(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1472 <check_mul_double+0x362>
jp     1472 <check_mul_double+0x362>
jmp    1477 <check_mul_double+0x367>
call   1030 <abort@plt>
jmp    147c <check_mul_double+0x36c>
movsd  -0x10(%rbp),%xmm1
movsd  %xmm1,-0x6a0(%rbp)
ff
movsd  -0x8(%rbp),%xmm2
movsd  %xmm2,-0x698(%rbp)
ff
movsd  -0x20(%rbp),%xmm4
movsd  %xmm4,-0x690(%rbp)
ff
movsd  -0x18(%rbp),%xmm5
movsd  %xmm5,-0x688(%rbp)
ff
movaps %xmm1,%xmm0
mulsd  %xmm4,%xmm0
movaps %xmm2,%xmm3
mulsd  %xmm5,%xmm3
mulsd  %xmm5,%xmm1
mulsd  %xmm4,%xmm2
subsd  %xmm3,%xmm0
movsd  %xmm0,-0x680(%rbp)
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x678(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x670(%rbp)
ff
movsd  %xmm1,-0x668(%rbp)
ff
jnp    1557 <check_mul_double+0x447>
movsd  -0x678(%rbp),%xmm1
ff
movsd  -0x680(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x670(%rbp)
ff
movsd  %xmm1,-0x668(%rbp)
ff
jnp    1557 <check_mul_double+0x447>
movsd  -0x688(%rbp),%xmm3
ff
movsd  -0x690(%rbp),%xmm2
ff
movsd  -0x698(%rbp),%xmm1
ff
movsd  -0x6a0(%rbp),%xmm0
ff
call   b860 <__muldc3>
movsd  %xmm0,-0x670(%rbp)
ff
movsd  %xmm1,-0x668(%rbp)
ff
movsd  -0x670(%rbp),%xmm1
ff
movsd  -0x668(%rbp),%xmm0
ff
movsd  %xmm1,-0x30(%rbp)
movsd  %xmm0,-0x28(%rbp)
movsd  -0x30(%rbp),%xmm1
movsd  -0x28(%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    160e <check_mul_double+0x4fe>
movsd  -0x30(%rbp),%xmm0
movaps 0xaa71(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xaa76(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0xaa42(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    160e <check_mul_double+0x4fe>
jp     160e <check_mul_double+0x4fe>
movsd  -0x28(%rbp),%xmm0
movaps 0xaa3e(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xaa43(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0xaa0f(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    160e <check_mul_double+0x4fe>
jp     160e <check_mul_double+0x4fe>
jmp    1613 <check_mul_double+0x503>
call   1030 <abort@plt>
jmp    1618 <check_mul_double+0x508>
mov    $0x1,%al
test   $0x1,%al
jne    1627 <check_mul_double+0x517>
jmp    1696 <check_mul_double+0x586>
mov    $0x1,%al
test   $0x1,%al
jne    1636 <check_mul_double+0x526>
jmp    1651 <check_mul_double+0x541>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x6b0(%rbp)
ff
movsd  %xmm0,-0x6a8(%rbp)
ff
jmp    1671 <check_mul_double+0x561>
xorps  %xmm1,%xmm1
movsd  0xa9a4(%rip),%xmm0
movsd  %xmm1,-0x6b0(%rbp)
ff
movsd  %xmm0,-0x6a8(%rbp)
ff
jmp    1671 <check_mul_double+0x561>
movsd  -0x6b0(%rbp),%xmm1
ff
movsd  -0x6a8(%rbp),%xmm0
ff
movsd  %xmm1,-0x6c0(%rbp)
ff
movsd  %xmm0,-0x6b8(%rbp)
ff
jmp    1705 <check_mul_double+0x5f5>
mov    $0x1,%al
test   $0x1,%al
jne    16a5 <check_mul_double+0x595>
jmp    16c5 <check_mul_double+0x5b5>
movsd  0xa953(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x6d0(%rbp)
ff
movsd  %xmm0,-0x6c8(%rbp)
ff
jmp    16e5 <check_mul_double+0x5d5>
movsd  0xa933(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x6d0(%rbp)
ff
movsd  %xmm0,-0x6c8(%rbp)
ff
jmp    16e5 <check_mul_double+0x5d5>
movsd  -0x6d0(%rbp),%xmm1
ff
movsd  -0x6c8(%rbp),%xmm0
ff
movsd  %xmm1,-0x6c0(%rbp)
ff
movsd  %xmm0,-0x6b8(%rbp)
ff
movsd  -0x6c0(%rbp),%xmm1
ff
movsd  -0x6b8(%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    17bc <check_mul_double+0x6ac>
movsd  -0x40(%rbp),%xmm0
movaps 0xa8c3(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xa8c8(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0xa894(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    17bc <check_mul_double+0x6ac>
jp     17bc <check_mul_double+0x6ac>
movsd  -0x38(%rbp),%xmm0
movaps 0xa890(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xa895(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0xa861(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    17bc <check_mul_double+0x6ac>
jp     17bc <check_mul_double+0x6ac>
jmp    17c1 <check_mul_double+0x6b1>
call   1030 <abort@plt>
jmp    17c6 <check_mul_double+0x6b6>
mov    $0x1,%al
test   $0x1,%al
jne    17d5 <check_mul_double+0x6c5>
jmp    1844 <check_mul_double+0x734>
mov    $0x1,%al
test   $0x1,%al
jne    17e4 <check_mul_double+0x6d4>
jmp    17ff <check_mul_double+0x6ef>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x6e0(%rbp)
ff
movsd  %xmm0,-0x6d8(%rbp)
ff
jmp    181f <check_mul_double+0x70f>
xorps  %xmm1,%xmm1
movsd  0xa7f6(%rip),%xmm0
movsd  %xmm1,-0x6e0(%rbp)
ff
movsd  %xmm0,-0x6d8(%rbp)
ff
jmp    181f <check_mul_double+0x70f>
movsd  -0x6e0(%rbp),%xmm1
ff
movsd  -0x6d8(%rbp),%xmm0
ff
movsd  %xmm1,-0x6f0(%rbp)
ff
movsd  %xmm0,-0x6e8(%rbp)
ff
jmp    18b3 <check_mul_double+0x7a3>
mov    $0x1,%al
test   $0x1,%al
jne    1853 <check_mul_double+0x743>
jmp    1873 <check_mul_double+0x763>
movsd  0xa7a5(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x700(%rbp)
ff
movsd  %xmm0,-0x6f8(%rbp)
ff
jmp    1893 <check_mul_double+0x783>
movsd  0xa785(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x700(%rbp)
ff
movsd  %xmm0,-0x6f8(%rbp)
ff
jmp    1893 <check_mul_double+0x783>
movsd  -0x700(%rbp),%xmm1
ff
movsd  -0x6f8(%rbp),%xmm0
ff
movsd  %xmm1,-0x6f0(%rbp)
ff
movsd  %xmm0,-0x6e8(%rbp)
ff
movsd  -0x6f0(%rbp),%xmm1
ff
movsd  -0x6e8(%rbp),%xmm0
ff
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    196a <check_mul_double+0x85a>
movsd  -0x50(%rbp),%xmm0
movaps 0xa715(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xa71a(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0xa6e6(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    196a <check_mul_double+0x85a>
jp     196a <check_mul_double+0x85a>
movsd  -0x48(%rbp),%xmm0
movaps 0xa6e2(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xa6e7(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0xa6b3(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    196a <check_mul_double+0x85a>
jp     196a <check_mul_double+0x85a>
jmp    196f <check_mul_double+0x85f>
call   1030 <abort@plt>
jmp    1974 <check_mul_double+0x864>
movsd  -0x40(%rbp),%xmm1
movsd  %xmm1,-0x740(%rbp)
ff
movsd  -0x38(%rbp),%xmm2
movsd  %xmm2,-0x738(%rbp)
ff
movsd  -0x50(%rbp),%xmm4
movsd  %xmm4,-0x730(%rbp)
ff
movsd  -0x48(%rbp),%xmm5
movsd  %xmm5,-0x728(%rbp)
ff
movaps %xmm1,%xmm0
mulsd  %xmm4,%xmm0
movaps %xmm2,%xmm3
mulsd  %xmm5,%xmm3
mulsd  %xmm5,%xmm1
mulsd  %xmm4,%xmm2
subsd  %xmm3,%xmm0
movsd  %xmm0,-0x720(%rbp)
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x718(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x710(%rbp)
ff
movsd  %xmm1,-0x708(%rbp)
ff
jnp    1a4f <check_mul_double+0x93f>
movsd  -0x718(%rbp),%xmm1
ff
movsd  -0x720(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x710(%rbp)
ff
movsd  %xmm1,-0x708(%rbp)
ff
jnp    1a4f <check_mul_double+0x93f>
movsd  -0x728(%rbp),%xmm3
ff
movsd  -0x730(%rbp),%xmm2
ff
movsd  -0x738(%rbp),%xmm1
ff
movsd  -0x740(%rbp),%xmm0
ff
call   b860 <__muldc3>
movsd  %xmm0,-0x710(%rbp)
ff
movsd  %xmm1,-0x708(%rbp)
ff
movsd  -0x710(%rbp),%xmm1
ff
movsd  -0x708(%rbp),%xmm0
ff
movsd  %xmm1,-0x60(%rbp)
movsd  %xmm0,-0x58(%rbp)
movsd  -0x60(%rbp),%xmm1
movsd  -0x58(%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    1b06 <check_mul_double+0x9f6>
movsd  -0x60(%rbp),%xmm0
movaps 0xa579(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xa57e(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0xa54a(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1b06 <check_mul_double+0x9f6>
jp     1b06 <check_mul_double+0x9f6>
movsd  -0x58(%rbp),%xmm0
movaps 0xa546(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xa54b(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0xa517(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1b06 <check_mul_double+0x9f6>
jp     1b06 <check_mul_double+0x9f6>
jmp    1b0b <check_mul_double+0x9fb>
call   1030 <abort@plt>
jmp    1b10 <check_mul_double+0xa00>
jmp    1b15 <check_mul_double+0xa05>
jmp    1b1a <check_mul_double+0xa0a>
mov    $0x1,%al
test   $0x1,%al
jne    1b29 <check_mul_double+0xa19>
jmp    1b98 <check_mul_double+0xa88>
mov    $0x1,%al
test   $0x1,%al
jne    1b38 <check_mul_double+0xa28>
jmp    1b53 <check_mul_double+0xa43>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x750(%rbp)
ff
movsd  %xmm0,-0x748(%rbp)
ff
jmp    1b73 <check_mul_double+0xa63>
xorps  %xmm1,%xmm1
movsd  0xa4a2(%rip),%xmm0
movsd  %xmm1,-0x750(%rbp)
ff
movsd  %xmm0,-0x748(%rbp)
ff
jmp    1b73 <check_mul_double+0xa63>
movsd  -0x750(%rbp),%xmm1
ff
movsd  -0x748(%rbp),%xmm0
ff
movsd  %xmm1,-0x760(%rbp)
ff
movsd  %xmm0,-0x758(%rbp)
ff
jmp    1c07 <check_mul_double+0xaf7>
mov    $0x1,%al
test   $0x1,%al
jne    1ba7 <check_mul_double+0xa97>
jmp    1bc7 <check_mul_double+0xab7>
movsd  0xa451(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x770(%rbp)
ff
movsd  %xmm0,-0x768(%rbp)
ff
jmp    1be7 <check_mul_double+0xad7>
movsd  0xa431(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x770(%rbp)
ff
movsd  %xmm0,-0x768(%rbp)
ff
jmp    1be7 <check_mul_double+0xad7>
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,-0x70(%rbp)
movsd  %xmm0,-0x68(%rbp)
movsd  -0x70(%rbp),%xmm1
movsd  -0x68(%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    1cbe <check_mul_double+0xbae>
movsd  -0x70(%rbp),%xmm0
movaps 0xa3c1(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xa3c6(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0xa392(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1cbe <check_mul_double+0xbae>
jp     1cbe <check_mul_double+0xbae>
movsd  -0x68(%rbp),%xmm0
movaps 0xa38e(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xa393(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0xa35f(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1cbe <check_mul_double+0xbae>
jp     1cbe <check_mul_double+0xbae>
jmp    1cc3 <check_mul_double+0xbb3>
call   1030 <abort@plt>
jmp    1cc8 <check_mul_double+0xbb8>
mov    $0x1,%al
test   $0x1,%al
jne    1cd7 <check_mul_double+0xbc7>
jmp    1d46 <check_mul_double+0xc36>
xor    %eax,%eax
test   $0x1,%al
jne    1ce6 <check_mul_double+0xbd6>
jmp    1d01 <check_mul_double+0xbf1>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x780(%rbp)
ff
movsd  %xmm0,-0x778(%rbp)
ff
jmp    1d21 <check_mul_double+0xc11>
xorps  %xmm1,%xmm1
movsd  0xa2f4(%rip),%xmm0
movsd  %xmm1,-0x780(%rbp)
ff
movsd  %xmm0,-0x778(%rbp)
ff
jmp    1d21 <check_mul_double+0xc11>
movsd  -0x780(%rbp),%xmm1
ff
movsd  -0x778(%rbp),%xmm0
ff
movsd  %xmm1,-0x790(%rbp)
ff
movsd  %xmm0,-0x788(%rbp)
ff
jmp    1db5 <check_mul_double+0xca5>
xor    %eax,%eax
test   $0x1,%al
jne    1d55 <check_mul_double+0xc45>
jmp    1d75 <check_mul_double+0xc65>
movsd  0xa2a3(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x7a0(%rbp)
ff
movsd  %xmm0,-0x798(%rbp)
ff
jmp    1d95 <check_mul_double+0xc85>
movsd  0xa283(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x7a0(%rbp)
ff
movsd  %xmm0,-0x798(%rbp)
ff
jmp    1d95 <check_mul_double+0xc85>
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,-0x80(%rbp)
movsd  %xmm0,-0x78(%rbp)
movsd  -0x80(%rbp),%xmm1
movsd  -0x78(%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    1e6c <check_mul_double+0xd5c>
movsd  -0x80(%rbp),%xmm0
movaps 0xa213(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xa218(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0xa1e4(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1e6c <check_mul_double+0xd5c>
jp     1e6c <check_mul_double+0xd5c>
movsd  -0x78(%rbp),%xmm0
movaps 0xa1e0(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xa1e5(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0xa1b9(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    1e6c <check_mul_double+0xd5c>
jp     1e6c <check_mul_double+0xd5c>
jmp    1e71 <check_mul_double+0xd61>
call   1030 <abort@plt>
jmp    1e76 <check_mul_double+0xd66>
movsd  -0x70(%rbp),%xmm1
movsd  %xmm1,-0x7e0(%rbp)
ff
movsd  -0x68(%rbp),%xmm2
movsd  %xmm2,-0x7d8(%rbp)
ff
movsd  -0x80(%rbp),%xmm4
movsd  %xmm4,-0x7d0(%rbp)
ff
movsd  -0x78(%rbp),%xmm5
movsd  %xmm5,-0x7c8(%rbp)
ff
movaps %xmm1,%xmm0
mulsd  %xmm4,%xmm0
movaps %xmm2,%xmm3
mulsd  %xmm5,%xmm3
mulsd  %xmm5,%xmm1
mulsd  %xmm4,%xmm2
subsd  %xmm3,%xmm0
movsd  %xmm0,-0x7c0(%rbp)
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x7b8(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x7b0(%rbp)
ff
movsd  %xmm1,-0x7a8(%rbp)
ff
jnp    1f51 <check_mul_double+0xe41>
movsd  -0x7b8(%rbp),%xmm1
ff
movsd  -0x7c0(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x7b0(%rbp)
ff
movsd  %xmm1,-0x7a8(%rbp)
ff
jnp    1f51 <check_mul_double+0xe41>
movsd  -0x7c8(%rbp),%xmm3
ff
movsd  -0x7d0(%rbp),%xmm2
ff
movsd  -0x7d8(%rbp),%xmm1
ff
movsd  -0x7e0(%rbp),%xmm0
ff
call   b860 <__muldc3>
movsd  %xmm0,-0x7b0(%rbp)
ff
movsd  %xmm1,-0x7a8(%rbp)
ff
movsd  -0x7b0(%rbp),%xmm1
ff
movsd  -0x7a8(%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    201a <check_mul_double+0xf0a>
movsd  -0x90(%rbp),%xmm0
ff
movaps 0xa068(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xa06d(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0xa039(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    201a <check_mul_double+0xf0a>
jp     201a <check_mul_double+0xf0a>
movsd  -0x88(%rbp),%xmm0
ff
movaps 0xa032(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xa037(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0xa003(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    201a <check_mul_double+0xf0a>
jp     201a <check_mul_double+0xf0a>
jmp    201f <check_mul_double+0xf0f>
call   1030 <abort@plt>
jmp    2024 <check_mul_double+0xf14>
mov    $0x1,%al
test   $0x1,%al
jne    2033 <check_mul_double+0xf23>
jmp    20a2 <check_mul_double+0xf92>
mov    $0x1,%al
test   $0x1,%al
jne    2042 <check_mul_double+0xf32>
jmp    205d <check_mul_double+0xf4d>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x7f0(%rbp)
ff
movsd  %xmm0,-0x7e8(%rbp)
ff
jmp    207d <check_mul_double+0xf6d>
xorps  %xmm1,%xmm1
movsd  0x9f98(%rip),%xmm0
movsd  %xmm1,-0x7f0(%rbp)
ff
movsd  %xmm0,-0x7e8(%rbp)
ff
jmp    207d <check_mul_double+0xf6d>
movsd  -0x7f0(%rbp),%xmm1
ff
movsd  -0x7e8(%rbp),%xmm0
ff
movsd  %xmm1,-0x800(%rbp)
ff
movsd  %xmm0,-0x7f8(%rbp)
ff
jmp    2111 <check_mul_double+0x1001>
mov    $0x1,%al
test   $0x1,%al
jne    20b1 <check_mul_double+0xfa1>
jmp    20d1 <check_mul_double+0xfc1>
movsd  0x9f47(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x810(%rbp)
ff
movsd  %xmm0,-0x808(%rbp)
ff
jmp    20f1 <check_mul_double+0xfe1>
movsd  0x9f27(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x810(%rbp)
ff
movsd  %xmm0,-0x808(%rbp)
ff
jmp    20f1 <check_mul_double+0xfe1>
movsd  -0x810(%rbp),%xmm1
ff
movsd  -0x808(%rbp),%xmm0
movsd  %xmm1,-0x800(%rbp)
ff
movsd  %xmm0,-0x7f8(%rbp)
ff
movsd  -0x800(%rbp),%xmm1
ff
movsd  -0x7f8(%rbp),%xmm0
ff
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    21da <check_mul_double+0x10ca>
movsd  -0xa0(%rbp),%xmm0
ff
movaps 0x9ea8(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x9ead(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x9e79(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    21da <check_mul_double+0x10ca>
jp     21da <check_mul_double+0x10ca>
movsd  -0x98(%rbp),%xmm0
ff
movaps 0x9e72(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x9e77(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x9e43(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    21da <check_mul_double+0x10ca>
jp     21da <check_mul_double+0x10ca>
jmp    21df <check_mul_double+0x10cf>
call   1030 <abort@plt>
jmp    21e4 <check_mul_double+0x10d4>
mov    $0x1,%al
test   $0x1,%al
jne    21f3 <check_mul_double+0x10e3>
jmp    2262 <check_mul_double+0x1152>
xor    %eax,%eax
test   $0x1,%al
jne    2202 <check_mul_double+0x10f2>
jmp    221d <check_mul_double+0x110d>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x820(%rbp)
ff
movsd  %xmm0,-0x818(%rbp)
ff
jmp    223d <check_mul_double+0x112d>
xorps  %xmm1,%xmm1
movsd  0x9dd8(%rip),%xmm0
movsd  %xmm1,-0x820(%rbp)
ff
movsd  %xmm0,-0x818(%rbp)
ff
jmp    223d <check_mul_double+0x112d>
movsd  -0x820(%rbp),%xmm1
ff
movsd  -0x818(%rbp),%xmm0
ff
movsd  %xmm1,-0x830(%rbp)
ff
movsd  %xmm0,-0x828(%rbp)
ff
jmp    22d1 <check_mul_double+0x11c1>
xor    %eax,%eax
test   $0x1,%al
jne    2271 <check_mul_double+0x1161>
jmp    2291 <check_mul_double+0x1181>
movsd  0x9d87(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x840(%rbp)
ff
movsd  %xmm0,-0x838(%rbp)
ff
jmp    22b1 <check_mul_double+0x11a1>
movsd  0x9d67(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x840(%rbp)
ff
movsd  %xmm0,-0x838(%rbp)
ff
jmp    22b1 <check_mul_double+0x11a1>
movsd  -0x840(%rbp),%xmm1
ff
movsd  -0x838(%rbp),%xmm0
ff
movsd  %xmm1,-0x830(%rbp)
ff
movsd  %xmm0,-0x828(%rbp)
ff
movsd  -0x830(%rbp),%xmm1
ff
movsd  -0x828(%rbp),%xmm0
ff
movsd  %xmm1,-0xb0(%rbp)
ff
movsd  %xmm0,-0xa8(%rbp)
ff
movsd  -0xb0(%rbp),%xmm1
ff
movsd  -0xa8(%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    239a <check_mul_double+0x128a>
movsd  -0xb0(%rbp),%xmm0
ff
movaps 0x9ce8(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x9ced(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x9cb9(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    239a <check_mul_double+0x128a>
jp     239a <check_mul_double+0x128a>
movsd  -0xa8(%rbp),%xmm0
ff
movaps 0x9cb2(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x9cb7(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x9c8b(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    239a <check_mul_double+0x128a>
jp     239a <check_mul_double+0x128a>
jmp    239f <check_mul_double+0x128f>
call   1030 <abort@plt>
jmp    23a4 <check_mul_double+0x1294>
movsd  -0xa0(%rbp),%xmm1
ff
movsd  %xmm1,-0x880(%rbp)
ff
movsd  -0x98(%rbp),%xmm2
ff
movsd  %xmm2,-0x878(%rbp)
ff
movsd  -0xb0(%rbp),%xmm4
ff
movsd  %xmm4,-0x870(%rbp)
ff
movsd  -0xa8(%rbp),%xmm5
ff
movsd  %xmm5,-0x868(%rbp)
ff
movaps %xmm1,%xmm0
mulsd  %xmm4,%xmm0
movaps %xmm2,%xmm3
mulsd  %xmm5,%xmm3
mulsd  %xmm5,%xmm1
mulsd  %xmm4,%xmm2
subsd  %xmm3,%xmm0
movsd  %xmm0,-0x860(%rbp)
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x858(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x850(%rbp)
ff
movsd  %xmm1,-0x848(%rbp)
ff
jnp    248b <check_mul_double+0x137b>
movsd  -0x858(%rbp),%xmm1
ff
movsd  -0x860(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x850(%rbp)
ff
movsd  %xmm1,-0x848(%rbp)
ff
jnp    248b <check_mul_double+0x137b>
movsd  -0x868(%rbp),%xmm3
ff
movsd  -0x870(%rbp),%xmm2
ff
movsd  -0x878(%rbp),%xmm1
ff
movsd  -0x880(%rbp),%xmm0
ff
call   b860 <__muldc3>
movsd  %xmm0,-0x850(%rbp)
ff
movsd  %xmm1,-0x848(%rbp)
ff
movsd  -0x850(%rbp),%xmm1
ff
movsd  -0x848(%rbp),%xmm0
ff
movsd  %xmm1,-0xc0(%rbp)
ff
movsd  %xmm0,-0xb8(%rbp)
ff
movsd  -0xc0(%rbp),%xmm1
ff
movsd  -0xb8(%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    2554 <check_mul_double+0x1444>
movsd  -0xc0(%rbp),%xmm0
ff
movaps 0x9b2e(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x9b33(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x9aff(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2554 <check_mul_double+0x1444>
jp     2554 <check_mul_double+0x1444>
movsd  -0xb8(%rbp),%xmm0
ff
movaps 0x9af8(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x9afd(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x9ac9(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2554 <check_mul_double+0x1444>
jp     2554 <check_mul_double+0x1444>
jmp    2559 <check_mul_double+0x1449>
call   1030 <abort@plt>
jmp    255e <check_mul_double+0x144e>
jmp    2563 <check_mul_double+0x1453>
jmp    2568 <check_mul_double+0x1458>
mov    $0x1,%al
test   $0x1,%al
jne    2577 <check_mul_double+0x1467>
jmp    25e6 <check_mul_double+0x14d6>
mov    $0x1,%al
test   $0x1,%al
jne    2586 <check_mul_double+0x1476>
jmp    25a1 <check_mul_double+0x1491>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x890(%rbp)
ff
movsd  %xmm0,-0x888(%rbp)
ff
jmp    25c1 <check_mul_double+0x14b1>
xorps  %xmm1,%xmm1
movsd  0x9a54(%rip),%xmm0
movsd  %xmm1,-0x890(%rbp)
ff
movsd  %xmm0,-0x888(%rbp)
ff
jmp    25c1 <check_mul_double+0x14b1>
movsd  -0x890(%rbp),%xmm1
ff
movsd  -0x888(%rbp),%xmm0
ff
movsd  %xmm1,-0x8a0(%rbp)
ff
movsd  %xmm0,-0x898(%rbp)
ff
jmp    2655 <check_mul_double+0x1545>
mov    $0x1,%al
test   $0x1,%al
jne    25f5 <check_mul_double+0x14e5>
jmp    2615 <check_mul_double+0x1505>
movsd  0x9a03(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x8b0(%rbp)
ff
movsd  %xmm0,-0x8a8(%rbp)
ff
jmp    2635 <check_mul_double+0x1525>
movsd  0x99e3(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x8b0(%rbp)
ff
movsd  %xmm0,-0x8a8(%rbp)
ff
jmp    2635 <check_mul_double+0x1525>
movsd  -0x8b0(%rbp),%xmm1
ff
movsd  -0x8a8(%rbp),%xmm0
ff
movsd  %xmm1,-0x8a0(%rbp)
ff
movsd  %xmm0,-0x898(%rbp)
ff
movsd  -0x8a0(%rbp),%xmm1
ff
movsd  -0x898(%rbp),%xmm0
ff
movsd  %xmm1,-0xd0(%rbp)
ff
movsd  %xmm0,-0xc8(%rbp)
ff
movsd  -0xd0(%rbp),%xmm1
ff
movsd  -0xc8(%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    271e <check_mul_double+0x160e>
movsd  -0xd0(%rbp),%xmm0
ff
movaps 0x9964(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x9969(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x9935(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    271e <check_mul_double+0x160e>
jp     271e <check_mul_double+0x160e>
movsd  -0xc8(%rbp),%xmm0
ff
movaps 0x992e(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x9933(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x98ff(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    271e <check_mul_double+0x160e>
jp     271e <check_mul_double+0x160e>
jmp    2723 <check_mul_double+0x1613>
call   1030 <abort@plt>
jmp    2728 <check_mul_double+0x1618>
xor    %eax,%eax
test   $0x1,%al
jne    2737 <check_mul_double+0x1627>
jmp    27a6 <check_mul_double+0x1696>
mov    $0x1,%al
test   $0x1,%al
jne    2746 <check_mul_double+0x1636>
jmp    2761 <check_mul_double+0x1651>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x8c0(%rbp)
ff
movsd  %xmm0,-0x8b8(%rbp)
ff
jmp    2781 <check_mul_double+0x1671>
xorps  %xmm1,%xmm1
movsd  0x9894(%rip),%xmm0
movsd  %xmm1,-0x8c0(%rbp)
ff
movsd  %xmm0,-0x8b8(%rbp)
ff
jmp    2781 <check_mul_double+0x1671>
movsd  -0x8c0(%rbp),%xmm1
ff
movsd  -0x8b8(%rbp),%xmm0
ff
movsd  %xmm1,-0x8d0(%rbp)
ff
movsd  %xmm0,-0x8c8(%rbp)
ff
jmp    2815 <check_mul_double+0x1705>
mov    $0x1,%al
test   $0x1,%al
jne    27b5 <check_mul_double+0x16a5>
jmp    27d5 <check_mul_double+0x16c5>
movsd  0x9843(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x8e0(%rbp)
ff
movsd  %xmm0,-0x8d8(%rbp)
ff
jmp    27f5 <check_mul_double+0x16e5>
movsd  0x9823(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x8e0(%rbp)
ff
movsd  %xmm0,-0x8d8(%rbp)
ff
jmp    27f5 <check_mul_double+0x16e5>
movsd  -0x8e0(%rbp),%xmm1
ff
movsd  -0x8d8(%rbp),%xmm0
ff
movsd  %xmm1,-0x8d0(%rbp)
ff
movsd  %xmm0,-0x8c8(%rbp)
ff
movsd  -0x8d0(%rbp),%xmm1
ff
movsd  -0x8c8(%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    28de <check_mul_double+0x17ce>
movsd  -0xe0(%rbp),%xmm0
ff
movaps 0x97a4(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x97a9(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x977d(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    28de <check_mul_double+0x17ce>
jp     28de <check_mul_double+0x17ce>
movsd  -0xd8(%rbp),%xmm0
ff
movaps 0x976e(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x9773(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x973f(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    28de <check_mul_double+0x17ce>
jp     28de <check_mul_double+0x17ce>
jmp    28e3 <check_mul_double+0x17d3>
call   1030 <abort@plt>
jmp    28e8 <check_mul_double+0x17d8>
movsd  -0xd0(%rbp),%xmm1
ff
movsd  %xmm1,-0x920(%rbp)
ff
movsd  -0xc8(%rbp),%xmm2
ff
movsd  %xmm2,-0x918(%rbp)
ff
movsd  -0xe0(%rbp),%xmm4
ff
movsd  %xmm4,-0x910(%rbp)
ff
movsd  -0xd8(%rbp),%xmm5
ff
movsd  %xmm5,-0x908(%rbp)
ff
movaps %xmm1,%xmm0
mulsd  %xmm4,%xmm0
movaps %xmm2,%xmm3
mulsd  %xmm5,%xmm3
mulsd  %xmm5,%xmm1
mulsd  %xmm4,%xmm2
subsd  %xmm3,%xmm0
movsd  %xmm0,-0x900(%rbp)
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x8f8(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x8f0(%rbp)
ff
movsd  %xmm1,-0x8e8(%rbp)
ff
jnp    29cf <check_mul_double+0x18bf>
movsd  -0x8f8(%rbp),%xmm1
ff
movsd  -0x900(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x8f0(%rbp)
ff
movsd  %xmm1,-0x8e8(%rbp)
ff
jnp    29cf <check_mul_double+0x18bf>
movsd  -0x908(%rbp),%xmm3
ff
movsd  -0x910(%rbp),%xmm2
ff
movsd  -0x918(%rbp),%xmm1
ff
movsd  -0x920(%rbp),%xmm0
ff
call   b860 <__muldc3>
movsd  %xmm0,-0x8f0(%rbp)
ff
movsd  %xmm1,-0x8e8(%rbp)
ff
movsd  -0x8f0(%rbp),%xmm1
ff
movsd  -0x8e8(%rbp),%xmm0
ff
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    2a98 <check_mul_double+0x1988>
movsd  -0xf0(%rbp),%xmm0
ff
movaps 0x95ea(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x95ef(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x95c3(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2a98 <check_mul_double+0x1988>
jp     2a98 <check_mul_double+0x1988>
movsd  -0xe8(%rbp),%xmm0
ff
movaps 0x95b4(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x95b9(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x9585(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2a98 <check_mul_double+0x1988>
jp     2a98 <check_mul_double+0x1988>
jmp    2a9d <check_mul_double+0x198d>
call   1030 <abort@plt>
jmp    2aa2 <check_mul_double+0x1992>
mov    $0x1,%al
test   $0x1,%al
jne    2ab1 <check_mul_double+0x19a1>
jmp    2b20 <check_mul_double+0x1a10>
mov    $0x1,%al
test   $0x1,%al
jne    2ac0 <check_mul_double+0x19b0>
jmp    2adb <check_mul_double+0x19cb>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x930(%rbp)
ff
movsd  %xmm0,-0x928(%rbp)
ff
jmp    2afb <check_mul_double+0x19eb>
xorps  %xmm1,%xmm1
movsd  0x951a(%rip),%xmm0
movsd  %xmm1,-0x930(%rbp)
ff
movsd  %xmm0,-0x928(%rbp)
ff
jmp    2afb <check_mul_double+0x19eb>
movsd  -0x930(%rbp),%xmm1
ff
movsd  -0x928(%rbp),%xmm0
ff
movsd  %xmm1,-0x940(%rbp)
ff
movsd  %xmm0,-0x938(%rbp)
ff
jmp    2b8f <check_mul_double+0x1a7f>
mov    $0x1,%al
test   $0x1,%al
jne    2b2f <check_mul_double+0x1a1f>
jmp    2b4f <check_mul_double+0x1a3f>
movsd  0x94c9(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x950(%rbp)
ff
movsd  %xmm0,-0x948(%rbp)
ff
jmp    2b6f <check_mul_double+0x1a5f>
movsd  0x94a9(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x950(%rbp)
ff
movsd  %xmm0,-0x948(%rbp)
ff
jmp    2b6f <check_mul_double+0x1a5f>
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,-0x100(%rbp)
ff
movsd  %xmm0,-0xf8(%rbp)
ff
movsd  -0x100(%rbp),%xmm1
ff
movsd  -0xf8(%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    2c58 <check_mul_double+0x1b48>
movsd  -0x100(%rbp),%xmm0
ff
movaps 0x942a(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x942f(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x93fb(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2c58 <check_mul_double+0x1b48>
jp     2c58 <check_mul_double+0x1b48>
movsd  -0xf8(%rbp),%xmm0
ff
movaps 0x93f4(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x93f9(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x93c5(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2c58 <check_mul_double+0x1b48>
jp     2c58 <check_mul_double+0x1b48>
jmp    2c5d <check_mul_double+0x1b4d>
call   1030 <abort@plt>
jmp    2c62 <check_mul_double+0x1b52>
xor    %eax,%eax
test   $0x1,%al
jne    2c71 <check_mul_double+0x1b61>
jmp    2ce0 <check_mul_double+0x1bd0>
mov    $0x1,%al
test   $0x1,%al
jne    2c80 <check_mul_double+0x1b70>
jmp    2c9b <check_mul_double+0x1b8b>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x960(%rbp)
ff
movsd  %xmm0,-0x958(%rbp)
ff
jmp    2cbb <check_mul_double+0x1bab>
xorps  %xmm1,%xmm1
movsd  0x935a(%rip),%xmm0
movsd  %xmm1,-0x960(%rbp)
ff
movsd  %xmm0,-0x958(%rbp)
ff
jmp    2cbb <check_mul_double+0x1bab>
movsd  -0x960(%rbp),%xmm1
ff
movsd  -0x958(%rbp),%xmm0
ff
movsd  %xmm1,-0x970(%rbp)
ff
movsd  %xmm0,-0x968(%rbp)
ff
jmp    2d4f <check_mul_double+0x1c3f>
mov    $0x1,%al
test   $0x1,%al
jne    2cef <check_mul_double+0x1bdf>
jmp    2d0f <check_mul_double+0x1bff>
movsd  0x9309(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x980(%rbp)
ff
movsd  %xmm0,-0x978(%rbp)
ff
jmp    2d2f <check_mul_double+0x1c1f>
movsd  0x92e9(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x980(%rbp)
ff
movsd  %xmm0,-0x978(%rbp)
ff
jmp    2d2f <check_mul_double+0x1c1f>
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,-0x110(%rbp)
ff
movsd  %xmm0,-0x108(%rbp)
ff
movsd  -0x110(%rbp),%xmm1
ff
movsd  -0x108(%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    2e18 <check_mul_double+0x1d08>
movsd  -0x110(%rbp),%xmm0
ff
movaps 0x926a(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x926f(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x9243(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2e18 <check_mul_double+0x1d08>
jp     2e18 <check_mul_double+0x1d08>
movsd  -0x108(%rbp),%xmm0
ff
movaps 0x9234(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x9239(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x9205(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2e18 <check_mul_double+0x1d08>
jp     2e18 <check_mul_double+0x1d08>
jmp    2e1d <check_mul_double+0x1d0d>
call   1030 <abort@plt>
jmp    2e22 <check_mul_double+0x1d12>
movsd  -0x100(%rbp),%xmm1
ff
movsd  %xmm1,-0x9c0(%rbp)
ff
movsd  -0xf8(%rbp),%xmm2
ff
movsd  %xmm2,-0x9b8(%rbp)
ff
movsd  -0x110(%rbp),%xmm4
ff
movsd  %xmm4,-0x9b0(%rbp)
ff
movsd  -0x108(%rbp),%xmm5
ff
movsd  %xmm5,-0x9a8(%rbp)
ff
movaps %xmm1,%xmm0
mulsd  %xmm4,%xmm0
movaps %xmm2,%xmm3
mulsd  %xmm5,%xmm3
mulsd  %xmm5,%xmm1
mulsd  %xmm4,%xmm2
subsd  %xmm3,%xmm0
movsd  %xmm0,-0x9a0(%rbp)
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x998(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x990(%rbp)
ff
movsd  %xmm1,-0x988(%rbp)
ff
jnp    2f09 <check_mul_double+0x1df9>
movsd  -0x998(%rbp),%xmm1
ff
movsd  -0x9a0(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x990(%rbp)
ff
movsd  %xmm1,-0x988(%rbp)
ff
jnp    2f09 <check_mul_double+0x1df9>
movsd  -0x9a8(%rbp),%xmm3
ff
movsd  -0x9b0(%rbp),%xmm2
ff
movsd  -0x9b8(%rbp),%xmm1
ff
movsd  -0x9c0(%rbp),%xmm0
ff
call   b860 <__muldc3>
movsd  %xmm0,-0x990(%rbp)
movsd  %xmm1,-0x988(%rbp)
ff
movsd  -0x990(%rbp),%xmm1
ff
movsd  -0x988(%rbp),%xmm0
ff
movsd  %xmm1,-0x120(%rbp)
ff
movsd  %xmm0,-0x118(%rbp)
ff
movsd  -0x120(%rbp),%xmm1
ff
movsd  -0x118(%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    2fd2 <check_mul_double+0x1ec2>
movsd  -0x120(%rbp),%xmm0
ff
movaps 0x90b0(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x90b5(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x9089(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2fd2 <check_mul_double+0x1ec2>
jp     2fd2 <check_mul_double+0x1ec2>
movsd  -0x118(%rbp),%xmm0
ff
movaps 0x907a(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x907f(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x904b(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    2fd2 <check_mul_double+0x1ec2>
jp     2fd2 <check_mul_double+0x1ec2>
jmp    2fd7 <check_mul_double+0x1ec7>
call   1030 <abort@plt>
jmp    2fdc <check_mul_double+0x1ecc>
jmp    2fe1 <check_mul_double+0x1ed1>
jmp    2fe6 <check_mul_double+0x1ed6>
mov    $0x1,%al
test   $0x1,%al
jne    2ff5 <check_mul_double+0x1ee5>
jmp    3064 <check_mul_double+0x1f54>
mov    $0x1,%al
test   $0x1,%al
jne    3004 <check_mul_double+0x1ef4>
jmp    301f <check_mul_double+0x1f0f>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x9d0(%rbp)
ff
movsd  %xmm0,-0x9c8(%rbp)
ff
jmp    303f <check_mul_double+0x1f2f>
xorps  %xmm1,%xmm1
movsd  0x8fd6(%rip),%xmm0
movsd  %xmm1,-0x9d0(%rbp)
ff
movsd  %xmm0,-0x9c8(%rbp)
ff
jmp    303f <check_mul_double+0x1f2f>
movsd  -0x9d0(%rbp),%xmm1
ff
movsd  -0x9c8(%rbp),%xmm0
ff
movsd  %xmm1,-0x9e0(%rbp)
ff
movsd  %xmm0,-0x9d8(%rbp)
ff
jmp    30d3 <check_mul_double+0x1fc3>
mov    $0x1,%al
test   $0x1,%al
jne    3073 <check_mul_double+0x1f63>
jmp    3093 <check_mul_double+0x1f83>
movsd  0x8f85(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x9f0(%rbp)
ff
movsd  %xmm0,-0x9e8(%rbp)
ff
jmp    30b3 <check_mul_double+0x1fa3>
movsd  0x8f65(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x9f0(%rbp)
ff
movsd  %xmm0,-0x9e8(%rbp)
ff
jmp    30b3 <check_mul_double+0x1fa3>
movsd  -0x9f0(%rbp),%xmm1
ff
movsd  -0x9e8(%rbp),%xmm0
ff
movsd  %xmm1,-0x9e0(%rbp)
ff
movsd  %xmm0,-0x9d8(%rbp)
ff
movsd  -0x9e0(%rbp),%xmm1
ff
movsd  -0x9d8(%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    319c <check_mul_double+0x208c>
movsd  -0x130(%rbp),%xmm0
ff
movaps 0x8ee6(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x8eeb(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x8eb7(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    319c <check_mul_double+0x208c>
jp     319c <check_mul_double+0x208c>
movsd  -0x128(%rbp),%xmm0
ff
movaps 0x8eb0(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x8eb5(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x8e81(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    319c <check_mul_double+0x208c>
jp     319c <check_mul_double+0x208c>
jmp    31a1 <check_mul_double+0x2091>
call   1030 <abort@plt>
jmp    31a6 <check_mul_double+0x2096>
xor    %eax,%eax
test   $0x1,%al
jne    31b5 <check_mul_double+0x20a5>
jmp    3224 <check_mul_double+0x2114>
xor    %eax,%eax
test   $0x1,%al
jne    31c4 <check_mul_double+0x20b4>
jmp    31df <check_mul_double+0x20cf>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xa00(%rbp)
ff
movsd  %xmm0,-0x9f8(%rbp)
ff
jmp    31ff <check_mul_double+0x20ef>
xorps  %xmm1,%xmm1
movsd  0x8e16(%rip),%xmm0
movsd  %xmm1,-0xa00(%rbp)
ff
movsd  %xmm0,-0x9f8(%rbp)
ff
jmp    31ff <check_mul_double+0x20ef>
movsd  -0xa00(%rbp),%xmm1
ff
movsd  -0x9f8(%rbp),%xmm0
ff
movsd  %xmm1,-0xa10(%rbp)
ff
movsd  %xmm0,-0xa08(%rbp)
ff
jmp    3293 <check_mul_double+0x2183>
xor    %eax,%eax
test   $0x1,%al
jne    3233 <check_mul_double+0x2123>
jmp    3253 <check_mul_double+0x2143>
movsd  0x8dc5(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0xa20(%rbp)
ff
movsd  %xmm0,-0xa18(%rbp)
ff
jmp    3273 <check_mul_double+0x2163>
movsd  0x8da5(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xa20(%rbp)
ff
movsd  %xmm0,-0xa18(%rbp)
ff
jmp    3273 <check_mul_double+0x2163>
movsd  -0xa20(%rbp),%xmm1
ff
movsd  -0xa18(%rbp),%xmm0
ff
movsd  %xmm1,-0xa10(%rbp)
ff
movsd  %xmm0,-0xa08(%rbp)
ff
movsd  -0xa10(%rbp),%xmm1
ff
movsd  -0xa08(%rbp),%xmm0
ff
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    335c <check_mul_double+0x224c>
movsd  -0x140(%rbp),%xmm0
ff
movaps 0x8d26(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x8d2b(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x8cff(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    335c <check_mul_double+0x224c>
jp     335c <check_mul_double+0x224c>
movsd  -0x138(%rbp),%xmm0
ff
movaps 0x8cf0(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x8cf5(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x8cc9(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    335c <check_mul_double+0x224c>
jp     335c <check_mul_double+0x224c>
jmp    3361 <check_mul_double+0x2251>
call   1030 <abort@plt>
jmp    3366 <check_mul_double+0x2256>
movsd  -0x130(%rbp),%xmm1
ff
movsd  %xmm1,-0xa60(%rbp)
ff
movsd  -0x128(%rbp),%xmm2
ff
movsd  %xmm2,-0xa58(%rbp)
ff
movsd  -0x140(%rbp),%xmm4
ff
movsd  %xmm4,-0xa50(%rbp)
ff
movsd  -0x138(%rbp),%xmm5
ff
movsd  %xmm5,-0xa48(%rbp)
ff
movaps %xmm1,%xmm0
mulsd  %xmm4,%xmm0
movaps %xmm2,%xmm3
mulsd  %xmm5,%xmm3
mulsd  %xmm5,%xmm1
mulsd  %xmm4,%xmm2
subsd  %xmm3,%xmm0
movsd  %xmm0,-0xa40(%rbp)
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0xa38(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0xa30(%rbp)
ff
movsd  %xmm1,-0xa28(%rbp)
ff
jnp    344d <check_mul_double+0x233d>
movsd  -0xa38(%rbp),%xmm1
ff
movsd  -0xa40(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0xa30(%rbp)
ff
movsd  %xmm1,-0xa28(%rbp)
ff
jnp    344d <check_mul_double+0x233d>
movsd  -0xa48(%rbp),%xmm3
ff
movsd  -0xa50(%rbp),%xmm2
ff
movsd  -0xa58(%rbp),%xmm1
ff
movsd  -0xa60(%rbp),%xmm0
ff
call   b860 <__muldc3>
movsd  %xmm0,-0xa30(%rbp)
ff
movsd  %xmm1,-0xa28(%rbp)
ff
movsd  -0xa30(%rbp),%xmm1
ff
movsd  -0xa28(%rbp),%xmm0
ff
movsd  %xmm1,-0x150(%rbp)
ff
movsd  %xmm0,-0x148(%rbp)
ff
movsd  -0x150(%rbp),%xmm1
ff
movsd  -0x148(%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    3516 <check_mul_double+0x2406>
movsd  -0x150(%rbp),%xmm0
ff
movaps 0x8b6c(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x8b71(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x8b3d(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    3516 <check_mul_double+0x2406>
jp     3516 <check_mul_double+0x2406>
movsd  -0x148(%rbp),%xmm0
ff
movaps 0x8b36(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x8b3b(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x8b0f(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    3516 <check_mul_double+0x2406>
jp     3516 <check_mul_double+0x2406>
jmp    351b <check_mul_double+0x240b>
call   1030 <abort@plt>
jmp    3520 <check_mul_double+0x2410>
mov    $0x1,%al
test   $0x1,%al
jne    352f <check_mul_double+0x241f>
jmp    359e <check_mul_double+0x248e>
mov    $0x1,%al
test   $0x1,%al
jne    353e <check_mul_double+0x242e>
jmp    3559 <check_mul_double+0x2449>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xa70(%rbp)
ff
movsd  %xmm0,-0xa68(%rbp)
ff
jmp    3579 <check_mul_double+0x2469>
xorps  %xmm1,%xmm1
movsd  0x8a9c(%rip),%xmm0
movsd  %xmm1,-0xa70(%rbp)
ff
movsd  %xmm0,-0xa68(%rbp)
ff
jmp    3579 <check_mul_double+0x2469>
movsd  -0xa70(%rbp),%xmm1
ff
movsd  -0xa68(%rbp),%xmm0
ff
movsd  %xmm1,-0xa80(%rbp)
ff
movsd  %xmm0,-0xa78(%rbp)
ff
jmp    360d <check_mul_double+0x24fd>
mov    $0x1,%al
test   $0x1,%al
jne    35ad <check_mul_double+0x249d>
jmp    35cd <check_mul_double+0x24bd>
movsd  0x8a4b(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0xa90(%rbp)
ff
movsd  %xmm0,-0xa88(%rbp)
ff
jmp    35ed <check_mul_double+0x24dd>
movsd  0x8a2b(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xa90(%rbp)
ff
movsd  %xmm0,-0xa88(%rbp)
ff
jmp    35ed <check_mul_double+0x24dd>
movsd  -0xa90(%rbp),%xmm1
ff
movsd  -0xa88(%rbp),%xmm0
ff
movsd  %xmm1,-0xa80(%rbp)
ff
movsd  %xmm0,-0xa78(%rbp)
ff
movsd  -0xa80(%rbp),%xmm1
ff
movsd  -0xa78(%rbp),%xmm0
ff
movsd  %xmm1,-0x160(%rbp)
ff
movsd  %xmm0,-0x158(%rbp)
ff
movsd  -0x160(%rbp),%xmm1
ff
movsd  -0x158(%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    36d6 <check_mul_double+0x25c6>
movsd  -0x160(%rbp),%xmm0
ff
movaps 0x89ac(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x89b1(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x897d(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    36d6 <check_mul_double+0x25c6>
jp     36d6 <check_mul_double+0x25c6>
movsd  -0x158(%rbp),%xmm0
ff
movaps 0x8976(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x897b(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x8947(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    36d6 <check_mul_double+0x25c6>
jp     36d6 <check_mul_double+0x25c6>
jmp    36db <check_mul_double+0x25cb>
call   1030 <abort@plt>
jmp    36e0 <check_mul_double+0x25d0>
xor    %eax,%eax
test   $0x1,%al
jne    36ef <check_mul_double+0x25df>
jmp    375e <check_mul_double+0x264e>
xor    %eax,%eax
test   $0x1,%al
jne    36fe <check_mul_double+0x25ee>
jmp    3719 <check_mul_double+0x2609>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xaa0(%rbp)
ff
movsd  %xmm0,-0xa98(%rbp)
ff
jmp    3739 <check_mul_double+0x2629>
xorps  %xmm1,%xmm1
movsd  0x88dc(%rip),%xmm0
movsd  %xmm1,-0xaa0(%rbp)
ff
movsd  %xmm0,-0xa98(%rbp)
ff
jmp    3739 <check_mul_double+0x2629>
movsd  -0xaa0(%rbp),%xmm1
ff
movsd  -0xa98(%rbp),%xmm0
ff
movsd  %xmm1,-0xab0(%rbp)
ff
movsd  %xmm0,-0xaa8(%rbp)
ff
jmp    37cd <check_mul_double+0x26bd>
xor    %eax,%eax
test   $0x1,%al
jne    376d <check_mul_double+0x265d>
jmp    378d <check_mul_double+0x267d>
movsd  0x888b(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0xac0(%rbp)
ff
movsd  %xmm0,-0xab8(%rbp)
ff
jmp    37ad <check_mul_double+0x269d>
movsd  0x886b(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xac0(%rbp)
ff
movsd  %xmm0,-0xab8(%rbp)
ff
jmp    37ad <check_mul_double+0x269d>
movsd  -0xac0(%rbp),%xmm1
ff
movsd  -0xab8(%rbp),%xmm0
ff
movsd  %xmm1,-0xab0(%rbp)
ff
movsd  %xmm0,-0xaa8(%rbp)
ff
movsd  -0xab0(%rbp),%xmm1
ff
movsd  -0xaa8(%rbp),%xmm0
ff
movsd  %xmm1,-0x170(%rbp)
ff
movsd  %xmm0,-0x168(%rbp)
ff
movsd  -0x170(%rbp),%xmm1
ff
movsd  -0x168(%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    3896 <check_mul_double+0x2786>
movsd  -0x170(%rbp),%xmm0
ff
movaps 0x87ec(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x87f1(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x87c5(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    3896 <check_mul_double+0x2786>
jp     3896 <check_mul_double+0x2786>
movsd  -0x168(%rbp),%xmm0
ff
movaps 0x87b6(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x87bb(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x878f(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    3896 <check_mul_double+0x2786>
jp     3896 <check_mul_double+0x2786>
jmp    389b <check_mul_double+0x278b>
call   1030 <abort@plt>
jmp    38a0 <check_mul_double+0x2790>
movsd  -0x160(%rbp),%xmm1
ff
movsd  %xmm1,-0xb00(%rbp)
ff
movsd  -0x158(%rbp),%xmm2
ff
movsd  %xmm2,-0xaf8(%rbp)
ff
movsd  -0x170(%rbp),%xmm4
ff
movsd  %xmm4,-0xaf0(%rbp)
ff
movsd  -0x168(%rbp),%xmm5
ff
movsd  %xmm5,-0xae8(%rbp)
ff
movaps %xmm1,%xmm0
mulsd  %xmm4,%xmm0
movaps %xmm2,%xmm3
mulsd  %xmm5,%xmm3
mulsd  %xmm5,%xmm1
mulsd  %xmm4,%xmm2
subsd  %xmm3,%xmm0
movsd  %xmm0,-0xae0(%rbp)
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0xad8(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0xad0(%rbp)
ff
movsd  %xmm1,-0xac8(%rbp)
ff
jnp    3987 <check_mul_double+0x2877>
movsd  -0xad8(%rbp),%xmm1
ff
movsd  -0xae0(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0xad0(%rbp)
ff
movsd  %xmm1,-0xac8(%rbp)
ff
jnp    3987 <check_mul_double+0x2877>
movsd  -0xae8(%rbp),%xmm3
ff
movsd  -0xaf0(%rbp),%xmm2
ff
movsd  -0xaf8(%rbp),%xmm1
ff
movsd  -0xb00(%rbp),%xmm0
ff
call   b860 <__muldc3>
movsd  %xmm0,-0xad0(%rbp)
ff
movsd  %xmm1,-0xac8(%rbp)
ff
movsd  -0xad0(%rbp),%xmm1
ff
movsd  -0xac8(%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    3a50 <check_mul_double+0x2940>
movsd  -0x180(%rbp),%xmm0
ff
movaps 0x8632(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x8637(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x8603(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    3a50 <check_mul_double+0x2940>
jp     3a50 <check_mul_double+0x2940>
movsd  -0x178(%rbp),%xmm0
ff
movaps 0x85fc(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x8601(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x85d5(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    3a50 <check_mul_double+0x2940>
jp     3a50 <check_mul_double+0x2940>
jmp    3a55 <check_mul_double+0x2945>
call   1030 <abort@plt>
jmp    3a5a <check_mul_double+0x294a>
jmp    3a5f <check_mul_double+0x294f>
jmp    3a64 <check_mul_double+0x2954>
mov    $0x1,%al
test   $0x1,%al
jne    3a73 <check_mul_double+0x2963>
jmp    3ae2 <check_mul_double+0x29d2>
xor    %eax,%eax
test   $0x1,%al
jne    3a82 <check_mul_double+0x2972>
jmp    3a9d <check_mul_double+0x298d>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xb10(%rbp)
ff
movsd  %xmm0,-0xb08(%rbp)
ff
jmp    3abd <check_mul_double+0x29ad>
xorps  %xmm1,%xmm1
movsd  0x8558(%rip),%xmm0
movsd  %xmm1,-0xb10(%rbp)
ff
movsd  %xmm0,-0xb08(%rbp)
ff
jmp    3abd <check_mul_double+0x29ad>
movsd  -0xb10(%rbp),%xmm1
ff
movsd  -0xb08(%rbp),%xmm0
ff
movsd  %xmm1,-0xb20(%rbp)
ff
movsd  %xmm0,-0xb18(%rbp)
ff
jmp    3b51 <check_mul_double+0x2a41>
xor    %eax,%eax
test   $0x1,%al
jne    3af1 <check_mul_double+0x29e1>
jmp    3b11 <check_mul_double+0x2a01>
movsd  0x8507(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0xb30(%rbp)
ff
movsd  %xmm0,-0xb28(%rbp)
ff
jmp    3b31 <check_mul_double+0x2a21>
movsd  0x84e7(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xb30(%rbp)
ff
movsd  %xmm0,-0xb28(%rbp)
ff
jmp    3b31 <check_mul_double+0x2a21>
movsd  -0xb30(%rbp),%xmm1
ff
movsd  -0xb28(%rbp),%xmm0
ff
movsd  %xmm1,-0xb20(%rbp)
ff
movsd  %xmm0,-0xb18(%rbp)
ff
movsd  -0xb20(%rbp),%xmm1
ff
movsd  -0xb18(%rbp),%xmm0
ff
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    3c1a <check_mul_double+0x2b0a>
movsd  -0x190(%rbp),%xmm0
ff
movaps 0x8468(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x846d(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x8439(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    3c1a <check_mul_double+0x2b0a>
jp     3c1a <check_mul_double+0x2b0a>
movsd  -0x188(%rbp),%xmm0
ff
movaps 0x8432(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x8437(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x840b(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    3c1a <check_mul_double+0x2b0a>
jp     3c1a <check_mul_double+0x2b0a>
jmp    3c1f <check_mul_double+0x2b0f>
call   1030 <abort@plt>
jmp    3c24 <check_mul_double+0x2b14>
mov    $0x1,%al
test   $0x1,%al
jne    3c33 <check_mul_double+0x2b23>
jmp    3ca2 <check_mul_double+0x2b92>
mov    $0x1,%al
test   $0x1,%al
jne    3c42 <check_mul_double+0x2b32>
jmp    3c5d <check_mul_double+0x2b4d>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xb40(%rbp)
ff
movsd  %xmm0,-0xb38(%rbp)
ff
jmp    3c7d <check_mul_double+0x2b6d>
xorps  %xmm1,%xmm1
movsd  0x8398(%rip),%xmm0
movsd  %xmm1,-0xb40(%rbp)
ff
movsd  %xmm0,-0xb38(%rbp)
ff
jmp    3c7d <check_mul_double+0x2b6d>
movsd  -0xb40(%rbp),%xmm1
ff
movsd  -0xb38(%rbp),%xmm0
ff
movsd  %xmm1,-0xb50(%rbp)
ff
movsd  %xmm0,-0xb48(%rbp)
ff
jmp    3d11 <check_mul_double+0x2c01>
mov    $0x1,%al
test   $0x1,%al
jne    3cb1 <check_mul_double+0x2ba1>
jmp    3cd1 <check_mul_double+0x2bc1>
movsd  0x8347(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0xb60(%rbp)
ff
movsd  %xmm0,-0xb58(%rbp)
ff
jmp    3cf1 <check_mul_double+0x2be1>
movsd  0x8327(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xb60(%rbp)
ff
movsd  %xmm0,-0xb58(%rbp)
ff
jmp    3cf1 <check_mul_double+0x2be1>
movsd  -0xb60(%rbp),%xmm1
ff
movsd  -0xb58(%rbp),%xmm0
movsd  %xmm1,-0xb50(%rbp)
ff
movsd  %xmm0,-0xb48(%rbp)
ff
movsd  -0xb50(%rbp),%xmm1
ff
movsd  -0xb48(%rbp),%xmm0
ff
movsd  %xmm1,-0x1a0(%rbp)
ff
movsd  %xmm0,-0x198(%rbp)
ff
movsd  -0x1a0(%rbp),%xmm1
ff
movsd  -0x198(%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    3dda <check_mul_double+0x2cca>
movsd  -0x1a0(%rbp),%xmm0
ff
movaps 0x82a8(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x82ad(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x8279(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    3dda <check_mul_double+0x2cca>
jp     3dda <check_mul_double+0x2cca>
movsd  -0x198(%rbp),%xmm0
ff
movaps 0x8272(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x8277(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x8243(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    3dda <check_mul_double+0x2cca>
jp     3dda <check_mul_double+0x2cca>
jmp    3ddf <check_mul_double+0x2ccf>
call   1030 <abort@plt>
jmp    3de4 <check_mul_double+0x2cd4>
movsd  -0x190(%rbp),%xmm1
ff
movsd  %xmm1,-0xba0(%rbp)
ff
movsd  -0x188(%rbp),%xmm2
ff
movsd  %xmm2,-0xb98(%rbp)
ff
movsd  -0x1a0(%rbp),%xmm4
ff
movsd  %xmm4,-0xb90(%rbp)
ff
movsd  -0x198(%rbp),%xmm5
ff
movsd  %xmm5,-0xb88(%rbp)
ff
movaps %xmm1,%xmm0
mulsd  %xmm4,%xmm0
movaps %xmm2,%xmm3
mulsd  %xmm5,%xmm3
mulsd  %xmm5,%xmm1
mulsd  %xmm4,%xmm2
subsd  %xmm3,%xmm0
movsd  %xmm0,-0xb80(%rbp)
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0xb78(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0xb70(%rbp)
ff
movsd  %xmm1,-0xb68(%rbp)
ff
jnp    3ecb <check_mul_double+0x2dbb>
movsd  -0xb78(%rbp),%xmm1
ff
movsd  -0xb80(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0xb70(%rbp)
ff
movsd  %xmm1,-0xb68(%rbp)
ff
jnp    3ecb <check_mul_double+0x2dbb>
movsd  -0xb88(%rbp),%xmm3
ff
movsd  -0xb90(%rbp),%xmm2
ff
movsd  -0xb98(%rbp),%xmm1
ff
movsd  -0xba0(%rbp),%xmm0
ff
call   b860 <__muldc3>
movsd  %xmm0,-0xb70(%rbp)
ff
movsd  %xmm1,-0xb68(%rbp)
ff
movsd  -0xb70(%rbp),%xmm1
ff
movsd  -0xb68(%rbp),%xmm0
ff
movsd  %xmm1,-0x1b0(%rbp)
ff
movsd  %xmm0,-0x1a8(%rbp)
ff
movsd  -0x1b0(%rbp),%xmm1
ff
movsd  -0x1a8(%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    3f94 <check_mul_double+0x2e84>
movsd  -0x1b0(%rbp),%xmm0
ff
movaps 0x80ee(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x80f3(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x80bf(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    3f94 <check_mul_double+0x2e84>
jp     3f94 <check_mul_double+0x2e84>
movsd  -0x1a8(%rbp),%xmm0
ff
movaps 0x80b8(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x80bd(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x8089(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    3f94 <check_mul_double+0x2e84>
jp     3f94 <check_mul_double+0x2e84>
jmp    3f99 <check_mul_double+0x2e89>
call   1030 <abort@plt>
jmp    3f9e <check_mul_double+0x2e8e>
mov    $0x1,%al
test   $0x1,%al
jne    3fad <check_mul_double+0x2e9d>
jmp    401c <check_mul_double+0x2f0c>
xor    %eax,%eax
test   $0x1,%al
jne    3fbc <check_mul_double+0x2eac>
jmp    3fd7 <check_mul_double+0x2ec7>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xbb0(%rbp)
ff
movsd  %xmm0,-0xba8(%rbp)
ff
jmp    3ff7 <check_mul_double+0x2ee7>
xorps  %xmm1,%xmm1
movsd  0x801e(%rip),%xmm0
movsd  %xmm1,-0xbb0(%rbp)
ff
movsd  %xmm0,-0xba8(%rbp)
ff
jmp    3ff7 <check_mul_double+0x2ee7>
movsd  -0xbb0(%rbp),%xmm1
ff
movsd  -0xba8(%rbp),%xmm0
movsd  %xmm1,-0xbc0(%rbp)
movsd  %xmm0,-0xbb8(%rbp)
ff
jmp    408b <check_mul_double+0x2f7b>
xor    %eax,%eax
test   $0x1,%al
jne    402b <check_mul_double+0x2f1b>
jmp    404b <check_mul_double+0x2f3b>
movsd  0x7fcd(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0xbd0(%rbp)
ff
movsd  %xmm0,-0xbc8(%rbp)
ff
jmp    406b <check_mul_double+0x2f5b>
movsd  0x7fad(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xbd0(%rbp)
ff
movsd  %xmm0,-0xbc8(%rbp)
ff
jmp    406b <check_mul_double+0x2f5b>
movsd  -0xbd0(%rbp),%xmm1
ff
movsd  -0xbc8(%rbp),%xmm0
ff
movsd  %xmm1,-0xbc0(%rbp)
ff
movsd  %xmm0,-0xbb8(%rbp)
ff
movsd  -0xbc0(%rbp),%xmm1
ff
movsd  -0xbb8(%rbp),%xmm0
ff
movsd  %xmm1,-0x1c0(%rbp)
ff
movsd  %xmm0,-0x1b8(%rbp)
ff
movsd  -0x1c0(%rbp),%xmm1
ff
movsd  -0x1b8(%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    4154 <check_mul_double+0x3044>
movsd  -0x1c0(%rbp),%xmm0
ff
movaps 0x7f2e(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x7f33(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x7eff(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    4154 <check_mul_double+0x3044>
jp     4154 <check_mul_double+0x3044>
movsd  -0x1b8(%rbp),%xmm0
ff
movaps 0x7ef8(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x7efd(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x7ed1(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    4154 <check_mul_double+0x3044>
jp     4154 <check_mul_double+0x3044>
jmp    4159 <check_mul_double+0x3049>
call   1030 <abort@plt>
jmp    415e <check_mul_double+0x304e>
mov    $0x1,%al
test   $0x1,%al
jne    416d <check_mul_double+0x305d>
jmp    41dc <check_mul_double+0x30cc>
mov    $0x1,%al
test   $0x1,%al
jne    417c <check_mul_double+0x306c>
jmp    4197 <check_mul_double+0x3087>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xbe0(%rbp)
ff
movsd  %xmm0,-0xbd8(%rbp)
ff
jmp    41b7 <check_mul_double+0x30a7>
xorps  %xmm1,%xmm1
movsd  0x7e5e(%rip),%xmm0
movsd  %xmm1,-0xbe0(%rbp)
ff
movsd  %xmm0,-0xbd8(%rbp)
ff
jmp    41b7 <check_mul_double+0x30a7>
movsd  -0xbe0(%rbp),%xmm1
ff
movsd  -0xbd8(%rbp),%xmm0
ff
movsd  %xmm1,-0xbf0(%rbp)
ff
movsd  %xmm0,-0xbe8(%rbp)
ff
jmp    424b <check_mul_double+0x313b>
mov    $0x1,%al
test   $0x1,%al
jne    41eb <check_mul_double+0x30db>
jmp    420b <check_mul_double+0x30fb>
movsd  0x7e0d(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0xc00(%rbp)
ff
movsd  %xmm0,-0xbf8(%rbp)
ff
jmp    422b <check_mul_double+0x311b>
movsd  0x7ded(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xc00(%rbp)
ff
movsd  %xmm0,-0xbf8(%rbp)
ff
jmp    422b <check_mul_double+0x311b>
movsd  -0xc00(%rbp),%xmm1
ff
movsd  -0xbf8(%rbp),%xmm0
ff
movsd  %xmm1,-0xbf0(%rbp)
ff
movsd  %xmm0,-0xbe8(%rbp)
ff
movsd  -0xbf0(%rbp),%xmm1
ff
movsd  -0xbe8(%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    4314 <check_mul_double+0x3204>
movsd  -0x1d0(%rbp),%xmm0
ff
movaps 0x7d6e(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x7d73(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x7d3f(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    4314 <check_mul_double+0x3204>
jp     4314 <check_mul_double+0x3204>
movsd  -0x1c8(%rbp),%xmm0
ff
movaps 0x7d38(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x7d3d(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x7d09(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    4314 <check_mul_double+0x3204>
jp     4314 <check_mul_double+0x3204>
jmp    4319 <check_mul_double+0x3209>
call   1030 <abort@plt>
jmp    431e <check_mul_double+0x320e>
movsd  -0x1c0(%rbp),%xmm1
ff
movsd  %xmm1,-0xc40(%rbp)
ff
movsd  -0x1b8(%rbp),%xmm2
ff
movsd  %xmm2,-0xc38(%rbp)
ff
movsd  -0x1d0(%rbp),%xmm4
ff
movsd  %xmm4,-0xc30(%rbp)
ff
movsd  -0x1c8(%rbp),%xmm5
ff
movsd  %xmm5,-0xc28(%rbp)
ff
movaps %xmm1,%xmm0
mulsd  %xmm4,%xmm0
movaps %xmm2,%xmm3
mulsd  %xmm5,%xmm3
mulsd  %xmm5,%xmm1
mulsd  %xmm4,%xmm2
subsd  %xmm3,%xmm0
movsd  %xmm0,-0xc20(%rbp)
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0xc18(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0xc10(%rbp)
ff
movsd  %xmm1,-0xc08(%rbp)
ff
jnp    4405 <check_mul_double+0x32f5>
movsd  -0xc18(%rbp),%xmm1
ff
movsd  -0xc20(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0xc10(%rbp)
ff
movsd  %xmm1,-0xc08(%rbp)
ff
jnp    4405 <check_mul_double+0x32f5>
movsd  -0xc28(%rbp),%xmm3
ff
movsd  -0xc30(%rbp),%xmm2
ff
movsd  -0xc38(%rbp),%xmm1
ff
movsd  -0xc40(%rbp),%xmm0
ff
call   b860 <__muldc3>
movsd  %xmm0,-0xc10(%rbp)
ff
movsd  %xmm1,-0xc08(%rbp)
ff
movsd  -0xc10(%rbp),%xmm1
ff
movsd  -0xc08(%rbp),%xmm0
ff
movsd  %xmm1,-0x1e0(%rbp)
ff
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    44ce <check_mul_double+0x33be>
movsd  -0x1e0(%rbp),%xmm0
ff
movaps 0x7bb4(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x7bb9(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x7b85(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    44ce <check_mul_double+0x33be>
jp     44ce <check_mul_double+0x33be>
movsd  -0x1d8(%rbp),%xmm0
ff
movaps 0x7b7e(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x7b83(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x7b4f(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    44ce <check_mul_double+0x33be>
jp     44ce <check_mul_double+0x33be>
jmp    44d3 <check_mul_double+0x33c3>
call   1030 <abort@plt>
jmp    44d8 <check_mul_double+0x33c8>
jmp    44dd <check_mul_double+0x33cd>
jmp    44e2 <check_mul_double+0x33d2>
mov    $0x1,%al
test   $0x1,%al
jne    44f1 <check_mul_double+0x33e1>
jmp    4560 <check_mul_double+0x3450>
xor    %eax,%eax
test   $0x1,%al
jne    4500 <check_mul_double+0x33f0>
jmp    451b <check_mul_double+0x340b>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xc50(%rbp)
ff
movsd  %xmm0,-0xc48(%rbp)
ff
jmp    453b <check_mul_double+0x342b>
xorps  %xmm1,%xmm1
movsd  0x7ada(%rip),%xmm0
movsd  %xmm1,-0xc50(%rbp)
ff
movsd  %xmm0,-0xc48(%rbp)
ff
jmp    453b <check_mul_double+0x342b>
movsd  -0xc50(%rbp),%xmm1
ff
movsd  -0xc48(%rbp),%xmm0
ff
movsd  %xmm1,-0xc60(%rbp)
ff
movsd  %xmm0,-0xc58(%rbp)
ff
jmp    45cf <check_mul_double+0x34bf>
xor    %eax,%eax
test   $0x1,%al
jne    456f <check_mul_double+0x345f>
jmp    458f <check_mul_double+0x347f>
movsd  0x7a89(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0xc70(%rbp)
ff
movsd  %xmm0,-0xc68(%rbp)
ff
jmp    45af <check_mul_double+0x349f>
movsd  0x7a69(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xc70(%rbp)
ff
movsd  %xmm0,-0xc68(%rbp)
ff
jmp    45af <check_mul_double+0x349f>
movsd  -0xc70(%rbp),%xmm1
ff
movsd  -0xc68(%rbp),%xmm0
ff
movsd  %xmm1,-0xc60(%rbp)
ff
movsd  %xmm0,-0xc58(%rbp)
ff
movsd  -0xc60(%rbp),%xmm1
ff
movsd  -0xc58(%rbp),%xmm0
ff
movsd  %xmm1,-0x1f0(%rbp)
ff
movsd  %xmm0,-0x1e8(%rbp)
ff
movsd  -0x1f0(%rbp),%xmm1
ff
movsd  -0x1e8(%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    4698 <check_mul_double+0x3588>
movsd  -0x1f0(%rbp),%xmm0
ff
movaps 0x79ea(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x79ef(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x79bb(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    4698 <check_mul_double+0x3588>
jp     4698 <check_mul_double+0x3588>
movsd  -0x1e8(%rbp),%xmm0
ff
movaps 0x79b4(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x79b9(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x798d(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    4698 <check_mul_double+0x3588>
jp     4698 <check_mul_double+0x3588>
jmp    469d <check_mul_double+0x358d>
call   1030 <abort@plt>
jmp    46a2 <check_mul_double+0x3592>
mov    $0x1,%al
test   $0x1,%al
jne    46b1 <check_mul_double+0x35a1>
jmp    4720 <check_mul_double+0x3610>
xor    %eax,%eax
test   $0x1,%al
jne    46c0 <check_mul_double+0x35b0>
jmp    46db <check_mul_double+0x35cb>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xc80(%rbp)
ff
movsd  %xmm0,-0xc78(%rbp)
ff
jmp    46fb <check_mul_double+0x35eb>
xorps  %xmm1,%xmm1
movsd  0x791a(%rip),%xmm0
movsd  %xmm1,-0xc80(%rbp)
ff
movsd  %xmm0,-0xc78(%rbp)
ff
jmp    46fb <check_mul_double+0x35eb>
movsd  -0xc80(%rbp),%xmm1
ff
movsd  -0xc78(%rbp),%xmm0
ff
movsd  %xmm1,-0xc90(%rbp)
ff
movsd  %xmm0,-0xc88(%rbp)
ff
jmp    478f <check_mul_double+0x367f>
xor    %eax,%eax
test   $0x1,%al
jne    472f <check_mul_double+0x361f>
jmp    474f <check_mul_double+0x363f>
movsd  0x78c9(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0xca0(%rbp)
ff
movsd  %xmm0,-0xc98(%rbp)
ff
jmp    476f <check_mul_double+0x365f>
movsd  0x78a9(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xca0(%rbp)
ff
movsd  %xmm0,-0xc98(%rbp)
ff
jmp    476f <check_mul_double+0x365f>
movsd  -0xca0(%rbp),%xmm1
ff
movsd  -0xc98(%rbp),%xmm0
ff
movsd  %xmm1,-0xc90(%rbp)
ff
movsd  %xmm0,-0xc88(%rbp)
ff
movsd  -0xc90(%rbp),%xmm1
ff
movsd  -0xc88(%rbp),%xmm0
ff
movsd  %xmm1,-0x200(%rbp)
ff
movsd  %xmm0,-0x1f8(%rbp)
ff
movsd  -0x200(%rbp),%xmm1
ff
movsd  -0x1f8(%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    4858 <check_mul_double+0x3748>
movsd  -0x200(%rbp),%xmm0
ff
movaps 0x782a(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x782f(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x77fb(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    4858 <check_mul_double+0x3748>
jp     4858 <check_mul_double+0x3748>
movsd  -0x1f8(%rbp),%xmm0
ff
movaps 0x77f4(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x77f9(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x77cd(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    4858 <check_mul_double+0x3748>
jp     4858 <check_mul_double+0x3748>
jmp    485d <check_mul_double+0x374d>
call   1030 <abort@plt>
jmp    4862 <check_mul_double+0x3752>
movsd  -0x1f0(%rbp),%xmm1
ff
movsd  %xmm1,-0xce0(%rbp)
ff
movsd  -0x1e8(%rbp),%xmm2
ff
movsd  %xmm2,-0xcd8(%rbp)
ff
movsd  -0x200(%rbp),%xmm4
ff
movsd  %xmm4,-0xcd0(%rbp)
ff
movsd  -0x1f8(%rbp),%xmm5
ff
movsd  %xmm5,-0xcc8(%rbp)
ff
movaps %xmm1,%xmm0
mulsd  %xmm4,%xmm0
movaps %xmm2,%xmm3
mulsd  %xmm5,%xmm3
mulsd  %xmm5,%xmm1
mulsd  %xmm4,%xmm2
subsd  %xmm3,%xmm0
movsd  %xmm0,-0xcc0(%rbp)
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0xcb8(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0xcb0(%rbp)
ff
movsd  %xmm1,-0xca8(%rbp)
ff
jnp    4949 <check_mul_double+0x3839>
movsd  -0xcb8(%rbp),%xmm1
ff
movsd  -0xcc0(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0xcb0(%rbp)
ff
movsd  %xmm1,-0xca8(%rbp)
ff
jnp    4949 <check_mul_double+0x3839>
movsd  -0xcc8(%rbp),%xmm3
ff
movsd  -0xcd0(%rbp),%xmm2
ff
movsd  -0xcd8(%rbp),%xmm1
ff
movsd  -0xce0(%rbp),%xmm0
ff
call   b860 <__muldc3>
movsd  %xmm0,-0xcb0(%rbp)
ff
movsd  %xmm1,-0xca8(%rbp)
ff
movsd  -0xcb0(%rbp),%xmm1
ff
movsd  -0xca8(%rbp),%xmm0
ff
movsd  %xmm1,-0x210(%rbp)
ff
movsd  %xmm0,-0x208(%rbp)
ff
movsd  -0x210(%rbp),%xmm1
ff
movsd  -0x208(%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    4a12 <check_mul_double+0x3902>
movsd  -0x210(%rbp),%xmm0
ff
movaps 0x7670(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x7675(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x7641(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    4a12 <check_mul_double+0x3902>
jp     4a12 <check_mul_double+0x3902>
movsd  -0x208(%rbp),%xmm0
ff
movaps 0x763a(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x763f(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x7613(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    4a12 <check_mul_double+0x3902>
jp     4a12 <check_mul_double+0x3902>
jmp    4a17 <check_mul_double+0x3907>
call   1030 <abort@plt>
jmp    4a1c <check_mul_double+0x390c>
mov    $0x1,%al
test   $0x1,%al
jne    4a2b <check_mul_double+0x391b>
jmp    4a9a <check_mul_double+0x398a>
xor    %eax,%eax
test   $0x1,%al
jne    4a3a <check_mul_double+0x392a>
jmp    4a55 <check_mul_double+0x3945>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xcf0(%rbp)
ff
movsd  %xmm0,-0xce8(%rbp)
ff
jmp    4a75 <check_mul_double+0x3965>
xorps  %xmm1,%xmm1
movsd  0x75a0(%rip),%xmm0
movsd  %xmm1,-0xcf0(%rbp)
ff
movsd  %xmm0,-0xce8(%rbp)
ff
jmp    4a75 <check_mul_double+0x3965>
movsd  -0xcf0(%rbp),%xmm1
ff
movsd  -0xce8(%rbp),%xmm0
ff
movsd  %xmm1,-0xd00(%rbp)
ff
movsd  %xmm0,-0xcf8(%rbp)
ff
jmp    4b09 <check_mul_double+0x39f9>
xor    %eax,%eax
test   $0x1,%al
jne    4aa9 <check_mul_double+0x3999>
jmp    4ac9 <check_mul_double+0x39b9>
movsd  0x754f(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0xd10(%rbp)
ff
movsd  %xmm0,-0xd08(%rbp)
ff
jmp    4ae9 <check_mul_double+0x39d9>
movsd  0x752f(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xd10(%rbp)
ff
movsd  %xmm0,-0xd08(%rbp)
ff
jmp    4ae9 <check_mul_double+0x39d9>
movsd  -0xd10(%rbp),%xmm1
ff
movsd  -0xd08(%rbp),%xmm0
ff
movsd  %xmm1,-0xd00(%rbp)
movsd  %xmm0,-0xcf8(%rbp)
ff
movsd  -0xd00(%rbp),%xmm1
ff
movsd  -0xcf8(%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    4bd2 <check_mul_double+0x3ac2>
movsd  -0x220(%rbp),%xmm0
ff
movaps 0x74b0(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x74b5(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x7481(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    4bd2 <check_mul_double+0x3ac2>
jp     4bd2 <check_mul_double+0x3ac2>
movsd  -0x218(%rbp),%xmm0
ff
movaps 0x747a(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x747f(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x7453(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    4bd2 <check_mul_double+0x3ac2>
jp     4bd2 <check_mul_double+0x3ac2>
jmp    4bd7 <check_mul_double+0x3ac7>
call   1030 <abort@plt>
jmp    4bdc <check_mul_double+0x3acc>
mov    $0x1,%al
test   $0x1,%al
jne    4beb <check_mul_double+0x3adb>
jmp    4c5a <check_mul_double+0x3b4a>
xor    %eax,%eax
test   $0x1,%al
jne    4bfa <check_mul_double+0x3aea>
jmp    4c15 <check_mul_double+0x3b05>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xd20(%rbp)
ff
movsd  %xmm0,-0xd18(%rbp)
ff
jmp    4c35 <check_mul_double+0x3b25>
xorps  %xmm1,%xmm1
movsd  0x73e0(%rip),%xmm0
movsd  %xmm1,-0xd20(%rbp)
ff
movsd  %xmm0,-0xd18(%rbp)
ff
jmp    4c35 <check_mul_double+0x3b25>
movsd  -0xd20(%rbp),%xmm1
ff
movsd  -0xd18(%rbp),%xmm0
ff
movsd  %xmm1,-0xd30(%rbp)
ff
movsd  %xmm0,-0xd28(%rbp)
ff
jmp    4cc9 <check_mul_double+0x3bb9>
xor    %eax,%eax
test   $0x1,%al
jne    4c69 <check_mul_double+0x3b59>
jmp    4c89 <check_mul_double+0x3b79>
movsd  0x738f(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0xd40(%rbp)
ff
movsd  %xmm0,-0xd38(%rbp)
ff
jmp    4ca9 <check_mul_double+0x3b99>
movsd  0x736f(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xd40(%rbp)
ff
movsd  %xmm0,-0xd38(%rbp)
ff
jmp    4ca9 <check_mul_double+0x3b99>
movsd  -0xd40(%rbp),%xmm1
ff
movsd  -0xd38(%rbp),%xmm0
ff
movsd  %xmm1,-0xd30(%rbp)
ff
movsd  %xmm0,-0xd28(%rbp)
ff
movsd  -0xd30(%rbp),%xmm1
ff
movsd  -0xd28(%rbp),%xmm0
ff
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    4d92 <check_mul_double+0x3c82>
movsd  -0x230(%rbp),%xmm0
ff
movaps 0x72f0(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x72f5(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x72c1(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    4d92 <check_mul_double+0x3c82>
jp     4d92 <check_mul_double+0x3c82>
movsd  -0x228(%rbp),%xmm0
ff
movaps 0x72ba(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x72bf(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x7293(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    4d92 <check_mul_double+0x3c82>
jp     4d92 <check_mul_double+0x3c82>
jmp    4d97 <check_mul_double+0x3c87>
call   1030 <abort@plt>
jmp    4d9c <check_mul_double+0x3c8c>
movsd  -0x220(%rbp),%xmm1
ff
movsd  %xmm1,-0xd80(%rbp)
ff
movsd  -0x218(%rbp),%xmm2
ff
movsd  %xmm2,-0xd78(%rbp)
ff
movsd  -0x230(%rbp),%xmm4
ff
movsd  %xmm4,-0xd70(%rbp)
ff
movsd  -0x228(%rbp),%xmm5
ff
movsd  %xmm5,-0xd68(%rbp)
ff
movaps %xmm1,%xmm0
mulsd  %xmm4,%xmm0
movaps %xmm2,%xmm3
mulsd  %xmm5,%xmm3
mulsd  %xmm5,%xmm1
mulsd  %xmm4,%xmm2
subsd  %xmm3,%xmm0
movsd  %xmm0,-0xd60(%rbp)
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0xd58(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0xd50(%rbp)
ff
movsd  %xmm1,-0xd48(%rbp)
ff
jnp    4e83 <check_mul_double+0x3d73>
movsd  -0xd58(%rbp),%xmm1
ff
movsd  -0xd60(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0xd50(%rbp)
ff
movsd  %xmm1,-0xd48(%rbp)
ff
jnp    4e83 <check_mul_double+0x3d73>
movsd  -0xd68(%rbp),%xmm3
ff
movsd  -0xd70(%rbp),%xmm2
ff
movsd  -0xd78(%rbp),%xmm1
ff
movsd  -0xd80(%rbp),%xmm0
ff
call   b860 <__muldc3>
movsd  %xmm0,-0xd50(%rbp)
ff
movsd  %xmm1,-0xd48(%rbp)
ff
movsd  -0xd50(%rbp),%xmm1
ff
movsd  -0xd48(%rbp),%xmm0
ff
movsd  %xmm1,-0x240(%rbp)
ff
movsd  %xmm0,-0x238(%rbp)
ff
movsd  -0x240(%rbp),%xmm1
ff
movsd  -0x238(%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    4f4c <check_mul_double+0x3e3c>
movsd  -0x240(%rbp),%xmm0
ff
movaps 0x7136(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x713b(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x7107(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    4f4c <check_mul_double+0x3e3c>
jp     4f4c <check_mul_double+0x3e3c>
movsd  -0x238(%rbp),%xmm0
ff
movaps 0x7100(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x7105(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x70d9(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    4f4c <check_mul_double+0x3e3c>
jp     4f4c <check_mul_double+0x3e3c>
jmp    4f51 <check_mul_double+0x3e41>
call   1030 <abort@plt>
jmp    4f56 <check_mul_double+0x3e46>
jmp    4f5b <check_mul_double+0x3e4b>
jmp    4f60 <check_mul_double+0x3e50>
mov    $0x1,%al
test   $0x1,%al
jne    4f6f <check_mul_double+0x3e5f>
jmp    4fde <check_mul_double+0x3ece>
xor    %eax,%eax
test   $0x1,%al
jne    4f7e <check_mul_double+0x3e6e>
jmp    4f99 <check_mul_double+0x3e89>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xd90(%rbp)
ff
movsd  %xmm0,-0xd88(%rbp)
ff
jmp    4fb9 <check_mul_double+0x3ea9>
xorps  %xmm1,%xmm1
movsd  0x705c(%rip),%xmm0
movsd  %xmm1,-0xd90(%rbp)
ff
movsd  %xmm0,-0xd88(%rbp)
ff
jmp    4fb9 <check_mul_double+0x3ea9>
movsd  -0xd90(%rbp),%xmm1
ff
movsd  -0xd88(%rbp),%xmm0
ff
movsd  %xmm1,-0xda0(%rbp)
ff
movsd  %xmm0,-0xd98(%rbp)
ff
jmp    504d <check_mul_double+0x3f3d>
xor    %eax,%eax
test   $0x1,%al
jne    4fed <check_mul_double+0x3edd>
jmp    500d <check_mul_double+0x3efd>
movsd  0x700b(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0xdb0(%rbp)
ff
movsd  %xmm0,-0xda8(%rbp)
jmp    502d <check_mul_double+0x3f1d>
movsd  0x6feb(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xdb0(%rbp)
ff
movsd  %xmm0,-0xda8(%rbp)
ff
jmp    502d <check_mul_double+0x3f1d>
movsd  -0xdb0(%rbp),%xmm1
ff
movsd  -0xda8(%rbp),%xmm0
ff
movsd  %xmm1,-0xda0(%rbp)
ff
movsd  %xmm0,-0xd98(%rbp)
ff
movsd  -0xda0(%rbp),%xmm1
ff
movsd  -0xd98(%rbp),%xmm0
ff
movsd  %xmm1,-0x250(%rbp)
ff
movsd  %xmm0,-0x248(%rbp)
ff
movsd  -0x250(%rbp),%xmm1
ff
movsd  -0x248(%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    5116 <check_mul_double+0x4006>
movsd  -0x250(%rbp),%xmm0
ff
movaps 0x6f6c(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x6f71(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x6f3d(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    5116 <check_mul_double+0x4006>
jp     5116 <check_mul_double+0x4006>
movsd  -0x248(%rbp),%xmm0
ff
movaps 0x6f36(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x6f3b(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x6f0f(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    5116 <check_mul_double+0x4006>
jp     5116 <check_mul_double+0x4006>
jmp    511b <check_mul_double+0x400b>
call   1030 <abort@plt>
jmp    5120 <check_mul_double+0x4010>
xor    %eax,%eax
test   $0x1,%al
jne    512f <check_mul_double+0x401f>
jmp    519e <check_mul_double+0x408e>
mov    $0x1,%al
test   $0x1,%al
jne    513e <check_mul_double+0x402e>
jmp    5159 <check_mul_double+0x4049>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xdc0(%rbp)
ff
movsd  %xmm0,-0xdb8(%rbp)
ff
jmp    5179 <check_mul_double+0x4069>
xorps  %xmm1,%xmm1
movsd  0x6e9c(%rip),%xmm0
movsd  %xmm1,-0xdc0(%rbp)
ff
movsd  %xmm0,-0xdb8(%rbp)
ff
jmp    5179 <check_mul_double+0x4069>
movsd  -0xdc0(%rbp),%xmm1
ff
movsd  -0xdb8(%rbp),%xmm0
ff
movsd  %xmm1,-0xdd0(%rbp)
ff
movsd  %xmm0,-0xdc8(%rbp)
ff
jmp    520d <check_mul_double+0x40fd>
mov    $0x1,%al
test   $0x1,%al
jne    51ad <check_mul_double+0x409d>
jmp    51cd <check_mul_double+0x40bd>
movsd  0x6e4b(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0xde0(%rbp)
ff
movsd  %xmm0,-0xdd8(%rbp)
ff
jmp    51ed <check_mul_double+0x40dd>
movsd  0x6e2b(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xde0(%rbp)
ff
movsd  %xmm0,-0xdd8(%rbp)
ff
jmp    51ed <check_mul_double+0x40dd>
movsd  -0xde0(%rbp),%xmm1
ff
movsd  -0xdd8(%rbp),%xmm0
ff
movsd  %xmm1,-0xdd0(%rbp)
ff
movsd  %xmm0,-0xdc8(%rbp)
ff
movsd  -0xdd0(%rbp),%xmm1
ff
movsd  -0xdc8(%rbp),%xmm0
ff
movsd  %xmm1,-0x260(%rbp)
ff
movsd  %xmm0,-0x258(%rbp)
ff
movsd  -0x260(%rbp),%xmm1
ff
movsd  -0x258(%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    52d6 <check_mul_double+0x41c6>
movsd  -0x260(%rbp),%xmm0
ff
movaps 0x6dac(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x6db1(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x6d85(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    52d6 <check_mul_double+0x41c6>
jp     52d6 <check_mul_double+0x41c6>
movsd  -0x258(%rbp),%xmm0
ff
movaps 0x6d76(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x6d7b(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x6d47(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    52d6 <check_mul_double+0x41c6>
jp     52d6 <check_mul_double+0x41c6>
jmp    52db <check_mul_double+0x41cb>
call   1030 <abort@plt>
jmp    52e0 <check_mul_double+0x41d0>
movsd  -0x250(%rbp),%xmm1
ff
movsd  %xmm1,-0xe20(%rbp)
ff
movsd  -0x248(%rbp),%xmm2
ff
movsd  %xmm2,-0xe18(%rbp)
ff
movsd  -0x260(%rbp),%xmm4
ff
movsd  %xmm4,-0xe10(%rbp)
ff
movsd  -0x258(%rbp),%xmm5
ff
movsd  %xmm5,-0xe08(%rbp)
ff
movaps %xmm1,%xmm0
mulsd  %xmm4,%xmm0
movaps %xmm2,%xmm3
mulsd  %xmm5,%xmm3
mulsd  %xmm5,%xmm1
mulsd  %xmm4,%xmm2
subsd  %xmm3,%xmm0
movsd  %xmm0,-0xe00(%rbp)
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0xdf8(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0xdf0(%rbp)
ff
movsd  %xmm1,-0xde8(%rbp)
ff
jnp    53c7 <check_mul_double+0x42b7>
movsd  -0xdf8(%rbp),%xmm1
ff
movsd  -0xe00(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0xdf0(%rbp)
ff
movsd  %xmm1,-0xde8(%rbp)
ff
jnp    53c7 <check_mul_double+0x42b7>
movsd  -0xe08(%rbp),%xmm3
ff
movsd  -0xe10(%rbp),%xmm2
ff
movsd  -0xe18(%rbp),%xmm1
ff
movsd  -0xe20(%rbp),%xmm0
ff
call   b860 <__muldc3>
movsd  %xmm0,-0xdf0(%rbp)
ff
movsd  %xmm1,-0xde8(%rbp)
ff
movsd  -0xdf0(%rbp),%xmm1
ff
movsd  -0xde8(%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    5490 <check_mul_double+0x4380>
movsd  -0x270(%rbp),%xmm0
ff
movaps 0x6bf2(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x6bf7(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x6bc3(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    5490 <check_mul_double+0x4380>
jp     5490 <check_mul_double+0x4380>
movsd  -0x268(%rbp),%xmm0
ff
movaps 0x6bbc(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x6bc1(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x6b8d(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    5490 <check_mul_double+0x4380>
jp     5490 <check_mul_double+0x4380>
jmp    5495 <check_mul_double+0x4385>
call   1030 <abort@plt>
jmp    549a <check_mul_double+0x438a>
mov    $0x1,%al
test   $0x1,%al
jne    54a9 <check_mul_double+0x4399>
jmp    5518 <check_mul_double+0x4408>
xor    %eax,%eax
test   $0x1,%al
jne    54b8 <check_mul_double+0x43a8>
jmp    54d3 <check_mul_double+0x43c3>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xe30(%rbp)
ff
movsd  %xmm0,-0xe28(%rbp)
ff
jmp    54f3 <check_mul_double+0x43e3>
xorps  %xmm1,%xmm1
movsd  0x6b22(%rip),%xmm0
movsd  %xmm1,-0xe30(%rbp)
ff
movsd  %xmm0,-0xe28(%rbp)
ff
jmp    54f3 <check_mul_double+0x43e3>
movsd  -0xe30(%rbp),%xmm1
ff
movsd  -0xe28(%rbp),%xmm0
ff
movsd  %xmm1,-0xe40(%rbp)
ff
movsd  %xmm0,-0xe38(%rbp)
ff
jmp    5587 <check_mul_double+0x4477>
xor    %eax,%eax
test   $0x1,%al
jne    5527 <check_mul_double+0x4417>
jmp    5547 <check_mul_double+0x4437>
movsd  0x6ad1(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0xe50(%rbp)
ff
movsd  %xmm0,-0xe48(%rbp)
ff
jmp    5567 <check_mul_double+0x4457>
movsd  0x6ab1(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xe50(%rbp)
ff
movsd  %xmm0,-0xe48(%rbp)
ff
jmp    5567 <check_mul_double+0x4457>
movsd  -0xe50(%rbp),%xmm1
ff
movsd  -0xe48(%rbp),%xmm0
ff
movsd  %xmm1,-0xe40(%rbp)
ff
movsd  %xmm0,-0xe38(%rbp)
ff
movsd  -0xe40(%rbp),%xmm1
ff
movsd  -0xe38(%rbp),%xmm0
ff
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    5650 <check_mul_double+0x4540>
movsd  -0x280(%rbp),%xmm0
ff
movaps 0x6a32(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x6a37(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x6a03(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    5650 <check_mul_double+0x4540>
jp     5650 <check_mul_double+0x4540>
movsd  -0x278(%rbp),%xmm0
ff
movaps 0x69fc(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x6a01(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x69d5(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    5650 <check_mul_double+0x4540>
jp     5650 <check_mul_double+0x4540>
jmp    5655 <check_mul_double+0x4545>
call   1030 <abort@plt>
jmp    565a <check_mul_double+0x454a>
xor    %eax,%eax
test   $0x1,%al
jne    5669 <check_mul_double+0x4559>
jmp    56d8 <check_mul_double+0x45c8>
mov    $0x1,%al
test   $0x1,%al
jne    5678 <check_mul_double+0x4568>
jmp    5693 <check_mul_double+0x4583>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xe60(%rbp)
ff
movsd  %xmm0,-0xe58(%rbp)
ff
jmp    56b3 <check_mul_double+0x45a3>
xorps  %xmm1,%xmm1
movsd  0x6962(%rip),%xmm0
movsd  %xmm1,-0xe60(%rbp)
ff
movsd  %xmm0,-0xe58(%rbp)
ff
jmp    56b3 <check_mul_double+0x45a3>
movsd  -0xe60(%rbp),%xmm1
ff
movsd  -0xe58(%rbp),%xmm0
ff
movsd  %xmm1,-0xe70(%rbp)
ff
movsd  %xmm0,-0xe68(%rbp)
ff
jmp    5747 <check_mul_double+0x4637>
mov    $0x1,%al
test   $0x1,%al
jne    56e7 <check_mul_double+0x45d7>
jmp    5707 <check_mul_double+0x45f7>
movsd  0x6911(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0xe80(%rbp)
ff
movsd  %xmm0,-0xe78(%rbp)
ff
jmp    5727 <check_mul_double+0x4617>
movsd  0x68f1(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xe80(%rbp)
ff
movsd  %xmm0,-0xe78(%rbp)
ff
jmp    5727 <check_mul_double+0x4617>
movsd  -0xe80(%rbp),%xmm1
ff
movsd  -0xe78(%rbp),%xmm0
ff
movsd  %xmm1,-0xe70(%rbp)
ff
movsd  %xmm0,-0xe68(%rbp)
ff
movsd  -0xe70(%rbp),%xmm1
ff
movsd  -0xe68(%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    5810 <check_mul_double+0x4700>
movsd  -0x290(%rbp),%xmm0
ff
movaps 0x6872(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x6877(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x684b(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    5810 <check_mul_double+0x4700>
jp     5810 <check_mul_double+0x4700>
movsd  -0x288(%rbp),%xmm0
ff
movaps 0x683c(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x6841(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x680d(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    5810 <check_mul_double+0x4700>
jp     5810 <check_mul_double+0x4700>
jmp    5815 <check_mul_double+0x4705>
call   1030 <abort@plt>
jmp    581a <check_mul_double+0x470a>
movsd  -0x280(%rbp),%xmm1
ff
movsd  %xmm1,-0xec0(%rbp)
ff
movsd  -0x278(%rbp),%xmm2
ff
movsd  %xmm2,-0xeb8(%rbp)
ff
movsd  -0x290(%rbp),%xmm4
ff
movsd  %xmm4,-0xeb0(%rbp)
ff
movsd  -0x288(%rbp),%xmm5
ff
movsd  %xmm5,-0xea8(%rbp)
ff
movaps %xmm1,%xmm0
mulsd  %xmm4,%xmm0
movaps %xmm2,%xmm3
mulsd  %xmm5,%xmm3
mulsd  %xmm5,%xmm1
mulsd  %xmm4,%xmm2
subsd  %xmm3,%xmm0
movsd  %xmm0,-0xea0(%rbp)
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0xe98(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0xe90(%rbp)
ff
movsd  %xmm1,-0xe88(%rbp)
ff
jnp    5901 <check_mul_double+0x47f1>
movsd  -0xe98(%rbp),%xmm1
ff
movsd  -0xea0(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0xe90(%rbp)
ff
movsd  %xmm1,-0xe88(%rbp)
ff
jnp    5901 <check_mul_double+0x47f1>
movsd  -0xea8(%rbp),%xmm3
ff
movsd  -0xeb0(%rbp),%xmm2
ff
movsd  -0xeb8(%rbp),%xmm1
ff
movsd  -0xec0(%rbp),%xmm0
ff
call   b860 <__muldc3>
movsd  %xmm0,-0xe90(%rbp)
ff
movsd  %xmm1,-0xe88(%rbp)
movsd  -0xe90(%rbp),%xmm1
ff
movsd  -0xe88(%rbp),%xmm0
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    59ca <check_mul_double+0x48ba>
movsd  -0x2a0(%rbp),%xmm0
ff
movaps 0x66b8(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x66bd(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x6689(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    59ca <check_mul_double+0x48ba>
jp     59ca <check_mul_double+0x48ba>
movsd  -0x298(%rbp),%xmm0
ff
movaps 0x6682(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x6687(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x6653(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    59ca <check_mul_double+0x48ba>
jp     59ca <check_mul_double+0x48ba>
jmp    59cf <check_mul_double+0x48bf>
call   1030 <abort@plt>
jmp    59d4 <check_mul_double+0x48c4>
jmp    59d9 <check_mul_double+0x48c9>
jmp    59de <check_mul_double+0x48ce>
mov    $0x1,%al
test   $0x1,%al
jne    59ed <check_mul_double+0x48dd>
jmp    5a5c <check_mul_double+0x494c>
xor    %eax,%eax
test   $0x1,%al
jne    59fc <check_mul_double+0x48ec>
jmp    5a17 <check_mul_double+0x4907>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xed0(%rbp)
ff
movsd  %xmm0,-0xec8(%rbp)
ff
jmp    5a37 <check_mul_double+0x4927>
xorps  %xmm1,%xmm1
movsd  0x65de(%rip),%xmm0
movsd  %xmm1,-0xed0(%rbp)
ff
movsd  %xmm0,-0xec8(%rbp)
ff
jmp    5a37 <check_mul_double+0x4927>
movsd  -0xed0(%rbp),%xmm1
ff
movsd  -0xec8(%rbp),%xmm0
ff
movsd  %xmm1,-0xee0(%rbp)
ff
movsd  %xmm0,-0xed8(%rbp)
ff
jmp    5acb <check_mul_double+0x49bb>
xor    %eax,%eax
test   $0x1,%al
jne    5a6b <check_mul_double+0x495b>
jmp    5a8b <check_mul_double+0x497b>
movsd  0x658d(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0xef0(%rbp)
ff
movsd  %xmm0,-0xee8(%rbp)
ff
jmp    5aab <check_mul_double+0x499b>
movsd  0x656d(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xef0(%rbp)
ff
movsd  %xmm0,-0xee8(%rbp)
ff
jmp    5aab <check_mul_double+0x499b>
movsd  -0xef0(%rbp),%xmm1
ff
movsd  -0xee8(%rbp),%xmm0
ff
movsd  %xmm1,-0xee0(%rbp)
ff
movsd  %xmm0,-0xed8(%rbp)
ff
movsd  -0xee0(%rbp),%xmm1
ff
movsd  -0xed8(%rbp),%xmm0
ff
movsd  %xmm1,-0x2b0(%rbp)
ff
movsd  %xmm0,-0x2a8(%rbp)
ff
movsd  -0x2b0(%rbp),%xmm1
ff
movsd  -0x2a8(%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    5b94 <check_mul_double+0x4a84>
movsd  -0x2b0(%rbp),%xmm0
ff
movaps 0x64ee(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x64f3(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x64bf(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    5b94 <check_mul_double+0x4a84>
jp     5b94 <check_mul_double+0x4a84>
movsd  -0x2a8(%rbp),%xmm0
ff
movaps 0x64b8(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x64bd(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x6491(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    5b94 <check_mul_double+0x4a84>
jp     5b94 <check_mul_double+0x4a84>
jmp    5b99 <check_mul_double+0x4a89>
call   1030 <abort@plt>
jmp    5b9e <check_mul_double+0x4a8e>
xor    %eax,%eax
test   $0x1,%al
jne    5bad <check_mul_double+0x4a9d>
jmp    5c1c <check_mul_double+0x4b0c>
xor    %eax,%eax
test   $0x1,%al
jne    5bbc <check_mul_double+0x4aac>
jmp    5bd7 <check_mul_double+0x4ac7>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xf00(%rbp)
ff
movsd  %xmm0,-0xef8(%rbp)
ff
jmp    5bf7 <check_mul_double+0x4ae7>
xorps  %xmm1,%xmm1
movsd  0x641e(%rip),%xmm0
movsd  %xmm1,-0xf00(%rbp)
ff
movsd  %xmm0,-0xef8(%rbp)
ff
jmp    5bf7 <check_mul_double+0x4ae7>
movsd  -0xf00(%rbp),%xmm1
ff
movsd  -0xef8(%rbp),%xmm0
ff
movsd  %xmm1,-0xf10(%rbp)
ff
movsd  %xmm0,-0xf08(%rbp)
ff
jmp    5c8b <check_mul_double+0x4b7b>
xor    %eax,%eax
test   $0x1,%al
jne    5c2b <check_mul_double+0x4b1b>
jmp    5c4b <check_mul_double+0x4b3b>
movsd  0x63cd(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0xf20(%rbp)
ff
movsd  %xmm0,-0xf18(%rbp)
ff
jmp    5c6b <check_mul_double+0x4b5b>
movsd  0x63ad(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xf20(%rbp)
ff
movsd  %xmm0,-0xf18(%rbp)
ff
jmp    5c6b <check_mul_double+0x4b5b>
movsd  -0xf20(%rbp),%xmm1
ff
movsd  -0xf18(%rbp),%xmm0
ff
movsd  %xmm1,-0xf10(%rbp)
ff
movsd  %xmm0,-0xf08(%rbp)
ff
movsd  -0xf10(%rbp),%xmm1
ff
movsd  -0xf08(%rbp),%xmm0
ff
movsd  %xmm1,-0x2c0(%rbp)
ff
movsd  %xmm0,-0x2b8(%rbp)
ff
movsd  -0x2c0(%rbp),%xmm1
ff
movsd  -0x2b8(%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    5d54 <check_mul_double+0x4c44>
movsd  -0x2c0(%rbp),%xmm0
ff
movaps 0x632e(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x6333(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x6307(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    5d54 <check_mul_double+0x4c44>
jp     5d54 <check_mul_double+0x4c44>
movsd  -0x2b8(%rbp),%xmm0
ff
movaps 0x62f8(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x62fd(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x62d1(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    5d54 <check_mul_double+0x4c44>
jp     5d54 <check_mul_double+0x4c44>
jmp    5d59 <check_mul_double+0x4c49>
call   1030 <abort@plt>
jmp    5d5e <check_mul_double+0x4c4e>
movsd  -0x2b0(%rbp),%xmm1
ff
movsd  %xmm1,-0xf60(%rbp)
ff
movsd  -0x2a8(%rbp),%xmm2
ff
movsd  %xmm2,-0xf58(%rbp)
ff
movsd  -0x2c0(%rbp),%xmm4
ff
movsd  %xmm4,-0xf50(%rbp)
ff
movsd  -0x2b8(%rbp),%xmm5
ff
movsd  %xmm5,-0xf48(%rbp)
ff
movaps %xmm1,%xmm0
mulsd  %xmm4,%xmm0
movaps %xmm2,%xmm3
mulsd  %xmm5,%xmm3
mulsd  %xmm5,%xmm1
mulsd  %xmm4,%xmm2
subsd  %xmm3,%xmm0
movsd  %xmm0,-0xf40(%rbp)
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0xf38(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0xf30(%rbp)
ff
movsd  %xmm1,-0xf28(%rbp)
ff
jnp    5e45 <check_mul_double+0x4d35>
movsd  -0xf38(%rbp),%xmm1
ff
movsd  -0xf40(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0xf30(%rbp)
ff
movsd  %xmm1,-0xf28(%rbp)
ff
jnp    5e45 <check_mul_double+0x4d35>
movsd  -0xf48(%rbp),%xmm3
ff
movsd  -0xf50(%rbp),%xmm2
ff
movsd  -0xf58(%rbp),%xmm1
ff
movsd  -0xf60(%rbp),%xmm0
ff
call   b860 <__muldc3>
movsd  %xmm0,-0xf30(%rbp)
ff
movsd  %xmm1,-0xf28(%rbp)
ff
movsd  -0xf30(%rbp),%xmm1
ff
movsd  -0xf28(%rbp),%xmm0
ff
movsd  %xmm1,-0x2d0(%rbp)
ff
movsd  %xmm0,-0x2c8(%rbp)
ff
movsd  -0x2d0(%rbp),%xmm1
ff
movsd  -0x2c8(%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    5f0e <check_mul_double+0x4dfe>
movsd  -0x2d0(%rbp),%xmm0
ff
movaps 0x6174(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x6179(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x614d(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    5f0e <check_mul_double+0x4dfe>
jp     5f0e <check_mul_double+0x4dfe>
movsd  -0x2c8(%rbp),%xmm0
ff
movaps 0x613e(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x6143(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x610f(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    5f0e <check_mul_double+0x4dfe>
jp     5f0e <check_mul_double+0x4dfe>
jmp    5f13 <check_mul_double+0x4e03>
call   1030 <abort@plt>
jmp    5f18 <check_mul_double+0x4e08>
mov    $0x1,%al
test   $0x1,%al
jne    5f27 <check_mul_double+0x4e17>
jmp    5f96 <check_mul_double+0x4e86>
xor    %eax,%eax
test   $0x1,%al
jne    5f36 <check_mul_double+0x4e26>
jmp    5f51 <check_mul_double+0x4e41>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xf70(%rbp)
ff
movsd  %xmm0,-0xf68(%rbp)
ff
jmp    5f71 <check_mul_double+0x4e61>
xorps  %xmm1,%xmm1
movsd  0x60a4(%rip),%xmm0
movsd  %xmm1,-0xf70(%rbp)
ff
movsd  %xmm0,-0xf68(%rbp)
ff
jmp    5f71 <check_mul_double+0x4e61>
movsd  -0xf70(%rbp),%xmm1
ff
movsd  -0xf68(%rbp),%xmm0
ff
movsd  %xmm1,-0xf80(%rbp)
ff
movsd  %xmm0,-0xf78(%rbp)
ff
jmp    6005 <check_mul_double+0x4ef5>
xor    %eax,%eax
test   $0x1,%al
jne    5fa5 <check_mul_double+0x4e95>
jmp    5fc5 <check_mul_double+0x4eb5>
movsd  0x6053(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0xf90(%rbp)
ff
movsd  %xmm0,-0xf88(%rbp)
ff
jmp    5fe5 <check_mul_double+0x4ed5>
movsd  0x6033(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xf90(%rbp)
ff
movsd  %xmm0,-0xf88(%rbp)
ff
jmp    5fe5 <check_mul_double+0x4ed5>
movsd  -0xf90(%rbp),%xmm1
ff
movsd  -0xf88(%rbp),%xmm0
ff
movsd  %xmm1,-0xf80(%rbp)
ff
movsd  %xmm0,-0xf78(%rbp)
movsd  -0xf80(%rbp),%xmm1
movsd  -0xf78(%rbp),%xmm0
ff
movsd  %xmm1,-0x2e0(%rbp)
ff
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    60ce <check_mul_double+0x4fbe>
movsd  -0x2e0(%rbp),%xmm0
ff
movaps 0x5fb4(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x5fb9(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x5f85(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    60ce <check_mul_double+0x4fbe>
jp     60ce <check_mul_double+0x4fbe>
movsd  -0x2d8(%rbp),%xmm0
ff
movaps 0x5f7e(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x5f83(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x5f57(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    60ce <check_mul_double+0x4fbe>
jp     60ce <check_mul_double+0x4fbe>
jmp    60d3 <check_mul_double+0x4fc3>
call   1030 <abort@plt>
jmp    60d8 <check_mul_double+0x4fc8>
xor    %eax,%eax
test   $0x1,%al
jne    60e7 <check_mul_double+0x4fd7>
jmp    6156 <check_mul_double+0x5046>
xor    %eax,%eax
test   $0x1,%al
jne    60f6 <check_mul_double+0x4fe6>
jmp    6111 <check_mul_double+0x5001>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xfa0(%rbp)
ff
movsd  %xmm0,-0xf98(%rbp)
ff
jmp    6131 <check_mul_double+0x5021>
xorps  %xmm1,%xmm1
movsd  0x5ee4(%rip),%xmm0
movsd  %xmm1,-0xfa0(%rbp)
ff
movsd  %xmm0,-0xf98(%rbp)
ff
jmp    6131 <check_mul_double+0x5021>
movsd  -0xfa0(%rbp),%xmm1
ff
movsd  -0xf98(%rbp),%xmm0
ff
movsd  %xmm1,-0xfb0(%rbp)
ff
movsd  %xmm0,-0xfa8(%rbp)
ff
jmp    61c5 <check_mul_double+0x50b5>
xor    %eax,%eax
test   $0x1,%al
jne    6165 <check_mul_double+0x5055>
jmp    6185 <check_mul_double+0x5075>
movsd  0x5e93(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0xfc0(%rbp)
ff
movsd  %xmm0,-0xfb8(%rbp)
ff
jmp    61a5 <check_mul_double+0x5095>
movsd  0x5e73(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0xfc0(%rbp)
ff
movsd  %xmm0,-0xfb8(%rbp)
ff
jmp    61a5 <check_mul_double+0x5095>
movsd  -0xfc0(%rbp),%xmm1
ff
movsd  -0xfb8(%rbp),%xmm0
ff
movsd  %xmm1,-0xfb0(%rbp)
ff
movsd  %xmm0,-0xfa8(%rbp)
ff
movsd  -0xfb0(%rbp),%xmm1
ff
movsd  -0xfa8(%rbp),%xmm0
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    628e <check_mul_double+0x517e>
movsd  -0x2f0(%rbp),%xmm0
ff
movaps 0x5df4(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x5df9(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x5dcd(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    628e <check_mul_double+0x517e>
jp     628e <check_mul_double+0x517e>
movsd  -0x2e8(%rbp),%xmm0
ff
movaps 0x5dbe(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x5dc3(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x5d97(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    628e <check_mul_double+0x517e>
jp     628e <check_mul_double+0x517e>
jmp    6293 <check_mul_double+0x5183>
call   1030 <abort@plt>
jmp    6298 <check_mul_double+0x5188>
movsd  -0x2e0(%rbp),%xmm1
ff
movsd  %xmm1,-0x1000(%rbp)
ff
movsd  -0x2d8(%rbp),%xmm2
ff
movsd  %xmm2,-0xff8(%rbp)
ff
movsd  -0x2f0(%rbp),%xmm4
ff
movsd  %xmm4,-0xff0(%rbp)
ff
movsd  -0x2e8(%rbp),%xmm5
ff
movsd  %xmm5,-0xfe8(%rbp)
ff
movaps %xmm1,%xmm0
mulsd  %xmm4,%xmm0
movaps %xmm2,%xmm3
mulsd  %xmm5,%xmm3
mulsd  %xmm5,%xmm1
mulsd  %xmm4,%xmm2
subsd  %xmm3,%xmm0
movsd  %xmm0,-0xfe0(%rbp)
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0xfd8(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0xfd0(%rbp)
ff
movsd  %xmm1,-0xfc8(%rbp)
ff
jnp    637f <check_mul_double+0x526f>
movsd  -0xfd8(%rbp),%xmm1
ff
movsd  -0xfe0(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0xfd0(%rbp)
ff
movsd  %xmm1,-0xfc8(%rbp)
ff
jnp    637f <check_mul_double+0x526f>
movsd  -0xfe8(%rbp),%xmm3
ff
movsd  -0xff0(%rbp),%xmm2
ff
movsd  -0xff8(%rbp),%xmm1
ff
movsd  -0x1000(%rbp),%xmm0
ff
call   b860 <__muldc3>
movsd  %xmm0,-0xfd0(%rbp)
ff
movsd  %xmm1,-0xfc8(%rbp)
ff
movsd  -0xfd0(%rbp),%xmm1
ff
movsd  -0xfc8(%rbp),%xmm0
ff
movsd  %xmm1,-0x300(%rbp)
ff
movsd  %xmm0,-0x2f8(%rbp)
ff
movsd  -0x300(%rbp),%xmm1
ff
movsd  -0x2f8(%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    6448 <check_mul_double+0x5338>
movsd  -0x300(%rbp),%xmm0
ff
movaps 0x5c3a(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x5c3f(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x5c13(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    6448 <check_mul_double+0x5338>
jp     6448 <check_mul_double+0x5338>
movsd  -0x2f8(%rbp),%xmm0
ff
movaps 0x5c04(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x5c09(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x5bd5(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    6448 <check_mul_double+0x5338>
jp     6448 <check_mul_double+0x5338>
jmp    644d <check_mul_double+0x533d>
call   1030 <abort@plt>
jmp    6452 <check_mul_double+0x5342>
jmp    6457 <check_mul_double+0x5347>
jmp    645c <check_mul_double+0x534c>
xor    %eax,%eax
test   $0x1,%al
jne    646b <check_mul_double+0x535b>
jmp    64da <check_mul_double+0x53ca>
mov    $0x1,%al
test   $0x1,%al
jne    647a <check_mul_double+0x536a>
jmp    6495 <check_mul_double+0x5385>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1010(%rbp)
ff
movsd  %xmm0,-0x1008(%rbp)
ff
jmp    64b5 <check_mul_double+0x53a5>
xorps  %xmm1,%xmm1
movsd  0x5b60(%rip),%xmm0
movsd  %xmm1,-0x1010(%rbp)
ff
movsd  %xmm0,-0x1008(%rbp)
ff
jmp    64b5 <check_mul_double+0x53a5>
movsd  -0x1010(%rbp),%xmm1
ff
movsd  -0x1008(%rbp),%xmm0
ff
movsd  %xmm1,-0x1020(%rbp)
ff
movsd  %xmm0,-0x1018(%rbp)
ff
jmp    6549 <check_mul_double+0x5439>
mov    $0x1,%al
test   $0x1,%al
jne    64e9 <check_mul_double+0x53d9>
jmp    6509 <check_mul_double+0x53f9>
movsd  0x5b0f(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x1030(%rbp)
ff
movsd  %xmm0,-0x1028(%rbp)
ff
jmp    6529 <check_mul_double+0x5419>
movsd  0x5aef(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1030(%rbp)
ff
movsd  %xmm0,-0x1028(%rbp)
ff
jmp    6529 <check_mul_double+0x5419>
movsd  -0x1030(%rbp),%xmm1
ff
movsd  -0x1028(%rbp),%xmm0
ff
movsd  %xmm1,-0x1020(%rbp)
ff
movsd  %xmm0,-0x1018(%rbp)
ff
movsd  -0x1020(%rbp),%xmm1
ff
movsd  -0x1018(%rbp),%xmm0
ff
movsd  %xmm1,-0x310(%rbp)
ff
movsd  %xmm0,-0x308(%rbp)
ff
movsd  -0x310(%rbp),%xmm1
ff
movsd  -0x308(%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    6612 <check_mul_double+0x5502>
movsd  -0x310(%rbp),%xmm0
ff
movaps 0x5a70(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x5a75(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x5a49(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    6612 <check_mul_double+0x5502>
jp     6612 <check_mul_double+0x5502>
movsd  -0x308(%rbp),%xmm0
ff
movaps 0x5a3a(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x5a3f(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x5a0b(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    6612 <check_mul_double+0x5502>
jp     6612 <check_mul_double+0x5502>
jmp    6617 <check_mul_double+0x5507>
call   1030 <abort@plt>
jmp    661c <check_mul_double+0x550c>
mov    $0x1,%al
test   $0x1,%al
jne    662b <check_mul_double+0x551b>
jmp    669a <check_mul_double+0x558a>
mov    $0x1,%al
test   $0x1,%al
jne    663a <check_mul_double+0x552a>
jmp    6655 <check_mul_double+0x5545>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1040(%rbp)
ff
movsd  %xmm0,-0x1038(%rbp)
ff
jmp    6675 <check_mul_double+0x5565>
xorps  %xmm1,%xmm1
movsd  0x59a0(%rip),%xmm0
movsd  %xmm1,-0x1040(%rbp)
ff
movsd  %xmm0,-0x1038(%rbp)
ff
jmp    6675 <check_mul_double+0x5565>
movsd  -0x1040(%rbp),%xmm1
ff
movsd  -0x1038(%rbp),%xmm0
ff
movsd  %xmm1,-0x1050(%rbp)
ff
movsd  %xmm0,-0x1048(%rbp)
ff
jmp    6709 <check_mul_double+0x55f9>
mov    $0x1,%al
test   $0x1,%al
jne    66a9 <check_mul_double+0x5599>
jmp    66c9 <check_mul_double+0x55b9>
movsd  0x594f(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x1060(%rbp)
ff
movsd  %xmm0,-0x1058(%rbp)
ff
jmp    66e9 <check_mul_double+0x55d9>
movsd  0x592f(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1060(%rbp)
ff
movsd  %xmm0,-0x1058(%rbp)
ff
jmp    66e9 <check_mul_double+0x55d9>
movsd  -0x1060(%rbp),%xmm1
ff
movsd  -0x1058(%rbp),%xmm0
ff
movsd  %xmm1,-0x1050(%rbp)
movsd  %xmm0,-0x1048(%rbp)
ff
movsd  -0x1050(%rbp),%xmm1
ff
movsd  -0x1048(%rbp),%xmm0
ff
movsd  %xmm1,-0x320(%rbp)
ff
movsd  %xmm0,-0x318(%rbp)
ff
movsd  -0x320(%rbp),%xmm1
ff
movsd  -0x318(%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    67d2 <check_mul_double+0x56c2>
movsd  -0x320(%rbp),%xmm0
ff
movaps 0x58b0(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x58b5(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x5881(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    67d2 <check_mul_double+0x56c2>
jp     67d2 <check_mul_double+0x56c2>
movsd  -0x318(%rbp),%xmm0
ff
movaps 0x587a(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x587f(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x584b(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    67d2 <check_mul_double+0x56c2>
jp     67d2 <check_mul_double+0x56c2>
jmp    67d7 <check_mul_double+0x56c7>
call   1030 <abort@plt>
jmp    67dc <check_mul_double+0x56cc>
movsd  -0x310(%rbp),%xmm1
ff
movsd  %xmm1,-0x10a0(%rbp)
ff
movsd  -0x308(%rbp),%xmm2
ff
movsd  %xmm2,-0x1098(%rbp)
ff
movsd  -0x320(%rbp),%xmm4
ff
movsd  %xmm4,-0x1090(%rbp)
ff
movsd  -0x318(%rbp),%xmm5
ff
movsd  %xmm5,-0x1088(%rbp)
ff
movaps %xmm1,%xmm0
mulsd  %xmm4,%xmm0
movaps %xmm2,%xmm3
mulsd  %xmm5,%xmm3
mulsd  %xmm5,%xmm1
mulsd  %xmm4,%xmm2
subsd  %xmm3,%xmm0
movsd  %xmm0,-0x1080(%rbp)
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x1078(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x1070(%rbp)
ff
movsd  %xmm1,-0x1068(%rbp)
ff
jnp    68c3 <check_mul_double+0x57b3>
movsd  -0x1078(%rbp),%xmm1
ff
movsd  -0x1080(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x1070(%rbp)
ff
movsd  %xmm1,-0x1068(%rbp)
ff
jnp    68c3 <check_mul_double+0x57b3>
movsd  -0x1088(%rbp),%xmm3
ff
movsd  -0x1090(%rbp),%xmm2
ff
movsd  -0x1098(%rbp),%xmm1
ff
movsd  -0x10a0(%rbp),%xmm0
ff
call   b860 <__muldc3>
movsd  %xmm0,-0x1070(%rbp)
ff
movsd  %xmm1,-0x1068(%rbp)
ff
movsd  -0x1070(%rbp),%xmm1
ff
movsd  -0x1068(%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    698c <check_mul_double+0x587c>
movsd  -0x330(%rbp),%xmm0
ff
movaps 0x56f6(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x56fb(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x56cf(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    698c <check_mul_double+0x587c>
jp     698c <check_mul_double+0x587c>
movsd  -0x328(%rbp),%xmm0
ff
movaps 0x56c0(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x56c5(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x5691(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    698c <check_mul_double+0x587c>
jp     698c <check_mul_double+0x587c>
jmp    6991 <check_mul_double+0x5881>
call   1030 <abort@plt>
jmp    6996 <check_mul_double+0x5886>
xor    %eax,%eax
test   $0x1,%al
jne    69a5 <check_mul_double+0x5895>
jmp    6a14 <check_mul_double+0x5904>
mov    $0x1,%al
test   $0x1,%al
jne    69b4 <check_mul_double+0x58a4>
jmp    69cf <check_mul_double+0x58bf>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x10b0(%rbp)
ff
movsd  %xmm0,-0x10a8(%rbp)
ff
jmp    69ef <check_mul_double+0x58df>
xorps  %xmm1,%xmm1
movsd  0x5626(%rip),%xmm0
movsd  %xmm1,-0x10b0(%rbp)
ff
movsd  %xmm0,-0x10a8(%rbp)
ff
jmp    69ef <check_mul_double+0x58df>
movsd  -0x10b0(%rbp),%xmm1
ff
movsd  -0x10a8(%rbp),%xmm0
ff
movsd  %xmm1,-0x10c0(%rbp)
ff
movsd  %xmm0,-0x10b8(%rbp)
ff
jmp    6a83 <check_mul_double+0x5973>
mov    $0x1,%al
test   $0x1,%al
jne    6a23 <check_mul_double+0x5913>
jmp    6a43 <check_mul_double+0x5933>
movsd  0x55d5(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x10d0(%rbp)
ff
movsd  %xmm0,-0x10c8(%rbp)
ff
jmp    6a63 <check_mul_double+0x5953>
movsd  0x55b5(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x10d0(%rbp)
ff
movsd  %xmm0,-0x10c8(%rbp)
ff
jmp    6a63 <check_mul_double+0x5953>
movsd  -0x10d0(%rbp),%xmm1
ff
movsd  -0x10c8(%rbp),%xmm0
ff
movsd  %xmm1,-0x10c0(%rbp)
ff
movsd  %xmm0,-0x10b8(%rbp)
ff
movsd  -0x10c0(%rbp),%xmm1
ff
movsd  -0x10b8(%rbp),%xmm0
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    6b4c <check_mul_double+0x5a3c>
movsd  -0x340(%rbp),%xmm0
ff
movaps 0x5536(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x553b(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x550f(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    6b4c <check_mul_double+0x5a3c>
jp     6b4c <check_mul_double+0x5a3c>
movsd  -0x338(%rbp),%xmm0
ff
movaps 0x5500(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x5505(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x54d1(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    6b4c <check_mul_double+0x5a3c>
jp     6b4c <check_mul_double+0x5a3c>
jmp    6b51 <check_mul_double+0x5a41>
call   1030 <abort@plt>
jmp    6b56 <check_mul_double+0x5a46>
mov    $0x1,%al
test   $0x1,%al
jne    6b65 <check_mul_double+0x5a55>
jmp    6bd4 <check_mul_double+0x5ac4>
mov    $0x1,%al
test   $0x1,%al
jne    6b74 <check_mul_double+0x5a64>
jmp    6b8f <check_mul_double+0x5a7f>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x10e0(%rbp)
ff
movsd  %xmm0,-0x10d8(%rbp)
ff
jmp    6baf <check_mul_double+0x5a9f>
xorps  %xmm1,%xmm1
movsd  0x5466(%rip),%xmm0
movsd  %xmm1,-0x10e0(%rbp)
ff
movsd  %xmm0,-0x10d8(%rbp)
ff
jmp    6baf <check_mul_double+0x5a9f>
movsd  -0x10e0(%rbp),%xmm1
ff
movsd  -0x10d8(%rbp),%xmm0
ff
movsd  %xmm1,-0x10f0(%rbp)
ff
movsd  %xmm0,-0x10e8(%rbp)
ff
jmp    6c43 <check_mul_double+0x5b33>
mov    $0x1,%al
test   $0x1,%al
jne    6be3 <check_mul_double+0x5ad3>
jmp    6c03 <check_mul_double+0x5af3>
movsd  0x5415(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x1100(%rbp)
ff
movsd  %xmm0,-0x10f8(%rbp)
ff
jmp    6c23 <check_mul_double+0x5b13>
movsd  0x53f5(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1100(%rbp)
ff
movsd  %xmm0,-0x10f8(%rbp)
ff
jmp    6c23 <check_mul_double+0x5b13>
movsd  -0x1100(%rbp),%xmm1
ff
movsd  -0x10f8(%rbp),%xmm0
ff
movsd  %xmm1,-0x10f0(%rbp)
ff
movsd  %xmm0,-0x10e8(%rbp)
ff
movsd  -0x10f0(%rbp),%xmm1
ff
movsd  -0x10e8(%rbp),%xmm0
ff
movsd  %xmm1,-0x350(%rbp)
ff
movsd  %xmm0,-0x348(%rbp)
ff
movsd  -0x350(%rbp),%xmm1
ff
movsd  -0x348(%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    6d0c <check_mul_double+0x5bfc>
movsd  -0x350(%rbp),%xmm0
ff
movaps 0x5376(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x537b(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x5347(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    6d0c <check_mul_double+0x5bfc>
jp     6d0c <check_mul_double+0x5bfc>
movsd  -0x348(%rbp),%xmm0
ff
movaps 0x5340(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x5345(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x5311(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    6d0c <check_mul_double+0x5bfc>
jp     6d0c <check_mul_double+0x5bfc>
jmp    6d11 <check_mul_double+0x5c01>
call   1030 <abort@plt>
jmp    6d16 <check_mul_double+0x5c06>
movsd  -0x340(%rbp),%xmm1
ff
movsd  %xmm1,-0x1140(%rbp)
ff
movsd  -0x338(%rbp),%xmm2
ff
movsd  %xmm2,-0x1138(%rbp)
ff
movsd  -0x350(%rbp),%xmm4
ff
movsd  %xmm4,-0x1130(%rbp)
ff
movsd  -0x348(%rbp),%xmm5
ff
movsd  %xmm5,-0x1128(%rbp)
ff
movaps %xmm1,%xmm0
mulsd  %xmm4,%xmm0
movaps %xmm2,%xmm3
mulsd  %xmm5,%xmm3
mulsd  %xmm5,%xmm1
mulsd  %xmm4,%xmm2
subsd  %xmm3,%xmm0
movsd  %xmm0,-0x1120(%rbp)
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x1118(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x1110(%rbp)
ff
movsd  %xmm1,-0x1108(%rbp)
ff
jnp    6dfd <check_mul_double+0x5ced>
movsd  -0x1118(%rbp),%xmm1
ff
movsd  -0x1120(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x1110(%rbp)
ff
movsd  %xmm1,-0x1108(%rbp)
ff
jnp    6dfd <check_mul_double+0x5ced>
movsd  -0x1128(%rbp),%xmm3
ff
movsd  -0x1130(%rbp),%xmm2
ff
movsd  -0x1138(%rbp),%xmm1
ff
movsd  -0x1140(%rbp),%xmm0
ff
call   b860 <__muldc3>
movsd  %xmm0,-0x1110(%rbp)
ff
movsd  %xmm1,-0x1108(%rbp)
ff
movsd  -0x1110(%rbp),%xmm1
ff
movsd  -0x1108(%rbp),%xmm0
ff
movsd  %xmm1,-0x360(%rbp)
ff
movsd  %xmm0,-0x358(%rbp)
ff
movsd  -0x360(%rbp),%xmm1
ff
movsd  -0x358(%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    6ec6 <check_mul_double+0x5db6>
movsd  -0x360(%rbp),%xmm0
ff
movaps 0x51bc(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x51c1(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x5195(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    6ec6 <check_mul_double+0x5db6>
jp     6ec6 <check_mul_double+0x5db6>
movsd  -0x358(%rbp),%xmm0
ff
movaps 0x5186(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x518b(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x5157(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    6ec6 <check_mul_double+0x5db6>
jp     6ec6 <check_mul_double+0x5db6>
jmp    6ecb <check_mul_double+0x5dbb>
call   1030 <abort@plt>
jmp    6ed0 <check_mul_double+0x5dc0>
jmp    6ed5 <check_mul_double+0x5dc5>
jmp    6eda <check_mul_double+0x5dca>
xor    %eax,%eax
test   $0x1,%al
jne    6ee9 <check_mul_double+0x5dd9>
jmp    6f58 <check_mul_double+0x5e48>
mov    $0x1,%al
test   $0x1,%al
jne    6ef8 <check_mul_double+0x5de8>
jmp    6f13 <check_mul_double+0x5e03>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1150(%rbp)
ff
movsd  %xmm0,-0x1148(%rbp)
ff
jmp    6f33 <check_mul_double+0x5e23>
xorps  %xmm1,%xmm1
movsd  0x50e2(%rip),%xmm0
movsd  %xmm1,-0x1150(%rbp)
ff
movsd  %xmm0,-0x1148(%rbp)
ff
jmp    6f33 <check_mul_double+0x5e23>
movsd  -0x1150(%rbp),%xmm1
ff
movsd  -0x1148(%rbp),%xmm0
ff
movsd  %xmm1,-0x1160(%rbp)
ff
movsd  %xmm0,-0x1158(%rbp)
ff
jmp    6fc7 <check_mul_double+0x5eb7>
mov    $0x1,%al
test   $0x1,%al
jne    6f67 <check_mul_double+0x5e57>
jmp    6f87 <check_mul_double+0x5e77>
movsd  0x5091(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x1170(%rbp)
ff
movsd  %xmm0,-0x1168(%rbp)
ff
jmp    6fa7 <check_mul_double+0x5e97>
movsd  0x5071(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1170(%rbp)
ff
movsd  %xmm0,-0x1168(%rbp)
ff
jmp    6fa7 <check_mul_double+0x5e97>
movsd  -0x1170(%rbp),%xmm1
ff
movsd  -0x1168(%rbp),%xmm0
ff
movsd  %xmm1,-0x1160(%rbp)
ff
movsd  %xmm0,-0x1158(%rbp)
ff
movsd  -0x1160(%rbp),%xmm1
ff
movsd  -0x1158(%rbp),%xmm0
ff
movsd  %xmm1,-0x370(%rbp)
ff
movsd  %xmm0,-0x368(%rbp)
ff
movsd  -0x370(%rbp),%xmm1
ff
movsd  -0x368(%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    7090 <check_mul_double+0x5f80>
movsd  -0x370(%rbp),%xmm0
ff
movaps 0x4ff2(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4ff7(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x4fcb(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    7090 <check_mul_double+0x5f80>
jp     7090 <check_mul_double+0x5f80>
movsd  -0x368(%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    7090 <check_mul_double+0x5f80>
jp     7090 <check_mul_double+0x5f80>
jmp    7095 <check_mul_double+0x5f85>
call   1030 <abort@plt>
jmp    709a <check_mul_double+0x5f8a>
mov    $0x1,%al
test   $0x1,%al
jne    70a9 <check_mul_double+0x5f99>
jmp    7118 <check_mul_double+0x6008>
xor    %eax,%eax
test   $0x1,%al
jne    70b8 <check_mul_double+0x5fa8>
jmp    70d3 <check_mul_double+0x5fc3>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1180(%rbp)
ff
movsd  %xmm0,-0x1178(%rbp)
ff
jmp    70f3 <check_mul_double+0x5fe3>
xorps  %xmm1,%xmm1
movsd  0x4f22(%rip),%xmm0
movsd  %xmm1,-0x1180(%rbp)
ff
movsd  %xmm0,-0x1178(%rbp)
ff
jmp    70f3 <check_mul_double+0x5fe3>
movsd  -0x1180(%rbp),%xmm1
ff
movsd  -0x1178(%rbp),%xmm0
ff
movsd  %xmm1,-0x1190(%rbp)
ff
movsd  %xmm0,-0x1188(%rbp)
ff
jmp    7187 <check_mul_double+0x6077>
xor    %eax,%eax
test   $0x1,%al
jne    7127 <check_mul_double+0x6017>
jmp    7147 <check_mul_double+0x6037>
movsd  0x4ed1(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x11a0(%rbp)
ff
movsd  %xmm0,-0x1198(%rbp)
ff
jmp    7167 <check_mul_double+0x6057>
movsd  0x4eb1(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x11a0(%rbp)
ff
movsd  %xmm0,-0x1198(%rbp)
ff
jmp    7167 <check_mul_double+0x6057>
movsd  -0x11a0(%rbp),%xmm1
ff
movsd  -0x1198(%rbp),%xmm0
ff
movsd  %xmm1,-0x1190(%rbp)
ff
movsd  %xmm0,-0x1188(%rbp)
ff
movsd  -0x1190(%rbp),%xmm1
ff
movsd  -0x1188(%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    7250 <check_mul_double+0x6140>
movsd  -0x380(%rbp),%xmm0
ff
movaps 0x4e32(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4e37(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x4e03(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    7250 <check_mul_double+0x6140>
jp     7250 <check_mul_double+0x6140>
movsd  -0x378(%rbp),%xmm0
ff
movaps 0x4dfc(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4e01(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x4dd5(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    7250 <check_mul_double+0x6140>
jp     7250 <check_mul_double+0x6140>
jmp    7255 <check_mul_double+0x6145>
call   1030 <abort@plt>
jmp    725a <check_mul_double+0x614a>
movsd  -0x370(%rbp),%xmm1
ff
movsd  %xmm1,-0x11e0(%rbp)
ff
movsd  -0x368(%rbp),%xmm2
ff
movsd  %xmm2,-0x11d8(%rbp)
ff
movsd  -0x380(%rbp),%xmm4
ff
movsd  %xmm4,-0x11d0(%rbp)
ff
movsd  -0x378(%rbp),%xmm5
ff
movsd  %xmm5,-0x11c8(%rbp)
ff
movaps %xmm1,%xmm0
mulsd  %xmm4,%xmm0
movaps %xmm2,%xmm3
mulsd  %xmm5,%xmm3
mulsd  %xmm5,%xmm1
mulsd  %xmm4,%xmm2
subsd  %xmm3,%xmm0
movsd  %xmm0,-0x11c0(%rbp)
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x11b8(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x11b0(%rbp)
ff
movsd  %xmm1,-0x11a8(%rbp)
ff
jnp    7341 <check_mul_double+0x6231>
movsd  -0x11b8(%rbp),%xmm1
ff
movsd  -0x11c0(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x11b0(%rbp)
ff
movsd  %xmm1,-0x11a8(%rbp)
ff
jnp    7341 <check_mul_double+0x6231>
movsd  -0x11c8(%rbp),%xmm3
ff
movsd  -0x11d0(%rbp),%xmm2
ff
movsd  -0x11d8(%rbp),%xmm1
ff
movsd  -0x11e0(%rbp),%xmm0
ff
call   b860 <__muldc3>
movsd  %xmm0,-0x11b0(%rbp)
ff
movsd  %xmm1,-0x11a8(%rbp)
ff
movsd  -0x11b0(%rbp),%xmm1
ff
movsd  -0x11a8(%rbp),%xmm0
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    740a <check_mul_double+0x62fa>
movsd  -0x390(%rbp),%xmm0
ff
movaps 0x4c78(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4c7d(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x4c49(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    740a <check_mul_double+0x62fa>
jp     740a <check_mul_double+0x62fa>
movsd  -0x388(%rbp),%xmm0
ff
movaps 0x4c42(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4c47(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x4c13(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    740a <check_mul_double+0x62fa>
jp     740a <check_mul_double+0x62fa>
jmp    740f <check_mul_double+0x62ff>
call   1030 <abort@plt>
jmp    7414 <check_mul_double+0x6304>
xor    %eax,%eax
test   $0x1,%al
jne    7423 <check_mul_double+0x6313>
jmp    7492 <check_mul_double+0x6382>
mov    $0x1,%al
test   $0x1,%al
jne    7432 <check_mul_double+0x6322>
jmp    744d <check_mul_double+0x633d>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x11f0(%rbp)
ff
movsd  %xmm0,-0x11e8(%rbp)
ff
jmp    746d <check_mul_double+0x635d>
xorps  %xmm1,%xmm1
movsd  0x4ba8(%rip),%xmm0
movsd  %xmm1,-0x11f0(%rbp)
ff
movsd  %xmm0,-0x11e8(%rbp)
ff
jmp    746d <check_mul_double+0x635d>
movsd  -0x11f0(%rbp),%xmm1
ff
movsd  -0x11e8(%rbp),%xmm0
ff
movsd  %xmm1,-0x1200(%rbp)
ff
movsd  %xmm0,-0x11f8(%rbp)
ff
jmp    7501 <check_mul_double+0x63f1>
mov    $0x1,%al
test   $0x1,%al
jne    74a1 <check_mul_double+0x6391>
jmp    74c1 <check_mul_double+0x63b1>
movsd  0x4b57(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x1210(%rbp)
ff
movsd  %xmm0,-0x1208(%rbp)
ff
jmp    74e1 <check_mul_double+0x63d1>
movsd  0x4b37(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1210(%rbp)
ff
movsd  %xmm0,-0x1208(%rbp)
ff
jmp    74e1 <check_mul_double+0x63d1>
movsd  -0x1210(%rbp),%xmm1
ff
movsd  -0x1208(%rbp),%xmm0
ff
movsd  %xmm1,-0x1200(%rbp)
ff
movsd  %xmm0,-0x11f8(%rbp)
movsd  -0x1200(%rbp),%xmm1
ff
movsd  -0x11f8(%rbp),%xmm0
ff
movsd  %xmm1,-0x3a0(%rbp)
ff
movsd  %xmm0,-0x398(%rbp)
ff
movsd  -0x3a0(%rbp),%xmm1
ff
movsd  -0x398(%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    75ca <check_mul_double+0x64ba>
movsd  -0x3a0(%rbp),%xmm0
ff
movaps 0x4ab8(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4abd(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x4a91(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    75ca <check_mul_double+0x64ba>
jp     75ca <check_mul_double+0x64ba>
movsd  -0x398(%rbp),%xmm0
ff
movaps 0x4a82(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4a87(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x4a53(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    75ca <check_mul_double+0x64ba>
jp     75ca <check_mul_double+0x64ba>
jmp    75cf <check_mul_double+0x64bf>
call   1030 <abort@plt>
jmp    75d4 <check_mul_double+0x64c4>
mov    $0x1,%al
test   $0x1,%al
jne    75e3 <check_mul_double+0x64d3>
jmp    7652 <check_mul_double+0x6542>
xor    %eax,%eax
test   $0x1,%al
jne    75f2 <check_mul_double+0x64e2>
jmp    760d <check_mul_double+0x64fd>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1220(%rbp)
ff
movsd  %xmm0,-0x1218(%rbp)
ff
jmp    762d <check_mul_double+0x651d>
xorps  %xmm1,%xmm1
movsd  0x49e8(%rip),%xmm0
movsd  %xmm1,-0x1220(%rbp)
ff
movsd  %xmm0,-0x1218(%rbp)
ff
jmp    762d <check_mul_double+0x651d>
movsd  -0x1220(%rbp),%xmm1
ff
movsd  -0x1218(%rbp),%xmm0
ff
movsd  %xmm1,-0x1230(%rbp)
ff
movsd  %xmm0,-0x1228(%rbp)
ff
jmp    76c1 <check_mul_double+0x65b1>
xor    %eax,%eax
test   $0x1,%al
jne    7661 <check_mul_double+0x6551>
jmp    7681 <check_mul_double+0x6571>
movsd  0x4997(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x1240(%rbp)
ff
movsd  %xmm0,-0x1238(%rbp)
ff
jmp    76a1 <check_mul_double+0x6591>
movsd  0x4977(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1240(%rbp)
ff
movsd  %xmm0,-0x1238(%rbp)
ff
jmp    76a1 <check_mul_double+0x6591>
movsd  -0x1240(%rbp),%xmm1
ff
movsd  -0x1238(%rbp),%xmm0
ff
movsd  %xmm1,-0x1230(%rbp)
ff
movsd  %xmm0,-0x1228(%rbp)
ff
movsd  -0x1230(%rbp),%xmm1
ff
movsd  -0x1228(%rbp),%xmm0
ff
movsd  %xmm1,-0x3b0(%rbp)
ff
movsd  %xmm0,-0x3a8(%rbp)
ff
movsd  -0x3b0(%rbp),%xmm1
ff
movsd  -0x3a8(%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    778a <check_mul_double+0x667a>
movsd  -0x3b0(%rbp),%xmm0
ff
movaps 0x48f8(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x48fd(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x48c9(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    778a <check_mul_double+0x667a>
jp     778a <check_mul_double+0x667a>
movsd  -0x3a8(%rbp),%xmm0
ff
movaps 0x48c2(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x48c7(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x489b(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    778a <check_mul_double+0x667a>
jp     778a <check_mul_double+0x667a>
jmp    778f <check_mul_double+0x667f>
call   1030 <abort@plt>
jmp    7794 <check_mul_double+0x6684>
movsd  -0x3a0(%rbp),%xmm1
ff
movsd  %xmm1,-0x1280(%rbp)
ff
movsd  -0x398(%rbp),%xmm2
ff
movsd  %xmm2,-0x1278(%rbp)
ff
movsd  -0x3b0(%rbp),%xmm4
ff
movsd  %xmm4,-0x1270(%rbp)
ff
movsd  -0x3a8(%rbp),%xmm5
ff
movsd  %xmm5,-0x1268(%rbp)
ff
movaps %xmm1,%xmm0
mulsd  %xmm4,%xmm0
movaps %xmm2,%xmm3
mulsd  %xmm5,%xmm3
mulsd  %xmm5,%xmm1
mulsd  %xmm4,%xmm2
subsd  %xmm3,%xmm0
movsd  %xmm0,-0x1260(%rbp)
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x1258(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x1250(%rbp)
ff
movsd  %xmm1,-0x1248(%rbp)
ff
jnp    787b <check_mul_double+0x676b>
movsd  -0x1258(%rbp),%xmm1
ff
movsd  -0x1260(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x1250(%rbp)
ff
movsd  %xmm1,-0x1248(%rbp)
ff
jnp    787b <check_mul_double+0x676b>
movsd  -0x1268(%rbp),%xmm3
ff
movsd  -0x1270(%rbp),%xmm2
ff
movsd  -0x1278(%rbp),%xmm1
ff
movsd  -0x1280(%rbp),%xmm0
ff
call   b860 <__muldc3>
movsd  %xmm0,-0x1250(%rbp)
ff
movsd  %xmm1,-0x1248(%rbp)
ff
movsd  -0x1250(%rbp),%xmm1
ff
movsd  -0x1248(%rbp),%xmm0
ff
movsd  %xmm1,-0x3c0(%rbp)
ff
movsd  %xmm0,-0x3b8(%rbp)
ff
movsd  -0x3c0(%rbp),%xmm1
ff
movsd  -0x3b8(%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    7944 <check_mul_double+0x6834>
movsd  -0x3c0(%rbp),%xmm0
ff
movaps 0x473e(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4743(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x470f(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    7944 <check_mul_double+0x6834>
jp     7944 <check_mul_double+0x6834>
movsd  -0x3b8(%rbp),%xmm0
ff
movaps 0x4708(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x470d(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x46d9(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    7944 <check_mul_double+0x6834>
jp     7944 <check_mul_double+0x6834>
jmp    7949 <check_mul_double+0x6839>
call   1030 <abort@plt>
jmp    794e <check_mul_double+0x683e>
jmp    7953 <check_mul_double+0x6843>
jmp    7958 <check_mul_double+0x6848>
xor    %eax,%eax
test   $0x1,%al
jne    7967 <check_mul_double+0x6857>
jmp    79d6 <check_mul_double+0x68c6>
mov    $0x1,%al
test   $0x1,%al
jne    7976 <check_mul_double+0x6866>
jmp    7991 <check_mul_double+0x6881>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1290(%rbp)
ff
movsd  %xmm0,-0x1288(%rbp)
ff
jmp    79b1 <check_mul_double+0x68a1>
xorps  %xmm1,%xmm1
movsd  0x4664(%rip),%xmm0
movsd  %xmm1,-0x1290(%rbp)
ff
movsd  %xmm0,-0x1288(%rbp)
ff
jmp    79b1 <check_mul_double+0x68a1>
movsd  -0x1290(%rbp),%xmm1
ff
movsd  -0x1288(%rbp),%xmm0
ff
movsd  %xmm1,-0x12a0(%rbp)
ff
movsd  %xmm0,-0x1298(%rbp)
ff
jmp    7a45 <check_mul_double+0x6935>
mov    $0x1,%al
test   $0x1,%al
jne    79e5 <check_mul_double+0x68d5>
jmp    7a05 <check_mul_double+0x68f5>
movsd  0x4613(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x12b0(%rbp)
ff
movsd  %xmm0,-0x12a8(%rbp)
ff
jmp    7a25 <check_mul_double+0x6915>
movsd  0x45f3(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x12b0(%rbp)
ff
movsd  %xmm0,-0x12a8(%rbp)
ff
jmp    7a25 <check_mul_double+0x6915>
movsd  -0x12b0(%rbp),%xmm1
ff
movsd  -0x12a8(%rbp),%xmm0
ff
movsd  %xmm1,-0x12a0(%rbp)
ff
movsd  %xmm0,-0x1298(%rbp)
ff
movsd  -0x12a0(%rbp),%xmm1
ff
movsd  -0x1298(%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    7b0e <check_mul_double+0x69fe>
movsd  -0x3d0(%rbp),%xmm0
ff
movaps 0x4574(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4579(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x454d(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    7b0e <check_mul_double+0x69fe>
jp     7b0e <check_mul_double+0x69fe>
movsd  -0x3c8(%rbp),%xmm0
ff
movaps 0x453e(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4543(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x450f(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    7b0e <check_mul_double+0x69fe>
jp     7b0e <check_mul_double+0x69fe>
jmp    7b13 <check_mul_double+0x6a03>
call   1030 <abort@plt>
jmp    7b18 <check_mul_double+0x6a08>
xor    %eax,%eax
test   $0x1,%al
jne    7b27 <check_mul_double+0x6a17>
jmp    7b96 <check_mul_double+0x6a86>
mov    $0x1,%al
test   $0x1,%al
jne    7b36 <check_mul_double+0x6a26>
jmp    7b51 <check_mul_double+0x6a41>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x12c0(%rbp)
ff
movsd  %xmm0,-0x12b8(%rbp)
ff
jmp    7b71 <check_mul_double+0x6a61>
xorps  %xmm1,%xmm1
movsd  0x44a4(%rip),%xmm0
movsd  %xmm1,-0x12c0(%rbp)
ff
movsd  %xmm0,-0x12b8(%rbp)
ff
jmp    7b71 <check_mul_double+0x6a61>
movsd  -0x12c0(%rbp),%xmm1
ff
movsd  -0x12b8(%rbp),%xmm0
ff
movsd  %xmm1,-0x12d0(%rbp)
ff
movsd  %xmm0,-0x12c8(%rbp)
ff
jmp    7c05 <check_mul_double+0x6af5>
mov    $0x1,%al
test   $0x1,%al
jne    7ba5 <check_mul_double+0x6a95>
jmp    7bc5 <check_mul_double+0x6ab5>
movsd  0x4453(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x12e0(%rbp)
ff
movsd  %xmm0,-0x12d8(%rbp)
ff
jmp    7be5 <check_mul_double+0x6ad5>
movsd  0x4433(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x12e0(%rbp)
ff
movsd  %xmm0,-0x12d8(%rbp)
ff
jmp    7be5 <check_mul_double+0x6ad5>
movsd  -0x12e0(%rbp),%xmm1
ff
movsd  -0x12d8(%rbp),%xmm0
ff
movsd  %xmm1,-0x12d0(%rbp)
ff
movsd  %xmm0,-0x12c8(%rbp)
ff
movsd  -0x12d0(%rbp),%xmm1
ff
movsd  -0x12c8(%rbp),%xmm0
ff
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    7cce <check_mul_double+0x6bbe>
movsd  -0x3e0(%rbp),%xmm0
ff
movaps 0x43b4(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x43b9(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x438d(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    7cce <check_mul_double+0x6bbe>
jp     7cce <check_mul_double+0x6bbe>
movsd  -0x3d8(%rbp),%xmm0
ff
movaps 0x437e(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4383(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x434f(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    7cce <check_mul_double+0x6bbe>
jp     7cce <check_mul_double+0x6bbe>
jmp    7cd3 <check_mul_double+0x6bc3>
call   1030 <abort@plt>
jmp    7cd8 <check_mul_double+0x6bc8>
movsd  -0x3d0(%rbp),%xmm1
ff
movsd  %xmm1,-0x1320(%rbp)
ff
movsd  -0x3c8(%rbp),%xmm2
ff
movsd  %xmm2,-0x1318(%rbp)
ff
movsd  -0x3e0(%rbp),%xmm4
ff
movsd  %xmm4,-0x1310(%rbp)
ff
movsd  -0x3d8(%rbp),%xmm5
ff
movsd  %xmm5,-0x1308(%rbp)
ff
movaps %xmm1,%xmm0
mulsd  %xmm4,%xmm0
movaps %xmm2,%xmm3
mulsd  %xmm5,%xmm3
mulsd  %xmm5,%xmm1
mulsd  %xmm4,%xmm2
subsd  %xmm3,%xmm0
movsd  %xmm0,-0x1300(%rbp)
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x12f8(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x12f0(%rbp)
ff
movsd  %xmm1,-0x12e8(%rbp)
ff
jnp    7dbf <check_mul_double+0x6caf>
movsd  -0x12f8(%rbp),%xmm1
ff
movsd  -0x1300(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x12f0(%rbp)
ff
movsd  %xmm1,-0x12e8(%rbp)
ff
jnp    7dbf <check_mul_double+0x6caf>
movsd  -0x1308(%rbp),%xmm3
ff
movsd  -0x1310(%rbp),%xmm2
ff
movsd  -0x1318(%rbp),%xmm1
ff
movsd  -0x1320(%rbp),%xmm0
ff
call   b860 <__muldc3>
movsd  %xmm0,-0x12f0(%rbp)
ff
movsd  %xmm1,-0x12e8(%rbp)
ff
movsd  -0x12f0(%rbp),%xmm1
ff
movsd  -0x12e8(%rbp),%xmm0
ff
movsd  %xmm1,-0x3f0(%rbp)
ff
movsd  %xmm0,-0x3e8(%rbp)
ff
movsd  -0x3f0(%rbp),%xmm1
ff
movsd  -0x3e8(%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    7e88 <check_mul_double+0x6d78>
movsd  -0x3f0(%rbp),%xmm0
ff
movaps 0x41fa(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x41ff(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x41cb(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    7e88 <check_mul_double+0x6d78>
jp     7e88 <check_mul_double+0x6d78>
movsd  -0x3e8(%rbp),%xmm0
ff
movaps 0x41c4(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x41c9(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x419d(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    7e88 <check_mul_double+0x6d78>
jp     7e88 <check_mul_double+0x6d78>
jmp    7e8d <check_mul_double+0x6d7d>
call   1030 <abort@plt>
jmp    7e92 <check_mul_double+0x6d82>
xor    %eax,%eax
test   $0x1,%al
jne    7ea1 <check_mul_double+0x6d91>
jmp    7f10 <check_mul_double+0x6e00>
mov    $0x1,%al
test   $0x1,%al
jne    7eb0 <check_mul_double+0x6da0>
jmp    7ecb <check_mul_double+0x6dbb>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1330(%rbp)
ff
movsd  %xmm0,-0x1328(%rbp)
ff
jmp    7eeb <check_mul_double+0x6ddb>
xorps  %xmm1,%xmm1
movsd  0x412a(%rip),%xmm0
movsd  %xmm1,-0x1330(%rbp)
ff
movsd  %xmm0,-0x1328(%rbp)
ff
jmp    7eeb <check_mul_double+0x6ddb>
movsd  -0x1330(%rbp),%xmm1
ff
movsd  -0x1328(%rbp),%xmm0
ff
movsd  %xmm1,-0x1340(%rbp)
ff
movsd  %xmm0,-0x1338(%rbp)
ff
jmp    7f7f <check_mul_double+0x6e6f>
mov    $0x1,%al
test   $0x1,%al
jne    7f1f <check_mul_double+0x6e0f>
jmp    7f3f <check_mul_double+0x6e2f>
movsd  0x40d9(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x1350(%rbp)
ff
movsd  %xmm0,-0x1348(%rbp)
ff
jmp    7f5f <check_mul_double+0x6e4f>
movsd  0x40b9(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1350(%rbp)
ff
movsd  %xmm0,-0x1348(%rbp)
ff
jmp    7f5f <check_mul_double+0x6e4f>
movsd  -0x1350(%rbp),%xmm1
ff
movsd  -0x1348(%rbp),%xmm0
ff
movsd  %xmm1,-0x1340(%rbp)
ff
movsd  %xmm0,-0x1338(%rbp)
ff
movsd  -0x1340(%rbp),%xmm1
ff
movsd  -0x1338(%rbp),%xmm0
ff
movsd  %xmm1,-0x400(%rbp)
ff
movsd  %xmm0,-0x3f8(%rbp)
ff
movsd  -0x400(%rbp),%xmm1
ff
movsd  -0x3f8(%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    8048 <check_mul_double+0x6f38>
movsd  -0x400(%rbp),%xmm0
ff
movaps 0x403a(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x403f(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x4013(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    8048 <check_mul_double+0x6f38>
jp     8048 <check_mul_double+0x6f38>
movsd  -0x3f8(%rbp),%xmm0
ff
movaps 0x4004(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x4009(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x3fd5(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    8048 <check_mul_double+0x6f38>
jp     8048 <check_mul_double+0x6f38>
jmp    804d <check_mul_double+0x6f3d>
call   1030 <abort@plt>
jmp    8052 <check_mul_double+0x6f42>
xor    %eax,%eax
test   $0x1,%al
jne    8061 <check_mul_double+0x6f51>
jmp    80d0 <check_mul_double+0x6fc0>
mov    $0x1,%al
test   $0x1,%al
jne    8070 <check_mul_double+0x6f60>
jmp    808b <check_mul_double+0x6f7b>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1360(%rbp)
ff
movsd  %xmm0,-0x1358(%rbp)
ff
jmp    80ab <check_mul_double+0x6f9b>
xorps  %xmm1,%xmm1
movsd  0x3f6a(%rip),%xmm0
movsd  %xmm1,-0x1360(%rbp)
ff
movsd  %xmm0,-0x1358(%rbp)
ff
jmp    80ab <check_mul_double+0x6f9b>
movsd  -0x1360(%rbp),%xmm1
ff
movsd  -0x1358(%rbp),%xmm0
ff
movsd  %xmm1,-0x1370(%rbp)
ff
movsd  %xmm0,-0x1368(%rbp)
ff
jmp    813f <check_mul_double+0x702f>
mov    $0x1,%al
test   $0x1,%al
jne    80df <check_mul_double+0x6fcf>
jmp    80ff <check_mul_double+0x6fef>
movsd  0x3f19(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x1380(%rbp)
ff
movsd  %xmm0,-0x1378(%rbp)
ff
jmp    811f <check_mul_double+0x700f>
movsd  0x3ef9(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1380(%rbp)
ff
movsd  %xmm0,-0x1378(%rbp)
ff
jmp    811f <check_mul_double+0x700f>
movsd  -0x1380(%rbp),%xmm1
ff
movsd  -0x1378(%rbp),%xmm0
ff
movsd  %xmm1,-0x1370(%rbp)
ff
movsd  %xmm0,-0x1368(%rbp)
ff
movsd  -0x1370(%rbp),%xmm1
ff
movsd  -0x1368(%rbp),%xmm0
ff
movsd  %xmm1,-0x410(%rbp)
ff
movsd  %xmm0,-0x408(%rbp)
ff
movsd  -0x410(%rbp),%xmm1
ff
movsd  -0x408(%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    8208 <check_mul_double+0x70f8>
movsd  -0x410(%rbp),%xmm0
ff
movaps 0x3e7a(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x3e7f(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x3e53(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    8208 <check_mul_double+0x70f8>
jp     8208 <check_mul_double+0x70f8>
movsd  -0x408(%rbp),%xmm0
ff
movaps 0x3e44(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x3e49(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x3e15(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    8208 <check_mul_double+0x70f8>
jp     8208 <check_mul_double+0x70f8>
jmp    820d <check_mul_double+0x70fd>
call   1030 <abort@plt>
jmp    8212 <check_mul_double+0x7102>
movsd  -0x400(%rbp),%xmm1
ff
movsd  %xmm1,-0x13c0(%rbp)
ff
movsd  -0x3f8(%rbp),%xmm2
ff
movsd  %xmm2,-0x13b8(%rbp)
ff
movsd  -0x410(%rbp),%xmm4
ff
movsd  %xmm4,-0x13b0(%rbp)
ff
movsd  -0x408(%rbp),%xmm5
ff
movsd  %xmm5,-0x13a8(%rbp)
ff
movaps %xmm1,%xmm0
mulsd  %xmm4,%xmm0
movaps %xmm2,%xmm3
mulsd  %xmm5,%xmm3
mulsd  %xmm5,%xmm1
mulsd  %xmm4,%xmm2
subsd  %xmm3,%xmm0
movsd  %xmm0,-0x13a0(%rbp)
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x1398(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x1390(%rbp)
ff
movsd  %xmm1,-0x1388(%rbp)
ff
jnp    82f9 <check_mul_double+0x71e9>
movsd  -0x1398(%rbp),%xmm1
ff
movsd  -0x13a0(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x1390(%rbp)
ff
movsd  %xmm1,-0x1388(%rbp)
ff
jnp    82f9 <check_mul_double+0x71e9>
movsd  -0x13a8(%rbp),%xmm3
ff
movsd  -0x13b0(%rbp),%xmm2
ff
movsd  -0x13b8(%rbp),%xmm1
ff
movsd  -0x13c0(%rbp),%xmm0
ff
call   b860 <__muldc3>
movsd  %xmm0,-0x1390(%rbp)
ff
movsd  %xmm1,-0x1388(%rbp)
ff
movsd  -0x1390(%rbp),%xmm1
movsd  -0x1388(%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    83c2 <check_mul_double+0x72b2>
movsd  -0x420(%rbp),%xmm0
ff
movaps 0x3cc0(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x3cc5(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x3c91(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    83c2 <check_mul_double+0x72b2>
jp     83c2 <check_mul_double+0x72b2>
movsd  -0x418(%rbp),%xmm0
ff
movaps 0x3c8a(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x3c8f(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x3c63(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    83c2 <check_mul_double+0x72b2>
jp     83c2 <check_mul_double+0x72b2>
jmp    83c7 <check_mul_double+0x72b7>
call   1030 <abort@plt>
jmp    83cc <check_mul_double+0x72bc>
jmp    83d1 <check_mul_double+0x72c1>
jmp    83d6 <check_mul_double+0x72c6>
xor    %eax,%eax
test   $0x1,%al
jne    83e5 <check_mul_double+0x72d5>
jmp    8454 <check_mul_double+0x7344>
mov    $0x1,%al
test   $0x1,%al
jne    83f4 <check_mul_double+0x72e4>
jmp    840f <check_mul_double+0x72ff>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x13d0(%rbp)
ff
movsd  %xmm0,-0x13c8(%rbp)
ff
jmp    842f <check_mul_double+0x731f>
xorps  %xmm1,%xmm1
movsd  0x3be6(%rip),%xmm0
movsd  %xmm1,-0x13d0(%rbp)
ff
movsd  %xmm0,-0x13c8(%rbp)
ff
jmp    842f <check_mul_double+0x731f>
movsd  -0x13d0(%rbp),%xmm1
ff
movsd  -0x13c8(%rbp),%xmm0
ff
movsd  %xmm1,-0x13e0(%rbp)
ff
movsd  %xmm0,-0x13d8(%rbp)
ff
jmp    84c3 <check_mul_double+0x73b3>
mov    $0x1,%al
test   $0x1,%al
jne    8463 <check_mul_double+0x7353>
jmp    8483 <check_mul_double+0x7373>
movsd  0x3b95(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x13f0(%rbp)
ff
movsd  %xmm0,-0x13e8(%rbp)
ff
jmp    84a3 <check_mul_double+0x7393>
movsd  0x3b75(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x13f0(%rbp)
ff
movsd  %xmm0,-0x13e8(%rbp)
ff
jmp    84a3 <check_mul_double+0x7393>
movsd  -0x13f0(%rbp),%xmm1
ff
movsd  -0x13e8(%rbp),%xmm0
ff
movsd  %xmm1,-0x13e0(%rbp)
ff
movsd  %xmm0,-0x13d8(%rbp)
ff
movsd  -0x13e0(%rbp),%xmm1
ff
movsd  -0x13d8(%rbp),%xmm0
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    858c <check_mul_double+0x747c>
movsd  -0x430(%rbp),%xmm0
ff
movaps 0x3af6(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x3afb(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x3acf(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    858c <check_mul_double+0x747c>
jp     858c <check_mul_double+0x747c>
movsd  -0x428(%rbp),%xmm0
ff
movaps 0x3ac0(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x3ac5(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x3a91(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    858c <check_mul_double+0x747c>
jp     858c <check_mul_double+0x747c>
jmp    8591 <check_mul_double+0x7481>
call   1030 <abort@plt>
jmp    8596 <check_mul_double+0x7486>
xor    %eax,%eax
test   $0x1,%al
jne    85a5 <check_mul_double+0x7495>
jmp    8614 <check_mul_double+0x7504>
xor    %eax,%eax
test   $0x1,%al
jne    85b4 <check_mul_double+0x74a4>
jmp    85cf <check_mul_double+0x74bf>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1400(%rbp)
ff
movsd  %xmm0,-0x13f8(%rbp)
ff
jmp    85ef <check_mul_double+0x74df>
xorps  %xmm1,%xmm1
movsd  0x3a26(%rip),%xmm0
movsd  %xmm1,-0x1400(%rbp)
ff
movsd  %xmm0,-0x13f8(%rbp)
ff
jmp    85ef <check_mul_double+0x74df>
movsd  -0x1400(%rbp),%xmm1
ff
movsd  -0x13f8(%rbp),%xmm0
ff
movsd  %xmm1,-0x1410(%rbp)
ff
movsd  %xmm0,-0x1408(%rbp)
ff
jmp    8683 <check_mul_double+0x7573>
xor    %eax,%eax
test   $0x1,%al
jne    8623 <check_mul_double+0x7513>
jmp    8643 <check_mul_double+0x7533>
movsd  0x39d5(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x1420(%rbp)
ff
movsd  %xmm0,-0x1418(%rbp)
ff
jmp    8663 <check_mul_double+0x7553>
movsd  0x39b5(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1420(%rbp)
ff
movsd  %xmm0,-0x1418(%rbp)
ff
jmp    8663 <check_mul_double+0x7553>
movsd  -0x1420(%rbp),%xmm1
ff
movsd  -0x1418(%rbp),%xmm0
ff
movsd  %xmm1,-0x1410(%rbp)
ff
movsd  %xmm0,-0x1408(%rbp)
ff
movsd  -0x1410(%rbp),%xmm1
ff
movsd  -0x1408(%rbp),%xmm0
ff
movsd  %xmm1,-0x440(%rbp)
ff
movsd  %xmm0,-0x438(%rbp)
ff
movsd  -0x440(%rbp),%xmm1
ff
movsd  -0x438(%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    874c <check_mul_double+0x763c>
movsd  -0x440(%rbp),%xmm0
ff
movaps 0x3936(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x393b(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x390f(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    874c <check_mul_double+0x763c>
jp     874c <check_mul_double+0x763c>
movsd  -0x438(%rbp),%xmm0
ff
movaps 0x3900(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x3905(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x38d9(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    874c <check_mul_double+0x763c>
jp     874c <check_mul_double+0x763c>
jmp    8751 <check_mul_double+0x7641>
call   1030 <abort@plt>
jmp    8756 <check_mul_double+0x7646>
movsd  -0x430(%rbp),%xmm1
ff
movsd  %xmm1,-0x1460(%rbp)
ff
movsd  -0x428(%rbp),%xmm2
ff
movsd  %xmm2,-0x1458(%rbp)
ff
movsd  -0x440(%rbp),%xmm4
ff
movsd  %xmm4,-0x1450(%rbp)
ff
movsd  -0x438(%rbp),%xmm5
ff
movsd  %xmm5,-0x1448(%rbp)
ff
movaps %xmm1,%xmm0
mulsd  %xmm4,%xmm0
movaps %xmm2,%xmm3
mulsd  %xmm5,%xmm3
mulsd  %xmm5,%xmm1
mulsd  %xmm4,%xmm2
subsd  %xmm3,%xmm0
movsd  %xmm0,-0x1440(%rbp)
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x1438(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x1430(%rbp)
ff
movsd  %xmm1,-0x1428(%rbp)
ff
jnp    883d <check_mul_double+0x772d>
movsd  -0x1438(%rbp),%xmm1
ff
movsd  -0x1440(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x1430(%rbp)
ff
movsd  %xmm1,-0x1428(%rbp)
ff
jnp    883d <check_mul_double+0x772d>
movsd  -0x1448(%rbp),%xmm3
ff
movsd  -0x1450(%rbp),%xmm2
ff
movsd  -0x1458(%rbp),%xmm1
ff
movsd  -0x1460(%rbp),%xmm0
ff
call   b860 <__muldc3>
movsd  %xmm0,-0x1430(%rbp)
ff
movsd  %xmm1,-0x1428(%rbp)
ff
movsd  -0x1430(%rbp),%xmm1
ff
movsd  -0x1428(%rbp),%xmm0
ff
movsd  %xmm1,-0x450(%rbp)
ff
movsd  %xmm0,-0x448(%rbp)
ff
movsd  -0x450(%rbp),%xmm1
ff
movsd  -0x448(%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    8906 <check_mul_double+0x77f6>
movsd  -0x450(%rbp),%xmm0
ff
movaps 0x377c(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x3781(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x374d(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    8906 <check_mul_double+0x77f6>
jp     8906 <check_mul_double+0x77f6>
movsd  -0x448(%rbp),%xmm0
ff
movaps 0x3746(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x374b(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x3717(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    8906 <check_mul_double+0x77f6>
jp     8906 <check_mul_double+0x77f6>
jmp    890b <check_mul_double+0x77fb>
call   1030 <abort@plt>
jmp    8910 <check_mul_double+0x7800>
xor    %eax,%eax
test   $0x1,%al
jne    891f <check_mul_double+0x780f>
jmp    898e <check_mul_double+0x787e>
mov    $0x1,%al
test   $0x1,%al
jne    892e <check_mul_double+0x781e>
jmp    8949 <check_mul_double+0x7839>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1470(%rbp)
ff
movsd  %xmm0,-0x1468(%rbp)
ff
jmp    8969 <check_mul_double+0x7859>
xorps  %xmm1,%xmm1
movsd  0x36ac(%rip),%xmm0
movsd  %xmm1,-0x1470(%rbp)
ff
movsd  %xmm0,-0x1468(%rbp)
ff
jmp    8969 <check_mul_double+0x7859>
movsd  -0x1470(%rbp),%xmm1
ff
movsd  -0x1468(%rbp),%xmm0
ff
movsd  %xmm1,-0x1480(%rbp)
ff
movsd  %xmm0,-0x1478(%rbp)
ff
jmp    89fd <check_mul_double+0x78ed>
mov    $0x1,%al
test   $0x1,%al
jne    899d <check_mul_double+0x788d>
jmp    89bd <check_mul_double+0x78ad>
movsd  0x365b(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x1490(%rbp)
ff
movsd  %xmm0,-0x1488(%rbp)
ff
jmp    89dd <check_mul_double+0x78cd>
movsd  0x363b(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1490(%rbp)
ff
movsd  %xmm0,-0x1488(%rbp)
ff
jmp    89dd <check_mul_double+0x78cd>
movsd  -0x1490(%rbp),%xmm1
ff
movsd  -0x1488(%rbp),%xmm0
ff
movsd  %xmm1,-0x1480(%rbp)
ff
movsd  %xmm0,-0x1478(%rbp)
ff
movsd  -0x1480(%rbp),%xmm1
ff
movsd  -0x1478(%rbp),%xmm0
ff
movsd  %xmm1,-0x460(%rbp)
ff
movsd  %xmm0,-0x458(%rbp)
ff
movsd  -0x460(%rbp),%xmm1
ff
movsd  -0x458(%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    8ac6 <check_mul_double+0x79b6>
movsd  -0x460(%rbp),%xmm0
ff
movaps 0x35bc(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x35c1(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x3595(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    8ac6 <check_mul_double+0x79b6>
jp     8ac6 <check_mul_double+0x79b6>
movsd  -0x458(%rbp),%xmm0
ff
movaps 0x3586(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x358b(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x3557(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    8ac6 <check_mul_double+0x79b6>
jp     8ac6 <check_mul_double+0x79b6>
jmp    8acb <check_mul_double+0x79bb>
call   1030 <abort@plt>
jmp    8ad0 <check_mul_double+0x79c0>
xor    %eax,%eax
test   $0x1,%al
jne    8adf <check_mul_double+0x79cf>
jmp    8b4e <check_mul_double+0x7a3e>
xor    %eax,%eax
test   $0x1,%al
jne    8aee <check_mul_double+0x79de>
jmp    8b09 <check_mul_double+0x79f9>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x14a0(%rbp)
ff
movsd  %xmm0,-0x1498(%rbp)
ff
jmp    8b29 <check_mul_double+0x7a19>
xorps  %xmm1,%xmm1
movsd  0x34ec(%rip),%xmm0
movsd  %xmm1,-0x14a0(%rbp)
ff
movsd  %xmm0,-0x1498(%rbp)
ff
jmp    8b29 <check_mul_double+0x7a19>
movsd  -0x14a0(%rbp),%xmm1
ff
movsd  -0x1498(%rbp),%xmm0
ff
movsd  %xmm1,-0x14b0(%rbp)
ff
movsd  %xmm0,-0x14a8(%rbp)
ff
jmp    8bbd <check_mul_double+0x7aad>
xor    %eax,%eax
test   $0x1,%al
jne    8b5d <check_mul_double+0x7a4d>
jmp    8b7d <check_mul_double+0x7a6d>
movsd  0x349b(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x14c0(%rbp)
ff
movsd  %xmm0,-0x14b8(%rbp)
ff
jmp    8b9d <check_mul_double+0x7a8d>
movsd  0x347b(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x14c0(%rbp)
ff
movsd  %xmm0,-0x14b8(%rbp)
ff
jmp    8b9d <check_mul_double+0x7a8d>
movsd  -0x14c0(%rbp),%xmm1
ff
movsd  -0x14b8(%rbp),%xmm0
ff
movsd  %xmm1,-0x14b0(%rbp)
ff
movsd  %xmm0,-0x14a8(%rbp)
ff
movsd  -0x14b0(%rbp),%xmm1
ff
movsd  -0x14a8(%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    8c86 <check_mul_double+0x7b76>
movsd  -0x470(%rbp),%xmm0
ff
movaps 0x33fc(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x3401(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x33d5(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    8c86 <check_mul_double+0x7b76>
jp     8c86 <check_mul_double+0x7b76>
movsd  -0x468(%rbp),%xmm0
ff
movaps 0x33c6(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x33cb(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x339f(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    8c86 <check_mul_double+0x7b76>
jp     8c86 <check_mul_double+0x7b76>
jmp    8c8b <check_mul_double+0x7b7b>
call   1030 <abort@plt>
jmp    8c90 <check_mul_double+0x7b80>
movsd  -0x460(%rbp),%xmm1
ff
movsd  %xmm1,-0x1500(%rbp)
ff
movsd  -0x458(%rbp),%xmm2
ff
movsd  %xmm2,-0x14f8(%rbp)
ff
movsd  -0x470(%rbp),%xmm4
ff
movsd  %xmm4,-0x14f0(%rbp)
ff
movsd  -0x468(%rbp),%xmm5
ff
movsd  %xmm5,-0x14e8(%rbp)
ff
movaps %xmm1,%xmm0
mulsd  %xmm4,%xmm0
movaps %xmm2,%xmm3
mulsd  %xmm5,%xmm3
mulsd  %xmm5,%xmm1
mulsd  %xmm4,%xmm2
subsd  %xmm3,%xmm0
movsd  %xmm0,-0x14e0(%rbp)
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x14d8(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x14d0(%rbp)
ff
movsd  %xmm1,-0x14c8(%rbp)
ff
jnp    8d77 <check_mul_double+0x7c67>
movsd  -0x14d8(%rbp),%xmm1
ff
movsd  -0x14e0(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x14d0(%rbp)
ff
movsd  %xmm1,-0x14c8(%rbp)
ff
jnp    8d77 <check_mul_double+0x7c67>
movsd  -0x14e8(%rbp),%xmm3
ff
movsd  -0x14f0(%rbp),%xmm2
ff
movsd  -0x14f8(%rbp),%xmm1
ff
movsd  -0x1500(%rbp),%xmm0
ff
call   b860 <__muldc3>
movsd  %xmm0,-0x14d0(%rbp)
ff
movsd  %xmm1,-0x14c8(%rbp)
ff
movsd  -0x14d0(%rbp),%xmm1
ff
movsd  -0x14c8(%rbp),%xmm0
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    8e40 <check_mul_double+0x7d30>
movsd  -0x480(%rbp),%xmm0
ff
movaps 0x3242(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x3247(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x3213(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    8e40 <check_mul_double+0x7d30>
jp     8e40 <check_mul_double+0x7d30>
movsd  -0x478(%rbp),%xmm0
ff
movaps 0x320c(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x3211(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x31dd(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    8e40 <check_mul_double+0x7d30>
jp     8e40 <check_mul_double+0x7d30>
jmp    8e45 <check_mul_double+0x7d35>
call   1030 <abort@plt>
jmp    8e4a <check_mul_double+0x7d3a>
jmp    8e4f <check_mul_double+0x7d3f>
jmp    8e54 <check_mul_double+0x7d44>
xor    %eax,%eax
test   $0x1,%al
jne    8e63 <check_mul_double+0x7d53>
jmp    8ed2 <check_mul_double+0x7dc2>
xor    %eax,%eax
test   $0x1,%al
jne    8e72 <check_mul_double+0x7d62>
jmp    8e8d <check_mul_double+0x7d7d>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1510(%rbp)
ff
movsd  %xmm0,-0x1508(%rbp)
ff
jmp    8ead <check_mul_double+0x7d9d>
xorps  %xmm1,%xmm1
movsd  0x3168(%rip),%xmm0
movsd  %xmm1,-0x1510(%rbp)
ff
movsd  %xmm0,-0x1508(%rbp)
ff
jmp    8ead <check_mul_double+0x7d9d>
movsd  -0x1510(%rbp),%xmm1
ff
movsd  -0x1508(%rbp),%xmm0
ff
movsd  %xmm1,-0x1520(%rbp)
ff
movsd  %xmm0,-0x1518(%rbp)
ff
jmp    8f41 <check_mul_double+0x7e31>
xor    %eax,%eax
test   $0x1,%al
jne    8ee1 <check_mul_double+0x7dd1>
jmp    8f01 <check_mul_double+0x7df1>
movsd  0x3117(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x1530(%rbp)
ff
movsd  %xmm0,-0x1528(%rbp)
ff
jmp    8f21 <check_mul_double+0x7e11>
movsd  0x30f7(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1530(%rbp)
ff
movsd  %xmm0,-0x1528(%rbp)
ff
jmp    8f21 <check_mul_double+0x7e11>
movsd  -0x1530(%rbp),%xmm1
ff
movsd  -0x1528(%rbp),%xmm0
ff
movsd  %xmm1,-0x1520(%rbp)
ff
movsd  %xmm0,-0x1518(%rbp)
ff
movsd  -0x1520(%rbp),%xmm1
ff
movsd  -0x1518(%rbp),%xmm0
ff
movsd  %xmm1,-0x490(%rbp)
ff
movsd  %xmm0,-0x488(%rbp)
ff
movsd  -0x490(%rbp),%xmm1
ff
movsd  -0x488(%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    900a <check_mul_double+0x7efa>
movsd  -0x490(%rbp),%xmm0
ff
movaps 0x3078(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x307d(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x3051(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    900a <check_mul_double+0x7efa>
jp     900a <check_mul_double+0x7efa>
movsd  -0x488(%rbp),%xmm0
ff
movaps 0x3042(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x3047(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x301b(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    900a <check_mul_double+0x7efa>
jp     900a <check_mul_double+0x7efa>
jmp    900f <check_mul_double+0x7eff>
call   1030 <abort@plt>
jmp    9014 <check_mul_double+0x7f04>
mov    $0x1,%al
test   $0x1,%al
jne    9023 <check_mul_double+0x7f13>
jmp    9092 <check_mul_double+0x7f82>
mov    $0x1,%al
test   $0x1,%al
jne    9032 <check_mul_double+0x7f22>
jmp    904d <check_mul_double+0x7f3d>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1540(%rbp)
ff
movsd  %xmm0,-0x1538(%rbp)
ff
jmp    906d <check_mul_double+0x7f5d>
xorps  %xmm1,%xmm1
movsd  0x2fa8(%rip),%xmm0
movsd  %xmm1,-0x1540(%rbp)
ff
movsd  %xmm0,-0x1538(%rbp)
ff
jmp    906d <check_mul_double+0x7f5d>
movsd  -0x1540(%rbp),%xmm1
ff
movsd  -0x1538(%rbp),%xmm0
ff
movsd  %xmm1,-0x1550(%rbp)
ff
movsd  %xmm0,-0x1548(%rbp)
ff
jmp    9101 <check_mul_double+0x7ff1>
mov    $0x1,%al
test   $0x1,%al
jne    90a1 <check_mul_double+0x7f91>
jmp    90c1 <check_mul_double+0x7fb1>
movsd  0x2f57(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x1560(%rbp)
ff
movsd  %xmm0,-0x1558(%rbp)
ff
jmp    90e1 <check_mul_double+0x7fd1>
movsd  0x2f37(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1560(%rbp)
ff
movsd  %xmm0,-0x1558(%rbp)
ff
jmp    90e1 <check_mul_double+0x7fd1>
movsd  -0x1560(%rbp),%xmm1
ff
movsd  -0x1558(%rbp),%xmm0
ff
movsd  %xmm1,-0x1550(%rbp)
ff
movsd  %xmm0,-0x1548(%rbp)
movsd  -0x1550(%rbp),%xmm1
ff
movsd  -0x1548(%rbp),%xmm0
ff
movsd  %xmm1,-0x4a0(%rbp)
ff
movsd  %xmm0,-0x498(%rbp)
ff
movsd  -0x4a0(%rbp),%xmm1
ff
movsd  -0x498(%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    91ca <check_mul_double+0x80ba>
movsd  -0x4a0(%rbp),%xmm0
ff
movaps 0x2eb8(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x2ebd(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x2e89(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    91ca <check_mul_double+0x80ba>
jp     91ca <check_mul_double+0x80ba>
movsd  -0x498(%rbp),%xmm0
ff
movaps 0x2e82(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x2e87(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x2e53(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    91ca <check_mul_double+0x80ba>
jp     91ca <check_mul_double+0x80ba>
jmp    91cf <check_mul_double+0x80bf>
call   1030 <abort@plt>
jmp    91d4 <check_mul_double+0x80c4>
movsd  -0x490(%rbp),%xmm1
ff
movsd  %xmm1,-0x15a0(%rbp)
ff
movsd  -0x488(%rbp),%xmm2
ff
movsd  %xmm2,-0x1598(%rbp)
ff
movsd  -0x4a0(%rbp),%xmm4
ff
movsd  %xmm4,-0x1590(%rbp)
ff
movsd  -0x498(%rbp),%xmm5
ff
movsd  %xmm5,-0x1588(%rbp)
ff
movaps %xmm1,%xmm0
mulsd  %xmm4,%xmm0
movaps %xmm2,%xmm3
mulsd  %xmm5,%xmm3
mulsd  %xmm5,%xmm1
mulsd  %xmm4,%xmm2
subsd  %xmm3,%xmm0
movsd  %xmm0,-0x1580(%rbp)
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x1578(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x1570(%rbp)
ff
movsd  %xmm1,-0x1568(%rbp)
ff
jnp    92bb <check_mul_double+0x81ab>
movsd  -0x1578(%rbp),%xmm1
ff
movsd  -0x1580(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x1570(%rbp)
ff
movsd  %xmm1,-0x1568(%rbp)
ff
jnp    92bb <check_mul_double+0x81ab>
movsd  -0x1588(%rbp),%xmm3
ff
movsd  -0x1590(%rbp),%xmm2
ff
movsd  -0x1598(%rbp),%xmm1
ff
movsd  -0x15a0(%rbp),%xmm0
ff
call   b860 <__muldc3>
movsd  %xmm0,-0x1570(%rbp)
ff
movsd  %xmm1,-0x1568(%rbp)
ff
movsd  -0x1570(%rbp),%xmm1
ff
movsd  -0x1568(%rbp),%xmm0
ff
movsd  %xmm1,-0x4b0(%rbp)
ff
movsd  %xmm0,-0x4a8(%rbp)
ff
movsd  -0x4b0(%rbp),%xmm1
ff
movsd  -0x4a8(%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    9384 <check_mul_double+0x8274>
movsd  -0x4b0(%rbp),%xmm0
ff
movaps 0x2cfe(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x2d03(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x2ccf(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    9384 <check_mul_double+0x8274>
jp     9384 <check_mul_double+0x8274>
movsd  -0x4a8(%rbp),%xmm0
ff
movaps 0x2cc8(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x2ccd(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x2ca1(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    9384 <check_mul_double+0x8274>
jp     9384 <check_mul_double+0x8274>
jmp    9389 <check_mul_double+0x8279>
call   1030 <abort@plt>
jmp    938e <check_mul_double+0x827e>
xor    %eax,%eax
test   $0x1,%al
jne    939d <check_mul_double+0x828d>
jmp    940c <check_mul_double+0x82fc>
xor    %eax,%eax
test   $0x1,%al
jne    93ac <check_mul_double+0x829c>
jmp    93c7 <check_mul_double+0x82b7>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x15b0(%rbp)
ff
movsd  %xmm0,-0x15a8(%rbp)
ff
jmp    93e7 <check_mul_double+0x82d7>
xorps  %xmm1,%xmm1
movsd  0x2c2e(%rip),%xmm0
movsd  %xmm1,-0x15b0(%rbp)
ff
movsd  %xmm0,-0x15a8(%rbp)
ff
jmp    93e7 <check_mul_double+0x82d7>
movsd  -0x15b0(%rbp),%xmm1
ff
movsd  -0x15a8(%rbp),%xmm0
ff
movsd  %xmm1,-0x15c0(%rbp)
ff
movsd  %xmm0,-0x15b8(%rbp)
ff
jmp    947b <check_mul_double+0x836b>
xor    %eax,%eax
test   $0x1,%al
jne    941b <check_mul_double+0x830b>
jmp    943b <check_mul_double+0x832b>
movsd  0x2bdd(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x15d0(%rbp)
ff
movsd  %xmm0,-0x15c8(%rbp)
ff
jmp    945b <check_mul_double+0x834b>
movsd  0x2bbd(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x15d0(%rbp)
ff
movsd  %xmm0,-0x15c8(%rbp)
ff
jmp    945b <check_mul_double+0x834b>
movsd  -0x15d0(%rbp),%xmm1
ff
movsd  -0x15c8(%rbp),%xmm0
ff
movsd  %xmm1,-0x15c0(%rbp)
ff
movsd  %xmm0,-0x15b8(%rbp)
ff
movsd  -0x15c0(%rbp),%xmm1
ff
movsd  -0x15b8(%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    9544 <check_mul_double+0x8434>
movsd  -0x4c0(%rbp),%xmm0
ff
movaps 0x2b3e(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x2b43(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x2b17(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    9544 <check_mul_double+0x8434>
jp     9544 <check_mul_double+0x8434>
movsd  -0x4b8(%rbp),%xmm0
ff
movaps 0x2b08(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x2b0d(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x2ae1(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    9544 <check_mul_double+0x8434>
jp     9544 <check_mul_double+0x8434>
jmp    9549 <check_mul_double+0x8439>
call   1030 <abort@plt>
jmp    954e <check_mul_double+0x843e>
mov    $0x1,%al
test   $0x1,%al
jne    955d <check_mul_double+0x844d>
jmp    95cc <check_mul_double+0x84bc>
mov    $0x1,%al
test   $0x1,%al
jne    956c <check_mul_double+0x845c>
jmp    9587 <check_mul_double+0x8477>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x15e0(%rbp)
ff
movsd  %xmm0,-0x15d8(%rbp)
ff
jmp    95a7 <check_mul_double+0x8497>
xorps  %xmm1,%xmm1
movsd  0x2a6e(%rip),%xmm0
movsd  %xmm1,-0x15e0(%rbp)
ff
movsd  %xmm0,-0x15d8(%rbp)
ff
jmp    95a7 <check_mul_double+0x8497>
movsd  -0x15e0(%rbp),%xmm1
ff
movsd  -0x15d8(%rbp),%xmm0
ff
movsd  %xmm1,-0x15f0(%rbp)
ff
movsd  %xmm0,-0x15e8(%rbp)
ff
jmp    963b <check_mul_double+0x852b>
mov    $0x1,%al
test   $0x1,%al
jne    95db <check_mul_double+0x84cb>
jmp    95fb <check_mul_double+0x84eb>
movsd  0x2a1d(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x1600(%rbp)
ff
movsd  %xmm0,-0x15f8(%rbp)
ff
jmp    961b <check_mul_double+0x850b>
movsd  0x29fd(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1600(%rbp)
ff
movsd  %xmm0,-0x15f8(%rbp)
ff
jmp    961b <check_mul_double+0x850b>
movsd  -0x1600(%rbp),%xmm1
ff
movsd  -0x15f8(%rbp),%xmm0
ff
movsd  %xmm1,-0x15f0(%rbp)
ff
movsd  %xmm0,-0x15e8(%rbp)
ff
movsd  -0x15f0(%rbp),%xmm1
ff
movsd  -0x15e8(%rbp),%xmm0
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    9704 <check_mul_double+0x85f4>
movsd  -0x4d0(%rbp),%xmm0
ff
movaps 0x297e(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x2983(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x294f(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    9704 <check_mul_double+0x85f4>
jp     9704 <check_mul_double+0x85f4>
movsd  -0x4c8(%rbp),%xmm0
ff
movaps 0x2948(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x294d(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x2919(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    9704 <check_mul_double+0x85f4>
jp     9704 <check_mul_double+0x85f4>
jmp    9709 <check_mul_double+0x85f9>
call   1030 <abort@plt>
jmp    970e <check_mul_double+0x85fe>
movsd  -0x4c0(%rbp),%xmm1
ff
movsd  %xmm1,-0x1640(%rbp)
ff
movsd  -0x4b8(%rbp),%xmm2
ff
movsd  %xmm2,-0x1638(%rbp)
ff
movsd  -0x4d0(%rbp),%xmm4
ff
movsd  %xmm4,-0x1630(%rbp)
ff
movsd  -0x4c8(%rbp),%xmm5
ff
movsd  %xmm5,-0x1628(%rbp)
ff
movaps %xmm1,%xmm0
mulsd  %xmm4,%xmm0
movaps %xmm2,%xmm3
mulsd  %xmm5,%xmm3
mulsd  %xmm5,%xmm1
mulsd  %xmm4,%xmm2
subsd  %xmm3,%xmm0
movsd  %xmm0,-0x1620(%rbp)
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x1618(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x1610(%rbp)
ff
movsd  %xmm1,-0x1608(%rbp)
ff
jnp    97f5 <check_mul_double+0x86e5>
movsd  -0x1618(%rbp),%xmm1
ff
movsd  -0x1620(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x1610(%rbp)
ff
movsd  %xmm1,-0x1608(%rbp)
ff
jnp    97f5 <check_mul_double+0x86e5>
movsd  -0x1628(%rbp),%xmm3
ff
movsd  -0x1630(%rbp),%xmm2
ff
movsd  -0x1638(%rbp),%xmm1
ff
movsd  -0x1640(%rbp),%xmm0
ff
call   b860 <__muldc3>
movsd  %xmm0,-0x1610(%rbp)
ff
movsd  %xmm1,-0x1608(%rbp)
ff
movsd  -0x1610(%rbp),%xmm1
ff
movsd  -0x1608(%rbp),%xmm0
ff
movsd  %xmm1,-0x4e0(%rbp)
ff
movsd  %xmm0,-0x4d8(%rbp)
ff
movsd  -0x4e0(%rbp),%xmm1
ff
movsd  -0x4d8(%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    98be <check_mul_double+0x87ae>
movsd  -0x4e0(%rbp),%xmm0
ff
movaps 0x27c4(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x27c9(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x2795(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    98be <check_mul_double+0x87ae>
jp     98be <check_mul_double+0x87ae>
movsd  -0x4d8(%rbp),%xmm0
ff
movaps 0x278e(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x2793(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x2767(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    98be <check_mul_double+0x87ae>
jp     98be <check_mul_double+0x87ae>
jmp    98c3 <check_mul_double+0x87b3>
call   1030 <abort@plt>
jmp    98c8 <check_mul_double+0x87b8>
jmp    98cd <check_mul_double+0x87bd>
jmp    98d2 <check_mul_double+0x87c2>
xor    %eax,%eax
test   $0x1,%al
jne    98e1 <check_mul_double+0x87d1>
jmp    9950 <check_mul_double+0x8840>
xor    %eax,%eax
test   $0x1,%al
jne    98f0 <check_mul_double+0x87e0>
jmp    990b <check_mul_double+0x87fb>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1650(%rbp)
ff
movsd  %xmm0,-0x1648(%rbp)
ff
jmp    992b <check_mul_double+0x881b>
xorps  %xmm1,%xmm1
movsd  0x26ea(%rip),%xmm0
movsd  %xmm1,-0x1650(%rbp)
ff
movsd  %xmm0,-0x1648(%rbp)
ff
jmp    992b <check_mul_double+0x881b>
movsd  -0x1650(%rbp),%xmm1
ff
movsd  -0x1648(%rbp),%xmm0
ff
movsd  %xmm1,-0x1660(%rbp)
ff
movsd  %xmm0,-0x1658(%rbp)
ff
jmp    99bf <check_mul_double+0x88af>
xor    %eax,%eax
test   $0x1,%al
jne    995f <check_mul_double+0x884f>
jmp    997f <check_mul_double+0x886f>
movsd  0x2699(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x1670(%rbp)
ff
movsd  %xmm0,-0x1668(%rbp)
ff
jmp    999f <check_mul_double+0x888f>
movsd  0x2679(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1670(%rbp)
ff
movsd  %xmm0,-0x1668(%rbp)
ff
jmp    999f <check_mul_double+0x888f>
movsd  -0x1670(%rbp),%xmm1
ff
movsd  -0x1668(%rbp),%xmm0
ff
movsd  %xmm1,-0x1660(%rbp)
ff
movsd  %xmm0,-0x1658(%rbp)
ff
movsd  -0x1660(%rbp),%xmm1
ff
movsd  -0x1658(%rbp),%xmm0
ff
movsd  %xmm1,-0x4f0(%rbp)
ff
movsd  %xmm0,-0x4e8(%rbp)
ff
movsd  -0x4f0(%rbp),%xmm1
ff
movsd  -0x4e8(%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    9a88 <check_mul_double+0x8978>
movsd  -0x4f0(%rbp),%xmm0
ff
movaps 0x25fa(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x25ff(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x25d3(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    9a88 <check_mul_double+0x8978>
jp     9a88 <check_mul_double+0x8978>
movsd  -0x4e8(%rbp),%xmm0
ff
movaps 0x25c4(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x25c9(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x259d(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    9a88 <check_mul_double+0x8978>
jp     9a88 <check_mul_double+0x8978>
jmp    9a8d <check_mul_double+0x897d>
call   1030 <abort@plt>
jmp    9a92 <check_mul_double+0x8982>
mov    $0x1,%al
test   $0x1,%al
jne    9aa1 <check_mul_double+0x8991>
jmp    9b10 <check_mul_double+0x8a00>
xor    %eax,%eax
test   $0x1,%al
jne    9ab0 <check_mul_double+0x89a0>
jmp    9acb <check_mul_double+0x89bb>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1680(%rbp)
ff
movsd  %xmm0,-0x1678(%rbp)
ff
jmp    9aeb <check_mul_double+0x89db>
xorps  %xmm1,%xmm1
movsd  0x252a(%rip),%xmm0
movsd  %xmm1,-0x1680(%rbp)
ff
movsd  %xmm0,-0x1678(%rbp)
ff
jmp    9aeb <check_mul_double+0x89db>
movsd  -0x1680(%rbp),%xmm1
ff
movsd  -0x1678(%rbp),%xmm0
ff
movsd  %xmm1,-0x1690(%rbp)
ff
movsd  %xmm0,-0x1688(%rbp)
ff
jmp    9b7f <check_mul_double+0x8a6f>
xor    %eax,%eax
test   $0x1,%al
jne    9b1f <check_mul_double+0x8a0f>
jmp    9b3f <check_mul_double+0x8a2f>
movsd  0x24d9(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x16a0(%rbp)
ff
movsd  %xmm0,-0x1698(%rbp)
ff
jmp    9b5f <check_mul_double+0x8a4f>
movsd  0x24b9(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x16a0(%rbp)
ff
movsd  %xmm0,-0x1698(%rbp)
ff
jmp    9b5f <check_mul_double+0x8a4f>
movsd  -0x16a0(%rbp),%xmm1
ff
movsd  -0x1698(%rbp),%xmm0
ff
movsd  %xmm1,-0x1690(%rbp)
ff
movsd  %xmm0,-0x1688(%rbp)
ff
movsd  -0x1690(%rbp),%xmm1
ff
movsd  -0x1688(%rbp),%xmm0
ff
movsd  %xmm1,-0x500(%rbp)
ff
movsd  %xmm0,-0x4f8(%rbp)
ff
movsd  -0x500(%rbp),%xmm1
ff
movsd  -0x4f8(%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    9c48 <check_mul_double+0x8b38>
movsd  -0x500(%rbp),%xmm0
ff
movaps 0x243a(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x243f(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x240b(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    9c48 <check_mul_double+0x8b38>
jp     9c48 <check_mul_double+0x8b38>
movsd  -0x4f8(%rbp),%xmm0
ff
movaps 0x2404(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x2409(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x23dd(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    9c48 <check_mul_double+0x8b38>
jp     9c48 <check_mul_double+0x8b38>
jmp    9c4d <check_mul_double+0x8b3d>
call   1030 <abort@plt>
jmp    9c52 <check_mul_double+0x8b42>
movsd  -0x4f0(%rbp),%xmm1
ff
movsd  %xmm1,-0x16e0(%rbp)
ff
movsd  -0x4e8(%rbp),%xmm2
ff
movsd  %xmm2,-0x16d8(%rbp)
ff
movsd  -0x500(%rbp),%xmm4
ff
movsd  %xmm4,-0x16d0(%rbp)
ff
movsd  -0x4f8(%rbp),%xmm5
ff
movsd  %xmm5,-0x16c8(%rbp)
ff
movaps %xmm1,%xmm0
mulsd  %xmm4,%xmm0
movaps %xmm2,%xmm3
mulsd  %xmm5,%xmm3
mulsd  %xmm5,%xmm1
mulsd  %xmm4,%xmm2
subsd  %xmm3,%xmm0
movsd  %xmm0,-0x16c0(%rbp)
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x16b8(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x16b0(%rbp)
ff
movsd  %xmm1,-0x16a8(%rbp)
ff
jnp    9d39 <check_mul_double+0x8c29>
movsd  -0x16b8(%rbp),%xmm1
ff
movsd  -0x16c0(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x16b0(%rbp)
ff
movsd  %xmm1,-0x16a8(%rbp)
ff
jnp    9d39 <check_mul_double+0x8c29>
movsd  -0x16c8(%rbp),%xmm3
ff
movsd  -0x16d0(%rbp),%xmm2
ff
movsd  -0x16d8(%rbp),%xmm1
ff
movsd  -0x16e0(%rbp),%xmm0
ff
call   b860 <__muldc3>
movsd  %xmm0,-0x16b0(%rbp)
ff
movsd  %xmm1,-0x16a8(%rbp)
ff
movsd  -0x16b0(%rbp),%xmm1
ff
movsd  -0x16a8(%rbp),%xmm0
ff
movsd  %xmm1,-0x510(%rbp)
ff
movsd  %xmm0,-0x508(%rbp)
ff
movsd  -0x510(%rbp),%xmm1
ff
movsd  -0x508(%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    9e02 <check_mul_double+0x8cf2>
movsd  -0x510(%rbp),%xmm0
ff
movaps 0x2280(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x2285(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x2259(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    9e02 <check_mul_double+0x8cf2>
jp     9e02 <check_mul_double+0x8cf2>
movsd  -0x508(%rbp),%xmm0
ff
movaps 0x224a(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x224f(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x221b(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    9e02 <check_mul_double+0x8cf2>
jp     9e02 <check_mul_double+0x8cf2>
jmp    9e07 <check_mul_double+0x8cf7>
call   1030 <abort@plt>
jmp    9e0c <check_mul_double+0x8cfc>
xor    %eax,%eax
test   $0x1,%al
jne    9e1b <check_mul_double+0x8d0b>
jmp    9e8a <check_mul_double+0x8d7a>
xor    %eax,%eax
test   $0x1,%al
jne    9e2a <check_mul_double+0x8d1a>
jmp    9e45 <check_mul_double+0x8d35>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x16f0(%rbp)
ff
movsd  %xmm0,-0x16e8(%rbp)
ff
jmp    9e65 <check_mul_double+0x8d55>
xorps  %xmm1,%xmm1
movsd  0x21b0(%rip),%xmm0
movsd  %xmm1,-0x16f0(%rbp)
ff
movsd  %xmm0,-0x16e8(%rbp)
ff
jmp    9e65 <check_mul_double+0x8d55>
movsd  -0x16f0(%rbp),%xmm1
ff
movsd  -0x16e8(%rbp),%xmm0
ff
movsd  %xmm1,-0x1700(%rbp)
ff
movsd  %xmm0,-0x16f8(%rbp)
ff
jmp    9ef9 <check_mul_double+0x8de9>
xor    %eax,%eax
test   $0x1,%al
jne    9e99 <check_mul_double+0x8d89>
jmp    9eb9 <check_mul_double+0x8da9>
movsd  0x215f(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x1710(%rbp)
ff
movsd  %xmm0,-0x1708(%rbp)
ff
jmp    9ed9 <check_mul_double+0x8dc9>
movsd  0x213f(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1710(%rbp)
ff
movsd  %xmm0,-0x1708(%rbp)
ff
jmp    9ed9 <check_mul_double+0x8dc9>
movsd  -0x1710(%rbp),%xmm1
ff
movsd  -0x1708(%rbp),%xmm0
ff
movsd  %xmm1,-0x1700(%rbp)
ff
movsd  %xmm0,-0x16f8(%rbp)
ff
movsd  -0x1700(%rbp),%xmm1
movsd  -0x16f8(%rbp),%xmm0
ff
movsd  %xmm1,-0x520(%rbp)
ff
movsd  %xmm0,-0x518(%rbp)
ff
movsd  -0x520(%rbp),%xmm1
ff
movsd  -0x518(%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    9fc2 <check_mul_double+0x8eb2>
movsd  -0x520(%rbp),%xmm0
ff
movaps 0x20c0(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x20c5(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x2099(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    9fc2 <check_mul_double+0x8eb2>
jp     9fc2 <check_mul_double+0x8eb2>
movsd  -0x518(%rbp),%xmm0
ff
movaps 0x208a(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x208f(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x2063(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    9fc2 <check_mul_double+0x8eb2>
jp     9fc2 <check_mul_double+0x8eb2>
jmp    9fc7 <check_mul_double+0x8eb7>
call   1030 <abort@plt>
jmp    9fcc <check_mul_double+0x8ebc>
mov    $0x1,%al
test   $0x1,%al
jne    9fdb <check_mul_double+0x8ecb>
jmp    a04a <check_mul_double+0x8f3a>
xor    %eax,%eax
test   $0x1,%al
jne    9fea <check_mul_double+0x8eda>
jmp    a005 <check_mul_double+0x8ef5>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1720(%rbp)
ff
movsd  %xmm0,-0x1718(%rbp)
ff
jmp    a025 <check_mul_double+0x8f15>
xorps  %xmm1,%xmm1
movsd  0x1ff0(%rip),%xmm0
movsd  %xmm1,-0x1720(%rbp)
ff
movsd  %xmm0,-0x1718(%rbp)
ff
jmp    a025 <check_mul_double+0x8f15>
movsd  -0x1720(%rbp),%xmm1
ff
movsd  -0x1718(%rbp),%xmm0
ff
movsd  %xmm1,-0x1730(%rbp)
ff
movsd  %xmm0,-0x1728(%rbp)
ff
jmp    a0b9 <check_mul_double+0x8fa9>
xor    %eax,%eax
test   $0x1,%al
jne    a059 <check_mul_double+0x8f49>
jmp    a079 <check_mul_double+0x8f69>
movsd  0x1f9f(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x1740(%rbp)
ff
movsd  %xmm0,-0x1738(%rbp)
ff
jmp    a099 <check_mul_double+0x8f89>
movsd  0x1f7f(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1740(%rbp)
ff
movsd  %xmm0,-0x1738(%rbp)
ff
jmp    a099 <check_mul_double+0x8f89>
movsd  -0x1740(%rbp),%xmm1
ff
movsd  -0x1738(%rbp),%xmm0
ff
movsd  %xmm1,-0x1730(%rbp)
ff
movsd  %xmm0,-0x1728(%rbp)
ff
movsd  -0x1730(%rbp),%xmm1
ff
movsd  -0x1728(%rbp),%xmm0
ff
movsd  %xmm1,-0x530(%rbp)
ff
movsd  %xmm0,-0x528(%rbp)
ff
movsd  -0x530(%rbp),%xmm1
ff
movsd  -0x528(%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    a182 <check_mul_double+0x9072>
movsd  -0x530(%rbp),%xmm0
ff
movaps 0x1f00(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1f05(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x1ed1(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    a182 <check_mul_double+0x9072>
jp     a182 <check_mul_double+0x9072>
movsd  -0x528(%rbp),%xmm0
ff
movaps 0x1eca(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1ecf(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x1ea3(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    a182 <check_mul_double+0x9072>
jp     a182 <check_mul_double+0x9072>
jmp    a187 <check_mul_double+0x9077>
call   1030 <abort@plt>
jmp    a18c <check_mul_double+0x907c>
movsd  -0x520(%rbp),%xmm1
ff
movsd  %xmm1,-0x1780(%rbp)
ff
movsd  -0x518(%rbp),%xmm2
ff
movsd  %xmm2,-0x1778(%rbp)
ff
movsd  -0x530(%rbp),%xmm4
ff
movsd  %xmm4,-0x1770(%rbp)
ff
movsd  -0x528(%rbp),%xmm5
ff
movsd  %xmm5,-0x1768(%rbp)
ff
movaps %xmm1,%xmm0
mulsd  %xmm4,%xmm0
movaps %xmm2,%xmm3
mulsd  %xmm5,%xmm3
mulsd  %xmm5,%xmm1
mulsd  %xmm4,%xmm2
subsd  %xmm3,%xmm0
movsd  %xmm0,-0x1760(%rbp)
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x1758(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x1750(%rbp)
ff
movsd  %xmm1,-0x1748(%rbp)
ff
jnp    a273 <check_mul_double+0x9163>
movsd  -0x1758(%rbp),%xmm1
ff
movsd  -0x1760(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x1750(%rbp)
ff
movsd  %xmm1,-0x1748(%rbp)
ff
jnp    a273 <check_mul_double+0x9163>
movsd  -0x1768(%rbp),%xmm3
ff
movsd  -0x1770(%rbp),%xmm2
ff
movsd  -0x1778(%rbp),%xmm1
ff
movsd  -0x1780(%rbp),%xmm0
ff
call   b860 <__muldc3>
movsd  %xmm0,-0x1750(%rbp)
ff
movsd  %xmm1,-0x1748(%rbp)
ff
movsd  -0x1750(%rbp),%xmm1
ff
movsd  -0x1748(%rbp),%xmm0
ff
movsd  %xmm1,-0x540(%rbp)
ff
movsd  %xmm0,-0x538(%rbp)
ff
movsd  -0x540(%rbp),%xmm1
ff
movsd  -0x538(%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    a33c <check_mul_double+0x922c>
movsd  -0x540(%rbp),%xmm0
ff
movaps 0x1d46(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1d4b(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x1d1f(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    a33c <check_mul_double+0x922c>
jp     a33c <check_mul_double+0x922c>
movsd  -0x538(%rbp),%xmm0
ff
movaps 0x1d10(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1d15(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x1ce1(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    a33c <check_mul_double+0x922c>
jp     a33c <check_mul_double+0x922c>
jmp    a341 <check_mul_double+0x9231>
call   1030 <abort@plt>
jmp    a346 <check_mul_double+0x9236>
jmp    a34b <check_mul_double+0x923b>
jmp    a350 <check_mul_double+0x9240>
xor    %eax,%eax
test   $0x1,%al
jne    a35f <check_mul_double+0x924f>
jmp    a3ce <check_mul_double+0x92be>
xor    %eax,%eax
test   $0x1,%al
jne    a36e <check_mul_double+0x925e>
jmp    a389 <check_mul_double+0x9279>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1790(%rbp)
ff
movsd  %xmm0,-0x1788(%rbp)
ff
jmp    a3a9 <check_mul_double+0x9299>
xorps  %xmm1,%xmm1
movsd  0x1c6c(%rip),%xmm0
movsd  %xmm1,-0x1790(%rbp)
ff
movsd  %xmm0,-0x1788(%rbp)
ff
jmp    a3a9 <check_mul_double+0x9299>
movsd  -0x1790(%rbp),%xmm1
ff
movsd  -0x1788(%rbp),%xmm0
ff
movsd  %xmm1,-0x17a0(%rbp)
ff
movsd  %xmm0,-0x1798(%rbp)
ff
jmp    a43d <check_mul_double+0x932d>
xor    %eax,%eax
test   $0x1,%al
jne    a3dd <check_mul_double+0x92cd>
jmp    a3fd <check_mul_double+0x92ed>
movsd  0x1c1b(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x17b0(%rbp)
ff
movsd  %xmm0,-0x17a8(%rbp)
ff
jmp    a41d <check_mul_double+0x930d>
movsd  0x1bfb(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x17b0(%rbp)
ff
movsd  %xmm0,-0x17a8(%rbp)
ff
jmp    a41d <check_mul_double+0x930d>
movsd  -0x17b0(%rbp),%xmm1
ff
movsd  -0x17a8(%rbp),%xmm0
ff
movsd  %xmm1,-0x17a0(%rbp)
ff
movsd  %xmm0,-0x1798(%rbp)
ff
movsd  -0x17a0(%rbp),%xmm1
ff
movsd  -0x1798(%rbp),%xmm0
ff
movsd  %xmm1,-0x550(%rbp)
ff
movsd  %xmm0,-0x548(%rbp)
ff
movsd  -0x550(%rbp),%xmm1
ff
movsd  -0x548(%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    a506 <check_mul_double+0x93f6>
movsd  -0x550(%rbp),%xmm0
ff
movaps 0x1b7c(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1b81(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x1b55(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    a506 <check_mul_double+0x93f6>
jp     a506 <check_mul_double+0x93f6>
movsd  -0x548(%rbp),%xmm0
ff
movaps 0x1b46(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1b4b(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x1b1f(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    a506 <check_mul_double+0x93f6>
jp     a506 <check_mul_double+0x93f6>
jmp    a50b <check_mul_double+0x93fb>
call   1030 <abort@plt>
jmp    a510 <check_mul_double+0x9400>
xor    %eax,%eax
test   $0x1,%al
jne    a51f <check_mul_double+0x940f>
jmp    a58e <check_mul_double+0x947e>
mov    $0x1,%al
test   $0x1,%al
jne    a52e <check_mul_double+0x941e>
jmp    a549 <check_mul_double+0x9439>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x17c0(%rbp)
ff
movsd  %xmm0,-0x17b8(%rbp)
ff
jmp    a569 <check_mul_double+0x9459>
xorps  %xmm1,%xmm1
movsd  0x1aac(%rip),%xmm0
movsd  %xmm1,-0x17c0(%rbp)
ff
movsd  %xmm0,-0x17b8(%rbp)
ff
jmp    a569 <check_mul_double+0x9459>
movsd  -0x17c0(%rbp),%xmm1
ff
movsd  -0x17b8(%rbp),%xmm0
ff
movsd  %xmm1,-0x17d0(%rbp)
ff
movsd  %xmm0,-0x17c8(%rbp)
ff
jmp    a5fd <check_mul_double+0x94ed>
mov    $0x1,%al
test   $0x1,%al
jne    a59d <check_mul_double+0x948d>
jmp    a5bd <check_mul_double+0x94ad>
movsd  0x1a5b(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x17e0(%rbp)
ff
movsd  %xmm0,-0x17d8(%rbp)
ff
jmp    a5dd <check_mul_double+0x94cd>
movsd  0x1a3b(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x17e0(%rbp)
ff
movsd  %xmm0,-0x17d8(%rbp)
ff
jmp    a5dd <check_mul_double+0x94cd>
movsd  -0x17e0(%rbp),%xmm1
ff
movsd  -0x17d8(%rbp),%xmm0
ff
movsd  %xmm1,-0x17d0(%rbp)
ff
movsd  %xmm0,-0x17c8(%rbp)
ff
movsd  -0x17d0(%rbp),%xmm1
ff
movsd  -0x17c8(%rbp),%xmm0
ff
movsd  %xmm1,-0x560(%rbp)
ff
movsd  %xmm0,-0x558(%rbp)
ff
movsd  -0x560(%rbp),%xmm1
ff
movsd  -0x558(%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    a6c6 <check_mul_double+0x95b6>
movsd  -0x560(%rbp),%xmm0
ff
movaps 0x19bc(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x19c1(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x1995(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    a6c6 <check_mul_double+0x95b6>
jp     a6c6 <check_mul_double+0x95b6>
movsd  -0x558(%rbp),%xmm0
ff
movaps 0x1986(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x198b(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x1957(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    a6c6 <check_mul_double+0x95b6>
jp     a6c6 <check_mul_double+0x95b6>
jmp    a6cb <check_mul_double+0x95bb>
call   1030 <abort@plt>
jmp    a6d0 <check_mul_double+0x95c0>
movsd  -0x550(%rbp),%xmm1
ff
movsd  %xmm1,-0x1820(%rbp)
ff
movsd  -0x548(%rbp),%xmm2
ff
movsd  %xmm2,-0x1818(%rbp)
ff
movsd  -0x560(%rbp),%xmm4
ff
movsd  %xmm4,-0x1810(%rbp)
ff
movsd  -0x558(%rbp),%xmm5
ff
movsd  %xmm5,-0x1808(%rbp)
ff
movaps %xmm1,%xmm0
mulsd  %xmm4,%xmm0
movaps %xmm2,%xmm3
mulsd  %xmm5,%xmm3
mulsd  %xmm5,%xmm1
mulsd  %xmm4,%xmm2
subsd  %xmm3,%xmm0
movsd  %xmm0,-0x1800(%rbp)
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x17f8(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x17f0(%rbp)
ff
movsd  %xmm1,-0x17e8(%rbp)
ff
jnp    a7b7 <check_mul_double+0x96a7>
movsd  -0x17f8(%rbp),%xmm1
ff
movsd  -0x1800(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x17f0(%rbp)
ff
movsd  %xmm1,-0x17e8(%rbp)
ff
jnp    a7b7 <check_mul_double+0x96a7>
movsd  -0x1808(%rbp),%xmm3
ff
movsd  -0x1810(%rbp),%xmm2
ff
movsd  -0x1818(%rbp),%xmm1
ff
movsd  -0x1820(%rbp),%xmm0
ff
call   b860 <__muldc3>
movsd  %xmm0,-0x17f0(%rbp)
ff
movsd  %xmm1,-0x17e8(%rbp)
ff
movsd  -0x17f0(%rbp),%xmm1
ff
movsd  -0x17e8(%rbp),%xmm0
ff
movsd  %xmm1,-0x570(%rbp)
ff
movsd  %xmm0,-0x568(%rbp)
ff
movsd  -0x570(%rbp),%xmm1
ff
movsd  -0x568(%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    a880 <check_mul_double+0x9770>
movsd  -0x570(%rbp),%xmm0
ff
movaps 0x1802(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1807(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x17d3(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    a880 <check_mul_double+0x9770>
jp     a880 <check_mul_double+0x9770>
movsd  -0x568(%rbp),%xmm0
ff
movaps 0x17cc(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x17d1(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x179d(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    a880 <check_mul_double+0x9770>
jp     a880 <check_mul_double+0x9770>
jmp    a885 <check_mul_double+0x9775>
call   1030 <abort@plt>
jmp    a88a <check_mul_double+0x977a>
xor    %eax,%eax
test   $0x1,%al
jne    a899 <check_mul_double+0x9789>
jmp    a908 <check_mul_double+0x97f8>
xor    %eax,%eax
test   $0x1,%al
jne    a8a8 <check_mul_double+0x9798>
jmp    a8c3 <check_mul_double+0x97b3>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1830(%rbp)
ff
movsd  %xmm0,-0x1828(%rbp)
ff
jmp    a8e3 <check_mul_double+0x97d3>
xorps  %xmm1,%xmm1
movsd  0x1732(%rip),%xmm0
movsd  %xmm1,-0x1830(%rbp)
ff
movsd  %xmm0,-0x1828(%rbp)
ff
jmp    a8e3 <check_mul_double+0x97d3>
movsd  -0x1830(%rbp),%xmm1
ff
movsd  -0x1828(%rbp),%xmm0
ff
movsd  %xmm1,-0x1840(%rbp)
ff
movsd  %xmm0,-0x1838(%rbp)
ff
jmp    a977 <check_mul_double+0x9867>
xor    %eax,%eax
test   $0x1,%al
jne    a917 <check_mul_double+0x9807>
jmp    a937 <check_mul_double+0x9827>
movsd  0x16e1(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x1850(%rbp)
ff
movsd  %xmm0,-0x1848(%rbp)
ff
jmp    a957 <check_mul_double+0x9847>
movsd  0x16c1(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1850(%rbp)
ff
movsd  %xmm0,-0x1848(%rbp)
ff
jmp    a957 <check_mul_double+0x9847>
movsd  -0x1850(%rbp),%xmm1
ff
movsd  -0x1848(%rbp),%xmm0
ff
movsd  %xmm1,-0x1840(%rbp)
ff
movsd  %xmm0,-0x1838(%rbp)
ff
movsd  -0x1840(%rbp),%xmm1
ff
movsd  -0x1838(%rbp),%xmm0
ff
movsd  %xmm1,-0x580(%rbp)
ff
movsd  %xmm0,-0x578(%rbp)
ff
movsd  -0x580(%rbp),%xmm1
ff
movsd  -0x578(%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    aa40 <check_mul_double+0x9930>
movsd  -0x580(%rbp),%xmm0
ff
movaps 0x1642(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1647(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x161b(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    aa40 <check_mul_double+0x9930>
jp     aa40 <check_mul_double+0x9930>
movsd  -0x578(%rbp),%xmm0
ff
movaps 0x160c(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1611(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x15e5(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    aa40 <check_mul_double+0x9930>
jp     aa40 <check_mul_double+0x9930>
jmp    aa45 <check_mul_double+0x9935>
call   1030 <abort@plt>
jmp    aa4a <check_mul_double+0x993a>
xor    %eax,%eax
test   $0x1,%al
jne    aa59 <check_mul_double+0x9949>
jmp    aac8 <check_mul_double+0x99b8>
mov    $0x1,%al
test   $0x1,%al
jne    aa68 <check_mul_double+0x9958>
jmp    aa83 <check_mul_double+0x9973>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1860(%rbp)
ff
movsd  %xmm0,-0x1858(%rbp)
ff
jmp    aaa3 <check_mul_double+0x9993>
xorps  %xmm1,%xmm1
movsd  0x1572(%rip),%xmm0
movsd  %xmm1,-0x1860(%rbp)
ff
movsd  %xmm0,-0x1858(%rbp)
ff
jmp    aaa3 <check_mul_double+0x9993>
movsd  -0x1860(%rbp),%xmm1
ff
movsd  -0x1858(%rbp),%xmm0
ff
movsd  %xmm1,-0x1870(%rbp)
ff
movsd  %xmm0,-0x1868(%rbp)
ff
jmp    ab37 <check_mul_double+0x9a27>
mov    $0x1,%al
test   $0x1,%al
jne    aad7 <check_mul_double+0x99c7>
jmp    aaf7 <check_mul_double+0x99e7>
movsd  0x1521(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x1880(%rbp)
ff
movsd  %xmm0,-0x1878(%rbp)
ff
jmp    ab17 <check_mul_double+0x9a07>
movsd  0x1501(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1880(%rbp)
ff
movsd  %xmm0,-0x1878(%rbp)
ff
jmp    ab17 <check_mul_double+0x9a07>
movsd  -0x1880(%rbp),%xmm1
ff
movsd  -0x1878(%rbp),%xmm0
ff
movsd  %xmm1,-0x1870(%rbp)
ff
movsd  %xmm0,-0x1868(%rbp)
ff
movsd  -0x1870(%rbp),%xmm1
ff
movsd  -0x1868(%rbp),%xmm0
ff
movsd  %xmm1,-0x590(%rbp)
ff
movsd  %xmm0,-0x588(%rbp)
ff
movsd  -0x590(%rbp),%xmm1
ff
movsd  -0x588(%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    ac00 <check_mul_double+0x9af0>
movsd  -0x590(%rbp),%xmm0
ff
movaps 0x1482(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1487(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x145b(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    ac00 <check_mul_double+0x9af0>
jp     ac00 <check_mul_double+0x9af0>
movsd  -0x588(%rbp),%xmm0
ff
movaps 0x144c(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1451(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x141d(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    ac00 <check_mul_double+0x9af0>
jp     ac00 <check_mul_double+0x9af0>
jmp    ac05 <check_mul_double+0x9af5>
call   1030 <abort@plt>
jmp    ac0a <check_mul_double+0x9afa>
movsd  -0x580(%rbp),%xmm1
ff
movsd  %xmm1,-0x18c0(%rbp)
ff
movsd  -0x578(%rbp),%xmm2
ff
movsd  %xmm2,-0x18b8(%rbp)
ff
movsd  -0x590(%rbp),%xmm4
ff
movsd  %xmm4,-0x18b0(%rbp)
ff
movsd  -0x588(%rbp),%xmm5
ff
movsd  %xmm5,-0x18a8(%rbp)
ff
movaps %xmm1,%xmm0
mulsd  %xmm4,%xmm0
movaps %xmm2,%xmm3
mulsd  %xmm5,%xmm3
mulsd  %xmm5,%xmm1
mulsd  %xmm4,%xmm2
subsd  %xmm3,%xmm0
movsd  %xmm0,-0x18a0(%rbp)
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x1898(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x1890(%rbp)
ff
movsd  %xmm1,-0x1888(%rbp)
ff
jnp    acf1 <check_mul_double+0x9be1>
movsd  -0x1898(%rbp),%xmm1
ff
movsd  -0x18a0(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x1890(%rbp)
ff
movsd  %xmm1,-0x1888(%rbp)
ff
jnp    acf1 <check_mul_double+0x9be1>
movsd  -0x18a8(%rbp),%xmm3
ff
movsd  -0x18b0(%rbp),%xmm2
ff
movsd  -0x18b8(%rbp),%xmm1
ff
movsd  -0x18c0(%rbp),%xmm0
ff
call   b860 <__muldc3>
movsd  %xmm0,-0x1890(%rbp)
ff
movsd  %xmm1,-0x1888(%rbp)
ff
movsd  -0x1890(%rbp),%xmm1
ff
movsd  -0x1888(%rbp),%xmm0
movsd  %xmm1,-0x5a0(%rbp)
ff
movsd  %xmm0,-0x598(%rbp)
ff
movsd  -0x5a0(%rbp),%xmm1
ff
movsd  -0x598(%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    adba <check_mul_double+0x9caa>
movsd  -0x5a0(%rbp),%xmm0
ff
movaps 0x12c8(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x12cd(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x1299(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    adba <check_mul_double+0x9caa>
jp     adba <check_mul_double+0x9caa>
movsd  -0x598(%rbp),%xmm0
ff
movaps 0x1292(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1297(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x1263(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    adba <check_mul_double+0x9caa>
jp     adba <check_mul_double+0x9caa>
jmp    adbf <check_mul_double+0x9caf>
call   1030 <abort@plt>
jmp    adc4 <check_mul_double+0x9cb4>
jmp    adc9 <check_mul_double+0x9cb9>
jmp    adce <check_mul_double+0x9cbe>
xor    %eax,%eax
test   $0x1,%al
jne    addd <check_mul_double+0x9ccd>
jmp    ae4c <check_mul_double+0x9d3c>
xor    %eax,%eax
test   $0x1,%al
jne    adec <check_mul_double+0x9cdc>
jmp    ae07 <check_mul_double+0x9cf7>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x18d0(%rbp)
ff
movsd  %xmm0,-0x18c8(%rbp)
ff
jmp    ae27 <check_mul_double+0x9d17>
xorps  %xmm1,%xmm1
movsd  0x11ee(%rip),%xmm0
movsd  %xmm1,-0x18d0(%rbp)
ff
movsd  %xmm0,-0x18c8(%rbp)
ff
jmp    ae27 <check_mul_double+0x9d17>
movsd  -0x18d0(%rbp),%xmm1
ff
movsd  -0x18c8(%rbp),%xmm0
ff
movsd  %xmm1,-0x18e0(%rbp)
ff
movsd  %xmm0,-0x18d8(%rbp)
ff
jmp    aebb <check_mul_double+0x9dab>
xor    %eax,%eax
test   $0x1,%al
jne    ae5b <check_mul_double+0x9d4b>
jmp    ae7b <check_mul_double+0x9d6b>
movsd  0x119d(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x18f0(%rbp)
ff
movsd  %xmm0,-0x18e8(%rbp)
ff
jmp    ae9b <check_mul_double+0x9d8b>
movsd  0x117d(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x18f0(%rbp)
ff
movsd  %xmm0,-0x18e8(%rbp)
ff
jmp    ae9b <check_mul_double+0x9d8b>
movsd  -0x18f0(%rbp),%xmm1
ff
movsd  -0x18e8(%rbp),%xmm0
ff
movsd  %xmm1,-0x18e0(%rbp)
ff
movsd  %xmm0,-0x18d8(%rbp)
ff
movsd  -0x18e0(%rbp),%xmm1
ff
movsd  -0x18d8(%rbp),%xmm0
ff
movsd  %xmm1,-0x5b0(%rbp)
ff
movsd  %xmm0,-0x5a8(%rbp)
ff
movsd  -0x5b0(%rbp),%xmm1
ff
movsd  -0x5a8(%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    af84 <check_mul_double+0x9e74>
movsd  -0x5b0(%rbp),%xmm0
ff
movaps 0x10fe(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x1103(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x10d7(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    af84 <check_mul_double+0x9e74>
jp     af84 <check_mul_double+0x9e74>
movsd  -0x5a8(%rbp),%xmm0
ff
movaps 0x10c8(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x10cd(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x10a1(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    af84 <check_mul_double+0x9e74>
jp     af84 <check_mul_double+0x9e74>
jmp    af89 <check_mul_double+0x9e79>
call   1030 <abort@plt>
jmp    af8e <check_mul_double+0x9e7e>
xor    %eax,%eax
test   $0x1,%al
jne    af9d <check_mul_double+0x9e8d>
jmp    b00c <check_mul_double+0x9efc>
xor    %eax,%eax
test   $0x1,%al
jne    afac <check_mul_double+0x9e9c>
jmp    afc7 <check_mul_double+0x9eb7>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1900(%rbp)
ff
movsd  %xmm0,-0x18f8(%rbp)
ff
jmp    afe7 <check_mul_double+0x9ed7>
xorps  %xmm1,%xmm1
movsd  0x102e(%rip),%xmm0
movsd  %xmm1,-0x1900(%rbp)
ff
movsd  %xmm0,-0x18f8(%rbp)
ff
jmp    afe7 <check_mul_double+0x9ed7>
movsd  -0x1900(%rbp),%xmm1
ff
movsd  -0x18f8(%rbp),%xmm0
ff
movsd  %xmm1,-0x1910(%rbp)
ff
movsd  %xmm0,-0x1908(%rbp)
jmp    b07b <check_mul_double+0x9f6b>
xor    %eax,%eax
test   $0x1,%al
jne    b01b <check_mul_double+0x9f0b>
jmp    b03b <check_mul_double+0x9f2b>
movsd  0xfdd(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x1920(%rbp)
ff
movsd  %xmm0,-0x1918(%rbp)
ff
jmp    b05b <check_mul_double+0x9f4b>
movsd  0xfbd(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1920(%rbp)
ff
movsd  %xmm0,-0x1918(%rbp)
ff
jmp    b05b <check_mul_double+0x9f4b>
movsd  -0x1920(%rbp),%xmm1
ff
movsd  -0x1918(%rbp),%xmm0
ff
movsd  %xmm1,-0x1910(%rbp)
ff
movsd  %xmm0,-0x1908(%rbp)
ff
movsd  -0x1910(%rbp),%xmm1
ff
movsd  -0x1908(%rbp),%xmm0
ff
movsd  %xmm1,-0x5c0(%rbp)
ff
movsd  %xmm0,-0x5b8(%rbp)
ff
movsd  -0x5c0(%rbp),%xmm1
ff
movsd  -0x5b8(%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    b144 <check_mul_double+0xa034>
movsd  -0x5c0(%rbp),%xmm0
ff
movaps 0xf3e(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xf43(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0xf17(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    b144 <check_mul_double+0xa034>
jp     b144 <check_mul_double+0xa034>
movsd  -0x5b8(%rbp),%xmm0
ff
movaps 0xf08(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xf0d(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0xee1(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    b144 <check_mul_double+0xa034>
jp     b144 <check_mul_double+0xa034>
jmp    b149 <check_mul_double+0xa039>
call   1030 <abort@plt>
jmp    b14e <check_mul_double+0xa03e>
movsd  -0x5b0(%rbp),%xmm1
ff
movsd  %xmm1,-0x1960(%rbp)
ff
movsd  -0x5a8(%rbp),%xmm2
ff
movsd  %xmm2,-0x1958(%rbp)
ff
movsd  -0x5c0(%rbp),%xmm4
ff
movsd  %xmm4,-0x1950(%rbp)
ff
movsd  -0x5b8(%rbp),%xmm5
ff
movsd  %xmm5,-0x1948(%rbp)
ff
movaps %xmm1,%xmm0
mulsd  %xmm4,%xmm0
movaps %xmm2,%xmm3
mulsd  %xmm5,%xmm3
mulsd  %xmm5,%xmm1
mulsd  %xmm4,%xmm2
subsd  %xmm3,%xmm0
movsd  %xmm0,-0x1940(%rbp)
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x1938(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x1930(%rbp)
ff
movsd  %xmm1,-0x1928(%rbp)
ff
jnp    b235 <check_mul_double+0xa125>
movsd  -0x1938(%rbp),%xmm1
ff
movsd  -0x1940(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x1930(%rbp)
ff
movsd  %xmm1,-0x1928(%rbp)
ff
jnp    b235 <check_mul_double+0xa125>
movsd  -0x1948(%rbp),%xmm3
ff
movsd  -0x1950(%rbp),%xmm2
ff
movsd  -0x1958(%rbp),%xmm1
ff
movsd  -0x1960(%rbp),%xmm0
ff
call   b860 <__muldc3>
movsd  %xmm0,-0x1930(%rbp)
ff
movsd  %xmm1,-0x1928(%rbp)
ff
movsd  -0x1930(%rbp),%xmm1
ff
movsd  -0x1928(%rbp),%xmm0
ff
movsd  %xmm1,-0x5d0(%rbp)
ff
movsd  %xmm0,-0x5c8(%rbp)
ff
movsd  -0x5d0(%rbp),%xmm1
ff
movsd  -0x5c8(%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    b2fe <check_mul_double+0xa1ee>
movsd  -0x5d0(%rbp),%xmm0
ff
movaps 0xd84(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xd89(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0xd55(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    b2fe <check_mul_double+0xa1ee>
jp     b2fe <check_mul_double+0xa1ee>
movsd  -0x5c8(%rbp),%xmm0
ff
movaps 0xd4e(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xd53(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0xd1f(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    b2fe <check_mul_double+0xa1ee>
jp     b2fe <check_mul_double+0xa1ee>
jmp    b303 <check_mul_double+0xa1f3>
call   1030 <abort@plt>
jmp    b308 <check_mul_double+0xa1f8>
xor    %eax,%eax
test   $0x1,%al
jne    b317 <check_mul_double+0xa207>
jmp    b386 <check_mul_double+0xa276>
xor    %eax,%eax
test   $0x1,%al
jne    b326 <check_mul_double+0xa216>
jmp    b341 <check_mul_double+0xa231>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1970(%rbp)
ff
movsd  %xmm0,-0x1968(%rbp)
ff
jmp    b361 <check_mul_double+0xa251>
xorps  %xmm1,%xmm1
movsd  0xcb4(%rip),%xmm0
movsd  %xmm1,-0x1970(%rbp)
ff
movsd  %xmm0,-0x1968(%rbp)
ff
jmp    b361 <check_mul_double+0xa251>
movsd  -0x1970(%rbp),%xmm1
ff
movsd  -0x1968(%rbp),%xmm0
ff
movsd  %xmm1,-0x1980(%rbp)
ff
movsd  %xmm0,-0x1978(%rbp)
ff
jmp    b3f5 <check_mul_double+0xa2e5>
xor    %eax,%eax
test   $0x1,%al
jne    b395 <check_mul_double+0xa285>
jmp    b3b5 <check_mul_double+0xa2a5>
movsd  0xc63(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x1990(%rbp)
ff
movsd  %xmm0,-0x1988(%rbp)
ff
jmp    b3d5 <check_mul_double+0xa2c5>
movsd  0xc43(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x1990(%rbp)
ff
movsd  %xmm0,-0x1988(%rbp)
ff
jmp    b3d5 <check_mul_double+0xa2c5>
movsd  -0x1990(%rbp),%xmm1
ff
movsd  -0x1988(%rbp),%xmm0
ff
movsd  %xmm1,-0x1980(%rbp)
ff
movsd  %xmm0,-0x1978(%rbp)
ff
movsd  -0x1980(%rbp),%xmm1
ff
movsd  -0x1978(%rbp),%xmm0
ff
movsd  %xmm1,-0x5e0(%rbp)
ff
movsd  %xmm0,-0x5d8(%rbp)
ff
movsd  -0x5e0(%rbp),%xmm1
ff
movsd  -0x5d8(%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    b4be <check_mul_double+0xa3ae>
movsd  -0x5e0(%rbp),%xmm0
ff
movaps 0xbc4(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xbc9(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0xb9d(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    b4be <check_mul_double+0xa3ae>
jp     b4be <check_mul_double+0xa3ae>
movsd  -0x5d8(%rbp),%xmm0
ff
movaps 0xb8e(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xb93(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0xb67(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    b4be <check_mul_double+0xa3ae>
jp     b4be <check_mul_double+0xa3ae>
jmp    b4c3 <check_mul_double+0xa3b3>
call   1030 <abort@plt>
jmp    b4c8 <check_mul_double+0xa3b8>
xor    %eax,%eax
test   $0x1,%al
jne    b4d7 <check_mul_double+0xa3c7>
jmp    b546 <check_mul_double+0xa436>
xor    %eax,%eax
test   $0x1,%al
jne    b4e6 <check_mul_double+0xa3d6>
jmp    b501 <check_mul_double+0xa3f1>
xorps  %xmm0,%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x19a0(%rbp)
ff
movsd  %xmm0,-0x1998(%rbp)
ff
jmp    b521 <check_mul_double+0xa411>
xorps  %xmm1,%xmm1
movsd  0xaf4(%rip),%xmm0
movsd  %xmm1,-0x19a0(%rbp)
ff
movsd  %xmm0,-0x1998(%rbp)
ff
jmp    b521 <check_mul_double+0xa411>
movsd  -0x19a0(%rbp),%xmm1
ff
movsd  -0x1998(%rbp),%xmm0
ff
movsd  %xmm1,-0x19b0(%rbp)
ff
movsd  %xmm0,-0x19a8(%rbp)
ff
jmp    b5b5 <check_mul_double+0xa4a5>
xor    %eax,%eax
test   $0x1,%al
jne    b555 <check_mul_double+0xa445>
jmp    b575 <check_mul_double+0xa465>
movsd  0xaa3(%rip),%xmm1
xorps  %xmm0,%xmm0
movsd  %xmm1,-0x19c0(%rbp)
ff
movsd  %xmm0,-0x19b8(%rbp)
ff
jmp    b595 <check_mul_double+0xa485>
movsd  0xa83(%rip),%xmm0
movaps %xmm0,%xmm1
movsd  %xmm1,-0x19c0(%rbp)
ff
movsd  %xmm0,-0x19b8(%rbp)
ff
jmp    b595 <check_mul_double+0xa485>
movsd  -0x19c0(%rbp),%xmm1
ff
movsd  -0x19b8(%rbp),%xmm0
ff
movsd  %xmm1,-0x19b0(%rbp)
ff
movsd  %xmm0,-0x19a8(%rbp)
ff
movsd  -0x19b0(%rbp),%xmm1
ff
movsd  -0x19a8(%rbp),%xmm0
ff
movsd  %xmm1,-0x5f0(%rbp)
ff
movsd  %xmm0,-0x5e8(%rbp)
ff
movsd  -0x5f0(%rbp),%xmm1
ff
movsd  -0x5e8(%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    b67e <check_mul_double+0xa56e>
movsd  -0x5f0(%rbp),%xmm0
ff
movaps 0xa04(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0xa09(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x9dd(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    b67e <check_mul_double+0xa56e>
jp     b67e <check_mul_double+0xa56e>
movsd  -0x5e8(%rbp),%xmm0
ff
movaps 0x9ce(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x9d3(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x9a7(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    b67e <check_mul_double+0xa56e>
jp     b67e <check_mul_double+0xa56e>
jmp    b683 <check_mul_double+0xa573>
call   1030 <abort@plt>
jmp    b688 <check_mul_double+0xa578>
movsd  -0x5e0(%rbp),%xmm1
ff
movsd  %xmm1,-0x1a00(%rbp)
ff
movsd  -0x5d8(%rbp),%xmm2
ff
movsd  %xmm2,-0x19f8(%rbp)
ff
movsd  -0x5f0(%rbp),%xmm4
ff
movsd  %xmm4,-0x19f0(%rbp)
ff
movsd  -0x5e8(%rbp),%xmm5
ff
movsd  %xmm5,-0x19e8(%rbp)
ff
movaps %xmm1,%xmm0
mulsd  %xmm4,%xmm0
movaps %xmm2,%xmm3
mulsd  %xmm5,%xmm3
mulsd  %xmm5,%xmm1
mulsd  %xmm4,%xmm2
subsd  %xmm3,%xmm0
movsd  %xmm0,-0x19e0(%rbp)
ff
addsd  %xmm2,%xmm1
movsd  %xmm1,-0x19d8(%rbp)
ff
ucomisd %xmm0,%xmm0
movsd  %xmm0,-0x19d0(%rbp)
ff
movsd  %xmm1,-0x19c8(%rbp)
ff
jnp    b76f <check_mul_double+0xa65f>
movsd  -0x19d8(%rbp),%xmm1
ff
movsd  -0x19e0(%rbp),%xmm0
ff
ucomisd %xmm1,%xmm1
movsd  %xmm0,-0x19d0(%rbp)
ff
movsd  %xmm1,-0x19c8(%rbp)
ff
jnp    b76f <check_mul_double+0xa65f>
movsd  -0x19e8(%rbp),%xmm3
ff
movsd  -0x19f0(%rbp),%xmm2
ff
movsd  -0x19f8(%rbp),%xmm1
ff
movsd  -0x1a00(%rbp),%xmm0
ff
call   b860 <__muldc3>
movsd  %xmm0,-0x19d0(%rbp)
ff
movsd  %xmm1,-0x19c8(%rbp)
ff
movsd  -0x19d0(%rbp),%xmm1
ff
movsd  -0x19c8(%rbp),%xmm0
ff
movsd  %xmm1,-0x600(%rbp)
ff
movsd  %xmm0,-0x5f8(%rbp)
ff
movsd  -0x600(%rbp),%xmm1
ff
movsd  -0x5f8(%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    b838 <check_mul_double+0xa728>
movsd  -0x600(%rbp),%xmm0
ff
movaps 0x84a(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x84f(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x81b(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    b838 <check_mul_double+0xa728>
jp     b838 <check_mul_double+0xa728>
movsd  -0x5f8(%rbp),%xmm0
ff
movaps 0x814(%rip),%xmm1
pand   %xmm1,%xmm0
movaps 0x819(%rip),%xmm1
por    %xmm1,%xmm0
movsd  0x7e5(%rip),%xmm1
ucomisd %xmm1,%xmm0
jne    b838 <check_mul_double+0xa728>
jp     b838 <check_mul_double+0xa728>
jmp    b83d <check_mul_double+0xa72d>
call   1030 <abort@plt>
jmp    b842 <check_mul_double+0xa732>
jmp    b847 <check_mul_double+0xa737>
jmp    b84c <check_mul_double+0xa73c>
add    $0x1a00,%rsp
pop    %rbp
ret
cs nopw 0x0(%rax,%rax,1)
nop

x86 assembly (clang, -O2):
<check_mul_double>:
push   %rbx
sub    $0x30,%rsp
movq   $0x0,0x18(%rsp)
movq   $0x0,0x10(%rsp)
movsd  0x18(%rsp),%xmm2
movsd  0x10(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x18(%rsp),%xmm0
andpd  0x2e9b(%rip),%xmm0
orpd   0x2ea3(%rip),%xmm0
ucomisd 0x2eab(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x10(%rsp),%xmm0
andpd  0x2e71(%rip),%xmm0
orpd   0x2e79(%rip),%xmm0
ucomisd 0x2e81(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movq   $0x0,0x8(%rsp)
movq   $0x0,(%rsp)
movsd  0x8(%rsp),%xmm2
movsd  (%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x8(%rsp),%xmm0
andpd  0x2e07(%rip),%xmm0
orpd   0x2e0f(%rip),%xmm0
ucomisd 0x2e17(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  (%rsp),%xmm0
andpd  0x2dde(%rip),%xmm0
orpd   0x2de6(%rip),%xmm0
ucomisd 0x2dee(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x18(%rsp),%xmm4
movsd  0x10(%rsp),%xmm1
movsd  0x8(%rsp),%xmm2
movsd  (%rsp),%xmm3
movapd %xmm4,%xmm0
mulsd  %xmm2,%xmm0
movapd %xmm1,%xmm5
mulsd  %xmm3,%xmm5
subsd  %xmm5,%xmm0
movapd %xmm4,%xmm6
mulsd  %xmm3,%xmm6
movapd %xmm1,%xmm5
mulsd  %xmm2,%xmm5
addsd  %xmm6,%xmm5
ucomisd %xmm0,%xmm0
jp     30aa <check_mul_double+0x1f9a>
movsd  %xmm0,0x28(%rsp)
movsd  %xmm5,0x20(%rsp)
movsd  0x28(%rsp),%xmm2
movsd  0x20(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x28(%rsp),%xmm0
andpd  0x2d2f(%rip),%xmm0
orpd   0x2d37(%rip),%xmm0
ucomisd 0x2d3f(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x20(%rsp),%xmm0
andpd  0x2d05(%rip),%xmm0
orpd   0x2d0d(%rip),%xmm0
ucomisd 0x2d15(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movq   $0x0,0x18(%rsp)
movq   $0x0,0x10(%rsp)
movsd  0x18(%rsp),%xmm2
movsd  0x10(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x18(%rsp),%xmm0
andpd  0x2c99(%rip),%xmm0
orpd   0x2ca1(%rip),%xmm0
ucomisd 0x2ca9(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x10(%rsp),%xmm0
andpd  0x2c6f(%rip),%xmm0
orpd   0x2c77(%rip),%xmm0
ucomisd 0x2c7f(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movq   $0x0,0x8(%rsp)
movabs $0x8000000000000000,%rbx
mov    %rbx,(%rsp)
movsd  0x8(%rsp),%xmm2
movsd  (%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x8(%rsp),%xmm0
andpd  0x2bff(%rip),%xmm0
orpd   0x2c07(%rip),%xmm0
ucomisd 0x2c0f(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  (%rsp),%xmm0
andpd  0x2bd6(%rip),%xmm0
orpd   0x2bde(%rip),%xmm0
ucomisd 0x2bee(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x18(%rsp),%xmm4
movsd  0x10(%rsp),%xmm1
movsd  0x8(%rsp),%xmm2
movsd  (%rsp),%xmm3
movapd %xmm4,%xmm0
mulsd  %xmm2,%xmm0
movapd %xmm1,%xmm5
mulsd  %xmm3,%xmm5
subsd  %xmm5,%xmm0
movapd %xmm4,%xmm6
mulsd  %xmm3,%xmm6
movapd %xmm1,%xmm5
mulsd  %xmm2,%xmm5
addsd  %xmm6,%xmm5
ucomisd %xmm0,%xmm0
jp     30c6 <check_mul_double+0x1fb6>
movsd  %xmm0,0x28(%rsp)
movsd  %xmm5,0x20(%rsp)
movsd  0x28(%rsp),%xmm2
movsd  0x20(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x28(%rsp),%xmm0
andpd  0x2b27(%rip),%xmm0
orpd   0x2b2f(%rip),%xmm0
ucomisd 0x2b37(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x20(%rsp),%xmm0
andpd  0x2afd(%rip),%xmm0
orpd   0x2b05(%rip),%xmm0
ucomisd 0x2b0d(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movq   $0x0,0x18(%rsp)
movq   $0x0,0x10(%rsp)
movsd  0x18(%rsp),%xmm2
movsd  0x10(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x18(%rsp),%xmm0
andpd  0x2a91(%rip),%xmm0
orpd   0x2a99(%rip),%xmm0
ucomisd 0x2aa1(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x10(%rsp),%xmm0
andpd  0x2a67(%rip),%xmm0
orpd   0x2a6f(%rip),%xmm0
ucomisd 0x2a77(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
mov    %rbx,0x8(%rsp)
movq   $0x0,(%rsp)
movsd  0x8(%rsp),%xmm2
movsd  (%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x8(%rsp),%xmm0
andpd  0x2a01(%rip),%xmm0
orpd   0x2a09(%rip),%xmm0
ucomisd 0x2a19(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  (%rsp),%xmm0
andpd  0x29d8(%rip),%xmm0
orpd   0x29e0(%rip),%xmm0
ucomisd 0x29e8(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x18(%rsp),%xmm4
movsd  0x10(%rsp),%xmm1
movsd  0x8(%rsp),%xmm2
movsd  (%rsp),%xmm3
movapd %xmm4,%xmm0
mulsd  %xmm2,%xmm0
movapd %xmm1,%xmm5
mulsd  %xmm3,%xmm5
subsd  %xmm5,%xmm0
movapd %xmm4,%xmm6
mulsd  %xmm3,%xmm6
movapd %xmm1,%xmm5
mulsd  %xmm2,%xmm5
addsd  %xmm6,%xmm5
ucomisd %xmm0,%xmm0
jp     30e2 <check_mul_double+0x1fd2>
movsd  %xmm0,0x28(%rsp)
movsd  %xmm5,0x20(%rsp)
movsd  0x28(%rsp),%xmm2
movsd  0x20(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x28(%rsp),%xmm0
andpd  0x2929(%rip),%xmm0
orpd   0x2931(%rip),%xmm0
ucomisd 0x2941(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x20(%rsp),%xmm0
andpd  0x28ff(%rip),%xmm0
orpd   0x2907(%rip),%xmm0
ucomisd 0x290f(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movq   $0x0,0x18(%rsp)
movq   $0x0,0x10(%rsp)
movsd  0x18(%rsp),%xmm2
movsd  0x10(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x18(%rsp),%xmm0
andpd  0x2893(%rip),%xmm0
orpd   0x289b(%rip),%xmm0
ucomisd 0x28a3(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x10(%rsp),%xmm0
andpd  0x2869(%rip),%xmm0
orpd   0x2871(%rip),%xmm0
ucomisd 0x2879(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
mov    %rbx,0x8(%rsp)
mov    %rbx,(%rsp)
movsd  0x8(%rsp),%xmm2
movsd  (%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x8(%rsp),%xmm0
andpd  0x2807(%rip),%xmm0
orpd   0x280f(%rip),%xmm0
ucomisd 0x281f(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  (%rsp),%xmm0
andpd  0x27de(%rip),%xmm0
orpd   0x27e6(%rip),%xmm0
ucomisd 0x27f6(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x18(%rsp),%xmm4
movsd  0x10(%rsp),%xmm1
movsd  0x8(%rsp),%xmm2
movsd  (%rsp),%xmm3
movapd %xmm4,%xmm0
mulsd  %xmm2,%xmm0
movapd %xmm1,%xmm5
mulsd  %xmm3,%xmm5
subsd  %xmm5,%xmm0
movapd %xmm4,%xmm6
mulsd  %xmm3,%xmm6
movapd %xmm1,%xmm5
mulsd  %xmm2,%xmm5
addsd  %xmm6,%xmm5
ucomisd %xmm0,%xmm0
jp     30fe <check_mul_double+0x1fee>
movsd  %xmm0,0x28(%rsp)
movsd  %xmm5,0x20(%rsp)
movsd  0x28(%rsp),%xmm2
movsd  0x20(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x28(%rsp),%xmm0
andpd  0x272f(%rip),%xmm0
orpd   0x2737(%rip),%xmm0
ucomisd 0x273f(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x20(%rsp),%xmm0
andpd  0x2705(%rip),%xmm0
orpd   0x270d(%rip),%xmm0
ucomisd 0x271d(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movq   $0x0,0x18(%rsp)
mov    %rbx,0x10(%rsp)
movsd  0x18(%rsp),%xmm2
movsd  0x10(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x18(%rsp),%xmm0
andpd  0x269d(%rip),%xmm0
orpd   0x26a5(%rip),%xmm0
ucomisd 0x26ad(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x10(%rsp),%xmm0
andpd  0x2673(%rip),%xmm0
orpd   0x267b(%rip),%xmm0
ucomisd 0x268b(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movq   $0x0,0x8(%rsp)
movq   $0x0,(%rsp)
movsd  0x8(%rsp),%xmm2
movsd  (%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x8(%rsp),%xmm0
andpd  0x2609(%rip),%xmm0
orpd   0x2611(%rip),%xmm0
ucomisd 0x2619(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  (%rsp),%xmm0
andpd  0x25e0(%rip),%xmm0
orpd   0x25e8(%rip),%xmm0
ucomisd 0x25f0(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x18(%rsp),%xmm4
movsd  0x10(%rsp),%xmm1
movsd  0x8(%rsp),%xmm2
movsd  (%rsp),%xmm3
movapd %xmm4,%xmm0
mulsd  %xmm2,%xmm0
movapd %xmm1,%xmm5
mulsd  %xmm3,%xmm5
subsd  %xmm5,%xmm0
movapd %xmm4,%xmm6
mulsd  %xmm3,%xmm6
movapd %xmm1,%xmm5
mulsd  %xmm2,%xmm5
addsd  %xmm6,%xmm5
ucomisd %xmm0,%xmm0
jp     311a <check_mul_double+0x200a>
movsd  %xmm0,0x28(%rsp)
movsd  %xmm5,0x20(%rsp)
movsd  0x28(%rsp),%xmm2
movsd  0x20(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x28(%rsp),%xmm0
andpd  0x2531(%rip),%xmm0
orpd   0x2539(%rip),%xmm0
ucomisd 0x2541(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x20(%rsp),%xmm0
andpd  0x2507(%rip),%xmm0
orpd   0x250f(%rip),%xmm0
ucomisd 0x2517(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movq   $0x0,0x18(%rsp)
mov    %rbx,0x10(%rsp)
movsd  0x18(%rsp),%xmm2
movsd  0x10(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x18(%rsp),%xmm0
andpd  0x249f(%rip),%xmm0
orpd   0x24a7(%rip),%xmm0
ucomisd 0x24af(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x10(%rsp),%xmm0
andpd  0x2475(%rip),%xmm0
orpd   0x247d(%rip),%xmm0
ucomisd 0x248d(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movq   $0x0,0x8(%rsp)
mov    %rbx,(%rsp)
movsd  0x8(%rsp),%xmm2
movsd  (%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x8(%rsp),%xmm0
andpd  0x240f(%rip),%xmm0
orpd   0x2417(%rip),%xmm0
ucomisd 0x241f(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  (%rsp),%xmm0
andpd  0x23e6(%rip),%xmm0
orpd   0x23ee(%rip),%xmm0
ucomisd 0x23fe(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x18(%rsp),%xmm4
movsd  0x10(%rsp),%xmm1
movsd  0x8(%rsp),%xmm2
movsd  (%rsp),%xmm3
movapd %xmm4,%xmm0
mulsd  %xmm2,%xmm0
movapd %xmm1,%xmm5
mulsd  %xmm3,%xmm5
subsd  %xmm5,%xmm0
movapd %xmm4,%xmm6
mulsd  %xmm3,%xmm6
movapd %xmm1,%xmm5
mulsd  %xmm2,%xmm5
addsd  %xmm6,%xmm5
ucomisd %xmm0,%xmm0
jp     3136 <check_mul_double+0x2026>
movsd  %xmm0,0x28(%rsp)
movsd  %xmm5,0x20(%rsp)
movsd  0x28(%rsp),%xmm2
movsd  0x20(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x28(%rsp),%xmm0
andpd  0x2337(%rip),%xmm0
orpd   0x233f(%rip),%xmm0
ucomisd 0x2347(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x20(%rsp),%xmm0
andpd  0x230d(%rip),%xmm0
orpd   0x2315(%rip),%xmm0
ucomisd 0x2325(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movq   $0x0,0x18(%rsp)
mov    %rbx,0x10(%rsp)
movsd  0x18(%rsp),%xmm2
movsd  0x10(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x18(%rsp),%xmm0
andpd  0x22a5(%rip),%xmm0
orpd   0x22ad(%rip),%xmm0
ucomisd 0x22b5(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x10(%rsp),%xmm0
andpd  0x227b(%rip),%xmm0
orpd   0x2283(%rip),%xmm0
ucomisd 0x2293(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
mov    %rbx,0x8(%rsp)
movq   $0x0,(%rsp)
movsd  0x8(%rsp),%xmm2
movsd  (%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x8(%rsp),%xmm0
andpd  0x2215(%rip),%xmm0
orpd   0x221d(%rip),%xmm0
ucomisd 0x222d(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  (%rsp),%xmm0
andpd  0x21ec(%rip),%xmm0
orpd   0x21f4(%rip),%xmm0
ucomisd 0x21fc(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x18(%rsp),%xmm4
movsd  0x10(%rsp),%xmm1
movsd  0x8(%rsp),%xmm2
movsd  (%rsp),%xmm3
movapd %xmm4,%xmm0
mulsd  %xmm2,%xmm0
movapd %xmm1,%xmm5
mulsd  %xmm3,%xmm5
subsd  %xmm5,%xmm0
movapd %xmm4,%xmm6
mulsd  %xmm3,%xmm6
movapd %xmm1,%xmm5
mulsd  %xmm2,%xmm5
addsd  %xmm6,%xmm5
ucomisd %xmm0,%xmm0
jp     3152 <check_mul_double+0x2042>
movsd  %xmm0,0x28(%rsp)
movsd  %xmm5,0x20(%rsp)
movsd  0x28(%rsp),%xmm2
movsd  0x20(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x28(%rsp),%xmm0
andpd  0x213d(%rip),%xmm0
orpd   0x2145(%rip),%xmm0
ucomisd 0x214d(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x20(%rsp),%xmm0
andpd  0x2113(%rip),%xmm0
orpd   0x211b(%rip),%xmm0
ucomisd 0x2123(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movq   $0x0,0x18(%rsp)
mov    %rbx,0x10(%rsp)
movsd  0x18(%rsp),%xmm2
movsd  0x10(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x18(%rsp),%xmm0
andpd  0x20ab(%rip),%xmm0
orpd   0x20b3(%rip),%xmm0
ucomisd 0x20bb(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x10(%rsp),%xmm0
andpd  0x2081(%rip),%xmm0
orpd   0x2089(%rip),%xmm0
ucomisd 0x2099(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
mov    %rbx,0x8(%rsp)
mov    %rbx,(%rsp)
movsd  0x8(%rsp),%xmm2
movsd  (%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x8(%rsp),%xmm0
andpd  0x201f(%rip),%xmm0
orpd   0x2027(%rip),%xmm0
ucomisd 0x2037(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  (%rsp),%xmm0
andpd  0x1ff6(%rip),%xmm0
orpd   0x1ffe(%rip),%xmm0
ucomisd 0x200e(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x18(%rsp),%xmm4
movsd  0x10(%rsp),%xmm1
movsd  0x8(%rsp),%xmm2
movsd  (%rsp),%xmm3
movapd %xmm4,%xmm0
mulsd  %xmm2,%xmm0
movapd %xmm1,%xmm5
mulsd  %xmm3,%xmm5
subsd  %xmm5,%xmm0
movapd %xmm4,%xmm6
mulsd  %xmm3,%xmm6
movapd %xmm1,%xmm5
mulsd  %xmm2,%xmm5
addsd  %xmm6,%xmm5
ucomisd %xmm0,%xmm0
jp     316e <check_mul_double+0x205e>
movsd  %xmm0,0x28(%rsp)
movsd  %xmm5,0x20(%rsp)
movsd  0x28(%rsp),%xmm2
movsd  0x20(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x28(%rsp),%xmm0
andpd  0x1f47(%rip),%xmm0
orpd   0x1f4f(%rip),%xmm0
ucomisd 0x1f5f(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x20(%rsp),%xmm0
andpd  0x1f1d(%rip),%xmm0
orpd   0x1f25(%rip),%xmm0
ucomisd 0x1f2d(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
mov    %rbx,0x18(%rsp)
movq   $0x0,0x10(%rsp)
movsd  0x18(%rsp),%xmm2
movsd  0x10(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x18(%rsp),%xmm0
andpd  0x1eb5(%rip),%xmm0
orpd   0x1ebd(%rip),%xmm0
ucomisd 0x1ecd(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x10(%rsp),%xmm0
andpd  0x1e8b(%rip),%xmm0
orpd   0x1e93(%rip),%xmm0
ucomisd 0x1e9b(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movq   $0x0,0x8(%rsp)
movq   $0x0,(%rsp)
movsd  0x8(%rsp),%xmm2
movsd  (%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x8(%rsp),%xmm0
andpd  0x1e21(%rip),%xmm0
orpd   0x1e29(%rip),%xmm0
ucomisd 0x1e31(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  (%rsp),%xmm0
andpd  0x1df8(%rip),%xmm0
orpd   0x1e00(%rip),%xmm0
ucomisd 0x1e08(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x18(%rsp),%xmm4
movsd  0x10(%rsp),%xmm1
movsd  0x8(%rsp),%xmm2
movsd  (%rsp),%xmm3
movapd %xmm4,%xmm0
mulsd  %xmm2,%xmm0
movapd %xmm1,%xmm5
mulsd  %xmm3,%xmm5
subsd  %xmm5,%xmm0
movapd %xmm4,%xmm6
mulsd  %xmm3,%xmm6
movapd %xmm1,%xmm5
mulsd  %xmm2,%xmm5
addsd  %xmm6,%xmm5
ucomisd %xmm0,%xmm0
jp     318a <check_mul_double+0x207a>
movsd  %xmm0,0x28(%rsp)
movsd  %xmm5,0x20(%rsp)
movsd  0x28(%rsp),%xmm2
movsd  0x20(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x28(%rsp),%xmm0
andpd  0x1d49(%rip),%xmm0
orpd   0x1d51(%rip),%xmm0
ucomisd 0x1d61(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x20(%rsp),%xmm0
andpd  0x1d1f(%rip),%xmm0
orpd   0x1d27(%rip),%xmm0
ucomisd 0x1d2f(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
mov    %rbx,0x18(%rsp)
movq   $0x0,0x10(%rsp)
movsd  0x18(%rsp),%xmm2
movsd  0x10(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x18(%rsp),%xmm0
andpd  0x1cb7(%rip),%xmm0
orpd   0x1cbf(%rip),%xmm0
ucomisd 0x1ccf(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x10(%rsp),%xmm0
andpd  0x1c8d(%rip),%xmm0
orpd   0x1c95(%rip),%xmm0
ucomisd 0x1c9d(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movq   $0x0,0x8(%rsp)
mov    %rbx,(%rsp)
movsd  0x8(%rsp),%xmm2
movsd  (%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x8(%rsp),%xmm0
andpd  0x1c27(%rip),%xmm0
orpd   0x1c2f(%rip),%xmm0
ucomisd 0x1c37(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  (%rsp),%xmm0
andpd  0x1bfe(%rip),%xmm0
orpd   0x1c06(%rip),%xmm0
ucomisd 0x1c16(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x18(%rsp),%xmm4
movsd  0x10(%rsp),%xmm1
movsd  0x8(%rsp),%xmm2
movsd  (%rsp),%xmm3
movapd %xmm4,%xmm0
mulsd  %xmm2,%xmm0
movapd %xmm1,%xmm5
mulsd  %xmm3,%xmm5
subsd  %xmm5,%xmm0
movapd %xmm4,%xmm6
mulsd  %xmm3,%xmm6
movapd %xmm1,%xmm5
mulsd  %xmm2,%xmm5
addsd  %xmm6,%xmm5
ucomisd %xmm0,%xmm0
jp     31a6 <check_mul_double+0x2096>
movsd  %xmm0,0x28(%rsp)
movsd  %xmm5,0x20(%rsp)
movsd  0x28(%rsp),%xmm2
movsd  0x20(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x28(%rsp),%xmm0
andpd  0x1b4f(%rip),%xmm0
orpd   0x1b57(%rip),%xmm0
ucomisd 0x1b5f(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x20(%rsp),%xmm0
andpd  0x1b25(%rip),%xmm0
orpd   0x1b2d(%rip),%xmm0
ucomisd 0x1b35(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
mov    %rbx,0x18(%rsp)
movq   $0x0,0x10(%rsp)
movsd  0x18(%rsp),%xmm2
movsd  0x10(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x18(%rsp),%xmm0
andpd  0x1abd(%rip),%xmm0
orpd   0x1ac5(%rip),%xmm0
ucomisd 0x1ad5(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x10(%rsp),%xmm0
andpd  0x1a93(%rip),%xmm0
orpd   0x1a9b(%rip),%xmm0
ucomisd 0x1aa3(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
mov    %rbx,0x8(%rsp)
movq   $0x0,(%rsp)
movsd  0x8(%rsp),%xmm2
movsd  (%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x8(%rsp),%xmm0
andpd  0x1a2d(%rip),%xmm0
orpd   0x1a35(%rip),%xmm0
ucomisd 0x1a45(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  (%rsp),%xmm0
andpd  0x1a04(%rip),%xmm0
orpd   0x1a0c(%rip),%xmm0
ucomisd 0x1a14(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x18(%rsp),%xmm4
movsd  0x10(%rsp),%xmm1
movsd  0x8(%rsp),%xmm2
movsd  (%rsp),%xmm3
movapd %xmm4,%xmm0
mulsd  %xmm2,%xmm0
movapd %xmm1,%xmm5
mulsd  %xmm3,%xmm5
subsd  %xmm5,%xmm0
movapd %xmm4,%xmm6
mulsd  %xmm3,%xmm6
movapd %xmm1,%xmm5
mulsd  %xmm2,%xmm5
addsd  %xmm6,%xmm5
ucomisd %xmm0,%xmm0
jp     31c2 <check_mul_double+0x20b2>
movsd  %xmm0,0x28(%rsp)
movsd  %xmm5,0x20(%rsp)
movsd  0x28(%rsp),%xmm2
movsd  0x20(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x28(%rsp),%xmm0
andpd  0x1955(%rip),%xmm0
orpd   0x195d(%rip),%xmm0
ucomisd 0x1965(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x20(%rsp),%xmm0
andpd  0x192b(%rip),%xmm0
orpd   0x1933(%rip),%xmm0
ucomisd 0x1943(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
mov    %rbx,0x18(%rsp)
movq   $0x0,0x10(%rsp)
movsd  0x18(%rsp),%xmm2
movsd  0x10(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x18(%rsp),%xmm0
andpd  0x18c3(%rip),%xmm0
orpd   0x18cb(%rip),%xmm0
ucomisd 0x18db(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x10(%rsp),%xmm0
andpd  0x1899(%rip),%xmm0
orpd   0x18a1(%rip),%xmm0
ucomisd 0x18a9(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
mov    %rbx,0x8(%rsp)
mov    %rbx,(%rsp)
movsd  0x8(%rsp),%xmm2
movsd  (%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x8(%rsp),%xmm0
andpd  0x1837(%rip),%xmm0
orpd   0x183f(%rip),%xmm0
ucomisd 0x184f(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  (%rsp),%xmm0
andpd  0x180e(%rip),%xmm0
orpd   0x1816(%rip),%xmm0
ucomisd 0x1826(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x18(%rsp),%xmm4
movsd  0x10(%rsp),%xmm1
movsd  0x8(%rsp),%xmm2
movsd  (%rsp),%xmm3
movapd %xmm4,%xmm0
mulsd  %xmm2,%xmm0
movapd %xmm1,%xmm5
mulsd  %xmm3,%xmm5
subsd  %xmm5,%xmm0
movapd %xmm4,%xmm6
mulsd  %xmm3,%xmm6
movapd %xmm1,%xmm5
mulsd  %xmm2,%xmm5
addsd  %xmm6,%xmm5
ucomisd %xmm0,%xmm0
jp     31de <check_mul_double+0x20ce>
movsd  %xmm0,0x28(%rsp)
movsd  %xmm5,0x20(%rsp)
movsd  0x28(%rsp),%xmm2
movsd  0x20(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x28(%rsp),%xmm0
andpd  0x175f(%rip),%xmm0
orpd   0x1767(%rip),%xmm0
ucomisd 0x176f(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x20(%rsp),%xmm0
andpd  0x1735(%rip),%xmm0
orpd   0x173d(%rip),%xmm0
ucomisd 0x1745(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
mov    %rbx,0x18(%rsp)
mov    %rbx,0x10(%rsp)
movsd  0x18(%rsp),%xmm2
movsd  0x10(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x18(%rsp),%xmm0
andpd  0x16d1(%rip),%xmm0
orpd   0x16d9(%rip),%xmm0
ucomisd 0x16e9(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x10(%rsp),%xmm0
andpd  0x16a7(%rip),%xmm0
orpd   0x16af(%rip),%xmm0
ucomisd 0x16bf(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movq   $0x0,0x8(%rsp)
movq   $0x0,(%rsp)
movsd  0x8(%rsp),%xmm2
movsd  (%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x8(%rsp),%xmm0
andpd  0x163d(%rip),%xmm0
orpd   0x1645(%rip),%xmm0
ucomisd 0x164d(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  (%rsp),%xmm0
andpd  0x1614(%rip),%xmm0
orpd   0x161c(%rip),%xmm0
ucomisd 0x1624(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x18(%rsp),%xmm4
movsd  0x10(%rsp),%xmm1
movsd  0x8(%rsp),%xmm2
movsd  (%rsp),%xmm3
movapd %xmm4,%xmm0
mulsd  %xmm2,%xmm0
movapd %xmm1,%xmm5
mulsd  %xmm3,%xmm5
subsd  %xmm5,%xmm0
movapd %xmm4,%xmm6
mulsd  %xmm3,%xmm6
movapd %xmm1,%xmm5
mulsd  %xmm2,%xmm5
addsd  %xmm6,%xmm5
ucomisd %xmm0,%xmm0
jp     31fa <check_mul_double+0x20ea>
movsd  %xmm0,0x28(%rsp)
movsd  %xmm5,0x20(%rsp)
movsd  0x28(%rsp),%xmm2
movsd  0x20(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x28(%rsp),%xmm0
andpd  0x1565(%rip),%xmm0
orpd   0x156d(%rip),%xmm0
ucomisd 0x1575(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x20(%rsp),%xmm0
andpd  0x153b(%rip),%xmm0
orpd   0x1543(%rip),%xmm0
ucomisd 0x1553(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
mov    %rbx,0x18(%rsp)
mov    %rbx,0x10(%rsp)
movsd  0x18(%rsp),%xmm2
movsd  0x10(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x18(%rsp),%xmm0
andpd  0x14d7(%rip),%xmm0
orpd   0x14df(%rip),%xmm0
ucomisd 0x14ef(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x10(%rsp),%xmm0
andpd  0x14ad(%rip),%xmm0
orpd   0x14b5(%rip),%xmm0
ucomisd 0x14c5(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movq   $0x0,0x8(%rsp)
mov    %rbx,(%rsp)
movsd  0x8(%rsp),%xmm2
movsd  (%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x8(%rsp),%xmm0
andpd  0x1447(%rip),%xmm0
orpd   0x144f(%rip),%xmm0
ucomisd 0x1457(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  (%rsp),%xmm0
andpd  0x141e(%rip),%xmm0
orpd   0x1426(%rip),%xmm0
ucomisd 0x1436(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x18(%rsp),%xmm4
movsd  0x10(%rsp),%xmm1
movsd  0x8(%rsp),%xmm2
movsd  (%rsp),%xmm3
movapd %xmm4,%xmm0
mulsd  %xmm2,%xmm0
movapd %xmm1,%xmm5
mulsd  %xmm3,%xmm5
subsd  %xmm5,%xmm0
movapd %xmm4,%xmm6
mulsd  %xmm3,%xmm6
movapd %xmm1,%xmm5
mulsd  %xmm2,%xmm5
addsd  %xmm6,%xmm5
ucomisd %xmm0,%xmm0
jp     3216 <check_mul_double+0x2106>
movsd  %xmm0,0x28(%rsp)
movsd  %xmm5,0x20(%rsp)
movsd  0x28(%rsp),%xmm2
movsd  0x20(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x28(%rsp),%xmm0
andpd  0x136f(%rip),%xmm0
orpd   0x1377(%rip),%xmm0
ucomisd 0x1387(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x20(%rsp),%xmm0
andpd  0x1345(%rip),%xmm0
orpd   0x134d(%rip),%xmm0
ucomisd 0x1355(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
mov    %rbx,0x18(%rsp)
mov    %rbx,0x10(%rsp)
movsd  0x18(%rsp),%xmm2
movsd  0x10(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x18(%rsp),%xmm0
andpd  0x12e1(%rip),%xmm0
orpd   0x12e9(%rip),%xmm0
ucomisd 0x12f9(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x10(%rsp),%xmm0
andpd  0x12b7(%rip),%xmm0
orpd   0x12bf(%rip),%xmm0
ucomisd 0x12cf(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
mov    %rbx,0x8(%rsp)
movq   $0x0,(%rsp)
movsd  0x8(%rsp),%xmm2
movsd  (%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x8(%rsp),%xmm0
andpd  0x1251(%rip),%xmm0
orpd   0x1259(%rip),%xmm0
ucomisd 0x1269(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  (%rsp),%xmm0
andpd  0x1228(%rip),%xmm0
orpd   0x1230(%rip),%xmm0
ucomisd 0x1238(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x18(%rsp),%xmm4
movsd  0x10(%rsp),%xmm1
movsd  0x8(%rsp),%xmm2
movsd  (%rsp),%xmm3
movapd %xmm4,%xmm0
mulsd  %xmm2,%xmm0
movapd %xmm1,%xmm5
mulsd  %xmm3,%xmm5
subsd  %xmm5,%xmm0
movapd %xmm4,%xmm6
mulsd  %xmm3,%xmm6
movapd %xmm1,%xmm5
mulsd  %xmm2,%xmm5
addsd  %xmm6,%xmm5
ucomisd %xmm0,%xmm0
jp     3232 <check_mul_double+0x2122>
movsd  %xmm0,0x28(%rsp)
movsd  %xmm5,0x20(%rsp)
movsd  0x28(%rsp),%xmm2
movsd  0x20(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x28(%rsp),%xmm0
andpd  0x1179(%rip),%xmm0
orpd   0x1181(%rip),%xmm0
ucomisd 0x1189(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x20(%rsp),%xmm0
andpd  0x114f(%rip),%xmm0
orpd   0x1157(%rip),%xmm0
ucomisd 0x115f(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
mov    %rbx,0x18(%rsp)
mov    %rbx,0x10(%rsp)
movsd  0x18(%rsp),%xmm2
movsd  0x10(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x18(%rsp),%xmm0
andpd  0x10eb(%rip),%xmm0
orpd   0x10f3(%rip),%xmm0
ucomisd 0x1103(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x10(%rsp),%xmm0
andpd  0x10c1(%rip),%xmm0
orpd   0x10c9(%rip),%xmm0
ucomisd 0x10d9(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
mov    %rbx,0x8(%rsp)
mov    %rbx,(%rsp)
movsd  0x8(%rsp),%xmm2
movsd  (%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x8(%rsp),%xmm0
andpd  0x105f(%rip),%xmm0
orpd   0x1067(%rip),%xmm0
ucomisd 0x1077(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  (%rsp),%xmm0
andpd  0x1036(%rip),%xmm0
orpd   0x103e(%rip),%xmm0
ucomisd 0x104e(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x18(%rsp),%xmm4
movsd  0x10(%rsp),%xmm1
movsd  0x8(%rsp),%xmm2
movsd  (%rsp),%xmm3
movapd %xmm4,%xmm0
mulsd  %xmm2,%xmm0
movapd %xmm1,%xmm5
mulsd  %xmm3,%xmm5
subsd  %xmm5,%xmm0
movapd %xmm4,%xmm6
mulsd  %xmm3,%xmm6
movapd %xmm1,%xmm5
mulsd  %xmm2,%xmm5
addsd  %xmm6,%xmm5
ucomisd %xmm0,%xmm0
jp     324e <check_mul_double+0x213e>
movsd  %xmm0,0x28(%rsp)
movsd  %xmm5,0x20(%rsp)
movsd  0x28(%rsp),%xmm2
movsd  0x20(%rsp),%xmm0
xorpd  %xmm1,%xmm1
ucomisd %xmm1,%xmm2
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
ucomisd %xmm1,%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x28(%rsp),%xmm0
andpd  0xf97(%rip),%xmm0
orpd   0xf9f(%rip),%xmm0
ucomisd 0xfa7(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
movsd  0x20(%rsp),%xmm0
andpd  0xf75(%rip),%xmm0
orpd   0xf7d(%rip),%xmm0
ucomisd 0xf85(%rip),%xmm0
jne    30a5 <check_mul_double+0x1f95>
jp     30a5 <check_mul_double+0x1f95>
add    $0x30,%rsp
pop    %rbx
ret
call   1030 <abort@plt>
ucomisd %xmm5,%xmm5
jnp    1287 <check_mul_double+0x177>
movapd %xmm4,%xmm0
call   3270 <__muldc3>
movapd %xmm1,%xmm5
jmp    1287 <check_mul_double+0x177>
ucomisd %xmm5,%xmm5
jnp    148f <check_mul_double+0x37f>
movapd %xmm4,%xmm0
call   3270 <__muldc3>
movapd %xmm1,%xmm5
jmp    148f <check_mul_double+0x37f>
ucomisd %xmm5,%xmm5
jnp    168d <check_mul_double+0x57d>
movapd %xmm4,%xmm0
call   3270 <__muldc3>
movapd %xmm1,%xmm5
jmp    168d <check_mul_double+0x57d>
ucomisd %xmm5,%xmm5
jnp    1887 <check_mul_double+0x777>
movapd %xmm4,%xmm0
call   3270 <__muldc3>
movapd %xmm1,%xmm5
jmp    1887 <check_mul_double+0x777>
ucomisd %xmm5,%xmm5
jnp    1a85 <check_mul_double+0x975>
movapd %xmm4,%xmm0
call   3270 <__muldc3>
movapd %xmm1,%xmm5
jmp    1a85 <check_mul_double+0x975>
ucomisd %xmm5,%xmm5
jnp    1c7f <check_mul_double+0xb6f>
movapd %xmm4,%xmm0
call   3270 <__muldc3>
movapd %xmm1,%xmm5
jmp    1c7f <check_mul_double+0xb6f>
ucomisd %xmm5,%xmm5
jnp    1e79 <check_mul_double+0xd69>
movapd %xmm4,%xmm0
call   3270 <__muldc3>
movapd %xmm1,%xmm5
jmp    1e79 <check_mul_double+0xd69>
ucomisd %xmm5,%xmm5
jnp    206f <check_mul_double+0xf5f>
movapd %xmm4,%xmm0
call   3270 <__muldc3>
movapd %xmm1,%xmm5
jmp    206f <check_mul_double+0xf5f>
ucomisd %xmm5,%xmm5
jnp    226d <check_mul_double+0x115d>
movapd %xmm4,%xmm0
call   3270 <__muldc3>
movapd %xmm1,%xmm5
jmp    226d <check_mul_double+0x115d>
ucomisd %xmm5,%xmm5
jnp    2467 <check_mul_double+0x1357>
movapd %xmm4,%xmm0
call   3270 <__muldc3>
movapd %xmm1,%xmm5
jmp    2467 <check_mul_double+0x1357>
ucomisd %xmm5,%xmm5
jnp    2661 <check_mul_double+0x1551>
movapd %xmm4,%xmm0
call   3270 <__muldc3>
movapd %xmm1,%xmm5
jmp    2661 <check_mul_double+0x1551>
ucomisd %xmm5,%xmm5
jnp    2857 <check_mul_double+0x1747>
movapd %xmm4,%xmm0
call   3270 <__muldc3>
movapd %xmm1,%xmm5
jmp    2857 <check_mul_double+0x1747>
ucomisd %xmm5,%xmm5
jnp    2a51 <check_mul_double+0x1941>
movapd %xmm4,%xmm0
call   3270 <__muldc3>
movapd %xmm1,%xmm5
jmp    2a51 <check_mul_double+0x1941>
ucomisd %xmm5,%xmm5
jnp    2c47 <check_mul_double+0x1b37>
movapd %xmm4,%xmm0
call   3270 <__muldc3>
movapd %xmm1,%xmm5
jmp    2c47 <check_mul_double+0x1b37>
ucomisd %xmm5,%xmm5
jnp    2e3d <check_mul_double+0x1d2d>
movapd %xmm4,%xmm0
call   3270 <__muldc3>
movapd %xmm1,%xmm5
jmp    2e3d <check_mul_double+0x1d2d>
ucomisd %xmm5,%xmm5
jnp    302f <check_mul_double+0x1f1f>
movapd %xmm4,%xmm0
call   3270 <__muldc3>
movapd %xmm1,%xmm5
jmp    302f <check_mul_double+0x1f1f>
nopw   0x0(%rax,%rax,1)

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

LLVM IR (-O2):
define void @check_mul_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 = alloca double
%82 = alloca double
%83 = alloca double
%84 = alloca double
%85 = alloca double
%86 = alloca double
%87 = alloca double
%88 = alloca double
%89 = alloca double
%90 = alloca double
%91 = alloca double
%92 = alloca double
%93 = alloca double
%94 = alloca double
%95 = alloca double
%96 = alloca double
%97 = bitcast double* %1 to i8*
%98 = bitcast double* %2 to i8*
%99 = bitcast double* %3 to i8*
%100 = bitcast double* %4 to i8*
%101 = bitcast double* %5 to i8*
%102 = bitcast double* %6 to i8*
store volatile double 0.000000e+00, double* %1
store volatile double 0.000000e+00, double* %2
%103 = load volatile double, double* %1
%104 = load volatile double, double* %2
%105 = fcmp une double %103, 0.000000e+00
%106 = fcmp une double %104, 0.000000e+00
%107 = or i1 %105, %106
br i1 %107, label %116, label %108
108: ; preds = %0
%109 = load volatile double, double* %1
%110 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %109)
%111 = fcmp une double %110, 1.000000e+00
br i1 %111, label %116, label %112
112: ; preds = %108
%113 = load volatile double, double* %2
%114 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %113)
%115 = fcmp une double %114, 1.000000e+00
br i1 %115, label %116, label %117
116: ; preds = %112, %108, %0
tail call void @abort()
unreachable
117: ; preds = %112
store volatile double 0.000000e+00, double* %3
store volatile double 0.000000e+00, double* %4
%118 = load volatile double, double* %3
%119 = load volatile double, double* %4
%120 = fcmp une double %118, 0.000000e+00
%121 = fcmp une double %119, 0.000000e+00
%122 = or i1 %120, %121
br i1 %122, label %131, label %123
123: ; preds = %117
%124 = load volatile double, double* %3
%125 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %124)
%126 = fcmp une double %125, 1.000000e+00
br i1 %126, label %131, label %127
127: ; preds = %123
%128 = load volatile double, double* %4
%129 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %128)
%130 = fcmp une double %129, 1.000000e+00
br i1 %130, label %131, label %132
131: ; preds = %127, %123, %117
tail call void @abort()
unreachable
132: ; preds = %127
%133 = load volatile double, double* %1
%134 = load volatile double, double* %2
%135 = load volatile double, double* %3
%136 = load volatile double, double* %4
%137 = fmul double %133, %135
%138 = fmul double %134, %136
%139 = fmul double %133, %136
%140 = fmul double %134, %135
%141 = fsub double %137, %138
%142 = fadd double %140, %139
%143 = fcmp uno double %141, 0.000000e+00
br i1 %143, label %144, label %150
144: ; preds = %132
%145 = fcmp uno double %142, 0.000000e+00
br i1 %145, label %146, label %150
146: ; preds = %144
%147 = tail call { double, double } @__muldc3(double %133, double %134, double %135, double %136)
%148 = extractvalue { double, double } %147, 0
%149 = extractvalue { double, double } %147, 1
br label %150
150: ; preds = %146, %144, %132
%151 = phi double [ %141, %132 ], [ %141, %144 ], [ %148, %146 ]
%152 = phi double [ %142, %132 ], [ %142, %144 ], [ %149, %146 ]
store volatile double %151, double* %5
store volatile double %152, double* %6
%153 = load volatile double, double* %5
%154 = load volatile double, double* %6
%155 = fcmp une double %153, 0.000000e+00
%156 = fcmp une double %154, 0.000000e+00
%157 = or i1 %155, %156
br i1 %157, label %166, label %158
158: ; preds = %150
%159 = load volatile double, double* %5
%160 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %159)
%161 = fcmp une double %160, 1.000000e+00
br i1 %161, label %166, label %162
162: ; preds = %158
%163 = load volatile double, double* %6
%164 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %163)
%165 = fcmp une double %164, 1.000000e+00
br i1 %165, label %166, label %167
166: ; preds = %162, %158, %150
tail call void @abort()
unreachable
167: ; preds = %162
%168 = bitcast double* %7 to i8*
%169 = bitcast double* %8 to i8*
%170 = bitcast double* %9 to i8*
%171 = bitcast double* %10 to i8*
%172 = bitcast double* %11 to i8*
%173 = bitcast double* %12 to i8*
store volatile double 0.000000e+00, double* %7
store volatile double 0.000000e+00, double* %8
%174 = load volatile double, double* %7
%175 = load volatile double, double* %8
%176 = fcmp une double %174, 0.000000e+00
%177 = fcmp une double %175, 0.000000e+00
%178 = or i1 %176, %177
br i1 %178, label %187, label %179
179: ; preds = %167
%180 = load volatile double, double* %7
%181 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %180)
%182 = fcmp une double %181, 1.000000e+00
br i1 %182, label %187, label %183
183: ; preds = %179
%184 = load volatile double, double* %8
%185 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %184)
%186 = fcmp une double %185, 1.000000e+00
br i1 %186, label %187, label %188
187: ; preds = %183, %179, %167
tail call void @abort()
unreachable
188: ; preds = %183
store volatile double 0.000000e+00, double* %9
store volatile double -0.000000e+00, double* %10
%189 = load volatile double, double* %9
%190 = load volatile double, double* %10
%191 = fcmp une double %189, 0.000000e+00
%192 = fcmp une double %190, 0.000000e+00
%193 = or i1 %191, %192
br i1 %193, label %202, label %194
194: ; preds = %188
%195 = load volatile double, double* %9
%196 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %195)
%197 = fcmp une double %196, 1.000000e+00
br i1 %197, label %202, label %198
198: ; preds = %194
%199 = load volatile double, double* %10
%200 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %199)
%201 = fcmp une double %200, -1.000000e+00
br i1 %201, label %202, label %203
202: ; preds = %198, %194, %188
tail call void @abort()
unreachable
203: ; preds = %198
%204 = load volatile double, double* %7
%205 = load volatile double, double* %8
%206 = load volatile double, double* %9
%207 = load volatile double, double* %10
%208 = fmul double %204, %206
%209 = fmul double %205, %207
%210 = fmul double %204, %207
%211 = fmul double %205, %206
%212 = fsub double %208, %209
%213 = fadd double %211, %210
%214 = fcmp uno double %212, 0.000000e+00
br i1 %214, label %215, label %221
215: ; preds = %203
%216 = fcmp uno double %213, 0.000000e+00
br i1 %216, label %217, label %221
217: ; preds = %215
%218 = tail call { double, double } @__muldc3(double %204, double %205, double %206, double %207)
%219 = extractvalue { double, double } %218, 0
%220 = extractvalue { double, double } %218, 1
br label %221
221: ; preds = %217, %215, %203
%222 = phi double [ %212, %203 ], [ %212, %215 ], [ %219, %217 ]
%223 = phi double [ %213, %203 ], [ %213, %215 ], [ %220, %217 ]
store volatile double %222, double* %11
store volatile double %223, double* %12
%224 = load volatile double, double* %11
%225 = load volatile double, double* %12
%226 = fcmp une double %224, 0.000000e+00
%227 = fcmp une double %225, 0.000000e+00
%228 = or i1 %226, %227
br i1 %228, label %237, label %229
229: ; preds = %221
%230 = load volatile double, double* %11
%231 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %230)
%232 = fcmp une double %231, 1.000000e+00
br i1 %232, label %237, label %233
233: ; preds = %229
%234 = load volatile double, double* %12
%235 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %234)
%236 = fcmp une double %235, 1.000000e+00
br i1 %236, label %237, label %238
237: ; preds = %233, %229, %221
tail call void @abort()
unreachable
238: ; preds = %233
%239 = bitcast double* %13 to i8*
%240 = bitcast double* %14 to i8*
%241 = bitcast double* %15 to i8*
%242 = bitcast double* %16 to i8*
%243 = bitcast double* %17 to i8*
%244 = bitcast double* %18 to i8*
store volatile double 0.000000e+00, double* %13
store volatile double 0.000000e+00, double* %14
%245 = load volatile double, double* %13
%246 = load volatile double, double* %14
%247 = fcmp une double %245, 0.000000e+00
%248 = fcmp une double %246, 0.000000e+00
%249 = or i1 %247, %248
br i1 %249, label %258, label %250
250: ; preds = %238
%251 = load volatile double, double* %13
%252 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %251)
%253 = fcmp une double %252, 1.000000e+00
br i1 %253, label %258, label %254
254: ; preds = %250
%255 = load volatile double, double* %14
%256 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %255)
%257 = fcmp une double %256, 1.000000e+00
br i1 %257, label %258, label %259
258: ; preds = %254, %250, %238
tail call void @abort()
unreachable
259: ; preds = %254
store volatile double -0.000000e+00, double* %15
store volatile double 0.000000e+00, double* %16
%260 = load volatile double, double* %15
%261 = load volatile double, double* %16
%262 = fcmp une double %260, 0.000000e+00
%263 = fcmp une double %261, 0.000000e+00
%264 = or i1 %262, %263
br i1 %264, label %273, label %265
265: ; preds = %259
%266 = load volatile double, double* %15
%267 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %266)
%268 = fcmp une double %267, -1.000000e+00
br i1 %268, label %273, label %269
269: ; preds = %265
%270 = load volatile double, double* %16
%271 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %270)
%272 = fcmp une double %271, 1.000000e+00
br i1 %272, label %273, label %274
273: ; preds = %269, %265, %259
tail call void @abort()
unreachable
274: ; preds = %269
%275 = load volatile double, double* %13
%276 = load volatile double, double* %14
%277 = load volatile double, double* %15
%278 = load volatile double, double* %16
%279 = fmul double %275, %277
%280 = fmul double %276, %278
%281 = fmul double %275, %278
%282 = fmul double %276, %277
%283 = fsub double %279, %280
%284 = fadd double %282, %281
%285 = fcmp uno double %283, 0.000000e+00
br i1 %285, label %286, label %292
286: ; preds = %274
%287 = fcmp uno double %284, 0.000000e+00
br i1 %287, label %288, label %292
288: ; preds = %286
%289 = tail call { double, double } @__muldc3(double %275, double %276, double %277, double %278)
%290 = extractvalue { double, double } %289, 0
%291 = extractvalue { double, double } %289, 1
br label %292
292: ; preds = %288, %286, %274
%293 = phi double [ %283, %274 ], [ %283, %286 ], [ %290, %288 ]
%294 = phi double [ %284, %274 ], [ %284, %286 ], [ %291, %288 ]
store volatile double %293, double* %17
store volatile double %294, double* %18
%295 = load volatile double, double* %17
%296 = load volatile double, double* %18
%297 = fcmp une double %295, 0.000000e+00
%298 = fcmp une double %296, 0.000000e+00
%299 = or i1 %297, %298
br i1 %299, label %308, label %300
300: ; preds = %292
%301 = load volatile double, double* %17
%302 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %301)
%303 = fcmp une double %302, -1.000000e+00
br i1 %303, label %308, label %304
304: ; preds = %300
%305 = load volatile double, double* %18
%306 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %305)
%307 = fcmp une double %306, 1.000000e+00
br i1 %307, label %308, label %309
308: ; preds = %304, %300, %292
tail call void @abort()
unreachable
309: ; preds = %304
%310 = bitcast double* %19 to i8*
%311 = bitcast double* %20 to i8*
%312 = bitcast double* %21 to i8*
%313 = bitcast double* %22 to i8*
%314 = bitcast double* %23 to i8*
%315 = bitcast double* %24 to i8*
store volatile double 0.000000e+00, double* %19
store volatile double 0.000000e+00, double* %20
%316 = load volatile double, double* %19
%317 = load volatile double, double* %20
%318 = fcmp une double %316, 0.000000e+00
%319 = fcmp une double %317, 0.000000e+00
%320 = or i1 %318, %319
br i1 %320, label %329, label %321
321: ; preds = %309
%322 = load volatile double, double* %19
%323 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %322)
%324 = fcmp une double %323, 1.000000e+00
br i1 %324, label %329, label %325
325: ; preds = %321
%326 = load volatile double, double* %20
%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 %329, label %330
329: ; preds = %325, %321, %309
tail call void @abort()
unreachable
330: ; preds = %325
store volatile double -0.000000e+00, double* %21
store volatile double -0.000000e+00, double* %22
%331 = load volatile double, double* %21
%332 = load volatile double, double* %22
%333 = fcmp une double %331, 0.000000e+00
%334 = fcmp une double %332, 0.000000e+00
%335 = or i1 %333, %334
br i1 %335, label %344, label %336
336: ; preds = %330
%337 = load volatile double, double* %21
%338 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %337)
%339 = fcmp une double %338, -1.000000e+00
br i1 %339, label %344, label %340
340: ; preds = %336
%341 = load volatile double, double* %22
%342 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %341)
%343 = fcmp une double %342, -1.000000e+00
br i1 %343, label %344, label %345
344: ; preds = %340, %336, %330
tail call void @abort()
unreachable
345: ; preds = %340
%346 = load volatile double, double* %19
%347 = load volatile double, double* %20
%348 = load volatile double, double* %21
%349 = load volatile double, double* %22
%350 = fmul double %346, %348
%351 = fmul double %347, %349
%352 = fmul double %346, %349
%353 = fmul double %347, %348
%354 = fsub double %350, %351
%355 = fadd double %353, %352
%356 = fcmp uno double %354, 0.000000e+00
br i1 %356, label %357, label %363
357: ; preds = %345
%358 = fcmp uno double %355, 0.000000e+00
br i1 %358, label %359, label %363
359: ; preds = %357
%360 = tail call { double, double } @__muldc3(double %346, double %347, double %348, double %349)
%361 = extractvalue { double, double } %360, 0
%362 = extractvalue { double, double } %360, 1
br label %363
363: ; preds = %359, %357, %345
%364 = phi double [ %354, %345 ], [ %354, %357 ], [ %361, %359 ]
%365 = phi double [ %355, %345 ], [ %355, %357 ], [ %362, %359 ]
store volatile double %364, double* %23
store volatile double %365, double* %24
%366 = load volatile double, double* %23
%367 = load volatile double, double* %24
%368 = fcmp une double %366, 0.000000e+00
%369 = fcmp une double %367, 0.000000e+00
%370 = or i1 %368, %369
br i1 %370, label %379, label %371
371: ; preds = %363
%372 = load volatile double, double* %23
%373 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %372)
%374 = fcmp une double %373, 1.000000e+00
br i1 %374, label %379, label %375
375: ; preds = %371
%376 = load volatile double, double* %24
%377 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %376)
%378 = fcmp une double %377, -1.000000e+00
br i1 %378, label %379, label %380
379: ; preds = %375, %371, %363
tail call void @abort()
unreachable
380: ; preds = %375
%381 = bitcast double* %25 to i8*
%382 = bitcast double* %26 to i8*
%383 = bitcast double* %27 to i8*
%384 = bitcast double* %28 to i8*
%385 = bitcast double* %29 to i8*
%386 = bitcast double* %30 to i8*
store volatile double 0.000000e+00, double* %25
store volatile double -0.000000e+00, double* %26
%387 = load volatile double, double* %25
%388 = load volatile double, double* %26
%389 = fcmp une double %387, 0.000000e+00
%390 = fcmp une double %388, 0.000000e+00
%391 = or i1 %389, %390
br i1 %391, label %400, label %392
392: ; preds = %380
%393 = load volatile double, double* %25
%394 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %393)
%395 = fcmp une double %394, 1.000000e+00
br i1 %395, label %400, label %396
396: ; preds = %392
%397 = load volatile double, double* %26
%398 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %397)
%399 = fcmp une double %398, -1.000000e+00
br i1 %399, label %400, label %401
400: ; preds = %396, %392, %380
tail call void @abort()
unreachable
401: ; preds = %396
store volatile double 0.000000e+00, double* %27
store volatile double 0.000000e+00, double* %28
%402 = load volatile double, double* %27
%403 = load volatile double, double* %28
%404 = fcmp une double %402, 0.000000e+00
%405 = fcmp une double %403, 0.000000e+00
%406 = or i1 %404, %405
br i1 %406, label %415, label %407
407: ; preds = %401
%408 = load volatile double, double* %27
%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 %415, label %411
411: ; preds = %407
%412 = load volatile double, double* %28
%413 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %412)
%414 = fcmp une double %413, 1.000000e+00
br i1 %414, label %415, label %416
415: ; preds = %411, %407, %401
tail call void @abort()
unreachable
416: ; preds = %411
%417 = load volatile double, double* %25
%418 = load volatile double, double* %26
%419 = load volatile double, double* %27
%420 = load volatile double, double* %28
%421 = fmul double %417, %419
%422 = fmul double %418, %420
%423 = fmul double %417, %420
%424 = fmul double %418, %419
%425 = fsub double %421, %422
%426 = fadd double %424, %423
%427 = fcmp uno double %425, 0.000000e+00
br i1 %427, label %428, label %434
428: ; preds = %416
%429 = fcmp uno double %426, 0.000000e+00
br i1 %429, label %430, label %434
430: ; preds = %428
%431 = tail call { double, double } @__muldc3(double %417, double %418, double %419, double %420)
%432 = extractvalue { double, double } %431, 0
%433 = extractvalue { double, double } %431, 1
br label %434
434: ; preds = %430, %428, %416
%435 = phi double [ %425, %416 ], [ %425, %428 ], [ %432, %430 ]
%436 = phi double [ %426, %416 ], [ %426, %428 ], [ %433, %430 ]
store volatile double %435, double* %29
store volatile double %436, double* %30
%437 = load volatile double, double* %29
%438 = load volatile double, double* %30
%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 = %434
%443 = load volatile double, double* %29
%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* %30
%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, %434
tail call void @abort()
unreachable
451: ; preds = %446
%452 = bitcast double* %31 to i8*
%453 = bitcast double* %32 to i8*
%454 = bitcast double* %33 to i8*
%455 = bitcast double* %34 to i8*
%456 = bitcast double* %35 to i8*
%457 = bitcast double* %36 to i8*
store volatile double 0.000000e+00, double* %31
store volatile double -0.000000e+00, double* %32
%458 = load volatile double, double* %31
%459 = load volatile double, double* %32
%460 = fcmp une double %458, 0.000000e+00
%461 = fcmp une double %459, 0.000000e+00
%462 = or i1 %460, %461
br i1 %462, label %471, label %463
463: ; preds = %451
%464 = load volatile double, double* %31
%465 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %464)
%466 = fcmp une double %465, 1.000000e+00
br i1 %466, label %471, label %467
467: ; preds = %463
%468 = load volatile double, double* %32
%469 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %468)
%470 = fcmp une double %469, -1.000000e+00
br i1 %470, label %471, label %472
471: ; preds = %467, %463, %451
tail call void @abort()
unreachable
472: ; preds = %467
store volatile double 0.000000e+00, double* %33
store volatile double -0.000000e+00, double* %34
%473 = load volatile double, double* %33
%474 = load volatile double, double* %34
%475 = fcmp une double %473, 0.000000e+00
%476 = fcmp une double %474, 0.000000e+00
%477 = or i1 %475, %476
br i1 %477, label %486, label %478
478: ; preds = %472
%479 = load volatile double, double* %33
%480 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %479)
%481 = fcmp une double %480, 1.000000e+00
br i1 %481, label %486, label %482
482: ; preds = %478
%483 = load volatile double, double* %34
%484 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %483)
%485 = fcmp une double %484, -1.000000e+00
br i1 %485, label %486, label %487
486: ; preds = %482, %478, %472
tail call void @abort()
unreachable
487: ; preds = %482
%488 = load volatile double, double* %31
%489 = load volatile double, double* %32
%490 = load volatile double, double* %33
%491 = load volatile double, double* %34
%492 = fmul double %488, %490
%493 = fmul double %489, %491
%494 = fmul double %488, %491
%495 = fmul double %489, %490
%496 = fsub double %492, %493
%497 = fadd double %495, %494
%498 = fcmp uno double %496, 0.000000e+00
br i1 %498, label %499, label %505
499: ; preds = %487
%500 = fcmp uno double %497, 0.000000e+00
br i1 %500, label %501, label %505
501: ; preds = %499
%502 = tail call { double, double } @__muldc3(double %488, double %489, double %490, double %491)
%503 = extractvalue { double, double } %502, 0
%504 = extractvalue { double, double } %502, 1
br label %505
505: ; preds = %501, %499, %487
%506 = phi double [ %496, %487 ], [ %496, %499 ], [ %503, %501 ]
%507 = phi double [ %497, %487 ], [ %497, %499 ], [ %504, %501 ]
store volatile double %506, double* %35
store volatile double %507, double* %36
%508 = load volatile double, double* %35
%509 = load volatile double, double* %36
%510 = fcmp une double %508, 0.000000e+00
%511 = fcmp une double %509, 0.000000e+00
%512 = or i1 %510, %511
br i1 %512, label %521, label %513
513: ; preds = %505
%514 = load volatile double, double* %35
%515 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %514)
%516 = fcmp une double %515, 1.000000e+00
br i1 %516, label %521, label %517
517: ; preds = %513
%518 = load volatile double, double* %36
%519 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %518)
%520 = fcmp une double %519, -1.000000e+00
br i1 %520, label %521, label %522
521: ; preds = %517, %513, %505
tail call void @abort()
unreachable
522: ; preds = %517
%523 = bitcast double* %37 to i8*
%524 = bitcast double* %38 to i8*
%525 = bitcast double* %39 to i8*
%526 = bitcast double* %40 to i8*
%527 = bitcast double* %41 to i8*
%528 = bitcast double* %42 to i8*
store volatile double 0.000000e+00, double* %37
store volatile double -0.000000e+00, double* %38
%529 = load volatile double, double* %37
%530 = load volatile double, double* %38
%531 = fcmp une double %529, 0.000000e+00
%532 = fcmp une double %530, 0.000000e+00
%533 = or i1 %531, %532
br i1 %533, label %542, label %534
534: ; preds = %522
%535 = load volatile double, double* %37
%536 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %535)
%537 = fcmp une double %536, 1.000000e+00
br i1 %537, label %542, label %538
538: ; preds = %534
%539 = load volatile double, double* %38
%540 = tail 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 = %538, %534, %522
tail call void @abort()
unreachable
543: ; preds = %538
store volatile double -0.000000e+00, double* %39
store volatile double 0.000000e+00, double* %40
%544 = load volatile double, double* %39
%545 = load volatile double, double* %40
%546 = fcmp une double %544, 0.000000e+00
%547 = fcmp une double %545, 0.000000e+00
%548 = or i1 %546, %547
br i1 %548, label %557, label %549
549: ; preds = %543
%550 = load volatile double, double* %39
%551 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %550)
%552 = fcmp une double %551, -1.000000e+00
br i1 %552, label %557, label %553
553: ; preds = %549
%554 = load volatile double, double* %40
%555 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %554)
%556 = fcmp une double %555, 1.000000e+00
br i1 %556, label %557, label %558
557: ; preds = %553, %549, %543
tail call void @abort()
unreachable
558: ; preds = %553
%559 = load volatile double, double* %37
%560 = load volatile double, double* %38
%561 = load volatile double, double* %39
%562 = load volatile double, double* %40
%563 = fmul double %559, %561
%564 = fmul double %560, %562
%565 = fmul double %559, %562
%566 = fmul double %560, %561
%567 = fsub double %563, %564
%568 = fadd double %566, %565
%569 = fcmp uno double %567, 0.000000e+00
br i1 %569, label %570, label %576
570: ; preds = %558
%571 = fcmp uno double %568, 0.000000e+00
br i1 %571, label %572, label %576
572: ; preds = %570
%573 = tail call { double, double } @__muldc3(double %559, double %560, double %561, double %562)
%574 = extractvalue { double, double } %573, 0
%575 = extractvalue { double, double } %573, 1
br label %576
576: ; preds = %572, %570, %558
%577 = phi double [ %567, %558 ], [ %567, %570 ], [ %574, %572 ]
%578 = phi double [ %568, %558 ], [ %568, %570 ], [ %575, %572 ]
store volatile double %577, double* %41
store volatile double %578, double* %42
%579 = load volatile double, double* %41
%580 = load volatile double, double* %42
%581 = fcmp une double %579, 0.000000e+00
%582 = fcmp une double %580, 0.000000e+00
%583 = or i1 %581, %582
br i1 %583, label %592, label %584
584: ; preds = %576
%585 = load volatile double, double* %41
%586 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %585)
%587 = fcmp une double %586, 1.000000e+00
br i1 %587, label %592, label %588
588: ; preds = %584
%589 = load volatile double, double* %42
%590 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %589)
%591 = fcmp une double %590, 1.000000e+00
br i1 %591, label %592, label %593
592: ; preds = %588, %584, %576
tail call void @abort()
unreachable
593: ; preds = %588
%594 = bitcast double* %43 to i8*
%595 = bitcast double* %44 to i8*
%596 = bitcast double* %45 to i8*
%597 = bitcast double* %46 to i8*
%598 = bitcast double* %47 to i8*
%599 = bitcast double* %48 to i8*
store volatile double 0.000000e+00, double* %43
store volatile double -0.000000e+00, double* %44
%600 = load volatile double, double* %43
%601 = load volatile double, double* %44
%602 = fcmp une double %600, 0.000000e+00
%603 = fcmp une double %601, 0.000000e+00
%604 = or i1 %602, %603
br i1 %604, label %613, label %605
605: ; preds = %593
%606 = load volatile double, double* %43
%607 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %606)
%608 = fcmp une double %607, 1.000000e+00
br i1 %608, label %613, label %609
609: ; preds = %605
%610 = load volatile double, double* %44
%611 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %610)
%612 = fcmp une double %611, -1.000000e+00
br i1 %612, label %613, label %614
613: ; preds = %609, %605, %593
tail call void @abort()
unreachable
614: ; preds = %609
store volatile double -0.000000e+00, double* %45
store volatile double -0.000000e+00, double* %46
%615 = load volatile double, double* %45
%616 = load volatile double, double* %46
%617 = fcmp une double %615, 0.000000e+00
%618 = fcmp une double %616, 0.000000e+00
%619 = or i1 %617, %618
br i1 %619, label %628, label %620
620: ; preds = %614
%621 = load volatile double, double* %45
%622 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %621)
%623 = fcmp une double %622, -1.000000e+00
br i1 %623, label %628, label %624
624: ; preds = %620
%625 = load volatile double, double* %46
%626 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %625)
%627 = fcmp une double %626, -1.000000e+00
br i1 %627, label %628, label %629
628: ; preds = %624, %620, %614
tail call void @abort()
unreachable
629: ; preds = %624
%630 = load volatile double, double* %43
%631 = load volatile double, double* %44
%632 = load volatile double, double* %45
%633 = load volatile double, double* %46
%634 = fmul double %630, %632
%635 = fmul double %631, %633
%636 = fmul double %630, %633
%637 = fmul double %631, %632
%638 = fsub double %634, %635
%639 = fadd double %637, %636
%640 = fcmp uno double %638, 0.000000e+00
br i1 %640, label %641, label %647
641: ; preds = %629
%642 = fcmp uno double %639, 0.000000e+00
br i1 %642, label %643, label %647
643: ; preds = %641
%644 = tail call { double, double } @__muldc3(double %630, double %631, double %632, double %633)
%645 = extractvalue { double, double } %644, 0
%646 = extractvalue { double, double } %644, 1
br label %647
647: ; preds = %643, %641, %629
%648 = phi double [ %638, %629 ], [ %638, %641 ], [ %645, %643 ]
%649 = phi double [ %639, %629 ], [ %639, %641 ], [ %646, %643 ]
store volatile double %648, double* %47
store volatile double %649, double* %48
%650 = load volatile double, double* %47
%651 = load volatile double, double* %48
%652 = fcmp une double %650, 0.000000e+00
%653 = fcmp une double %651, 0.000000e+00
%654 = or i1 %652, %653
br i1 %654, label %663, label %655
655: ; preds = %647
%656 = load volatile double, double* %47
%657 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %656)
%658 = fcmp une double %657, -1.000000e+00
br i1 %658, label %663, label %659
659: ; preds = %655
%660 = load volatile double, double* %48
%661 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %660)
%662 = fcmp une double %661, 1.000000e+00
br i1 %662, label %663, label %664
663: ; preds = %659, %655, %647
tail call void @abort()
unreachable
664: ; preds = %659
%665 = bitcast double* %49 to i8*
%666 = bitcast double* %50 to i8*
%667 = bitcast double* %51 to i8*
%668 = bitcast double* %52 to i8*
%669 = bitcast double* %53 to i8*
%670 = bitcast double* %54 to i8*
store volatile double -0.000000e+00, double* %49
store volatile double 0.000000e+00, double* %50
%671 = load volatile double, double* %49
%672 = load volatile double, double* %50
%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 = %664
%677 = load volatile double, double* %49
%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* %50
%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, %664
tail call void @abort()
unreachable
685: ; preds = %680
store volatile double 0.000000e+00, double* %51
store volatile double 0.000000e+00, double* %52
%686 = load volatile double, double* %51
%687 = load volatile double, double* %52
%688 = fcmp une double %686, 0.000000e+00
%689 = fcmp une double %687, 0.000000e+00
%690 = or i1 %688, %689
br i1 %690, label %699, label %691
691: ; preds = %685
%692 = load volatile double, double* %51
%693 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %692)
%694 = fcmp une double %693, 1.000000e+00
br i1 %694, label %699, label %695
695: ; preds = %691
%696 = load volatile double, double* %52
%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 %699, label %700
699: ; preds = %695, %691, %685
tail call void @abort()
unreachable
700: ; preds = %695
%701 = load volatile double, double* %49
%702 = load volatile double, double* %50
%703 = load volatile double, double* %51
%704 = load volatile double, double* %52
%705 = fmul double %701, %703
%706 = fmul double %702, %704
%707 = fmul double %701, %704
%708 = fmul double %702, %703
%709 = fsub double %705, %706
%710 = fadd double %708, %707
%711 = fcmp uno double %709, 0.000000e+00
br i1 %711, label %712, label %718
712: ; preds = %700
%713 = fcmp uno double %710, 0.000000e+00
br i1 %713, label %714, label %718
714: ; preds = %712
%715 = tail call { double, double } @__muldc3(double %701, double %702, double %703, double %704)
%716 = extractvalue { double, double } %715, 0
%717 = extractvalue { double, double } %715, 1
br label %718
718: ; preds = %714, %712, %700
%719 = phi double [ %709, %700 ], [ %709, %712 ], [ %716, %714 ]
%720 = phi double [ %710, %700 ], [ %710, %712 ], [ %717, %714 ]
store volatile double %719, double* %53
store volatile double %720, double* %54
%721 = load volatile double, double* %53
%722 = load volatile double, double* %54
%723 = fcmp une double %721, 0.000000e+00
%724 = fcmp une double %722, 0.000000e+00
%725 = or i1 %723, %724
br i1 %725, label %734, label %726
726: ; preds = %718
%727 = load volatile double, double* %53
%728 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %727)
%729 = fcmp une double %728, -1.000000e+00
br i1 %729, label %734, label %730
730: ; preds = %726
%731 = load volatile double, double* %54
%732 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %731)
%733 = fcmp une double %732, 1.000000e+00
br i1 %733, label %734, label %735
734: ; preds = %730, %726, %718
tail call void @abort()
unreachable
735: ; preds = %730
%736 = bitcast double* %55 to i8*
%737 = bitcast double* %56 to i8*
%738 = bitcast double* %57 to i8*
%739 = bitcast double* %58 to i8*
%740 = bitcast double* %59 to i8*
%741 = bitcast double* %60 to i8*
store volatile double -0.000000e+00, double* %55
store volatile double 0.000000e+00, double* %56
%742 = load volatile double, double* %55
%743 = load volatile double, double* %56
%744 = fcmp une double %742, 0.000000e+00
%745 = fcmp une double %743, 0.000000e+00
%746 = or i1 %744, %745
br i1 %746, label %755, label %747
747: ; preds = %735
%748 = load volatile double, double* %55
%749 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %748)
%750 = fcmp une double %749, -1.000000e+00
br i1 %750, label %755, label %751
751: ; preds = %747
%752 = load volatile double, double* %56
%753 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %752)
%754 = fcmp une double %753, 1.000000e+00
br i1 %754, label %755, label %756
755: ; preds = %751, %747, %735
tail call void @abort()
unreachable
756: ; preds = %751
store volatile double 0.000000e+00, double* %57
store volatile double -0.000000e+00, double* %58
%757 = load volatile double, double* %57
%758 = load volatile double, double* %58
%759 = fcmp une double %757, 0.000000e+00
%760 = fcmp une double %758, 0.000000e+00
%761 = or i1 %759, %760
br i1 %761, label %770, label %762
762: ; preds = %756
%763 = load volatile double, double* %57
%764 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %763)
%765 = fcmp une double %764, 1.000000e+00
br i1 %765, label %770, label %766
766: ; preds = %762
%767 = load volatile double, double* %58
%768 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %767)
%769 = fcmp une double %768, -1.000000e+00
br i1 %769, label %770, label %771
770: ; preds = %766, %762, %756
tail call void @abort()
unreachable
771: ; preds = %766
%772 = load volatile double, double* %55
%773 = load volatile double, double* %56
%774 = load volatile double, double* %57
%775 = load volatile double, double* %58
%776 = fmul double %772, %774
%777 = fmul double %773, %775
%778 = fmul double %772, %775
%779 = fmul double %773, %774
%780 = fsub double %776, %777
%781 = fadd double %779, %778
%782 = fcmp uno double %780, 0.000000e+00
br i1 %782, label %783, label %789
783: ; preds = %771
%784 = fcmp uno double %781, 0.000000e+00
br i1 %784, label %785, label %789
785: ; preds = %783
%786 = tail call { double, double } @__muldc3(double %772, double %773, double %774, double %775)
%787 = extractvalue { double, double } %786, 0
%788 = extractvalue { double, double } %786, 1
br label %789
789: ; preds = %785, %783, %771
%790 = phi double [ %780, %771 ], [ %780, %783 ], [ %787, %785 ]
%791 = phi double [ %781, %771 ], [ %781, %783 ], [ %788, %785 ]
store volatile double %790, double* %59
store volatile double %791, double* %60
%792 = load volatile double, double* %59
%793 = load volatile double, double* %60
%794 = fcmp une double %792, 0.000000e+00
%795 = fcmp une double %793, 0.000000e+00
%796 = or i1 %794, %795
br i1 %796, label %805, label %797
797: ; preds = %789
%798 = load volatile double, double* %59
%799 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %798)
%800 = fcmp une double %799, 1.000000e+00
br i1 %800, label %805, label %801
801: ; preds = %797
%802 = load volatile double, double* %60
%803 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %802)
%804 = fcmp une double %803, 1.000000e+00
br i1 %804, label %805, label %806
805: ; preds = %801, %797, %789
tail call void @abort()
unreachable
806: ; preds = %801
%807 = bitcast double* %61 to i8*
%808 = bitcast double* %62 to i8*
%809 = bitcast double* %63 to i8*
%810 = bitcast double* %64 to i8*
%811 = bitcast double* %65 to i8*
%812 = bitcast double* %66 to i8*
store volatile double -0.000000e+00, double* %61
store volatile double 0.000000e+00, double* %62
%813 = load volatile double, double* %61
%814 = load volatile double, double* %62
%815 = fcmp une double %813, 0.000000e+00
%816 = fcmp une double %814, 0.000000e+00
%817 = or i1 %815, %816
br i1 %817, label %826, label %818
818: ; preds = %806
%819 = load volatile double, double* %61
%820 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %819)
%821 = fcmp une double %820, -1.000000e+00
br i1 %821, label %826, label %822
822: ; preds = %818
%823 = load volatile double, double* %62
%824 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %823)
%825 = fcmp une double %824, 1.000000e+00
br i1 %825, label %826, label %827
826: ; preds = %822, %818, %806
tail call void @abort()
unreachable
827: ; preds = %822
store volatile double -0.000000e+00, double* %63
store volatile double 0.000000e+00, double* %64
%828 = load volatile double, double* %63
%829 = load volatile double, double* %64
%830 = fcmp une double %828, 0.000000e+00
%831 = fcmp une double %829, 0.000000e+00
%832 = or i1 %830, %831
br i1 %832, label %841, label %833
833: ; preds = %827
%834 = load volatile double, double* %63
%835 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %834)
%836 = fcmp une double %835, -1.000000e+00
br i1 %836, label %841, label %837
837: ; preds = %833
%838 = load volatile double, double* %64
%839 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %838)
%840 = fcmp une double %839, 1.000000e+00
br i1 %840, label %841, label %842
841: ; preds = %837, %833, %827
tail call void @abort()
unreachable
842: ; preds = %837
%843 = load volatile double, double* %61
%844 = load volatile double, double* %62
%845 = load volatile double, double* %63
%846 = load volatile double, double* %64
%847 = fmul double %843, %845
%848 = fmul double %844, %846
%849 = fmul double %843, %846
%850 = fmul double %844, %845
%851 = fsub double %847, %848
%852 = fadd double %850, %849
%853 = fcmp uno double %851, 0.000000e+00
br i1 %853, label %854, label %860
854: ; preds = %842
%855 = fcmp uno double %852, 0.000000e+00
br i1 %855, label %856, label %860
856: ; preds = %854
%857 = tail call { double, double } @__muldc3(double %843, double %844, double %845, double %846)
%858 = extractvalue { double, double } %857, 0
%859 = extractvalue { double, double } %857, 1
br label %860
860: ; preds = %856, %854, %842
%861 = phi double [ %851, %842 ], [ %851, %854 ], [ %858, %856 ]
%862 = phi double [ %852, %842 ], [ %852, %854 ], [ %859, %856 ]
store volatile double %861, double* %65
store volatile double %862, double* %66
%863 = load volatile double, double* %65
%864 = load volatile double, double* %66
%865 = fcmp une double %863, 0.000000e+00
%866 = fcmp une double %864, 0.000000e+00
%867 = or i1 %865, %866
br i1 %867, label %876, label %868
868: ; preds = %860
%869 = load volatile double, double* %65
%870 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %869)
%871 = fcmp une double %870, 1.000000e+00
br i1 %871, label %876, label %872
872: ; preds = %868
%873 = load volatile double, double* %66
%874 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %873)
%875 = fcmp une double %874, -1.000000e+00
br i1 %875, label %876, label %877
876: ; preds = %872, %868, %860
tail call void @abort()
unreachable
877: ; preds = %872
%878 = bitcast double* %67 to i8*
%879 = bitcast double* %68 to i8*
%880 = bitcast double* %69 to i8*
%881 = bitcast double* %70 to i8*
%882 = bitcast double* %71 to i8*
%883 = bitcast double* %72 to i8*
store volatile double -0.000000e+00, double* %67
store volatile double 0.000000e+00, double* %68
%884 = load volatile double, double* %67
%885 = load volatile double, double* %68
%886 = fcmp une double %884, 0.000000e+00
%887 = fcmp une double %885, 0.000000e+00
%888 = or i1 %886, %887
br i1 %888, label %897, label %889
889: ; preds = %877
%890 = load volatile double, double* %67
%891 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %890)
%892 = fcmp une double %891, -1.000000e+00
br i1 %892, label %897, label %893
893: ; preds = %889
%894 = load volatile double, double* %68
%895 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %894)
%896 = fcmp une double %895, 1.000000e+00
br i1 %896, label %897, label %898
897: ; preds = %893, %889, %877
tail call void @abort()
unreachable
898: ; preds = %893
store volatile double -0.000000e+00, double* %69
store volatile double -0.000000e+00, double* %70
%899 = load volatile double, double* %69
%900 = load volatile double, double* %70
%901 = fcmp une double %899, 0.000000e+00
%902 = fcmp une double %900, 0.000000e+00
%903 = or i1 %901, %902
br i1 %903, label %912, label %904
904: ; preds = %898
%905 = load volatile double, double* %69
%906 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %905)
%907 = fcmp une double %906, -1.000000e+00
br i1 %907, label %912, label %908
908: ; preds = %904
%909 = load volatile double, double* %70
%910 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %909)
%911 = fcmp une double %910, -1.000000e+00
br i1 %911, label %912, label %913
912: ; preds = %908, %904, %898
tail call void @abort()
unreachable
913: ; preds = %908
%914 = load volatile double, double* %67
%915 = load volatile double, double* %68
%916 = load volatile double, double* %69
%917 = load volatile double, double* %70
%918 = fmul double %914, %916
%919 = fmul double %915, %917
%920 = fmul double %914, %917
%921 = fmul double %915, %916
%922 = fsub double %918, %919
%923 = fadd double %921, %920
%924 = fcmp uno double %922, 0.000000e+00
br i1 %924, label %925, label %931
925: ; preds = %913
%926 = fcmp uno double %923, 0.000000e+00
br i1 %926, label %927, label %931
927: ; preds = %925
%928 = tail call { double, double } @__muldc3(double %914, double %915, double %916, double %917)
%929 = extractvalue { double, double } %928, 0
%930 = extractvalue { double, double } %928, 1
br label %931
931: ; preds = %927, %925, %913
%932 = phi double [ %922, %913 ], [ %922, %925 ], [ %929, %927 ]
%933 = phi double [ %923, %913 ], [ %923, %925 ], [ %930, %927 ]
store volatile double %932, double* %71
store volatile double %933, double* %72
%934 = load volatile double, double* %71
%935 = load volatile double, double* %72
%936 = fcmp une double %934, 0.000000e+00
%937 = fcmp une double %935, 0.000000e+00
%938 = or i1 %936, %937
br i1 %938, label %947, label %939
939: ; preds = %931
%940 = load volatile double, double* %71
%941 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %940)
%942 = fcmp une double %941, 1.000000e+00
br i1 %942, label %947, label %943
943: ; preds = %939
%944 = load volatile double, double* %72
%945 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %944)
%946 = fcmp une double %945, 1.000000e+00
br i1 %946, label %947, label %948
947: ; preds = %943, %939, %931
tail call void @abort()
unreachable
948: ; preds = %943
%949 = bitcast double* %73 to i8*
%950 = bitcast double* %74 to i8*
%951 = bitcast double* %75 to i8*
%952 = bitcast double* %76 to i8*
%953 = bitcast double* %77 to i8*
%954 = bitcast double* %78 to i8*
store volatile double -0.000000e+00, double* %73
store volatile double -0.000000e+00, double* %74
%955 = load volatile double, double* %73
%956 = load volatile double, double* %74
%957 = fcmp une double %955, 0.000000e+00
%958 = fcmp une double %956, 0.000000e+00
%959 = or i1 %957, %958
br i1 %959, label %968, label %960
960: ; preds = %948
%961 = load volatile double, double* %73
%962 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %961)
%963 = fcmp une double %962, -1.000000e+00
br i1 %963, label %968, label %964
964: ; preds = %960
%965 = load volatile double, double* %74
%966 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %965)
%967 = fcmp une double %966, -1.000000e+00
br i1 %967, label %968, label %969
968: ; preds = %964, %960, %948
tail call void @abort()
unreachable
969: ; preds = %964
store volatile double 0.000000e+00, double* %75
store volatile double 0.000000e+00, double* %76
%970 = load volatile double, double* %75
%971 = load volatile double, double* %76
%972 = fcmp une double %970, 0.000000e+00
%973 = fcmp une double %971, 0.000000e+00
%974 = or i1 %972, %973
br i1 %974, label %983, label %975
975: ; preds = %969
%976 = load volatile double, double* %75
%977 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %976)
%978 = fcmp une double %977, 1.000000e+00
br i1 %978, label %983, label %979
979: ; preds = %975
%980 = load volatile double, double* %76
%981 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %980)
%982 = fcmp une double %981, 1.000000e+00
br i1 %982, label %983, label %984
983: ; preds = %979, %975, %969
tail call void @abort()
unreachable
984: ; preds = %979
%985 = load volatile double, double* %73
%986 = load volatile double, double* %74
%987 = load volatile double, double* %75
%988 = load volatile double, double* %76
%989 = fmul double %985, %987
%990 = fmul double %986, %988
%991 = fmul double %985, %988
%992 = fmul double %986, %987
%993 = fsub double %989, %990
%994 = fadd double %992, %991
%995 = fcmp uno double %993, 0.000000e+00
br i1 %995, label %996, label %1002
996: ; preds = %984
%997 = fcmp uno double %994, 0.000000e+00
br i1 %997, label %998, label %1002
998: ; preds = %996
%999 = tail call { double, double } @__muldc3(double %985, double %986, double %987, double %988)
%1000 = extractvalue { double, double } %999, 0
%1001 = extractvalue { double, double } %999, 1
br label %1002
1002: ; preds = %998, %996, %984
%1003 = phi double [ %993, %984 ], [ %993, %996 ], [ %1000, %998 ]
%1004 = phi double [ %994, %984 ], [ %994, %996 ], [ %1001, %998 ]
store volatile double %1003, double* %77
store volatile double %1004, double* %78
%1005 = load volatile double, double* %77
%1006 = load volatile double, double* %78
%1007 = fcmp une double %1005, 0.000000e+00
%1008 = fcmp une double %1006, 0.000000e+00
%1009 = or i1 %1007, %1008
br i1 %1009, label %1018, label %1010
1010: ; preds = %1002
%1011 = load volatile double, double* %77
%1012 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %1011)
%1013 = fcmp une double %1012, 1.000000e+00
br i1 %1013, label %1018, label %1014
1014: ; preds = %1010
%1015 = load volatile double, double* %78
%1016 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %1015)
%1017 = fcmp une double %1016, -1.000000e+00
br i1 %1017, label %1018, label %1019
1018: ; preds = %1014, %1010, %1002
tail call void @abort()
unreachable
1019: ; preds = %1014
%1020 = bitcast double* %79 to i8*
%1021 = bitcast double* %80 to i8*
%1022 = bitcast double* %81 to i8*
%1023 = bitcast double* %82 to i8*
%1024 = bitcast double* %83 to i8*
%1025 = bitcast double* %84 to i8*
store volatile double -0.000000e+00, double* %79
store volatile double -0.000000e+00, double* %80
%1026 = load volatile double, double* %79
%1027 = load volatile double, double* %80
%1028 = fcmp une double %1026, 0.000000e+00
%1029 = fcmp une double %1027, 0.000000e+00
%1030 = or i1 %1028, %1029
br i1 %1030, label %1039, label %1031
1031: ; preds = %1019
%1032 = load volatile double, double* %79
%1033 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %1032)
%1034 = fcmp une double %1033, -1.000000e+00
br i1 %1034, label %1039, label %1035
1035: ; preds = %1031
%1036 = load volatile double, double* %80
%1037 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %1036)
%1038 = fcmp une double %1037, -1.000000e+00
br i1 %1038, label %1039, label %1040
1039: ; preds = %1035, %1031, %1019
tail call void @abort()
unreachable
1040: ; preds = %1035
store volatile double 0.000000e+00, double* %81
store volatile double -0.000000e+00, double* %82
%1041 = load volatile double, double* %81
%1042 = load volatile double, double* %82
%1043 = fcmp une double %1041, 0.000000e+00
%1044 = fcmp une double %1042, 0.000000e+00
%1045 = or i1 %1043, %1044
br i1 %1045, label %1054, label %1046
1046: ; preds = %1040
%1047 = load volatile double, double* %81
%1048 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %1047)
%1049 = fcmp une double %1048, 1.000000e+00
br i1 %1049, label %1054, label %1050
1050: ; preds = %1046
%1051 = load volatile double, double* %82
%1052 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %1051)
%1053 = fcmp une double %1052, -1.000000e+00
br i1 %1053, label %1054, label %1055
1054: ; preds = %1050, %1046, %1040
tail call void @abort()
unreachable
1055: ; preds = %1050
%1056 = load volatile double, double* %79
%1057 = load volatile double, double* %80
%1058 = load volatile double, double* %81
%1059 = load volatile double, double* %82
%1060 = fmul double %1056, %1058
%1061 = fmul double %1057, %1059
%1062 = fmul double %1056, %1059
%1063 = fmul double %1057, %1058
%1064 = fsub double %1060, %1061
%1065 = fadd double %1063, %1062
%1066 = fcmp uno double %1064, 0.000000e+00
br i1 %1066, label %1067, label %1073
1067: ; preds = %1055
%1068 = fcmp uno double %1065, 0.000000e+00
br i1 %1068, label %1069, label %1073
1069: ; preds = %1067
%1070 = tail call { double, double } @__muldc3(double %1056, double %1057, double %1058, double %1059)
%1071 = extractvalue { double, double } %1070, 0
%1072 = extractvalue { double, double } %1070, 1
br label %1073
1073: ; preds = %1069, %1067, %1055
%1074 = phi double [ %1064, %1055 ], [ %1064, %1067 ], [ %1071, %1069 ]
%1075 = phi double [ %1065, %1055 ], [ %1065, %1067 ], [ %1072, %1069 ]
store volatile double %1074, double* %83
store volatile double %1075, double* %84
%1076 = load volatile double, double* %83
%1077 = load volatile double, double* %84
%1078 = fcmp une double %1076, 0.000000e+00
%1079 = fcmp une double %1077, 0.000000e+00
%1080 = or i1 %1078, %1079
br i1 %1080, label %1089, label %1081
1081: ; preds = %1073
%1082 = load volatile double, double* %83
%1083 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %1082)
%1084 = fcmp une double %1083, -1.000000e+00
br i1 %1084, label %1089, label %1085
1085: ; preds = %1081
%1086 = load volatile double, double* %84
%1087 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %1086)
%1088 = fcmp une double %1087, 1.000000e+00
br i1 %1088, label %1089, label %1090
1089: ; preds = %1085, %1081, %1073
tail call void @abort()
unreachable
1090: ; preds = %1085
%1091 = bitcast double* %85 to i8*
%1092 = bitcast double* %86 to i8*
%1093 = bitcast double* %87 to i8*
%1094 = bitcast double* %88 to i8*
%1095 = bitcast double* %89 to i8*
%1096 = bitcast double* %90 to i8*
store volatile double -0.000000e+00, double* %85
store volatile double -0.000000e+00, double* %86
%1097 = load volatile double, double* %85
%1098 = load volatile double, double* %86
%1099 = fcmp une double %1097, 0.000000e+00
%1100 = fcmp une double %1098, 0.000000e+00
%1101 = or i1 %1099, %1100
br i1 %1101, label %1110, label %1102
1102: ; preds = %1090
%1103 = load volatile double, double* %85
%1104 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %1103)
%1105 = fcmp une double %1104, -1.000000e+00
br i1 %1105, label %1110, label %1106
1106: ; preds = %1102
%1107 = load volatile double, double* %86
%1108 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %1107)
%1109 = fcmp une double %1108, -1.000000e+00
br i1 %1109, label %1110, label %1111
1110: ; preds = %1106, %1102, %1090
tail call void @abort()
unreachable
1111: ; preds = %1106
store volatile double -0.000000e+00, double* %87
store volatile double 0.000000e+00, double* %88
%1112 = load volatile double, double* %87
%1113 = load volatile double, double* %88
%1114 = fcmp une double %1112, 0.000000e+00
%1115 = fcmp une double %1113, 0.000000e+00
%1116 = or i1 %1114, %1115
br i1 %1116, label %1125, label %1117
1117: ; preds = %1111
%1118 = load volatile double, double* %87
%1119 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %1118)
%1120 = fcmp une double %1119, -1.000000e+00
br i1 %1120, label %1125, label %1121
1121: ; preds = %1117
%1122 = load volatile double, double* %88
%1123 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %1122)
%1124 = fcmp une double %1123, 1.000000e+00
br i1 %1124, label %1125, label %1126
1125: ; preds = %1121, %1117, %1111
tail call void @abort()
unreachable
1126: ; preds = %1121
%1127 = load volatile double, double* %85
%1128 = load volatile double, double* %86
%1129 = load volatile double, double* %87
%1130 = load volatile double, double* %88
%1131 = fmul double %1127, %1129
%1132 = fmul double %1128, %1130
%1133 = fmul double %1127, %1130
%1134 = fmul double %1128, %1129
%1135 = fsub double %1131, %1132
%1136 = fadd double %1134, %1133
%1137 = fcmp uno double %1135, 0.000000e+00
br i1 %1137, label %1138, label %1144
1138: ; preds = %1126
%1139 = fcmp uno double %1136, 0.000000e+00
br i1 %1139, label %1140, label %1144
1140: ; preds = %1138
%1141 = tail call { double, double } @__muldc3(double %1127, double %1128, double %1129, double %1130)
%1142 = extractvalue { double, double } %1141, 0
%1143 = extractvalue { double, double } %1141, 1
br label %1144
1144: ; preds = %1140, %1138, %1126
%1145 = phi double [ %1135, %1126 ], [ %1135, %1138 ], [ %1142, %1140 ]
%1146 = phi double [ %1136, %1126 ], [ %1136, %1138 ], [ %1143, %1140 ]
store volatile double %1145, double* %89
store volatile double %1146, double* %90
%1147 = load volatile double, double* %89
%1148 = load volatile double, double* %90
%1149 = fcmp une double %1147, 0.000000e+00
%1150 = fcmp une double %1148, 0.000000e+00
%1151 = or i1 %1149, %1150
br i1 %1151, label %1160, label %1152
1152: ; preds = %1144
%1153 = load volatile double, double* %89
%1154 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %1153)
%1155 = fcmp une double %1154, 1.000000e+00
br i1 %1155, label %1160, label %1156
1156: ; preds = %1152
%1157 = load volatile double, double* %90
%1158 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %1157)
%1159 = fcmp une double %1158, 1.000000e+00
br i1 %1159, label %1160, label %1161
1160: ; preds = %1156, %1152, %1144
tail call void @abort()
unreachable
1161: ; preds = %1156
%1162 = bitcast double* %91 to i8*
%1163 = bitcast double* %92 to i8*
%1164 = bitcast double* %93 to i8*
%1165 = bitcast double* %94 to i8*
%1166 = bitcast double* %95 to i8*
%1167 = bitcast double* %96 to i8*
store volatile double -0.000000e+00, double* %91
store volatile double -0.000000e+00, double* %92
%1168 = load volatile double, double* %91
%1169 = load volatile double, double* %92
%1170 = fcmp une double %1168, 0.000000e+00
%1171 = fcmp une double %1169, 0.000000e+00
%1172 = or i1 %1170, %1171
br i1 %1172, label %1181, label %1173
1173: ; preds = %1161
%1174 = load volatile double, double* %91
%1175 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %1174)
%1176 = fcmp une double %1175, -1.000000e+00
br i1 %1176, label %1181, label %1177
1177: ; preds = %1173
%1178 = load volatile double, double* %92
%1179 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %1178)
%1180 = fcmp une double %1179, -1.000000e+00
br i1 %1180, label %1181, label %1182
1181: ; preds = %1177, %1173, %1161
tail call void @abort()
unreachable
1182: ; preds = %1177
store volatile double -0.000000e+00, double* %93
store volatile double -0.000000e+00, double* %94
%1183 = load volatile double, double* %93
%1184 = load volatile double, double* %94
%1185 = fcmp une double %1183, 0.000000e+00
%1186 = fcmp une double %1184, 0.000000e+00
%1187 = or i1 %1185, %1186
br i1 %1187, label %1196, label %1188
1188: ; preds = %1182
%1189 = load volatile double, double* %93
%1190 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %1189)
%1191 = fcmp une double %1190, -1.000000e+00
br i1 %1191, label %1196, label %1192
1192: ; preds = %1188
%1193 = load volatile double, double* %94
%1194 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %1193)
%1195 = fcmp une double %1194, -1.000000e+00
br i1 %1195, label %1196, label %1197
1196: ; preds = %1192, %1188, %1182
tail call void @abort()
unreachable
1197: ; preds = %1192
%1198 = load volatile double, double* %91
%1199 = load volatile double, double* %92
%1200 = load volatile double, double* %93
%1201 = load volatile double, double* %94
%1202 = fmul double %1198, %1200
%1203 = fmul double %1199, %1201
%1204 = fmul double %1198, %1201
%1205 = fmul double %1199, %1200
%1206 = fsub double %1202, %1203
%1207 = fadd double %1205, %1204
%1208 = fcmp uno double %1206, 0.000000e+00
br i1 %1208, label %1209, label %1215
1209: ; preds = %1197
%1210 = fcmp uno double %1207, 0.000000e+00
br i1 %1210, label %1211, label %1215
1211: ; preds = %1209
%1212 = tail call { double, double } @__muldc3(double %1198, double %1199, double %1200, double %1201)
%1213 = extractvalue { double, double } %1212, 0
%1214 = extractvalue { double, double } %1212, 1
br label %1215
1215: ; preds = %1211, %1209, %1197
%1216 = phi double [ %1206, %1197 ], [ %1206, %1209 ], [ %1213, %1211 ]
%1217 = phi double [ %1207, %1197 ], [ %1207, %1209 ], [ %1214, %1211 ]
store volatile double %1216, double* %95
store volatile double %1217, double* %96
%1218 = load volatile double, double* %95
%1219 = load volatile double, double* %96
%1220 = fcmp une double %1218, 0.000000e+00
%1221 = fcmp une double %1219, 0.000000e+00
%1222 = or i1 %1220, %1221
br i1 %1222, label %1231, label %1223
1223: ; preds = %1215
%1224 = load volatile double, double* %95
%1225 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %1224)
%1226 = fcmp une double %1225, 1.000000e+00
br i1 %1226, label %1231, label %1227
1227: ; preds = %1223
%1228 = load volatile double, double* %96
%1229 = tail call double @llvm.copysign.f64(double 1.000000e+00, double %1228)
%1230 = fcmp une double %1229, 1.000000e+00
br i1 %1230, label %1231, label %1232
1231: ; preds = %1227, %1223, %1215
tail call void @abort()
unreachable
1232: ; preds = %1227
ret void
}