Improved hyp2f1 function

In hyp2f1(a,b,c,x) 
Consider the condition where c is neg non integer and a,b > 0 and 0 < x < 1.
The function fails at present.
For example
hyp2f1(10,5,-300.5,0.5)
>-6.5184944973518031e+156

while the correct answer is
>-3.852027081523912e+32