(DEC)
(WP-LOOP
 (8 8 (:TYPE-PRESCRIPTION RATIONALP-MOD))
 (8 8 (:TYPE-PRESCRIPTION MOD-ZERO . 1))
 (8 8 (:TYPE-PRESCRIPTION MOD-POSITIVE . 2))
 (8 8 (:TYPE-PRESCRIPTION MOD-POSITIVE . 1))
 (8 8 (:TYPE-PRESCRIPTION MOD-NONPOSITIVE))
 (8 8 (:TYPE-PRESCRIPTION MOD-NONNEGATIVE))
 (8 8 (:TYPE-PRESCRIPTION MOD-NEGATIVE . 2))
 (8 8 (:TYPE-PRESCRIPTION MOD-NEGATIVE . 1))
 (8 8 (:TYPE-PRESCRIPTION INTEGERP-MOD))
 (8 8 (:TYPE-PRESCRIPTION FLOOR-ZERO . 2))
 (8 8 (:TYPE-PRESCRIPTION FLOOR-ZERO . 1))
 (8 8 (:TYPE-PRESCRIPTION FLOOR-POSITIVE . 2))
 (8 8 (:TYPE-PRESCRIPTION FLOOR-POSITIVE . 1))
 (8 8 (:TYPE-PRESCRIPTION FLOOR-NONPOSITIVE-2))
 (8 8 (:TYPE-PRESCRIPTION FLOOR-NONPOSITIVE-1))
 (8 8 (:TYPE-PRESCRIPTION FLOOR-NONNEGATIVE-2))
 (8 8 (:TYPE-PRESCRIPTION FLOOR-NONNEGATIVE-1))
 (8 8 (:TYPE-PRESCRIPTION FLOOR-NEGATIVE . 2))
 (8 8 (:TYPE-PRESCRIPTION FLOOR-NEGATIVE . 1))
 (8 8 (:REWRITE REMOVE-WEAK-INEQUALITIES-TWO))
 (8 8 (:REWRITE REMOVE-WEAK-INEQUALITIES-ONE))
 (6 6 (:REWRITE NORMALIZE-TERMS-SUCH-AS-A/A+B-+-B/A+B))
 (6 6 (:REWRITE DEFAULT-+-2))
 (6 6 (:REWRITE DEFAULT-+-1))
 (2 2 (:REWRITE SIMPLIFY-PRODUCTS-GATHER-EXPONENTS-<))
 (2 2 (:REWRITE PREFER-POSITIVE-ADDENDS-<))
 (2 2 (:REWRITE DEFAULT-UNARY-MINUS))
 (2 2 (:REWRITE |(< (- x) (- y))|))
 (1 1 (:REWRITE SIMPLIFY-SUMS-EQUAL))
 (1 1 (:REWRITE SIMPLIFY-PRODUCTS-GATHER-EXPONENTS-EQUAL))
 (1 1 (:REWRITE PREFER-POSITIVE-ADDENDS-EQUAL))
 (1 1 (:REWRITE DEFAULT-<-2))
 (1 1 (:REWRITE DEFAULT-<-1))
 (1 1 (:REWRITE |(equal (- x) (- y))|))
 (1 1 (:REWRITE |(< (+ d x) (+ c y))|))
 )
(WP-1)
(WP-SUM-LOOP-GENERALIZATION
 (19724 119 (:REWRITE SIMPLIFY-MOD-+-MOD-WEAK))
 (14248 314 (:REWRITE CANCEL-FLOOR-+))
 (11597 314 (:REWRITE FLOOR-ZERO . 4))
 (9066 1210 (:REWRITE DEFAULT-+-2))
 (8554 572 (:REWRITE PREFER-POSITIVE-ADDENDS-<))
 (6553 94 (:REWRITE MOD-ZERO . 2))
 (6549 41 (:REWRITE |(< (+ c x y) d)|))
 (4167 109 (:REWRITE CANCEL-MOD-+))
 (3817 3817 (:TYPE-PRESCRIPTION NOT-INTEGERP-3A))
 (3817 3817 (:TYPE-PRESCRIPTION NOT-INTEGERP-2A))
 (3817 3817 (:TYPE-PRESCRIPTION NOT-INTEGERP-1A))
 (3734 109 (:REWRITE MOD-X-Y-=-X . 4))
 (3436 3436 (:TYPE-PRESCRIPTION FLOOR-ZERO . 2))
 (3436 3436 (:TYPE-PRESCRIPTION FLOOR-ZERO . 1))
 (3436 3436 (:TYPE-PRESCRIPTION FLOOR-POSITIVE . 2))
 (3436 3436 (:TYPE-PRESCRIPTION FLOOR-NONPOSITIVE-2))
 (3436 3436 (:TYPE-PRESCRIPTION FLOOR-NONPOSITIVE-1))
 (3436 3436 (:TYPE-PRESCRIPTION FLOOR-NEGATIVE . 2))
 (3436 3436 (:TYPE-PRESCRIPTION FLOOR-NEGATIVE . 1))
 (3372 3372 (:TYPE-PRESCRIPTION EXPT-TYPE-PRESCRIPTION-NON-0-BASE))
 (3320 40 (:LINEAR MOD-BOUNDS-1))
 (3303 3303 (:TYPE-PRESCRIPTION FLOOR-NONNEGATIVE-2))
 (3244 1642 (:REWRITE DEFAULT-*-2))
 (3105 1053 (:META META-INTEGERP-CORRECT))
 (2963 94 (:LINEAR FLOOR-BOUNDS-3))
 (2963 94 (:LINEAR FLOOR-BOUNDS-2))
 (2902 1210 (:REWRITE DEFAULT-+-1))
 (2339 572 (:REWRITE SIMPLIFY-PRODUCTS-GATHER-EXPONENTS-<))
 (2162 94 (:REWRITE MOD-ZERO . 3))
 (2119 443 (:TYPE-PRESCRIPTION MOD-ZERO . 1))
 (2119 443 (:TYPE-PRESCRIPTION MOD-POSITIVE . 2))
 (1921 502 (:REWRITE SIMPLIFY-SUMS-<))
 (1642 1642 (:REWRITE DEFAULT-*-1))
 (1621 150 (:REWRITE INTEGERP-+-REDUCE-LEADING-RATIONAL-CONSTANT))
 (1446 502 (:REWRITE DEFAULT-<-1))
 (1421 1041 (:REWRITE INTEGERP-MINUS-X))
 (1327 75 (:REWRITE PREFER-POSITIVE-ADDENDS-EQUAL))
 (1279 1021 (:REWRITE REDUCE-INTEGERP-+))
 (1210 1210 (:REWRITE NORMALIZE-TERMS-SUCH-AS-A/A+B-+-B/A+B))
 (1202 1202 (:TYPE-PRESCRIPTION NOT-INTEGERP-3B))
 (1202 1202 (:TYPE-PRESCRIPTION NOT-INTEGERP-2B))
 (1202 1202 (:TYPE-PRESCRIPTION NOT-INTEGERP-1B))
 (1171 75 (:REWRITE SIMPLIFY-PRODUCTS-GATHER-EXPONENTS-EQUAL))
 (1099 63 (:REWRITE SIMPLIFY-SUMS-EQUAL))
 (992 502 (:REWRITE DEFAULT-<-2))
 (945 314 (:REWRITE FLOOR-CANCEL-*-WEAK))
 (942 314 (:REWRITE FLOOR-MINUS-WEAK))
 (937 306 (:REWRITE FLOOR-ZERO . 2))
 (937 306 (:REWRITE FLOOR-COMPLETION))
 (921 671 (:REWRITE REMOVE-WEAK-INEQUALITIES-TWO))
 (875 875 (:REWRITE |(integerp (* c x))|))
 (697 314 (:REWRITE FLOOR-MINUS-2))
 (572 572 (:REWRITE |(< (- x) (- y))|))
 (443 443 (:TYPE-PRESCRIPTION MOD-POSITIVE . 1))
 (443 443 (:TYPE-PRESCRIPTION MOD-NONPOSITIVE))
 (443 443 (:TYPE-PRESCRIPTION MOD-NEGATIVE . 2))
 (443 443 (:TYPE-PRESCRIPTION MOD-NEGATIVE . 1))
 (381 51 (:REWRITE BUBBLE-DOWN-+-MATCH-3))
 (369 369 (:TYPE-PRESCRIPTION RATIONALP-EXPT-TYPE-PRESCRIPTION))
 (369 369 (:TYPE-PRESCRIPTION EXPT-TYPE-PRESCRIPTION-RATIONALP-BASE))
 (308 188 (:REWRITE MOD-COMPLETION))
 (280 280 (:REWRITE REMOVE-WEAK-INEQUALITIES-ONE))
 (280 280 (:REWRITE DEFAULT-EXPT-2))
 (280 280 (:REWRITE DEFAULT-EXPT-1))
 (280 280 (:REWRITE |(expt x (- n))|))
 (280 280 (:REWRITE |(expt 2^i n)|))
 (280 280 (:REWRITE |(expt 1/c n)|))
 (280 280 (:REWRITE |(expt (- x) n)|))
 (256 102 (:LINEAR EXPT-<-1-TWO))
 (229 109 (:REWRITE MOD-NEG))
 (229 109 (:REWRITE MOD-CANCEL-*))
 (228 228 (:REWRITE FOLD-CONSTS-IN-+))
 (220 16 (:REWRITE MOD-+-CANCEL-0-WEAK))
 (219 102 (:LINEAR EXPT->-1-TWO))
 (219 102 (:LINEAR EXPT-<-1-ONE))
 (215 35 (:REWRITE DEFAULT-UNARY-MINUS))
 (204 204 (:LINEAR EXPT-IS-WEAKLY-INCREASING-FOR-BASE->-1))
 (204 204 (:LINEAR EXPT-IS-WEAKLY-DECREASING-FOR-POS-BASE-<-1))
 (204 204 (:LINEAR EXPT-IS-INCREASING-FOR-BASE->-1))
 (204 204 (:LINEAR EXPT-IS-DECREASING-FOR-POS-BASE-<-1))
 (139 139 (:REWRITE |(< 0 (- x))|))
 (136 43 (:REWRITE |(* c (* d x))|))
 (119 119 (:REWRITE SIMPLIFY-MOD-+-MINUS-MOD))
 (109 109 (:REWRITE MOD-MINUS-2))
 (100 20 (:LINEAR MOD-BOUNDS-3))
 (96 96 (:REWRITE SIMPLIFY-TERMS-SUCH-AS-0-<-A+AB))
 (94 94 (:REWRITE MOD-X-Y-=-X . 2))
 (92 92 (:REWRITE |(- (- x))|))
 (75 75 (:REWRITE |(equal (- x) (- y))|))
 (56 56 (:REWRITE |(+ x (- x))|))
 (40 40 (:LINEAR MOD-BOUNDS-2))
 (36 36 (:REWRITE |(< (- x) 0)|))
 (34 34 (:REWRITE |(< d (+ c x y))|))
 (28 28 (:REWRITE SIMPLIFY-TERMS-SUCH-AS-A+AB-<-0))
 (19 19 (:REWRITE EXPT-X->-X))
 (16 16 (:REWRITE |(equal (+ c x y) d)|))
 (12 12 (:REWRITE |(equal (- x) 0)|))
 (8 8 (:REWRITE EXPT-X->=-X))
 )
(WP-LOOP-IS-CORRECT
 (532 8 (:REWRITE CANCEL-FLOOR-+))
 (186 32 (:REWRITE DEFAULT-+-2))
 (171 8 (:REWRITE FLOOR-ZERO . 3))
 (146 2 (:LINEAR FLOOR-BOUNDS-3))
 (146 2 (:LINEAR FLOOR-BOUNDS-2))
 (108 22 (:REWRITE REDUCE-INTEGERP-+))
 (98 98 (:TYPE-PRESCRIPTION NOT-INTEGERP-3A))
 (98 98 (:TYPE-PRESCRIPTION NOT-INTEGERP-2A))
 (98 98 (:TYPE-PRESCRIPTION NOT-INTEGERP-1A))
 (94 40 (:REWRITE DEFAULT-*-2))
 (80 32 (:REWRITE DEFAULT-+-1))
 (60 60 (:TYPE-PRESCRIPTION FLOOR-ZERO . 2))
 (60 60 (:TYPE-PRESCRIPTION FLOOR-ZERO . 1))
 (60 60 (:TYPE-PRESCRIPTION FLOOR-POSITIVE . 2))
 (60 60 (:TYPE-PRESCRIPTION FLOOR-NONPOSITIVE-2))
 (60 60 (:TYPE-PRESCRIPTION FLOOR-NONPOSITIVE-1))
 (60 60 (:TYPE-PRESCRIPTION FLOOR-NEGATIVE . 2))
 (60 60 (:TYPE-PRESCRIPTION FLOOR-NEGATIVE . 1))
 (58 58 (:TYPE-PRESCRIPTION FLOOR-NONNEGATIVE-2))
 (53 11 (:REWRITE SIMPLIFY-SUMS-<))
 (53 11 (:REWRITE SIMPLIFY-PRODUCTS-GATHER-EXPONENTS-<))
 (53 11 (:REWRITE PREFER-POSITIVE-ADDENDS-<))
 (53 11 (:REWRITE DEFAULT-<-1))
 (44 8 (:REWRITE FLOOR-ZERO . 4))
 (40 40 (:REWRITE DEFAULT-*-1))
 (32 32 (:REWRITE NORMALIZE-TERMS-SUCH-AS-A/A+B-+-B/A+B))
 (32 32 (:REWRITE NORMALIZE-ADDENDS))
 (26 8 (:REWRITE FLOOR-ZERO . 2))
 (26 8 (:REWRITE FLOOR-COMPLETION))
 (26 8 (:REWRITE FLOOR-CANCEL-*-WEAK))
 (22 22 (:REWRITE INTEGERP-MINUS-X))
 (22 22 (:META META-INTEGERP-CORRECT))
 (20 8 (:REWRITE FLOOR-MINUS-WEAK))
 (20 8 (:REWRITE FLOOR-MINUS-2))
 (19 19 (:REWRITE DEFAULT-EXPT-2))
 (19 19 (:REWRITE DEFAULT-EXPT-1))
 (19 19 (:REWRITE |(expt x (- n))|))
 (19 19 (:REWRITE |(expt 2^i n)|))
 (19 19 (:REWRITE |(expt 1/c n)|))
 (19 19 (:REWRITE |(expt (- x) n)|))
 (16 16 (:REWRITE |(integerp (* c x))|))
 (11 11 (:REWRITE REMOVE-WEAK-INEQUALITIES-TWO))
 (11 11 (:REWRITE DEFAULT-<-2))
 (11 11 (:REWRITE |(< (- x) (- y))|))
 (10 4 (:TYPE-PRESCRIPTION NOT-INTEGERP-4B))
 (8 1 (:LINEAR EXPT-X->-X))
 (8 1 (:LINEAR EXPT->-1-ONE))
 (8 1 (:LINEAR EXPT-<-1-TWO))
 (6 6 (:REWRITE INTEGERP-+-REDUCE-LEADING-RATIONAL-CONSTANT))
 (4 4 (:TYPE-PRESCRIPTION NOT-INTEGERP-3B))
 (4 4 (:TYPE-PRESCRIPTION NOT-INTEGERP-2B))
 (4 4 (:TYPE-PRESCRIPTION NOT-INTEGERP-1B))
 (4 4 (:REWRITE |(< (+ c x) d)|))
 (4 4 (:REWRITE |(+ c (+ d x))|))
 (4 4 (:REWRITE |(* c (* d x))|))
 (2 2 (:REWRITE FOLD-CONSTS-IN-+))
 (2 2 (:LINEAR EXPT-IS-WEAKLY-INCREASING-FOR-BASE->-1))
 (2 2 (:LINEAR EXPT-IS-WEAKLY-DECREASING-FOR-POS-BASE-<-1))
 (2 2 (:LINEAR EXPT-IS-INCREASING-FOR-BASE->-1))
 (2 2 (:LINEAR EXPT-IS-DECREASING-FOR-POS-BASE-<-1))
 (1 1 (:REWRITE ZP-OPEN))
 (1 1 (:REWRITE REMOVE-WEAK-INEQUALITIES-ONE))
 (1 1 (:LINEAR EXPT->-1-TWO))
 (1 1 (:LINEAR EXPT-<-1-ONE))
 )
