I'm not a spellmiester, either...
But, doesn't haste work off of a percentage multiplier?
10% haste would be a value of 110 (
100% + 10% or
100% * 1.1)
90% slow would be a value of 10? (
100% - 90% or
100% * (1.0 - 0.9) or
100% * 0.1)
Just my two cents
EDIT:
Just take the value and adjust it upward.
Any value < 100 would be slow .. >= 100 would be haste.
Consider that value a percentage by multiplying it by 0.01 (or dividing it by 100 - whichever is easier.)