Average Error: 12.3 → 9.1
Time: 1.1m
Precision: 64
\[\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\]
\[\sin th \cdot \frac{\frac{\sin ky}{\sqrt{\sqrt{\left(\sin kx\right)^2 + \left(\sin ky\right)^2}^*}}}{\sqrt{\sqrt{\left(\sin kx\right)^2 + \left(\sin ky\right)^2}^*}}\]
\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th
\sin th \cdot \frac{\frac{\sin ky}{\sqrt{\sqrt{\left(\sin kx\right)^2 + \left(\sin ky\right)^2}^*}}}{\sqrt{\sqrt{\left(\sin kx\right)^2 + \left(\sin ky\right)^2}^*}}
double f(double kx, double ky, double th) {
        double r1702177 = ky;
        double r1702178 = sin(r1702177);
        double r1702179 = kx;
        double r1702180 = sin(r1702179);
        double r1702181 = 2.0;
        double r1702182 = pow(r1702180, r1702181);
        double r1702183 = pow(r1702178, r1702181);
        double r1702184 = r1702182 + r1702183;
        double r1702185 = sqrt(r1702184);
        double r1702186 = r1702178 / r1702185;
        double r1702187 = th;
        double r1702188 = sin(r1702187);
        double r1702189 = r1702186 * r1702188;
        return r1702189;
}

double f(double kx, double ky, double th) {
        double r1702190 = th;
        double r1702191 = sin(r1702190);
        double r1702192 = ky;
        double r1702193 = sin(r1702192);
        double r1702194 = kx;
        double r1702195 = sin(r1702194);
        double r1702196 = hypot(r1702195, r1702193);
        double r1702197 = sqrt(r1702196);
        double r1702198 = r1702193 / r1702197;
        double r1702199 = r1702198 / r1702197;
        double r1702200 = r1702191 * r1702199;
        return r1702200;
}

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

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

    \[\leadsto \color{blue}{\sin th \cdot \frac{\sin ky}{\sqrt{\left(\sin kx\right)^2 + \left(\sin ky\right)^2}^*}}\]
  3. Using strategy rm
  4. Applied add-sqr-sqrt9.1

    \[\leadsto \sin th \cdot \frac{\sin ky}{\color{blue}{\sqrt{\sqrt{\left(\sin kx\right)^2 + \left(\sin ky\right)^2}^*} \cdot \sqrt{\sqrt{\left(\sin kx\right)^2 + \left(\sin ky\right)^2}^*}}}\]
  5. Applied associate-/r*9.1

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

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

Reproduce

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