Average Error: 12.2 → 12.5
Time: 28.5s
Precision: 64
\[\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\]
\[\begin{array}{l} \mathbf{if}\;\sin ky \le -2.2959746765531517 \cdot 10^{-262}:\\ \;\;\;\;\frac{\sin ky}{\sqrt{\sin ky \cdot \sin ky + \sin kx \cdot \sin kx}} \cdot \sin th\\ \mathbf{elif}\;\sin ky \le 6.260135336698467 \cdot 10^{-286}:\\ \;\;\;\;\frac{\sin ky}{\left(kx + \left(ky \cdot ky\right) \cdot \left(\frac{1}{12} \cdot kx\right)\right) - \left(\left(kx \cdot kx\right) \cdot kx\right) \cdot \frac{1}{6}} \cdot \sin th\\ \mathbf{else}:\\ \;\;\;\;\frac{\sin ky}{\sqrt{\sin ky \cdot \sin ky + \sin kx \cdot \sin kx}} \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}\;\sin ky \le -2.2959746765531517 \cdot 10^{-262}:\\
\;\;\;\;\frac{\sin ky}{\sqrt{\sin ky \cdot \sin ky + \sin kx \cdot \sin kx}} \cdot \sin th\\

\mathbf{elif}\;\sin ky \le 6.260135336698467 \cdot 10^{-286}:\\
\;\;\;\;\frac{\sin ky}{\left(kx + \left(ky \cdot ky\right) \cdot \left(\frac{1}{12} \cdot kx\right)\right) - \left(\left(kx \cdot kx\right) \cdot kx\right) \cdot \frac{1}{6}} \cdot \sin th\\

\mathbf{else}:\\
\;\;\;\;\frac{\sin ky}{\sqrt{\sin ky \cdot \sin ky + \sin kx \cdot \sin kx}} \cdot \sin th\\

\end{array}
double f(double kx, double ky, double th) {
        double r568548 = ky;
        double r568549 = sin(r568548);
        double r568550 = kx;
        double r568551 = sin(r568550);
        double r568552 = 2.0;
        double r568553 = pow(r568551, r568552);
        double r568554 = pow(r568549, r568552);
        double r568555 = r568553 + r568554;
        double r568556 = sqrt(r568555);
        double r568557 = r568549 / r568556;
        double r568558 = th;
        double r568559 = sin(r568558);
        double r568560 = r568557 * r568559;
        return r568560;
}

double f(double kx, double ky, double th) {
        double r568561 = ky;
        double r568562 = sin(r568561);
        double r568563 = -2.2959746765531517e-262;
        bool r568564 = r568562 <= r568563;
        double r568565 = r568562 * r568562;
        double r568566 = kx;
        double r568567 = sin(r568566);
        double r568568 = r568567 * r568567;
        double r568569 = r568565 + r568568;
        double r568570 = sqrt(r568569);
        double r568571 = r568562 / r568570;
        double r568572 = th;
        double r568573 = sin(r568572);
        double r568574 = r568571 * r568573;
        double r568575 = 6.260135336698467e-286;
        bool r568576 = r568562 <= r568575;
        double r568577 = r568561 * r568561;
        double r568578 = 0.08333333333333333;
        double r568579 = r568578 * r568566;
        double r568580 = r568577 * r568579;
        double r568581 = r568566 + r568580;
        double r568582 = r568566 * r568566;
        double r568583 = r568582 * r568566;
        double r568584 = 0.16666666666666666;
        double r568585 = r568583 * r568584;
        double r568586 = r568581 - r568585;
        double r568587 = r568562 / r568586;
        double r568588 = r568587 * r568573;
        double r568589 = r568576 ? r568588 : r568574;
        double r568590 = r568564 ? r568574 : r568589;
        return r568590;
}

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) < -2.2959746765531517e-262 or 6.260135336698467e-286 < (sin ky)

    1. Initial program 11.6

      \[\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\]
    2. Simplified11.6

      \[\leadsto \color{blue}{\sin th \cdot \frac{\sin ky}{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}}\]
    3. Taylor expanded around inf 11.6

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

      \[\leadsto \sin th \cdot \frac{\sin ky}{\color{blue}{\sqrt{\sin ky \cdot \sin ky + \sin kx \cdot \sin kx}}}\]

    if -2.2959746765531517e-262 < (sin ky) < 6.260135336698467e-286

    1. Initial program 23.1

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

      \[\leadsto \color{blue}{\sin th \cdot \frac{\sin ky}{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}}\]
    3. Taylor expanded around inf 23.1

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

      \[\leadsto \sin th \cdot \frac{\sin ky}{\color{blue}{\sqrt{\sin ky \cdot \sin ky + \sin kx \cdot \sin kx}}}\]
    5. Taylor expanded around 0 27.8

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

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

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

Reproduce

herbie shell --seed 2019156 
(FPCore (kx ky th)
  :name "Toniolo and Linder, Equation (3b), real"
  (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)))