Full_Name: Morten Welinder Version: OS: Linux Submission from: (NULL) (69.113.253.99) It appears that phyper hangs for insanely large x, such as the call phyper(1e67,0,0,0) Adding something like this after the tail swap seems to cure that. if (x >= NR) return R_DT_1;