ちなみに試したコード
#include <stdlib.h>

int divd(int x,int y){
div_t d=div(x+y/2,y);
return d.quot+(d.rem>>31);
}

int divd(int x,int y){
div_t d=div(x*2+y,y*2);
return d.quot+(d.rem>>31);
}

結果はどっちも >>441 と y=10では同じになる