Average Error: 12.4 → 8.7
Time: 43.5s
Precision: 64
\[\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\]
\[\sin th \cdot \frac{\sin ky}{\mathsf{hypot}\left(\left(\sin ky\right), \left(\sin kx\right)\right)}\]
\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th
\sin th \cdot \frac{\sin ky}{\mathsf{hypot}\left(\left(\sin ky\right), \left(\sin kx\right)\right)}
double f(double kx, double ky, double th) {
        double r995283 = ky;
        double r995284 = sin(r995283);
        double r995285 = kx;
        double r995286 = sin(r995285);
        double r995287 = 2.0;
        double r995288 = pow(r995286, r995287);
        double r995289 = pow(r995284, r995287);
        double r995290 = r995288 + r995289;
        double r995291 = sqrt(r995290);
        double r995292 = r995284 / r995291;
        double r995293 = th;
        double r995294 = sin(r995293);
        double r995295 = r995292 * r995294;
        return r995295;
}

double f(double kx, double ky, double th) {
        double r995296 = th;
        double r995297 = sin(r995296);
        double r995298 = ky;
        double r995299 = sin(r995298);
        double r995300 = kx;
        double r995301 = sin(r995300);
        double r995302 = hypot(r995299, r995301);
        double r995303 = r995299 / r995302;
        double r995304 = r995297 * r995303;
        return r995304;
}

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. Initial program 12.4

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

    \[\leadsto \color{blue}{\sin th \cdot \frac{\sin ky}{\mathsf{hypot}\left(\left(\sin kx\right), \left(\sin ky\right)\right)}}\]
  3. Taylor expanded around inf 12.4

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

    \[\leadsto \sin th \cdot \frac{\sin ky}{\color{blue}{\mathsf{hypot}\left(\left(\sin ky\right), \left(\sin kx\right)\right)}}\]
  5. Final simplification8.7

    \[\leadsto \sin th \cdot \frac{\sin ky}{\mathsf{hypot}\left(\left(\sin ky\right), \left(\sin kx\right)\right)}\]

Reproduce

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