Simplified64.0
\[\leadsto \color{blue}{\mathsf{fma}\left(\frac{{\left(a \cdot \sin \left(\frac{angle}{180} \cdot \pi\right)\right)}^{2} + {\left(b \cdot \cos \left(\frac{angle}{180} \cdot \pi\right)\right)}^{2}}{x-scale \cdot x-scale} \cdot \frac{{\left(a \cdot \cos \left(\frac{angle}{180} \cdot \pi\right)\right)}^{2} + {\left(b \cdot \sin \left(\frac{angle}{180} \cdot \pi\right)\right)}^{2}}{y-scale \cdot y-scale}, -4, \frac{4 \cdot \left(\left(\left(b \cdot b - a \cdot a\right) \cdot \sin \left(\frac{angle}{180} \cdot \pi\right)\right) \cdot \left(\left(b \cdot b - a \cdot a\right) \cdot \sin \left(\frac{angle}{180} \cdot \pi\right)\right)\right)}{x-scale \cdot \left(y-scale \cdot \frac{x-scale}{\cos \left(\frac{angle}{180} \cdot \pi\right)}\right)} \cdot \frac{\cos \left(\frac{angle}{180} \cdot \pi\right)}{y-scale}\right)}
\]
Proof
(fma.f64 (*.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 x-scale x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 y-scale y-scale))) -4 (*.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))))) (*.f64 x-scale (*.f64 y-scale (/.f64 x-scale (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) y-scale))): 0 points increase in error, 0 points decrease in error
(fma.f64 (*.f64 (Rewrite<= associate-/l/_binary64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale)) (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) (*.f64 y-scale y-scale))) -4 (*.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))))) (*.f64 x-scale (*.f64 y-scale (/.f64 x-scale (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) y-scale))): 3 points increase in error, 10 points decrease in error
(fma.f64 (*.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale) (Rewrite<= associate-/l/_binary64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale))) -4 (*.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))))) (*.f64 x-scale (*.f64 y-scale (/.f64 x-scale (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) y-scale))): 0 points increase in error, 8 points decrease in error
(fma.f64 (*.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)) (Rewrite<= metadata-eval (neg.f64 4)) (*.f64 (/.f64 (*.f64 4 (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))))) (*.f64 x-scale (*.f64 y-scale (/.f64 x-scale (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) y-scale))): 0 points increase in error, 0 points decrease in error
(fma.f64 (*.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)) (neg.f64 4) (*.f64 (/.f64 (*.f64 (Rewrite<= metadata-eval (*.f64 2 2)) (*.f64 (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))))) (*.f64 x-scale (*.f64 y-scale (/.f64 x-scale (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) y-scale))): 0 points increase in error, 0 points decrease in error
(fma.f64 (*.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)) (neg.f64 4) (*.f64 (/.f64 (*.f64 (*.f64 2 2) (*.f64 (*.f64 (-.f64 (Rewrite<= unpow2_binary64 (pow.f64 b 2)) (*.f64 a a)) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))))) (*.f64 x-scale (*.f64 y-scale (/.f64 x-scale (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) y-scale))): 0 points increase in error, 0 points decrease in error
(fma.f64 (*.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)) (neg.f64 4) (*.f64 (/.f64 (*.f64 (*.f64 2 2) (*.f64 (*.f64 (-.f64 (pow.f64 b 2) (Rewrite<= unpow2_binary64 (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (*.f64 (-.f64 (*.f64 b b) (*.f64 a a)) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))))) (*.f64 x-scale (*.f64 y-scale (/.f64 x-scale (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) y-scale))): 0 points increase in error, 0 points decrease in error
(fma.f64 (*.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)) (neg.f64 4) (*.f64 (/.f64 (*.f64 (*.f64 2 2) (*.f64 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (*.f64 (-.f64 (Rewrite<= unpow2_binary64 (pow.f64 b 2)) (*.f64 a a)) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))))) (*.f64 x-scale (*.f64 y-scale (/.f64 x-scale (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) y-scale))): 0 points increase in error, 0 points decrease in error
(fma.f64 (*.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)) (neg.f64 4) (*.f64 (/.f64 (*.f64 (*.f64 2 2) (*.f64 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (*.f64 (-.f64 (pow.f64 b 2) (Rewrite<= unpow2_binary64 (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))))) (*.f64 x-scale (*.f64 y-scale (/.f64 x-scale (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) y-scale))): 0 points increase in error, 0 points decrease in error
(fma.f64 (*.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)) (neg.f64 4) (*.f64 (/.f64 (Rewrite<= swap-sqr_binary64 (*.f64 (*.f64 2 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) (*.f64 2 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))))))) (*.f64 x-scale (*.f64 y-scale (/.f64 x-scale (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) y-scale))): 0 points increase in error, 0 points decrease in error
(fma.f64 (*.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)) (neg.f64 4) (*.f64 (/.f64 (*.f64 (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) (*.f64 2 (*.f64 (-.f64 (pow.f64 b 2) (pow.f64 a 2)) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))))) (*.f64 x-scale (*.f64 y-scale (/.f64 x-scale (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) y-scale))): 0 points increase in error, 0 points decrease in error
(fma.f64 (*.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)) (neg.f64 4) (*.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))))) (*.f64 x-scale (*.f64 y-scale (/.f64 x-scale (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))))) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) y-scale))): 0 points increase in error, 0 points decrease in error
(fma.f64 (*.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)) (neg.f64 4) (*.f64 (Rewrite<= associate-/l/_binary64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) (*.f64 y-scale (/.f64 x-scale (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))))) x-scale)) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) y-scale))): 4 points increase in error, 10 points decrease in error
(fma.f64 (*.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)) (neg.f64 4) (*.f64 (/.f64 (Rewrite<= associate-*r/_binary64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (*.f64 y-scale (/.f64 x-scale (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))))))) x-scale) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) y-scale))): 6 points increase in error, 20 points decrease in error
(fma.f64 (*.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)) (neg.f64 4) (*.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (Rewrite<= associate-/l/_binary64 (/.f64 (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (/.f64 x-scale (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) y-scale))) x-scale) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) y-scale))): 7 points increase in error, 11 points decrease in error
(fma.f64 (*.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)) (neg.f64 4) (*.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (/.f64 (Rewrite<= associate-/l*_binary64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale)) y-scale)) x-scale) (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) y-scale))): 3 points increase in error, 3 points decrease in error
(fma.f64 (*.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)) (neg.f64 4) (Rewrite<= associate-/r/_binary64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale)) (/.f64 x-scale (/.f64 (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))) y-scale))))): 21 points increase in error, 8 points decrease in error
(fma.f64 (*.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)) (neg.f64 4) (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale)) (Rewrite<= associate-/l*_binary64 (/.f64 (*.f64 x-scale y-scale) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))))): 2 points increase in error, 9 points decrease in error
(fma.f64 (*.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)) (neg.f64 4) (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale)) (/.f64 (Rewrite<= *-commutative_binary64 (*.f64 y-scale x-scale)) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))))): 0 points increase in error, 0 points decrease in error
(fma.f64 (*.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)) (neg.f64 4) (Rewrite<= associate-*l/_binary64 (*.f64 (/.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (/.f64 (*.f64 y-scale x-scale) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64))))) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale)))): 7 points increase in error, 8 points decrease in error
(fma.f64 (*.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)) (neg.f64 4) (*.f64 (Rewrite<= associate-/l*_binary64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (*.f64 y-scale x-scale))) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale))): 4 points increase in error, 1 points decrease in error
(fma.f64 (*.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)) (neg.f64 4) (*.f64 (Rewrite<= associate-/l/_binary64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale)) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale))): 9 points increase in error, 12 points decrease in error
(Rewrite<= fma-def_binary64 (+.f64 (*.f64 (*.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)) (neg.f64 4)) (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale)))): 0 points increase in error, 0 points decrease in error
(+.f64 (Rewrite<= *-commutative_binary64 (*.f64 (neg.f64 4) (*.f64 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)))) (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale))): 0 points increase in error, 0 points decrease in error
(+.f64 (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 (neg.f64 4) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale)) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale))) (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale))): 0 points increase in error, 0 points decrease in error
(+.f64 (*.f64 (Rewrite<= distribute-lft-neg-in_binary64 (neg.f64 (*.f64 4 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale)))) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)) (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale))): 0 points increase in error, 0 points decrease in error
(Rewrite<= +-commutative_binary64 (+.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale)) (*.f64 (neg.f64 (*.f64 4 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale))) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)))): 0 points increase in error, 0 points decrease in error
(Rewrite<= cancel-sign-sub-inv_binary64 (-.f64 (*.f64 (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale) (/.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 (-.f64 (pow.f64 b 2) (pow.f64 a 2))) (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) x-scale) y-scale)) (*.f64 (*.f64 4 (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) x-scale) x-scale)) (/.f64 (/.f64 (+.f64 (pow.f64 (*.f64 a (cos.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2) (pow.f64 (*.f64 b (sin.f64 (*.f64 (/.f64 angle 180) (PI.f64)))) 2)) y-scale) y-scale)))): 0 points increase in error, 0 points decrease in error
Simplified45.8
\[\leadsto \color{blue}{\frac{-4}{x-scale} \cdot \frac{b \cdot \left(b \cdot \left(a \cdot a\right)\right)}{\left(y-scale \cdot y-scale\right) \cdot x-scale}}
\]
Proof
(*.f64 (/.f64 -4 x-scale) (/.f64 (*.f64 b (*.f64 b (*.f64 a a))) (*.f64 (*.f64 y-scale y-scale) x-scale))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 -4 x-scale) (/.f64 (*.f64 b (*.f64 b (Rewrite<= unpow2_binary64 (pow.f64 a 2)))) (*.f64 (*.f64 y-scale y-scale) x-scale))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 -4 x-scale) (/.f64 (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 b b) (pow.f64 a 2))) (*.f64 (*.f64 y-scale y-scale) x-scale))): 26 points increase in error, 3 points decrease in error
(*.f64 (/.f64 -4 x-scale) (/.f64 (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 b 2)) (pow.f64 a 2)) (*.f64 (*.f64 y-scale y-scale) x-scale))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 -4 x-scale) (/.f64 (Rewrite<= *-commutative_binary64 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (*.f64 (*.f64 y-scale y-scale) x-scale))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 -4 x-scale) (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 y-scale 2)) x-scale))): 0 points increase in error, 0 points decrease in error
(*.f64 (/.f64 -4 x-scale) (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (Rewrite<= *-commutative_binary64 (*.f64 x-scale (pow.f64 y-scale 2))))): 0 points increase in error, 0 points decrease in error
(Rewrite<= times-frac_binary64 (/.f64 (*.f64 -4 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (*.f64 x-scale (*.f64 x-scale (pow.f64 y-scale 2))))): 12 points increase in error, 5 points decrease in error
(/.f64 (*.f64 -4 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (Rewrite<= associate-*l*_binary64 (*.f64 (*.f64 x-scale x-scale) (pow.f64 y-scale 2)))): 24 points increase in error, 1 points decrease in error
(/.f64 (*.f64 -4 (*.f64 (pow.f64 a 2) (pow.f64 b 2))) (*.f64 (Rewrite<= unpow2_binary64 (pow.f64 x-scale 2)) (pow.f64 y-scale 2))): 0 points increase in error, 0 points decrease in error
(Rewrite<= associate-*r/_binary64 (*.f64 -4 (/.f64 (*.f64 (pow.f64 a 2) (pow.f64 b 2)) (*.f64 (pow.f64 x-scale 2) (pow.f64 y-scale 2))))): 1 points increase in error, 0 points decrease in error