Average Error: 0.4 → 0.1
Time: 25.1s
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 r41832329 = 60.0;
        double r41832330 = x;
        double r41832331 = y;
        double r41832332 = r41832330 - r41832331;
        double r41832333 = r41832329 * r41832332;
        double r41832334 = z;
        double r41832335 = t;
        double r41832336 = r41832334 - r41832335;
        double r41832337 = r41832333 / r41832336;
        double r41832338 = a;
        double r41832339 = 120.0;
        double r41832340 = r41832338 * r41832339;
        double r41832341 = r41832337 + r41832340;
        return r41832341;
}

double f(double x, double y, double z, double t, double a) {
        double r41832342 = x;
        double r41832343 = y;
        double r41832344 = r41832342 - r41832343;
        double r41832345 = z;
        double r41832346 = t;
        double r41832347 = r41832345 - r41832346;
        double r41832348 = r41832344 / r41832347;
        double r41832349 = 60.0;
        double r41832350 = r41832348 * r41832349;
        double r41832351 = a;
        double r41832352 = 120.0;
        double r41832353 = r41832351 * r41832352;
        double r41832354 = r41832350 + r41832353;
        return r41832354;
}

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.1
\[\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 *-un-lft-identity0.4

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

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

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

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

Reproduce

herbie shell --seed 2019172 +o rules:numerics
(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)))