It looks like Arduino doesn't generate DIS files.
But I've just tested with RP2040 at 133 MHz:
Arduino: 320 us (variable)
SDK copy_to_ram: 131 us (steady)
SDK __no_inline_not_in_flash_func (rnea): 161 us (steady)
SDK all in flash: over 500 us (wildly variable)
I think that function (which is not mine, to be clear) is killing XIP cache (2400 code lines - below is just a part)
https://github.com/alpylmz/pico_test/bl ... r/rnea.hpp
But I've just tested with RP2040 at 133 MHz:
Arduino: 320 us (variable)
SDK copy_to_ram: 131 us (steady)
SDK __no_inline_not_in_flash_func (rnea): 161 us (steady)
SDK all in flash: over 500 us (wildly variable)
I think that function (which is not mine, to be clear) is killing XIP cache (2400 code lines - below is just a part)
https://github.com/alpylmz/pico_test/bl ... r/rnea.hpp
Code:
typedef struct rneaReturn{ int tau_0; int tau_1; int tau_2; int tau_3; int tau_4; int tau_5;} rneaReturn;rneaReturn rnea(int32_t qcos_0, int32_t qcos_1, int32_t qcos_2, int32_t qcos_3, int32_t qcos_4, int32_t qcos_5, int32_t qsin_0, int32_t qsin_1, int32_t qsin_2, int32_t qsin_3, int32_t qsin_4, int32_t qsin_5, int32_t v_0, int32_t v_1, int32_t v_2, int32_t v_3, int32_t v_4, int32_t v_5, int32_t a_0, int32_t a_1, int32_t a_2, int32_t a_3, int32_t a_4, int32_t a_5) { int32_t limi_translation_0_0 = 0; int32_t limi_translation_0_1 = 0; int32_t limi_translation_0_2 = 715112055; int32_t limi_translation_1_0 = 0; int32_t limi_translation_1_1 = 0; int32_t limi_translation_1_2 = 0; int32_t limi_translation_2_0 = 0; int32_t limi_translation_2_1 = -678604833; int32_t limi_translation_2_2 = 0; int32_t limi_translation_3_0 = 177167401; int32_t limi_translation_3_1 = 0; int32_t limi_translation_3_2 = 0; int32_t limi_translation_4_0 = -177167401; int32_t limi_translation_4_1 = 824633721; int32_t limi_translation_4_2 = 0; int32_t limi_translation_5_0 = 0; int32_t limi_translation_5_1 = 0; int32_t limi_translation_5_2 = 0; int32_t data_v_0_0 = 0; int32_t data_v_0_1 = 0; int32_t data_v_0_2 = 0; int32_t data_v_0_3 = 0; int32_t data_v_0_4 = 0; int32_t data_v_0_5 = 0; int32_t data_v_1_0 = 0; int32_t data_v_1_1 = 0; int32_t data_v_1_2 = 0; int32_t data_v_1_3 = 0; int32_t data_v_1_4 = 0; int32_t data_v_1_5 = 0; int32_t data_v_2_0 = 0; int32_t data_v_2_1 = 0; int32_t data_v_2_2 = 0; int32_t data_v_2_3 = 0; int32_t data_v_2_4 = 0; int32_t data_v_2_5 = 0; int32_t data_v_3_0 = 0; int32_t data_v_3_1 = 0; int32_t data_v_3_2 = 0; int32_t data_v_3_3 = 0; int32_t data_v_3_4 = 0; int32_t data_v_3_5 = 0; int32_t data_v_4_0 = 0; int32_t data_v_4_1 = 0; int32_t data_v_4_2 = 0; int32_t data_v_4_3 = 0; int32_t data_v_4_4 = 0; int32_t data_v_4_5 = 0; int32_t data_v_5_0 = 0; int32_t data_v_5_1 = 0; int32_t data_v_5_2 = 0; int32_t data_v_5_3 = 0; int32_t data_v_5_4 = 0; int32_t data_v_5_5 = 0; int32_t lever_0_0 = 8321499; int32_t lever_0_1 = 4468913; int32_t lever_0_2 = -102263172; int32_t lever_1_0 = -6745247; int32_t lever_1_1 = -61675731; int32_t lever_1_2 = 7505455; int32_t lever_2_0 = 59094455; int32_t lever_2_1 = 84293028; int32_t lever_2_2 = -142811958; int32_t lever_3_0 = -114181706; int32_t lever_3_1 = 224238095; int32_t lever_3_2 = 58957016; int32_t lever_4_0 = -25668873; int32_t lever_4_1 = 88186416; int32_t lever_4_2 = -82542829; int32_t lever_5_0 = 129168994; int32_t lever_5_1 = -30316027; int32_t lever_5_2 = -22585086; int32_t masses_0 = 1334307826; int32_t masses_1 = 1389263006; int32_t masses_2 = 1733343574; int32_t masses_3 = 1926236461; int32_t masses_4 = 1316349494; int32_t masses_5 = 1789455174; int32_t inertia_0_0_0 = 1510475573; int32_t inertia_0_0_1 = -298501; int32_t inertia_0_0_2 = 14542759; int32_t inertia_0_1_0 = -298501; int32_t inertia_0_1_1 = 1517433421; int32_t inertia_0_1_2 = 41165114; int32_t inertia_0_2_0 = 14542759; int32_t inertia_0_2_1 = 41165114; int32_t inertia_0_2_2 = 19578608; int32_t inertia_1_0_0 = 17098265; int32_t inertia_1_0_1 = -8428874; int32_t inertia_1_0_2 = 22020297; int32_t inertia_1_1_0 = -8428874; int32_t inertia_1_1_1 = 60365765; int32_t inertia_1_1_2 = 1511828; int32_t inertia_1_2_0 = 22020297; int32_t inertia_1_2_1 = 1511828; int32_t inertia_1_2_2 = 55823837; int32_t inertia_2_0_0 = 79976586; int32_t inertia_2_0_1 = -10224170; int32_t inertia_2_0_2 = -24472724; int32_t inertia_2_1_0 = -10224170; int32_t inertia_2_1_1 = 77642271; int32_t inertia_2_1_2 = -27498529; int32_t inertia_2_2_0 = -24472724; int32_t inertia_2_2_1 = -27498529; int32_t inertia_2_2_2 = 23257248; int32_t inertia_3_0_0 = 55518895; int32_t inertia_3_0_1 = 16741783; int32_t inertia_3_0_2 = -2860449; int32_t inertia_3_1_0 = 16741783; int32_t inertia_3_1_1 = 41987600; int32_t inertia_3_1_2 = 18556406; int32_t inertia_3_2_0 = -2860449; int32_t inertia_3_2_1 = 18556406; int32_t inertia_3_2_2 = 60823179; int32_t inertia_4_0_0 = 76340896; int32_t inertia_4_0_1 = -4546223; int32_t inertia_4_0_2 = -8669392; int32_t inertia_4_1_0 = -4546223; int32_t inertia_4_1_1 = 63294933; int32_t inertia_4_1_2 = 491774; int32_t inertia_4_2_0 = -8669392; int32_t inertia_4_2_1 = 491774; int32_t inertia_4_2_2 = 18526341; int32_t inertia_5_0_0 = 4217658; int32_t inertia_5_0_1 = 234076; int32_t inertia_5_0_2 = -2486787; int32_t inertia_5_1_0 = 234076; int32_t inertia_5_1_1 = 9350144; int32_t inertia_5_1_2 = 732292; int32_t inertia_5_2_0 = -2486787; int32_t inertia_5_2_1 = 732292; int32_t inertia_5_2_2 = 11667279; int32_t parent_v_0 = 0; int32_t parent_v_1 = 0; int32_t parent_v_2 = 0; int32_t parent_v_3 = 0; int32_t parent_v_4 = 0; int32_t parent_v_5 = 0; int32_t parent_a_gf_0 = 0; int32_t parent_a_gf_1 = 0; int32_t parent_a_gf_2 = 1316675912; int32_t parent_a_gf_3 = 0; int32_t parent_a_gf_4 = 0; int32_t parent_a_gf_5 = 0; int32_t new_v_0 = 0; int32_t new_v_1 = 0; int32_t new_v_2 = 0; int32_t new_v_3 = 0; int32_t new_v_4 = 0; int32_t new_v_5 = 0; int32_t new_a_gf_0 = 0; int32_t new_a_gf_1 = 0; int32_t new_a_gf_2 = 0; int32_t new_a_gf_3 = 0; int32_t new_a_gf_4 = 0; int32_t new_a_gf_5 = 0; int32_t new_h_0 = 0; int32_t new_h_1 = 0; int32_t new_h_2 = 0; int32_t new_h_3 = 0; int32_t new_h_4 = 0; int32_t new_h_5 = 0; int32_t new_f_0 = 0; int32_t new_f_1 = 0; int32_t new_f_2 = 0; int32_t new_f_3 = 0; int32_t new_f_4 = 0; int32_t new_f_5 = 0; int32_t rotation_matrix_0_0_0 = qcos_0; int32_t rotation_matrix_0_0_1 = -(qsin_0); int32_t rotation_matrix_0_0_2 = 0; int32_t rotation_matrix_0_1_0 = qsin_0; int32_t rotation_matrix_0_1_1 = qcos_0; int32_t rotation_matrix_0_1_2 = 0; int32_t rotation_matrix_0_2_0 = 0; int32_t rotation_matrix_0_2_1 = 0; int32_t rotation_matrix_0_2_2 = 1073741824; int32_t limi_rotation_0_0_0 = rotation_matrix_0_0_0; int32_t limi_rotation_0_0_1 = rotation_matrix_0_0_1; int32_t limi_rotation_0_0_2 = 0; int32_t limi_rotation_0_1_0 = rotation_matrix_0_1_0; int32_t limi_rotation_0_1_1 = rotation_matrix_0_1_1; int32_t limi_rotation_0_1_2 = 0; int32_t limi_rotation_0_2_0 = 0; int32_t limi_rotation_0_2_1 = 0; int32_t limi_rotation_0_2_2 = 1073741824; int32_t v_linear_0_0 = data_v_0_0; int32_t v_linear_0_1 = data_v_0_1; int32_t v_linear_0_2 = data_v_0_2; int32_t v_angular_0_0 = data_v_0_3; int32_t v_angular_0_1 = data_v_0_4; int32_t v_angular_0_2 = v_0; int32_t parent_v_linear_0_0 = parent_v_0; int32_t parent_v_linear_0_1 = parent_v_1; int32_t parent_v_linear_0_2 = parent_v_2; int32_t parent_v_angular_0_0 = parent_v_3; int32_t parent_v_angular_0_1 = parent_v_4; int32_t parent_v_angular_0_2 = parent_v_5; int32_t parent_a_gf_linear_0_0 = parent_a_gf_0; int32_t parent_a_gf_linear_0_1 = parent_a_gf_1; int32_t parent_a_gf_linear_0_2 = parent_a_gf_2; int32_t parent_a_gf_angular_0_0 = parent_a_gf_3; int32_t parent_a_gf_angular_0_1 = parent_a_gf_4; int32_t parent_a_gf_angular_0_2 = parent_a_gf_5; int32_t minus_m_w_0 = -(v_0); int32_t _tmp = -(minus_m_w_0); int32_t alpha_cross1_linear_0 = (int32_t) ((((int64_t) (_tmp) * (int64_t) (v_linear_0_1)) >> 28)); int32_t alpha_cross2_linear_0 = (int32_t) ((((int64_t) (minus_m_w_0) * (int64_t) (v_linear_0_0)) >> 28)); int32_t alpha_cross_linear_0_0 = alpha_cross1_linear_0; int32_t alpha_cross_linear_0_1 = alpha_cross2_linear_0; int32_t alpha_cross_linear_0_2 = 0; int32_t _tmp1 = -(minus_m_w_0); int32_t alpha_cross1_angular_0 = (int32_t) ((((int64_t) (_tmp1) * (int64_t) (v_angular_0_1)) >> 28)); int32_t alpha_cross2_angular_0 = (int32_t) ((((int64_t) (minus_m_w_0) * (int64_t) (v_angular_0_0)) >> 28)); int32_t alpha_cross_angular_0_0 = alpha_cross1_angular_0; int32_t alpha_cross_angular_0_1 = alpha_cross2_angular_0; int32_t alpha_cross_angular_0_2 = 0; int32_t r_1_new_a_gf_0_0 = alpha_cross_linear_0_0; int32_t r_1_new_a_gf_0_1 = alpha_cross_linear_0_1; int32_t r_1_new_a_gf_0_2 = alpha_cross_linear_0_2; int32_t r_1_new_a_gf_0_3 = alpha_cross_angular_0_0; int32_t r_1_new_a_gf_0_4 = alpha_cross_angular_0_1; int32_t r_1_new_a_gf_0_5 = alpha_cross_angular_0_2; int32_t new_a_gf_up1_0 = (a_0 + (r_1_new_a_gf_0_5 >> 3)); int32_t new_a_gf2_linear_0_0 = r_1_new_a_gf_0_0; int32_t new_a_gf2_linear_0_1 = r_1_new_a_gf_0_1; int32_t new_a_gf2_linear_0_2 = r_1_new_a_gf_0_2; int32_t new_a_gf2_angular_0_0 = r_1_new_a_gf_0_3; int32_t new_a_gf2_angular_0_1 = r_1_new_a_gf_0_4; int32_t new_a_gf2_angular_0_2 = new_a_gf_up1_0; int32_t _tmp2 = (int32_t) ((((int64_t) (limi_translation_0_0) * (int64_t) (parent_a_gf_angular_0_1)) >> 31)); int32_t _tmp3 = (int32_t) ((((int64_t) (limi_translation_0_1) * (int64_t) (parent_a_gf_angular_0_0)) >> 31)); int32_t actInv1_0_0 = (_tmp2 - _tmp3); int32_t _tmp4 = (int32_t) ((((int64_t) (limi_translation_0_2) * (int64_t) (parent_a_gf_angular_0_0)) >> 31)); int32_t _tmp5 = (int32_t) ((((int64_t) (limi_translation_0_0) * (int64_t) (parent_a_gf_angular_0_2)) >> 31)); int32_t actInv1_0_1 = (_tmp4 - _tmp5); int32_t _tmp6 = (int32_t) ((((int64_t) (limi_translation_0_0) * (int64_t) (parent_a_gf_angular_0_1)) >> 31)); int32_t _tmp7 = (int32_t) ((((int64_t) (limi_translation_0_1) * (int64_t) (parent_a_gf_angular_0_0)) >> 31)); int32_t actInv1_0_2 = (_tmp6 - _tmp7); int32_t actInv2_0_0 = (parent_a_gf_linear_0_0 - actInv1_0_0); int32_t actInv2_0_1 = (parent_a_gf_linear_0_1 - actInv1_0_1); int32_t actInv2_0_2 = (parent_a_gf_linear_0_2 - (actInv1_0_2 >> 4)); int32_t actInv3_0_0_0 = limi_rotation_0_0_0; int32_t actInv3_0_1_0 = limi_rotation_0_0_1; int32_t actInv3_0_2_0 = limi_rotation_0_0_2; int32_t actInv3_0_0_1 = limi_rotation_0_1_0; int32_t actInv3_0_1_1 = limi_rotation_0_1_1; int32_t actInv3_0_2_1 = limi_rotation_0_1_2; int32_t actInv3_0_0_2 = limi_rotation_0_2_0; int32_t actInv3_0_1_2 = limi_rotation_0_2_1; int32_t actInv3_0_2_2 = limi_rotation_0_2_2; int32_t _tmp8 = (int32_t) ((((int64_t) (actInv3_0_0_0) * (int64_t) (actInv2_0_0)) >> 30)); int32_t _tmp9 = (int32_t) ((((int64_t) (actInv3_0_0_1) * (int64_t) (actInv2_0_1)) >> 30)); int32_t _tmp10 = (_tmp8 + _tmp9); int32_t _tmp11 = (int32_t) ((((int64_t) (actInv3_0_0_2) * (int64_t) (actInv2_0_2)) >> 27)); int32_t actInv4_0_0 = (_tmp10 + _tmp11); int32_t _tmp12 = (int32_t) ((((int64_t) (actInv3_0_1_0) * (int64_t) (actInv2_0_0)) >> 30)); int32_t _tmp13 = (int32_t) ((((int64_t) (actInv3_0_1_1) * (int64_t) (actInv2_0_1)) >> 30)); int32_t _tmp14 = (_tmp12 + _tmp13); int32_t _tmp15 = (int32_t) ((((int64_t) (actInv3_0_1_2) * (int64_t) (actInv2_0_2)) >> 27)); int32_t actInv4_0_1 = (_tmp14 + _tmp15); int32_t _tmp16 = (int32_t) ((((int64_t) (actInv3_0_2_0) * (int64_t) (actInv2_0_0)) >> 31)); int32_t _tmp17 = (int32_t) ((((int64_t) (actInv3_0_2_1) * (int64_t) (actInv2_0_1)) >> 31)); int32_t _tmp18 = (_tmp16 + _tmp17); int32_t _tmp19 = (int32_t) ((((int64_t) (actInv3_0_2_2) * (int64_t) (actInv2_0_2)) >> 30)); int32_t actInv4_0_2 = ((_tmp18 >> 4) + _tmp19); int32_t act_inv_linear_0_0 = (new_a_gf2_linear_0_0 + actInv4_0_0); int32_t act_inv_linear_0_1 = (new_a_gf2_linear_0_1 + actInv4_0_1); int32_t act_inv_linear_0_2 = ((new_a_gf2_linear_0_2 >> 4) + actInv4_0_2); int32_t _tmp20 = (int32_t) ((((int64_t) (actInv3_0_0_0) * (int64_t) (parent_a_gf_angular_0_0)) >> 30)); int32_t _tmp21 = (int32_t) ((((int64_t) (actInv3_0_0_1) * (int64_t) (parent_a_gf_angular_0_1)) >> 30)); int32_t _tmp22 = (_tmp20 + _tmp21); int32_t _tmp23 = (int32_t) ((((int64_t) (actInv3_0_0_2) * (int64_t) (parent_a_gf_angular_0_2)) >> 31)); int32_t actInv5_0_0 = (_tmp22 + _tmp23); int32_t _tmp24 = (int32_t) ((((int64_t) (actInv3_0_1_0) * (int64_t) (parent_a_gf_angular_0_0)) >> 30)); int32_t _tmp25 = (int32_t) ((((int64_t) (actInv3_0_1_1) * (int64_t) (parent_a_gf_angular_0_1)) >> 30)); int32_t _tmp26 = (_tmp24 + _tmp25); int32_t _tmp27 = (int32_t) ((((int64_t) (actInv3_0_1_2) * (int64_t) (parent_a_gf_angular_0_2)) >> 31)); int32_t actInv5_0_1 = (_tmp26 + _tmp27); int32_t _tmp28 = (int32_t) ((((int64_t) (actInv3_0_2_0) * (int64_t) (parent_a_gf_angular_0_0)) >> 31)); int32_t _tmp29 = (int32_t) ((((int64_t) (actInv3_0_2_1) * (int64_t) (parent_a_gf_angular_0_1)) >> 31)); int32_t _tmp30 = (_tmp28 + _tmp29); int32_t _tmp31 = (int32_t) ((((int64_t) (actInv3_0_2_2) * (int64_t) (parent_a_gf_angular_0_2)) >> 30)); int32_t actInv5_0_2 = (_tmp30 + _tmp31); int32_t act_inv_angular_0_0 = (new_a_gf2_angular_0_0 + actInv5_0_0); int32_t act_inv_angular_0_1 = (new_a_gf2_angular_0_1 + actInv5_0_1); int32_t act_inv_angular_0_2 = (new_a_gf2_angular_0_2 + (actInv5_0_2 >> 3)); int32_t new_a_gf_up3_0_0 = act_inv_linear_0_0; int32_t new_a_gf_up3_0_1 = act_inv_linear_0_1; int32_t new_a_gf_up3_0_2 = act_inv_linear_0_2; int32_t new_a_gf_up3_0_3 = act_inv_angular_0_0; int32_t new_a_gf_up3_0_4 = act_inv_angular_0_1; int32_t new_a_gf_up3_0_5 = act_inv_angular_0_2; int32_t _tmp32 = (int32_t) ((((int64_t) (lever_0_0) * (int64_t) (v_angular_0_1)) >> 31)); int32_t _tmp33 = (int32_t) ((((int64_t) (lever_0_1) * (int64_t) (v_angular_0_0)) >> 31)); int32_t h_linear_1_0_0 = (_tmp32 - _tmp33); int32_t _tmp34 = (int32_t) ((((int64_t) (lever_0_2) * (int64_t) (v_angular_0_0)) >> 31)); int32_t _tmp35 = (int32_t) ((((int64_t) (lever_0_0) * (int64_t) (v_angular_0_2)) >> 28)); int32_t h_linear_1_0_1 = (_tmp34 - _tmp35); int32_t _tmp36 = (int32_t) ((((int64_t) (lever_0_0) * (int64_t) (v_angular_0_1)) >> 31)); int32_t _tmp37 = (int32_t) ((((int64_t) (lever_0_1) * (int64_t) (v_angular_0_0)) >> 31)); int32_t h_linear_1_0_2 = (_tmp36 - _tmp37); int32_t h_linear_2_0_0 = (v_linear_0_0 - h_linear_1_0_0); int32_t h_linear_2_0_1 = (v_linear_0_1 - h_linear_1_0_1); int32_t h_linear_2_0_2 = (v_linear_0_2 - h_linear_1_0_2); int32_t h_linear_0_0 = (int32_t) ((((int64_t) (masses_0) * (int64_t) (h_linear_2_0_0)) >> 28)); int32_t h_linear_0_1 = (int32_t) ((((int64_t) (masses_0) * (int64_t) (h_linear_2_0_1)) >> 28)); int32_t h_linear_0_2 = (int32_t) ((((int64_t) (masses_0) * (int64_t) (h_linear_2_0_2)) >> 28)); int32_t r_2_ = (int32_t) ((((int64_t) (inertia_0_0_0) * (int64_t) (v_angular_0_0)) >> 31)); int32_t r_3_ = (int32_t) ((((int64_t) (inertia_0_0_1) * (int64_t) (v_angular_0_1)) >> 31)); int32_t r_4_ = (int32_t) ((((int64_t) (inertia_0_0_2) * (int64_t) (v_angular_0_2)) >> 28)); int32_t r_5_ = (int32_t) ((((int64_t) (inertia_0_0_1) * (int64_t) (v_angular_0_0)) >> 31)); int32_t r_6_ = (int32_t) ((((int64_t) (inertia_0_1_1) * (int64_t) (v_angular_0_1)) >> 31)); int32_t r_7_ = (int32_t) ((((int64_t) (inertia_0_1_2) * (int64_t) (v_angular_0_2)) >> 28)); int32_t r_8_ = (int32_t) ((((int64_t) (inertia_0_0_2) * (int64_t) (v_angular_0_0)) >> 31)); int32_t r_9_ = (int32_t) ((((int64_t) (inertia_0_1_2) * (int64_t) (v_angular_0_1)) >> 31)); int32_t r_10_ = (int32_t) ((((int64_t) (inertia_0_2_2) * (int64_t) (v_angular_0_2)) >> 28)); int32_t rhsMult1_temp_0 = (r_2_ + r_3_); int32_t rhsMult1_0 = (rhsMult1_temp_0 + r_4_); int32_t rhsMult2_temp_0 = (r_5_ + r_6_); int32_t rhsMult2_0 = (rhsMult2_temp_0 + r_7_); int32_t rhsMult3_temp_0 = (r_8_ + r_9_); int32_t rhsMult3_0 = (rhsMult3_temp_0 + r_10_); int32_t rhsMult_0_0 = rhsMult1_0; int32_t rhsMult_0_1 = rhsMult2_0; int32_t rhsMult_0_2 = rhsMult3_0; int32_t h_angular_first_0_0 = rhsMult_0_0; int32_t h_angular_first_0_1 = rhsMult_0_1; int32_t h_angular_first_0_2 = rhsMult_0_2; int32_t _tmp38 = (int32_t) ((((int64_t) (lever_0_0) * (int64_t) (h_linear_0_1)) >> 31)); int32_t _tmp39 = (int32_t) ((((int64_t) (lever_0_1) * (int64_t) (h_linear_0_0)) >> 31)); int32_t h_angular_1_0_0 = (_tmp38 - _tmp39); int32_t _tmp40 = (int32_t) ((((int64_t) (lever_0_2) * (int64_t) (h_linear_0_0)) >> 31)); int32_t _tmp41 = (int32_t) ((((int64_t) (lever_0_0) * (int64_t) (h_linear_0_2)) >> 31)); int32_t h_angular_1_0_1 = (_tmp40 - _tmp41); int32_t _tmp42 = (int32_t) ((((int64_t) (lever_0_0) * (int64_t) (h_linear_0_1)) >> 31)); int32_t _tmp43 = (int32_t) ((((int64_t) (lever_0_1) * (int64_t) (h_linear_0_0)) >> 31)); int32_t h_angular_1_0_2 = (_tmp42 - _tmp43); int32_t h_angular_0_0 = (h_angular_first_0_0 + h_angular_1_0_0); int32_t h_angular_0_1 = (h_angular_first_0_1 + h_angular_1_0_1); int32_t h_angular_0_2 = (h_angular_first_0_2 + h_angular_1_0_2); int32_t _tmp44 = (int32_t) ((((int64_t) (lever_0_0) * (int64_t) (act_inv_angular_0_1)) >> 31)); int32_t _tmp45 = (int32_t) ((((int64_t) (lever_0_1) * (int64_t) (act_inv_angular_0_0)) >> 31)); int32_t f_linear_1_0_0 = (_tmp44 - _tmp45); int32_t _tmp46 = (int32_t) ((((int64_t) (lever_0_2) * (int64_t) (act_inv_angular_0_0)) >> 31)); int32_t _tmp47 = (int32_t) ((((int64_t) (lever_0_0) * (int64_t) (act_inv_angular_0_2)) >> 28)); int32_t f_linear_1_0_1 = (_tmp46 - _tmp47); int32_t _tmp48 = (int32_t) ((((int64_t) (lever_0_0) * (int64_t) (act_inv_angular_0_1)) >> 31)); int32_t _tmp49 = (int32_t) ((((int64_t) (lever_0_1) * (int64_t) (act_inv_angular_0_0)) >> 31)); int32_t f_linear_1_0_2 = (_tmp48 - _tmp49); int32_t f_linear_2_0_0 = (act_inv_linear_0_0 - f_linear_1_0_0); int32_t f_linear_2_0_1 = (act_inv_linear_0_1 - f_linear_1_0_1); int32_t f_linear_2_0_2 = (act_inv_linear_0_2 - (f_linear_1_0_2 >> 4)); int32_t f_linear_3_0_0 = (int32_t) ((((int64_t) (masses_0) * (int64_t) (f_linear_2_0_0)) >> 28)); int32_t f_linear_3_0_1 = (int32_t) ((((int64_t) (masses_0) * (int64_t) (f_linear_2_0_1)) >> 28)); int32_t f_linear_3_0_2 = (int32_t) ((((int64_t) (masses_0) * (int64_t) (f_linear_2_0_2)) >> 30)); int32_t r_11_ = (int32_t) ((((int64_t) (inertia_0_0_0) * (int64_t) (act_inv_angular_0_0)) >> 31)); int32_t r_12_ = (int32_t) ((((int64_t) (inertia_0_0_1) * (int64_t) (act_inv_angular_0_1)) >> 31)); int32_t r_13_ = (int32_t) ((((int64_t) (inertia_0_0_2) * (int64_t) (act_inv_angular_0_2)) >> 28)); int32_t r_14_ = (int32_t) ((((int64_t) (inertia_0_0_1) * (int64_t) (act_inv_angular_0_0)) >> 31)); int32_t r_15_ = (int32_t) ((((int64_t) (inertia_0_1_1) * (int64_t) (act_inv_angular_0_1)) >> 31)); int32_t r_16_ = (int32_t) ((((int64_t) (inertia_0_1_2) * (int64_t) (act_inv_angular_0_2)) >> 28)); int32_t r_17_ = (int32_t) ((((int64_t) (inertia_0_0_2) * (int64_t) (act_inv_angular_0_0)) >> 31)); int32_t r_18_ = (int32_t) ((((int64_t) (inertia_0_1_2) * (int64_t) (act_inv_angular_0_1)) >> 31)); int32_t r_19_ = (int32_t) ((((int64_t) (inertia_0_2_2) * (int64_t) (act_inv_angular_0_2)) >> 28)); int32_t r_20_rhsMult1_temp_0 = (r_11_ + r_12_); int32_t r_21_rhsMult1_0 = (r_20_rhsMult1_temp_0 + r_13_); int32_t r_22_rhsMult2_temp_0 = (r_14_ + r_15_); int32_t r_23_rhsMult2_0 = (r_22_rhsMult2_temp_0 + r_16_); int32_t r_24_rhsMult3_temp_0 = (r_17_ + r_18_); int32_t r_25_rhsMult3_0 = (r_24_rhsMult3_temp_0 + r_19_); int32_t r_26_rhsMult_0_0 = r_21_rhsMult1_0; int32_t r_26_rhsMult_0_1 = r_23_rhsMult2_0; int32_t r_26_rhsMult_0_2 = r_25_rhsMult3_0; int32_t f_angular_first_0_0 = r_26_rhsMult_0_0; int32_t f_angular_first_0_1 = r_26_rhsMult_0_1; int32_t f_angular_first_0_2 = r_26_rhsMult_0_2; int32_t _tmp50 = (int32_t) ((((int64_t) (lever_0_0) * (int64_t) (f_linear_3_0_1)) >> 31)); int32_t _tmp51 = (int32_t) ((((int64_t) (lever_0_1) * (int64_t) (f_linear_3_0_0)) >> 31)); int32_t f_angular_1_0_0 = (_tmp50 - _tmp51); int32_t _tmp52 = (int32_t) ((((int64_t) (lever_0_2) * (int64_t) (f_linear_3_0_0)) >> 31)); int32_t _tmp53 = (int32_t) ((((int64_t) (lever_0_0) * (int64_t) (f_linear_3_0_2)) >> 25)); int32_t f_angular_1_0_1 = (_tmp52 - _tmp53); int32_t _tmp54 = (int32_t) ((((int64_t) (lever_0_0) * (int64_t) (f_linear_3_0_1)) >> 31)); int32_t _tmp55 = (int32_t) ((((int64_t) (lever_0_1) * (int64_t) (f_linear_3_0_0)) >> 31)); int32_t f_angular_1_0_2 = (_tmp54 - _tmp55); int32_t f_angular_2_0_0 = (f_angular_first_0_0 + f_angular_1_0_0); int32_t f_angular_2_0_1 = (f_angular_first_0_1 + f_angular_1_0_1); int32_t f_angular_2_0_2 = (f_angular_first_0_2 + f_angular_1_0_2); int32_t _tmp56 = (int32_t) ((((int64_t) (v_angular_0_0) * (int64_t) (h_linear_0_1)) >> 31)); int32_t _tmp57 = (int32_t) ((((int64_t) (v_angular_0_1) * (int64_t) (h_linear_0_0)) >> 31)); int32_t f_linear_4_temp_0_0 = (_tmp56 - _tmp57); int32_t _tmp58 = (int32_t) ((((int64_t) (v_angular_0_2) * (int64_t) (h_linear_0_0)) >> 28)); int32_t _tmp59 = (int32_t) ((((int64_t) (v_angular_0_0) * (int64_t) (h_linear_0_2)) >> 31)); int32_t f_linear_4_temp_0_1 = (_tmp58 - _tmp59); int32_t _tmp60 = (int32_t) ((((int64_t) (v_angular_0_0) * (int64_t) (h_linear_0_1)) >> 31)); int32_t _tmp61 = (int32_t) ((((int64_t) (v_angular_0_1) * (int64_t) (h_linear_0_0)) >> 31)); int32_t f_linear_4_temp_0_2 = (_tmp60 - _tmp61); int32_t f_linear_4_0_0 = (f_linear_3_0_0 + f_linear_4_temp_0_0); int32_t f_linear_4_0_1 = (f_linear_3_0_1 + f_linear_4_temp_0_1); int32_t f_linear_4_0_2 = (f_linear_3_0_2 + (f_linear_4_temp_0_2 >> 6)); int32_t _tmp62 = (int32_t) ((((int64_t) (v_angular_0_0) * (int64_t) (h_angular_first_0_1)) >> 31)); int32_t _tmp63 = (int32_t) ((((int64_t) (v_angular_0_1) * (int64_t) (h_angular_first_0_0)) >> 31)); int32_t f_angular_3_temp_0_0 = (_tmp62 - _tmp63); int32_t _tmp64 = (int32_t) ((((int64_t) (v_angular_0_2) * (int64_t) (h_angular_first_0_0)) >> 28)); int32_t _tmp65 = (int32_t) ((((int64_t) (v_angular_0_0) * (int64_t) (h_angular_first_0_2)) >> 31)); int32_t f_angular_3_temp_0_1 = (_tmp64 - _tmp65); int32_t _tmp66 = (int32_t) ((((int64_t) (v_angular_0_0) * (int64_t) (h_angular_first_0_1)) >> 31)); int32_t _tmp67 = (int32_t) ((((int64_t) (v_angular_0_1) * (int64_t) (h_angular_first_0_0)) >> 31)); int32_t f_angular_3_temp_0_2 = (_tmp66 - _tmp67); int32_t f_angular_3_0_0 = (f_angular_2_0_0 + f_angular_3_temp_0_0); int32_t f_angular_3_0_1 = (f_angular_2_0_1 + f_angular_3_temp_0_1); int32_t f_angular_3_0_2 = (f_angular_2_0_2 + f_angular_3_temp_0_2); int32_t _tmp68 = (int32_t) ((((int64_t) (v_linear_0_0) * (int64_t) (h_linear_0_1)) >> 31)); int32_t _tmp69 = (int32_t) ((((int64_t) (v_linear_0_1) * (int64_t) (h_linear_0_0)) >> 31)); int32_t f_angular_4_temp_0_0 = (_tmp68 - _tmp69); int32_t _tmp70 = (int32_t) ((((int64_t) (v_linear_0_2) * (int64_t) (h_linear_0_0)) >> 31)); int32_t _tmp71 = (int32_t) ((((int64_t) (v_linear_0_0) * (int64_t) (h_linear_0_2)) >> 31)); int32_t f_angular_4_temp_0_1 = (_tmp70 - _tmp71); int32_t _tmp72 = (int32_t) ((((int64_t) (v_linear_0_0) * (int64_t) (h_linear_0_1)) >> 31)); int32_t _tmp73 = (int32_t) ((((int64_t) (v_linear_0_1) * (int64_t) (h_linear_0_0)) >> 31)); int32_t f_angular_4_temp_0_2 = (_tmp72 - _tmp73); int32_t f_angular_4_0_0 = (f_angular_3_0_0 + f_angular_4_temp_0_0); int32_t f_angular_4_0_1 = (f_angular_3_0_1 + f_angular_4_temp_0_1); int32_t f_angular_4_0_2 = (f_angular_3_0_2 + f_angular_4_temp_0_2); int32_t h_rnea_firstpass0_0 = h_linear_0_0; int32_t h_rnea_firstpass0_1 = h_linear_0_1; int32_t h_rnea_firstpass0_2 = h_linear_0_2; int32_t h_rnea_firstpass0_3 = h_angular_0_0; int32_t h_rnea_firstpass0_4 = h_angular_0_1; int32_t h_rnea_firstpass0_5 = h_angular_0_2; int32_t f_rnea_firstpass0_0 = f_linear_4_0_0; int32_t f_rnea_firstpass0_1 = f_linear_4_0_1; int32_t f_rnea_firstpass0_2 = f_linear_4_0_2; int32_t f_rnea_firstpass0_3 = f_angular_4_0_0; int32_t f_rnea_firstpass0_4 = f_angular_4_0_1; int32_t f_rnea_firstpass0_5 = f_angular_4_0_2; int32_t r_27_new_v_0_0 = v_linear_0_0; int32_t r_27_new_v_0_1 = v_linear_0_1; int32_t r_27_new_v_0_2 = v_linear_0_2; int32_t r_27_new_v_0_3 = v_angular_0_0; int32_t r_27_new_v_0_4 = v_angular_0_1; int32_t r_27_new_v_0_5 = v_angular_0_2; int32_t rotation_matrix_1_0_0 = qcos_1; int32_t rotation_matrix_1_0_1 = -(qsin_1); int32_t rotation_matrix_1_0_2 = 0; int32_t rotation_matrix_1_1_0 = qsin_1; int32_t rotation_matrix_1_1_1 = qcos_1; int32_t rotation_matrix_1_1_2 = 0; int32_t rotation_matrix_1_2_0 = 0; int32_t rotation_matrix_1_2_1 = 0; int32_t rotation_matrix_1_2_2 = 1073741824; int32_t limi_rotation_1_0_0 = rotation_matrix_1_0_0; int32_t limi_rotation_1_0_1 = rotation_matrix_1_0_1; int32_t limi_rotation_1_0_2 = 0; int32_t limi_rotation_1_1_0 = 0; int32_t limi_rotation_1_1_1 = 0; int32_t limi_rotation_1_1_2 = 1073741824; int32_t limi_rotation_1_2_0 = -(rotation_matrix_1_1_0); int32_t limi_rotation_1_2_1 = -(rotation_matrix_1_1_1); int32_t limi_rotation_1_2_2 = 0; int32_t v_linear_1_0 = data_v_1_0; int32_t v_linear_1_1 = data_v_1_1; int32_t v_linear_1_2 = data_v_1_2; int32_t v_angular_1_0 = data_v_1_3; int32_t v_angular_1_1 = data_v_1_4; int32_t v_angular_1_2 = v_1; int32_t parent_v_linear_1_0 = r_27_new_v_0_0; int32_t parent_v_linear_1_1 = r_27_new_v_0_1; int32_t parent_v_linear_1_2 = r_27_new_v_0_2; int32_t parent_v_angular_1_0 = r_27_new_v_0_3; int32_t parent_v_angular_1_1 = r_27_new_v_0_4; int32_t parent_v_angular_1_2 = r_27_new_v_0_5; int32_t parent_a_gf_linear_1_0 = new_a_gf_up3_0_0; int32_t parent_a_gf_linear_1_1 = new_a_gf_up3_0_1; int32_t parent_a_gf_linear_1_2 = new_a_gf_up3_0_2; int32_t parent_a_gf_angular_1_0 = new_a_gf_up3_0_3; int32_t parent_a_gf_angular_1_1 = new_a_gf_up3_0_4; int32_t parent_a_gf_angular_1_2 = new_a_gf_up3_0_5; int32_t _tmp74 = (int32_t) ((((int64_t) (limi_translation_1_0) * (int64_t) (parent_v_angular_1_1)) >> 31)); int32_t _tmp75 = (int32_t) ((((int64_t) (limi_translation_1_1) * (int64_t) (parent_v_angular_1_0)) >> 31)); int32_t actInv1_1_0 = (_tmp74 - _tmp75); int32_t _tmp76 = (int32_t) ((((int64_t) (limi_translation_1_2) * (int64_t) (parent_v_angular_1_0)) >> 31)); int32_t _tmp77 = (int32_t) ((((int64_t) (limi_translation_1_0) * (int64_t) (parent_v_angular_1_2)) >> 28)); int32_t actInv1_1_1 = (_tmp76 - _tmp77); int32_t _tmp78 = (int32_t) ((((int64_t) (limi_translation_1_0) * (int64_t) (parent_v_angular_1_1)) >> 31)); int32_t _tmp79 = (int32_t) ((((int64_t) (limi_translation_1_1) * (int64_t) (parent_v_angular_1_0)) >> 31)); int32_t actInv1_1_2 = (_tmp78 - _tmp79); int32_t actInv2_1_0 = (parent_v_linear_1_0 - actInv1_1_0); int32_t actInv2_1_1 = (parent_v_linear_1_1 - actInv1_1_1); int32_t actInv2_1_2 = (parent_v_linear_1_2 - actInv1_1_2); int32_t actInv3_1_0_0 = limi_rotation_1_0_0; int32_t actInv3_1_1_0 = limi_rotation_1_0_1; int32_t actInv3_1_2_0 = limi_rotation_1_0_2; int32_t actInv3_1_0_1 = limi_rotation_1_1_0; int32_t actInv3_1_1_1 = limi_rotation_1_1_1; int32_t actInv3_1_2_1 = limi_rotation_1_1_2; int32_t actInv3_1_0_2 = limi_rotation_1_2_0; int32_t actInv3_1_1_2 = limi_rotation_1_2_1; int32_t actInv3_1_2_2 = limi_rotation_1_2_2; int32_t _tmp80 = (int32_t) ((((int64_t) (actInv3_1_0_0) * (int64_t) (actInv2_1_0)) >> 30)); int32_t _tmp81 = (int32_t) ((((int64_t) (actInv3_1_0_1) * (int64_t) (actInv2_1_1)) >> 31)); int32_t _tmp82 = (_tmp80 + _tmp81); int32_t _tmp83 = (int32_t) ((((int64_t) (actInv3_1_0_2) * (int64_t) (actInv2_1_2)) >> 30)); int32_t actInv4_1_0 = (_tmp82 + _tmp83); int32_t _tmp84 = (int32_t) ((((int64_t) (actInv3_1_1_0) * (int64_t) (actInv2_1_0)) >> 30)); int32_t _tmp85 = (int32_t) ((((int64_t) (actInv3_1_1_1) * (int64_t) (actInv2_1_1)) >> 31)); int32_t _tmp86 = (_tmp84 + _tmp85); int32_t _tmp87 = (int32_t) ((((int64_t) (actInv3_1_1_2) * (int64_t) (actInv2_1_2)) >> 30)); int32_t actInv4_1_1 = (_tmp86 + _tmp87); int32_t _tmp88 = (int32_t) ((((int64_t) (actInv3_1_2_0) * (int64_t) (actInv2_1_0)) >> 31)); int32_t _tmp89 = (int32_t) ((((int64_t) (actInv3_1_2_1) * (int64_t) (actInv2_1_1)) >> 30)); int32_t _tmp90 = (_tmp88 + _tmp89); int32_t _tmp91 = (int32_t) ((((int64_t) (actInv3_1_2_2) * (int64_t) (actInv2_1_2)) >> 31)); int32_t actInv4_1_2 = (_tmp90 + _tmp91); int32_t act_inv_linear_1_0 = (v_linear_1_0 + actInv4_1_0); int32_t act_inv_linear_1_1 = (v_linear_1_1 + actInv4_1_1); int32_t act_inv_linear_1_2 = (v_linear_1_2 + actInv4_1_2); int32_t _tmp92 = (int32_t) ((((int64_t) (actInv3_1_0_0) * (int64_t) (parent_v_angular_1_0)) >> 30)); int32_t _tmp93 = (int32_t) ((((int64_t) (actInv3_1_0_1) * (int64_t) (parent_v_angular_1_1)) >> 31)); int32_t _tmp94 = (_tmp92 + _tmp93); int32_t _tmp95 = (int32_t) ((((int64_t) (actInv3_1_0_2) * (int64_t) (parent_v_angular_1_2)) >> 30)); int32_t actInv5_1_0 = ((_tmp94 >> 3) + _tmp95); int32_t _tmp96 = (int32_t) ((((int64_t) (actInv3_1_1_0) * (int64_t) (parent_v_angular_1_0)) >> 30)); int32_t _tmp97 = (int32_t) ((((int64_t) (actInv3_1_1_1) * (int64_t) (parent_v_angular_1_1)) >> 31)); int32_t _tmp98 = (_tmp96 + _tmp97); int32_t _tmp99 = (int32_t) ((((int64_t) (actInv3_1_1_2) * (int64_t) (parent_v_angular_1_2)) >> 30)); int32_t actInv5_1_1 = ((_tmp98 >> 3) + _tmp99); int32_t _tmp100 = (int32_t) ((((int64_t) (actInv3_1_2_0) * (int64_t) (parent_v_angular_1_0)) >> 31)); int32_t _tmp101 = (int32_t) ((((int64_t) (actInv3_1_2_1) * (int64_t) (parent_v_angular_1_1)) >> 30)); int32_t _tmp102 = (_tmp100 + _tmp101); int32_t _tmp103 = (int32_t) ((((int64_t) (actInv3_1_2_2) * (int64_t) (parent_v_angular_1_2)) >> 28)); int32_t actInv5_1_2 = (_tmp102 + _tmp103); int32_t act_inv_angular_1_0 = ((v_angular_1_0 >> 3) + actInv5_1_0); int32_t act_inv_angular_1_1 = ((v_angular_1_1 >> 3) + actInv5_1_1); int32_t act_inv_angular_1_2 = (v_angular_1_2 + (actInv5_1_2 >> 3)); int32_t minus_m_w_1 = -(v_1); int32_t _tmp104 = -(minus_m_w_1); int32_t alpha_cross1_linear_1 = (int32_t) ((((int64_t) (_tmp104) * (int64_t) (act_inv_linear_1_1)) >> 28)); int32_t alpha_cross2_linear_1 = (int32_t) ((((int64_t) (minus_m_w_1) * (int64_t) (act_inv_linear_1_0)) >> 28)); int32_t alpha_cross_linear_1_0 = alpha_cross1_linear_1; int32_t alpha_cross_linear_1_1 = alpha_cross2_linear_1; int32_t alpha_cross_linear_1_2 = 0; int32_t _tmp105 = -(minus_m_w_1); int32_t alpha_cross1_angular_1 = (int32_t) ((((int64_t) (_tmp105) * (int64_t) (act_inv_angular_1_1)) >> 30)); int32_t alpha_cross2_angular_1 = (int32_t) ((((int64_t) (minus_m_w_1) * (int64_t) (act_inv_angular_1_0)) >> 30)); int32_t alpha_cross_angular_1_0 = alpha_cross1_angular_1; int32_t alpha_cross_angular_1_1 = alpha_cross2_angular_1; int32_t alpha_cross_angular_1_2 = 0; int32_t r_28_new_a_gf_1_0 = alpha_cross_linear_1_0; int32_t r_28_new_a_gf_1_1 = alpha_cross_linear_1_1; int32_t r_28_new_a_gf_1_2 = alpha_cross_linear_1_2; int32_t r_28_new_a_gf_1_3 = alpha_cross_angular_1_0; int32_t r_28_new_a_gf_1_4 = alpha_cross_angular_1_1; int32_t r_28_new_a_gf_1_5 = alpha_cross_angular_1_2; int32_t new_a_gf_up1_1 = (a_1 + (r_28_new_a_gf_1_5 >> 3)); int32_t new_a_gf2_linear_1_0 = r_28_new_a_gf_1_0; int32_t new_a_gf2_linear_1_1 = r_28_new_a_gf_1_1; int32_t new_a_gf2_linear_1_2 = r_28_new_a_gf_1_2; int32_t new_a_gf2_angular_1_0 = r_28_new_a_gf_1_3; int32_t new_a_gf2_angular_1_1 = r_28_new_a_gf_1_4; int32_t new_a_gf2_angular_1_2 = new_a_gf_up1_1; int32_t _tmp106 = (int32_t) ((((int64_t) (limi_translation_1_0) * (int64_t) (parent_a_gf_angular_1_1)) >> 31)); int32_t _tmp107 = (int32_t) ((((int64_t) (limi_translation_1_1) * (int64_t) (parent_a_gf_angular_1_0)) >> 31)); int32_t r_29_actInv1_1_0 = (_tmp106 - _tmp107); int32_t _tmp108 = (int32_t) ((((int64_t) (limi_translation_1_2) * (int64_t) (parent_a_gf_angular_1_0)) >> 31)); int32_t _tmp109 = (int32_t) ((((int64_t) (limi_translation_1_0) * (int64_t) (parent_a_gf_angular_1_2)) >> 28)); int32_t r_29_actInv1_1_1 = (_tmp108 - _tmp109); int32_t _tmp110 = (int32_t) ((((int64_t) (limi_translation_1_0) * (int64_t) (parent_a_gf_angular_1_1)) >> 31)); int32_t _tmp111 = (int32_t) ((((int64_t) (limi_translation_1_1) * (int64_t) (parent_a_gf_angular_1_0)) >> 31)); int32_t r_29_actInv1_1_2 = (_tmp110 - _tmp111); int32_t r_30_actInv2_1_0 = (parent_a_gf_linear_1_0 - r_29_actInv1_1_0); int32_t r_30_actInv2_1_1 = (parent_a_gf_linear_1_1 - r_29_actInv1_1_1); int32_t r_30_actInv2_1_2 = (parent_a_gf_linear_1_2 - (r_29_actInv1_1_2 >> 4)); int32_t r_31_actInv3_1_0_0 = limi_rotation_1_0_0; int32_t r_31_actInv3_1_1_0 = limi_rotation_1_0_1; int32_t r_31_actInv3_1_2_0 = limi_rotation_1_0_2; int32_t r_31_actInv3_1_0_1 = limi_rotation_1_1_0; int32_t r_31_actInv3_1_1_1 = limi_rotation_1_1_1; int32_t r_31_actInv3_1_2_1 = limi_rotation_1_1_2; int32_t r_31_actInv3_1_0_2 = limi_rotation_1_2_0; int32_t r_31_actInv3_1_1_2 = limi_rotation_1_2_1; int32_t r_31_actInv3_1_2_2 = limi_rotation_1_2_2; int32_t _tmp112 = (int32_t) ((((int64_t) (r_31_actInv3_1_0_0) * (int64_t) (r_30_actInv2_1_0)) >> 30)); int32_t _tmp113 = (int32_t) ((((int64_t) (r_31_actInv3_1_0_1) * (int64_t) (r_30_actInv2_1_1)) >> 31)); int32_t _tmp114 = (_tmp112 + _tmp113); int32_t _tmp115 = (int32_t) ((((int64_t) (r_31_actInv3_1_0_2) * (int64_t) (r_30_actInv2_1_2)) >> 30)); int32_t r_32_actInv4_1_0 = ((_tmp114 >> 4) + _tmp115); int32_t _tmp116 = (int32_t) ((((int64_t) (r_31_actInv3_1_1_0) * (int64_t) (r_30_actInv2_1_0)) >> 30)); int32_t _tmp117 = (int32_t) ((((int64_t) (r_31_actInv3_1_1_1) * (int64_t) (r_30_actInv2_1_1)) >> 31)); int32_t _tmp118 = (_tmp116 + _tmp117); int32_t _tmp119 = (int32_t) ((((int64_t) (r_31_actInv3_1_1_2) * (int64_t) (r_30_actInv2_1_2)) >> 30)); int32_t r_32_actInv4_1_1 = ((_tmp118 >> 4) + _tmp119); int32_t _tmp120 = (int32_t) ((((int64_t) (r_31_actInv3_1_2_0) * (int64_t) (r_30_actInv2_1_0)) >> 31)); int32_t _tmp121 = (int32_t) ((((int64_t) (r_31_actInv3_1_2_1) * (int64_t) (r_30_actInv2_1_1)) >> 30)); int32_t _tmp122 = (_tmp120 + _tmp121); int32_t _tmp123 = (int32_t) ((((int64_t) (r_31_actInv3_1_2_2) * (int64_t) (r_30_actInv2_1_2)) >> 27)); int32_t r_32_actInv4_1_2 = (_tmp122 + _tmp123); int32_t r_33_act_inv_linear_1_0 = ((new_a_gf2_linear_1_0 >> 4) + r_32_actInv4_1_0); int32_t r_33_act_inv_linear_1_1 = ((new_a_gf2_linear_1_1 >> 4) + r_32_actInv4_1_1); int32_t r_33_act_inv_linear_1_2 = (new_a_gf2_linear_1_2 + r_32_actInv4_1_2); int32_t _tmp124 = (int32_t) ((((int64_t) (r_31_actInv3_1_0_0) * (int64_t) (parent_a_gf_angular_1_0)) >> 30)); int32_t _tmp125 = (int32_t) ((((int64_t) (r_31_actInv3_1_0_1) * (int64_t) (parent_a_gf_angular_1_1)) >> 31)); int32_t _tmp126 = (_tmp124 + _tmp125); int32_t _tmp127 = (int32_t) ((((int64_t) (r_31_actInv3_1_0_2) * (int64_t) (parent_a_gf_angular_1_2)) >> 30)); int32_t r_34_actInv5_1_0 = ((_tmp126 >> 3) + _tmp127); int32_t _tmp128 = (int32_t) ((((int64_t) (r_31_actInv3_1_1_0) * (int64_t) (parent_a_gf_angular_1_0)) >> 30)); int32_t _tmp129 = (int32_t) ((((int64_t) (r_31_actInv3_1_1_1) * (int64_t) (parent_a_gf_angular_1_1)) >> 31)); int32_t _tmp130 = (_tmp128 + _tmp129); int32_t _tmp131 = (int32_t) ((((int64_t) (r_31_actInv3_1_1_2) * (int64_t) (parent_a_gf_angular_1_2)) >> 30)); int32_t r_34_actInv5_1_1 = ((_tmp130 >> 3) + _tmp131); int32_t _tmp132 = (int32_t) ((((int64_t) (r_31_actInv3_1_2_0) * (int64_t) (parent_a_gf_angular_1_0)) >> 31)); int32_t _tmp133 = (int32_t) ((((int64_t) (r_31_actInv3_1_2_1) * (int64_t) (parent_a_gf_angular_1_1)) >> 30)); int32_t _tmp134 = (_tmp132 + _tmp133); int32_t _tmp135 = (int32_t) ((((int64_t) (r_31_actInv3_1_2_2) * (int64_t) (parent_a_gf_angular_1_2)) >> 28)); int32_t r_34_actInv5_1_2 = (_tmp134 + _tmp135); int32_t r_35_act_inv_angular_1_0 = (new_a_gf2_angular_1_0 + (r_34_actInv5_1_0 >> 2)); int32_t r_35_act_inv_angular_1_1 = (new_a_gf2_angular_1_1 + (r_34_actInv5_1_1 >> 2)); int32_t r_35_act_inv_angular_1_2 = (new_a_gf2_angular_1_2 + (r_34_actInv5_1_2 >> 3)); int32_t new_a_gf_up3_1_0 = r_33_act_inv_linear_1_0; int32_t new_a_gf_up3_1_1 = r_33_act_inv_linear_1_1; int32_t new_a_gf_up3_1_2 = r_33_act_inv_linear_1_2; int32_t new_a_gf_up3_1_3 = r_35_act_inv_angular_1_0; int32_t new_a_gf_up3_1_4 = r_35_act_inv_angular_1_1; int32_t new_a_gf_up3_1_5 = r_35_act_inv_angular_1_2; int32_t _tmp136 = (int32_t) ((((int64_t) (lever_1_0) * (int64_t) (act_inv_angular_1_1)) >> 28)); int32_t _tmp137 = (int32_t) ((((int64_t) (lever_1_1) * (int64_t) (act_inv_angular_1_0)) >> 28)); int32_t h_linear_1_1_0 = (_tmp136 - _tmp137); int32_t _tmp138 = (int32_t) ((((int64_t) (lever_1_2) * (int64_t) (act_inv_angular_1_0)) >> 28)); int32_t _tmp139 = (int32_t) ((((int64_t) (lever_1_0) * (int64_t) (act_inv_angular_1_2)) >> 28)); int32_t h_linear_1_1_1 = (_tmp138 - _tmp139); int32_t _tmp140 = (int32_t) ((((int64_t) (lever_1_0) * (int64_t) (act_inv_angular_1_1)) >> 28)); int32_t _tmp141 = (int32_t) ((((int64_t) (lever_1_1) * (int64_t) (act_inv_angular_1_0)) >> 28)); int32_t h_linear_1_1_2 = (_tmp140 - _tmp141); int32_t h_linear_2_1_0 = (act_inv_linear_1_0 - h_linear_1_1_0); int32_t h_linear_2_1_1 = (act_inv_linear_1_1 - h_linear_1_1_1); int32_t h_linear_2_1_2 = (act_inv_linear_1_2 - h_linear_1_1_2); int32_t h_linear_1_0 = (int32_t) ((((int64_t) (masses_1) * (int64_t) (h_linear_2_1_0)) >> 31)); int32_t h_linear_1_1 = (int32_t) ((((int64_t) (masses_1) * (int64_t) (h_linear_2_1_1)) >> 31)); int32_t h_linear_1_2 = (int32_t) ((((int64_t) (masses_1) * (int64_t) (h_linear_2_1_2)) >> 31)); int32_t r_36_ = (int32_t) ((((int64_t) (inertia_1_0_0) * (int64_t) (act_inv_angular_1_0)) >> 28)); int32_t r_37_ = (int32_t) ((((int64_t) (inertia_1_0_1) * (int64_t) (act_inv_angular_1_1)) >> 28)); int32_t r_38_ = (int32_t) ((((int64_t) (inertia_1_0_2) * (int64_t) (act_inv_angular_1_2)) >> 28)); int32_t r_39_ = (int32_t) ((((int64_t) (inertia_1_0_1) * (int64_t) (act_inv_angular_1_0)) >> 28)); int32_t r_40_ = (int32_t) ((((int64_t) (inertia_1_1_1) * (int64_t) (act_inv_angular_1_1)) >> 28)); int32_t r_41_ = (int32_t) ((((int64_t) (inertia_1_1_2) * (int64_t) (act_inv_angular_1_2)) >> 28)); int32_t r_42_ = (int32_t) ((((int64_t) (inertia_1_0_2) * (int64_t) (act_inv_angular_1_0)) >> 28)); int32_t r_43_ = (int32_t) ((((int64_t) (inertia_1_1_2) * (int64_t) (act_inv_angular_1_1)) >> 28)); int32_t r_44_ = (int32_t) ((((int64_t) (inertia_1_2_2) * (int64_t) (act_inv_angular_1_2)) >> 28)); int32_t rhsMult1_temp_1 = (r_36_ + r_37_); int32_t rhsMult1_1 = (rhsMult1_temp_1 + r_38_); int32_t rhsMult2_temp_1 = (r_39_ + r_40_); int32_t rhsMult2_1 = (rhsMult2_temp_1 + r_41_); int32_t rhsMult3_temp_1 = (r_42_ + r_43_); int32_t rhsMult3_1 = (rhsMult3_temp_1 + r_44_); int32_t rhsMult_1_0 = rhsMult1_1; int32_t rhsMult_1_1 = rhsMult2_1; int32_t rhsMult_1_2 = rhsMult3_1; int32_t h_angular_first_1_0 = rhsMult_1_0; int32_t h_angular_first_1_1 = rhsMult_1_1; int32_t h_angular_first_1_2 = rhsMult_1_2; int32_t _tmp142 = (int32_t) ((((int64_t) (lever_1_0) * (int64_t) (h_linear_1_1)) >> 31)); int32_t _tmp143 = (int32_t) ((((int64_t) (lever_1_1) * (int64_t) (h_linear_1_0)) >> 31)); int32_t h_angular_1_1_0 = (_tmp142 - _tmp143); int32_t _tmp144 = (int32_t) ((((int64_t) (lever_1_2) * (int64_t) (h_linear_1_0)) >> 31)); int32_t _tmp145 = (int32_t) ((((int64_t) (lever_1_0) * (int64_t) (h_linear_1_2)) >> 31)); int32_t h_angular_1_1_1 = (_tmp144 - _tmp145); int32_t _tmp146 = (int32_t) ((((int64_t) (lever_1_0) * (int64_t) (h_linear_1_1)) >> 31)); int32_t _tmp147 = (int32_t) ((((int64_t) (lever_1_1) * (int64_t) (h_linear_1_0)) >> 31)); int32_t h_angular_1_1_2 = (_tmp146 - _tmp147); int32_t h_angular_1_0 = (h_angular_first_1_0 + h_angular_1_1_0); int32_t h_angular_1_1 = (h_angular_first_1_1 + h_angular_1_1_1); int32_t h_angular_1_2 = (h_angular_first_1_2 + h_angular_1_1_2); int32_t _tmp148 = (int32_t) ((((int64_t) (lever_1_0) * (int64_t) (r_35_act_inv_angular_1_1)) >> 26)); int32_t _tmp149 = (int32_t) ((((int64_t) (lever_1_1) * (int64_t) (r_35_act_inv_angular_1_0)) >> 26)); int32_t f_linear_1_1_0 = (_tmp148 - _tmp149); int32_t _tmp150 = (int32_t) ((((int64_t) (lever_1_2) * (int64_t) (r_35_act_inv_angular_1_0)) >> 26)); int32_t _tmp151 = (int32_t) ((((int64_t) (lever_1_0) * (int64_t) (r_35_act_inv_angular_1_2)) >> 28)); int32_t f_linear_1_1_1 = (_tmp150 - _tmp151); int32_t _tmp152 = (int32_t) ((((int64_t) (lever_1_0) * (int64_t) (r_35_act_inv_angular_1_1)) >> 26)); int32_t _tmp153 = (int32_t) ((((int64_t) (lever_1_1) * (int64_t) (r_35_act_inv_angular_1_0)) >> 26)); int32_t f_linear_1_1_2 = (_tmp152 - _tmp153); int32_t f_linear_2_1_0 = (r_33_act_inv_linear_1_0 - (f_linear_1_1_0 >> 4)); int32_t f_linear_2_1_1 = (r_33_act_inv_linear_1_1 - (f_linear_1_1_1 >> 4)); int32_t f_linear_2_1_2 = (r_33_act_inv_linear_1_2 - f_linear_1_1_2); int32_t f_linear_3_1_0 = (int32_t) ((((int64_t) (masses_1) * (int64_t) (f_linear_2_1_0)) >> 30)); int32_t f_linear_3_1_1 = (int32_t) ((((int64_t) (masses_1) * (int64_t) (f_linear_2_1_1)) >> 30)); int32_t f_linear_3_1_2 = (int32_t) ((((int64_t) (masses_1) * (int64_t) (f_linear_2_1_2)) >> 31)); int32_t r_45_ = (int32_t) ((((int64_t) (inertia_1_0_0) * (int64_t) (r_35_act_inv_angular_1_0)) >> 26)); int32_t r_46_ = (int32_t) ((((int64_t) (inertia_1_0_1) * (int64_t) (r_35_act_inv_angular_1_1)) >> 26)); int32_t r_47_ = (int32_t) ((((int64_t) (inertia_1_0_2) * (int64_t) (r_35_act_inv_angular_1_2)) >> 28)); int32_t r_48_ = (int32_t) ((((int64_t) (inertia_1_0_1) * (int64_t) (r_35_act_inv_angular_1_0)) >> 26)); int32_t r_49_ = (int32_t) ((((int64_t) (inertia_1_1_1) * (int64_t) (r_35_act_inv_angular_1_1)) >> 26)); int32_t r_50_ = (int32_t) ((((int64_t) (inertia_1_1_2) * (int64_t) (r_35_act_inv_angular_1_2)) >> 28)); int32_t r_51_ = (int32_t) ((((int64_t) (inertia_1_0_2) * (int64_t) (r_35_act_inv_angular_1_0)) >> 26)); int32_t r_52_ = (int32_t) ((((int64_t) (inertia_1_1_2) * (int64_t) (r_35_act_inv_angular_1_1)) >> 26)); int32_t r_53_ = (int32_t) ((((int64_t) (inertia_1_2_2) * (int64_t) (r_35_act_inv_angular_1_2)) >> 28)); int32_t r_54_rhsMult1_temp_1 = (r_45_ + r_46_); int32_t r_55_rhsMult1_1 = (r_54_rhsMult1_temp_1 + r_47_); int32_t r_56_rhsMult2_temp_1 = (r_48_ + r_49_); int32_t r_57_rhsMult2_1 = (r_56_rhsMult2_temp_1 + r_50_); int32_t r_58_rhsMult3_temp_1 = (r_51_ + r_52_); int32_t r_59_rhsMult3_1 = (r_58_rhsMult3_temp_1 + r_53_); int32_t r_60_rhsMult_1_0 = r_55_rhsMult1_1; int32_t r_60_rhsMult_1_1 = r_57_rhsMult2_1; int32_t r_60_rhsMult_1_2 = r_59_rhsMult3_1; int32_t f_angular_first_1_0 = r_60_rhsMult_1_0; int32_t f_angular_first_1_1 = r_60_rhsMult_1_1; int32_t f_angular_first_1_2 = r_60_rhsMult_1_2; int32_t _tmp154 = (int32_t) ((((int64_t) (lever_1_0) * (int64_t) (f_linear_3_1_1)) >> 28)); int32_t _tmp155 = (int32_t) ((((int64_t) (lever_1_1) * (int64_t) (f_linear_3_1_0)) >> 28)); int32_t f_angular_1_1_0 = (_tmp154 - _tmp155); int32_t _tmp156 = (int32_t) ((((int64_t) (lever_1_2) * (int64_t) (f_linear_3_1_0)) >> 28)); int32_t _tmp157 = (int32_t) ((((int64_t) (lever_1_0) * (int64_t) (f_linear_3_1_2)) >> 31)); int32_t f_angular_1_1_1 = (_tmp156 - _tmp157); int32_t _tmp158 = (int32_t) ((((int64_t) (lever_1_0) * (int64_t) (f_linear_3_1_1)) >> 28)); int32_t _tmp159 = (int32_t) ((((int64_t) (lever_1_1) * (int64_t) (f_linear_3_1_0)) >> 28)); int32_t f_angular_1_1_2 = (_tmp158 - _tmp159); int32_t f_angular_2_1_0 = (f_angular_first_1_0 + f_angular_1_1_0); int32_t f_angular_2_1_1 = (f_angular_first_1_1 + f_angular_1_1_1); int32_t f_angular_2_1_2 = (f_angular_first_1_2 + f_angular_1_1_2); int32_t _tmp160 = (int32_t) ((((int64_t) (act_inv_angular_1_0) * (int64_t) (h_linear_1_1)) >> 28)); int32_t _tmp161 = (int32_t) ((((int64_t) (act_inv_angular_1_1) * (int64_t) (h_linear_1_0)) >> 28)); int32_t f_linear_4_temp_1_0 = (_tmp160 - _tmp161); int32_t _tmp162 = (int32_t) ((((int64_t) (act_inv_angular_1_2) * (int64_t) (h_linear_1_0)) >> 28)); int32_t _tmp163 = (int32_t) ((((int64_t) (act_inv_angular_1_0) * (int64_t) (h_linear_1_2)) >> 28)); int32_t f_linear_4_temp_1_1 = ((_tmp162 - _tmp163) >> 1); int32_t _tmp164 = (int32_t) ((((int64_t) (act_inv_angular_1_0) * (int64_t) (h_linear_1_1)) >> 28)); int32_t _tmp165 = (int32_t) ((((int64_t) (act_inv_angular_1_1) * (int64_t) (h_linear_1_0)) >> 28)); int32_t f_linear_4_temp_1_2 = (_tmp164 - _tmp165); int32_t f_linear_4_1_0 = (f_linear_3_1_0 + (f_linear_4_temp_1_0 >> 3)); int32_t f_linear_4_1_1 = (f_linear_3_1_1 + (f_linear_4_temp_1_1 >> 2)); int32_t f_linear_4_1_2 = ((f_linear_3_1_2 + f_linear_4_temp_1_2) >> 1); int32_t _tmp166 = (int32_t) ((((int64_t) (act_inv_angular_1_0) * (int64_t) (h_angular_first_1_1)) >> 28)); int32_t _tmp167 = (int32_t) ((((int64_t) (act_inv_angular_1_1) * (int64_t) (h_angular_first_1_0)) >> 28)); int32_t f_angular_3_temp_1_0 = ((_tmp166 - _tmp167) >> 1); int32_t _tmp168 = (int32_t) ((((int64_t) (act_inv_angular_1_2) * (int64_t) (h_angular_first_1_0)) >> 28)); int32_t _tmp169 = (int32_t) ((((int64_t) (act_inv_angular_1_0) * (int64_t) (h_angular_first_1_2)) >> 28)); int32_t f_angular_3_temp_1_1 = ((_tmp168 - _tmp169) >> 1); int32_t _tmp170 = (int32_t) ((((int64_t) (act_inv_angular_1_0) * (int64_t) (h_angular_first_1_1)) >> 28)); int32_t _tmp171 = (int32_t) ((((int64_t) (act_inv_angular_1_1) * (int64_t) (h_angular_first_1_0)) >> 28)); int32_t f_angular_3_temp_1_2 = ((_tmp170 - _tmp171) >> 1); int32_t f_angular_3_1_0 = (((f_angular_2_1_0 >> 1) + f_angular_3_temp_1_0) >> 1); int32_t f_angular_3_1_1 = (((f_angular_2_1_1 >> 1) + f_angular_3_temp_1_1) >> 1); int32_t f_angular_3_1_2 = (((f_angular_2_1_2 >> 1) + f_angular_3_temp_1_2) >> 1); int32_t _tmp172 = (int32_t) ((((int64_t) (act_inv_linear_1_0) * (int64_t) (h_linear_1_1)) >> 31)); int32_t _tmp173 = (int32_t) ((((int64_t) (act_inv_linear_1_1) * (int64_t) (h_linear_1_0)) >> 31)); int32_t f_angular_4_temp_1_0 = (_tmp172 - _tmp173); int32_t _tmp174 = (int32_t) ((((int64_t) (act_inv_linear_1_2) * (int64_t) (h_linear_1_0)) >> 31)); int32_t _tmp175 = (int32_t) ((((int64_t) (act_inv_linear_1_0) * (int64_t) (h_linear_1_2)) >> 31)); int32_t f_angular_4_temp_1_1 = (_tmp174 - _tmp175); int32_t _tmp176 = (int32_t) ((((int64_t) (act_inv_linear_1_0) * (int64_t) (h_linear_1_1)) >> 31)); int32_t _tmp177 = (int32_t) ((((int64_t) (act_inv_linear_1_1) * (int64_t) (h_linear_1_0)) >> 31)); int32_t f_angular_4_temp_1_2 = (_tmp176 - _tmp177); int32_t f_angular_4_1_0 = (f_angular_3_1_0 + (f_angular_4_temp_1_0 >> 2)); int32_t f_angular_4_1_1 = (f_angular_3_1_1 + (f_angular_4_temp_1_1 >> 2)); int32_t f_angular_4_1_2 = (f_angular_3_1_2 + (f_angular_4_temp_1_2 >> 2)); int32_t h_rnea_firstpass1_0 = h_linear_1_0; int32_t h_rnea_firstpass1_1 = h_linear_1_1; int32_t h_rnea_firstpass1_2 = h_linear_1_2; int32_t h_rnea_firstpass1_3 = h_angular_1_0; int32_t h_rnea_firstpass1_4 = h_angular_1_1; int32_t h_rnea_firstpass1_5 = h_angular_1_2; int32_t f_rnea_firstpass1_0 = f_linear_4_1_0; int32_t f_rnea_firstpass1_1 = f_linear_4_1_1; int32_t f_rnea_firstpass1_2 = f_linear_4_1_2; int32_t f_rnea_firstpass1_3 = f_angular_4_1_0; int32_t f_rnea_firstpass1_4 = f_angular_4_1_1; int32_t f_rnea_firstpass1_5 = f_angular_4_1_2; int32_t r_61_new_v_1_0 = act_inv_linear_1_0; int32_t r_61_new_v_1_1 = act_inv_linear_1_1; int32_t r_61_new_v_1_2 = act_inv_linear_1_2; int32_t r_61_new_v_1_3 = act_inv_angular_1_0; int32_t r_61_new_v_1_4 = act_inv_angular_1_1; int32_t r_61_new_v_1_5 = act_inv_angular_1_2; int32_t rotation_matrix_2_0_0 = qcos_2; int32_t rotation_matrix_2_0_1 = -(qsin_2); int32_t rotation_matrix_2_0_2 = 0; int32_t rotation_matrix_2_1_0 = qsin_2; int32_t rotation_matrix_2_1_1 = qcos_2; int32_t rotation_matrix_2_1_2 = 0; int32_t rotation_matrix_2_2_0 = 0; int32_t rotation_matrix_2_2_1 = 0; int32_t rotation_matrix_2_2_2 = 1073741824; int32_t limi_rotation_2_0_0 = rotation_matrix_2_0_0; int32_t limi_rotation_2_0_1 = rotation_matrix_2_0_1; int32_t limi_rotation_2_0_2 = 0; int32_t limi_rotation_2_1_0 = 0; int32_t limi_rotation_2_1_1 = 0; int32_t limi_rotation_2_1_2 = -1073741825; int32_t limi_rotation_2_2_0 = rotation_matrix_2_1_0; int32_t limi_rotation_2_2_1 = rotation_matrix_2_1_1; int32_t limi_rotation_2_2_2 = 0; int32_t v_linear_2_0 = data_v_2_0; int32_t v_linear_2_1 = data_v_2_1; int32_t v_linear_2_2 = data_v_2_2; int32_t v_angular_2_0 = data_v_2_3; int32_t v_angular_2_1 = data_v_2_4; int32_t v_angular_2_2 = v_2; int32_t parent_v_linear_2_0 = r_61_new_v_1_0; int32_t parent_v_linear_2_1 = r_61_new_v_1_1; int32_t parent_v_linear_2_2 = r_61_new_v_1_2; int32_t parent_v_angular_2_0 = r_61_new_v_1_3; int32_t parent_v_angular_2_1 = r_61_new_v_1_4; int32_t parent_v_angular_2_2 = r_61_new_v_1_5; int32_t parent_a_gf_linear_2_0 = new_a_gf_up3_1_0; int32_t parent_a_gf_linear_2_1 = new_a_gf_up3_1_1; int32_t parent_a_gf_linear_2_2 = new_a_gf_up3_1_2; int32_t parent_a_gf_angular_2_0 = new_a_gf_up3_1_3; int32_t parent_a_gf_angular_2_1 = new_a_gf_up3_1_4; int32_t parent_a_gf_angular_2_2 = new_a_gf_up3_1_5; int32_t _tmp178 = (int32_t) ((((int64_t) (limi_translation_2_0) * (int64_t) (parent_v_angular_2_1)) >> 28)); int32_t _tmp179 = (int32_t) ((((int64_t) (limi_translation_2_1) * (int64_t) (parent_v_angular_2_0)) >> 29)); int32_t actInv1_2_0 = ((_tmp178 >> 1) - _tmp179); int32_t _tmp180 = (int32_t) ((((int64_t) (limi_translation_2_2) * (int64_t) (parent_v_angular_2_0)) >> 28)); int32_t _tmp181 = (int32_t) ((((int64_t) (limi_translation_2_0) * (int64_t) (parent_v_angular_2_2)) >> 28)); int32_t actInv1_2_1 = (_tmp180 - _tmp181); int32_t _tmp182 = (int32_t) ((((int64_t) (limi_translation_2_0) * (int64_t) (parent_v_angular_2_1)) >> 28)); int32_t _tmp183 = (int32_t) ((((int64_t) (limi_translation_2_1) * (int64_t) (parent_v_angular_2_0)) >> 29)); int32_t actInv1_2_2 = ((_tmp182 >> 1) - _tmp183); int32_t actInv2_2_0 = ((parent_v_linear_2_0 >> 1) - actInv1_2_0); int32_t actInv2_2_1 = (parent_v_linear_2_1 - actInv1_2_1); int32_t actInv2_2_2 = ((parent_v_linear_2_2 >> 1) - actInv1_2_2); int32_t actInv3_2_0_0 = limi_rotation_2_0_0; int32_t actInv3_2_1_0 = limi_rotation_2_0_1; int32_t actInv3_2_2_0 = limi_rotation_2_0_2; int32_t actInv3_2_0_1 = limi_rotation_2_1_0; int32_t actInv3_2_1_1 = limi_rotation_2_1_1; int32_t actInv3_2_2_1 = limi_rotation_2_1_2; int32_t actInv3_2_0_2 = limi_rotation_2_2_0; int32_t actInv3_2_1_2 = limi_rotation_2_2_1; int32_t actInv3_2_2_2 = limi_rotation_2_2_2; int32_t _tmp184 = (int32_t) ((((int64_t) (actInv3_2_0_0) * (int64_t) (actInv2_2_0)) >> 30)); int32_t _tmp185 = (int32_t) ((((int64_t) (actInv3_2_0_1) * (int64_t) (actInv2_2_1)) >> 31)); int32_t _tmp186 = (_tmp184 + (_tmp185 >> 1)); int32_t _tmp187 = (int32_t) ((((int64_t) (actInv3_2_0_2) * (int64_t) (actInv2_2_2)) >> 30)); int32_t actInv4_2_0 = ((_tmp186 + _tmp187) >> 1); int32_t _tmp188 = (int32_t) ((((int64_t) (actInv3_2_1_0) * (int64_t) (actInv2_2_0)) >> 30)); int32_t _tmp189 = (int32_t) ((((int64_t) (actInv3_2_1_1) * (int64_t) (actInv2_2_1)) >> 31)); int32_t _tmp190 = (_tmp188 + (_tmp189 >> 1)); int32_t _tmp191 = (int32_t) ((((int64_t) (actInv3_2_1_2) * (int64_t) (actInv2_2_2)) >> 30)); int32_t actInv4_2_1 = ((_tmp190 + _tmp191) >> 1); int32_t _tmp192 = (int32_t) ((((int64_t) (actInv3_2_2_0) * (int64_t) (actInv2_2_0)) >> 30)); int32_t _tmp193 = (int32_t) ((((int64_t) (actInv3_2_2_1) * (int64_t) (actInv2_2_1)) >> 30)); int32_t _tmp194 = (_tmp192 + _tmp193); int32_t _tmp195 = (int32_t) ((((int64_t) (actInv3_2_2_2) * (int64_t) (actInv2_2_2)) >> 30)); int32_t actInv4_2_2 = (_tmp194 + _tmp195); int32_t act_inv_linear_2_0 = ((v_linear_2_0 >> 2) + actInv4_2_0); int32_t act_inv_linear_2_1 = ((v_linear_2_1 >> 2) + actInv4_2_1); int32_t act_inv_linear_2_2 = (v_linear_2_2 + actInv4_2_2); int32_t _tmp196 = (int32_t) ((((int64_t) (actInv3_2_0_0) * (int64_t) (parent_v_angular_2_0)) >> 30)); int32_t _tmp197 = (int32_t) ((((int64_t) (actInv3_2_0_1) * (int64_t) (parent_v_angular_2_1)) >> 28)); int32_t _tmp198 = (_tmp196 + (_tmp197 >> 3)); int32_t _tmp199 = (int32_t) ((((int64_t) (actInv3_2_0_2) * (int64_t) (parent_v_angular_2_2)) >> 30));.... int32_t _tmp730 = (int32_t) ((((int64_t) (limi_rotation_1_1_0) * (int64_t) (f_angular_1_0)) >> 14)); int32_t _tmp731 = (int32_t) ((((int64_t) (limi_rotation_1_1_1) * (int64_t) (f_angular_1_1)) >> 15)); int32_t _tmp732 = (_tmp730 + _tmp731); int32_t _tmp733 = (int32_t) ((((int64_t) (limi_rotation_1_1_2) * (int64_t) (f_angular_1_2)) >> 30)); int32_t new_f_angular_temp_1_1 = ((_tmp732 >> 17) + _tmp733); int32_t _tmp734 = (int32_t) ((((int64_t) (limi_rotation_1_2_0) * (int64_t) (f_angular_1_0)) >> 30)); int32_t _tmp735 = (int32_t) ((((int64_t) (limi_rotation_1_2_1) * (int64_t) (f_angular_1_1)) >> 30)); int32_t _tmp736 = ((_tmp734 + (_tmp735 >> 1)) >> 1); int32_t _tmp737 = (int32_t) ((((int64_t) (limi_rotation_1_2_2) * (int64_t) (f_angular_1_2)) >> 14)); int32_t new_f_angular_temp_1_2 = (_tmp736 + (_tmp737 >> 18)); int32_t _tmp738 = (int32_t) ((((int64_t) (limi_translation_1_0) * (int64_t) (new_f_linear_1_1)) >> 14)); int32_t _tmp739 = (int32_t) ((((int64_t) (limi_translation_1_1) * (int64_t) (new_f_linear_1_0)) >> 13)); int32_t f_angular_cross_1_0 = (_tmp738 - _tmp739); int32_t _tmp740 = (int32_t) ((((int64_t) (limi_translation_1_2) * (int64_t) (new_f_linear_1_0)) >> 13)); int32_t _tmp741 = (int32_t) ((((int64_t) (limi_translation_1_0) * (int64_t) (new_f_linear_1_2)) >> 13)); int32_t f_angular_cross_1_1 = (_tmp740 - _tmp741); int32_t _tmp742 = (int32_t) ((((int64_t) (limi_translation_1_0) * (int64_t) (new_f_linear_1_1)) >> 14)); int32_t _tmp743 = (int32_t) ((((int64_t) (limi_translation_1_1) * (int64_t) (new_f_linear_1_0)) >> 13)); int32_t f_angular_cross_1_2 = (_tmp742 - _tmp743); int32_t new_f_angular_1_0 = (new_f_angular_temp_1_0 + (f_angular_cross_1_0 >> 18)); int32_t new_f_angular_1_1 = (new_f_angular_temp_1_1 + (f_angular_cross_1_1 >> 17)); int32_t new_f_angular_1_2 = (new_f_angular_temp_1_2 + (f_angular_cross_1_2 >> 18)); int32_t r_204_new_f_1_0 = new_f_linear_1_0; int32_t r_204_new_f_1_1 = new_f_linear_1_1; int32_t r_204_new_f_1_2 = new_f_linear_1_2; int32_t r_204_new_f_1_3 = new_f_angular_1_0; int32_t r_204_new_f_1_4 = new_f_angular_1_1; int32_t r_204_new_f_1_5 = new_f_angular_1_2; int32_t new_data_f_parent_1_0 = ((f_rnea_firstpass0_0 >> 18) + r_204_new_f_1_0); int32_t new_data_f_parent_1_1 = ((f_rnea_firstpass0_1 >> 17) + r_204_new_f_1_1); int32_t new_data_f_parent_1_2 = ((f_rnea_firstpass0_2 >> 12) + r_204_new_f_1_2); int32_t new_data_f_parent_1_3 = ((f_rnea_firstpass0_3 >> 18) + r_204_new_f_1_3); int32_t new_data_f_parent_1_4 = ((f_rnea_firstpass0_4 >> 17) + r_204_new_f_1_4); int32_t new_data_f_parent_1_5 = ((f_rnea_firstpass0_5 >> 18) + r_204_new_f_1_5); int32_t data_tau_temp_0 = new_data_f_parent_1_5; int32_t data_tau_0 = data_tau_temp_0; int32_t data_tau_1 = data_tau_temp_1; int32_t data_tau_2 = data_tau_temp_2; int32_t data_tau_3 = data_tau_temp_3; int32_t data_tau_4 = data_tau_temp_4; int32_t data_tau_5 = data_tau_temp_5; return {data_tau_0, data_tau_1, data_tau_2, data_tau_3, data_tau_4, data_tau_5};}Statistics: Posted by gmx — Fri Jan 10, 2025 11:13 pm