double f(double kx, double ky, double th) {
double r1344976 = ky;
double r1344977 = sin(r1344976);
double r1344978 = kx;
double r1344979 = sin(r1344978);
double r1344980 = 2.0;
double r1344981 = pow(r1344979, r1344980);
double r1344982 = pow(r1344977, r1344980);
double r1344983 = r1344981 + r1344982;
double r1344984 = sqrt(r1344983);
double r1344985 = r1344977 / r1344984;
double r1344986 = th;
double r1344987 = sin(r1344986);
double r1344988 = r1344985 * r1344987;
return r1344988;
}
double f(double kx, double ky, double th) {
double r1344989 = ky;
double r1344990 = sin(r1344989);
double r1344991 = th;
double r1344992 = sin(r1344991);
double r1344993 = 1.0;
double r1344994 = kx;
double r1344995 = sin(r1344994);
double r1344996 = r1344995 * r1344995;
double r1344997 = r1344990 * r1344990;
double r1344998 = r1344996 + r1344997;
double r1344999 = r1344993 / r1344998;
double r1345000 = sqrt(r1344999);
double r1345001 = r1344992 * r1345000;
double r1345002 = r1344990 * r1345001;
return r1345002;
}
\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\sin ky \cdot \left(\sin th \cdot \sqrt{\frac{1}{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}\right)


Bits error versus kx



Bits error versus ky



Bits error versus th
Initial program 12.5
Simplified12.5
Taylor expanded around -inf 14.1
Simplified12.9
Final simplification12.9
herbie shell --seed 2019101
(FPCore (kx ky th)
:name "Toniolo and Linder, Equation (3b), real"
(* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)))