Make temporary variables to have the higher precision between its own precision specifier and the one of the operation they are part of