if_else_zero is not used,  if_zero_else and is_equal are only needed ifndef NO_INFINITIES