Average Error: 0.4 → 0.1
Time: 14.8s
Precision: 64
\[\frac{60 \cdot \left(x - y\right)}{z - t} + a \cdot 120\]
\[\left(x - y\right) \cdot \frac{60}{z - t} + a \cdot 120\]
\frac{60 \cdot \left(x - y\right)}{z - t} + a \cdot 120
\left(x - y\right) \cdot \frac{60}{z - t} + a \cdot 120
double f(double x, double y, double z, double t, double a) {
        double r658849 = 60.0;
        double r658850 = x;
        double r658851 = y;
        double r658852 = r658850 - r658851;
        double r658853 = r658849 * r658852;
        double r658854 = z;
        double r658855 = t;
        double r658856 = r658854 - r658855;
        double r658857 = r658853 / r658856;
        double r658858 = a;
        double r658859 = 120.0;
        double r658860 = r658858 * r658859;
        double r658861 = r658857 + r658860;
        return r658861;
}

double f(double x, double y, double z, double t, double a) {
        double r658862 = x;
        double r658863 = y;
        double r658864 = r658862 - r658863;
        double r658865 = 60.0;
        double r658866 = z;
        double r658867 = t;
        double r658868 = r658866 - r658867;
        double r658869 = r658865 / r658868;
        double r658870 = r658864 * r658869;
        double r658871 = a;
        double r658872 = 120.0;
        double r658873 = r658871 * r658872;
        double r658874 = r658870 + r658873;
        return r658874;
}

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.1
\[\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 *-un-lft-identity0.4

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

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

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

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

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

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

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

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

Reproduce

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