Podle mě u programu v C obecně nemá smysl uvažovat počty instrukcí a tedy ani CPI nedává smysl.
Někdy může mít smysl, disassemblovat přeložený kód, spočítat instrukce a pak spočítat CPI, ale jde o vysloveně speciální případy - například když to počítáme jen za nějaký blok, který nedělá žádný vstup a výstup ani nevolá knihovní funkce, jen provádí jednoduché aritmeticko-logické operace (násobení matic, optimalizovaný výpočet CRC, optimalizované šifrování AES apod.).
Použití C v BI-APS je podle mě hloupost. BI-APS je určené na to, abyste se seznámil s tím, jak pracuje procesor, tak byste se měl pohybovat v jazyku, který je tomu procesoru blízko.