Average Error: 12.4 → 12.5
Time: 2.3m
Precision: 64
\[\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\]
\[\sin th \cdot \frac{\frac{1}{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}}{\frac{1}{\sin ky}}\]
\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th
\sin th \cdot \frac{\frac{1}{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}}{\frac{1}{\sin ky}}
double f(double kx, double ky, double th) {
        double r3787071 = ky;
        double r3787072 = sin(r3787071);
        double r3787073 = kx;
        double r3787074 = sin(r3787073);
        double r3787075 = 2.0;
        double r3787076 = pow(r3787074, r3787075);
        double r3787077 = pow(r3787072, r3787075);
        double r3787078 = r3787076 + r3787077;
        double r3787079 = sqrt(r3787078);
        double r3787080 = r3787072 / r3787079;
        double r3787081 = th;
        double r3787082 = sin(r3787081);
        double r3787083 = r3787080 * r3787082;
        return r3787083;
}

double f(double kx, double ky, double th) {
        double r3787084 = th;
        double r3787085 = sin(r3787084);
        double r3787086 = 1.0;
        double r3787087 = kx;
        double r3787088 = sin(r3787087);
        double r3787089 = r3787088 * r3787088;
        double r3787090 = ky;
        double r3787091 = sin(r3787090);
        double r3787092 = r3787091 * r3787091;
        double r3787093 = r3787089 + r3787092;
        double r3787094 = sqrt(r3787093);
        double r3787095 = r3787086 / r3787094;
        double r3787096 = r3787086 / r3787091;
        double r3787097 = r3787095 / r3787096;
        double r3787098 = r3787085 * r3787097;
        return r3787098;
}

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 *-un-lft-identity12.4

    \[\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.5

    \[\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.6

    \[\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 associate-/r*12.5

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

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

Reproduce

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