int main(int argc, char **argv) { int a, b, c; a = atoi(argv[1]); b = atoi(argv[2]); c = atoi(argv[3]); a = ((int64_t)a*b)>>32; a /= c; printf ("%d\n", a); return 1; } 97: f7 ee imul %esi 99: 89 d6 mov %edx,%esi 9b: 89 c3 mov %eax,%ebx 9d: 89 f3 mov %esi,%ebx 9f: 89 da mov %ebx,%edx a1: 89 d8 mov %ebx,%eax a3: c1 fa 1f sar $0x1f,%edx a6: 89 de mov %ebx,%esi a8: f7 ff idiv %edi