Average Error: 12.1 → 12.2
Time: 34.3s
Precision: 64
\[\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\]
\[\frac{\frac{1}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}{\frac{1}{\sin ky}} \cdot \sin th\]
\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th
\frac{\frac{1}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}{\frac{1}{\sin ky}} \cdot \sin th
double f(double kx, double ky, double th) {
        double r34941 = ky;
        double r34942 = sin(r34941);
        double r34943 = kx;
        double r34944 = sin(r34943);
        double r34945 = 2.0;
        double r34946 = pow(r34944, r34945);
        double r34947 = pow(r34942, r34945);
        double r34948 = r34946 + r34947;
        double r34949 = sqrt(r34948);
        double r34950 = r34942 / r34949;
        double r34951 = th;
        double r34952 = sin(r34951);
        double r34953 = r34950 * r34952;
        return r34953;
}

double f(double kx, double ky, double th) {
        double r34954 = 1.0;
        double r34955 = kx;
        double r34956 = sin(r34955);
        double r34957 = 2.0;
        double r34958 = pow(r34956, r34957);
        double r34959 = ky;
        double r34960 = sin(r34959);
        double r34961 = pow(r34960, r34957);
        double r34962 = r34958 + r34961;
        double r34963 = sqrt(r34962);
        double r34964 = r34954 / r34963;
        double r34965 = r34954 / r34960;
        double r34966 = r34964 / r34965;
        double r34967 = th;
        double r34968 = sin(r34967);
        double r34969 = r34966 * r34968;
        return r34969;
}

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

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

    \[\leadsto \color{blue}{\frac{1}{\frac{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}{\sin ky}}} \cdot \sin th\]
  4. Using strategy rm
  5. Applied div-inv12.2

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

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

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

Reproduce

herbie shell --seed 2019303 
(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)))