﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc	difficulty
1604	fixnum arithmetic is ignored	sjamaan		"As reported by chickendan on IRC:

{{{
;; csc -O5 -strict-types -fixnum-arithmetic: 7.964s
;; csc -O5 -strict-types:                    8.105s
;; csc -O5 -strict-types (and fx functions): 0.246s
;;; c/nim -O3 baseline:                       0.211s

(define (fib n)
  (if (or (= n 0) (= n 1))
      n
      (+ (fib (- n 1)) (fib (- n 2)))))

(let loop ((n 0))
  (when (< n 35)
    (print ""n="" n "" => "" (fib n))
    (loop (+ n 1))))
}}}

This program should use fixnum ops when declaring fixnum arithmetic.  Also, when wrapping `fib`'s body in an `assume`, it still compiles to `C_s_a_i_plus` calls rather than `C_a_i_fixnum_plus` or even just `C_s_a_u_i_integer_plus`.

I think we should take a look before releasing 5.1, the fact `fixnum-arithmetic` is ignored may not be a big issue, but it is rather worrying that the specializations aren't used."	defect	new	major	5.1	compiler	5.0.0				medium
