Average Error: 0.1 → 0.1
Time: 10.6s
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 r283658 = x;
        double r283659 = y;
        double r283660 = r283658 * r283659;
        double r283661 = z;
        double r283662 = t;
        double r283663 = r283661 * r283662;
        double r283664 = 16.0;
        double r283665 = r283663 / r283664;
        double r283666 = r283660 + r283665;
        double r283667 = a;
        double r283668 = b;
        double r283669 = r283667 * r283668;
        double r283670 = 4.0;
        double r283671 = r283669 / r283670;
        double r283672 = r283666 - r283671;
        double r283673 = c;
        double r283674 = r283672 + r283673;
        return r283674;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r283675 = x;
        double r283676 = y;
        double r283677 = r283675 * r283676;
        double r283678 = z;
        double r283679 = t;
        double r283680 = r283678 * r283679;
        double r283681 = 16.0;
        double r283682 = r283680 / r283681;
        double r283683 = r283677 + r283682;
        double r283684 = a;
        double r283685 = b;
        double r283686 = r283684 * r283685;
        double r283687 = 4.0;
        double r283688 = r283686 / r283687;
        double r283689 = r283683 - r283688;
        double r283690 = c;
        double r283691 = r283689 + r283690;
        return r283691;
}

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