Whoops. I didn't ctrl+Z enough (already committed Str/3 + IF stuff and had to undo), the *2 was there, my bad!
(troop_get_slot, ":weight_threshold",":troop", slot_troop_crpg_atr_str),
(troop_get_slot, ":weight_threshold_if",":troop", slot_troop_crpg_skl_ironflesh),
(val_mul, ":weight_threshold_if", 2),
(val_div, ":weight_threshold", 3),
(val_add, ":weight_threshold", 1),
(val_max, ":weight_threshold", ":weight_threshold_if"),
(val_max, ":weight_threshold", 6),
(val_sub, ":total_weight", ":weight_threshold"),
(assign, ":weight_penalty", 0),
(try_begin),
Now:
(troop_get_slot, ":weight_threshold",":troop", slot_troop_crpg_atr_str),
(troop_get_slot, ":weight_threshold_if",":troop", slot_troop_crpg_skl_ironflesh),
(val_div, ":weight_threshold", 3),
(val_add, ":weight_threshold", ":weight_threshold_if"),
(val_max, ":weight_threshold", 6),
(val_sub, ":total_weight", ":weight_threshold"), #San: wpf weight threshold of max(Str/3 + IF, 6) before wpf penalties begin
(assign, ":weight_penalty", 0),
(try_begin),