Function Special_Divide(ADividend ,ADivisor,ADefault:Double):Double;
var ASign:Integer=1;
begin
if Adividend<0 then ASign:=-1;
if abs(Adivisor)<=abs(ADefault) then Result:=ADefault*ASign
else
If (abs(ADividend)*abs(ADivisor))<abs(Adefault) then result:=ADefault*ASign
else result:=ADividend/ADivisor;
end;