diff --git a/gsc/_prims.scm b/gsc/_prims.scm index 7efdef37f..49e59826e 100644 --- a/gsc/_prims.scm +++ b/gsc/_prims.scm @@ -3833,16 +3833,21 @@ ((target-prim-info targ) (string->canonical-symbol name))) (define (def-simp name . folders) - (let ((proc (get-prim-info name))) - (proc-obj-simplify-set! - proc - (lambda (ptree args) - (let loop ((lst folders)) - (if (pair? lst) - (let ((folder (car lst))) - (or (folder ptree args) - (loop (cdr lst)))) - #f)))))) + (let ((simp + (lambda (ptree args) + (let loop ((lst folders)) + (if (pair? lst) + (let ((folder (car lst))) + (or (folder ptree args) + (loop (cdr lst)))) + #f))))) + + (define (simp-set name) + (let ((proc (get-prim-info name))) + (if proc (proc-obj-simplify-set! proc simp)))) + + (simp-set name) + (simp-set (string-append "##" name)))) (define (constant-folder op . type-patterns) (constant-folder-with-ptree-maker @@ -3945,7 +3950,7 @@ ;;; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -(def-simp "##not" (constant-folder false-object? )) +(def-simp "not" (constant-folder false-object? )) (def-simp "boolean?" (constant-folder (lambda (obj) (or (false-object? obj) (eq? obj #t))))) @@ -3955,8 +3960,8 @@ (def-simp "##false-or-void?" (constant-folder (lambda (obj) (or (false-object? obj) (void-object? obj))))) -(def-simp "##eqv?" (constant-folder eqv? )) -(def-simp "##eq?" (constant-folder eq? )) +(def-simp "eqv?" (constant-folder eqv? )) +(def-simp "eq?" (constant-folder eq? )) (def-simp "equal?" (constant-folder equal? )) (def-simp "##mem-allocated?" (constant-folder (lambda (obj) (case (targ-obj-type obj) ;; TODO: remove dependency on C back-end @@ -3970,12 +3975,10 @@ not-bigfix?)) (def-simp "##subtype" (constant-folder targ-obj-subtype-integer ;; TODO: remove dependency on C back-end mem-alloc?)) -(def-simp "##pair?" (constant-folder pair? )) -;(def-simp "##cons" (constant-folder cons )) +(def-simp "pair?" (constant-folder pair? )) +;(def-simp "cons" (constant-folder cons )) ;; this would not preserve mutability and eq?-ness (def-simp "car" (constant-folder car pair?)) -(def-simp "##car" (constant-folder car pair?)) (def-simp "cdr" (constant-folder cdr pair?)) -(def-simp "##cdr" (constant-folder cdr pair?)) ;(def-simp "caar" (constant-folder caar )) ;(def-simp "cadr" (constant-folder cadr )) ;(def-simp "cdar" (constant-folder cdar )) @@ -4004,9 +4007,9 @@ ;(def-simp "cddadr" (constant-folder cddadr )) ;(def-simp "cdddar" (constant-folder cdddar )) ;(def-simp "cddddr" (constant-folder cddddr )) -(def-simp "##null?" (constant-folder null? )) +(def-simp "null?" (constant-folder null? )) (def-simp "list?" (constant-folder list? )) -;(def-simp "list" (constant-folder list )) +;(def-simp "list" (constant-folder list )) ;; this would not preserve mutability and eq?-ness (def-simp "length" (constant-folder length list?)) ;(def-simp "append" (constant-folder append list?)) ;(def-simp "reverse" (constant-folder reverse list?)) @@ -4026,9 +4029,9 @@ (list any alist?))) (def-simp "assoc" (constant-folder assoc (list any alist?))) -(def-simp "##symbol?" (constant-folder symbol-object? )) -;(def-simp "symbol->string" (constant-folder symbol->string -;; symbol-object?)) +(def-simp "symbol?" (constant-folder symbol-object? )) +(def-simp "symbol->string" (constant-folder symbol->string + symbol-object?)) (def-simp "string->symbol" (constant-folder string->symbol )) (def-simp "number?" (constant-folder number? )) (def-simp "complex?" (constant-folder complex? )) @@ -4038,190 +4041,125 @@ (def-simp "exact?" (constant-folder exact? num?)) (def-simp "inexact?" (constant-folder inexact? num?)) (def-simp "=" (constant-folder = num?)) -(def-simp "##fx=" (constant-folder = fix32?)) -(def-simp "##fixnum.=" (constant-folder = fix32?));;TODO: REMOVE -(def-simp "##fl=" (constant-folder = flo?)) -(def-simp "##flonum.=" (constant-folder = flo?));;TODO: REMOVE +(def-simp "fx=" (constant-folder = fix32?)) +(def-simp "fl=" (constant-folder = flo?)) (def-simp "<" (constant-folder < real?)) -(def-simp "##fx<" (constant-folder < fix32?)) -(def-simp "##fixnum.<" (constant-folder < fix32?));;TODO: REMOVE -(def-simp "##fl<" (constant-folder < flo?)) -(def-simp "##flonum.<" (constant-folder < flo?));;TODO: REMOVE +(def-simp "fx<" (constant-folder < fix32?)) +(def-simp "fl<" (constant-folder < flo?)) (def-simp ">" (constant-folder > real?)) -(def-simp "##fx>" (constant-folder > fix32?)) -(def-simp "##fixnum.>" (constant-folder > fix32?));;TODO: REMOVE -(def-simp "##fl>" (constant-folder > flo?)) -(def-simp "##flonum.>" (constant-folder > flo?));;TODO: REMOVE +(def-simp "fx>" (constant-folder > fix32?)) +(def-simp "fl>" (constant-folder > flo?)) (def-simp "<=" (constant-folder <= real?)) -(def-simp "##fx<=" (constant-folder <= fix32?)) -(def-simp "##fixnum.<=" (constant-folder <= fix32?));;TODO: REMOVE -(def-simp "##fl<=" (constant-folder <= flo?)) -(def-simp "##flonum.<=" (constant-folder <= flo?));;TODO: REMOVE +(def-simp "fx<=" (constant-folder <= fix32?)) +(def-simp "fl<=" (constant-folder <= flo?)) (def-simp ">=" (constant-folder >= real?)) -(def-simp "##fx>=" (constant-folder >= fix32?)) -(def-simp "##fixnum.>=" (constant-folder >= fix32?));;TODO: REMOVE -(def-simp "##fl>=" (constant-folder >= flo?)) -(def-simp "##flonum.>=" (constant-folder >= flo?));;TODO: REMOVE +(def-simp "fx>=" (constant-folder >= fix32?)) +(def-simp "fl>=" (constant-folder >= flo?)) (def-simp "zero?" (constant-folder zero? num?)) -(def-simp "##fxzero?" (constant-folder zero? fix32?)) -(def-simp "##fixnum.zero?" (constant-folder zero? fix32?));;TODO: REMOVE -(def-simp "##flzero?" (constant-folder zero? flo?)) -(def-simp "##flonum.zero?" (constant-folder zero? flo?));;TODO: REMOVE -(def-simp "positive?" (constant-folder positive? real?)) -(def-simp "##fxpositive?"(constant-folder positive? fix32?)) -(def-simp "##fixnum.positive?"(constant-folder positive? fix32?));;TODO: REMOVE -(def-simp "##flpositive?"(constant-folder positive? flo?)) -(def-simp "##flonum.positive?"(constant-folder positive? flo?));;TODO: REMOVE -(def-simp "negative?" (constant-folder negative? real?)) -(def-simp "##fxnegative?"(constant-folder negative? fix32?)) -(def-simp "##fixnum.negative?"(constant-folder negative? fix32?));;TODO: REMOVE -(def-simp "##flnegative?"(constant-folder negative? flo?)) -(def-simp "##flonum.negative?"(constant-folder negative? flo?));;TODO: REMOVE +(def-simp "fxzero?" (constant-folder zero? fix32?)) +(def-simp "flzero?" (constant-folder zero? flo?)) +(def-simp "positive?" (constant-folder positive? real?)) +(def-simp "fxpositive?" (constant-folder positive? fix32?)) +(def-simp "flpositive?" (constant-folder positive? flo?)) +(def-simp "negative?" (constant-folder negative? real?)) +(def-simp "fxnegative?" (constant-folder negative? fix32?)) +(def-simp "flnegative?" (constant-folder negative? flo?)) (def-simp "odd?" (constant-folder odd? int?)) -(def-simp "##fxodd?" (constant-folder odd? fix32?)) -(def-simp "##fixnum.odd?" (constant-folder odd? fix32?));;TODO: REMOVE -(def-simp "##flodd?" (constant-folder odd? flo?)) -(def-simp "##flonum.odd?" (constant-folder odd? flo?));;TODO: REMOVE +(def-simp "fxodd?" (constant-folder odd? fix32?)) +(def-simp "flodd?" (constant-folder odd? flo?)) (def-simp "even?" (constant-folder even? int?)) -(def-simp "##fxeven?" (constant-folder even? fix32?)) -(def-simp "##fixnum.even?" (constant-folder even? fix32?));;TODO: REMOVE -(def-simp "##fleven?" (constant-folder even? flo?)) -(def-simp "##flonum.even?" (constant-folder even? flo?));;TODO: REMOVE +(def-simp "fxeven?" (constant-folder even? fix32?)) +(def-simp "fleven?" (constant-folder even? flo?)) (def-simp "max" (constant-folder-gen max real?)) -(def-simp "##fxmax" (constant-folder-fix max fix32?)) -(def-simp "##fixnum.max" (constant-folder-fix max fix32?));;TODO: REMOVE -(def-simp "##flmax" (constant-folder-flo max flo?)) -(def-simp "##flonum.max" (constant-folder-flo max flo?));;TODO: REMOVE +(def-simp "fxmax" (constant-folder-fix max fix32?)) +(def-simp "flmax" (constant-folder-flo max flo?)) (def-simp "min" (constant-folder-gen min real?)) -(def-simp "##fxmin" (constant-folder-fix min fix32?)) -(def-simp "##fixnum.min" (constant-folder-fix min fix32?));;TODO: REMOVE -(def-simp "##flmin" (constant-folder-flo min flo?)) -(def-simp "##flonum.min" (constant-folder-flo min flo?));;TODO: REMOVE +(def-simp "fxmin" (constant-folder-fix min fix32?)) +(def-simp "flmin" (constant-folder-flo min flo?)) (def-simp "+" (constant-folder-gen + num?)) -(def-simp "##fxwrap+" (constant-folder-fix + fix32?)) -(def-simp "##fixnum.wrap+" (constant-folder-fix + fix32?));;TODO: REMOVE -(def-simp "##fx+" (constant-folder-fix + fix32?)) -(def-simp "##fixnum.+" (constant-folder-fix + fix32?));;TODO: REMOVE -(def-simp "##fx+?" (constant-folder-fix + fix32?)) -(def-simp "##fixnum.+?" (constant-folder-fix + fix32?));;TODO: REMOVE -(def-simp "##fl+" (constant-folder-flo + flo?));;;;;;;;;;must return 0.0 when 0 args -(def-simp "##flonum.+" (constant-folder-flo + flo?));;TODO: REMOVE +(def-simp "fxwrap+" (constant-folder-fix + fix32?)) +(def-simp "fx+" (constant-folder-fix + fix32?)) +(def-simp "fx+?" (constant-folder-fix + fix32?)) +(def-simp "fl+" (constant-folder-flo + flo?));;;;;;;;;;must return 0.0 when 0 args (def-simp "*" (constant-folder-gen * num?)) -(def-simp "##fxwrap*" (constant-folder-fix * fix32?)) -;;(def-simp "##fixnum.wrap*" (constant-folder-fix * fix32?));;TODO: REMOVE -(def-simp "##fx*" (constant-folder-fix * fix32?)) -(def-simp "##fixnum.*" (constant-folder-fix * fix32?));;TODO: REMOVE -(def-simp "##fx*?" (constant-folder-fix * fix32?)) -(def-simp "##fixnum.*?" (constant-folder-fix * fix32?));;TODO: REMOVE -(def-simp "##fl*" (constant-folder-flo * flo?));;;;;;;;;;must return 1.0 when 0 args -(def-simp "##flonum.*" (constant-folder-flo * flo?));;TODO: REMOVE +(def-simp "fxwrap*" (constant-folder-fix * fix32?)) +(def-simp "fx*" (constant-folder-fix * fix32?)) +(def-simp "fx*?" (constant-folder-fix * fix32?)) +(def-simp "fl*" (constant-folder-flo * flo?));;;;;;;;;;must return 1.0 when 0 args (def-simp "-" (constant-folder-gen - num?)) -(def-simp "##fxwrap-" (constant-folder-fix - fix32?)) -(def-simp "##fixnum.wrap-" (constant-folder-fix - fix32?));;TODO: REMOVE -(def-simp "##fx-" (constant-folder-fix - fix32?)) -(def-simp "##fixnum.-" (constant-folder-fix - fix32?));;TODO: REMOVE -(def-simp "##fx-?" (constant-folder-fix - fix32?)) -(def-simp "##fixnum.-?" (constant-folder-fix - fix32?));;TODO: REMOVE -(def-simp "##fl-" (constant-folder-flo - flo?)) -(def-simp "##flonum.-" (constant-folder-flo - flo?));;TODO: REMOVE +(def-simp "fxwrap-" (constant-folder-fix - fix32?)) +(def-simp "fx-" (constant-folder-fix - fix32?)) +(def-simp "fx-?" (constant-folder-fix - fix32?)) +(def-simp "fl-" (constant-folder-flo - flo?)) (def-simp "/" (constant-folder-gen / - (list nz-num?) - (cons num? - (cons nz-num? - nz-num?)))) -(def-simp "##fl/" (constant-folder-flo / - (list nz-flo?) - (cons flo? - (cons nz-flo? - nz-flo?)))) -(def-simp "##flonum./" (constant-folder-flo /;;TODO: REMOVE - (list nz-flo?) + (list nz-num?) + (cons num? + (cons nz-num? + nz-num?)))) +(def-simp "fl/" (constant-folder-flo / + (list nz-flo?) (cons flo? (cons nz-flo? nz-flo?)))) (def-simp "abs" (constant-folder-gen abs num?)) -(def-simp "##fxwrapabs" (constant-folder-fix abs fix32?)) -(def-simp "##fxabs" (constant-folder-fix abs fix32?)) -(def-simp "##fxabs?" (constant-folder-fix abs fix32?)) -(def-simp "##flabs" (constant-folder-flo abs flo?)) -(def-simp "##flonum.abs" (constant-folder-flo abs flo?));;TODO: REMOVE -(def-simp "square" (constant-folder-gen square num?)) -(def-simp "##fxwrapsquare" (constant-folder-fix square fix32?)) -(def-simp "##fxsquare" (constant-folder-fix square fix32?)) -(def-simp "##fxsquare?" (constant-folder-fix square fix32?)) -(def-simp "##flsquare" (constant-folder-flo square flo?)) +(def-simp "fxwrapabs" (constant-folder-fix abs fix32?)) +(def-simp "fxabs" (constant-folder-fix abs fix32?)) +(def-simp "fxabs?" (constant-folder-fix abs fix32?)) +(def-simp "flabs" (constant-folder-flo abs flo?)) +(def-simp "square" (constant-folder-gen square num?)) +(def-simp "fxwrapsquare" (constant-folder-fix square fix32?)) +(def-simp "fxsquare" (constant-folder-fix square fix32?)) +(def-simp "fxsquare?" (constant-folder-fix square fix32?)) +(def-simp "flsquare" (constant-folder-flo square flo?)) (def-simp "quotient" (constant-folder-gen quotient - (list int? nz-int?))) -(def-simp "##fxwrapquotient"(constant-folder-fix quotient - (list fix32? nz-fix32?))) -(def-simp "##fixnum.wrapquotient"(constant-folder-fix quotient;;TODO: REMOVE - (list fix32? nz-fix32?))) -(def-simp "##fxquotient"(constant-folder-fix quotient - (list fix32? nz-fix32?))) -(def-simp "##fixnum.quotient"(constant-folder-fix quotient;;TODO: REMOVE - (list fix32? nz-fix32?))) + (list int? nz-int?))) +(def-simp "fxwrapquotient" (constant-folder-fix quotient + (list fix32? nz-fix32?))) +(def-simp "fxquotient" (constant-folder-fix quotient + (list fix32? nz-fix32?))) (def-simp "remainder" (constant-folder-gen remainder - (list int? nz-int?))) -(def-simp "##fxremainder"(constant-folder-fix remainder - (list fix32? nz-fix32?))) -(def-simp "##fixnum.remainder"(constant-folder-fix remainder;;TODO: REMOVE - (list fix32? nz-fix32?))) + (list int? nz-int?))) +(def-simp "fxremainder" (constant-folder-fix remainder + (list fix32? nz-fix32?))) (def-simp "modulo" (constant-folder-gen modulo - (list int? nz-int?))) -(def-simp "##fxmodulo" (constant-folder-fix modulo - (list fix32? nz-fix32?))) -(def-simp "##fixnum.modulo" (constant-folder-fix modulo;;TODO: REMOVE - (list fix32? nz-fix32?))) + (list int? nz-int?))) +(def-simp "fxmodulo" (constant-folder-fix modulo + (list fix32? nz-fix32?))) (def-simp "gcd" (constant-folder-gen gcd int?)) (def-simp "lcm" (constant-folder-gen lcm int?)) (def-simp "numerator" (constant-folder-gen numerator rational?)) (def-simp "denominator" (constant-folder-gen denominator rational?)) (def-simp "floor" (constant-folder-gen floor real?)) -(def-simp "##flfloor" (constant-folder-flo floor flo?)) -(def-simp "##flonum.floor" (constant-folder-flo floor flo?));;TODO: REMOVE +(def-simp "flfloor" (constant-folder-flo floor flo?)) (def-simp "ceiling" (constant-folder-gen ceiling real?)) -(def-simp "##flceiling" (constant-folder-flo ceiling flo?)) -(def-simp "##flonum.ceiling" (constant-folder-flo ceiling flo?));;TODO: REMOVE +(def-simp "flceiling" (constant-folder-flo ceiling flo?)) (def-simp "truncate" (constant-folder-gen truncate real?)) -(def-simp "##fltruncate"(constant-folder-flo truncate flo?)) -(def-simp "##flonum.truncate"(constant-folder-flo truncate flo?));;TODO: REMOVE +(def-simp "fltruncate" (constant-folder-flo truncate flo?)) (def-simp "round" (constant-folder-gen round real?)) -(def-simp "##flround" (constant-folder-flo round flo?)) -(def-simp "##flonum.round" (constant-folder-flo round flo?));;TODO: REMOVE +(def-simp "flround" (constant-folder-flo round flo?)) (def-simp "rationalize" (constant-folder-gen rationalize real?)) (def-simp "exp" (constant-folder-gen exp num?)) -(def-simp "##flexp" (constant-folder-flo exp flo?)) -(def-simp "##flonum.exp" (constant-folder-flo exp flo?));;TODO: REMOVE +(def-simp "flexp" (constant-folder-flo exp flo?)) (def-simp "log" (constant-folder-gen log nz-num?)) -(def-simp "##fllog" (constant-folder-flo log nz-flo?)) -(def-simp "##flonum.log" (constant-folder-flo log nz-flo?));;TODO: REMOVE +(def-simp "fllog" (constant-folder-flo log nz-flo?)) (def-simp "sin" (constant-folder-gen sin num?)) -(def-simp "##flsin" (constant-folder-flo sin flo?)) -(def-simp "##flonum.sin" (constant-folder-flo sin flo?));;TODO: REMOVE +(def-simp "flsin" (constant-folder-flo sin flo?)) (def-simp "cos" (constant-folder-gen cos num?)) -(def-simp "##flcos" (constant-folder-flo cos flo?)) -(def-simp "##flonum.cos" (constant-folder-flo cos flo?));;TODO: REMOVE +(def-simp "flcos" (constant-folder-flo cos flo?)) (def-simp "tan" (constant-folder-gen tan num?)) -(def-simp "##fltan" (constant-folder-flo tan flo?)) -(def-simp "##flonum.tan" (constant-folder-flo tan flo?));;TODO: REMOVE +(def-simp "fltan" (constant-folder-flo tan flo?)) (def-simp "asin" (constant-folder-gen asin num?)) -(def-simp "##flasin" (constant-folder-flo asin flo?)) -(def-simp "##flonum.asin" (constant-folder-flo asin flo?));;TODO: REMOVE +(def-simp "flasin" (constant-folder-flo asin flo?)) (def-simp "acos" (constant-folder-gen acos num?)) -(def-simp "##flacos" (constant-folder-flo acos flo?)) -(def-simp "##flonum.acos" (constant-folder-flo acos flo?));;TODO: REMOVE +(def-simp "flacos" (constant-folder-flo acos flo?)) (def-simp "atan" (constant-folder-gen atan num?)) -(def-simp "##flatan" (constant-folder-flo atan flo?)) -(def-simp "##flonum.atan" (constant-folder-flo atan flo?));;TODO: REMOVE +(def-simp "flatan" (constant-folder-flo atan flo?)) (def-simp "expt" (constant-folder-gen expt num?)) -(def-simp "##flexpt" (constant-folder-flo expt flo?)) -(def-simp "##flonum.expt" (constant-folder-flo expt flo?));;TODO: REMOVE +(def-simp "flexpt" (constant-folder-flo expt flo?)) (def-simp "sqrt" (constant-folder-gen sqrt num?)) -(def-simp "##flsqrt" (constant-folder-flo sqrt flo?)) -(def-simp "##flonum.sqrt" (constant-folder-flo sqrt flo?));;TODO: REMOVE +(def-simp "flsqrt" (constant-folder-flo sqrt flo?)) (def-simp "expt" (constant-folder-gen expt num?)) -(def-simp "##flonum->fixnum"(constant-folder-fix inexact->exact flo?)) -(def-simp "##flonum.<-fixnum"(constant-folder-flo exact->inexact fix32?));;TODO: REMOVE +(def-simp "##flonum->fixnum" (constant-folder-fix inexact->exact flo?)) (def-simp "make-rectangular" (constant-folder-gen make-rectangular real?)) (def-simp "make-polar" (constant-folder-gen make-polar real?)) @@ -4234,7 +4172,7 @@ ;(def-simp "number->string" (constant-folder number->string num?)) (def-simp "string->number" (constant-folder string->number string?)) -(def-simp "##char?" (constant-folder char? )) +(def-simp "char?" (constant-folder char? )) (def-simp "char=?" (constant-folder char=? char?)) (def-simp "char?" (constant-folder char>? char?)) @@ -4255,14 +4193,14 @@ (def-simp "char-upcase" (constant-folder char-upcase char?)) (def-simp "char-downcase" (constant-folder char-downcase char?)) -(def-simp "##string?" (constant-folder string? )) +(def-simp "string?" (constant-folder string? )) ;(def-simp "make-string" (constant-folder make-string )) ;(def-simp "string" (constant-folder string char?)) (def-simp "string-length" (constant-folder string-length string?)) (def-simp "string-ref" (constant-folder-ref - string-ref - string-length - string?)) + string-ref + string-length + string?)) (def-simp "string=?" (constant-folder string=? string?)) (def-simp "string?" (constant-folder string>? string?)) @@ -4276,201 +4214,135 @@ ;(def-simp "substring" (constant-folder substring )) ;(def-simp "string-append" (constant-folder string-append string?)) -(def-simp "##vector?" (constant-folder vector-object? )) -(def-simp "##vector-length" (constant-folder vector-length - vector-object?)) -(def-simp "##vector-ref" (constant-folder-ref - vector-ref - vector-length - vector-object?)) -;(def-simp "make-vector" (constant-folder make-vector )) -;(def-simp "vector" (constant-folder vector )) -(def-simp "vector-length" (constant-folder vector-length - vector-object?)) -(def-simp "vector-ref" (constant-folder-ref - vector-ref - vector-length - vector-object?)) - -(def-simp "##s8vector?" (constant-folder s8vect? )) -(def-simp "##s8vector-length" (constant-folder s8vect-length - s8vect?)) -(def-simp "##s8vector-ref" (constant-folder-ref - s8vect-ref - s8vect-length - s8vect?)) -;(def-simp "make-s8vector" (constant-folder make-s8vect )) -;(def-simp "s8vector" (constant-folder s8vect )) -(def-simp "s8vector-length" (constant-folder s8vect-length - s8vect?)) -(def-simp "s8vector-ref" (constant-folder-ref - s8vect-ref - s8vect-length - s8vect?)) - -(def-simp "##u8vector?" (constant-folder u8vect? )) -(def-simp "##u8vector-length" (constant-folder u8vect-length - u8vect?)) -(def-simp "##u8vector-ref" (constant-folder-ref - u8vect-ref - u8vect-length - u8vect?)) -;(def-simp "make-u8vector" (constant-folder make-u8vect )) -;(def-simp "u8vector" (constant-folder u8vect )) -(def-simp "u8vector-length" (constant-folder u8vect-length - u8vect?)) -(def-simp "u8vector-ref" (constant-folder-ref - u8vect-ref - u8vect-length - u8vect?)) - -(def-simp "##s16vector?" (constant-folder s16vect? )) -(def-simp "##s16vector-length" (constant-folder s16vect-length - s16vect?)) -(def-simp "##s16vector-ref" (constant-folder-ref - s16vect-ref - s16vect-length - s16vect?)) -;(def-simp "make-s16vector" (constant-folder make-s16vect )) -;(def-simp "s16vector" (constant-folder s16vect )) -(def-simp "s16vector-length" (constant-folder s16vect-length - s16vect?)) -(def-simp "s16vector-ref" (constant-folder-ref - s16vect-ref - s16vect-length - s16vect?)) - -(def-simp "##u16vector?" (constant-folder u16vect? )) -(def-simp "##u16vector-length" (constant-folder u16vect-length - u16vect?)) -(def-simp "##u16vector-ref" (constant-folder-ref - u16vect-ref - u16vect-length - u16vect?)) -;(def-simp "make-u16vector" (constant-folder make-u16vect )) -;(def-simp "u16vector" (constant-folder u16vect )) -(def-simp "u16vector-length" (constant-folder u16vect-length - u16vect?)) -(def-simp "u16vector-ref" (constant-folder-ref - u16vect-ref - u16vect-length - u16vect?)) - -(def-simp "##s32vector?" (constant-folder s32vect? )) -(def-simp "##s32vector-length" (constant-folder s32vect-length - s32vect?)) -(def-simp "##s32vector-ref" (constant-folder-ref - s32vect-ref - s32vect-length - s32vect?)) +(def-simp "vector?" (constant-folder vector-object? )) +;(def-simp "make-vector" (constant-folder make-vector )) +;(def-simp "vector" (constant-folder vector )) +(def-simp "vector-length" (constant-folder vector-length + vector-object?)) +(def-simp "vector-ref" (constant-folder-ref + vector-ref + vector-length + vector-object?)) + +(def-simp "s8vector?" (constant-folder s8vect? )) +;(def-simp "make-s8vector" (constant-folder make-s8vect )) +;(def-simp "s8vector" (constant-folder s8vect )) +(def-simp "s8vector-length" (constant-folder s8vect-length + s8vect?)) +(def-simp "s8vector-ref" (constant-folder-ref + s8vect-ref + s8vect-length + s8vect?)) + +(def-simp "u8vector?" (constant-folder u8vect? )) +;(def-simp "make-u8vector" (constant-folder make-u8vect )) +;(def-simp "u8vector" (constant-folder u8vect )) +(def-simp "u8vector-length" (constant-folder u8vect-length + u8vect?)) +(def-simp "u8vector-ref" (constant-folder-ref + u8vect-ref + u8vect-length + u8vect?)) + +(def-simp "s16vector?" (constant-folder s16vect? )) +;(def-simp "make-s16vector" (constant-folder make-s16vect )) +;(def-simp "s16vector" (constant-folder s16vect )) +(def-simp "s16vector-length" (constant-folder s16vect-length + s16vect?)) +(def-simp "s16vector-ref" (constant-folder-ref + s16vect-ref + s16vect-length + s16vect?)) + +(def-simp "u16vector?" (constant-folder u16vect? )) +;(def-simp "make-u16vector" (constant-folder make-u16vect )) +;(def-simp "u16vector" (constant-folder u16vect )) +(def-simp "u16vector-length" (constant-folder u16vect-length + u16vect?)) +(def-simp "u16vector-ref" (constant-folder-ref + u16vect-ref + u16vect-length + u16vect?)) + +(def-simp "s32vector?" (constant-folder s32vect? )) ;(def-simp "make-s32vector" (constant-folder make-s32vect )) ;(def-simp "s32vector" (constant-folder s32vect )) (def-simp "s32vector-length" (constant-folder s32vect-length - s32vect?)) + s32vect?)) (def-simp "s32vector-ref" (constant-folder-ref - s32vect-ref - s32vect-length - s32vect?)) - -(def-simp "##u32vector?" (constant-folder u32vect? )) -(def-simp "##u32vector-length" (constant-folder u32vect-length - u32vect?)) -(def-simp "##u32vector-ref" (constant-folder-ref - u32vect-ref - u32vect-length - u32vect?)) + s32vect-ref + s32vect-length + s32vect?)) + +(def-simp "u32vector?" (constant-folder u32vect? )) ;(def-simp "make-u32vector" (constant-folder make-u32vect )) ;(def-simp "u32vector" (constant-folder u32vect )) (def-simp "u32vector-length" (constant-folder u32vect-length - u32vect?)) + u32vect?)) (def-simp "u32vector-ref" (constant-folder-ref - u32vect-ref - u32vect-length - u32vect?)) - -(def-simp "##s64vector?" (constant-folder s64vect? )) -(def-simp "##s64vector-length" (constant-folder s64vect-length - s64vect?)) -(def-simp "##s64vector-ref" (constant-folder-ref - s64vect-ref - s64vect-length - s64vect?)) + u32vect-ref + u32vect-length + u32vect?)) + +(def-simp "s64vector?" (constant-folder s64vect? )) ;(def-simp "make-s64vector" (constant-folder make-s64vect )) ;(def-simp "s64vector" (constant-folder s64vect )) (def-simp "s64vector-length" (constant-folder s64vect-length - s64vect?)) + s64vect?)) (def-simp "s64vector-ref" (constant-folder-ref - s64vect-ref - s64vect-length - s64vect?)) - -(def-simp "##u64vector?" (constant-folder u64vect? )) -(def-simp "##u64vector-length" (constant-folder u64vect-length - u64vect?)) -(def-simp "##u64vector-ref" (constant-folder-ref - u64vect-ref - u64vect-length - u64vect?)) + s64vect-ref + s64vect-length + s64vect?)) + +(def-simp "u64vector?" (constant-folder u64vect? )) ;(def-simp "make-u64vector" (constant-folder make-u64vect )) ;(def-simp "u64vector" (constant-folder u64vect )) (def-simp "u64vector-length" (constant-folder u64vect-length - u64vect?)) + u64vect?)) (def-simp "u64vector-ref" (constant-folder-ref - u64vect-ref - u64vect-length - u64vect?)) - -(def-simp "##f32vector?" (constant-folder f32vect? )) -(def-simp "##f32vector-length" (constant-folder f32vect-length - f32vect?)) -(def-simp "##f32vector-ref" (constant-folder-ref - f32vect-ref - f32vect-length - f32vect?)) + u64vect-ref + u64vect-length + u64vect?)) + +(def-simp "f32vector?" (constant-folder f32vect? )) ;(def-simp "make-f32vector" (constant-folder make-f32vect )) ;(def-simp "f32vector" (constant-folder f32vect )) (def-simp "f32vector-length" (constant-folder f32vect-length - f32vect?)) + f32vect?)) (def-simp "f32vector-ref" (constant-folder-ref - f32vect-ref - f32vect-length - f32vect?)) - -(def-simp "##f64vector?" (constant-folder f64vect? )) -(def-simp "##f64vector-length" (constant-folder f64vect-length - f64vect?)) -(def-simp "##f64vector-ref" (constant-folder-ref - f64vect-ref - f64vect-length - f64vect?)) + f32vect-ref + f32vect-length + f32vect?)) + +(def-simp "f64vector?" (constant-folder f64vect? )) ;(def-simp "make-f64vector" (constant-folder make-f64vect )) ;(def-simp "f64vector" (constant-folder f64vect )) (def-simp "f64vector-length" (constant-folder f64vect-length - f64vect?)) + f64vect?)) (def-simp "f64vector-ref" (constant-folder-ref - f64vect-ref - f64vect-length - f64vect?)) + f64vect-ref + f64vect-length + f64vect?)) -(def-simp "##procedure?" (constant-folder proc-obj? )) +(def-simp "procedure?" (constant-folder proc-obj? )) ;(def-simp "apply" (constant-folder apply )) (def-simp "input-port?" (constant-folder input-port? )) (def-simp "output-port?" (constant-folder output-port? )) -(def-simp "##eof-object?" (constant-folder end-of-file-object?)) +(def-simp "eof-object?" (constant-folder end-of-file-object?)) ;(def-simp "list-tail" (constant-folder list-tail )) ;(def-simp "string->list" (constant-folder string->list string?)) ;(def-simp "list->string" (constant-folder list->string )) ;(def-simp "string-copy" (constant-folder string-copy string?)) ;(def-simp "vector->list" (constant-folder vector->list -;; vector-object?)) +;; vector-object?)) ;(def-simp "list->vector" (constant-folder list->vector list?)) -(def-simp "##keyword?" (constant-folder keyword-object?)) -;(def-simp "keyword->string" (constant-folder keyword-object->string)) +(def-simp "keyword?" (constant-folder keyword-object?)) +(def-simp "keyword->string" (constant-folder keyword-object->string)) (def-simp "string->keyword" (constant-folder string->keyword-object)) -(def-simp "##void" (constant-folder (lambda () void-object))) +(def-simp "void" (constant-folder (lambda () void-object))) -(def-simp "##fixnum?" (constant-folder fix32? not-bigfix?)) -(def-simp "##flonum?" (constant-folder flo? )) +(def-simp "fixnum?" (constant-folder fix32? not-bigfix?)) +(def-simp "flonum?" (constant-folder flo? )) ) ;;; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/include/stamp.h b/include/stamp.h index 08259f37c..e2569132b 100644 --- a/include/stamp.h +++ b/include/stamp.h @@ -3,4 +3,4 @@ */ #define ___STAMP_YMD 20151106 -#define ___STAMP_HMS 135945 +#define ___STAMP_HMS 153226 diff --git a/tests/test5.ok b/tests/test5.ok index bdc15afa3..8b3fbd1ab 100644 --- a/tests/test5.ok +++ b/tests/test5.ok @@ -21817,27 +21817,16 @@ ___DEF_SLBL(60,___L60_run_2d_strings) ___SET_R1(___SUB(73)) ___POLL(61) ___DEF_SLBL(61,___L61_run_2d_strings) - ___GOTO(___L130_run_2d_strings) + ___GOTO(___L129_run_2d_strings) ___DEF_SLBL(62,___L62_run_2d_strings) ___IF_NARGS_EQ(0,___NOTHING) ___WRONG_NARGS(62,0,0,0) - ___IF(___NOT(___EQP(___GLO_string_2d_ref,___PRM_string_2d_ref))) - ___GOTO(___L129_run_2d_strings) - ___END_IF - ___SET_R1(___STRINGLENGTH(___SUB(74))) - ___IF(___FIXLT(___FIX(2L),___R1)) - ___GOTO(___L131_run_2d_strings) - ___END_IF -___DEF_GLBL(___L129_run_2d_strings) ___SET_R2(___FIX(2L)) ___SET_R1(___SUB(74)) ___POLL(63) ___DEF_SLBL(63,___L63_run_2d_strings) -___DEF_GLBL(___L130_run_2d_strings) +___DEF_GLBL(___L129_run_2d_strings) ___JUMPGLOSAFE(___SET_NARGS(2),276,___G_string_2d_ref) -___DEF_GLBL(___L131_run_2d_strings) - ___SET_R1(___STRINGREF(___SUB(74),___FIX(2L))) - ___JUMPPRM(___NOTHING,___R0) ___DEF_SLBL(64,___L64_run_2d_strings) ___IF_NARGS_EQ(0,___NOTHING) ___WRONG_NARGS(64,0,0,0) @@ -21845,7 +21834,7 @@ ___DEF_SLBL(64,___L64_run_2d_strings) ___SET_R1(___SUB(75)) ___POLL(65) ___DEF_SLBL(65,___L65_run_2d_strings) - ___GOTO(___L130_run_2d_strings) + ___GOTO(___L129_run_2d_strings) ___DEF_SLBL(66,___L66_run_2d_strings) ___IF_NARGS_EQ(0,___NOTHING) ___WRONG_NARGS(66,0,0,0) @@ -21853,7 +21842,7 @@ ___DEF_SLBL(66,___L66_run_2d_strings) ___SET_R1(___SUB(72)) ___POLL(67) ___DEF_SLBL(67,___L67_run_2d_strings) - ___GOTO(___L130_run_2d_strings) + ___GOTO(___L129_run_2d_strings) ___DEF_SLBL(68,___L68_run_2d_strings) ___IF_NARGS_EQ(0,___NOTHING) ___WRONG_NARGS(68,0,0,0) @@ -21883,34 +21872,34 @@ ___DEF_SLBL(74,___L74_run_2d_strings) ___SET_R1(___SUB(76)) ___POLL(75) ___DEF_SLBL(75,___L75_run_2d_strings) - ___GOTO(___L132_run_2d_strings) + ___GOTO(___L130_run_2d_strings) ___DEF_SLBL(76,___L76_run_2d_strings) ___IF_NARGS_EQ(0,___NOTHING) ___WRONG_NARGS(76,0,0,0) ___IF(___NOT(___EQP(___GLO_quotient,___PRM_quotient))) - ___GOTO(___L133_run_2d_strings) + ___GOTO(___L131_run_2d_strings) ___END_IF ___IF(___NOT(___FIXNUMP(___GLO_string_2d_char_2d_size))) - ___GOTO(___L133_run_2d_strings) + ___GOTO(___L131_run_2d_strings) ___END_IF ___IF(___NOT(___FIXNUMP(___GLO_max_2d_size_2d_in_2d_bytes_2d_plus_2d_1))) - ___GOTO(___L133_run_2d_strings) + ___GOTO(___L131_run_2d_strings) ___END_IF ___IF(___EQP(___GLO_string_2d_char_2d_size,___FIX(0L))) - ___GOTO(___L133_run_2d_strings) + ___GOTO(___L131_run_2d_strings) ___END_IF ___IF(___NOT(___EQP(___GLO_string_2d_char_2d_size,___FIX(-1L)))) - ___GOTO(___L134_run_2d_strings) + ___GOTO(___L132_run_2d_strings) ___END_IF ___SET_R1(___FIXNEGP(___GLO_max_2d_size_2d_in_2d_bytes_2d_plus_2d_1)) ___IF(___FALSEP(___R1)) - ___GOTO(___L133_run_2d_strings) + ___GOTO(___L131_run_2d_strings) ___END_IF ___POLL(77) ___DEF_SLBL(77,___L77_run_2d_strings) -___DEF_GLBL(___L132_run_2d_strings) +___DEF_GLBL(___L130_run_2d_strings) ___JUMPGLOSAFE(___SET_NARGS(1),231,___G_make_2d_string) -___DEF_GLBL(___L133_run_2d_strings) +___DEF_GLBL(___L131_run_2d_strings) ___SET_STK(1,___R0) ___SET_R2(___GLO_string_2d_char_2d_size) ___SET_R1(___GLO_max_2d_size_2d_in_2d_bytes_2d_plus_2d_1) @@ -21924,33 +21913,33 @@ ___DEF_SLBL(79,___L79_run_2d_strings) ___ADJFP(-4) ___POLL(80) ___DEF_SLBL(80,___L80_run_2d_strings) - ___GOTO(___L132_run_2d_strings) -___DEF_GLBL(___L134_run_2d_strings) + ___GOTO(___L130_run_2d_strings) +___DEF_GLBL(___L132_run_2d_strings) ___SET_R1(___FIXQUO(___GLO_max_2d_size_2d_in_2d_bytes_2d_plus_2d_1,___GLO_string_2d_char_2d_size)) ___POLL(81) ___DEF_SLBL(81,___L81_run_2d_strings) - ___GOTO(___L132_run_2d_strings) + ___GOTO(___L130_run_2d_strings) ___DEF_SLBL(82,___L82_run_2d_strings) ___IF_NARGS_EQ(0,___NOTHING) ___WRONG_NARGS(82,0,0,0) ___SET_R1(___SUB(72)) ___POLL(83) ___DEF_SLBL(83,___L83_run_2d_strings) - ___GOTO(___L132_run_2d_strings) + ___GOTO(___L130_run_2d_strings) ___DEF_SLBL(84,___L84_run_2d_strings) ___IF_NARGS_EQ(0,___NOTHING) ___WRONG_NARGS(84,0,0,0) ___SET_R1(___GLO__23__23_max_2d_fixnum) ___POLL(85) ___DEF_SLBL(85,___L85_run_2d_strings) - ___GOTO(___L132_run_2d_strings) + ___GOTO(___L130_run_2d_strings) ___DEF_SLBL(86,___L86_run_2d_strings) ___IF_NARGS_EQ(0,___NOTHING) ___WRONG_NARGS(86,0,0,0) ___SET_R1(___FIX(-1L)) ___POLL(87) ___DEF_SLBL(87,___L87_run_2d_strings) - ___GOTO(___L132_run_2d_strings) + ___GOTO(___L130_run_2d_strings) ___DEF_SLBL(88,___L88_run_2d_strings) ___IF_NARGS_EQ(0,___NOTHING) ___WRONG_NARGS(88,0,0,0) @@ -21969,7 +21958,7 @@ ___DEF_SLBL(92,___L92_run_2d_strings) ___IF_NARGS_EQ(0,___NOTHING) ___WRONG_NARGS(92,0,0,0) ___IF(___NOT(___EQP(___GLO_string,___PRM_string))) - ___GOTO(___L138_run_2d_strings) + ___GOTO(___L136_run_2d_strings) ___END_IF ___BEGIN_ALLOC_STRING(2) ___ADD_STRING_ELEM(0,___CHR(53)) @@ -21979,22 +21968,22 @@ ___DEF_SLBL(92,___L92_run_2d_strings) ___CHECK_HEAP(93,4096) ___DEF_SLBL(93,___L93_run_2d_strings) ___IF(___EQP(___GLO_string_2d_set_21_,___PRM_string_2d_set_21_)) - ___GOTO(___L135_run_2d_strings) + ___GOTO(___L133_run_2d_strings) ___END_IF - ___GOTO(___L137_run_2d_strings) + ___GOTO(___L135_run_2d_strings) ___DEF_SLBL(94,___L94_run_2d_strings) ___SET_R0(___STK(-3)) ___ADJFP(-4) ___IF(___NOT(___EQP(___GLO_string_2d_set_21_,___PRM_string_2d_set_21_))) - ___GOTO(___L137_run_2d_strings) + ___GOTO(___L135_run_2d_strings) ___END_IF -___DEF_GLBL(___L135_run_2d_strings) +___DEF_GLBL(___L133_run_2d_strings) ___STRINGSET(___R1,___FIX(1L),___CHR(51)) ___POLL(95) ___DEF_SLBL(95,___L95_run_2d_strings) -___DEF_GLBL(___L136_run_2d_strings) +___DEF_GLBL(___L134_run_2d_strings) ___JUMPPRM(___NOTHING,___R0) -___DEF_GLBL(___L137_run_2d_strings) +___DEF_GLBL(___L135_run_2d_strings) ___SET_STK(1,___R0) ___SET_STK(2,___R1) ___SET_R3(___CHR(51)) @@ -22010,8 +21999,8 @@ ___DEF_SLBL(97,___L97_run_2d_strings) ___ADJFP(-8) ___POLL(98) ___DEF_SLBL(98,___L98_run_2d_strings) - ___GOTO(___L136_run_2d_strings) -___DEF_GLBL(___L138_run_2d_strings) + ___GOTO(___L134_run_2d_strings) +___DEF_GLBL(___L136_run_2d_strings) ___SET_STK(1,___R0) ___SET_R2(___CHR(54)) ___SET_R1(___CHR(53)) @@ -22024,41 +22013,41 @@ ___DEF_SLBL(100,___L100_run_2d_strings) ___IF_NARGS_EQ(0,___NOTHING) ___WRONG_NARGS(100,0,0,0) ___IF(___EQP(___GLO_string_2d_ref,___PRM_string_2d_ref)) - ___GOTO(___L139_run_2d_strings) + ___GOTO(___L137_run_2d_strings) ___END_IF ___SET_R2(___FIX(3L)) ___SET_R1(___SUB(78)) ___POLL(101) ___DEF_SLBL(101,___L101_run_2d_strings) ___JUMPGLONOTSAFE(___SET_NARGS(2),276,___G_string_2d_ref) -___DEF_GLBL(___L139_run_2d_strings) - ___SET_R1(___STRINGREF(___SUB(78),___FIX(3L))) +___DEF_GLBL(___L137_run_2d_strings) + ___SET_R1(___CHR(56)) ___JUMPPRM(___NOTHING,___R0) ___DEF_SLBL(102,___L102_run_2d_strings) ___IF_NARGS_EQ(0,___NOTHING) ___WRONG_NARGS(102,0,0,0) ___IF(___EQP(___GLO_string_2d_length,___PRM_string_2d_length)) - ___GOTO(___L140_run_2d_strings) + ___GOTO(___L138_run_2d_strings) ___END_IF ___SET_R1(___SUB(79)) ___POLL(103) ___DEF_SLBL(103,___L103_run_2d_strings) ___JUMPGLONOTSAFE(___SET_NARGS(1),275,___G_string_2d_length) -___DEF_GLBL(___L140_run_2d_strings) - ___SET_R1(___STRINGLENGTH(___SUB(79))) +___DEF_GLBL(___L138_run_2d_strings) + ___SET_R1(___FIX(4L)) ___JUMPPRM(___NOTHING,___R0) ___DEF_SLBL(104,___L104_run_2d_strings) ___IF_NARGS_EQ(0,___NOTHING) ___WRONG_NARGS(104,0,0,0) ___IF(___EQP(___GLO_string,___PRM_string)) - ___GOTO(___L141_run_2d_strings) + ___GOTO(___L139_run_2d_strings) ___END_IF ___SET_R2(___CHR(54)) ___SET_R1(___CHR(53)) ___POLL(105) ___DEF_SLBL(105,___L105_run_2d_strings) ___JUMPGLONOTSAFE(___SET_NARGS(2),271,___G_string) -___DEF_GLBL(___L141_run_2d_strings) +___DEF_GLBL(___L139_run_2d_strings) ___BEGIN_ALLOC_STRING(2) ___ADD_STRING_ELEM(0,___CHR(53)) ___ADD_STRING_ELEM(1,___CHR(54)) @@ -22071,12 +22060,12 @@ ___DEF_SLBL(107,___L107_run_2d_strings) ___IF_NARGS_EQ(0,___NOTHING) ___WRONG_NARGS(107,0,0,0) ___IF(___EQP(___GLO_string,___PRM_string)) - ___GOTO(___L142_run_2d_strings) + ___GOTO(___L140_run_2d_strings) ___END_IF ___POLL(108) ___DEF_SLBL(108,___L108_run_2d_strings) ___JUMPGLONOTSAFE(___SET_NARGS(0),271,___G_string) -___DEF_GLBL(___L142_run_2d_strings) +___DEF_GLBL(___L140_run_2d_strings) ___BEGIN_ALLOC_STRING(0) ___END_ALLOC_STRING(0) ___SET_R1(___GET_STRING(0)) @@ -22095,13 +22084,13 @@ ___DEF_SLBL(111,___L111_run_2d_strings) ___JUMPGLONOTSAFE(___SET_NARGS(1),231,___G_make_2d_string) ___DEF_SLBL(112,___L112_run_2d_strings) ___IF(___NOT(___EQP(___GLO_string_2d_length,___PRM_string_2d_length))) - ___GOTO(___L143_run_2d_strings) + ___GOTO(___L141_run_2d_strings) ___END_IF ___SET_R1(___STRINGLENGTH(___R1)) ___POLL(113) ___DEF_SLBL(113,___L113_run_2d_strings) ___GOTO(___L127_run_2d_strings) -___DEF_GLBL(___L143_run_2d_strings) +___DEF_GLBL(___L141_run_2d_strings) ___SET_R0(___STK(-3)) ___POLL(114) ___DEF_SLBL(114,___L114_run_2d_strings) @@ -22121,40 +22110,40 @@ ___DEF_SLBL(117,___L117_run_2d_strings) ___SET_R1(___FIX(3L)) ___POLL(118) ___DEF_SLBL(118,___L118_run_2d_strings) - ___GOTO(___L144_run_2d_strings) + ___GOTO(___L142_run_2d_strings) ___DEF_SLBL(119,___L119_run_2d_strings) ___IF_NARGS_EQ(0,___NOTHING) ___WRONG_NARGS(119,0,0,0) ___SET_R1(___FIX(0L)) ___POLL(120) ___DEF_SLBL(120,___L120_run_2d_strings) -___DEF_GLBL(___L144_run_2d_strings) +___DEF_GLBL(___L142_run_2d_strings) ___JUMPGLONOTSAFE(___SET_NARGS(1),231,___G_make_2d_string) ___DEF_SLBL(121,___L121_run_2d_strings) ___IF_NARGS_EQ(0,___NOTHING) ___WRONG_NARGS(121,0,0,0) ___IF(___EQP(___GLO_string_3f_,___PRM_string_3f_)) - ___GOTO(___L147_run_2d_strings) + ___GOTO(___L145_run_2d_strings) ___END_IF ___SET_R1(___SUB(72)) ___POLL(122) ___DEF_SLBL(122,___L122_run_2d_strings) - ___GOTO(___L145_run_2d_strings) + ___GOTO(___L143_run_2d_strings) ___DEF_SLBL(123,___L123_run_2d_strings) ___IF_NARGS_EQ(0,___NOTHING) ___WRONG_NARGS(123,0,0,0) ___IF(___EQP(___GLO_string_3f_,___PRM_string_3f_)) - ___GOTO(___L146_run_2d_strings) + ___GOTO(___L144_run_2d_strings) ___END_IF ___SET_R1(___SUB(80)) ___POLL(124) ___DEF_SLBL(124,___L124_run_2d_strings) -___DEF_GLBL(___L145_run_2d_strings) +___DEF_GLBL(___L143_run_2d_strings) ___JUMPGLONOTSAFE(___SET_NARGS(1),278,___G_string_3f_) -___DEF_GLBL(___L146_run_2d_strings) +___DEF_GLBL(___L144_run_2d_strings) ___SET_R1(___TRU) ___JUMPPRM(___NOTHING,___R0) -___DEF_GLBL(___L147_run_2d_strings) +___DEF_GLBL(___L145_run_2d_strings) ___SET_R1(___FAL) ___JUMPPRM(___NOTHING,___R0) ___END_P_SW