Average Error: 0.4 → 0.4
Time: 15.1s
Precision: 64
\[\frac{60 \cdot \left(x - y\right)}{z - t} + a \cdot 120\]
\[\frac{60 \cdot x + \left(-y\right) \cdot 60}{z - t} + a \cdot 120\]
\frac{60 \cdot \left(x - y\right)}{z - t} + a \cdot 120
\frac{60 \cdot x + \left(-y\right) \cdot 60}{z - t} + a \cdot 120
double f(double x, double y, double z, double t, double a) {
        double r560297 = 60.0;
        double r560298 = x;
        double r560299 = y;
        double r560300 = r560298 - r560299;
        double r560301 = r560297 * r560300;
        double r560302 = z;
        double r560303 = t;
        double r560304 = r560302 - r560303;
        double r560305 = r560301 / r560304;
        double r560306 = a;
        double r560307 = 120.0;
        double r560308 = r560306 * r560307;
        double r560309 = r560305 + r560308;
        return r560309;
}

double f(double x, double y, double z, double t, double a) {
        double r560310 = 60.0;
        double r560311 = x;
        double r560312 = r560310 * r560311;
        double r560313 = y;
        double r560314 = -r560313;
        double r560315 = r560314 * r560310;
        double r560316 = r560312 + r560315;
        double r560317 = z;
        double r560318 = t;
        double r560319 = r560317 - r560318;
        double r560320 = r560316 / r560319;
        double r560321 = a;
        double r560322 = 120.0;
        double r560323 = r560321 * r560322;
        double r560324 = r560320 + r560323;
        return r560324;
}

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.4
\[\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 sub-neg0.4

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

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

    \[\leadsto \frac{60 \cdot x + \color{blue}{\left(-y\right) \cdot 60}}{z - t} + a \cdot 120\]
  6. Final simplification0.4

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

Reproduce

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