4 string ('(if a > b then c else d));
5 "if a > b then c else d";
7 string ('if a > b then c else d);
8 "if a > b then c else d";
10 string ('(if a > b then c));
13 string ('if a > b then c);
16 string ('(if a then if b then if c then d else if e then f else g else if h then i else j else k));
17 "if a then (if b then (if c then d else (if e then f else g)) else (if h then i else j)) else k";
19 string ('if a then 'if b then 'if c then d else 'if e then f else g else 'if h then i else j else k);
20 "if a then (if b then (if c then d else (if e then f else g)) else (if h then i else j)) else k";
22 string ('(if a then b));
25 string ('(if a then b else d));
28 string ('(if a then b elseif c then false));
29 "if a then b elseif c then false";
31 string ('(if a then b elseif c then d));
32 "if a then b elseif c then d";
34 string ('(if a then b elseif c then d else f));
35 "if a then b elseif c then d else f";
37 string ('(if a then b elseif c then d elseif e then false));
38 "if a then b elseif c then d elseif e then false";
40 string ('(if a then b elseif c then d elseif e then f));
41 "if a then b elseif c then d elseif e then f";
43 string ('(if a then b elseif c then d elseif e then f else h));
44 "if a then b elseif c then d elseif e then f else h";
46 string ('(if a then b elseif c then d elseif e then f elseif g then false));
47 "if a then b elseif c then d elseif e then f elseif g then false";
49 string ('(if a then b elseif c then d elseif e then f elseif g then h));
50 "if a then b elseif c then d elseif e then f elseif g then h";
52 string ('if a then b);
55 string ('if a then b else d);
58 string ('if a then b elseif c then false);
59 "if a then b elseif c then false";
61 string ('if a then b elseif c then d);
62 "if a then b elseif c then d";
64 string ('if a then b elseif c then d else f);
65 "if a then b elseif c then d else f";
67 string ('if a then b elseif c then d elseif e then false);
68 "if a then b elseif c then d elseif e then false";
70 string ('if a then b elseif c then d elseif e then f);
71 "if a then b elseif c then d elseif e then f";
73 string ('if a then b elseif c then d elseif e then f else h);
74 "if a then b elseif c then d elseif e then f else h";
76 string ('if a then b elseif c then d elseif e then f elseif g then false);
77 "if a then b elseif c then d elseif e then f elseif g then false";
79 string ('if a then b elseif c then d elseif e then f elseif g then h);
80 "if a then b elseif c then d elseif e then f elseif g then h";
86 e: 'if a > b then c else d,
87 f: 'if c < d then a elseif c < b then e else g,
93 string ('if a then b);
96 string ('if a then b else d);
97 "if z^3 then q/p else 1729.0";
99 string ('if a then b elseif c then false);
100 "if z^3 then q/p elseif x < 1024 then false";
102 string ('if a then b elseif c then d);
103 "if z^3 then q/p elseif x < 1024 then 1729.0";
105 string ('if a then b elseif c then d else f);
106 "if z^3 then q/p elseif x < 1024 then 1729.0 else (if x < 1024 < 1729.0 then z^3 elseif x < 1024 < q/p then (if z^3 > q/p then x < 1024 else 1729.0) else g)";
108 string ('if a then b elseif c then d elseif e then false);
109 "if z^3 then q/p elseif x < 1024 then 1729.0 elseif (if z^3 > q/p then x < 1024 else 1729.0) then false";
111 string ('if a then b elseif c then d elseif e then f);
112 "if z^3 then q/p elseif x < 1024 then 1729.0 elseif (if z^3 > q/p then x < 1024 else 1729.0) then (if x < 1024 < 1729.0 then z^3 elseif x < 1024 < q/p then (if z^3 > q/p then x < 1024 else 1729.0) else g)";
114 string ('if a then b elseif c then d elseif e then f else h);
115 "if z^3 then q/p elseif x < 1024 then 1729.0 elseif (if z^3 > q/p then x < 1024 else 1729.0) then (if x < 1024 < 1729.0 then z^3 elseif x < 1024 < q/p then (if z^3 > q/p then x < 1024 else 1729.0) else g) else %pi*(if z^3 > q/p then x < 1024 else 1729.0)";
117 string ('if a then b elseif c then d elseif e then f elseif g then false);
118 "if z^3 then q/p elseif x < 1024 then 1729.0 elseif (if z^3 > q/p then x < 1024 else 1729.0) then (if x < 1024 < 1729.0 then z^3 elseif x < 1024 < q/p then (if z^3 > q/p then x < 1024 else 1729.0) else g) elseif abs(r) then false";
120 string ('if a then b elseif c then d elseif e then f elseif g then h);
121 "if z^3 then q/p elseif x < 1024 then 1729.0 elseif (if z^3 > q/p then x < 1024 else 1729.0) then (if x < 1024 < 1729.0 then z^3 elseif x < 1024 < q/p then (if z^3 > q/p then x < 1024 else 1729.0) else g) elseif abs(r) then %pi*(if z^3 > q/p then x < 1024 else 1729.0)";
123 (postfix ("abc"), postfix ("xyz"), grind: true, linel: 65, 0);
126 /* NOTE: the literal strings in the remainder of this file
127 * contain embedded tabs and newlines.
129 string (my_union(x,y):=if x = [] then y
130 else (if member(t:first(x),y) then my_union(rest(x),y)
131 else cons(t,my_union(rest(x),y))));
132 "my_union(x,y):=if x = [] then y
133 else (if member(t:first(x),y) then my_union(rest(x),y)
134 else cons(t,my_union(rest(x),y)))" ;
136 string (g(l):=catch(map(lambda([x],if x < 0 then throw(x) else f(x)),l)));
137 "g(l):=catch(map(lambda([x],if x < 0 then throw(x) else f(x)),l))" ;
139 string (typeof(x):=block([q],if numberp(x) then return(algebraic),
140 if not atom(x) then return(maplist(typeof,x)),
142 if q = false then error("not numeric") else q));
143 "typeof(x):=block([q],if numberp(x) then return(algebraic),
144 if not atom(x) then return(maplist(typeof,x)),
146 if q = false then error(\"not numeric\") else q)" ;
148 string (closeto(e,tol):=block([numer:true,abse],abse:abs(e),
149 if abse < tol then true else abse));
150 "closeto(e,tol):=block([numer:true,abse],abse:abs(e),
151 if abse < tol then true else abse)" ;
153 string (fib[n]:=if n = 1 or n = 2 then 1 else fib[n-1]+fib[n-2]);
154 "fib[n]:=if n = 1 or n = 2 then 1 else fib[n-2]+fib[n-1]" ;
156 string (eta(mu,nu):=if mu = nu then mu
157 else (if mu > nu then mu-nu else mu+nu));
158 "eta(mu,nu):=if mu = nu then mu
159 else (if mu > nu then mu-nu else nu+mu)" ;
161 string ('(if not 5 >= 2 and 6 <= 5 or 5 > 3 then a else b));
162 "if 5 < 2 and 6 <= 5 or 5 > 3 then a else b" ;
164 string ('(for i thru 10 do
165 (guess:subst(guess,x,0.5*(x+10/x)),
166 if abs(guess^2-10) < 1/20000 then return(guess))));
168 (guess:subst(guess,x,0.5*(x+10/x)),
169 if abs(guess^2-10) < 1/20000 then return(guess))" ;
171 string (newton(f,guess):=block([numer,y],local(f,df,x,guess),numer:true,
172 define(df(x),diff(f(x),x)),
174 if y = 0 then error("derivative at",guess,"is zero"),
175 guess:guess-f(guess)/y,
176 if abs(f(guess)) < 1/200000 then return(guess))));
177 "newton(f,guess):=block([numer,y],local(f,df,x,guess),numer:true,
178 define(df(x),diff(f(x),x)),
180 if y = 0 then error(\"derivative at\",guess,\"is zero\"),
181 guess:guess-f(guess)/y,
182 if abs(f(guess)) < 1/200000 then return(guess)))" ;
184 string ('(extremal_subset(set(2*sqrt(7),1.4b0,a,b+a),
185 lambda([x],if atom(x) then 0 else 1),max)));
186 "extremal_subset({2*sqrt(7),1.4b0,a,b+a},
187 lambda([x],if atom(x) then 0 else 1),max)" ;
189 string (rprimep(i,j):=block([],
190 if integerp(i) and integerp(j)
191 then (if gcd(i,j) > 1 then 0 else 1)
192 else funmake(rprimep,[i,j])));
193 "rprimep(i,j):=block([],
194 if integerp(i) and integerp(j)
195 then (if gcd(i,j) > 1 then 0 else 1)
196 else funmake(rprimep,[i,j]))" ;
198 string ('(extremal_subset(set(2*sqrt(7),1.4b0,a,b+a),
201 then (if atom(x) then 0
203 else (if bar(x) then glob
205 "extremal_subset({2*sqrt(7),1.4b0,a,b+a},
208 then (if atom(x) then 0
210 else (if bar(x) then glob