\[\frac{r \cdot \sin b}{\cos \left(a + b\right)}
\]
↓
\[\frac{r \cdot \sin b}{\mathsf{fma}\left(\cos b, \cos a, \left(-\sin b\right) \cdot \sin a\right)}
\]
(FPCore (r a b) :precision binary64 (/ (* r (sin b)) (cos (+ a b))))
↓
(FPCore (r a b)
:precision binary64
(/ (* r (sin b)) (fma (cos b) (cos 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) {
return (r * sin(b)) / fma(cos(b), cos(a), (-sin(b) * sin(a)));
}
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(b), cos(a), Float64(Float64(-sin(b)) * sin(a))))
end
code[r_, a_, b_] := N[(N[(r * N[Sin[b], $MachinePrecision]), $MachinePrecision] / N[Cos[N[(a + b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]
↓
code[r_, a_, b_] := N[(N[(r * N[Sin[b], $MachinePrecision]), $MachinePrecision] / N[(N[Cos[b], $MachinePrecision] * N[Cos[a], $MachinePrecision] + N[((-N[Sin[b], $MachinePrecision]) * N[Sin[a], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\frac{r \cdot \sin b}{\cos \left(a + b\right)}
↓
\frac{r \cdot \sin b}{\mathsf{fma}\left(\cos b, \cos a, \left(-\sin b\right) \cdot \sin a\right)}
Alternatives
| Alternative 1 |
|---|
| Error | 0.3 |
|---|
| Cost | 32704 |
|---|
\[r \cdot \frac{\sin b}{\cos b \cdot \cos a - \sin b \cdot \sin a}
\]
| 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 | 13.9 |
|---|
| Cost | 26048 |
|---|
\[\frac{\sin b}{\frac{\mathsf{fma}\left(\cos b, \cos a, 0\right)}{r}}
\]
| Alternative 4 |
|---|
| Error | 13.8 |
|---|
| Cost | 26048 |
|---|
\[\frac{r \cdot \sin b}{\mathsf{fma}\left(\cos b, \cos a, 0\right)}
\]
| Alternative 5 |
|---|
| Error | 14.7 |
|---|
| Cost | 13384 |
|---|
\[\begin{array}{l}
t_0 := r \cdot \frac{\sin b}{\cos b}\\
\mathbf{if}\;b \leq -1.85:\\
\;\;\;\;t_0\\
\mathbf{elif}\;b \leq 1.8 \cdot 10^{-8}:\\
\;\;\;\;b \cdot \frac{r}{\cos a}\\
\mathbf{else}:\\
\;\;\;\;t_0\\
\end{array}
\]
| Alternative 6 |
|---|
| Error | 14.6 |
|---|
| Cost | 13384 |
|---|
\[\begin{array}{l}
t_0 := \frac{\sin b}{\frac{\cos a}{r}}\\
\mathbf{if}\;a \leq -3.5 \cdot 10^{-5}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;a \leq 3.3 \cdot 10^{-6}:\\
\;\;\;\;r \cdot \frac{\sin b}{\cos b}\\
\mathbf{else}:\\
\;\;\;\;t_0\\
\end{array}
\]
| Alternative 7 |
|---|
| Error | 14.6 |
|---|
| Cost | 13384 |
|---|
\[\begin{array}{l}
\mathbf{if}\;a \leq -9 \cdot 10^{-5}:\\
\;\;\;\;\frac{\sin b}{\frac{\cos a}{r}}\\
\mathbf{elif}\;a \leq 6.1 \cdot 10^{-5}:\\
\;\;\;\;r \cdot \frac{\sin b}{\cos b}\\
\mathbf{else}:\\
\;\;\;\;\frac{r \cdot \sin b}{\cos a}\\
\end{array}
\]
| Alternative 8 |
|---|
| Error | 14.6 |
|---|
| Cost | 13384 |
|---|
\[\begin{array}{l}
t_0 := r \cdot \sin b\\
\mathbf{if}\;a \leq -6 \cdot 10^{-5}:\\
\;\;\;\;\frac{\sin b}{\frac{\cos a}{r}}\\
\mathbf{elif}\;a \leq 2.7 \cdot 10^{-5}:\\
\;\;\;\;\frac{t_0}{\cos b}\\
\mathbf{else}:\\
\;\;\;\;\frac{t_0}{\cos a}\\
\end{array}
\]
| Alternative 9 |
|---|
| Error | 14.5 |
|---|
| Cost | 13376 |
|---|
\[\sin b \cdot \left(r \cdot \frac{1}{\cos \left(b + a\right)}\right)
\]
| Alternative 10 |
|---|
| Error | 14.5 |
|---|
| Cost | 13248 |
|---|
\[r \cdot \frac{\sin b}{\cos \left(b + a\right)}
\]
| Alternative 11 |
|---|
| Error | 14.5 |
|---|
| Cost | 13248 |
|---|
\[\sin b \cdot \frac{r}{\cos \left(b + a\right)}
\]
| Alternative 12 |
|---|
| Error | 14.5 |
|---|
| Cost | 13248 |
|---|
\[\frac{r \cdot \sin b}{\cos \left(b + a\right)}
\]
| Alternative 13 |
|---|
| Error | 31.6 |
|---|
| Cost | 6848 |
|---|
\[\frac{r \cdot b}{\cos \left(b + a\right)}
\]
| Alternative 14 |
|---|
| Error | 31.6 |
|---|
| Cost | 6848 |
|---|
\[\frac{r \cdot b}{\cos \left(b - a\right)}
\]
| Alternative 15 |
|---|
| Error | 31.6 |
|---|
| Cost | 6720 |
|---|
\[r \cdot \frac{b}{\cos a}
\]
| Alternative 16 |
|---|
| Error | 31.6 |
|---|
| Cost | 6720 |
|---|
\[b \cdot \frac{r}{\cos a}
\]
| Alternative 17 |
|---|
| Error | 42.0 |
|---|
| Cost | 192 |
|---|
\[r \cdot b
\]