Average Error: 0.3 → 0.3
Time: 5.6s
Precision: binary64
\[\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\]

Error

Bits error versus x

Bits error versus y

Bits error versus z

Bits error versus t

Bits error versus a

Target

Original0.3
Target0.2
Herbie0.3
\[\frac{60}{\frac{z - t}{x - y}} + a \cdot 120\]

Derivation

  1. Initial program 0.3

    \[\frac{60 \cdot \left(x - y\right)}{z - t} + a \cdot 120\]
  2. Using strategy rm
  3. Applied sub-neg0.3

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

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

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

Reproduce

herbie shell --seed 2020162 
(FPCore (x y z t a)
  :name "Data.Colour.RGB:hslsv from colour-2.3.3, B"
  :precision binary64

  :herbie-target
  (+ (/ 60.0 (/ (- z t) (- x y))) (* a 120.0))

  (+ (/ (* 60.0 (- x y)) (- z t)) (* a 120.0)))