Average Error: 0.5 → 0.2
Time: 4.4s
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 r935233 = 60.0;
        double r935234 = x;
        double r935235 = y;
        double r935236 = r935234 - r935235;
        double r935237 = r935233 * r935236;
        double r935238 = z;
        double r935239 = t;
        double r935240 = r935238 - r935239;
        double r935241 = r935237 / r935240;
        double r935242 = a;
        double r935243 = 120.0;
        double r935244 = r935242 * r935243;
        double r935245 = r935241 + r935244;
        return r935245;
}

double f(double x, double y, double z, double t, double a) {
        double r935246 = 60.0;
        double r935247 = z;
        double r935248 = t;
        double r935249 = r935247 - r935248;
        double r935250 = x;
        double r935251 = y;
        double r935252 = r935250 - r935251;
        double r935253 = r935249 / r935252;
        double r935254 = r935246 / r935253;
        double r935255 = a;
        double r935256 = 120.0;
        double r935257 = r935255 * r935256;
        double r935258 = r935254 + r935257;
        return r935258;
}

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.5
Target0.2
Herbie0.2
\[\frac{60}{\frac{z - t}{x - y}} + a \cdot 120\]

Derivation

  1. Initial program 0.5

    \[\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 2020065 
(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)))