Average Error: 13.0 → 12.4
Time: 19.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 r38500 = ky;
        double r38501 = sin(r38500);
        double r38502 = kx;
        double r38503 = sin(r38502);
        double r38504 = 2.0;
        double r38505 = pow(r38503, r38504);
        double r38506 = pow(r38501, r38504);
        double r38507 = r38505 + r38506;
        double r38508 = sqrt(r38507);
        double r38509 = r38501 / r38508;
        double r38510 = th;
        double r38511 = sin(r38510);
        double r38512 = r38509 * r38511;
        return r38512;
}

double f(double kx, double ky, double th) {
        double r38513 = ky;
        double r38514 = sin(r38513);
        double r38515 = kx;
        double r38516 = sin(r38515);
        double r38517 = 2.0;
        double r38518 = pow(r38516, r38517);
        double r38519 = pow(r38514, r38517);
        double r38520 = r38518 + r38519;
        double r38521 = sqrt(r38520);
        double r38522 = r38514 / r38521;
        double r38523 = 0.9999999929828307;
        bool r38524 = r38522 <= r38523;
        double r38525 = 1.0;
        double r38526 = 2.0;
        double r38527 = pow(r38516, r38526);
        double r38528 = cbrt(r38527);
        double r38529 = r38528 * r38528;
        double r38530 = r38529 * r38528;
        double r38531 = pow(r38514, r38526);
        double r38532 = r38530 + r38531;
        double r38533 = r38525 / r38532;
        double r38534 = sqrt(r38533);
        double r38535 = r38534 * r38514;
        double r38536 = th;
        double r38537 = sin(r38536);
        double r38538 = r38535 * r38537;
        double r38539 = 0.16666666666666666;
        double r38540 = pow(r38515, r38526);
        double r38541 = r38539 * r38540;
        double r38542 = r38525 - r38541;
        double r38543 = r38542 * r38537;
        double r38544 = r38524 ? r38538 : r38543;
        return r38544;
}

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)))