Average Error: 4.2 → 2.3
Time: 1.9m
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.99997459937795885:\\ \;\;\;\;\left(\frac{1}{\sqrt{\sqrt{{1}^{2}}}} \cdot \frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}\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.99997459937795885:\\
\;\;\;\;\left(\frac{1}{\sqrt{\sqrt{{1}^{2}}}} \cdot \frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}\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 r38927 = ky;
        double r38928 = sin(r38927);
        double r38929 = kx;
        double r38930 = sin(r38929);
        double r38931 = 2.0;
        double r38932 = pow(r38930, r38931);
        double r38933 = pow(r38928, r38931);
        double r38934 = r38932 + r38933;
        double r38935 = sqrt(r38934);
        double r38936 = r38928 / r38935;
        double r38937 = th;
        double r38938 = sin(r38937);
        double r38939 = r38936 * r38938;
        return r38939;
}

double f(double kx, double ky, double th) {
        double r38940 = ky;
        double r38941 = sin(r38940);
        double r38942 = kx;
        double r38943 = sin(r38942);
        double r38944 = 2.0;
        double r38945 = pow(r38943, r38944);
        double r38946 = pow(r38941, r38944);
        double r38947 = r38945 + r38946;
        double r38948 = sqrt(r38947);
        double r38949 = r38941 / r38948;
        double r38950 = 0.9999745993779589;
        bool r38951 = r38949 <= r38950;
        double r38952 = 1.0;
        double r38953 = pow(r38952, r38944);
        double r38954 = sqrt(r38953);
        double r38955 = sqrt(r38954);
        double r38956 = r38952 / r38955;
        double r38957 = r38956 * r38949;
        double r38958 = th;
        double r38959 = sin(r38958);
        double r38960 = r38957 * r38959;
        double r38961 = 0.16666666666666666;
        double r38962 = 2.0;
        double r38963 = pow(r38942, r38962);
        double r38964 = r38961 * r38963;
        double r38965 = r38952 - r38964;
        double r38966 = r38965 * r38959;
        double r38967 = r38951 ? r38960 : r38966;
        return r38967;
}

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

    1. Initial program 0.6

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

      \[\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-prod0.8

      \[\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-identity0.8

      \[\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-frac0.8

      \[\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 *-un-lft-identity0.8

      \[\leadsto \left(\frac{1}{\sqrt{\sqrt{{\left(\sin kx\right)}^{2} + {\color{blue}{\left(1 \cdot \sin ky\right)}}^{2}}}} \cdot \frac{\sin ky}{\sqrt{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}\right) \cdot \sin th\]
    9. Applied unpow-prod-down0.8

      \[\leadsto \left(\frac{1}{\sqrt{\sqrt{{\left(\sin kx\right)}^{2} + \color{blue}{{1}^{2} \cdot {\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\]
    10. Applied *-un-lft-identity0.8

      \[\leadsto \left(\frac{1}{\sqrt{\sqrt{{\color{blue}{\left(1 \cdot \sin kx\right)}}^{2} + {1}^{2} \cdot {\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\]
    11. Applied unpow-prod-down0.8

      \[\leadsto \left(\frac{1}{\sqrt{\sqrt{\color{blue}{{1}^{2} \cdot {\left(\sin kx\right)}^{2}} + {1}^{2} \cdot {\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\]
    12. Applied distribute-lft-out0.8

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

      \[\leadsto \left(\frac{1}{\sqrt{\color{blue}{\sqrt{{1}^{2}} \cdot \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\]
    14. Applied sqrt-prod0.8

      \[\leadsto \left(\frac{1}{\color{blue}{\sqrt{\sqrt{{1}^{2}}} \cdot \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\]
    15. Applied *-un-lft-identity0.8

      \[\leadsto \left(\frac{\color{blue}{1 \cdot 1}}{\sqrt{\sqrt{{1}^{2}}} \cdot \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\]
    16. Applied times-frac0.8

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

      \[\leadsto \color{blue}{\left(\frac{1}{\sqrt{\sqrt{{1}^{2}}}} \cdot \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)\right)} \cdot \sin th\]
    18. Simplified0.6

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

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

    1. Initial program 9.7

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

      \[\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.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 simplification2.3

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

Reproduce

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