compare_functions on two functions across the -O1 and -O2 builds Two tables of the eight comparison dimensions. Left, _percent_change: identity, pseudocode 272 to 272 code points, assembly 161 to 161, comments 0 to 0, calls 1 to 1, strings_names 1 to 1 and cfg 3 to 3 are unchanged, and references, 3 to 3, is unknown because an unnamed reference endpoint has no stable identity across two different artifacts, so the status is unknown. Right, _total: identity, comments and calls are unchanged, while pseudocode grows from 300 to 2904 code points, assembly from 336 to 1866, references from 4 to 13, strings_names from 2 to 11 and cfg from 5 to 16 basic blocks, so five dimensions are changed and the status is changed. A note says why the references row is unknown. A · _PERCENT_CHANGE, -O1 AGAINST -O2 status unknown: 7 unchanged, 1 unknown identity digests equal unchanged pseudocode 272 to 272 unchanged assembly 161 to 161 unchanged comments 0 to 0 unchanged calls 1 to 1 unchanged references 3 to 3 unknown strings_names 1 to 1 unchanged cfg 3 to 3 unchanged B · _TOTAL, -O1 AGAINST -O2 status changed, 5 of 8 dimensions identity digests equal unchanged pseudocode 300 to 2904 changed assembly 336 to 1866 changed comments 0 to 0 unchanged calls 1 to 1 unchanged references 4 to 13 changed strings_names 2 to 11 changed cfg 5 to 16 changed Counts are code points for the two text dimensions and items for the others. The dashed row is unknown: unnamed reference endpoints have no identity across two artifacts.