Average Error: 1.6 → 2.1
Time: 43.1s
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{\frac{1}{2}}{\sqrt[3]{\sqrt{1 + \left(\frac{\ell \cdot 2}{Om} \cdot \left(\left(\left(\sin ky \cdot \sin ky\right)\right) + \sin kx \cdot \sin kx\right)\right) \cdot \frac{\ell \cdot 2}{Om}}} \cdot \sqrt[3]{\sqrt{1 + \left(\frac{\ell \cdot 2}{Om} \cdot \left(\left(\left(\sin ky \cdot \sin ky\right)\right) + \sin kx \cdot \sin kx\right)\right) \cdot \frac{\ell \cdot 2}{Om}}}}}{\sqrt[3]{\sqrt{1 + \left(\frac{\ell \cdot 2}{Om} \cdot \left(\left(\left(\sin ky \cdot \sin ky\right)\right) + \sin kx \cdot \sin kx\right)\right) \cdot \frac{\ell \cdot 2}{Om}}}} + \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{\frac{1}{2}}{\sqrt[3]{\sqrt{1 + \left(\frac{\ell \cdot 2}{Om} \cdot \left(\left(\left(\sin ky \cdot \sin ky\right)\right) + \sin kx \cdot \sin kx\right)\right) \cdot \frac{\ell \cdot 2}{Om}}} \cdot \sqrt[3]{\sqrt{1 + \left(\frac{\ell \cdot 2}{Om} \cdot \left(\left(\left(\sin ky \cdot \sin ky\right)\right) + \sin kx \cdot \sin kx\right)\right) \cdot \frac{\ell \cdot 2}{Om}}}}}{\sqrt[3]{\sqrt{1 + \left(\frac{\ell \cdot 2}{Om} \cdot \left(\left(\left(\sin ky \cdot \sin ky\right)\right) + \sin kx \cdot \sin kx\right)\right) \cdot \frac{\ell \cdot 2}{Om}}}} + \frac{1}{2}}
double f(double l, double Om, double kx, double ky) {
        double r1863447 = 1.0;
        double r1863448 = 2.0;
        double r1863449 = r1863447 / r1863448;
        double r1863450 = l;
        double r1863451 = r1863448 * r1863450;
        double r1863452 = Om;
        double r1863453 = r1863451 / r1863452;
        double r1863454 = pow(r1863453, r1863448);
        double r1863455 = kx;
        double r1863456 = sin(r1863455);
        double r1863457 = pow(r1863456, r1863448);
        double r1863458 = ky;
        double r1863459 = sin(r1863458);
        double r1863460 = pow(r1863459, r1863448);
        double r1863461 = r1863457 + r1863460;
        double r1863462 = r1863454 * r1863461;
        double r1863463 = r1863447 + r1863462;
        double r1863464 = sqrt(r1863463);
        double r1863465 = r1863447 / r1863464;
        double r1863466 = r1863447 + r1863465;
        double r1863467 = r1863449 * r1863466;
        double r1863468 = sqrt(r1863467);
        return r1863468;
}

double f(double l, double Om, double kx, double ky) {
        double r1863469 = 0.5;
        double r1863470 = 1.0;
        double r1863471 = l;
        double r1863472 = 2.0;
        double r1863473 = r1863471 * r1863472;
        double r1863474 = Om;
        double r1863475 = r1863473 / r1863474;
        double r1863476 = ky;
        double r1863477 = sin(r1863476);
        double r1863478 = r1863477 * r1863477;
        double r1863479 = /* ERROR: no posit support in C */;
        double r1863480 = /* ERROR: no posit support in C */;
        double r1863481 = kx;
        double r1863482 = sin(r1863481);
        double r1863483 = r1863482 * r1863482;
        double r1863484 = r1863480 + r1863483;
        double r1863485 = r1863475 * r1863484;
        double r1863486 = r1863485 * r1863475;
        double r1863487 = r1863470 + r1863486;
        double r1863488 = sqrt(r1863487);
        double r1863489 = cbrt(r1863488);
        double r1863490 = r1863489 * r1863489;
        double r1863491 = r1863469 / r1863490;
        double r1863492 = r1863491 / r1863489;
        double r1863493 = r1863492 + r1863469;
        double r1863494 = sqrt(r1863493);
        return r1863494;
}

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{\frac{1}{2}}{\sqrt{\left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right) \cdot \left(\frac{\ell \cdot 2}{Om} \cdot \frac{\ell \cdot 2}{Om}\right) + 1}} + \frac{1}{2}}}\]
  3. Using strategy rm
  4. Applied associate-*r*1.3

    \[\leadsto \sqrt{\frac{\frac{1}{2}}{\sqrt{\color{blue}{\left(\left(\sin ky \cdot \sin ky + \sin kx \cdot \sin kx\right) \cdot \frac{\ell \cdot 2}{Om}\right) \cdot \frac{\ell \cdot 2}{Om}} + 1}} + \frac{1}{2}}\]
  5. Using strategy rm
  6. Applied insert-posit162.1

    \[\leadsto \sqrt{\frac{\frac{1}{2}}{\sqrt{\left(\left(\color{blue}{\left(\left(\sin ky \cdot \sin ky\right)\right)} + \sin kx \cdot \sin kx\right) \cdot \frac{\ell \cdot 2}{Om}\right) \cdot \frac{\ell \cdot 2}{Om} + 1}} + \frac{1}{2}}\]
  7. Using strategy rm
  8. Applied add-cube-cbrt2.1

    \[\leadsto \sqrt{\frac{\frac{1}{2}}{\color{blue}{\left(\sqrt[3]{\sqrt{\left(\left(\left(\left(\sin ky \cdot \sin ky\right)\right) + \sin kx \cdot \sin kx\right) \cdot \frac{\ell \cdot 2}{Om}\right) \cdot \frac{\ell \cdot 2}{Om} + 1}} \cdot \sqrt[3]{\sqrt{\left(\left(\left(\left(\sin ky \cdot \sin ky\right)\right) + \sin kx \cdot \sin kx\right) \cdot \frac{\ell \cdot 2}{Om}\right) \cdot \frac{\ell \cdot 2}{Om} + 1}}\right) \cdot \sqrt[3]{\sqrt{\left(\left(\left(\left(\sin ky \cdot \sin ky\right)\right) + \sin kx \cdot \sin kx\right) \cdot \frac{\ell \cdot 2}{Om}\right) \cdot \frac{\ell \cdot 2}{Om} + 1}}}} + \frac{1}{2}}\]
  9. Applied associate-/r*2.1

    \[\leadsto \sqrt{\color{blue}{\frac{\frac{\frac{1}{2}}{\sqrt[3]{\sqrt{\left(\left(\left(\left(\sin ky \cdot \sin ky\right)\right) + \sin kx \cdot \sin kx\right) \cdot \frac{\ell \cdot 2}{Om}\right) \cdot \frac{\ell \cdot 2}{Om} + 1}} \cdot \sqrt[3]{\sqrt{\left(\left(\left(\left(\sin ky \cdot \sin ky\right)\right) + \sin kx \cdot \sin kx\right) \cdot \frac{\ell \cdot 2}{Om}\right) \cdot \frac{\ell \cdot 2}{Om} + 1}}}}{\sqrt[3]{\sqrt{\left(\left(\left(\left(\sin ky \cdot \sin ky\right)\right) + \sin kx \cdot \sin kx\right) \cdot \frac{\ell \cdot 2}{Om}\right) \cdot \frac{\ell \cdot 2}{Om} + 1}}}} + \frac{1}{2}}\]
  10. Final simplification2.1

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

Reproduce

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