Average Error: 12.3 → 11.6
Time: 33.8s
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.9999999999936646233322790067177265882492:\\ \;\;\;\;\sin th \cdot \left(\sqrt{\frac{1}{\sin ky \cdot \sin ky + \sin kx \cdot \sin kx}} \cdot \sin ky\right)\\ \mathbf{else}:\\ \;\;\;\;\left(1 - \left(kx \cdot kx\right) \cdot \frac{1}{6}\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.9999999999936646233322790067177265882492:\\
\;\;\;\;\sin th \cdot \left(\sqrt{\frac{1}{\sin ky \cdot \sin ky + \sin kx \cdot \sin kx}} \cdot \sin ky\right)\\

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

\end{array}
double f(double kx, double ky, double th) {
        double r1276571 = ky;
        double r1276572 = sin(r1276571);
        double r1276573 = kx;
        double r1276574 = sin(r1276573);
        double r1276575 = 2.0;
        double r1276576 = pow(r1276574, r1276575);
        double r1276577 = pow(r1276572, r1276575);
        double r1276578 = r1276576 + r1276577;
        double r1276579 = sqrt(r1276578);
        double r1276580 = r1276572 / r1276579;
        double r1276581 = th;
        double r1276582 = sin(r1276581);
        double r1276583 = r1276580 * r1276582;
        return r1276583;
}

double f(double kx, double ky, double th) {
        double r1276584 = ky;
        double r1276585 = sin(r1276584);
        double r1276586 = kx;
        double r1276587 = sin(r1276586);
        double r1276588 = 2.0;
        double r1276589 = pow(r1276587, r1276588);
        double r1276590 = pow(r1276585, r1276588);
        double r1276591 = r1276589 + r1276590;
        double r1276592 = sqrt(r1276591);
        double r1276593 = r1276585 / r1276592;
        double r1276594 = 0.9999999999936646;
        bool r1276595 = r1276593 <= r1276594;
        double r1276596 = th;
        double r1276597 = sin(r1276596);
        double r1276598 = 1.0;
        double r1276599 = r1276585 * r1276585;
        double r1276600 = r1276587 * r1276587;
        double r1276601 = r1276599 + r1276600;
        double r1276602 = r1276598 / r1276601;
        double r1276603 = sqrt(r1276602);
        double r1276604 = r1276603 * r1276585;
        double r1276605 = r1276597 * r1276604;
        double r1276606 = r1276586 * r1276586;
        double r1276607 = 0.16666666666666666;
        double r1276608 = r1276606 * r1276607;
        double r1276609 = r1276598 - r1276608;
        double r1276610 = r1276609 * r1276597;
        double r1276611 = r1276595 ? r1276605 : r1276610;
        return r1276611;
}

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

    1. Initial program 13.2

      \[\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\]
    2. Using strategy rm
    3. Applied clear-num13.2

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

      \[\leadsto \frac{1}{\color{blue}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}} \cdot \frac{1}{\sin ky}}} \cdot \sin th\]
    6. Applied associate-/r*13.2

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

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

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

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

    1. Initial program 8.9

      \[\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\]
    2. Using strategy rm
    3. Applied clear-num8.9

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

      \[\leadsto \frac{1}{\color{blue}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}} \cdot \frac{1}{\sin ky}}} \cdot \sin th\]
    6. Applied associate-/r*8.9

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

      \[\leadsto \color{blue}{\left(1 - \frac{1}{6} \cdot {kx}^{2}\right)} \cdot \sin th\]
    8. Simplified4.1

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

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

Reproduce

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