pub fn mac_with_carry(a: u64, b: u64, c: u64, acc: &mut u128) -> u64