function code(r, a, b)
return Float64(Float64(r * sin(b)) / cos(Float64(a + b)))
end
↓
function code(r, a, b)
return Float64(Float64(r * sin(b)) / fma(cos(a), cos(b), fma(Float64(-sin(a)), sin(b), fma(Float64(-sin(b)), sin(a), Float64(sin(b) * sin(a))))))
end
\frac{r \cdot \sin b}{\mathsf{fma}\left(\cos a, \cos b, \mathsf{fma}\left(-\sin a, \sin b, \mathsf{fma}\left(-\sin b, \sin a, \sin b \cdot \sin a\right)\right)\right)}
\[\leadsto \frac{r \cdot \sin b}{\color{blue}{\cos a \cdot \cos b + \left(\left(-\sin a\right) \cdot \sin b + \mathsf{fma}\left(-\sin b, \sin a, \sin b \cdot \sin a\right)\right)}}
\]
Simplified0.3
\[\leadsto \frac{r \cdot \sin b}{\color{blue}{\mathsf{fma}\left(\cos a, \cos b, \mathsf{fma}\left(-\sin a, \sin b, \mathsf{fma}\left(-\sin b, \sin a, \sin b \cdot \sin a\right)\right)\right)}}
\]
Proof
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 a) (cos.f64 b) (fma.f64 (neg.f64 (sin.f64 a)) (sin.f64 b) (fma.f64 (neg.f64 (sin.f64 b)) (sin.f64 a) (*.f64 (sin.f64 b) (sin.f64 a)))))): 0 points increase in error, 0 points decrease in error
(/.f64 (*.f64 r (sin.f64 b)) (fma.f64 (cos.f64 a) (cos.f64 b) (Rewrite<= fma-def_binary64 (+.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (fma.f64 (neg.f64 (sin.f64 b)) (sin.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))): 0 points increase in error, 0 points decrease in error
(/.f64 (*.f64 r (sin.f64 b)) (Rewrite<= fma-def_binary64 (+.f64 (*.f64 (cos.f64 a) (cos.f64 b)) (+.f64 (*.f64 (neg.f64 (sin.f64 a)) (sin.f64 b)) (fma.f64 (neg.f64 (sin.f64 b)) (sin.f64 a) (*.f64 (sin.f64 b) (sin.f64 a))))))): 0 points increase in error, 3 points decrease in error
Final simplification0.3
\[\leadsto \frac{r \cdot \sin b}{\mathsf{fma}\left(\cos a, \cos b, \mathsf{fma}\left(-\sin a, \sin b, \mathsf{fma}\left(-\sin b, \sin a, \sin b \cdot \sin a\right)\right)\right)}
\]
Alternatives
Alternative 1
Error
0.4
Cost
45568
\[\sin b \cdot \frac{r}{\cos a \cdot \cos b - \sqrt[3]{{\left(\sin b \cdot \sin a\right)}^{3}}}
\]
Alternative 2
Error
0.3
Cost
32704
\[\sin b \cdot \frac{r}{\cos a \cdot \cos b - \sin b \cdot \sin a}
\]
Alternative 3
Error
0.4
Cost
32512
\[\frac{r}{\mathsf{fma}\left(\frac{\cos b}{\sin b}, \cos a, -\sin a\right)}
\]