\frac{\sin ky}{\sqrt{{\sin kx}^{2} + {\sin ky}^{2}}} \cdot \sin th\frac{\sqrt[3]{\sin ky} \cdot \sqrt[3]{\sin ky}}{\sqrt[3]{\sqrt{{\sin kx}^{2} + {\sin ky}^{2}}} \cdot \sqrt[3]{\sqrt{{\sin kx}^{2} + {\sin ky}^{2}}}} \cdot \left(\sin th \cdot \frac{\sqrt[3]{\sin ky}}{\sqrt[3]{\sqrt{{\sin kx}^{2} + {\sin ky}^{2}}}}\right)(FPCore (kx ky th) :precision binary64 (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2.0) (pow (sin ky) 2.0)))) (sin th)))
(FPCore (kx ky th)
:precision binary64
(*
(/
(* (cbrt (sin ky)) (cbrt (sin ky)))
(*
(cbrt (sqrt (+ (pow (sin kx) 2.0) (pow (sin ky) 2.0))))
(cbrt (sqrt (+ (pow (sin kx) 2.0) (pow (sin ky) 2.0))))))
(*
(sin th)
(/
(cbrt (sin ky))
(cbrt (sqrt (+ (pow (sin kx) 2.0) (pow (sin ky) 2.0))))))))double code(double kx, double ky, double th) {
return (sin(ky) / sqrt(pow(sin(kx), 2.0) + pow(sin(ky), 2.0))) * sin(th);
}
double code(double kx, double ky, double th) {
return ((cbrt(sin(ky)) * cbrt(sin(ky))) / (cbrt(sqrt(pow(sin(kx), 2.0) + pow(sin(ky), 2.0))) * cbrt(sqrt(pow(sin(kx), 2.0) + pow(sin(ky), 2.0))))) * (sin(th) * (cbrt(sin(ky)) / cbrt(sqrt(pow(sin(kx), 2.0) + pow(sin(ky), 2.0)))));
}



Bits error versus kx



Bits error versus ky



Bits error versus th
Results
Initial program 4.0
rmApplied add-cube-cbrt_binary645.0
Applied add-cube-cbrt_binary644.7
Applied times-frac_binary644.7
Applied associate-*l*_binary644.7
Simplified4.7
Final simplification4.7
herbie shell --seed 2020253
(FPCore (kx ky th)
:name "Toniolo and Linder, Equation (3b), real"
:precision binary64
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2.0) (pow (sin ky) 2.0)))) (sin th)))