\sqrt{\frac{1}{2} \cdot \left(1 + \frac{1}{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}\right)}\sqrt{\frac{1}{2} \cdot \left(1 + \frac{1}{\sqrt[3]{{\left(\sqrt{\mathsf{fma}\left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}, {\left(\frac{2 \cdot \ell}{Om}\right)}^{2}, 1\right)}\right)}^{3}}}\right)}double f(double l, double Om, double kx, double ky) {
double r24746 = 1.0;
double r24747 = 2.0;
double r24748 = r24746 / r24747;
double r24749 = l;
double r24750 = r24747 * r24749;
double r24751 = Om;
double r24752 = r24750 / r24751;
double r24753 = pow(r24752, r24747);
double r24754 = kx;
double r24755 = sin(r24754);
double r24756 = pow(r24755, r24747);
double r24757 = ky;
double r24758 = sin(r24757);
double r24759 = pow(r24758, r24747);
double r24760 = r24756 + r24759;
double r24761 = r24753 * r24760;
double r24762 = r24746 + r24761;
double r24763 = sqrt(r24762);
double r24764 = r24746 / r24763;
double r24765 = r24746 + r24764;
double r24766 = r24748 * r24765;
double r24767 = sqrt(r24766);
return r24767;
}
double f(double l, double Om, double kx, double ky) {
double r24768 = 1.0;
double r24769 = 2.0;
double r24770 = r24768 / r24769;
double r24771 = kx;
double r24772 = sin(r24771);
double r24773 = pow(r24772, r24769);
double r24774 = ky;
double r24775 = sin(r24774);
double r24776 = pow(r24775, r24769);
double r24777 = r24773 + r24776;
double r24778 = l;
double r24779 = r24769 * r24778;
double r24780 = Om;
double r24781 = r24779 / r24780;
double r24782 = pow(r24781, r24769);
double r24783 = fma(r24777, r24782, r24768);
double r24784 = sqrt(r24783);
double r24785 = 3.0;
double r24786 = pow(r24784, r24785);
double r24787 = cbrt(r24786);
double r24788 = r24768 / r24787;
double r24789 = r24768 + r24788;
double r24790 = r24770 * r24789;
double r24791 = sqrt(r24790);
return r24791;
}



Bits error versus l



Bits error versus Om



Bits error versus kx



Bits error versus ky
Initial program 1.5
rmApplied add-cbrt-cube1.5
Simplified1.5
Final simplification1.5
herbie shell --seed 2019305 +o rules:numerics
(FPCore (l Om kx ky)
:name "Toniolo and Linder, Equation (3a)"
:precision binary64
(sqrt (* (/ 1 2) (+ 1 (/ 1 (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))))