Average Error: 0.2 → 0.2
Time: 3.5s
Precision: 64
\[\left(\left(x \cdot y + \frac{z \cdot t}{16}\right) - \frac{a \cdot b}{4}\right) + c\]
\[\left(\left(x \cdot y + \frac{z \cdot t}{16}\right) - \frac{a \cdot b}{4}\right) + c\]
\left(\left(x \cdot y + \frac{z \cdot t}{16}\right) - \frac{a \cdot b}{4}\right) + c
\left(\left(x \cdot y + \frac{z \cdot t}{16}\right) - \frac{a \cdot b}{4}\right) + c
double f(double x, double y, double z, double t, double a, double b, double c) {
        double r206494 = x;
        double r206495 = y;
        double r206496 = r206494 * r206495;
        double r206497 = z;
        double r206498 = t;
        double r206499 = r206497 * r206498;
        double r206500 = 16.0;
        double r206501 = r206499 / r206500;
        double r206502 = r206496 + r206501;
        double r206503 = a;
        double r206504 = b;
        double r206505 = r206503 * r206504;
        double r206506 = 4.0;
        double r206507 = r206505 / r206506;
        double r206508 = r206502 - r206507;
        double r206509 = c;
        double r206510 = r206508 + r206509;
        return r206510;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r206511 = x;
        double r206512 = y;
        double r206513 = r206511 * r206512;
        double r206514 = z;
        double r206515 = t;
        double r206516 = r206514 * r206515;
        double r206517 = 16.0;
        double r206518 = r206516 / r206517;
        double r206519 = r206513 + r206518;
        double r206520 = a;
        double r206521 = b;
        double r206522 = r206520 * r206521;
        double r206523 = 4.0;
        double r206524 = r206522 / r206523;
        double r206525 = r206519 - r206524;
        double r206526 = c;
        double r206527 = r206525 + r206526;
        return r206527;
}

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.2

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

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

Reproduce

herbie shell --seed 2020081 
(FPCore (x y z t a b c)
  :name "Diagrams.Solve.Polynomial:quartForm  from diagrams-solve-0.1, C"
  :precision binary64
  (+ (- (+ (* x y) (/ (* z t) 16)) (/ (* a b) 4)) c))