Average Error: 0.7 → 0.4
Time: 13.8s
Precision: binary32
\[0 < cosTheta \land cosTheta < 0.9999 \land -1 < c \land c < 1\]
\[\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}}\]
\[\frac{1}{\left(\left(cosTheta \cdot {\left(e^{cosTheta}\right)}^{cosTheta}\right) \cdot {\left(\sqrt[3]{\pi}\right)}^{1.5}\right) \cdot \left(1 + {c}^{3}\right) + \sqrt{1 - \left(cosTheta + cosTheta\right)} \cdot \left(1 + \left(c \cdot c - c\right)\right)} \cdot \left(\left(1 + \left(c \cdot c - c\right)\right) \cdot \left(\left(\sqrt[3]{\sqrt{\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}}} \cdot \sqrt[3]{\sqrt{\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}}}\right) \cdot \left(\left(cosTheta \cdot {\left(e^{cosTheta}\right)}^{cosTheta}\right) \cdot {\left(\sqrt[3]{\sqrt[3]{\pi}}\right)}^{2.5}\right)\right)\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}}
\frac{1}{\left(\left(cosTheta \cdot {\left(e^{cosTheta}\right)}^{cosTheta}\right) \cdot {\left(\sqrt[3]{\pi}\right)}^{1.5}\right) \cdot \left(1 + {c}^{3}\right) + \sqrt{1 - \left(cosTheta + cosTheta\right)} \cdot \left(1 + \left(c \cdot c - c\right)\right)} \cdot \left(\left(1 + \left(c \cdot c - c\right)\right) \cdot \left(\left(\sqrt[3]{\sqrt{\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}}} \cdot \sqrt[3]{\sqrt{\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}}}\right) \cdot \left(\left(cosTheta \cdot {\left(e^{cosTheta}\right)}^{cosTheta}\right) \cdot {\left(\sqrt[3]{\sqrt[3]{\pi}}\right)}^{2.5}\right)\right)\right)
(FPCore (cosTheta c)
 :precision binary32
 (/
  1.0
  (+
   (+ 1.0 c)
   (*
    (* (/ 1.0 (sqrt PI)) (/ (sqrt (- (- 1.0 cosTheta) cosTheta)) cosTheta))
    (exp (* (- cosTheta) cosTheta))))))
(FPCore (cosTheta c)
 :precision binary32
 (*
  (/
   1.0
   (+
    (*
     (* (* cosTheta (pow (exp cosTheta) cosTheta)) (pow (cbrt PI) 1.5))
     (+ 1.0 (pow c 3.0)))
    (* (sqrt (- 1.0 (+ cosTheta cosTheta))) (+ 1.0 (- (* c c) c)))))
  (*
   (+ 1.0 (- (* c c) c))
   (*
    (*
     (cbrt (sqrt (* (cbrt PI) (cbrt PI))))
     (cbrt (sqrt (* (cbrt PI) (cbrt PI)))))
    (*
     (* cosTheta (pow (exp cosTheta) cosTheta))
     (pow (cbrt (cbrt PI)) 2.5))))))
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)));
}
float code(float cosTheta, float c) {
	return (1.0f / ((((cosTheta * powf(expf(cosTheta), cosTheta)) * powf(cbrtf((float) M_PI), 1.5f)) * (1.0f + powf(c, 3.0f))) + (sqrtf(1.0f - (cosTheta + cosTheta)) * (1.0f + ((c * c) - c))))) * ((1.0f + ((c * c) - c)) * ((cbrtf(sqrtf(cbrtf((float) M_PI) * cbrtf((float) M_PI))) * cbrtf(sqrtf(cbrtf((float) M_PI) * cbrtf((float) M_PI)))) * ((cosTheta * powf(expf(cosTheta), cosTheta)) * powf(cbrtf(cbrtf((float) M_PI)), 2.5f))));
}

Error

Bits error versus cosTheta

Bits error versus c

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.7

    \[\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. Simplified0.5

    \[\leadsto \color{blue}{\frac{1}{\left(1 + c\right) + \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{\sqrt{\pi} \cdot \left(cosTheta \cdot {\left(e^{cosTheta}\right)}^{cosTheta}\right)}}}\]
  3. Using strategy rm
  4. Applied add-cube-cbrt_binary320.5

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

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

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

    \[\leadsto \frac{1}{\left(1 + c\right) + \frac{\sqrt{\left(1 - cosTheta\right) - cosTheta}}{\sqrt{\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}} \cdot \color{blue}{\left(\left(cosTheta \cdot {\left(e^{cosTheta}\right)}^{cosTheta}\right) \cdot \sqrt{\sqrt[3]{\pi}}\right)}}}\]
  8. Using strategy rm
  9. Applied flip3-+_binary320.4

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

    \[\leadsto \frac{1}{\color{blue}{\frac{\left({1}^{3} + {c}^{3}\right) \cdot \left(\sqrt{\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}} \cdot \left(\left(cosTheta \cdot {\left(e^{cosTheta}\right)}^{cosTheta}\right) \cdot \sqrt{\sqrt[3]{\pi}}\right)\right) + \left(1 \cdot 1 + \left(c \cdot c - 1 \cdot c\right)\right) \cdot \sqrt{\left(1 - cosTheta\right) - cosTheta}}{\left(1 \cdot 1 + \left(c \cdot c - 1 \cdot c\right)\right) \cdot \left(\sqrt{\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}} \cdot \left(\left(cosTheta \cdot {\left(e^{cosTheta}\right)}^{cosTheta}\right) \cdot \sqrt{\sqrt[3]{\pi}}\right)\right)}}}\]
  11. Applied associate-/r/_binary320.4

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

    \[\leadsto \color{blue}{\frac{1}{\left(\left(cosTheta \cdot {\left(e^{cosTheta}\right)}^{cosTheta}\right) \cdot {\left(\sqrt{\sqrt[3]{\pi}}\right)}^{3}\right) \cdot \left(1 + {c}^{3}\right) + \sqrt{1 - \left(cosTheta + cosTheta\right)} \cdot \left(1 + \left(c \cdot c - c\right)\right)}} \cdot \left(\left(1 \cdot 1 + \left(c \cdot c - 1 \cdot c\right)\right) \cdot \left(\sqrt{\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}} \cdot \left(\left(cosTheta \cdot {\left(e^{cosTheta}\right)}^{cosTheta}\right) \cdot \sqrt{\sqrt[3]{\pi}}\right)\right)\right)\]
  13. Using strategy rm
  14. Applied add-cube-cbrt_binary320.4

    \[\leadsto \frac{1}{\left(\left(cosTheta \cdot {\left(e^{cosTheta}\right)}^{cosTheta}\right) \cdot {\left(\sqrt{\sqrt[3]{\pi}}\right)}^{3}\right) \cdot \left(1 + {c}^{3}\right) + \sqrt{1 - \left(cosTheta + cosTheta\right)} \cdot \left(1 + \left(c \cdot c - c\right)\right)} \cdot \left(\left(1 \cdot 1 + \left(c \cdot c - 1 \cdot c\right)\right) \cdot \left(\color{blue}{\left(\left(\sqrt[3]{\sqrt{\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}}} \cdot \sqrt[3]{\sqrt{\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}}}\right) \cdot \sqrt[3]{\sqrt{\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}}}\right)} \cdot \left(\left(cosTheta \cdot {\left(e^{cosTheta}\right)}^{cosTheta}\right) \cdot \sqrt{\sqrt[3]{\pi}}\right)\right)\right)\]
  15. Applied associate-*l*_binary320.5

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

    \[\leadsto \frac{1}{\left(\left(cosTheta \cdot {\left(e^{cosTheta}\right)}^{cosTheta}\right) \cdot {\left(\sqrt{\sqrt[3]{\pi}}\right)}^{3}\right) \cdot \left(1 + {c}^{3}\right) + \sqrt{1 - \left(cosTheta + cosTheta\right)} \cdot \left(1 + \left(c \cdot c - c\right)\right)} \cdot \left(\left(1 \cdot 1 + \left(c \cdot c - 1 \cdot c\right)\right) \cdot \left(\left(\sqrt[3]{\sqrt{\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}}} \cdot \sqrt[3]{\sqrt{\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}}}\right) \cdot \color{blue}{\left(\left(cosTheta \cdot {\left(e^{cosTheta}\right)}^{cosTheta}\right) \cdot {\left(\sqrt[3]{\sqrt[3]{\pi}}\right)}^{2.5}\right)}\right)\right)\]
  17. Using strategy rm
  18. Applied pow1/2_binary320.4

    \[\leadsto \frac{1}{\left(\left(cosTheta \cdot {\left(e^{cosTheta}\right)}^{cosTheta}\right) \cdot {\color{blue}{\left({\left(\sqrt[3]{\pi}\right)}^{0.5}\right)}}^{3}\right) \cdot \left(1 + {c}^{3}\right) + \sqrt{1 - \left(cosTheta + cosTheta\right)} \cdot \left(1 + \left(c \cdot c - c\right)\right)} \cdot \left(\left(1 \cdot 1 + \left(c \cdot c - 1 \cdot c\right)\right) \cdot \left(\left(\sqrt[3]{\sqrt{\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}}} \cdot \sqrt[3]{\sqrt{\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}}}\right) \cdot \left(\left(cosTheta \cdot {\left(e^{cosTheta}\right)}^{cosTheta}\right) \cdot {\left(\sqrt[3]{\sqrt[3]{\pi}}\right)}^{2.5}\right)\right)\right)\]
  19. Applied pow-pow_binary320.4

    \[\leadsto \frac{1}{\left(\left(cosTheta \cdot {\left(e^{cosTheta}\right)}^{cosTheta}\right) \cdot \color{blue}{{\left(\sqrt[3]{\pi}\right)}^{\left(0.5 \cdot 3\right)}}\right) \cdot \left(1 + {c}^{3}\right) + \sqrt{1 - \left(cosTheta + cosTheta\right)} \cdot \left(1 + \left(c \cdot c - c\right)\right)} \cdot \left(\left(1 \cdot 1 + \left(c \cdot c - 1 \cdot c\right)\right) \cdot \left(\left(\sqrt[3]{\sqrt{\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}}} \cdot \sqrt[3]{\sqrt{\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}}}\right) \cdot \left(\left(cosTheta \cdot {\left(e^{cosTheta}\right)}^{cosTheta}\right) \cdot {\left(\sqrt[3]{\sqrt[3]{\pi}}\right)}^{2.5}\right)\right)\right)\]
  20. Simplified0.4

    \[\leadsto \frac{1}{\left(\left(cosTheta \cdot {\left(e^{cosTheta}\right)}^{cosTheta}\right) \cdot {\left(\sqrt[3]{\pi}\right)}^{\color{blue}{1.5}}\right) \cdot \left(1 + {c}^{3}\right) + \sqrt{1 - \left(cosTheta + cosTheta\right)} \cdot \left(1 + \left(c \cdot c - c\right)\right)} \cdot \left(\left(1 \cdot 1 + \left(c \cdot c - 1 \cdot c\right)\right) \cdot \left(\left(\sqrt[3]{\sqrt{\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}}} \cdot \sqrt[3]{\sqrt{\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}}}\right) \cdot \left(\left(cosTheta \cdot {\left(e^{cosTheta}\right)}^{cosTheta}\right) \cdot {\left(\sqrt[3]{\sqrt[3]{\pi}}\right)}^{2.5}\right)\right)\right)\]
  21. Final simplification0.4

    \[\leadsto \frac{1}{\left(\left(cosTheta \cdot {\left(e^{cosTheta}\right)}^{cosTheta}\right) \cdot {\left(\sqrt[3]{\pi}\right)}^{1.5}\right) \cdot \left(1 + {c}^{3}\right) + \sqrt{1 - \left(cosTheta + cosTheta\right)} \cdot \left(1 + \left(c \cdot c - c\right)\right)} \cdot \left(\left(1 + \left(c \cdot c - c\right)\right) \cdot \left(\left(\sqrt[3]{\sqrt{\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}}} \cdot \sqrt[3]{\sqrt{\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}}}\right) \cdot \left(\left(cosTheta \cdot {\left(e^{cosTheta}\right)}^{cosTheta}\right) \cdot {\left(\sqrt[3]{\sqrt[3]{\pi}}\right)}^{2.5}\right)\right)\right)\]

Reproduce

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