t, f = hyper_as_trig(e) should preserve f(t) = e invariant

This was not the case for constant expressions, see #7761.  Closes #7761.

@smichr
Instead of testing ```x != y``` we can do ```x == z```.