Average Error: 1.1 → 0.8
Time: 3.5m
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}{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left({\left(\frac{2 \cdot \ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \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}{\sqrt{1 + {\left(\frac{2 \cdot \ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left({\left(\frac{2 \cdot \ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \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 r43573 = 1.0;
        double r43574 = 2.0;
        double r43575 = r43573 / r43574;
        double r43576 = l;
        double r43577 = r43574 * r43576;
        double r43578 = Om;
        double r43579 = r43577 / r43578;
        double r43580 = pow(r43579, r43574);
        double r43581 = kx;
        double r43582 = sin(r43581);
        double r43583 = pow(r43582, r43574);
        double r43584 = ky;
        double r43585 = sin(r43584);
        double r43586 = pow(r43585, r43574);
        double r43587 = r43583 + r43586;
        double r43588 = r43580 * r43587;
        double r43589 = r43573 + r43588;
        double r43590 = sqrt(r43589);
        double r43591 = r43573 / r43590;
        double r43592 = r43573 + r43591;
        double r43593 = r43575 * r43592;
        double r43594 = sqrt(r43593);
        return r43594;
}

double f(double l, double Om, double kx, double ky) {
        double r43595 = 1.0;
        double r43596 = 2.0;
        double r43597 = r43595 / r43596;
        double r43598 = l;
        double r43599 = r43596 * r43598;
        double r43600 = Om;
        double r43601 = r43599 / r43600;
        double r43602 = 2.0;
        double r43603 = r43596 / r43602;
        double r43604 = pow(r43601, r43603);
        double r43605 = kx;
        double r43606 = sin(r43605);
        double r43607 = pow(r43606, r43596);
        double r43608 = ky;
        double r43609 = sin(r43608);
        double r43610 = pow(r43609, r43596);
        double r43611 = r43607 + r43610;
        double r43612 = r43604 * r43611;
        double r43613 = r43604 * r43612;
        double r43614 = r43595 + r43613;
        double r43615 = sqrt(r43614);
        double r43616 = r43595 / r43615;
        double r43617 = r43595 + r43616;
        double r43618 = r43597 * r43617;
        double r43619 = sqrt(r43618);
        return r43619;
}

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

    \[\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 sqr-pow1.1

    \[\leadsto \sqrt{\frac{1}{2} \cdot \left(1 + \frac{1}{\sqrt{1 + \color{blue}{\left({\left(\frac{2 \cdot \ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot {\left(\frac{2 \cdot \ell}{Om}\right)}^{\left(\frac{2}{2}\right)}\right)} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)}}\right)}\]
  4. Applied associate-*l*0.8

    \[\leadsto \sqrt{\frac{1}{2} \cdot \left(1 + \frac{1}{\sqrt{1 + \color{blue}{{\left(\frac{2 \cdot \ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left({\left(\frac{2 \cdot \ell}{Om}\right)}^{\left(\frac{2}{2}\right)} \cdot \left({\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}\right)\right)}}}\right)}\]
  5. Final simplification0.8

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

Reproduce

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