Average Error: 12.4 → 11.6
Time: 41.6s
Precision: 64
Internal Precision: 128
\[\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\]
\[\begin{array}{l} \mathbf{if}\;\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \le 1.0:\\ \;\;\;\;\frac{\frac{1}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}{\frac{1}{\sin ky}} \cdot \sin th\\ \mathbf{else}:\\ \;\;\;\;\sin th \cdot \frac{\sin ky}{ky - ky \cdot \left(ky \cdot \left(ky \cdot \frac{1}{6}\right) - \left(kx \cdot \frac{1}{12}\right) \cdot kx\right)}\\ \end{array}\]

Error

Bits error versus kx

Bits error versus ky

Bits error versus th

Derivation

  1. Split input into 2 regimes
  2. if (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2)))) < 1.0

    1. Initial program 11.0

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

      \[\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-inv11.1

      \[\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*11.1

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

    if 1.0 < (/ (sin ky) (sqrt (+ (pow (sin kx) 2) (pow (sin ky) 2))))

    1. Initial program 61.6

      \[\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\]
    2. Taylor expanded around 0 29.0

      \[\leadsto \frac{\sin ky}{\color{blue}{\left(\frac{1}{12} \cdot \left({kx}^{2} \cdot ky\right) + ky\right) - \frac{1}{6} \cdot {ky}^{3}}} \cdot \sin th\]
    3. Simplified29.0

      \[\leadsto \frac{\sin ky}{\color{blue}{ky - \left(\left(ky \cdot \frac{1}{6}\right) \cdot ky - \left(\frac{1}{12} \cdot kx\right) \cdot kx\right) \cdot ky}} \cdot \sin th\]
  3. Recombined 2 regimes into one program.
  4. Final simplification11.6

    \[\leadsto \begin{array}{l} \mathbf{if}\;\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \le 1.0:\\ \;\;\;\;\frac{\frac{1}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}}}{\frac{1}{\sin ky}} \cdot \sin th\\ \mathbf{else}:\\ \;\;\;\;\sin th \cdot \frac{\sin ky}{ky - ky \cdot \left(ky \cdot \left(ky \cdot \frac{1}{6}\right) - \left(kx \cdot \frac{1}{12}\right) \cdot kx\right)}\\ \end{array}\]

Reproduce

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