Average Error: 12.1 → 12.2
Time: 38.4s
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 r711504 = ky;
        double r711505 = sin(r711504);
        double r711506 = kx;
        double r711507 = sin(r711506);
        double r711508 = 2.0;
        double r711509 = pow(r711507, r711508);
        double r711510 = pow(r711505, r711508);
        double r711511 = r711509 + r711510;
        double r711512 = sqrt(r711511);
        double r711513 = r711505 / r711512;
        double r711514 = th;
        double r711515 = sin(r711514);
        double r711516 = r711513 * r711515;
        return r711516;
}

double f(double kx, double ky, double th) {
        double r711517 = th;
        double r711518 = sin(r711517);
        double r711519 = 1.0;
        double r711520 = kx;
        double r711521 = sin(r711520);
        double r711522 = r711521 * r711521;
        double r711523 = ky;
        double r711524 = sin(r711523);
        double r711525 = r711524 * r711524;
        double r711526 = r711522 + r711525;
        double r711527 = sqrt(r711526);
        double r711528 = r711527 / r711524;
        double r711529 = r711519 / r711528;
        double r711530 = r711518 * r711529;
        return r711530;
}

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

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

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

    \[\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. Final simplification12.2

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

Reproduce

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