Hi, Ed

as the speed range will be limited ( even for Red October !!! ), I think you'd better use a retrieve table plus linear interpolation.

the 32 bits square root calculations needing too much CPU time ... for the expected result
( and I hope your sub' not used in sea water or "not so clean " water ... you might use a different density coeff : http://www.csgnetwork.com/h2odenscalc.html )

may be you also could have a look for a possible temp coeff use ...

Wish you all the best
Alain