/** ** This file was automatically generated by the Cyclone scheme compiler ** ** (c) 2014-2016 Justin Ethier ** Version 0.0.4 (Pre-release) ** **/ /* "---------------- input program:" */ /* ((import (scheme base) (scheme write)) (define (nqueens n) (define (dec-to n) (let loop ((i n) (l (quote ()))) (if (= i 0) l (loop (- i 1) (cons i l))))) (define (try x y z) (if (null? x) (if (null? y) 1 0) (+ (if (ok? (car x) 1 z) (try (append (cdr x) y) (quote ()) (cons (car x) z)) 0) (try (cdr x) (cons (car x) y) z)))) (define (ok? row dist placed) (if (null? placed) #t (and (not (= (car placed) (+ row dist))) (not (= (car placed) (- row dist))) (ok? row (+ dist 1) (cdr placed))))) (try (dec-to n) (quote ()) (quote ()))) (write (nqueens 8))) */ /* "imports:" */ /* ((scheme base) (scheme write)) */ /* "resolved imports:" */ /* (cons-source syntax-rules letrec* guard guard-aux receive abs max min modulo floor-remainder even? exact-integer? exact? inexact? odd? gcd lcm quotient remainder truncate-quotient truncate-remainder truncate/ floor-quotient floor-remainder floor/ square expt call-with-current-continuation call/cc call-with-values dynamic-wind values char=? char? char<=? char>=? string=? string? string>=? foldl foldr not list? zero? positive? negative? append list make-list list-copy map for-each list-tail list-ref list-set! reverse boolean=? symbol=? Cyc-obj=? vector vector-append vector-copy vector-copy! vector-fill! vector->list vector->string vector-map vector-for-each make-string string string-copy string-copy! string-fill! string->list string->vector string-map string-for-each make-parameter current-output-port current-input-port current-error-port call-with-port error raise raise-continuable with-exception-handler Cyc-add-exception-handler Cyc-remove-exception-handler newline write-char write-string flush-output-port read-line read-string input-port? output-port? input-port-open? output-port-open? features any every and or let let* letrec begin case cond cond-expand do when unless quasiquote floor ceiling truncate round exact inexact eof-object syntax-error display write) */ /* "resolved macros:" */ /* () */ /* "---------------- after macro expansion:" */ /* ((define nqueens (lambda (n) (define dec-to (lambda (n) ((lambda (i l) ((lambda (loop) (set! loop (lambda (i l) (if (= i 0) l (loop (- i 1) (cons i l))))) (loop i l)) #f)) n (quote ())))) (define try (lambda (x y z) (if (null? x) (if (null? y) 1 0) (+ (if (ok? (car x) 1 z) (try (append (cdr x) y) (quote ()) (cons (car x) z)) 0) (try (cdr x) (cons (car x) y) z))))) (define ok? (lambda (row dist placed) (if (null? placed) #t (if (not (= (car placed) (+ row dist))) (if (not (= (car placed) (- row dist))) (ok? row (+ dist 1) (cdr placed)) #f) #f)))) (try (dec-to n) (quote ()) (quote ())))) (write (nqueens 8))) */ /* "---------------- after processing globals" */ /* ((define nqueens (lambda (n) (define dec-to (lambda (n) ((lambda (i l) ((lambda (loop) (set! loop (lambda (i l) (if (= i 0) l (loop (- i 1) (cons i l))))) (loop i l)) #f)) n (quote ())))) (define try (lambda (x y z) (if (null? x) (if (null? y) 1 0) (+ (if (ok? (car x) 1 z) (try (append (cdr x) y) (quote ()) (cons (car x) z)) 0) (try (cdr x) (cons (car x) y) z))))) (define ok? (lambda (row dist placed) (if (null? placed) #t (if (not (= (car placed) (+ row dist))) (if (not (= (car placed) (- row dist))) (ok? row (+ dist 1) (cdr placed)) #f) #f)))) (try (dec-to n) (quote ()) (quote ())))) ((lambda () 0 (write (nqueens 8))))) */ /* "---------------- after alpha conversion:" */ /* ((define nqueens (lambda (n$4) ((lambda (dec-to$10 ok?$9 try$8) ((lambda (dec-to$13 try$12 ok?$11) (set! dec-to$10 (lambda (n$20) ((lambda (i$22 l$21) ((lambda (loop$23) (set! loop$23 (lambda (i$25 l$24) (if (= i$25 0) l$24 (loop$23 (- i$25 1) (cons i$25 l$24))))) (loop$23 i$22 l$21)) #f)) n$20 (quote ())))) (set! try$8 (lambda (x$19 y$18 z$17) (if (null? x$19) (if (null? y$18) 1 0) (+ (if (ok?$9 (car x$19) 1 z$17) (try$8 (append (cdr x$19) y$18) (quote ()) (cons (car x$19) z$17)) 0) (try$8 (cdr x$19) (cons (car x$19) y$18) z$17))))) (set! ok?$9 (lambda (row$16 dist$15 placed$14) (if (null? placed$14) #t (if (not (= (car placed$14) (+ row$16 dist$15))) (if (not (= (car placed$14) (- row$16 dist$15))) (ok?$9 row$16 (+ dist$15 1) (cdr placed$14)) #f) #f)))) (try$8 (dec-to$10 n$4) (quote ()) (quote ()))) #f #f #f)) #f #f #f))) ((lambda () 0 (write (nqueens 8))))) */ /* "---------------- after CPS:" */ /* ((define nqueens (lambda (k$30 n$4) ((lambda (dec-to$10 ok?$9 try$8) ((lambda (dec-to$13 try$12 ok?$11) ((lambda (r$67) ((lambda (r$31) ((lambda (r$50) ((lambda (r$32) ((lambda (r$37) ((lambda (r$33) (dec-to$10 (lambda (r$34) ((lambda (r$35) ((lambda (r$36) (try$8 k$30 r$34 r$35 r$36)) (quote ()))) (quote ()))) n$4)) (set! ok?$9 r$37))) (lambda (k$38 row$16 dist$15 placed$14) ((lambda (r$39) (if r$39 (k$38 #t) ((lambda (r$48) ((lambda (r$49) ((lambda (r$47) (not (lambda (r$40) (if r$40 ((lambda (r$45) ((lambda (r$46) ((lambda (r$44) (not (lambda (r$41) (if r$41 ((lambda (r$42) ((lambda (r$43) (ok?$9 k$38 row$16 r$42 r$43)) (cdr placed$14))) (+ dist$15 1)) (k$38 #f))) r$44)) (= r$45 r$46))) (- row$16 dist$15))) (car placed$14)) (k$38 #f))) r$47)) (= r$48 r$49))) (+ row$16 dist$15))) (car placed$14)))) (null? placed$14))))) (set! try$8 r$50))) (lambda (k$51 x$19 y$18 z$17) ((lambda (r$52) (if r$52 ((lambda (r$53) (if r$53 (k$51 1) (k$51 0))) (null? y$18)) ((lambda (k$59) ((lambda (r$66) (ok?$9 (lambda (r$60) (if r$60 ((lambda (r$65) (append (lambda (r$61) ((lambda (r$62) ((lambda (r$64) ((lambda (r$63) (try$8 k$59 r$61 r$62 r$63)) (cons r$64 z$17))) (car x$19))) (quote ()))) r$65 y$18)) (cdr x$19)) (k$59 0))) r$66 1 z$17)) (car x$19))) (lambda (r$54) ((lambda (r$56) ((lambda (r$58) ((lambda (r$57) (try$8 (lambda (r$55) (k$51 (+ r$54 r$55))) r$56 r$57 z$17)) (cons r$58 y$18))) (car x$19))) (cdr x$19)))))) (null? x$19))))) (set! dec-to$10 r$67))) (lambda (k$68 n$20) ((lambda (r$69) ((lambda (i$22 l$21) ((lambda (loop$23) ((lambda (r$71) ((lambda (r$70) (loop$23 k$68 i$22 l$21)) (set! loop$23 r$71))) (lambda (k$72 i$25 l$24) ((lambda (r$73) (if r$73 (k$72 l$24) ((lambda (r$74) ((lambda (r$75) (loop$23 k$72 r$74 r$75)) (cons i$25 l$24))) (- i$25 1)))) (= i$25 0))))) #f)) n$20 r$69)) (quote ()))))) #f #f #f)) #f #f #f))) ((lambda () ((lambda (r$26) (nqueens (lambda (r$27) (write %halt r$27)) 8)) 0)))) */ /* "---------------- after wrap-mutables:" */ /* ((define nqueens (lambda (k$30 n$4) ((lambda (dec-to$10 ok?$9 try$8) ((lambda (dec-to$10) ((lambda (ok?$9) ((lambda (try$8) ((lambda (dec-to$13 try$12 ok?$11) ((lambda (r$67) ((lambda (r$31) ((lambda (r$50) ((lambda (r$32) ((lambda (r$37) ((lambda (r$33) ((cell-get dec-to$10) (lambda (r$34) ((lambda (r$35) ((lambda (r$36) ((cell-get try$8) k$30 r$34 r$35 r$36)) (quote ()))) (quote ()))) n$4)) (set-cell! ok?$9 r$37))) (lambda (k$38 row$16 dist$15 placed$14) ((lambda (r$39) (if r$39 (k$38 #t) ((lambda (r$48) ((lambda (r$49) ((lambda (r$47) (not (lambda (r$40) (if r$40 ((lambda (r$45) ((lambda (r$46) ((lambda (r$44) (not (lambda (r$41) (if r$41 ((lambda (r$42) ((lambda (r$43) ((cell-get ok?$9) k$38 row$16 r$42 r$43)) (cdr placed$14))) (+ dist$15 1)) (k$38 #f))) r$44)) (= r$45 r$46))) (- row$16 dist$15))) (car placed$14)) (k$38 #f))) r$47)) (= r$48 r$49))) (+ row$16 dist$15))) (car placed$14)))) (null? placed$14))))) (set-cell! try$8 r$50))) (lambda (k$51 x$19 y$18 z$17) ((lambda (r$52) (if r$52 ((lambda (r$53) (if r$53 (k$51 1) (k$51 0))) (null? y$18)) ((lambda (k$59) ((lambda (r$66) ((cell-get ok?$9) (lambda (r$60) (if r$60 ((lambda (r$65) (append (lambda (r$61) ((lambda (r$62) ((lambda (r$64) ((lambda (r$63) ((cell-get try$8) k$59 r$61 r$62 r$63)) (cons r$64 z$17))) (car x$19))) (quote ()))) r$65 y$18)) (cdr x$19)) (k$59 0))) r$66 1 z$17)) (car x$19))) (lambda (r$54) ((lambda (r$56) ((lambda (r$58) ((lambda (r$57) ((cell-get try$8) (lambda (r$55) (k$51 (+ r$54 r$55))) r$56 r$57 z$17)) (cons r$58 y$18))) (car x$19))) (cdr x$19)))))) (null? x$19))))) (set-cell! dec-to$10 r$67))) (lambda (k$68 n$20) ((lambda (r$69) ((lambda (i$22 l$21) ((lambda (loop$23) ((lambda (loop$23) ((lambda (r$71) ((lambda (r$70) ((cell-get loop$23) k$68 i$22 l$21)) (set-cell! loop$23 r$71))) (lambda (k$72 i$25 l$24) ((lambda (r$73) (if r$73 (k$72 l$24) ((lambda (r$74) ((lambda (r$75) ((cell-get loop$23) k$72 r$74 r$75)) (cons i$25 l$24))) (- i$25 1)))) (= i$25 0))))) (cell loop$23))) #f)) n$20 r$69)) (quote ()))))) #f #f #f)) (cell try$8))) (cell ok?$9))) (cell dec-to$10))) #f #f #f))) ((lambda () ((lambda (r$26) (nqueens (lambda (r$27) (write %halt r$27)) 8)) 0)))) */ /* "---------------- after closure-convert:" */ /* ((define nqueens (lambda (k$30 n$4) ((%closure (lambda (self$77 dec-to$10 ok?$9 try$8) ((%closure (lambda (self$78 dec-to$10) ((%closure (lambda (self$79 ok?$9) ((%closure (lambda (self$80 try$8) ((%closure (lambda (self$81 dec-to$13 try$12 ok?$11) ((%closure (lambda (self$93 r$67) ((%closure (lambda (self$94 r$31) ((%closure (lambda (self$111 r$50) ((%closure (lambda (self$112 r$32) ((%closure (lambda (self$125 r$37) ((%closure (lambda (self$126 r$33) ((%closure-ref (cell-get (%closure-ref self$126 1)) 0) (cell-get (%closure-ref self$126 1)) (%closure (lambda (self$127 r$34) ((%closure (lambda (self$128 r$35) ((%closure (lambda (self$129 r$36) ((%closure-ref (cell-get (%closure-ref self$129 4)) 0) (cell-get (%closure-ref self$129 4)) (%closure-ref self$129 1) (%closure-ref self$129 2) (%closure-ref self$129 3) r$36)) (%closure-ref self$128 1) (%closure-ref self$128 2) r$35 (%closure-ref self$128 3)) (quote ()))) (%closure-ref self$127 1) r$34 (%closure-ref self$127 2)) (quote ()))) (%closure-ref self$126 2) (%closure-ref self$126 4)) (%closure-ref self$126 3))) (%closure-ref self$125 1) (%closure-ref self$125 2) (%closure-ref self$125 3) (%closure-ref self$125 5)) (set-cell! (%closure-ref self$125 4) r$37))) (%closure-ref self$112 1) (%closure-ref self$112 2) (%closure-ref self$112 3) (%closure-ref self$112 4) (%closure-ref self$112 5)) (%closure (lambda (self$113 k$38 row$16 dist$15 placed$14) ((%closure (lambda (self$114 r$39) (if r$39 ((%closure-ref (%closure-ref self$114 2) 0) (%closure-ref self$114 2) #t) ((%closure (lambda (self$115 r$48) ((%closure (lambda (self$116 r$49) ((%closure (lambda (self$117 r$47) ((%closure-ref not 0) not (%closure (lambda (self$118 r$40) (if r$40 ((%closure (lambda (self$119 r$45) ((%closure (lambda (self$120 r$46) ((%closure (lambda (self$121 r$44) ((%closure-ref not 0) not (%closure (lambda (self$122 r$41) (if r$41 ((%closure (lambda (self$123 r$42) ((%closure (lambda (self$124 r$43) ((%closure-ref (cell-get (%closure-ref self$124 2)) 0) (cell-get (%closure-ref self$124 2)) (%closure-ref self$124 1) (%closure-ref self$124 4) (%closure-ref self$124 3) r$43)) (%closure-ref self$123 1) (%closure-ref self$123 2) r$42 (%closure-ref self$123 4)) (cdr (%closure-ref self$123 3)))) (%closure-ref self$122 2) (%closure-ref self$122 3) (%closure-ref self$122 4) (%closure-ref self$122 5)) (+ (%closure-ref self$122 1) 1)) ((%closure-ref (%closure-ref self$122 2) 0) (%closure-ref self$122 2) #f))) (%closure-ref self$121 1) (%closure-ref self$121 2) (%closure-ref self$121 3) (%closure-ref self$121 4) (%closure-ref self$121 5)) r$44)) (%closure-ref self$120 1) (%closure-ref self$120 2) (%closure-ref self$120 3) (%closure-ref self$120 4) (%closure-ref self$120 6)) (= (%closure-ref self$120 5) r$46))) (%closure-ref self$119 1) (%closure-ref self$119 2) (%closure-ref self$119 3) (%closure-ref self$119 4) r$45 (%closure-ref self$119 5)) (- (%closure-ref self$119 5) (%closure-ref self$119 1)))) (%closure-ref self$118 1) (%closure-ref self$118 2) (%closure-ref self$118 3) (%closure-ref self$118 4) (%closure-ref self$118 5)) (car (%closure-ref self$118 4))) ((%closure-ref (%closure-ref self$118 2) 0) (%closure-ref self$118 2) #f))) (%closure-ref self$117 1) (%closure-ref self$117 2) (%closure-ref self$117 3) (%closure-ref self$117 4) (%closure-ref self$117 5)) r$47)) (%closure-ref self$116 1) (%closure-ref self$116 2) (%closure-ref self$116 3) (%closure-ref self$116 4) (%closure-ref self$116 6)) (= (%closure-ref self$116 5) r$49))) (%closure-ref self$115 1) (%closure-ref self$115 2) (%closure-ref self$115 3) (%closure-ref self$115 4) r$48 (%closure-ref self$115 5)) (+ (%closure-ref self$115 5) (%closure-ref self$115 1)))) (%closure-ref self$114 1) (%closure-ref self$114 2) (%closure-ref self$114 3) (%closure-ref self$114 4) (%closure-ref self$114 5)) (car (%closure-ref self$114 4))))) dist$15 k$38 (%closure-ref self$113 1) placed$14 row$16) (null? placed$14))) (%closure-ref self$112 4)))) (%closure-ref self$111 1) (%closure-ref self$111 2) (%closure-ref self$111 3) (%closure-ref self$111 4) (%closure-ref self$111 5)) (set-cell! (%closure-ref self$111 5) r$50))) (%closure-ref self$94 1) (%closure-ref self$94 2) (%closure-ref self$94 3) (%closure-ref self$94 4) (%closure-ref self$94 5)) (%closure (lambda (self$95 k$51 x$19 y$18 z$17) ((%closure (lambda (self$96 r$52) (if r$52 ((%closure (lambda (self$110 r$53) (if r$53 ((%closure-ref (%closure-ref self$110 1) 0) (%closure-ref self$110 1) 1) ((%closure-ref (%closure-ref self$110 1) 0) (%closure-ref self$110 1) 0))) (%closure-ref self$96 1)) (null? (%closure-ref self$96 5))) ((%closure (lambda (self$102 k$59) ((%closure (lambda (self$103 r$66) ((%closure-ref (cell-get (%closure-ref self$103 2)) 0) (cell-get (%closure-ref self$103 2)) (%closure (lambda (self$104 r$60) (if r$60 ((%closure (lambda (self$105 r$65) ((%closure-ref append 0) append (%closure (lambda (self$106 r$61) ((%closure (lambda (self$107 r$62) ((%closure (lambda (self$108 r$64) ((%closure (lambda (self$109 r$63) ((%closure-ref (cell-get (%closure-ref self$109 4)) 0) (cell-get (%closure-ref self$109 4)) (%closure-ref self$109 1) (%closure-ref self$109 2) (%closure-ref self$109 3) r$63)) (%closure-ref self$108 1) (%closure-ref self$108 2) (%closure-ref self$108 3) (%closure-ref self$108 4)) (cons r$64 (%closure-ref self$108 5)))) (%closure-ref self$107 1) (%closure-ref self$107 2) r$62 (%closure-ref self$107 3) (%closure-ref self$107 5)) (car (%closure-ref self$107 4)))) (%closure-ref self$106 1) r$61 (%closure-ref self$106 2) (%closure-ref self$106 3) (%closure-ref self$106 4)) (quote ()))) (%closure-ref self$105 1) (%closure-ref self$105 2) (%closure-ref self$105 3) (%closure-ref self$105 5)) r$65 (%closure-ref self$105 4))) (%closure-ref self$104 1) (%closure-ref self$104 2) (%closure-ref self$104 3) (%closure-ref self$104 4) (%closure-ref self$104 5)) (cdr (%closure-ref self$104 3))) ((%closure-ref (%closure-ref self$104 1) 0) (%closure-ref self$104 1) 0))) (%closure-ref self$103 1) (%closure-ref self$103 3) (%closure-ref self$103 4) (%closure-ref self$103 5) (%closure-ref self$103 6)) r$66 1 (%closure-ref self$103 6))) k$59 (%closure-ref self$102 1) (%closure-ref self$102 2) (%closure-ref self$102 3) (%closure-ref self$102 4) (%closure-ref self$102 5)) (car (%closure-ref self$102 3)))) (%closure-ref self$96 2) (%closure-ref self$96 3) (%closure-ref self$96 4) (%closure-ref self$96 5) (%closure-ref self$96 6)) (%closure (lambda (self$97 r$54) ((%closure (lambda (self$98 r$56) ((%closure (lambda (self$99 r$58) ((%closure (lambda (self$100 r$57) ((%closure-ref (cell-get (%closure-ref self$100 4)) 0) (cell-get (%closure-ref self$100 4)) (%closure (lambda (self$101 r$55) ((%closure-ref (%closure-ref self$101 1) 0) (%closure-ref self$101 1) (+ (%closure-ref self$101 2) r$55))) (%closure-ref self$100 1) (%closure-ref self$100 2)) (%closure-ref self$100 3) r$57 (%closure-ref self$100 5))) (%closure-ref self$99 1) (%closure-ref self$99 2) (%closure-ref self$99 3) (%closure-ref self$99 4) (%closure-ref self$99 6)) (cons r$58 (%closure-ref self$99 5)))) (%closure-ref self$98 1) (%closure-ref self$98 2) r$56 (%closure-ref self$98 3) (%closure-ref self$98 5) (%closure-ref self$98 6)) (car (%closure-ref self$98 4)))) (%closure-ref self$97 1) r$54 (%closure-ref self$97 2) (%closure-ref self$97 3) (%closure-ref self$97 4) (%closure-ref self$97 5)) (cdr (%closure-ref self$97 3)))) (%closure-ref self$96 1) (%closure-ref self$96 3) (%closure-ref self$96 4) (%closure-ref self$96 5) (%closure-ref self$96 6))))) k$51 (%closure-ref self$95 1) (%closure-ref self$95 2) x$19 y$18 z$17) (null? x$19))) (%closure-ref self$94 4) (%closure-ref self$94 5)))) (%closure-ref self$93 1) (%closure-ref self$93 2) (%closure-ref self$93 3) (%closure-ref self$93 4) (%closure-ref self$93 5)) (set-cell! (%closure-ref self$93 1) r$67))) (%closure-ref self$81 1) (%closure-ref self$81 2) (%closure-ref self$81 3) (%closure-ref self$81 4) (%closure-ref self$81 5)) (%closure (lambda (self$82 k$68 n$20) ((%closure (lambda (self$83 r$69) ((%closure (lambda (self$84 i$22 l$21) ((%closure (lambda (self$85 loop$23) ((%closure (lambda (self$86 loop$23) ((%closure (lambda (self$91 r$71) ((%closure (lambda (self$92 r$70) ((%closure-ref (cell-get (%closure-ref self$92 4)) 0) (cell-get (%closure-ref self$92 4)) (%closure-ref self$92 2) (%closure-ref self$92 1) (%closure-ref self$92 3))) (%closure-ref self$91 1) (%closure-ref self$91 2) (%closure-ref self$91 3) (%closure-ref self$91 4)) (set-cell! (%closure-ref self$91 4) r$71))) (%closure-ref self$86 1) (%closure-ref self$86 2) (%closure-ref self$86 3) loop$23) (%closure (lambda (self$87 k$72 i$25 l$24) ((%closure (lambda (self$88 r$73) (if r$73 ((%closure-ref (%closure-ref self$88 2) 0) (%closure-ref self$88 2) (%closure-ref self$88 3)) ((%closure (lambda (self$89 r$74) ((%closure (lambda (self$90 r$75) ((%closure-ref (cell-get (%closure-ref self$90 2)) 0) (cell-get (%closure-ref self$90 2)) (%closure-ref self$90 1) (%closure-ref self$90 3) r$75)) (%closure-ref self$89 2) (%closure-ref self$89 4) r$74) (cons (%closure-ref self$89 1) (%closure-ref self$89 3)))) (%closure-ref self$88 1) (%closure-ref self$88 2) (%closure-ref self$88 3) (%closure-ref self$88 4)) (- (%closure-ref self$88 1) 1)))) i$25 k$72 l$24 (%closure-ref self$87 1)) (= i$25 0))) loop$23))) (%closure-ref self$85 1) (%closure-ref self$85 2) (%closure-ref self$85 3)) (cell loop$23))) i$22 (%closure-ref self$84 1) l$21) #f)) (%closure-ref self$83 1)) (%closure-ref self$83 2) r$69)) k$68 n$20) (quote ())))))) (%closure-ref self$80 1) (%closure-ref self$80 2) (%closure-ref self$80 3) (%closure-ref self$80 4) try$8) #f #f #f)) (%closure-ref self$79 1) (%closure-ref self$79 2) (%closure-ref self$79 3) ok?$9) (cell (%closure-ref self$79 4)))) dec-to$10 (%closure-ref self$78 1) (%closure-ref self$78 2) (%closure-ref self$78 4)) (cell (%closure-ref self$78 3)))) (%closure-ref self$77 1) (%closure-ref self$77 2) ok?$9 try$8) (cell dec-to$10))) k$30 n$4) #f #f #f))) ((lambda () ((lambda (r$26) ((%closure-ref nqueens 0) nqueens (%closure (lambda (self$76 r$27) ((%closure-ref write 0) write %halt r$27))) 8)) 0)))) */ /* "---------------- C code:" */ #define closcall0(td,cfn) ((cfn)->fn)(td,0,cfn) /* Check for GC, then call given continuation closure */ #define return_closcall0(td,cfn) \ {char stack; \ if (check_overflow(&stack,(((gc_thread_data *)data)->stack_limit))) { \ object buf[0]; \ GC(td,cfn,buf,0); return; \ } else {closcall0(td,(closure) (cfn)); return;}} /* Check for GC, then call C function directly */ #define return_direct0(td,_fn) { \ char stack; \ if (check_overflow(&stack,(((gc_thread_data *)data)->stack_limit))) { \ object buf[0]; \ mclosure0(c1, _fn); \ GC(td,&c1, buf, 0); return; \ } else { (_fn)(td,0,(closure)_fn); }} #define closcall1(td,cfn,a1) if (type_of(cfn) == cons_tag || prim(cfn)) { Cyc_apply(td,0, (closure)(a1), cfn); } else { ((cfn)->fn)(td,1,cfn,a1);} /* Check for GC, then call given continuation closure */ #define return_closcall1(td,cfn,a1) \ {char stack; \ if (check_overflow(&stack,(((gc_thread_data *)data)->stack_limit))) { \ object buf[1]; buf[0] = a1;\ GC(td,cfn,buf,1); return; \ } else {closcall1(td,(closure) (cfn),a1); return;}} /* Check for GC, then call C function directly */ #define return_direct1(td,_fn,a1) { \ char stack; \ if (check_overflow(&stack,(((gc_thread_data *)data)->stack_limit))) { \ object buf[1]; buf[0] = a1; \ mclosure0(c1, _fn); \ GC(td,&c1, buf, 1); return; \ } else { (_fn)(td,1,(closure)_fn,a1); }} #define closcall2(td,cfn,a1,a2) if (type_of(cfn) == cons_tag || prim(cfn)) { Cyc_apply(td,1, (closure)(a1), cfn,a2); } else { ((cfn)->fn)(td,2,cfn,a1,a2);} /* Check for GC, then call given continuation closure */ #define return_closcall2(td,cfn,a1,a2) \ {char stack; \ if (check_overflow(&stack,(((gc_thread_data *)data)->stack_limit))) { \ object buf[2]; buf[0] = a1;buf[1] = a2;\ GC(td,cfn,buf,2); return; \ } else {closcall2(td,(closure) (cfn),a1,a2); return;}} /* Check for GC, then call C function directly */ #define return_direct2(td,_fn,a1,a2) { \ char stack; \ if (check_overflow(&stack,(((gc_thread_data *)data)->stack_limit))) { \ object buf[2]; buf[0] = a1;buf[1] = a2; \ mclosure0(c1, _fn); \ GC(td,&c1, buf, 2); return; \ } else { (_fn)(td,2,(closure)_fn,a1,a2); }} #define closcall3(td,cfn,a1,a2,a3) if (type_of(cfn) == cons_tag || prim(cfn)) { Cyc_apply(td,2, (closure)(a1), cfn,a2,a3); } else { ((cfn)->fn)(td,3,cfn,a1,a2,a3);} /* Check for GC, then call given continuation closure */ #define return_closcall3(td,cfn,a1,a2,a3) \ {char stack; \ if (check_overflow(&stack,(((gc_thread_data *)data)->stack_limit))) { \ object buf[3]; buf[0] = a1;buf[1] = a2;buf[2] = a3;\ GC(td,cfn,buf,3); return; \ } else {closcall3(td,(closure) (cfn),a1,a2,a3); return;}} /* Check for GC, then call C function directly */ #define return_direct3(td,_fn,a1,a2,a3) { \ char stack; \ if (check_overflow(&stack,(((gc_thread_data *)data)->stack_limit))) { \ object buf[3]; buf[0] = a1;buf[1] = a2;buf[2] = a3; \ mclosure0(c1, _fn); \ GC(td,&c1, buf, 3); return; \ } else { (_fn)(td,3,(closure)_fn,a1,a2,a3); }} #define closcall4(td,cfn,a1,a2,a3,a4) if (type_of(cfn) == cons_tag || prim(cfn)) { Cyc_apply(td,3, (closure)(a1), cfn,a2,a3,a4); } else { ((cfn)->fn)(td,4,cfn,a1,a2,a3,a4);} /* Check for GC, then call given continuation closure */ #define return_closcall4(td,cfn,a1,a2,a3,a4) \ {char stack; \ if (check_overflow(&stack,(((gc_thread_data *)data)->stack_limit))) { \ object buf[4]; buf[0] = a1;buf[1] = a2;buf[2] = a3;buf[3] = a4;\ GC(td,cfn,buf,4); return; \ } else {closcall4(td,(closure) (cfn),a1,a2,a3,a4); return;}} /* Check for GC, then call C function directly */ #define return_direct4(td,_fn,a1,a2,a3,a4) { \ char stack; \ if (check_overflow(&stack,(((gc_thread_data *)data)->stack_limit))) { \ object buf[4]; buf[0] = a1;buf[1] = a2;buf[2] = a3;buf[3] = a4; \ mclosure0(c1, _fn); \ GC(td,&c1, buf, 4); return; \ } else { (_fn)(td,4,(closure)_fn,a1,a2,a3,a4); }} #include "cyclone/types.h" object __glo_nqueens = nil; extern object __glo_cons_91source; extern object __glo_syntax_91rules; extern object __glo_letrec_85; extern object __glo_guard; extern object __glo_guard_91aux; extern object __glo_receive; extern object __glo_abs; extern object __glo_max; extern object __glo_min; extern object __glo_modulo; extern object __glo_floor_91remainder; extern object __glo_even_127; extern object __glo_exact_91integer_127; extern object __glo_exact_127; extern object __glo_inexact_127; extern object __glo_odd_127; extern object __glo_gcd; extern object __glo_lcm; extern object __glo_quotient; extern object __glo_remainder; extern object __glo_truncate_91quotient; extern object __glo_truncate_91remainder; extern object __glo_truncate_95; extern object __glo_floor_91quotient; extern object __glo_floor_91remainder; extern object __glo_floor_95; extern object __glo_square; extern object __glo_expt; extern object __glo_call_91with_91current_91continuation; extern object __glo_call_95cc; extern object __glo_call_91with_91values; extern object __glo_dynamic_91wind; extern object __glo_values; extern object __glo_char_123_127; extern object __glo_char_121_127; extern object __glo_char_125_127; extern object __glo_char_121_123_127; extern object __glo_char_125_123_127; extern object __glo_string_123_127; extern object __glo_string_121_127; extern object __glo_string_121_123_127; extern object __glo_string_125_127; extern object __glo_string_125_123_127; extern object __glo_foldl; extern object __glo_foldr; extern object __glo_not; extern object __glo_list_127; extern object __glo_zero_127; extern object __glo_positive_127; extern object __glo_negative_127; extern object __glo_append; extern object __glo__list; extern object __glo_make_91list; extern object __glo_list_91copy; extern object __glo_map; extern object __glo_for_91each; extern object __glo_list_91tail; extern object __glo_list_91ref; extern object __glo_list_91set_67; extern object __glo_reverse; extern object __glo_boolean_123_127; extern object __glo_symbol_123_127; extern object __glo_Cyc_91obj_123_127; extern object __glo_vector; extern object __glo_vector_91append; extern object __glo_vector_91copy; extern object __glo_vector_91copy_67; extern object __glo_vector_91fill_67; extern object __glo_vector_91_125list; extern object __glo_vector_91_125string; extern object __glo_vector_91map; extern object __glo_vector_91for_91each; extern object __glo_make_91string; extern object __glo_string; extern object __glo_string_91copy; extern object __glo_string_91copy_67; extern object __glo_string_91fill_67; extern object __glo_string_91_125list; extern object __glo_string_91_125vector; extern object __glo_string_91map; extern object __glo_string_91for_91each; extern object __glo_make_91parameter; extern object __glo_current_91output_91port; extern object __glo_current_91input_91port; extern object __glo_current_91error_91port; extern object __glo_call_91with_91port; extern object __glo_error; extern object __glo_raise; extern object __glo_raise_91continuable; extern object __glo_with_91exception_91handler; extern object __glo_Cyc_91add_91exception_91handler; extern object __glo_Cyc_91remove_91exception_91handler; extern object __glo_newline; extern object __glo_write_91char; extern object __glo_write_91string; extern object __glo_flush_91output_91port; extern object __glo_read_91line; extern object __glo_read_91string; extern object __glo_input_91port_127; extern object __glo_output_91port_127; extern object __glo_input_91port_91open_127; extern object __glo_output_91port_91open_127; extern object __glo_features; extern object __glo_any; extern object __glo_every; extern object __glo_and; extern object __glo_or; extern object __glo_let; extern object __glo_let_85; extern object __glo_letrec; extern object __glo_begin; extern object __glo__case; extern object __glo_cond; extern object __glo_cond_91expand; extern object __glo__do; extern object __glo_when; extern object __glo_unless; extern object __glo_quasiquote; extern object __glo_floor; extern object __glo_ceiling; extern object __glo_truncate; extern object __glo_round; extern object __glo_exact; extern object __glo_inexact; extern object __glo_eof_91object; extern object __glo_syntax_91error; extern object __glo_display; extern object __glo_write; #include "cyclone/runtime.h" #include "cyclone/runtime-main.h" static void __lambda_56(void *data, int argc, closure _) ; static void __lambda_55(void *data, int argc, closure _,object r_7326) ; static void __lambda_54(void *data, int argc, object self_7376, object r_7327) ; static void __lambda_53(void *data, int argc, closure _,object k_7330, object n_734) ; static void __lambda_52(void *data, int argc, object self_7377, object dec_91to_7310, object ok_127_739, object try_738) ; static void __lambda_51(void *data, int argc, object self_7378, object dec_91to_7310) ; static void __lambda_50(void *data, int argc, object self_7379, object ok_127_739) ; static void __lambda_49(void *data, int argc, object self_7380, object try_738) ; static void __lambda_48(void *data, int argc, object self_7381, object dec_91to_7313, object try_7312, object ok_127_7311) ; static void __lambda_47(void *data, int argc, object self_7382, object k_7368, object n_7320) ; static void __lambda_46(void *data, int argc, object self_7383, object r_7369) ; static void __lambda_45(void *data, int argc, object self_7384, object i_7322, object l_7321) ; static void __lambda_44(void *data, int argc, object self_7385, object loop_7323) ; static void __lambda_43(void *data, int argc, object self_7386, object loop_7323) ; static void __lambda_42(void *data, int argc, object self_7387, object k_7372, object i_7325, object l_7324) ; static void __lambda_41(void *data, int argc, object self_7388, object r_7373) ; static void __lambda_40(void *data, int argc, object self_7389, object r_7374) ; static void __lambda_39(void *data, int argc, object self_7390, object r_7375) ; static void __lambda_38(void *data, int argc, object self_7391, object r_7371) ; static void __lambda_37(void *data, int argc, object self_7392, object r_7370) ; static void __lambda_36(void *data, int argc, object self_7393, object r_7367) ; static void __lambda_35(void *data, int argc, object self_7394, object r_7331) ; static void __lambda_34(void *data, int argc, object self_7395, object k_7351, object x_7319, object y_7318, object z_7317) ; static void __lambda_33(void *data, int argc, object self_7396, object r_7352) ; static void __lambda_32(void *data, int argc, object self_7397, object r_7354) ; static void __lambda_31(void *data, int argc, object self_7398, object r_7356) ; static void __lambda_30(void *data, int argc, object self_7399, object r_7358) ; static void __lambda_29(void *data, int argc, object self_73100, object r_7357) ; static void __lambda_28(void *data, int argc, object self_73101, object r_7355) ; static void __lambda_27(void *data, int argc, object self_73102, object k_7359) ; static void __lambda_26(void *data, int argc, object self_73103, object r_7366) ; static void __lambda_25(void *data, int argc, object self_73104, object r_7360) ; static void __lambda_24(void *data, int argc, object self_73105, object r_7365) ; static void __lambda_23(void *data, int argc, object self_73106, object r_7361) ; static void __lambda_22(void *data, int argc, object self_73107, object r_7362) ; static void __lambda_21(void *data, int argc, object self_73108, object r_7364) ; static void __lambda_20(void *data, int argc, object self_73109, object r_7363) ; static void __lambda_19(void *data, int argc, object self_73110, object r_7353) ; static void __lambda_18(void *data, int argc, object self_73111, object r_7350) ; static void __lambda_17(void *data, int argc, object self_73112, object r_7332) ; static void __lambda_16(void *data, int argc, object self_73113, object k_7338, object row_7316, object dist_7315, object placed_7314) ; static void __lambda_15(void *data, int argc, object self_73114, object r_7339) ; static void __lambda_14(void *data, int argc, object self_73115, object r_7348) ; static void __lambda_13(void *data, int argc, object self_73116, object r_7349) ; static void __lambda_12(void *data, int argc, object self_73117, object r_7347) ; static void __lambda_11(void *data, int argc, object self_73118, object r_7340) ; static void __lambda_10(void *data, int argc, object self_73119, object r_7345) ; static void __lambda_9(void *data, int argc, object self_73120, object r_7346) ; static void __lambda_8(void *data, int argc, object self_73121, object r_7344) ; static void __lambda_7(void *data, int argc, object self_73122, object r_7341) ; static void __lambda_6(void *data, int argc, object self_73123, object r_7342) ; static void __lambda_5(void *data, int argc, object self_73124, object r_7343) ; static void __lambda_4(void *data, int argc, object self_73125, object r_7337) ; static void __lambda_3(void *data, int argc, object self_73126, object r_7333) ; static void __lambda_2(void *data, int argc, object self_73127, object r_7334) ; static void __lambda_1(void *data, int argc, object self_73128, object r_7335) ; static void __lambda_0(void *data, int argc, object self_73129, object r_7336) ; static void __lambda_56(void *data, int argc, closure _) { make_int(c_73411, 0); return_direct1(data,__lambda_55,&c_73411);; } static void __lambda_55(void *data, int argc, closure _,object r_7326) { mclosure0(c_73408, (function_type)__lambda_54);c_73408.num_args = 1; make_int(c_73410, 8); return_closcall2(data, __glo_nqueens, &c_73408, &c_73410);; } static void __lambda_54(void *data, int argc, object self_7376, object r_7327) { return_closcall2(data, __glo_write, primitive__75halt, r_7327);; } static void __lambda_53(void *data, int argc, closure _,object k_7330, object n_734) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73132; c_73132.hdr.mark = gc_color_red; c_73132.hdr.grayed = 0; c_73132.tag = closureN_tag; c_73132.fn = (function_type)__lambda_52; c_73132.num_args = 3; c_73132.num_elt = 2; c_73132.elts = (object *)alloca(sizeof(object) * 2); c_73132.elts[0] = k_7330; c_73132.elts[1] = n_734; return_closcall3(data,(closure)&c_73132, boolean_f, boolean_f, boolean_f);; } static void __lambda_52(void *data, int argc, object self_7377, object dec_91to_7310, object ok_127_739, object try_738) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73134; c_73134.hdr.mark = gc_color_red; c_73134.hdr.grayed = 0; c_73134.tag = closureN_tag; c_73134.fn = (function_type)__lambda_51; c_73134.num_args = 1; c_73134.num_elt = 4; c_73134.elts = (object *)alloca(sizeof(object) * 4); c_73134.elts[0] = ((closureN)self_7377)->elts[0]; c_73134.elts[1] = ((closureN)self_7377)->elts[1]; c_73134.elts[2] = ok_127_739; c_73134.elts[3] = try_738; make_cell(c_73404,dec_91to_7310); return_closcall1(data,(closure)&c_73134, &c_73404);; } static void __lambda_51(void *data, int argc, object self_7378, object dec_91to_7310) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73136; c_73136.hdr.mark = gc_color_red; c_73136.hdr.grayed = 0; c_73136.tag = closureN_tag; c_73136.fn = (function_type)__lambda_50; c_73136.num_args = 1; c_73136.num_elt = 4; c_73136.elts = (object *)alloca(sizeof(object) * 4); c_73136.elts[0] = dec_91to_7310; c_73136.elts[1] = ((closureN)self_7378)->elts[0]; c_73136.elts[2] = ((closureN)self_7378)->elts[1]; c_73136.elts[3] = ((closureN)self_7378)->elts[3]; make_cell(c_73400,((closureN)self_7378)->elts[2]); return_closcall1(data,(closure)&c_73136, &c_73400);; } static void __lambda_50(void *data, int argc, object self_7379, object ok_127_739) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73138; c_73138.hdr.mark = gc_color_red; c_73138.hdr.grayed = 0; c_73138.tag = closureN_tag; c_73138.fn = (function_type)__lambda_49; c_73138.num_args = 1; c_73138.num_elt = 4; c_73138.elts = (object *)alloca(sizeof(object) * 4); c_73138.elts[0] = ((closureN)self_7379)->elts[0]; c_73138.elts[1] = ((closureN)self_7379)->elts[1]; c_73138.elts[2] = ((closureN)self_7379)->elts[2]; c_73138.elts[3] = ok_127_739; make_cell(c_73396,((closureN)self_7379)->elts[3]); return_closcall1(data,(closure)&c_73138, &c_73396);; } static void __lambda_49(void *data, int argc, object self_7380, object try_738) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73140; c_73140.hdr.mark = gc_color_red; c_73140.hdr.grayed = 0; c_73140.tag = closureN_tag; c_73140.fn = (function_type)__lambda_48; c_73140.num_args = 3; c_73140.num_elt = 5; c_73140.elts = (object *)alloca(sizeof(object) * 5); c_73140.elts[0] = ((closureN)self_7380)->elts[0]; c_73140.elts[1] = ((closureN)self_7380)->elts[1]; c_73140.elts[2] = ((closureN)self_7380)->elts[2]; c_73140.elts[3] = ((closureN)self_7380)->elts[3]; c_73140.elts[4] = try_738; return_closcall3(data,(closure)&c_73140, boolean_f, boolean_f, boolean_f);; } static void __lambda_48(void *data, int argc, object self_7381, object dec_91to_7313, object try_7312, object ok_127_7311) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73142; c_73142.hdr.mark = gc_color_red; c_73142.hdr.grayed = 0; c_73142.tag = closureN_tag; c_73142.fn = (function_type)__lambda_36; c_73142.num_args = 1; c_73142.num_elt = 5; c_73142.elts = (object *)alloca(sizeof(object) * 5); c_73142.elts[0] = ((closureN)self_7381)->elts[0]; c_73142.elts[1] = ((closureN)self_7381)->elts[1]; c_73142.elts[2] = ((closureN)self_7381)->elts[2]; c_73142.elts[3] = ((closureN)self_7381)->elts[3]; c_73142.elts[4] = ((closureN)self_7381)->elts[4]; mclosure0(c_73338, (function_type)__lambda_47);c_73338.num_args = 1; return_closcall1(data,(closure)&c_73142, &c_73338);; } static void __lambda_47(void *data, int argc, object self_7382, object k_7368, object n_7320) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73340; c_73340.hdr.mark = gc_color_red; c_73340.hdr.grayed = 0; c_73340.tag = closureN_tag; c_73340.fn = (function_type)__lambda_46; c_73340.num_args = 1; c_73340.num_elt = 2; c_73340.elts = (object *)alloca(sizeof(object) * 2); c_73340.elts[0] = k_7368; c_73340.elts[1] = n_7320; return_closcall1(data,(closure)&c_73340, nil);; } static void __lambda_46(void *data, int argc, object self_7383, object r_7369) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73342; c_73342.hdr.mark = gc_color_red; c_73342.hdr.grayed = 0; c_73342.tag = closureN_tag; c_73342.fn = (function_type)__lambda_45; c_73342.num_args = 2; c_73342.num_elt = 1; c_73342.elts = (object *)alloca(sizeof(object) * 1); c_73342.elts[0] = ((closureN)self_7383)->elts[0]; return_closcall2(data,(closure)&c_73342, ((closureN)self_7383)->elts[1], r_7369);; } static void __lambda_45(void *data, int argc, object self_7384, object i_7322, object l_7321) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73344; c_73344.hdr.mark = gc_color_red; c_73344.hdr.grayed = 0; c_73344.tag = closureN_tag; c_73344.fn = (function_type)__lambda_44; c_73344.num_args = 1; c_73344.num_elt = 3; c_73344.elts = (object *)alloca(sizeof(object) * 3); c_73344.elts[0] = i_7322; c_73344.elts[1] = ((closureN)self_7384)->elts[0]; c_73344.elts[2] = l_7321; return_closcall1(data,(closure)&c_73344, boolean_f);; } static void __lambda_44(void *data, int argc, object self_7385, object loop_7323) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73346; c_73346.hdr.mark = gc_color_red; c_73346.hdr.grayed = 0; c_73346.tag = closureN_tag; c_73346.fn = (function_type)__lambda_43; c_73346.num_args = 1; c_73346.num_elt = 3; c_73346.elts = (object *)alloca(sizeof(object) * 3); c_73346.elts[0] = ((closureN)self_7385)->elts[0]; c_73346.elts[1] = ((closureN)self_7385)->elts[1]; c_73346.elts[2] = ((closureN)self_7385)->elts[2]; make_cell(c_73392,loop_7323); return_closcall1(data,(closure)&c_73346, &c_73392);; } static void __lambda_43(void *data, int argc, object self_7386, object loop_7323) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73348; c_73348.hdr.mark = gc_color_red; c_73348.hdr.grayed = 0; c_73348.tag = closureN_tag; c_73348.fn = (function_type)__lambda_38; c_73348.num_args = 1; c_73348.num_elt = 4; c_73348.elts = (object *)alloca(sizeof(object) * 4); c_73348.elts[0] = ((closureN)self_7386)->elts[0]; c_73348.elts[1] = ((closureN)self_7386)->elts[1]; c_73348.elts[2] = ((closureN)self_7386)->elts[2]; c_73348.elts[3] = loop_7323; closureN_type c_73361; c_73361.hdr.mark = gc_color_red; c_73361.hdr.grayed = 0; c_73361.tag = closureN_tag; c_73361.fn = (function_type)__lambda_42; c_73361.num_args = 2; c_73361.num_elt = 1; c_73361.elts = (object *)alloca(sizeof(object) * 1); c_73361.elts[0] = loop_7323; return_closcall1(data,(closure)&c_73348, &c_73361);; } static void __lambda_42(void *data, int argc, object self_7387, object k_7372, object i_7325, object l_7324) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73363; c_73363.hdr.mark = gc_color_red; c_73363.hdr.grayed = 0; c_73363.tag = closureN_tag; c_73363.fn = (function_type)__lambda_41; c_73363.num_args = 1; c_73363.num_elt = 4; c_73363.elts = (object *)alloca(sizeof(object) * 4); c_73363.elts[0] = i_7325; c_73363.elts[1] = k_7372; c_73363.elts[2] = l_7324; c_73363.elts[3] = ((closureN)self_7387)->elts[0]; make_int(c_73389, 0); return_closcall1(data,(closure)&c_73363, __num_eq(data, i_7325, &c_73389));; } static void __lambda_41(void *data, int argc, object self_7388, object r_7373) { Cyc_st_add(data, "nqueens.scm:nqueens"); if( !eq(boolean_f, r_7373) ){ return_closcall1(data, ((closureN)self_7388)->elts[1], ((closureN)self_7388)->elts[2]); } else { closureN_type c_73368; c_73368.hdr.mark = gc_color_red; c_73368.hdr.grayed = 0; c_73368.tag = closureN_tag; c_73368.fn = (function_type)__lambda_40; c_73368.num_args = 1; c_73368.num_elt = 4; c_73368.elts = (object *)alloca(sizeof(object) * 4); c_73368.elts[0] = ((closureN)self_7388)->elts[0]; c_73368.elts[1] = ((closureN)self_7388)->elts[1]; c_73368.elts[2] = ((closureN)self_7388)->elts[2]; c_73368.elts[3] = ((closureN)self_7388)->elts[3]; make_int(c_73386, 1); common_type c_73384 = Cyc_sub(data,2,((closureN)self_7388)->elts[0], &c_73386); return_closcall1(data,(closure)&c_73368, &c_73384);} ; } static void __lambda_40(void *data, int argc, object self_7389, object r_7374) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73370; c_73370.hdr.mark = gc_color_red; c_73370.hdr.grayed = 0; c_73370.tag = closureN_tag; c_73370.fn = (function_type)__lambda_39; c_73370.num_args = 1; c_73370.num_elt = 3; c_73370.elts = (object *)alloca(sizeof(object) * 3); c_73370.elts[0] = ((closureN)self_7389)->elts[1]; c_73370.elts[1] = ((closureN)self_7389)->elts[3]; c_73370.elts[2] = r_7374; make_cons(c_73379,((closureN)self_7389)->elts[0], ((closureN)self_7389)->elts[2]); return_closcall1(data,(closure)&c_73370, &c_73379);; } static void __lambda_39(void *data, int argc, object self_7390, object r_7375) { Cyc_st_add(data, "nqueens.scm:nqueens"); return_closcall3(data, cell_get(((closureN)self_7390)->elts[1]), ((closureN)self_7390)->elts[0], ((closureN)self_7390)->elts[2], r_7375);; } static void __lambda_38(void *data, int argc, object self_7391, object r_7371) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73350; c_73350.hdr.mark = gc_color_red; c_73350.hdr.grayed = 0; c_73350.tag = closureN_tag; c_73350.fn = (function_type)__lambda_37; c_73350.num_args = 1; c_73350.num_elt = 4; c_73350.elts = (object *)alloca(sizeof(object) * 4); c_73350.elts[0] = ((closureN)self_7391)->elts[0]; c_73350.elts[1] = ((closureN)self_7391)->elts[1]; c_73350.elts[2] = ((closureN)self_7391)->elts[2]; c_73350.elts[3] = ((closureN)self_7391)->elts[3]; return_closcall1(data,(closure)&c_73350, Cyc_set_car(data, ((closureN)self_7391)->elts[3], r_7371));; } static void __lambda_37(void *data, int argc, object self_7392, object r_7370) { Cyc_st_add(data, "nqueens.scm:nqueens"); return_closcall3(data, cell_get(((closureN)self_7392)->elts[3]), ((closureN)self_7392)->elts[1], ((closureN)self_7392)->elts[0], ((closureN)self_7392)->elts[2]);; } static void __lambda_36(void *data, int argc, object self_7393, object r_7367) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73144; c_73144.hdr.mark = gc_color_red; c_73144.hdr.grayed = 0; c_73144.tag = closureN_tag; c_73144.fn = (function_type)__lambda_35; c_73144.num_args = 1; c_73144.num_elt = 5; c_73144.elts = (object *)alloca(sizeof(object) * 5); c_73144.elts[0] = ((closureN)self_7393)->elts[0]; c_73144.elts[1] = ((closureN)self_7393)->elts[1]; c_73144.elts[2] = ((closureN)self_7393)->elts[2]; c_73144.elts[3] = ((closureN)self_7393)->elts[3]; c_73144.elts[4] = ((closureN)self_7393)->elts[4]; return_closcall1(data,(closure)&c_73144, Cyc_set_car(data, ((closureN)self_7393)->elts[0], r_7367));; } static void __lambda_35(void *data, int argc, object self_7394, object r_7331) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73146; c_73146.hdr.mark = gc_color_red; c_73146.hdr.grayed = 0; c_73146.tag = closureN_tag; c_73146.fn = (function_type)__lambda_18; c_73146.num_args = 1; c_73146.num_elt = 5; c_73146.elts = (object *)alloca(sizeof(object) * 5); c_73146.elts[0] = ((closureN)self_7394)->elts[0]; c_73146.elts[1] = ((closureN)self_7394)->elts[1]; c_73146.elts[2] = ((closureN)self_7394)->elts[2]; c_73146.elts[3] = ((closureN)self_7394)->elts[3]; c_73146.elts[4] = ((closureN)self_7394)->elts[4]; closureN_type c_73244; c_73244.hdr.mark = gc_color_red; c_73244.hdr.grayed = 0; c_73244.tag = closureN_tag; c_73244.fn = (function_type)__lambda_34; c_73244.num_args = 3; c_73244.num_elt = 2; c_73244.elts = (object *)alloca(sizeof(object) * 2); c_73244.elts[0] = ((closureN)self_7394)->elts[3]; c_73244.elts[1] = ((closureN)self_7394)->elts[4]; return_closcall1(data,(closure)&c_73146, &c_73244);; } static void __lambda_34(void *data, int argc, object self_7395, object k_7351, object x_7319, object y_7318, object z_7317) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73246; c_73246.hdr.mark = gc_color_red; c_73246.hdr.grayed = 0; c_73246.tag = closureN_tag; c_73246.fn = (function_type)__lambda_33; c_73246.num_args = 1; c_73246.num_elt = 6; c_73246.elts = (object *)alloca(sizeof(object) * 6); c_73246.elts[0] = k_7351; c_73246.elts[1] = ((closureN)self_7395)->elts[0]; c_73246.elts[2] = ((closureN)self_7395)->elts[1]; c_73246.elts[3] = x_7319; c_73246.elts[4] = y_7318; c_73246.elts[5] = z_7317; return_closcall1(data,(closure)&c_73246, Cyc_is_null(x_7319));; } static void __lambda_33(void *data, int argc, object self_7396, object r_7352) { Cyc_st_add(data, "nqueens.scm:nqueens"); if( !eq(boolean_f, r_7352) ){ closureN_type c_73248; c_73248.hdr.mark = gc_color_red; c_73248.hdr.grayed = 0; c_73248.tag = closureN_tag; c_73248.fn = (function_type)__lambda_19; c_73248.num_args = 1; c_73248.num_elt = 1; c_73248.elts = (object *)alloca(sizeof(object) * 1); c_73248.elts[0] = ((closureN)self_7396)->elts[0]; return_closcall1(data,(closure)&c_73248, Cyc_is_null(((closureN)self_7396)->elts[4])); } else { closureN_type c_73259; c_73259.hdr.mark = gc_color_red; c_73259.hdr.grayed = 0; c_73259.tag = closureN_tag; c_73259.fn = (function_type)__lambda_27; c_73259.num_args = 0; c_73259.num_elt = 5; c_73259.elts = (object *)alloca(sizeof(object) * 5); c_73259.elts[0] = ((closureN)self_7396)->elts[1]; c_73259.elts[1] = ((closureN)self_7396)->elts[2]; c_73259.elts[2] = ((closureN)self_7396)->elts[3]; c_73259.elts[3] = ((closureN)self_7396)->elts[4]; c_73259.elts[4] = ((closureN)self_7396)->elts[5]; closureN_type c_73303; c_73303.hdr.mark = gc_color_red; c_73303.hdr.grayed = 0; c_73303.tag = closureN_tag; c_73303.fn = (function_type)__lambda_32; c_73303.num_args = 1; c_73303.num_elt = 5; c_73303.elts = (object *)alloca(sizeof(object) * 5); c_73303.elts[0] = ((closureN)self_7396)->elts[0]; c_73303.elts[1] = ((closureN)self_7396)->elts[2]; c_73303.elts[2] = ((closureN)self_7396)->elts[3]; c_73303.elts[3] = ((closureN)self_7396)->elts[4]; c_73303.elts[4] = ((closureN)self_7396)->elts[5]; return_closcall1(data,(closure)&c_73259, &c_73303);} ; } static void __lambda_32(void *data, int argc, object self_7397, object r_7354) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73305; c_73305.hdr.mark = gc_color_red; c_73305.hdr.grayed = 0; c_73305.tag = closureN_tag; c_73305.fn = (function_type)__lambda_31; c_73305.num_args = 1; c_73305.num_elt = 6; c_73305.elts = (object *)alloca(sizeof(object) * 6); c_73305.elts[0] = ((closureN)self_7397)->elts[0]; c_73305.elts[1] = r_7354; c_73305.elts[2] = ((closureN)self_7397)->elts[1]; c_73305.elts[3] = ((closureN)self_7397)->elts[2]; c_73305.elts[4] = ((closureN)self_7397)->elts[3]; c_73305.elts[5] = ((closureN)self_7397)->elts[4]; return_closcall1(data,(closure)&c_73305, cdr(((closureN)self_7397)->elts[2]));; } static void __lambda_31(void *data, int argc, object self_7398, object r_7356) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73307; c_73307.hdr.mark = gc_color_red; c_73307.hdr.grayed = 0; c_73307.tag = closureN_tag; c_73307.fn = (function_type)__lambda_30; c_73307.num_args = 1; c_73307.num_elt = 6; c_73307.elts = (object *)alloca(sizeof(object) * 6); c_73307.elts[0] = ((closureN)self_7398)->elts[0]; c_73307.elts[1] = ((closureN)self_7398)->elts[1]; c_73307.elts[2] = r_7356; c_73307.elts[3] = ((closureN)self_7398)->elts[2]; c_73307.elts[4] = ((closureN)self_7398)->elts[4]; c_73307.elts[5] = ((closureN)self_7398)->elts[5]; return_closcall1(data,(closure)&c_73307, car(((closureN)self_7398)->elts[3]));; } static void __lambda_30(void *data, int argc, object self_7399, object r_7358) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73309; c_73309.hdr.mark = gc_color_red; c_73309.hdr.grayed = 0; c_73309.tag = closureN_tag; c_73309.fn = (function_type)__lambda_29; c_73309.num_args = 1; c_73309.num_elt = 5; c_73309.elts = (object *)alloca(sizeof(object) * 5); c_73309.elts[0] = ((closureN)self_7399)->elts[0]; c_73309.elts[1] = ((closureN)self_7399)->elts[1]; c_73309.elts[2] = ((closureN)self_7399)->elts[2]; c_73309.elts[3] = ((closureN)self_7399)->elts[3]; c_73309.elts[4] = ((closureN)self_7399)->elts[5]; make_cons(c_73325,r_7358, ((closureN)self_7399)->elts[4]); return_closcall1(data,(closure)&c_73309, &c_73325);; } static void __lambda_29(void *data, int argc, object self_73100, object r_7357) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73314; c_73314.hdr.mark = gc_color_red; c_73314.hdr.grayed = 0; c_73314.tag = closureN_tag; c_73314.fn = (function_type)__lambda_28; c_73314.num_args = 1; c_73314.num_elt = 2; c_73314.elts = (object *)alloca(sizeof(object) * 2); c_73314.elts[0] = ((closureN)self_73100)->elts[0]; c_73314.elts[1] = ((closureN)self_73100)->elts[1]; return_closcall4(data, cell_get(((closureN)self_73100)->elts[3]), &c_73314, ((closureN)self_73100)->elts[2], r_7357, ((closureN)self_73100)->elts[4]);; } static void __lambda_28(void *data, int argc, object self_73101, object r_7355) { Cyc_st_add(data, "nqueens.scm:nqueens"); common_type c_73319 = Cyc_sum(data,2,((closureN)self_73101)->elts[1], r_7355); return_closcall1(data, ((closureN)self_73101)->elts[0], &c_73319);; } static void __lambda_27(void *data, int argc, object self_73102, object k_7359) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73261; c_73261.hdr.mark = gc_color_red; c_73261.hdr.grayed = 0; c_73261.tag = closureN_tag; c_73261.fn = (function_type)__lambda_26; c_73261.num_args = 1; c_73261.num_elt = 6; c_73261.elts = (object *)alloca(sizeof(object) * 6); c_73261.elts[0] = k_7359; c_73261.elts[1] = ((closureN)self_73102)->elts[0]; c_73261.elts[2] = ((closureN)self_73102)->elts[1]; c_73261.elts[3] = ((closureN)self_73102)->elts[2]; c_73261.elts[4] = ((closureN)self_73102)->elts[3]; c_73261.elts[5] = ((closureN)self_73102)->elts[4]; return_closcall1(data,(closure)&c_73261, car(((closureN)self_73102)->elts[2]));; } static void __lambda_26(void *data, int argc, object self_73103, object r_7366) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73266; c_73266.hdr.mark = gc_color_red; c_73266.hdr.grayed = 0; c_73266.tag = closureN_tag; c_73266.fn = (function_type)__lambda_25; c_73266.num_args = 1; c_73266.num_elt = 5; c_73266.elts = (object *)alloca(sizeof(object) * 5); c_73266.elts[0] = ((closureN)self_73103)->elts[0]; c_73266.elts[1] = ((closureN)self_73103)->elts[2]; c_73266.elts[2] = ((closureN)self_73103)->elts[3]; c_73266.elts[3] = ((closureN)self_73103)->elts[4]; c_73266.elts[4] = ((closureN)self_73103)->elts[5]; make_int(c_73298, 1); return_closcall4(data, cell_get(((closureN)self_73103)->elts[1]), &c_73266, r_7366, &c_73298, ((closureN)self_73103)->elts[5]);; } static void __lambda_25(void *data, int argc, object self_73104, object r_7360) { Cyc_st_add(data, "nqueens.scm:nqueens"); if( !eq(boolean_f, r_7360) ){ closureN_type c_73268; c_73268.hdr.mark = gc_color_red; c_73268.hdr.grayed = 0; c_73268.tag = closureN_tag; c_73268.fn = (function_type)__lambda_24; c_73268.num_args = 1; c_73268.num_elt = 5; c_73268.elts = (object *)alloca(sizeof(object) * 5); c_73268.elts[0] = ((closureN)self_73104)->elts[0]; c_73268.elts[1] = ((closureN)self_73104)->elts[1]; c_73268.elts[2] = ((closureN)self_73104)->elts[2]; c_73268.elts[3] = ((closureN)self_73104)->elts[3]; c_73268.elts[4] = ((closureN)self_73104)->elts[4]; return_closcall1(data,(closure)&c_73268, cdr(((closureN)self_73104)->elts[2])); } else { make_int(c_73297, 0); return_closcall1(data, ((closureN)self_73104)->elts[0], &c_73297);} ; } static void __lambda_24(void *data, int argc, object self_73105, object r_7365) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73270; c_73270.hdr.mark = gc_color_red; c_73270.hdr.grayed = 0; c_73270.tag = closureN_tag; c_73270.fn = (function_type)__lambda_23; c_73270.num_args = 1; c_73270.num_elt = 4; c_73270.elts = (object *)alloca(sizeof(object) * 4); c_73270.elts[0] = ((closureN)self_73105)->elts[0]; c_73270.elts[1] = ((closureN)self_73105)->elts[1]; c_73270.elts[2] = ((closureN)self_73105)->elts[2]; c_73270.elts[3] = ((closureN)self_73105)->elts[4]; return_closcall3(data, __glo_append, &c_73270, r_7365, ((closureN)self_73105)->elts[3]);; } static void __lambda_23(void *data, int argc, object self_73106, object r_7361) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73272; c_73272.hdr.mark = gc_color_red; c_73272.hdr.grayed = 0; c_73272.tag = closureN_tag; c_73272.fn = (function_type)__lambda_22; c_73272.num_args = 1; c_73272.num_elt = 5; c_73272.elts = (object *)alloca(sizeof(object) * 5); c_73272.elts[0] = ((closureN)self_73106)->elts[0]; c_73272.elts[1] = r_7361; c_73272.elts[2] = ((closureN)self_73106)->elts[1]; c_73272.elts[3] = ((closureN)self_73106)->elts[2]; c_73272.elts[4] = ((closureN)self_73106)->elts[3]; return_closcall1(data,(closure)&c_73272, nil);; } static void __lambda_22(void *data, int argc, object self_73107, object r_7362) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73274; c_73274.hdr.mark = gc_color_red; c_73274.hdr.grayed = 0; c_73274.tag = closureN_tag; c_73274.fn = (function_type)__lambda_21; c_73274.num_args = 1; c_73274.num_elt = 5; c_73274.elts = (object *)alloca(sizeof(object) * 5); c_73274.elts[0] = ((closureN)self_73107)->elts[0]; c_73274.elts[1] = ((closureN)self_73107)->elts[1]; c_73274.elts[2] = r_7362; c_73274.elts[3] = ((closureN)self_73107)->elts[2]; c_73274.elts[4] = ((closureN)self_73107)->elts[4]; return_closcall1(data,(closure)&c_73274, car(((closureN)self_73107)->elts[3]));; } static void __lambda_21(void *data, int argc, object self_73108, object r_7364) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73276; c_73276.hdr.mark = gc_color_red; c_73276.hdr.grayed = 0; c_73276.tag = closureN_tag; c_73276.fn = (function_type)__lambda_20; c_73276.num_args = 1; c_73276.num_elt = 4; c_73276.elts = (object *)alloca(sizeof(object) * 4); c_73276.elts[0] = ((closureN)self_73108)->elts[0]; c_73276.elts[1] = ((closureN)self_73108)->elts[1]; c_73276.elts[2] = ((closureN)self_73108)->elts[2]; c_73276.elts[3] = ((closureN)self_73108)->elts[3]; make_cons(c_73286,r_7364, ((closureN)self_73108)->elts[4]); return_closcall1(data,(closure)&c_73276, &c_73286);; } static void __lambda_20(void *data, int argc, object self_73109, object r_7363) { Cyc_st_add(data, "nqueens.scm:nqueens"); return_closcall4(data, cell_get(((closureN)self_73109)->elts[3]), ((closureN)self_73109)->elts[0], ((closureN)self_73109)->elts[1], ((closureN)self_73109)->elts[2], r_7363);; } static void __lambda_19(void *data, int argc, object self_73110, object r_7353) { Cyc_st_add(data, "nqueens.scm:nqueens"); if( !eq(boolean_f, r_7353) ){ make_int(c_73251, 1); return_closcall1(data, ((closureN)self_73110)->elts[0], &c_73251); } else { make_int(c_73254, 0); return_closcall1(data, ((closureN)self_73110)->elts[0], &c_73254);} ; } static void __lambda_18(void *data, int argc, object self_73111, object r_7350) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73148; c_73148.hdr.mark = gc_color_red; c_73148.hdr.grayed = 0; c_73148.tag = closureN_tag; c_73148.fn = (function_type)__lambda_17; c_73148.num_args = 1; c_73148.num_elt = 5; c_73148.elts = (object *)alloca(sizeof(object) * 5); c_73148.elts[0] = ((closureN)self_73111)->elts[0]; c_73148.elts[1] = ((closureN)self_73111)->elts[1]; c_73148.elts[2] = ((closureN)self_73111)->elts[2]; c_73148.elts[3] = ((closureN)self_73111)->elts[3]; c_73148.elts[4] = ((closureN)self_73111)->elts[4]; return_closcall1(data,(closure)&c_73148, Cyc_set_car(data, ((closureN)self_73111)->elts[4], r_7350));; } static void __lambda_17(void *data, int argc, object self_73112, object r_7332) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73150; c_73150.hdr.mark = gc_color_red; c_73150.hdr.grayed = 0; c_73150.tag = closureN_tag; c_73150.fn = (function_type)__lambda_4; c_73150.num_args = 1; c_73150.num_elt = 5; c_73150.elts = (object *)alloca(sizeof(object) * 5); c_73150.elts[0] = ((closureN)self_73112)->elts[0]; c_73150.elts[1] = ((closureN)self_73112)->elts[1]; c_73150.elts[2] = ((closureN)self_73112)->elts[2]; c_73150.elts[3] = ((closureN)self_73112)->elts[3]; c_73150.elts[4] = ((closureN)self_73112)->elts[4]; closureN_type c_73173; c_73173.hdr.mark = gc_color_red; c_73173.hdr.grayed = 0; c_73173.tag = closureN_tag; c_73173.fn = (function_type)__lambda_16; c_73173.num_args = 3; c_73173.num_elt = 1; c_73173.elts = (object *)alloca(sizeof(object) * 1); c_73173.elts[0] = ((closureN)self_73112)->elts[3]; return_closcall1(data,(closure)&c_73150, &c_73173);; } static void __lambda_16(void *data, int argc, object self_73113, object k_7338, object row_7316, object dist_7315, object placed_7314) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73175; c_73175.hdr.mark = gc_color_red; c_73175.hdr.grayed = 0; c_73175.tag = closureN_tag; c_73175.fn = (function_type)__lambda_15; c_73175.num_args = 1; c_73175.num_elt = 5; c_73175.elts = (object *)alloca(sizeof(object) * 5); c_73175.elts[0] = dist_7315; c_73175.elts[1] = k_7338; c_73175.elts[2] = ((closureN)self_73113)->elts[0]; c_73175.elts[3] = placed_7314; c_73175.elts[4] = row_7316; return_closcall1(data,(closure)&c_73175, Cyc_is_null(placed_7314));; } static void __lambda_15(void *data, int argc, object self_73114, object r_7339) { Cyc_st_add(data, "nqueens.scm:nqueens"); if( !eq(boolean_f, r_7339) ){ return_closcall1(data, ((closureN)self_73114)->elts[1], boolean_t); } else { closureN_type c_73179; c_73179.hdr.mark = gc_color_red; c_73179.hdr.grayed = 0; c_73179.tag = closureN_tag; c_73179.fn = (function_type)__lambda_14; c_73179.num_args = 1; c_73179.num_elt = 5; c_73179.elts = (object *)alloca(sizeof(object) * 5); c_73179.elts[0] = ((closureN)self_73114)->elts[0]; c_73179.elts[1] = ((closureN)self_73114)->elts[1]; c_73179.elts[2] = ((closureN)self_73114)->elts[2]; c_73179.elts[3] = ((closureN)self_73114)->elts[3]; c_73179.elts[4] = ((closureN)self_73114)->elts[4]; return_closcall1(data,(closure)&c_73179, car(((closureN)self_73114)->elts[3]));} ; } static void __lambda_14(void *data, int argc, object self_73115, object r_7348) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73181; c_73181.hdr.mark = gc_color_red; c_73181.hdr.grayed = 0; c_73181.tag = closureN_tag; c_73181.fn = (function_type)__lambda_13; c_73181.num_args = 1; c_73181.num_elt = 6; c_73181.elts = (object *)alloca(sizeof(object) * 6); c_73181.elts[0] = ((closureN)self_73115)->elts[0]; c_73181.elts[1] = ((closureN)self_73115)->elts[1]; c_73181.elts[2] = ((closureN)self_73115)->elts[2]; c_73181.elts[3] = ((closureN)self_73115)->elts[3]; c_73181.elts[4] = r_7348; c_73181.elts[5] = ((closureN)self_73115)->elts[4]; common_type c_73233 = Cyc_sum(data,2,((closureN)self_73115)->elts[4], ((closureN)self_73115)->elts[0]); return_closcall1(data,(closure)&c_73181, &c_73233);; } static void __lambda_13(void *data, int argc, object self_73116, object r_7349) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73183; c_73183.hdr.mark = gc_color_red; c_73183.hdr.grayed = 0; c_73183.tag = closureN_tag; c_73183.fn = (function_type)__lambda_12; c_73183.num_args = 1; c_73183.num_elt = 5; c_73183.elts = (object *)alloca(sizeof(object) * 5); c_73183.elts[0] = ((closureN)self_73116)->elts[0]; c_73183.elts[1] = ((closureN)self_73116)->elts[1]; c_73183.elts[2] = ((closureN)self_73116)->elts[2]; c_73183.elts[3] = ((closureN)self_73116)->elts[3]; c_73183.elts[4] = ((closureN)self_73116)->elts[5]; return_closcall1(data,(closure)&c_73183, __num_eq(data, ((closureN)self_73116)->elts[4], r_7349));; } static void __lambda_12(void *data, int argc, object self_73117, object r_7347) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73185; c_73185.hdr.mark = gc_color_red; c_73185.hdr.grayed = 0; c_73185.tag = closureN_tag; c_73185.fn = (function_type)__lambda_11; c_73185.num_args = 1; c_73185.num_elt = 5; c_73185.elts = (object *)alloca(sizeof(object) * 5); c_73185.elts[0] = ((closureN)self_73117)->elts[0]; c_73185.elts[1] = ((closureN)self_73117)->elts[1]; c_73185.elts[2] = ((closureN)self_73117)->elts[2]; c_73185.elts[3] = ((closureN)self_73117)->elts[3]; c_73185.elts[4] = ((closureN)self_73117)->elts[4]; return_closcall2(data, __glo_not, &c_73185, r_7347);; } static void __lambda_11(void *data, int argc, object self_73118, object r_7340) { Cyc_st_add(data, "nqueens.scm:nqueens"); if( !eq(boolean_f, r_7340) ){ closureN_type c_73187; c_73187.hdr.mark = gc_color_red; c_73187.hdr.grayed = 0; c_73187.tag = closureN_tag; c_73187.fn = (function_type)__lambda_10; c_73187.num_args = 1; c_73187.num_elt = 5; c_73187.elts = (object *)alloca(sizeof(object) * 5); c_73187.elts[0] = ((closureN)self_73118)->elts[0]; c_73187.elts[1] = ((closureN)self_73118)->elts[1]; c_73187.elts[2] = ((closureN)self_73118)->elts[2]; c_73187.elts[3] = ((closureN)self_73118)->elts[3]; c_73187.elts[4] = ((closureN)self_73118)->elts[4]; return_closcall1(data,(closure)&c_73187, car(((closureN)self_73118)->elts[3])); } else { return_closcall1(data, ((closureN)self_73118)->elts[1], boolean_f);} ; } static void __lambda_10(void *data, int argc, object self_73119, object r_7345) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73189; c_73189.hdr.mark = gc_color_red; c_73189.hdr.grayed = 0; c_73189.tag = closureN_tag; c_73189.fn = (function_type)__lambda_9; c_73189.num_args = 1; c_73189.num_elt = 6; c_73189.elts = (object *)alloca(sizeof(object) * 6); c_73189.elts[0] = ((closureN)self_73119)->elts[0]; c_73189.elts[1] = ((closureN)self_73119)->elts[1]; c_73189.elts[2] = ((closureN)self_73119)->elts[2]; c_73189.elts[3] = ((closureN)self_73119)->elts[3]; c_73189.elts[4] = r_7345; c_73189.elts[5] = ((closureN)self_73119)->elts[4]; common_type c_73220 = Cyc_sub(data,2,((closureN)self_73119)->elts[4], ((closureN)self_73119)->elts[0]); return_closcall1(data,(closure)&c_73189, &c_73220);; } static void __lambda_9(void *data, int argc, object self_73120, object r_7346) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73191; c_73191.hdr.mark = gc_color_red; c_73191.hdr.grayed = 0; c_73191.tag = closureN_tag; c_73191.fn = (function_type)__lambda_8; c_73191.num_args = 1; c_73191.num_elt = 5; c_73191.elts = (object *)alloca(sizeof(object) * 5); c_73191.elts[0] = ((closureN)self_73120)->elts[0]; c_73191.elts[1] = ((closureN)self_73120)->elts[1]; c_73191.elts[2] = ((closureN)self_73120)->elts[2]; c_73191.elts[3] = ((closureN)self_73120)->elts[3]; c_73191.elts[4] = ((closureN)self_73120)->elts[5]; return_closcall1(data,(closure)&c_73191, __num_eq(data, ((closureN)self_73120)->elts[4], r_7346));; } static void __lambda_8(void *data, int argc, object self_73121, object r_7344) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73193; c_73193.hdr.mark = gc_color_red; c_73193.hdr.grayed = 0; c_73193.tag = closureN_tag; c_73193.fn = (function_type)__lambda_7; c_73193.num_args = 1; c_73193.num_elt = 5; c_73193.elts = (object *)alloca(sizeof(object) * 5); c_73193.elts[0] = ((closureN)self_73121)->elts[0]; c_73193.elts[1] = ((closureN)self_73121)->elts[1]; c_73193.elts[2] = ((closureN)self_73121)->elts[2]; c_73193.elts[3] = ((closureN)self_73121)->elts[3]; c_73193.elts[4] = ((closureN)self_73121)->elts[4]; return_closcall2(data, __glo_not, &c_73193, r_7344);; } static void __lambda_7(void *data, int argc, object self_73122, object r_7341) { Cyc_st_add(data, "nqueens.scm:nqueens"); if( !eq(boolean_f, r_7341) ){ closureN_type c_73195; c_73195.hdr.mark = gc_color_red; c_73195.hdr.grayed = 0; c_73195.tag = closureN_tag; c_73195.fn = (function_type)__lambda_6; c_73195.num_args = 1; c_73195.num_elt = 4; c_73195.elts = (object *)alloca(sizeof(object) * 4); c_73195.elts[0] = ((closureN)self_73122)->elts[1]; c_73195.elts[1] = ((closureN)self_73122)->elts[2]; c_73195.elts[2] = ((closureN)self_73122)->elts[3]; c_73195.elts[3] = ((closureN)self_73122)->elts[4]; make_int(c_73212, 1); common_type c_73210 = Cyc_sum(data,2,((closureN)self_73122)->elts[0], &c_73212); return_closcall1(data,(closure)&c_73195, &c_73210); } else { return_closcall1(data, ((closureN)self_73122)->elts[1], boolean_f);} ; } static void __lambda_6(void *data, int argc, object self_73123, object r_7342) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73197; c_73197.hdr.mark = gc_color_red; c_73197.hdr.grayed = 0; c_73197.tag = closureN_tag; c_73197.fn = (function_type)__lambda_5; c_73197.num_args = 1; c_73197.num_elt = 4; c_73197.elts = (object *)alloca(sizeof(object) * 4); c_73197.elts[0] = ((closureN)self_73123)->elts[0]; c_73197.elts[1] = ((closureN)self_73123)->elts[1]; c_73197.elts[2] = r_7342; c_73197.elts[3] = ((closureN)self_73123)->elts[3]; return_closcall1(data,(closure)&c_73197, cdr(((closureN)self_73123)->elts[2]));; } static void __lambda_5(void *data, int argc, object self_73124, object r_7343) { Cyc_st_add(data, "nqueens.scm:nqueens"); return_closcall4(data, cell_get(((closureN)self_73124)->elts[1]), ((closureN)self_73124)->elts[0], ((closureN)self_73124)->elts[3], ((closureN)self_73124)->elts[2], r_7343);; } static void __lambda_4(void *data, int argc, object self_73125, object r_7337) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73152; c_73152.hdr.mark = gc_color_red; c_73152.hdr.grayed = 0; c_73152.tag = closureN_tag; c_73152.fn = (function_type)__lambda_3; c_73152.num_args = 1; c_73152.num_elt = 4; c_73152.elts = (object *)alloca(sizeof(object) * 4); c_73152.elts[0] = ((closureN)self_73125)->elts[0]; c_73152.elts[1] = ((closureN)self_73125)->elts[1]; c_73152.elts[2] = ((closureN)self_73125)->elts[2]; c_73152.elts[3] = ((closureN)self_73125)->elts[4]; return_closcall1(data,(closure)&c_73152, Cyc_set_car(data, ((closureN)self_73125)->elts[3], r_7337));; } static void __lambda_3(void *data, int argc, object self_73126, object r_7333) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73157; c_73157.hdr.mark = gc_color_red; c_73157.hdr.grayed = 0; c_73157.tag = closureN_tag; c_73157.fn = (function_type)__lambda_2; c_73157.num_args = 1; c_73157.num_elt = 2; c_73157.elts = (object *)alloca(sizeof(object) * 2); c_73157.elts[0] = ((closureN)self_73126)->elts[1]; c_73157.elts[1] = ((closureN)self_73126)->elts[3]; return_closcall2(data, cell_get(((closureN)self_73126)->elts[0]), &c_73157, ((closureN)self_73126)->elts[2]);; } static void __lambda_2(void *data, int argc, object self_73127, object r_7334) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73159; c_73159.hdr.mark = gc_color_red; c_73159.hdr.grayed = 0; c_73159.tag = closureN_tag; c_73159.fn = (function_type)__lambda_1; c_73159.num_args = 1; c_73159.num_elt = 3; c_73159.elts = (object *)alloca(sizeof(object) * 3); c_73159.elts[0] = ((closureN)self_73127)->elts[0]; c_73159.elts[1] = r_7334; c_73159.elts[2] = ((closureN)self_73127)->elts[1]; return_closcall1(data,(closure)&c_73159, nil);; } static void __lambda_1(void *data, int argc, object self_73128, object r_7335) { Cyc_st_add(data, "nqueens.scm:nqueens"); closureN_type c_73161; c_73161.hdr.mark = gc_color_red; c_73161.hdr.grayed = 0; c_73161.tag = closureN_tag; c_73161.fn = (function_type)__lambda_0; c_73161.num_args = 1; c_73161.num_elt = 4; c_73161.elts = (object *)alloca(sizeof(object) * 4); c_73161.elts[0] = ((closureN)self_73128)->elts[0]; c_73161.elts[1] = ((closureN)self_73128)->elts[1]; c_73161.elts[2] = r_7335; c_73161.elts[3] = ((closureN)self_73128)->elts[2]; return_closcall1(data,(closure)&c_73161, nil);; } static void __lambda_0(void *data, int argc, object self_73129, object r_7336) { Cyc_st_add(data, "nqueens.scm:nqueens"); return_closcall4(data, cell_get(((closureN)self_73129)->elts[3]), ((closureN)self_73129)->elts[0], ((closureN)self_73129)->elts[1], ((closureN)self_73129)->elts[2], r_7336);; } static void c_entry_pt_first_lambda(void *data, int argc, closure cont, object value); extern void c_schemebase_entry_pt(void *data, int argc, closure cont, object value); extern void c_schemewrite_entry_pt(void *data, int argc, closure cont, object value); static void c_entry_pt(data, argc, env,cont) void *data; int argc; closure env,cont; { add_global((object *) &__glo_nqueens); mclosure0(c_73130, (function_type)__lambda_53);c_73130.num_args = 1; __glo_nqueens = &c_73130; make_cvar(cvar_73412, (object *)&__glo_nqueens);make_cons(pair_73413, find_or_add_symbol("nqueens"), &cvar_73412); make_cons(c_73414, &pair_73413,Cyc_global_variables); Cyc_global_variables = &c_73414; mclosure1(c_done, c_entry_pt_first_lambda, &c_done); mclosure1(c_73415, c_schemewrite_entry_pt, &c_done); mclosure1(c_73416, c_schemebase_entry_pt, &c_73415); (c_73416.fn)(data, 0, &c_73416, &c_73416); } static void c_entry_pt_first_lambda(void *data, int argc, closure cont, object value) { return_direct0(data,__lambda_56); } main(int argc,char **argv) {gc_thread_data *thd; long stack_size = global_stack_size = STACK_SIZE; long heap_size = global_heap_size = HEAP_SIZE; mclosure0(clos_halt,&Cyc_halt); // Halt if final closure is reached mclosure0(entry_pt,&c_entry_pt); // First function to execute _cyc_argc = argc; _cyc_argv = argv; gc_initialize(); thd = malloc(sizeof(gc_thread_data)); gc_thread_data_init(thd, 0, (char *) &stack_size, stack_size); thd->gc_cont = &entry_pt; thd->gc_args[0] = &clos_halt; thd->gc_num_args = 1; gc_add_mutator(thd); Cyc_heap_init(heap_size); thd->thread_state = CYC_THREAD_STATE_RUNNABLE; Cyc_start_trampoline(thd); return 0;}