Wow, this is mighty strange... I added some more prints of calculations, as so:
printf "%3.5g %3.5g %3.5g %3.5g\n",
($e+0), (0+$e), (0-$e),($e-0);
printf "%3.5g %3.5g %3.5g %3.5g\n",
($e+1), (1+$e), (1-$e),($e-1);
printf "%3.5g %3.5g %3.5g %3.5g\n",
($e+$e), ($e-$e), ($e*$e),($e/$e);
printf "%3.5g %3.5g %3.5g %3.5g\n",
($e**2), ($e**0), (0/$e),($e/0);
The output was:
0 0 0 0
1 1 1 -1
2 0 1 1
0 1 0 0
In particular, note that the final calculation is ($e/0). The anomaly is more than just $e having an ambiguous value, it seems.