Average Error: 4.0 → 4.1
Time: 10.2s
Precision: 64
\[\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\]
\[\sin ky \cdot \frac{1}{\frac{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}{\sin th}}\]
\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th
\sin ky \cdot \frac{1}{\frac{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}{\sin th}}
double f(double kx, double ky, double th) {
        double r43416 = ky;
        double r43417 = sin(r43416);
        double r43418 = kx;
        double r43419 = sin(r43418);
        double r43420 = 2.0;
        double r43421 = pow(r43419, r43420);
        double r43422 = pow(r43417, r43420);
        double r43423 = r43421 + r43422;
        double r43424 = sqrt(r43423);
        double r43425 = r43417 / r43424;
        double r43426 = th;
        double r43427 = sin(r43426);
        double r43428 = r43425 * r43427;
        return r43428;
}

double f(double kx, double ky, double th) {
        double r43429 = ky;
        double r43430 = sin(r43429);
        double r43431 = 1.0;
        double r43432 = kx;
        double r43433 = sin(r43432);
        double r43434 = 2.0;
        double r43435 = pow(r43433, r43434);
        double r43436 = pow(r43430, r43434);
        double r43437 = r43435 + r43436;
        double r43438 = sqrt(r43437);
        double r43439 = th;
        double r43440 = sin(r43439);
        double r43441 = r43438 / r43440;
        double r43442 = r43431 / r43441;
        double r43443 = r43430 * r43442;
        return r43443;
}

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 4.0

    \[\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\]
  2. Using strategy rm
  3. Applied div-inv4.1

    \[\leadsto \color{blue}{\left(\sin ky \cdot \frac{1}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}\right)} \cdot \sin th\]
  4. Applied associate-*l*4.1

    \[\leadsto \color{blue}{\sin ky \cdot \left(\frac{1}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\right)}\]
  5. Simplified4.0

    \[\leadsto \sin ky \cdot \color{blue}{\frac{\sin th}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}\]
  6. Using strategy rm
  7. Applied clear-num4.1

    \[\leadsto \sin ky \cdot \color{blue}{\frac{1}{\frac{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}{\sin th}}}\]
  8. Final simplification4.1

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

Reproduce

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