// File: /workspace/github_c_makefile_star2_O0/YunyiQian[P]multitel3/radiats.c
// Function: mt_radiat
void	mt_radiat(float az, float m[3][3], float rad[4][3]) {
   float saz, caz, saz2, caz2;
   az *= DEG2RAD;
   saz = sin(az); caz = cos(az);
   saz2 = 2*saz*caz; caz2 = caz*caz-saz*saz;
   rad[2][0] = rad[2][1] = -0.5*(m[0][0]-m[1][1])*caz2 - m[0][1]*saz2; 
   rad[1][0] = rad[1][1] = -m[0][2]*caz - m[1][2]*saz;
   rad[0][0] = rad[0][1] =  (2*m[2][2]-m[0][0]-m[1][1])/6.;
   rad[2][2] = -0.5*(m[0][0]-m[1][1])*saz2 + m[0][1]*caz2;
   rad[1][2] = -m[0][2]*saz + m[1][2]*caz;
   rad[0][2] = 0.;
   /* contribution from explosion: */
   rad[3][0] = rad[3][1] = (m[0][0]+m[1][1]+m[2][2])/3.;
   rad[3][2] = 0;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movss %xmm0, -0x4(%rbp)
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movss -0x4(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x2f92(%rip), %xmm1     # 0x8c38
mulsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x4(%rbp)
movss -0x4(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
callq 0x1190
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x1c(%rbp)
movss -0x4(%rbp), %xmm0
cvtss2sd %xmm0, %xmm0
callq 0x10d0
cvtsd2ss %xmm0, %xmm0
movss %xmm0, -0x20(%rbp)
movss 0x2367(%rip), %xmm0     # 0x8050
mulss -0x1c(%rbp), %xmm0
mulss -0x20(%rbp), %xmm0
movss %xmm0, -0x24(%rbp)
movss -0x20(%rbp), %xmm0
movss -0x20(%rbp), %xmm2
movss -0x1c(%rbp), %xmm1
mulss -0x1c(%rbp), %xmm1
movd %xmm1, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movss %xmm0, -0x28(%rbp)
movq -0x10(%rbp), %rax
movss (%rax), %xmm0
movq -0x10(%rbp), %rax
subss 0x10(%rax), %xmm0
cvtss2sd %xmm0, %xmm1
movsd 0x2efd(%rip), %xmm0     # 0x8c40
mulsd %xmm1, %xmm0
movss -0x28(%rbp), %xmm1
cvtss2sd %xmm1, %xmm2
movq -0x10(%rbp), %rax
movss 0x4(%rax), %xmm1
mulss -0x24(%rbp), %xmm1
cvtss2sd %xmm1, %xmm1
movq %xmm1, %rax
movabsq $-0x8000000000000000, %rcx # imm = 0x8000000000000000
xorq %rcx, %rax
movq %rax, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movq -0x18(%rbp), %rax
movss %xmm0, 0x1c(%rax)
movq -0x18(%rbp), %rax
movss %xmm0, 0x18(%rax)
movq -0x10(%rbp), %rax
movss 0x8(%rax), %xmm0
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
movss -0x20(%rbp), %xmm2
movq -0x10(%rbp), %rax
movss 0x14(%rax), %xmm1
mulss -0x1c(%rbp), %xmm1
movd %xmm1, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x18(%rbp), %rax
movss %xmm0, 0x10(%rax)
movq -0x18(%rbp), %rax
movss %xmm0, 0xc(%rax)
movq -0x10(%rbp), %rax
movss 0x20(%rax), %xmm0
movq -0x10(%rbp), %rax
movss (%rax), %xmm1
movd %xmm1, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm1
addss %xmm0, %xmm0
addss %xmm1, %xmm0
movq -0x10(%rbp), %rax
subss 0x10(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x2e26(%rip), %xmm1     # 0x8c48
divsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movq -0x18(%rbp), %rax
movss %xmm0, 0x4(%rax)
movq -0x18(%rbp), %rax
movss %xmm0, (%rax)
movq -0x10(%rbp), %rax
movss (%rax), %xmm0
movq -0x10(%rbp), %rax
subss 0x10(%rax), %xmm0
cvtss2sd %xmm0, %xmm1
movsd 0x2de8(%rip), %xmm0     # 0x8c40
mulsd %xmm1, %xmm0
movss -0x24(%rbp), %xmm1
cvtss2sd %xmm1, %xmm2
movq -0x10(%rbp), %rax
movss 0x4(%rax), %xmm1
mulss -0x28(%rbp), %xmm1
cvtss2sd %xmm1, %xmm1
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movq -0x18(%rbp), %rax
movss %xmm0, 0x20(%rax)
movq -0x10(%rbp), %rax
movss 0x8(%rax), %xmm0
movd %xmm0, %eax
xorl $0x80000000, %eax       # imm = 0x80000000
movd %eax, %xmm0
movss -0x1c(%rbp), %xmm2
movq -0x10(%rbp), %rax
movss 0x14(%rax), %xmm1
mulss -0x20(%rbp), %xmm1
mulss %xmm2, %xmm0
addss %xmm1, %xmm0
movq -0x18(%rbp), %rax
movss %xmm0, 0x14(%rax)
movq -0x18(%rbp), %rax
xorps %xmm0, %xmm0
movss %xmm0, 0x8(%rax)
movq -0x10(%rbp), %rax
movss (%rax), %xmm0
movq -0x10(%rbp), %rax
addss 0x10(%rax), %xmm0
movq -0x10(%rbp), %rax
addss 0x20(%rax), %xmm0
cvtss2sd %xmm0, %xmm0
movsd 0x2ad8(%rip), %xmm1     # 0x89d0
divsd %xmm1, %xmm0
cvtsd2ss %xmm0, %xmm0
movq -0x18(%rbp), %rax
movss %xmm0, 0x28(%rax)
movq -0x18(%rbp), %rax
movss %xmm0, 0x24(%rax)
movq -0x18(%rbp), %rax
xorps %xmm0, %xmm0
movss %xmm0, 0x2c(%rax)
addq $0x30, %rsp
popq %rbp
retq
nopw %cs:(%rax,%rax)