Average Error: 0.5 → 0.2
Time: 9.3s
Precision: 64
\[\frac{60 \cdot \left(x - y\right)}{z - t} + a \cdot 120\]
\[\frac{60}{z - t} \cdot \left(x - y\right) + a \cdot 120\]
\frac{60 \cdot \left(x - y\right)}{z - t} + a \cdot 120
\frac{60}{z - t} \cdot \left(x - y\right) + a \cdot 120
double f(double x, double y, double z, double t, double a) {
        double r728971 = 60.0;
        double r728972 = x;
        double r728973 = y;
        double r728974 = r728972 - r728973;
        double r728975 = r728971 * r728974;
        double r728976 = z;
        double r728977 = t;
        double r728978 = r728976 - r728977;
        double r728979 = r728975 / r728978;
        double r728980 = a;
        double r728981 = 120.0;
        double r728982 = r728980 * r728981;
        double r728983 = r728979 + r728982;
        return r728983;
}

double f(double x, double y, double z, double t, double a) {
        double r728984 = 60.0;
        double r728985 = z;
        double r728986 = t;
        double r728987 = r728985 - r728986;
        double r728988 = r728984 / r728987;
        double r728989 = x;
        double r728990 = y;
        double r728991 = r728989 - r728990;
        double r728992 = r728988 * r728991;
        double r728993 = a;
        double r728994 = 120.0;
        double r728995 = r728993 * r728994;
        double r728996 = r728992 + r728995;
        return r728996;
}

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.2
Herbie0.2
\[\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 *-un-lft-identity0.5

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

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

    \[\leadsto \color{blue}{60} \cdot \frac{x - y}{z - t} + a \cdot 120\]
  6. Using strategy rm
  7. Applied pow10.2

    \[\leadsto 60 \cdot \color{blue}{{\left(\frac{x - y}{z - t}\right)}^{1}} + a \cdot 120\]
  8. Applied pow10.2

    \[\leadsto \color{blue}{{60}^{1}} \cdot {\left(\frac{x - y}{z - t}\right)}^{1} + a \cdot 120\]
  9. Applied pow-prod-down0.2

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

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

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

Reproduce

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