\[\frac{r \cdot \sin b}{\cos \left(a + b\right)}
\]
↓
\[\frac{r \cdot \sin b}{\mathsf{fma}\left(\sin b, -\sin a, \cos b \cdot \cos a\right)}
\]
(FPCore (r a b) :precision binary64 (/ (* r (sin b)) (cos (+ a b))))
↓
(FPCore (r a b)
:precision binary64
(/ (* r (sin b)) (fma (sin b) (- (sin a)) (* (cos b) (cos 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(sin(b), -sin(a), (cos(b) * cos(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(sin(b), Float64(-sin(a)), Float64(cos(b) * cos(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[Sin[b], $MachinePrecision] * (-N[Sin[a], $MachinePrecision]) + N[(N[Cos[b], $MachinePrecision] * N[Cos[a], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\frac{r \cdot \sin b}{\cos \left(a + b\right)}
↓
\frac{r \cdot \sin b}{\mathsf{fma}\left(\sin b, -\sin a, \cos b \cdot \cos a\right)}
Alternatives
| Alternative 1 |
|---|
| Error | 0.3 |
|---|
| Cost | 39040 |
|---|
\[\frac{r \cdot \sin b}{\mathsf{fma}\left(\cos b, \cos a, -\sin a \cdot \sin b\right)}
\]
| Alternative 2 |
|---|
| Error | 0.3 |
|---|
| Cost | 32704 |
|---|
\[\frac{r \cdot \sin b}{\cos a \cdot \cos b - \sin a \cdot \sin b}
\]
| Alternative 3 |
|---|
| Error | 16.0 |
|---|
| Cost | 13384 |
|---|
\[\begin{array}{l}
\mathbf{if}\;b \leq -4.3 \cdot 10^{+21}:\\
\;\;\;\;\tan b \cdot r\\
\mathbf{elif}\;b \leq 38:\\
\;\;\;\;\frac{b}{\cos a} \cdot r\\
\mathbf{else}:\\
\;\;\;\;\frac{\sin b \cdot r}{\cos b}\\
\end{array}
\]
| Alternative 4 |
|---|
| Error | 15.2 |
|---|
| Cost | 13248 |
|---|
\[\frac{r}{\cos \left(a + b\right)} \cdot \sin b
\]
| Alternative 5 |
|---|
| Error | 15.2 |
|---|
| Cost | 13248 |
|---|
\[\frac{\sin b}{\cos \left(a + b\right)} \cdot r
\]
| Alternative 6 |
|---|
| Error | 16.0 |
|---|
| Cost | 6984 |
|---|
\[\begin{array}{l}
t_0 := \tan b \cdot r\\
\mathbf{if}\;b \leq -4.3 \cdot 10^{+21}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;b \leq 38:\\
\;\;\;\;\frac{b}{\cos a} \cdot r\\
\mathbf{else}:\\
\;\;\;\;t_0\\
\end{array}
\]
| Alternative 7 |
|---|
| Error | 25.4 |
|---|
| Cost | 6592 |
|---|
\[\tan b \cdot r
\]
| Alternative 8 |
|---|
| Error | 42.0 |
|---|
| Cost | 192 |
|---|
\[r \cdot b
\]