// File: sus304[P]ForRocket/./lib/boost/numeric/odeint/stepper/detail/generic_rk_algorithm.hpp
// Function: void boost::numeric::odeint::detail::generic_rk_algorithm<4ul, double, boost::numeric::odeint::array_algebra, boost::numeric::odeint::default_operations>::calculate_stage<forrocket::Dynamics3dofParachute, std::array<double, 14ul>, std::array<double, 14ul>, std::array<double, 14ul>, boost::numeric::odeint::state_wrapper<std::array<double, 14ul>, void>, std::array<double, 14ul>, double>::operator()<double, 2ul>(boost::numeric::odeint::detail::stage<double, 2ul> const&) const
void inline operator()( stage< T , stage_number > const &stage ) const
        //typename stage_fusion_wrapper< T , mpl::size_t< stage_number > , intermediate_stage >::type const &stage ) const
        {
            if( stage_number > 1 )
            {
#ifdef BOOST_MSVC
#pragma warning( disable : 4307 34 )
#endif
                system( x_tmp , F[stage_number-2].m_v , t + stage.c * dt );
#ifdef BOOST_MSVC
#pragma warning( default : 4307 34 )
#endif
            }
            //std::cout << stage_number-2 << ", t': " << t + stage.c * dt << std::endl;

            if( stage_number < StageCount )
                detail::template generic_rk_call_algebra< stage_number , Algebra >()( algebra , x_tmp , x , dxdt , F ,
                        detail::generic_rk_scale_sum< stage_number , Operations , Value , Time >( stage.a , dt) );
            //                  algebra_type::template for_eachn<stage_number>( x_tmp , x , dxdt , F ,
            //                          typename operations_type::template scale_sumn< stage_number , time_type >( stage.a , dt ) );
            else
                detail::template generic_rk_call_algebra< stage_number , Algebra >()( algebra , x_out , x , dxdt , F ,
                        detail::generic_rk_scale_sum< stage_number , Operations , Value , Time >( stage.a , dt ) );
            //                algebra_type::template for_eachn<stage_number>( x_out , x , dxdt , F ,
            //                            typename operations_type::template scale_sumn< stage_number , time_type >( stage.a , dt ) );
        }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x80, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x60(%rbp)
movq 0x8(%rax), %rdi
movq 0x18(%rax), %rsi
movq 0x30(%rax), %rdx
movsd 0x38(%rax), %xmm1
movq -0x10(%rbp), %rcx
movsd (%rcx), %xmm0
movsd 0x40(%rax), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movq (%rdi), %rax
callq *(%rax)
movq -0x60(%rbp), %rax
movq (%rax), %rcx
movq %rcx, -0x58(%rbp)
movq 0x18(%rax), %rcx
movq %rcx, -0x50(%rbp)
movq 0x10(%rax), %rcx
movq %rcx, -0x48(%rbp)
movq 0x28(%rax), %rcx
movq %rcx, -0x40(%rbp)
movq 0x30(%rax), %rcx
movq %rcx, -0x38(%rbp)
movq -0x10(%rbp), %rsi
addq $0x8, %rsi
movsd 0x40(%rax), %xmm0
leaq -0x30(%rbp), %rdi
callq 0x84e00
movq -0x58(%rbp), %rsi
movq -0x50(%rbp), %rdx
movq -0x48(%rbp), %rcx
movq -0x40(%rbp), %r8
movq -0x38(%rbp), %r9
leaq -0x11(%rbp), %rdi
leaq -0x30(%rbp), %rax
movq (%rax), %r10
movq %r10, (%rsp)
movq 0x8(%rax), %r10
movq %r10, 0x8(%rsp)
movq 0x10(%rax), %rax
movq %rax, 0x10(%rsp)
callq 0x84d80
addq $0x80, %rsp
popq %rbp
retq
nopw (%rax,%rax)