Especificar o tipo de ponto flutuante é suficiente para garantir os mesmos resultados?

Estou escrevendo uma especificação que descreve algumas aritméticas que serão executadas pelo software. A intenção é que eu possa entregar essa especificação para dois programadores diferentes (que usam linguagens e / ou arquiteturas potencialmente diferentes) e quando eu inserir alguma entrada em seus programas, elessempre cuspir o mesmo resultado.

Por exemplo, se a especificação disser "adicionar 0.5 ao resultado", isso pode ser um problema. Dependendo do método de armazenamento de ponto flutuante, 0,5 pode ser representado como 0,4999999135 ou 0,500000138, etc.

Qual é a melhor maneira de especificar as regras aqui para que as coisas sejam consistentes em todos os níveis? Posso apenas dizer "Todos os números devem ser representados emIEEE 754 Formato de 64 bits "? Ou é melhor dizer algo como" Todos os números devem ser primeiro redimensionados em 1000 e computados usando aritmética de ponto fixo "?

Isso é um pouco diferente da maioria das questões de ponto flutuante que eu já vi, pois a questão é a repetibilidade entre as plataformas, não a precisão geral.

questionAnswers(1)

yourAnswerToTheQuestion