Hello, I wanted to ask what model for branch coverage does gcov use? Would it be branch, decision, condition coverage or some modification like branch condition, branch condition combination or modified condition decision coverage (MCDC)? Also for a simple example as below: uint8 Func(uint8 a, uint8 b, uint8 c) { return ((a > 5u) && (b < 15u) && (c == 0u)); } I get 6 branches. The total number of possibilities is 8: F F F T F F F T F F F T T T F F T T T F T T T T where T is true and F is false. Which branches are taken into account? Why does executing function with parameters Func(6u, 14u, 0u) results in 3 branches out of 6 being covered? I could understand that due to short-circuit evaluation more branches could be covered when some condition is false but not when all of them are true. What combination of conditions is needed for full coverage in this case? Thank you for your help. Best regards Darius