// File: /workspace/github_cpp_makefile_star2_O3/devernay[P]vlpovutils/./small.hpp
// Function: boost::numeric::ublas::matrix33_from_columns(boost::numeric::ublas::vector3 const&, boost::numeric::ublas::vector3 const&, boost::numeric::ublas::vector3 const&)
inline matrix33
matrix33_from_columns(const vector3 &m0, const vector3 &m1, const vector3 &m2) {
    matrix33 M;
    M(0,0) = m0[0]; M(0,1) = m1[0]; M(0,2) = m2[0];
    M(1,0) = m0[1]; M(1,1) = m1[1]; M(1,2) = m2[1];
    M(2,0) = m0[2]; M(2,1) = m1[2]; M(2,2) = m2[2];

    return M;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x10, %rsp
movq %rcx, %r15
movq %rdx, %r12
movq %rsi, %r13
movq %rdi, %rbx
movl $0x3, %eax
movq %rax, (%rdi)
movq %rax, 0x8(%rdi)
leaq 0x10(%rdi), %r14
movq $0x9, 0x10(%rdi)
movq %rsi, %rdi
xorl %esi, %esi
callq 0x5e4c
movsd (%rax), %xmm0
movsd %xmm0, 0x8(%rsp)
movl $0x3, %esi
movl $0x3, %ecx
xorl %edi, %edi
xorl %edx, %edx
callq 0x5792
movq %r14, %rdi
movq %rax, %rsi
callq 0x75be
movsd 0x8(%rsp), %xmm0
movsd %xmm0, (%rax)
movq %r12, %rdi
xorl %esi, %esi
callq 0x5e4c
movsd (%rax), %xmm0
movsd %xmm0, 0x8(%rsp)
movq (%rbx), %rsi
movq 0x8(%rbx), %rcx
movl $0x1, %edx
xorl %edi, %edi
callq 0x5792
movq %r14, %rdi
movq %rax, %rsi
callq 0x75be
movsd 0x8(%rsp), %xmm0
movsd %xmm0, (%rax)
movq %r15, %rdi
xorl %esi, %esi
callq 0x5e4c
movsd (%rax), %xmm0
movsd %xmm0, 0x8(%rsp)
movq (%rbx), %rsi
movq 0x8(%rbx), %rcx
movl $0x2, %edx
xorl %edi, %edi
callq 0x5792
movq %r14, %rdi
movq %rax, %rsi
callq 0x75be
movsd 0x8(%rsp), %xmm0
movsd %xmm0, (%rax)
movl $0x1, %esi
movq %r13, %rdi
callq 0x5e4c
movsd (%rax), %xmm0
movsd %xmm0, 0x8(%rsp)
movq (%rbx), %rsi
movq 0x8(%rbx), %rcx
movl $0x1, %edi
xorl %edx, %edx
callq 0x5792
movq %r14, %rdi
movq %rax, %rsi
callq 0x75be
movsd 0x8(%rsp), %xmm0
movsd %xmm0, (%rax)
movl $0x1, %esi
movq %r12, %rdi
callq 0x5e4c
movsd (%rax), %xmm0
movsd %xmm0, 0x8(%rsp)
movq (%rbx), %rsi
movq 0x8(%rbx), %rcx
movl $0x1, %edi
movl $0x1, %edx
callq 0x5792
movq %r14, %rdi
movq %rax, %rsi
callq 0x75be
movsd 0x8(%rsp), %xmm0
movsd %xmm0, (%rax)
movl $0x1, %esi
movq %r15, %rdi
callq 0x5e4c
movsd (%rax), %xmm0
movsd %xmm0, 0x8(%rsp)
movq (%rbx), %rsi
movq 0x8(%rbx), %rcx
movl $0x1, %edi
movl $0x2, %edx
callq 0x5792
movq %r14, %rdi
movq %rax, %rsi
callq 0x75be
movsd 0x8(%rsp), %xmm0
movsd %xmm0, (%rax)
movl $0x2, %esi
movq %r13, %rdi
callq 0x5e4c
movsd (%rax), %xmm0
movsd %xmm0, 0x8(%rsp)
movq (%rbx), %rsi
movq 0x8(%rbx), %rcx
movl $0x2, %edi
xorl %edx, %edx
callq 0x5792
movq %r14, %rdi
movq %rax, %rsi
callq 0x75be
movsd 0x8(%rsp), %xmm0
movsd %xmm0, (%rax)
movl $0x2, %esi
movq %r12, %rdi
callq 0x5e4c
movsd (%rax), %xmm0
movsd %xmm0, 0x8(%rsp)
movq (%rbx), %rsi
movq 0x8(%rbx), %rcx
movl $0x2, %edi
movl $0x1, %edx
callq 0x5792
movq %r14, %rdi
movq %rax, %rsi
callq 0x75be
movsd 0x8(%rsp), %xmm0
movsd %xmm0, (%rax)
movl $0x2, %esi
movq %r15, %rdi
callq 0x5e4c
movsd (%rax), %xmm0
movsd %xmm0, 0x8(%rsp)
movq (%rbx), %rsi
movq 0x8(%rbx), %rcx
movl $0x2, %edi
movl $0x2, %edx
callq 0x5792
movq %r14, %rdi
movq %rax, %rsi
callq 0x75be
movsd 0x8(%rsp), %xmm0
movsd %xmm0, (%rax)
movq %rbx, %rax
addq $0x10, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq