Você recebe os valores RGB de uma cor. Sua tarefa é simples: calcular o matiz, na definição mais simples.
Digamos que os canais com os valores mais alto, médio e mais baixo sejam X, Y, Z (que são vermelhos, verdes ou azuis) e seus valores sejam x, y, z. O matiz dessa cor é (h (X) -h (Y)) * (1 + (xy) / (xz)) / 2 + h (Y), onde:
h(red) = 0 (or 360 if one of X or Y is blue)
h(green) = 120
h(blue) = 240
A entrada consiste em 3 números inteiros de 0 a 255, que não são todos iguais, em qualquer ordem consistente. A saída pode ser flutuantes ou números inteiros arredondados para cima ou para baixo, o que não precisa ser consistente. Se a parte inteira da saída for 0 ou 360, você poderá imprimir qualquer um deles.
Você não pode chamar builtins para conversões de espaço de cores, incluindo conversões implícitas, como durante a manipulação de uma imagem.
Isso é código-golfe. O menor código vence.
Exemplos
Input: 0 182 255
Output: 197 (or 198)
Input: 127 247 103
Output: 110
Input: 0 0 1
Output: 240
Input: 255 165 245
Output: 307 (or 306)
Editar
Você não precisa seguir a fórmula exata, mas apenas fornecer o mesmo resultado que a fórmula acima. Eu também gostaria de ver algumas respostas jogando a fórmula em si.