Fixes: 1) Replaced `add:-X` with `sub:X` in template logic for consistent arithmetic;
Extra: 1) Added `arith` to template load context; 2) Introduced `_to_float` helper for safe type conversion; 3) Used `suppress` to handle invalid conversions gracefully.