Average Error: 12.3 → 12.7
Time: 11.5s
Precision: 64
\[\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\]
\[\left(\frac{1}{\left|\sqrt[3]{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}\right|} \cdot \frac{\sin ky}{\sqrt{\sqrt[3]{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}\right) \cdot \sin th\]
\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th
\left(\frac{1}{\left|\sqrt[3]{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}\right|} \cdot \frac{\sin ky}{\sqrt{\sqrt[3]{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}\right) \cdot \sin th
double f(double kx, double ky, double th) {
        double r39535 = ky;
        double r39536 = sin(r39535);
        double r39537 = kx;
        double r39538 = sin(r39537);
        double r39539 = 2.0;
        double r39540 = pow(r39538, r39539);
        double r39541 = pow(r39536, r39539);
        double r39542 = r39540 + r39541;
        double r39543 = sqrt(r39542);
        double r39544 = r39536 / r39543;
        double r39545 = th;
        double r39546 = sin(r39545);
        double r39547 = r39544 * r39546;
        return r39547;
}

double f(double kx, double ky, double th) {
        double r39548 = 1.0;
        double r39549 = kx;
        double r39550 = sin(r39549);
        double r39551 = 2.0;
        double r39552 = pow(r39550, r39551);
        double r39553 = ky;
        double r39554 = sin(r39553);
        double r39555 = pow(r39554, r39551);
        double r39556 = r39552 + r39555;
        double r39557 = cbrt(r39556);
        double r39558 = fabs(r39557);
        double r39559 = r39548 / r39558;
        double r39560 = sqrt(r39557);
        double r39561 = r39554 / r39560;
        double r39562 = r39559 * r39561;
        double r39563 = th;
        double r39564 = sin(r39563);
        double r39565 = r39562 * r39564;
        return r39565;
}

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. Using strategy rm
  3. Applied add-cube-cbrt12.7

    \[\leadsto \frac{\sin ky}{\sqrt{\color{blue}{\left(\sqrt[3]{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}} \cdot \sqrt[3]{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}\right) \cdot \sqrt[3]{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}} \cdot \sin th\]
  4. Applied sqrt-prod12.7

    \[\leadsto \frac{\sin ky}{\color{blue}{\sqrt{\sqrt[3]{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}} \cdot \sqrt[3]{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sqrt{\sqrt[3]{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}} \cdot \sin th\]
  5. Applied *-un-lft-identity12.7

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

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

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

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

Reproduce

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