FASLPU+U*UFLUIDQUOTE*S*xGLOBALDEFINDICES*INDICES*MUL*NCMP*U+UnWNDIM*TYPL**SUB2xSETQxxxU*]*QDEFLISTCONSSIMPDOTSIMPFNxVECTOREXPRVECTOR1"
X@%Q	.	59* B` HVECTORP
zUNIONDQ B `+ Bg[ &	 $	PUTD%Zg5B/
,x 	 $	NSPj]*u$(	
FNVECFN	
xLETFNNSLET

xNAMEu+U.U
	xEVFNVEVAL
xGSIMPGAMMAxFLAGOPLISTU:] NONCOMNOSPURxFLAGxINDEX,8
RMSUBSdA `  B "/,x]T2 8	REMIND  SETDIFF B ",x]%H	MASS."59* B` 
z B@ `+  Bg[ BgZZ[ $
Z[ &	 $	Zg[Zg@:5B/",xX	GETMAS,8 $QFH
GET*5B'has no mass $ `LIST2REDERR@ /(,x`	#VECDIM,8 
zH B[` B "/-,x	(P@%MSHELL.@59*@@g B` 
z BP# `5B5 $ g/@LET0$[0R Bg[`  "LIST3 Bg~ &`
! gEXPT "  g~EQUAL "@ g BgZ` B`+2  	.WJRLISTAT	x.S59*@@g $
NSSIMP B`F
5BF g/SREPLUS"[Z5BHMissing vector @ 
! "+KZ4BL[`ZRedundant vector "F[`[PREPSQ[`ZRETIMESF  gACONC BgZ` B`+D.BRx	AVMULT.`59* B` $ !hf
 " NCONS!! Bg `4B^ $
BF[ gVMULT1! Bg4B_Z` B`+Y g/`,x	T.{59*@@g B` Dg 4Bz `4By[Z@3Z4Bj[`Z "@@g~ gQ+t Bg~[ Bg}[`[[MULTSQ"0Q Bg}[`ZZg}APPEND" g}XCONS#@
 g~ Bg~Zg~5Bk g~REVERSIP#  gNCONC$ BgZ` B`+e g/{tJ,x88	aDOTORD $$MKVARG$%	|(b*%,8 XNP%4B ISIMPQ "&MEMQPF R&5B $&  B `A "'i: &4BA represents only gamma5 in vector expressions "'/"DOT $(Z`Q@4CARX( [`ORD2) $# $ 
1/MKSQ$)H	}.59* Dg  B` $  " Bg `4B[@0Z!  gAPPLY*[`[" gADDSQ* BgZ` B`+ g/t,xP	
SPUR.&59* B`@4Q `+% Bg Bg[! $REMFLAG+i[g!REDUCE $,+Zg5B/',x/T#!0	+xSIMPGAMMAG0101[# $#!PfCX $  $ ! $ $H	',8QH !*LAMBIND*-4B0Z5B1Missing arguments for G operator "-	bB+8  "&&5B5 $&  BR	:T ". B $,Z%*SPECRSTR*./9.TCX,x	-SIMPEPSEPSORD $/$%p	:,8QEREPEATS04B> $  "/@$ `/@Q@!MKEPSQ"0x	;MKEPSK.N59* B`DH1! %4BH  "&&5BH $& FQ B `ORDN1 Bg `PERMP2) B` gEPS "2 `/N$#D	A.W59*1 Bg $ Z)# B`[g5BU `/WNEGSQ"3 `/X*U,x	OMKGSMACROLAMBDAUU:]*uLTO34455655  xMKA644565'  xMKGFMKSF74455755xMKG11,8,8 $ gFLAGP85Ba ` g
C	 $# $ 6 $ /d"!
 ` g $#/e"7]*]#]	XMKPFVMULTF94459:5 9xMKF$:(	eMULTD*(b,8,8ONEP;4Bi g+j g `QD:WMULTD</k,x0	fADDFSADDF<4459=59xW+BMULTFS=4459:59xNDIMS*>x.59*-> B`@A! SIMP> B>Z1B +x ". Bi#!Z>RECIP "? $ MKSP? $ $$"![>:+x[> B> * ( &(`0 [`ISIMP1
@Z` B` 4BHB!  B@@+y 5B `+(1 `RESIMP@+ "./,xD`	l.'59*4B& B` Dg Fg Hg~  Jg~DOMAINPA4B g~4BZ
 g~ g(` g[SPUR0
A  `/'$< g)4B gUnmatched index "B/(" g~4BQ@EMULTB Bg} 
g~ ( g g `
@`  g}/($: `+& 
g~ g~ g(` g[`ISIMP2
C Bg} 
g~ g~ g g@Z`
@  g}=/),x00b000	(.M59* B` Dg Fg# Hg~ Jg~[[ Bg}ATOMC5B<[g} @b0B+6Zg}%4B6 
g~ g~ g gh`A  `/NDOTSUM*D[g}1B+C0B2+< 
g~ g~ g g `/NESUM*D $ L[`! Bg} 
g~ g~ g gZ`&
@  g}/O$:[`ZZg}ZQ@#APPNEZg}[ g~GADDE Bg}[Q@`NBFZ`;Zg} g~ g g/O
*@888880	()4BQ " 
.+R "F,x`	PMKDOTG44597)59x./59*@@g}@@g{@@gz B`[Z Bg} Dg FgQ Hg~ Jg~[`[Z Bg|[MEMBERG(`5B^ g|REVERSEH Bg|Zg|[ Bg|[g| Bg|Z` Bg{ g}1B+(1B +e `b g g|G5Bp g| g|) $@ #7 Bgz4B. 
g~ g~ g g} g{&Q
@  gz/0$: g g|DELETEH  Bg} g|2Bg|+x 
g~ g~ g g} g{&

@  >/0$: gATSOCI Bgzb4B~ g g|G5BZgz Bg|+  g~ g|MEMLISI Bgz4B  g| g|SUBSTJ Bgz g~ gzH gz# 
 g~0 g g}+ g~ g|I Bgz4B 
C g| g|J $2# $  g{` Bgz g~ gzH 
g~  g g} gz	@/1*D g g|G4B g{4B# g|@` g| g 
g~ g~  g g{	@/1*@ g| Bg|Zgz Bg| g} Bg g@( gzH Bg+e ". Bg{ g| Bgz g|  Bg| gz Bg|+p g|2Bg|+* ` g g|H Bg} Bg g| Bg|+e/2X,xhhhhhh@	(R.=`59* B` $ ) BgZ0B +8[g
	4+< ". B $  `6 $ !/=,xx	2.]59*@@g~ B`R "J Bg} Dg Fg I Bg~4BH@ gH BgZg~Z Bg~Zg~[ Bg~P4Q `5BQ $ g}REMAINDERK $JEQK`0 Bg} g~ g~ g# g g}	A/^$#[1B'+V g~ Bg~Z`I$ B`+H >1B+XGamma5 not allowed unless vecdim is 4 "L g~Q@0QNULLL Bg~ g~LENGTHM g}PLUS2MQ@ *S2IN Bg}+T88X	>.u59*@@g}@@g|@@g| B`[ Bg} "  Bg{Z`[ Bg{ Dg Fg Hg~ Jg~Z`ZH0 B` g{4Bl ` "' B` `4BT  A $ g}85By[`0B'+t `MR(b
 $NLESSPO5Bw `HEVENPO5Bw[`1B'+x `O5Bx "+t g14BR `4BT g[G4BOZ`[`@G4B
[`Z`[P2B+ gH BgZ`Z B` > g{: Bg{+y  ". Bg| g|[` Bg|+O g|[`@0G5BO g[`BASSOCP Bg{4B gH Bg g[g}H Bg g{[`OTHER PZ`+Q g~[`I Bg{4B5   $ g}84B& g5B& g~5B&Zg~!5B& g}H `" g}# $#F7 Bgz g{MKEPSFQ  g{: L! gz/u$: `H g}" $#@0 g}# Bgz g~ g{H 
g~  g 4 $ gz
A Bgz g{! *  & g gz
@  g{/v$; g~[`HI Bg{4BM >0B+D g[`H` Bgz g~ g{H g{ VI g} VI g{ VH g} VH 
 g~ g gz `/vQH SPUR0I2Q [`H B g[`Hb  Bg [`&5BO [` Bf+O[` "B g}[` Bg}	Z` B`+y `H Bg} g|4Bc > @`
0B+_ g}H g} g|KAHANER @0 g{: Bg{ g| g 
g~ g~ g  g{+n *  ( g} g g}SPURDIMQ

R+e (  & g} g}SPURRS Bg{i	#
 g{4BtKLIST $S "2GETT4Bo $D0 g}85Bo g{ g{: 
g~ g~ gL g/w*@ 
g~ g~ g g g{
@   g{:/w,x````, ``	(^.K59*@@g{ B` Dg Fg Hg~ Jg~ H Vg} H Vg} I Vg| Ib@ Vg| $ H84B $[g|84BR(b@This NOSPUR option not implemented "TERRACHU+ $[g|84B[g| Bg{Zg| Bg|[ Bg{Zg|H Bg|A g{4B g| "' Bg|@@g{[`[g|@3B+ g{[g| Bg{Zg| Bg|+Zg| Bg|Z` B` $ g}84B# g|@`0 g{ `# g|# Bg|[ Bg{Zg|[ Bg|Zg|Z[ B`Zg|Z` Z Bg| g|H Bg| `4B( $' g|QD0EQCARU5B* g| `" B`5B0 `BFO5B- g}MINUSV Bg}Zg| `"!@ $'# B` g{4B2 Bg} g{H g}
C# $# $ 6 $ ! BgzF g g} `BRACEV Bgz g} g|80  g}:  gz:  gz:Q 
g~ g~ g g
@4BJ $QUOTFW
5BJ 
g~ g~ g g g}LIST5
W $AP X#U "/K,xhh
	Hx./ 59*@@g}@@g}@@g|@@g|@@g{ B` "J Bg{ Dg Fg Hg~ Jg~ `5B^ g~5BV g~
b+. $ g84B[ g~ g $D0#7+\ g~SPRGENX  g~//b$:Z[&5Bd g~[` Bg~Z` B`+S[` Bg}Z` Bg| Bg} " b Bg{ g g}&5B g}[g}2B+xPf ) $#7 Bg}5Bp g|+.$ g g}&4Bs > Bg} g| g}H 
g~ g~ g g
R  g}+,[g}Pf g}) $#7 Bg{ g[g}&F4B g{ g|REMOVEX [g} g}JF Bgz g~ "TIMES2Y 
 g~ g gD gz
R+ g{4B g{ g|X Bgz g~ "Y 
 g~ g g gz
R  g{: g|= Bg|Zg} Bg} g~F0V Bg~ g{ADD1YN Bg{+g g}0[g}3B+' g{ g|X  g}[g}J Bgz g~ "Y 
 g~ g g@` gz
R g|= Bg|Zg} Bg} g~V` Bg~ g{YN Bg{+ g| g}H 
g~ g~ g g
R  >: g|@=/0,x```
(	(L,8  @400B +3 `+7SUB1Z  `E   `"/8,xP	0[2B1+;Z+;[,x
	8.759*@@g~ @@g~@@g}@@g}@@g|@@g|@@g{ B` "J Bgz1 Bg{ Dg Fg $' `U5BJ g~L1 Bg~ `4BW g[G5BM[` g} Bg}Z` B`+E g~[` Bg|@`0 g} g|# g{ Bg{ g| Bg|`@@g} g{YN Bg{+L g} g|!@`@ $# g{ Bg{ "  Bgz g{4B.[[ B`[g{Z[ Bg|[g{Z3Z Bg}Zg{ Bg{ gzYN Bgz `Q4Bm[[g|2B+jZ` g|EXCZ5B g}H Bg} ". Bg~ g~ g|ZL Bg~[g| Bg|@@g| g{5B} g|4B{b[Z[C5Bw[g|Z[+{ "[g|[C5B{[g|[+{ " $BD#+[Z[ Bg[2Bg|b+ g~ gZ4B[g{[ Bg[@2Bg|+ g~ gZ5B g|[g{  Bg|Zg{ Bg{+q[g{Z[ Bg| g}F[g{ZZAPPR[ Bg} ". Bg~+[g{[ Bg| g}[g{ZZ" Bg}`@@g~Zg{ g|[ Bg{ g|4B$[ `@ U4Bm g}4B Z`4B [g}Zg} Bg} & g g}V g}: Bg}+\
C! g} g $# $ 6 $ `@Q! Bg} g{H Bg{ $ g{QUOTIENT[0N Bg{+\ g{ " B` gz g{QPhDIFFERENCE\ $K1BJ+5 `V B`` g} `/7$;``
 	<4B; @X[ Z+8 ,x0	8Z5B> +? L,x(	<.o59*
5BB "+n B` Dg  %5BG   $ g84BL g `8 Bg ` AH g8+[[`0B'+g `Oh44B] ` g $# $ 6 $ @C! BgZ`H $'# g#!Ph3Q $# $ 6 $ !NEGF\h  g/o$= &' g " $ `D6 $ ! Bg ( & gZ`Q@0SPR2]  g/p$: `O4Bk"4  ( & g `/p(] ( & g  `SPR1]/q,xD
h	@.59*4B B`Z5By Dg` Fg Hg~ `8  g/$;@@g~@@g}@@g} ` Bg} "  Bg~ Dg Fg Hg~@`0 g}4B[! g8 Bg| g~ g~5B `X g & gS+	 `X ( g g]  g|: g}0= Bg}Zg} Bg} gV Bg g~Y@  Bg~+~ g}/,x@@@X	 q.559* B` Dg Fg Hg~ZZ5B@4 5BZ`[[`) $#7`@  g/5$;  & `S Bg~ h4 &' g " $ 6 $ !0  Bg} "'!  `" g & g`S  g}:  g~= Bg~ g~0	4B3  g g `] g~/6$=@X g~/6,x0000P	 ,8@fL5B:Z`OL/;,x	x	7  4BC [[P3B+B[XZP3B+BZ+;[,x
	;.K 59* B` 4BJ Dg[ `G5BJZg `+D[g/L,x		C.	59*@@g~@@g}@@g}@@g|@@g| B` "J Bg{ Dg Fg Hg~ `4BYZ[G`5Bd g[` BgZ` B`+S g15B[ g~+	 $ g84Ba g gb $#7+b gX  g~	@ /	$;[` Bg}Z` Bg} Bg~ "  Bg{ 4 g}[g~2B+s ) $#7@ Bg~4B	 g} g}H g~ g gS0  g~: g|/	$=[g~ g})!L $#7 Bg|4B	 g{ g}X Bg{ g~ "Y  g g g{S @` g|: g|= Bg|Zg~ Bg~ g~V` Bg~ g{YN Bg{+g g|/	,xXXXX
0	 L.	)59*@@g@@g@
@@g~ B`[1B'+	 $. `/	*SPRGEN10$^Z` B` $COMB^ Bg4B	(ZC!4B	& g5B	 $ I "_6 $ `0 ! g~/	*$:[Q Bg &  `
[gASIGN_ $F4B	 g\ Bg
[g ` $.^  g: g~= Bg~Zg Bg+	[gQ Bg~+	%/	+,x    			.	459*
4B	3 B` Dg Fg &F[ASIGN1` gY  gZ`+	, /	5,xDx		+.	=59*[3B+	< B` Dg@ V Zg `+	6 /	>,x, 		5.	]59*4B	\ B`ZZ45B	J DgZ`[[`) $#7 Bg g4B	H g+	\ g/	^"\@@g@@g~@@g~@@g}[` Bg~Z` B` Bg~ Dgh34B	\[ g~) $#7 Bg4B	Y g~[`H g^  g: g}`= Bg} gL BgZ` B`+	O g}>/	^,x000`		>2/x.	f59*`1 BgZ7 B`[g5B	e `/	gX"\ `/	g,x
		_.
'59*@@g}@@g| B`[ Bg}Z` B` Dg Fg Hg~ Jg~Zg}1B +	v[g}ZQ# Bg|Zg}Z  g|EXPTF` `: B`[g}Z Bg}05B
& g}5B	{ g}@H+
 g[G4B
" g[g}P@` Bg|4B

 gH Bg g[g}H Bg@0 g}H Bg| g|[g}PZg} @ g|" Bg}@@g}+	w g~[g}I Bg|5B
 g}H g}" g~ 
g~  0 g g `+
! g}H g}" Bg}0 g|XNa  ga Bg}  g} g|EMULT1a `: Bg| g} g` Bg{ g~ g|H 
g~  g g{ g|	@/
(*@ g}[g} Bg}Zg} Bg}+	y @ "/
(,xPPPH	(	h.
759*0
 B`Z5B
-[`/
8"QZ5B
1 &&@Z`[[`/
8&a &Z`[[`	a BgZ`ZB  g/
9$:(	
).
n59* B` Dg Fg  Bg~ g g  g~` Bg~ Dg} gM Bg} g} g" @0 g2 Bg| g~ g"  `2 04B
K g|L+
K g|F  g} Dg| i: 0B+
P "b/
n$Y0Bb+
WR! "cY Bg{[g}[g~) $#&A 7  g{/
o$<0BJ+
Y "  @ g|Y Bg{@@g{ g~+
i Bgz Bgz@@gy@! g}+
f Bgy Bgx[[gz) $#7 $  gy BgyZgy5B
_ gy# g{ Bg{Zgz5B
\ g{#DETQ0c[  g{/
o$;|	
9FASLP