Average Error: 12.3 → 8.8
Time: 30.1s
Precision: 64
Internal Precision: 128
\[\frac{\sin ky}{\sqrt{{\left(\sin kx\right)}^{2} + {\left(\sin ky\right)}^{2}}} \cdot \sin th\]
\[(e^{\log_* (1 + \sin th \cdot \log_* (1 + (e^{\frac{\sin ky}{\sqrt{\left(\sin kx\right)^2 + \left(\sin ky\right)^2}^*}} - 1)^*))} - 1)^*\]

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

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

    \[\leadsto \frac{\sin th \cdot \sin ky}{\color{blue}{1 \cdot \sqrt{\left(\sin kx\right)^2 + \left(\sin ky\right)^2}^*}}\]
  5. Applied times-frac8.8

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

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

    \[\leadsto \sin th \cdot \color{blue}{\log_* (1 + (e^{\frac{\sin ky}{\sqrt{\left(\sin kx\right)^2 + \left(\sin ky\right)^2}^*}} - 1)^*)}\]
  9. Using strategy rm
  10. Applied expm1-log1p-u8.8

    \[\leadsto \color{blue}{(e^{\log_* (1 + \sin th \cdot \log_* (1 + (e^{\frac{\sin ky}{\sqrt{\left(\sin kx\right)^2 + \left(\sin ky\right)^2}^*}} - 1)^*))} - 1)^*}\]
  11. Final simplification8.8

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

Reproduce

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