1 int sub_test(int a1, int a2)
3 union { u32 d[8]; u16 w[16]; u8 b[32]; double q[4]; } sf;
11 f_st0 = (double)(s32)sf.d[0]; // var_20 fild
12 f_st0 /= (double)(s32)a1; // arg_0
13 f_st0 *= *((double *)(u32)&sf.q[1]); // var_18
14 f_st1 = f_st0; f_st0 = (double)(s32)sf.d[0]; // var_20 fild
16 f_st0 = f_st1 + f_st0;
17 f_sw = f_st0 <= *((double *)(u32)&sf.q[1]) ? 0x4100 : 0; // var_18 z_chk_det
20 cond_z = ((u8)((u8)(eax >> 8) & 0x41) == 0);
22 LOBYTE(eax) = (cond_z);
23 f_st1 = f_st0; f_st0 = 1.0;
24 f_st0 = *((double *)(u32)&sf.q[1]) / f_st0; // var_18
25 { double t = f_st0; f_st0 = f_st1; f_st1 = t; } // fxch
28 f_st1 = f_st0; // fld st
29 f_st0 = f_st1 * log2(f_st0);
30 f_st1 = f_st0; // fld st
31 sf.d[0] = (s32)f_st0; f_st0 = f_st1; // var_20 fist
32 *((double *)(u32)&sf.q[1]) = f_st0; // var_18 fst
33 eax = (s32)f_st0; // ftol