Average Error: 0.0 → 0.0
Time: 1.4min
Precision: binary64
Cost: 19712
\[\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\]
\[\left(e^{-im} + e^{im}\right) \cdot \left(\cos re \cdot 0.5\right)\]
\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)
\left(e^{-im} + e^{im}\right) \cdot \left(\cos re \cdot 0.5\right)
(FPCore (re im)
 :precision binary64
 (* (* 0.5 (cos re)) (+ (exp (- im)) (exp im))))
(FPCore (re im)
 :precision binary64
 (* (+ (exp (- im)) (exp im)) (* (cos re) 0.5)))
double code(double re, double im) {
	return (0.5 * cos(re)) * (exp(-im) + exp(im));
}
double code(double re, double im) {
	return (exp(-im) + exp(im)) * (cos(re) * 0.5);
}

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.7
Cost13696
\[\cos re \cdot \left(0.5 \cdot \left(im \cdot im\right) + \left(1 + 0.041666666666666664 \cdot {im}^{4}\right)\right)\]
Alternative 2
Error0.9
Cost13376
\[\cos re + 0.5 \cdot \left(\cos re \cdot \left(im \cdot im\right)\right)\]
Alternative 3
Error0.9
Cost6976
\[\cos re \cdot \left(0.5 \cdot \left(im \cdot im\right) + 1\right)\]
Alternative 4
Error1.2
Cost6464
\[\cos re\]
Alternative 5
Error29.5
Cost64
\[1\]
Alternative 6
Error59.8
Cost64
\[-1\]

Error

Derivation

  1. Initial program 0.0

    \[\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\]
  2. Using strategy rm
  3. Applied *-un-lft-identity_binary64_11010.0

    \[\leadsto \color{blue}{1 \cdot \left(\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\right)}\]
  4. Using strategy rm
  5. Applied pow1_binary64_11620.0

    \[\leadsto 1 \cdot \left(\left(0.5 \cdot \cos re\right) \cdot \color{blue}{{\left(e^{-im} + e^{im}\right)}^{1}}\right)\]
  6. Applied pow1_binary64_11620.0

    \[\leadsto 1 \cdot \left(\left(0.5 \cdot \color{blue}{{\cos re}^{1}}\right) \cdot {\left(e^{-im} + e^{im}\right)}^{1}\right)\]
  7. Applied pow1_binary64_11620.0

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

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

    \[\leadsto 1 \cdot \color{blue}{{\left(\left(0.5 \cdot \cos re\right) \cdot \left(e^{-im} + e^{im}\right)\right)}^{1}}\]
  10. Using strategy rm
  11. Applied pow1_binary64_11620.0

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

    \[\leadsto \color{blue}{\left(e^{-im} + e^{im}\right) \cdot \left(\cos re \cdot 0.5\right)}\]
  13. Final simplification0.0

    \[\leadsto \left(e^{-im} + e^{im}\right) \cdot \left(\cos re \cdot 0.5\right)\]

Reproduce

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