• If I change the variables to anything from float(25) to float(53), I get the wrong answer (75.42)

    What's the relation between this value and the values from the question (165.755, 165.555)?!

    If i use flat(24) or less, I get the correct answer.

    Ok, let's use float(24). The result is: 165.76, 165.55. Is this result correct?

    There's no way to get a correct answer without cheating (copy-paste-execute) or making a guess 🙂 Oh, except this one: you should know SQL Server internal binary representation of floats (which is undocumented and may vary from version to version)...