Hopefully that failed since the answer should be 1. But I don't know if I would fix it. This is a really subtle point and *most* of the time nobody is going to see the difference. And it can even be that doing it with subs will yield an expression that is closer to the expectation:

```
>>> ((d**2-4*e)).n(subs={d:3.1,e:3.1**2/4}),((d**2-4*e)).subs({d:3.1,e:3.1**2/4}
(-6.57252030578093e-16, 0)
```

vs

```
>>> (cos(x)**2+sin(x)**2-1).n(subs={x:0.1})  # almost no error relative to the following
-0.e-127
>>> (cos(x)**2+sin(x)**2-1).subs({x:0.1}).n()
-1.11022302462516e-16
```