Average Error: 12.1 → 8.8
Time: 34.9s
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 kx\right), \left(\sin ky\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 kx\right), \left(\sin ky\right)\right)}
double f(double kx, double ky, double th) {
        double r623518 = ky;
        double r623519 = sin(r623518);
        double r623520 = kx;
        double r623521 = sin(r623520);
        double r623522 = 2.0;
        double r623523 = pow(r623521, r623522);
        double r623524 = pow(r623519, r623522);
        double r623525 = r623523 + r623524;
        double r623526 = sqrt(r623525);
        double r623527 = r623519 / r623526;
        double r623528 = th;
        double r623529 = sin(r623528);
        double r623530 = r623527 * r623529;
        return r623530;
}

double f(double kx, double ky, double th) {
        double r623531 = th;
        double r623532 = sin(r623531);
        double r623533 = ky;
        double r623534 = sin(r623533);
        double r623535 = kx;
        double r623536 = sin(r623535);
        double r623537 = hypot(r623536, r623534);
        double r623538 = r623534 / r623537;
        double r623539 = r623532 * r623538;
        return r623539;
}

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

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

    \[\leadsto \color{blue}{\sin th \cdot \frac{\sin ky}{\mathsf{hypot}\left(\left(\sin kx\right), \left(\sin ky\right)\right)}}\]
  3. Using strategy rm
  4. Applied add-sqr-sqrt9.1

    \[\leadsto \sin th \cdot \frac{\sin ky}{\color{blue}{\sqrt{\mathsf{hypot}\left(\left(\sin kx\right), \left(\sin ky\right)\right)} \cdot \sqrt{\mathsf{hypot}\left(\left(\sin kx\right), \left(\sin ky\right)\right)}}}\]
  5. Applied *-un-lft-identity9.1

    \[\leadsto \sin th \cdot \frac{\color{blue}{1 \cdot \sin ky}}{\sqrt{\mathsf{hypot}\left(\left(\sin kx\right), \left(\sin ky\right)\right)} \cdot \sqrt{\mathsf{hypot}\left(\left(\sin kx\right), \left(\sin ky\right)\right)}}\]
  6. Applied times-frac9.1

    \[\leadsto \sin th \cdot \color{blue}{\left(\frac{1}{\sqrt{\mathsf{hypot}\left(\left(\sin kx\right), \left(\sin ky\right)\right)}} \cdot \frac{\sin ky}{\sqrt{\mathsf{hypot}\left(\left(\sin kx\right), \left(\sin ky\right)\right)}}\right)}\]
  7. Using strategy rm
  8. Applied frac-times9.1

    \[\leadsto \sin th \cdot \color{blue}{\frac{1 \cdot \sin ky}{\sqrt{\mathsf{hypot}\left(\left(\sin kx\right), \left(\sin ky\right)\right)} \cdot \sqrt{\mathsf{hypot}\left(\left(\sin kx\right), \left(\sin ky\right)\right)}}}\]
  9. Simplified9.1

    \[\leadsto \sin th \cdot \frac{\color{blue}{\sin ky}}{\sqrt{\mathsf{hypot}\left(\left(\sin kx\right), \left(\sin ky\right)\right)} \cdot \sqrt{\mathsf{hypot}\left(\left(\sin kx\right), \left(\sin ky\right)\right)}}\]
  10. Simplified8.8

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

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

Reproduce

herbie shell --seed 2019129 +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)))