(FPCore (x y z t)
:precision binary64
(+ x (* (* y z) (- (tanh (/ t y)) (tanh (/ x y))))))
↓
(FPCore (x y z t)
:precision binary64
(if (<= y -7.8e+180)
(fma (- t x) z x)
(if (<= y 7.5e+222)
(+ x (* (- (tanh (/ t y)) (tanh (/ x y))) (* z y)))
(+ x (* z (- t x))))))
(fma.f64 z (*.f64 y (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y)))) x): 0 points increase in error, 0 points decrease in error
(Rewrite<= fma-def_binary64 (+.f64 (*.f64 z (*.f64 y (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))))) x)): 0 points increase in error, 0 points decrease in error
(+.f64 (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 z y) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))))) x): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 (Rewrite<= *-commutative_binary64 (*.f64 y z)) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y)))) x): 0 points increase in error, 0 points decrease in error
(Rewrite<= +-commutative_binary64 (+.f64 x (*.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y)))))): 0 points increase in error, 0 points decrease in error
Taylor expanded in y around inf 6.1
\[\leadsto \color{blue}{\left(t - x\right) \cdot z + x}
\]
(fma.f64 z (*.f64 y (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y)))) x): 0 points increase in error, 0 points decrease in error
(Rewrite<= fma-def_binary64 (+.f64 (*.f64 z (*.f64 y (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))))) x)): 0 points increase in error, 0 points decrease in error
(+.f64 (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 z y) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y))))) x): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 (Rewrite<= *-commutative_binary64 (*.f64 y z)) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y)))) x): 0 points increase in error, 0 points decrease in error
(Rewrite<= +-commutative_binary64 (+.f64 x (*.f64 (*.f64 y z) (-.f64 (tanh.f64 (/.f64 t y)) (tanh.f64 (/.f64 x y)))))): 0 points increase in error, 0 points decrease in error
Taylor expanded in y around inf 3.6
\[\leadsto \color{blue}{\left(t - x\right) \cdot z + x}
\]
herbie shell --seed 2022343
(FPCore (x y z t)
:name "SynthBasics:moogVCF from YampaSynth-0.2"
:precision binary64
:herbie-target
(+ x (* y (* z (- (tanh (/ t y)) (tanh (/ x y))))))
(+ x (* (* y z) (- (tanh (/ t y)) (tanh (/ x y))))))