Average Error: 13.0 → 12.4
Time: 17.2s
Precision: 64
\[\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\]
\[\begin{array}{l} \mathbf{if}\;\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \le 0.99999999298283071:\\ \;\;\;\;\left(\sqrt{\frac{1}{\left(\sqrt[3]{{\left(\sin kx\right)}^{2}} \cdot \sqrt[3]{{\left(\sin kx\right)}^{2}}\right) \cdot \sqrt[3]{{\left(\sin kx\right)}^{2}} + {\left(\sin ky\right)}^{2}}} \cdot \sin ky\right) \cdot \sin th\\ \mathbf{else}:\\ \;\;\;\;\left(1 - \frac{1}{6} \cdot {kx}^{2}\right) \cdot \sin th\\ \end{array}\]
\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th
\begin{array}{l}
\mathbf{if}\;\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \le 0.99999999298283071:\\
\;\;\;\;\left(\sqrt{\frac{1}{\left(\sqrt[3]{{\left(\sin kx\right)}^{2}} \cdot \sqrt[3]{{\left(\sin kx\right)}^{2}}\right) \cdot \sqrt[3]{{\left(\sin kx\right)}^{2}} + {\left(\sin ky\right)}^{2}}} \cdot \sin ky\right) \cdot \sin th\\

\mathbf{else}:\\
\;\;\;\;\left(1 - \frac{1}{6} \cdot {kx}^{2}\right) \cdot \sin th\\

\end{array}
double f(double kx, double ky, double th) {
        double r38451 = ky;
        double r38452 = sin(r38451);
        double r38453 = kx;
        double r38454 = sin(r38453);
        double r38455 = 2.0;
        double r38456 = pow(r38454, r38455);
        double r38457 = pow(r38452, r38455);
        double r38458 = r38456 + r38457;
        double r38459 = sqrt(r38458);
        double r38460 = r38452 / r38459;
        double r38461 = th;
        double r38462 = sin(r38461);
        double r38463 = r38460 * r38462;
        return r38463;
}

double f(double kx, double ky, double th) {
        double r38464 = ky;
        double r38465 = sin(r38464);
        double r38466 = kx;
        double r38467 = sin(r38466);
        double r38468 = 2.0;
        double r38469 = pow(r38467, r38468);
        double r38470 = pow(r38465, r38468);
        double r38471 = r38469 + r38470;
        double r38472 = sqrt(r38471);
        double r38473 = r38465 / r38472;
        double r38474 = 0.9999999929828307;
        bool r38475 = r38473 <= r38474;
        double r38476 = 1.0;
        double r38477 = 2.0;
        double r38478 = pow(r38467, r38477);
        double r38479 = cbrt(r38478);
        double r38480 = r38479 * r38479;
        double r38481 = r38480 * r38479;
        double r38482 = pow(r38465, r38477);
        double r38483 = r38481 + r38482;
        double r38484 = r38476 / r38483;
        double r38485 = sqrt(r38484);
        double r38486 = r38485 * r38465;
        double r38487 = th;
        double r38488 = sin(r38487);
        double r38489 = r38486 * r38488;
        double r38490 = 0.16666666666666666;
        double r38491 = pow(r38466, r38477);
        double r38492 = r38490 * r38491;
        double r38493 = r38476 - r38492;
        double r38494 = r38493 * r38488;
        double r38495 = r38475 ? r38489 : r38494;
        return r38495;
}

Error

Bits error versus kx

Bits error versus ky

Bits error versus th

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if (/ (sin ky) (sqrt (+ (pow (sin kx) 2.0) (pow (sin ky) 2.0)))) < 0.9999999929828307

    1. Initial program 13.7

      \[\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\]
    2. Taylor expanded around inf 14.0

      \[\leadsto \color{blue}{\left(\sqrt{\frac{1}{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin ky\right)} \cdot \sin th\]
    3. Using strategy rm
    4. Applied add-cube-cbrt14.1

      \[\leadsto \left(\sqrt{\frac{1}{\color{blue}{\left(\sqrt[3]{{\left(\sin kx\right)}^{2}} \cdot \sqrt[3]{{\left(\sin kx\right)}^{2}}\right) \cdot \sqrt[3]{{\left(\sin kx\right)}^{2}}} + {\left(\sin ky\right)}^{2}}} \cdot \sin ky\right) \cdot \sin th\]

    if 0.9999999929828307 < (/ (sin ky) (sqrt (+ (pow (sin kx) 2.0) (pow (sin ky) 2.0))))

    1. Initial program 10.1

      \[\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\]
    2. Taylor expanded around inf 10.6

      \[\leadsto \color{blue}{\left(\sqrt{\frac{1}{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin ky\right)} \cdot \sin th\]
    3. Taylor expanded around 0 5.0

      \[\leadsto \color{blue}{\left(1 - \frac{1}{6} \cdot {kx}^{2}\right)} \cdot \sin th\]
  3. Recombined 2 regimes into one program.
  4. Final simplification12.4

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \le 0.99999999298283071:\\ \;\;\;\;\left(\sqrt{\frac{1}{\left(\sqrt[3]{{\left(\sin kx\right)}^{2}} \cdot \sqrt[3]{{\left(\sin kx\right)}^{2}}\right) \cdot \sqrt[3]{{\left(\sin kx\right)}^{2}} + {\left(\sin ky\right)}^{2}}} \cdot \sin ky\right) \cdot \sin th\\ \mathbf{else}:\\ \;\;\;\;\left(1 - \frac{1}{6} \cdot {kx}^{2}\right) \cdot \sin th\\ \end{array}\]

Reproduce

herbie shell --seed 2020047 
(FPCore (kx ky th)
  :name "Toniolo and Linder, Equation (3b), real"
  :precision binary64
  (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)))