Average Error: 12.2 → 12.3
Time: 41.8s
Precision: 64
\[\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\]
\[\sin th \cdot \left(\frac{1}{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}} \cdot \sin ky\right)\]
\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th
\sin th \cdot \left(\frac{1}{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}} \cdot \sin ky\right)
double f(double kx, double ky, double th) {
        double r817903 = ky;
        double r817904 = sin(r817903);
        double r817905 = kx;
        double r817906 = sin(r817905);
        double r817907 = 2.0;
        double r817908 = pow(r817906, r817907);
        double r817909 = pow(r817904, r817907);
        double r817910 = r817908 + r817909;
        double r817911 = sqrt(r817910);
        double r817912 = r817904 / r817911;
        double r817913 = th;
        double r817914 = sin(r817913);
        double r817915 = r817912 * r817914;
        return r817915;
}

double f(double kx, double ky, double th) {
        double r817916 = th;
        double r817917 = sin(r817916);
        double r817918 = 1.0;
        double r817919 = kx;
        double r817920 = sin(r817919);
        double r817921 = r817920 * r817920;
        double r817922 = ky;
        double r817923 = sin(r817922);
        double r817924 = r817923 * r817923;
        double r817925 = r817921 + r817924;
        double r817926 = sqrt(r817925);
        double r817927 = r817918 / r817926;
        double r817928 = r817927 * r817923;
        double r817929 = r817917 * r817928;
        return r817929;
}

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

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

    \[\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 *-un-lft-identity12.2

    \[\leadsto \sin th \cdot \frac{\color{blue}{1 \cdot \sin ky}}{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}\]
  5. Applied associate-/l*12.2

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

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

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

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

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

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

Reproduce

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