According to the manual, %emode only controls the simplification of expressions of the type %e^(%i*%pi*x). But when it's set to false, it also prevents %e^2.0 from becoming a float:
/* OK: */
(%i1) %e^2.0;
(%o1) 7.38905609893065
/* Wrong: */
(%i2) %e^2.0, %emode:false;
(%o2) %e^2.0
This is caused by simpexpt wrapping the code that would do this correctly inside (when $%emode ....
Fixed by commit [fe1ee8].
Related
Commit: [fe1ee8]