\[\left(0 < cosTheta \land cosTheta < 0.9999\right) \land \left(-1 < c \land c < 1\right)\]
\[\frac{1}{\left(1 + c\right) + \left(\frac{1}{\sqrt{\pi}} \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}}
\]
↓
\[\begin{array}{l}
t_0 := \sqrt{\mathsf{fma}\left(-2, cosTheta, 1\right)}\\
t_1 := \mathsf{fma}\left(c, -1 + c, 1\right)\\
t_2 := cosTheta \cdot t_1\\
\mathbf{if}\;t_2 \ne 0:\\
\;\;\;\;\frac{t_2}{\mathsf{fma}\left(\frac{\frac{t_0}{e^{cosTheta \cdot cosTheta}}}{\sqrt{\pi}}, t_1, cosTheta \cdot \left(1 + {c}^{3}\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{-1}{-1 - \mathsf{fma}\left(\frac{\frac{t_0}{cosTheta}}{\sqrt{\pi}}, e^{-cosTheta \cdot cosTheta}, c\right)}\\
\end{array}
\]
(FPCore (cosTheta c)
:precision binary64
(/
1.0
(+
(+ 1.0 c)
(*
(* (/ 1.0 (sqrt PI)) (/ (sqrt (- (- 1.0 cosTheta) cosTheta)) cosTheta))
(exp (* (- cosTheta) cosTheta))))))↓
(FPCore (cosTheta c)
:precision binary64
(let* ((t_0 (sqrt (fma -2.0 cosTheta 1.0)))
(t_1 (fma c (+ -1.0 c) 1.0))
(t_2 (* cosTheta t_1)))
(if (!= t_2 0.0)
(/
t_2
(fma
(/ (/ t_0 (exp (* cosTheta cosTheta))) (sqrt PI))
t_1
(* cosTheta (+ 1.0 (pow c 3.0)))))
(/
-1.0
(-
-1.0
(fma
(/ (/ t_0 cosTheta) (sqrt PI))
(exp (- (* cosTheta cosTheta)))
c))))))double code(double cosTheta, double c) {
return 1.0 / ((1.0 + c) + (((1.0 / sqrt(((double) M_PI))) * (sqrt(((1.0 - cosTheta) - cosTheta)) / cosTheta)) * exp((-cosTheta * cosTheta))));
}
↓
double code(double cosTheta, double c) {
double t_0 = sqrt(fma(-2.0, cosTheta, 1.0));
double t_1 = fma(c, (-1.0 + c), 1.0);
double t_2 = cosTheta * t_1;
double tmp;
if (t_2 != 0.0) {
tmp = t_2 / fma(((t_0 / exp((cosTheta * cosTheta))) / sqrt(((double) M_PI))), t_1, (cosTheta * (1.0 + pow(c, 3.0))));
} else {
tmp = -1.0 / (-1.0 - fma(((t_0 / cosTheta) / sqrt(((double) M_PI))), exp(-(cosTheta * cosTheta)), c));
}
return tmp;
}
function code(cosTheta, c)
return Float64(1.0 / Float64(Float64(1.0 + c) + Float64(Float64(Float64(1.0 / sqrt(pi)) * Float64(sqrt(Float64(Float64(1.0 - cosTheta) - cosTheta)) / cosTheta)) * exp(Float64(Float64(-cosTheta) * cosTheta)))))
end
↓
function code(cosTheta, c)
t_0 = sqrt(fma(-2.0, cosTheta, 1.0))
t_1 = fma(c, Float64(-1.0 + c), 1.0)
t_2 = Float64(cosTheta * t_1)
tmp = 0.0
if (t_2 != 0.0)
tmp = Float64(t_2 / fma(Float64(Float64(t_0 / exp(Float64(cosTheta * cosTheta))) / sqrt(pi)), t_1, Float64(cosTheta * Float64(1.0 + (c ^ 3.0)))));
else
tmp = Float64(-1.0 / Float64(-1.0 - fma(Float64(Float64(t_0 / cosTheta) / sqrt(pi)), exp(Float64(-Float64(cosTheta * cosTheta))), c)));
end
return tmp
end
code[cosTheta_, c_] := N[(1.0 / N[(N[(1.0 + c), $MachinePrecision] + N[(N[(N[(1.0 / N[Sqrt[Pi], $MachinePrecision]), $MachinePrecision] * N[(N[Sqrt[N[(N[(1.0 - cosTheta), $MachinePrecision] - cosTheta), $MachinePrecision]], $MachinePrecision] / cosTheta), $MachinePrecision]), $MachinePrecision] * N[Exp[N[((-cosTheta) * cosTheta), $MachinePrecision]], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
↓
code[cosTheta_, c_] := Block[{t$95$0 = N[Sqrt[N[(-2.0 * cosTheta + 1.0), $MachinePrecision]], $MachinePrecision]}, Block[{t$95$1 = N[(c * N[(-1.0 + c), $MachinePrecision] + 1.0), $MachinePrecision]}, Block[{t$95$2 = N[(cosTheta * t$95$1), $MachinePrecision]}, If[Unequal[t$95$2, 0.0], N[(t$95$2 / N[(N[(N[(t$95$0 / N[Exp[N[(cosTheta * cosTheta), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] / N[Sqrt[Pi], $MachinePrecision]), $MachinePrecision] * t$95$1 + N[(cosTheta * N[(1.0 + N[Power[c, 3.0], $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[(-1.0 / N[(-1.0 - N[(N[(N[(t$95$0 / cosTheta), $MachinePrecision] / N[Sqrt[Pi], $MachinePrecision]), $MachinePrecision] * N[Exp[(-N[(cosTheta * cosTheta), $MachinePrecision])], $MachinePrecision] + c), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]]]]]
\frac{1}{\left(1 + c\right) + \left(\frac{1}{\sqrt{\pi}} \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}}
↓
\begin{array}{l}
t_0 := \sqrt{\mathsf{fma}\left(-2, cosTheta, 1\right)}\\
t_1 := \mathsf{fma}\left(c, -1 + c, 1\right)\\
t_2 := cosTheta \cdot t_1\\
\mathbf{if}\;t_2 \ne 0:\\
\;\;\;\;\frac{t_2}{\mathsf{fma}\left(\frac{\frac{t_0}{e^{cosTheta \cdot cosTheta}}}{\sqrt{\pi}}, t_1, cosTheta \cdot \left(1 + {c}^{3}\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{-1}{-1 - \mathsf{fma}\left(\frac{\frac{t_0}{cosTheta}}{\sqrt{\pi}}, e^{-cosTheta \cdot cosTheta}, c\right)}\\
\end{array}
Alternatives
| Alternative 1 |
|---|
| Error | 0.3 |
|---|
| Cost | 26816 |
|---|
\[\frac{1}{\left(1 + c\right) + \frac{\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{\sqrt{\pi}}}{cosTheta} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}}
\]
| Alternative 2 |
|---|
| Error | 0.6 |
|---|
| Cost | 26752 |
|---|
\[\frac{-1}{-1 - \left(c + \frac{\frac{\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta}}{e^{cosTheta \cdot cosTheta}}}{\sqrt{\pi}}\right)}
\]
| Alternative 3 |
|---|
| Error | 0.6 |
|---|
| Cost | 26624 |
|---|
\[\frac{1}{\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{\sqrt{\pi} \cdot \left(e^{cosTheta \cdot cosTheta} \cdot cosTheta\right)} + 1}
\]
| Alternative 4 |
|---|
| Error | 0.8 |
|---|
| Cost | 20608 |
|---|
\[\frac{-1}{-1 - \left(c + \frac{-e^{-cosTheta \cdot cosTheta}}{\sqrt{\pi}} \cdot \left(\frac{cosTheta + -1}{cosTheta} + 0.5 \cdot cosTheta\right)\right)}
\]
| Alternative 5 |
|---|
| Error | 0.9 |
|---|
| Cost | 20480 |
|---|
\[\frac{-1}{-1 - \left(c + \frac{-0.5 \cdot cosTheta - \left(1 - \frac{1}{cosTheta}\right)}{\sqrt{\pi} \cdot e^{cosTheta \cdot cosTheta}}\right)}
\]
| Alternative 6 |
|---|
| Error | 0.9 |
|---|
| Cost | 20480 |
|---|
\[\frac{-1}{-1 - \left(c + \frac{\frac{\left(-0.5 \cdot cosTheta + \frac{1}{cosTheta}\right) - 1}{e^{cosTheta \cdot cosTheta}}}{\sqrt{\pi}}\right)}
\]
| Alternative 7 |
|---|
| Error | 1.0 |
|---|
| Cost | 20416 |
|---|
\[\frac{1}{\left(1 + c\right) + \left(\left(\frac{1}{cosTheta} - 1\right) \cdot \frac{1}{\sqrt{\pi}}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}}
\]
| Alternative 8 |
|---|
| Error | 1.2 |
|---|
| Cost | 20224 |
|---|
\[\frac{-1}{-1 - \left(c + \frac{\frac{\frac{1}{cosTheta} - 1}{e^{cosTheta \cdot cosTheta}}}{\sqrt{\pi}}\right)}
\]
| Alternative 9 |
|---|
| Error | 1.6 |
|---|
| Cost | 13312 |
|---|
\[\frac{1}{\frac{\frac{1}{\sqrt{\pi}} + cosTheta}{cosTheta}}
\]
| Alternative 10 |
|---|
| Error | 1.8 |
|---|
| Cost | 12928 |
|---|
\[\sqrt{\pi} \cdot cosTheta
\]
| Alternative 11 |
|---|
| Error | 60.6 |
|---|
| Cost | 256 |
|---|
\[\left(-c\right) + 1
\]
| Alternative 12 |
|---|
| Error | 60.6 |
|---|
| Cost | 64 |
|---|
\[1
\]