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

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

\end{array}
double f(double kx, double ky, double th) {
        double r1497562 = ky;
        double r1497563 = sin(r1497562);
        double r1497564 = kx;
        double r1497565 = sin(r1497564);
        double r1497566 = 2.0;
        double r1497567 = pow(r1497565, r1497566);
        double r1497568 = pow(r1497563, r1497566);
        double r1497569 = r1497567 + r1497568;
        double r1497570 = sqrt(r1497569);
        double r1497571 = r1497563 / r1497570;
        double r1497572 = th;
        double r1497573 = sin(r1497572);
        double r1497574 = r1497571 * r1497573;
        return r1497574;
}

double f(double kx, double ky, double th) {
        double r1497575 = ky;
        double r1497576 = sin(r1497575);
        double r1497577 = kx;
        double r1497578 = sin(r1497577);
        double r1497579 = 2.0;
        double r1497580 = pow(r1497578, r1497579);
        double r1497581 = pow(r1497576, r1497579);
        double r1497582 = r1497580 + r1497581;
        double r1497583 = sqrt(r1497582);
        double r1497584 = r1497576 / r1497583;
        double r1497585 = 1.0;
        bool r1497586 = r1497584 <= r1497585;
        double r1497587 = cbrt(r1497584);
        double r1497588 = r1497587 * r1497587;
        double r1497589 = cbrt(r1497587);
        double r1497590 = r1497589 * r1497589;
        double r1497591 = r1497590 * r1497589;
        double r1497592 = th;
        double r1497593 = sin(r1497592);
        double r1497594 = r1497591 * r1497593;
        double r1497595 = r1497588 * r1497594;
        double r1497596 = 0.08333333333333333;
        double r1497597 = r1497577 * r1497596;
        double r1497598 = r1497577 * r1497597;
        double r1497599 = 0.16666666666666666;
        double r1497600 = r1497575 * r1497575;
        double r1497601 = r1497599 * r1497600;
        double r1497602 = r1497598 - r1497601;
        double r1497603 = r1497602 * r1497575;
        double r1497604 = r1497575 + r1497603;
        double r1497605 = r1497576 / r1497604;
        double r1497606 = r1497605 * r1497593;
        double r1497607 = r1497586 ? r1497595 : r1497606;
        return r1497607;
}

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

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

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

      \[\leadsto \left(\sqrt[3]{\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}} \cdot \sqrt[3]{\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}\right) \cdot \left(\color{blue}{\left(\left(\sqrt[3]{\sqrt[3]{\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}} \cdot \sqrt[3]{\sqrt[3]{\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}}\right) \cdot \sqrt[3]{\sqrt[3]{\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}}\right)} \cdot \sin th\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(kx \cdot \left(\frac{1}{12} \cdot kx\right) - \frac{1}{6} \cdot \left(ky \cdot ky\right)\right)}} \cdot \sin th\]
  3. Recombined 2 regimes into one program.
  4. Final simplification12.0

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