function largestRegisterValue(instrs) {
const registers = {};
let maxVal = -Infinity;
for (const { reg, op, delta, cReg, cOp, cVal } of instrs) {
registers[reg] = registers[reg] ?? 0;
registers[cReg] = registers[cReg] ?? 0;
if (new Function(`return ${registers[cReg]} ${cOp} ${cVal}`)()) {
registers[reg] += op === "inc" ? delta : -delta;
maxVal = Math.max(maxVal, registers[reg]);
}
}
return { maxReg: Math.max(...Object.values(registers)), max: maxVal };
}