Switch to using here strings instead of a list.

original commit: cd52e6d203c76f7afa02747e4849d611334926aa
This commit is contained in:
Eric Dobson 2013-06-20 21:32:06 -07:00
parent 1c726f9b5c
commit be5c82a8db
159 changed files with 1703 additions and 1551 deletions

View File

@ -1,10 +1,13 @@
#;
(
TR missed opt: all-real.rkt 24:0 (+ (ann 3 Real) (ann 4 Real)) -- all args float-arg-expr, result not Float -- caused by: 24:8 3, 24:21 4
TR info: all-real.rkt 24:0 (+ (ann 3 Real) (ann 4 Real)) -- exact real arith
TR missed opt: all-real.rkt 25:0 (* (ann 3 Real) (ann 4 Real)) -- all args float-arg-expr, result not Float -- caused by: 25:8 3, 25:21 4
TR info: all-real.rkt 25:0 (* (ann 3 Real) (ann 4 Real)) -- exact real arith
7 12)
#<<END
TR missed opt: all-real.rkt 27:0 (+ (ann 3 Real) (ann 4 Real)) -- all args float-arg-expr, result not Float -- caused by: 27:8 3, 27:21 4
TR info: all-real.rkt 27:0 (+ (ann 3 Real) (ann 4 Real)) -- exact real arith
TR missed opt: all-real.rkt 28:0 (* (ann 3 Real) (ann 4 Real)) -- all args float-arg-expr, result not Float -- caused by: 28:8 3, 28:21 4
TR info: all-real.rkt 28:0 (* (ann 3 Real) (ann 4 Real)) -- exact real arith
7
12
END
#lang typed/racket

View File

@ -1,19 +1,19 @@
#;
(
TR opt: fixnum.rkt 35:10 (* x y) -- fixnum bounded expr
TR missed opt: fixnum.rkt 38:0 (+ (ann z Fixnum) 234) -- out of fixnum range
TR missed opt: fixnum.rkt 39:0 (* (ann x Index) (ann y Index)) -- out of fixnum range
TR opt: fixnum.rkt 42:3 (+ 300 301) -- fixnum bounded expr
TR opt: fixnum.rkt 42:15 (+ 301 302) -- fixnum bounded expr
TR missed opt: fixnum.rkt 42:0 (+ (+ 300 301) (+ 301 302)) -- out of fixnum range
TR opt: fixnum.rkt 42:3 (+ 300 301) -- fixnum bounded expr
TR opt: fixnum.rkt 42:15 (+ 301 302) -- fixnum bounded expr
TR opt: fixnum.rkt 42:3 (+ 300 301) -- fixnum bounded expr
TR opt: fixnum.rkt 42:15 (+ 301 302) -- fixnum bounded expr
TR opt: fixnum.rkt 43:5 (+ 300 301) -- fixnum bounded expr
TR opt: fixnum.rkt 43:17 (+ 301 302) -- fixnum bounded expr
TR opt: fixnum.rkt 43:5 (+ 300 301) -- fixnum bounded expr
TR opt: fixnum.rkt 43:17 (+ 301 302) -- fixnum bounded expr
#<<END
TR opt: fixnum.rkt 36:10 (* x y) -- fixnum bounded expr
TR missed opt: fixnum.rkt 39:0 (+ (ann z Fixnum) 234) -- out of fixnum range
TR missed opt: fixnum.rkt 40:0 (* (ann x Index) (ann y Index)) -- out of fixnum range
TR opt: fixnum.rkt 43:3 (+ 300 301) -- fixnum bounded expr
TR opt: fixnum.rkt 43:15 (+ 301 302) -- fixnum bounded expr
TR missed opt: fixnum.rkt 43:0 (+ (+ 300 301) (+ 301 302)) -- out of fixnum range
TR opt: fixnum.rkt 43:3 (+ 300 301) -- fixnum bounded expr
TR opt: fixnum.rkt 43:15 (+ 301 302) -- fixnum bounded expr
TR opt: fixnum.rkt 43:3 (+ 300 301) -- fixnum bounded expr
TR opt: fixnum.rkt 43:15 (+ 301 302) -- fixnum bounded expr
TR opt: fixnum.rkt 44:5 (+ 300 301) -- fixnum bounded expr
TR opt: fixnum.rkt 44:17 (+ 301 302) -- fixnum bounded expr
TR opt: fixnum.rkt 44:5 (+ 300 301) -- fixnum bounded expr
TR opt: fixnum.rkt 44:17 (+ 301 302) -- fixnum bounded expr
468
234
234
@ -21,7 +21,8 @@ TR opt: fixnum.rkt 43:17 (+ 301 302) -- fixnum bounded expr
1204
1204
0
)
END
#lang typed/racket
(require racket/fixnum)

View File

@ -1,8 +1,9 @@
#;
(
TR missed opt: multi-file1.rkt 12:2 (* x (ann 3 Integer)) -- all args float-arg-expr, result not Float -- caused by: 12:12 3
TR info: multi-file1.rkt 12:2 (* x (ann 3 Integer)) -- exact real arith
)
#<<END
TR missed opt: multi-file1.rkt 13:2 (* x (ann 3 Integer)) -- all args float-arg-expr, result not Float -- caused by: 13:12 3
TR info: multi-file1.rkt 13:2 (* x (ann 3 Integer)) -- exact real arith
END
#lang typed/racket
(provide f)

View File

@ -1,11 +1,12 @@
#;
(
TR missed opt: multi-file1.rkt 12:2 (* x (ann 3 Integer)) -- all args float-arg-expr, result not Float -- caused by: 12:12 3
TR info: multi-file1.rkt 12:2 (* x (ann 3 Integer)) -- exact real arith
TR opt: multi-file2.rkt 13:10 (+ 3 5) -- fixnum bounded expr
TR opt: multi-file2.rkt 13:3 (* 3.4 (+ 3 5)) -- binary float
#<<END
TR missed opt: multi-file1.rkt 13:2 (* x (ann 3 Integer)) -- all args float-arg-expr, result not Float -- caused by: 13:12 3
TR info: multi-file1.rkt 13:2 (* x (ann 3 Integer)) -- exact real arith
TR opt: multi-file2.rkt 14:10 (+ 3 5) -- fixnum bounded expr
TR opt: multi-file2.rkt 14:3 (* 3.4 (+ 3 5)) -- binary float
81.6
)
END
#lang typed/racket
(require "multi-file1.rkt")

View File

@ -1,8 +1,10 @@
#;
(
TR missed opt: multiple-irritants.rkt 9:0 (* (ann 4 Integer) (ann 5 Integer) 6.0) -- all args float-arg-expr, result not Float -- caused by: 9:8 4, 9:24 5
TR info: multiple-irritants.rkt 9:0 (* (ann 4 Integer) (ann 5 Integer) 6.0) -- exact real arith
120.0)
#<<END
TR missed opt: multiple-irritants.rkt 11:0 (* (ann 4 Integer) (ann 5 Integer) 6.0) -- all args float-arg-expr, result not Float -- caused by: 11:8 4, 11:24 5
TR info: multiple-irritants.rkt 11:0 (* (ann 4 Integer) (ann 5 Integer) 6.0) -- exact real arith
120.0
END
#lang typed/racket

View File

@ -1,30 +1,31 @@
#;
(
TR missed opt: nested-same-kind.rkt 34:7 (* 3.0 (ann 4 Integer)) -- all args float-arg-expr, result not Float -- caused by: 34:19 4
TR info: nested-same-kind.rkt 34:7 (* 3.0 (ann 4 Integer)) -- exact real arith
TR missed opt: nested-same-kind.rkt 34:0 (* 2.0 (* 3.0 (ann 4 Integer))) -- all args float-arg-expr, result not Float -- caused by: 34:7 (* 3.0 (ann 4 Integer))
TR info: nested-same-kind.rkt 34:0 (* 2.0 (* 3.0 (ann 4 Integer))) -- exact real arith
TR missed opt: nested-same-kind.rkt 35:14 (* 3.0 (ann 4 Integer)) -- all args float-arg-expr, result not Float -- caused by: 35:26 4
TR info: nested-same-kind.rkt 35:14 (* 3.0 (ann 4 Integer)) -- exact real arith
TR missed opt: nested-same-kind.rkt 35:7 (* 2.0 (* 3.0 (ann 4 Integer))) -- all args float-arg-expr, result not Float -- caused by: 35:14 (* 3.0 (ann 4 Integer))
TR info: nested-same-kind.rkt 35:7 (* 2.0 (* 3.0 (ann 4 Integer))) -- exact real arith
TR missed opt: nested-same-kind.rkt 35:0 (* 1.0 (* 2.0 (* 3.0 (ann 4 Integer)))) -- all args float-arg-expr, result not Float -- caused by: 35:7 (* 2.0 (* 3.0 (ann 4 Integer)))
TR info: nested-same-kind.rkt 35:0 (* 1.0 (* 2.0 (* 3.0 (ann 4 Integer)))) -- exact real arith
TR missed opt: nested-same-kind.rkt 36:7 (* 3.0 (ann 4 Integer) (ann 5 Integer)) -- all args float-arg-expr, result not Float -- caused by: 36:19 4, 36:35 5
TR info: nested-same-kind.rkt 36:7 (* 3.0 (ann 4 Integer) (ann 5 Integer)) -- exact real arith
TR missed opt: nested-same-kind.rkt 36:0 (* 2.0 (* 3.0 (ann 4 Integer) (ann 5 Integer))) -- all args float-arg-expr, result not Float -- caused by: 36:7 (* 3.0 (ann 4 Integer) (ann 5 Integer))
TR info: nested-same-kind.rkt 36:0 (* 2.0 (* 3.0 (ann 4 Integer) (ann 5 Integer))) -- exact real arith
TR missed opt: nested-same-kind.rkt 37:3 (* 3.0 (ann 4 Integer)) -- all args float-arg-expr, result not Float -- caused by: 37:15 4
TR info: nested-same-kind.rkt 37:3 (* 3.0 (ann 4 Integer)) -- exact real arith
TR missed opt: nested-same-kind.rkt 37:27 (* 3.0 (ann 4 Integer)) -- all args float-arg-expr, result not Float -- caused by: 37:39 4
TR info: nested-same-kind.rkt 37:27 (* 3.0 (ann 4 Integer)) -- exact real arith
TR missed opt: nested-same-kind.rkt 37:0 (* (* 3.0 (ann 4 Integer)) (* 3.0 (ann 4 Integer))) -- all args float-arg-expr, result not Float -- caused by: 37:3 (* 3.0 (ann 4 Integer)), 37:27 (* 3.0 (ann 4 Integer))
TR info: nested-same-kind.rkt 37:0 (* (* 3.0 (ann 4 Integer)) (* 3.0 (ann 4 Integer))) -- exact real arith
#<<END
TR missed opt: nested-same-kind.rkt 35:7 (* 3.0 (ann 4 Integer)) -- all args float-arg-expr, result not Float -- caused by: 35:19 4
TR info: nested-same-kind.rkt 35:7 (* 3.0 (ann 4 Integer)) -- exact real arith
TR missed opt: nested-same-kind.rkt 35:0 (* 2.0 (* 3.0 (ann 4 Integer))) -- all args float-arg-expr, result not Float -- caused by: 35:7 (* 3.0 (ann 4 Integer))
TR info: nested-same-kind.rkt 35:0 (* 2.0 (* 3.0 (ann 4 Integer))) -- exact real arith
TR missed opt: nested-same-kind.rkt 36:14 (* 3.0 (ann 4 Integer)) -- all args float-arg-expr, result not Float -- caused by: 36:26 4
TR info: nested-same-kind.rkt 36:14 (* 3.0 (ann 4 Integer)) -- exact real arith
TR missed opt: nested-same-kind.rkt 36:7 (* 2.0 (* 3.0 (ann 4 Integer))) -- all args float-arg-expr, result not Float -- caused by: 36:14 (* 3.0 (ann 4 Integer))
TR info: nested-same-kind.rkt 36:7 (* 2.0 (* 3.0 (ann 4 Integer))) -- exact real arith
TR missed opt: nested-same-kind.rkt 36:0 (* 1.0 (* 2.0 (* 3.0 (ann 4 Integer)))) -- all args float-arg-expr, result not Float -- caused by: 36:7 (* 2.0 (* 3.0 (ann 4 Integer)))
TR info: nested-same-kind.rkt 36:0 (* 1.0 (* 2.0 (* 3.0 (ann 4 Integer)))) -- exact real arith
TR missed opt: nested-same-kind.rkt 37:7 (* 3.0 (ann 4 Integer) (ann 5 Integer)) -- all args float-arg-expr, result not Float -- caused by: 37:19 4, 37:35 5
TR info: nested-same-kind.rkt 37:7 (* 3.0 (ann 4 Integer) (ann 5 Integer)) -- exact real arith
TR missed opt: nested-same-kind.rkt 37:0 (* 2.0 (* 3.0 (ann 4 Integer) (ann 5 Integer))) -- all args float-arg-expr, result not Float -- caused by: 37:7 (* 3.0 (ann 4 Integer) (ann 5 Integer))
TR info: nested-same-kind.rkt 37:0 (* 2.0 (* 3.0 (ann 4 Integer) (ann 5 Integer))) -- exact real arith
TR missed opt: nested-same-kind.rkt 38:3 (* 3.0 (ann 4 Integer)) -- all args float-arg-expr, result not Float -- caused by: 38:15 4
TR info: nested-same-kind.rkt 38:3 (* 3.0 (ann 4 Integer)) -- exact real arith
TR missed opt: nested-same-kind.rkt 38:27 (* 3.0 (ann 4 Integer)) -- all args float-arg-expr, result not Float -- caused by: 38:39 4
TR info: nested-same-kind.rkt 38:27 (* 3.0 (ann 4 Integer)) -- exact real arith
TR missed opt: nested-same-kind.rkt 38:0 (* (* 3.0 (ann 4 Integer)) (* 3.0 (ann 4 Integer))) -- all args float-arg-expr, result not Float -- caused by: 38:3 (* 3.0 (ann 4 Integer)), 38:27 (* 3.0 (ann 4 Integer))
TR info: nested-same-kind.rkt 38:0 (* (* 3.0 (ann 4 Integer)) (* 3.0 (ann 4 Integer))) -- exact real arith
24.0
24.0
120.0
144.0
)
END
#lang typed/racket
;; when a single "bubble" causes missed optimizations to cascade, a single

View File

@ -1,38 +1,38 @@
#;
(
TR missed opt: pair.rkt 58:0 (car (ann (list 1 2 3) (Listof Byte))) -- car/cdr on a potentially empty list -- caused by: 58:10 (list 1 2 3)
TR opt: pair.rkt 59:0 (car (list 1 2 3)) -- pair
TR missed opt: pair.rkt 60:0 (cdr (ann (list 1 2 3) (Listof Byte))) -- car/cdr on a potentially empty list -- caused by: 60:10 (list 1 2 3)
TR opt: pair.rkt 61:0 (cdr (list 1 2 3)) -- pair
TR opt: pair.rkt 62:0 (cdr (cdr (list 1 2 3))) -- pair
TR opt: pair.rkt 62:5 (cdr (list 1 2 3)) -- pair
TR opt: pair.rkt 63:0 (cdr (cdr (cdr (list 1 2 3)))) -- pair
TR opt: pair.rkt 63:5 (cdr (cdr (list 1 2 3))) -- pair
TR opt: pair.rkt 63:10 (cdr (list 1 2 3)) -- pair
TR missed opt: pair.rkt 64:16 (cdr (cdr (cdr (cdr (list 1 2 3))))) -- car/cdr on a potentially empty list -- caused by: 64:21 (cdr (cdr (cdr (list 1 2 3))))
TR opt: pair.rkt 64:21 (cdr (cdr (cdr (list 1 2 3)))) -- pair
TR opt: pair.rkt 64:26 (cdr (cdr (list 1 2 3))) -- pair
TR opt: pair.rkt 64:31 (cdr (list 1 2 3)) -- pair
TR missed opt: pair.rkt 67:0 (mcar (values (ann (mlist 1) (MListof Byte)))) -- car/cdr on a potentially empty list -- caused by: 67:6 (values (ann (mlist 1) (MListof Byte)))
TR opt: pair.rkt 68:0 (mcar (mlist 1 2 3)) -- pair
TR missed opt: pair.rkt 69:0 (mcdr (values (ann (mlist 1) (MListof Byte)))) -- car/cdr on a potentially empty list -- caused by: 69:6 (values (ann (mlist 1) (MListof Byte)))
TR opt: pair.rkt 70:0 (mcdr (mlist 1 2 3)) -- pair
TR opt: pair.rkt 71:0 (mcdr (mcdr (mlist 1 2 3))) -- pair
TR opt: pair.rkt 71:6 (mcdr (mlist 1 2 3)) -- pair
TR opt: pair.rkt 72:0 (mcdr (mcdr (mcdr (mlist 1 2 3)))) -- pair
TR opt: pair.rkt 72:6 (mcdr (mcdr (mlist 1 2 3))) -- pair
TR opt: pair.rkt 72:12 (mcdr (mlist 1 2 3)) -- pair
TR missed opt: pair.rkt 73:0 (set-mcar! (values (ann (mlist 2) (MListof Byte))) 2) -- car/cdr on a potentially empty list -- caused by: 73:11 (values (ann (mlist 2) (MListof Byte)))
TR opt: pair.rkt 74:0 (set-mcar! (mlist 2 3 4) 2) -- pair
TR missed opt: pair.rkt 75:0 (set-mcdr! (values (ann (mlist 2) (MListof Byte))) (values (ann (mlist 2) (MListof Byte)))) -- car/cdr on a potentially empty list -- caused by: 75:11 (values (ann (mlist 2) (MListof Byte)))
TR opt: pair.rkt 77:0 (mcar (mcons 2 3)) -- pair
TR opt: pair.rkt 78:0 (mcdr (mcons 2 3)) -- pair
TR opt: pair.rkt 79:0 (set-mcar! (mcons 2 3) 3) -- pair
TR opt: pair.rkt 80:0 (set-mcdr! (mcons 2 3) 4) -- pair
TR missed opt: pair.rkt 81:17 (mcar (quote ())) -- car/cdr on a potentially empty list -- caused by: 81:23 (quote ())
TR missed opt: pair.rkt 82:17 (mcdr (quote ())) -- car/cdr on a potentially empty list -- caused by: 82:23 (quote ())
TR missed opt: pair.rkt 83:17 (set-mcar! (quote ()) 2) -- car/cdr on a potentially empty list -- caused by: 83:28 (quote ())
TR missed opt: pair.rkt 84:17 (set-mcdr! (ann (quote ()) (MListof Integer)) (ann (mlist 3) (MListof Integer))) -- car/cdr on a potentially empty list -- caused by: 84:33 (quote ())
#<<END
TR missed opt: pair.rkt 59:0 (car (ann (list 1 2 3) (Listof Byte))) -- car/cdr on a potentially empty list -- caused by: 59:10 (list 1 2 3)
TR opt: pair.rkt 60:0 (car (list 1 2 3)) -- pair
TR missed opt: pair.rkt 61:0 (cdr (ann (list 1 2 3) (Listof Byte))) -- car/cdr on a potentially empty list -- caused by: 61:10 (list 1 2 3)
TR opt: pair.rkt 62:0 (cdr (list 1 2 3)) -- pair
TR opt: pair.rkt 63:0 (cdr (cdr (list 1 2 3))) -- pair
TR opt: pair.rkt 63:5 (cdr (list 1 2 3)) -- pair
TR opt: pair.rkt 64:0 (cdr (cdr (cdr (list 1 2 3)))) -- pair
TR opt: pair.rkt 64:5 (cdr (cdr (list 1 2 3))) -- pair
TR opt: pair.rkt 64:10 (cdr (list 1 2 3)) -- pair
TR missed opt: pair.rkt 65:16 (cdr (cdr (cdr (cdr (list 1 2 3))))) -- car/cdr on a potentially empty list -- caused by: 65:21 (cdr (cdr (cdr (list 1 2 3))))
TR opt: pair.rkt 65:21 (cdr (cdr (cdr (list 1 2 3)))) -- pair
TR opt: pair.rkt 65:26 (cdr (cdr (list 1 2 3))) -- pair
TR opt: pair.rkt 65:31 (cdr (list 1 2 3)) -- pair
TR missed opt: pair.rkt 68:0 (mcar (values (ann (mlist 1) (MListof Byte)))) -- car/cdr on a potentially empty list -- caused by: 68:6 (values (ann (mlist 1) (MListof Byte)))
TR opt: pair.rkt 69:0 (mcar (mlist 1 2 3)) -- pair
TR missed opt: pair.rkt 70:0 (mcdr (values (ann (mlist 1) (MListof Byte)))) -- car/cdr on a potentially empty list -- caused by: 70:6 (values (ann (mlist 1) (MListof Byte)))
TR opt: pair.rkt 71:0 (mcdr (mlist 1 2 3)) -- pair
TR opt: pair.rkt 72:0 (mcdr (mcdr (mlist 1 2 3))) -- pair
TR opt: pair.rkt 72:6 (mcdr (mlist 1 2 3)) -- pair
TR opt: pair.rkt 73:0 (mcdr (mcdr (mcdr (mlist 1 2 3)))) -- pair
TR opt: pair.rkt 73:6 (mcdr (mcdr (mlist 1 2 3))) -- pair
TR opt: pair.rkt 73:12 (mcdr (mlist 1 2 3)) -- pair
TR missed opt: pair.rkt 74:0 (set-mcar! (values (ann (mlist 2) (MListof Byte))) 2) -- car/cdr on a potentially empty list -- caused by: 74:11 (values (ann (mlist 2) (MListof Byte)))
TR opt: pair.rkt 75:0 (set-mcar! (mlist 2 3 4) 2) -- pair
TR missed opt: pair.rkt 76:0 (set-mcdr! (values (ann (mlist 2) (MListof Byte))) (values (ann (mlist 2) (MListof Byte)))) -- car/cdr on a potentially empty list -- caused by: 76:11 (values (ann (mlist 2) (MListof Byte)))
TR opt: pair.rkt 78:0 (mcar (mcons 2 3)) -- pair
TR opt: pair.rkt 79:0 (mcdr (mcons 2 3)) -- pair
TR opt: pair.rkt 80:0 (set-mcar! (mcons 2 3) 3) -- pair
TR opt: pair.rkt 81:0 (set-mcdr! (mcons 2 3) 4) -- pair
TR missed opt: pair.rkt 82:17 (mcar (quote ())) -- car/cdr on a potentially empty list -- caused by: 82:23 (quote ())
TR missed opt: pair.rkt 83:17 (mcdr (quote ())) -- car/cdr on a potentially empty list -- caused by: 83:23 (quote ())
TR missed opt: pair.rkt 84:17 (set-mcar! (quote ()) 2) -- car/cdr on a potentially empty list -- caused by: 84:28 (quote ())
TR missed opt: pair.rkt 85:17 (set-mcdr! (ann (quote ()) (MListof Integer)) (ann (mlist 3) (MListof Integer))) -- car/cdr on a potentially empty list -- caused by: 85:33 (quote ())
1
1
'(2 3)
@ -47,7 +47,8 @@ TR missed opt: pair.rkt 84:17 (set-mcdr! (ann (quote ()) (MListof Integer)) (ann
'()
2
3
)
END
#lang typed/racket
(require compatibility/mlist)

View File

@ -1,30 +1,31 @@
#;
(
TR info: precision-loss.rkt 36:3 (* 3/4 2/3) -- exact real arith
TR missed opt: precision-loss.rkt 36:0 (+ (* 3/4 2/3) 2.0) -- exact ops inside float expr -- caused by: 36:3 (* 3/4 2/3)
TR opt: precision-loss.rkt 36:0 (+ (* 3/4 2/3) 2.0) -- binary float
TR opt: precision-loss.rkt 38:0 (+ 3/4 2.0) -- binary float
TR info: precision-loss.rkt 40:3 (- 3/4) -- exact real arith
TR missed opt: precision-loss.rkt 40:0 (+ (- 3/4) 2.0) -- exact ops inside float expr -- caused by: 40:3 (- 3/4)
TR opt: precision-loss.rkt 40:0 (+ (- 3/4) 2.0) -- binary float
TR info: precision-loss.rkt 42:39 (+ 1/4 3/4) -- exact real arith
TR missed opt: precision-loss.rkt 42:0 (+ (vector-ref (quote #(2/3 1/2 3/4)) (assert (+ 1/4 3/4) exact-integer?)) 2.0) -- all args float-arg-expr, result not Float -- caused by: 42:3 (vector-ref (quote #(2/3 1/2 3/4)) (assert (+ 1/4 3/4) exact-integer?))
TR info: precision-loss.rkt 42:39 (+ 1/4 3/4) -- exact real arith
TR missed opt: precision-loss.rkt 48:3 (* (r 3/4) 2/3) -- all args float-arg-expr, result not Float -- caused by: 48:6 (r 3/4), 48:14 2/3
TR info: precision-loss.rkt 48:3 (* (r 3/4) 2/3) -- exact real arith
TR opt: precision-loss.rkt 49:3 (car (list (* 2.0 (* (r 3/4) 2/3)))) -- pair
TR missed opt: precision-loss.rkt 49:21 (* (r 3/4) 2/3) -- all args float-arg-expr, result not Float -- caused by: 49:24 (r 3/4), 49:32 2/3
TR info: precision-loss.rkt 49:21 (* (r 3/4) 2/3) -- exact real arith
TR missed opt: precision-loss.rkt 49:14 (* 2.0 (* (r 3/4) 2/3)) -- all args float-arg-expr, result not Float -- caused by: 49:21 (* (r 3/4) 2/3)
TR info: precision-loss.rkt 49:14 (* 2.0 (* (r 3/4) 2/3)) -- exact real arith
TR missed opt: precision-loss.rkt 48:0 (* (* (r 3/4) 2/3) (car (list (* 2.0 (* (r 3/4) 2/3)))) 2.0) -- all args float-arg-expr, result not Float -- caused by: 48:3 (* (r 3/4) 2/3), 49:3 (car (list (* 2.0 (* (r 3/4) 2/3))))
TR info: precision-loss.rkt 48:0 (* (* (r 3/4) 2/3) (car (list (* 2.0 (* (r 3/4) 2/3)))) 2.0) -- exact real arith
#<<END
TR info: precision-loss.rkt 37:3 (* 3/4 2/3) -- exact real arith
TR missed opt: precision-loss.rkt 37:0 (+ (* 3/4 2/3) 2.0) -- exact ops inside float expr -- caused by: 37:3 (* 3/4 2/3)
TR opt: precision-loss.rkt 37:0 (+ (* 3/4 2/3) 2.0) -- binary float
TR opt: precision-loss.rkt 39:0 (+ 3/4 2.0) -- binary float
TR info: precision-loss.rkt 41:3 (- 3/4) -- exact real arith
TR missed opt: precision-loss.rkt 41:0 (+ (- 3/4) 2.0) -- exact ops inside float expr -- caused by: 41:3 (- 3/4)
TR opt: precision-loss.rkt 41:0 (+ (- 3/4) 2.0) -- binary float
TR info: precision-loss.rkt 43:39 (+ 1/4 3/4) -- exact real arith
TR missed opt: precision-loss.rkt 43:0 (+ (vector-ref (quote #(2/3 1/2 3/4)) (assert (+ 1/4 3/4) exact-integer?)) 2.0) -- all args float-arg-expr, result not Float -- caused by: 43:3 (vector-ref (quote #(2/3 1/2 3/4)) (assert (+ 1/4 3/4) exact-integer?))
TR info: precision-loss.rkt 43:39 (+ 1/4 3/4) -- exact real arith
TR missed opt: precision-loss.rkt 49:3 (* (r 3/4) 2/3) -- all args float-arg-expr, result not Float -- caused by: 49:6 (r 3/4), 49:14 2/3
TR info: precision-loss.rkt 49:3 (* (r 3/4) 2/3) -- exact real arith
TR opt: precision-loss.rkt 50:3 (car (list (* 2.0 (* (r 3/4) 2/3)))) -- pair
TR missed opt: precision-loss.rkt 50:21 (* (r 3/4) 2/3) -- all args float-arg-expr, result not Float -- caused by: 50:24 (r 3/4), 50:32 2/3
TR info: precision-loss.rkt 50:21 (* (r 3/4) 2/3) -- exact real arith
TR missed opt: precision-loss.rkt 50:14 (* 2.0 (* (r 3/4) 2/3)) -- all args float-arg-expr, result not Float -- caused by: 50:21 (* (r 3/4) 2/3)
TR info: precision-loss.rkt 50:14 (* 2.0 (* (r 3/4) 2/3)) -- exact real arith
TR missed opt: precision-loss.rkt 49:0 (* (* (r 3/4) 2/3) (car (list (* 2.0 (* (r 3/4) 2/3)))) 2.0) -- all args float-arg-expr, result not Float -- caused by: 49:3 (* (r 3/4) 2/3), 50:3 (car (list (* 2.0 (* (r 3/4) 2/3))))
TR info: precision-loss.rkt 49:0 (* (* (r 3/4) 2/3) (car (list (* 2.0 (* (r 3/4) 2/3)))) 2.0) -- exact real arith
2.5
2.75
1.25
2.5
1.0
)
END
#lang typed/racket

View File

@ -1,17 +1,21 @@
#;
(
TR missed opt: real-in-float-expr.rkt 17:0 (* (ann 3 Real) 2.3) -- all args float-arg-expr, result not Float -- caused by: 17:8 3
TR info: real-in-float-expr.rkt 17:0 (* (ann 3 Real) 2.3) -- exact real arith
TR opt: real-in-float-expr.rkt 22:0 (* 2 3) -- fixnum bounded expr
TR opt: real-in-float-expr.rkt 23:0 (+ 2 3) -- fixnum bounded expr
TR info: real-in-float-expr.rkt 24:0 (+ 2/3 3/4) -- exact real arith
TR missed opt: real-in-float-expr.rkt 26:0 (* (ann 2 Natural) 2.0) -- all args float-arg-expr, result not Float -- caused by: 26:8 2
TR info: real-in-float-expr.rkt 26:0 (* (ann 2 Natural) 2.0) -- exact real arith
6.8999999999999995 6 5 6
#<<END
TR missed opt: real-in-float-expr.rkt 21:0 (* (ann 3 Real) 2.3) -- all args float-arg-expr, result not Float -- caused by: 21:8 3
TR info: real-in-float-expr.rkt 21:0 (* (ann 3 Real) 2.3) -- exact real arith
TR opt: real-in-float-expr.rkt 26:0 (* 2 3) -- fixnum bounded expr
TR opt: real-in-float-expr.rkt 27:0 (+ 2 3) -- fixnum bounded expr
TR info: real-in-float-expr.rkt 28:0 (+ 2/3 3/4) -- exact real arith
TR missed opt: real-in-float-expr.rkt 30:0 (* (ann 2 Natural) 2.0) -- all args float-arg-expr, result not Float -- caused by: 30:8 2
TR info: real-in-float-expr.rkt 30:0 (* (ann 2 Natural) 2.0) -- exact real arith
6.8999999999999995
6
5
6
5
17/12
4.0
)
END
#lang typed/racket
(* (ann 3 Real) ; with type Real, typechecker must assume it could be exact 0

View File

@ -1,13 +1,17 @@
#;
(
TR missed opt: unary-float.rkt 14:0 (sin (ann 3.4 Real)) -- all args float-arg-expr, result not Float -- caused by: 14:10 3.4
TR info: unary-float.rkt 14:0 (sin (ann 3.4 Real)) -- exact real arith
TR missed opt: unary-float.rkt 15:0 (sin 3) -- all args float-arg-expr, result not Float -- caused by: 15:5 3
TR info: unary-float.rkt 15:0 (sin 3) -- exact real arith
TR missed opt: unary-float.rkt 16:0 (abs (ann 3.4 Real)) -- all args float-arg-expr, result not Float -- caused by: 16:10 3.4
TR info: unary-float.rkt 16:0 (abs (ann 3.4 Real)) -- exact real arith
-0.2555411020268312 0.1411200080598672 3.4 3
)
#<<END
TR missed opt: unary-float.rkt 18:0 (sin (ann 3.4 Real)) -- all args float-arg-expr, result not Float -- caused by: 18:10 3.4
TR info: unary-float.rkt 18:0 (sin (ann 3.4 Real)) -- exact real arith
TR missed opt: unary-float.rkt 19:0 (sin 3) -- all args float-arg-expr, result not Float -- caused by: 19:5 3
TR info: unary-float.rkt 19:0 (sin 3) -- exact real arith
TR missed opt: unary-float.rkt 20:0 (abs (ann 3.4 Real)) -- all args float-arg-expr, result not Float -- caused by: 20:10 3.4
TR info: unary-float.rkt 20:0 (abs (ann 3.4 Real)) -- exact real arith
-0.2555411020268312
0.1411200080598672
3.4
3
END
#lang typed/racket

View File

@ -1,12 +1,13 @@
#;
(
TR missed opt: unexpected-complex.rkt 15:0 (sqrt (ann 4 Integer)) -- unexpected complex type
TR opt: unexpected-complex.rkt 16:3 1.2+3.4i -- unboxed literal
TR opt: unexpected-complex.rkt 16:12 2.0 -- float-arg-expr in complex ops
TR opt: unexpected-complex.rkt 16:0 (+ 1.2+3.4i 2.0) -- unboxed binary float complex
#<<END
TR missed opt: unexpected-complex.rkt 16:0 (sqrt (ann 4 Integer)) -- unexpected complex type
TR opt: unexpected-complex.rkt 17:3 1.2+3.4i -- unboxed literal
TR opt: unexpected-complex.rkt 17:12 2.0 -- float-arg-expr in complex ops
TR opt: unexpected-complex.rkt 17:0 (+ 1.2+3.4i 2.0) -- unboxed binary float complex
2
3.2+3.4i
)
END
#lang typed/racket

View File

@ -25,7 +25,9 @@
(with-input-from-file (build-path dir name)
(lambda () ; from the test file
(read-line) ; skip the #;
(read)))))))
(with-input-from-string (read)
(lambda ()
(for/list ((v (in-port))) v)))))))))
(define-runtime-path tests-dir "./tests")

View File

@ -1,14 +1,15 @@
#;
(
TR opt: add1.rkt 14:5 (add1 5) -- fixnum add1
TR opt: add1.rkt 15:5 (sub1 3) -- fixnum sub1
TR opt: add1.rkt 16:5 (add1 2.3) -- float add1
TR opt: add1.rkt 17:5 (sub1 2.25) -- float sub1
#<<END
TR opt: add1.rkt 15:5 (add1 5) -- fixnum add1
TR opt: add1.rkt 16:5 (sub1 3) -- fixnum sub1
TR opt: add1.rkt 17:5 (add1 2.3) -- float add1
TR opt: add1.rkt 18:5 (sub1 2.25) -- float sub1
6
2
3.3
1.25
)
END
#lang typed/racket #:optimize
(ann (add1 5) Fixnum)

View File

@ -1,10 +1,11 @@
#;
(
TR opt: annotations.rkt 10:10 (+ 1.0 2.0) -- binary float
TR opt: annotations.rkt 13:10 (+ 1.0 2.0) -- binary float
TR opt: annotations.rkt 16:10 (+ 1.0 2.0) -- binary float
TR opt: annotations.rkt 18:15 (+ 1.0 2.0) -- binary float
)
#<<END
TR opt: annotations.rkt 11:10 (+ 1.0 2.0) -- binary float
TR opt: annotations.rkt 14:10 (+ 1.0 2.0) -- binary float
TR opt: annotations.rkt 17:10 (+ 1.0 2.0) -- binary float
TR opt: annotations.rkt 19:15 (+ 1.0 2.0) -- binary float
END
#lang typed/racket #:optimize
(define a (+ 1.0 2.0))

View File

@ -1,10 +1,11 @@
#;
(
TR opt: apply-plus.rkt 12:0 (apply + (map add1 (list 1 2 3))) -- apply-map
TR opt: apply-plus.rkt 13:0 (apply * (map add1 (list 1 2 3))) -- apply-map
#<<END
TR opt: apply-plus.rkt 13:0 (apply + (map add1 (list 1 2 3))) -- apply-map
TR opt: apply-plus.rkt 14:0 (apply * (map add1 (list 1 2 3))) -- apply-map
9
24
)
END
#lang typed/racket
#:optimize

View File

@ -1,10 +1,11 @@
#;
(
TR opt: begin-float.rkt 12:7 (- 2.0 3.0) -- binary float
TR opt: begin-float.rkt 13:7 (* 2.0 3.0) -- binary float
#<<END
TR opt: begin-float.rkt 13:7 (- 2.0 3.0) -- binary float
TR opt: begin-float.rkt 14:7 (* 2.0 3.0) -- binary float
-1.0
6.0
)
END
#lang typed/scheme
#:optimize

View File

@ -1,8 +1,9 @@
#;
(
TR opt: binary-fixnum.rkt 12:15 (vector-length v) -- vector-length
TR opt: binary-fixnum.rkt 12:2 (bitwise-and (vector-length v) 1) -- binary fixnum
)
#<<END
TR opt: binary-fixnum.rkt 13:15 (vector-length v) -- vector-length
TR opt: binary-fixnum.rkt 13:2 (bitwise-and (vector-length v) 1) -- binary fixnum
END
#lang typed/scheme
#:optimize

View File

@ -1,9 +1,10 @@
#;
(
TR opt: binary-nonzero-fixnum.rkt 11:8 (vector-length (quote #(1 2 3))) -- known-length vector-length
TR opt: binary-nonzero-fixnum.rkt 11:0 (modulo (vector-length (quote #(1 2 3))) 2) -- binary nonzero fixnum
#<<END
TR opt: binary-nonzero-fixnum.rkt 12:8 (vector-length (quote #(1 2 3))) -- known-length vector-length
TR opt: binary-nonzero-fixnum.rkt 12:0 (modulo (vector-length (quote #(1 2 3))) 2) -- binary nonzero fixnum
1
)
END
#lang typed/scheme
#:optimize

View File

@ -1,20 +1,27 @@
#;
(
TR opt: bounds-check.rkt 25:2 (vector-ref v i) -- vector partial bounds checking elimination
TR opt: bounds-check.rkt 28:2 (vector-set! v i n) -- vector partial bounds checking elimination
TR opt: bounds-check.rkt 31:2 (vector-ref v i) -- vector partial bounds checking elimination
TR opt: bounds-check.rkt 34:2 (vector-set! v i n) -- vector partial bounds checking elimination
TR info: bounds-check.rkt 37:1 displayln -- hidden parameter
TR info: bounds-check.rkt 39:1 displayln -- hidden parameter
TR info: bounds-check.rkt 41:1 displayln -- hidden parameter
TR opt: bounds-check.rkt 46:2 (flvector-ref v i) -- flvector partial bounds checking elimination
TR opt: bounds-check.rkt 49:2 (flvector-set! v i n) -- flvector partial bounds checking elimination
TR opt: bounds-check.rkt 52:2 (flvector-ref v i) -- flvector partial bounds checking elimination
TR opt: bounds-check.rkt 55:2 (flvector-set! v i n) -- flvector partial bounds checking elimination
TR info: bounds-check.rkt 58:1 displayln -- hidden parameter
TR info: bounds-check.rkt 60:1 displayln -- hidden parameter
TR info: bounds-check.rkt 62:1 displayln -- hidden parameter
3 4 5 3.0 4.0 5.0)
#<<END
TR opt: bounds-check.rkt 32:2 (vector-ref v i) -- vector partial bounds checking elimination
TR opt: bounds-check.rkt 35:2 (vector-set! v i n) -- vector partial bounds checking elimination
TR opt: bounds-check.rkt 38:2 (vector-ref v i) -- vector partial bounds checking elimination
TR opt: bounds-check.rkt 41:2 (vector-set! v i n) -- vector partial bounds checking elimination
TR info: bounds-check.rkt 44:1 displayln -- hidden parameter
TR info: bounds-check.rkt 46:1 displayln -- hidden parameter
TR info: bounds-check.rkt 48:1 displayln -- hidden parameter
TR opt: bounds-check.rkt 53:2 (flvector-ref v i) -- flvector partial bounds checking elimination
TR opt: bounds-check.rkt 56:2 (flvector-set! v i n) -- flvector partial bounds checking elimination
TR opt: bounds-check.rkt 59:2 (flvector-ref v i) -- flvector partial bounds checking elimination
TR opt: bounds-check.rkt 62:2 (flvector-set! v i n) -- flvector partial bounds checking elimination
TR info: bounds-check.rkt 65:1 displayln -- hidden parameter
TR info: bounds-check.rkt 67:1 displayln -- hidden parameter
TR info: bounds-check.rkt 69:1 displayln -- hidden parameter
3
4
5
3.0
4.0
5.0
END
#lang typed/racket

View File

@ -1,11 +1,12 @@
#;
(
TR opt: box.rkt 17:0 (unbox x) -- box
TR opt: box.rkt 18:0 (set-box! x 2) -- box
TR opt: box.rkt 19:0 (unbox x) -- box
#<<END
TR opt: box.rkt 18:0 (unbox x) -- box
TR opt: box.rkt 19:0 (set-box! x 2) -- box
TR opt: box.rkt 20:0 (unbox x) -- box
1
2
)
END
#lang typed/scheme
#:optimize

View File

@ -1,14 +1,15 @@
#;
(
TR missed opt: case-arrow.rkt 41:15 (- max min) -- all args float-arg-expr, result not Float -- caused by: 41:18 max, 41:22 min
TR info: case-arrow.rkt 41:15 (- max min) -- exact real arith
TR missed opt: case-arrow.rkt 41:12 (* (- max min) x) -- all args float-arg-expr, result not Float -- caused by: 41:15 (- max min), 41:27 x
TR info: case-arrow.rkt 41:12 (* (- max min) x) -- exact real arith
TR missed opt: case-arrow.rkt 41:9 (/ (* (- max min) x) p) -- all args float-arg-expr, result not Float -- caused by: 41:12 (* (- max min) x), 41:30 p
TR info: case-arrow.rkt 41:9 (/ (* (- max min) x) p) -- exact real arith
TR missed opt: case-arrow.rkt 41:2 (+ min (/ (* (- max min) x) p)) -- all args float-arg-expr, result not Float -- caused by: 41:5 min, 41:9 (/ (* (- max min) x) p)
TR info: case-arrow.rkt 41:2 (+ min (/ (* (- max min) x) p)) -- exact real arith
)
#<<END
TR missed opt: case-arrow.rkt 42:15 (- max min) -- all args float-arg-expr, result not Float -- caused by: 42:18 max, 42:22 min
TR info: case-arrow.rkt 42:15 (- max min) -- exact real arith
TR missed opt: case-arrow.rkt 42:12 (* (- max min) x) -- all args float-arg-expr, result not Float -- caused by: 42:15 (- max min), 42:27 x
TR info: case-arrow.rkt 42:12 (* (- max min) x) -- exact real arith
TR missed opt: case-arrow.rkt 42:9 (/ (* (- max min) x) p) -- all args float-arg-expr, result not Float -- caused by: 42:12 (* (- max min) x), 42:30 p
TR info: case-arrow.rkt 42:9 (/ (* (- max min) x) p) -- exact real arith
TR missed opt: case-arrow.rkt 42:2 (+ min (/ (* (- max min) x) p)) -- all args float-arg-expr, result not Float -- caused by: 42:5 min, 42:9 (/ (* (- max min) x) p)
TR info: case-arrow.rkt 42:2 (+ min (/ (* (- max min) x) p)) -- exact real arith
END
#lang typed/racket

View File

@ -1,8 +1,9 @@
#;
(
TR opt: case-lambda-dead-branch.rkt 12:5 (x y) -- dead case-lambda branch
TR opt: case-lambda-dead-branch.rkt 18:5 (x y) -- dead case-lambda branch
)
#<<END
TR opt: case-lambda-dead-branch.rkt 13:5 (x y) -- dead case-lambda branch
TR opt: case-lambda-dead-branch.rkt 19:5 (x y) -- dead case-lambda branch
END
#lang typed/racket
(: f (case-> (Symbol Symbol -> String)))

View File

@ -1,11 +1,12 @@
#;
(
TR opt: complex-exp.rkt 12:8 0 -- float-arg-expr in complex ops
TR opt: complex-exp.rkt 12:3 (exp 0) -- unboxed unary float complex
TR opt: complex-exp.rkt 12:11 1.0+2.0i -- unboxed literal
TR opt: complex-exp.rkt 12:0 (- (exp 0) 1.0+2.0i) -- unboxed binary float complex
#<<END
TR opt: complex-exp.rkt 13:8 0 -- float-arg-expr in complex ops
TR opt: complex-exp.rkt 13:3 (exp 0) -- unboxed unary float complex
TR opt: complex-exp.rkt 13:11 1.0+2.0i -- unboxed literal
TR opt: complex-exp.rkt 13:0 (- (exp 0) 1.0+2.0i) -- unboxed binary float complex
0.0-2.0i
)
END
#lang typed/racket

View File

@ -1,6 +1,7 @@
#;
(
)
#<<END
END
#lang typed/scheme #:optimize

View File

@ -1,8 +1,9 @@
#;
(
TR opt: cross-module-struct2.rkt 11:0 (x-x a) -- struct ref
#<<END
TR opt: cross-module-struct2.rkt 12:0 (x-x a) -- struct ref
1
)
END
#lang typed/scheme #:optimize

View File

@ -1,12 +1,13 @@
#;
(
TR info: dead-else.rkt 12:1 display -- hidden parameter
TR opt: dead-else.rkt 14:13 (+ 4.0 5.0) -- dead else branch
TR opt: dead-else.rkt 13:13 (+ 2.0 3.0) -- binary float
TR info: dead-else.rkt 15:1 display -- hidden parameter
TR opt: dead-else.rkt 17:13 (+ 4.0 5.0) -- dead else branch
TR opt: dead-else.rkt 16:13 (+ 2.0 3.0) -- binary float
5.05.0)
#<<END
TR info: dead-else.rkt 13:1 display -- hidden parameter
TR opt: dead-else.rkt 15:13 (+ 4.0 5.0) -- dead else branch
TR opt: dead-else.rkt 14:13 (+ 2.0 3.0) -- binary float
TR info: dead-else.rkt 16:1 display -- hidden parameter
TR opt: dead-else.rkt 18:13 (+ 4.0 5.0) -- dead else branch
TR opt: dead-else.rkt 17:13 (+ 2.0 3.0) -- binary float
5.05.0
END
#lang typed/scheme
#:optimize
(display (if (number? 3)

View File

@ -1,65 +1,65 @@
#;
(
TR opt: dead-inf-comp.rkt 105:4 (quote dead) -- dead else branch
TR opt: dead-inf-comp.rkt 107:4 (quote dead) -- dead then branch
TR opt: dead-inf-comp.rkt 110:4 (quote dead) -- dead then branch
TR opt: dead-inf-comp.rkt 114:4 (quote dead) -- dead else branch
TR opt: dead-inf-comp.rkt 118:4 (quote dead) -- dead else branch
TR opt: dead-inf-comp.rkt 120:4 (quote dead) -- dead then branch
TR opt: dead-inf-comp.rkt 123:4 (quote dead) -- dead then branch
TR opt: dead-inf-comp.rkt 127:4 (quote dead) -- dead else branch
TR opt: dead-inf-comp.rkt 131:4 (quote dead) -- dead else branch
TR opt: dead-inf-comp.rkt 133:4 (quote dead) -- dead then branch
TR opt: dead-inf-comp.rkt 136:4 (quote dead) -- dead then branch
TR opt: dead-inf-comp.rkt 140:4 (quote dead) -- dead else branch
TR opt: dead-inf-comp.rkt 144:4 (quote dead) -- dead else branch
TR opt: dead-inf-comp.rkt 146:4 (quote dead) -- dead then branch
TR opt: dead-inf-comp.rkt 149:4 (quote dead) -- dead then branch
TR opt: dead-inf-comp.rkt 153:4 (quote dead) -- dead else branch
TR opt: dead-inf-comp.rkt 158:4 (quote dead) -- dead else branch
TR info: dead-inf-comp.rkt 156:4 (< rat +inf.f) -- exact real arith
TR opt: dead-inf-comp.rkt 160:4 (quote dead) -- dead then branch
TR info: dead-inf-comp.rkt 159:4 (< +inf.f rat) -- exact real arith
TR opt: dead-inf-comp.rkt 163:4 (quote dead) -- dead then branch
TR info: dead-inf-comp.rkt 162:4 (< rat -inf.f) -- exact real arith
TR opt: dead-inf-comp.rkt 167:4 (quote dead) -- dead else branch
TR info: dead-inf-comp.rkt 165:4 (< -inf.f rat) -- exact real arith
TR opt: dead-inf-comp.rkt 171:4 (quote dead) -- dead else branch
TR info: dead-inf-comp.rkt 169:4 (> +inf.f rat) -- exact real arith
TR opt: dead-inf-comp.rkt 173:4 (quote dead) -- dead then branch
TR info: dead-inf-comp.rkt 172:4 (> rat +inf.f) -- exact real arith
TR opt: dead-inf-comp.rkt 176:4 (quote dead) -- dead then branch
TR info: dead-inf-comp.rkt 175:4 (> -inf.f rat) -- exact real arith
TR opt: dead-inf-comp.rkt 180:4 (quote dead) -- dead else branch
TR info: dead-inf-comp.rkt 178:4 (> rat -inf.f) -- exact real arith
TR opt: dead-inf-comp.rkt 184:4 (quote dead) -- dead else branch
TR info: dead-inf-comp.rkt 182:4 (<= rat +inf.f) -- exact real arith
TR opt: dead-inf-comp.rkt 186:4 (quote dead) -- dead then branch
TR info: dead-inf-comp.rkt 185:4 (<= +inf.f rat) -- exact real arith
TR opt: dead-inf-comp.rkt 189:4 (quote dead) -- dead then branch
TR info: dead-inf-comp.rkt 188:4 (<= rat -inf.f) -- exact real arith
TR opt: dead-inf-comp.rkt 193:4 (quote dead) -- dead else branch
TR info: dead-inf-comp.rkt 191:4 (<= -inf.f rat) -- exact real arith
TR opt: dead-inf-comp.rkt 197:4 (quote dead) -- dead else branch
TR info: dead-inf-comp.rkt 195:4 (>= +inf.f rat) -- exact real arith
TR opt: dead-inf-comp.rkt 199:4 (quote dead) -- dead then branch
TR info: dead-inf-comp.rkt 198:4 (>= rat +inf.f) -- exact real arith
TR opt: dead-inf-comp.rkt 202:4 (quote dead) -- dead then branch
TR info: dead-inf-comp.rkt 201:4 (>= -inf.f rat) -- exact real arith
TR opt: dead-inf-comp.rkt 206:4 (quote dead) -- dead else branch
TR info: dead-inf-comp.rkt 204:4 (>= rat -inf.f) -- exact real arith
TR opt: dead-inf-comp.rkt 99:0 #%module-begin -- in-range
TR opt: dead-inf-comp.rkt 99:0 #%module-begin -- dead else branch
TR opt: dead-inf-comp.rkt 99:0 #%module-begin -- dead else branch
TR opt: dead-inf-comp.rkt 99:0 #%module-begin -- dead else branch
TR opt: dead-inf-comp.rkt 209:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
TR opt: dead-inf-comp.rkt 209:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
TR info: dead-inf-comp.rkt 209:41 displayln -- hidden parameter
TR opt: dead-inf-comp.rkt 209:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
TR opt: dead-inf-comp.rkt 209:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
TR opt: dead-inf-comp.rkt 209:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
TR info: dead-inf-comp.rkt 209:41 displayln -- hidden parameter
TR opt: dead-inf-comp.rkt 209:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
#<<END
TR opt: dead-inf-comp.rkt 106:4 (quote dead) -- dead else branch
TR opt: dead-inf-comp.rkt 108:4 (quote dead) -- dead then branch
TR opt: dead-inf-comp.rkt 111:4 (quote dead) -- dead then branch
TR opt: dead-inf-comp.rkt 115:4 (quote dead) -- dead else branch
TR opt: dead-inf-comp.rkt 119:4 (quote dead) -- dead else branch
TR opt: dead-inf-comp.rkt 121:4 (quote dead) -- dead then branch
TR opt: dead-inf-comp.rkt 124:4 (quote dead) -- dead then branch
TR opt: dead-inf-comp.rkt 128:4 (quote dead) -- dead else branch
TR opt: dead-inf-comp.rkt 132:4 (quote dead) -- dead else branch
TR opt: dead-inf-comp.rkt 134:4 (quote dead) -- dead then branch
TR opt: dead-inf-comp.rkt 137:4 (quote dead) -- dead then branch
TR opt: dead-inf-comp.rkt 141:4 (quote dead) -- dead else branch
TR opt: dead-inf-comp.rkt 145:4 (quote dead) -- dead else branch
TR opt: dead-inf-comp.rkt 147:4 (quote dead) -- dead then branch
TR opt: dead-inf-comp.rkt 150:4 (quote dead) -- dead then branch
TR opt: dead-inf-comp.rkt 154:4 (quote dead) -- dead else branch
TR opt: dead-inf-comp.rkt 159:4 (quote dead) -- dead else branch
TR info: dead-inf-comp.rkt 157:4 (< rat +inf.f) -- exact real arith
TR opt: dead-inf-comp.rkt 161:4 (quote dead) -- dead then branch
TR info: dead-inf-comp.rkt 160:4 (< +inf.f rat) -- exact real arith
TR opt: dead-inf-comp.rkt 164:4 (quote dead) -- dead then branch
TR info: dead-inf-comp.rkt 163:4 (< rat -inf.f) -- exact real arith
TR opt: dead-inf-comp.rkt 168:4 (quote dead) -- dead else branch
TR info: dead-inf-comp.rkt 166:4 (< -inf.f rat) -- exact real arith
TR opt: dead-inf-comp.rkt 172:4 (quote dead) -- dead else branch
TR info: dead-inf-comp.rkt 170:4 (> +inf.f rat) -- exact real arith
TR opt: dead-inf-comp.rkt 174:4 (quote dead) -- dead then branch
TR info: dead-inf-comp.rkt 173:4 (> rat +inf.f) -- exact real arith
TR opt: dead-inf-comp.rkt 177:4 (quote dead) -- dead then branch
TR info: dead-inf-comp.rkt 176:4 (> -inf.f rat) -- exact real arith
TR opt: dead-inf-comp.rkt 181:4 (quote dead) -- dead else branch
TR info: dead-inf-comp.rkt 179:4 (> rat -inf.f) -- exact real arith
TR opt: dead-inf-comp.rkt 185:4 (quote dead) -- dead else branch
TR info: dead-inf-comp.rkt 183:4 (<= rat +inf.f) -- exact real arith
TR opt: dead-inf-comp.rkt 187:4 (quote dead) -- dead then branch
TR info: dead-inf-comp.rkt 186:4 (<= +inf.f rat) -- exact real arith
TR opt: dead-inf-comp.rkt 190:4 (quote dead) -- dead then branch
TR info: dead-inf-comp.rkt 189:4 (<= rat -inf.f) -- exact real arith
TR opt: dead-inf-comp.rkt 194:4 (quote dead) -- dead else branch
TR info: dead-inf-comp.rkt 192:4 (<= -inf.f rat) -- exact real arith
TR opt: dead-inf-comp.rkt 198:4 (quote dead) -- dead else branch
TR info: dead-inf-comp.rkt 196:4 (>= +inf.f rat) -- exact real arith
TR opt: dead-inf-comp.rkt 200:4 (quote dead) -- dead then branch
TR info: dead-inf-comp.rkt 199:4 (>= rat +inf.f) -- exact real arith
TR opt: dead-inf-comp.rkt 203:4 (quote dead) -- dead then branch
TR info: dead-inf-comp.rkt 202:4 (>= -inf.f rat) -- exact real arith
TR opt: dead-inf-comp.rkt 207:4 (quote dead) -- dead else branch
TR info: dead-inf-comp.rkt 205:4 (>= rat -inf.f) -- exact real arith
TR opt: dead-inf-comp.rkt 100:0 #%module-begin -- in-range
TR opt: dead-inf-comp.rkt 100:0 #%module-begin -- dead else branch
TR opt: dead-inf-comp.rkt 100:0 #%module-begin -- dead else branch
TR opt: dead-inf-comp.rkt 100:0 #%module-begin -- dead else branch
TR opt: dead-inf-comp.rkt 210:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
TR opt: dead-inf-comp.rkt 210:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
TR info: dead-inf-comp.rkt 210:41 displayln -- hidden parameter
TR opt: dead-inf-comp.rkt 210:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
TR opt: dead-inf-comp.rkt 210:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
TR opt: dead-inf-comp.rkt 210:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
TR info: dead-inf-comp.rkt 210:41 displayln -- hidden parameter
TR opt: dead-inf-comp.rkt 210:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (displayln i)) -- dead else branch
'live
'live
'live
@ -95,7 +95,8 @@ TR opt: dead-inf-comp.rkt 209:0 (for: ((i (in-range 5 +inf.0 2)) (j 3)) (display
5
7
9
)
END
#lang typed/racket/base
(define: rat : Exact-Rational 2/3)

View File

@ -1,8 +1,11 @@
#;
(
TR info: dead-substructs.rkt 23:4 make-child1 -- struct constructor
TR info: dead-substructs.rkt 24:4 make-child2 -- struct constructor
1 2)
#<<END
TR info: dead-substructs.rkt 26:4 make-child1 -- struct constructor
TR info: dead-substructs.rkt 27:4 make-child2 -- struct constructor
1
2
END
#lang typed/scheme
#:optimize

View File

@ -1,12 +1,13 @@
#;
(
TR info: dead-then.rkt 12:1 display -- hidden parameter
TR opt: dead-then.rkt 13:13 (+ 2.0 3.0) -- dead then branch
TR opt: dead-then.rkt 14:13 (+ 4.0 5.0) -- binary float
TR info: dead-then.rkt 15:1 display -- hidden parameter
TR opt: dead-then.rkt 16:13 (+ 2.0 3.0) -- dead then branch
TR opt: dead-then.rkt 17:13 (+ 4.0 5.0) -- binary float
9.09.0)
#<<END
TR info: dead-then.rkt 13:1 display -- hidden parameter
TR opt: dead-then.rkt 14:13 (+ 2.0 3.0) -- dead then branch
TR opt: dead-then.rkt 15:13 (+ 4.0 5.0) -- binary float
TR info: dead-then.rkt 16:1 display -- hidden parameter
TR opt: dead-then.rkt 17:13 (+ 2.0 3.0) -- dead then branch
TR opt: dead-then.rkt 18:13 (+ 4.0 5.0) -- binary float
9.09.0
END
#lang typed/scheme
#:optimize
(display (if (number? "eh")

View File

@ -1,9 +1,10 @@
#;
(
TR info: define-begin-float.rkt 10:18 display -- hidden parameter
TR opt: define-begin-float.rkt 10:26 (- 2.0 3.0) -- binary float
TR opt: define-begin-float.rkt 11:17 (* 2.0 3.0) -- binary float
-1.0)
#<<END
TR info: define-begin-float.rkt 11:18 display -- hidden parameter
TR opt: define-begin-float.rkt 11:26 (- 2.0 3.0) -- binary float
TR opt: define-begin-float.rkt 12:17 (* 2.0 3.0) -- binary float
-1.0
END
#lang typed/scheme
#:optimize

View File

@ -1,7 +1,8 @@
#;
(
TR opt: define-call-float.rkt 9:16 (+ 1.0 2.0) -- binary float
)
#<<END
TR opt: define-call-float.rkt 10:16 (+ 1.0 2.0) -- binary float
END
#lang typed/scheme
#:optimize

View File

@ -1,7 +1,8 @@
#;
(
TR opt: define-float.rkt 9:10 (+ 1.0 2.0) -- binary float
)
#<<END
TR opt: define-float.rkt 10:10 (+ 1.0 2.0) -- binary float
END
#lang typed/scheme
#:optimize

View File

@ -1,7 +1,8 @@
#;
(
TR opt: define-pair.rkt 9:10 (car (quote (1 3))) -- pair
)
#<<END
TR opt: define-pair.rkt 10:10 (car (quote (1 3))) -- pair
END
#lang typed/scheme
#:optimize

View File

@ -1,22 +1,19 @@
#;
(
TR opt: derived-pair.rkt 23:0 (caar (cons (cons 1 2) 3)) -- pair
TR opt: derived-pair.rkt 23:0 (caar (cons (cons 1 2) 3)) -- pair
TR opt: derived-pair.rkt 24:0 (cadr (cons 1 (cons 2 3))) -- pair
TR opt: derived-pair.rkt 24:0 (cadr (cons 1 (cons 2 3))) -- pair
TR opt: derived-pair.rkt 25:0 (cdar (cons (cons 1 2) 3)) -- pair
TR opt: derived-pair.rkt 25:0 (cdar (cons (cons 1 2) 3)) -- pair
TR opt: derived-pair.rkt 26:0 (cddr (cons 1 (cons 2 3))) -- pair
TR opt: derived-pair.rkt 26:0 (cddr (cons 1 (cons 2 3))) -- pair
#<<END
TR opt: derived-pair.rkt 20:0 (caar (cons (cons 1 2) 3)) -- pair
TR opt: derived-pair.rkt 20:0 (caar (cons (cons 1 2) 3)) -- pair
TR opt: derived-pair.rkt 21:0 (cadr (cons 1 (cons 2 3))) -- pair
TR opt: derived-pair.rkt 21:0 (cadr (cons 1 (cons 2 3))) -- pair
TR opt: derived-pair.rkt 22:0 (cdar (cons (cons 1 2) 3)) -- pair
TR opt: derived-pair.rkt 22:0 (cdar (cons (cons 1 2) 3)) -- pair
TR opt: derived-pair.rkt 23:0 (cddr (cons 1 (cons 2 3))) -- pair
TR opt: derived-pair.rkt 23:0 (cddr (cons 1 (cons 2 3))) -- pair
1
2
2
3
)
END
#lang typed/racket #:optimize

View File

@ -1,37 +1,29 @@
#;
(
TR opt: derived-pair2.rkt 47:0 (caaar (cons (cons (cons 1 2) 3) 4)) -- pair
TR opt: derived-pair2.rkt 47:0 (caaar (cons (cons (cons 1 2) 3) 4)) -- pair
TR opt: derived-pair2.rkt 47:0 (caaar (cons (cons (cons 1 2) 3) 4)) -- pair
TR opt: derived-pair2.rkt 48:0 (caadr (cons 1 (cons (cons 2 3) 4))) -- pair
TR opt: derived-pair2.rkt 48:0 (caadr (cons 1 (cons (cons 2 3) 4))) -- pair
TR opt: derived-pair2.rkt 48:0 (caadr (cons 1 (cons (cons 2 3) 4))) -- pair
TR opt: derived-pair2.rkt 49:0 (cadar (cons (cons 1 (cons 2 3)) 4)) -- pair
TR opt: derived-pair2.rkt 49:0 (cadar (cons (cons 1 (cons 2 3)) 4)) -- pair
TR opt: derived-pair2.rkt 49:0 (cadar (cons (cons 1 (cons 2 3)) 4)) -- pair
TR opt: derived-pair2.rkt 50:0 (caddr (cons 1 (cons 2 (cons 3 4)))) -- pair
TR opt: derived-pair2.rkt 50:0 (caddr (cons 1 (cons 2 (cons 3 4)))) -- pair
TR opt: derived-pair2.rkt 50:0 (caddr (cons 1 (cons 2 (cons 3 4)))) -- pair
TR opt: derived-pair2.rkt 51:0 (cdaar (cons (cons (cons 1 2) 3) 4)) -- pair
TR opt: derived-pair2.rkt 51:0 (cdaar (cons (cons (cons 1 2) 3) 4)) -- pair
TR opt: derived-pair2.rkt 51:0 (cdaar (cons (cons (cons 1 2) 3) 4)) -- pair
TR opt: derived-pair2.rkt 52:0 (cdadr (cons 1 (cons (cons 2 3) 4))) -- pair
TR opt: derived-pair2.rkt 52:0 (cdadr (cons 1 (cons (cons 2 3) 4))) -- pair
TR opt: derived-pair2.rkt 52:0 (cdadr (cons 1 (cons (cons 2 3) 4))) -- pair
TR opt: derived-pair2.rkt 53:0 (cddar (cons (cons 1 (cons 2 3)) 4)) -- pair
TR opt: derived-pair2.rkt 53:0 (cddar (cons (cons 1 (cons 2 3)) 4)) -- pair
TR opt: derived-pair2.rkt 53:0 (cddar (cons (cons 1 (cons 2 3)) 4)) -- pair
TR opt: derived-pair2.rkt 54:0 (cdddr (cons 1 (cons 2 (cons 3 4)))) -- pair
TR opt: derived-pair2.rkt 54:0 (cdddr (cons 1 (cons 2 (cons 3 4)))) -- pair
TR opt: derived-pair2.rkt 54:0 (cdddr (cons 1 (cons 2 (cons 3 4)))) -- pair
#<<END
TR opt: derived-pair2.rkt 40:0 (caaar (cons (cons (cons 1 2) 3) 4)) -- pair
TR opt: derived-pair2.rkt 40:0 (caaar (cons (cons (cons 1 2) 3) 4)) -- pair
TR opt: derived-pair2.rkt 40:0 (caaar (cons (cons (cons 1 2) 3) 4)) -- pair
TR opt: derived-pair2.rkt 41:0 (caadr (cons 1 (cons (cons 2 3) 4))) -- pair
TR opt: derived-pair2.rkt 41:0 (caadr (cons 1 (cons (cons 2 3) 4))) -- pair
TR opt: derived-pair2.rkt 41:0 (caadr (cons 1 (cons (cons 2 3) 4))) -- pair
TR opt: derived-pair2.rkt 42:0 (cadar (cons (cons 1 (cons 2 3)) 4)) -- pair
TR opt: derived-pair2.rkt 42:0 (cadar (cons (cons 1 (cons 2 3)) 4)) -- pair
TR opt: derived-pair2.rkt 42:0 (cadar (cons (cons 1 (cons 2 3)) 4)) -- pair
TR opt: derived-pair2.rkt 43:0 (caddr (cons 1 (cons 2 (cons 3 4)))) -- pair
TR opt: derived-pair2.rkt 43:0 (caddr (cons 1 (cons 2 (cons 3 4)))) -- pair
TR opt: derived-pair2.rkt 43:0 (caddr (cons 1 (cons 2 (cons 3 4)))) -- pair
TR opt: derived-pair2.rkt 44:0 (cdaar (cons (cons (cons 1 2) 3) 4)) -- pair
TR opt: derived-pair2.rkt 44:0 (cdaar (cons (cons (cons 1 2) 3) 4)) -- pair
TR opt: derived-pair2.rkt 44:0 (cdaar (cons (cons (cons 1 2) 3) 4)) -- pair
TR opt: derived-pair2.rkt 45:0 (cdadr (cons 1 (cons (cons 2 3) 4))) -- pair
TR opt: derived-pair2.rkt 45:0 (cdadr (cons 1 (cons (cons 2 3) 4))) -- pair
TR opt: derived-pair2.rkt 45:0 (cdadr (cons 1 (cons (cons 2 3) 4))) -- pair
TR opt: derived-pair2.rkt 46:0 (cddar (cons (cons 1 (cons 2 3)) 4)) -- pair
TR opt: derived-pair2.rkt 46:0 (cddar (cons (cons 1 (cons 2 3)) 4)) -- pair
TR opt: derived-pair2.rkt 46:0 (cddar (cons (cons 1 (cons 2 3)) 4)) -- pair
TR opt: derived-pair2.rkt 47:0 (cdddr (cons 1 (cons 2 (cons 3 4)))) -- pair
TR opt: derived-pair2.rkt 47:0 (cdddr (cons 1 (cons 2 (cons 3 4)))) -- pair
TR opt: derived-pair2.rkt 47:0 (cdddr (cons 1 (cons 2 (cons 3 4)))) -- pair
1
2
2
@ -40,7 +32,8 @@ TR opt: derived-pair2.rkt 54:0 (cdddr (cons 1 (cons 2 (cons 3 4)))) -- pair
3
3
4
)
END
#lang typed/racket #:optimize

View File

@ -1,85 +1,69 @@
#;
(
TR opt: derived-pair3.rkt 103:0 (caaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- pair
TR opt: derived-pair3.rkt 103:0 (caaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- pair
TR opt: derived-pair3.rkt 103:0 (caaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- pair
TR opt: derived-pair3.rkt 103:0 (caaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- pair
TR opt: derived-pair3.rkt 104:0 (caaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- pair
TR opt: derived-pair3.rkt 104:0 (caaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- pair
TR opt: derived-pair3.rkt 104:0 (caaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- pair
TR opt: derived-pair3.rkt 104:0 (caaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- pair
TR opt: derived-pair3.rkt 105:0 (caadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- pair
TR opt: derived-pair3.rkt 105:0 (caadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- pair
TR opt: derived-pair3.rkt 105:0 (caadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- pair
TR opt: derived-pair3.rkt 105:0 (caadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- pair
TR opt: derived-pair3.rkt 106:0 (caaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- pair
TR opt: derived-pair3.rkt 106:0 (caaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- pair
TR opt: derived-pair3.rkt 106:0 (caaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- pair
TR opt: derived-pair3.rkt 106:0 (caaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- pair
TR opt: derived-pair3.rkt 107:0 (cadaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- pair
TR opt: derived-pair3.rkt 107:0 (cadaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- pair
TR opt: derived-pair3.rkt 107:0 (cadaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- pair
TR opt: derived-pair3.rkt 107:0 (cadaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- pair
TR opt: derived-pair3.rkt 108:0 (cadadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- pair
TR opt: derived-pair3.rkt 108:0 (cadadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- pair
TR opt: derived-pair3.rkt 108:0 (cadadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- pair
TR opt: derived-pair3.rkt 108:0 (cadadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- pair
TR opt: derived-pair3.rkt 109:0 (caddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- pair
TR opt: derived-pair3.rkt 109:0 (caddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- pair
TR opt: derived-pair3.rkt 109:0 (caddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- pair
TR opt: derived-pair3.rkt 109:0 (caddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- pair
TR opt: derived-pair3.rkt 110:0 (cadddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- pair
TR opt: derived-pair3.rkt 110:0 (cadddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- pair
TR opt: derived-pair3.rkt 110:0 (cadddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- pair
TR opt: derived-pair3.rkt 110:0 (cadddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- pair
TR opt: derived-pair3.rkt 111:0 (cdaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- pair
TR opt: derived-pair3.rkt 111:0 (cdaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- pair
TR opt: derived-pair3.rkt 111:0 (cdaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- pair
TR opt: derived-pair3.rkt 111:0 (cdaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- pair
TR opt: derived-pair3.rkt 112:0 (cdaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- pair
TR opt: derived-pair3.rkt 112:0 (cdaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- pair
TR opt: derived-pair3.rkt 112:0 (cdaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- pair
TR opt: derived-pair3.rkt 112:0 (cdaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- pair
TR opt: derived-pair3.rkt 113:0 (cdadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- pair
TR opt: derived-pair3.rkt 113:0 (cdadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- pair
TR opt: derived-pair3.rkt 113:0 (cdadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- pair
TR opt: derived-pair3.rkt 113:0 (cdadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- pair
TR opt: derived-pair3.rkt 114:0 (cdaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- pair
TR opt: derived-pair3.rkt 114:0 (cdaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- pair
TR opt: derived-pair3.rkt 114:0 (cdaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- pair
TR opt: derived-pair3.rkt 114:0 (cdaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- pair
TR opt: derived-pair3.rkt 115:0 (cddaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- pair
TR opt: derived-pair3.rkt 115:0 (cddaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- pair
TR opt: derived-pair3.rkt 115:0 (cddaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- pair
TR opt: derived-pair3.rkt 115:0 (cddaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- pair
TR opt: derived-pair3.rkt 116:0 (cddadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- pair
TR opt: derived-pair3.rkt 116:0 (cddadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- pair
TR opt: derived-pair3.rkt 116:0 (cddadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- pair
TR opt: derived-pair3.rkt 116:0 (cddadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- pair
TR opt: derived-pair3.rkt 117:0 (cdddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- pair
TR opt: derived-pair3.rkt 117:0 (cdddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- pair
TR opt: derived-pair3.rkt 117:0 (cdddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- pair
TR opt: derived-pair3.rkt 117:0 (cdddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- pair
TR opt: derived-pair3.rkt 118:0 (cddddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- pair
TR opt: derived-pair3.rkt 118:0 (cddddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- pair
TR opt: derived-pair3.rkt 118:0 (cddddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- pair
TR opt: derived-pair3.rkt 118:0 (cddddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- pair
#<<END
TR opt: derived-pair3.rkt 88:0 (caaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- pair
TR opt: derived-pair3.rkt 88:0 (caaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- pair
TR opt: derived-pair3.rkt 88:0 (caaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- pair
TR opt: derived-pair3.rkt 88:0 (caaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- pair
TR opt: derived-pair3.rkt 89:0 (caaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- pair
TR opt: derived-pair3.rkt 89:0 (caaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- pair
TR opt: derived-pair3.rkt 89:0 (caaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- pair
TR opt: derived-pair3.rkt 89:0 (caaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- pair
TR opt: derived-pair3.rkt 90:0 (caadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- pair
TR opt: derived-pair3.rkt 90:0 (caadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- pair
TR opt: derived-pair3.rkt 90:0 (caadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- pair
TR opt: derived-pair3.rkt 90:0 (caadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- pair
TR opt: derived-pair3.rkt 91:0 (caaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- pair
TR opt: derived-pair3.rkt 91:0 (caaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- pair
TR opt: derived-pair3.rkt 91:0 (caaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- pair
TR opt: derived-pair3.rkt 91:0 (caaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- pair
TR opt: derived-pair3.rkt 92:0 (cadaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- pair
TR opt: derived-pair3.rkt 92:0 (cadaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- pair
TR opt: derived-pair3.rkt 92:0 (cadaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- pair
TR opt: derived-pair3.rkt 92:0 (cadaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- pair
TR opt: derived-pair3.rkt 93:0 (cadadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- pair
TR opt: derived-pair3.rkt 93:0 (cadadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- pair
TR opt: derived-pair3.rkt 93:0 (cadadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- pair
TR opt: derived-pair3.rkt 93:0 (cadadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- pair
TR opt: derived-pair3.rkt 94:0 (caddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- pair
TR opt: derived-pair3.rkt 94:0 (caddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- pair
TR opt: derived-pair3.rkt 94:0 (caddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- pair
TR opt: derived-pair3.rkt 94:0 (caddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- pair
TR opt: derived-pair3.rkt 95:0 (cadddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- pair
TR opt: derived-pair3.rkt 95:0 (cadddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- pair
TR opt: derived-pair3.rkt 95:0 (cadddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- pair
TR opt: derived-pair3.rkt 95:0 (cadddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- pair
TR opt: derived-pair3.rkt 96:0 (cdaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- pair
TR opt: derived-pair3.rkt 96:0 (cdaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- pair
TR opt: derived-pair3.rkt 96:0 (cdaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- pair
TR opt: derived-pair3.rkt 96:0 (cdaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- pair
TR opt: derived-pair3.rkt 97:0 (cdaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- pair
TR opt: derived-pair3.rkt 97:0 (cdaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- pair
TR opt: derived-pair3.rkt 97:0 (cdaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- pair
TR opt: derived-pair3.rkt 97:0 (cdaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- pair
TR opt: derived-pair3.rkt 98:0 (cdadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- pair
TR opt: derived-pair3.rkt 98:0 (cdadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- pair
TR opt: derived-pair3.rkt 98:0 (cdadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- pair
TR opt: derived-pair3.rkt 98:0 (cdadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- pair
TR opt: derived-pair3.rkt 99:0 (cdaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- pair
TR opt: derived-pair3.rkt 99:0 (cdaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- pair
TR opt: derived-pair3.rkt 99:0 (cdaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- pair
TR opt: derived-pair3.rkt 99:0 (cdaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- pair
TR opt: derived-pair3.rkt 100:0 (cddaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- pair
TR opt: derived-pair3.rkt 100:0 (cddaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- pair
TR opt: derived-pair3.rkt 100:0 (cddaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- pair
TR opt: derived-pair3.rkt 100:0 (cddaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- pair
TR opt: derived-pair3.rkt 101:0 (cddadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- pair
TR opt: derived-pair3.rkt 101:0 (cddadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- pair
TR opt: derived-pair3.rkt 101:0 (cddadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- pair
TR opt: derived-pair3.rkt 101:0 (cddadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- pair
TR opt: derived-pair3.rkt 102:0 (cdddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- pair
TR opt: derived-pair3.rkt 102:0 (cdddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- pair
TR opt: derived-pair3.rkt 102:0 (cdddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- pair
TR opt: derived-pair3.rkt 102:0 (cdddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- pair
TR opt: derived-pair3.rkt 103:0 (cddddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- pair
TR opt: derived-pair3.rkt 103:0 (cddddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- pair
TR opt: derived-pair3.rkt 103:0 (cddddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- pair
TR opt: derived-pair3.rkt 103:0 (cddddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- pair
1
2
2
@ -96,7 +80,8 @@ TR opt: derived-pair3.rkt 118:0 (cddddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -
4
4
5
)
END
#lang typed/racket #:optimize

View File

@ -1,7 +1,9 @@
#;
(
TR info: different-langs.rkt 10:0 (/ 1 2) -- exact real arith
1/2)
#<<END
TR info: different-langs.rkt 12:0 (/ 1 2) -- exact real arith
1/2
END
#lang typed/scheme
#:optimize

View File

@ -1,8 +1,9 @@
#;
(
TR opt: double-float.rkt 10:0 (+ 2.0 2.0 2.0) -- binary float
#<<END
TR opt: double-float.rkt 11:0 (+ 2.0 2.0 2.0) -- binary float
6.0
)
END
#lang typed/scheme
#:optimize

View File

@ -1,9 +1,10 @@
#;
(
TR opt: drop-pure-pred.rkt 15:6 (list 2) -- dead else branch
TR opt: drop-pure-pred.rkt 13:6 (exact-integer? x) -- useless pure code
#<<END
TR opt: drop-pure-pred.rkt 16:6 (list 2) -- dead else branch
TR opt: drop-pure-pred.rkt 14:6 (exact-integer? x) -- useless pure code
'(1)
)
END
#lang typed/scheme
#:optimize

View File

@ -1,20 +1,21 @@
#;
(
TR opt: exact-inexact.rkt 22:0 (exact->inexact (expt 10 100)) -- int to float
TR opt: exact-inexact.rkt 23:7 (exact->inexact (expt 2.3 3.2)) -- float to float
TR opt: exact-inexact.rkt 23:0 (round (exact->inexact (expt 2.3 3.2))) -- unary float
TR opt: exact-inexact.rkt 24:0 (real->double-flonum (expt 10 100)) -- int to float
TR opt: exact-inexact.rkt 25:7 (real->double-flonum (expt 2.3 3.2)) -- float to float
TR opt: exact-inexact.rkt 25:0 (round (real->double-flonum (expt 2.3 3.2))) -- unary float
TR opt: exact-inexact.rkt 28:0 (exact->inexact (expt 1.0f0 2.0f0)) -- single-float to single-float
TR opt: exact-inexact.rkt 29:0 (real->single-flonum (expt 1.0f0 2.0f0)) -- single-float to single-float
#<<END
TR opt: exact-inexact.rkt 23:0 (exact->inexact (expt 10 100)) -- int to float
TR opt: exact-inexact.rkt 24:7 (exact->inexact (expt 2.3 3.2)) -- float to float
TR opt: exact-inexact.rkt 24:0 (round (exact->inexact (expt 2.3 3.2))) -- unary float
TR opt: exact-inexact.rkt 25:0 (real->double-flonum (expt 10 100)) -- int to float
TR opt: exact-inexact.rkt 26:7 (real->double-flonum (expt 2.3 3.2)) -- float to float
TR opt: exact-inexact.rkt 26:0 (round (real->double-flonum (expt 2.3 3.2))) -- unary float
TR opt: exact-inexact.rkt 29:0 (exact->inexact (expt 1.0f0 2.0f0)) -- single-float to single-float
TR opt: exact-inexact.rkt 30:0 (real->single-flonum (expt 1.0f0 2.0f0)) -- single-float to single-float
1e+100
14.0
1e+100
14.0
1.0f0
1.0f0
)
END
#lang typed/scheme
#:optimize

View File

@ -1,8 +1,9 @@
#;
(
TR missed opt: expt.rkt 13:13 (expt (sin 0.25) 1.0) -- unexpected complex type
TR opt: expt.rkt 13:19 (sin 0.25) -- unary float
)
#<<END
TR missed opt: expt.rkt 14:13 (expt (sin 0.25) 1.0) -- unexpected complex type
TR opt: expt.rkt 14:19 (sin 0.25) -- unary float
END
#lang typed/racket

View File

@ -1,10 +1,11 @@
#;
(
TR opt: false-huh-dead-code.rkt 10:16 1 -- dead then branch
TR opt: false-huh-dead-code.rkt 11:13 1 -- dead then branch
#<<END
TR opt: false-huh-dead-code.rkt 11:16 1 -- dead then branch
TR opt: false-huh-dead-code.rkt 12:13 1 -- dead then branch
2
2
)
END
#lang typed/racket
(if (false? #t) 1 2)

View File

@ -1,32 +1,32 @@
#;
(
TR opt: fixnum-bounded-expr.rkt 69:2 (+ x (sqr y)) -- fixnum bounded expr
TR opt: fixnum-bounded-expr.rkt 75:7 (* y y) -- fixnum bounded expr
TR opt: fixnum-bounded-expr.rkt 75:2 (- x (* y y)) -- fixnum bounded expr
TR opt: fixnum-bounded-expr.rkt 82:2 (+ x y) -- fixnum bounded expr
TR opt: fixnum-bounded-expr.rkt 85:2 (+ x y) -- fixnum bounded expr
TR missed opt: fixnum-bounded-expr.rkt 88:2 (+ x y) -- out of fixnum range
TR opt: fixnum-bounded-expr.rkt 90:0 (abs 45) -- fixnum fxabs
TR opt: fixnum-bounded-expr.rkt 93:0 (fx+ 5 2) -- fixnum fx+
TR opt: fixnum-bounded-expr.rkt 94:5 (+ 34 231) -- fixnum bounded expr
TR opt: fixnum-bounded-expr.rkt 94:16 (* 24 25) -- fixnum bounded expr
TR opt: fixnum-bounded-expr.rkt 94:0 (fx+ (+ 34 231) (* 24 25)) -- fixnum fx+
TR opt: fixnum-bounded-expr.rkt 95:8 (+ 34 231) -- fixnum bounded expr
TR opt: fixnum-bounded-expr.rkt 95:5 (+ (+ 34 231) 23) -- fixnum bounded expr
TR opt: fixnum-bounded-expr.rkt 95:0 (fx+ (+ (+ 34 231) 23) -4) -- fixnum fx+
TR opt: fixnum-bounded-expr.rkt 96:11 (+ 34 231) -- fixnum bounded expr
TR opt: fixnum-bounded-expr.rkt 96:8 (+ (+ 34 231) 23) -- fixnum bounded expr
TR opt: fixnum-bounded-expr.rkt 96:0 (fx+ -4 (+ (+ 34 231) 23)) -- fixnum fx+
TR opt: fixnum-bounded-expr.rkt 97:5 (+ 300 301) -- fixnum bounded expr
TR opt: fixnum-bounded-expr.rkt 97:17 (+ 301 302) -- fixnum bounded expr
TR opt: fixnum-bounded-expr.rkt 97:5 (+ 300 301) -- fixnum bounded expr
TR opt: fixnum-bounded-expr.rkt 97:17 (+ 301 302) -- fixnum bounded expr
TR opt: fixnum-bounded-expr.rkt 99:5 (+ 300 301) -- fixnum bounded expr
TR opt: fixnum-bounded-expr.rkt 99:17 (+ 301 302) -- fixnum bounded expr
TR opt: fixnum-bounded-expr.rkt 99:0 (fx- (+ 300 301) (+ 301 302)) -- fixnum fx-
TR opt: fixnum-bounded-expr.rkt 102:0 (fx* 4 5) -- fixnum fx*
TR opt: fixnum-bounded-expr.rkt 105:0 (fxquotient (ann 34 Nonnegative-Fixnum) (ann -4 Negative-Fixnum)) -- fixnum fxquotient
TR opt: fixnum-bounded-expr.rkt 108:0 (fxabs (ann 64235 Nonnegative-Fixnum)) -- fixnum fxabs
#<<END
TR opt: fixnum-bounded-expr.rkt 70:2 (+ x (sqr y)) -- fixnum bounded expr
TR opt: fixnum-bounded-expr.rkt 76:7 (* y y) -- fixnum bounded expr
TR opt: fixnum-bounded-expr.rkt 76:2 (- x (* y y)) -- fixnum bounded expr
TR opt: fixnum-bounded-expr.rkt 83:2 (+ x y) -- fixnum bounded expr
TR opt: fixnum-bounded-expr.rkt 86:2 (+ x y) -- fixnum bounded expr
TR missed opt: fixnum-bounded-expr.rkt 89:2 (+ x y) -- out of fixnum range
TR opt: fixnum-bounded-expr.rkt 91:0 (abs 45) -- fixnum fxabs
TR opt: fixnum-bounded-expr.rkt 94:0 (fx+ 5 2) -- fixnum fx+
TR opt: fixnum-bounded-expr.rkt 95:5 (+ 34 231) -- fixnum bounded expr
TR opt: fixnum-bounded-expr.rkt 95:16 (* 24 25) -- fixnum bounded expr
TR opt: fixnum-bounded-expr.rkt 95:0 (fx+ (+ 34 231) (* 24 25)) -- fixnum fx+
TR opt: fixnum-bounded-expr.rkt 96:8 (+ 34 231) -- fixnum bounded expr
TR opt: fixnum-bounded-expr.rkt 96:5 (+ (+ 34 231) 23) -- fixnum bounded expr
TR opt: fixnum-bounded-expr.rkt 96:0 (fx+ (+ (+ 34 231) 23) -4) -- fixnum fx+
TR opt: fixnum-bounded-expr.rkt 97:11 (+ 34 231) -- fixnum bounded expr
TR opt: fixnum-bounded-expr.rkt 97:8 (+ (+ 34 231) 23) -- fixnum bounded expr
TR opt: fixnum-bounded-expr.rkt 97:0 (fx+ -4 (+ (+ 34 231) 23)) -- fixnum fx+
TR opt: fixnum-bounded-expr.rkt 98:5 (+ 300 301) -- fixnum bounded expr
TR opt: fixnum-bounded-expr.rkt 98:17 (+ 301 302) -- fixnum bounded expr
TR opt: fixnum-bounded-expr.rkt 98:5 (+ 300 301) -- fixnum bounded expr
TR opt: fixnum-bounded-expr.rkt 98:17 (+ 301 302) -- fixnum bounded expr
TR opt: fixnum-bounded-expr.rkt 100:5 (+ 300 301) -- fixnum bounded expr
TR opt: fixnum-bounded-expr.rkt 100:17 (+ 301 302) -- fixnum bounded expr
TR opt: fixnum-bounded-expr.rkt 100:0 (fx- (+ 300 301) (+ 301 302)) -- fixnum fx-
TR opt: fixnum-bounded-expr.rkt 103:0 (fx* 4 5) -- fixnum fx*
TR opt: fixnum-bounded-expr.rkt 106:0 (fxquotient (ann 34 Nonnegative-Fixnum) (ann -4 Negative-Fixnum)) -- fixnum fxquotient
TR opt: fixnum-bounded-expr.rkt 109:0 (fxabs (ann 64235 Nonnegative-Fixnum)) -- fixnum fxabs
28
89525
28
@ -49,7 +49,8 @@ TR opt: fixnum-bounded-expr.rkt 108:0 (fxabs (ann 64235 Nonnegative-Fixnum)) --
0
64235
4
)
END

View File

@ -1,10 +1,11 @@
#;
(
TR opt: fixnum-comparison.rkt 12:3 (vector-length (quote #(1 2 3))) -- known-length vector-length
TR opt: fixnum-comparison.rkt 12:29 (string-length "asdf") -- string-length
TR opt: fixnum-comparison.rkt 12:0 (< (vector-length (quote #(1 2 3))) (string-length "asdf")) -- binary fixnum comp
#<<END
TR opt: fixnum-comparison.rkt 13:3 (vector-length (quote #(1 2 3))) -- known-length vector-length
TR opt: fixnum-comparison.rkt 13:29 (string-length "asdf") -- string-length
TR opt: fixnum-comparison.rkt 13:0 (< (vector-length (quote #(1 2 3))) (string-length "asdf")) -- binary fixnum comp
#t
)
END
#lang typed/scheme
#:optimize

View File

@ -1,8 +1,9 @@
#;
(
TR opt: float-comp.rkt 10:0 (< 1.0 2.0) -- binary float comp
#<<END
TR opt: float-comp.rkt 11:0 (< 1.0 2.0) -- binary float comp
#t
)
END
#lang typed/scheme
#:optimize

View File

@ -1,11 +1,12 @@
#;
(
TR opt: float-complex-conjugate-top.rkt 13:14 1.0+2.0i -- unboxed literal
TR opt: float-complex-conjugate-top.rkt 13:23 2.0+4.0i -- unboxed literal
TR opt: float-complex-conjugate-top.rkt 13:11 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
TR opt: float-complex-conjugate-top.rkt 13:0 (conjugate (+ 1.0+2.0i 2.0+4.0i)) -- unboxed unary float complex
#<<END
TR opt: float-complex-conjugate-top.rkt 14:14 1.0+2.0i -- unboxed literal
TR opt: float-complex-conjugate-top.rkt 14:23 2.0+4.0i -- unboxed literal
TR opt: float-complex-conjugate-top.rkt 14:11 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
TR opt: float-complex-conjugate-top.rkt 14:0 (conjugate (+ 1.0+2.0i 2.0+4.0i)) -- unboxed unary float complex
3.0-6.0i
)
END
#lang typed/scheme
#:optimize

View File

@ -1,12 +1,13 @@
#;
(
TR opt: float-complex-conjugate.rkt 14:14 1.0+2.0i -- unboxed literal
TR opt: float-complex-conjugate.rkt 14:3 (conjugate 1.0+2.0i) -- unboxed unary float complex
TR opt: float-complex-conjugate.rkt 14:35 2.0+4.0i -- unboxed literal
TR opt: float-complex-conjugate.rkt 14:24 (conjugate 2.0+4.0i) -- unboxed unary float complex
TR opt: float-complex-conjugate.rkt 14:0 (+ (conjugate 1.0+2.0i) (conjugate 2.0+4.0i)) -- unboxed binary float complex
#<<END
TR opt: float-complex-conjugate.rkt 15:14 1.0+2.0i -- unboxed literal
TR opt: float-complex-conjugate.rkt 15:3 (conjugate 1.0+2.0i) -- unboxed unary float complex
TR opt: float-complex-conjugate.rkt 15:35 2.0+4.0i -- unboxed literal
TR opt: float-complex-conjugate.rkt 15:24 (conjugate 2.0+4.0i) -- unboxed unary float complex
TR opt: float-complex-conjugate.rkt 15:0 (+ (conjugate 1.0+2.0i) (conjugate 2.0+4.0i)) -- unboxed binary float complex
3.0-6.0i
)
END
#lang typed/scheme
#:optimize

View File

@ -1,11 +1,12 @@
#;
(
TR opt: float-complex-div.rkt 13:3 1.0+2.0i -- unboxed literal
TR opt: float-complex-div.rkt 13:12 2.0+4.0i -- unboxed literal
TR opt: float-complex-div.rkt 13:21 3.0+6.0i -- unboxed literal
TR opt: float-complex-div.rkt 13:0 (/ 1.0+2.0i 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
#<<END
TR opt: float-complex-div.rkt 14:3 1.0+2.0i -- unboxed literal
TR opt: float-complex-div.rkt 14:12 2.0+4.0i -- unboxed literal
TR opt: float-complex-div.rkt 14:21 3.0+6.0i -- unboxed literal
TR opt: float-complex-div.rkt 14:0 (/ 1.0+2.0i 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
0.03333333333333333-0.06666666666666667i
)
END
#lang typed/scheme
#:optimize

View File

@ -1,14 +1,15 @@
#;
(
TR opt: float-complex-fixnum.rkt 16:3 (modulo 2 1) -- binary nonzero fixnum
TR opt: float-complex-fixnum.rkt 16:3 (modulo 2 1) -- binary nonzero fixnum
TR opt: float-complex-fixnum.rkt 16:3 (modulo 2 1) -- binary nonzero fixnum
TR opt: float-complex-fixnum.rkt 16:3 (modulo 2 1) -- float-arg-expr in complex ops
TR opt: float-complex-fixnum.rkt 16:16 1.0+2.0i -- unboxed literal
TR opt: float-complex-fixnum.rkt 16:25 3.0+6.0i -- unboxed literal
TR opt: float-complex-fixnum.rkt 16:0 (+ (modulo 2 1) 1.0+2.0i 3.0+6.0i) -- unboxed binary float complex
#<<END
TR opt: float-complex-fixnum.rkt 17:3 (modulo 2 1) -- binary nonzero fixnum
TR opt: float-complex-fixnum.rkt 17:3 (modulo 2 1) -- binary nonzero fixnum
TR opt: float-complex-fixnum.rkt 17:3 (modulo 2 1) -- binary nonzero fixnum
TR opt: float-complex-fixnum.rkt 17:3 (modulo 2 1) -- float-arg-expr in complex ops
TR opt: float-complex-fixnum.rkt 17:16 1.0+2.0i -- unboxed literal
TR opt: float-complex-fixnum.rkt 17:25 3.0+6.0i -- unboxed literal
TR opt: float-complex-fixnum.rkt 17:0 (+ (modulo 2 1) 1.0+2.0i 3.0+6.0i) -- unboxed binary float complex
4.0+8.0i
)
END
#lang typed/scheme
#:optimize

View File

@ -1,37 +1,38 @@
#;
(
TR opt: float-complex-float-div.rkt 40:62 x -- unbox float-complex
TR opt: float-complex-float-div.rkt 40:51 (real-part x) -- complex accessor elimination
#<<END
TR opt: float-complex-float-div.rkt 41:62 x -- unbox float-complex
TR opt: float-complex-float-div.rkt 41:51 (imag-part x) -- complex accessor elimination
TR opt: float-complex-float-div.rkt 43:9 1.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-div.rkt 43:13 2.0+4.0i -- unboxed literal
TR opt: float-complex-float-div.rkt 43:6 (/ 1.0 2.0+4.0i) -- unboxed binary float complex
TR opt: float-complex-float-div.rkt 44:9 1.0+2.0i -- unboxed literal
TR opt: float-complex-float-div.rkt 44:18 2.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-div.rkt 44:6 (/ 1.0+2.0i 2.0) -- unboxed binary float complex
TR opt: float-complex-float-div.rkt 45:9 1.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-div.rkt 45:13 2.0+4.0i -- unboxed literal
TR opt: float-complex-float-div.rkt 45:22 3.0+6.0i -- unboxed literal
TR opt: float-complex-float-div.rkt 45:6 (/ 1.0 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
TR opt: float-complex-float-div.rkt 46:9 1.0+2.0i -- unboxed literal
TR opt: float-complex-float-div.rkt 46:18 2.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-div.rkt 41:51 (real-part x) -- complex accessor elimination
TR opt: float-complex-float-div.rkt 42:62 x -- unbox float-complex
TR opt: float-complex-float-div.rkt 42:51 (imag-part x) -- complex accessor elimination
TR opt: float-complex-float-div.rkt 44:9 1.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-div.rkt 44:13 2.0+4.0i -- unboxed literal
TR opt: float-complex-float-div.rkt 44:6 (/ 1.0 2.0+4.0i) -- unboxed binary float complex
TR opt: float-complex-float-div.rkt 45:9 1.0+2.0i -- unboxed literal
TR opt: float-complex-float-div.rkt 45:18 2.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-div.rkt 45:6 (/ 1.0+2.0i 2.0) -- unboxed binary float complex
TR opt: float-complex-float-div.rkt 46:9 1.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-div.rkt 46:13 2.0+4.0i -- unboxed literal
TR opt: float-complex-float-div.rkt 46:22 3.0+6.0i -- unboxed literal
TR opt: float-complex-float-div.rkt 46:6 (/ 1.0+2.0i 2.0 3.0+6.0i) -- unboxed binary float complex
TR opt: float-complex-float-div.rkt 46:6 (/ 1.0 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
TR opt: float-complex-float-div.rkt 47:9 1.0+2.0i -- unboxed literal
TR opt: float-complex-float-div.rkt 47:18 2.0+4.0i -- unboxed literal
TR opt: float-complex-float-div.rkt 47:27 3.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-div.rkt 47:6 (/ 1.0+2.0i 2.0+4.0i 3.0) -- unboxed binary float complex
TR opt: float-complex-float-div.rkt 47:18 2.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-div.rkt 47:22 3.0+6.0i -- unboxed literal
TR opt: float-complex-float-div.rkt 47:6 (/ 1.0+2.0i 2.0 3.0+6.0i) -- unboxed binary float complex
TR opt: float-complex-float-div.rkt 48:9 1.0+2.0i -- unboxed literal
TR opt: float-complex-float-div.rkt 48:18 2.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-div.rkt 48:22 3.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-div.rkt 48:6 (/ 1.0+2.0i 2.0 3.0) -- unboxed binary float complex
TR opt: float-complex-float-div.rkt 49:9 1.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-div.rkt 49:13 2.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-div.rkt 49:17 3.0+6.0i -- unboxed literal
TR opt: float-complex-float-div.rkt 49:6 (/ 1.0 2.0 3.0+6.0i) -- unboxed binary float complex
TR opt: float-complex-float-div.rkt 48:18 2.0+4.0i -- unboxed literal
TR opt: float-complex-float-div.rkt 48:27 3.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-div.rkt 48:6 (/ 1.0+2.0i 2.0+4.0i 3.0) -- unboxed binary float complex
TR opt: float-complex-float-div.rkt 49:9 1.0+2.0i -- unboxed literal
TR opt: float-complex-float-div.rkt 49:18 2.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-div.rkt 49:22 3.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-div.rkt 49:6 (/ 1.0+2.0i 2.0 3.0) -- unboxed binary float complex
TR opt: float-complex-float-div.rkt 50:9 1.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-div.rkt 50:13 2.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-div.rkt 50:17 3.0+6.0i -- unboxed literal
TR opt: float-complex-float-div.rkt 50:6 (/ 1.0 2.0 3.0+6.0i) -- unboxed binary float complex
'("0.1000000000-0.2000000000" "0.50000000001.0000000000" "-0.0200000000-0.0266666667" "0.16666666670.0000000000" "0.16666666670.0000000000" "0.16666666670.3333333333" "0.0333333333-0.0666666667")
)
END
#lang typed/scheme
#:optimize

View File

@ -1,34 +1,35 @@
#;
(
TR opt: float-complex-float-mul.rkt 36:3 1.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-mul.rkt 36:7 2.0+4.0i -- unboxed literal
TR opt: float-complex-float-mul.rkt 36:0 (* 1.0 2.0+4.0i) -- unboxed binary float complex
TR opt: float-complex-float-mul.rkt 37:3 1.0+2.0i -- unboxed literal
TR opt: float-complex-float-mul.rkt 37:12 2.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-mul.rkt 37:0 (* 1.0+2.0i 2.0) -- unboxed binary float complex
TR opt: float-complex-float-mul.rkt 38:3 1.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-mul.rkt 38:7 2.0+4.0i -- unboxed literal
TR opt: float-complex-float-mul.rkt 38:16 3.0+6.0i -- unboxed literal
TR opt: float-complex-float-mul.rkt 38:0 (* 1.0 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
TR opt: float-complex-float-mul.rkt 39:3 1.0+2.0i -- unboxed literal
TR opt: float-complex-float-mul.rkt 39:12 2.0 -- float-arg-expr in complex ops
#<<END
TR opt: float-complex-float-mul.rkt 37:3 1.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-mul.rkt 37:7 2.0+4.0i -- unboxed literal
TR opt: float-complex-float-mul.rkt 37:0 (* 1.0 2.0+4.0i) -- unboxed binary float complex
TR opt: float-complex-float-mul.rkt 38:3 1.0+2.0i -- unboxed literal
TR opt: float-complex-float-mul.rkt 38:12 2.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-mul.rkt 38:0 (* 1.0+2.0i 2.0) -- unboxed binary float complex
TR opt: float-complex-float-mul.rkt 39:3 1.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-mul.rkt 39:7 2.0+4.0i -- unboxed literal
TR opt: float-complex-float-mul.rkt 39:16 3.0+6.0i -- unboxed literal
TR opt: float-complex-float-mul.rkt 39:0 (* 1.0+2.0i 2.0 3.0+6.0i) -- unboxed binary float complex
TR opt: float-complex-float-mul.rkt 39:0 (* 1.0 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
TR opt: float-complex-float-mul.rkt 40:3 1.0+2.0i -- unboxed literal
TR opt: float-complex-float-mul.rkt 40:12 2.0+4.0i -- unboxed literal
TR opt: float-complex-float-mul.rkt 40:21 3.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-mul.rkt 40:0 (* 1.0+2.0i 2.0+4.0i 3.0) -- unboxed binary float complex
TR opt: float-complex-float-mul.rkt 40:12 2.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-mul.rkt 40:16 3.0+6.0i -- unboxed literal
TR opt: float-complex-float-mul.rkt 40:0 (* 1.0+2.0i 2.0 3.0+6.0i) -- unboxed binary float complex
TR opt: float-complex-float-mul.rkt 41:3 1.0+2.0i -- unboxed literal
TR opt: float-complex-float-mul.rkt 41:12 2.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-mul.rkt 41:16 3.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-mul.rkt 41:0 (* 1.0+2.0i 2.0 3.0) -- unboxed binary float complex
TR opt: float-complex-float-mul.rkt 41:12 2.0+4.0i -- unboxed literal
TR opt: float-complex-float-mul.rkt 41:21 3.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-mul.rkt 41:0 (* 1.0+2.0i 2.0+4.0i 3.0) -- unboxed binary float complex
TR opt: float-complex-float-mul.rkt 42:3 1.0+2.0i -- unboxed literal
TR opt: float-complex-float-mul.rkt 42:12 2.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-mul.rkt 42:16 3.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-mul.rkt 42:0 (* 1.0+2.0i 2.0 3.0) -- unboxed binary float complex
2.0+4.0i
2.0+4.0i
-18.0+24.0i
-18.0+24.0i
-18.0+24.0i
6.0+12.0i
)
END
#lang typed/scheme
#:optimize

View File

@ -1,29 +1,30 @@
#;
(
TR opt: float-complex-float-small.rkt 31:3 1.0+2.0i -- unboxed literal
TR opt: float-complex-float-small.rkt 31:12 3.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-small.rkt 31:0 (+ 1.0+2.0i 3.0) -- unboxed binary float complex
TR opt: float-complex-float-small.rkt 32:3 1.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-small.rkt 32:7 2.0+4.0i -- unboxed literal
TR opt: float-complex-float-small.rkt 32:0 (+ 1.0 2.0+4.0i) -- unboxed binary float complex
TR opt: float-complex-float-small.rkt 33:3 1.0+2.0i -- unboxed literal
TR opt: float-complex-float-small.rkt 33:12 3.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-small.rkt 33:0 (- 1.0+2.0i 3.0) -- unboxed binary float complex
TR opt: float-complex-float-small.rkt 34:3 1.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-small.rkt 34:7 2.0+4.0i -- unboxed literal
TR opt: float-complex-float-small.rkt 34:0 (- 1.0 2.0+4.0i) -- unboxed binary float complex
TR opt: float-complex-float-small.rkt 35:3 1.0+2.0i -- unboxed literal
TR opt: float-complex-float-small.rkt 35:15 1.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-small.rkt 35:19 2.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-small.rkt 35:12 (+ 1.0 2.0) -- binary float
TR opt: float-complex-float-small.rkt 35:12 (+ 1.0 2.0) -- float-arg-expr in complex ops
TR opt: float-complex-float-small.rkt 35:0 (+ 1.0+2.0i (+ 1.0 2.0)) -- unboxed binary float complex
#<<END
TR opt: float-complex-float-small.rkt 32:3 1.0+2.0i -- unboxed literal
TR opt: float-complex-float-small.rkt 32:12 3.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-small.rkt 32:0 (+ 1.0+2.0i 3.0) -- unboxed binary float complex
TR opt: float-complex-float-small.rkt 33:3 1.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-small.rkt 33:7 2.0+4.0i -- unboxed literal
TR opt: float-complex-float-small.rkt 33:0 (+ 1.0 2.0+4.0i) -- unboxed binary float complex
TR opt: float-complex-float-small.rkt 34:3 1.0+2.0i -- unboxed literal
TR opt: float-complex-float-small.rkt 34:12 3.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-small.rkt 34:0 (- 1.0+2.0i 3.0) -- unboxed binary float complex
TR opt: float-complex-float-small.rkt 35:3 1.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-small.rkt 35:7 2.0+4.0i -- unboxed literal
TR opt: float-complex-float-small.rkt 35:0 (- 1.0 2.0+4.0i) -- unboxed binary float complex
TR opt: float-complex-float-small.rkt 36:3 1.0+2.0i -- unboxed literal
TR opt: float-complex-float-small.rkt 36:15 1.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-small.rkt 36:19 2.0 -- float-arg-expr in complex ops
TR opt: float-complex-float-small.rkt 36:12 (+ 1.0 2.0) -- binary float
TR opt: float-complex-float-small.rkt 36:12 (+ 1.0 2.0) -- float-arg-expr in complex ops
TR opt: float-complex-float-small.rkt 36:0 (+ 1.0+2.0i (+ 1.0 2.0)) -- unboxed binary float complex
4.0+2.0i
3.0+4.0i
-2.0+2.0i
-1.0-4.0i
4.0+2.0i
)
END
#lang typed/scheme
#:optimize

View File

@ -1,26 +1,27 @@
#;
(
TR opt: float-complex-float.rkt 28:3 1.0+2.0i -- unboxed literal
TR opt: float-complex-float.rkt 28:12 2.0 -- float-arg-expr in complex ops
TR opt: float-complex-float.rkt 28:16 3.0+6.0i -- unboxed literal
TR opt: float-complex-float.rkt 28:0 (+ 1.0+2.0i 2.0 3.0+6.0i) -- unboxed binary float complex
TR opt: float-complex-float.rkt 29:3 1.0 -- float-arg-expr in complex ops
TR opt: float-complex-float.rkt 29:7 2.0+4.0i -- unboxed literal
#<<END
TR opt: float-complex-float.rkt 29:3 1.0+2.0i -- unboxed literal
TR opt: float-complex-float.rkt 29:12 2.0 -- float-arg-expr in complex ops
TR opt: float-complex-float.rkt 29:16 3.0+6.0i -- unboxed literal
TR opt: float-complex-float.rkt 29:0 (- 1.0 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
TR opt: float-complex-float.rkt 30:3 1.0+2.0i -- unboxed literal
TR opt: float-complex-float.rkt 30:12 2.0 -- float-arg-expr in complex ops
TR opt: float-complex-float.rkt 29:0 (+ 1.0+2.0i 2.0 3.0+6.0i) -- unboxed binary float complex
TR opt: float-complex-float.rkt 30:3 1.0 -- float-arg-expr in complex ops
TR opt: float-complex-float.rkt 30:7 2.0+4.0i -- unboxed literal
TR opt: float-complex-float.rkt 30:16 3.0+6.0i -- unboxed literal
TR opt: float-complex-float.rkt 30:0 (- 1.0+2.0i 2.0 3.0+6.0i) -- unboxed binary float complex
TR opt: float-complex-float.rkt 30:0 (- 1.0 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
TR opt: float-complex-float.rkt 31:3 1.0+2.0i -- unboxed literal
TR opt: float-complex-float.rkt 31:12 2.0+4.0i -- unboxed literal
TR opt: float-complex-float.rkt 31:21 3.0 -- float-arg-expr in complex ops
TR opt: float-complex-float.rkt 31:0 (- 1.0+2.0i 2.0+4.0i 3.0) -- unboxed binary float complex
TR opt: float-complex-float.rkt 31:12 2.0 -- float-arg-expr in complex ops
TR opt: float-complex-float.rkt 31:16 3.0+6.0i -- unboxed literal
TR opt: float-complex-float.rkt 31:0 (- 1.0+2.0i 2.0 3.0+6.0i) -- unboxed binary float complex
TR opt: float-complex-float.rkt 32:3 1.0+2.0i -- unboxed literal
TR opt: float-complex-float.rkt 32:12 2.0+4.0i -- unboxed literal
TR opt: float-complex-float.rkt 32:21 3.0 -- float-arg-expr in complex ops
TR opt: float-complex-float.rkt 32:0 (- 1.0+2.0i 2.0+4.0i 3.0) -- unboxed binary float complex
6.0+8.0i
-4.0-10.0i
-4.0-4.0i
-4.0-2.0i
)
END
#lang typed/scheme
#:optimize

View File

@ -1,12 +1,13 @@
#;
(
TR opt: float-complex-i.rkt 14:3 1.0+2.0i -- unboxed literal
TR opt: float-complex-i.rkt 14:15 0+1.0i -- unboxed literal
TR opt: float-complex-i.rkt 14:21 2.0+4.0i -- unboxed literal
TR opt: float-complex-i.rkt 14:12 (* 0+1.0i 2.0+4.0i) -- unboxed binary float complex
TR opt: float-complex-i.rkt 14:0 (+ 1.0+2.0i (* 0+1.0i 2.0+4.0i)) -- unboxed binary float complex
#<<END
TR opt: float-complex-i.rkt 15:3 1.0+2.0i -- unboxed literal
TR opt: float-complex-i.rkt 15:15 0+1.0i -- unboxed literal
TR opt: float-complex-i.rkt 15:21 2.0+4.0i -- unboxed literal
TR opt: float-complex-i.rkt 15:12 (* 0+1.0i 2.0+4.0i) -- unboxed binary float complex
TR opt: float-complex-i.rkt 15:0 (+ 1.0+2.0i (* 0+1.0i 2.0+4.0i)) -- unboxed binary float complex
-3.0+4.0i
)
END
#lang typed/scheme
#:optimize

View File

@ -1,10 +1,11 @@
#;
(
TR opt: float-complex-integer.rkt 12:3 (expt 2 100) -- float-arg-expr in complex ops
TR opt: float-complex-integer.rkt 12:16 1.0+2.0i -- unboxed literal
TR opt: float-complex-integer.rkt 12:0 (+ (expt 2 100) 1.0+2.0i) -- unboxed binary float complex
#<<END
TR opt: float-complex-integer.rkt 13:3 (expt 2 100) -- float-arg-expr in complex ops
TR opt: float-complex-integer.rkt 13:16 1.0+2.0i -- unboxed literal
TR opt: float-complex-integer.rkt 13:0 (+ (expt 2 100) 1.0+2.0i) -- unboxed binary float complex
1.2676506002282294e+30+2.0i
)
END
#lang typed/scheme
#:optimize

View File

@ -1,11 +1,12 @@
#;
(
TR opt: float-complex-mult.rkt 13:3 1.0+2.0i -- unboxed literal
TR opt: float-complex-mult.rkt 13:12 2.0+4.0i -- unboxed literal
TR opt: float-complex-mult.rkt 13:21 3.0+6.0i -- unboxed literal
TR opt: float-complex-mult.rkt 13:0 (* 1.0+2.0i 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
#<<END
TR opt: float-complex-mult.rkt 14:3 1.0+2.0i -- unboxed literal
TR opt: float-complex-mult.rkt 14:12 2.0+4.0i -- unboxed literal
TR opt: float-complex-mult.rkt 14:21 3.0+6.0i -- unboxed literal
TR opt: float-complex-mult.rkt 14:0 (* 1.0+2.0i 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
-66.0-12.0i
)
END
#lang typed/scheme
#:optimize

View File

@ -1,15 +1,16 @@
#;
(
TR opt: float-complex-parts.rkt 17:11 1.0+2.0i -- unboxed literal
TR opt: float-complex-parts.rkt 17:0 (real-part 1.0+2.0i) -- complex accessor elimination
#<<END
TR opt: float-complex-parts.rkt 18:11 1.0+2.0i -- unboxed literal
TR opt: float-complex-parts.rkt 18:0 (imag-part 1.0+2.0i) -- complex accessor elimination
TR opt: float-complex-parts.rkt 18:0 (real-part 1.0+2.0i) -- complex accessor elimination
TR opt: float-complex-parts.rkt 19:11 1.0+2.0i -- unboxed literal
TR opt: float-complex-parts.rkt 19:0 (real-part 1.0+2.0i) -- complex accessor elimination
TR opt: float-complex-parts.rkt 19:0 (imag-part 1.0+2.0i) -- complex accessor elimination
TR opt: float-complex-parts.rkt 20:11 1.0+2.0i -- unboxed literal
TR opt: float-complex-parts.rkt 20:0 (real-part 1.0+2.0i) -- complex accessor elimination
1.0
2.0
1.0
)
END
#lang typed/scheme
#:optimize

View File

@ -1,38 +1,39 @@
#;
(
TR opt: float-complex-parts2.rkt 42:14 1.0+2.0i -- unboxed literal
TR opt: float-complex-parts2.rkt 42:23 2.0+4.0i -- unboxed literal
TR opt: float-complex-parts2.rkt 42:11 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
TR opt: float-complex-parts2.rkt 42:14 1.0+2.0i -- unboxed literal
TR opt: float-complex-parts2.rkt 42:23 2.0+4.0i -- unboxed literal
TR opt: float-complex-parts2.rkt 42:11 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
TR opt: float-complex-parts2.rkt 42:0 (real-part (+ 1.0+2.0i 2.0+4.0i)) -- complex accessor elimination
TR opt: float-complex-parts2.rkt 43:23 1.0+2.0i -- unboxed literal
TR opt: float-complex-parts2.rkt 43:32 2.0+4.0i -- unboxed literal
TR opt: float-complex-parts2.rkt 43:20 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
TR opt: float-complex-parts2.rkt 43:23 1.0+2.0i -- unboxed literal
TR opt: float-complex-parts2.rkt 43:32 2.0+4.0i -- unboxed literal
TR opt: float-complex-parts2.rkt 43:20 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
TR opt: float-complex-parts2.rkt 43:0 (unsafe-flreal-part (+ 1.0+2.0i 2.0+4.0i)) -- complex accessor elimination
TR opt: float-complex-parts2.rkt 44:14 1.0+2.0i -- unboxed literal
TR opt: float-complex-parts2.rkt 44:23 2.0+4.0i -- unboxed literal
TR opt: float-complex-parts2.rkt 44:11 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
TR opt: float-complex-parts2.rkt 44:14 1.0+2.0i -- unboxed literal
TR opt: float-complex-parts2.rkt 44:23 2.0+4.0i -- unboxed literal
TR opt: float-complex-parts2.rkt 44:11 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
TR opt: float-complex-parts2.rkt 44:0 (imag-part (+ 1.0+2.0i 2.0+4.0i)) -- complex accessor elimination
TR opt: float-complex-parts2.rkt 45:23 1.0+2.0i -- unboxed literal
TR opt: float-complex-parts2.rkt 45:32 2.0+4.0i -- unboxed literal
TR opt: float-complex-parts2.rkt 45:20 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
TR opt: float-complex-parts2.rkt 45:23 1.0+2.0i -- unboxed literal
TR opt: float-complex-parts2.rkt 45:32 2.0+4.0i -- unboxed literal
TR opt: float-complex-parts2.rkt 45:20 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
TR opt: float-complex-parts2.rkt 45:0 (unsafe-flimag-part (+ 1.0+2.0i 2.0+4.0i)) -- complex accessor elimination
#<<END
TR opt: float-complex-parts2.rkt 43:14 1.0+2.0i -- unboxed literal
TR opt: float-complex-parts2.rkt 43:23 2.0+4.0i -- unboxed literal
TR opt: float-complex-parts2.rkt 43:11 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
TR opt: float-complex-parts2.rkt 43:14 1.0+2.0i -- unboxed literal
TR opt: float-complex-parts2.rkt 43:23 2.0+4.0i -- unboxed literal
TR opt: float-complex-parts2.rkt 43:11 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
TR opt: float-complex-parts2.rkt 43:0 (real-part (+ 1.0+2.0i 2.0+4.0i)) -- complex accessor elimination
TR opt: float-complex-parts2.rkt 44:23 1.0+2.0i -- unboxed literal
TR opt: float-complex-parts2.rkt 44:32 2.0+4.0i -- unboxed literal
TR opt: float-complex-parts2.rkt 44:20 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
TR opt: float-complex-parts2.rkt 44:23 1.0+2.0i -- unboxed literal
TR opt: float-complex-parts2.rkt 44:32 2.0+4.0i -- unboxed literal
TR opt: float-complex-parts2.rkt 44:20 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
TR opt: float-complex-parts2.rkt 44:0 (unsafe-flreal-part (+ 1.0+2.0i 2.0+4.0i)) -- complex accessor elimination
TR opt: float-complex-parts2.rkt 45:14 1.0+2.0i -- unboxed literal
TR opt: float-complex-parts2.rkt 45:23 2.0+4.0i -- unboxed literal
TR opt: float-complex-parts2.rkt 45:11 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
TR opt: float-complex-parts2.rkt 45:14 1.0+2.0i -- unboxed literal
TR opt: float-complex-parts2.rkt 45:23 2.0+4.0i -- unboxed literal
TR opt: float-complex-parts2.rkt 45:11 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
TR opt: float-complex-parts2.rkt 45:0 (imag-part (+ 1.0+2.0i 2.0+4.0i)) -- complex accessor elimination
TR opt: float-complex-parts2.rkt 46:23 1.0+2.0i -- unboxed literal
TR opt: float-complex-parts2.rkt 46:32 2.0+4.0i -- unboxed literal
TR opt: float-complex-parts2.rkt 46:20 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
TR opt: float-complex-parts2.rkt 46:23 1.0+2.0i -- unboxed literal
TR opt: float-complex-parts2.rkt 46:32 2.0+4.0i -- unboxed literal
TR opt: float-complex-parts2.rkt 46:20 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
TR opt: float-complex-parts2.rkt 46:0 (unsafe-flimag-part (+ 1.0+2.0i 2.0+4.0i)) -- complex accessor elimination
3.0
3.0
6.0
6.0
)
END
#lang typed/scheme
#:optimize

View File

@ -1,34 +1,35 @@
#;
(
TR opt: float-complex-parts3.rkt 38:3 1.0+2.0i -- unboxed literal
TR opt: float-complex-parts3.rkt 38:26 2.0+4.0i -- unboxed literal
TR opt: float-complex-parts3.rkt 38:35 3.0+6.0i -- unboxed literal
TR opt: float-complex-parts3.rkt 38:23 (+ 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
TR opt: float-complex-parts3.rkt 38:12 (real-part (+ 2.0+4.0i 3.0+6.0i)) -- unboxed unary float complex
TR opt: float-complex-parts3.rkt 38:0 (+ 1.0+2.0i (real-part (+ 2.0+4.0i 3.0+6.0i))) -- unboxed binary float complex
#<<END
TR opt: float-complex-parts3.rkt 39:3 1.0+2.0i -- unboxed literal
TR opt: float-complex-parts3.rkt 39:35 2.0+4.0i -- unboxed literal
TR opt: float-complex-parts3.rkt 39:44 3.0+6.0i -- unboxed literal
TR opt: float-complex-parts3.rkt 39:32 (+ 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
TR opt: float-complex-parts3.rkt 39:12 (unsafe-flreal-part (+ 2.0+4.0i 3.0+6.0i)) -- unboxed unary float complex
TR opt: float-complex-parts3.rkt 39:0 (+ 1.0+2.0i (unsafe-flreal-part (+ 2.0+4.0i 3.0+6.0i))) -- unboxed binary float complex
TR opt: float-complex-parts3.rkt 39:26 2.0+4.0i -- unboxed literal
TR opt: float-complex-parts3.rkt 39:35 3.0+6.0i -- unboxed literal
TR opt: float-complex-parts3.rkt 39:23 (+ 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
TR opt: float-complex-parts3.rkt 39:12 (real-part (+ 2.0+4.0i 3.0+6.0i)) -- unboxed unary float complex
TR opt: float-complex-parts3.rkt 39:0 (+ 1.0+2.0i (real-part (+ 2.0+4.0i 3.0+6.0i))) -- unboxed binary float complex
TR opt: float-complex-parts3.rkt 40:3 1.0+2.0i -- unboxed literal
TR opt: float-complex-parts3.rkt 40:26 2.0+4.0i -- unboxed literal
TR opt: float-complex-parts3.rkt 40:35 3.0+6.0i -- unboxed literal
TR opt: float-complex-parts3.rkt 40:23 (+ 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
TR opt: float-complex-parts3.rkt 40:12 (imag-part (+ 2.0+4.0i 3.0+6.0i)) -- unboxed unary float complex
TR opt: float-complex-parts3.rkt 40:0 (+ 1.0+2.0i (imag-part (+ 2.0+4.0i 3.0+6.0i))) -- unboxed binary float complex
TR opt: float-complex-parts3.rkt 40:35 2.0+4.0i -- unboxed literal
TR opt: float-complex-parts3.rkt 40:44 3.0+6.0i -- unboxed literal
TR opt: float-complex-parts3.rkt 40:32 (+ 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
TR opt: float-complex-parts3.rkt 40:12 (unsafe-flreal-part (+ 2.0+4.0i 3.0+6.0i)) -- unboxed unary float complex
TR opt: float-complex-parts3.rkt 40:0 (+ 1.0+2.0i (unsafe-flreal-part (+ 2.0+4.0i 3.0+6.0i))) -- unboxed binary float complex
TR opt: float-complex-parts3.rkt 41:3 1.0+2.0i -- unboxed literal
TR opt: float-complex-parts3.rkt 41:35 2.0+4.0i -- unboxed literal
TR opt: float-complex-parts3.rkt 41:44 3.0+6.0i -- unboxed literal
TR opt: float-complex-parts3.rkt 41:32 (+ 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
TR opt: float-complex-parts3.rkt 41:12 (unsafe-flimag-part (+ 2.0+4.0i 3.0+6.0i)) -- unboxed unary float complex
TR opt: float-complex-parts3.rkt 41:0 (+ 1.0+2.0i (unsafe-flimag-part (+ 2.0+4.0i 3.0+6.0i))) -- unboxed binary float complex
TR opt: float-complex-parts3.rkt 41:26 2.0+4.0i -- unboxed literal
TR opt: float-complex-parts3.rkt 41:35 3.0+6.0i -- unboxed literal
TR opt: float-complex-parts3.rkt 41:23 (+ 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
TR opt: float-complex-parts3.rkt 41:12 (imag-part (+ 2.0+4.0i 3.0+6.0i)) -- unboxed unary float complex
TR opt: float-complex-parts3.rkt 41:0 (+ 1.0+2.0i (imag-part (+ 2.0+4.0i 3.0+6.0i))) -- unboxed binary float complex
TR opt: float-complex-parts3.rkt 42:3 1.0+2.0i -- unboxed literal
TR opt: float-complex-parts3.rkt 42:35 2.0+4.0i -- unboxed literal
TR opt: float-complex-parts3.rkt 42:44 3.0+6.0i -- unboxed literal
TR opt: float-complex-parts3.rkt 42:32 (+ 2.0+4.0i 3.0+6.0i) -- unboxed binary float complex
TR opt: float-complex-parts3.rkt 42:12 (unsafe-flimag-part (+ 2.0+4.0i 3.0+6.0i)) -- unboxed unary float complex
TR opt: float-complex-parts3.rkt 42:0 (+ 1.0+2.0i (unsafe-flimag-part (+ 2.0+4.0i 3.0+6.0i))) -- unboxed binary float complex
6.0+2.0i
6.0+2.0i
11.0+2.0i
11.0+2.0i
)
END
#lang typed/scheme
#:optimize

View File

@ -1,18 +1,19 @@
#;
(
TR missed opt: float-complex-sin.rkt 22:18 (* t 6.28) -- all args float-arg-expr, result not Float -- caused by: 22:21 t
TR info: float-complex-sin.rkt 22:18 (* t 6.28) -- exact real arith
TR missed opt: float-complex-sin.rkt 22:13 (sin (* t 6.28)) -- all args float-arg-expr, result not Float -- caused by: 22:18 (* t 6.28)
TR info: float-complex-sin.rkt 22:13 (sin (* t 6.28)) -- exact real arith
TR missed opt: float-complex-sin.rkt 22:18 (* t 6.28) -- all args float-arg-expr, result not Float -- caused by: 22:21 t
TR info: float-complex-sin.rkt 22:18 (* t 6.28) -- exact real arith
TR missed opt: float-complex-sin.rkt 22:13 (sin (* t 6.28)) -- all args float-arg-expr, result not Float -- caused by: 22:18 (* t 6.28)
TR info: float-complex-sin.rkt 22:13 (sin (* t 6.28)) -- exact real arith
TR opt: float-complex-sin.rkt 22:13 (sin (* t 6.28)) -- float-arg-expr in complex ops
TR opt: float-complex-sin.rkt 22:30 0.0+0.0i -- unboxed literal
TR opt: float-complex-sin.rkt 22:10 (+ (sin (* t 6.28)) 0.0+0.0i) -- unboxed binary float complex
#<<END
TR missed opt: float-complex-sin.rkt 23:18 (* t 6.28) -- all args float-arg-expr, result not Float -- caused by: 23:21 t
TR info: float-complex-sin.rkt 23:18 (* t 6.28) -- exact real arith
TR missed opt: float-complex-sin.rkt 23:13 (sin (* t 6.28)) -- all args float-arg-expr, result not Float -- caused by: 23:18 (* t 6.28)
TR info: float-complex-sin.rkt 23:13 (sin (* t 6.28)) -- exact real arith
TR missed opt: float-complex-sin.rkt 23:18 (* t 6.28) -- all args float-arg-expr, result not Float -- caused by: 23:21 t
TR info: float-complex-sin.rkt 23:18 (* t 6.28) -- exact real arith
TR missed opt: float-complex-sin.rkt 23:13 (sin (* t 6.28)) -- all args float-arg-expr, result not Float -- caused by: 23:18 (* t 6.28)
TR info: float-complex-sin.rkt 23:13 (sin (* t 6.28)) -- exact real arith
TR opt: float-complex-sin.rkt 23:13 (sin (* t 6.28)) -- float-arg-expr in complex ops
TR opt: float-complex-sin.rkt 23:30 0.0+0.0i -- unboxed literal
TR opt: float-complex-sin.rkt 23:10 (+ (sin (* t 6.28)) 0.0+0.0i) -- unboxed binary float complex
-0.0031853017931379904+0.0i
)
END

View File

@ -1,14 +1,15 @@
#;
(
TR opt: float-complex.rkt 16:3 1.0+2.0i -- unboxed literal
TR opt: float-complex.rkt 16:12 2.0+4.0i -- unboxed literal
TR opt: float-complex.rkt 16:0 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
#<<END
TR opt: float-complex.rkt 17:3 1.0+2.0i -- unboxed literal
TR opt: float-complex.rkt 17:12 2.0+4.0i -- unboxed literal
TR opt: float-complex.rkt 17:0 (- 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
TR opt: float-complex.rkt 17:0 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
TR opt: float-complex.rkt 18:3 1.0+2.0i -- unboxed literal
TR opt: float-complex.rkt 18:12 2.0+4.0i -- unboxed literal
TR opt: float-complex.rkt 18:0 (- 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
3.0+6.0i
-1.0-2.0i
)
END
#lang typed/scheme
#:optimize

View File

@ -1,7 +1,8 @@
#;
(
TR opt: float-fun.rkt 12:2 (+ x 1.0) -- binary float
)
#<<END
TR opt: float-fun.rkt 13:2 (+ x 1.0) -- binary float
END
#lang typed/racket
#:optimize

View File

@ -1,12 +1,13 @@
#;
(
TR opt: float-promotion.rkt 14:11 (modulo 1 2) -- binary nonzero fixnum
TR opt: float-promotion.rkt 14:11 (modulo 1 2) -- binary nonzero fixnum
TR opt: float-promotion.rkt 14:0 (+ (assert (modulo 1 2) exact-positive-integer?) 2.0) -- binary float
TR opt: float-promotion.rkt 15:0 (+ (expt 100 100) 2.0) -- binary float
#<<END
TR opt: float-promotion.rkt 15:11 (modulo 1 2) -- binary nonzero fixnum
TR opt: float-promotion.rkt 15:11 (modulo 1 2) -- binary nonzero fixnum
TR opt: float-promotion.rkt 15:0 (+ (assert (modulo 1 2) exact-positive-integer?) 2.0) -- binary float
TR opt: float-promotion.rkt 16:0 (+ (expt 100 100) 2.0) -- binary float
3.0
1e+200
)
END
#lang typed/scheme
#:optimize

View File

@ -1,17 +1,18 @@
#;
(
TR opt: float-real.rkt 18:0 (+ 2.3 (ann 3 Positive-Real)) -- binary float
TR missed opt: float-real.rkt 19:15 (* (ann 2 Integer) 3.2) -- all args float-arg-expr, result not Float -- caused by: 19:23 2
TR info: float-real.rkt 19:15 (* (ann 2 Integer) 3.2) -- exact real arith
TR opt: float-real.rkt 19:0 (+ 2.3 (assert (* (ann 2 Integer) 3.2) positive?)) -- binary float
TR missed opt: float-real.rkt 20:7 (* (ann 2 Integer) 3.1) -- all args float-arg-expr, result not Float -- caused by: 20:15 2
TR info: float-real.rkt 20:7 (* (ann 2 Integer) 3.1) -- exact real arith
TR missed opt: float-real.rkt 20:0 (* 2.3 (* (ann 2 Integer) 3.1)) -- all args float-arg-expr, result not Float -- caused by: 20:7 (* (ann 2 Integer) 3.1)
TR info: float-real.rkt 20:0 (* 2.3 (* (ann 2 Integer) 3.1)) -- exact real arith
#<<END
TR opt: float-real.rkt 19:0 (+ 2.3 (ann 3 Positive-Real)) -- binary float
TR missed opt: float-real.rkt 20:15 (* (ann 2 Integer) 3.2) -- all args float-arg-expr, result not Float -- caused by: 20:23 2
TR info: float-real.rkt 20:15 (* (ann 2 Integer) 3.2) -- exact real arith
TR opt: float-real.rkt 20:0 (+ 2.3 (assert (* (ann 2 Integer) 3.2) positive?)) -- binary float
TR missed opt: float-real.rkt 21:7 (* (ann 2 Integer) 3.1) -- all args float-arg-expr, result not Float -- caused by: 21:15 2
TR info: float-real.rkt 21:7 (* (ann 2 Integer) 3.1) -- exact real arith
TR missed opt: float-real.rkt 21:0 (* 2.3 (* (ann 2 Integer) 3.1)) -- all args float-arg-expr, result not Float -- caused by: 21:7 (* (ann 2 Integer) 3.1)
TR info: float-real.rkt 21:0 (* 2.3 (* (ann 2 Integer) 3.1)) -- exact real arith
5.3
8.7
14.26
)
END
#lang typed/racket
;; reals within float expressions should be coerced when it's safe to do so

View File

@ -1,8 +1,9 @@
#;
(
TR opt: flvector-length.rkt 10:0 (flvector-length (flvector 0.0 1.2)) -- flvector-length
#<<END
TR opt: flvector-length.rkt 11:0 (flvector-length (flvector 0.0 1.2)) -- flvector-length
2
)
END
#lang typed/scheme
#:optimize

View File

@ -1,8 +1,9 @@
#;
(
TR opt: fx-fl.rkt 10:0 (exact->inexact 1) -- fixnum to float
#<<END
TR opt: fx-fl.rkt 11:0 (exact->inexact 1) -- fixnum to float
1.0
)
END
#lang typed/scheme
#:optimize

View File

@ -1,9 +1,10 @@
#;
(
TR opt: in-bytes.rkt 7:0 #%module-begin -- in-bytes
TR info: in-bytes.rkt 10:7 display -- hidden parameter
TR info: in-bytes.rkt 10:7 display -- hidden parameter
495051)
#<<END
TR opt: in-bytes.rkt 8:0 #%module-begin -- in-bytes
TR info: in-bytes.rkt 11:7 display -- hidden parameter
TR info: in-bytes.rkt 11:7 display -- hidden parameter
495051
END
#lang typed/scheme
#:optimize
(for: ((i : Integer #"123"))

View File

@ -1,9 +1,10 @@
#;
(
TR opt: in-list.rkt 7:0 #%module-begin -- in-list
TR info: in-list.rkt 10:7 display -- hidden parameter
TR info: in-list.rkt 10:7 display -- hidden parameter
123)
#<<END
TR opt: in-list.rkt 8:0 #%module-begin -- in-list
TR info: in-list.rkt 11:7 display -- hidden parameter
TR info: in-list.rkt 11:7 display -- hidden parameter
123
END
#lang typed/scheme
#:optimize
(for: ((i : Natural '(1 2 3)))

View File

@ -1,9 +1,10 @@
#;
(
TR opt: in-range.rkt 7:0 #%module-begin -- in-range
TR info: in-range.rkt 10:3 display -- hidden parameter
TR info: in-range.rkt 10:3 display -- hidden parameter
0123)
#<<END
TR opt: in-range.rkt 8:0 #%module-begin -- in-range
TR info: in-range.rkt 11:3 display -- hidden parameter
TR info: in-range.rkt 11:3 display -- hidden parameter
0123
END
#lang typed/scheme
#:optimize
(for ([i 4])

View File

@ -1,9 +1,10 @@
#;
(
TR opt: in-string.rkt 7:0 #%module-begin -- in-string
TR info: in-string.rkt 10:7 display -- hidden parameter
TR info: in-string.rkt 10:7 display -- hidden parameter
123)
#<<END
TR opt: in-string.rkt 8:0 #%module-begin -- in-string
TR info: in-string.rkt 11:7 display -- hidden parameter
TR info: in-string.rkt 11:7 display -- hidden parameter
123
END
#lang typed/scheme
#:optimize
(for: ((i : Char "123"))

View File

@ -1,9 +1,10 @@
#;
(
TR opt: in-vector.rkt 7:0 #%module-begin -- in-vector
TR info: in-vector.rkt 10:7 display -- hidden parameter
TR info: in-vector.rkt 10:7 display -- hidden parameter
123)
#<<END
TR opt: in-vector.rkt 8:0 #%module-begin -- in-vector
TR info: in-vector.rkt 11:7 display -- hidden parameter
TR info: in-vector.rkt 11:7 display -- hidden parameter
123
END
#lang typed/scheme
#:optimize
(for: ((i : Integer (vector 1 2 3)))

View File

@ -1,7 +1,8 @@
#;
(
TR info: invalid-binary-nonzero-fixnum.rkt 10:3 display -- hidden parameter
)
#<<END
TR info: invalid-binary-nonzero-fixnum.rkt 11:3 display -- hidden parameter
END
#lang typed/scheme
#:optimize

View File

@ -1,8 +1,9 @@
#;
(
TR missed opt: invalid-derived-pair.rkt 12:2 (cadr x) -- car/cdr on a potentially empty list -- caused by: 12:2 (cadr x)
TR missed opt: invalid-derived-pair.rkt 17:6 (cadr x) -- car/cdr on a potentially empty list -- caused by: 17:6 (cadr x)
)
#<<END
TR missed opt: invalid-derived-pair.rkt 13:2 (cadr x) -- car/cdr on a potentially empty list -- caused by: 13:2 (cadr x)
TR missed opt: invalid-derived-pair.rkt 18:6 (cadr x) -- car/cdr on a potentially empty list -- caused by: 18:6 (cadr x)
END
#lang typed/racket #:optimize

View File

@ -1,8 +1,9 @@
#;
(
TR opt: invalid-exact-inexact.rkt 9:0 (exact->inexact 1.0) -- float to float
#<<END
TR opt: invalid-exact-inexact.rkt 10:0 (exact->inexact 1.0) -- float to float
1.0
)
END
#lang typed/scheme
#:optimize

View File

@ -1,7 +1,8 @@
#;
(
#<<END
#t
)
END
#lang typed/scheme
#:optimize

View File

@ -1,11 +1,13 @@
#;
(
TR missed opt: invalid-float-promotion.rkt 12:0 (/ (ann 1 Integer) 2.0) -- all args float-arg-expr, result not Float -- caused by: 12:8 1
TR info: invalid-float-promotion.rkt 12:0 (/ (ann 1 Integer) 2.0) -- exact real arith
TR missed opt: invalid-float-promotion.rkt 13:0 (* (ann 2/3 Exact-Rational) 3.0) -- all args float-arg-expr, result not Float -- caused by: 13:8 2/3
TR info: invalid-float-promotion.rkt 13:0 (* (ann 2/3 Exact-Rational) 3.0) -- exact real arith
0.5 2.0
)
#<<END
TR missed opt: invalid-float-promotion.rkt 14:0 (/ (ann 1 Integer) 2.0) -- all args float-arg-expr, result not Float -- caused by: 14:8 1
TR info: invalid-float-promotion.rkt 14:0 (/ (ann 1 Integer) 2.0) -- exact real arith
TR missed opt: invalid-float-promotion.rkt 15:0 (* (ann 2/3 Exact-Rational) 3.0) -- all args float-arg-expr, result not Float -- caused by: 15:8 2/3
TR info: invalid-float-promotion.rkt 15:0 (* (ann 2/3 Exact-Rational) 3.0) -- exact real arith
0.5
2.0
END
#lang typed/scheme
#:optimize
;; the ann are necessary, since (* PosReal Float) -> Float (exact 0 is not in PosReal)

View File

@ -1,8 +1,9 @@
#;
(
TR missed opt: invalid-fxquotient.rkt 12:21 (quotient fixnum-min -1) -- out of fixnum range
#<<END
TR missed opt: invalid-fxquotient.rkt 13:21 (quotient fixnum-min -1) -- out of fixnum range
#t
)
END
#lang typed/racket/base

View File

@ -1,7 +1,8 @@
#;
(
#<<END
1
)
END
#lang typed/scheme
#:optimize

View File

@ -1,8 +1,9 @@
#;
(
TR missed opt: invalid-log-complex.rkt 10:11 (log (ann 2.0 Float)) -- unexpected complex type
#<<END
TR missed opt: invalid-log-complex.rkt 11:11 (log (ann 2.0 Float)) -- unexpected complex type
0.6931471805599453
)
END
#lang typed/scheme
#:optimize

View File

@ -1,7 +1,8 @@
#;
(
#<<END
1+2i
)
END
#lang typed/scheme
#:optimize

View File

@ -1,7 +1,8 @@
#;
(
#<<END
0
)
END
#lang typed/scheme
#:optimize

View File

@ -1,7 +1,8 @@
#;
(
TR missed opt: invalid-mpair.rkt 10:2 (mcar x) -- car/cdr on a potentially empty list -- caused by: 10:8 x
)
#<<END
TR missed opt: invalid-mpair.rkt 11:2 (mcar x) -- car/cdr on a potentially empty list -- caused by: 11:8 x
END
#lang typed/scheme
#:optimize

View File

@ -1,8 +1,9 @@
#;
(
TR missed opt: invalid-sqrt.rkt 9:0 (sqrt -2.0) -- unexpected complex type
#<<END
TR missed opt: invalid-sqrt.rkt 10:0 (sqrt -2.0) -- unexpected complex type
0+1.4142135623730951i
)
END
#lang typed/scheme
#:optimize

View File

@ -1,29 +1,30 @@
#;
(
TR opt: invalid-unboxed-let.rkt 35:14 t1 -- unbox float-complex
TR opt: invalid-unboxed-let.rkt 35:17 t1 -- unbox float-complex
TR opt: invalid-unboxed-let.rkt 35:11 (+ t1 t1) -- unboxed binary float complex
TR opt: invalid-unboxed-let.rkt 35:14 t1 -- unbox float-complex
TR opt: invalid-unboxed-let.rkt 35:17 t1 -- unbox float-complex
TR opt: invalid-unboxed-let.rkt 35:11 (+ t1 t1) -- unboxed binary float complex
TR opt: invalid-unboxed-let.rkt 35:14 t1 -- unbox float-complex
TR opt: invalid-unboxed-let.rkt 35:17 t1 -- unbox float-complex
TR opt: invalid-unboxed-let.rkt 35:11 (+ t1 t1) -- unboxed binary float complex
TR opt: invalid-unboxed-let.rkt 31:13 1.0+2.0i -- unboxed literal
TR opt: invalid-unboxed-let.rkt 31:22 2.0+4.0i -- unboxed literal
TR opt: invalid-unboxed-let.rkt 31:10 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
TR opt: invalid-unboxed-let.rkt 32:13 3.0+6.0i -- unboxed literal
TR opt: invalid-unboxed-let.rkt 32:22 4.0+8.0i -- unboxed literal
TR opt: invalid-unboxed-let.rkt 32:10 (+ 3.0+6.0i 4.0+8.0i) -- unboxed binary float complex
TR opt: invalid-unboxed-let.rkt 31:0 (let ((t1 (+ 1.0+2.0i 2.0+4.0i)) (t2 (+ 3.0+6.0i 4.0+8.0i)) (t3 1.0+2.0i) (t4 1)) (display (+ t1 t1)) (display t2) (display t3) (display t4)) -- unboxed let bindings
TR info: invalid-unboxed-let.rkt 35:3 display -- hidden parameter
TR opt: invalid-unboxed-let.rkt 35:14 t1 -- leave var unboxed
TR opt: invalid-unboxed-let.rkt 35:17 t1 -- leave var unboxed
TR opt: invalid-unboxed-let.rkt 35:11 (+ t1 t1) -- unboxed binary float complex
#<<END
TR opt: invalid-unboxed-let.rkt 36:14 t1 -- unbox float-complex
TR opt: invalid-unboxed-let.rkt 36:17 t1 -- unbox float-complex
TR opt: invalid-unboxed-let.rkt 36:11 (+ t1 t1) -- unboxed binary float complex
TR opt: invalid-unboxed-let.rkt 36:14 t1 -- unbox float-complex
TR opt: invalid-unboxed-let.rkt 36:17 t1 -- unbox float-complex
TR opt: invalid-unboxed-let.rkt 36:11 (+ t1 t1) -- unboxed binary float complex
TR opt: invalid-unboxed-let.rkt 36:14 t1 -- unbox float-complex
TR opt: invalid-unboxed-let.rkt 36:17 t1 -- unbox float-complex
TR opt: invalid-unboxed-let.rkt 36:11 (+ t1 t1) -- unboxed binary float complex
TR opt: invalid-unboxed-let.rkt 32:13 1.0+2.0i -- unboxed literal
TR opt: invalid-unboxed-let.rkt 32:22 2.0+4.0i -- unboxed literal
TR opt: invalid-unboxed-let.rkt 32:10 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
TR opt: invalid-unboxed-let.rkt 33:13 3.0+6.0i -- unboxed literal
TR opt: invalid-unboxed-let.rkt 33:22 4.0+8.0i -- unboxed literal
TR opt: invalid-unboxed-let.rkt 33:10 (+ 3.0+6.0i 4.0+8.0i) -- unboxed binary float complex
TR opt: invalid-unboxed-let.rkt 32:0 (let ((t1 (+ 1.0+2.0i 2.0+4.0i)) (t2 (+ 3.0+6.0i 4.0+8.0i)) (t3 1.0+2.0i) (t4 1)) (display (+ t1 t1)) (display t2) (display t3) (display t4)) -- unboxed let bindings
TR info: invalid-unboxed-let.rkt 36:3 display -- hidden parameter
TR opt: invalid-unboxed-let.rkt 36:14 t1 -- leave var unboxed
TR opt: invalid-unboxed-let.rkt 36:17 t1 -- leave var unboxed
TR opt: invalid-unboxed-let.rkt 36:11 (+ t1 t1) -- unboxed binary float complex
TR info: invalid-unboxed-let.rkt 37:3 display -- hidden parameter
TR info: invalid-unboxed-let.rkt 38:3 display -- hidden parameter
6.0+12.0i7.0+14.0i1.0+2.0i1)
TR info: invalid-unboxed-let.rkt 39:3 display -- hidden parameter
6.0+12.0i7.0+14.0i1.0+2.0i1
END
#lang typed/scheme
#:optimize

View File

@ -1,16 +1,17 @@
#;
(
TR opt: invalid-unboxed-let2.rkt 21:33 1.0+2.0i -- unboxed literal
TR opt: invalid-unboxed-let2.rkt 21:42 2.0+4.0i -- unboxed literal
TR opt: invalid-unboxed-let2.rkt 21:30 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
TR opt: invalid-unboxed-let2.rkt 21:55 3.0+6.0i -- unboxed literal
TR opt: invalid-unboxed-let2.rkt 21:64 4.0+8.0i -- unboxed literal
TR opt: invalid-unboxed-let2.rkt 21:52 (+ 3.0+6.0i 4.0+8.0i) -- unboxed binary float complex
TR opt: invalid-unboxed-let2.rkt 22:5 t1 -- unbox float-complex
TR opt: invalid-unboxed-let2.rkt 22:8 t2 -- unbox float-complex
TR opt: invalid-unboxed-let2.rkt 22:2 (+ t1 t2) -- unboxed binary float complex
#<<END
TR opt: invalid-unboxed-let2.rkt 22:33 1.0+2.0i -- unboxed literal
TR opt: invalid-unboxed-let2.rkt 22:42 2.0+4.0i -- unboxed literal
TR opt: invalid-unboxed-let2.rkt 22:30 (+ 1.0+2.0i 2.0+4.0i) -- unboxed binary float complex
TR opt: invalid-unboxed-let2.rkt 22:55 3.0+6.0i -- unboxed literal
TR opt: invalid-unboxed-let2.rkt 22:64 4.0+8.0i -- unboxed literal
TR opt: invalid-unboxed-let2.rkt 22:52 (+ 3.0+6.0i 4.0+8.0i) -- unboxed binary float complex
TR opt: invalid-unboxed-let2.rkt 23:5 t1 -- unbox float-complex
TR opt: invalid-unboxed-let2.rkt 23:8 t2 -- unbox float-complex
TR opt: invalid-unboxed-let2.rkt 23:2 (+ t1 t2) -- unboxed binary float complex
10.0+20.0i
)
END
#lang typed/scheme
#:optimize

View File

@ -1,7 +1,8 @@
#;
(
TR opt: invalid-vector-ref.rkt 10:2 (vector-ref x 0) -- vector partial bounds checking elimination
)
#<<END
TR opt: invalid-vector-ref.rkt 11:2 (vector-ref x 0) -- vector partial bounds checking elimination
END
#lang typed/scheme
#:optimize

View File

@ -1,7 +1,8 @@
#;
(
TR opt: invalid-vector-set.rkt 10:2 (vector-set! x 0 2) -- vector partial bounds checking elimination
)
#<<END
TR opt: invalid-vector-set.rkt 11:2 (vector-set! x 0 2) -- vector partial bounds checking elimination
END
#lang typed/scheme
#:optimize

View File

@ -1,18 +1,18 @@
#;
(
TR opt: known-length-lists.rkt 39:0 (length l) -- known-length list length
TR opt: known-length-lists.rkt 40:0 (list-ref l i) -- known-length list op
TR opt: known-length-lists.rkt 41:0 (list-ref l j) -- known-length list op
TR opt: known-length-lists.rkt 42:0 (list-ref l k) -- known-length list op
TR opt: known-length-lists.rkt 43:0 (list-tail l i) -- known-length list op
TR opt: known-length-lists.rkt 44:0 (list-tail l j) -- known-length list op
TR opt: known-length-lists.rkt 45:0 (list-tail l k) -- known-length list op
TR opt: known-length-lists.rkt 46:0 (list-ref l 0) -- known-length list op
TR opt: known-length-lists.rkt 47:0 (list-ref l 1) -- known-length list op
TR opt: known-length-lists.rkt 48:0 (list-ref l 2) -- known-length list op
TR opt: known-length-lists.rkt 49:0 (list-tail l 0) -- known-length list op
TR opt: known-length-lists.rkt 50:0 (list-tail l 1) -- known-length list op
TR opt: known-length-lists.rkt 51:0 (list-tail l 2) -- known-length list op
#<<END
TR opt: known-length-lists.rkt 40:0 (length l) -- known-length list length
TR opt: known-length-lists.rkt 41:0 (list-ref l i) -- known-length list op
TR opt: known-length-lists.rkt 42:0 (list-ref l j) -- known-length list op
TR opt: known-length-lists.rkt 43:0 (list-ref l k) -- known-length list op
TR opt: known-length-lists.rkt 44:0 (list-tail l i) -- known-length list op
TR opt: known-length-lists.rkt 45:0 (list-tail l j) -- known-length list op
TR opt: known-length-lists.rkt 46:0 (list-tail l k) -- known-length list op
TR opt: known-length-lists.rkt 47:0 (list-ref l 0) -- known-length list op
TR opt: known-length-lists.rkt 48:0 (list-ref l 1) -- known-length list op
TR opt: known-length-lists.rkt 49:0 (list-ref l 2) -- known-length list op
TR opt: known-length-lists.rkt 50:0 (list-tail l 0) -- known-length list op
TR opt: known-length-lists.rkt 51:0 (list-tail l 1) -- known-length list op
TR opt: known-length-lists.rkt 52:0 (list-tail l 2) -- known-length list op
'(1 2 3)
3
1
@ -27,7 +27,8 @@ TR opt: known-length-lists.rkt 51:0 (list-tail l 2) -- known-length list op
'(1 2 3)
'(2 3)
'(3)
)
END
#lang typed/racket

View File

@ -1,9 +1,10 @@
#;
(
TR opt: known-vector-length.rkt 11:5 (vector-length (ann (vector 1 2) (Vector Integer Integer))) -- known-length vector-length
TR opt: known-vector-length.rkt 11:0 (+ 2 (vector-length (ann (vector 1 2) (Vector Integer Integer)))) -- fixnum bounded expr
#<<END
TR opt: known-vector-length.rkt 12:5 (vector-length (ann (vector 1 2) (Vector Integer Integer))) -- known-length vector-length
TR opt: known-vector-length.rkt 12:0 (+ 2 (vector-length (ann (vector 1 2) (Vector Integer Integer)))) -- fixnum bounded expr
4
)
END
#lang typed/scheme
#:optimize

View File

@ -1,9 +1,10 @@
#;
(
TR opt: let-float.rkt 11:9 (+ 3.0 2.0) -- binary float
TR opt: let-float.rkt 12:2 (* 9.0 x) -- binary float
#<<END
TR opt: let-float.rkt 12:9 (+ 3.0 2.0) -- binary float
TR opt: let-float.rkt 13:2 (* 9.0 x) -- binary float
45.0
)
END
#lang typed/scheme
#:optimize

View File

@ -1,8 +1,9 @@
#;
(
TR opt: let-rhs.rkt 12:9 (+ 1.0 2.0) -- binary float
#<<END
TR opt: let-rhs.rkt 13:9 (+ 1.0 2.0) -- binary float
3.0
)
END
#lang typed/scheme
#:optimize

View File

@ -1,25 +1,26 @@
#;
(
TR opt: list.rkt 27:0 (first l) -- pair
TR opt: list.rkt 28:0 (rest l) -- pair
TR opt: list.rkt 29:0 (second l) -- pair
TR opt: list.rkt 29:0 (second l) -- pair
TR missed opt: list.rkt 30:0 (rest (rest l)) -- car/cdr on a potentially empty list -- caused by: 30:6 (rest l)
TR opt: list.rkt 30:6 (rest l) -- pair
TR opt: list.rkt 31:0 (third l) -- pair
TR opt: list.rkt 31:0 (third l) -- pair
TR opt: list.rkt 31:0 (third l) -- pair
TR opt: list.rkt 32:0 (fourth l) -- pair
TR opt: list.rkt 32:0 (fourth l) -- pair
TR opt: list.rkt 32:0 (fourth l) -- pair
TR opt: list.rkt 32:0 (fourth l) -- pair
#<<END
TR opt: list.rkt 28:0 (first l) -- pair
TR opt: list.rkt 29:0 (rest l) -- pair
TR opt: list.rkt 30:0 (second l) -- pair
TR opt: list.rkt 30:0 (second l) -- pair
TR missed opt: list.rkt 31:0 (rest (rest l)) -- car/cdr on a potentially empty list -- caused by: 31:6 (rest l)
TR opt: list.rkt 31:6 (rest l) -- pair
TR opt: list.rkt 32:0 (third l) -- pair
TR opt: list.rkt 32:0 (third l) -- pair
TR opt: list.rkt 32:0 (third l) -- pair
TR opt: list.rkt 33:0 (fourth l) -- pair
TR opt: list.rkt 33:0 (fourth l) -- pair
TR opt: list.rkt 33:0 (fourth l) -- pair
TR opt: list.rkt 33:0 (fourth l) -- pair
1
'(2 3 4)
2
'(3 4)
3
4
)
END
#lang typed/racket

View File

@ -1,9 +1,10 @@
#;
(
TR opt: literal-int.rkt 13:0 (+ 1 2.0) -- binary float
#<<END
TR opt: literal-int.rkt 14:0 (+ 1 2.0) -- binary float
3.0
1
)
END
#lang typed/scheme
#:optimize

View File

@ -1,9 +1,10 @@
#;
(
TR opt: magnitude.rkt 13:11 3.0+4.0i -- unboxed literal
TR opt: magnitude.rkt 13:0 (magnitude 3.0+4.0i) -- unboxed unary float complex
#<<END
TR opt: magnitude.rkt 14:11 3.0+4.0i -- unboxed literal
TR opt: magnitude.rkt 14:0 (magnitude 3.0+4.0i) -- unboxed unary float complex
5.0
)
END
#lang typed/racket/base
#:optimize

View File

@ -1,10 +1,11 @@
#;
(
TR opt: make-flrectangular.rkt 12:0 (make-rectangular 1.0 2.2) -- binary float comp
TR opt: make-flrectangular.rkt 13:0 (make-flrectangular 1.0 2.2) -- binary float comp
#<<END
TR opt: make-flrectangular.rkt 13:0 (make-rectangular 1.0 2.2) -- binary float comp
TR opt: make-flrectangular.rkt 14:0 (make-flrectangular 1.0 2.2) -- binary float comp
1.0+2.2i
1.0+2.2i
)
END
#lang typed/scheme
#:optimize

View File

@ -1,21 +1,22 @@
#;
(
TR opt: make-polar.rkt 27:6 (make-polar 1.0 1.0) -- make-rectangular elimination
TR opt: make-polar.rkt 27:6 (make-polar 1.0 1.0) -- make-polar
TR opt: make-polar.rkt 31:50 p -- unbox float-complex
TR opt: make-polar.rkt 31:39 (real-part p) -- unboxed unary float complex
TR opt: make-polar.rkt 30:12 1.0+2.0i -- unboxed literal
TR opt: make-polar.rkt 30:21 (make-polar 2.0 4.0) -- make-rectangular elimination
TR opt: make-polar.rkt 30:9 (+ 1.0+2.0i (make-polar 2.0 4.0)) -- unboxed binary float complex
TR opt: make-polar.rkt 30:0 (let ((p (+ 1.0+2.0i (make-polar 2.0 4.0)))) (string-append (real->decimal-string (real-part p) 3) (real->decimal-string (imag-part p) 3))) -- unboxed let bindings
TR opt: make-polar.rkt 31:50 p -- unboxed complex variable
TR opt: make-polar.rkt 31:50 p -- leave var unboxed
TR opt: make-polar.rkt 31:39 (real-part p) -- complex accessor elimination
#<<END
TR opt: make-polar.rkt 28:6 (make-polar 1.0 1.0) -- make-rectangular elimination
TR opt: make-polar.rkt 28:6 (make-polar 1.0 1.0) -- make-polar
TR opt: make-polar.rkt 32:50 p -- unbox float-complex
TR opt: make-polar.rkt 32:39 (real-part p) -- unboxed unary float complex
TR opt: make-polar.rkt 31:12 1.0+2.0i -- unboxed literal
TR opt: make-polar.rkt 31:21 (make-polar 2.0 4.0) -- make-rectangular elimination
TR opt: make-polar.rkt 31:9 (+ 1.0+2.0i (make-polar 2.0 4.0)) -- unboxed binary float complex
TR opt: make-polar.rkt 31:0 (let ((p (+ 1.0+2.0i (make-polar 2.0 4.0)))) (string-append (real->decimal-string (real-part p) 3) (real->decimal-string (imag-part p) 3))) -- unboxed let bindings
TR opt: make-polar.rkt 32:50 p -- unboxed complex variable
TR opt: make-polar.rkt 32:50 p -- leave var unboxed
TR opt: make-polar.rkt 32:39 (imag-part p) -- complex accessor elimination
TR opt: make-polar.rkt 32:39 (real-part p) -- complex accessor elimination
TR opt: make-polar.rkt 33:50 p -- unboxed complex variable
TR opt: make-polar.rkt 33:50 p -- leave var unboxed
TR opt: make-polar.rkt 33:39 (imag-part p) -- complex accessor elimination
"-0.3070.486"
)
END
#lang typed/scheme
#:optimize

View File

@ -1,10 +1,11 @@
#;
(
TR opt: maybe-exact-complex.rkt 14:3 1.0+2.0i -- unboxed literal
TR opt: maybe-exact-complex.rkt 14:12 2+4i -- unboxed literal
TR opt: maybe-exact-complex.rkt 14:0 (+ 1.0+2.0i 2+4i) -- unboxed binary float complex
#<<END
TR opt: maybe-exact-complex.rkt 15:3 1.0+2.0i -- unboxed literal
TR opt: maybe-exact-complex.rkt 15:12 2+4i -- unboxed literal
TR opt: maybe-exact-complex.rkt 15:0 (+ 1.0+2.0i 2+4i) -- unboxed binary float complex
3.0+6.0i
)
END
#lang typed/scheme
#:optimize

View File

@ -1,10 +1,11 @@
#;
(
TR opt: module-path.rkt 12:0 (unless (module-path? 2) #f) -- dead then branch
#<<END
TR opt: module-path.rkt 13:0 (unless (module-path? 2) #f) -- dead then branch
#t
#f
#f
)
END
#lang typed/racket #:optimize
(if (module-path? "a") #t #f)

View File

@ -1,15 +1,16 @@
#;
(
TR opt: mpair.rkt 19:0 (mcar x) -- pair
TR opt: mpair.rkt 20:0 (mcdr x) -- pair
TR opt: mpair.rkt 21:0 (set-mcar! x (+ 1 2)) -- pair
TR opt: mpair.rkt 21:13 (+ 1 2) -- fixnum bounded expr
TR opt: mpair.rkt 22:0 (set-mcdr! x (+ 1.0 2.0)) -- pair
TR opt: mpair.rkt 22:13 (+ 1.0 2.0) -- binary float
TR opt: mpair.rkt 28:6 (mcar x) -- pair
#<<END
TR opt: mpair.rkt 20:0 (mcar x) -- pair
TR opt: mpair.rkt 21:0 (mcdr x) -- pair
TR opt: mpair.rkt 22:0 (set-mcar! x (+ 1 2)) -- pair
TR opt: mpair.rkt 22:13 (+ 1 2) -- fixnum bounded expr
TR opt: mpair.rkt 23:0 (set-mcdr! x (+ 1.0 2.0)) -- pair
TR opt: mpair.rkt 23:13 (+ 1.0 2.0) -- binary float
TR opt: mpair.rkt 29:6 (mcar x) -- pair
1
1.0
)
END
#lang typed/scheme
#:optimize

View File

@ -1,17 +1,18 @@
#;
(
TR opt: multi-flcomp.rkt 18:0 (<= 1.0 2.0 3.0) -- multi float comp
TR opt: multi-flcomp.rkt 20:0 (<= 1.0 2.0 3.0 4.0) -- multi float comp
TR opt: multi-flcomp.rkt 21:16 (+ 2.0 2.0) -- binary float
TR opt: multi-flcomp.rkt 21:0 (<= 1.0 2.0 3.0 (+ 2.0 2.0)) -- multi float comp
TR opt: multi-flcomp.rkt 22:12 (+ 2.0 2.0) -- binary float
TR opt: multi-flcomp.rkt 22:0 (<= 1.0 2.0 (+ 2.0 2.0) 3.0) -- multi float comp
#<<END
TR opt: multi-flcomp.rkt 19:0 (<= 1.0 2.0 3.0) -- multi float comp
TR opt: multi-flcomp.rkt 21:0 (<= 1.0 2.0 3.0 4.0) -- multi float comp
TR opt: multi-flcomp.rkt 22:16 (+ 2.0 2.0) -- binary float
TR opt: multi-flcomp.rkt 22:0 (<= 1.0 2.0 3.0 (+ 2.0 2.0)) -- multi float comp
TR opt: multi-flcomp.rkt 23:12 (+ 2.0 2.0) -- binary float
TR opt: multi-flcomp.rkt 23:0 (<= 1.0 2.0 (+ 2.0 2.0) 3.0) -- multi float comp
#t
#t
#t
#t
#f
)
END
#lang typed/racket

Some files were not shown because too many files have changed in this diff Show More