Average Error: 0.5 → 0.2
Time: 19.2s
Precision: 64
\[\frac{60.0 \cdot \left(x - y\right)}{z - t} + a \cdot 120.0\]
\[\frac{x - y}{z - t} \cdot 60.0 + a \cdot 120.0\]
\frac{60.0 \cdot \left(x - y\right)}{z - t} + a \cdot 120.0
\frac{x - y}{z - t} \cdot 60.0 + a \cdot 120.0
double f(double x, double y, double z, double t, double a) {
        double r39694506 = 60.0;
        double r39694507 = x;
        double r39694508 = y;
        double r39694509 = r39694507 - r39694508;
        double r39694510 = r39694506 * r39694509;
        double r39694511 = z;
        double r39694512 = t;
        double r39694513 = r39694511 - r39694512;
        double r39694514 = r39694510 / r39694513;
        double r39694515 = a;
        double r39694516 = 120.0;
        double r39694517 = r39694515 * r39694516;
        double r39694518 = r39694514 + r39694517;
        return r39694518;
}

double f(double x, double y, double z, double t, double a) {
        double r39694519 = x;
        double r39694520 = y;
        double r39694521 = r39694519 - r39694520;
        double r39694522 = z;
        double r39694523 = t;
        double r39694524 = r39694522 - r39694523;
        double r39694525 = r39694521 / r39694524;
        double r39694526 = 60.0;
        double r39694527 = r39694525 * r39694526;
        double r39694528 = a;
        double r39694529 = 120.0;
        double r39694530 = r39694528 * r39694529;
        double r39694531 = r39694527 + r39694530;
        return r39694531;
}

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.1
Herbie0.2
\[\frac{60.0}{\frac{z - t}{x - y}} + a \cdot 120.0\]

Derivation

  1. Initial program 0.5

    \[\frac{60.0 \cdot \left(x - y\right)}{z - t} + a \cdot 120.0\]
  2. Using strategy rm
  3. Applied *-un-lft-identity0.5

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

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

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

    \[\leadsto \frac{x - y}{z - t} \cdot 60.0 + a \cdot 120.0\]

Reproduce

herbie shell --seed 2019158 
(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)))