>Lines of C aren't the defining factor. You want total instructions executed.
I understand what your clarification is trying to provide but it isn't relevant to this particular thread's article. The article is not about "performance benchmarks" where you need cpu instructions as a definitive unit-of-measure for comparisons.
Instead of measuring performance, the author's theme in this case is more akin to "decompiling" or "reverse-engineering". He takes a tiny piece of Python code and then maps it back to the actual CPython source *.c and *.h files that implements the Python vm. He added several deep links to the relevant sections of CPython source code on Github to help illustrate the mappings between Python's BINARY_OP to the .c and .h files. The article is sharing the type of knowledge you'd gain by loading up CPython in a debugger and single-stepping through the source code line-by-line.
In other words, the article's title could also have been: "Which Lines of CPython does it Take to Execute a + b in Python?"
For the scope of this particular article, the "lines of C" _are_ the defining factor because the subject of dissection is CPython's .c/.h files.
IME I'd say a line of typical C code (not necessarily C++ code) maps to around 1..5 instructions on average. It's still a quite useful measure to get a rough idea how much CPU work happens.