Average Error: 0.0 → 0.0
Time: 49.9s
Precision: binary64
Cost: 12992
\[e^{re} \cdot \cos im\]
\[e^{re} \cdot \cos im\]
e^{re} \cdot \cos im
e^{re} \cdot \cos im
(FPCore (re im) :precision binary64 (* (exp re) (cos im)))
(FPCore (re im) :precision binary64 (* (exp re) (cos im)))
double code(double re, double im) {
	return exp(re) * cos(im);
}
double code(double re, double im) {
	return exp(re) * cos(im);
}

Error

Bits error versus re

Bits error versus im

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Alternatives

Alternative 1
Error0.5
Cost14081
\[\begin{array}{l} \mathbf{if}\;e^{re} \leq 8.57649361698567 \cdot 10^{-145}:\\ \;\;\;\;0\\ \mathbf{else}:\\ \;\;\;\;\cos im \cdot \left(re + \left(1 + re \cdot \left(re \cdot \left(0.5 + re \cdot 0.16666666666666666\right)\right)\right)\right)\\ \end{array}\]
Alternative 2
Error0.6
Cost13825
\[\begin{array}{l} \mathbf{if}\;e^{re} \leq 0:\\ \;\;\;\;0\\ \mathbf{else}:\\ \;\;\;\;\cos im \cdot \left(re + \left(1 + 0.5 \cdot \left(re \cdot re\right)\right)\right)\\ \end{array}\]
Alternative 3
Error0.7
Cost13825
\[\begin{array}{l} \mathbf{if}\;e^{re} \leq 0:\\ \;\;\;\;0\\ \mathbf{else}:\\ \;\;\;\;\cos im \cdot \left(re + \left(1 + \left(re \cdot re\right) \cdot 0.375\right)\right)\\ \end{array}\]
Alternative 4
Error0.7
Cost13441
\[\begin{array}{l} \mathbf{if}\;e^{re} \leq 8.57649361698567 \cdot 10^{-145}:\\ \;\;\;\;0\\ \mathbf{else}:\\ \;\;\;\;\cos im \cdot \left(re + 1\right)\\ \end{array}\]
Alternative 5
Error1.0
Cost13185
\[\begin{array}{l} \mathbf{if}\;e^{re} \leq 0.9999999999996496:\\ \;\;\;\;e^{re}\\ \mathbf{else}:\\ \;\;\;\;\cos im\\ \end{array}\]
Alternative 6
Error18.9
Cost6464
\[e^{re}\]
Alternative 7
Error19.2
Cost897
\[\begin{array}{l} \mathbf{if}\;re \leq -286.6787909606117:\\ \;\;\;\;0\\ \mathbf{else}:\\ \;\;\;\;re + \left(1 + 0.5 \cdot \left(re \cdot re\right)\right)\\ \end{array}\]
Alternative 8
Error19.3
Cost513
\[\begin{array}{l} \mathbf{if}\;re \leq -338.352817309614:\\ \;\;\;\;0\\ \mathbf{else}:\\ \;\;\;\;re + 1\\ \end{array}\]
Alternative 9
Error19.5
Cost385
\[\begin{array}{l} \mathbf{if}\;re \leq -276.6683415466335:\\ \;\;\;\;0\\ \mathbf{else}:\\ \;\;\;\;1\\ \end{array}\]
Alternative 10
Error40.0
Cost64
\[1\]

Error

Time

Derivation

  1. Initial program 0.0

    \[e^{re} \cdot \cos im\]
  2. Using strategy rm
  3. Applied pow1_binary64_8210.0

    \[\leadsto e^{re} \cdot \color{blue}{{\cos im}^{1}}\]
  4. Applied pow1_binary64_8210.0

    \[\leadsto \color{blue}{{\left(e^{re}\right)}^{1}} \cdot {\cos im}^{1}\]
  5. Applied pow-prod-down_binary64_8310.0

    \[\leadsto \color{blue}{{\left(e^{re} \cdot \cos im\right)}^{1}}\]
  6. Using strategy rm
  7. Applied *-un-lft-identity_binary64_7600.0

    \[\leadsto {\color{blue}{\left(1 \cdot \left(e^{re} \cdot \cos im\right)\right)}}^{1}\]
  8. Using strategy rm
  9. Applied *-un-lft-identity_binary64_7600.0

    \[\leadsto {\left(1 \cdot \color{blue}{\left(1 \cdot \left(e^{re} \cdot \cos im\right)\right)}\right)}^{1}\]
  10. Simplified0.0

    \[\leadsto \color{blue}{e^{re} \cdot \cos im}\]
  11. Final simplification0.0

    \[\leadsto e^{re} \cdot \cos im\]

Reproduce

herbie shell --seed 2021040 
(FPCore (re im)
  :name "math.exp on complex, real part"
  :precision binary64
  (* (exp re) (cos im)))