Average Error: 0.4 → 0.2
Time: 8.2s
Precision: 64
\[\frac{60 \cdot \left(x - y\right)}{z - t} + a \cdot 120\]
\[\frac{60}{\frac{z - t}{x - y}} + a \cdot 120\]
\frac{60 \cdot \left(x - y\right)}{z - t} + a \cdot 120
\frac{60}{\frac{z - t}{x - y}} + a \cdot 120
double f(double x, double y, double z, double t, double a) {
        double r897617 = 60.0;
        double r897618 = x;
        double r897619 = y;
        double r897620 = r897618 - r897619;
        double r897621 = r897617 * r897620;
        double r897622 = z;
        double r897623 = t;
        double r897624 = r897622 - r897623;
        double r897625 = r897621 / r897624;
        double r897626 = a;
        double r897627 = 120.0;
        double r897628 = r897626 * r897627;
        double r897629 = r897625 + r897628;
        return r897629;
}

double f(double x, double y, double z, double t, double a) {
        double r897630 = 60.0;
        double r897631 = z;
        double r897632 = t;
        double r897633 = r897631 - r897632;
        double r897634 = x;
        double r897635 = y;
        double r897636 = r897634 - r897635;
        double r897637 = r897633 / r897636;
        double r897638 = r897630 / r897637;
        double r897639 = a;
        double r897640 = 120.0;
        double r897641 = r897639 * r897640;
        double r897642 = r897638 + r897641;
        return r897642;
}

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Bits error versus a

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original0.4
Target0.2
Herbie0.2
\[\frac{60}{\frac{z - t}{x - y}} + a \cdot 120\]

Derivation

  1. Initial program 0.4

    \[\frac{60 \cdot \left(x - y\right)}{z - t} + a \cdot 120\]
  2. Using strategy rm
  3. Applied associate-/l*0.2

    \[\leadsto \color{blue}{\frac{60}{\frac{z - t}{x - y}}} + a \cdot 120\]
  4. Final simplification0.2

    \[\leadsto \frac{60}{\frac{z - t}{x - y}} + a \cdot 120\]

Reproduce

herbie shell --seed 2020047 
(FPCore (x y z t a)
  :name "Data.Colour.RGB:hslsv from colour-2.3.3, B"
  :precision binary64

  :herbie-target
  (+ (/ 60 (/ (- z t) (- x y))) (* a 120))

  (+ (/ (* 60 (- x y)) (- z t)) (* a 120)))