Beckmann Sample, normalization factor

Percentage Accurate: 97.8% → 98.5%
Time: 21.2s
Alternatives: 13
Speedup: 1.5×

Specification

?
\[\left(0 < cosTheta \land cosTheta < 0.9999\right) \land \left(-1 < c \land c < 1\right)\]
\[\begin{array}{l} \\ \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}} \end{array} \]
(FPCore (cosTheta c)
 :precision binary32
 (/
  1.0
  (+
   (+ 1.0 c)
   (*
    (* (/ 1.0 (sqrt PI)) (/ (sqrt (- (- 1.0 cosTheta) cosTheta)) cosTheta))
    (exp (* (- cosTheta) cosTheta))))))
float code(float cosTheta, float c) {
	return 1.0f / ((1.0f + c) + (((1.0f / sqrtf(((float) M_PI))) * (sqrtf(((1.0f - cosTheta) - cosTheta)) / cosTheta)) * expf((-cosTheta * cosTheta))));
}
function code(cosTheta, c)
	return Float32(Float32(1.0) / Float32(Float32(Float32(1.0) + c) + Float32(Float32(Float32(Float32(1.0) / sqrt(Float32(pi))) * Float32(sqrt(Float32(Float32(Float32(1.0) - cosTheta) - cosTheta)) / cosTheta)) * exp(Float32(Float32(-cosTheta) * cosTheta)))))
end
function tmp = code(cosTheta, c)
	tmp = single(1.0) / ((single(1.0) + c) + (((single(1.0) / sqrt(single(pi))) * (sqrt(((single(1.0) - cosTheta) - cosTheta)) / cosTheta)) * exp((-cosTheta * cosTheta))));
end
\begin{array}{l}

\\
\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}}
\end{array}

Sampling outcomes in binary32 precision:

Local Percentage Accuracy vs ?

The average percentage accuracy by input value. Horizontal axis shows value of an input variable; the variable is choosen in the title. Vertical axis is accuracy; higher is better. Red represent the original program, while blue represents Herbie's suggestion. These can be toggled with buttons below the plot. The line is an average while dots represent individual samples.

Accuracy vs Speed?

Herbie found 13 alternatives:

AlternativeAccuracySpeedup
The accuracy (vertical axis) and speed (horizontal axis) of each alternatives. Up and to the right is better. The red square shows the initial program, and each blue circle shows an alternative.The line shows the best available speed-accuracy tradeoffs.

Initial Program: 97.8% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \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}} \end{array} \]
(FPCore (cosTheta c)
 :precision binary32
 (/
  1.0
  (+
   (+ 1.0 c)
   (*
    (* (/ 1.0 (sqrt PI)) (/ (sqrt (- (- 1.0 cosTheta) cosTheta)) cosTheta))
    (exp (* (- cosTheta) cosTheta))))))
float code(float cosTheta, float c) {
	return 1.0f / ((1.0f + c) + (((1.0f / sqrtf(((float) M_PI))) * (sqrtf(((1.0f - cosTheta) - cosTheta)) / cosTheta)) * expf((-cosTheta * cosTheta))));
}
function code(cosTheta, c)
	return Float32(Float32(1.0) / Float32(Float32(Float32(1.0) + c) + Float32(Float32(Float32(Float32(1.0) / sqrt(Float32(pi))) * Float32(sqrt(Float32(Float32(Float32(1.0) - cosTheta) - cosTheta)) / cosTheta)) * exp(Float32(Float32(-cosTheta) * cosTheta)))))
end
function tmp = code(cosTheta, c)
	tmp = single(1.0) / ((single(1.0) + c) + (((single(1.0) / sqrt(single(pi))) * (sqrt(((single(1.0) - cosTheta) - cosTheta)) / cosTheta)) * exp((-cosTheta * cosTheta))));
end
\begin{array}{l}

\\
\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}}
\end{array}

Alternative 1: 98.5% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \frac{1}{\left(1 + c\right) + \frac{e^{-{cosTheta}^{2}}}{cosTheta \cdot \sqrt{\frac{\pi}{1 + cosTheta \cdot -2}}}} \end{array} \]
(FPCore (cosTheta c)
 :precision binary32
 (/
  1.0
  (+
   (+ 1.0 c)
   (/
    (exp (- (pow cosTheta 2.0)))
    (* cosTheta (sqrt (/ PI (+ 1.0 (* cosTheta -2.0)))))))))
float code(float cosTheta, float c) {
	return 1.0f / ((1.0f + c) + (expf(-powf(cosTheta, 2.0f)) / (cosTheta * sqrtf((((float) M_PI) / (1.0f + (cosTheta * -2.0f)))))));
}
function code(cosTheta, c)
	return Float32(Float32(1.0) / Float32(Float32(Float32(1.0) + c) + Float32(exp(Float32(-(cosTheta ^ Float32(2.0)))) / Float32(cosTheta * sqrt(Float32(Float32(pi) / Float32(Float32(1.0) + Float32(cosTheta * Float32(-2.0)))))))))
end
function tmp = code(cosTheta, c)
	tmp = single(1.0) / ((single(1.0) + c) + (exp(-(cosTheta ^ single(2.0))) / (cosTheta * sqrt((single(pi) / (single(1.0) + (cosTheta * single(-2.0))))))));
end
\begin{array}{l}

\\
\frac{1}{\left(1 + c\right) + \frac{e^{-{cosTheta}^{2}}}{cosTheta \cdot \sqrt{\frac{\pi}{1 + cosTheta \cdot -2}}}}
\end{array}
Derivation
  1. Initial program 97.9%

    \[\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}} \]
  2. Add Preprocessing
  3. Step-by-step derivation
    1. add-cube-cbrt97.9%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\color{blue}{\left(\left(\sqrt[3]{\frac{1}{\sqrt{\pi}}} \cdot \sqrt[3]{\frac{1}{\sqrt{\pi}}}\right) \cdot \sqrt[3]{\frac{1}{\sqrt{\pi}}}\right)} \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    2. cbrt-unprod97.9%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\color{blue}{\sqrt[3]{\frac{1}{\sqrt{\pi}} \cdot \frac{1}{\sqrt{\pi}}}} \cdot \sqrt[3]{\frac{1}{\sqrt{\pi}}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    3. inv-pow97.9%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\sqrt[3]{\color{blue}{{\left(\sqrt{\pi}\right)}^{-1}} \cdot \frac{1}{\sqrt{\pi}}} \cdot \sqrt[3]{\frac{1}{\sqrt{\pi}}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    4. inv-pow97.9%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\sqrt[3]{{\left(\sqrt{\pi}\right)}^{-1} \cdot \color{blue}{{\left(\sqrt{\pi}\right)}^{-1}}} \cdot \sqrt[3]{\frac{1}{\sqrt{\pi}}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    5. pow-prod-down98.2%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\sqrt[3]{\color{blue}{{\left(\sqrt{\pi} \cdot \sqrt{\pi}\right)}^{-1}}} \cdot \sqrt[3]{\frac{1}{\sqrt{\pi}}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    6. add-sqr-sqrt98.2%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\sqrt[3]{{\color{blue}{\pi}}^{-1}} \cdot \sqrt[3]{\frac{1}{\sqrt{\pi}}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    7. pow1/298.2%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\sqrt[3]{{\pi}^{-1}} \cdot \sqrt[3]{\frac{1}{\color{blue}{{\pi}^{0.5}}}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    8. pow-flip98.2%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\sqrt[3]{{\pi}^{-1}} \cdot \sqrt[3]{\color{blue}{{\pi}^{\left(-0.5\right)}}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    9. metadata-eval98.2%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\sqrt[3]{{\pi}^{-1}} \cdot \sqrt[3]{{\pi}^{\color{blue}{-0.5}}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
  4. Applied egg-rr98.2%

    \[\leadsto \frac{1}{\left(1 + c\right) + \left(\color{blue}{\left(\sqrt[3]{{\pi}^{-1}} \cdot \sqrt[3]{{\pi}^{-0.5}}\right)} \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
  5. Step-by-step derivation
    1. unpow-198.2%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\sqrt[3]{\color{blue}{\frac{1}{\pi}}} \cdot \sqrt[3]{{\pi}^{-0.5}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
  6. Simplified98.2%

    \[\leadsto \frac{1}{\left(1 + c\right) + \left(\color{blue}{\left(\sqrt[3]{\frac{1}{\pi}} \cdot \sqrt[3]{{\pi}^{-0.5}}\right)} \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
  7. Step-by-step derivation
    1. *-commutative98.2%

      \[\leadsto \frac{1}{\left(1 + c\right) + \color{blue}{\left(\frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta} \cdot \left(\sqrt[3]{\frac{1}{\pi}} \cdot \sqrt[3]{{\pi}^{-0.5}}\right)\right)} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    2. associate--r+98.3%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{\color{blue}{1 - \left(cosTheta + cosTheta\right)}}}{cosTheta} \cdot \left(\sqrt[3]{\frac{1}{\pi}} \cdot \sqrt[3]{{\pi}^{-0.5}}\right)\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    3. cbrt-unprod97.8%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta} \cdot \color{blue}{\sqrt[3]{\frac{1}{\pi} \cdot {\pi}^{-0.5}}}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    4. inv-pow97.8%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta} \cdot \sqrt[3]{\color{blue}{{\pi}^{-1}} \cdot {\pi}^{-0.5}}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    5. metadata-eval97.8%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta} \cdot \sqrt[3]{{\pi}^{\color{blue}{\left(-0.5 + -0.5\right)}} \cdot {\pi}^{-0.5}}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    6. pow-prod-up97.8%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta} \cdot \sqrt[3]{\color{blue}{\left({\pi}^{-0.5} \cdot {\pi}^{-0.5}\right)} \cdot {\pi}^{-0.5}}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    7. add-cbrt-cube97.8%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta} \cdot \color{blue}{{\pi}^{-0.5}}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    8. metadata-eval97.8%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta} \cdot {\pi}^{\color{blue}{\left(-0.5\right)}}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    9. pow-flip97.8%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta} \cdot \color{blue}{\frac{1}{{\pi}^{0.5}}}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    10. pow1/297.8%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta} \cdot \frac{1}{\color{blue}{\sqrt{\pi}}}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    11. div-inv98.5%

      \[\leadsto \frac{1}{\left(1 + c\right) + \color{blue}{\frac{\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta}}{\sqrt{\pi}}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    12. clear-num98.5%

      \[\leadsto \frac{1}{\left(1 + c\right) + \color{blue}{\frac{1}{\frac{\sqrt{\pi}}{\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta}}}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    13. associate--r+98.5%

      \[\leadsto \frac{1}{\left(1 + c\right) + \frac{1}{\frac{\sqrt{\pi}}{\frac{\sqrt{\color{blue}{\left(1 - cosTheta\right) - cosTheta}}}{cosTheta}}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
  8. Applied egg-rr98.5%

    \[\leadsto \frac{1}{\left(1 + c\right) + \color{blue}{\frac{1}{\frac{\sqrt{\pi}}{\frac{\sqrt{1 - 2 \cdot cosTheta}}{cosTheta}}}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
  9. Step-by-step derivation
    1. expm1-log1p-u98.5%

      \[\leadsto \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(\frac{1}{\left(1 + c\right) + \frac{1}{\frac{\sqrt{\pi}}{\frac{\sqrt{1 - 2 \cdot cosTheta}}{cosTheta}}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}}\right)\right)} \]
    2. expm1-udef22.7%

      \[\leadsto \color{blue}{e^{\mathsf{log1p}\left(\frac{1}{\left(1 + c\right) + \frac{1}{\frac{\sqrt{\pi}}{\frac{\sqrt{1 - 2 \cdot cosTheta}}{cosTheta}}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}}\right)} - 1} \]
  10. Applied egg-rr22.7%

    \[\leadsto \color{blue}{e^{\mathsf{log1p}\left(\frac{1}{\left(1 + c\right) + \frac{e^{-{cosTheta}^{2}}}{\sqrt{\frac{\pi}{1 + -2 \cdot cosTheta}} \cdot cosTheta}}\right)} - 1} \]
  11. Step-by-step derivation
    1. expm1-def98.5%

      \[\leadsto \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(\frac{1}{\left(1 + c\right) + \frac{e^{-{cosTheta}^{2}}}{\sqrt{\frac{\pi}{1 + -2 \cdot cosTheta}} \cdot cosTheta}}\right)\right)} \]
    2. expm1-log1p98.5%

      \[\leadsto \color{blue}{\frac{1}{\left(1 + c\right) + \frac{e^{-{cosTheta}^{2}}}{\sqrt{\frac{\pi}{1 + -2 \cdot cosTheta}} \cdot cosTheta}}} \]
    3. *-commutative98.5%

      \[\leadsto \frac{1}{\left(1 + c\right) + \frac{e^{-{cosTheta}^{2}}}{\color{blue}{cosTheta \cdot \sqrt{\frac{\pi}{1 + -2 \cdot cosTheta}}}}} \]
    4. *-commutative98.5%

      \[\leadsto \frac{1}{\left(1 + c\right) + \frac{e^{-{cosTheta}^{2}}}{cosTheta \cdot \sqrt{\frac{\pi}{1 + \color{blue}{cosTheta \cdot -2}}}}} \]
  12. Simplified98.5%

    \[\leadsto \color{blue}{\frac{1}{\left(1 + c\right) + \frac{e^{-{cosTheta}^{2}}}{cosTheta \cdot \sqrt{\frac{\pi}{1 + cosTheta \cdot -2}}}}} \]
  13. Final simplification98.5%

    \[\leadsto \frac{1}{\left(1 + c\right) + \frac{e^{-{cosTheta}^{2}}}{cosTheta \cdot \sqrt{\frac{\pi}{1 + cosTheta \cdot -2}}}} \]
  14. Add Preprocessing

Alternative 2: 98.5% accurate, 1.5× speedup?

\[\begin{array}{l} \\ \frac{1}{\left(1 + c\right) + \frac{1}{cosTheta \cdot \sqrt{\frac{\pi}{1 + cosTheta \cdot -2}}} \cdot e^{cosTheta \cdot \left(-cosTheta\right)}} \end{array} \]
(FPCore (cosTheta c)
 :precision binary32
 (/
  1.0
  (+
   (+ 1.0 c)
   (*
    (/ 1.0 (* cosTheta (sqrt (/ PI (+ 1.0 (* cosTheta -2.0))))))
    (exp (* cosTheta (- cosTheta)))))))
float code(float cosTheta, float c) {
	return 1.0f / ((1.0f + c) + ((1.0f / (cosTheta * sqrtf((((float) M_PI) / (1.0f + (cosTheta * -2.0f)))))) * expf((cosTheta * -cosTheta))));
}
function code(cosTheta, c)
	return Float32(Float32(1.0) / Float32(Float32(Float32(1.0) + c) + Float32(Float32(Float32(1.0) / Float32(cosTheta * sqrt(Float32(Float32(pi) / Float32(Float32(1.0) + Float32(cosTheta * Float32(-2.0))))))) * exp(Float32(cosTheta * Float32(-cosTheta))))))
end
function tmp = code(cosTheta, c)
	tmp = single(1.0) / ((single(1.0) + c) + ((single(1.0) / (cosTheta * sqrt((single(pi) / (single(1.0) + (cosTheta * single(-2.0))))))) * exp((cosTheta * -cosTheta))));
end
\begin{array}{l}

\\
\frac{1}{\left(1 + c\right) + \frac{1}{cosTheta \cdot \sqrt{\frac{\pi}{1 + cosTheta \cdot -2}}} \cdot e^{cosTheta \cdot \left(-cosTheta\right)}}
\end{array}
Derivation
  1. Initial program 97.9%

    \[\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}} \]
  2. Add Preprocessing
  3. Step-by-step derivation
    1. add-cube-cbrt97.9%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\color{blue}{\left(\left(\sqrt[3]{\frac{1}{\sqrt{\pi}}} \cdot \sqrt[3]{\frac{1}{\sqrt{\pi}}}\right) \cdot \sqrt[3]{\frac{1}{\sqrt{\pi}}}\right)} \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    2. cbrt-unprod97.9%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\color{blue}{\sqrt[3]{\frac{1}{\sqrt{\pi}} \cdot \frac{1}{\sqrt{\pi}}}} \cdot \sqrt[3]{\frac{1}{\sqrt{\pi}}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    3. inv-pow97.9%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\sqrt[3]{\color{blue}{{\left(\sqrt{\pi}\right)}^{-1}} \cdot \frac{1}{\sqrt{\pi}}} \cdot \sqrt[3]{\frac{1}{\sqrt{\pi}}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    4. inv-pow97.9%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\sqrt[3]{{\left(\sqrt{\pi}\right)}^{-1} \cdot \color{blue}{{\left(\sqrt{\pi}\right)}^{-1}}} \cdot \sqrt[3]{\frac{1}{\sqrt{\pi}}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    5. pow-prod-down98.2%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\sqrt[3]{\color{blue}{{\left(\sqrt{\pi} \cdot \sqrt{\pi}\right)}^{-1}}} \cdot \sqrt[3]{\frac{1}{\sqrt{\pi}}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    6. add-sqr-sqrt98.2%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\sqrt[3]{{\color{blue}{\pi}}^{-1}} \cdot \sqrt[3]{\frac{1}{\sqrt{\pi}}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    7. pow1/298.2%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\sqrt[3]{{\pi}^{-1}} \cdot \sqrt[3]{\frac{1}{\color{blue}{{\pi}^{0.5}}}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    8. pow-flip98.2%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\sqrt[3]{{\pi}^{-1}} \cdot \sqrt[3]{\color{blue}{{\pi}^{\left(-0.5\right)}}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    9. metadata-eval98.2%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\sqrt[3]{{\pi}^{-1}} \cdot \sqrt[3]{{\pi}^{\color{blue}{-0.5}}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
  4. Applied egg-rr98.2%

    \[\leadsto \frac{1}{\left(1 + c\right) + \left(\color{blue}{\left(\sqrt[3]{{\pi}^{-1}} \cdot \sqrt[3]{{\pi}^{-0.5}}\right)} \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
  5. Step-by-step derivation
    1. unpow-198.2%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\sqrt[3]{\color{blue}{\frac{1}{\pi}}} \cdot \sqrt[3]{{\pi}^{-0.5}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
  6. Simplified98.2%

    \[\leadsto \frac{1}{\left(1 + c\right) + \left(\color{blue}{\left(\sqrt[3]{\frac{1}{\pi}} \cdot \sqrt[3]{{\pi}^{-0.5}}\right)} \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
  7. Step-by-step derivation
    1. *-commutative98.2%

      \[\leadsto \frac{1}{\left(1 + c\right) + \color{blue}{\left(\frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta} \cdot \left(\sqrt[3]{\frac{1}{\pi}} \cdot \sqrt[3]{{\pi}^{-0.5}}\right)\right)} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    2. associate--r+98.3%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{\color{blue}{1 - \left(cosTheta + cosTheta\right)}}}{cosTheta} \cdot \left(\sqrt[3]{\frac{1}{\pi}} \cdot \sqrt[3]{{\pi}^{-0.5}}\right)\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    3. cbrt-unprod97.8%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta} \cdot \color{blue}{\sqrt[3]{\frac{1}{\pi} \cdot {\pi}^{-0.5}}}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    4. inv-pow97.8%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta} \cdot \sqrt[3]{\color{blue}{{\pi}^{-1}} \cdot {\pi}^{-0.5}}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    5. metadata-eval97.8%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta} \cdot \sqrt[3]{{\pi}^{\color{blue}{\left(-0.5 + -0.5\right)}} \cdot {\pi}^{-0.5}}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    6. pow-prod-up97.8%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta} \cdot \sqrt[3]{\color{blue}{\left({\pi}^{-0.5} \cdot {\pi}^{-0.5}\right)} \cdot {\pi}^{-0.5}}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    7. add-cbrt-cube97.8%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta} \cdot \color{blue}{{\pi}^{-0.5}}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    8. metadata-eval97.8%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta} \cdot {\pi}^{\color{blue}{\left(-0.5\right)}}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    9. pow-flip97.8%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta} \cdot \color{blue}{\frac{1}{{\pi}^{0.5}}}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    10. pow1/297.8%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta} \cdot \frac{1}{\color{blue}{\sqrt{\pi}}}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    11. div-inv98.5%

      \[\leadsto \frac{1}{\left(1 + c\right) + \color{blue}{\frac{\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta}}{\sqrt{\pi}}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    12. clear-num98.5%

      \[\leadsto \frac{1}{\left(1 + c\right) + \color{blue}{\frac{1}{\frac{\sqrt{\pi}}{\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta}}}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    13. associate--r+98.5%

      \[\leadsto \frac{1}{\left(1 + c\right) + \frac{1}{\frac{\sqrt{\pi}}{\frac{\sqrt{\color{blue}{\left(1 - cosTheta\right) - cosTheta}}}{cosTheta}}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
  8. Applied egg-rr98.5%

    \[\leadsto \frac{1}{\left(1 + c\right) + \color{blue}{\frac{1}{\frac{\sqrt{\pi}}{\frac{\sqrt{1 - 2 \cdot cosTheta}}{cosTheta}}}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
  9. Step-by-step derivation
    1. associate-/r/98.5%

      \[\leadsto \frac{1}{\left(1 + c\right) + \frac{1}{\color{blue}{\frac{\sqrt{\pi}}{\sqrt{1 - 2 \cdot cosTheta}} \cdot cosTheta}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    2. sqrt-undiv98.5%

      \[\leadsto \frac{1}{\left(1 + c\right) + \frac{1}{\color{blue}{\sqrt{\frac{\pi}{1 - 2 \cdot cosTheta}}} \cdot cosTheta} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    3. cancel-sign-sub-inv98.5%

      \[\leadsto \frac{1}{\left(1 + c\right) + \frac{1}{\sqrt{\frac{\pi}{\color{blue}{1 + \left(-2\right) \cdot cosTheta}}} \cdot cosTheta} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    4. metadata-eval98.5%

      \[\leadsto \frac{1}{\left(1 + c\right) + \frac{1}{\sqrt{\frac{\pi}{1 + \color{blue}{-2} \cdot cosTheta}} \cdot cosTheta} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
  10. Applied egg-rr98.5%

    \[\leadsto \frac{1}{\left(1 + c\right) + \frac{1}{\color{blue}{\sqrt{\frac{\pi}{1 + -2 \cdot cosTheta}} \cdot cosTheta}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
  11. Final simplification98.5%

    \[\leadsto \frac{1}{\left(1 + c\right) + \frac{1}{cosTheta \cdot \sqrt{\frac{\pi}{1 + cosTheta \cdot -2}}} \cdot e^{cosTheta \cdot \left(-cosTheta\right)}} \]
  12. Add Preprocessing

Alternative 3: 96.4% accurate, 1.5× speedup?

\[\begin{array}{l} \\ \begin{array}{l} t_0 := \sqrt{\frac{1}{\pi}}\\ \frac{1}{\left(1 + c\right) + \left(\frac{t_0}{cosTheta} + t_0 \cdot \left(cosTheta \cdot -1.5 + -1\right)\right)} \end{array} \end{array} \]
(FPCore (cosTheta c)
 :precision binary32
 (let* ((t_0 (sqrt (/ 1.0 PI))))
   (/
    1.0
    (+ (+ 1.0 c) (+ (/ t_0 cosTheta) (* t_0 (+ (* cosTheta -1.5) -1.0)))))))
float code(float cosTheta, float c) {
	float t_0 = sqrtf((1.0f / ((float) M_PI)));
	return 1.0f / ((1.0f + c) + ((t_0 / cosTheta) + (t_0 * ((cosTheta * -1.5f) + -1.0f))));
}
function code(cosTheta, c)
	t_0 = sqrt(Float32(Float32(1.0) / Float32(pi)))
	return Float32(Float32(1.0) / Float32(Float32(Float32(1.0) + c) + Float32(Float32(t_0 / cosTheta) + Float32(t_0 * Float32(Float32(cosTheta * Float32(-1.5)) + Float32(-1.0))))))
end
function tmp = code(cosTheta, c)
	t_0 = sqrt((single(1.0) / single(pi)));
	tmp = single(1.0) / ((single(1.0) + c) + ((t_0 / cosTheta) + (t_0 * ((cosTheta * single(-1.5)) + single(-1.0)))));
end
\begin{array}{l}

\\
\begin{array}{l}
t_0 := \sqrt{\frac{1}{\pi}}\\
\frac{1}{\left(1 + c\right) + \left(\frac{t_0}{cosTheta} + t_0 \cdot \left(cosTheta \cdot -1.5 + -1\right)\right)}
\end{array}
\end{array}
Derivation
  1. Initial program 97.9%

    \[\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}} \]
  2. Add Preprocessing
  3. Step-by-step derivation
    1. add-cube-cbrt97.9%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\color{blue}{\left(\left(\sqrt[3]{\frac{1}{\sqrt{\pi}}} \cdot \sqrt[3]{\frac{1}{\sqrt{\pi}}}\right) \cdot \sqrt[3]{\frac{1}{\sqrt{\pi}}}\right)} \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    2. cbrt-unprod97.9%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\color{blue}{\sqrt[3]{\frac{1}{\sqrt{\pi}} \cdot \frac{1}{\sqrt{\pi}}}} \cdot \sqrt[3]{\frac{1}{\sqrt{\pi}}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    3. inv-pow97.9%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\sqrt[3]{\color{blue}{{\left(\sqrt{\pi}\right)}^{-1}} \cdot \frac{1}{\sqrt{\pi}}} \cdot \sqrt[3]{\frac{1}{\sqrt{\pi}}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    4. inv-pow97.9%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\sqrt[3]{{\left(\sqrt{\pi}\right)}^{-1} \cdot \color{blue}{{\left(\sqrt{\pi}\right)}^{-1}}} \cdot \sqrt[3]{\frac{1}{\sqrt{\pi}}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    5. pow-prod-down98.2%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\sqrt[3]{\color{blue}{{\left(\sqrt{\pi} \cdot \sqrt{\pi}\right)}^{-1}}} \cdot \sqrt[3]{\frac{1}{\sqrt{\pi}}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    6. add-sqr-sqrt98.2%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\sqrt[3]{{\color{blue}{\pi}}^{-1}} \cdot \sqrt[3]{\frac{1}{\sqrt{\pi}}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    7. pow1/298.2%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\sqrt[3]{{\pi}^{-1}} \cdot \sqrt[3]{\frac{1}{\color{blue}{{\pi}^{0.5}}}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    8. pow-flip98.2%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\sqrt[3]{{\pi}^{-1}} \cdot \sqrt[3]{\color{blue}{{\pi}^{\left(-0.5\right)}}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    9. metadata-eval98.2%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\sqrt[3]{{\pi}^{-1}} \cdot \sqrt[3]{{\pi}^{\color{blue}{-0.5}}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
  4. Applied egg-rr98.2%

    \[\leadsto \frac{1}{\left(1 + c\right) + \left(\color{blue}{\left(\sqrt[3]{{\pi}^{-1}} \cdot \sqrt[3]{{\pi}^{-0.5}}\right)} \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
  5. Step-by-step derivation
    1. unpow-198.2%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\sqrt[3]{\color{blue}{\frac{1}{\pi}}} \cdot \sqrt[3]{{\pi}^{-0.5}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
  6. Simplified98.2%

    \[\leadsto \frac{1}{\left(1 + c\right) + \left(\color{blue}{\left(\sqrt[3]{\frac{1}{\pi}} \cdot \sqrt[3]{{\pi}^{-0.5}}\right)} \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
  7. Step-by-step derivation
    1. *-commutative98.2%

      \[\leadsto \frac{1}{\left(1 + c\right) + \color{blue}{\left(\frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta} \cdot \left(\sqrt[3]{\frac{1}{\pi}} \cdot \sqrt[3]{{\pi}^{-0.5}}\right)\right)} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    2. associate--r+98.3%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{\color{blue}{1 - \left(cosTheta + cosTheta\right)}}}{cosTheta} \cdot \left(\sqrt[3]{\frac{1}{\pi}} \cdot \sqrt[3]{{\pi}^{-0.5}}\right)\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    3. cbrt-unprod97.8%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta} \cdot \color{blue}{\sqrt[3]{\frac{1}{\pi} \cdot {\pi}^{-0.5}}}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    4. inv-pow97.8%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta} \cdot \sqrt[3]{\color{blue}{{\pi}^{-1}} \cdot {\pi}^{-0.5}}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    5. metadata-eval97.8%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta} \cdot \sqrt[3]{{\pi}^{\color{blue}{\left(-0.5 + -0.5\right)}} \cdot {\pi}^{-0.5}}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    6. pow-prod-up97.8%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta} \cdot \sqrt[3]{\color{blue}{\left({\pi}^{-0.5} \cdot {\pi}^{-0.5}\right)} \cdot {\pi}^{-0.5}}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    7. add-cbrt-cube97.8%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta} \cdot \color{blue}{{\pi}^{-0.5}}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    8. metadata-eval97.8%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta} \cdot {\pi}^{\color{blue}{\left(-0.5\right)}}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    9. pow-flip97.8%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta} \cdot \color{blue}{\frac{1}{{\pi}^{0.5}}}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    10. pow1/297.8%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta} \cdot \frac{1}{\color{blue}{\sqrt{\pi}}}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    11. div-inv98.5%

      \[\leadsto \frac{1}{\left(1 + c\right) + \color{blue}{\frac{\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta}}{\sqrt{\pi}}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    12. clear-num98.5%

      \[\leadsto \frac{1}{\left(1 + c\right) + \color{blue}{\frac{1}{\frac{\sqrt{\pi}}{\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta}}}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    13. associate--r+98.5%

      \[\leadsto \frac{1}{\left(1 + c\right) + \frac{1}{\frac{\sqrt{\pi}}{\frac{\sqrt{\color{blue}{\left(1 - cosTheta\right) - cosTheta}}}{cosTheta}}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
  8. Applied egg-rr98.5%

    \[\leadsto \frac{1}{\left(1 + c\right) + \color{blue}{\frac{1}{\frac{\sqrt{\pi}}{\frac{\sqrt{1 - 2 \cdot cosTheta}}{cosTheta}}}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
  9. Step-by-step derivation
    1. expm1-log1p-u98.5%

      \[\leadsto \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(\frac{1}{\left(1 + c\right) + \frac{1}{\frac{\sqrt{\pi}}{\frac{\sqrt{1 - 2 \cdot cosTheta}}{cosTheta}}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}}\right)\right)} \]
    2. expm1-udef22.7%

      \[\leadsto \color{blue}{e^{\mathsf{log1p}\left(\frac{1}{\left(1 + c\right) + \frac{1}{\frac{\sqrt{\pi}}{\frac{\sqrt{1 - 2 \cdot cosTheta}}{cosTheta}}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}}\right)} - 1} \]
  10. Applied egg-rr22.7%

    \[\leadsto \color{blue}{e^{\mathsf{log1p}\left(\frac{1}{\left(1 + c\right) + \frac{e^{-{cosTheta}^{2}}}{\sqrt{\frac{\pi}{1 + -2 \cdot cosTheta}} \cdot cosTheta}}\right)} - 1} \]
  11. Step-by-step derivation
    1. expm1-def98.5%

      \[\leadsto \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(\frac{1}{\left(1 + c\right) + \frac{e^{-{cosTheta}^{2}}}{\sqrt{\frac{\pi}{1 + -2 \cdot cosTheta}} \cdot cosTheta}}\right)\right)} \]
    2. expm1-log1p98.5%

      \[\leadsto \color{blue}{\frac{1}{\left(1 + c\right) + \frac{e^{-{cosTheta}^{2}}}{\sqrt{\frac{\pi}{1 + -2 \cdot cosTheta}} \cdot cosTheta}}} \]
    3. *-commutative98.5%

      \[\leadsto \frac{1}{\left(1 + c\right) + \frac{e^{-{cosTheta}^{2}}}{\color{blue}{cosTheta \cdot \sqrt{\frac{\pi}{1 + -2 \cdot cosTheta}}}}} \]
    4. *-commutative98.5%

      \[\leadsto \frac{1}{\left(1 + c\right) + \frac{e^{-{cosTheta}^{2}}}{cosTheta \cdot \sqrt{\frac{\pi}{1 + \color{blue}{cosTheta \cdot -2}}}}} \]
  12. Simplified98.5%

    \[\leadsto \color{blue}{\frac{1}{\left(1 + c\right) + \frac{e^{-{cosTheta}^{2}}}{cosTheta \cdot \sqrt{\frac{\pi}{1 + cosTheta \cdot -2}}}}} \]
  13. Taylor expanded in cosTheta around 0 96.2%

    \[\leadsto \frac{1}{\left(1 + c\right) + \color{blue}{\left(-1 \cdot \sqrt{\frac{1}{\pi}} + \left(cosTheta \cdot \left(-1 \cdot \sqrt{\frac{1}{\pi}} + -0.5 \cdot \sqrt{\frac{1}{\pi}}\right) + \frac{1}{cosTheta} \cdot \sqrt{\frac{1}{\pi}}\right)\right)}} \]
  14. Step-by-step derivation
    1. +-commutative96.2%

      \[\leadsto \frac{1}{\left(1 + c\right) + \color{blue}{\left(\left(cosTheta \cdot \left(-1 \cdot \sqrt{\frac{1}{\pi}} + -0.5 \cdot \sqrt{\frac{1}{\pi}}\right) + \frac{1}{cosTheta} \cdot \sqrt{\frac{1}{\pi}}\right) + -1 \cdot \sqrt{\frac{1}{\pi}}\right)}} \]
    2. +-commutative96.2%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\color{blue}{\left(\frac{1}{cosTheta} \cdot \sqrt{\frac{1}{\pi}} + cosTheta \cdot \left(-1 \cdot \sqrt{\frac{1}{\pi}} + -0.5 \cdot \sqrt{\frac{1}{\pi}}\right)\right)} + -1 \cdot \sqrt{\frac{1}{\pi}}\right)} \]
    3. associate-+l+96.2%

      \[\leadsto \frac{1}{\left(1 + c\right) + \color{blue}{\left(\frac{1}{cosTheta} \cdot \sqrt{\frac{1}{\pi}} + \left(cosTheta \cdot \left(-1 \cdot \sqrt{\frac{1}{\pi}} + -0.5 \cdot \sqrt{\frac{1}{\pi}}\right) + -1 \cdot \sqrt{\frac{1}{\pi}}\right)\right)}} \]
    4. associate-*l/96.2%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\color{blue}{\frac{1 \cdot \sqrt{\frac{1}{\pi}}}{cosTheta}} + \left(cosTheta \cdot \left(-1 \cdot \sqrt{\frac{1}{\pi}} + -0.5 \cdot \sqrt{\frac{1}{\pi}}\right) + -1 \cdot \sqrt{\frac{1}{\pi}}\right)\right)} \]
    5. *-lft-identity96.2%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\color{blue}{\sqrt{\frac{1}{\pi}}}}{cosTheta} + \left(cosTheta \cdot \left(-1 \cdot \sqrt{\frac{1}{\pi}} + -0.5 \cdot \sqrt{\frac{1}{\pi}}\right) + -1 \cdot \sqrt{\frac{1}{\pi}}\right)\right)} \]
  15. Simplified96.2%

    \[\leadsto \frac{1}{\left(1 + c\right) + \color{blue}{\left(\frac{\sqrt{\frac{1}{\pi}}}{cosTheta} + \sqrt{\frac{1}{\pi}} \cdot \left(-1.5 \cdot cosTheta + -1\right)\right)}} \]
  16. Final simplification96.2%

    \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{\frac{1}{\pi}}}{cosTheta} + \sqrt{\frac{1}{\pi}} \cdot \left(cosTheta \cdot -1.5 + -1\right)\right)} \]
  17. Add Preprocessing

Alternative 4: 95.9% accurate, 1.5× speedup?

\[\begin{array}{l} \\ \frac{1}{\left(1 + c\right) + e^{cosTheta \cdot \left(-cosTheta\right)} \cdot \frac{1}{\frac{\sqrt{\pi}}{-1 + \frac{1}{cosTheta}}}} \end{array} \]
(FPCore (cosTheta c)
 :precision binary32
 (/
  1.0
  (+
   (+ 1.0 c)
   (*
    (exp (* cosTheta (- cosTheta)))
    (/ 1.0 (/ (sqrt PI) (+ -1.0 (/ 1.0 cosTheta))))))))
float code(float cosTheta, float c) {
	return 1.0f / ((1.0f + c) + (expf((cosTheta * -cosTheta)) * (1.0f / (sqrtf(((float) M_PI)) / (-1.0f + (1.0f / cosTheta))))));
}
function code(cosTheta, c)
	return Float32(Float32(1.0) / Float32(Float32(Float32(1.0) + c) + Float32(exp(Float32(cosTheta * Float32(-cosTheta))) * Float32(Float32(1.0) / Float32(sqrt(Float32(pi)) / Float32(Float32(-1.0) + Float32(Float32(1.0) / cosTheta)))))))
end
function tmp = code(cosTheta, c)
	tmp = single(1.0) / ((single(1.0) + c) + (exp((cosTheta * -cosTheta)) * (single(1.0) / (sqrt(single(pi)) / (single(-1.0) + (single(1.0) / cosTheta))))));
end
\begin{array}{l}

\\
\frac{1}{\left(1 + c\right) + e^{cosTheta \cdot \left(-cosTheta\right)} \cdot \frac{1}{\frac{\sqrt{\pi}}{-1 + \frac{1}{cosTheta}}}}
\end{array}
Derivation
  1. Initial program 97.9%

    \[\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}} \]
  2. Add Preprocessing
  3. Step-by-step derivation
    1. add-cube-cbrt97.9%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\color{blue}{\left(\left(\sqrt[3]{\frac{1}{\sqrt{\pi}}} \cdot \sqrt[3]{\frac{1}{\sqrt{\pi}}}\right) \cdot \sqrt[3]{\frac{1}{\sqrt{\pi}}}\right)} \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    2. cbrt-unprod97.9%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\color{blue}{\sqrt[3]{\frac{1}{\sqrt{\pi}} \cdot \frac{1}{\sqrt{\pi}}}} \cdot \sqrt[3]{\frac{1}{\sqrt{\pi}}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    3. inv-pow97.9%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\sqrt[3]{\color{blue}{{\left(\sqrt{\pi}\right)}^{-1}} \cdot \frac{1}{\sqrt{\pi}}} \cdot \sqrt[3]{\frac{1}{\sqrt{\pi}}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    4. inv-pow97.9%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\sqrt[3]{{\left(\sqrt{\pi}\right)}^{-1} \cdot \color{blue}{{\left(\sqrt{\pi}\right)}^{-1}}} \cdot \sqrt[3]{\frac{1}{\sqrt{\pi}}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    5. pow-prod-down98.2%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\sqrt[3]{\color{blue}{{\left(\sqrt{\pi} \cdot \sqrt{\pi}\right)}^{-1}}} \cdot \sqrt[3]{\frac{1}{\sqrt{\pi}}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    6. add-sqr-sqrt98.2%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\sqrt[3]{{\color{blue}{\pi}}^{-1}} \cdot \sqrt[3]{\frac{1}{\sqrt{\pi}}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    7. pow1/298.2%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\sqrt[3]{{\pi}^{-1}} \cdot \sqrt[3]{\frac{1}{\color{blue}{{\pi}^{0.5}}}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    8. pow-flip98.2%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\sqrt[3]{{\pi}^{-1}} \cdot \sqrt[3]{\color{blue}{{\pi}^{\left(-0.5\right)}}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    9. metadata-eval98.2%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\sqrt[3]{{\pi}^{-1}} \cdot \sqrt[3]{{\pi}^{\color{blue}{-0.5}}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
  4. Applied egg-rr98.2%

    \[\leadsto \frac{1}{\left(1 + c\right) + \left(\color{blue}{\left(\sqrt[3]{{\pi}^{-1}} \cdot \sqrt[3]{{\pi}^{-0.5}}\right)} \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
  5. Step-by-step derivation
    1. unpow-198.2%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\left(\sqrt[3]{\color{blue}{\frac{1}{\pi}}} \cdot \sqrt[3]{{\pi}^{-0.5}}\right) \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
  6. Simplified98.2%

    \[\leadsto \frac{1}{\left(1 + c\right) + \left(\color{blue}{\left(\sqrt[3]{\frac{1}{\pi}} \cdot \sqrt[3]{{\pi}^{-0.5}}\right)} \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
  7. Step-by-step derivation
    1. *-commutative98.2%

      \[\leadsto \frac{1}{\left(1 + c\right) + \color{blue}{\left(\frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta} \cdot \left(\sqrt[3]{\frac{1}{\pi}} \cdot \sqrt[3]{{\pi}^{-0.5}}\right)\right)} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    2. associate--r+98.3%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{\color{blue}{1 - \left(cosTheta + cosTheta\right)}}}{cosTheta} \cdot \left(\sqrt[3]{\frac{1}{\pi}} \cdot \sqrt[3]{{\pi}^{-0.5}}\right)\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    3. cbrt-unprod97.8%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta} \cdot \color{blue}{\sqrt[3]{\frac{1}{\pi} \cdot {\pi}^{-0.5}}}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    4. inv-pow97.8%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta} \cdot \sqrt[3]{\color{blue}{{\pi}^{-1}} \cdot {\pi}^{-0.5}}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    5. metadata-eval97.8%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta} \cdot \sqrt[3]{{\pi}^{\color{blue}{\left(-0.5 + -0.5\right)}} \cdot {\pi}^{-0.5}}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    6. pow-prod-up97.8%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta} \cdot \sqrt[3]{\color{blue}{\left({\pi}^{-0.5} \cdot {\pi}^{-0.5}\right)} \cdot {\pi}^{-0.5}}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    7. add-cbrt-cube97.8%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta} \cdot \color{blue}{{\pi}^{-0.5}}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    8. metadata-eval97.8%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta} \cdot {\pi}^{\color{blue}{\left(-0.5\right)}}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    9. pow-flip97.8%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta} \cdot \color{blue}{\frac{1}{{\pi}^{0.5}}}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    10. pow1/297.8%

      \[\leadsto \frac{1}{\left(1 + c\right) + \left(\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta} \cdot \frac{1}{\color{blue}{\sqrt{\pi}}}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    11. div-inv98.5%

      \[\leadsto \frac{1}{\left(1 + c\right) + \color{blue}{\frac{\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta}}{\sqrt{\pi}}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    12. clear-num98.5%

      \[\leadsto \frac{1}{\left(1 + c\right) + \color{blue}{\frac{1}{\frac{\sqrt{\pi}}{\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta}}}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    13. associate--r+98.5%

      \[\leadsto \frac{1}{\left(1 + c\right) + \frac{1}{\frac{\sqrt{\pi}}{\frac{\sqrt{\color{blue}{\left(1 - cosTheta\right) - cosTheta}}}{cosTheta}}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
  8. Applied egg-rr98.5%

    \[\leadsto \frac{1}{\left(1 + c\right) + \color{blue}{\frac{1}{\frac{\sqrt{\pi}}{\frac{\sqrt{1 - 2 \cdot cosTheta}}{cosTheta}}}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
  9. Taylor expanded in cosTheta around 0 95.9%

    \[\leadsto \frac{1}{\left(1 + c\right) + \frac{1}{\frac{\sqrt{\pi}}{\color{blue}{\frac{1}{cosTheta} - 1}}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
  10. Final simplification95.9%

    \[\leadsto \frac{1}{\left(1 + c\right) + e^{cosTheta \cdot \left(-cosTheta\right)} \cdot \frac{1}{\frac{\sqrt{\pi}}{-1 + \frac{1}{cosTheta}}}} \]
  11. Add Preprocessing

Alternative 5: 95.9% accurate, 1.5× speedup?

\[\begin{array}{l} \\ \frac{1}{\left(1 + c\right) + e^{cosTheta \cdot \left(-cosTheta\right)} \cdot \frac{\frac{1 - cosTheta}{cosTheta}}{\sqrt{\pi}}} \end{array} \]
(FPCore (cosTheta c)
 :precision binary32
 (/
  1.0
  (+
   (+ 1.0 c)
   (*
    (exp (* cosTheta (- cosTheta)))
    (/ (/ (- 1.0 cosTheta) cosTheta) (sqrt PI))))))
float code(float cosTheta, float c) {
	return 1.0f / ((1.0f + c) + (expf((cosTheta * -cosTheta)) * (((1.0f - cosTheta) / cosTheta) / sqrtf(((float) M_PI)))));
}
function code(cosTheta, c)
	return Float32(Float32(1.0) / Float32(Float32(Float32(1.0) + c) + Float32(exp(Float32(cosTheta * Float32(-cosTheta))) * Float32(Float32(Float32(Float32(1.0) - cosTheta) / cosTheta) / sqrt(Float32(pi))))))
end
function tmp = code(cosTheta, c)
	tmp = single(1.0) / ((single(1.0) + c) + (exp((cosTheta * -cosTheta)) * (((single(1.0) - cosTheta) / cosTheta) / sqrt(single(pi)))));
end
\begin{array}{l}

\\
\frac{1}{\left(1 + c\right) + e^{cosTheta \cdot \left(-cosTheta\right)} \cdot \frac{\frac{1 - cosTheta}{cosTheta}}{\sqrt{\pi}}}
\end{array}
Derivation
  1. Initial program 97.9%

    \[\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}} \]
  2. Add Preprocessing
  3. Step-by-step derivation
    1. associate-*l/98.5%

      \[\leadsto \frac{1}{\left(1 + c\right) + \color{blue}{\frac{1 \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}}{\sqrt{\pi}}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    2. *-un-lft-identity98.5%

      \[\leadsto \frac{1}{\left(1 + c\right) + \frac{\color{blue}{\frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}}}{\sqrt{\pi}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    3. associate--l-98.5%

      \[\leadsto \frac{1}{\left(1 + c\right) + \frac{\frac{\sqrt{\color{blue}{1 - \left(cosTheta + cosTheta\right)}}}{cosTheta}}{\sqrt{\pi}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
  4. Applied egg-rr98.5%

    \[\leadsto \frac{1}{\left(1 + c\right) + \color{blue}{\frac{\frac{\sqrt{1 - \left(cosTheta + cosTheta\right)}}{cosTheta}}{\sqrt{\pi}}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
  5. Taylor expanded in cosTheta around 0 95.8%

    \[\leadsto \frac{1}{\left(1 + c\right) + \frac{\frac{\color{blue}{1 + -1 \cdot cosTheta}}{cosTheta}}{\sqrt{\pi}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
  6. Step-by-step derivation
    1. neg-mul-195.8%

      \[\leadsto \frac{1}{\left(1 + c\right) + \frac{\frac{1 + \color{blue}{\left(-cosTheta\right)}}{cosTheta}}{\sqrt{\pi}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
    2. sub-neg95.8%

      \[\leadsto \frac{1}{\left(1 + c\right) + \frac{\frac{\color{blue}{1 - cosTheta}}{cosTheta}}{\sqrt{\pi}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
  7. Simplified95.8%

    \[\leadsto \frac{1}{\left(1 + c\right) + \frac{\frac{\color{blue}{1 - cosTheta}}{cosTheta}}{\sqrt{\pi}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}} \]
  8. Final simplification95.8%

    \[\leadsto \frac{1}{\left(1 + c\right) + e^{cosTheta \cdot \left(-cosTheta\right)} \cdot \frac{\frac{1 - cosTheta}{cosTheta}}{\sqrt{\pi}}} \]
  9. Add Preprocessing

Alternative 6: 95.2% accurate, 1.5× speedup?

\[\begin{array}{l} \\ \frac{1}{1 + \mathsf{fma}\left(-1 + \left(\frac{1}{cosTheta} + cosTheta \cdot -0.5\right), \sqrt{\frac{1}{\pi}}, c\right)} \end{array} \]
(FPCore (cosTheta c)
 :precision binary32
 (/
  1.0
  (+
   1.0
   (fma (+ -1.0 (+ (/ 1.0 cosTheta) (* cosTheta -0.5))) (sqrt (/ 1.0 PI)) c))))
float code(float cosTheta, float c) {
	return 1.0f / (1.0f + fmaf((-1.0f + ((1.0f / cosTheta) + (cosTheta * -0.5f))), sqrtf((1.0f / ((float) M_PI))), c));
}
function code(cosTheta, c)
	return Float32(Float32(1.0) / Float32(Float32(1.0) + fma(Float32(Float32(-1.0) + Float32(Float32(Float32(1.0) / cosTheta) + Float32(cosTheta * Float32(-0.5)))), sqrt(Float32(Float32(1.0) / Float32(pi))), c)))
end
\begin{array}{l}

\\
\frac{1}{1 + \mathsf{fma}\left(-1 + \left(\frac{1}{cosTheta} + cosTheta \cdot -0.5\right), \sqrt{\frac{1}{\pi}}, c\right)}
\end{array}
Derivation
  1. Initial program 97.9%

    \[\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}} \]
  2. Step-by-step derivation
    1. associate-+l+97.9%

      \[\leadsto \frac{1}{\color{blue}{1 + \left(c + \left(\frac{1}{\sqrt{\pi}} \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}\right)}} \]
    2. +-commutative97.9%

      \[\leadsto \frac{1}{1 + \color{blue}{\left(\left(\frac{1}{\sqrt{\pi}} \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta} + c\right)}} \]
    3. *-commutative97.9%

      \[\leadsto \frac{1}{1 + \left(\color{blue}{\left(\frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta} \cdot \frac{1}{\sqrt{\pi}}\right)} \cdot e^{\left(-cosTheta\right) \cdot cosTheta} + c\right)} \]
    4. associate-*l*97.8%

      \[\leadsto \frac{1}{1 + \left(\color{blue}{\frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta} \cdot \left(\frac{1}{\sqrt{\pi}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}\right)} + c\right)} \]
    5. fma-def97.8%

      \[\leadsto \frac{1}{1 + \color{blue}{\mathsf{fma}\left(\frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}, \frac{1}{\sqrt{\pi}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}, c\right)}} \]
  3. Simplified97.9%

    \[\leadsto \color{blue}{\frac{1}{1 + \mathsf{fma}\left(\frac{\sqrt{\mathsf{fma}\left(cosTheta, -2, 1\right)}}{cosTheta}, \frac{e^{-cosTheta \cdot cosTheta}}{\sqrt{\pi}}, c\right)}} \]
  4. Add Preprocessing
  5. Taylor expanded in cosTheta around 0 96.2%

    \[\leadsto \frac{1}{1 + \mathsf{fma}\left(\color{blue}{\left(-0.5 \cdot cosTheta + \frac{1}{cosTheta}\right) - 1}, \frac{e^{-cosTheta \cdot cosTheta}}{\sqrt{\pi}}, c\right)} \]
  6. Taylor expanded in cosTheta around 0 95.2%

    \[\leadsto \frac{1}{1 + \mathsf{fma}\left(\left(-0.5 \cdot cosTheta + \frac{1}{cosTheta}\right) - 1, \color{blue}{\sqrt{\frac{1}{\pi}}}, c\right)} \]
  7. Final simplification95.2%

    \[\leadsto \frac{1}{1 + \mathsf{fma}\left(-1 + \left(\frac{1}{cosTheta} + cosTheta \cdot -0.5\right), \sqrt{\frac{1}{\pi}}, c\right)} \]
  8. Add Preprocessing

Alternative 7: 95.6% accurate, 1.5× speedup?

\[\begin{array}{l} \\ \frac{1}{1 + \left(c + \left(\frac{-1}{cosTheta \cdot \left(-\sqrt{\pi}\right)} - \sqrt{\frac{1}{\pi}}\right)\right)} \end{array} \]
(FPCore (cosTheta c)
 :precision binary32
 (/
  1.0
  (+ 1.0 (+ c (- (/ -1.0 (* cosTheta (- (sqrt PI)))) (sqrt (/ 1.0 PI)))))))
float code(float cosTheta, float c) {
	return 1.0f / (1.0f + (c + ((-1.0f / (cosTheta * -sqrtf(((float) M_PI)))) - sqrtf((1.0f / ((float) M_PI))))));
}
function code(cosTheta, c)
	return Float32(Float32(1.0) / Float32(Float32(1.0) + Float32(c + Float32(Float32(Float32(-1.0) / Float32(cosTheta * Float32(-sqrt(Float32(pi))))) - sqrt(Float32(Float32(1.0) / Float32(pi)))))))
end
function tmp = code(cosTheta, c)
	tmp = single(1.0) / (single(1.0) + (c + ((single(-1.0) / (cosTheta * -sqrt(single(pi)))) - sqrt((single(1.0) / single(pi))))));
end
\begin{array}{l}

\\
\frac{1}{1 + \left(c + \left(\frac{-1}{cosTheta \cdot \left(-\sqrt{\pi}\right)} - \sqrt{\frac{1}{\pi}}\right)\right)}
\end{array}
Derivation
  1. Initial program 97.9%

    \[\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}} \]
  2. Step-by-step derivation
    1. associate-+l+97.9%

      \[\leadsto \frac{1}{\color{blue}{1 + \left(c + \left(\frac{1}{\sqrt{\pi}} \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}\right)}} \]
    2. +-commutative97.9%

      \[\leadsto \frac{1}{1 + \color{blue}{\left(\left(\frac{1}{\sqrt{\pi}} \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta} + c\right)}} \]
    3. *-commutative97.9%

      \[\leadsto \frac{1}{1 + \left(\color{blue}{\left(\frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta} \cdot \frac{1}{\sqrt{\pi}}\right)} \cdot e^{\left(-cosTheta\right) \cdot cosTheta} + c\right)} \]
    4. associate-*l*97.8%

      \[\leadsto \frac{1}{1 + \left(\color{blue}{\frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta} \cdot \left(\frac{1}{\sqrt{\pi}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}\right)} + c\right)} \]
    5. fma-def97.8%

      \[\leadsto \frac{1}{1 + \color{blue}{\mathsf{fma}\left(\frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}, \frac{1}{\sqrt{\pi}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}, c\right)}} \]
  3. Simplified97.9%

    \[\leadsto \color{blue}{\frac{1}{1 + \mathsf{fma}\left(\frac{\sqrt{\mathsf{fma}\left(cosTheta, -2, 1\right)}}{cosTheta}, \frac{e^{-cosTheta \cdot cosTheta}}{\sqrt{\pi}}, c\right)}} \]
  4. Add Preprocessing
  5. Taylor expanded in cosTheta around 0 95.0%

    \[\leadsto \frac{1}{1 + \color{blue}{\left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + \frac{1}{cosTheta} \cdot \sqrt{\frac{1}{\pi}}\right)\right)}} \]
  6. Step-by-step derivation
    1. pow1/295.0%

      \[\leadsto \frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + \frac{1}{cosTheta} \cdot \color{blue}{{\left(\frac{1}{\pi}\right)}^{0.5}}\right)\right)} \]
    2. inv-pow95.0%

      \[\leadsto \frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + \frac{1}{cosTheta} \cdot {\color{blue}{\left({\pi}^{-1}\right)}}^{0.5}\right)\right)} \]
    3. pow-pow95.0%

      \[\leadsto \frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + \frac{1}{cosTheta} \cdot \color{blue}{{\pi}^{\left(-1 \cdot 0.5\right)}}\right)\right)} \]
    4. metadata-eval95.0%

      \[\leadsto \frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + \frac{1}{cosTheta} \cdot {\pi}^{\color{blue}{-0.5}}\right)\right)} \]
    5. add-cbrt-cube95.0%

      \[\leadsto \frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + \frac{1}{cosTheta} \cdot \color{blue}{\sqrt[3]{\left({\pi}^{-0.5} \cdot {\pi}^{-0.5}\right) \cdot {\pi}^{-0.5}}}\right)\right)} \]
    6. pow-prod-up95.0%

      \[\leadsto \frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + \frac{1}{cosTheta} \cdot \sqrt[3]{\color{blue}{{\pi}^{\left(-0.5 + -0.5\right)}} \cdot {\pi}^{-0.5}}\right)\right)} \]
    7. metadata-eval95.0%

      \[\leadsto \frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + \frac{1}{cosTheta} \cdot \sqrt[3]{{\pi}^{\color{blue}{-1}} \cdot {\pi}^{-0.5}}\right)\right)} \]
    8. inv-pow95.0%

      \[\leadsto \frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + \frac{1}{cosTheta} \cdot \sqrt[3]{\color{blue}{\frac{1}{\pi}} \cdot {\pi}^{-0.5}}\right)\right)} \]
    9. cbrt-unprod95.2%

      \[\leadsto \frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + \frac{1}{cosTheta} \cdot \color{blue}{\left(\sqrt[3]{\frac{1}{\pi}} \cdot \sqrt[3]{{\pi}^{-0.5}}\right)}\right)\right)} \]
    10. *-commutative95.2%

      \[\leadsto \frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + \frac{1}{cosTheta} \cdot \color{blue}{\left(\sqrt[3]{{\pi}^{-0.5}} \cdot \sqrt[3]{\frac{1}{\pi}}\right)}\right)\right)} \]
    11. pow1/395.2%

      \[\leadsto \frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + \frac{1}{cosTheta} \cdot \left(\color{blue}{{\left({\pi}^{-0.5}\right)}^{0.3333333333333333}} \cdot \sqrt[3]{\frac{1}{\pi}}\right)\right)\right)} \]
    12. pow-pow95.2%

      \[\leadsto \frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + \frac{1}{cosTheta} \cdot \left(\color{blue}{{\pi}^{\left(-0.5 \cdot 0.3333333333333333\right)}} \cdot \sqrt[3]{\frac{1}{\pi}}\right)\right)\right)} \]
    13. metadata-eval95.2%

      \[\leadsto \frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + \frac{1}{cosTheta} \cdot \left({\pi}^{\color{blue}{-0.16666666666666666}} \cdot \sqrt[3]{\frac{1}{\pi}}\right)\right)\right)} \]
    14. cbrt-div95.2%

      \[\leadsto \frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + \frac{1}{cosTheta} \cdot \left({\pi}^{-0.16666666666666666} \cdot \color{blue}{\frac{\sqrt[3]{1}}{\sqrt[3]{\pi}}}\right)\right)\right)} \]
    15. metadata-eval95.2%

      \[\leadsto \frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + \frac{1}{cosTheta} \cdot \left({\pi}^{-0.16666666666666666} \cdot \frac{\color{blue}{1}}{\sqrt[3]{\pi}}\right)\right)\right)} \]
  7. Applied egg-rr95.2%

    \[\leadsto \frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + \frac{1}{cosTheta} \cdot \color{blue}{\left({\pi}^{-0.16666666666666666} \cdot \frac{1}{\sqrt[3]{\pi}}\right)}\right)\right)} \]
  8. Step-by-step derivation
    1. associate-*r/95.2%

      \[\leadsto \frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + \frac{1}{cosTheta} \cdot \color{blue}{\frac{{\pi}^{-0.16666666666666666} \cdot 1}{\sqrt[3]{\pi}}}\right)\right)} \]
    2. *-rgt-identity95.2%

      \[\leadsto \frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + \frac{1}{cosTheta} \cdot \frac{\color{blue}{{\pi}^{-0.16666666666666666}}}{\sqrt[3]{\pi}}\right)\right)} \]
  9. Simplified95.2%

    \[\leadsto \frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + \frac{1}{cosTheta} \cdot \color{blue}{\frac{{\pi}^{-0.16666666666666666}}{\sqrt[3]{\pi}}}\right)\right)} \]
  10. Step-by-step derivation
    1. inv-pow95.2%

      \[\leadsto \frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + \color{blue}{{cosTheta}^{-1}} \cdot \frac{{\pi}^{-0.16666666666666666}}{\sqrt[3]{\pi}}\right)\right)} \]
    2. clear-num95.2%

      \[\leadsto \frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + {cosTheta}^{-1} \cdot \color{blue}{\frac{1}{\frac{\sqrt[3]{\pi}}{{\pi}^{-0.16666666666666666}}}}\right)\right)} \]
    3. pow1/395.2%

      \[\leadsto \frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + {cosTheta}^{-1} \cdot \frac{1}{\frac{\color{blue}{{\pi}^{0.3333333333333333}}}{{\pi}^{-0.16666666666666666}}}\right)\right)} \]
    4. pow-div95.0%

      \[\leadsto \frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + {cosTheta}^{-1} \cdot \frac{1}{\color{blue}{{\pi}^{\left(0.3333333333333333 - -0.16666666666666666\right)}}}\right)\right)} \]
    5. metadata-eval95.0%

      \[\leadsto \frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + {cosTheta}^{-1} \cdot \frac{1}{{\pi}^{\color{blue}{0.5}}}\right)\right)} \]
    6. pow1/295.0%

      \[\leadsto \frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + {cosTheta}^{-1} \cdot \frac{1}{\color{blue}{\sqrt{\pi}}}\right)\right)} \]
    7. inv-pow95.0%

      \[\leadsto \frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + {cosTheta}^{-1} \cdot \color{blue}{{\left(\sqrt{\pi}\right)}^{-1}}\right)\right)} \]
    8. unpow-prod-down95.5%

      \[\leadsto \frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + \color{blue}{{\left(cosTheta \cdot \sqrt{\pi}\right)}^{-1}}\right)\right)} \]
    9. inv-pow95.5%

      \[\leadsto \frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + \color{blue}{\frac{1}{cosTheta \cdot \sqrt{\pi}}}\right)\right)} \]
    10. frac-2neg95.5%

      \[\leadsto \frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + \color{blue}{\frac{-1}{-cosTheta \cdot \sqrt{\pi}}}\right)\right)} \]
    11. metadata-eval95.5%

      \[\leadsto \frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + \frac{\color{blue}{-1}}{-cosTheta \cdot \sqrt{\pi}}\right)\right)} \]
  11. Applied egg-rr95.5%

    \[\leadsto \frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + \color{blue}{\frac{-1}{-cosTheta \cdot \sqrt{\pi}}}\right)\right)} \]
  12. Step-by-step derivation
    1. distribute-rgt-neg-in95.5%

      \[\leadsto \frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + \frac{-1}{\color{blue}{cosTheta \cdot \left(-\sqrt{\pi}\right)}}\right)\right)} \]
  13. Simplified95.5%

    \[\leadsto \frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + \color{blue}{\frac{-1}{cosTheta \cdot \left(-\sqrt{\pi}\right)}}\right)\right)} \]
  14. Final simplification95.5%

    \[\leadsto \frac{1}{1 + \left(c + \left(\frac{-1}{cosTheta \cdot \left(-\sqrt{\pi}\right)} - \sqrt{\frac{1}{\pi}}\right)\right)} \]
  15. Add Preprocessing

Alternative 8: 95.0% accurate, 1.5× speedup?

\[\begin{array}{l} \\ \frac{1}{1 + \mathsf{fma}\left({\pi}^{-0.5}, -1 + \frac{1}{cosTheta}, c\right)} \end{array} \]
(FPCore (cosTheta c)
 :precision binary32
 (/ 1.0 (+ 1.0 (fma (pow PI -0.5) (+ -1.0 (/ 1.0 cosTheta)) c))))
float code(float cosTheta, float c) {
	return 1.0f / (1.0f + fmaf(powf(((float) M_PI), -0.5f), (-1.0f + (1.0f / cosTheta)), c));
}
function code(cosTheta, c)
	return Float32(Float32(1.0) / Float32(Float32(1.0) + fma((Float32(pi) ^ Float32(-0.5)), Float32(Float32(-1.0) + Float32(Float32(1.0) / cosTheta)), c)))
end
\begin{array}{l}

\\
\frac{1}{1 + \mathsf{fma}\left({\pi}^{-0.5}, -1 + \frac{1}{cosTheta}, c\right)}
\end{array}
Derivation
  1. Initial program 97.9%

    \[\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}} \]
  2. Step-by-step derivation
    1. associate-+l+97.9%

      \[\leadsto \frac{1}{\color{blue}{1 + \left(c + \left(\frac{1}{\sqrt{\pi}} \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}\right)}} \]
    2. +-commutative97.9%

      \[\leadsto \frac{1}{1 + \color{blue}{\left(\left(\frac{1}{\sqrt{\pi}} \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta} + c\right)}} \]
    3. *-commutative97.9%

      \[\leadsto \frac{1}{1 + \left(\color{blue}{\left(\frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta} \cdot \frac{1}{\sqrt{\pi}}\right)} \cdot e^{\left(-cosTheta\right) \cdot cosTheta} + c\right)} \]
    4. associate-*l*97.8%

      \[\leadsto \frac{1}{1 + \left(\color{blue}{\frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta} \cdot \left(\frac{1}{\sqrt{\pi}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}\right)} + c\right)} \]
    5. fma-def97.8%

      \[\leadsto \frac{1}{1 + \color{blue}{\mathsf{fma}\left(\frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}, \frac{1}{\sqrt{\pi}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}, c\right)}} \]
  3. Simplified97.9%

    \[\leadsto \color{blue}{\frac{1}{1 + \mathsf{fma}\left(\frac{\sqrt{\mathsf{fma}\left(cosTheta, -2, 1\right)}}{cosTheta}, \frac{e^{-cosTheta \cdot cosTheta}}{\sqrt{\pi}}, c\right)}} \]
  4. Add Preprocessing
  5. Taylor expanded in cosTheta around 0 95.0%

    \[\leadsto \frac{1}{1 + \color{blue}{\left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + \frac{1}{cosTheta} \cdot \sqrt{\frac{1}{\pi}}\right)\right)}} \]
  6. Step-by-step derivation
    1. expm1-log1p-u95.0%

      \[\leadsto \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(\frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + \frac{1}{cosTheta} \cdot \sqrt{\frac{1}{\pi}}\right)\right)}\right)\right)} \]
    2. expm1-udef20.3%

      \[\leadsto \color{blue}{e^{\mathsf{log1p}\left(\frac{1}{1 + \left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + \frac{1}{cosTheta} \cdot \sqrt{\frac{1}{\pi}}\right)\right)}\right)} - 1} \]
  7. Applied egg-rr20.3%

    \[\leadsto \color{blue}{e^{\mathsf{log1p}\left(\frac{1}{1 + \mathsf{fma}\left({\pi}^{-0.5}, -1 + \frac{1}{cosTheta}, c\right)}\right)} - 1} \]
  8. Step-by-step derivation
    1. expm1-def95.0%

      \[\leadsto \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(\frac{1}{1 + \mathsf{fma}\left({\pi}^{-0.5}, -1 + \frac{1}{cosTheta}, c\right)}\right)\right)} \]
    2. expm1-log1p95.0%

      \[\leadsto \color{blue}{\frac{1}{1 + \mathsf{fma}\left({\pi}^{-0.5}, -1 + \frac{1}{cosTheta}, c\right)}} \]
    3. +-commutative95.0%

      \[\leadsto \frac{1}{1 + \mathsf{fma}\left({\pi}^{-0.5}, \color{blue}{\frac{1}{cosTheta} + -1}, c\right)} \]
  9. Simplified95.0%

    \[\leadsto \color{blue}{\frac{1}{1 + \mathsf{fma}\left({\pi}^{-0.5}, \frac{1}{cosTheta} + -1, c\right)}} \]
  10. Final simplification95.0%

    \[\leadsto \frac{1}{1 + \mathsf{fma}\left({\pi}^{-0.5}, -1 + \frac{1}{cosTheta}, c\right)} \]
  11. Add Preprocessing

Alternative 9: 95.0% accurate, 2.8× speedup?

\[\begin{array}{l} \\ \frac{1}{1 + \left(c + {\pi}^{-0.5} \cdot \left(-1 + \frac{1}{cosTheta}\right)\right)} \end{array} \]
(FPCore (cosTheta c)
 :precision binary32
 (/ 1.0 (+ 1.0 (+ c (* (pow PI -0.5) (+ -1.0 (/ 1.0 cosTheta)))))))
float code(float cosTheta, float c) {
	return 1.0f / (1.0f + (c + (powf(((float) M_PI), -0.5f) * (-1.0f + (1.0f / cosTheta)))));
}
function code(cosTheta, c)
	return Float32(Float32(1.0) / Float32(Float32(1.0) + Float32(c + Float32((Float32(pi) ^ Float32(-0.5)) * Float32(Float32(-1.0) + Float32(Float32(1.0) / cosTheta))))))
end
function tmp = code(cosTheta, c)
	tmp = single(1.0) / (single(1.0) + (c + ((single(pi) ^ single(-0.5)) * (single(-1.0) + (single(1.0) / cosTheta)))));
end
\begin{array}{l}

\\
\frac{1}{1 + \left(c + {\pi}^{-0.5} \cdot \left(-1 + \frac{1}{cosTheta}\right)\right)}
\end{array}
Derivation
  1. Initial program 97.9%

    \[\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}} \]
  2. Step-by-step derivation
    1. associate-+l+97.9%

      \[\leadsto \frac{1}{\color{blue}{1 + \left(c + \left(\frac{1}{\sqrt{\pi}} \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}\right)}} \]
    2. +-commutative97.9%

      \[\leadsto \frac{1}{1 + \color{blue}{\left(\left(\frac{1}{\sqrt{\pi}} \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta} + c\right)}} \]
    3. *-commutative97.9%

      \[\leadsto \frac{1}{1 + \left(\color{blue}{\left(\frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta} \cdot \frac{1}{\sqrt{\pi}}\right)} \cdot e^{\left(-cosTheta\right) \cdot cosTheta} + c\right)} \]
    4. associate-*l*97.8%

      \[\leadsto \frac{1}{1 + \left(\color{blue}{\frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta} \cdot \left(\frac{1}{\sqrt{\pi}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}\right)} + c\right)} \]
    5. fma-def97.8%

      \[\leadsto \frac{1}{1 + \color{blue}{\mathsf{fma}\left(\frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}, \frac{1}{\sqrt{\pi}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}, c\right)}} \]
  3. Simplified97.9%

    \[\leadsto \color{blue}{\frac{1}{1 + \mathsf{fma}\left(\frac{\sqrt{\mathsf{fma}\left(cosTheta, -2, 1\right)}}{cosTheta}, \frac{e^{-cosTheta \cdot cosTheta}}{\sqrt{\pi}}, c\right)}} \]
  4. Add Preprocessing
  5. Taylor expanded in cosTheta around 0 95.0%

    \[\leadsto \frac{1}{1 + \color{blue}{\left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + \frac{1}{cosTheta} \cdot \sqrt{\frac{1}{\pi}}\right)\right)}} \]
  6. Step-by-step derivation
    1. expm1-log1p-u87.7%

      \[\leadsto \frac{1}{1 + \left(c + \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(-1 \cdot \sqrt{\frac{1}{\pi}} + \frac{1}{cosTheta} \cdot \sqrt{\frac{1}{\pi}}\right)\right)}\right)} \]
    2. expm1-udef87.7%

      \[\leadsto \frac{1}{1 + \left(c + \color{blue}{\left(e^{\mathsf{log1p}\left(-1 \cdot \sqrt{\frac{1}{\pi}} + \frac{1}{cosTheta} \cdot \sqrt{\frac{1}{\pi}}\right)} - 1\right)}\right)} \]
    3. distribute-rgt-out87.7%

      \[\leadsto \frac{1}{1 + \left(c + \left(e^{\mathsf{log1p}\left(\color{blue}{\sqrt{\frac{1}{\pi}} \cdot \left(-1 + \frac{1}{cosTheta}\right)}\right)} - 1\right)\right)} \]
    4. pow1/287.7%

      \[\leadsto \frac{1}{1 + \left(c + \left(e^{\mathsf{log1p}\left(\color{blue}{{\left(\frac{1}{\pi}\right)}^{0.5}} \cdot \left(-1 + \frac{1}{cosTheta}\right)\right)} - 1\right)\right)} \]
    5. inv-pow87.7%

      \[\leadsto \frac{1}{1 + \left(c + \left(e^{\mathsf{log1p}\left({\color{blue}{\left({\pi}^{-1}\right)}}^{0.5} \cdot \left(-1 + \frac{1}{cosTheta}\right)\right)} - 1\right)\right)} \]
    6. pow-pow87.7%

      \[\leadsto \frac{1}{1 + \left(c + \left(e^{\mathsf{log1p}\left(\color{blue}{{\pi}^{\left(-1 \cdot 0.5\right)}} \cdot \left(-1 + \frac{1}{cosTheta}\right)\right)} - 1\right)\right)} \]
    7. metadata-eval87.7%

      \[\leadsto \frac{1}{1 + \left(c + \left(e^{\mathsf{log1p}\left({\pi}^{\color{blue}{-0.5}} \cdot \left(-1 + \frac{1}{cosTheta}\right)\right)} - 1\right)\right)} \]
  7. Applied egg-rr87.7%

    \[\leadsto \frac{1}{1 + \left(c + \color{blue}{\left(e^{\mathsf{log1p}\left({\pi}^{-0.5} \cdot \left(-1 + \frac{1}{cosTheta}\right)\right)} - 1\right)}\right)} \]
  8. Step-by-step derivation
    1. expm1-def87.7%

      \[\leadsto \frac{1}{1 + \left(c + \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left({\pi}^{-0.5} \cdot \left(-1 + \frac{1}{cosTheta}\right)\right)\right)}\right)} \]
    2. expm1-log1p95.0%

      \[\leadsto \frac{1}{1 + \left(c + \color{blue}{{\pi}^{-0.5} \cdot \left(-1 + \frac{1}{cosTheta}\right)}\right)} \]
    3. +-commutative95.0%

      \[\leadsto \frac{1}{1 + \left(c + {\pi}^{-0.5} \cdot \color{blue}{\left(\frac{1}{cosTheta} + -1\right)}\right)} \]
  9. Simplified95.0%

    \[\leadsto \frac{1}{1 + \left(c + \color{blue}{{\pi}^{-0.5} \cdot \left(\frac{1}{cosTheta} + -1\right)}\right)} \]
  10. Final simplification95.0%

    \[\leadsto \frac{1}{1 + \left(c + {\pi}^{-0.5} \cdot \left(-1 + \frac{1}{cosTheta}\right)\right)} \]
  11. Add Preprocessing

Alternative 10: 94.9% accurate, 2.8× speedup?

\[\begin{array}{l} \\ \frac{1}{1 + \sqrt{\frac{1}{\pi}} \cdot \left(-1 + \frac{1}{cosTheta}\right)} \end{array} \]
(FPCore (cosTheta c)
 :precision binary32
 (/ 1.0 (+ 1.0 (* (sqrt (/ 1.0 PI)) (+ -1.0 (/ 1.0 cosTheta))))))
float code(float cosTheta, float c) {
	return 1.0f / (1.0f + (sqrtf((1.0f / ((float) M_PI))) * (-1.0f + (1.0f / cosTheta))));
}
function code(cosTheta, c)
	return Float32(Float32(1.0) / Float32(Float32(1.0) + Float32(sqrt(Float32(Float32(1.0) / Float32(pi))) * Float32(Float32(-1.0) + Float32(Float32(1.0) / cosTheta)))))
end
function tmp = code(cosTheta, c)
	tmp = single(1.0) / (single(1.0) + (sqrt((single(1.0) / single(pi))) * (single(-1.0) + (single(1.0) / cosTheta))));
end
\begin{array}{l}

\\
\frac{1}{1 + \sqrt{\frac{1}{\pi}} \cdot \left(-1 + \frac{1}{cosTheta}\right)}
\end{array}
Derivation
  1. Initial program 97.9%

    \[\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}} \]
  2. Step-by-step derivation
    1. associate-+l+97.9%

      \[\leadsto \frac{1}{\color{blue}{1 + \left(c + \left(\frac{1}{\sqrt{\pi}} \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}\right)}} \]
    2. +-commutative97.9%

      \[\leadsto \frac{1}{1 + \color{blue}{\left(\left(\frac{1}{\sqrt{\pi}} \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta} + c\right)}} \]
    3. *-commutative97.9%

      \[\leadsto \frac{1}{1 + \left(\color{blue}{\left(\frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta} \cdot \frac{1}{\sqrt{\pi}}\right)} \cdot e^{\left(-cosTheta\right) \cdot cosTheta} + c\right)} \]
    4. associate-*l*97.8%

      \[\leadsto \frac{1}{1 + \left(\color{blue}{\frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta} \cdot \left(\frac{1}{\sqrt{\pi}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}\right)} + c\right)} \]
    5. fma-def97.8%

      \[\leadsto \frac{1}{1 + \color{blue}{\mathsf{fma}\left(\frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}, \frac{1}{\sqrt{\pi}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}, c\right)}} \]
  3. Simplified97.9%

    \[\leadsto \color{blue}{\frac{1}{1 + \mathsf{fma}\left(\frac{\sqrt{\mathsf{fma}\left(cosTheta, -2, 1\right)}}{cosTheta}, \frac{e^{-cosTheta \cdot cosTheta}}{\sqrt{\pi}}, c\right)}} \]
  4. Add Preprocessing
  5. Taylor expanded in cosTheta around 0 95.0%

    \[\leadsto \frac{1}{1 + \color{blue}{\left(c + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + \frac{1}{cosTheta} \cdot \sqrt{\frac{1}{\pi}}\right)\right)}} \]
  6. Taylor expanded in c around 0 94.8%

    \[\leadsto \color{blue}{\frac{1}{1 + \left(-1 \cdot \sqrt{\frac{1}{\pi}} + \frac{1}{cosTheta} \cdot \sqrt{\frac{1}{\pi}}\right)}} \]
  7. Step-by-step derivation
    1. distribute-rgt-out94.8%

      \[\leadsto \frac{1}{1 + \color{blue}{\sqrt{\frac{1}{\pi}} \cdot \left(-1 + \frac{1}{cosTheta}\right)}} \]
    2. +-commutative94.8%

      \[\leadsto \frac{1}{1 + \sqrt{\frac{1}{\pi}} \cdot \color{blue}{\left(\frac{1}{cosTheta} + -1\right)}} \]
  8. Simplified94.8%

    \[\leadsto \color{blue}{\frac{1}{1 + \sqrt{\frac{1}{\pi}} \cdot \left(\frac{1}{cosTheta} + -1\right)}} \]
  9. Final simplification94.8%

    \[\leadsto \frac{1}{1 + \sqrt{\frac{1}{\pi}} \cdot \left(-1 + \frac{1}{cosTheta}\right)} \]
  10. Add Preprocessing

Alternative 11: 93.0% accurate, 3.1× speedup?

\[\begin{array}{l} \\ cosTheta \cdot \sqrt{\pi} \end{array} \]
(FPCore (cosTheta c) :precision binary32 (* cosTheta (sqrt PI)))
float code(float cosTheta, float c) {
	return cosTheta * sqrtf(((float) M_PI));
}
function code(cosTheta, c)
	return Float32(cosTheta * sqrt(Float32(pi)))
end
function tmp = code(cosTheta, c)
	tmp = cosTheta * sqrt(single(pi));
end
\begin{array}{l}

\\
cosTheta \cdot \sqrt{\pi}
\end{array}
Derivation
  1. Initial program 97.9%

    \[\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}} \]
  2. Step-by-step derivation
    1. associate-+l+97.9%

      \[\leadsto \frac{1}{\color{blue}{1 + \left(c + \left(\frac{1}{\sqrt{\pi}} \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}\right)}} \]
    2. +-commutative97.9%

      \[\leadsto \frac{1}{1 + \color{blue}{\left(\left(\frac{1}{\sqrt{\pi}} \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta} + c\right)}} \]
    3. *-commutative97.9%

      \[\leadsto \frac{1}{1 + \left(\color{blue}{\left(\frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta} \cdot \frac{1}{\sqrt{\pi}}\right)} \cdot e^{\left(-cosTheta\right) \cdot cosTheta} + c\right)} \]
    4. associate-*l*97.8%

      \[\leadsto \frac{1}{1 + \left(\color{blue}{\frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta} \cdot \left(\frac{1}{\sqrt{\pi}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}\right)} + c\right)} \]
    5. fma-def97.8%

      \[\leadsto \frac{1}{1 + \color{blue}{\mathsf{fma}\left(\frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}, \frac{1}{\sqrt{\pi}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}, c\right)}} \]
  3. Simplified97.9%

    \[\leadsto \color{blue}{\frac{1}{1 + \mathsf{fma}\left(\frac{\sqrt{\mathsf{fma}\left(cosTheta, -2, 1\right)}}{cosTheta}, \frac{e^{-cosTheta \cdot cosTheta}}{\sqrt{\pi}}, c\right)}} \]
  4. Add Preprocessing
  5. Taylor expanded in cosTheta around 0 92.8%

    \[\leadsto \color{blue}{cosTheta \cdot \sqrt{\pi}} \]
  6. Final simplification92.8%

    \[\leadsto cosTheta \cdot \sqrt{\pi} \]
  7. Add Preprocessing

Alternative 12: 10.7% accurate, 107.3× speedup?

\[\begin{array}{l} \\ 1 - c \end{array} \]
(FPCore (cosTheta c) :precision binary32 (- 1.0 c))
float code(float cosTheta, float c) {
	return 1.0f - c;
}
real(4) function code(costheta, c)
    real(4), intent (in) :: costheta
    real(4), intent (in) :: c
    code = 1.0e0 - c
end function
function code(cosTheta, c)
	return Float32(Float32(1.0) - c)
end
function tmp = code(cosTheta, c)
	tmp = single(1.0) - c;
end
\begin{array}{l}

\\
1 - c
\end{array}
Derivation
  1. Initial program 97.9%

    \[\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}} \]
  2. Step-by-step derivation
    1. associate-+l+97.9%

      \[\leadsto \frac{1}{\color{blue}{1 + \left(c + \left(\frac{1}{\sqrt{\pi}} \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}\right)}} \]
    2. +-commutative97.9%

      \[\leadsto \frac{1}{1 + \color{blue}{\left(\left(\frac{1}{\sqrt{\pi}} \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta} + c\right)}} \]
    3. *-commutative97.9%

      \[\leadsto \frac{1}{1 + \left(\color{blue}{\left(\frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta} \cdot \frac{1}{\sqrt{\pi}}\right)} \cdot e^{\left(-cosTheta\right) \cdot cosTheta} + c\right)} \]
    4. associate-*l*97.8%

      \[\leadsto \frac{1}{1 + \left(\color{blue}{\frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta} \cdot \left(\frac{1}{\sqrt{\pi}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}\right)} + c\right)} \]
    5. fma-def97.8%

      \[\leadsto \frac{1}{1 + \color{blue}{\mathsf{fma}\left(\frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}, \frac{1}{\sqrt{\pi}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}, c\right)}} \]
  3. Simplified97.9%

    \[\leadsto \color{blue}{\frac{1}{1 + \mathsf{fma}\left(\frac{\sqrt{\mathsf{fma}\left(cosTheta, -2, 1\right)}}{cosTheta}, \frac{e^{-cosTheta \cdot cosTheta}}{\sqrt{\pi}}, c\right)}} \]
  4. Add Preprocessing
  5. Taylor expanded in cosTheta around inf 10.9%

    \[\leadsto \frac{1}{1 + \color{blue}{c}} \]
  6. Taylor expanded in c around 0 10.9%

    \[\leadsto \color{blue}{1 + -1 \cdot c} \]
  7. Step-by-step derivation
    1. mul-1-neg10.9%

      \[\leadsto 1 + \color{blue}{\left(-c\right)} \]
    2. unsub-neg10.9%

      \[\leadsto \color{blue}{1 - c} \]
  8. Simplified10.9%

    \[\leadsto \color{blue}{1 - c} \]
  9. Final simplification10.9%

    \[\leadsto 1 - c \]
  10. Add Preprocessing

Alternative 13: 10.7% accurate, 322.0× speedup?

\[\begin{array}{l} \\ 1 \end{array} \]
(FPCore (cosTheta c) :precision binary32 1.0)
float code(float cosTheta, float c) {
	return 1.0f;
}
real(4) function code(costheta, c)
    real(4), intent (in) :: costheta
    real(4), intent (in) :: c
    code = 1.0e0
end function
function code(cosTheta, c)
	return Float32(1.0)
end
function tmp = code(cosTheta, c)
	tmp = single(1.0);
end
\begin{array}{l}

\\
1
\end{array}
Derivation
  1. Initial program 97.9%

    \[\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}} \]
  2. Step-by-step derivation
    1. associate-+l+97.9%

      \[\leadsto \frac{1}{\color{blue}{1 + \left(c + \left(\frac{1}{\sqrt{\pi}} \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta}\right)}} \]
    2. +-commutative97.9%

      \[\leadsto \frac{1}{1 + \color{blue}{\left(\left(\frac{1}{\sqrt{\pi}} \cdot \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}\right) \cdot e^{\left(-cosTheta\right) \cdot cosTheta} + c\right)}} \]
    3. *-commutative97.9%

      \[\leadsto \frac{1}{1 + \left(\color{blue}{\left(\frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta} \cdot \frac{1}{\sqrt{\pi}}\right)} \cdot e^{\left(-cosTheta\right) \cdot cosTheta} + c\right)} \]
    4. associate-*l*97.8%

      \[\leadsto \frac{1}{1 + \left(\color{blue}{\frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta} \cdot \left(\frac{1}{\sqrt{\pi}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}\right)} + c\right)} \]
    5. fma-def97.8%

      \[\leadsto \frac{1}{1 + \color{blue}{\mathsf{fma}\left(\frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{cosTheta}, \frac{1}{\sqrt{\pi}} \cdot e^{\left(-cosTheta\right) \cdot cosTheta}, c\right)}} \]
  3. Simplified97.9%

    \[\leadsto \color{blue}{\frac{1}{1 + \mathsf{fma}\left(\frac{\sqrt{\mathsf{fma}\left(cosTheta, -2, 1\right)}}{cosTheta}, \frac{e^{-cosTheta \cdot cosTheta}}{\sqrt{\pi}}, c\right)}} \]
  4. Add Preprocessing
  5. Taylor expanded in cosTheta around inf 10.9%

    \[\leadsto \frac{1}{1 + \color{blue}{c}} \]
  6. Taylor expanded in c around 0 10.9%

    \[\leadsto \color{blue}{1} \]
  7. Final simplification10.9%

    \[\leadsto 1 \]
  8. Add Preprocessing

Reproduce

?
herbie shell --seed 2024021 
(FPCore (cosTheta c)
  :name "Beckmann Sample, normalization factor"
  :precision binary32
  :pre (and (and (< 0.0 cosTheta) (< cosTheta 0.9999)) (and (< -1.0 c) (< c 1.0)))
  (/ 1.0 (+ (+ 1.0 c) (* (* (/ 1.0 (sqrt PI)) (/ (sqrt (- (- 1.0 cosTheta) cosTheta)) cosTheta)) (exp (* (- cosTheta) cosTheta))))))