cyclone/debug/compilation/nqueens.c
2016-03-04 20:34:52 -05:00

1480 lines
69 KiB
C

/**
** 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<=? char>=? string=? string<? 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;}