Average Error: 1.6 → 2.1
Time: 31.9s
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} + \left(\log \left(\sqrt{e^{\frac{1 \cdot \frac{1}{2}}{\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) + \log \left(\sqrt{e^{\frac{1 \cdot \frac{1}{2}}{\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)\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} + \left(\log \left(\sqrt{e^{\frac{1 \cdot \frac{1}{2}}{\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) + \log \left(\sqrt{e^{\frac{1 \cdot \frac{1}{2}}{\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)\right)}
double f(double l, double Om, double kx, double ky) {
        double r2628933 = 1.0;
        double r2628934 = 2.0;
        double r2628935 = r2628933 / r2628934;
        double r2628936 = l;
        double r2628937 = r2628934 * r2628936;
        double r2628938 = Om;
        double r2628939 = r2628937 / r2628938;
        double r2628940 = pow(r2628939, r2628934);
        double r2628941 = kx;
        double r2628942 = sin(r2628941);
        double r2628943 = pow(r2628942, r2628934);
        double r2628944 = ky;
        double r2628945 = sin(r2628944);
        double r2628946 = pow(r2628945, r2628934);
        double r2628947 = r2628943 + r2628946;
        double r2628948 = r2628940 * r2628947;
        double r2628949 = r2628933 + r2628948;
        double r2628950 = sqrt(r2628949);
        double r2628951 = r2628933 / r2628950;
        double r2628952 = r2628933 + r2628951;
        double r2628953 = r2628935 * r2628952;
        double r2628954 = sqrt(r2628953);
        return r2628954;
}

double f(double l, double Om, double kx, double ky) {
        double r2628955 = 1.0;
        double r2628956 = 2.0;
        double r2628957 = r2628955 / r2628956;
        double r2628958 = r2628955 * r2628957;
        double r2628959 = Om;
        double r2628960 = r2628956 / r2628959;
        double r2628961 = l;
        double r2628962 = r2628960 * r2628961;
        double r2628963 = pow(r2628962, r2628956);
        double r2628964 = ky;
        double r2628965 = sin(r2628964);
        double r2628966 = pow(r2628965, r2628956);
        double r2628967 = kx;
        double r2628968 = sin(r2628967);
        double r2628969 = pow(r2628968, r2628956);
        double r2628970 = r2628966 + r2628969;
        double r2628971 = fma(r2628963, r2628970, r2628955);
        double r2628972 = sqrt(r2628971);
        double r2628973 = r2628958 / r2628972;
        double r2628974 = exp(r2628973);
        double r2628975 = sqrt(r2628974);
        double r2628976 = log(r2628975);
        double r2628977 = r2628976 + r2628976;
        double r2628978 = r2628958 + r2628977;
        double r2628979 = sqrt(r2628978);
        return r2628979;
}

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-log-exp1.6

    \[\leadsto \sqrt{1 \cdot \frac{1}{2} + \color{blue}{\log \left(e^{\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)}}}\right)}}\]
  5. Using strategy rm
  6. Applied add-sqr-sqrt2.1

    \[\leadsto \sqrt{1 \cdot \frac{1}{2} + \log \color{blue}{\left(\sqrt{e^{\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)}}}} \cdot \sqrt{e^{\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)}}}}\right)}}\]
  7. Applied log-prod2.1

    \[\leadsto \sqrt{1 \cdot \frac{1}{2} + \color{blue}{\left(\log \left(\sqrt{e^{\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)}}}}\right) + \log \left(\sqrt{e^{\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)}}}}\right)\right)}}\]
  8. Final simplification2.1

    \[\leadsto \sqrt{1 \cdot \frac{1}{2} + \left(\log \left(\sqrt{e^{\frac{1 \cdot \frac{1}{2}}{\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) + \log \left(\sqrt{e^{\frac{1 \cdot \frac{1}{2}}{\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)\right)}\]

Reproduce

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