Average Error: 0.5 → 0.5
Time: 4.2s
Precision: 64
\[\frac{60 \cdot \left(x - y\right)}{z - t} + a \cdot 120\]
\[\frac{60 \cdot x + 60 \cdot \left(-y\right)}{z - t} + a \cdot 120\]
\frac{60 \cdot \left(x - y\right)}{z - t} + a \cdot 120
\frac{60 \cdot x + 60 \cdot \left(-y\right)}{z - t} + a \cdot 120
double f(double x, double y, double z, double t, double a) {
        double r818974 = 60.0;
        double r818975 = x;
        double r818976 = y;
        double r818977 = r818975 - r818976;
        double r818978 = r818974 * r818977;
        double r818979 = z;
        double r818980 = t;
        double r818981 = r818979 - r818980;
        double r818982 = r818978 / r818981;
        double r818983 = a;
        double r818984 = 120.0;
        double r818985 = r818983 * r818984;
        double r818986 = r818982 + r818985;
        return r818986;
}

double f(double x, double y, double z, double t, double a) {
        double r818987 = 60.0;
        double r818988 = x;
        double r818989 = r818987 * r818988;
        double r818990 = y;
        double r818991 = -r818990;
        double r818992 = r818987 * r818991;
        double r818993 = r818989 + r818992;
        double r818994 = z;
        double r818995 = t;
        double r818996 = r818994 - r818995;
        double r818997 = r818993 / r818996;
        double r818998 = a;
        double r818999 = 120.0;
        double r819000 = r818998 * r818999;
        double r819001 = r818997 + r819000;
        return r819001;
}

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

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

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

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

Reproduce

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