Average Error: 12.0 → 8.4
Time: 1.6m
Precision: 64
\[\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\]
\[\frac{\sin th}{\sqrt{\left(\sin kx\right)^2 + \left(\sin ky\right)^2}^*} \cdot \sin ky\]

Error

Bits error versus kx

Bits error versus ky

Bits error versus th

Derivation

  1. Initial program 12.0

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

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

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

    \[\leadsto \color{blue}{\frac{\sin th}{\frac{\sqrt{\left(\sin kx\right)^2 + \left(\sin ky\right)^2}^*}{\sin ky}}}\]
  7. Using strategy rm
  8. Applied div-inv8.5

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

    \[\leadsto \color{blue}{\frac{\frac{\sin th}{\sqrt{\left(\sin kx\right)^2 + \left(\sin ky\right)^2}^*}}{\frac{1}{\sin ky}}}\]
  10. Using strategy rm
  11. Applied associate-/r/8.4

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

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

Reproduce

herbie shell --seed 2019100 +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)))