\[\begin{array}{l}
t_0 := -\sin b\\
r \cdot \frac{\sin b}{\mathsf{fma}\left(\cos b, \cos a, \sin a \cdot t_0\right) + \mathsf{fma}\left(t_0, \sin a, \sin b \cdot \sin a\right)}
\end{array}
\]
(FPCore (r a b) :precision binary64 (* r (/ (sin b) (cos (+ a b)))))
↓
(FPCore (r a b)
:precision binary64
(let* ((t_0 (- (sin b))))
(*
r
(/
(sin b)
(+
(fma (cos b) (cos a) (* (sin a) t_0))
(fma t_0 (sin a) (* (sin b) (sin a))))))))
double code(double r, double a, double b) {
return r * (sin(b) / cos((a + b)));
}
↓
double code(double r, double a, double b) {
double t_0 = -sin(b);
return r * (sin(b) / (fma(cos(b), cos(a), (sin(a) * t_0)) + fma(t_0, sin(a), (sin(b) * sin(a)))));
}
function code(r, a, b)
return Float64(r * Float64(sin(b) / cos(Float64(a + b))))
end
↓
function code(r, a, b)
t_0 = Float64(-sin(b))
return Float64(r * Float64(sin(b) / Float64(fma(cos(b), cos(a), Float64(sin(a) * t_0)) + fma(t_0, sin(a), Float64(sin(b) * sin(a))))))
end
\[\leadsto r \cdot \frac{\sin b}{\color{blue}{\mathsf{fma}\left(\cos b, \cos a, -\sin b \cdot \left(\sin a \cdot 1\right)\right) + \mathsf{fma}\left(-\sin b, \sin a \cdot 1, \sin b \cdot \left(\sin a \cdot 1\right)\right)}}
\]
Taylor expanded in b around inf 0.3
\[\leadsto r \cdot \frac{\sin b}{\mathsf{fma}\left(\cos b, \cos a, -\sin b \cdot \left(\sin a \cdot 1\right)\right) + \mathsf{fma}\left(-\sin b, \sin a \cdot 1, \color{blue}{\sin a \cdot \sin b}\right)}
\]
Taylor expanded in b around inf 0.3
\[\leadsto r \cdot \frac{\sin b}{\mathsf{fma}\left(\cos b, \cos a, -\color{blue}{\sin a \cdot \sin b}\right) + \mathsf{fma}\left(-\sin b, \sin a \cdot 1, \sin a \cdot \sin b\right)}
\]
Final simplification0.3
\[\leadsto r \cdot \frac{\sin b}{\mathsf{fma}\left(\cos b, \cos a, \sin a \cdot \left(-\sin b\right)\right) + \mathsf{fma}\left(-\sin b, \sin a, \sin b \cdot \sin a\right)}
\]
Alternatives
Alternative 1
Error
0.3
Cost
39040
\[r \cdot \frac{\sin b}{\mathsf{fma}\left(\cos b, \cos a, \sin a \cdot \left(-\sin b\right)\right)}
\]
Alternative 2
Error
0.3
Cost
32704
\[\frac{r \cdot \sin b}{\cos b \cdot \cos a - \sin b \cdot \sin a}
\]
Alternative 3
Error
0.4
Cost
32704
\[\sin b \cdot \frac{r}{\cos b \cdot \cos a - \sin b \cdot \sin a}
\]