Average Error: 1.6 → 1.6
Time: 33.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{1 \cdot \frac{1}{2} + \frac{1 \cdot \frac{1}{2}}{\left(\sqrt[3]{\sqrt{\mathsf{fma}\left({\left(\frac{2}{Om} \cdot \ell\right)}^{2}, {\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}, 1\right)}} \cdot \sqrt[3]{\sqrt{\mathsf{fma}\left({\left(\frac{2}{Om} \cdot \ell\right)}^{2}, {\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}, 1\right)}}\right) \cdot \left(\sqrt[3]{\sqrt{\sqrt{\mathsf{fma}\left({\left(\frac{2}{Om} \cdot \ell\right)}^{2}, {\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}, 1\right)}}} \cdot \sqrt[3]{\sqrt{\sqrt{\mathsf{fma}\left({\left(\frac{2}{Om} \cdot \ell\right)}^{2}, {\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}, 1\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{1 \cdot \frac{1}{2} + \frac{1 \cdot \frac{1}{2}}{\left(\sqrt[3]{\sqrt{\mathsf{fma}\left({\left(\frac{2}{Om} \cdot \ell\right)}^{2}, {\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}, 1\right)}} \cdot \sqrt[3]{\sqrt{\mathsf{fma}\left({\left(\frac{2}{Om} \cdot \ell\right)}^{2}, {\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}, 1\right)}}\right) \cdot \left(\sqrt[3]{\sqrt{\sqrt{\mathsf{fma}\left({\left(\frac{2}{Om} \cdot \ell\right)}^{2}, {\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}, 1\right)}}} \cdot \sqrt[3]{\sqrt{\sqrt{\mathsf{fma}\left({\left(\frac{2}{Om} \cdot \ell\right)}^{2}, {\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}, 1\right)}}}\right)}}
double f(double l, double Om, double kx, double ky) {
        double r1882741 = 1.0;
        double r1882742 = 2.0;
        double r1882743 = r1882741 / r1882742;
        double r1882744 = l;
        double r1882745 = r1882742 * r1882744;
        double r1882746 = Om;
        double r1882747 = r1882745 / r1882746;
        double r1882748 = pow(r1882747, r1882742);
        double r1882749 = kx;
        double r1882750 = sin(r1882749);
        double r1882751 = pow(r1882750, r1882742);
        double r1882752 = ky;
        double r1882753 = sin(r1882752);
        double r1882754 = pow(r1882753, r1882742);
        double r1882755 = r1882751 + r1882754;
        double r1882756 = r1882748 * r1882755;
        double r1882757 = r1882741 + r1882756;
        double r1882758 = sqrt(r1882757);
        double r1882759 = r1882741 / r1882758;
        double r1882760 = r1882741 + r1882759;
        double r1882761 = r1882743 * r1882760;
        double r1882762 = sqrt(r1882761);
        return r1882762;
}

double f(double l, double Om, double kx, double ky) {
        double r1882763 = 1.0;
        double r1882764 = 2.0;
        double r1882765 = r1882763 / r1882764;
        double r1882766 = r1882763 * r1882765;
        double r1882767 = Om;
        double r1882768 = r1882764 / r1882767;
        double r1882769 = l;
        double r1882770 = r1882768 * r1882769;
        double r1882771 = pow(r1882770, r1882764);
        double r1882772 = ky;
        double r1882773 = sin(r1882772);
        double r1882774 = pow(r1882773, r1882764);
        double r1882775 = kx;
        double r1882776 = sin(r1882775);
        double r1882777 = pow(r1882776, r1882764);
        double r1882778 = r1882774 + r1882777;
        double r1882779 = fma(r1882771, r1882778, r1882763);
        double r1882780 = sqrt(r1882779);
        double r1882781 = cbrt(r1882780);
        double r1882782 = r1882781 * r1882781;
        double r1882783 = sqrt(r1882780);
        double r1882784 = cbrt(r1882783);
        double r1882785 = r1882784 * r1882784;
        double r1882786 = r1882782 * r1882785;
        double r1882787 = r1882766 / r1882786;
        double r1882788 = r1882766 + r1882787;
        double r1882789 = sqrt(r1882788);
        return r1882789;
}

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{1 \cdot \frac{1}{2} + \frac{1 \cdot \frac{1}{2}}{\sqrt{\mathsf{fma}\left({\left(\ell \cdot \frac{2}{Om}\right)}^{2}, {\left(\sin ky\right)}^{2} + {\left(\sin kx\right)}^{2}, 1\right)}}}}\]
  3. Using strategy rm
  4. Applied add-cube-cbrt1.6

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

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

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

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

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

Reproduce

herbie shell --seed 2019170 +o rules:numerics
(FPCore (l Om kx ky)
  :name "Toniolo and Linder, Equation (3a)"
  (sqrt (* (/ 1.0 2.0) (+ 1.0 (/ 1.0 (sqrt (+ 1.0 (* (pow (/ (* 2.0 l) Om) 2.0) (+ (pow (sin kx) 2.0) (pow (sin ky) 2.0))))))))))