Average Error: 1.7 → 1.9
Time: 10.0s
Precision: 64
\[\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}{\log \left(e^{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}\right)}\right)}\]
\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}{\log \left(e^{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}\right)}\right)}
double f(double l, double Om, double kx, double ky) {
        double r53802 = 1.0;
        double r53803 = 2.0;
        double r53804 = r53802 / r53803;
        double r53805 = l;
        double r53806 = r53803 * r53805;
        double r53807 = Om;
        double r53808 = r53806 / r53807;
        double r53809 = pow(r53808, r53803);
        double r53810 = kx;
        double r53811 = sin(r53810);
        double r53812 = pow(r53811, r53803);
        double r53813 = ky;
        double r53814 = sin(r53813);
        double r53815 = pow(r53814, r53803);
        double r53816 = r53812 + r53815;
        double r53817 = r53809 * r53816;
        double r53818 = r53802 + r53817;
        double r53819 = sqrt(r53818);
        double r53820 = r53802 / r53819;
        double r53821 = r53802 + r53820;
        double r53822 = r53804 * r53821;
        double r53823 = sqrt(r53822);
        return r53823;
}

double f(double l, double Om, double kx, double ky) {
        double r53824 = 1.0;
        double r53825 = 2.0;
        double r53826 = r53824 / r53825;
        double r53827 = l;
        double r53828 = r53825 * r53827;
        double r53829 = Om;
        double r53830 = r53828 / r53829;
        double r53831 = pow(r53830, r53825);
        double r53832 = kx;
        double r53833 = sin(r53832);
        double r53834 = pow(r53833, r53825);
        double r53835 = ky;
        double r53836 = sin(r53835);
        double r53837 = pow(r53836, r53825);
        double r53838 = r53834 + r53837;
        double r53839 = r53831 * r53838;
        double r53840 = r53824 + r53839;
        double r53841 = sqrt(r53840);
        double r53842 = exp(r53841);
        double r53843 = log(r53842);
        double r53844 = r53824 / r53843;
        double r53845 = r53824 + r53844;
        double r53846 = r53826 * r53845;
        double r53847 = sqrt(r53846);
        return r53847;
}

Error

Bits error versus l

Bits error versus Om

Bits error versus kx

Bits error versus ky

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 1.7

    \[\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)}\]
  2. Using strategy rm
  3. Applied add-log-exp1.9

    \[\leadsto \sqrt{\frac{1}{2} \cdot \left(1 + \frac{1}{\color{blue}{\log \left(e^{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}\right)}}\right)}\]
  4. Final simplification1.9

    \[\leadsto \sqrt{\frac{1}{2} \cdot \left(1 + \frac{1}{\log \left(e^{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{2} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}\right)}\right)}\]

Reproduce

herbie shell --seed 2020081 
(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))))))))))