use expm1 in upgrade
C long has the expm1 function: https://en.cppreference.com/w/cpp/numeric/math/expm1 We could use it in upgrade. https://stackoverflow.com/questions/30393928/expm1-for-gnu-gfortran/30396674#30396674 The MKL has it: https://software.intel.com/en-us/mkl-developer-reference-fortran-v-expm1