Average Error: 0.2 → 0.1
Time: 7.1s
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}{\sqrt{16}} \cdot \frac{t}{\sqrt{16}}\right) - \frac{1}{\frac{\frac{4}{a}}{b}}\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}{\sqrt{16}} \cdot \frac{t}{\sqrt{16}}\right) - \frac{1}{\frac{\frac{4}{a}}{b}}\right) + c
double f(double x, double y, double z, double t, double a, double b, double c) {
        double r260229 = x;
        double r260230 = y;
        double r260231 = r260229 * r260230;
        double r260232 = z;
        double r260233 = t;
        double r260234 = r260232 * r260233;
        double r260235 = 16.0;
        double r260236 = r260234 / r260235;
        double r260237 = r260231 + r260236;
        double r260238 = a;
        double r260239 = b;
        double r260240 = r260238 * r260239;
        double r260241 = 4.0;
        double r260242 = r260240 / r260241;
        double r260243 = r260237 - r260242;
        double r260244 = c;
        double r260245 = r260243 + r260244;
        return r260245;
}

double f(double x, double y, double z, double t, double a, double b, double c) {
        double r260246 = x;
        double r260247 = y;
        double r260248 = r260246 * r260247;
        double r260249 = z;
        double r260250 = 16.0;
        double r260251 = sqrt(r260250);
        double r260252 = r260249 / r260251;
        double r260253 = t;
        double r260254 = r260253 / r260251;
        double r260255 = r260252 * r260254;
        double r260256 = r260248 + r260255;
        double r260257 = 1.0;
        double r260258 = 4.0;
        double r260259 = a;
        double r260260 = r260258 / r260259;
        double r260261 = b;
        double r260262 = r260260 / r260261;
        double r260263 = r260257 / r260262;
        double r260264 = r260256 - r260263;
        double r260265 = c;
        double r260266 = r260264 + r260265;
        return r260266;
}

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. Using strategy rm
  3. Applied add-sqr-sqrt0.2

    \[\leadsto \left(\left(x \cdot y + \frac{z \cdot t}{\color{blue}{\sqrt{16} \cdot \sqrt{16}}}\right) - \frac{a \cdot b}{4}\right) + c\]
  4. Applied times-frac0.1

    \[\leadsto \left(\left(x \cdot y + \color{blue}{\frac{z}{\sqrt{16}} \cdot \frac{t}{\sqrt{16}}}\right) - \frac{a \cdot b}{4}\right) + c\]
  5. Using strategy rm
  6. Applied clear-num0.1

    \[\leadsto \left(\left(x \cdot y + \frac{z}{\sqrt{16}} \cdot \frac{t}{\sqrt{16}}\right) - \color{blue}{\frac{1}{\frac{4}{a \cdot b}}}\right) + c\]
  7. Using strategy rm
  8. Applied associate-/r*0.1

    \[\leadsto \left(\left(x \cdot y + \frac{z}{\sqrt{16}} \cdot \frac{t}{\sqrt{16}}\right) - \frac{1}{\color{blue}{\frac{\frac{4}{a}}{b}}}\right) + c\]
  9. Final simplification0.1

    \[\leadsto \left(\left(x \cdot y + \frac{z}{\sqrt{16}} \cdot \frac{t}{\sqrt{16}}\right) - \frac{1}{\frac{\frac{4}{a}}{b}}\right) + c\]

Reproduce

herbie shell --seed 2020083 
(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))