Average Error: 4.0 → 4.0
Time: 2.0min
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.0
Cost40067
\[\begin{array}{l} \mathbf{if}\;kx \leq -0.004207042989973588:\\ \;\;\;\;\left(\sin ky \cdot \sin th\right) \cdot \sqrt{\frac{1}{{\sin kx}^{2}}}\\ \mathbf{elif}\;kx \leq 3.6569678143575064 \cdot 10^{-19}:\\ \;\;\;\;\sin th \cdot \frac{\sin ky}{\sqrt{{\sin ky}^{2} + \left(kx \cdot kx - {kx}^{4} \cdot 0.3333333333333333\right)}}\\ \mathbf{elif}\;kx \leq 1.0553320421210306 \cdot 10^{+166}:\\ \;\;\;\;\sqrt{\frac{1}{{\sin kx}^{2} + {\sin ky}^{2}}} \cdot \left(\sin ky \cdot th\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\sin ky \cdot \sin th\right) \cdot \sqrt{\frac{1}{{\sin kx}^{2}}}\\ \end{array}\]
Alternative 2
Error18.1
Cost40067
\[\begin{array}{l} \mathbf{if}\;kx \leq -0.003338465294700686:\\ \;\;\;\;\left(\sin ky \cdot \sin th\right) \cdot \sqrt{\frac{1}{{\sin kx}^{2}}}\\ \mathbf{elif}\;kx \leq 3.6569678143575064 \cdot 10^{-19}:\\ \;\;\;\;\sin th \cdot \frac{\sin ky}{\sqrt{{\sin ky}^{2} + kx \cdot kx}}\\ \mathbf{elif}\;kx \leq 4.386169214952346 \cdot 10^{+171}:\\ \;\;\;\;\sqrt{\frac{1}{{\sin kx}^{2} + {\sin ky}^{2}}} \cdot \left(\sin ky \cdot th\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\sin ky \cdot \sin th\right) \cdot \sqrt{\frac{1}{{\sin kx}^{2}}}\\ \end{array}\]
Alternative 3
Error17.0
Cost45768
\[\begin{array}{l} \mathbf{if}\;\sin ky \leq -0.0031010557128761627 \lor \neg \left(\sin ky \leq 5.468462840929279 \cdot 10^{-16}\right):\\ \;\;\;\;\sin th \cdot \frac{\sin ky}{\left|\sin ky\right|}\\ \mathbf{else}:\\ \;\;\;\;\sin th \cdot \frac{\sin ky}{\sqrt{{\sin kx}^{2} + ky \cdot ky}}\\ \end{array}\]
Alternative 4
Error21.2
Cost111622
\[\begin{array}{l} \mathbf{if}\;{\sin kx}^{2} \leq 4.0243900313690397 \cdot 10^{-165}:\\ \;\;\;\;\sin th \cdot \frac{\sin ky}{\left|\sin ky\right|}\\ \mathbf{elif}\;{\sin kx}^{2} \leq 6.875317237053165 \cdot 10^{-145}:\\ \;\;\;\;\sin th \cdot \left(ky \cdot \sqrt{\frac{1}{\left(kx \cdot kx - {kx}^{4} \cdot 0.3333333333333333\right) + {kx}^{6} \cdot 0.044444444444444446}}\right)\\ \mathbf{elif}\;{\sin kx}^{2} \leq 1.8429228262044997 \cdot 10^{-119}:\\ \;\;\;\;\sin th \cdot \frac{\sin ky}{\left|\sin ky\right|}\\ \mathbf{elif}\;{\sin kx}^{2} \leq 2.5044468950519124 \cdot 10^{-103}:\\ \;\;\;\;\sin th \cdot \frac{\sin ky}{\sin kx + 0.5 \cdot \frac{ky \cdot ky}{\sin kx}}\\ \mathbf{elif}\;{\sin kx}^{2} \leq 1.802101385955488 \cdot 10^{-79}:\\ \;\;\;\;\sin th \cdot \left(ky \cdot \sqrt{\frac{1}{\left(kx \cdot kx - {kx}^{4} \cdot 0.3333333333333333\right) + {kx}^{6} \cdot 0.044444444444444446}}\right)\\ \mathbf{elif}\;{\sin kx}^{2} \leq 1.616808372418818 \cdot 10^{-12}:\\ \;\;\;\;\sin th \cdot \frac{\sin ky}{\left|\sin ky\right|}\\ \mathbf{else}:\\ \;\;\;\;\left(\sin ky \cdot \sin th\right) \cdot \sqrt{\frac{1}{{\sin kx}^{2}}}\\ \end{array}\]
Alternative 5
Error28.6
Cost39874
\[\begin{array}{l} \mathbf{if}\;\sin ky \leq -2.973683047566371 \cdot 10^{-102}:\\ \;\;\;\;\left(\sin ky \cdot \sin th\right) \cdot \sqrt{\frac{1}{{\sin ky}^{2}}}\\ \mathbf{elif}\;\sin ky \leq 1.5856102336962356 \cdot 10^{-39}:\\ \;\;\;\;\sin th \cdot \frac{\sin ky}{\sin kx + 0.5 \cdot \frac{ky \cdot ky}{\sin kx}}\\ \mathbf{else}:\\ \;\;\;\;\sin th \cdot \frac{\sin ky}{\left|\sin ky\right|}\\ \end{array}\]
Alternative 6
Error28.8
Cost39560
\[\begin{array}{l} \mathbf{if}\;\sin ky \leq -4.489963755739732 \cdot 10^{-31} \lor \neg \left(\sin ky \leq 1.5856102336962356 \cdot 10^{-39}\right):\\ \;\;\;\;\sin th \cdot \frac{\sin ky}{\left|\sin ky\right|}\\ \mathbf{else}:\\ \;\;\;\;\sin th \cdot \frac{\sin ky}{\sin kx + 0.5 \cdot \frac{ky \cdot ky}{\sin kx}}\\ \end{array}\]
Alternative 7
Error28.9
Cost39048
\[\begin{array}{l} \mathbf{if}\;\sin ky \leq -4.489963755739732 \cdot 10^{-31} \lor \neg \left(\sin ky \leq 1.5856102336962356 \cdot 10^{-39}\right):\\ \;\;\;\;\sin th \cdot \frac{\sin ky}{\left|\sin ky\right|}\\ \mathbf{else}:\\ \;\;\;\;\sin th \cdot \frac{\sin ky}{\sin kx}\\ \end{array}\]
Alternative 8
Error37.5
Cost26241
\[\begin{array}{l} \mathbf{if}\;\sin ky \leq 1.5856102336962356 \cdot 10^{-39}:\\ \;\;\;\;\sin th \cdot \frac{\sin ky}{\sin kx}\\ \mathbf{else}:\\ \;\;\;\;\sin th\\ \end{array}\]
Alternative 9
Error38.9
Cost13448
\[\begin{array}{l} \mathbf{if}\;ky \leq -3.1381468154648124 \lor \neg \left(ky \leq 1.9010806566848318 \cdot 10^{-39}\right):\\ \;\;\;\;\sin th\\ \mathbf{else}:\\ \;\;\;\;\frac{ky \cdot \sin th}{\sin kx}\\ \end{array}\]
Alternative 10
Error44.8
Cost6792
\[\begin{array}{l} \mathbf{if}\;ky \leq -3.1381468154648124 \lor \neg \left(ky \leq 6.2465106726532 \cdot 10^{-156}\right):\\ \;\;\;\;\sin th\\ \mathbf{else}:\\ \;\;\;\;0\\ \end{array}\]
Alternative 11
Error56.0
Cost64
\[0\]
Alternative 12
Error60.3
Cost64
\[1\]

Error

Time

Derivation

  1. Initial program 4.0

    \[\frac{\sin ky}{\sqrt{{\sin kx}^{2} + {\sin ky}^{2}}} \cdot \sin th\]
  2. Using strategy rm
  3. Applied *-un-lft-identity_binary64_784.0

    \[\leadsto \frac{\sin ky}{\color{blue}{1 \cdot \sqrt{{\sin kx}^{2} + {\sin ky}^{2}}}} \cdot \sin th\]
  4. Applied *-un-lft-identity_binary64_784.0

    \[\leadsto \frac{\color{blue}{1 \cdot \sin ky}}{1 \cdot \sqrt{{\sin kx}^{2} + {\sin ky}^{2}}} \cdot \sin th\]
  5. Applied times-frac_binary64_844.0

    \[\leadsto \color{blue}{\left(\frac{1}{1} \cdot \frac{\sin ky}{\sqrt{{\sin kx}^{2} + {\sin ky}^{2}}}\right)} \cdot \sin th\]
  6. Applied associate-*l*_binary64_194.0

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

    \[\leadsto \frac{1}{1} \cdot \left(\frac{\sin ky}{\color{blue}{1 \cdot \sqrt{{\sin kx}^{2} + {\sin ky}^{2}}}} \cdot \sin th\right)\]
  9. Applied *-un-lft-identity_binary64_784.0

    \[\leadsto \frac{1}{1} \cdot \left(\frac{\color{blue}{1 \cdot \sin ky}}{1 \cdot \sqrt{{\sin kx}^{2} + {\sin ky}^{2}}} \cdot \sin th\right)\]
  10. Applied times-frac_binary64_844.0

    \[\leadsto \frac{1}{1} \cdot \left(\color{blue}{\left(\frac{1}{1} \cdot \frac{\sin ky}{\sqrt{{\sin kx}^{2} + {\sin ky}^{2}}}\right)} \cdot \sin th\right)\]
  11. Applied associate-*l*_binary64_194.0

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

    \[\leadsto \frac{1}{1} \cdot \left(\frac{1}{1} \cdot \left(\frac{\sin ky}{\sqrt{{\sin kx}^{2} + {\color{blue}{\left(1 \cdot \sin ky\right)}}^{2}}} \cdot \sin th\right)\right)\]
  14. Applied unpow-prod-down_binary64_1574.0

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

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

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

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

Reproduce

herbie shell --seed 2021065 
(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)))