Average Error: 0.1 → 0.1
Time: 23.0s
Precision: 64
\[\left(\left(x \cdot y + \frac{z \cdot t}{16}\right) - \frac{a \cdot b}{4}\right) + c\]
\[\left(\left(\frac{z \cdot t}{16} + x \cdot y\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(\frac{z \cdot t}{16} + x \cdot y\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 r218533 = x;
        double r218534 = y;
        double r218535 = r218533 * r218534;
        double r218536 = z;
        double r218537 = t;
        double r218538 = r218536 * r218537;
        double r218539 = 16.0;
        double r218540 = r218538 / r218539;
        double r218541 = r218535 + r218540;
        double r218542 = a;
        double r218543 = b;
        double r218544 = r218542 * r218543;
        double r218545 = 4.0;
        double r218546 = r218544 / r218545;
        double r218547 = r218541 - r218546;
        double r218548 = c;
        double r218549 = r218547 + r218548;
        return r218549;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r218550 = z;
        double r218551 = t;
        double r218552 = r218550 * r218551;
        double r218553 = 16.0;
        double r218554 = r218552 / r218553;
        double r218555 = x;
        double r218556 = y;
        double r218557 = r218555 * r218556;
        double r218558 = r218554 + r218557;
        double r218559 = a;
        double r218560 = b;
        double r218561 = r218559 * r218560;
        double r218562 = 4.0;
        double r218563 = r218561 / r218562;
        double r218564 = r218558 - r218563;
        double r218565 = c;
        double r218566 = r218564 + r218565;
        return r218566;
}

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}\right) - \frac{a \cdot b}{4}\right) + c\]
  2. Final simplification0.1

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

Reproduce

herbie shell --seed 2019179 
(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))