Average Error: 12.2 → 12.3
Time: 32.6s
Precision: 64
\[\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\]
\[\sin th \cdot \left(\sin ky \cdot \frac{1}{\sqrt{\sin kx \cdot \sin kx + \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(\sin ky \cdot \frac{1}{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}\right)
double f(double kx, double ky, double th) {
        double r546251 = ky;
        double r546252 = sin(r546251);
        double r546253 = kx;
        double r546254 = sin(r546253);
        double r546255 = 2.0;
        double r546256 = pow(r546254, r546255);
        double r546257 = pow(r546252, r546255);
        double r546258 = r546256 + r546257;
        double r546259 = sqrt(r546258);
        double r546260 = r546252 / r546259;
        double r546261 = th;
        double r546262 = sin(r546261);
        double r546263 = r546260 * r546262;
        return r546263;
}

double f(double kx, double ky, double th) {
        double r546264 = th;
        double r546265 = sin(r546264);
        double r546266 = ky;
        double r546267 = sin(r546266);
        double r546268 = 1.0;
        double r546269 = kx;
        double r546270 = sin(r546269);
        double r546271 = r546270 * r546270;
        double r546272 = r546267 * r546267;
        double r546273 = r546271 + r546272;
        double r546274 = sqrt(r546273);
        double r546275 = r546268 / r546274;
        double r546276 = r546267 * r546275;
        double r546277 = r546265 * r546276;
        return r546277;
}

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 div-inv12.3

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

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

Reproduce

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