Average Error: 12.2 → 11.4
Time: 36.6s
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.999999999998593680494707314210245385766:\\ \;\;\;\;\left(\frac{1}{\sqrt{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}} \cdot \frac{1}{\frac{\sqrt{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}{\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.999999999998593680494707314210245385766:\\
\;\;\;\;\left(\frac{1}{\sqrt{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}} \cdot \frac{1}{\frac{\sqrt{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}{\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 r34354 = ky;
        double r34355 = sin(r34354);
        double r34356 = kx;
        double r34357 = sin(r34356);
        double r34358 = 2.0;
        double r34359 = pow(r34357, r34358);
        double r34360 = pow(r34355, r34358);
        double r34361 = r34359 + r34360;
        double r34362 = sqrt(r34361);
        double r34363 = r34355 / r34362;
        double r34364 = th;
        double r34365 = sin(r34364);
        double r34366 = r34363 * r34365;
        return r34366;
}

double f(double kx, double ky, double th) {
        double r34367 = ky;
        double r34368 = sin(r34367);
        double r34369 = kx;
        double r34370 = sin(r34369);
        double r34371 = 2.0;
        double r34372 = pow(r34370, r34371);
        double r34373 = pow(r34368, r34371);
        double r34374 = r34372 + r34373;
        double r34375 = sqrt(r34374);
        double r34376 = r34368 / r34375;
        double r34377 = 0.9999999999985937;
        bool r34378 = r34376 <= r34377;
        double r34379 = 1.0;
        double r34380 = sqrt(r34375);
        double r34381 = r34379 / r34380;
        double r34382 = r34380 / r34368;
        double r34383 = r34379 / r34382;
        double r34384 = r34381 * r34383;
        double r34385 = th;
        double r34386 = sin(r34385);
        double r34387 = r34384 * r34386;
        double r34388 = 0.16666666666666666;
        double r34389 = 2.0;
        double r34390 = pow(r34369, r34389);
        double r34391 = r34388 * r34390;
        double r34392 = r34379 - r34391;
        double r34393 = r34392 * r34386;
        double r34394 = r34378 ? r34387 : r34393;
        return r34394;
}

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

    1. Initial program 13.1

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

      \[\leadsto \frac{\sin ky}{\sqrt{\color{blue}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}} \cdot \sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}} \cdot \sin th\]
    4. Applied sqrt-prod13.3

      \[\leadsto \frac{\sin ky}{\color{blue}{\sqrt{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sqrt{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}} \cdot \sin th\]
    5. Applied *-un-lft-identity13.3

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

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

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

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

    1. Initial program 8.7

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

      \[\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 3.8

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \le 0.999999999998593680494707314210245385766:\\ \;\;\;\;\left(\frac{1}{\sqrt{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}} \cdot \frac{1}{\frac{\sqrt{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}{\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 2019325 
(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)))