Average Error: 0.6 → 0.3
Time: 29.8s
Precision: 64
\[4 \le x1 \le 6.360000000000000319744231092045083642006 \land 4 \le x2 \le 6.360000000000000319744231092045083642006 \land 4 \le x3 \le 6.360000000000000319744231092045083642006 \land 4 \le x4 \le 6.360000000000000319744231092045083642006 \land 4 \le x5 \le 6.360000000000000319744231092045083642006 \land 4 \le x6 \le 6.360000000000000319744231092045083642006\]
\[\left(\left(\left(x2 \cdot x5 + x3 \cdot x6\right) - x2 \cdot x3\right) - x5 \cdot x6\right) + x1 \cdot \left(\left(\left(\left(\left(\left(-x1\right) + x2\right) + x3\right) - x4\right) + x5\right) + x6\right)\]
\[\left(\left(\left(-x5\right) \cdot x6 + \left(x2 \cdot x5 + \left(x6 - x2\right) \cdot x3\right)\right) + \left(x6 + \left(\left(\left(x2 - x1\right) + x3\right) - x4\right)\right) \cdot x1\right) + x1 \cdot x5\]
\left(\left(\left(x2 \cdot x5 + x3 \cdot x6\right) - x2 \cdot x3\right) - x5 \cdot x6\right) + x1 \cdot \left(\left(\left(\left(\left(\left(-x1\right) + x2\right) + x3\right) - x4\right) + x5\right) + x6\right)
\left(\left(\left(-x5\right) \cdot x6 + \left(x2 \cdot x5 + \left(x6 - x2\right) \cdot x3\right)\right) + \left(x6 + \left(\left(\left(x2 - x1\right) + x3\right) - x4\right)\right) \cdot x1\right) + x1 \cdot x5
double f(double x1, double x2, double x3, double x4, double x5, double x6) {
        double r41884459 = x2;
        double r41884460 = x5;
        double r41884461 = r41884459 * r41884460;
        double r41884462 = x3;
        double r41884463 = x6;
        double r41884464 = r41884462 * r41884463;
        double r41884465 = r41884461 + r41884464;
        double r41884466 = r41884459 * r41884462;
        double r41884467 = r41884465 - r41884466;
        double r41884468 = r41884460 * r41884463;
        double r41884469 = r41884467 - r41884468;
        double r41884470 = x1;
        double r41884471 = -r41884470;
        double r41884472 = r41884471 + r41884459;
        double r41884473 = r41884472 + r41884462;
        double r41884474 = x4;
        double r41884475 = r41884473 - r41884474;
        double r41884476 = r41884475 + r41884460;
        double r41884477 = r41884476 + r41884463;
        double r41884478 = r41884470 * r41884477;
        double r41884479 = r41884469 + r41884478;
        return r41884479;
}

double f(double x1, double x2, double x3, double x4, double x5, double x6) {
        double r41884480 = x5;
        double r41884481 = -r41884480;
        double r41884482 = x6;
        double r41884483 = r41884481 * r41884482;
        double r41884484 = x2;
        double r41884485 = r41884484 * r41884480;
        double r41884486 = r41884482 - r41884484;
        double r41884487 = x3;
        double r41884488 = r41884486 * r41884487;
        double r41884489 = r41884485 + r41884488;
        double r41884490 = r41884483 + r41884489;
        double r41884491 = x1;
        double r41884492 = r41884484 - r41884491;
        double r41884493 = r41884492 + r41884487;
        double r41884494 = x4;
        double r41884495 = r41884493 - r41884494;
        double r41884496 = r41884482 + r41884495;
        double r41884497 = r41884496 * r41884491;
        double r41884498 = r41884490 + r41884497;
        double r41884499 = r41884491 * r41884480;
        double r41884500 = r41884498 + r41884499;
        return r41884500;
}

Error

Bits error versus x1

Bits error versus x2

Bits error versus x3

Bits error versus x4

Bits error versus x5

Bits error versus x6

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.6

    \[\left(\left(\left(x2 \cdot x5 + x3 \cdot x6\right) - x2 \cdot x3\right) - x5 \cdot x6\right) + x1 \cdot \left(\left(\left(\left(\left(\left(-x1\right) + x2\right) + x3\right) - x4\right) + x5\right) + x6\right)\]
  2. Simplified0.4

    \[\leadsto \color{blue}{x1 \cdot \left(x5 + \left(x6 + \left(\left(x3 + \left(x2 - x1\right)\right) - x4\right)\right)\right) + \left(\left(x6 - x2\right) \cdot x3 + x5 \cdot \left(x2 - x6\right)\right)}\]
  3. Using strategy rm
  4. Applied distribute-rgt-in0.3

    \[\leadsto \color{blue}{\left(x5 \cdot x1 + \left(x6 + \left(\left(x3 + \left(x2 - x1\right)\right) - x4\right)\right) \cdot x1\right)} + \left(\left(x6 - x2\right) \cdot x3 + x5 \cdot \left(x2 - x6\right)\right)\]
  5. Applied associate-+l+0.3

    \[\leadsto \color{blue}{x5 \cdot x1 + \left(\left(x6 + \left(\left(x3 + \left(x2 - x1\right)\right) - x4\right)\right) \cdot x1 + \left(\left(x6 - x2\right) \cdot x3 + x5 \cdot \left(x2 - x6\right)\right)\right)}\]
  6. Using strategy rm
  7. Applied sub-neg0.3

    \[\leadsto x5 \cdot x1 + \left(\left(x6 + \left(\left(x3 + \left(x2 - x1\right)\right) - x4\right)\right) \cdot x1 + \left(\left(x6 - x2\right) \cdot x3 + x5 \cdot \color{blue}{\left(x2 + \left(-x6\right)\right)}\right)\right)\]
  8. Applied distribute-lft-in0.3

    \[\leadsto x5 \cdot x1 + \left(\left(x6 + \left(\left(x3 + \left(x2 - x1\right)\right) - x4\right)\right) \cdot x1 + \left(\left(x6 - x2\right) \cdot x3 + \color{blue}{\left(x5 \cdot x2 + x5 \cdot \left(-x6\right)\right)}\right)\right)\]
  9. Applied associate-+r+0.3

    \[\leadsto x5 \cdot x1 + \left(\left(x6 + \left(\left(x3 + \left(x2 - x1\right)\right) - x4\right)\right) \cdot x1 + \color{blue}{\left(\left(\left(x6 - x2\right) \cdot x3 + x5 \cdot x2\right) + x5 \cdot \left(-x6\right)\right)}\right)\]
  10. Final simplification0.3

    \[\leadsto \left(\left(\left(-x5\right) \cdot x6 + \left(x2 \cdot x5 + \left(x6 - x2\right) \cdot x3\right)\right) + \left(x6 + \left(\left(\left(x2 - x1\right) + x3\right) - x4\right)\right) \cdot x1\right) + x1 \cdot x5\]

Reproduce

herbie shell --seed 1 
(FPCore (x1 x2 x3 x4 x5 x6)
  :name "kepler0"
  :pre (and (<= 4.0 x1 6.36) (<= 4.0 x2 6.36) (<= 4.0 x3 6.36) (<= 4.0 x4 6.36) (<= 4.0 x5 6.36) (<= 4.0 x6 6.36))
  (+ (- (- (+ (* x2 x5) (* x3 x6)) (* x2 x3)) (* x5 x6)) (* x1 (+ (+ (- (+ (+ (- x1) x2) x3) x4) x5) x6))))