Average Error: 12.5 → 11.8
Time: 38.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 1:\\ \;\;\;\;\sin ky \cdot \left(\frac{1}{\sqrt{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}} \cdot \frac{\sin th}{\sqrt{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{\sin ky}{ky \cdot \left(kx \cdot \left(kx \cdot \frac{1}{12}\right) - \left(ky \cdot ky\right) \cdot \frac{1}{6}\right) + ky} \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 1:\\
\;\;\;\;\sin ky \cdot \left(\frac{1}{\sqrt{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}} \cdot \frac{\sin th}{\sqrt{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}\right)\\

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

\end{array}
double f(double kx, double ky, double th) {
        double r1403913 = ky;
        double r1403914 = sin(r1403913);
        double r1403915 = kx;
        double r1403916 = sin(r1403915);
        double r1403917 = 2.0;
        double r1403918 = pow(r1403916, r1403917);
        double r1403919 = pow(r1403914, r1403917);
        double r1403920 = r1403918 + r1403919;
        double r1403921 = sqrt(r1403920);
        double r1403922 = r1403914 / r1403921;
        double r1403923 = th;
        double r1403924 = sin(r1403923);
        double r1403925 = r1403922 * r1403924;
        return r1403925;
}

double f(double kx, double ky, double th) {
        double r1403926 = ky;
        double r1403927 = sin(r1403926);
        double r1403928 = kx;
        double r1403929 = sin(r1403928);
        double r1403930 = 2.0;
        double r1403931 = pow(r1403929, r1403930);
        double r1403932 = pow(r1403927, r1403930);
        double r1403933 = r1403931 + r1403932;
        double r1403934 = sqrt(r1403933);
        double r1403935 = r1403927 / r1403934;
        double r1403936 = 1.0;
        bool r1403937 = r1403935 <= r1403936;
        double r1403938 = 1.0;
        double r1403939 = sqrt(r1403934);
        double r1403940 = r1403938 / r1403939;
        double r1403941 = th;
        double r1403942 = sin(r1403941);
        double r1403943 = r1403942 / r1403939;
        double r1403944 = r1403940 * r1403943;
        double r1403945 = r1403927 * r1403944;
        double r1403946 = 0.08333333333333333;
        double r1403947 = r1403928 * r1403946;
        double r1403948 = r1403928 * r1403947;
        double r1403949 = r1403926 * r1403926;
        double r1403950 = 0.16666666666666666;
        double r1403951 = r1403949 * r1403950;
        double r1403952 = r1403948 - r1403951;
        double r1403953 = r1403926 * r1403952;
        double r1403954 = r1403953 + r1403926;
        double r1403955 = r1403927 / r1403954;
        double r1403956 = r1403955 * r1403942;
        double r1403957 = r1403937 ? r1403945 : r1403956;
        return r1403957;
}

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

    1. Initial program 11.0

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

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

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

      \[\leadsto \sin ky \cdot \color{blue}{\frac{\sin th}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}\]
    6. Using strategy rm
    7. Applied add-sqr-sqrt11.1

      \[\leadsto \sin ky \cdot \frac{\sin th}{\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}}}}}\]
    8. Applied sqrt-prod11.3

      \[\leadsto \sin ky \cdot \frac{\sin th}{\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}}}}}\]
    9. Applied *-un-lft-identity11.3

      \[\leadsto \sin ky \cdot \frac{\color{blue}{1 \cdot \sin th}}{\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}}}}\]
    10. Applied times-frac11.3

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

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

    1. Initial program 62.7

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

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

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

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

Reproduce

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