Average Error: 12.6 → 12.7
Time: 43.0s
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 r1070439 = ky;
        double r1070440 = sin(r1070439);
        double r1070441 = kx;
        double r1070442 = sin(r1070441);
        double r1070443 = 2.0;
        double r1070444 = pow(r1070442, r1070443);
        double r1070445 = pow(r1070440, r1070443);
        double r1070446 = r1070444 + r1070445;
        double r1070447 = sqrt(r1070446);
        double r1070448 = r1070440 / r1070447;
        double r1070449 = th;
        double r1070450 = sin(r1070449);
        double r1070451 = r1070448 * r1070450;
        return r1070451;
}

double f(double kx, double ky, double th) {
        double r1070452 = th;
        double r1070453 = sin(r1070452);
        double r1070454 = ky;
        double r1070455 = sin(r1070454);
        double r1070456 = 1.0;
        double r1070457 = kx;
        double r1070458 = sin(r1070457);
        double r1070459 = r1070458 * r1070458;
        double r1070460 = r1070455 * r1070455;
        double r1070461 = r1070459 + r1070460;
        double r1070462 = sqrt(r1070461);
        double r1070463 = r1070456 / r1070462;
        double r1070464 = r1070455 * r1070463;
        double r1070465 = r1070453 * r1070464;
        return r1070465;
}

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

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

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

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

    \[\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 2019141 
(FPCore (kx ky th)
  :name "Toniolo and Linder, Equation (3b), real"
  (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)))