
(/VERSIONCHECK 2) 

(DEFUN |REPDB;double;Pi2S;1| (|n| |x| $)
  (COND
    ((EQL |n| 1) |x|)
    ((ODDP |n|)
     (SPADCALL |x|
         (SPADCALL (ASH |n| -1) (SPADCALL |x| |x| (QREFELT $ 7))
             (QREFELT $ 9))
         (QREFELT $ 7)))
    ('T
     (SPADCALL (ASH |n| -1) (SPADCALL |x| |x| (QREFELT $ 7))
         (QREFELT $ 9))))) 

(DEFUN |RepeatedDoubling| (|#1|)
  (PROG (DV$1 |dv$| $ |pv$|)
    (RETURN
      (PROGN
        (LETT DV$1 (|devaluate| |#1|) . #0=(|RepeatedDoubling|))
        (LETT |dv$| (LIST '|RepeatedDoubling| DV$1) . #0#)
        (LETT $ (GETREFV 10) . #0#)
        (QSETREFV $ 0 |dv$|)
        (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #0#))
        (|stuffDomainSlots| $)
        (QSETREFV $ 6 |#1|)
        $)))) 

(MAKEPROP '|RepeatedDoubling| '|infovec|
    (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (0 . +)
             (|PositiveInteger|) |REPDB;double;Pi2S;1|)
          '#(|double| 6) 'NIL
          (CONS (|makeByteWordVec2| 1 'NIL)
                (CONS '#()
                      (CONS '#()
                            (|makeByteWordVec2| 9
                                '(2 6 0 0 0 7 2 0 6 8 6 9)))))
          '|lookupComplete|)) 
