if_else is only used in the ifndef NO_INFINITIES case