Average Error: 0.4 → 0.2
Time: 4.3s
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 r776176 = 60.0;
        double r776177 = x;
        double r776178 = y;
        double r776179 = r776177 - r776178;
        double r776180 = r776176 * r776179;
        double r776181 = z;
        double r776182 = t;
        double r776183 = r776181 - r776182;
        double r776184 = r776180 / r776183;
        double r776185 = a;
        double r776186 = 120.0;
        double r776187 = r776185 * r776186;
        double r776188 = r776184 + r776187;
        return r776188;
}

double f(double x, double y, double z, double t, double a) {
        double r776189 = 60.0;
        double r776190 = z;
        double r776191 = t;
        double r776192 = r776190 - r776191;
        double r776193 = x;
        double r776194 = y;
        double r776195 = r776193 - r776194;
        double r776196 = r776192 / r776195;
        double r776197 = r776189 / r776196;
        double r776198 = a;
        double r776199 = 120.0;
        double r776200 = r776198 * r776199;
        double r776201 = r776197 + r776200;
        return r776201;
}

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