Average Error: 12.2 → 11.4
Time: 36.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.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 r34365 = ky;
        double r34366 = sin(r34365);
        double r34367 = kx;
        double r34368 = sin(r34367);
        double r34369 = 2.0;
        double r34370 = pow(r34368, r34369);
        double r34371 = pow(r34366, r34369);
        double r34372 = r34370 + r34371;
        double r34373 = sqrt(r34372);
        double r34374 = r34366 / r34373;
        double r34375 = th;
        double r34376 = sin(r34375);
        double r34377 = r34374 * r34376;
        return r34377;
}

double f(double kx, double ky, double th) {
        double r34378 = ky;
        double r34379 = sin(r34378);
        double r34380 = kx;
        double r34381 = sin(r34380);
        double r34382 = 2.0;
        double r34383 = pow(r34381, r34382);
        double r34384 = pow(r34379, r34382);
        double r34385 = r34383 + r34384;
        double r34386 = sqrt(r34385);
        double r34387 = r34379 / r34386;
        double r34388 = 0.9999999999985937;
        bool r34389 = r34387 <= r34388;
        double r34390 = 1.0;
        double r34391 = sqrt(r34386);
        double r34392 = r34390 / r34391;
        double r34393 = r34391 / r34379;
        double r34394 = r34390 / r34393;
        double r34395 = r34392 * r34394;
        double r34396 = th;
        double r34397 = sin(r34396);
        double r34398 = r34395 * r34397;
        double r34399 = 0.16666666666666666;
        double r34400 = 2.0;
        double r34401 = pow(r34380, r34400);
        double r34402 = r34399 * r34401;
        double r34403 = r34390 - r34402;
        double r34404 = r34403 * r34397;
        double r34405 = r34389 ? r34398 : r34404;
        return r34405;
}

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