Average Error: 0.1 → 0.1
Time: 13.4s
Precision: 64
\[\left(\left(x \cdot y + \frac{z \cdot t}{16.0}\right) - \frac{a \cdot b}{4.0}\right) + c\]
\[\left(\left(\frac{z \cdot t}{16.0} + x \cdot y\right) - \frac{a \cdot b}{4.0}\right) + c\]
\left(\left(x \cdot y + \frac{z \cdot t}{16.0}\right) - \frac{a \cdot b}{4.0}\right) + c
\left(\left(\frac{z \cdot t}{16.0} + x \cdot y\right) - \frac{a \cdot b}{4.0}\right) + c
double f(double x, double y, double z, double t, double a, double b, double c) {
        double r11742456 = x;
        double r11742457 = y;
        double r11742458 = r11742456 * r11742457;
        double r11742459 = z;
        double r11742460 = t;
        double r11742461 = r11742459 * r11742460;
        double r11742462 = 16.0;
        double r11742463 = r11742461 / r11742462;
        double r11742464 = r11742458 + r11742463;
        double r11742465 = a;
        double r11742466 = b;
        double r11742467 = r11742465 * r11742466;
        double r11742468 = 4.0;
        double r11742469 = r11742467 / r11742468;
        double r11742470 = r11742464 - r11742469;
        double r11742471 = c;
        double r11742472 = r11742470 + r11742471;
        return r11742472;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r11742473 = z;
        double r11742474 = t;
        double r11742475 = r11742473 * r11742474;
        double r11742476 = 16.0;
        double r11742477 = r11742475 / r11742476;
        double r11742478 = x;
        double r11742479 = y;
        double r11742480 = r11742478 * r11742479;
        double r11742481 = r11742477 + r11742480;
        double r11742482 = a;
        double r11742483 = b;
        double r11742484 = r11742482 * r11742483;
        double r11742485 = 4.0;
        double r11742486 = r11742484 / r11742485;
        double r11742487 = r11742481 - r11742486;
        double r11742488 = c;
        double r11742489 = r11742487 + r11742488;
        return r11742489;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Bits error versus a

Bits error versus b

Bits error versus c

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.1

    \[\left(\left(x \cdot y + \frac{z \cdot t}{16.0}\right) - \frac{a \cdot b}{4.0}\right) + c\]
  2. Final simplification0.1

    \[\leadsto \left(\left(\frac{z \cdot t}{16.0} + x \cdot y\right) - \frac{a \cdot b}{4.0}\right) + c\]

Reproduce

herbie shell --seed 2019162 
(FPCore (x y z t a b c)
  :name "Diagrams.Solve.Polynomial:quartForm  from diagrams-solve-0.1, C"
  (+ (- (+ (* x y) (/ (* z t) 16.0)) (/ (* a b) 4.0)) c))