// File: /workspace/github_c_makefile_star2_O3/YunyiQian[P]multitel3/radiats.c
// Function: dc_radiat
void	dc_radiat(float stk,float dip,float rak,float rad[4][3]) {
   float sstk,sdip,srak,sstk2,sdip2;
   float cstk,cdip,crak,cstk2,cdip2;
   stk*=DEG2RAD; dip*=DEG2RAD; rak*=DEG2RAD;
   sstk=sin(stk);cstk=cos(stk);
   sdip=sin(dip);cdip=cos(dip);
   srak=sin(rak);crak=cos(rak);
   sstk2=2*sstk*cstk; cstk2=cstk*cstk-sstk*sstk;
   sdip2=2*sdip*cdip; cdip2=cdip*cdip-sdip*sdip;
   rad[0][0]=0.5*srak*sdip2;
   rad[0][1]=rad[0][0];
   rad[0][2]=0.;
   rad[1][0]=-sstk*srak*cdip2+cstk*crak*cdip;
   rad[1][1]=rad[1][0];
   rad[1][2]= cstk*srak*cdip2+sstk*crak*cdip;
   rad[2][0]=-sstk2*crak*sdip-0.5*cstk2*srak*sdip2;
   rad[2][1]=rad[2][0];
   rad[2][2]=cstk2*crak*sdip-0.5*sstk2*srak*sdip2;
}

// Assembly:
pushq %rbx
subq $0x60, %rsp
movq %rdi, %rbx
cvtss2sd %xmm0, %xmm0
movsd 0x27ec(%rip), %xmm3     # 0x6ef0
mulsd %xmm3, %xmm0
cvtsd2ss %xmm0, %xmm0
cvtss2sd %xmm1, %xmm1
mulsd %xmm3, %xmm1
cvtsd2ss %xmm1, %xmm1
movss %xmm1, 0x10(%rsp)
xorps %xmm1, %xmm1
cvtss2sd %xmm2, %xmm1
mulsd %xmm3, %xmm1
cvtsd2ss %xmm1, %xmm1
movss %xmm1, 0x20(%rsp)
cvtss2sd %xmm0, %xmm0
movsd %xmm0, 0x30(%rsp)
callq 0x11e0
movaps %xmm0, 0x50(%rsp)
movsd 0x30(%rsp), %xmm0
callq 0x10e0
cvtsd2ss %xmm0, %xmm0
movaps %xmm0, 0x30(%rsp)
xorps %xmm0, %xmm0
cvtss2sd 0x10(%rsp), %xmm0
movsd %xmm0, (%rsp)
callq 0x11e0
cvtsd2ss %xmm0, %xmm0
movaps %xmm0, 0x10(%rsp)
movsd (%rsp), %xmm0
callq 0x10e0
cvtsd2ss %xmm0, %xmm0
movaps %xmm0, (%rsp)
xorps %xmm0, %xmm0
cvtss2sd 0x20(%rsp), %xmm0
movsd %xmm0, 0x48(%rsp)
callq 0x11e0
cvtsd2ss %xmm0, %xmm0
movaps %xmm0, 0x20(%rsp)
movsd 0x48(%rsp), %xmm0
callq 0x10e0
movaps 0x10(%rsp), %xmm9
movaps %xmm9, %xmm2
addss %xmm9, %xmm2
movaps (%rsp), %xmm11
mulss %xmm11, %xmm2
movaps %xmm9, %xmm1
mulss %xmm9, %xmm1
movaps %xmm11, %xmm3
mulss %xmm11, %xmm3
subss %xmm1, %xmm3
movaps 0x20(%rsp), %xmm12
xorps %xmm1, %xmm1
cvtss2sd %xmm12, %xmm1
movsd 0x226a(%rip), %xmm4     # 0x6a60
mulsd %xmm1, %xmm4
cvtss2sd %xmm2, %xmm2
mulsd %xmm2, %xmm4
cvtsd2ss %xmm4, %xmm4
movss %xmm4, (%rbx)
movss %xmm4, 0x4(%rbx)
movl $0x0, 0x8(%rbx)
unpcklpd 0x50(%rsp), %xmm0       # xmm0 = xmm0[0],mem[0]
cvtpd2ps %xmm0, %xmm4
movapd %xmm4, %xmm7
shufps $0x55, %xmm4, %xmm7     # xmm7 = xmm7[1,1],xmm4[1,1]
movaps %xmm7, %xmm0
addss %xmm7, %xmm0
movaps 0x30(%rsp), %xmm10
mulss %xmm10, %xmm0
movaps 0x17cf(%rip), %xmm6     # 0x6010
movaps %xmm7, %xmm8
xorps %xmm6, %xmm8
mulss %xmm7, %xmm7
movaps %xmm10, %xmm5
mulss %xmm10, %xmm5
subss %xmm7, %xmm5
unpcklps %xmm10, %xmm8           # xmm8 = xmm8[0],xmm10[0],xmm8[1],xmm10[1]
movaps %xmm12, %xmm7
shufps $0x0, %xmm12, %xmm7     # xmm7 = xmm7[0,0],xmm12[0,0]
mulps %xmm8, %xmm7
movaps %xmm7, %xmm12
movaps %xmm4, %xmm7
movlhps %xmm10, %xmm7           # xmm7 = xmm7[0],xmm10[0]
shufps $0xe2, %xmm8, %xmm7     # xmm7 = xmm7[2,0],xmm8[2,3]
mulps %xmm4, %xmm7
movaps %xmm11, %xmm8
shufps $0x0, %xmm11, %xmm8     # xmm8 = xmm8[0,0],xmm11[0,0]
mulps %xmm7, %xmm8
shufps $0x0, %xmm3, %xmm3      # xmm3 = xmm3[0,0,0,0]
mulps %xmm12, %xmm3
addps %xmm8, %xmm3
xorps %xmm0, %xmm6
unpcklps %xmm5, %xmm6            # xmm6 = xmm6[0],xmm5[0],xmm6[1],xmm5[1]
shufps $0x0, %xmm4, %xmm4      # xmm4 = xmm4[0,0,0,0]
mulps %xmm6, %xmm4
movaps %xmm9, %xmm6
shufps $0x0, %xmm9, %xmm6      # xmm6 = xmm6[0,0],xmm9[0,0]
mulps %xmm4, %xmm6
cvtps2pd %xmm6, %xmm4
movss %xmm3, 0xc(%rbx)
unpcklps %xmm0, %xmm5            # xmm5 = xmm5[0],xmm0[0],xmm5[1],xmm0[1]
cvtps2pd %xmm5, %xmm0
movlps %xmm3, 0x10(%rbx)
mulpd 0x2656(%rip), %xmm0     # 0x6f20
unpcklpd %xmm1, %xmm1            # xmm1 = xmm1[0,0]
mulpd %xmm0, %xmm1
unpcklpd %xmm2, %xmm2            # xmm2 = xmm2[0,0]
mulpd %xmm1, %xmm2
addpd %xmm4, %xmm2
cvtpd2ps %xmm2, %xmm0
movss %xmm0, 0x18(%rbx)
movlpd %xmm0, 0x1c(%rbx)
addq $0x60, %rsp
popq %rbx
retq