pub fn mul_double_add_add_low_and_high_carry_by_value( a: u64, b: u64, c: u64, lo_carry: u64, hi_carry: u64, ) -> (u64, u64, u64)