Average Error: 12.6 → 12.1
Time: 35.9s
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:\\ \;\;\;\;\frac{\sqrt[3]{\sin ky} \cdot \sqrt[3]{\sin ky}}{\sqrt[3]{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sqrt[3]{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}} \cdot \left(\frac{\sqrt[3]{\sin ky}}{\sqrt[3]{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}} \cdot \sin th\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{\sin ky}{\left(ky + \frac{1}{12} \cdot \left({kx}^{2} \cdot ky\right)\right) - \frac{1}{6} \cdot {ky}^{3}} \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:\\
\;\;\;\;\frac{\sqrt[3]{\sin ky} \cdot \sqrt[3]{\sin ky}}{\sqrt[3]{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sqrt[3]{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}} \cdot \left(\frac{\sqrt[3]{\sin ky}}{\sqrt[3]{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}} \cdot \sin th\right)\\

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

\end{array}
double f(double kx, double ky, double th) {
        double r34606 = ky;
        double r34607 = sin(r34606);
        double r34608 = kx;
        double r34609 = sin(r34608);
        double r34610 = 2.0;
        double r34611 = pow(r34609, r34610);
        double r34612 = pow(r34607, r34610);
        double r34613 = r34611 + r34612;
        double r34614 = sqrt(r34613);
        double r34615 = r34607 / r34614;
        double r34616 = th;
        double r34617 = sin(r34616);
        double r34618 = r34615 * r34617;
        return r34618;
}

double f(double kx, double ky, double th) {
        double r34619 = ky;
        double r34620 = sin(r34619);
        double r34621 = kx;
        double r34622 = sin(r34621);
        double r34623 = 2.0;
        double r34624 = pow(r34622, r34623);
        double r34625 = pow(r34620, r34623);
        double r34626 = r34624 + r34625;
        double r34627 = sqrt(r34626);
        double r34628 = r34620 / r34627;
        double r34629 = 1.0;
        bool r34630 = r34628 <= r34629;
        double r34631 = cbrt(r34620);
        double r34632 = r34631 * r34631;
        double r34633 = cbrt(r34627);
        double r34634 = r34633 * r34633;
        double r34635 = r34632 / r34634;
        double r34636 = r34631 / r34633;
        double r34637 = th;
        double r34638 = sin(r34637);
        double r34639 = r34636 * r34638;
        double r34640 = r34635 * r34639;
        double r34641 = 0.08333333333333333;
        double r34642 = 2.0;
        double r34643 = pow(r34621, r34642);
        double r34644 = r34643 * r34619;
        double r34645 = r34641 * r34644;
        double r34646 = r34619 + r34645;
        double r34647 = 0.16666666666666666;
        double r34648 = 3.0;
        double r34649 = pow(r34619, r34648);
        double r34650 = r34647 * r34649;
        double r34651 = r34646 - r34650;
        double r34652 = r34620 / r34651;
        double r34653 = r34652 * r34638;
        double r34654 = r34630 ? r34640 : r34653;
        return r34654;
}

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.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-cube-cbrt11.9

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

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

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

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

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

    1. Initial program 63.1

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

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

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

Reproduce

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