Initial program 40.1
\[\left(\left(2 \cdot \left({b}^{2} - {a}^{2}\right)\right) \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right) \cdot \cos \left(\pi \cdot \frac{angle}{180}\right)
\]
Simplified40.0
\[\leadsto \color{blue}{\sin \left(\pi \cdot \frac{angle}{180}\right) \cdot \left(\left(-2 \cdot \mathsf{fma}\left(a, a, b \cdot \left(-b\right)\right)\right) \cdot \cos \left(\pi \cdot \frac{angle}{180}\right)\right)}
\]
Proof
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (*.f64 -2 (fma.f64 a a (*.f64 b (neg.f64 b)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (*.f64 (Rewrite<= metadata-eval (neg.f64 2)) (fma.f64 a a (*.f64 b (neg.f64 b)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (*.f64 (neg.f64 2) (fma.f64 a a (Rewrite<= distribute-rgt-neg-in_binary64 (neg.f64 (*.f64 b b))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (*.f64 (neg.f64 2) (fma.f64 a a (neg.f64 (Rewrite<= unpow2_binary64 (pow.f64 b 2))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (*.f64 (neg.f64 2) (Rewrite<= fma-neg_binary64 (-.f64 (*.f64 a a) (pow.f64 b 2)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 1 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (*.f64 (neg.f64 2) (-.f64 (Rewrite<= unpow2_binary64 (pow.f64 a 2)) (pow.f64 b 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (Rewrite<= distribute-lft-neg-in_binary64 (neg.f64 (*.f64 2 (-.f64 (pow.f64 a 2) (pow.f64 b 2))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (Rewrite<= distribute-rgt-neg-out_binary64 (*.f64 2 (neg.f64 (-.f64 (pow.f64 a 2) (pow.f64 b 2))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (*.f64 2 (Rewrite<= sub0-neg_binary64 (-.f64 0 (-.f64 (pow.f64 a 2) (pow.f64 b 2))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (*.f64 2 (Rewrite<= associate-+l-_binary64 (+.f64 (-.f64 0 (pow.f64 a 2)) (pow.f64 b 2)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (*.f64 2 (+.f64 (Rewrite<= neg-sub0_binary64 (neg.f64 (pow.f64 a 2))) (pow.f64 b 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (*.f64 2 (Rewrite<= +-commutative_binary64 (+.f64 (pow.f64 b 2) (neg.f64 (pow.f64 a 2))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (*.f64 2 (Rewrite<= sub-neg_binary64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 13 points increase in error, 21 points decrease in error
(*.f64 (Rewrite<= *-commutative_binary64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))): 0 points increase in error, 0 points decrease in error
Applied egg-rr40.3
\[\leadsto \sin \left(\pi \cdot \frac{angle}{180}\right) \cdot \left(\left(-2 \cdot \mathsf{fma}\left(a, a, b \cdot \left(-b\right)\right)\right) \cdot \cos \color{blue}{\left({\left(\sqrt[3]{angle \cdot \left(0.005555555555555556 \cdot \pi\right)}\right)}^{3}\right)}\right)
\]
Applied egg-rr40.6
\[\leadsto \sin \left(\pi \cdot \frac{angle}{180}\right) \cdot \left(\left(-2 \cdot \mathsf{fma}\left(a, a, b \cdot \left(-b\right)\right)\right) \cdot \cos \color{blue}{\left(\left(\left(0.005555555555555556 \cdot \pi\right) \cdot {\left(\sqrt[3]{angle}\right)}^{2}\right) \cdot \sqrt[3]{angle}\right)}\right)
\]
Applied egg-rr40.5
\[\leadsto \sin \left(\pi \cdot \frac{angle}{180}\right) \cdot \left(\left(-2 \cdot \mathsf{fma}\left(a, a, b \cdot \left(-b\right)\right)\right) \cdot \cos \left(\left(\left(0.005555555555555556 \cdot \pi\right) \cdot {\left(\sqrt[3]{angle}\right)}^{2}\right) \cdot \color{blue}{{\left(\sqrt[3]{\sqrt[3]{angle}}\right)}^{3}}\right)\right)
\]
Initial program 21.0
\[\left(\left(2 \cdot \left({b}^{2} - {a}^{2}\right)\right) \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right) \cdot \cos \left(\pi \cdot \frac{angle}{180}\right)
\]
Simplified21.0
\[\leadsto \color{blue}{\sin \left(\pi \cdot \frac{angle}{180}\right) \cdot \left(\left(-2 \cdot \mathsf{fma}\left(a, a, b \cdot \left(-b\right)\right)\right) \cdot \cos \left(\pi \cdot \frac{angle}{180}\right)\right)}
\]
Proof
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (*.f64 -2 (fma.f64 a a (*.f64 b (neg.f64 b)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (*.f64 (Rewrite<= metadata-eval (neg.f64 2)) (fma.f64 a a (*.f64 b (neg.f64 b)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (*.f64 (neg.f64 2) (fma.f64 a a (Rewrite<= distribute-rgt-neg-in_binary64 (neg.f64 (*.f64 b b))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (*.f64 (neg.f64 2) (fma.f64 a a (neg.f64 (Rewrite<= unpow2_binary64 (pow.f64 b 2))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (*.f64 (neg.f64 2) (Rewrite<= fma-neg_binary64 (-.f64 (*.f64 a a) (pow.f64 b 2)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 1 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (*.f64 (neg.f64 2) (-.f64 (Rewrite<= unpow2_binary64 (pow.f64 a 2)) (pow.f64 b 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (Rewrite<= distribute-lft-neg-in_binary64 (neg.f64 (*.f64 2 (-.f64 (pow.f64 a 2) (pow.f64 b 2))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (Rewrite<= distribute-rgt-neg-out_binary64 (*.f64 2 (neg.f64 (-.f64 (pow.f64 a 2) (pow.f64 b 2))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (*.f64 2 (Rewrite<= sub0-neg_binary64 (-.f64 0 (-.f64 (pow.f64 a 2) (pow.f64 b 2))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (*.f64 2 (Rewrite<= associate-+l-_binary64 (+.f64 (-.f64 0 (pow.f64 a 2)) (pow.f64 b 2)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (*.f64 2 (+.f64 (Rewrite<= neg-sub0_binary64 (neg.f64 (pow.f64 a 2))) (pow.f64 b 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (*.f64 2 (Rewrite<= +-commutative_binary64 (+.f64 (pow.f64 b 2) (neg.f64 (pow.f64 a 2))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (*.f64 2 (Rewrite<= sub-neg_binary64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 13 points increase in error, 21 points decrease in error
(*.f64 (Rewrite<= *-commutative_binary64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))): 0 points increase in error, 0 points decrease in error
Taylor expanded in angle around 0 21.0
\[\leadsto \color{blue}{-0.011111111111111112 \cdot \left(angle \cdot \left(\left(-1 \cdot {b}^{2} + {a}^{2}\right) \cdot \pi\right)\right)}
\]
Simplified21.0
\[\leadsto \color{blue}{\pi \cdot \left(\left(a \cdot a - b \cdot b\right) \cdot \left(angle \cdot -0.011111111111111112\right)\right)}
\]
Proof
(*.f64 (PI.f64) (*.f64 (-.f64 (*.f64 a a) (*.f64 b b)) (*.f64 angle -1/90))): 0 points increase in error, 0 points decrease in error
(*.f64 (PI.f64) (*.f64 (-.f64 (Rewrite<= unpow2_binary64 (pow.f64 a 2)) (*.f64 b b)) (*.f64 angle -1/90))): 0 points increase in error, 0 points decrease in error
(*.f64 (PI.f64) (*.f64 (-.f64 (pow.f64 a 2) (Rewrite<= unpow2_binary64 (pow.f64 b 2))) (*.f64 angle -1/90))): 0 points increase in error, 0 points decrease in error
(*.f64 (PI.f64) (*.f64 (Rewrite<= unsub-neg_binary64 (+.f64 (pow.f64 a 2) (neg.f64 (pow.f64 b 2)))) (*.f64 angle -1/90))): 0 points increase in error, 0 points decrease in error
(*.f64 (PI.f64) (*.f64 (+.f64 (pow.f64 a 2) (Rewrite<= mul-1-neg_binary64 (*.f64 -1 (pow.f64 b 2)))) (*.f64 angle -1/90))): 0 points increase in error, 0 points decrease in error
(*.f64 (PI.f64) (*.f64 (Rewrite<= +-commutative_binary64 (+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))) (*.f64 angle -1/90))): 0 points increase in error, 0 points decrease in error
(*.f64 (PI.f64) (*.f64 (+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2)) (Rewrite<= *-commutative_binary64 (*.f64 -1/90 angle)))): 0 points increase in error, 0 points decrease in error
(*.f64 (PI.f64) (Rewrite<= *-commutative_binary64 (*.f64 (*.f64 -1/90 angle) (+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))))): 0 points increase in error, 0 points decrease in error
(Rewrite<= *-commutative_binary64 (*.f64 (*.f64 (*.f64 -1/90 angle) (+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2))) (PI.f64))): 0 points increase in error, 0 points decrease in error
(Rewrite<= associate-*r*_binary64 (*.f64 (*.f64 -1/90 angle) (*.f64 (+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2)) (PI.f64)))): 24 points increase in error, 26 points decrease in error
(Rewrite<= associate-*r*_binary64 (*.f64 -1/90 (*.f64 angle (*.f64 (+.f64 (*.f64 -1 (pow.f64 b 2)) (pow.f64 a 2)) (PI.f64))))): 25 points increase in error, 27 points decrease in error
Taylor expanded in a around 0 21.0
\[\leadsto \color{blue}{0.011111111111111112 \cdot \left(angle \cdot \left({b}^{2} \cdot \pi\right)\right) + -0.011111111111111112 \cdot \left(angle \cdot \left({a}^{2} \cdot \pi\right)\right)}
\]
Simplified0.3
\[\leadsto \color{blue}{\left(\left(-0.011111111111111112 \cdot \left(angle \cdot \pi\right)\right) \cdot \left(a - b\right)\right) \cdot \left(b + a\right)}
\]
Proof
(*.f64 (*.f64 (*.f64 -1/90 (*.f64 angle (PI.f64))) (-.f64 a b)) (+.f64 b a)): 0 points increase in error, 0 points decrease in error
(*.f64 (*.f64 (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 -1/90 angle) (PI.f64))) (-.f64 a b)) (+.f64 b a)): 39 points increase in error, 22 points decrease in error
(*.f64 (*.f64 (*.f64 (*.f64 -1/90 angle) (PI.f64)) (-.f64 a b)) (Rewrite<= +-commutative_binary64 (+.f64 a b))): 0 points increase in error, 0 points decrease in error
(Rewrite<= associate-*r*_binary64 (*.f64 (*.f64 (*.f64 -1/90 angle) (PI.f64)) (*.f64 (-.f64 a b) (+.f64 a b)))): 65 points increase in error, 46 points decrease in error
(*.f64 (*.f64 (*.f64 -1/90 angle) (PI.f64)) (Rewrite<= *-commutative_binary64 (*.f64 (+.f64 a b) (-.f64 a b)))): 0 points increase in error, 0 points decrease in error
(*.f64 (*.f64 (*.f64 -1/90 angle) (PI.f64)) (Rewrite<= difference-of-squares_binary64 (-.f64 (*.f64 a a) (*.f64 b b)))): 1 points increase in error, 0 points decrease in error
(*.f64 (*.f64 (*.f64 -1/90 angle) (PI.f64)) (-.f64 (Rewrite<= unpow2_binary64 (pow.f64 a 2)) (*.f64 b b))): 0 points increase in error, 0 points decrease in error
(*.f64 (*.f64 (*.f64 -1/90 angle) (PI.f64)) (-.f64 (pow.f64 a 2) (Rewrite<= unpow2_binary64 (pow.f64 b 2)))): 0 points increase in error, 0 points decrease in error
(Rewrite<= associate-*r*_binary64 (*.f64 (*.f64 -1/90 angle) (*.f64 (PI.f64) (-.f64 (pow.f64 a 2) (pow.f64 b 2))))): 26 points increase in error, 24 points decrease in error
(*.f64 (*.f64 -1/90 angle) (*.f64 (PI.f64) (Rewrite=> sub-neg_binary64 (+.f64 (pow.f64 a 2) (neg.f64 (pow.f64 b 2)))))): 0 points increase in error, 0 points decrease in error
(*.f64 (*.f64 -1/90 angle) (*.f64 (PI.f64) (+.f64 (pow.f64 a 2) (Rewrite<= mul-1-neg_binary64 (*.f64 -1 (pow.f64 b 2)))))): 0 points increase in error, 0 points decrease in error
(*.f64 (*.f64 -1/90 angle) (Rewrite=> distribute-rgt-in_binary64 (+.f64 (*.f64 (pow.f64 a 2) (PI.f64)) (*.f64 (*.f64 -1 (pow.f64 b 2)) (PI.f64))))): 3 points increase in error, 0 points decrease in error
(Rewrite=> distribute-lft-in_binary64 (+.f64 (*.f64 (*.f64 -1/90 angle) (*.f64 (pow.f64 a 2) (PI.f64))) (*.f64 (*.f64 -1/90 angle) (*.f64 (*.f64 -1 (pow.f64 b 2)) (PI.f64))))): 0 points increase in error, 1 points decrease in error
(+.f64 (Rewrite<= associate-*r*_binary64 (*.f64 -1/90 (*.f64 angle (*.f64 (pow.f64 a 2) (PI.f64))))) (*.f64 (*.f64 -1/90 angle) (*.f64 (*.f64 -1 (pow.f64 b 2)) (PI.f64)))): 11 points increase in error, 14 points decrease in error
(+.f64 (*.f64 -1/90 (*.f64 angle (*.f64 (pow.f64 a 2) (PI.f64)))) (*.f64 (*.f64 -1/90 angle) (*.f64 (Rewrite=> mul-1-neg_binary64 (neg.f64 (pow.f64 b 2))) (PI.f64)))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 -1/90 (*.f64 angle (*.f64 (pow.f64 a 2) (PI.f64)))) (*.f64 (*.f64 -1/90 angle) (Rewrite=> distribute-lft-neg-out_binary64 (neg.f64 (*.f64 (pow.f64 b 2) (PI.f64)))))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 -1/90 (*.f64 angle (*.f64 (pow.f64 a 2) (PI.f64)))) (Rewrite=> distribute-rgt-neg-out_binary64 (neg.f64 (*.f64 (*.f64 -1/90 angle) (*.f64 (pow.f64 b 2) (PI.f64)))))): 0 points increase in error, 0 points decrease in error
(Rewrite=> unsub-neg_binary64 (-.f64 (*.f64 -1/90 (*.f64 angle (*.f64 (pow.f64 a 2) (PI.f64)))) (*.f64 (*.f64 -1/90 angle) (*.f64 (pow.f64 b 2) (PI.f64))))): 0 points increase in error, 0 points decrease in error
(Rewrite=> cancel-sign-sub-inv_binary64 (+.f64 (*.f64 -1/90 (*.f64 angle (*.f64 (pow.f64 a 2) (PI.f64)))) (*.f64 (neg.f64 (*.f64 -1/90 angle)) (*.f64 (pow.f64 b 2) (PI.f64))))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 -1/90 (*.f64 angle (*.f64 (pow.f64 a 2) (PI.f64)))) (*.f64 (Rewrite=> distribute-lft-neg-in_binary64 (*.f64 (neg.f64 -1/90) angle)) (*.f64 (pow.f64 b 2) (PI.f64)))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 -1/90 (*.f64 angle (*.f64 (pow.f64 a 2) (PI.f64)))) (*.f64 (*.f64 (Rewrite=> metadata-eval 1/90) angle) (*.f64 (pow.f64 b 2) (PI.f64)))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 -1/90 (*.f64 angle (*.f64 (pow.f64 a 2) (PI.f64)))) (Rewrite<= associate-*r*_binary64 (*.f64 1/90 (*.f64 angle (*.f64 (pow.f64 b 2) (PI.f64)))))): 13 points increase in error, 16 points decrease in error
(Rewrite<= +-commutative_binary64 (+.f64 (*.f64 1/90 (*.f64 angle (*.f64 (pow.f64 b 2) (PI.f64)))) (*.f64 -1/90 (*.f64 angle (*.f64 (pow.f64 a 2) (PI.f64)))))): 0 points increase in error, 0 points decrease in error
Applied egg-rr0.3
\[\leadsto \color{blue}{\left(0 + \left(angle \cdot \pi\right) \cdot \left(-0.011111111111111112 \cdot \left(a - b\right)\right)\right)} \cdot \left(b + a\right)
\]
Applied egg-rr0.3
\[\leadsto \color{blue}{\mathsf{fma}\left(\left(a + b\right) \cdot angle, \left(\pi \cdot -0.011111111111111112\right) \cdot \left(a - b\right), \left(a + b\right) \cdot 0\right)}
\]
Initial program 44.0
\[\left(\left(2 \cdot \left({b}^{2} - {a}^{2}\right)\right) \cdot \sin \left(\pi \cdot \frac{angle}{180}\right)\right) \cdot \cos \left(\pi \cdot \frac{angle}{180}\right)
\]
Simplified44.0
\[\leadsto \color{blue}{\sin \left(\pi \cdot \frac{angle}{180}\right) \cdot \left(\left(-2 \cdot \mathsf{fma}\left(a, a, b \cdot \left(-b\right)\right)\right) \cdot \cos \left(\pi \cdot \frac{angle}{180}\right)\right)}
\]
Proof
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (*.f64 -2 (fma.f64 a a (*.f64 b (neg.f64 b)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (*.f64 (Rewrite<= metadata-eval (neg.f64 2)) (fma.f64 a a (*.f64 b (neg.f64 b)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (*.f64 (neg.f64 2) (fma.f64 a a (Rewrite<= distribute-rgt-neg-in_binary64 (neg.f64 (*.f64 b b))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (*.f64 (neg.f64 2) (fma.f64 a a (neg.f64 (Rewrite<= unpow2_binary64 (pow.f64 b 2))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (*.f64 (neg.f64 2) (Rewrite<= fma-neg_binary64 (-.f64 (*.f64 a a) (pow.f64 b 2)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 1 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (*.f64 (neg.f64 2) (-.f64 (Rewrite<= unpow2_binary64 (pow.f64 a 2)) (pow.f64 b 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (Rewrite<= distribute-lft-neg-in_binary64 (neg.f64 (*.f64 2 (-.f64 (pow.f64 a 2) (pow.f64 b 2))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (Rewrite<= distribute-rgt-neg-out_binary64 (*.f64 2 (neg.f64 (-.f64 (pow.f64 a 2) (pow.f64 b 2))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (*.f64 2 (Rewrite<= sub0-neg_binary64 (-.f64 0 (-.f64 (pow.f64 a 2) (pow.f64 b 2))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (*.f64 2 (Rewrite<= associate-+l-_binary64 (+.f64 (-.f64 0 (pow.f64 a 2)) (pow.f64 b 2)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (*.f64 2 (+.f64 (Rewrite<= neg-sub0_binary64 (neg.f64 (pow.f64 a 2))) (pow.f64 b 2))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (*.f64 2 (Rewrite<= +-commutative_binary64 (+.f64 (pow.f64 b 2) (neg.f64 (pow.f64 a 2))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 (*.f64 2 (Rewrite<= sub-neg_binary64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 0 points increase in error, 0 points decrease in error
(Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))) (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2)))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180))))): 13 points increase in error, 21 points decrease in error
(*.f64 (Rewrite<= *-commutative_binary64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (PI.f64) (/.f64 angle 180))))) (cos.f64 (*.f64 (PI.f64) (/.f64 angle 180)))): 0 points increase in error, 0 points decrease in error
Applied egg-rr44.1
\[\leadsto \sin \left(\pi \cdot \frac{angle}{180}\right) \cdot \left(\left(-2 \cdot \mathsf{fma}\left(a, a, b \cdot \left(-b\right)\right)\right) \cdot \cos \color{blue}{\left({\left(\sqrt[3]{angle \cdot \left(0.005555555555555556 \cdot \pi\right)}\right)}^{3}\right)}\right)
\]
Taylor expanded in angle around inf 44.1
\[\leadsto \color{blue}{\sin \left(0.005555555555555556 \cdot \left(angle \cdot \pi\right)\right)} \cdot \left(\left(-2 \cdot \mathsf{fma}\left(a, a, b \cdot \left(-b\right)\right)\right) \cdot \cos \left({\left(\sqrt[3]{angle \cdot \left(0.005555555555555556 \cdot \pi\right)}\right)}^{3}\right)\right)
\]
Simplified44.2
\[\leadsto \color{blue}{\sin \left(\pi \cdot \left(0.005555555555555556 \cdot angle\right)\right)} \cdot \left(\left(-2 \cdot \mathsf{fma}\left(a, a, b \cdot \left(-b\right)\right)\right) \cdot \cos \left({\left(\sqrt[3]{angle \cdot \left(0.005555555555555556 \cdot \pi\right)}\right)}^{3}\right)\right)
\]
Proof
(sin.f64 (*.f64 (PI.f64) (*.f64 1/180 angle))): 0 points increase in error, 0 points decrease in error
(sin.f64 (Rewrite<= *-commutative_binary64 (*.f64 (*.f64 1/180 angle) (PI.f64)))): 0 points increase in error, 0 points decrease in error
(sin.f64 (Rewrite<= associate-*r*_binary64 (*.f64 1/180 (*.f64 angle (PI.f64))))): 53 points increase in error, 48 points decrease in error