Fission NIR vs HIR
Compare original corpus source with Fission NIR (semantic) and HIR (readability) for the same function and compiler variant. Multi-tool code browse remains on Functions; semantic means on Overview.
Source · NIR · HIR — dual-layer diagnostic, not ranking
Compare original corpus source with Fission NIR (semantic) and HIR (readability) for the same function and compiler variant. Multi-tool code browse remains on Functions; semantic means on Overview.
Fission dual printers only. Semantic correctness is measured on NIR; HIR is the human-oriented surface. Original C is loaded from the corpus tree checked into this repo.
int accumulate_pairs(const Pair *pairs, size_t len) {
int total = 0;
for (size_t i = 0; i < len; i++) {
total += pairs[i].key * pairs[i].value;
}
return total;
}ulonglong accumulate_pairs(int * param_1, ulonglong param_2)
{
longlong local_20;
ulonglong local_14;
ulonglong local_10;
int * local_8;
ulonglong home_0;
int uVar31;
longlong xVar30;
longlong xVar41;
local_8 = param_1;
local_10 = param_2;
local_14 = 0;
local_20 = 0;
while (1) {
if (local_10 <= local_20) {
break;
}
xVar30 = (longlong)*(uint *)((ulonglong)(ulonglong)local_8 + local_20 * 8) * (longlong)*(uint *)((uint8_t *)(local_8 + (local_20 << 1)) + 1);
uVar31 = xVar30;
uVar31 += local_14;
local_14 = uVar31;
xVar41 = local_20;
xVar41++;
local_20 = xVar41;
}
return local_14;
}ulonglong accumulate_pairs(int * param_1, ulonglong param_2)
{
longlong local_20;
ulonglong local_14;
longlong xVar30;
longlong xVar41;
local_14 = 0;
for (local_20 = 0; !(param_2 <= local_20); local_20 = xVar41) {
xVar30 = (longlong)*(uint *)((ulonglong)(ulonglong)param_1 + local_20 * 8) * (longlong)*(uint *)((uint8_t *)(param_1 + (local_20 << 1)) + 1);
local_14 = xVar30 + local_14;
xVar41 = local_20 + 1;
}
return local_14;
}Policy: semantic / recompile / oracle use NIR only. Readability proxies prefer HIR when dual printers emit both. This page is diagnostic — it never ranks tools. Source is loaded from corpus/<split>/source via manifests.