Add possible to TR optimizer message
original commit: 403a8b42e9aca09aab78da0d7d0c1c15bafb02a3
This commit is contained in:
parent
3cc500cd2d
commit
fce6037788
|
@ -255,16 +255,16 @@
|
|||
;; for consumption by Optimization Coach.
|
||||
(pattern (#%plain-app op:binary-float-op n:opt-expr ...)
|
||||
#:when (maybe-exact-rational? this-syntax)
|
||||
#:do [(log-opt-info "exact real arith")]
|
||||
#:do [(log-opt-info "possible exact real arith")]
|
||||
#:with opt #'(op n.opt ...))
|
||||
(pattern (#%plain-app op:binary-float-comp n:opt-expr ...)
|
||||
;; can't look at return type, since it's always bool
|
||||
#:when (andmap maybe-exact-rational? (syntax->list #'(n ...)))
|
||||
#:do [(log-opt-info "exact real arith")]
|
||||
#:do [(log-opt-info "possible exact real arith")]
|
||||
#:with opt #'(op n.opt ...))
|
||||
(pattern (#%plain-app op:unary-float-op n:opt-expr ...)
|
||||
#:when (maybe-exact-rational? this-syntax)
|
||||
#:do [(log-opt-info "exact real arith")]
|
||||
#:do [(log-opt-info "possible exact real arith")]
|
||||
#:with opt #'(op n.opt ...))
|
||||
)
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: all-real.rkt 29:0 (+ (ann 3 Real) (ann 4 Real)) -- exact real arith
|
||||
TR info: all-real.rkt 30:0 (* (ann 3 Real) (ann 4 Real)) -- exact real arith
|
||||
TR info: all-real.rkt 29:0 (+ (ann 3 Real) (ann 4 Real)) -- possible exact real arith
|
||||
TR info: all-real.rkt 30:0 (* (ann 3 Real) (ann 4 Real)) -- possible exact real arith
|
||||
TR missed opt: all-real.rkt 29:0 (+ (ann 3 Real) (ann 4 Real)) -- all args float-arg-expr, result not Float -- caused by: 29:8 3, 29:21 4
|
||||
TR missed opt: all-real.rkt 30:0 (* (ann 3 Real) (ann 4 Real)) -- all args float-arg-expr, result not Float -- caused by: 30:8 3, 30:21 4
|
||||
END
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: multi-file1.rkt 13:2 (* x (ann 3 Integer)) -- exact real arith
|
||||
TR info: multi-file1.rkt 13:2 (* x (ann 3 Integer)) -- possible exact real arith
|
||||
TR missed opt: multi-file1.rkt 13:2 (* x (ann 3 Integer)) -- all args float-arg-expr, result not Float -- caused by: 13:12 3
|
||||
END
|
||||
""
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: multiple-irritants.rkt 13:0 (* (ann 4 Integer) (ann 5 Integer) 6.0) -- exact real arith
|
||||
TR info: multiple-irritants.rkt 13:0 (* (ann 4 Integer) (ann 5 Integer) 6.0) -- possible exact real arith
|
||||
TR missed opt: multiple-irritants.rkt 13:0 (* (ann 4 Integer) (ann 5 Integer) 6.0) -- all args float-arg-expr, result not Float -- caused by: 13:8 4, 13:24 5
|
||||
END
|
||||
#<<END
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: nested-same-kind.rkt 37:0 (* 2.0 (* 3.0 (ann 4 Integer))) -- exact real arith
|
||||
TR info: nested-same-kind.rkt 37:7 (* 3.0 (ann 4 Integer)) -- exact real arith
|
||||
TR info: nested-same-kind.rkt 38:0 (* 1.0 (* 2.0 (* 3.0 (ann 4 Integer)))) -- exact real arith
|
||||
TR info: nested-same-kind.rkt 38:14 (* 3.0 (ann 4 Integer)) -- exact real arith
|
||||
TR info: nested-same-kind.rkt 38:7 (* 2.0 (* 3.0 (ann 4 Integer))) -- exact real arith
|
||||
TR info: nested-same-kind.rkt 39:0 (* 2.0 (* 3.0 (ann 4 Integer) (ann 5 Integer))) -- exact real arith
|
||||
TR info: nested-same-kind.rkt 39:7 (* 3.0 (ann 4 Integer) (ann 5 Integer)) -- exact real arith
|
||||
TR info: nested-same-kind.rkt 40:0 (* (* 3.0 (ann 4 Integer)) (* 3.0 (ann 4 Integer))) -- exact real arith
|
||||
TR info: nested-same-kind.rkt 40:27 (* 3.0 (ann 4 Integer)) -- exact real arith
|
||||
TR info: nested-same-kind.rkt 40:3 (* 3.0 (ann 4 Integer)) -- exact real arith
|
||||
TR info: nested-same-kind.rkt 37:0 (* 2.0 (* 3.0 (ann 4 Integer))) -- possible exact real arith
|
||||
TR info: nested-same-kind.rkt 37:7 (* 3.0 (ann 4 Integer)) -- possible exact real arith
|
||||
TR info: nested-same-kind.rkt 38:0 (* 1.0 (* 2.0 (* 3.0 (ann 4 Integer)))) -- possible exact real arith
|
||||
TR info: nested-same-kind.rkt 38:14 (* 3.0 (ann 4 Integer)) -- possible exact real arith
|
||||
TR info: nested-same-kind.rkt 38:7 (* 2.0 (* 3.0 (ann 4 Integer))) -- possible exact real arith
|
||||
TR info: nested-same-kind.rkt 39:0 (* 2.0 (* 3.0 (ann 4 Integer) (ann 5 Integer))) -- possible exact real arith
|
||||
TR info: nested-same-kind.rkt 39:7 (* 3.0 (ann 4 Integer) (ann 5 Integer)) -- possible exact real arith
|
||||
TR info: nested-same-kind.rkt 40:0 (* (* 3.0 (ann 4 Integer)) (* 3.0 (ann 4 Integer))) -- possible exact real arith
|
||||
TR info: nested-same-kind.rkt 40:27 (* 3.0 (ann 4 Integer)) -- possible exact real arith
|
||||
TR info: nested-same-kind.rkt 40:3 (* 3.0 (ann 4 Integer)) -- possible exact real arith
|
||||
TR missed opt: nested-same-kind.rkt 37:0 (* 2.0 (* 3.0 (ann 4 Integer))) -- all args float-arg-expr, result not Float -- caused by: 37:7 (* 3.0 (ann 4 Integer))
|
||||
TR missed opt: nested-same-kind.rkt 37:7 (* 3.0 (ann 4 Integer)) -- all args float-arg-expr, result not Float -- caused by: 37:19 4
|
||||
TR missed opt: nested-same-kind.rkt 38:0 (* 1.0 (* 2.0 (* 3.0 (ann 4 Integer)))) -- all args float-arg-expr, result not Float -- caused by: 38:7 (* 2.0 (* 3.0 (ann 4 Integer)))
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: precision-loss.rkt 38:3 (* 3/4 2/3) -- exact real arith
|
||||
TR info: precision-loss.rkt 42:3 (- 3/4) -- exact real arith
|
||||
TR info: precision-loss.rkt 44:39 (+ 1/4 3/4) -- exact real arith
|
||||
TR info: precision-loss.rkt 50:0 (* (* (r 3/4) 2/3) (car (list (* 2.0 (* (r 3/4) 2/3)))) 2.0) -- exact real arith
|
||||
TR info: precision-loss.rkt 50:3 (* (r 3/4) 2/3) -- exact real arith
|
||||
TR info: precision-loss.rkt 51:14 (* 2.0 (* (r 3/4) 2/3)) -- exact real arith
|
||||
TR info: precision-loss.rkt 51:21 (* (r 3/4) 2/3) -- exact real arith
|
||||
TR info: precision-loss.rkt 38:3 (* 3/4 2/3) -- possible exact real arith
|
||||
TR info: precision-loss.rkt 42:3 (- 3/4) -- possible exact real arith
|
||||
TR info: precision-loss.rkt 44:39 (+ 1/4 3/4) -- possible exact real arith
|
||||
TR info: precision-loss.rkt 50:0 (* (* (r 3/4) 2/3) (car (list (* 2.0 (* (r 3/4) 2/3)))) 2.0) -- possible exact real arith
|
||||
TR info: precision-loss.rkt 50:3 (* (r 3/4) 2/3) -- possible exact real arith
|
||||
TR info: precision-loss.rkt 51:14 (* 2.0 (* (r 3/4) 2/3)) -- possible exact real arith
|
||||
TR info: precision-loss.rkt 51:21 (* (r 3/4) 2/3) -- possible exact real arith
|
||||
TR missed opt: precision-loss.rkt 38:0 (+ (* 3/4 2/3) 2.0) -- exact ops inside float expr -- caused by: 38:3 (* 3/4 2/3)
|
||||
TR missed opt: precision-loss.rkt 42:0 (+ (- 3/4) 2.0) -- exact ops inside float expr -- caused by: 42:3 (- 3/4)
|
||||
TR missed opt: precision-loss.rkt 44:0 (+ (vector-ref (quote #(2/3 1/2 3/4)) (assert (+ 1/4 3/4) exact-integer?)) 2.0) -- all args float-arg-expr, result not Float -- caused by: 44:3 (vector-ref (quote #(2/3 1/2 3/4)) (assert (+ 1/4 3/4) exact-integer?))
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: real-in-float-expr.rkt 23:0 (* (ann 3 Real) 2.3) -- exact real arith
|
||||
TR info: real-in-float-expr.rkt 30:0 (+ 2/3 3/4) -- exact real arith
|
||||
TR info: real-in-float-expr.rkt 32:0 (* (ann 2 Natural) 2.0) -- exact real arith
|
||||
TR info: real-in-float-expr.rkt 23:0 (* (ann 3 Real) 2.3) -- possible exact real arith
|
||||
TR info: real-in-float-expr.rkt 30:0 (+ 2/3 3/4) -- possible exact real arith
|
||||
TR info: real-in-float-expr.rkt 32:0 (* (ann 2 Natural) 2.0) -- possible exact real arith
|
||||
TR missed opt: real-in-float-expr.rkt 23:0 (* (ann 3 Real) 2.3) -- all args float-arg-expr, result not Float -- caused by: 23:8 3
|
||||
TR missed opt: real-in-float-expr.rkt 32:0 (* (ann 2 Natural) 2.0) -- all args float-arg-expr, result not Float -- caused by: 32:8 2
|
||||
TR opt: real-in-float-expr.rkt 28:0 (* 2 3) -- fixnum bounded expr
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: unary-float.rkt 20:0 (sin (ann 3.4 Real)) -- exact real arith
|
||||
TR info: unary-float.rkt 21:0 (sin 3) -- exact real arith
|
||||
TR info: unary-float.rkt 22:0 (abs (ann 3.4 Real)) -- exact real arith
|
||||
TR info: unary-float.rkt 20:0 (sin (ann 3.4 Real)) -- possible exact real arith
|
||||
TR info: unary-float.rkt 21:0 (sin 3) -- possible exact real arith
|
||||
TR info: unary-float.rkt 22:0 (abs (ann 3.4 Real)) -- possible exact real arith
|
||||
TR missed opt: unary-float.rkt 20:0 (sin (ann 3.4 Real)) -- all args float-arg-expr, result not Float -- caused by: 20:10 3.4
|
||||
TR missed opt: unary-float.rkt 21:0 (sin 3) -- all args float-arg-expr, result not Float -- caused by: 21:5 3
|
||||
TR missed opt: unary-float.rkt 22:0 (abs (ann 3.4 Real)) -- all args float-arg-expr, result not Float -- caused by: 22:10 3.4
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: case-arrow.rkt 42:12 (* (- max min) x) -- exact real arith
|
||||
TR info: case-arrow.rkt 42:15 (- max min) -- exact real arith
|
||||
TR info: case-arrow.rkt 42:2 (+ min (/ (* (- max min) x) p)) -- exact real arith
|
||||
TR info: case-arrow.rkt 42:9 (/ (* (- max min) x) p) -- exact real arith
|
||||
TR info: case-arrow.rkt 42:12 (* (- max min) x) -- possible exact real arith
|
||||
TR info: case-arrow.rkt 42:15 (- max min) -- possible exact real arith
|
||||
TR info: case-arrow.rkt 42:2 (+ min (/ (* (- max min) x) p)) -- possible exact real arith
|
||||
TR info: case-arrow.rkt 42:9 (/ (* (- max min) x) p) -- possible exact real arith
|
||||
TR missed opt: case-arrow.rkt 42:12 (* (- max min) x) -- all args float-arg-expr, result not Float -- caused by: 42:15 (- max min), 42:27 x
|
||||
TR missed opt: case-arrow.rkt 42:15 (- max min) -- all args float-arg-expr, result not Float -- caused by: 42:18 max, 42:22 min
|
||||
TR missed opt: case-arrow.rkt 42:2 (+ min (/ (* (- max min) x) p)) -- all args float-arg-expr, result not Float -- caused by: 42:5 min, 42:9 (/ (* (- max min) x) p)
|
||||
|
|
|
@ -1,21 +1,21 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: dead-inf-comp.rkt 159:4 (< rat +inf.f) -- exact real arith
|
||||
TR info: dead-inf-comp.rkt 162:4 (< +inf.f rat) -- exact real arith
|
||||
TR info: dead-inf-comp.rkt 165:4 (< rat -inf.f) -- exact real arith
|
||||
TR info: dead-inf-comp.rkt 168:4 (< -inf.f rat) -- exact real arith
|
||||
TR info: dead-inf-comp.rkt 172:4 (> +inf.f rat) -- exact real arith
|
||||
TR info: dead-inf-comp.rkt 175:4 (> rat +inf.f) -- exact real arith
|
||||
TR info: dead-inf-comp.rkt 178:4 (> -inf.f rat) -- exact real arith
|
||||
TR info: dead-inf-comp.rkt 181:4 (> rat -inf.f) -- exact real arith
|
||||
TR info: dead-inf-comp.rkt 185:4 (<= rat +inf.f) -- exact real arith
|
||||
TR info: dead-inf-comp.rkt 188:4 (<= +inf.f rat) -- exact real arith
|
||||
TR info: dead-inf-comp.rkt 191:4 (<= rat -inf.f) -- exact real arith
|
||||
TR info: dead-inf-comp.rkt 194:4 (<= -inf.f rat) -- exact real arith
|
||||
TR info: dead-inf-comp.rkt 198:4 (>= +inf.f rat) -- exact real arith
|
||||
TR info: dead-inf-comp.rkt 201:4 (>= rat +inf.f) -- exact real arith
|
||||
TR info: dead-inf-comp.rkt 204:4 (>= -inf.f rat) -- exact real arith
|
||||
TR info: dead-inf-comp.rkt 207:4 (>= rat -inf.f) -- exact real arith
|
||||
TR info: dead-inf-comp.rkt 159:4 (< rat +inf.f) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 162:4 (< +inf.f rat) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 165:4 (< rat -inf.f) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 168:4 (< -inf.f rat) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 172:4 (> +inf.f rat) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 175:4 (> rat +inf.f) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 178:4 (> -inf.f rat) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 181:4 (> rat -inf.f) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 185:4 (<= rat +inf.f) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 188:4 (<= +inf.f rat) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 191:4 (<= rat -inf.f) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 194:4 (<= -inf.f rat) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 198:4 (>= +inf.f rat) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 201:4 (>= rat +inf.f) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 204:4 (>= -inf.f rat) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 207:4 (>= rat -inf.f) -- possible exact real arith
|
||||
TR info: dead-inf-comp.rkt 212:41 displayln -- hidden parameter
|
||||
TR info: dead-inf-comp.rkt 212:41 displayln -- hidden parameter
|
||||
TR opt: dead-inf-comp.rkt 102:0 #%module-begin -- dead else branch
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: different-langs.rkt 14:0 (/ 1 2) -- exact real arith
|
||||
TR info: different-langs.rkt 14:0 (/ 1 2) -- possible exact real arith
|
||||
END
|
||||
#<<END
|
||||
1/2
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: expt.rkt 15:2 (real-part (expt (sin 0.25) 1.0)) -- exact real arith
|
||||
TR info: expt.rkt 15:2 (real-part (expt (sin 0.25) 1.0)) -- possible exact real arith
|
||||
TR missed opt: expt.rkt 15:13 (expt (sin 0.25) 1.0) -- unexpected complex type
|
||||
TR opt: expt.rkt 15:19 (sin 0.25) -- unary float
|
||||
END
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: float-complex-sin.rkt 21:13 (sin (* t 6.28)) -- exact real arith
|
||||
TR info: float-complex-sin.rkt 21:18 (* t 6.28) -- exact real arith
|
||||
TR info: float-complex-sin.rkt 21:13 (sin (* t 6.28)) -- possible exact real arith
|
||||
TR info: float-complex-sin.rkt 21:18 (* t 6.28) -- possible exact real arith
|
||||
TR missed opt: float-complex-sin.rkt 21:13 (sin (* t 6.28)) -- all args float-arg-expr, result not Float -- caused by: 21:18 (* t 6.28)
|
||||
TR missed opt: float-complex-sin.rkt 21:18 (* t 6.28) -- all args float-arg-expr, result not Float -- caused by: 21:21 t
|
||||
TR opt: float-complex-sin.rkt 21:10 (+ (sin (* t 6.28)) 0.0+0.0i) -- unboxed binary float complex
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: float-real.rkt 22:15 (* (ann 2 Integer) 3.2) -- exact real arith
|
||||
TR info: float-real.rkt 23:0 (* 2.3 (* (ann 2 Integer) 3.1)) -- exact real arith
|
||||
TR info: float-real.rkt 23:7 (* (ann 2 Integer) 3.1) -- exact real arith
|
||||
TR info: float-real.rkt 22:15 (* (ann 2 Integer) 3.2) -- possible exact real arith
|
||||
TR info: float-real.rkt 23:0 (* 2.3 (* (ann 2 Integer) 3.1)) -- possible exact real arith
|
||||
TR info: float-real.rkt 23:7 (* (ann 2 Integer) 3.1) -- possible exact real arith
|
||||
TR missed opt: float-real.rkt 22:15 (* (ann 2 Integer) 3.2) -- all args float-arg-expr, result not Float -- caused by: 22:23 2
|
||||
TR missed opt: float-real.rkt 23:0 (* 2.3 (* (ann 2 Integer) 3.1)) -- all args float-arg-expr, result not Float -- caused by: 23:7 (* (ann 2 Integer) 3.1)
|
||||
TR missed opt: float-real.rkt 23:7 (* (ann 2 Integer) 3.1) -- all args float-arg-expr, result not Float -- caused by: 23:15 2
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: invalid-float-promotion.rkt 16:0 (/ (ann 1 Integer) 2.0) -- exact real arith
|
||||
TR info: invalid-float-promotion.rkt 17:0 (* (ann 2/3 Exact-Rational) 3.0) -- exact real arith
|
||||
TR info: invalid-float-promotion.rkt 16:0 (/ (ann 1 Integer) 2.0) -- possible exact real arith
|
||||
TR info: invalid-float-promotion.rkt 17:0 (* (ann 2/3 Exact-Rational) 3.0) -- possible exact real arith
|
||||
TR missed opt: invalid-float-promotion.rkt 16:0 (/ (ann 1 Integer) 2.0) -- all args float-arg-expr, result not Float -- caused by: 16:8 1
|
||||
TR missed opt: invalid-float-promotion.rkt 17:0 (* (ann 2/3 Exact-Rational) 3.0) -- all args float-arg-expr, result not Float -- caused by: 17:8 2/3
|
||||
END
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: invalid-inexact-complex-parts.rkt 12:0 (real-part 1+2i) -- exact real arith
|
||||
TR info: invalid-inexact-complex-parts.rkt 12:0 (real-part 1+2i) -- possible exact real arith
|
||||
END
|
||||
#<<END
|
||||
1
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#;#;
|
||||
#<<END
|
||||
TR info: invalid-log-complex.rkt 14:0 (real-part (log (ann 2.0 Float))) -- exact real arith
|
||||
TR info: invalid-log-complex.rkt 14:0 (real-part (log (ann 2.0 Float))) -- possible exact real arith
|
||||
TR missed opt: invalid-log-complex.rkt 14:11 (log (ann 2.0 Float)) -- unexpected complex type
|
||||
END
|
||||
#<<END
|
||||
|
|
Loading…
Reference in New Issue
Block a user