Average Error: 12.5 → 11.6
Time: 11.4s
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.99999999999988698:\\ \;\;\;\;\frac{\sin ky}{\sqrt{\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 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.99999999999988698:\\
\;\;\;\;\frac{\sin ky}{\sqrt{\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 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 r47702 = ky;
        double r47703 = sin(r47702);
        double r47704 = kx;
        double r47705 = sin(r47704);
        double r47706 = 2.0;
        double r47707 = pow(r47705, r47706);
        double r47708 = pow(r47703, r47706);
        double r47709 = r47707 + r47708;
        double r47710 = sqrt(r47709);
        double r47711 = r47703 / r47710;
        double r47712 = th;
        double r47713 = sin(r47712);
        double r47714 = r47711 * r47713;
        return r47714;
}

double f(double kx, double ky, double th) {
        double r47715 = ky;
        double r47716 = sin(r47715);
        double r47717 = kx;
        double r47718 = sin(r47717);
        double r47719 = 2.0;
        double r47720 = pow(r47718, r47719);
        double r47721 = pow(r47716, r47719);
        double r47722 = r47720 + r47721;
        double r47723 = sqrt(r47722);
        double r47724 = r47716 / r47723;
        double r47725 = 0.999999999999887;
        bool r47726 = r47724 <= r47725;
        double r47727 = cbrt(r47720);
        double r47728 = r47727 * r47727;
        double r47729 = r47728 * r47727;
        double r47730 = r47729 + r47721;
        double r47731 = sqrt(r47730);
        double r47732 = r47716 / r47731;
        double r47733 = th;
        double r47734 = sin(r47733);
        double r47735 = r47732 * r47734;
        double r47736 = 1.0;
        double r47737 = 0.16666666666666666;
        double r47738 = 2.0;
        double r47739 = pow(r47717, r47738);
        double r47740 = r47737 * r47739;
        double r47741 = r47736 - r47740;
        double r47742 = r47741 * r47734;
        double r47743 = r47726 ? r47735 : r47742;
        return r47743;
}

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

    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 add-cube-cbrt13.3

      \[\leadsto \frac{\sin ky}{\sqrt{\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 th\]

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

    1. Initial program 9.5

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

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

      \[\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.6

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

Reproduce

herbie shell --seed 2020027 
(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)))