diff --git a/collects/tests/typed-scheme/optimizer/missed-optimizations/all-real.rkt b/collects/tests/typed-scheme/optimizer/missed-optimizations/all-real.rkt index dfd5d252..d80163fc 100644 --- a/collects/tests/typed-scheme/optimizer/missed-optimizations/all-real.rkt +++ b/collects/tests/typed-scheme/optimizer/missed-optimizations/all-real.rkt @@ -1,10 +1,10 @@ #; ( -TR missed opt: all-real.rkt 24:0 (#%app + (quote 3) (quote 4)) -- binary, args all float-arg-expr, return type not Float -- caused by: 24:8 (quote 3), 24:21 (quote 4) -TR missed opt: all-real.rkt 25:0 (#%app * (quote 3) (quote 4)) -- binary, args all float-arg-expr, return type not Float -- caused by: 25:8 (quote 3), 25:21 (quote 4) - 7 - 12 - ) +TR missed opt: all-real.rkt 24:0 (+ (ann 3 Real) (ann 4 Real)) -- binary, args all float-arg-expr, return type not Float -- caused by: 24:8 (quote 3), 24:21 (quote 4) +TR missed opt: all-real.rkt 25:0 (* (ann 3 Real) (ann 4 Real)) -- binary, args all float-arg-expr, return type not Float -- caused by: 25:8 (quote 3), 25:21 (quote 4) +7 +12 +) #lang typed/racket diff --git a/collects/tests/typed-scheme/optimizer/missed-optimizations/multiple-irritants.rkt b/collects/tests/typed-scheme/optimizer/missed-optimizations/multiple-irritants.rkt index f9f0a66a..366591f7 100644 --- a/collects/tests/typed-scheme/optimizer/missed-optimizations/multiple-irritants.rkt +++ b/collects/tests/typed-scheme/optimizer/missed-optimizations/multiple-irritants.rkt @@ -1,6 +1,6 @@ #; ( -TR missed opt: multiple-irritants.rkt 9:0 (#%app * (quote 4) (quote 5) (quote 6.0)) -- binary, args all float-arg-expr, return type not Float -- caused by: 9:8 (quote 4), 9:24 (quote 5) +TR missed opt: multiple-irritants.rkt 9:0 (* (ann 4 Integer) (ann 5 Integer) 6.0) -- binary, args all float-arg-expr, return type not Float -- caused by: 9:8 (quote 4), 9:24 (quote 5) 120.0 ) diff --git a/collects/tests/typed-scheme/optimizer/missed-optimizations/nested-same-kind.rkt b/collects/tests/typed-scheme/optimizer/missed-optimizations/nested-same-kind.rkt index 3fcfaacc..293bef96 100644 --- a/collects/tests/typed-scheme/optimizer/missed-optimizations/nested-same-kind.rkt +++ b/collects/tests/typed-scheme/optimizer/missed-optimizations/nested-same-kind.rkt @@ -1,14 +1,14 @@ #; ( -TR missed opt: nested-same-kind.rkt 25:0 (#%app * (quote 2.0) (#%app * (quote 3.0) (quote 4))) -- binary, args all float-arg-expr, return type not Float -- caused by: 25:19 (quote 4) -TR missed opt: nested-same-kind.rkt 25:0 (#%app * (quote 2.0) (#%app * (quote 3.0) (quote 4))) -- exact arithmetic subexpression inside a float expression, extra precision discarded -- caused by: 25:7 (#%app * (quote 3.0) (quote 4)) -TR missed opt: nested-same-kind.rkt 26:0 (#%app * (quote 1.0) (#%app * (quote 2.0) (#%app * (quote 3.0) (quote 4)))) -- binary, args all float-arg-expr, return type not Float -- caused by: 26:26 (quote 4) -TR missed opt: nested-same-kind.rkt 26:0 (#%app * (quote 1.0) (#%app * (quote 2.0) (#%app * (quote 3.0) (quote 4)))) -- exact arithmetic subexpression inside a float expression, extra precision discarded -- caused by: 26:14 (#%app * (quote 3.0) (quote 4)) -TR missed opt: nested-same-kind.rkt 27:0 (#%app * (quote 2.0) (#%app * (quote 3.0) (quote 4) (quote 5))) -- binary, args all float-arg-expr, return type not Float -- caused by: 27:19 (quote 4), 27:35 (quote 5) -TR missed opt: nested-same-kind.rkt 27:0 (#%app * (quote 2.0) (#%app * (quote 3.0) (quote 4) (quote 5))) -- exact arithmetic subexpression inside a float expression, extra precision discarded -- caused by: 27:7 (#%app * (quote 3.0) (quote 4) (quote 5)) -TR missed opt: nested-same-kind.rkt 28:0 (#%app * (#%app * (quote 3.0) (quote 4)) (#%app * (quote 3.0) (quote 4))) -- binary, args all float-arg-expr, return type not Float -- caused by: 28:15 (quote 4), 28:39 (quote 4) -TR missed opt: nested-same-kind.rkt 28:0 (#%app * (#%app * (quote 3.0) (quote 4)) (#%app * (quote 3.0) (quote 4))) -- exact arithmetic subexpression inside a float expression, extra precision discarded -- caused by: 28:27 (#%app * (quote 3.0) (quote 4)) -TR missed opt: nested-same-kind.rkt 28:0 (#%app * (#%app * (quote 3.0) (quote 4)) (#%app * (quote 3.0) (quote 4))) -- exact arithmetic subexpression inside a float expression, extra precision discarded -- caused by: 28:3 (#%app * (quote 3.0) (quote 4)) +TR missed opt: nested-same-kind.rkt 25:0 (* 2.0 (* 3.0 (ann 4 Integer))) -- binary, args all float-arg-expr, return type not Float -- caused by: 25:19 (quote 4) +TR missed opt: nested-same-kind.rkt 25:0 (* 2.0 (* 3.0 (ann 4 Integer))) -- exact arithmetic subexpression inside a float expression, extra precision discarded -- caused by: 25:7 (#%app * (quote 3.0) (quote 4)) +TR missed opt: nested-same-kind.rkt 26:0 (* 1.0 (* 2.0 (* 3.0 (ann 4 Integer)))) -- binary, args all float-arg-expr, return type not Float -- caused by: 26:26 (quote 4) +TR missed opt: nested-same-kind.rkt 26:0 (* 1.0 (* 2.0 (* 3.0 (ann 4 Integer)))) -- exact arithmetic subexpression inside a float expression, extra precision discarded -- caused by: 26:14 (#%app * (quote 3.0) (quote 4)) +TR missed opt: nested-same-kind.rkt 27:0 (* 2.0 (* 3.0 (ann 4 Integer) (ann 5 Integer))) -- binary, args all float-arg-expr, return type not Float -- caused by: 27:19 (quote 4), 27:35 (quote 5) +TR missed opt: nested-same-kind.rkt 27:0 (* 2.0 (* 3.0 (ann 4 Integer) (ann 5 Integer))) -- exact arithmetic subexpression inside a float expression, extra precision discarded -- caused by: 27:7 (#%app * (quote 3.0) (quote 4) (quote 5)) +TR missed opt: nested-same-kind.rkt 28:0 (* (* 3.0 (ann 4 Integer)) (* 3.0 (ann 4 Integer))) -- binary, args all float-arg-expr, return type not Float -- caused by: 28:15 (quote 4), 28:39 (quote 4) +TR missed opt: nested-same-kind.rkt 28:0 (* (* 3.0 (ann 4 Integer)) (* 3.0 (ann 4 Integer))) -- exact arithmetic subexpression inside a float expression, extra precision discarded -- caused by: 28:27 (#%app * (quote 3.0) (quote 4)) +TR missed opt: nested-same-kind.rkt 28:0 (* (* 3.0 (ann 4 Integer)) (* 3.0 (ann 4 Integer))) -- exact arithmetic subexpression inside a float expression, extra precision discarded -- caused by: 28:3 (#%app * (quote 3.0) (quote 4)) 24.0 24.0 120.0 diff --git a/collects/tests/typed-scheme/optimizer/missed-optimizations/pair.rkt b/collects/tests/typed-scheme/optimizer/missed-optimizations/pair.rkt index 889f3e0c..ee71c8fc 100644 --- a/collects/tests/typed-scheme/optimizer/missed-optimizations/pair.rkt +++ b/collects/tests/typed-scheme/optimizer/missed-optimizations/pair.rkt @@ -1,38 +1,38 @@ #; ( -TR missed opt: pair.rkt 58:0 (#%app car (#%app list (quote 1) (quote 2) (quote 3))) -- car/cdr on a potentially empty list -- caused by: 58:10 (#%app list (quote 1) (quote 2) (quote 3)) +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 (#%app list (quote 1) (quote 2) (quote 3)) TR opt: pair.rkt 59:1 car -- pair -TR missed opt: pair.rkt 60:0 (#%app cdr (#%app list (quote 1) (quote 2) (quote 3))) -- car/cdr on a potentially empty list -- caused by: 60:10 (#%app list (quote 1) (quote 2) (quote 3)) +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 (#%app list (quote 1) (quote 2) (quote 3)) TR opt: pair.rkt 61:1 cdr -- pair TR opt: pair.rkt 62:1 cdr -- pair TR opt: pair.rkt 62:6 cdr -- pair TR opt: pair.rkt 63:1 cdr -- pair TR opt: pair.rkt 63:6 cdr -- pair TR opt: pair.rkt 63:11 cdr -- pair -TR missed opt: pair.rkt 64:16 (#%app cdr (#%app cdr (#%app cdr (#%app cdr (#%app list (quote 1) (quote 2) (quote 3)))))) -- car/cdr on a potentially empty list -- caused by: 64:21 (#%app cdr (#%app cdr (#%app cdr (#%app list (quote 1) (quote 2) (quote 3))))) +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 (#%app cdr (#%app cdr (#%app cdr (#%app list (quote 1) (quote 2) (quote 3))))) TR opt: pair.rkt 64:22 cdr -- pair TR opt: pair.rkt 64:27 cdr -- pair TR opt: pair.rkt 64:32 cdr -- pair -TR missed opt: pair.rkt 67:0 (#%app mcar (#%app mcons (quote 1) null)) -- mpair op on a potentially empty mlist -- caused by: (no location) (#%app mcons (quote 1) null) +TR missed opt: pair.rkt 67:0 (mcar (ann (mlist 1) (MListof Byte))) -- mpair op on a potentially empty mlist -- caused by: (no location) (#%app mcons (quote 1) null) TR opt: pair.rkt 68:1 mcar -- mutable pair -TR missed opt: pair.rkt 69:0 (#%app mcdr (#%app mcons (quote 1) null)) -- mpair op on a potentially empty mlist -- caused by: (no location) (#%app mcons (quote 1) null) +TR missed opt: pair.rkt 69:0 (mcdr (ann (mlist 1) (MListof Byte))) -- mpair op on a potentially empty mlist -- caused by: (no location) (#%app mcons (quote 1) null) TR opt: pair.rkt 70:1 mcdr -- mutable pair TR opt: pair.rkt 71:1 mcdr -- mutable pair TR opt: pair.rkt 71:7 mcdr -- mutable pair TR opt: pair.rkt 72:1 mcdr -- mutable pair TR opt: pair.rkt 72:7 mcdr -- mutable pair TR opt: pair.rkt 72:13 mcdr -- mutable pair -TR missed opt: pair.rkt 73:0 (#%app set-mcar! (#%app mcons (quote 2) null) (quote 2)) -- mpair op on a potentially empty mlist -- caused by: (no location) (#%app mcons (quote 2) null) +TR missed opt: pair.rkt 73:0 (set-mcar! (ann (mlist 2) (MListof Byte)) 2) -- mpair op on a potentially empty mlist -- caused by: (no location) (#%app mcons (quote 2) null) TR opt: pair.rkt 74:1 set-mcar! -- mutable pair -TR missed opt: pair.rkt 75:0 (#%app set-mcdr! (#%app mcons (quote 2) null) (#%app mcons (quote 2) null)) -- mpair op on a potentially empty mlist -- caused by: (no location) (#%app mcons (quote 2) null) +TR missed opt: pair.rkt 75:0 (set-mcdr! (ann (mlist 2) (MListof Byte)) (ann (mlist 2) (MListof Byte))) -- mpair op on a potentially empty mlist -- caused by: (no location) (#%app mcons (quote 2) null) TR opt: pair.rkt 77:1 mcar -- mutable pair TR opt: pair.rkt 78:1 mcdr -- mutable pair TR opt: pair.rkt 79:1 set-mcar! -- mutable pair TR opt: pair.rkt 80:1 set-mcdr! -- mutable pair -TR missed opt: pair.rkt 81:17 (#%app mcar (quote ())) -- mpair op on a potentially empty mlist -- caused by: 81:23 (quote ()) -TR missed opt: pair.rkt 82:17 (#%app mcdr (quote ())) -- mpair op on a potentially empty mlist -- caused by: 82:23 (quote ()) -TR missed opt: pair.rkt 83:17 (#%app set-mcar! (quote ()) (quote 2)) -- mpair op on a potentially empty mlist -- caused by: 83:28 (quote ()) -TR missed opt: pair.rkt 84:17 (#%app set-mcdr! (quote ()) (#%app mcons (quote 3) null)) -- mpair op on a potentially empty mlist -- caused by: 84:33 (quote ()) +TR missed opt: pair.rkt 81:17 (mcar (quote ())) -- mpair op on a potentially empty mlist -- caused by: 81:23 (quote ()) +TR missed opt: pair.rkt 82:17 (mcdr (quote ())) -- mpair op on a potentially empty mlist -- caused by: 82:23 (quote ()) +TR missed opt: pair.rkt 83:17 (set-mcar! (quote ()) 2) -- mpair op on a potentially empty mlist -- caused by: 83:28 (quote ()) +TR missed opt: pair.rkt 84:17 (set-mcdr! (ann (quote ()) (MListof Integer)) (ann (mlist 3) (MListof Integer))) -- mpair op on a potentially empty mlist -- caused by: 84:33 (quote ()) 1 1 '(2 3) @@ -47,7 +47,7 @@ TR missed opt: pair.rkt 84:17 (#%app set-mcdr! (quote ()) (#%app mcons (quote 3) '() 2 3 - ) +) #lang typed/racket (require racket/mpair) diff --git a/collects/tests/typed-scheme/optimizer/missed-optimizations/precision-loss.rkt b/collects/tests/typed-scheme/optimizer/missed-optimizations/precision-loss.rkt index 450d5b16..a1a02f6d 100644 --- a/collects/tests/typed-scheme/optimizer/missed-optimizations/precision-loss.rkt +++ b/collects/tests/typed-scheme/optimizer/missed-optimizations/precision-loss.rkt @@ -1,19 +1,19 @@ #; ( -TR missed opt: precision-loss.rkt 24:0 (#%app + (#%app * (quote 3/4) (quote 2/3)) (quote 2.0)) -- exact arithmetic subexpression inside a float expression, extra precision discarded -- caused by: 24:3 (#%app * (quote 3/4) (quote 2/3)) +TR missed opt: precision-loss.rkt 24:0 (+ (* 3/4 2/3) 2.0) -- exact arithmetic subexpression inside a float expression, extra precision discarded -- caused by: 24:3 (#%app * (quote 3/4) (quote 2/3)) TR opt: precision-loss.rkt 24:1 + -- binary float TR opt: precision-loss.rkt 26:1 + -- binary float -TR missed opt: precision-loss.rkt 28:0 (#%app + (#%app - (quote 3/4)) (quote 2.0)) -- exact arithmetic subexpression inside a float expression, extra precision discarded -- caused by: 28:3 (#%app - (quote 3/4)) +TR missed opt: precision-loss.rkt 28:0 (+ (- 3/4) 2.0) -- exact arithmetic subexpression inside a float expression, extra precision discarded -- caused by: 28:3 (#%app - (quote 3/4)) TR opt: precision-loss.rkt 28:1 + -- binary float TR opt: precision-loss.rkt 30:1 + -- binary float -TR missed opt: precision-loss.rkt 36:0 (#%app * (#%app * (quote 3/4) (quote 2/3)) (quote 2.0)) -- binary, args all float-arg-expr, return type not Float -- caused by: 36:11 (quote 3/4), 36:15 (quote 2/3) -TR missed opt: precision-loss.rkt 36:0 (#%app * (#%app * (quote 3/4) (quote 2/3)) (quote 2.0)) -- exact arithmetic subexpression inside a float expression, extra precision discarded -- caused by: 36:8 (#%app * (quote 3/4) (quote 2/3)) +TR missed opt: precision-loss.rkt 36:0 (* (ann (* 3/4 2/3) Real) 2.0) -- binary, args all float-arg-expr, return type not Float -- caused by: 36:11 (quote 3/4), 36:15 (quote 2/3) +TR missed opt: precision-loss.rkt 36:0 (* (ann (* 3/4 2/3) Real) 2.0) -- exact arithmetic subexpression inside a float expression, extra precision discarded -- caused by: 36:8 (#%app * (quote 3/4) (quote 2/3)) 2.5 2.75 1.25 2.5 1.0 - ) +) #lang typed/racket diff --git a/collects/tests/typed-scheme/optimizer/missed-optimizations/real-in-float-expr.rkt b/collects/tests/typed-scheme/optimizer/missed-optimizations/real-in-float-expr.rkt index f02ccc63..cfcd84ee 100644 --- a/collects/tests/typed-scheme/optimizer/missed-optimizations/real-in-float-expr.rkt +++ b/collects/tests/typed-scheme/optimizer/missed-optimizations/real-in-float-expr.rkt @@ -1,17 +1,17 @@ #; ( -TR missed opt: real-in-float-expr.rkt 17:0 (#%app * (quote 3) (quote 2.3)) -- binary, args all float-arg-expr, return type not Float -- caused by: 17:8 (quote 3) +TR missed opt: real-in-float-expr.rkt 17:0 (* (ann 3 Real) 2.3) -- binary, args all float-arg-expr, return type not Float -- caused by: 17:8 (quote 3) TR opt: real-in-float-expr.rkt 22:1 * -- fixnum bounded expr TR opt: real-in-float-expr.rkt 23:1 + -- fixnum bounded expr -TR missed opt: real-in-float-expr.rkt 26:0 (#%app * (quote 2) (quote 2.0)) -- binary, args all float-arg-expr, return type not Float -- caused by: 26:8 (quote 2) - 6.8999999999999995 - 6 - 5 - 6 - 5 - 17/12 - 4.0 - ) +TR missed opt: real-in-float-expr.rkt 26:0 (* (ann 2 Natural) 2.0) -- binary, args all float-arg-expr, return type not Float -- caused by: 26:8 (quote 2) +6.8999999999999995 +6 +5 +6 +5 +17/12 +4.0 +) #lang typed/racket (* (ann 3 Real) ; with type Real, typechecker must assume it could be exact 0 diff --git a/collects/tests/typed-scheme/optimizer/missed-optimizations/unary-float.rkt b/collects/tests/typed-scheme/optimizer/missed-optimizations/unary-float.rkt index f55ad271..99ed7389 100644 --- a/collects/tests/typed-scheme/optimizer/missed-optimizations/unary-float.rkt +++ b/collects/tests/typed-scheme/optimizer/missed-optimizations/unary-float.rkt @@ -1,8 +1,8 @@ #; ( -TR missed opt: unary-float.rkt 14:0 (#%app sin (quote 3.4)) -- unary, arg float-arg-expr, return type not Float -TR missed opt: unary-float.rkt 15:0 (#%app sin (quote 3)) -- unary, arg float-arg-expr, return type not Float -TR missed opt: unary-float.rkt 16:0 (#%app abs (quote 3.4)) -- unary, arg float-arg-expr, return type not Float +TR missed opt: unary-float.rkt 14:0 (sin (ann 3.4 Real)) -- unary, arg float-arg-expr, return type not Float +TR missed opt: unary-float.rkt 15:0 (sin 3) -- unary, arg float-arg-expr, return type not Float +TR missed opt: unary-float.rkt 16:0 (abs (ann 3.4 Real)) -- unary, arg float-arg-expr, return type not Float -0.2555411020268312 0.1411200080598672 3.4 diff --git a/collects/tests/typed-scheme/optimizer/missed-optimizations/unexpected-complex.rkt b/collects/tests/typed-scheme/optimizer/missed-optimizations/unexpected-complex.rkt index b6902908..904ba023 100644 --- a/collects/tests/typed-scheme/optimizer/missed-optimizations/unexpected-complex.rkt +++ b/collects/tests/typed-scheme/optimizer/missed-optimizations/unexpected-complex.rkt @@ -1,13 +1,13 @@ #; ( -TR missed opt: unexpected-complex.rkt 16:0 (#%app sqrt (quote 4)) -- unexpected complex type -TR opt: unexpected-complex.rkt 17:0 (#%app + (quote 1.2+3.4i) (quote 2.0)) -- unboxed float complex +TR missed opt: unexpected-complex.rkt 16:0 (sqrt (ann 4 Integer)) -- unexpected complex type +TR opt: unexpected-complex.rkt 17:0 (+ 1.2+3.4i 2.0) -- unboxed float complex TR opt: unexpected-complex.rkt 17:1 + -- unboxed binary float complex TR opt: unexpected-complex.rkt 17:3 1.2+3.4i -- unboxed literal -TR opt: unexpected-complex.rkt 17:12 (quote 2.0) -- float-arg-expr in complex ops +TR opt: unexpected-complex.rkt 17:12 2.0 -- float-arg-expr in complex ops 2 3.2+3.4i - ) +) #lang typed/racket diff --git a/collects/tests/typed-scheme/optimizer/tests/cross-module-struct.rkt b/collects/tests/typed-scheme/optimizer/tests/cross-module-struct.rkt index 0959962c..c9159bba 100644 --- a/collects/tests/typed-scheme/optimizer/tests/cross-module-struct.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/cross-module-struct.rkt @@ -1,5 +1,6 @@ #; -() +( +) #lang typed/scheme #:optimize diff --git a/collects/tests/typed-scheme/optimizer/tests/dead-else.rkt b/collects/tests/typed-scheme/optimizer/tests/dead-else.rkt index 495e1396..4afaa1ba 100644 --- a/collects/tests/typed-scheme/optimizer/tests/dead-else.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/dead-else.rkt @@ -1,11 +1,10 @@ #; ( -TR opt: dead-else.rkt 14:14 + -- binary float -TR opt: dead-else.rkt 15:13 (#%app + (quote 4.0) (quote 5.0)) -- dead else branch -TR opt: dead-else.rkt 17:14 + -- binary float -TR opt: dead-else.rkt 18:13 (#%app + (quote 4.0) (quote 5.0)) -- dead else branch -5.05.0 -) +TR opt: dead-else.rkt 13:14 + -- binary float +TR opt: dead-else.rkt 14:13 (+ 4.0 5.0) -- dead else branch +TR opt: dead-else.rkt 16:14 + -- binary float +TR opt: dead-else.rkt 17:13 (+ 4.0 5.0) -- dead else branch +5.05.0) #lang typed/scheme #:optimize diff --git a/collects/tests/typed-scheme/optimizer/tests/dead-then.rkt b/collects/tests/typed-scheme/optimizer/tests/dead-then.rkt index f97ce838..24ff3a5c 100644 --- a/collects/tests/typed-scheme/optimizer/tests/dead-then.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/dead-then.rkt @@ -1,11 +1,10 @@ #; ( -TR opt: dead-then.rkt 14:13 (#%app + (quote 2.0) (quote 3.0)) -- dead then branch -TR opt: dead-then.rkt 15:14 + -- binary float -TR opt: dead-then.rkt 17:13 (#%app + (quote 2.0) (quote 3.0)) -- dead then branch -TR opt: dead-then.rkt 18:14 + -- binary float -9.09.0 -) +TR opt: dead-then.rkt 13:13 (+ 2.0 3.0) -- dead then branch +TR opt: dead-then.rkt 14:14 + -- binary float +TR opt: dead-then.rkt 16:13 (+ 2.0 3.0) -- dead then branch +TR opt: dead-then.rkt 17:14 + -- binary float +9.09.0) #lang typed/scheme #:optimize diff --git a/collects/tests/typed-scheme/optimizer/tests/define-begin-float.rkt b/collects/tests/typed-scheme/optimizer/tests/define-begin-float.rkt index 5db4dc5d..488f786a 100644 --- a/collects/tests/typed-scheme/optimizer/tests/define-begin-float.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/define-begin-float.rkt @@ -1,9 +1,8 @@ #; ( -TR opt: define-begin-float.rkt 11:27 - -- binary float -TR opt: define-begin-float.rkt 12:18 * -- binary float --1.0 -) +TR opt: define-begin-float.rkt 10:27 - -- binary float +TR opt: define-begin-float.rkt 11:18 * -- binary float +-1.0) #lang typed/scheme #:optimize diff --git a/collects/tests/typed-scheme/optimizer/tests/derived-pair.rkt b/collects/tests/typed-scheme/optimizer/tests/derived-pair.rkt index 9bd521f8..056592a3 100644 --- a/collects/tests/typed-scheme/optimizer/tests/derived-pair.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/derived-pair.rkt @@ -1,15 +1,13 @@ #; ( -TR opt: derived-pair.rkt 21:0 (#%app caar (#%app cons (#%app cons (quote 1) (quote 2)) (quote 3))) -- derived pair -TR opt: derived-pair.rkt 21:0 car -- pair -TR opt: derived-pair.rkt 22:0 (#%app cadr (#%app cons (quote 1) (#%app cons (quote 2) (quote 3)))) -- derived pair -TR opt: derived-pair.rkt 22:0 car -- pair -TR opt: derived-pair.rkt 22:0 cdr -- pair -TR opt: derived-pair.rkt 23:0 (#%app cdar (#%app cons (#%app cons (quote 1) (quote 2)) (quote 3))) -- derived pair -TR opt: derived-pair.rkt 23:0 car -- pair -TR opt: derived-pair.rkt 23:0 cdr -- pair -TR opt: derived-pair.rkt 24:0 (#%app cddr (#%app cons (quote 1) (#%app cons (quote 2) (quote 3)))) -- derived pair -TR opt: derived-pair.rkt 24:0 cdr -- pair +TR opt: derived-pair.rkt 19:0 (caar (cons (cons 1 2) 3)) -- derived pair +TR opt: derived-pair.rkt 19:0 (caar (cons (cons 1 2) 3)) -- pair +TR opt: derived-pair.rkt 20:0 (cadr (cons 1 (cons 2 3))) -- derived pair +TR opt: derived-pair.rkt 20:0 (cadr (cons 1 (cons 2 3))) -- pair +TR opt: derived-pair.rkt 21:0 (cdar (cons (cons 1 2) 3)) -- derived pair +TR opt: derived-pair.rkt 21:0 (cdar (cons (cons 1 2) 3)) -- pair +TR opt: derived-pair.rkt 22:0 (cddr (cons 1 (cons 2 3))) -- derived pair +TR opt: derived-pair.rkt 22:0 (cddr (cons 1 (cons 2 3))) -- pair 1 2 2 diff --git a/collects/tests/typed-scheme/optimizer/tests/derived-pair2.rkt b/collects/tests/typed-scheme/optimizer/tests/derived-pair2.rkt index 98bd0c75..095d5e84 100644 --- a/collects/tests/typed-scheme/optimizer/tests/derived-pair2.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/derived-pair2.rkt @@ -1,27 +1,21 @@ #; ( -TR opt: derived-pair2.rkt 37:0 (#%app caaar (#%app cons (#%app cons (#%app cons (quote 1) (quote 2)) (quote 3)) (quote 4))) -- derived pair -TR opt: derived-pair2.rkt 37:0 car -- pair -TR opt: derived-pair2.rkt 38:0 (#%app caadr (#%app cons (quote 1) (#%app cons (#%app cons (quote 2) (quote 3)) (quote 4)))) -- derived pair -TR opt: derived-pair2.rkt 38:0 car -- pair -TR opt: derived-pair2.rkt 38:0 cdr -- pair -TR opt: derived-pair2.rkt 39:0 (#%app cadar (#%app cons (#%app cons (quote 1) (#%app cons (quote 2) (quote 3))) (quote 4))) -- derived pair -TR opt: derived-pair2.rkt 39:0 car -- pair -TR opt: derived-pair2.rkt 39:0 cdr -- pair -TR opt: derived-pair2.rkt 40:0 (#%app caddr (#%app cons (quote 1) (#%app cons (quote 2) (#%app cons (quote 3) (quote 4))))) -- derived pair -TR opt: derived-pair2.rkt 40:0 car -- pair -TR opt: derived-pair2.rkt 40:0 cdr -- pair -TR opt: derived-pair2.rkt 41:0 (#%app cdaar (#%app cons (#%app cons (#%app cons (quote 1) (quote 2)) (quote 3)) (quote 4))) -- derived pair -TR opt: derived-pair2.rkt 41:0 car -- pair -TR opt: derived-pair2.rkt 41:0 cdr -- pair -TR opt: derived-pair2.rkt 42:0 (#%app cdadr (#%app cons (quote 1) (#%app cons (#%app cons (quote 2) (quote 3)) (quote 4)))) -- derived pair -TR opt: derived-pair2.rkt 42:0 car -- pair -TR opt: derived-pair2.rkt 42:0 cdr -- pair -TR opt: derived-pair2.rkt 43:0 (#%app cddar (#%app cons (#%app cons (quote 1) (#%app cons (quote 2) (quote 3))) (quote 4))) -- derived pair -TR opt: derived-pair2.rkt 43:0 car -- pair -TR opt: derived-pair2.rkt 43:0 cdr -- pair -TR opt: derived-pair2.rkt 44:0 (#%app cdddr (#%app cons (quote 1) (#%app cons (quote 2) (#%app cons (quote 3) (quote 4))))) -- derived pair -TR opt: derived-pair2.rkt 44:0 cdr -- pair +TR opt: derived-pair2.rkt 31:0 (caaar (cons (cons (cons 1 2) 3) 4)) -- derived pair +TR opt: derived-pair2.rkt 31:0 (caaar (cons (cons (cons 1 2) 3) 4)) -- pair +TR opt: derived-pair2.rkt 32:0 (caadr (cons 1 (cons (cons 2 3) 4))) -- derived pair +TR opt: derived-pair2.rkt 32:0 (caadr (cons 1 (cons (cons 2 3) 4))) -- pair +TR opt: derived-pair2.rkt 33:0 (cadar (cons (cons 1 (cons 2 3)) 4)) -- derived pair +TR opt: derived-pair2.rkt 33:0 (cadar (cons (cons 1 (cons 2 3)) 4)) -- pair +TR opt: derived-pair2.rkt 34:0 (caddr (cons 1 (cons 2 (cons 3 4)))) -- derived pair +TR opt: derived-pair2.rkt 34:0 (caddr (cons 1 (cons 2 (cons 3 4)))) -- pair +TR opt: derived-pair2.rkt 35:0 (cdaar (cons (cons (cons 1 2) 3) 4)) -- derived pair +TR opt: derived-pair2.rkt 35:0 (cdaar (cons (cons (cons 1 2) 3) 4)) -- pair +TR opt: derived-pair2.rkt 36:0 (cdadr (cons 1 (cons (cons 2 3) 4))) -- derived pair +TR opt: derived-pair2.rkt 36:0 (cdadr (cons 1 (cons (cons 2 3) 4))) -- pair +TR opt: derived-pair2.rkt 37:0 (cddar (cons (cons 1 (cons 2 3)) 4)) -- derived pair +TR opt: derived-pair2.rkt 37:0 (cddar (cons (cons 1 (cons 2 3)) 4)) -- pair +TR opt: derived-pair2.rkt 38:0 (cdddr (cons 1 (cons 2 (cons 3 4)))) -- derived pair +TR opt: derived-pair2.rkt 38:0 (cdddr (cons 1 (cons 2 (cons 3 4)))) -- pair 1 2 2 diff --git a/collects/tests/typed-scheme/optimizer/tests/derived-pair3.rkt b/collects/tests/typed-scheme/optimizer/tests/derived-pair3.rkt index 1ca5c696..e470fbce 100644 --- a/collects/tests/typed-scheme/optimizer/tests/derived-pair3.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/derived-pair3.rkt @@ -1,51 +1,37 @@ #; ( -TR opt: derived-pair3.rkt 69:0 (#%app caaaar (#%app cons (#%app cons (#%app cons (#%app cons (quote 1) (quote 2)) (quote 3)) (quote 4)) (quote 5))) -- derived pair -TR opt: derived-pair3.rkt 69:0 car -- pair -TR opt: derived-pair3.rkt 70:0 (#%app caaadr (#%app cons (quote 1) (#%app cons (#%app cons (#%app cons (quote 2) (quote 3)) (quote 4)) (quote 5)))) -- derived pair -TR opt: derived-pair3.rkt 70:0 car -- pair -TR opt: derived-pair3.rkt 70:0 cdr -- pair -TR opt: derived-pair3.rkt 71:0 (#%app caadar (#%app cons (#%app cons (quote 1) (#%app cons (#%app cons (quote 2) (quote 3)) (quote 4))) (quote 5))) -- derived pair -TR opt: derived-pair3.rkt 71:0 car -- pair -TR opt: derived-pair3.rkt 71:0 cdr -- pair -TR opt: derived-pair3.rkt 72:0 (#%app caaddr (#%app cons (quote 1) (#%app cons (quote 2) (#%app cons (#%app cons (quote 3) (quote 4)) (quote 5))))) -- derived pair -TR opt: derived-pair3.rkt 72:0 car -- pair -TR opt: derived-pair3.rkt 72:0 cdr -- pair -TR opt: derived-pair3.rkt 73:0 (#%app cadaar (#%app cons (#%app cons (#%app cons (quote 1) (#%app cons (quote 2) (quote 3))) (quote 4)) (quote 5))) -- derived pair -TR opt: derived-pair3.rkt 73:0 car -- pair -TR opt: derived-pair3.rkt 73:0 cdr -- pair -TR opt: derived-pair3.rkt 74:0 (#%app cadadr (#%app cons (quote 1) (#%app cons (#%app cons (quote 2) (#%app cons (quote 3) (quote 4))) (quote 5)))) -- derived pair -TR opt: derived-pair3.rkt 74:0 car -- pair -TR opt: derived-pair3.rkt 74:0 cdr -- pair -TR opt: derived-pair3.rkt 75:0 (#%app caddar (#%app cons (#%app cons (quote 1) (#%app cons (quote 2) (#%app cons (quote 3) (quote 4)))) (quote 5))) -- derived pair -TR opt: derived-pair3.rkt 75:0 car -- pair -TR opt: derived-pair3.rkt 75:0 cdr -- pair -TR opt: derived-pair3.rkt 76:0 (#%app cadddr (#%app cons (quote 1) (#%app cons (quote 2) (#%app cons (quote 3) (#%app cons (quote 4) (quote 5)))))) -- derived pair -TR opt: derived-pair3.rkt 76:0 car -- pair -TR opt: derived-pair3.rkt 76:0 cdr -- pair -TR opt: derived-pair3.rkt 77:0 (#%app cdaaar (#%app cons (#%app cons (#%app cons (#%app cons (quote 1) (quote 2)) (quote 3)) (quote 4)) (quote 5))) -- derived pair -TR opt: derived-pair3.rkt 77:0 car -- pair -TR opt: derived-pair3.rkt 77:0 cdr -- pair -TR opt: derived-pair3.rkt 78:0 (#%app cdaadr (#%app cons (quote 1) (#%app cons (#%app cons (#%app cons (quote 2) (quote 3)) (quote 4)) (quote 5)))) -- derived pair -TR opt: derived-pair3.rkt 78:0 car -- pair -TR opt: derived-pair3.rkt 78:0 cdr -- pair -TR opt: derived-pair3.rkt 79:0 (#%app cdadar (#%app cons (#%app cons (quote 1) (#%app cons (#%app cons (quote 2) (quote 3)) (quote 4))) (quote 5))) -- derived pair -TR opt: derived-pair3.rkt 79:0 car -- pair -TR opt: derived-pair3.rkt 79:0 cdr -- pair -TR opt: derived-pair3.rkt 80:0 (#%app cdaddr (#%app cons (quote 1) (#%app cons (quote 2) (#%app cons (#%app cons (quote 3) (quote 4)) (quote 5))))) -- derived pair -TR opt: derived-pair3.rkt 80:0 car -- pair -TR opt: derived-pair3.rkt 80:0 cdr -- pair -TR opt: derived-pair3.rkt 81:0 (#%app cddaar (#%app cons (#%app cons (#%app cons (quote 1) (#%app cons (quote 2) (quote 3))) (quote 4)) (quote 5))) -- derived pair -TR opt: derived-pair3.rkt 81:0 car -- pair -TR opt: derived-pair3.rkt 81:0 cdr -- pair -TR opt: derived-pair3.rkt 82:0 (#%app cddadr (#%app cons (quote 1) (#%app cons (#%app cons (quote 2) (#%app cons (quote 3) (quote 4))) (quote 5)))) -- derived pair -TR opt: derived-pair3.rkt 82:0 car -- pair -TR opt: derived-pair3.rkt 82:0 cdr -- pair -TR opt: derived-pair3.rkt 83:0 (#%app cdddar (#%app cons (#%app cons (quote 1) (#%app cons (quote 2) (#%app cons (quote 3) (quote 4)))) (quote 5))) -- derived pair -TR opt: derived-pair3.rkt 83:0 car -- pair -TR opt: derived-pair3.rkt 83:0 cdr -- pair -TR opt: derived-pair3.rkt 84:0 (#%app cddddr (#%app cons (quote 1) (#%app cons (quote 2) (#%app cons (quote 3) (#%app cons (quote 4) (quote 5)))))) -- derived pair -TR opt: derived-pair3.rkt 84:0 cdr -- pair +TR opt: derived-pair3.rkt 55:0 (caaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- derived pair +TR opt: derived-pair3.rkt 55:0 (caaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- pair +TR opt: derived-pair3.rkt 56:0 (caaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- derived pair +TR opt: derived-pair3.rkt 56:0 (caaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- pair +TR opt: derived-pair3.rkt 57:0 (caadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- derived pair +TR opt: derived-pair3.rkt 57:0 (caadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- pair +TR opt: derived-pair3.rkt 58:0 (caaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- derived pair +TR opt: derived-pair3.rkt 58:0 (caaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- pair +TR opt: derived-pair3.rkt 59:0 (cadaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- derived pair +TR opt: derived-pair3.rkt 59:0 (cadaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- pair +TR opt: derived-pair3.rkt 60:0 (cadadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- derived pair +TR opt: derived-pair3.rkt 60:0 (cadadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- pair +TR opt: derived-pair3.rkt 61:0 (caddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- derived pair +TR opt: derived-pair3.rkt 61:0 (caddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- pair +TR opt: derived-pair3.rkt 62:0 (cadddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- derived pair +TR opt: derived-pair3.rkt 62:0 (cadddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- pair +TR opt: derived-pair3.rkt 63:0 (cdaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- derived pair +TR opt: derived-pair3.rkt 63:0 (cdaaar (cons (cons (cons (cons 1 2) 3) 4) 5)) -- pair +TR opt: derived-pair3.rkt 64:0 (cdaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- derived pair +TR opt: derived-pair3.rkt 64:0 (cdaadr (cons 1 (cons (cons (cons 2 3) 4) 5))) -- pair +TR opt: derived-pair3.rkt 65:0 (cdadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- derived pair +TR opt: derived-pair3.rkt 65:0 (cdadar (cons (cons 1 (cons (cons 2 3) 4)) 5)) -- pair +TR opt: derived-pair3.rkt 66:0 (cdaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- derived pair +TR opt: derived-pair3.rkt 66:0 (cdaddr (cons 1 (cons 2 (cons (cons 3 4) 5)))) -- pair +TR opt: derived-pair3.rkt 67:0 (cddaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- derived pair +TR opt: derived-pair3.rkt 67:0 (cddaar (cons (cons (cons 1 (cons 2 3)) 4) 5)) -- pair +TR opt: derived-pair3.rkt 68:0 (cddadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- derived pair +TR opt: derived-pair3.rkt 68:0 (cddadr (cons 1 (cons (cons 2 (cons 3 4)) 5))) -- pair +TR opt: derived-pair3.rkt 69:0 (cdddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- derived pair +TR opt: derived-pair3.rkt 69:0 (cdddar (cons (cons 1 (cons 2 (cons 3 4))) 5)) -- pair +TR opt: derived-pair3.rkt 70:0 (cddddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- derived pair +TR opt: derived-pair3.rkt 70:0 (cddddr (cons 1 (cons 2 (cons 3 (cons 4 5))))) -- pair 1 2 2 diff --git a/collects/tests/typed-scheme/optimizer/tests/float-complex-conjugate-top.rkt b/collects/tests/typed-scheme/optimizer/tests/float-complex-conjugate-top.rkt index 935434d5..ddf93d6c 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-conjugate-top.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-conjugate-top.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: float-complex-conjugate-top.rkt 14:0 (#%app conjugate (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i))) -- unboxed float complex +TR opt: float-complex-conjugate-top.rkt 14:0 (conjugate (+ 1.0+2.0i 2.0+4.0i)) -- unboxed float complex TR opt: float-complex-conjugate-top.rkt 14:1 conjugate -- unboxed unary float complex TR opt: float-complex-conjugate-top.rkt 14:12 + -- unboxed binary float complex TR opt: float-complex-conjugate-top.rkt 14:14 1.0+2.0i -- unboxed literal diff --git a/collects/tests/typed-scheme/optimizer/tests/float-complex-conjugate.rkt b/collects/tests/typed-scheme/optimizer/tests/float-complex-conjugate.rkt index e817be69..4a8e66f6 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-conjugate.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-conjugate.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: float-complex-conjugate.rkt 15:0 (#%app + (#%app conjugate (quote 1.0+2.0i)) (#%app conjugate (quote 2.0+4.0i))) -- unboxed float complex +TR opt: float-complex-conjugate.rkt 15:0 (+ (conjugate 1.0+2.0i) (conjugate 2.0+4.0i)) -- unboxed float complex TR opt: float-complex-conjugate.rkt 15:1 + -- unboxed binary float complex TR opt: float-complex-conjugate.rkt 15:4 conjugate -- unboxed unary float complex TR opt: float-complex-conjugate.rkt 15:14 1.0+2.0i -- unboxed literal diff --git a/collects/tests/typed-scheme/optimizer/tests/float-complex-div.rkt b/collects/tests/typed-scheme/optimizer/tests/float-complex-div.rkt index a619420e..6a506a81 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-div.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-div.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: float-complex-div.rkt 14:0 (#%app / (quote 1.0+2.0i) (quote 2.0+4.0i) (quote 3.0+6.0i)) -- unboxed float complex +TR opt: float-complex-div.rkt 14:0 (/ 1.0+2.0i 2.0+4.0i 3.0+6.0i) -- unboxed float complex TR opt: float-complex-div.rkt 14:1 / -- unboxed binary float complex 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 diff --git a/collects/tests/typed-scheme/optimizer/tests/float-complex-fixnum.rkt b/collects/tests/typed-scheme/optimizer/tests/float-complex-fixnum.rkt index 955608c3..3b1ada98 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-fixnum.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-fixnum.rkt @@ -1,8 +1,8 @@ #; ( -TR opt: float-complex-fixnum.rkt 15:0 (#%app + (#%app modulo (quote 2) (quote 1)) (quote 1.0+2.0i) (quote 3.0+6.0i)) -- unboxed float complex +TR opt: float-complex-fixnum.rkt 15:0 (+ (modulo 2 1) 1.0+2.0i 3.0+6.0i) -- unboxed float complex TR opt: float-complex-fixnum.rkt 15:1 + -- unboxed binary float complex -TR opt: float-complex-fixnum.rkt 15:3 (#%app modulo (quote 2) (quote 1)) -- float-arg-expr in complex ops +TR opt: float-complex-fixnum.rkt 15:3 (modulo 2 1) -- float-arg-expr in complex ops TR opt: float-complex-fixnum.rkt 15:4 modulo -- binary nonzero fixnum TR opt: float-complex-fixnum.rkt 15:16 1.0+2.0i -- unboxed literal TR opt: float-complex-fixnum.rkt 15:25 3.0+6.0i -- unboxed literal diff --git a/collects/tests/typed-scheme/optimizer/tests/float-complex-float-div.rkt b/collects/tests/typed-scheme/optimizer/tests/float-complex-float-div.rkt index abc170d2..9d01d88d 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-float-div.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-float-div.rkt @@ -4,38 +4,38 @@ TR opt: float-complex-float-div.rkt 47:52 real-part -- unboxed float complex TR opt: float-complex-float-div.rkt 47:62 x -- unbox float-complex TR opt: float-complex-float-div.rkt 48:52 imag-part -- unboxed float complex TR opt: float-complex-float-div.rkt 48:62 x -- unbox float-complex -TR opt: float-complex-float-div.rkt 50:6 (#%app / (quote 1.0) (quote 2.0+4.0i)) -- unboxed float complex +TR opt: float-complex-float-div.rkt 50:6 (/ 1.0 2.0+4.0i) -- unboxed float complex TR opt: float-complex-float-div.rkt 50:7 / -- unboxed binary float complex -TR opt: float-complex-float-div.rkt 50:9 (quote 1.0) -- float-arg-expr in complex ops +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+4.0i -- unboxed literal -TR opt: float-complex-float-div.rkt 51:6 (#%app / (quote 1.0+2.0i) (quote 2.0)) -- unboxed float complex +TR opt: float-complex-float-div.rkt 51:6 (/ 1.0+2.0i 2.0) -- unboxed float complex TR opt: float-complex-float-div.rkt 51:7 / -- unboxed binary float complex TR opt: float-complex-float-div.rkt 51:9 1.0+2.0i -- unboxed literal -TR opt: float-complex-float-div.rkt 51:18 (quote 2.0) -- float-arg-expr in complex ops -TR opt: float-complex-float-div.rkt 52:6 (#%app / (quote 1.0) (quote 2.0+4.0i) (quote 3.0+6.0i)) -- unboxed float complex +TR opt: float-complex-float-div.rkt 51:18 2.0 -- float-arg-expr in complex ops +TR opt: float-complex-float-div.rkt 52:6 (/ 1.0 2.0+4.0i 3.0+6.0i) -- unboxed float complex TR opt: float-complex-float-div.rkt 52:7 / -- unboxed binary float complex -TR opt: float-complex-float-div.rkt 52:9 (quote 1.0) -- float-arg-expr in complex ops +TR opt: float-complex-float-div.rkt 52:9 1.0 -- float-arg-expr in complex ops TR opt: float-complex-float-div.rkt 52:13 2.0+4.0i -- unboxed literal TR opt: float-complex-float-div.rkt 52:22 3.0+6.0i -- unboxed literal -TR opt: float-complex-float-div.rkt 53:6 (#%app / (quote 1.0+2.0i) (quote 2.0) (quote 3.0+6.0i)) -- unboxed float complex +TR opt: float-complex-float-div.rkt 53:6 (/ 1.0+2.0i 2.0 3.0+6.0i) -- unboxed float complex TR opt: float-complex-float-div.rkt 53:7 / -- unboxed binary float complex TR opt: float-complex-float-div.rkt 53:9 1.0+2.0i -- unboxed literal -TR opt: float-complex-float-div.rkt 53:18 (quote 2.0) -- float-arg-expr in complex ops +TR opt: float-complex-float-div.rkt 53:18 2.0 -- float-arg-expr in complex ops TR opt: float-complex-float-div.rkt 53:22 3.0+6.0i -- unboxed literal -TR opt: float-complex-float-div.rkt 54:6 (#%app / (quote 1.0+2.0i) (quote 2.0+4.0i) (quote 3.0)) -- unboxed float complex +TR opt: float-complex-float-div.rkt 54:6 (/ 1.0+2.0i 2.0+4.0i 3.0) -- unboxed float complex TR opt: float-complex-float-div.rkt 54:7 / -- unboxed binary float complex TR opt: float-complex-float-div.rkt 54:9 1.0+2.0i -- unboxed literal TR opt: float-complex-float-div.rkt 54:18 2.0+4.0i -- unboxed literal -TR opt: float-complex-float-div.rkt 54:27 (quote 3.0) -- float-arg-expr in complex ops -TR opt: float-complex-float-div.rkt 55:6 (#%app / (quote 1.0+2.0i) (quote 2.0) (quote 3.0)) -- unboxed float complex +TR opt: float-complex-float-div.rkt 54:27 3.0 -- float-arg-expr in complex ops +TR opt: float-complex-float-div.rkt 55:6 (/ 1.0+2.0i 2.0 3.0) -- unboxed float complex TR opt: float-complex-float-div.rkt 55:7 / -- unboxed binary float complex TR opt: float-complex-float-div.rkt 55:9 1.0+2.0i -- unboxed literal -TR opt: float-complex-float-div.rkt 55:18 (quote 2.0) -- float-arg-expr in complex ops -TR opt: float-complex-float-div.rkt 55:22 (quote 3.0) -- float-arg-expr in complex ops -TR opt: float-complex-float-div.rkt 56:6 (#%app / (quote 1.0) (quote 2.0) (quote 3.0+6.0i)) -- unboxed float complex +TR opt: float-complex-float-div.rkt 55:18 2.0 -- float-arg-expr in complex ops +TR opt: float-complex-float-div.rkt 55:22 3.0 -- float-arg-expr in complex ops +TR opt: float-complex-float-div.rkt 56:6 (/ 1.0 2.0 3.0+6.0i) -- unboxed float complex TR opt: float-complex-float-div.rkt 56:7 / -- unboxed binary float complex -TR opt: float-complex-float-div.rkt 56:9 (quote 1.0) -- float-arg-expr in complex ops -TR opt: float-complex-float-div.rkt 56:13 (quote 2.0) -- float-arg-expr in complex ops +TR opt: float-complex-float-div.rkt 56:9 1.0 -- float-arg-expr in complex ops +TR opt: float-complex-float-div.rkt 56:13 2.0 -- float-arg-expr in complex ops TR opt: float-complex-float-div.rkt 56:17 3.0+6.0i -- unboxed literal '("0.1000000000-0.2000000000" "0.50000000001.0000000000" "-0.0200000000-0.0266666667" "0.16666666670.0000000000" "0.16666666670.0000000000" "0.16666666670.3333333333" "0.0333333333-0.0666666667") ) diff --git a/collects/tests/typed-scheme/optimizer/tests/float-complex-float-mul.rkt b/collects/tests/typed-scheme/optimizer/tests/float-complex-float-mul.rkt index 97aa83ed..0b585862 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-float-mul.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-float-mul.rkt @@ -1,33 +1,33 @@ #; ( -TR opt: float-complex-float-mul.rkt 42:0 (#%app * (quote 1.0) (quote 2.0+4.0i)) -- unboxed float complex +TR opt: float-complex-float-mul.rkt 42:0 (* 1.0 2.0+4.0i) -- unboxed float complex TR opt: float-complex-float-mul.rkt 42:1 * -- unboxed binary float complex -TR opt: float-complex-float-mul.rkt 42:3 (quote 1.0) -- float-arg-expr in complex ops +TR opt: float-complex-float-mul.rkt 42:3 1.0 -- float-arg-expr in complex ops TR opt: float-complex-float-mul.rkt 42:7 2.0+4.0i -- unboxed literal -TR opt: float-complex-float-mul.rkt 43:0 (#%app * (quote 1.0+2.0i) (quote 2.0)) -- unboxed float complex +TR opt: float-complex-float-mul.rkt 43:0 (* 1.0+2.0i 2.0) -- unboxed float complex TR opt: float-complex-float-mul.rkt 43:1 * -- unboxed binary float complex TR opt: float-complex-float-mul.rkt 43:3 1.0+2.0i -- unboxed literal -TR opt: float-complex-float-mul.rkt 43:12 (quote 2.0) -- float-arg-expr in complex ops -TR opt: float-complex-float-mul.rkt 44:0 (#%app * (quote 1.0) (quote 2.0+4.0i) (quote 3.0+6.0i)) -- unboxed float complex +TR opt: float-complex-float-mul.rkt 43:12 2.0 -- float-arg-expr in complex ops +TR opt: float-complex-float-mul.rkt 44:0 (* 1.0 2.0+4.0i 3.0+6.0i) -- unboxed float complex TR opt: float-complex-float-mul.rkt 44:1 * -- unboxed binary float complex -TR opt: float-complex-float-mul.rkt 44:3 (quote 1.0) -- float-arg-expr in complex ops +TR opt: float-complex-float-mul.rkt 44:3 1.0 -- float-arg-expr in complex ops TR opt: float-complex-float-mul.rkt 44:7 2.0+4.0i -- unboxed literal TR opt: float-complex-float-mul.rkt 44:16 3.0+6.0i -- unboxed literal -TR opt: float-complex-float-mul.rkt 45:0 (#%app * (quote 1.0+2.0i) (quote 2.0) (quote 3.0+6.0i)) -- unboxed float complex +TR opt: float-complex-float-mul.rkt 45:0 (* 1.0+2.0i 2.0 3.0+6.0i) -- unboxed float complex TR opt: float-complex-float-mul.rkt 45:1 * -- unboxed binary float complex TR opt: float-complex-float-mul.rkt 45:3 1.0+2.0i -- unboxed literal -TR opt: float-complex-float-mul.rkt 45:12 (quote 2.0) -- float-arg-expr in complex ops +TR opt: float-complex-float-mul.rkt 45:12 2.0 -- float-arg-expr in complex ops TR opt: float-complex-float-mul.rkt 45:16 3.0+6.0i -- unboxed literal -TR opt: float-complex-float-mul.rkt 46:0 (#%app * (quote 1.0+2.0i) (quote 2.0+4.0i) (quote 3.0)) -- unboxed float complex +TR opt: float-complex-float-mul.rkt 46:0 (* 1.0+2.0i 2.0+4.0i 3.0) -- unboxed float complex TR opt: float-complex-float-mul.rkt 46:1 * -- unboxed binary float complex TR opt: float-complex-float-mul.rkt 46:3 1.0+2.0i -- unboxed literal TR opt: float-complex-float-mul.rkt 46:12 2.0+4.0i -- unboxed literal -TR opt: float-complex-float-mul.rkt 46:21 (quote 3.0) -- float-arg-expr in complex ops -TR opt: float-complex-float-mul.rkt 47:0 (#%app * (quote 1.0+2.0i) (quote 2.0) (quote 3.0)) -- unboxed float complex +TR opt: float-complex-float-mul.rkt 46:21 3.0 -- float-arg-expr in complex ops +TR opt: float-complex-float-mul.rkt 47:0 (* 1.0+2.0i 2.0 3.0) -- unboxed float complex TR opt: float-complex-float-mul.rkt 47:1 * -- unboxed binary float complex TR opt: float-complex-float-mul.rkt 47:3 1.0+2.0i -- unboxed literal -TR opt: float-complex-float-mul.rkt 47:12 (quote 2.0) -- float-arg-expr in complex ops -TR opt: float-complex-float-mul.rkt 47:16 (quote 3.0) -- float-arg-expr in complex ops +TR opt: float-complex-float-mul.rkt 47:12 2.0 -- float-arg-expr in complex ops +TR opt: float-complex-float-mul.rkt 47:16 3.0 -- float-arg-expr in complex ops 2.0+4.0i 2.0+4.0i -18.0+24.0i diff --git a/collects/tests/typed-scheme/optimizer/tests/float-complex-float-small.rkt b/collects/tests/typed-scheme/optimizer/tests/float-complex-float-small.rkt index 0084341a..7ead37fd 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-float-small.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-float-small.rkt @@ -1,28 +1,28 @@ #; ( -TR opt: float-complex-float-small.rkt 36:0 (#%app + (quote 1.0+2.0i) (quote 3.0)) -- unboxed float complex +TR opt: float-complex-float-small.rkt 36:0 (+ 1.0+2.0i 3.0) -- unboxed float complex TR opt: float-complex-float-small.rkt 36:1 + -- 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:12 (quote 3.0) -- float-arg-expr in complex ops -TR opt: float-complex-float-small.rkt 37:0 (#%app + (quote 1.0) (quote 2.0+4.0i)) -- unboxed float complex +TR opt: float-complex-float-small.rkt 36:12 3.0 -- float-arg-expr in complex ops +TR opt: float-complex-float-small.rkt 37:0 (+ 1.0 2.0+4.0i) -- unboxed float complex TR opt: float-complex-float-small.rkt 37:1 + -- unboxed binary float complex -TR opt: float-complex-float-small.rkt 37:3 (quote 1.0) -- float-arg-expr in complex ops +TR opt: float-complex-float-small.rkt 37:3 1.0 -- float-arg-expr in complex ops TR opt: float-complex-float-small.rkt 37:7 2.0+4.0i -- unboxed literal -TR opt: float-complex-float-small.rkt 38:0 (#%app - (quote 1.0+2.0i) (quote 3.0)) -- unboxed float complex +TR opt: float-complex-float-small.rkt 38:0 (- 1.0+2.0i 3.0) -- unboxed float complex TR opt: float-complex-float-small.rkt 38:1 - -- unboxed binary float complex TR opt: float-complex-float-small.rkt 38:3 1.0+2.0i -- unboxed literal -TR opt: float-complex-float-small.rkt 38:12 (quote 3.0) -- float-arg-expr in complex ops -TR opt: float-complex-float-small.rkt 39:0 (#%app - (quote 1.0) (quote 2.0+4.0i)) -- unboxed float complex +TR opt: float-complex-float-small.rkt 38:12 3.0 -- float-arg-expr in complex ops +TR opt: float-complex-float-small.rkt 39:0 (- 1.0 2.0+4.0i) -- unboxed float complex TR opt: float-complex-float-small.rkt 39:1 - -- unboxed binary float complex -TR opt: float-complex-float-small.rkt 39:3 (quote 1.0) -- float-arg-expr in complex ops +TR opt: float-complex-float-small.rkt 39:3 1.0 -- float-arg-expr in complex ops TR opt: float-complex-float-small.rkt 39:7 2.0+4.0i -- unboxed literal -TR opt: float-complex-float-small.rkt 40:0 (#%app + (quote 1.0+2.0i) (#%app + (quote 1.0) (quote 2.0))) -- unboxed float complex +TR opt: float-complex-float-small.rkt 40:0 (+ 1.0+2.0i (+ 1.0 2.0)) -- unboxed float complex TR opt: float-complex-float-small.rkt 40:1 + -- unboxed binary float complex TR opt: float-complex-float-small.rkt 40:3 1.0+2.0i -- unboxed literal -TR opt: float-complex-float-small.rkt 40:12 (#%app + (quote 1.0) (quote 2.0)) -- float-arg-expr in complex ops +TR opt: float-complex-float-small.rkt 40:12 (+ 1.0 2.0) -- float-arg-expr in complex ops TR opt: float-complex-float-small.rkt 40:13 + -- binary float -TR opt: float-complex-float-small.rkt 40:15 (quote 1.0) -- float-arg-expr in complex ops -TR opt: float-complex-float-small.rkt 40:19 (quote 2.0) -- float-arg-expr in complex ops +TR opt: float-complex-float-small.rkt 40:15 1.0 -- float-arg-expr in complex ops +TR opt: float-complex-float-small.rkt 40:19 2.0 -- float-arg-expr in complex ops 4.0+2.0i 3.0+4.0i -2.0+2.0i diff --git a/collects/tests/typed-scheme/optimizer/tests/float-complex-float.rkt b/collects/tests/typed-scheme/optimizer/tests/float-complex-float.rkt index a0fa96a5..72f763dd 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-float.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-float.rkt @@ -1,25 +1,25 @@ #; ( -TR opt: float-complex-float.rkt 32:0 (#%app + (quote 1.0+2.0i) (quote 2.0) (quote 3.0+6.0i)) -- unboxed float complex +TR opt: float-complex-float.rkt 32:0 (+ 1.0+2.0i 2.0 3.0+6.0i) -- unboxed float complex TR opt: float-complex-float.rkt 32:1 + -- 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 (quote 2.0) -- float-arg-expr in complex ops +TR opt: float-complex-float.rkt 32:12 2.0 -- float-arg-expr in complex ops TR opt: float-complex-float.rkt 32:16 3.0+6.0i -- unboxed literal -TR opt: float-complex-float.rkt 33:0 (#%app - (quote 1.0) (quote 2.0+4.0i) (quote 3.0+6.0i)) -- unboxed float complex +TR opt: float-complex-float.rkt 33:0 (- 1.0 2.0+4.0i 3.0+6.0i) -- unboxed float complex TR opt: float-complex-float.rkt 33:1 - -- unboxed binary float complex -TR opt: float-complex-float.rkt 33:3 (quote 1.0) -- float-arg-expr in complex ops +TR opt: float-complex-float.rkt 33:3 1.0 -- float-arg-expr in complex ops TR opt: float-complex-float.rkt 33:7 2.0+4.0i -- unboxed literal TR opt: float-complex-float.rkt 33:16 3.0+6.0i -- unboxed literal -TR opt: float-complex-float.rkt 34:0 (#%app - (quote 1.0+2.0i) (quote 2.0) (quote 3.0+6.0i)) -- unboxed float complex +TR opt: float-complex-float.rkt 34:0 (- 1.0+2.0i 2.0 3.0+6.0i) -- unboxed float complex TR opt: float-complex-float.rkt 34:1 - -- unboxed binary float complex TR opt: float-complex-float.rkt 34:3 1.0+2.0i -- unboxed literal -TR opt: float-complex-float.rkt 34:12 (quote 2.0) -- float-arg-expr in complex ops +TR opt: float-complex-float.rkt 34:12 2.0 -- float-arg-expr in complex ops TR opt: float-complex-float.rkt 34:16 3.0+6.0i -- unboxed literal -TR opt: float-complex-float.rkt 35:0 (#%app - (quote 1.0+2.0i) (quote 2.0+4.0i) (quote 3.0)) -- unboxed float complex +TR opt: float-complex-float.rkt 35:0 (- 1.0+2.0i 2.0+4.0i 3.0) -- unboxed float complex TR opt: float-complex-float.rkt 35:1 - -- unboxed binary float complex TR opt: float-complex-float.rkt 35:3 1.0+2.0i -- unboxed literal TR opt: float-complex-float.rkt 35:12 2.0+4.0i -- unboxed literal -TR opt: float-complex-float.rkt 35:21 (quote 3.0) -- float-arg-expr in complex ops +TR opt: float-complex-float.rkt 35:21 3.0 -- float-arg-expr in complex ops 6.0+8.0i -4.0-10.0i -4.0-4.0i diff --git a/collects/tests/typed-scheme/optimizer/tests/float-complex-i.rkt b/collects/tests/typed-scheme/optimizer/tests/float-complex-i.rkt index 48c5cbcd..cac8e823 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-i.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-i.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: float-complex-i.rkt 15:0 (#%app + (quote 1.0+2.0i) (#%app * (quote 0+1.0i) (quote 2.0+4.0i))) -- unboxed float complex +TR opt: float-complex-i.rkt 15:0 (+ 1.0+2.0i (* 0+1.0i 2.0+4.0i)) -- unboxed float complex TR opt: float-complex-i.rkt 15:1 + -- unboxed binary float complex TR opt: float-complex-i.rkt 15:3 1.0+2.0i -- unboxed literal TR opt: float-complex-i.rkt 15:13 * -- unboxed binary float complex diff --git a/collects/tests/typed-scheme/optimizer/tests/float-complex-integer.rkt b/collects/tests/typed-scheme/optimizer/tests/float-complex-integer.rkt index b80eef16..05ef1922 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-integer.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-integer.rkt @@ -1,8 +1,8 @@ #; ( -TR opt: float-complex-integer.rkt 13:0 (#%app + (#%app expt (quote 2) (quote 100)) (quote 1.0+2.0i)) -- unboxed float complex +TR opt: float-complex-integer.rkt 13:0 (+ (expt 2 100) 1.0+2.0i) -- unboxed float complex TR opt: float-complex-integer.rkt 13:1 + -- unboxed binary float complex -TR opt: float-complex-integer.rkt 13:3 (#%app expt (quote 2) (quote 100)) -- float-arg-expr in complex ops +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 1.2676506002282294e+30+2.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/float-complex-mult.rkt b/collects/tests/typed-scheme/optimizer/tests/float-complex-mult.rkt index dd8c8df8..01b2f23b 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-mult.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-mult.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: float-complex-mult.rkt 14:0 (#%app * (quote 1.0+2.0i) (quote 2.0+4.0i) (quote 3.0+6.0i)) -- unboxed float complex +TR opt: float-complex-mult.rkt 14:0 (* 1.0+2.0i 2.0+4.0i 3.0+6.0i) -- unboxed float complex TR opt: float-complex-mult.rkt 14:1 * -- unboxed binary float complex 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 diff --git a/collects/tests/typed-scheme/optimizer/tests/float-complex-parts2.rkt b/collects/tests/typed-scheme/optimizer/tests/float-complex-parts2.rkt index 851dc709..7fa20e05 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-parts2.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-parts2.rkt @@ -1,22 +1,22 @@ #; ( TR opt: float-complex-parts2.rkt 34:1 real-part -- unboxed float complex -TR opt: float-complex-parts2.rkt 34:11 (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)) -- unboxed float complex +TR opt: float-complex-parts2.rkt 34:11 (+ 1.0+2.0i 2.0+4.0i) -- unboxed float complex TR opt: float-complex-parts2.rkt 34:12 + -- unboxed binary float complex TR opt: float-complex-parts2.rkt 34:14 1.0+2.0i -- unboxed literal TR opt: float-complex-parts2.rkt 34:23 2.0+4.0i -- unboxed literal TR opt: float-complex-parts2.rkt 35:1 unsafe-flreal-part -- unboxed float complex -TR opt: float-complex-parts2.rkt 35:20 (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)) -- unboxed float complex +TR opt: float-complex-parts2.rkt 35:20 (+ 1.0+2.0i 2.0+4.0i) -- unboxed float complex TR opt: float-complex-parts2.rkt 35:21 + -- unboxed binary float complex TR opt: float-complex-parts2.rkt 35:23 1.0+2.0i -- unboxed literal TR opt: float-complex-parts2.rkt 35:32 2.0+4.0i -- unboxed literal TR opt: float-complex-parts2.rkt 36:1 imag-part -- unboxed float complex -TR opt: float-complex-parts2.rkt 36:11 (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)) -- unboxed float complex +TR opt: float-complex-parts2.rkt 36:11 (+ 1.0+2.0i 2.0+4.0i) -- unboxed float complex TR opt: float-complex-parts2.rkt 36:12 + -- unboxed binary float complex TR opt: float-complex-parts2.rkt 36:14 1.0+2.0i -- unboxed literal TR opt: float-complex-parts2.rkt 36:23 2.0+4.0i -- unboxed literal TR opt: float-complex-parts2.rkt 37:1 unsafe-flimag-part -- unboxed float complex -TR opt: float-complex-parts2.rkt 37:20 (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)) -- unboxed float complex +TR opt: float-complex-parts2.rkt 37:20 (+ 1.0+2.0i 2.0+4.0i) -- unboxed float complex TR opt: float-complex-parts2.rkt 37:21 + -- unboxed binary float complex TR opt: float-complex-parts2.rkt 37:23 1.0+2.0i -- unboxed literal TR opt: float-complex-parts2.rkt 37:32 2.0+4.0i -- unboxed literal diff --git a/collects/tests/typed-scheme/optimizer/tests/float-complex-parts3.rkt b/collects/tests/typed-scheme/optimizer/tests/float-complex-parts3.rkt index 4ade1692..cfa24958 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-parts3.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-parts3.rkt @@ -1,27 +1,27 @@ #; ( -TR opt: float-complex-parts3.rkt 42:0 (#%app + (quote 1.0+2.0i) (#%app real-part (#%app + (quote 2.0+4.0i) (quote 3.0+6.0i)))) -- unboxed float complex +TR opt: float-complex-parts3.rkt 42:0 (+ 1.0+2.0i (real-part (+ 2.0+4.0i 3.0+6.0i))) -- unboxed float complex TR opt: float-complex-parts3.rkt 42:1 + -- 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:13 real-part -- unboxed unary float complex TR opt: float-complex-parts3.rkt 42:24 + -- unboxed binary float complex TR opt: float-complex-parts3.rkt 42:26 2.0+4.0i -- unboxed literal TR opt: float-complex-parts3.rkt 42:35 3.0+6.0i -- unboxed literal -TR opt: float-complex-parts3.rkt 43:0 (#%app + (quote 1.0+2.0i) (#%app unsafe-flreal-part (#%app + (quote 2.0+4.0i) (quote 3.0+6.0i)))) -- unboxed float complex +TR opt: float-complex-parts3.rkt 43:0 (+ 1.0+2.0i (unsafe-flreal-part (+ 2.0+4.0i 3.0+6.0i))) -- unboxed float complex TR opt: float-complex-parts3.rkt 43:1 + -- unboxed binary float complex TR opt: float-complex-parts3.rkt 43:3 1.0+2.0i -- unboxed literal TR opt: float-complex-parts3.rkt 43:13 unsafe-flreal-part -- unboxed unary float complex TR opt: float-complex-parts3.rkt 43:33 + -- unboxed binary float complex TR opt: float-complex-parts3.rkt 43:35 2.0+4.0i -- unboxed literal TR opt: float-complex-parts3.rkt 43:44 3.0+6.0i -- unboxed literal -TR opt: float-complex-parts3.rkt 44:0 (#%app + (quote 1.0+2.0i) (#%app imag-part (#%app + (quote 2.0+4.0i) (quote 3.0+6.0i)))) -- unboxed float complex +TR opt: float-complex-parts3.rkt 44:0 (+ 1.0+2.0i (imag-part (+ 2.0+4.0i 3.0+6.0i))) -- unboxed float complex TR opt: float-complex-parts3.rkt 44:1 + -- unboxed binary float complex TR opt: float-complex-parts3.rkt 44:3 1.0+2.0i -- unboxed literal TR opt: float-complex-parts3.rkt 44:13 imag-part -- unboxed unary float complex TR opt: float-complex-parts3.rkt 44:24 + -- unboxed binary float complex TR opt: float-complex-parts3.rkt 44:26 2.0+4.0i -- unboxed literal TR opt: float-complex-parts3.rkt 44:35 3.0+6.0i -- unboxed literal -TR opt: float-complex-parts3.rkt 45:0 (#%app + (quote 1.0+2.0i) (#%app unsafe-flimag-part (#%app + (quote 2.0+4.0i) (quote 3.0+6.0i)))) -- unboxed float complex +TR opt: float-complex-parts3.rkt 45:0 (+ 1.0+2.0i (unsafe-flimag-part (+ 2.0+4.0i 3.0+6.0i))) -- unboxed float complex TR opt: float-complex-parts3.rkt 45:1 + -- unboxed binary float complex TR opt: float-complex-parts3.rkt 45:3 1.0+2.0i -- unboxed literal TR opt: float-complex-parts3.rkt 45:13 unsafe-flimag-part -- unboxed unary float complex diff --git a/collects/tests/typed-scheme/optimizer/tests/float-complex-sin.rkt b/collects/tests/typed-scheme/optimizer/tests/float-complex-sin.rkt index 4ab37918..907a1ec7 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex-sin.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex-sin.rkt @@ -1,10 +1,10 @@ #; ( -TR opt: float-complex-sin.rkt 16:10 (#%app + (#%app sin (#%app * t (quote 6.28))) (quote 0.0+0.0i)) -- unboxed float complex +TR opt: float-complex-sin.rkt 16:10 (+ (sin (* t 6.28)) 0.0+0.0i) -- unboxed float complex TR opt: float-complex-sin.rkt 16:11 + -- unboxed binary float complex -TR missed opt: float-complex-sin.rkt 16:13 (#%app sin (#%app * t (quote 6.28))) -- unary, arg float-arg-expr, return type not Float -TR opt: float-complex-sin.rkt 16:13 (#%app sin (#%app * t (quote 6.28))) -- float-arg-expr in complex ops -TR missed opt: float-complex-sin.rkt 16:18 (#%app * t (quote 6.28)) -- binary, args all float-arg-expr, return type not Float -- caused by: 16:21 t +TR missed opt: float-complex-sin.rkt 16:13 (sin (* t 6.28)) -- unary, arg float-arg-expr, return type not Float +TR opt: float-complex-sin.rkt 16:13 (sin (* t 6.28)) -- float-arg-expr in complex ops +TR missed opt: float-complex-sin.rkt 16:18 (* t 6.28) -- binary, args all float-arg-expr, return type not Float -- caused by: 16:21 t TR opt: float-complex-sin.rkt 16:30 0.0+0.0i -- unboxed literal -0.0031853017931379904+0.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/float-complex.rkt b/collects/tests/typed-scheme/optimizer/tests/float-complex.rkt index ad704cf0..582d40ed 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-complex.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-complex.rkt @@ -1,10 +1,10 @@ #; ( -TR opt: float-complex.rkt 18:0 (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)) -- unboxed float complex +TR opt: float-complex.rkt 18:0 (+ 1.0+2.0i 2.0+4.0i) -- unboxed float complex TR opt: float-complex.rkt 18:1 + -- 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 19:0 (#%app - (quote 1.0+2.0i) (quote 2.0+4.0i)) -- unboxed float complex +TR opt: float-complex.rkt 19:0 (- 1.0+2.0i 2.0+4.0i) -- unboxed float complex TR opt: float-complex.rkt 19:1 - -- unboxed binary float complex TR opt: float-complex.rkt 19:3 1.0+2.0i -- unboxed literal TR opt: float-complex.rkt 19:12 2.0+4.0i -- unboxed literal diff --git a/collects/tests/typed-scheme/optimizer/tests/float-real.rkt b/collects/tests/typed-scheme/optimizer/tests/float-real.rkt index 1f5f876b..658de29c 100644 --- a/collects/tests/typed-scheme/optimizer/tests/float-real.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/float-real.rkt @@ -1,15 +1,15 @@ #; ( TR opt: float-real.rkt 18:1 + -- binary float -TR missed opt: float-real.rkt 19:0 (#%app + (quote 2.3) (#%app * (quote 2) (quote 3.2))) -- exact arithmetic subexpression inside a float expression, extra precision discarded -- caused by: 19:7 (#%app * (quote 2) (quote 3.2)) +TR missed opt: float-real.rkt 19:0 (+ 2.3 (* (ann 2 Integer) 3.2)) -- exact arithmetic subexpression inside a float expression, extra precision discarded -- caused by: 19:7 (#%app * (quote 2) (quote 3.2)) TR opt: float-real.rkt 19:1 + -- binary float -TR missed opt: float-real.rkt 19:7 (#%app * (quote 2) (quote 3.2)) -- binary, args all float-arg-expr, return type not Float -- caused by: 19:15 (quote 2) -TR missed opt: float-real.rkt 20:0 (#%app * (quote 2.3) (#%app * (quote 2) (quote 3.1))) -- binary, args all float-arg-expr, return type not Float -- caused by: 20:15 (quote 2) -TR missed opt: float-real.rkt 20:0 (#%app * (quote 2.3) (#%app * (quote 2) (quote 3.1))) -- exact arithmetic subexpression inside a float expression, extra precision discarded -- caused by: 20:7 (#%app * (quote 2) (quote 3.1)) +TR missed opt: float-real.rkt 19:7 (* (ann 2 Integer) 3.2) -- binary, args all float-arg-expr, return type not Float -- caused by: 19:15 (quote 2) +TR missed opt: float-real.rkt 20:0 (* 2.3 (* (ann 2 Integer) 3.1)) -- binary, args all float-arg-expr, return type not Float -- caused by: 20:15 (quote 2) +TR missed opt: float-real.rkt 20:0 (* 2.3 (* (ann 2 Integer) 3.1)) -- exact arithmetic subexpression inside a float expression, extra precision discarded -- caused by: 20:7 (#%app * (quote 2) (quote 3.1)) 5.3 8.7 14.26 - ) +) #lang typed/racket diff --git a/collects/tests/typed-scheme/optimizer/tests/in-bytes.rkt b/collects/tests/typed-scheme/optimizer/tests/in-bytes.rkt index 70778915..e9626bee 100644 --- a/collects/tests/typed-scheme/optimizer/tests/in-bytes.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/in-bytes.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: #f (no location) make-sequence -- in-bytes +TR opt: in-bytes.rkt 6:0 #%module-begin -- in-bytes 495051) #lang typed/scheme diff --git a/collects/tests/typed-scheme/optimizer/tests/in-list.rkt b/collects/tests/typed-scheme/optimizer/tests/in-list.rkt index f3afda24..0a3b1c84 100644 --- a/collects/tests/typed-scheme/optimizer/tests/in-list.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/in-list.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: #f (no location) make-sequence -- in-list +TR opt: in-list.rkt 6:0 #%module-begin -- in-list 123) #lang typed/scheme diff --git a/collects/tests/typed-scheme/optimizer/tests/in-string.rkt b/collects/tests/typed-scheme/optimizer/tests/in-string.rkt index 042291a0..4acbbc15 100644 --- a/collects/tests/typed-scheme/optimizer/tests/in-string.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/in-string.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: #f (no location) make-sequence -- in-string +TR opt: in-string.rkt 6:0 #%module-begin -- in-string 123) #lang typed/scheme diff --git a/collects/tests/typed-scheme/optimizer/tests/in-vector.rkt b/collects/tests/typed-scheme/optimizer/tests/in-vector.rkt index eb933b44..3c854281 100644 --- a/collects/tests/typed-scheme/optimizer/tests/in-vector.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/in-vector.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: #f (no location) make-sequence -- in-vector +TR opt: in-vector.rkt 6:0 #%module-begin -- in-vector 123) #lang typed/scheme diff --git a/collects/tests/typed-scheme/optimizer/tests/invalid-binary-nonzero-fixnum.rkt b/collects/tests/typed-scheme/optimizer/tests/invalid-binary-nonzero-fixnum.rkt index d4090067..896ebc8b 100644 --- a/collects/tests/typed-scheme/optimizer/tests/invalid-binary-nonzero-fixnum.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/invalid-binary-nonzero-fixnum.rkt @@ -1,5 +1,6 @@ #; -() +( +) #lang typed/scheme #:optimize diff --git a/collects/tests/typed-scheme/optimizer/tests/invalid-derived-pair.rkt b/collects/tests/typed-scheme/optimizer/tests/invalid-derived-pair.rkt index f31b32c0..38fdb87c 100644 --- a/collects/tests/typed-scheme/optimizer/tests/invalid-derived-pair.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/invalid-derived-pair.rkt @@ -1,8 +1,8 @@ #; ( -TR missed opt: invalid-derived-pair.rkt 12:2 (#%app car (#%app cdr x)) -- car/cdr on a potentially empty list -- caused by: 12:2 (#%app cdr x) -TR missed opt: invalid-derived-pair.rkt 17:6 (#%app car (#%app cdr x)) -- car/cdr on a potentially empty list -- caused by: 17:6 (#%app cdr x) - ) +TR missed opt: invalid-derived-pair.rkt 12:2 (cadr x) -- car/cdr on a potentially empty list -- caused by: 12:2 (#%app cdr x) +TR missed opt: invalid-derived-pair.rkt 17:6 (cadr x) -- car/cdr on a potentially empty list -- caused by: 17:6 (#%app cdr x) +) #lang typed/racket #:optimize diff --git a/collects/tests/typed-scheme/optimizer/tests/invalid-float-promotion.rkt b/collects/tests/typed-scheme/optimizer/tests/invalid-float-promotion.rkt index 5b0d36ce..313f767c 100644 --- a/collects/tests/typed-scheme/optimizer/tests/invalid-float-promotion.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/invalid-float-promotion.rkt @@ -1,7 +1,7 @@ #; ( -TR missed opt: invalid-float-promotion.rkt 12:0 (#%app / (quote 1) (quote 2.0)) -- binary, args all float-arg-expr, return type not Float -- caused by: 12:8 (quote 1) -TR missed opt: invalid-float-promotion.rkt 13:0 (#%app * (quote 2/3) (quote 3.0)) -- binary, args all float-arg-expr, return type not Float -- caused by: 13:8 (quote 2/3) +TR missed opt: invalid-float-promotion.rkt 12:0 (/ (ann 1 Integer) 2.0) -- binary, args all float-arg-expr, return type not Float -- caused by: 12:8 (quote 1) +TR missed opt: invalid-float-promotion.rkt 13:0 (* (ann 2/3 Exact-Rational) 3.0) -- binary, args all float-arg-expr, return type not Float -- caused by: 13:8 (quote 2/3) 0.5 2.0 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/invalid-log-complex.rkt b/collects/tests/typed-scheme/optimizer/tests/invalid-log-complex.rkt index e5e74a03..378fc470 100644 --- a/collects/tests/typed-scheme/optimizer/tests/invalid-log-complex.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/invalid-log-complex.rkt @@ -1,6 +1,6 @@ #; ( -TR missed opt: invalid-log-complex.rkt 10:11 (#%app log (quote 2.0)) -- unexpected complex type +TR missed opt: invalid-log-complex.rkt 10:11 (log (ann 2.0 Float)) -- unexpected complex type 0.6931471805599453 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/invalid-mpair.rkt b/collects/tests/typed-scheme/optimizer/tests/invalid-mpair.rkt index 98d5d86a..c6b5152f 100644 --- a/collects/tests/typed-scheme/optimizer/tests/invalid-mpair.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/invalid-mpair.rkt @@ -1,7 +1,7 @@ #; ( -TR missed opt: invalid-mpair.rkt 10:2 (#%app mcar x) -- mpair op on a potentially empty mlist -- caused by: 10:8 x - ) +TR missed opt: invalid-mpair.rkt 10:2 (mcar x) -- mpair op on a potentially empty mlist -- caused by: 10:8 x +) #lang typed/scheme #:optimize diff --git a/collects/tests/typed-scheme/optimizer/tests/invalid-sqrt.rkt b/collects/tests/typed-scheme/optimizer/tests/invalid-sqrt.rkt index 03a7dc02..3674eeb4 100644 --- a/collects/tests/typed-scheme/optimizer/tests/invalid-sqrt.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/invalid-sqrt.rkt @@ -1,6 +1,6 @@ #; ( -TR missed opt: invalid-sqrt.rkt 9:0 (#%app sqrt (quote -2.0)) -- unexpected complex type +TR missed opt: invalid-sqrt.rkt 9:0 (sqrt -2.0) -- unexpected complex type 0+1.4142135623730951i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/invalid-unboxed-let.rkt b/collects/tests/typed-scheme/optimizer/tests/invalid-unboxed-let.rkt index 44326979..a26f62a3 100644 --- a/collects/tests/typed-scheme/optimizer/tests/invalid-unboxed-let.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/invalid-unboxed-let.rkt @@ -1,14 +1,14 @@ #; ( -TR opt: invalid-unboxed-let.rkt 22:0 (let-values (((t1) (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i))) ((t2) (#%app + (quote 3.0+6.0i) (quote 4.0+8.0i))) ((t3) (quote 1.0+2.0i)) ((t4) (quote 1))) (#%app display (#%app + t1 t1)) (#%app display t2) (#%app display t3) (#%app display t4)) -- unboxed let bindings +TR opt: invalid-unboxed-let.rkt 22: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 opt: invalid-unboxed-let.rkt 22:11 + -- unboxed binary float complex TR opt: invalid-unboxed-let.rkt 22:13 1.0+2.0i -- unboxed literal TR opt: invalid-unboxed-let.rkt 22:22 2.0+4.0i -- unboxed literal -TR opt: invalid-unboxed-let.rkt 23:10 (#%app + (quote 3.0+6.0i) (quote 4.0+8.0i)) -- unboxed float complex +TR opt: invalid-unboxed-let.rkt 23:10 (+ 3.0+6.0i 4.0+8.0i) -- unboxed float complex TR opt: invalid-unboxed-let.rkt 23:11 + -- unboxed binary float complex TR opt: invalid-unboxed-let.rkt 23:13 3.0+6.0i -- unboxed literal TR opt: invalid-unboxed-let.rkt 23:22 4.0+8.0i -- unboxed literal -TR opt: invalid-unboxed-let.rkt 26:11 (#%app + t1 t1) -- unboxed float complex +TR opt: invalid-unboxed-let.rkt 26:11 (+ t1 t1) -- unboxed float complex TR opt: invalid-unboxed-let.rkt 26:12 + -- unboxed binary float complex TR opt: invalid-unboxed-let.rkt 26:14 t1 -- leave var unboxed TR opt: invalid-unboxed-let.rkt 26:14 t1 -- unbox float-complex diff --git a/collects/tests/typed-scheme/optimizer/tests/invalid-unboxed-let2.rkt b/collects/tests/typed-scheme/optimizer/tests/invalid-unboxed-let2.rkt index ec23a672..d013519c 100644 --- a/collects/tests/typed-scheme/optimizer/tests/invalid-unboxed-let2.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/invalid-unboxed-let2.rkt @@ -1,14 +1,14 @@ #; ( -TR opt: invalid-unboxed-let2.rkt 24:30 (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)) -- unboxed float complex +TR opt: invalid-unboxed-let2.rkt 24:30 (+ 1.0+2.0i 2.0+4.0i) -- unboxed float complex TR opt: invalid-unboxed-let2.rkt 24:31 + -- unboxed binary float complex TR opt: invalid-unboxed-let2.rkt 24:33 1.0+2.0i -- unboxed literal TR opt: invalid-unboxed-let2.rkt 24:42 2.0+4.0i -- unboxed literal -TR opt: invalid-unboxed-let2.rkt 24:52 (#%app + (quote 3.0+6.0i) (quote 4.0+8.0i)) -- unboxed float complex +TR opt: invalid-unboxed-let2.rkt 24:52 (+ 3.0+6.0i 4.0+8.0i) -- unboxed float complex TR opt: invalid-unboxed-let2.rkt 24:53 + -- unboxed binary float complex TR opt: invalid-unboxed-let2.rkt 24:55 3.0+6.0i -- unboxed literal TR opt: invalid-unboxed-let2.rkt 24:64 4.0+8.0i -- unboxed literal -TR opt: invalid-unboxed-let2.rkt 25:2 (#%app + t1 t2) -- unboxed float complex +TR opt: invalid-unboxed-let2.rkt 25:2 (+ t1 t2) -- unboxed float complex TR opt: invalid-unboxed-let2.rkt 25:3 + -- unboxed binary float complex TR opt: invalid-unboxed-let2.rkt 25:5 t1 -- unbox float-complex TR opt: invalid-unboxed-let2.rkt 25:8 t2 -- unbox float-complex diff --git a/collects/tests/typed-scheme/optimizer/tests/invalid-vector-ref.rkt b/collects/tests/typed-scheme/optimizer/tests/invalid-vector-ref.rkt index 2bc6634e..892dbbed 100644 --- a/collects/tests/typed-scheme/optimizer/tests/invalid-vector-ref.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/invalid-vector-ref.rkt @@ -1,5 +1,6 @@ #; -() +( +) #lang typed/scheme #:optimize diff --git a/collects/tests/typed-scheme/optimizer/tests/invalid-vector-set.rkt b/collects/tests/typed-scheme/optimizer/tests/invalid-vector-set.rkt index 75abb3b6..a0b33b85 100644 --- a/collects/tests/typed-scheme/optimizer/tests/invalid-vector-set.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/invalid-vector-set.rkt @@ -1,5 +1,6 @@ #; -() +( +) #lang typed/scheme #:optimize diff --git a/collects/tests/typed-scheme/optimizer/tests/magnitude.rkt b/collects/tests/typed-scheme/optimizer/tests/magnitude.rkt index 6ce23ab9..159fcacb 100644 --- a/collects/tests/typed-scheme/optimizer/tests/magnitude.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/magnitude.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: magnitude.rkt 14:0 (#%app magnitude (quote 3.0+4.0i)) -- unboxed float complex->float +TR opt: magnitude.rkt 14:0 (magnitude 3.0+4.0i) -- unboxed float complex->float TR opt: magnitude.rkt 14:1 magnitude -- unboxed unary float complex TR opt: magnitude.rkt 14:11 3.0+4.0i -- unboxed literal 5.0 diff --git a/collects/tests/typed-scheme/optimizer/tests/make-polar.rkt b/collects/tests/typed-scheme/optimizer/tests/make-polar.rkt index 6ea147b1..4dcc6802 100644 --- a/collects/tests/typed-scheme/optimizer/tests/make-polar.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/make-polar.rkt @@ -2,11 +2,11 @@ ( TR opt: make-polar.rkt 28:1 make-polar -- make-polar TR opt: make-polar.rkt 28:1 make-polar -- make-rectangular elimination -TR opt: make-polar.rkt 31:0 (let-values (((p) (#%app + (quote 1.0+2.0i) (#%app make-polar (quote 2.0) (quote 4.0))))) (#%app string-append (#%app real->decimal-string (#%app real-part p) (quote 10)) (#%app real->decimal-string (#%app imag-part p) (quote 10)))) -- unboxed let bindings +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) 10) (real->decimal-string (imag-part p) 10))) -- unboxed let bindings TR opt: make-polar.rkt 31:10 + -- unboxed binary float complex TR opt: make-polar.rkt 31:12 1.0+2.0i -- unboxed literal TR opt: make-polar.rkt 31:22 make-polar -- make-rectangular elimination -TR opt: make-polar.rkt 32:39 (#%app real-part p) -- unboxed float complex->float +TR opt: make-polar.rkt 32:39 (real-part p) -- unboxed float complex->float TR opt: make-polar.rkt 32:40 real-part -- unboxed float complex TR opt: make-polar.rkt 32:40 real-part -- unboxed unary float complex TR opt: make-polar.rkt 32:50 p -- leave var unboxed diff --git a/collects/tests/typed-scheme/optimizer/tests/maybe-exact-complex.rkt b/collects/tests/typed-scheme/optimizer/tests/maybe-exact-complex.rkt index 50fe344d..c05efca7 100644 --- a/collects/tests/typed-scheme/optimizer/tests/maybe-exact-complex.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/maybe-exact-complex.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: maybe-exact-complex.rkt 15:0 (#%app + (quote 1.0+2.0i) (quote 2+4i)) -- unboxed float complex +TR opt: maybe-exact-complex.rkt 15:0 (+ 1.0+2.0i 2+4i) -- unboxed float complex TR opt: maybe-exact-complex.rkt 15:1 + -- unboxed binary float complex 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 diff --git a/collects/tests/typed-scheme/optimizer/tests/n-ary-float-complex.rkt b/collects/tests/typed-scheme/optimizer/tests/n-ary-float-complex.rkt index 5bf26bec..4ecf3b32 100644 --- a/collects/tests/typed-scheme/optimizer/tests/n-ary-float-complex.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/n-ary-float-complex.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: n-ary-float-complex.rkt 15:0 (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i) (quote 3.0+6.0i) (quote 4.0+8.0i)) -- unboxed float complex +TR opt: n-ary-float-complex.rkt 15:0 (+ 1.0+2.0i 2.0+4.0i 3.0+6.0i 4.0+8.0i) -- unboxed float complex TR opt: n-ary-float-complex.rkt 15:1 + -- unboxed binary float complex TR opt: n-ary-float-complex.rkt 15:3 1.0+2.0i -- unboxed literal TR opt: n-ary-float-complex.rkt 15:12 2.0+4.0i -- unboxed literal diff --git a/collects/tests/typed-scheme/optimizer/tests/nested-float-complex.rkt b/collects/tests/typed-scheme/optimizer/tests/nested-float-complex.rkt index 5bc5244f..7e1cb42c 100644 --- a/collects/tests/typed-scheme/optimizer/tests/nested-float-complex.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/nested-float-complex.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: nested-float-complex.rkt 15:0 (#%app + (quote 1.0+2.0i) (#%app - (quote 2.0+4.0i) (quote 3.0+6.0i))) -- unboxed float complex +TR opt: nested-float-complex.rkt 15:0 (+ 1.0+2.0i (- 2.0+4.0i 3.0+6.0i)) -- unboxed float complex TR opt: nested-float-complex.rkt 15:1 + -- unboxed binary float complex TR opt: nested-float-complex.rkt 15:3 1.0+2.0i -- unboxed literal TR opt: nested-float-complex.rkt 15:13 - -- unboxed binary float complex diff --git a/collects/tests/typed-scheme/optimizer/tests/nested-let-loop.rkt b/collects/tests/typed-scheme/optimizer/tests/nested-let-loop.rkt index 5fff0cb7..c1ddf53b 100644 --- a/collects/tests/typed-scheme/optimizer/tests/nested-let-loop.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/nested-let-loop.rkt @@ -1,7 +1,7 @@ #; ( -TR opt: #f (no location) (letrec-values (((loop1) (lambda (x r) (if (#%app null? x) r (#%app (letrec-values (((loop2) (lambda (y s) (if (#%app null? y) (#%app loop1 (#%app cdr x) (#%app + r s)) (#%app loop2 (#%app cdr y) (#%app + s (#%app car x) (#%app car y))))))) loop2) (quote (3.0+6.0i 4.0+8.0i)) (quote 0.0+0.0i)))))) loop1) -- unboxed call site -TR opt: #f (no location) (letrec-values (((loop2) (lambda (y s) (if (#%app null? y) (#%app loop1 (#%app cdr x) (#%app + r s)) (#%app loop2 (#%app cdr y) (#%app + s (#%app car x) (#%app car y))))))) loop2) -- unboxed call site +TR opt: nested-let-loop.rkt 40:0 (let: loop1 : Float-Complex ((x : (Listof Float-Complex) (quote (1.0+2.0i 2.0+4.0i))) (r : Float-Complex 0.0+0.0i)) (if (null? x) r (let: loop2 : Float-Complex ((y : (Listof Float-Complex) (quote (3.0+6.0i 4.0+8.0i))) (s : Float-Complex 0.0+0.0i)) (if (null? y) (loop1 (cdr x) (+ r s)) (loop2 (cdr y) (+ s (car x) (car y))))))) -- unboxed call site +TR opt: nested-let-loop.rkt 45:10 (let: loop2 : Float-Complex ((y : (Listof Float-Complex) (quote (3.0+6.0i 4.0+8.0i))) (s : Float-Complex 0.0+0.0i)) (if (null? y) (loop1 (cdr x) (+ r s)) (loop2 (cdr y) (+ s (car x) (car y))))) -- unboxed call site TR opt: nested-let-loop.rkt 40:6 loop1 -- fun -> unboxed fun TR opt: nested-let-loop.rkt 40:6 loop1 -- unboxed function -> table TR opt: nested-let-loop.rkt 40:6 loop1 -- unboxed let loop @@ -16,7 +16,7 @@ TR opt: nested-let-loop.rkt 47:38 0.0+0.0i -- unboxed literal TR opt: nested-let-loop.rkt 49:21 loop1 -- call to fun with unboxed args TR opt: nested-let-loop.rkt 49:21 loop1 -- unboxed call site TR opt: nested-let-loop.rkt 49:28 cdr -- pair -TR opt: nested-let-loop.rkt 49:35 (#%app + r s) -- unboxed float complex +TR opt: nested-let-loop.rkt 49:35 (+ r s) -- unboxed float complex TR opt: nested-let-loop.rkt 49:36 + -- unboxed binary float complex TR opt: nested-let-loop.rkt 49:38 r -- leave var unboxed TR opt: nested-let-loop.rkt 49:38 r -- unbox float-complex @@ -27,9 +27,9 @@ TR opt: nested-let-loop.rkt 50:21 loop2 -- unboxed call site TR opt: nested-let-loop.rkt 50:28 cdr -- pair TR opt: nested-let-loop.rkt 50:36 + -- unboxed binary float complex TR opt: nested-let-loop.rkt 50:38 s -- leave var unboxed -TR opt: nested-let-loop.rkt 50:40 (#%app car x) -- unbox float-complex +TR opt: nested-let-loop.rkt 50:40 (car x) -- unbox float-complex TR opt: nested-let-loop.rkt 50:41 car -- pair -TR opt: nested-let-loop.rkt 50:48 (#%app car y) -- unbox float-complex +TR opt: nested-let-loop.rkt 50:48 (car y) -- unbox float-complex TR opt: nested-let-loop.rkt 50:49 car -- pair 20.0+40.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/nested-unboxed-let.rkt b/collects/tests/typed-scheme/optimizer/tests/nested-unboxed-let.rkt index d2e6058e..e63ca26f 100644 --- a/collects/tests/typed-scheme/optimizer/tests/nested-unboxed-let.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/nested-unboxed-let.rkt @@ -1,16 +1,16 @@ #; ( -TR opt: nested-unboxed-let.rkt 24:0 (let-values (((x) (#%app + (quote 1.0+2.0i) (quote 2.0+3.0i)))) (let-values (((x) (#%app + x (quote 2.0+3.0i)))) (#%app + x (quote 3.0+6.0i)))) -- unboxed let bindings +TR opt: nested-unboxed-let.rkt 24:0 (let ((x (+ 1.0+2.0i 2.0+3.0i))) (let ((x (+ x 2.0+3.0i))) (+ x 3.0+6.0i))) -- unboxed let bindings TR opt: nested-unboxed-let.rkt 24:10 + -- unboxed binary float complex TR opt: nested-unboxed-let.rkt 24:12 1.0+2.0i -- unboxed literal TR opt: nested-unboxed-let.rkt 24:21 2.0+3.0i -- unboxed literal -TR opt: nested-unboxed-let.rkt 25:2 (let-values (((x) (#%app + x (quote 2.0+3.0i)))) (#%app + x (quote 3.0+6.0i))) -- unboxed let bindings -TR opt: nested-unboxed-let.rkt 25:11 (#%app + x (quote 2.0+3.0i)) -- unboxed float complex +TR opt: nested-unboxed-let.rkt 25:2 (let ((x (+ x 2.0+3.0i))) (+ x 3.0+6.0i)) -- unboxed let bindings +TR opt: nested-unboxed-let.rkt 25:11 (+ x 2.0+3.0i) -- unboxed float complex TR opt: nested-unboxed-let.rkt 25:12 + -- unboxed binary float complex TR opt: nested-unboxed-let.rkt 25:14 x -- leave var unboxed TR opt: nested-unboxed-let.rkt 25:14 x -- unbox float-complex TR opt: nested-unboxed-let.rkt 25:16 2.0+3.0i -- unboxed literal -TR opt: nested-unboxed-let.rkt 26:4 (#%app + x (quote 3.0+6.0i)) -- unboxed float complex +TR opt: nested-unboxed-let.rkt 26:4 (+ x 3.0+6.0i) -- unboxed float complex TR opt: nested-unboxed-let.rkt 26:5 + -- unboxed binary float complex TR opt: nested-unboxed-let.rkt 26:7 x -- leave var unboxed TR opt: nested-unboxed-let.rkt 26:7 x -- unbox float-complex diff --git a/collects/tests/typed-scheme/optimizer/tests/real-part-loop.rkt b/collects/tests/typed-scheme/optimizer/tests/real-part-loop.rkt index 6ad36b6d..e79c6583 100644 --- a/collects/tests/typed-scheme/optimizer/tests/real-part-loop.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/real-part-loop.rkt @@ -1,13 +1,13 @@ #; ( -TR opt: real-part-loop.rkt 30:1 (letrec-values (((loop) (lambda (v) (if (#%app > (#%app real-part v) (quote 70000.2)) (quote 0) (#%app loop (#%app + v (quote 3.6))))))) loop) -- unboxed call site +TR opt: real-part-loop.rkt 30:1 (let loop ((v 0.0+1.0i)) (if (> (real-part v) 70000.2) 0 (loop (+ v 3.6)))) -- unboxed call site TR opt: real-part-loop.rkt 30:6 loop -- fun -> unboxed fun TR opt: real-part-loop.rkt 30:6 loop -- unboxed function -> table TR opt: real-part-loop.rkt 30:6 loop -- unboxed let loop TR opt: real-part-loop.rkt 30:13 v -- unboxed var -> table TR opt: real-part-loop.rkt 30:15 0.0+1.0i -- unboxed literal TR opt: real-part-loop.rkt 31:7 > -- binary float comp -TR opt: real-part-loop.rkt 31:9 (#%app real-part v) -- unboxed float complex->float +TR opt: real-part-loop.rkt 31:9 (real-part v) -- unboxed float complex->float TR opt: real-part-loop.rkt 31:10 real-part -- unboxed float complex TR opt: real-part-loop.rkt 31:10 real-part -- unboxed unary float complex TR opt: real-part-loop.rkt 31:20 v -- leave var unboxed @@ -17,7 +17,7 @@ TR opt: real-part-loop.rkt 33:7 loop -- call to fun with unboxed args TR opt: real-part-loop.rkt 33:7 loop -- unboxed call site TR opt: real-part-loop.rkt 33:13 + -- unboxed binary float complex TR opt: real-part-loop.rkt 33:15 v -- leave var unboxed -TR opt: real-part-loop.rkt 33:17 (quote 3.6) -- float-arg-expr in complex ops +TR opt: real-part-loop.rkt 33:17 3.6 -- float-arg-expr in complex ops 0 ) diff --git a/collects/tests/typed-scheme/optimizer/tests/silent-dead-branch.rkt b/collects/tests/typed-scheme/optimizer/tests/silent-dead-branch.rkt index d51b1774..3163a07b 100644 --- a/collects/tests/typed-scheme/optimizer/tests/silent-dead-branch.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/silent-dead-branch.rkt @@ -1,7 +1,7 @@ #; ( -TR opt: silent-dead-branch.rkt 12:0 (let-values () (quote 1)) -- dead then branch - ) +TR opt: silent-dead-branch.rkt 12:0 (when (number? 1) 1) -- dead then branch +) #lang typed/racket diff --git a/collects/tests/typed-scheme/optimizer/tests/sqrt-segfault.rkt b/collects/tests/typed-scheme/optimizer/tests/sqrt-segfault.rkt index 306e49ee..24cf77b9 100644 --- a/collects/tests/typed-scheme/optimizer/tests/sqrt-segfault.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/sqrt-segfault.rkt @@ -2,7 +2,7 @@ ( TR opt: sqrt-segfault.rkt 18:15 - -- binary float TR opt: sqrt-segfault.rkt 19:15 * -- binary float -TR missed opt: sqrt-segfault.rkt 20:31 (#%app sqrt dist2) -- unexpected complex type +TR missed opt: sqrt-segfault.rkt 20:31 (sqrt dist2) -- unexpected complex type ) #lang typed/scheme diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-for.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-for.rkt index 31cfba89..0491657f 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-for.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-for.rkt @@ -1,27 +1,26 @@ #; ( -TR opt: #f (no location) (#%app pos->vals pos) -- unbox float-complex -TR opt: #f (no location) (let-values (((i) (#%app pos->vals pos))) (if (#%expression (if val-cont? (#%app val-cont? i) (quote #t))) (let-values (((sum) (let-values (((sum) sum)) (let-values () (#%app + i sum))))) (if (#%expression (if all-cont? (#%app all-cont? pos i) (quote #t))) (#%app for-loop sum (#%app pos-next pos)) sum)) sum)) -- unboxed let bindings -TR opt: #f (no location) (let-values (((sum) sum)) (let-values () (#%app + i sum))) -- unboxed let bindings -TR opt: #f (no location) for-loop -- call to fun with unboxed args -TR opt: #f (no location) for-loop -- fun -> unboxed fun -TR opt: #f (no location) for-loop -- unboxed call site -TR opt: #f (no location) for-loop -- unboxed function -> table -TR opt: #f (no location) for-loop -- unboxed let loop -TR opt: #f (no location) make-sequence -- in-list -TR opt: unboxed-for.rkt 31:0 (letrec-values (((for-loop) (lambda (sum pos) (if (#%expression (if pos-cont? (#%app pos-cont? pos) (quote #t))) (let-values (((i) (#%app pos->vals pos))) (if (#%expression (if val-cont? (#%app val-cont? i) (quote #t))) (let-values (((sum) (let-values (((sum) sum)) (let-values () (#%app + i sum))))) (if (#%expression (if all-cont? (#%app all-cont? pos i) (quote #t))) (#%app for-loop sum (#%app pos-next pos)) sum)) sum)) sum)))) for-loop) -- unboxed call site -TR opt: unboxed-for.rkt 31:31 sum -- leave var unboxed -TR opt: unboxed-for.rkt 31:31 sum -- unbox float-complex -TR opt: unboxed-for.rkt 31:31 sum -- unboxed complex variable -TR opt: unboxed-for.rkt 31:31 sum -- unboxed var -> table -TR opt: unboxed-for.rkt 31:53 0.0+0.0i -- unboxed literal -TR opt: unboxed-for.rkt 32:13 i -- unboxed complex variable -TR opt: unboxed-for.rkt 33:6 (#%app + i sum) -- unboxed float complex -TR opt: unboxed-for.rkt 33:7 + -- unboxed binary float complex -TR opt: unboxed-for.rkt 33:9 i -- leave var unboxed -TR opt: unboxed-for.rkt 33:9 i -- unbox float-complex -TR opt: unboxed-for.rkt 33:11 sum -- leave var unboxed -TR opt: unboxed-for.rkt 33:11 sum -- unbox float-complex +TR opt: unboxed-for.rkt 27:0 #%module-begin -- in-list +TR opt: unboxed-for.rkt 30:0 (for/fold: : Float-Complex ((sum : Float-Complex 0.0+0.0i)) ((i : Float-Complex (quote (1.0+2.0i 2.0+4.0i)))) (+ i sum)) -- call to fun with unboxed args +TR opt: unboxed-for.rkt 30:0 (for/fold: : Float-Complex ((sum : Float-Complex 0.0+0.0i)) ((i : Float-Complex (quote (1.0+2.0i 2.0+4.0i)))) (+ i sum)) -- fun -> unboxed fun +TR opt: unboxed-for.rkt 30:0 (for/fold: : Float-Complex ((sum : Float-Complex 0.0+0.0i)) ((i : Float-Complex (quote (1.0+2.0i 2.0+4.0i)))) (+ i sum)) -- unbox float-complex +TR opt: unboxed-for.rkt 30:0 (for/fold: : Float-Complex ((sum : Float-Complex 0.0+0.0i)) ((i : Float-Complex (quote (1.0+2.0i 2.0+4.0i)))) (+ i sum)) -- unboxed call site +TR opt: unboxed-for.rkt 30:0 (for/fold: : Float-Complex ((sum : Float-Complex 0.0+0.0i)) ((i : Float-Complex (quote (1.0+2.0i 2.0+4.0i)))) (+ i sum)) -- unboxed function -> table +TR opt: unboxed-for.rkt 30:0 (for/fold: : Float-Complex ((sum : Float-Complex 0.0+0.0i)) ((i : Float-Complex (quote (1.0+2.0i 2.0+4.0i)))) (+ i sum)) -- unboxed let bindings +TR opt: unboxed-for.rkt 30:0 (for/fold: : Float-Complex ((sum : Float-Complex 0.0+0.0i)) ((i : Float-Complex (quote (1.0+2.0i 2.0+4.0i)))) (+ i sum)) -- unboxed let loop +TR opt: unboxed-for.rkt 30:0 (for/fold: : Float-Complex ((sum : Float-Complex 0.0+0.0i)) ((i : Float-Complex (quote (1.0+2.0i 2.0+4.0i)))) (+ i sum)) -- unboxed call site +TR opt: unboxed-for.rkt 30:31 sum -- leave var unboxed +TR opt: unboxed-for.rkt 30:31 sum -- unbox float-complex +TR opt: unboxed-for.rkt 30:31 sum -- unboxed complex variable +TR opt: unboxed-for.rkt 30:31 sum -- unboxed var -> table +TR opt: unboxed-for.rkt 30:53 0.0+0.0i -- unboxed literal +TR opt: unboxed-for.rkt 31:13 i -- unboxed complex variable +TR opt: unboxed-for.rkt 32:6 (+ i sum) -- unboxed float complex +TR opt: unboxed-for.rkt 32:7 + -- unboxed binary float complex +TR opt: unboxed-for.rkt 32:9 i -- leave var unboxed +TR opt: unboxed-for.rkt 32:9 i -- unbox float-complex +TR opt: unboxed-for.rkt 32:11 sum -- leave var unboxed +TR opt: unboxed-for.rkt 32:11 sum -- unbox float-complex 3.0+6.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions1.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions1.rkt index 63b0e2f3..b1d10add 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions1.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions1.rkt @@ -3,7 +3,7 @@ TR opt: unboxed-let-functions1.rkt 23:7 f -- fun -> unboxed fun TR opt: unboxed-let-functions1.rkt 23:7 f -- unboxed function -> table TR opt: unboxed-let-functions1.rkt 23:20 x -- unboxed var -> table -TR opt: unboxed-let-functions1.rkt 23:42 (#%app + x (quote 3.0+6.0i)) -- unboxed float complex +TR opt: unboxed-let-functions1.rkt 23:42 (+ x 3.0+6.0i) -- unboxed float complex TR opt: unboxed-let-functions1.rkt 23:43 + -- unboxed binary float complex TR opt: unboxed-let-functions1.rkt 23:45 x -- leave var unboxed TR opt: unboxed-let-functions1.rkt 23:45 x -- unbox float-complex diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions2.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions2.rkt index 21e0dd7f..a9cf8042 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions2.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions2.rkt @@ -4,7 +4,7 @@ TR opt: unboxed-let-functions2.rkt 26:7 f -- fun -> unboxed fun TR opt: unboxed-let-functions2.rkt 26:7 f -- unboxed function -> table TR opt: unboxed-let-functions2.rkt 26:20 x -- unboxed var -> table TR opt: unboxed-let-functions2.rkt 26:42 y -- unboxed var -> table -TR opt: unboxed-let-functions2.rkt 27:18 (#%app + x y) -- unboxed float complex +TR opt: unboxed-let-functions2.rkt 27:18 (+ x y) -- unboxed float complex TR opt: unboxed-let-functions2.rkt 27:19 + -- unboxed binary float complex TR opt: unboxed-let-functions2.rkt 27:21 x -- leave var unboxed TR opt: unboxed-let-functions2.rkt 27:21 x -- unbox float-complex diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions3.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions3.rkt index ff010132..8cd92170 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions3.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions3.rkt @@ -3,7 +3,7 @@ TR opt: unboxed-let-functions3.rkt 23:7 f -- fun -> unboxed fun TR opt: unboxed-let-functions3.rkt 23:7 f -- unboxed function -> table TR opt: unboxed-let-functions3.rkt 23:20 x -- unboxed var -> table -TR opt: unboxed-let-functions3.rkt 24:18 (#%app + x y) -- unboxed float complex +TR opt: unboxed-let-functions3.rkt 24:18 (+ x y) -- unboxed float complex TR opt: unboxed-let-functions3.rkt 24:19 + -- unboxed binary float complex TR opt: unboxed-let-functions3.rkt 24:21 x -- leave var unboxed TR opt: unboxed-let-functions3.rkt 24:21 x -- unbox float-complex diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions4.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions4.rkt index ba5532fe..7f911cd1 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions4.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions4.rkt @@ -3,7 +3,7 @@ TR opt: unboxed-let-functions4.rkt 23:7 f -- fun -> unboxed fun TR opt: unboxed-let-functions4.rkt 23:7 f -- unboxed function -> table TR opt: unboxed-let-functions4.rkt 23:32 x -- unboxed var -> table -TR opt: unboxed-let-functions4.rkt 24:18 (#%app + x y) -- unboxed float complex +TR opt: unboxed-let-functions4.rkt 24:18 (+ x y) -- unboxed float complex TR opt: unboxed-let-functions4.rkt 24:19 + -- unboxed binary float complex TR opt: unboxed-let-functions4.rkt 24:21 x -- leave var unboxed TR opt: unboxed-let-functions4.rkt 24:21 x -- unbox float-complex diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions5.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions5.rkt index 9c1e6099..ffd88c84 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions5.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions5.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: unboxed-let-functions5.rkt 20:12 (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)) -- unboxed float complex +TR opt: unboxed-let-functions5.rkt 20:12 (+ 1.0+2.0i 2.0+4.0i) -- unboxed float complex TR opt: unboxed-let-functions5.rkt 20:13 + -- unboxed binary float complex TR opt: unboxed-let-functions5.rkt 20:15 1.0+2.0i -- unboxed literal TR opt: unboxed-let-functions5.rkt 20:24 2.0+4.0i -- unboxed literal diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions6.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions6.rkt index ab05c5af..188d32af 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions6.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions6.rkt @@ -1,12 +1,12 @@ #; ( -TR opt: #f (no location) (letrec-values (((loop) (lambda (z l) (if (#%app null? l) (#%app + z (quote 0.0+1.0i)) (#%app loop (#%app + z (#%app car l)) (#%app cdr l)))))) loop) -- unboxed call site +TR opt: unboxed-let-functions6.rkt 27:0 (let: loop : Float-Complex ((z : Float-Complex 0.0+0.0i) (l : (Listof Integer) (quote (1 2 3)))) (if (null? l) (+ z 0.0+1.0i) (loop (+ z (car l)) (cdr l)))) -- unboxed call site TR opt: unboxed-let-functions6.rkt 27:6 loop -- fun -> unboxed fun TR opt: unboxed-let-functions6.rkt 27:6 loop -- unboxed function -> table TR opt: unboxed-let-functions6.rkt 27:6 loop -- unboxed let loop TR opt: unboxed-let-functions6.rkt 27:31 z -- unboxed var -> table TR opt: unboxed-let-functions6.rkt 27:51 0.0+0.0i -- unboxed literal -TR opt: unboxed-let-functions6.rkt 30:10 (#%app + z (quote 0.0+1.0i)) -- unboxed float complex +TR opt: unboxed-let-functions6.rkt 30:10 (+ z 0.0+1.0i) -- unboxed float complex TR opt: unboxed-let-functions6.rkt 30:11 + -- unboxed binary float complex TR opt: unboxed-let-functions6.rkt 30:13 z -- leave var unboxed TR opt: unboxed-let-functions6.rkt 30:13 z -- unbox float-complex @@ -15,7 +15,7 @@ TR opt: unboxed-let-functions6.rkt 31:11 loop -- call to fun with unboxed args TR opt: unboxed-let-functions6.rkt 31:11 loop -- unboxed call site TR opt: unboxed-let-functions6.rkt 31:17 + -- unboxed binary float complex TR opt: unboxed-let-functions6.rkt 31:19 z -- leave var unboxed -TR opt: unboxed-let-functions6.rkt 31:21 (#%app car l) -- float-arg-expr in complex ops +TR opt: unboxed-let-functions6.rkt 31:21 (car l) -- float-arg-expr in complex ops TR opt: unboxed-let-functions6.rkt 31:22 car -- pair TR opt: unboxed-let-functions6.rkt 32:17 cdr -- pair 6.0+1.0i diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions7.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions7.rkt index c6f1b842..692bee92 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions7.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions7.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: #f (no location) (letrec-values (((loop) (lambda (z l) (if (#%app null? l) z (#%app loop (#%app + z (#%app car l)) (#%app cdr l)))))) loop) -- unboxed call site +TR opt: unboxed-let-functions7.rkt 26:0 (let: loop : Float-Complex ((z : Float-Complex 0.0+0.0i) (l : (Listof Integer) (quote (1 2 3)))) (if (null? l) z (loop (+ z (car l)) (cdr l)))) -- unboxed call site TR opt: unboxed-let-functions7.rkt 26:6 loop -- fun -> unboxed fun TR opt: unboxed-let-functions7.rkt 26:6 loop -- unboxed function -> table TR opt: unboxed-let-functions7.rkt 26:6 loop -- unboxed let loop @@ -9,11 +9,11 @@ TR opt: unboxed-let-functions7.rkt 26:51 0.0+0.0i -- unboxed literal TR opt: unboxed-let-functions7.rkt 29:6 z -- unboxed complex variable TR opt: unboxed-let-functions7.rkt 30:7 loop -- call to fun with unboxed args TR opt: unboxed-let-functions7.rkt 30:7 loop -- unboxed call site -TR opt: unboxed-let-functions7.rkt 30:12 (#%app + z (#%app car l)) -- unboxed float complex +TR opt: unboxed-let-functions7.rkt 30:12 (+ z (car l)) -- unboxed float complex TR opt: unboxed-let-functions7.rkt 30:13 + -- unboxed binary float complex TR opt: unboxed-let-functions7.rkt 30:15 z -- leave var unboxed TR opt: unboxed-let-functions7.rkt 30:15 z -- unbox float-complex -TR opt: unboxed-let-functions7.rkt 30:17 (#%app car l) -- float-arg-expr in complex ops +TR opt: unboxed-let-functions7.rkt 30:17 (car l) -- float-arg-expr in complex ops TR opt: unboxed-let-functions7.rkt 30:18 car -- pair TR opt: unboxed-let-functions7.rkt 31:13 cdr -- pair 6.0+0.0i diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions8.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions8.rkt index ca264282..c1a03cd2 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions8.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let-functions8.rkt @@ -1,6 +1,6 @@ #; ( -TR opt: unboxed-let-functions8.rkt 15:64 (#%app + x (quote 2.0+4.0i)) -- unboxed float complex +TR opt: unboxed-let-functions8.rkt 15:64 (+ x 2.0+4.0i) -- unboxed float complex TR opt: unboxed-let-functions8.rkt 15:65 + -- unboxed binary float complex TR opt: unboxed-let-functions8.rkt 15:67 x -- unbox float-complex TR opt: unboxed-let-functions8.rkt 15:69 2.0+4.0i -- unboxed literal diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-let.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-let.rkt index 3e50cb87..a1d641a5 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let.rkt @@ -1,23 +1,21 @@ #; ( -TR opt: unboxed-let.rkt 29:0 (let-values (((t1) (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)))) (let-values (((t2) (#%app - t1 (quote 3.0+6.0i)))) (let-values (((t3) (quote 4.0+8.0i))) (#%app + t2 t3)))) -- unboxed let bindings -TR opt: unboxed-let.rkt 29:0 (let-values (((t2) (#%app - t1 (quote 3.0+6.0i)))) (let-values (((t3) (quote 4.0+8.0i))) (#%app + t2 t3))) -- unboxed let bindings -TR opt: unboxed-let.rkt 29:0 (let-values (((t3) (quote 4.0+8.0i))) (#%app + t2 t3)) -- unboxed let bindings -TR opt: unboxed-let.rkt 29:12 + -- unboxed binary float complex -TR opt: unboxed-let.rkt 29:14 1.0+2.0i -- unboxed literal -TR opt: unboxed-let.rkt 29:23 2.0+4.0i -- unboxed literal -TR opt: unboxed-let.rkt 30:11 (#%app - t1 (quote 3.0+6.0i)) -- unboxed float complex -TR opt: unboxed-let.rkt 30:12 - -- unboxed binary float complex -TR opt: unboxed-let.rkt 30:14 t1 -- leave var unboxed -TR opt: unboxed-let.rkt 30:14 t1 -- unbox float-complex -TR opt: unboxed-let.rkt 30:17 3.0+6.0i -- unboxed literal -TR opt: unboxed-let.rkt 31:11 4.0+8.0i -- unboxed literal -TR opt: unboxed-let.rkt 32:2 (#%app + t2 t3) -- unboxed float complex -TR opt: unboxed-let.rkt 32:3 + -- unboxed binary float complex -TR opt: unboxed-let.rkt 32:5 t2 -- leave var unboxed -TR opt: unboxed-let.rkt 32:5 t2 -- unbox float-complex -TR opt: unboxed-let.rkt 32:8 t3 -- leave var unboxed -TR opt: unboxed-let.rkt 32:8 t3 -- unbox float-complex +TR opt: unboxed-let.rkt 27:0 (let* ((t1 (+ 1.0+2.0i 2.0+4.0i)) (t2 (- t1 3.0+6.0i)) (t3 4.0+8.0i)) (+ t2 t3)) -- unboxed let bindings +TR opt: unboxed-let.rkt 27:12 + -- unboxed binary float complex +TR opt: unboxed-let.rkt 27:14 1.0+2.0i -- unboxed literal +TR opt: unboxed-let.rkt 27:23 2.0+4.0i -- unboxed literal +TR opt: unboxed-let.rkt 28:11 (- t1 3.0+6.0i) -- unboxed float complex +TR opt: unboxed-let.rkt 28:12 - -- unboxed binary float complex +TR opt: unboxed-let.rkt 28:14 t1 -- leave var unboxed +TR opt: unboxed-let.rkt 28:14 t1 -- unbox float-complex +TR opt: unboxed-let.rkt 28:17 3.0+6.0i -- unboxed literal +TR opt: unboxed-let.rkt 29:11 4.0+8.0i -- unboxed literal +TR opt: unboxed-let.rkt 30:2 (+ t2 t3) -- unboxed float complex +TR opt: unboxed-let.rkt 30:3 + -- unboxed binary float complex +TR opt: unboxed-let.rkt 30:5 t2 -- leave var unboxed +TR opt: unboxed-let.rkt 30:5 t2 -- unbox float-complex +TR opt: unboxed-let.rkt 30:8 t3 -- leave var unboxed +TR opt: unboxed-let.rkt 30:8 t3 -- unbox float-complex 4.0+8.0i ) diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-let2.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-let2.rkt index 4c74c683..cb39be64 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let2.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let2.rkt @@ -1,13 +1,13 @@ #; ( -TR opt: unboxed-let2.rkt 22:0 (let-values (((t1) (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i))) ((t2) (#%app + (quote 3.0+6.0i) (quote 4.0+8.0i)))) (#%app + t1 t2)) -- unboxed let bindings +TR opt: unboxed-let2.rkt 22:0 (let ((t1 (+ 1.0+2.0i 2.0+4.0i)) (t2 (+ 3.0+6.0i 4.0+8.0i))) (+ t1 t2)) -- unboxed let bindings TR opt: unboxed-let2.rkt 22:11 + -- unboxed binary float complex TR opt: unboxed-let2.rkt 22:13 1.0+2.0i -- unboxed literal TR opt: unboxed-let2.rkt 22:22 2.0+4.0i -- unboxed literal TR opt: unboxed-let2.rkt 23:11 + -- unboxed binary float complex TR opt: unboxed-let2.rkt 23:13 3.0+6.0i -- unboxed literal TR opt: unboxed-let2.rkt 23:22 4.0+8.0i -- unboxed literal -TR opt: unboxed-let2.rkt 24:2 (#%app + t1 t2) -- unboxed float complex +TR opt: unboxed-let2.rkt 24:2 (+ t1 t2) -- unboxed float complex TR opt: unboxed-let2.rkt 24:3 + -- unboxed binary float complex TR opt: unboxed-let2.rkt 24:5 t1 -- leave var unboxed TR opt: unboxed-let2.rkt 24:5 t1 -- unbox float-complex diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-let3.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-let3.rkt index 3d372091..afd5705a 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-let3.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-let3.rkt @@ -1,11 +1,11 @@ #; ( -TR opt: unboxed-let3.rkt 26:0 (let-values (((x) (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)))) (if (#%app even? (quote 2)) x (#%app + x (quote 2.0+4.0i)))) -- unboxed let bindings +TR opt: unboxed-let3.rkt 26:0 (let ((x (+ 1.0+2.0i 2.0+4.0i))) (if (even? 2) x (+ x 2.0+4.0i))) -- unboxed let bindings TR opt: unboxed-let3.rkt 26:10 + -- unboxed binary float complex TR opt: unboxed-let3.rkt 26:12 1.0+2.0i -- unboxed literal TR opt: unboxed-let3.rkt 26:21 2.0+4.0i -- unboxed literal TR opt: unboxed-let3.rkt 28:6 x -- unboxed complex variable -TR opt: unboxed-let3.rkt 29:6 (#%app + x (quote 2.0+4.0i)) -- unboxed float complex +TR opt: unboxed-let3.rkt 29:6 (+ x 2.0+4.0i) -- unboxed float complex TR opt: unboxed-let3.rkt 29:7 + -- unboxed binary float complex TR opt: unboxed-let3.rkt 29:9 x -- leave var unboxed TR opt: unboxed-let3.rkt 29:9 x -- unbox float-complex diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-letrec-syntaxes+values.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-letrec-syntaxes+values.rkt index ed0c4d41..dd0a19d2 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-letrec-syntaxes+values.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-letrec-syntaxes+values.rkt @@ -1,10 +1,10 @@ #; ( -TR opt: unboxed-letrec-syntaxes+values.rkt 18:0 (letrec-syntaxes+values (((s) (syntax-rules () ((_ x) x)))) (((x) (#%app + (quote 1.0+2.0i) (quote 2.0+4.0i)))) (#%app + x (quote 2.0+4.0i))) -- unboxed let bindings +TR opt: unboxed-letrec-syntaxes+values.rkt 18:0 (letrec-syntaxes+values (((s) (syntax-rules () ((_ x) x)))) (((x) (+ 1.0+2.0i 2.0+4.0i))) (+ x 2.0+4.0i)) -- unboxed let bindings TR opt: unboxed-letrec-syntaxes+values.rkt 19:31 + -- unboxed binary float complex TR opt: unboxed-letrec-syntaxes+values.rkt 19:33 1.0+2.0i -- unboxed literal TR opt: unboxed-letrec-syntaxes+values.rkt 19:42 2.0+4.0i -- unboxed literal -TR opt: unboxed-letrec-syntaxes+values.rkt 20:24 (#%app + x (quote 2.0+4.0i)) -- unboxed float complex +TR opt: unboxed-letrec-syntaxes+values.rkt 20:24 (+ x 2.0+4.0i) -- unboxed float complex TR opt: unboxed-letrec-syntaxes+values.rkt 20:25 + -- unboxed binary float complex TR opt: unboxed-letrec-syntaxes+values.rkt 20:27 x -- leave var unboxed TR opt: unboxed-letrec-syntaxes+values.rkt 20:27 x -- unbox float-complex diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-letrec.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-letrec.rkt index 212bf640..be255092 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-letrec.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-letrec.rkt @@ -1,11 +1,11 @@ #; ( -TR opt: unboxed-letrec.rkt 22:0 (letrec-values (((f) (lambda (x) (#%app f x))) ((x) (quote 1.0+2.0i)) ((y) (#%app + (quote 2.0+4.0i) (quote 3.0+6.0i)))) (#%app + x y)) -- unboxed let bindings +TR opt: unboxed-letrec.rkt 22:0 (letrec: ((f : (Any -> Any) (lambda: ((x : Any)) (f x))) (x : Float-Complex 1.0+2.0i) (y : Float-Complex (+ 2.0+4.0i 3.0+6.0i))) (+ x y)) -- unboxed let bindings TR opt: unboxed-letrec.rkt 23:31 1.0+2.0i -- unboxed literal TR opt: unboxed-letrec.rkt 24:32 + -- unboxed binary float complex TR opt: unboxed-letrec.rkt 24:34 2.0+4.0i -- unboxed literal TR opt: unboxed-letrec.rkt 24:43 3.0+6.0i -- unboxed literal -TR opt: unboxed-letrec.rkt 25:2 (#%app + x y) -- unboxed float complex +TR opt: unboxed-letrec.rkt 25:2 (+ x y) -- unboxed float complex TR opt: unboxed-letrec.rkt 25:3 + -- unboxed binary float complex TR opt: unboxed-letrec.rkt 25:5 x -- leave var unboxed TR opt: unboxed-letrec.rkt 25:5 x -- unbox float-complex diff --git a/collects/tests/typed-scheme/optimizer/tests/unboxed-make-rectangular.rkt b/collects/tests/typed-scheme/optimizer/tests/unboxed-make-rectangular.rkt index 1c12dfcf..c1e0c27a 100644 --- a/collects/tests/typed-scheme/optimizer/tests/unboxed-make-rectangular.rkt +++ b/collects/tests/typed-scheme/optimizer/tests/unboxed-make-rectangular.rkt @@ -1,15 +1,15 @@ #; ( -TR opt: unboxed-make-rectangular.rkt 27:0 (let-values (((x) (#%app make-rectangular (quote 1.0) (quote 2.0)))) (#%app + x (quote 2.0+4.0i))) -- unboxed let bindings +TR opt: unboxed-make-rectangular.rkt 27:0 (let ((x (make-rectangular 1.0 2.0))) (+ x 2.0+4.0i)) -- unboxed let bindings TR opt: unboxed-make-rectangular.rkt 27:10 make-rectangular -- make-rectangular elimination -TR opt: unboxed-make-rectangular.rkt 28:2 (#%app + x (quote 2.0+4.0i)) -- unboxed float complex +TR opt: unboxed-make-rectangular.rkt 28:2 (+ x 2.0+4.0i) -- unboxed float complex TR opt: unboxed-make-rectangular.rkt 28:3 + -- unboxed binary float complex TR opt: unboxed-make-rectangular.rkt 28:5 x -- leave var unboxed TR opt: unboxed-make-rectangular.rkt 28:5 x -- unbox float-complex TR opt: unboxed-make-rectangular.rkt 28:7 2.0+4.0i -- unboxed literal -TR opt: unboxed-make-rectangular.rkt 29:0 (let-values (((x) (#%app unsafe-make-flrectangular (quote 1.0) (quote 2.0)))) (#%app + x (quote 2.0+4.0i))) -- unboxed let bindings +TR opt: unboxed-make-rectangular.rkt 29:0 (let ((x (unsafe-make-flrectangular 1.0 2.0))) (+ x 2.0+4.0i)) -- unboxed let bindings TR opt: unboxed-make-rectangular.rkt 29:10 unsafe-make-flrectangular -- make-rectangular elimination -TR opt: unboxed-make-rectangular.rkt 30:2 (#%app + x (quote 2.0+4.0i)) -- unboxed float complex +TR opt: unboxed-make-rectangular.rkt 30:2 (+ x 2.0+4.0i) -- unboxed float complex TR opt: unboxed-make-rectangular.rkt 30:3 + -- unboxed binary float complex TR opt: unboxed-make-rectangular.rkt 30:5 x -- leave var unboxed TR opt: unboxed-make-rectangular.rkt 30:5 x -- unbox float-complex diff --git a/collects/typed-scheme/optimizer/logging.rkt b/collects/typed-scheme/optimizer/logging.rkt index cc201c1d..4942928b 100644 --- a/collects/typed-scheme/optimizer/logging.rkt +++ b/collects/typed-scheme/optimizer/logging.rkt @@ -1,7 +1,8 @@ #lang racket/base (require racket/set racket/string racket/match racket/list - unstable/syntax) + unstable/syntax + "../utils/tc-utils.rkt") (provide log-optimization log-missed-optimization optimization-log-key @@ -28,12 +29,13 @@ (define log-so-far (set)) (define (gen-log-message msg stx from) - (format "~a: ~a ~a ~a -- ~a" - from - (syntax-source-file-name stx) - (line+col->string stx) - (syntax->datum stx) - msg)) + (let ([stx (locate-stx stx)]) + (format "~a: ~a ~a ~a -- ~a" + from + (syntax-source-file-name stx) + (line+col->string stx) + (syntax->datum stx) + msg))) (define (log-optimization msg stx #:from [from "TR opt"]) (let* ([new-message (gen-log-message msg stx from)]