Average Error: 1.6 → 0.6
Time: 40.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{1}{2} + \frac{\frac{1}{2}}{\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)}}}\]
\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} + \frac{\frac{1}{2}}{\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)}}}
double f(double l, double Om, double kx, double ky) {
        double r971613 = 1.0;
        double r971614 = 2.0;
        double r971615 = r971613 / r971614;
        double r971616 = l;
        double r971617 = r971614 * r971616;
        double r971618 = Om;
        double r971619 = r971617 / r971618;
        double r971620 = pow(r971619, r971614);
        double r971621 = kx;
        double r971622 = sin(r971621);
        double r971623 = pow(r971622, r971614);
        double r971624 = ky;
        double r971625 = sin(r971624);
        double r971626 = pow(r971625, r971614);
        double r971627 = r971623 + r971626;
        double r971628 = r971620 * r971627;
        double r971629 = r971613 + r971628;
        double r971630 = sqrt(r971629);
        double r971631 = r971613 / r971630;
        double r971632 = r971613 + r971631;
        double r971633 = r971615 * r971632;
        double r971634 = sqrt(r971633);
        return r971634;
}

double f(double l, double Om, double kx, double ky) {
        double r971635 = 0.5;
        double r971636 = 4.0;
        double r971637 = kx;
        double r971638 = sin(r971637);
        double r971639 = Om;
        double r971640 = l;
        double r971641 = r971639 / r971640;
        double r971642 = r971638 / r971641;
        double r971643 = r971642 * r971642;
        double r971644 = ky;
        double r971645 = sin(r971644);
        double r971646 = r971639 / r971645;
        double r971647 = r971640 / r971646;
        double r971648 = r971647 * r971647;
        double r971649 = r971643 + r971648;
        double r971650 = 1.0;
        double r971651 = fma(r971636, r971649, r971650);
        double r971652 = sqrt(r971651);
        double r971653 = r971635 / r971652;
        double r971654 = r971635 + r971653;
        double r971655 = sqrt(r971654);
        return r971655;
}

Error

Bits error versus l

Bits error versus Om

Bits error versus kx

Bits error versus ky

Derivation

  1. Initial program 1.6

    \[\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.6

    \[\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.8

    \[\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 *-un-lft-identity0.6

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

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

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

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

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

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

    \[\leadsto \sqrt{\frac{1}{2} + \frac{\frac{1}{2}}{\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)}}}\]

Reproduce

herbie shell --seed 2019146 +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))))))))))