Average Error: 12.5 → 13.1
Time: 32.9s
Precision: 64
\[\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\]
\[\sin ky \cdot \left(\left(\sqrt{\sqrt{\frac{1}{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}} \cdot \sin th\right) \cdot \sqrt{\sqrt{\frac{1}{\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 ky \cdot \left(\left(\sqrt{\sqrt{\frac{1}{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}} \cdot \sin th\right) \cdot \sqrt{\sqrt{\frac{1}{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}}\right)
double f(double kx, double ky, double th) {
        double r1316785 = ky;
        double r1316786 = sin(r1316785);
        double r1316787 = kx;
        double r1316788 = sin(r1316787);
        double r1316789 = 2.0;
        double r1316790 = pow(r1316788, r1316789);
        double r1316791 = pow(r1316786, r1316789);
        double r1316792 = r1316790 + r1316791;
        double r1316793 = sqrt(r1316792);
        double r1316794 = r1316786 / r1316793;
        double r1316795 = th;
        double r1316796 = sin(r1316795);
        double r1316797 = r1316794 * r1316796;
        return r1316797;
}

double f(double kx, double ky, double th) {
        double r1316798 = ky;
        double r1316799 = sin(r1316798);
        double r1316800 = 1.0;
        double r1316801 = kx;
        double r1316802 = sin(r1316801);
        double r1316803 = r1316802 * r1316802;
        double r1316804 = r1316799 * r1316799;
        double r1316805 = r1316803 + r1316804;
        double r1316806 = r1316800 / r1316805;
        double r1316807 = sqrt(r1316806);
        double r1316808 = sqrt(r1316807);
        double r1316809 = th;
        double r1316810 = sin(r1316809);
        double r1316811 = r1316808 * r1316810;
        double r1316812 = r1316811 * r1316808;
        double r1316813 = r1316799 * r1316812;
        return r1316813;
}

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

    \[\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\]
  2. Taylor expanded around inf 14.0

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

    \[\leadsto \color{blue}{\sin ky \cdot \left(\sin th \cdot \sqrt{\frac{1}{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}\right)}\]
  4. Using strategy rm
  5. Applied add-sqr-sqrt13.0

    \[\leadsto \sin ky \cdot \left(\sin th \cdot \sqrt{\color{blue}{\sqrt{\frac{1}{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}} \cdot \sqrt{\frac{1}{\sin kx \cdot \sin kx + \sin ky \cdot \sin ky}}}}\right)\]
  6. Applied sqrt-prod13.2

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

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

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

Reproduce

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