I read somewhere that the approximation binary operator (\approx) checks if the number is within machine precision. Whatever it does exactly, it does not appear to behave consistently:

```
julia> ℯ^(-π*im)
-1.0 - 1.2246467991473532e-16im
julia> ℯ^(-π*im) == -1
false
```

This is probably normal behaviour, and I guess that \sim 10^{-16} is machine or type precision. So I will use \approx to get a `true`

th, but reordening of symbols, or considering only the imaginary part, results in a `false`

hood:

```
julia> ℯ^(-π*im) ≈ -1
true
julia> ℯ^(-π*im) + 1 ≈ 0
false
julia> imag(ℯ^(-π*im))
-1.2246467991473532e-16
julia> imag(ℯ^(-π*im)) ≈ 0
false
```

Tip: typing `\app[Tab][Tab]`

in the interpreter results in TeX’s \approx and then Unicode.

Most of the above numerical expressions are of the same type `Complex{Float64}`

, so precision should be the same for everything. The last two `imag()`

expressions are `Float64`

and shows the problem as well. What happens here?

I am using Julia 0.7.0-DEV.3686, same on 0.6.2.