Average Error: 0.1 → 0.1
Time: 30.3s
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 r11029316 = x;
        double r11029317 = y;
        double r11029318 = r11029316 * r11029317;
        double r11029319 = z;
        double r11029320 = t;
        double r11029321 = r11029319 * r11029320;
        double r11029322 = 16.0;
        double r11029323 = r11029321 / r11029322;
        double r11029324 = r11029318 + r11029323;
        double r11029325 = a;
        double r11029326 = b;
        double r11029327 = r11029325 * r11029326;
        double r11029328 = 4.0;
        double r11029329 = r11029327 / r11029328;
        double r11029330 = r11029324 - r11029329;
        double r11029331 = c;
        double r11029332 = r11029330 + r11029331;
        return r11029332;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r11029333 = z;
        double r11029334 = t;
        double r11029335 = r11029333 * r11029334;
        double r11029336 = 16.0;
        double r11029337 = r11029335 / r11029336;
        double r11029338 = x;
        double r11029339 = y;
        double r11029340 = r11029338 * r11029339;
        double r11029341 = r11029337 + r11029340;
        double r11029342 = a;
        double r11029343 = b;
        double r11029344 = r11029342 * r11029343;
        double r11029345 = 4.0;
        double r11029346 = r11029344 / r11029345;
        double r11029347 = r11029341 - r11029346;
        double r11029348 = c;
        double r11029349 = r11029347 + r11029348;
        return r11029349;
}

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