Average Error: 0.1 → 0.1
Time: 1.7s
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 r169550 = x;
        double r169551 = y;
        double r169552 = r169550 * r169551;
        double r169553 = z;
        double r169554 = t;
        double r169555 = r169553 * r169554;
        double r169556 = 16.0;
        double r169557 = r169555 / r169556;
        double r169558 = r169552 + r169557;
        double r169559 = a;
        double r169560 = b;
        double r169561 = r169559 * r169560;
        double r169562 = 4.0;
        double r169563 = r169561 / r169562;
        double r169564 = r169558 - r169563;
        double r169565 = c;
        double r169566 = r169564 + r169565;
        return r169566;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r169567 = x;
        double r169568 = y;
        double r169569 = r169567 * r169568;
        double r169570 = z;
        double r169571 = t;
        double r169572 = r169570 * r169571;
        double r169573 = 16.0;
        double r169574 = r169572 / r169573;
        double r169575 = r169569 + r169574;
        double r169576 = a;
        double r169577 = b;
        double r169578 = r169576 * r169577;
        double r169579 = 4.0;
        double r169580 = r169578 / r169579;
        double r169581 = r169575 - r169580;
        double r169582 = c;
        double r169583 = r169581 + r169582;
        return r169583;
}

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(x \cdot y + \frac{z \cdot t}{16}\right) - \frac{a \cdot b}{4}\right) + c\]

Reproduce

herbie shell --seed 2020024 +o rules:numerics
(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))