Average Error: 12.4 → 12.7
Time: 39.2s
Precision: 64
\[\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\]
\[\left(\frac{1}{\sqrt{\sqrt{\sin ky \cdot \sin ky + \sin kx \cdot \sin kx}}} \cdot \sin ky\right) \cdot \frac{\sin th}{\sqrt{\sqrt{\sin ky \cdot \sin ky + \sin kx \cdot \sin kx}}}\]
\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th
\left(\frac{1}{\sqrt{\sqrt{\sin ky \cdot \sin ky + \sin kx \cdot \sin kx}}} \cdot \sin ky\right) \cdot \frac{\sin th}{\sqrt{\sqrt{\sin ky \cdot \sin ky + \sin kx \cdot \sin kx}}}
double f(double kx, double ky, double th) {
        double r845616 = ky;
        double r845617 = sin(r845616);
        double r845618 = kx;
        double r845619 = sin(r845618);
        double r845620 = 2.0;
        double r845621 = pow(r845619, r845620);
        double r845622 = pow(r845617, r845620);
        double r845623 = r845621 + r845622;
        double r845624 = sqrt(r845623);
        double r845625 = r845617 / r845624;
        double r845626 = th;
        double r845627 = sin(r845626);
        double r845628 = r845625 * r845627;
        return r845628;
}

double f(double kx, double ky, double th) {
        double r845629 = 1.0;
        double r845630 = ky;
        double r845631 = sin(r845630);
        double r845632 = r845631 * r845631;
        double r845633 = kx;
        double r845634 = sin(r845633);
        double r845635 = r845634 * r845634;
        double r845636 = r845632 + r845635;
        double r845637 = sqrt(r845636);
        double r845638 = sqrt(r845637);
        double r845639 = r845629 / r845638;
        double r845640 = r845639 * r845631;
        double r845641 = th;
        double r845642 = sin(r845641);
        double r845643 = r845642 / r845638;
        double r845644 = r845640 * r845643;
        return r845644;
}

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. Simplified12.4

    \[\leadsto \color{blue}{\sin th \cdot \frac{\sin ky}{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}}\]
  3. Using strategy rm
  4. Applied add-sqr-sqrt12.6

    \[\leadsto \sin th \cdot \frac{\sin ky}{\color{blue}{\sqrt{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}} \cdot \sqrt{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}}}\]
  5. Applied *-un-lft-identity12.6

    \[\leadsto \sin th \cdot \frac{\color{blue}{1 \cdot \sin ky}}{\sqrt{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}} \cdot \sqrt{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}}\]
  6. Applied times-frac12.7

    \[\leadsto \sin th \cdot \color{blue}{\left(\frac{1}{\sqrt{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}} \cdot \frac{\sin ky}{\sqrt{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}}\right)}\]
  7. Applied associate-*r*12.7

    \[\leadsto \color{blue}{\left(\sin th \cdot \frac{1}{\sqrt{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}}\right) \cdot \frac{\sin ky}{\sqrt{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}}}\]
  8. Simplified12.6

    \[\leadsto \color{blue}{\frac{\sin th}{\sqrt{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}}} \cdot \frac{\sin ky}{\sqrt{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}}\]
  9. Using strategy rm
  10. Applied div-inv12.7

    \[\leadsto \frac{\sin th}{\sqrt{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}} \cdot \color{blue}{\left(\sin ky \cdot \frac{1}{\sqrt{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}}\right)}\]
  11. Final simplification12.7

    \[\leadsto \left(\frac{1}{\sqrt{\sqrt{\sin ky \cdot \sin ky + \sin kx \cdot \sin kx}}} \cdot \sin ky\right) \cdot \frac{\sin th}{\sqrt{\sqrt{\sin ky \cdot \sin ky + \sin kx \cdot \sin kx}}}\]

Reproduce

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