Average Error: 0.1 → 0.1
Time: 16.0s
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 r161982 = x;
        double r161983 = y;
        double r161984 = r161982 * r161983;
        double r161985 = z;
        double r161986 = t;
        double r161987 = r161985 * r161986;
        double r161988 = 16.0;
        double r161989 = r161987 / r161988;
        double r161990 = r161984 + r161989;
        double r161991 = a;
        double r161992 = b;
        double r161993 = r161991 * r161992;
        double r161994 = 4.0;
        double r161995 = r161993 / r161994;
        double r161996 = r161990 - r161995;
        double r161997 = c;
        double r161998 = r161996 + r161997;
        return r161998;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r161999 = x;
        double r162000 = y;
        double r162001 = r161999 * r162000;
        double r162002 = z;
        double r162003 = t;
        double r162004 = r162002 * r162003;
        double r162005 = 16.0;
        double r162006 = r162004 / r162005;
        double r162007 = r162001 + r162006;
        double r162008 = a;
        double r162009 = b;
        double r162010 = r162008 * r162009;
        double r162011 = 4.0;
        double r162012 = r162010 / r162011;
        double r162013 = r162007 - r162012;
        double r162014 = c;
        double r162015 = r162013 + r162014;
        return r162015;
}

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