Initial program 2.0
\[\frac{\frac{1}{x}}{y \cdot \left(1 + z \cdot z\right)}
\]
Applied egg-rr2.0
\[\leadsto \color{blue}{\frac{\frac{\frac{1}{y}}{\mathsf{fma}\left(z, z, 1\right)}}{-x} \cdot -1}
\]
Simplified0.4
\[\leadsto \color{blue}{\frac{\frac{-1}{\mathsf{fma}\left(y \cdot z, z, y\right)}}{-x}}
\]
Proof
(/.f64 (/.f64 -1 (fma.f64 (*.f64 y z) z y)) (neg.f64 x)): 0 points increase in error, 0 points decrease in error
(/.f64 (/.f64 (Rewrite<= metadata-eval (*.f64 1 -1)) (fma.f64 (*.f64 y z) z y)) (neg.f64 x)): 0 points increase in error, 0 points decrease in error
(/.f64 (/.f64 (*.f64 1 -1) (Rewrite<= fma-def_binary64 (+.f64 (*.f64 (*.f64 y z) z) y))) (neg.f64 x)): 0 points increase in error, 0 points decrease in error
(/.f64 (/.f64 (*.f64 1 -1) (+.f64 (Rewrite<= associate-*r*_binary64 (*.f64 y (*.f64 z z))) y)) (neg.f64 x)): 11 points increase in error, 0 points decrease in error
(/.f64 (/.f64 (*.f64 1 -1) (+.f64 (Rewrite=> *-commutative_binary64 (*.f64 (*.f64 z z) y)) y)) (neg.f64 x)): 0 points increase in error, 11 points decrease in error
(/.f64 (/.f64 (*.f64 1 -1) (Rewrite=> distribute-lft1-in_binary64 (*.f64 (+.f64 (*.f64 z z) 1) y))) (neg.f64 x)): 11 points increase in error, 0 points decrease in error
(/.f64 (/.f64 (*.f64 1 -1) (*.f64 (Rewrite<= fma-udef_binary64 (fma.f64 z z 1)) y)) (neg.f64 x)): 0 points increase in error, 11 points decrease in error
(/.f64 (/.f64 (*.f64 1 -1) (Rewrite<= *-commutative_binary64 (*.f64 y (fma.f64 z z 1)))) (neg.f64 x)): 0 points increase in error, 0 points decrease in error
(/.f64 (Rewrite<= associate-*l/_binary64 (*.f64 (/.f64 1 (*.f64 y (fma.f64 z z 1))) -1)) (neg.f64 x)): 8 points increase in error, 0 points decrease in error
(/.f64 (*.f64 (Rewrite=> associate-/r*_binary64 (/.f64 (/.f64 1 y) (fma.f64 z z 1))) -1) (neg.f64 x)): 0 points increase in error, 8 points decrease in error
(Rewrite<= associate-*l/_binary64 (*.f64 (/.f64 (/.f64 (/.f64 1 y) (fma.f64 z z 1)) (neg.f64 x)) -1)): 9 points increase in error, 0 points decrease in error
Initial program 18.5
\[\frac{\frac{1}{x}}{y \cdot \left(1 + z \cdot z\right)}
\]
Taylor expanded in z around inf 14.1
\[\leadsto \color{blue}{\frac{1}{y \cdot \left({z}^{2} \cdot x\right)}}
\]
Simplified5.0
\[\leadsto \color{blue}{\frac{\frac{1}{z \cdot \left(z \cdot x\right)}}{y}}
\]
Proof
(/.f64 (/.f64 -1 (fma.f64 (*.f64 y z) z y)) (neg.f64 x)): 0 points increase in error, 0 points decrease in error
(/.f64 (/.f64 (Rewrite<= metadata-eval (*.f64 1 -1)) (fma.f64 (*.f64 y z) z y)) (neg.f64 x)): 0 points increase in error, 0 points decrease in error
(/.f64 (/.f64 (*.f64 1 -1) (Rewrite<= fma-def_binary64 (+.f64 (*.f64 (*.f64 y z) z) y))) (neg.f64 x)): 0 points increase in error, 0 points decrease in error
(/.f64 (/.f64 (*.f64 1 -1) (+.f64 (Rewrite<= associate-*r*_binary64 (*.f64 y (*.f64 z z))) y)) (neg.f64 x)): 11 points increase in error, 0 points decrease in error
(/.f64 (/.f64 (*.f64 1 -1) (+.f64 (Rewrite=> *-commutative_binary64 (*.f64 (*.f64 z z) y)) y)) (neg.f64 x)): 0 points increase in error, 11 points decrease in error
(/.f64 (/.f64 (*.f64 1 -1) (Rewrite=> distribute-lft1-in_binary64 (*.f64 (+.f64 (*.f64 z z) 1) y))) (neg.f64 x)): 11 points increase in error, 0 points decrease in error
(/.f64 (/.f64 (*.f64 1 -1) (*.f64 (Rewrite<= fma-udef_binary64 (fma.f64 z z 1)) y)) (neg.f64 x)): 0 points increase in error, 11 points decrease in error
(/.f64 (/.f64 (*.f64 1 -1) (Rewrite<= *-commutative_binary64 (*.f64 y (fma.f64 z z 1)))) (neg.f64 x)): 0 points increase in error, 0 points decrease in error
(/.f64 (Rewrite<= associate-*l/_binary64 (*.f64 (/.f64 1 (*.f64 y (fma.f64 z z 1))) -1)) (neg.f64 x)): 8 points increase in error, 0 points decrease in error
(/.f64 (*.f64 (Rewrite=> associate-/r*_binary64 (/.f64 (/.f64 1 y) (fma.f64 z z 1))) -1) (neg.f64 x)): 0 points increase in error, 8 points decrease in error
(Rewrite<= associate-*l/_binary64 (*.f64 (/.f64 (/.f64 (/.f64 1 y) (fma.f64 z z 1)) (neg.f64 x)) -1)): 9 points increase in error, 0 points decrease in error
Applied egg-rr2.1
\[\leadsto \color{blue}{-\frac{-1}{z \cdot \left(\left(z \cdot x\right) \cdot y\right)}}
\]
Taylor expanded in z around 0 14.1
\[\leadsto -\color{blue}{\frac{-1}{y \cdot \left({z}^{2} \cdot x\right)}}
\]
Simplified5.1
\[\leadsto -\color{blue}{\frac{\frac{\frac{-1}{z}}{y \cdot x}}{z}}
\]
Proof
(neg.f64 (/.f64 (/.f64 (/.f64 -1 z) (*.f64 y x)) z)): 0 points increase in error, 0 points decrease in error
(neg.f64 (/.f64 (/.f64 (/.f64 -1 z) (Rewrite<= *-commutative_binary64 (*.f64 x y))) z)): 4 points increase in error, 0 points decrease in error
(neg.f64 (/.f64 (Rewrite<= associate-/r*_binary64 (/.f64 -1 (*.f64 z (*.f64 x y)))) z)): 0 points increase in error, 8 points decrease in error
(neg.f64 (Rewrite=> associate-/l/_binary64 (/.f64 -1 (*.f64 z (*.f64 z (*.f64 x y)))))): 5 points increase in error, 0 points decrease in error
(neg.f64 (/.f64 -1 (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 z z) (*.f64 x y))))): 0 points increase in error, 5 points decrease in error
(neg.f64 (/.f64 -1 (Rewrite=> associate-*r*_binary64 (*.f64 (*.f64 (*.f64 z z) x) y)))): 8 points increase in error, 0 points decrease in error
(neg.f64 (/.f64 -1 (*.f64 (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 z 2)) x) y))): 4 points increase in error, 4 points decrease in error
(neg.f64 (/.f64 -1 (Rewrite<= *-commutative_binary64 (*.f64 y (*.f64 (pow.f64 z 2) x))))): 0 points increase in error, 4 points decrease in error
Taylor expanded in z around 0 1.5
\[\leadsto -\frac{\color{blue}{\frac{-1}{y \cdot \left(z \cdot x\right)}}}{z}
\]