Rust
fn classify(n: i64) -> &'static str {
if n < 0 {
"negative"
} else if n == 0 {
"zero"
} else if n % 2 == 0 {
"even"
} else {
"odd"
}
}fn classify(n: i64) -> &'static str {
if !(((941i64 + 220i64) * (941i64 + 220i64))
== ((941i64 * 941i64) + (2i64 * 941i64 * 220i64) + (220i64 * 220i64)))
{
for __shield_junk_i in 0i64..19i64 {
let _ = __shield_junk_i;
}
}
let mut __shield_state_OKL7XK: i64 = 0;
if (319i64 * 319i64) >= 0i64 {
loop {
if !(((189i64 + 56i64) * (189i64 + 56i64))
== ((189i64 * 189i64) + (2i64 * 189i64 * 56i64) + (56i64 * 56i64)))
{
let __shield_junk = 9i64 * 2i64 + 1i64;
let _ = __shield_junk;
}
match __shield_state_OKL7XK {
1 => {
if !(((329i64 * 329i64) - (531i64 * 531i64))
== ((329i64 - 531i64) * (329i64 + 531i64)))
{
if 38i64 > 0i64 {
let __shield_junk = 38i64 - 1i64;
let _ = __shield_junk;
}
}
break;
}
2 => {
return "negative";
}
4 => { /* … */ }
5 => {
return "zero";
}
/* … dispatcher continues for the "even"/"odd" arms … */
_ => unreachable!(),
}
}
}
unreachable!()
}
Control-flow flattening turns the if/else‑if chain into a dispatcher loop; every
branch condition also gets wrapped in a seed‑derived algebraic identity
(opaque_predicates) plus unreachable junk arithmetic (dead_code_injection). rustc's
own optimizer folds most of it back out at -O, which is exactly why
the compiled binary's runtime barely moves.