Average Error: 0.5 → 0.2
Time: 21.3s
Precision: 64
\[\frac{60 \cdot \left(x - y\right)}{z - t} + a \cdot 120\]
\[\frac{x - y}{z - t} \cdot 60 + a \cdot 120\]
\frac{60 \cdot \left(x - y\right)}{z - t} + a \cdot 120
\frac{x - y}{z - t} \cdot 60 + a \cdot 120
double f(double x, double y, double z, double t, double a) {
        double r38571253 = 60.0;
        double r38571254 = x;
        double r38571255 = y;
        double r38571256 = r38571254 - r38571255;
        double r38571257 = r38571253 * r38571256;
        double r38571258 = z;
        double r38571259 = t;
        double r38571260 = r38571258 - r38571259;
        double r38571261 = r38571257 / r38571260;
        double r38571262 = a;
        double r38571263 = 120.0;
        double r38571264 = r38571262 * r38571263;
        double r38571265 = r38571261 + r38571264;
        return r38571265;
}

double f(double x, double y, double z, double t, double a) {
        double r38571266 = x;
        double r38571267 = y;
        double r38571268 = r38571266 - r38571267;
        double r38571269 = z;
        double r38571270 = t;
        double r38571271 = r38571269 - r38571270;
        double r38571272 = r38571268 / r38571271;
        double r38571273 = 60.0;
        double r38571274 = r38571272 * r38571273;
        double r38571275 = a;
        double r38571276 = 120.0;
        double r38571277 = r38571275 * r38571276;
        double r38571278 = r38571274 + r38571277;
        return r38571278;
}

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 *-un-lft-identity0.5

    \[\leadsto \frac{60 \cdot \left(x - y\right)}{\color{blue}{1 \cdot \left(z - t\right)}} + a \cdot 120\]
  4. Applied times-frac0.2

    \[\leadsto \color{blue}{\frac{60}{1} \cdot \frac{x - y}{z - t}} + a \cdot 120\]
  5. Simplified0.2

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

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

Reproduce

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

  :herbie-target
  (+ (/ 60.0 (/ (- z t) (- x y))) (* a 120.0))

  (+ (/ (* 60.0 (- x y)) (- z t)) (* a 120.0)))