typedef unsigned long int ul; typedef struct{ul q; ul r;} res; res divq(ul a, ul b, ul d); res mulq(ul a, ul b); int main(){int j = 100000000; while(j--) divq(5L<<50, 318, 3L<<60); return 0;} // clang -O3 d.c q.s; time ./a.out // 2.47 sec