Average Error: 4.0 → 4.0
Time: 15.5s
Precision: binary64
Cost: 45376
\[\frac{\sin ky}{\sqrt{{\sin kx}^{2} + {\sin ky}^{2}}} \cdot \sin th\]
\[\frac{\sin ky}{\sqrt{{\sin kx}^{2} + {\sin ky}^{2}}} \cdot \sin th\]
\frac{\sin ky}{\sqrt{{\sin kx}^{2} + {\sin ky}^{2}}} \cdot \sin th
\frac{\sin ky}{\sqrt{{\sin kx}^{2} + {\sin ky}^{2}}} \cdot \sin th
(FPCore (kx ky th)
 :precision binary64
 (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2.0) (pow (sin ky) 2.0)))) (sin th)))
(FPCore (kx ky th)
 :precision binary64
 (* (/ (sin ky) (sqrt (+ (pow (sin kx) 2.0) (pow (sin ky) 2.0)))) (sin th)))
double code(double kx, double ky, double th) {
	return (sin(ky) / sqrt(pow(sin(kx), 2.0) + pow(sin(ky), 2.0))) * sin(th);
}
double code(double kx, double ky, double th) {
	return (sin(ky) / sqrt(pow(sin(kx), 2.0) + pow(sin(ky), 2.0))) * sin(th);
}

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

Alternatives

Alternative 1
Error18.5
Cost46082
\[\begin{array}{l} \mathbf{if}\;\sin kx \leq -0.03342007252692908:\\ \;\;\;\;\sqrt{\frac{1}{{\sin kx}^{2} + {\sin ky}^{2}}} \cdot \left(\sin ky \cdot th\right)\\ \mathbf{elif}\;\sin kx \leq 1.0101183495137219 \cdot 10^{-10}:\\ \;\;\;\;\sin th \cdot \frac{\sin ky}{\sqrt{{\sin ky}^{2} + kx \cdot kx}}\\ \mathbf{else}:\\ \;\;\;\;\sin th \cdot \frac{\sin ky}{\sin kx}\\ \end{array}\]
Alternative 2
Error18.1
Cost46082
\[\begin{array}{l} \mathbf{if}\;\sin kx \leq -0.03342007252692908:\\ \;\;\;\;\sin th \cdot \frac{\sin ky}{\sqrt{{\sin kx}^{2} + ky \cdot ky}}\\ \mathbf{elif}\;\sin kx \leq 1.0101183495137219 \cdot 10^{-10}:\\ \;\;\;\;\sin th \cdot \frac{\sin ky}{\sqrt{{\sin ky}^{2} + kx \cdot kx}}\\ \mathbf{else}:\\ \;\;\;\;\sin th \cdot \frac{\sin ky}{\sin kx}\\ \end{array}\]
Alternative 3
Error23.6
Cost39361
\[\begin{array}{l} \mathbf{if}\;\sin kx \leq 1.0101183495137219 \cdot 10^{-10}:\\ \;\;\;\;\sin th \cdot \frac{\sin ky}{\sqrt{{\sin ky}^{2} + kx \cdot kx}}\\ \mathbf{else}:\\ \;\;\;\;\sin th \cdot \frac{\sin ky}{\sin kx}\\ \end{array}\]
Alternative 4
Error37.6
Cost26241
\[\begin{array}{l} \mathbf{if}\;\sin ky \leq 3.598468283980534 \cdot 10^{-80}:\\ \;\;\;\;\sin th \cdot \frac{\sin ky}{\sin kx}\\ \mathbf{else}:\\ \;\;\;\;\sin th\\ \end{array}\]
Alternative 5
Error39.5
Cost13448
\[\begin{array}{l} \mathbf{if}\;ky \leq -0.0003133110752946284 \lor \neg \left(ky \leq 4.9006235456263095 \cdot 10^{-180}\right):\\ \;\;\;\;\sin th\\ \mathbf{else}:\\ \;\;\;\;\frac{ky \cdot \sin th}{\sin kx}\\ \end{array}\]
Alternative 6
Error45.1
Cost6792
\[\begin{array}{l} \mathbf{if}\;ky \leq -3183254.7726675374 \lor \neg \left(ky \leq 6.870969801265937 \cdot 10^{-182}\right):\\ \;\;\;\;\sin th\\ \mathbf{else}:\\ \;\;\;\;0\\ \end{array}\]
Alternative 7
Error56.3
Cost64
\[0\]
Alternative 8
Error60.2
Cost64
\[1\]

Error

Derivation

  1. Initial program 4.0

    \[\frac{\sin ky}{\sqrt{{\sin kx}^{2} + {\sin ky}^{2}}} \cdot \sin th\]
  2. Simplified4.0

    \[\leadsto \color{blue}{\frac{\sin ky}{\sqrt{{\sin kx}^{2} + {\sin ky}^{2}}} \cdot \sin th}\]
  3. Final simplification4.0

    \[\leadsto \frac{\sin ky}{\sqrt{{\sin kx}^{2} + {\sin ky}^{2}}} \cdot \sin th\]

Reproduce

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