Average Error: 0.2 → 0.2
Time: 25.4s
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 r164813 = x;
        double r164814 = y;
        double r164815 = r164813 * r164814;
        double r164816 = z;
        double r164817 = t;
        double r164818 = r164816 * r164817;
        double r164819 = 16.0;
        double r164820 = r164818 / r164819;
        double r164821 = r164815 + r164820;
        double r164822 = a;
        double r164823 = b;
        double r164824 = r164822 * r164823;
        double r164825 = 4.0;
        double r164826 = r164824 / r164825;
        double r164827 = r164821 - r164826;
        double r164828 = c;
        double r164829 = r164827 + r164828;
        return r164829;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r164830 = x;
        double r164831 = y;
        double r164832 = r164830 * r164831;
        double r164833 = z;
        double r164834 = t;
        double r164835 = r164833 * r164834;
        double r164836 = 16.0;
        double r164837 = r164835 / r164836;
        double r164838 = r164832 + r164837;
        double r164839 = a;
        double r164840 = b;
        double r164841 = r164839 * r164840;
        double r164842 = 4.0;
        double r164843 = r164841 / r164842;
        double r164844 = r164838 - r164843;
        double r164845 = c;
        double r164846 = r164844 + r164845;
        return r164846;
}

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