Average Error: 12.4 → 12.7
Time: 1.4m
Precision: 64
\[\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\]
\[\frac{\sin th}{\sqrt{\sqrt{\sin ky \cdot \sin ky + \sin kx \cdot \sin kx}}} \cdot \frac{\sin ky}{\sqrt{\sqrt{\sin ky \cdot \sin ky + \sin kx \cdot \sin kx}}}\]
\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th
\frac{\sin th}{\sqrt{\sqrt{\sin ky \cdot \sin ky + \sin kx \cdot \sin kx}}} \cdot \frac{\sin ky}{\sqrt{\sqrt{\sin ky \cdot \sin ky + \sin kx \cdot \sin kx}}}
double f(double kx, double ky, double th) {
        double r3399652 = ky;
        double r3399653 = sin(r3399652);
        double r3399654 = kx;
        double r3399655 = sin(r3399654);
        double r3399656 = 2.0;
        double r3399657 = pow(r3399655, r3399656);
        double r3399658 = pow(r3399653, r3399656);
        double r3399659 = r3399657 + r3399658;
        double r3399660 = sqrt(r3399659);
        double r3399661 = r3399653 / r3399660;
        double r3399662 = th;
        double r3399663 = sin(r3399662);
        double r3399664 = r3399661 * r3399663;
        return r3399664;
}

double f(double kx, double ky, double th) {
        double r3399665 = th;
        double r3399666 = sin(r3399665);
        double r3399667 = ky;
        double r3399668 = sin(r3399667);
        double r3399669 = r3399668 * r3399668;
        double r3399670 = kx;
        double r3399671 = sin(r3399670);
        double r3399672 = r3399671 * r3399671;
        double r3399673 = r3399669 + r3399672;
        double r3399674 = sqrt(r3399673);
        double r3399675 = sqrt(r3399674);
        double r3399676 = r3399666 / r3399675;
        double r3399677 = r3399668 / r3399675;
        double r3399678 = r3399676 * r3399677;
        return r3399678;
}

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 add-sqr-sqrt12.4

    \[\leadsto \sin th \cdot \frac{\sin ky}{\sqrt{\color{blue}{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky} \cdot \sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}}}\]
  5. Applied sqrt-prod12.7

    \[\leadsto \sin th \cdot \frac{\sin ky}{\color{blue}{\sqrt{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}} \cdot \sqrt{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}}}\]
  6. Applied *-un-lft-identity12.7

    \[\leadsto \sin th \cdot \frac{\color{blue}{1 \cdot \sin ky}}{\sqrt{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}} \cdot \sqrt{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}}\]
  7. Applied times-frac12.7

    \[\leadsto \sin th \cdot \color{blue}{\left(\frac{1}{\sqrt{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}} \cdot \frac{\sin ky}{\sqrt{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}}\right)}\]
  8. Applied associate-*r*12.7

    \[\leadsto \color{blue}{\left(\sin th \cdot \frac{1}{\sqrt{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}}\right) \cdot \frac{\sin ky}{\sqrt{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}}}\]
  9. Simplified12.7

    \[\leadsto \color{blue}{\frac{\sin th}{\sqrt{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}}} \cdot \frac{\sin ky}{\sqrt{\sqrt{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}}\]
  10. Final simplification12.7

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

Reproduce

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