\[r \cdot \frac{\sin b}{\cos \left(a + b\right)}
\]
↓
\[r \cdot \frac{\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(r * Float64(sin(b) / cos(Float64(a + b))))
end
↓
function code(r, a, b)
return Float64(r * Float64(sin(b) / fma(cos(b), cos(a), Float64(Float64(-sin(b)) * sin(a)))))
end
code[r_, a_, b_] := N[(r * N[(N[Sin[b], $MachinePrecision] / N[Cos[N[(a + b), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
↓
code[r_, a_, b_] := N[(r * N[(N[Sin[b], $MachinePrecision] / N[(N[Cos[b], $MachinePrecision] * N[Cos[a], $MachinePrecision] + N[((-N[Sin[b], $MachinePrecision]) * N[Sin[a], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
r \cdot \frac{\sin b}{\cos \left(a + b\right)}
↓
r \cdot \frac{\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.7 |
|---|
| Cost | 26432 |
|---|
\[\frac{1}{\frac{\cos a}{r \cdot \frac{\sin b}{\cos b}} - \frac{\sin a}{r}}
\]
| Alternative 3 |
|---|
| Error | 14.2 |
|---|
| Cost | 26048 |
|---|
\[r \cdot \frac{\sin b}{\mathsf{fma}\left(\cos b, \cos a, 0\right)}
\]
| Alternative 4 |
|---|
| Error | 15.1 |
|---|
| Cost | 13384 |
|---|
\[\begin{array}{l}
t_0 := r \cdot \frac{\sin b}{\cos a}\\
\mathbf{if}\;a \leq -0.33:\\
\;\;\;\;t_0\\
\mathbf{elif}\;a \leq 8600000:\\
\;\;\;\;r \cdot \tan b\\
\mathbf{else}:\\
\;\;\;\;t_0\\
\end{array}
\]
| Alternative 5 |
|---|
| Error | 14.9 |
|---|
| Cost | 13248 |
|---|
\[r \cdot \frac{\sin b}{\cos \left(b + a\right)}
\]
| Alternative 6 |
|---|
| Error | 14.9 |
|---|
| Cost | 13248 |
|---|
\[r \cdot \frac{\sin b}{\cos \left(b - a\right)}
\]
| Alternative 7 |
|---|
| Error | 15.1 |
|---|
| Cost | 6984 |
|---|
\[\begin{array}{l}
t_0 := r \cdot \tan b\\
\mathbf{if}\;b \leq -14:\\
\;\;\;\;t_0\\
\mathbf{elif}\;b \leq 3.2 \cdot 10^{-14}:\\
\;\;\;\;r \cdot \frac{b}{\cos a}\\
\mathbf{else}:\\
\;\;\;\;t_0\\
\end{array}
\]
| Alternative 8 |
|---|
| Error | 25.3 |
|---|
| Cost | 6592 |
|---|
\[r \cdot \tan b
\]
| Alternative 9 |
|---|
| Error | 41.8 |
|---|
| Cost | 192 |
|---|
\[r \cdot b
\]