Average Error: 11.9 → 12.0
Time: 57.6s
Precision: 64
\[\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\]
\[\sin th \cdot \frac{1}{\frac{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}{\sin ky}}\]
\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th
\sin th \cdot \frac{1}{\frac{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}{\sin ky}}
double f(double kx, double ky, double th) {
        double r1169706 = ky;
        double r1169707 = sin(r1169706);
        double r1169708 = kx;
        double r1169709 = sin(r1169708);
        double r1169710 = 2.0;
        double r1169711 = pow(r1169709, r1169710);
        double r1169712 = pow(r1169707, r1169710);
        double r1169713 = r1169711 + r1169712;
        double r1169714 = sqrt(r1169713);
        double r1169715 = r1169707 / r1169714;
        double r1169716 = th;
        double r1169717 = sin(r1169716);
        double r1169718 = r1169715 * r1169717;
        return r1169718;
}

double f(double kx, double ky, double th) {
        double r1169719 = th;
        double r1169720 = sin(r1169719);
        double r1169721 = 1.0;
        double r1169722 = kx;
        double r1169723 = sin(r1169722);
        double r1169724 = r1169723 * r1169723;
        double r1169725 = ky;
        double r1169726 = sin(r1169725);
        double r1169727 = r1169726 * r1169726;
        double r1169728 = r1169724 + r1169727;
        double r1169729 = sqrt(r1169728);
        double r1169730 = r1169729 / r1169726;
        double r1169731 = r1169721 / r1169730;
        double r1169732 = r1169720 * r1169731;
        return r1169732;
}

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 11.9

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

    \[\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 *-commutative11.9

    \[\leadsto \sin th \cdot \frac{\sin ky}{\sqrt{\sin kx \cdot \sin kx + \color{blue}{\sin ky \cdot \sin ky}}}\]
  5. Using strategy rm
  6. Applied clear-num12.0

    \[\leadsto \sin th \cdot \color{blue}{\frac{1}{\frac{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}{\sin ky}}}\]
  7. Final simplification12.0

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

Reproduce

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