Average Error: 1.7 → 0.6
Time: 28.4s
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{\frac{1}{2}}{\sqrt{\sqrt{\mathsf{fma}\left(4, \frac{\sin kx}{\frac{Om}{\ell}} \cdot \frac{\sin kx}{\frac{Om}{\ell}} + \frac{\ell}{\frac{Om}{\sin ky}} \cdot \frac{\ell}{\frac{Om}{\sin ky}}, 1\right)}} \cdot \sqrt{\sqrt{\mathsf{fma}\left(4, \frac{\sin kx}{\frac{Om}{\ell}} \cdot \frac{\sin kx}{\frac{Om}{\ell}} + \frac{\ell}{\frac{Om}{\sin ky}} \cdot \frac{\ell}{\frac{Om}{\sin ky}}, 1\right)}}} + \frac{1}{2}}\]
\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{\sqrt{\mathsf{fma}\left(4, \frac{\sin kx}{\frac{Om}{\ell}} \cdot \frac{\sin kx}{\frac{Om}{\ell}} + \frac{\ell}{\frac{Om}{\sin ky}} \cdot \frac{\ell}{\frac{Om}{\sin ky}}, 1\right)}} \cdot \sqrt{\sqrt{\mathsf{fma}\left(4, \frac{\sin kx}{\frac{Om}{\ell}} \cdot \frac{\sin kx}{\frac{Om}{\ell}} + \frac{\ell}{\frac{Om}{\sin ky}} \cdot \frac{\ell}{\frac{Om}{\sin ky}}, 1\right)}}} + \frac{1}{2}}
double f(double l, double Om, double kx, double ky) {
        double r930653 = 1.0;
        double r930654 = 2.0;
        double r930655 = r930653 / r930654;
        double r930656 = l;
        double r930657 = r930654 * r930656;
        double r930658 = Om;
        double r930659 = r930657 / r930658;
        double r930660 = pow(r930659, r930654);
        double r930661 = kx;
        double r930662 = sin(r930661);
        double r930663 = pow(r930662, r930654);
        double r930664 = ky;
        double r930665 = sin(r930664);
        double r930666 = pow(r930665, r930654);
        double r930667 = r930663 + r930666;
        double r930668 = r930660 * r930667;
        double r930669 = r930653 + r930668;
        double r930670 = sqrt(r930669);
        double r930671 = r930653 / r930670;
        double r930672 = r930653 + r930671;
        double r930673 = r930655 * r930672;
        double r930674 = sqrt(r930673);
        return r930674;
}

double f(double l, double Om, double kx, double ky) {
        double r930675 = 0.5;
        double r930676 = 4.0;
        double r930677 = kx;
        double r930678 = sin(r930677);
        double r930679 = Om;
        double r930680 = l;
        double r930681 = r930679 / r930680;
        double r930682 = r930678 / r930681;
        double r930683 = r930682 * r930682;
        double r930684 = ky;
        double r930685 = sin(r930684);
        double r930686 = r930679 / r930685;
        double r930687 = r930680 / r930686;
        double r930688 = r930687 * r930687;
        double r930689 = r930683 + r930688;
        double r930690 = 1.0;
        double r930691 = fma(r930676, r930689, r930690);
        double r930692 = sqrt(r930691);
        double r930693 = sqrt(r930692);
        double r930694 = r930693 * r930693;
        double r930695 = r930675 / r930694;
        double r930696 = r930695 + r930675;
        double r930697 = sqrt(r930696);
        return r930697;
}

Error

Bits error versus l

Bits error versus Om

Bits error versus kx

Bits error versus ky

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. Simplified1.7

    \[\leadsto \color{blue}{\sqrt{\frac{1}{2} + \frac{\frac{1}{2}}{\sqrt{\mathsf{fma}\left(\frac{\ell}{\frac{Om}{2}} \cdot \frac{\ell}{\frac{Om}{2}}, \mathsf{fma}\left(\sin ky, \sin ky, \sin kx \cdot \sin kx\right), 1\right)}}}}\]
  3. Taylor expanded around inf 16.3

    \[\leadsto \sqrt{\frac{1}{2} + \frac{\frac{1}{2}}{\sqrt{\color{blue}{4 \cdot \frac{{\ell}^{2} \cdot {\left(\sin ky\right)}^{2}}{{Om}^{2}} + \left(4 \cdot \frac{{\left(\sin kx\right)}^{2} \cdot {\ell}^{2}}{{Om}^{2}} + 1\right)}}}}\]
  4. Simplified0.6

    \[\leadsto \sqrt{\frac{1}{2} + \frac{\frac{1}{2}}{\sqrt{\color{blue}{\mathsf{fma}\left(4, \frac{\ell}{\frac{Om}{\sin ky}} \cdot \frac{\ell}{\frac{Om}{\sin ky}} + \frac{\sin kx}{\frac{Om}{\ell}} \cdot \frac{\sin kx}{\frac{Om}{\ell}}, 1\right)}}}}\]
  5. Using strategy rm
  6. Applied add-sqr-sqrt0.6

    \[\leadsto \sqrt{\frac{1}{2} + \frac{\frac{1}{2}}{\sqrt{\color{blue}{\sqrt{\mathsf{fma}\left(4, \frac{\ell}{\frac{Om}{\sin ky}} \cdot \frac{\ell}{\frac{Om}{\sin ky}} + \frac{\sin kx}{\frac{Om}{\ell}} \cdot \frac{\sin kx}{\frac{Om}{\ell}}, 1\right)} \cdot \sqrt{\mathsf{fma}\left(4, \frac{\ell}{\frac{Om}{\sin ky}} \cdot \frac{\ell}{\frac{Om}{\sin ky}} + \frac{\sin kx}{\frac{Om}{\ell}} \cdot \frac{\sin kx}{\frac{Om}{\ell}}, 1\right)}}}}}\]
  7. Applied sqrt-prod0.6

    \[\leadsto \sqrt{\frac{1}{2} + \frac{\frac{1}{2}}{\color{blue}{\sqrt{\sqrt{\mathsf{fma}\left(4, \frac{\ell}{\frac{Om}{\sin ky}} \cdot \frac{\ell}{\frac{Om}{\sin ky}} + \frac{\sin kx}{\frac{Om}{\ell}} \cdot \frac{\sin kx}{\frac{Om}{\ell}}, 1\right)}} \cdot \sqrt{\sqrt{\mathsf{fma}\left(4, \frac{\ell}{\frac{Om}{\sin ky}} \cdot \frac{\ell}{\frac{Om}{\sin ky}} + \frac{\sin kx}{\frac{Om}{\ell}} \cdot \frac{\sin kx}{\frac{Om}{\ell}}, 1\right)}}}}}\]
  8. Final simplification0.6

    \[\leadsto \sqrt{\frac{\frac{1}{2}}{\sqrt{\sqrt{\mathsf{fma}\left(4, \frac{\sin kx}{\frac{Om}{\ell}} \cdot \frac{\sin kx}{\frac{Om}{\ell}} + \frac{\ell}{\frac{Om}{\sin ky}} \cdot \frac{\ell}{\frac{Om}{\sin ky}}, 1\right)}} \cdot \sqrt{\sqrt{\mathsf{fma}\left(4, \frac{\sin kx}{\frac{Om}{\ell}} \cdot \frac{\sin kx}{\frac{Om}{\ell}} + \frac{\ell}{\frac{Om}{\sin ky}} \cdot \frac{\ell}{\frac{Om}{\sin ky}}, 1\right)}}} + \frac{1}{2}}\]

Reproduce

herbie shell --seed 2019152 +o rules:numerics
(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))))))))))