\[\left(0 \leq cosTheta \land cosTheta \leq 1\right) \land \left(0.0001 \leq \alpha \land \alpha \leq 1\right)\]
\[\frac{\alpha \cdot \alpha - 1}{\left(\pi \cdot \log \left(\alpha \cdot \alpha\right)\right) \cdot \left(1 + \left(\left(\alpha \cdot \alpha - 1\right) \cdot cosTheta\right) \cdot cosTheta\right)}
\]
↓
\[\frac{\mathsf{fma}\left(\alpha, \alpha, -1\right)}{2 \cdot \left(\left(\left(cosTheta \cdot cosTheta\right) \cdot \log \alpha\right) \cdot \left(\left(\alpha \cdot \alpha\right) \cdot \pi\right) + \left(\log \alpha \cdot \left(1 - cosTheta \cdot cosTheta\right)\right) \cdot \pi\right)}
\]
(FPCore (cosTheta alpha)
:precision binary64
(/
(- (* alpha alpha) 1.0)
(*
(* PI (log (* alpha alpha)))
(+ 1.0 (* (* (- (* alpha alpha) 1.0) cosTheta) cosTheta)))))
↓
(FPCore (cosTheta alpha)
:precision binary64
(/
(fma alpha alpha -1.0)
(*
2.0
(+
(* (* (* cosTheta cosTheta) (log alpha)) (* (* alpha alpha) PI))
(* (* (log alpha) (- 1.0 (* cosTheta cosTheta))) PI)))))double code(double cosTheta, double alpha) {
return ((alpha * alpha) - 1.0) / ((((double) M_PI) * log((alpha * alpha))) * (1.0 + ((((alpha * alpha) - 1.0) * cosTheta) * cosTheta)));
}
↓
double code(double cosTheta, double alpha) {
return fma(alpha, alpha, -1.0) / (2.0 * ((((cosTheta * cosTheta) * log(alpha)) * ((alpha * alpha) * ((double) M_PI))) + ((log(alpha) * (1.0 - (cosTheta * cosTheta))) * ((double) M_PI))));
}
function code(cosTheta, alpha)
return Float64(Float64(Float64(alpha * alpha) - 1.0) / Float64(Float64(pi * log(Float64(alpha * alpha))) * Float64(1.0 + Float64(Float64(Float64(Float64(alpha * alpha) - 1.0) * cosTheta) * cosTheta))))
end
↓
function code(cosTheta, alpha)
return Float64(fma(alpha, alpha, -1.0) / Float64(2.0 * Float64(Float64(Float64(Float64(cosTheta * cosTheta) * log(alpha)) * Float64(Float64(alpha * alpha) * pi)) + Float64(Float64(log(alpha) * Float64(1.0 - Float64(cosTheta * cosTheta))) * pi))))
end
code[cosTheta_, alpha_] := N[(N[(N[(alpha * alpha), $MachinePrecision] - 1.0), $MachinePrecision] / N[(N[(Pi * N[Log[N[(alpha * alpha), $MachinePrecision]], $MachinePrecision]), $MachinePrecision] * N[(1.0 + N[(N[(N[(N[(alpha * alpha), $MachinePrecision] - 1.0), $MachinePrecision] * cosTheta), $MachinePrecision] * cosTheta), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
↓
code[cosTheta_, alpha_] := N[(N[(alpha * alpha + -1.0), $MachinePrecision] / N[(2.0 * N[(N[(N[(N[(cosTheta * cosTheta), $MachinePrecision] * N[Log[alpha], $MachinePrecision]), $MachinePrecision] * N[(N[(alpha * alpha), $MachinePrecision] * Pi), $MachinePrecision]), $MachinePrecision] + N[(N[(N[Log[alpha], $MachinePrecision] * N[(1.0 - N[(cosTheta * cosTheta), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] * Pi), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\frac{\alpha \cdot \alpha - 1}{\left(\pi \cdot \log \left(\alpha \cdot \alpha\right)\right) \cdot \left(1 + \left(\left(\alpha \cdot \alpha - 1\right) \cdot cosTheta\right) \cdot cosTheta\right)}
↓
\frac{\mathsf{fma}\left(\alpha, \alpha, -1\right)}{2 \cdot \left(\left(\left(cosTheta \cdot cosTheta\right) \cdot \log \alpha\right) \cdot \left(\left(\alpha \cdot \alpha\right) \cdot \pi\right) + \left(\log \alpha \cdot \left(1 - cosTheta \cdot cosTheta\right)\right) \cdot \pi\right)}
Alternatives
| Alternative 1 |
|---|
| Error | 0.4 |
|---|
| Cost | 14208 |
|---|
\[\begin{array}{l}
t_0 := \alpha \cdot \alpha - 1\\
\frac{t_0}{\left(\pi \cdot \log \left(\alpha \cdot \alpha\right)\right) \cdot \left(1 + \left(t_0 \cdot cosTheta\right) \cdot cosTheta\right)}
\end{array}
\]
| Alternative 2 |
|---|
| Error | 0.8 |
|---|
| Cost | 13888 |
|---|
\[\frac{\alpha \cdot \alpha - 1}{\left(\pi \cdot \log \left(\alpha \cdot \alpha\right)\right) \cdot \left(1 + \left(-cosTheta\right) \cdot cosTheta\right)}
\]
| Alternative 3 |
|---|
| Error | 1.1 |
|---|
| Cost | 13440 |
|---|
\[-0.5 \cdot \frac{1 - \alpha \cdot \alpha}{\log \alpha \cdot \pi}
\]
| Alternative 4 |
|---|
| Error | 39.3 |
|---|
| Cost | 13312 |
|---|
\[1 - \left(1 + \frac{\frac{0.5}{\pi}}{\log \alpha}\right)
\]
| Alternative 5 |
|---|
| Error | 39.3 |
|---|
| Cost | 13312 |
|---|
\[1 - \left(1 + \frac{\frac{0.5}{\log \alpha}}{\pi}\right)
\]
| Alternative 6 |
|---|
| Error | 39.3 |
|---|
| Cost | 13312 |
|---|
\[3 - \left(3 + \frac{\frac{0.5}{\pi}}{\log \alpha}\right)
\]
| Alternative 7 |
|---|
| Error | 39.3 |
|---|
| Cost | 13056 |
|---|
\[\frac{-0.5}{\log \alpha \cdot \pi}
\]