// File: istellartech[P]OpenTsiolkovsky/./boost/numeric/odeint/stepper/runge_kutta_dopri5.hpp
// Function: void boost::numeric::odeint::runge_kutta_dopri5<std::array<double, 14ul>, double, std::array<double, 14ul>, double, boost::numeric::odeint::array_algebra, boost::numeric::odeint::default_operations, boost::numeric::odeint::initially_resizer>::calc_state<std::array<double, 14ul>, std::array<double, 14ul>, std::array<double, 14ul>, std::array<double, 14ul>, std::array<double, 14ul>>(double, std::array<double, 14ul>&, std::array<double, 14ul> const&, std::array<double, 14ul> const&, double, std::array<double, 14ul> const&, std::array<double, 14ul> const&, double) const
void calc_state( time_type t , StateOut &x ,
                     const StateIn1 &x_old , const DerivIn1 &deriv_old , time_type t_old ,
                     const StateIn2 & /* x_new */ , const DerivIn2 &deriv_new , time_type t_new ) const
    {
        const value_type b1 = static_cast<value_type> ( 35 ) / static_cast<value_type>( 384 );
        const value_type b3 = static_cast<value_type> ( 500 ) / static_cast<value_type>( 1113 );
        const value_type b4 = static_cast<value_type> ( 125 ) / static_cast<value_type>( 192 );
        const value_type b5 = static_cast<value_type> ( -2187 ) / static_cast<value_type>( 6784 );
        const value_type b6 = static_cast<value_type> ( 11 ) / static_cast<value_type>( 84 );

        const time_type dt = ( t_new - t_old );
        const value_type theta = ( t - t_old ) / dt;
        const value_type X1 = static_cast< value_type >( 5 ) * ( static_cast< value_type >( 2558722523LL ) - static_cast< value_type >( 31403016 ) * theta ) / static_cast< value_type >( 11282082432LL );
        const value_type X3 = static_cast< value_type >( 100 ) * ( static_cast< value_type >( 882725551 ) - static_cast< value_type >( 15701508 ) * theta ) / static_cast< value_type >( 32700410799LL );
        const value_type X4 = static_cast< value_type >( 25 ) * ( static_cast< value_type >( 443332067 ) - static_cast< value_type >( 31403016 ) * theta ) / static_cast< value_type >( 1880347072LL ) ;
        const value_type X5 = static_cast< value_type >( 32805 ) * ( static_cast< value_type >( 23143187 ) - static_cast< value_type >( 3489224 ) * theta ) / static_cast< value_type >( 199316789632LL );
        const value_type X6 = static_cast< value_type >( 55 ) * ( static_cast< value_type >( 29972135 ) - static_cast< value_type >( 7076736 ) * theta ) / static_cast< value_type >( 822651844 );
        const value_type X7 = static_cast< value_type >( 10 ) * ( static_cast< value_type >( 7414447 ) - static_cast< value_type >( 829305 ) * theta ) / static_cast< value_type >( 29380423 );

        const value_type theta_m_1 = theta - static_cast< value_type >( 1 );
        const value_type theta_sq = theta * theta;
        const value_type A = theta_sq * ( static_cast< value_type >( 3 ) - static_cast< value_type >( 2 ) * theta );
        const value_type B = theta_sq * theta_m_1;
        const value_type C = theta_sq * theta_m_1 * theta_m_1;
        const value_type D = theta * theta_m_1 * theta_m_1;

        const value_type b1_theta = A * b1 - C * X1 + D;
        const value_type b3_theta = A * b3 + C * X3;
        const value_type b4_theta = A * b4 - C * X4;
        const value_type b5_theta = A * b5 + C * X5;
        const value_type b6_theta = A * b6 - C * X6;
        const value_type b7_theta = B + C * X7;

        // const state_type &k1 = *m_old_deriv;
        // const state_type &k3 = dopri5().m_k3;
        // const state_type &k4 = dopri5().m_k4;
        // const state_type &k5 = dopri5().m_k5;
        // const state_type &k6 = dopri5().m_k6;
        // const state_type &k7 = *m_current_deriv;

        stepper_base_type::m_algebra.for_each8( x , x_old , deriv_old , m_k3.m_v , m_k4.m_v , m_k5.m_v , m_k6.m_v , deriv_new ,
                typename operations_type::template scale_sum7< value_type , time_type , time_type , time_type , time_type , time_type , time_type >( 1.0 , dt * b1_theta , dt * b3_theta , dt * b4_theta , dt * b5_theta , dt * b6_theta , dt * b7_theta ) );
    }

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
subq $0x1d8, %rsp            # imm = 0x1D8
movq %rdi, -0x10(%rbp)
movsd %xmm0, -0x18(%rbp)
movq %rsi, -0x20(%rbp)
movq %rdx, -0x28(%rbp)
movq %rcx, -0x30(%rbp)
movsd %xmm1, -0x38(%rbp)
movq %r8, -0x40(%rbp)
movq %r9, -0x48(%rbp)
movsd %xmm2, -0x50(%rbp)
movq -0x10(%rbp), %rax
movsd 0x252c1(%rip), %xmm0    # 0x52ec0
movsd %xmm0, -0x58(%rbp)
movsd 0x252ac(%rip), %xmm0    # 0x52eb8
movsd %xmm0, -0x60(%rbp)
movsd 0x25297(%rip), %xmm0    # 0x52eb0
movsd %xmm0, -0x68(%rbp)
movsd 0x25282(%rip), %xmm0    # 0x52ea8
movsd %xmm0, -0x70(%rbp)
movsd 0x2526d(%rip), %xmm0    # 0x52ea0
movsd %xmm0, -0x78(%rbp)
movsd -0x50(%rbp), %xmm0
subsd -0x38(%rbp), %xmm0
movsd %xmm0, -0x80(%rbp)
movsd -0x18(%rbp), %xmm0
subsd -0x38(%rbp), %xmm0
divsd -0x80(%rbp), %xmm0
movsd %xmm0, -0x88(%rbp)
movsd -0x88(%rbp), %xmm1
movsd 0x252ca(%rip), %xmm0    # 0x52f38
mulsd %xmm0, %xmm1
movsd 0x252f6(%rip), %xmm0    # 0x52f70
addsd %xmm0, %xmm1
movsd 0x252e2(%rip), %xmm0    # 0x52f68
mulsd %xmm1, %xmm0
movsd 0x252ce(%rip), %xmm1    # 0x52f60
divsd %xmm1, %xmm0
movsd %xmm0, -0x90(%rbp)
movsd -0x88(%rbp), %xmm1
movsd 0x252a2(%rip), %xmm0    # 0x52f50
mulsd %xmm0, %xmm1
movsd 0x2529e(%rip), %xmm0    # 0x52f58
addsd %xmm0, %xmm1
movsd 0x24382(%rip), %xmm0    # 0x52048
mulsd %xmm1, %xmm0
movsd 0x25276(%rip), %xmm1    # 0x52f48
divsd %xmm1, %xmm0
movsd %xmm0, -0x98(%rbp)
movsd -0x88(%rbp), %xmm1
movsd 0x2524a(%rip), %xmm0    # 0x52f38
mulsd %xmm0, %xmm1
movsd 0x25246(%rip), %xmm0    # 0x52f40
addsd %xmm0, %xmm1
movsd 0x2522a(%rip), %xmm0    # 0x52f30
mulsd %xmm1, %xmm0
movsd 0x25216(%rip), %xmm1    # 0x52f28
divsd %xmm1, %xmm0
movsd %xmm0, -0xa0(%rbp)
movsd -0x88(%rbp), %xmm1
movsd 0x251ea(%rip), %xmm0    # 0x52f18
mulsd %xmm0, %xmm1
movsd 0x251e6(%rip), %xmm0    # 0x52f20
addsd %xmm0, %xmm1
movsd 0x251ca(%rip), %xmm0    # 0x52f10
mulsd %xmm1, %xmm0
movsd 0x251b6(%rip), %xmm1    # 0x52f08
divsd %xmm1, %xmm0
movsd %xmm0, -0xa8(%rbp)
movsd -0x88(%rbp), %xmm1
movsd 0x2518a(%rip), %xmm0    # 0x52ef8
mulsd %xmm0, %xmm1
movsd 0x25186(%rip), %xmm0    # 0x52f00
addsd %xmm0, %xmm1
movsd 0x2516a(%rip), %xmm0    # 0x52ef0
mulsd %xmm1, %xmm0
movsd 0x25156(%rip), %xmm1    # 0x52ee8
divsd %xmm1, %xmm0
movsd %xmm0, -0xb0(%rbp)
movsd -0x88(%rbp), %xmm1
movsd 0x2512a(%rip), %xmm0    # 0x52ed8
mulsd %xmm0, %xmm1
movsd 0x25126(%rip), %xmm0    # 0x52ee0
addsd %xmm0, %xmm1
movsd 0x250ca(%rip), %xmm0    # 0x52e90
mulsd %xmm1, %xmm0
movsd 0x250fe(%rip), %xmm1    # 0x52ed0
divsd %xmm1, %xmm0
movsd %xmm0, -0xb8(%rbp)
movsd -0x88(%rbp), %xmm0
movsd 0x24252(%rip), %xmm1    # 0x52040
subsd %xmm1, %xmm0
movsd %xmm0, -0xc0(%rbp)
movsd -0x88(%rbp), %xmm0
mulsd -0x88(%rbp), %xmm0
movsd %xmm0, -0xc8(%rbp)
movsd -0xc8(%rbp), %xmm0
movsd -0x88(%rbp), %xmm2
addsd %xmm2, %xmm2
movsd 0x2509a(%rip), %xmm1    # 0x52ec8
subsd %xmm2, %xmm1
mulsd %xmm1, %xmm0
movsd %xmm0, -0xd0(%rbp)
movsd -0xc8(%rbp), %xmm0
mulsd -0xc0(%rbp), %xmm0
movsd %xmm0, -0xd8(%rbp)
movsd -0xc8(%rbp), %xmm0
mulsd -0xc0(%rbp), %xmm0
mulsd -0xc0(%rbp), %xmm0
movsd %xmm0, -0xe0(%rbp)
movsd -0x88(%rbp), %xmm0
mulsd -0xc0(%rbp), %xmm0
mulsd -0xc0(%rbp), %xmm0
movsd %xmm0, -0xe8(%rbp)
movsd -0xd0(%rbp), %xmm0
movsd -0xe0(%rbp), %xmm1
mulsd -0x90(%rbp), %xmm1
movq %xmm1, %rcx
movabsq $-0x8000000000000000, %rdx # imm = 0x8000000000000000
xorq %rdx, %rcx
movq %rcx, %xmm1
movsd 0x24ff3(%rip), %xmm2    # 0x52ec0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
addsd -0xe8(%rbp), %xmm0
movsd %xmm0, -0xf0(%rbp)
movsd -0xd0(%rbp), %xmm0
movsd -0xe0(%rbp), %xmm1
mulsd -0x98(%rbp), %xmm1
movsd 0x24fb3(%rip), %xmm2    # 0x52eb8
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0xf8(%rbp)
movsd -0xd0(%rbp), %xmm0
movsd -0xe0(%rbp), %xmm1
mulsd -0xa0(%rbp), %xmm1
movq %xmm1, %rcx
movabsq $-0x8000000000000000, %rdx # imm = 0x8000000000000000
xorq %rdx, %rcx
movq %rcx, %xmm1
movsd 0x24f64(%rip), %xmm2    # 0x52eb0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x100(%rbp)
movsd -0xd0(%rbp), %xmm0
movsd -0xe0(%rbp), %xmm1
mulsd -0xa8(%rbp), %xmm1
movsd 0x24f2c(%rip), %xmm2    # 0x52ea8
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x108(%rbp)
movsd -0xd0(%rbp), %xmm0
movsd -0xe0(%rbp), %xmm1
mulsd -0xb0(%rbp), %xmm1
movq %xmm1, %rcx
movabsq $-0x8000000000000000, %rdx # imm = 0x8000000000000000
xorq %rdx, %rcx
movq %rcx, %xmm1
movsd 0x24edd(%rip), %xmm2    # 0x52ea0
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x110(%rbp)
movsd -0xd8(%rbp), %xmm1
movsd -0xe0(%rbp), %xmm0
movsd -0xb8(%rbp), %xmm2
mulsd %xmm2, %xmm0
addsd %xmm1, %xmm0
movsd %xmm0, -0x118(%rbp)
movq -0x20(%rbp), %rcx
movq %rcx, -0x180(%rbp)
movq -0x28(%rbp), %rcx
movq %rcx, -0x178(%rbp)
movq -0x30(%rbp), %rcx
movq %rcx, -0x170(%rbp)
movq %rax, %rcx
addq $0x158, %rcx            # imm = 0x158
movq %rcx, -0x168(%rbp)
movq %rax, %rcx
addq $0x1c8, %rcx            # imm = 0x1C8
movq %rcx, -0x160(%rbp)
movq %rax, %rcx
addq $0x238, %rcx            # imm = 0x238
movq %rcx, -0x158(%rbp)
addq $0x2a8, %rax            # imm = 0x2A8
movq %rax, -0x188(%rbp)
movq -0x48(%rbp), %rax
movq %rax, -0x190(%rbp)
movsd -0x80(%rbp), %xmm1
mulsd -0xf0(%rbp), %xmm1
movsd -0x80(%rbp), %xmm2
mulsd -0xf8(%rbp), %xmm2
movsd -0x80(%rbp), %xmm3
mulsd -0x100(%rbp), %xmm3
movsd -0x80(%rbp), %xmm4
mulsd -0x108(%rbp), %xmm4
movsd -0x80(%rbp), %xmm5
mulsd -0x110(%rbp), %xmm5
movsd -0x80(%rbp), %xmm6
mulsd -0x118(%rbp), %xmm6
leaq -0x150(%rbp), %rdi
movsd 0x23f7c(%rip), %xmm0    # 0x52040
callq 0x2e370
movq -0x190(%rbp), %r11
movq -0x188(%rbp), %r10
movq -0x180(%rbp), %rdi
movq -0x178(%rbp), %rsi
movq -0x170(%rbp), %rdx
movq -0x168(%rbp), %rcx
movq -0x160(%rbp), %r8
movq -0x158(%rbp), %r9
movq -0x120(%rbp), %rbx
movq %rsp, %rax
movq %rbx, 0x40(%rax)
movups -0x150(%rbp), %xmm0
movups -0x140(%rbp), %xmm1
movups -0x130(%rbp), %xmm2
movups %xmm2, 0x30(%rax)
movups %xmm1, 0x20(%rax)
movups %xmm0, 0x10(%rax)
movq %r11, 0x8(%rax)
movq %r10, (%rax)
callq 0x2e250
addq $0x1d8, %rsp            # imm = 0x1D8
popq %rbx
popq %rbp
retq
nopw %cs:(%rax,%rax)