Максимум:
( a + b + sqrt( ( a - b ) * ( a - b ) ) )
___________________________________________
2
Чтобы получить минимум, надо перевернуть знак перед корнем:
( a + b - sqrt( ( a - b ) * ( a - b ) ) )
___________________________________________
2
Где SQRT - взятие корня квадратного
Код на плюсиках:
int32_t TheMadMax( const int32_t a, const int32_t b )
{
const int32_t alpha = ( a - b );
const int32_t beta = alpha >> 31;
const int32_t gamma = ( alpha ^ beta ) - beta;
return ( a + b + gamma ) >> 1;
}
Референс