Average Error: 12.1 → 12.4
Time: 1.0m
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}}}\]
double f(double kx, double ky, double th) {
        double r1581331 = ky;
        double r1581332 = sin(r1581331);
        double r1581333 = kx;
        double r1581334 = sin(r1581333);
        double r1581335 = 2.0;
        double r1581336 = pow(r1581334, r1581335);
        double r1581337 = pow(r1581332, r1581335);
        double r1581338 = r1581336 + r1581337;
        double r1581339 = sqrt(r1581338);
        double r1581340 = r1581332 / r1581339;
        double r1581341 = th;
        double r1581342 = sin(r1581341);
        double r1581343 = r1581340 * r1581342;
        return r1581343;
}

double f(double kx, double ky, double th) {
        double r1581344 = th;
        double r1581345 = sin(r1581344);
        double r1581346 = ky;
        double r1581347 = sin(r1581346);
        double r1581348 = r1581347 * r1581347;
        double r1581349 = kx;
        double r1581350 = sin(r1581349);
        double r1581351 = r1581350 * r1581350;
        double r1581352 = r1581348 + r1581351;
        double r1581353 = sqrt(r1581352);
        double r1581354 = sqrt(r1581353);
        double r1581355 = r1581354 * r1581354;
        double r1581356 = r1581347 / r1581355;
        double r1581357 = r1581345 * r1581356;
        return r1581357;
}

\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}}}

Error

Bits error versus kx

Bits error versus ky

Bits error versus th

Derivation

  1. Initial program 12.1

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

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

    \[\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}}}}\]
  5. Final simplification12.4

    \[\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 2019102 
(FPCore (kx ky th)
  :name "Toniolo and Linder, Equation (3b), real"
  (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) (sin th)))