Average Error: 12.8 → 13.1
Time: 29.4s
Precision: 64
\[\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\]
\[\sin th \cdot \frac{\sin ky}{\sqrt{\sqrt{\sin ky \cdot \sin ky + \sin kx \cdot \sin kx}} \cdot \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
\sin th \cdot \frac{\sin ky}{\sqrt{\sqrt{\sin ky \cdot \sin ky + \sin kx \cdot \sin kx}} \cdot \sqrt{\sqrt{\sin ky \cdot \sin ky + \sin kx \cdot \sin kx}}}
double f(double kx, double ky, double th) {
        double r549897 = ky;
        double r549898 = sin(r549897);
        double r549899 = kx;
        double r549900 = sin(r549899);
        double r549901 = 2.0;
        double r549902 = pow(r549900, r549901);
        double r549903 = pow(r549898, r549901);
        double r549904 = r549902 + r549903;
        double r549905 = sqrt(r549904);
        double r549906 = r549898 / r549905;
        double r549907 = th;
        double r549908 = sin(r549907);
        double r549909 = r549906 * r549908;
        return r549909;
}

double f(double kx, double ky, double th) {
        double r549910 = th;
        double r549911 = sin(r549910);
        double r549912 = ky;
        double r549913 = sin(r549912);
        double r549914 = r549913 * r549913;
        double r549915 = kx;
        double r549916 = sin(r549915);
        double r549917 = r549916 * r549916;
        double r549918 = r549914 + r549917;
        double r549919 = sqrt(r549918);
        double r549920 = sqrt(r549919);
        double r549921 = r549920 * r549920;
        double r549922 = r549913 / r549921;
        double r549923 = r549911 * r549922;
        return r549923;
}

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

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

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

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

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

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

Reproduce

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