summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorn <@>2024-01-06 18:15:53 +0200
committern <@>2024-01-06 18:15:53 +0200
commitc4f661c5b0db88e4f2757a86a3232330494fa7ab (patch)
tree3462bde42077671d7e08d8f1811d190ffafb3217
parent2574ec41b8936f40c0f43f76c75126055566fbbb (diff)
xr1
-rw-r--r--1.c4
-rw-r--r--2.c12
-rw-r--r--a.c2
-rw-r--r--a.h3
-rw-r--r--h.c4
-rw-r--r--k.c2
-rw-r--r--m.c8
-rw-r--r--o.c4
-rw-r--r--s.c2
-rw-r--r--w.c4
10 files changed, 24 insertions, 21 deletions
diff --git a/1.c b/1.c
index 5e0247bc..63d7340f 100644
--- a/1.c
+++ b/1.c
@@ -1,12 +1,12 @@
#include<math.h> // ngn/k, (c) 2019-2024 ngn, GNU AGPLv3 - https://codeberg.org/ngn/k/raw/branch/master/LICENSE
#include"a.h"
X1(neg,RE(neg(gZ(x)))Rilc(az(-gl(x)))Rf(af(-gf(x)))RC(neg(cG(x)))RmMA(e1f(neg,x))RB(neg(cG(x)))R_(et(x))
- RGHILF(U n=xn;I(xw-3<3&&minfZ(0,x)==-1<<(8<<xw-3)-1,x=ct(tH+xw-3,x))A y=xr>1?an(n,xt):x,z=x-y?x:au;n=((n<<xw-3)+31&~31)>>xw-3;
+ RGHILF(U n=xn;I(xw-3<3&&minfZ(0,x)==-1<<(8<<xw-3)-1,x=ct(tH+xw-3,x))A y=xr1?x:an(n,xt),z=x-y?x:au;n=((n<<xw-3)+31&~31)>>xw-3;
Mz(X(C(tG,F(n,yg=-xg))C(tH,F(n,yh=-xh))C(tI,F(n,yi=-xi))C(tL,F(n,yl=-xl))D(F(n,yf=-xf))))y))
X1(not,RmMA(e1f(not,x))RU(x(ai(x==au)))
RB(x=mut(x);W*a=xV;F((xn+255&-256)>>6,*a++^=-1)x)R_(eql(xtsS?as(0):ai(0),x)))
X1(nul,RmMA(e1f(nul,x))RU(x(ai(x==au)))RB(whr(len(x)))RF(A y=aG(xn);Mx(F(xn,yg=xf!=xf))y)Rf(x(ai(*xF!=*xF)))R_(eql(cn[xt],x)))
X1(flr,RmMA(e1f(flr,x))RcC(K1("{`c$x+32*~\"A[\"'x}",x))RsS(cS(flr(str(x))))RilEBGHIL(x)RfF(A y=an(xn,xt+tl-tf);Mx(F(yn,yl=xf<0?(L)xf-(xf<(L)xf):(L)xf))y)R_(et(x)))
-#define M(k,f) X1(k,RfF(A y=xr-1?an(xn,xt):x;F(xn+3&~3,yf=f(xf));x-y?x(y):y)RmMA(e1f(k,x))R_(k(N(cF(x)))))
+#define M(k,f) X1(k,RfF(A y=xr1?x:an(xn,xt);F(xn+3&~3,yf=f(xf));x-y?x(y):y)RmMA(e1f(k,x))R_(k(N(cF(x)))))
M(ksin,sin)M(kcos,cos)M(klog,log)M(kexp,exp)M(sqr,SQ)
diff --git a/2.c b/2.c
index 32af9aa5..b318aa44 100644
--- a/2.c
+++ b/2.c
@@ -3,7 +3,7 @@ Z CO W msk[]={0x8080808080808080ll,0x8000800080008000ll,0x8000000080000000ll};
#define M(o,f,T) ZN V f(CO V*RES a,CO V*RES b,V*RES c,U n){CO T*x=AL(a),*y=AL(b);T*r=AL(c);F(n,Fj(32/SZ(T),*r++=*x++o*y++))}
M(+,aFF,F)M(*,mFF,F)M(/,dFF,F)M(+,aLL,L)M(+,aII,I)M(+,aHH,H)M(+,aGG,G)
#undef M
-ZN A amdFF(A x,A y,U f)_(U n=xn;P(n-yn,el(y))A z=yr-1?aF(n):y;G(&aFF,0,mFF,dFF)[f-1](xV,yV,zV,n+3>>2);y-z?y(z):z)
+ZN A amdFF(A x,A y,U f)_(U n=xn;P(n-yn,el(y))A z=yr1?y:aF(n);G(&aFF,0,mFF,dFF)[f-1](xV,yV,zV,n+3>>2);y-z?y(z):z)
ZN B oZZ(CO W*x,CO W*y,CO W*r,U n,U w)_(x=AL(x);y=AL(y);r=AL(r);W t[4]={};F(((W)n<<w)+31>>5,Fj(4,t[j]|=(*r^*x)&(*r^*y);r++;x++;y++))!!((t[0]|t[1]|t[2]|t[3])&msk[w]))
Z A addZZ(A x,A y,U f)_(U w=MAX(xw-3,yw-3);P(xw-3-w,x=ct(tG+w,xR);x(addZZ(x,y,f)))y=ct(tG+w,y);U n=yn;A z=an(n,yt);
G(&aGG,aHH,aII,aLL)[w](xV,yV,zV,n+(31>>w)>>5-w);
@@ -34,9 +34,9 @@ Z A modzZ(L m,A y,U f)_(P(!m,y)
P(m&m-1,A z=an(yn,tZ(m));U wy=yw-3;S4(zw-3,F(zn,zg=(iw(y,wy,i)%m+m)%m),F(zn,zh=(iw(y,wy,i)%m+m)%m),F(zn,zi=(iw(y,wy,i)%m+m)%m),F(zn,zl=(iw(y,wy,i)%m+m)%m))y(z))
m--;U t=tZ(m),w=t-tG;y=mut(N(ct(t,y)));F(3-w,m|=m<<(8<<w+i))L*p=yV;F((yn<<w)+31>>5,Fj(4,*p++&=m))y)
Z A modzf(L n,A y,U f)_(P(!n,y)P(n<0,en(y))K2("{y-x*(-x)!_y}",az(n),y))
-Z A mmmzZ(L v,A y,U f)_(C t=tZ(v),u=tG+yw-3;I(u<t||u-yt,y=ct(t,y))E(t=u)U n=yn;A z=yr-1?an(n,t):y;C w=t-tG;n+=31>>w;L m=-(f==7);v^=m;
+Z A mmmzZ(L v,A y,U f)_(C t=tZ(v),u=tG+yw-3;I(u<t||u-yt,y=ct(t,y))E(t=u)U n=yn;A z=yr1?y:an(n,t);C w=t-tG;n+=31>>w;L m=-(f==7);v^=m;
S4(w,F(n&~31,zg=m^MIN(v,m^yg)),F(n&~15,zh=m^MIN(v,m^yh)),F(n&~7,zi=m^MIN(v,m^yi)),F(n&~3,zl=m^MIN(v,m^yl)))y-z?y(z):z)
-Z A mmmZZ(A x,A y,U f)_(C w=xw-3;P(w<yw-3,x=ct(tG+yw-3,xR);x(mmmZZ(x,y,f)))y=ct(tG+w,y);U n=yn;A z=yr-1?an(n,tG+w):y;n+=31>>w;L m=-(f==7);
+Z A mmmZZ(A x,A y,U f)_(C w=xw-3;P(w<yw-3,x=ct(tG+yw-3,xR);x(mmmZZ(x,y,f)))y=ct(tG+w,y);U n=yn;A z=yr1?y:an(n,tG+w);n+=31>>w;L m=-(f==7);
S4(w,F(n&~31,zg=m^MIN(m^xg,m^yg)),F(n&~15,zh=m^MIN(m^xh,m^yh)),F(n&~7,zi=m^MIN(m^xi,m^yi)),F(n&~3,zl=m^MIN(m^xl,m^yl)))y-z?y(z):z)
TD G G4[4],G8[8],G16[16],G32[32];TD H H16[16];TD I I8[8];TD L L4[4];
@@ -66,10 +66,10 @@ Z A cmpzZ(L v,A y,U f)_(U w=yw-3;P(tG+w<tZ(v),y(rsz(yn,ai(f==8?v<0:f==9?v>0:0)))
U n=yn;A z=aG(n);My(A(&ltng,ltnh,ltni,ltnl,gtng,gtnh,gtni,gtnl,eqlg,eqlh,eqli,eqll)[f-8<<2|w](v,yV,zG,n))z)
Z A addzE(L v,A x)_(Lij x(0);aE(i+v,j+v))
-Z A addfF(F v,A y,U f)_(A z=yr-1?aF(yn):y;U n=zn+3&-4;F(n,zf=v+yf)y-z?y(z):z)
-Z A mulfF(F v,A y,U f)_(A z=yr-1?aF(yn):y;U n=zn+3&-4;F(n,zf=v*yf)y-z?y(z):z)
+Z A addfF(F v,A y,U f)_(A z=yr1?y:aF(yn);U n=zn+3&-4;F(n,zf=v+yf)y-z?y(z):z)
+Z A mulfF(F v,A y,U f)_(A z=yr1?y:aF(yn);U n=zn+3&-4;F(n,zf=v*yf)y-z?y(z):z)
Z A admfF(F v,A y,U f)_((f==3?mulfF:addfF)(v,y,f))
-Z A dvdfF(F v,A y,U f)_(A z=yr-1?aF(yn):y;U n=zn+3&-4;F(n,zf=v/yf)y-z?y(z):z)
+Z A dvdfF(F v,A y,U f)_(A z=yr1?y:aF(yn);U n=zn+3&-4;F(n,zf=v/yf)y-z?y(z):z)
Z A dvdFf(A x,F v,U f)_(A z=aF(xn);F(xn,zf=xf/v)z)
Z A dvdzZ(L v,A y,U f)_(dvdfF(v,cF(y),f))
Z A dvdZZ(A x,A y,U f)_(x=cF(xR);x(amdFF(x,cF(y),f)))
diff --git a/a.c b/a.c
index 85d465dd..558e6671 100644
--- a/a.c
+++ b/a.c
@@ -66,7 +66,7 @@ X1(val,RA(P(!xn,x)P(xn==1,fir(x))P(xn>9,ez(x))x=mut(x);A y=_8(xx,&xy,xn-1);AN(1,
Ropq(AT(tA,mut(x)))Rr(cat10(AT(tA,mut(x)),aw+xE))Ruvw(ai(xv))R_(x))
A2(dot,/*01*/Ym(et(y))U n=yN;P(!n,y(xR))P(n>8,ez(y))y=mRa(N(blw(y)));y(x8(yA,n)))
Z U knd(A x/*0*/)_(X(Ril(ti)REBGHIL(tI)R_(xt))0)
-Z A set(A x,L i,A y/*1i1*/)_(Q(xr==1);
+Z A set(A x,L i,A y/*1i1*/)_(Q(xr1);
X(RA(A z=xa;xa=z(y);ytt&&!ytU?sqz(x):x)
RM(A z=kv(&x);z=mut(z);Q(ztA);I(ytT&&yN-zn,x(y(el(z))))I j=i;F(zn,za=set(mut(za),j,ii(y,i));P(!za,za=au;x(y(z(0)))))y(aM(x,z)))
RB(set(cG(x),i,y))
diff --git a/a.h b/a.h
index 8a2e06bb..5d3127ad 100644
--- a/a.h
+++ b/a.h
@@ -61,6 +61,9 @@
#define PC __builtin_popcountll
#define SL __builtin_strlen
#define SQ __builtin_sqrt
+#define xr1 (xr==1)
+#define yr1 (yr==1)
+#define zr1 (zr==1)
TD void V;TD bool B;TD char G,C;TD char unsigned UC;TD CO C*S;TD short H;TD unsigned short UH;TD int I;TD unsigned int U;TD long long L;TD double F;TD size_t N;
TD unsigned long long W,A,A0(),A1(A),A2(A,A),A3(A,A,A),A4(A,A,A,A),AA(CO A*,U),AX(A,CO A*,U);
diff --git a/h.c b/h.c
index 3a76d89c..7331a8e7 100644
--- a/h.c
+++ b/h.c
@@ -20,7 +20,7 @@ Z A2(rsh,/*01*/XE(x=gZ(xR);x(rsh(x,y)))YE(rsh(x,gZ(y)))YmM(en(y))Yt(rsh(x,enl(y)
L p[r],m=1;F(r,L d=s[r-1-i];P(d<0||m*d<0,ed(y))p[i]=m*=MAX(1,d))y=N(rsz(m,y));F(r-1,L d=s[r-1-i];I(d,y=N(chp(MAX(1,d),y)))E(y=N(e1f(rs0,chp(1,y)))))rsz(*s,y))
X2(hsh,/*01*/Ril(rsz(gl_(x),y))RU(flt(x,y,1))RT(P(ytm||ytM&&xtS,y(a2t(xR,y1(xR),yt)))XZ(rsh(x,y))et(y))R_(et(y)))
A drp(L n,A x/*1*/)_(X(Rm(A y=kv(&x);am(Ny(drp(n,x)),Nx(drp(n,y))))RM(A y=kv(&x);aM(x,Nx(e2f(und,az(n),y))))Rt(er(x))RE(Lij x(0);aE(MAX(i,MIN(j,i+n)),MAX(i,MIN(j,j+n))))
- R_(P(n==NL,rs0(x))L m=xn;n=MAX(-m,MIN(m,n));P(-n<(W)m&&xr==1,I(xtA,mrn(-n,xA+m+n))AN(m+n,x))x(slc(x,MAX(0,n),m+MIN(0,n)))))0)
+ R_(P(n==NL,rs0(x))L m=xn;n=MAX(-m,MIN(m,n));P(-n<(W)m&&xr1,I(xtA,mrn(-n,xA+m+n))AN(m+n,x))x(slc(x,MAX(0,n),m+MIN(0,n)))))0)
Z A rmv(A x/*1*/,L i)_(X(RT_E(P(i>=(W)xn,x)A y=an(xn-1,xt);U w=xw-3;MC(yV,xV,i<<w);MC(yV+(i<<w),xV+(i+1<<w),xn-i-1<<w);I(xtA,I(!yn,yx=mkn(_R(xx)))y=sqz(mRa(y)))x(y))
RM(A y=kv(&x);y=Nx(y(l2f(und,y,az(i))));aM(x,y))RE(rmv(gZ(x),i))R_(et(x)))0)
Z A2(cut,/*01*/Q(xtZ)Q(ytMT)K2("{y$[|/0<':x,#y;`err\"domain\";x+!'1_-':x,#y]}",x,y))
@@ -66,7 +66,7 @@ A cts(A x/*1*/,S s,U m)_(Q(xtC); U n=xn;x=aa(n+m,x);MC(xV+n,s,m);x)
Z A insL(A x,L i,L j,A y/*1ij0*/)_(
P(i>=(W)(j+1)||j>=(W)(xN+1),ei(x))
A z=an(xn-j+i+yn,xt);U w=xw-3;MC(zV,xV,(W)i<<w);MC(zV+(i<<w),yV,(W)yn<<w);MC(zV+(i+yn<<w),xV+((W)j<<w),(W)(xn-j)<<w);
- I(xtR,I(!zn,zx=emp(tC))I(xr-1,mRn(i,xA);mRn(xn-j,xA+j))E(mrn(j-i,xA+i);AZ(x))I(yr-1,mRa(y))E(AZ(y))z=sqz(z))
+ I(xtR,I(!zn,zx=emp(tC))I(xr1,mrn(j-i,xA+i);AZ(x))E(mRn(i,xA);mRn(xn-j,xA+j))I(yr1,AZ(y))E(mRa(y))z=sqz(z))
x(z))
A3(ins3,/*100*/
Xmt(et(x))
diff --git a/k.c b/k.c
index 8171ab6a..e4082c43 100644
--- a/k.c
+++ b/k.c
@@ -3,7 +3,7 @@
C TK(K x)_(Tk[xt])
N NK(K x)_(xn)
V*dK(K x)_(xV)
-Z V VK(C t,V*a,K x){I(xtZ,x=ct(t,x))MC(a,xV,(W)xn<<Tw[t]>>3);I(xtR,I(xr==1,AN(0,x))E(mRn(xn,xV)))x(0);}
+Z V VK(C t,V*a,K x){I(xtZ,x=ct(t,x))MC(a,xV,(W)xn<<Tw[t]>>3);I(xtR,I(xr1,AN(0,x))E(mRn(xn,xV)))x(0);}
// constructors accessors
// atom list atom list
diff --git a/m.c b/m.c
index 1c5ece5f..ad13b83e 100644
--- a/m.c
+++ b/m.c
@@ -15,12 +15,12 @@ Z A bkt[24];DBG(Z U lck;)
Z W cap(A x/*0*/)_((HD<<xb)-HD)
A1(m0,DBG(lck++;)Q(x)XP(0)Q(xr>0)P(--xr,0)U i=xb;P(!i,mu(xV-pg))xX=bkt[i];bkt[i]=x;XR(mrn(xn|!xn,xA);x)x)
DBG(A1(m1,lck--;P(!x||!xb,0)MS(xV,0xab,cap(x));AN(-1,AT(0,x));0))
-A1(_R,Q(x);XP(x)Q(xr>=0);xr++;x)A1(mr,DBG(m1)(m0(x)))V mRn(U n,CO A*a){F(n,_R(a[i]))}V mrn(U n,CO A*a){F(n,mr(a[i]))}A1(mRa,mRn(xn,xA);x)
+A1(_R,Q(x);XP(x)Q(xr<1000000u);xr++;x)A1(mr,DBG(m1)(m0(x)))V mRn(U n,CO A*a){F(n,_R(a[i]))}V mrn(U n,CO A*a){F(n,mr(a[i]))}A1(mRa,mRn(xn,xA);x)
ZN A mb(U i)_(P(i>=L(bkt),V*p=mm(HD<<i,0);P(!p,die("OOM"))A x=(A)p+HD;xb=i;x)A x=bkt[i];P(x,bkt[i]=xX;xX=0;x)x=mb(i+1);xb=i;A y=x+(HD<<i);yb=i;AT(0,y);yr=0;yX=bkt[i];bkt[i]=y;x)
A an(U n,C t)_(Q(!lck)Q(tA<=t)Q(t<tn)Q(!TP(t))W m=HD+(((W)n<<Tw[t])+7>>3);U i=59-CLZ(HD|m-1);A x=mb(i);xr=1;AT(t,AN(n,x)))
A aV(C t,U n,CO V*v)_(A x=an(n,t);MC(xV,v,((W)n<<Tw[t])+7>>3);x)
-A aa(U n,A x/*1*/)_(P(xr==1&&((W)n<<xw)+7>>3<=cap(x),AN(n,x))A y=an(n,xt);MC(yV,xV,((W)xn<<Tw[xt])+7>>3);I(ytR,I(xr==1,AZ(x))E(F(xn,_R(ya))))x(y))//realloc
+A aa(U n,A x/*1*/)_(P(xr1&&((W)n<<xw)+7>>3<=cap(x),AN(n,x))A y=an(n,xt);MC(yV,xV,((W)xn<<Tw[xt])+7>>3);I(ytR,I(xr1,AZ(x))E(F(xn,_R(ya))))x(y))//realloc
A aA0(U n)_(A x=AN(0,aA(n));xx=emp(tC);x)
A1(aA1,A y=an(1,tA);yx=x;y)
A2(aA2,/*11*/a2t(x,y,tA))
@@ -43,9 +43,9 @@ A az(L n)_(n-(I)n?al(n):ai(n))
A al(L v)_(aV(tl,1,&v))
A af(F v)_(aV(tf,1,&v))
A aE(L i,L j)_(Q(i<=j)P(i==j,emp(tG))A x=an(tE,2);*xL=i;xL[1]=j;x)
-A1(mut,XP(x)P(xr==1,x)x=x(aV(xt,xn,xV));XR(mRa(x))x)
+A1(mut,XP(x)P(xr1,x)x=x(aV(xt,xn,xV));XR(mRa(x))x)
C tZ(L v)_(G(tL,tL,tL,tL,tI,tI,tH,tG)[CLZ(v^v>>63|1)-1>>3])
-A kv(A*p)_(A x=*p;Q(xn==2);P(xr>1,--xr;*p=_R(xx);_R(xy))*p=xx;AZ(x);x(xy))
+A kv(A*p)_(A x=*p;Q(xn==2);P(!xr1,--xr;*p=_R(xx);_R(xy))*p=xx;AZ(x);x(xy))
L gl_(A x)_(XP(xv)*xL)
L gl(A x)_(L v=gl_(x);x(0);v)
F gf(A x)_(F v=*xF;x(0);v)
diff --git a/o.c b/o.c
index 5ce75028..d34599f7 100644
--- a/o.c
+++ b/o.c
@@ -15,7 +15,7 @@ A2(mtc,/*01*/y(ai(mtc_(x,y))))
Z CO W o=(-1ull>>12)-1;Z L t(L v)_(v^(W)(v>>63)>>1);Z A of_(A,I);
Z L o0(L v)_(t(v-o))Z V of0LL(CO L*a,L*r,N n){F(n+3&~3,r[i]=o0(a[i]))}A1(of0,Q(xtlL);of_(x,0))
Z L o1(L v)_(t(v)+o)Z V of1LL(CO L*a,L*r,N n){F(n+3&~3,r[i]=o1(a[i]))}A1(of1,Q(xtfF);of_(x,1))
-Z A of_(A x,I f)_(N n=xn;C t=xt+(tf-tl)*(1-2*f);A y=xr-1?an(n,t):AT(t,xR);Mx((f?of1LL:of0LL)(xV,yV,n))y)
+Z A of_(A x,I f)_(N n=xn;C t=xt+(tf-tl)*(1-2*f);A y=xr1?AT(t,xR):an(n,t);Mx((f?of1LL:of0LL)(xV,yV,n))y)
Z I ql(L i,L j)_(i<j?-1:i>j)
I qf(F u,F v)_(ql(o1(*(L*)&u),o1(*(L*)&v)))
I qA(A x,A y/*00*/)_(I v=TS[xt]-TS[yt];P(v,v)
@@ -41,7 +41,7 @@ X1(grp,Ril(K1("=/:/2#,!:",x))Rm(A y=kv(&x);y=Nx(grp(y));yy=x(i1(x,yy));y)R_(et(x
RH( A r[65536]={};UH b[65536];U nb=0;U c[65536]={};F(xn,UH v=xh;I(!c[v]++,b[nb++]=v))A z=aA(nb);F(nb,za=r[b[i]]=aI(c[b[i]]))I(!nb,*zA=emp(tG))MS(c,0,SZ c);F(xn,UH v=xh;_I(r[v])[c[v]++]=i)x(am(aV(xt,nb,b),z)))
RI(K1("{$[x;x[*'g]!g@:<g:(&~(~*s)=':s:x i)_i:<x;x!0#,!0]}",x))
R6(tA,tE,tL,tF,tS,tM,K1("{$[#x;x[*'g]!g@:<g:(&~x~':x i)_i:<x;x!0#,!0]}",x)))
-Z A1(cSI,Q(xtS||xtI)C t=tS^tI^xt;xr-1?x(aV(t,xn,xV)):AT(t,x))
+Z A1(cSI,Q(xtS||xtI)C t=tS^tI^xt;xr1?AT(t,x):x(aV(t,xn,xV)))
X1(unq,RM(en(x))Rm(unq(val(x)))RE(x)RS(cSI(unq(cSI(x))))Ril(rndF(gl(x)))R_(et(x))RB(unq(cG(x)))
RGC(C a[256]={},r[256],t=xt;U n=0;Mx(F(xn,UC v=xg;I(!a[v],a[v]=1;r[n++]=v)))aV(t,n,r))
R5(tA,tH,tI,tL,tF,P(xn<2,x)P(xn<<xw-3<pg&&!xtA,K1("{x@&(x?x)=!#x}",x))K1("{x@i@<i@:&@[;0;:;1]@~~':x@i:<x}",x)))
diff --git a/s.c b/s.c
index 91ed6385..5dbb2adb 100644
--- a/s.c
+++ b/s.c
@@ -62,7 +62,7 @@ X1(kst,R_(x(aCz("???")))
Ro(x(_R(xx)))
Rp(x=val(x);A y=xx,z=xy;
P(xn==3&&((ytv&&y-av)||ytr)&&xy-GAP&&xz==GAP,z=kl(zR);y=kst(fir(x));CA9(zC[zn-1])&&(CA9(*yC)||*yC==':'||*yC=='-')?cts(cat11(apc(y,'['),z),";]",2):cat11(z,y))
- x=ek(x);N m=_n(xx);x=apc(jc(';',x),']');Q(xr==1);xC[m]='[';x)
+ x=ek(x);N m=_n(xx);x=apc(jc(';',x),']');Q(xr1);xC[m]='[';x)
Rq(raz(ek(val(x))))
Rr(x=val(x);A y=_R(xy);cat11(kw(fir(x)),str(y)))
Ru(apc(kst(au^av^x),':'))
diff --git a/w.c b/w.c
index bca5803d..3321a2b0 100644
--- a/w.c
+++ b/w.c
@@ -24,13 +24,13 @@ A r2f(A2 f,A x,A y/*f01*/){Y(Rt(f(x,y))Rm(A z=Ny(r2f(f,x,_R(yy)));y(am(_R(yx),z)
Z A3(l2,/*001*/Xv(l2f(v2[xv],y,z))Yt(x2(y,z))Ym(x=prj(x,A8((A)GAP,z),2);x(e1(x,yR))) U n=yN;P(!n,y=fir(yR); y(o2(x,y,z)))A u=aA0(n);F(n,A w=ii(y,i),v=x2(w,zR);mr(w);B(!v,u=u(0))PSH(u,v))z(u))
A3(r2,/*001*/Xv(r2f(v2[xv],y,z))Zt(x2(y,z))Zm(x=prj(x,A8(yR,GAP),2);x(e1(x,z))) U n=zN;P(!n, o2(x,y,fir(z)))A u=aA0(n);F(n,A v=x2(y,ii(z,i)); B(!v,u=u(0))PSH(u,v))z(u))
Z AX(l8,/*01..1*/Ab8;MC(b,a,64);*b=GAP;x=prj(x,b,n);x(e1(x,*a)))
- A3(e2,/*001*/Xv(e2f(v2[xv],y,z))Yt(r2(x,y,z))Zt(l2(x,y,z))P(ytm||ztm,em(x,A8(yR,z),2))U m=yN;P(m-zN,el(z))P(!m,z(xtv&&xv<11?yR:emp(tA)))A u=0;C t=ztA&&zr==1;
+ A3(e2,/*001*/Xv(e2f(v2[xv],y,z))Yt(r2(x,y,z))Zt(l2(x,y,z))P(ytm||ztm,em(x,A8(yR,z),2))U m=yN;P(m-zN,el(z))P(!m,z(xtv&&xv<11?yR:emp(tA)))A u=0;C t=ztA&&zr1;
F(m,A w=ii(y,i),v=x2(w,t?za:ii(z,i));mr(w);B(!v,I(u,u=u(0))I(t,mrn(m-i-1,zA+i+1)))I(!u,u=!v?0:LH(ti,_t(v),ts)?AN(0,an(m,TT[_t(v)])):aA0(m))PSH(u,v))mr(t?AZ(z):z);u)
A e2f(A2 f,A x,A y/*f01*/)_(U k=xtt<<1|ytt;P(k==3,f(x,y))
P(xtm||ytm,P(xtm>ytm,A z=N(e2f(f,xy,y));am(_R(xx),z))P(xtm<ytm,A z=Ny(e2f(f,x,_R(yy)));y(am(_R(yx),z)))
A z=unq(cat(xx,_R(yx)));x=x1(zR);y=y(y1(zR));I(f==add||f==sub||f==mul||f==dvd,A u=ai(f==mul||f==dvd);x=fil(u,x);y=fil(u,y))am(z,Nz(x(e2f(f,x,y)))))
P(!k&&xN-yN,el(y))U n=k<2?xN:yN;P(!n,x=fir(xR);x(o2f(f,x,fir(y))))A z=emp(tA);F(n,A v=ii(x,i);A u=f(v,ii(y,i));mr(v);B(!u,z=z(0))PSH(z,u))y(z))
-AX(e8,/*01..1*/P(n==1,e1(x,*a))P(n==2,A y=*a;y(e2(x,y,a[1])))Ab8;C t[8];L m=-1;F(n,A y=b[i]=a[i];Ym(em(x,a,n))t[i]=ytP?0:ytt?1:ytA?2+(yr>1):4;I(t[i]>1,L l=yN;P(m>=0&&m-l,el8(a,n))m=l))
+AX(e8,/*01..1*/P(n==1,e1(x,*a))P(n==2,A y=*a;y(e2(x,y,a[1])))Ab8;C t[8];L m=-1;F(n,A y=b[i]=a[i];Ym(em(x,a,n))t[i]=ytP?0:ytt?1:ytA?2+!yr1:4;I(t[i]>1,L l=yN;P(m>=0&&m-l,el8(a,n))m=l))
P(m<0,x8(a,n))F(n,I(t[i]==1,_r(a[i])+=m))A u=0;I(!m,u=x==LEN?emp(tG):n==2&&xtv&&xv<11?_R(a[!_N(a[1])]):emp(tA))//t[i] 0:pkdatm,1:refatm,2:tA(r=1),3:tA,4:other
Fj(m,F(n,A y=a[i];I(t[i]==2,b[i]=yA[j])I(t[i]>2,b[i]=ii(y,j)))A z=x8(b,n);B(!z,I(u,u=u(0))F(n,A y=a[i];I(t[i]==1,yr-=m-j-1)I(t[i]==2,mrn(m-j-1,yA+j+1))))I(!j,u=LH(ti,zt,ts)?AN(0,an(m,TT[zt])):emp(tA))PSH(u,z))
F(n,mr(t[i]-2?a[i]:AZ(a[i])))u)