rw [Nat.add_comm, Nat.add_mul_div_right 1 _ (z:=2) (Nat.zero_lt_succ 1)]
f : Bool → Bool → Bool
m n : Nat
hm : ¬m = 0
hn : ¬n = 0
⊢ (if f (decide (m % 2 = 1)) (decide (n % 2 = 1)) = true then (bitwise f (m / 2) (n / 2) * 2 + 1) / 2
    else bitwise f (m / 2) (n / 2)) =
    bitwise f (m / 2) (n / 2)
f : Bool → Bool → Bool
m n : Nat
hm : ¬m = 0
hn : ¬n = 0
⊢ (if f (decide (m % 2 = 1)) (decide (n % 2 = 1)) = true then 1 / 2 + bitwise f (m / 2) (n / 2)
    else bitwise f (m / 2) (n / 2)) =
    bitwise f (m / 2) (n / 2)