Average Error: 18.4 → 1.4
Time: 5.7m
Precision: 64
Internal Precision: 128
\[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\]
\[\frac{-\frac{v}{t1 + u}}{\frac{u}{t1} + 1}\]

Error

Bits error versus u

Bits error versus v

Bits error versus t1

Derivation

  1. Initial program 18.4

    \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}\]
  2. Using strategy rm
  3. Applied *-un-lft-identity18.4

    \[\leadsto \frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + \color{blue}{1 \cdot u}\right)}\]
  4. Applied *-un-lft-identity18.4

    \[\leadsto \frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(\color{blue}{1 \cdot t1} + 1 \cdot u\right)}\]
  5. Applied distribute-lft-out18.4

    \[\leadsto \frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \color{blue}{\left(1 \cdot \left(t1 + u\right)\right)}}\]
  6. Applied associate-*r*18.4

    \[\leadsto \frac{\left(-t1\right) \cdot v}{\color{blue}{\left(\left(t1 + u\right) \cdot 1\right) \cdot \left(t1 + u\right)}}\]
  7. Applied times-frac1.3

    \[\leadsto \color{blue}{\frac{-t1}{\left(t1 + u\right) \cdot 1} \cdot \frac{v}{t1 + u}}\]
  8. Simplified1.3

    \[\leadsto \color{blue}{\frac{-t1}{t1 + u}} \cdot \frac{v}{t1 + u}\]
  9. Using strategy rm
  10. Applied *-un-lft-identity1.3

    \[\leadsto \frac{-\color{blue}{1 \cdot t1}}{t1 + u} \cdot \frac{v}{t1 + u}\]
  11. Applied distribute-lft-neg-in1.3

    \[\leadsto \frac{\color{blue}{\left(-1\right) \cdot t1}}{t1 + u} \cdot \frac{v}{t1 + u}\]
  12. Applied associate-/l*1.5

    \[\leadsto \color{blue}{\frac{-1}{\frac{t1 + u}{t1}}} \cdot \frac{v}{t1 + u}\]
  13. Applied associate-*l/1.5

    \[\leadsto \color{blue}{\frac{\left(-1\right) \cdot \frac{v}{t1 + u}}{\frac{t1 + u}{t1}}}\]
  14. Simplified1.5

    \[\leadsto \frac{\color{blue}{-\frac{v}{t1 + u}}}{\frac{t1 + u}{t1}}\]
  15. Taylor expanded around 0 1.4

    \[\leadsto \frac{-\frac{v}{t1 + u}}{\color{blue}{1 + \frac{u}{t1}}}\]
  16. Final simplification1.4

    \[\leadsto \frac{-\frac{v}{t1 + u}}{\frac{u}{t1} + 1}\]

Reproduce

herbie shell --seed 2019088 +o rules:numerics
(FPCore (u v t1)
  :name "Rosa's DopplerBench"
  (/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))