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