Average Error: 0.2 → 0.2
Time: 12.8s
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 r250391 = x;
        double r250392 = y;
        double r250393 = r250391 * r250392;
        double r250394 = z;
        double r250395 = t;
        double r250396 = r250394 * r250395;
        double r250397 = 16.0;
        double r250398 = r250396 / r250397;
        double r250399 = r250393 + r250398;
        double r250400 = a;
        double r250401 = b;
        double r250402 = r250400 * r250401;
        double r250403 = 4.0;
        double r250404 = r250402 / r250403;
        double r250405 = r250399 - r250404;
        double r250406 = c;
        double r250407 = r250405 + r250406;
        return r250407;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r250408 = x;
        double r250409 = y;
        double r250410 = r250408 * r250409;
        double r250411 = z;
        double r250412 = t;
        double r250413 = r250411 * r250412;
        double r250414 = 16.0;
        double r250415 = r250413 / r250414;
        double r250416 = r250410 + r250415;
        double r250417 = a;
        double r250418 = b;
        double r250419 = r250417 * r250418;
        double r250420 = 4.0;
        double r250421 = r250419 / r250420;
        double r250422 = r250416 - r250421;
        double r250423 = c;
        double r250424 = r250422 + r250423;
        return r250424;
}

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 2020042 
(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))