話ぶった切ってすまんが>>356の誤差が少なくなるように修正してみた
データが書ききれないから結果だけになるけど許してくれ

A=TEC-(Lv*0.63+4.78) ←ここで整数になるように四捨五入
B=sin(A/10)+2
 ただし
 A≦-15のとき B=-3
 A≧15のとき B=3
回復量=TEC*B)*スキル倍率/100
ただし左から順に掛け算一つするたびに小数点以下切り捨て
(TEC*Bを先に計算して小数点以下切り捨て
 そのあとスキル倍率をかけて再び切り捨て)
最後に乱数0〜5を足して終わり
(スキル倍率は攻略本に載っている値)

医術師の心得、ヒールマスタリ、集中治療で補助をかけた場合は
 最終的な回復量=上で求めた回復量*(マスタリ/100)*(心得/100)*(集中治療/100)
やはり上と同様に、左から掛け算一つするたびに小数点以下切り捨て
乱数は最後に0〜5を加える

これで謎補正と思われるところ以外は誤差0で計算できる
その誤差があるところをまとめると、スキル倍率 掛け算する相手 の順で
10 50,60,70,80,90,160 →10n?
18 50
40 10,25,30,35,40,45,75,85,90 →5n?
60 25,30,35,40,45,55,60,65,70,75,80,85,90,95 →5n?
65 60
78 50
80 40,45,50,55,60,80,85,90,95 →5n?
85 40,80 →40n?
105 40,60,200 →20n?
108 25,50 →25n?
120 10,15,20,25,40,45,50,55,60,65,75,100 →5n?
この組み合わせのときに最後に出てくる回復量が計算値よりも1少ない(0.10*50=4となる)
(掛け算する相手ってのはTEC*Bだったり回復量だったりと整数になる値)

雑に言うと、スキル倍率を分数にして約分して、その分母の倍数を掛けた時にしばしば起こる
ということなんだけど、ここからはうまくまとめられないので参考程度に

おそらくこれらは計算するときの誤差で、
いわゆる 1/3*3=0.999999・・・・・ となるような種類の誤差だと思う
上で挙げたスキル倍率はすべて2進数の領域では循環小数になるので
計算しきれずに0.999999・・・・が切り捨てられて0.99みたいな誤差になっていると思う