Simplified0.3
\[\leadsto \color{blue}{\mathsf{fma}\left(\sqrt{\mathsf{fma}\left(ux, \left(1 - ux\right) \cdot \left(maxCos \cdot \left(\left(ux \cdot maxCos\right) \cdot \left(ux + -1\right)\right)\right), 1\right)}, \mathsf{fma}\left(\cos \left(uy \cdot \left(2 \cdot \pi\right)\right), xi, \sin \left(uy \cdot \left(2 \cdot \pi\right)\right) \cdot yi\right), ux \cdot \left(\left(1 - ux\right) \cdot \left(maxCos \cdot zi\right)\right)\right)}
\]
Proof
(fma.f32 (sqrt.f32 (fma.f32 ux (*.f32 (-.f32 1 ux) (*.f32 maxCos (*.f32 (*.f32 ux maxCos) (+.f32 ux -1)))) 1)) (fma.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) xi (*.f32 (sin.f32 (*.f32 uy (*.f32 2 (PI.f32)))) yi)) (*.f32 ux (*.f32 (-.f32 1 ux) (*.f32 maxCos zi)))): 0 points increase in error, 0 points decrease in error
(fma.f32 (sqrt.f32 (fma.f32 ux (*.f32 (-.f32 1 ux) (*.f32 maxCos (*.f32 (Rewrite<= *-commutative_binary32 (*.f32 maxCos ux)) (+.f32 ux -1)))) 1)) (fma.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) xi (*.f32 (sin.f32 (*.f32 uy (*.f32 2 (PI.f32)))) yi)) (*.f32 ux (*.f32 (-.f32 1 ux) (*.f32 maxCos zi)))): 0 points increase in error, 0 points decrease in error
(fma.f32 (sqrt.f32 (fma.f32 ux (*.f32 (-.f32 1 ux) (*.f32 maxCos (*.f32 (*.f32 maxCos ux) (Rewrite<= +-commutative_binary32 (+.f32 -1 ux))))) 1)) (fma.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) xi (*.f32 (sin.f32 (*.f32 uy (*.f32 2 (PI.f32)))) yi)) (*.f32 ux (*.f32 (-.f32 1 ux) (*.f32 maxCos zi)))): 0 points increase in error, 0 points decrease in error
(fma.f32 (sqrt.f32 (fma.f32 ux (*.f32 (-.f32 1 ux) (*.f32 maxCos (*.f32 (*.f32 maxCos ux) (+.f32 (Rewrite<= metadata-eval (-.f32 0 1)) ux)))) 1)) (fma.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) xi (*.f32 (sin.f32 (*.f32 uy (*.f32 2 (PI.f32)))) yi)) (*.f32 ux (*.f32 (-.f32 1 ux) (*.f32 maxCos zi)))): 0 points increase in error, 0 points decrease in error
(fma.f32 (sqrt.f32 (fma.f32 ux (*.f32 (-.f32 1 ux) (*.f32 maxCos (*.f32 (*.f32 maxCos ux) (Rewrite<= associate--r-_binary32 (-.f32 0 (-.f32 1 ux)))))) 1)) (fma.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) xi (*.f32 (sin.f32 (*.f32 uy (*.f32 2 (PI.f32)))) yi)) (*.f32 ux (*.f32 (-.f32 1 ux) (*.f32 maxCos zi)))): 0 points increase in error, 0 points decrease in error
(fma.f32 (sqrt.f32 (fma.f32 ux (*.f32 (-.f32 1 ux) (*.f32 maxCos (*.f32 (*.f32 maxCos ux) (Rewrite<= neg-sub0_binary32 (neg.f32 (-.f32 1 ux)))))) 1)) (fma.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) xi (*.f32 (sin.f32 (*.f32 uy (*.f32 2 (PI.f32)))) yi)) (*.f32 ux (*.f32 (-.f32 1 ux) (*.f32 maxCos zi)))): 0 points increase in error, 0 points decrease in error
(fma.f32 (sqrt.f32 (fma.f32 ux (*.f32 (-.f32 1 ux) (*.f32 maxCos (Rewrite<= distribute-rgt-neg-in_binary32 (neg.f32 (*.f32 (*.f32 maxCos ux) (-.f32 1 ux)))))) 1)) (fma.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) xi (*.f32 (sin.f32 (*.f32 uy (*.f32 2 (PI.f32)))) yi)) (*.f32 ux (*.f32 (-.f32 1 ux) (*.f32 maxCos zi)))): 0 points increase in error, 0 points decrease in error
(fma.f32 (sqrt.f32 (fma.f32 ux (*.f32 (-.f32 1 ux) (*.f32 maxCos (neg.f32 (Rewrite<= *-commutative_binary32 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux)))))) 1)) (fma.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) xi (*.f32 (sin.f32 (*.f32 uy (*.f32 2 (PI.f32)))) yi)) (*.f32 ux (*.f32 (-.f32 1 ux) (*.f32 maxCos zi)))): 0 points increase in error, 0 points decrease in error
(fma.f32 (sqrt.f32 (fma.f32 ux (*.f32 (-.f32 1 ux) (*.f32 maxCos (neg.f32 (Rewrite<= associate-*l*_binary32 (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux))))) 1)) (fma.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) xi (*.f32 (sin.f32 (*.f32 uy (*.f32 2 (PI.f32)))) yi)) (*.f32 ux (*.f32 (-.f32 1 ux) (*.f32 maxCos zi)))): 0 points increase in error, 0 points decrease in error
(fma.f32 (sqrt.f32 (fma.f32 ux (*.f32 (-.f32 1 ux) (Rewrite=> distribute-rgt-neg-out_binary32 (neg.f32 (*.f32 maxCos (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux))))) 1)) (fma.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) xi (*.f32 (sin.f32 (*.f32 uy (*.f32 2 (PI.f32)))) yi)) (*.f32 ux (*.f32 (-.f32 1 ux) (*.f32 maxCos zi)))): 0 points increase in error, 0 points decrease in error
(fma.f32 (sqrt.f32 (fma.f32 ux (*.f32 (-.f32 1 ux) (neg.f32 (*.f32 maxCos (Rewrite=> *-commutative_binary32 (*.f32 ux (*.f32 (-.f32 1 ux) maxCos)))))) 1)) (fma.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) xi (*.f32 (sin.f32 (*.f32 uy (*.f32 2 (PI.f32)))) yi)) (*.f32 ux (*.f32 (-.f32 1 ux) (*.f32 maxCos zi)))): 0 points increase in error, 0 points decrease in error
(fma.f32 (sqrt.f32 (fma.f32 ux (*.f32 (-.f32 1 ux) (neg.f32 (Rewrite<= associate-*l*_binary32 (*.f32 (*.f32 maxCos ux) (*.f32 (-.f32 1 ux) maxCos))))) 1)) (fma.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) xi (*.f32 (sin.f32 (*.f32 uy (*.f32 2 (PI.f32)))) yi)) (*.f32 ux (*.f32 (-.f32 1 ux) (*.f32 maxCos zi)))): 0 points increase in error, 0 points decrease in error
(fma.f32 (sqrt.f32 (fma.f32 ux (Rewrite<= distribute-rgt-neg-in_binary32 (neg.f32 (*.f32 (-.f32 1 ux) (*.f32 (*.f32 maxCos ux) (*.f32 (-.f32 1 ux) maxCos))))) 1)) (fma.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) xi (*.f32 (sin.f32 (*.f32 uy (*.f32 2 (PI.f32)))) yi)) (*.f32 ux (*.f32 (-.f32 1 ux) (*.f32 maxCos zi)))): 0 points increase in error, 0 points decrease in error
(fma.f32 (sqrt.f32 (fma.f32 ux (neg.f32 (Rewrite<= associate-*l*_binary32 (*.f32 (*.f32 (-.f32 1 ux) (*.f32 maxCos ux)) (*.f32 (-.f32 1 ux) maxCos)))) 1)) (fma.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) xi (*.f32 (sin.f32 (*.f32 uy (*.f32 2 (PI.f32)))) yi)) (*.f32 ux (*.f32 (-.f32 1 ux) (*.f32 maxCos zi)))): 0 points increase in error, 0 points decrease in error
(fma.f32 (sqrt.f32 (fma.f32 ux (neg.f32 (*.f32 (Rewrite<= associate-*l*_binary32 (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux)) (*.f32 (-.f32 1 ux) maxCos))) 1)) (fma.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) xi (*.f32 (sin.f32 (*.f32 uy (*.f32 2 (PI.f32)))) yi)) (*.f32 ux (*.f32 (-.f32 1 ux) (*.f32 maxCos zi)))): 0 points increase in error, 0 points decrease in error
(fma.f32 (sqrt.f32 (fma.f32 ux (Rewrite<= distribute-lft-neg-out_binary32 (*.f32 (neg.f32 (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux)) (*.f32 (-.f32 1 ux) maxCos))) 1)) (fma.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) xi (*.f32 (sin.f32 (*.f32 uy (*.f32 2 (PI.f32)))) yi)) (*.f32 ux (*.f32 (-.f32 1 ux) (*.f32 maxCos zi)))): 0 points increase in error, 0 points decrease in error
(fma.f32 (sqrt.f32 (Rewrite<= fma-def_binary32 (+.f32 (*.f32 ux (*.f32 (neg.f32 (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux)) (*.f32 (-.f32 1 ux) maxCos))) 1))) (fma.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) xi (*.f32 (sin.f32 (*.f32 uy (*.f32 2 (PI.f32)))) yi)) (*.f32 ux (*.f32 (-.f32 1 ux) (*.f32 maxCos zi)))): 0 points increase in error, 0 points decrease in error
(fma.f32 (sqrt.f32 (+.f32 (Rewrite<= *-commutative_binary32 (*.f32 (*.f32 (neg.f32 (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux)) (*.f32 (-.f32 1 ux) maxCos)) ux)) 1)) (fma.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) xi (*.f32 (sin.f32 (*.f32 uy (*.f32 2 (PI.f32)))) yi)) (*.f32 ux (*.f32 (-.f32 1 ux) (*.f32 maxCos zi)))): 0 points increase in error, 0 points decrease in error
(fma.f32 (sqrt.f32 (+.f32 (Rewrite<= associate-*r*_binary32 (*.f32 (neg.f32 (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux)) (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux))) 1)) (fma.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) xi (*.f32 (sin.f32 (*.f32 uy (*.f32 2 (PI.f32)))) yi)) (*.f32 ux (*.f32 (-.f32 1 ux) (*.f32 maxCos zi)))): 0 points increase in error, 0 points decrease in error
(fma.f32 (sqrt.f32 (Rewrite<= +-commutative_binary32 (+.f32 1 (*.f32 (neg.f32 (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux)) (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux))))) (fma.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) xi (*.f32 (sin.f32 (*.f32 uy (*.f32 2 (PI.f32)))) yi)) (*.f32 ux (*.f32 (-.f32 1 ux) (*.f32 maxCos zi)))): 0 points increase in error, 0 points decrease in error
(fma.f32 (sqrt.f32 (Rewrite<= cancel-sign-sub-inv_binary32 (-.f32 1 (*.f32 (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux) (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux))))) (fma.f32 (cos.f32 (*.f32 uy (*.f32 2 (PI.f32)))) xi (*.f32 (sin.f32 (*.f32 uy (*.f32 2 (PI.f32)))) yi)) (*.f32 ux (*.f32 (-.f32 1 ux) (*.f32 maxCos zi)))): 0 points increase in error, 0 points decrease in error
(fma.f32 (sqrt.f32 (-.f32 1 (*.f32 (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux) (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux)))) (fma.f32 (cos.f32 (Rewrite<= associate-*l*_binary32 (*.f32 (*.f32 uy 2) (PI.f32)))) xi (*.f32 (sin.f32 (*.f32 uy (*.f32 2 (PI.f32)))) yi)) (*.f32 ux (*.f32 (-.f32 1 ux) (*.f32 maxCos zi)))): 0 points increase in error, 0 points decrease in error
(fma.f32 (sqrt.f32 (-.f32 1 (*.f32 (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux) (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux)))) (fma.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) xi (*.f32 (sin.f32 (Rewrite<= associate-*l*_binary32 (*.f32 (*.f32 uy 2) (PI.f32)))) yi)) (*.f32 ux (*.f32 (-.f32 1 ux) (*.f32 maxCos zi)))): 0 points increase in error, 0 points decrease in error
(fma.f32 (sqrt.f32 (-.f32 1 (*.f32 (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux) (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux)))) (Rewrite<= fma-def_binary32 (+.f32 (*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) xi) (*.f32 (sin.f32 (*.f32 (*.f32 uy 2) (PI.f32))) yi))) (*.f32 ux (*.f32 (-.f32 1 ux) (*.f32 maxCos zi)))): 3 points increase in error, 0 points decrease in error
(fma.f32 (sqrt.f32 (-.f32 1 (*.f32 (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux) (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux)))) (+.f32 (*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) xi) (*.f32 (sin.f32 (*.f32 (*.f32 uy 2) (PI.f32))) yi)) (*.f32 ux (Rewrite<= associate-*l*_binary32 (*.f32 (*.f32 (-.f32 1 ux) maxCos) zi)))): 2 points increase in error, 2 points decrease in error
(fma.f32 (sqrt.f32 (-.f32 1 (*.f32 (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux) (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux)))) (+.f32 (*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) xi) (*.f32 (sin.f32 (*.f32 (*.f32 uy 2) (PI.f32))) yi)) (Rewrite<= associate-*l*_binary32 (*.f32 (*.f32 ux (*.f32 (-.f32 1 ux) maxCos)) zi))): 4 points increase in error, 3 points decrease in error
(fma.f32 (sqrt.f32 (-.f32 1 (*.f32 (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux) (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux)))) (+.f32 (*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) xi) (*.f32 (sin.f32 (*.f32 (*.f32 uy 2) (PI.f32))) yi)) (*.f32 (Rewrite<= *-commutative_binary32 (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux)) zi)): 0 points increase in error, 0 points decrease in error
(Rewrite<= fma-def_binary32 (+.f32 (*.f32 (sqrt.f32 (-.f32 1 (*.f32 (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux) (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux)))) (+.f32 (*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) xi) (*.f32 (sin.f32 (*.f32 (*.f32 uy 2) (PI.f32))) yi))) (*.f32 (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux) zi))): 0 points increase in error, 0 points decrease in error
(+.f32 (Rewrite<= distribute-lft-out_binary32 (+.f32 (*.f32 (sqrt.f32 (-.f32 1 (*.f32 (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux) (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux)))) (*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) xi)) (*.f32 (sqrt.f32 (-.f32 1 (*.f32 (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux) (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux)))) (*.f32 (sin.f32 (*.f32 (*.f32 uy 2) (PI.f32))) yi)))) (*.f32 (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux) zi)): 0 points increase in error, 0 points decrease in error
(+.f32 (+.f32 (Rewrite<= associate-*l*_binary32 (*.f32 (*.f32 (sqrt.f32 (-.f32 1 (*.f32 (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux) (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux)))) (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32)))) xi)) (*.f32 (sqrt.f32 (-.f32 1 (*.f32 (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux) (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux)))) (*.f32 (sin.f32 (*.f32 (*.f32 uy 2) (PI.f32))) yi))) (*.f32 (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux) zi)): 0 points increase in error, 0 points decrease in error
(+.f32 (+.f32 (*.f32 (Rewrite<= *-commutative_binary32 (*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux) (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux)))))) xi) (*.f32 (sqrt.f32 (-.f32 1 (*.f32 (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux) (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux)))) (*.f32 (sin.f32 (*.f32 (*.f32 uy 2) (PI.f32))) yi))) (*.f32 (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux) zi)): 0 points increase in error, 0 points decrease in error
(+.f32 (+.f32 (*.f32 (*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux) (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux))))) xi) (Rewrite<= associate-*l*_binary32 (*.f32 (*.f32 (sqrt.f32 (-.f32 1 (*.f32 (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux) (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux)))) (sin.f32 (*.f32 (*.f32 uy 2) (PI.f32)))) yi))) (*.f32 (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux) zi)): 0 points increase in error, 0 points decrease in error
(+.f32 (+.f32 (*.f32 (*.f32 (cos.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux) (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux))))) xi) (*.f32 (Rewrite<= *-commutative_binary32 (*.f32 (sin.f32 (*.f32 (*.f32 uy 2) (PI.f32))) (sqrt.f32 (-.f32 1 (*.f32 (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux) (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux)))))) yi)) (*.f32 (*.f32 (*.f32 (-.f32 1 ux) maxCos) ux) zi)): 0 points increase in error, 0 points decrease in error