double f(double l, double Om, double kx, double ky) {
double r10150063 = 1.0;
double r10150064 = 2.0;
double r10150065 = r10150063 / r10150064;
double r10150066 = l;
double r10150067 = r10150064 * r10150066;
double r10150068 = Om;
double r10150069 = r10150067 / r10150068;
double r10150070 = pow(r10150069, r10150064);
double r10150071 = kx;
double r10150072 = sin(r10150071);
double r10150073 = pow(r10150072, r10150064);
double r10150074 = ky;
double r10150075 = sin(r10150074);
double r10150076 = pow(r10150075, r10150064);
double r10150077 = r10150073 + r10150076;
double r10150078 = r10150070 * r10150077;
double r10150079 = r10150063 + r10150078;
double r10150080 = sqrt(r10150079);
double r10150081 = r10150063 / r10150080;
double r10150082 = r10150063 + r10150081;
double r10150083 = r10150065 * r10150082;
double r10150084 = sqrt(r10150083);
return r10150084;
}
double f(double l, double Om, double kx, double ky) {
double r10150085 = 0.5;
double r10150086 = ky;
double r10150087 = sin(r10150086);
double r10150088 = r10150087 * r10150087;
double r10150089 = kx;
double r10150090 = sin(r10150089);
double r10150091 = r10150090 * r10150090;
double r10150092 = r10150088 + r10150091;
double r10150093 = 2.0;
double r10150094 = Om;
double r10150095 = r10150093 / r10150094;
double r10150096 = l;
double r10150097 = r10150095 * r10150096;
double r10150098 = r10150097 * r10150097;
double r10150099 = r10150092 * r10150098;
double r10150100 = 1.0;
double r10150101 = r10150099 + r10150100;
double r10150102 = sqrt(r10150101);
double r10150103 = r10150085 / r10150102;
double r10150104 = r10150103 + r10150085;
double r10150105 = sqrt(r10150104);
return r10150105;
}
\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{\frac{1}{2}}{\sqrt{\left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right) \cdot \left(\left(\frac{2}{Om} \cdot \ell\right) \cdot \left(\frac{2}{Om} \cdot \ell\right)\right) + 1}} + \frac{1}{2}}


Bits error versus l



Bits error versus Om



Bits error versus kx



Bits error versus ky
Initial program 1.6
Simplified1.6
Final simplification1.6
herbie shell --seed 2019102
(FPCore (l Om kx ky)
:name "Toniolo and Linder, Equation (3a)"
(sqrt (* (/ 1 2) (+ 1 (/ 1 (sqrt (+ 1 (* (pow (/ (* 2 l) Om) 2) (+ (pow (sin kx) 2) (pow (sin ky) 2))))))))))