Average Error: 0.4 → 0.2
Time: 6.0s
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 r880238 = 60.0;
        double r880239 = x;
        double r880240 = y;
        double r880241 = r880239 - r880240;
        double r880242 = r880238 * r880241;
        double r880243 = z;
        double r880244 = t;
        double r880245 = r880243 - r880244;
        double r880246 = r880242 / r880245;
        double r880247 = a;
        double r880248 = 120.0;
        double r880249 = r880247 * r880248;
        double r880250 = r880246 + r880249;
        return r880250;
}

double f(double x, double y, double z, double t, double a) {
        double r880251 = 60.0;
        double r880252 = z;
        double r880253 = t;
        double r880254 = r880252 - r880253;
        double r880255 = x;
        double r880256 = y;
        double r880257 = r880255 - r880256;
        double r880258 = r880254 / r880257;
        double r880259 = r880251 / r880258;
        double r880260 = a;
        double r880261 = 120.0;
        double r880262 = r880260 * r880261;
        double r880263 = r880259 + r880262;
        return r880263;
}

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