Index: 95/branches/golem95_with_secdec_integrals/tool/tens_rec/tens.py
===================================================================
--- 95/branches/golem95_with_secdec_integrals/tool/tens_rec/tens.py	(revision 161)
+++ 95/branches/golem95_with_secdec_integrals/tool/tens_rec/tens.py	(revision 162)
@@ -1,2605 +1,2627 @@
 # vim: ts=3:sw=3
 
 from gmpy import mpq
 
 F90_WIDTH = 80
 
 TENS_DEBUG = False
 
 PRIMES = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29,
    31, 37, 41, 43, 47, 53, 59, 61, 67, 71,
    73, 79, 83, 89, 97, 101, 103, 107, 109, 113,
    127, 131, 137, 139, 149, 151, 157, 163, 167, 173,
    179, 181, 191, 193, 197, 199, 211, 223, 227, 229,
    233, 239, 241, 251, 257, 263, 269, 271, 277, 281,
    283, 293, 307, 311, 313, 317, 331, 337, 347, 349,
    353, 359, 367, 373, 379, 383, 389, 397, 401, 409,
    419, 421, 431, 433, 439, 443, 449, 457, 461, 463,
    467, 479, 487, 491, 499, 503, 509, 521, 523, 541,
    547, 557, 563, 569, 571, 577, 587, 593, 599, 601,
    607, 613, 617, 619, 631, 641, 643, 647, 653, 659,
    661, 673, 677, 683, 691, 701, 709, 719, 727, 733,
    739, 743, 751, 757, 761, 769, 773, 787, 797, 809,
    811, 821, 823, 827, 829, 839, 853, 857, 859, 863,
    877, 881, 883, 887, 907, 911, 919, 929, 937, 941,
    947, 953, 967, 971, 977, 983, 991, 997, 1009, 1013,
    1019, 1021, 1031, 1033, 1039, 1049, 1051, 1061, 1063, 1069,
    1087, 1091, 1093, 1097, 1103, 1109, 1117, 1123, 1129, 1151,
    1153, 1163, 1171, 1181, 1187, 1193, 1201, 1213, 1217, 1223,
    1229, 1231, 1237, 1249, 1259, 1277, 1279, 1283, 1289, 1291,
    1297, 1301, 1303, 1307, 1319, 1321, 1327, 1361, 1367, 1373]
 
 zero = mpq(0)
 one  = mpq(1)
 
 precision_golem = "precision_golem"
 array_golem = "array"
 matrice_golem = "matrice_s"
 ff_golem = "form_factor_type"
 ffp_golem = "form_factor_%dp"
 
 ff_suffix = ""
 # ff_suffix = "_b"
 
 golem_minlegs = 1
 
 PAT = {
 		'globsolve': 'solve%d',
 		'solve': 'solve%d_%d',
 		'globtenseval': 'tenseval%d',
 		'cglobtenseval': 'ctenseval%d',
 		'tenseval': 'tenseval%d_%d',
 		'tenseval': 'tenseval%d_%d',
 		'ctenseval': 'ctenseval%d_%d',
 		'reconstruct': 'reconstruct%d',
 		'coefftype': 'coeff_type_%d',
 		'printcoeffs': 'print_coeffs_%d',
 		'evaluate': 'evaluate',
 		'contract': 'contract%d_%d',
 		'mucontract': 'contract_%s',
 		'tenscontracta': 'contract_a_tensor_%d',
 		'tenscontractb': 'contract_b_tensor_%d',
 		'tenscontractc': 'contract_c_tensor_%d',
 		'tenscontractd': 'contract_d_tensor_%d'
 		}
 
 def combinat(n, k):
 	"""
 		Calculates the binomial coefficient (n atop k).
 	"""
 	if k < 0 or k > n:
 		return 0
 	else:
 		num = 1
 		den = 1
 		for i in range(1, k+1):
 			num *= n-i+1
 			den *= i
 		return num/den
 
 def generate_mapping(R, k):
 	"""
 		Generates a mapping from tensor components \hat{C}(a_1, ..., a_k)
 		into a one dimensional array.
 
 		PARAMETER
 
 		R  -- rank
 		k  -- number of non-zero components of q
 
 		RETURN
 
 		(lst, dic)
 
 		lst -- list of (a_1, ..., a_k)
 		dic -- mapping from (a_1, ..., a_k) -> int
 
 		lst[dic[X]] = X if X in dic
 	"""
 
 	def rec_generator(k, R):
 		if k == 0:
 			yield []
 		elif k <= R:
 			for a_1 in range(1, R - (k - 1) + 1):
 				if k > 1:
 					for tail in rec_generator(k - 1, R - a_1):
 						yield [a_1] + tail
 				else:
 					yield [a_1]
 	
 	lst = []
 	dic = {}
 	i = 0
 	for indices in rec_generator(k, R):
 		t = tuple(indices)
 		lst.append(t)
 		dic[t] = i
 		i += 1
 
 	assert i == combinat(R, k), \
 			"len(%s) != %d, R=%d,k=%d" % (lst,combinat(R, k),R,k)
 	return lst, dic
 
 def generate_equations(R, k):
 	"""
 		Generates a set of equations for a given number of non-zero
 		components and fixed maximum rank.
 	
 		PARAMETER
 
 		R  -- rank
 		k  -- number of non-zero components of q
 
 		RETURN
 
 		(LHS, RHS)
 
 		LHS -- a matrix (i.e. list of lists) of coefficients
 		RHS -- a list of values of q
 	"""
 
 	lst, dic = generate_mapping(R, k)
 	l = len(lst)
 
 	LHS = []
 	RHS = []
 
 	for num_eq in range(l):
 		q = map(lambda i: PRIMES[i], lst[num_eq])
 		coeffs = [
 			reduce(lambda x,y: x*y,	map(lambda (b,e): b**e, zip(q, term)), 1)
 			for term in lst]
 
 		LHS.append(coeffs)
 		RHS.append(q)
 
 	return LHS, RHS, lst, dic
 
 def matrix_inverse(M_int):
 	"""
 	Matrix inversion by Gauss elimination.
 
 	PARAMETER
 
 	M_int -- square matrix, represented as list of lists
 
 	RETURN
 
 	square matrix, represented as list of lists which is the inverse of M_int
 	"""
 	M = []
 	R = []
 	n = len(M_int)
 	i = 0
 	for row in M_int:
 		M.append(map(mpq, row))
 		R.append([zero]*i + [one] + [zero]*(n-i-1))
 		i += 1
 
 	# Forward substitution
 	for i in range(n):
 		# Find pivot element
 		max_el = abs(M[i][i])
 		max_row  = i
 		for j in range(i+1, n):
 			if abs(M[j][i]) > max_el:
 				max_row = j
 				max_el = abs(M[j][i])
 
 		# Swap pivot row to the top
 		if max_row != i:
 			tmp = M[i]
 			M[i] = M[max_row]
 			M[max_row] = tmp
 
 			tmp = R[i]
 			R[i] = R[max_row]
 			R[max_row] = tmp
 
 		if M[i][i] == zero:
 			raise ZeroDivisionError, "Cannot invert singular matrix."
 
 		pivot = M[i][i]
 		for k in range(i, n):
 			M[i][k] /= pivot
 		for k in range(0, n):
 			R[i][k] /= pivot
 
 		for j in range(i+1, n):
 			f = M[j][i]
 			if f == zero:
 				continue
 
 			for k in range(i, n):
 				M[j][k] -= f * M[i][k]
 			for k in range(n):
 				R[j][k] -= f * R[i][k]
 				
 	# Backward substitution
 	for i in range(n-1, -1, -1):
 		for j in range(i):
 			f = M[j][i]
 			if f == zero:
 				continue
 
 			for k in range(n):
 				R[j][k] -= f * R[i][k]
 
 	return R
 
 def fmt_mpq_f90(q):
 	"""
 	Formats a rational number according to our Fortran 90 conventions,
 	as real(kind=ki).
 
 	PARAMETER
 
 	q -- a number of type gmpy.mpq
 
 	RETURN
 
 	a string representing the rational number in Fortran 90.
 	"""
 	num = q.numer()
 	den = q.denom()
 
 	if num == zero:
 		return "0.0_ki"
 	elif den == one:
 		return "%s.0_ki" % num
 	else:
 		return "%s.0_ki/%s.0_ki" % (num, den)
 
 def write_matrix_f90(f, indent, lname, rname, k, LHS, RHS):
 	"""
 	Writes a matrix and a vector to a Fortran90 file.
 	The matrix and the vector form a linear system in the sense,
 	that LHS[i] * x = N(q_i), where N is the numerator function,
 	and the non-zero entries of q_i are in RHS[i].
 
 	PARAMETER
 
 	f      -- a file object open for writing
 	indent -- number of blank characters to be added at the beginning
 	          of the line.
 	lname  -- name of the matrix LHS
 	rname  -- name of the matrix RHS
 	k      -- number of non-zero entries in q
 	LHS    -- a matrix
 	RHS    -- vector
 	"""
 
 	MI = matrix_inverse(LHS)
 
 	n = len(RHS)
 
 	f.write(" "*indent +
 			"real(ki), dimension(%d,%d), parameter, private :: %s = &\n"
 			% (n, n, lname))
 	f.write(" "*indent + "& reshape((/&\n")
 	f.write(" "*indent + "&")
 	col = indent + 1
 	first = True
 	for row in MI:
 		for element in row:
 			if first:
 				first = False
 			else:
 				f.write(",")
 				col += 1
 			s = fmt_mpq_f90(element)
 			l = len(s)
 			if col + l + 2 > F90_WIDTH:
 				f.write(" &\n" + " "*indent + "&")
 				col = indent + 1
 			f.write(s)
 			col += l
 	f.write(" "*indent + "/),&\n")
 	f.write(" "*indent + "& (/%d,%d/), order=(/2,1/))\n" % (n, n))
 
 	f.write(" "*indent +
 			"real(ki), dimension(%d,%d), parameter, private :: %s = &\n"
 			% (n, k, rname))
 	f.write(" "*indent + "& reshape((/&\n")
 	f.write(" "*indent + "&")
 	col = indent + 1
 	first = True
 	for row in RHS:
 		for element in row:
 			if first:
 				first = False
 			else:
 				f.write(",")
 				col += 1
 			s = "%s.0_ki" % element
 			l = len(s)
 			if col + l + 2 > F90_WIDTH:
 				f.write(" &\n" + " "*indent + "&")
 				col = indent + 1
 			f.write(s)
 			col += l
 	f.write(" "*indent + "/),&\n")
 	f.write(" "*indent + "& (/%d,%d/), order=(/2,1/))\n" % (n, k))
 
 def write_numeval_interface(f, indent, name, d):
 	"""
 	Writes an interface defining the expected signature of the
 	numerator function.
 
 	We use a real q and mu^2 in this implementation and allow the function
 	to return a complex value.
 
 	PARAMETER
 	f      -- a file open for writing
 	indent -- number of blank characters to be added at the beginning
 	          of the line
 	name   -- name of the function in the interface
 	d      -- number of space-time dimensions
 
 	OUTPUS
 
 	For name=NAME and d=4, this function produces the following output in f:
 
 	interface
 	   function NAME(Q, mu2)
 			use precision_golem, only: ki
 			implicit none
 			real(ki), dimension(0:3), intent(in) :: Q
 			real(ki), intent(in) :: mu2
 			complex(ki) :: NAME
 		end function NAME
 	interface
 	"""
 	f.write(" "*indent+"interface\n")
 	nin = indent + 3
 	f.write(" "*nin+"function %s(Q, mu2)\n" % name)
 	nin+=3
 	f.write(" "*nin+"use %s, only: ki\n" % precision_golem)
 	f.write(" "*nin+"implicit none\n")
 	f.write(" "*nin+"real(ki), dimension(0:%d), intent(in) :: Q\n" % (d-1))
 	f.write(" "*nin+"real(ki), intent(in) :: mu2\n")
 	f.write(" "*nin+"complex(ki) :: %s\n" % name)
 	nin-=3
 	f.write(" "*nin+"end function %s\n" % name)
 	f.write(" "*indent+"end interface\n")
 
 def write_subroutine_solve(f, indent, name, k, dim, lname, rname, type_name,
 		recon_name, d, recon_name_extra=None, type_name_extra=None):
 	"""
 	Writes a subroutine to solve for a certain set of coefficients.
 
 	PARAMETER
 
 	f          -- file open for writing
 	indent     -- indentation level (number of blanks prefixing the line)
 	name       -- name of this subroutine
 	k          -- number of non-zero components in q
 	dim        -- number of coefficients to solve for
 	lname      -- name of the LHS matrix (inverse of the original LHS)
 	rname      -- name of the RHS (values for q)
 	type_name  -- name of the type containing the coefficints
 	recon_name -- name of the function used to subtract known bits
 	d          -- number of space time dimensions
 	recon_name_extra -- name of the function used to subtract
 	              a second set of coefficients
 	type_name_extra -- name of the type containing the extra coefficients
 	"""
 
 	if recon_name_extra is not None:
 		xtra = ", coeffs2"
 	else:
 		xtra = ""
 
 	for line in DOC.subroutine_solve(name,xtra,lname,rname,d-1,type_name):
 		f.write(" "*indent + line + "\n")
 
 	f.write(" "*indent
 			+"subroutine     %s(numeval, indices, mu2, coeffs, idx%s)\n"
 			% (name, xtra))
 	nin = indent + 3
 	f.write(" "*nin+"! generated by: write_subroutine_solve\n")
 	f.write(" "*nin+"implicit none\n")
 	write_numeval_interface(f, nin, "numeval", d)
 	f.write(" "*nin+"integer, dimension(%d), intent(in) :: indices\n" % k)
 	f.write(" "*nin+"real(ki), intent(in) :: mu2\n")
 	f.write(" "*nin+"type(%s), intent(inout) :: coeffs\n" % type_name)
 	f.write(" "*nin+"integer, intent(in) :: idx\n")
 	if recon_name_extra is not None:
 		f.write(" "*nin+"type(%s), intent(in), optional :: coeffs2\n"
 				% type_name_extra)
 	f.write(" "*nin+"complex(ki), dimension(%d) :: xnum\n" % dim)
 	f.write(" "*nin+"real(ki), dimension(0:%d) :: Q\n" % (d-1))
 	f.write(" "*nin+"integer :: i\n")
 	if k < d:
 		f.write(" "*nin+"Q(:)=0.0_ki\n")
 	if recon_name_extra is not None:
 		f.write(" "*nin+"if (present(coeffs2)) then\n")
 		nin += 3
 		f.write(" "*nin+"do i=1,%d\n" % dim)
 		nin += 3
 		for j in range(1, k+1):
 			f.write(" "*nin+"Q(indices(%d)) = %s(i,%d)\n" % (j,rname,j))
 		f.write(" "*nin+"xnum(i) = numeval(Q, mu2) &\n")
 		f.write(" "*(nin+3) + "& - %s(Q, coeffs, %d) &\n" % (recon_name, k-1))
 		f.write(" "*(nin+3) + "& - %s(Q, coeffs2, %d)\n"
 				% (recon_name_extra, k))
 		nin -= 3
 		f.write(" "*nin+"end do\n")
 		nin -= 3
 		f.write(" "*nin+"else\n")
 		nin += 3
 
 	f.write(" "*nin+"do i=1,%d\n" % dim)
 	nin += 3
 	for j in range(1, k+1):
 		f.write(" "*nin+"Q(indices(%d)) = %s(i,%d)\n" % (j,rname,j))
 	f.write(" "*nin+"xnum(i) = numeval(Q, mu2) - %s(Q, coeffs, %d)\n"
 			% (recon_name, k-1))
 	nin -= 3
 	f.write(" "*nin+"end do\n")
 	if recon_name_extra is not None:
 		nin -= 3
 		f.write(" "*nin+"end if\n")
 	f.write(" "*nin+"coeffs%%c%d(idx,:) = matmul(%s,xnum)\n" % (k, lname))
 	f.write(" "*indent+"end subroutine %s\n" % name)
 
 def write_function_recon(f, indent, name, k, dic, d, qtype = "real"):
 	"""
 	Writes a function which computes N(q) from the reconstructed
 	coefficients for a given value of q.
 
 	PARAMETER
 
 	f             -- file open for writing
 	indent        -- indentation level
 	name          -- name of the function to be written
 	k             -- number of non-zero components of q
 	dic           -- dictionary mapping powers of components of q to
 	                 indices in the coefficient arrays
 	d             -- number of space-time dimensions
 	qtype         -- type of q (real or complex) in this routine.
 	"""
 	dim = len(dic)
 	for line in DOC.function_recon(name,k,d-1,qtype,dim):
 		f.write(" "*indent + line + "\n")
 	f.write(" "*indent+"pure function %s(Q, indices, coeffs)\n" % name)
 	nin = indent + 3
 	f.write(" "*nin+"! generated by: write_function_recon\n")
 	f.write(" "*nin+"implicit none\n")
 	f.write(" "*nin+"integer, dimension(%d), intent(in) :: indices\n" % k)
 	f.write(" "*nin+"complex(ki), dimension(%d), intent(in) :: coeffs\n" % dim)
 	f.write(" "*nin+"%s(ki), dimension(0:%d), intent(in) :: Q\n"
 			% (qtype, (d-1)))
 	f.write(" "*nin+"complex(ki) :: %s\n" % name)
 	for i in range(k):
 		f.write(" "*nin+"%s(ki) :: q%d\n" % (qtype, i))
 	bin = [tuple(lst) for lst in binary(k)]
 	lines = []
 	regs = []
 	calculate_polynomial(lines, regs, nin, bin[1:], dic)
 	regs = set(regs)
 	for reg in regs:
 		f.write(" "*nin+"complex(ki) :: %s\n" % reg)
 	f.write(" "*nin+"complex(ki) :: acc\n")
 
 	for i in range(k):
 		f.write(" "*nin+"q%d = Q(indices(%d))\n" % (i, i+1))
 
 	for line in lines:
 		f.write(line + "\n")
 
 	f.write(" "*nin+"%s = acc\n" % name)
 	f.write(" "*indent+"end  function %s\n" % name)
 
 def binary(k):
 	"""
 	Yields the binary representations of the numbers up to 2^k:
 
 	>>> [x for x in binary(3)]
 	[[0, 0, 0], [0, 0, 1], [0, 1, 0], [0, 1, 1], [1, 0, 0], [1, 0, 1], [1, 1, 0], [1, 1, 1]]
 	"""
 	if k == 0:
 		yield []
 	else:
 		for l in binary(k-1):
 			yield l + [0]
 			yield l + [1]
 
 def poly_includes(monomial, exponents):
 	"""
 	Checks if a monomial contains at least the given set of powers
 	of variables.
 
 	EXAMPLE
 
 	>>> m = [4, 0, 1]
 	>>> poly_includes(m, [3, 0, 0])
 	True
 	>>> poly_includes(m, [3, 1, 1])
 	False
 	"""
 	for p, q in zip(monomial, exponents):
 		if p < q:
 			return False
 	return True
 
 def poly_subtract(monomial, exponents):
 	"""
 	Divides out powers of variables from a monomial
 
 	EXAMPLE
 
 	>>> m = [4, 0, 1]
 	>>> poly_subtract(m, [3, 0, 0])
 	(1, 0, 1)
 	>>> poly_subtract(m, [1, 0, 1])
 	(3, 0, 0)
 	"""
 	result = []
 	for p, q in zip(monomial, exponents):
 		result.append(p - q)
 	return tuple(result)
 
 def format_monomial(exponents, coeff):
 	"""
 	Formats a monomial for printing in Fortran style.
 
 	EXAMPLE
 
 	>>> m = [4, 0, 1]
 	>>> format_monomial(m, "5.0")
 	'5.0*q0**4*q2'
 	"""
 	n = len(exponents)
 	factors = [coeff]
 	for i in range(n):
 		if exponents[i] == 1:
 			factors.append("q%d" % i)
 		elif exponents[i] != 0:
 			factors.append("q%d**%s" % (i, exponents[i]))
 	return "*".join(factors)
 
 def calculate_polynomial(lines, regs, indent, bin, dic, path=[]):
 	"""
 	Produces a program fragment to compute a polynomial using
 	a multivariate Horner scheme
 
 	PARAMETER
 
 	lines  -- list of strings, used as an output buffer
 	regs   -- list of temporary variables introduced by the algorithm
 	indent -- indentation level
 	bin    -- list of all possibilities selecting variables
 	dic    -- dictionary mapping between indices of the coefficients
 	          and powers of q_i
 	path   -- location of the function call in the tree of recursive calls
 	"""
 	l = len(bin)
 	count = [0 for i in range(l)]
 	max_count = 0
 	max_pos = 0
 	for exponents in dic.iterkeys():
 		for i in range(l):
 			if poly_includes(exponents, bin[i]):
 				count[i] += 1
 				if count[i] >= max_count:
 					max_count = count[i]
 					max_pos = i
 	pivot = bin[max_pos]
 
 	if max_count <= 1:
 		first = True
 		col = indent + 6
 		line = ""
 		for exponents, coeff in dic.iteritems():
 			term = format_monomial(exponents, "coeffs(%d)" % (coeff+1))
 			lt = len(term)
 			if first:
 				line =  " "*indent+"acc = "+term
 				col = indent + 6 + lt
 				first = False
 			elif col + lt + 3 <= F90_WIDTH:
 				line = line + " + " + term
 				col += lt + 3
 			else:
 				lines.append(line)
 				line = (" "*indent) + "acc = acc + " + term
 				col = indent + 12 + lt
 		if not first:
 			lines.append(line)
 	else:
 		A1 = {}
 		A0 = {}
 
 		for exponents, coeff in dic.iteritems():
 			if poly_includes(exponents, pivot):
 				A1[poly_subtract(exponents, pivot)] = coeff
 			else:
 				A0[exponents] = coeff
 
 		if len(A1) > 0 and len(A0) > 0:
 			calculate_polynomial(lines, regs, indent, bin, A1, [1]+path)
 			reg = "reg%d" % len(path)
 			regs.append(reg)
 			term = format_monomial(pivot, "acc")
 			lines.append(" "*indent + "%s = %s" % (reg, term))
 			calculate_polynomial(lines, regs, indent, bin, A0, [0]+path)
 			lines.append(" "*indent + "acc = acc + %s" % reg)
 		elif len(A1) > 0:
 			calculate_polynomial(lines, regs, indent, bin, A1, [1]+path)
 			term = format_monomial(pivot, "acc")
 			lines.append(" "*indent+"acc = %s" % term)
 		elif len(A0) > 0:
 			calculate_polynomial(lines, regs, indent, bin, A0, [0]+path)
 
 def write_coeff_type(f, indent, name, R, block_info, d):
 	"""
 	Writes the definition of the derived type for a certain set of
 	tensor coefficients to a file.
 
 	PARAMETER
 
 	f          -- file object open for writing
 	indent     -- indentation level
 	name       -- name of the derived type in Fortran
 	R          -- rank of the tensor integral
 	block_info -- information about the block structure of the system
 	              and the corresponding tensor coefficients
 	d          -- number of space time dimensions
 	"""
 	for line in DOC.coeff_type(name,R,min(R,d)):
 		f.write(" "*indent + line + "\n")
 	f.write(" "*indent+"type %s\n" % name)
 	nin = indent + 3
 	f.write(" "*nin + "complex(ki) :: c0\n")
 	count = 1
 	for k in range(1,min(R,d)+1):
 		dim = combinat(d, k)
 		lst, dic, lname, rname = block_info[(R,k)]
 		dimk = len(lst)
 		f.write(" "*nin + "complex(ki), dimension(%d,%d) :: c%d\n"
 				% (dim, dimk, k))
 		if TENS_DEBUG:
 			lab = 0
 			for indices in select(range(d), k):
 				lab += 1
 				for j in range(len(lst)):
 					coeff = zip([[e] for e in indices],  [e for e in lst[j]])
 					coeff = map(lambda (x, y): x*y, coeff)
 					coeff = reduce(lambda x, y: x+y, coeff, [])
 
 					perms = momenta_symm(coeff) - 1
 					if perms == 0:
 						perms = ""
 					elif perms == 1:
 						perms = " + 1 permutation"
 					else:
 						perms = " + %d permutations" % perms
 
 					f.write(" "*nin+"! c%d(%d,%d) = %s%s\n"
 							% (k, lab, j+1, coeff, perms))
 		count += dim * dimk
 	if TENS_DEBUG:
 		if count == 1:
 			entries = "entry"
 		else:
 			entries = "entries"
 		f.write(" "*nin + "! This record has %d %s.\n" % (count, entries))
 	f.write(" "*indent+"end type %s\n" % name)
 
 def select(items, k):
 	"""
 	Iterator over all selections of k elements from a given list.
 
 	PARAMETER
 
 	items  --  list of elements to choose from (no repetitions)
 	k      --  number of elements to select.
 	"""
 	n = len(items)
 	# We use the fact that
 	# (n choose k) = (1 choose 1)(n-1 choose k-1)+(1 choose 0)(n-1 choose k)
 	if k == n:
 		yield items[:]
 	elif k == 0:
 		yield []
 	elif 0 < k and k < n:
 		head = items[0:1]
 		tail = items[1:]
 		for result in select(tail, k-1):
 			yield head + result
 
 		for result in select(tail, k):
 			yield result
 
 def write_function_glob_recon(f, indent, name, type_name, proc_names, R, d):
 	"""
 	Writes a function that retrieves the value of N(Q) from
 	reconstructed coefficients for a given real Q.
 	"""
 	for line in DOC.function_glob_recon(name,type_name,R,d-1):
 		f.write(" "*indent + line + "\n")
 	f.write(" "*indent + "pure function %s(Q, coeffs, max_k)\n" % name)
 	nin = indent + 3
 	f.write(" "*nin + "! generated by: write_function_glob_recon\n")
 	f.write(" "*nin + "implicit none\n")
 	f.write(" "*nin + "real(ki), dimension(0:%d), intent(in) :: Q\n" % (d-1))
 	f.write(" "*nin + "type(%s), intent(in) :: coeffs\n" % type_name)
 	f.write(" "*nin + "integer, intent(in), optional :: max_k\n")
 	f.write(" "*nin + "complex(ki) :: %s\n" % name)
 	f.write(" "*nin + "integer :: maxk\n")
 	f.write(" "*nin + "if (present(max_k)) then\n")
 	f.write(" "*(nin+3) + "maxk = max_k\n")
 	f.write(" "*nin + "else\n")
 	f.write(" "*(nin+3) + "maxk = %d\n" % min(R, d))
 	f.write(" "*nin + "end if\n")
 	f.write(" "*nin + "%s = coeffs%%c0\n" % name)
 	for k in range(1, min(R, d) + 1):
 		f.write(" "*nin + "if (%d .le. maxk) then\n" % k)
 		nin += 3
 
 		lab = 0
 		for indices in select(range(d), k):
 			lab += 1
 			f.write(" "*nin + "%s = %s + %s(Q, (/%s/), coeffs%%c%d(%d,:))\n"
 					% (name, name, proc_names[(R,k)],
 						",".join(map(str,indices)), k, lab))
 
 		nin -= 3
 		f.write(" "*nin + "end if\n")
 	f.write(" "*indent + "end  function %s\n" % name)
 
 def write_function_glob_recon_complex(f, indent, name,
 		type_name, proc_names, R, d):
 	"""
 	Writes a function that retrieves the value of N(Q) from
 	reconstructed coefficients for a given complex Q.
 	"""
 	for line in DOC.function_glob_recon_complex(name,type_name,R,d-1):
 		f.write(" "*indent + line + "\n")
 	f.write(" "*indent + "pure function %s(Q, coeffs)\n" % name)
 	nin = indent + 3
 	f.write(" "*nin + "! generated by: write_function_glob_recon_complex\n")
 	f.write(" "*nin + "implicit none\n")
 	f.write(" "*nin + "complex(ki), dimension(0:%d), intent(in) :: Q\n" % (d-1))
 	f.write(" "*nin + "type(%s), intent(in) :: coeffs\n" % type_name)
 	f.write(" "*nin + "complex(ki) :: %s\n" % name)
 	f.write(" "*nin + "%s = coeffs%%c0\n" % name)
 	for k in range(1, min(R, d) + 1):
 		lab = 0
 		for indices in select(range(d), k):
 			lab += 1
 			f.write(" "*nin + "%s = %s + %s(Q, (/%s/), coeffs%%c%d(%d,:))\n"
 					% (name, name, proc_names[(R,k)],
 						",".join(map(str,indices)), k, lab))
 	f.write(" "*indent + "end  function %s\n" % name)
 
 def write_subroutine_glob_solve(f, indent, name, type_name, proc_names, R, d,
 		extra_type_name=None):
 	"""
 	Writes a subroutine for the determination of the tensor coefficients 
 	at a fixed value of mu^2 and for given maximum rank
 
 	PARAMETER
 
 	f            -- file open for writing
 	indent       -- indentation level
 	type_name    -- name of the type to be determined
 	proc_names   -- lookup for the procedure names used for the determination
 	                of the single parts of the problem.
 	R            -- maximum rank
 	d            -- number of space time dimensions
 	extra_type_name -- coefficients to be subtracted
 
 	"""
 	if extra_type_name is not None:
 		xtra = ", coeffs2"
 	else:
 		xtra = ""
 	for line in DOC.subroutine_glob_solve(name,type_name,R,d-1,xtra):
 		f.write(" "*indent+line+"\n")
 	f.write(" "*indent + "subroutine     %s(numeval, mu2, coeffs%s)\n"
 			% (name, xtra))
 	nin = indent + 3
 	f.write(" "*nin + "! generated by: write_subroutine_glob_solve\n")
 	f.write(" "*nin + "implicit none\n")
 	write_numeval_interface(f, nin, "numeval", d)
 	f.write(" "*nin + "real(ki), intent(in) :: mu2\n")
 	f.write(" "*nin + "type(%s), intent(inout) :: coeffs\n" % type_name)
 	if extra_type_name is not None:
 		f.write(" "*nin + "type(%s), intent(in), optional :: coeffs2\n"
 				% extra_type_name)
 	if extra_type_name is not None:
 		f.write(" "*nin + "if (present(coeffs2)) then\n")
 		nin += 3
 		f.write(" "*nin + "coeffs%c0 = numeval(null_vec, mu2) - coeffs2%c0\n")
 		for k in range(1, min(d, R) + 1):
 			lab = 0
 			for indices in select(range(d), k):
 				lab += 1
 				f.write(" "*nin
 						+ "call %s(numeval, (/%s/), mu2, coeffs, %d, coeffs2)\n" %
 						(proc_names[(R, k)], ",".join(map(str, indices)), lab))
 		nin -= 3
 		f.write(" "*nin + "else\n")
 		nin += 3
 	f.write(" "*nin + "coeffs%%c0 = numeval((/%s/), mu2)\n"
 			% ",".join(["0.0_ki"]*d))
 	for k in range(1, min(d, R) + 1):
 		lab = 0
 		for indices in select(range(d), k):
 			lab += 1
 			f.write(" "*nin+"call %s(numeval, (/%s/), mu2, coeffs, %d)\n" %
 					(proc_names[(R, k)], ",".join(map(str, indices)), lab))
 
 	if extra_type_name is not None:
 		nin -= 3
 		f.write(" "*nin + "end if\n")
 	f.write(" "*indent + "end subroutine %s\n" % name)
 
 def write_print_coeffs(f, indent, name, type_name, block_info, R, d):
 	"""
 	Writes the code to print out a set of coefficients in human readable
 	form.
 
 	PARAMETER
 
 	f           -- file open for writing
 	indent      -- intentation level
 	type_name   -- name of the type that contains the coefficients to print
 	block_info  -- information about the block structure of the system
 	R           -- maximum rank
 	d           -- number of space time dimensions
 	"""
 
 	def format_power(pow):
 		b, e = pow
 
 		if e == 1:
 			return str(b)
 		else:
 			return "%s^%d" % (b, e)
 
 	for line in DOC.subroutine_print_coeffs(name,R,type_name):
 		f.write(" "*indent+line+"\n")
 	f.write(" "*indent+"subroutine print_coeffs_%d(coeffs, unit)\n" % R)
 	nin = indent + 3
 	f.write(" "*nin+"! generated by: write_print_coeffs\n")
 	f.write(" "*nin+"implicit none\n")
 	f.write(" "*nin+"type(%s), intent(in) :: coeffs\n" % type_name)
 	f.write(" "*nin+"integer, intent(in), optional :: unit\n")
 	f.write(" "*nin+"integer :: ch\n")
 	f.write(" "*nin+"if (present(unit)) then\n")
 	f.write(" "*(nin+3)+"ch = unit\n")
 	f.write(" "*nin+"else\n")
 	f.write(" "*(nin+3)+"ch = 6\n")
 	f.write(" "*nin+"end if\n")
 
 	f.write(" "*nin
 		+"write(ch,'(A4,G24.16,1x,G24.16,A1)') '   (', coeffs%c0, ')'\n")
 	for k in range(1,min(R,d)+1):
 		lst, dic, lname, rname = block_info[(R,k)]
 		dim = len(lst)
 		lab = 0
 		for indices in select(range(d), k):
 			lab += 1
 			sindices = map(lambda i: "q(%d)" % i, indices)
 			for i in range(dim):
 				tail = "*".join([")"] + map(format_power, zip(sindices, lst[i])))
 				l = len(tail)
 				value = "coeffs%%c%d(%d,%d)" % (k, lab, i+1)
 				f.write(" "*nin
 					+ ("write(ch,'(A4,G24.16,1x,G24.16,A%d)')" % l)
 					+ (" ' + (',  %s, '%s'\n" % (value, tail)))
 
 	f.write(" "*indent+"end subroutine print_coeffs_%d\n" % R)
 
 def write_subroutine_reconstruct(f, indent, name, R, d,
 		solve_name,	type_name,
 		solve_name_extra, type_name_extra):
 	"""
 	Writes a routine that determines all coefficients of an integral of
 	maximum rank R, including the mu2 bits.
 
 	PARAMETER
 
 	f                 -- file open for writing
 	indent            -- indentation level
 	name              -- name of the subroutine
 	R                 -- maximum rank
 	d                 -- number of space time dimensions
 	solve_name        -- function name used to solve for the mu2=0
 	                     bits of the integral
 	type_name         -- name of the type of the coefficients of the
 	                     'normal' integral
 	solve_name_extra  -- functions for solving for the mu2, mu2^2 and mu2^3 integrals
 	type_name_extra   -- name of the type of the mu2, mu2^2 and mu2^3 coefficients
 
 	"""
 	# For lower rank numerators we use the fact that N(q, mu2) is at most quadratic
 	# in mu2. After
 	# subtracting N(q, 0) we have the form N(q, mu2) = a mu2^2 + b mu2.
 	# N(q, +1) = a + b
 	# N(q, -1) = a - b
 	# 2 a = N(q, +1) + N(q, -1)
 	# 2 b = N(q, +1) - N(q, -1)
 	#
 	# For higher rank numerators (rank-6 pentagons), we have the form
 	# N~(q, mu2) = a mu2^3 + b mu2^2 + c mu^2 with N~(q, mu2)= N(q, mu2) - N(q, 0).
 	# N~(q, +1) = a + b + c
 	# N~(q, -1) = -a + b - c
 	# N~(q, 2) = 8 a + 4 b + 2 c
 	#   => a = -1/2 N~(q, +1) - 1/6 N~(q, -1) + 1/6 N~(q, 2)
 	#      b = 1/2  N~(q, +1) + 1/2 N~(q, -1)
 	#      c =      N~(q, +1) - 1/3 N~(q, -1) - 1/6 N~(q, 2)
 	if type_name_extra is None:
 		t = "complex(ki)"
 	else:
 		t = "type(%s)" % type_name_extra
 
 	if R>=6:
 		for line in DOC.subroutine_reconstruct_extended(name,type_name,t,R):
 			f.write(" "*indent+line+"\n")
 	else:
 		for line in DOC.subroutine_reconstruct(name,type_name,t,R):
 			f.write(" "*indent+line+"\n")
 	if R>=6:
 		f.write(" "*indent + "subroutine     %s(numeval, cm0, cm1, cm2, cm3)\n" % name)
 	else:
 		f.write(" "*indent + "subroutine     %s(numeval, cm0, cm1, cm2)\n" % name)
 	nin = indent + 3
 	f.write(" "*nin+"! generated by: write_subroutine_reconstruct\n")
 	f.write(" "*nin + "implicit none\n")
 	write_numeval_interface(f, nin, "numeval", d)
 	f.write(" "*nin + "type(%s), intent(out) :: cm0\n" % type_name)
 
 	f.write(" "*nin + "%s, intent(out), optional :: cm1\n" % t)
 	f.write(" "*nin + "%s, intent(out), optional :: cm2\n" % t)
 	if R>=6:
 		f.write(" "*nin + "%s, intent(out), optional :: cm3\n" % t)
 	f.write(" "*nin + "%s :: ca, cb\n" % t)
 	if R>=6:
 		f.write(" "*nin + "%s :: cc\n" % t)
 	f.write(" "*nin + "call %s(numeval, 0.0_ki, cm0)\n" % solve_name)
 	f.write(" "*nin + "if (present(cm1)) then\n")
 	nin += 3
 	f.write(" "*nin + "if (present(cm2)) then\n")
 	nin += 3
 	if R>=6:
 		f.write(" "*nin + "if (present(cm3)) then\n")
 		nin += 3
 		if type_name_extra is None:
 			f.write(" "*nin + "ca = numeval(null_vec, +1.0_ki) - cm0\n")
 			f.write(" "*nin + "cb = numeval(null_vec, -1.0_ki) - cm0\n")
 			f.write(" "*nin + "cc = numeval(null_vec, +2.0_ki) - cm0\n")
 			f.write(" "*nin + "cm3= -0.5_ki*ca+(cc-cb)/6._ki\n")
 			f.write(" "*nin + "cm2= 0.5_ki*(ca+cb)\n")
 			f.write(" "*nin + "cm1= ca - cb/3._ki - cc/6.ki\n")
 		else:
 			f.write(" "*nin + "call %s(numeval, +1.0_ki, ca, cm0)\n"
 					% solve_name_extra)
 			f.write(" "*nin + "call %s(numeval, -1.0_ki, cb, cm0)\n"
 					% solve_name_extra)
 			f.write(" "*nin + "call %s(numeval, +2.0_ki, cc, cm0)\n"
 					% solve_name_extra)
 			f.write(" "*nin + "cm3%c0= -0.5_ki*ca%c0+(cc%c0-cb%c0)/6._ki\n")
 			f.write(" "*nin + "cm2%c0= 0.5_ki*(ca%c0+cb%c0)\n")
 			f.write(" "*nin + "cm1%c0= ca%c0 - cb%c0/3._ki - cc%c0/6._ki\n")
 
 			for k in range(1,min(d,R-2)+1):
 				f.write(" "*nin + "cm3%%c%d= -0.5_ki*ca%%c%d+(cc%%c%d-cb%%c%d)/6._ki\n"
 						% (k,k,k,k))
 				f.write(" "*nin + "cm2%%c%d= 0.5_ki*(ca%%c%d+cb%%c%d)\n"
 						% (k,k,k))
 				f.write(" "*nin + "cm1%%c%d= ca%%c%d - cb%%c%d/3._ki - cc%%c%d/6._ki\n"
 						% (k,k,k,k))
 		nin -= 3
 		f.write(" "*nin + "else\n")
 		nin += 3
 
 	if type_name_extra is None:
 		f.write(" "*nin + "ca = numeval(null_vec, +1.0_ki) - cm0%c0\n")
 		f.write(" "*nin + "cb = numeval(null_vec, -1.0_ki) - cm0%c0\n")
 		f.write(" "*nin + "cm1= 0.5_ki * (ca - cb)\n")
 		f.write(" "*nin + "cm2= 0.5_ki * (ca + cb)\n")
 	else:
 		f.write(" "*nin + "call %s(numeval, +1.0_ki, ca, cm0)\n"
 				% solve_name_extra)
 		f.write(" "*nin + "call %s(numeval, -1.0_ki, cb, cm0)\n"
 				% solve_name_extra)
 		f.write(" "*nin + "cm1%c0= 0.5_ki * (ca%c0 - cb%c0)\n")
 		f.write(" "*nin + "cm2%c0= 0.5_ki * (ca%c0 + cb%c0)\n")
 		for k in range(1,min(d,R-2)+1):
 			f.write(" "*nin + "cm1%%c%d = 0.5_ki * (ca%%c%d - cb%%c%d)\n"
 					% (k,k,k))
 			f.write(" "*nin + "cm2%%c%d = 0.5_ki * (ca%%c%d + cb%%c%d)\n"
 					% (k,k,k))
 	if R>=6:
 		nin -= 3
 		f.write(" "*nin + "end if\n")
 	nin -= 3
 	f.write(" "*nin + "else\n")
 	nin += 3
 	if type_name_extra is None:
 		f.write(" "*nin + "cm1 = numeval(null_vec, +1.0_ki) - cm0%c0\n")
 	else:
 		f.write(" "*nin
 				+ "call %s(numeval, +1.0_ki, cm1, cm0)\n" % solve_name_extra)
 	nin -= 3
 	f.write(" "*nin + "end if\n")
 	nin -= 3
 	f.write(" "*nin + "end if\n")
 	f.write(" "*indent + "end subroutine %s\n" % name)
 
 def write_subroutine_reconstruct_dummy(f, indent, name, R, d,
 		solve_name,	type_name):
 	"""
 	Writes a routine that determines all coefficients of an integral of
 	maximum rank R if the rank is smaller than 2.
 
 	PARAMETER
 
 	f                 -- file open for writing
 	indent            -- indentation level
 	name              -- name of the subroutine
 	R                 -- maximum rank
 	d                 -- number of space time dimensions
 	solve_name        -- function name used to solve for the mu2=0
 	                     bits of the integral
 	type_name         -- name of the type of the coefficients of the
 	                     'normal' integral
 	"""
 	for line in DOC.subroutine_reconstruct_dummy(name,type_name,R):
 		f.write(" "*indent+line+"\n")
 	f.write(" "*indent + "subroutine     %s(numeval, cm0)\n" % name)
 	nin = indent + 3
 	f.write(" "*nin+"! generated by: write_subroutine_reconstruct_dummy\n")
 	f.write(" "*nin + "implicit none\n")
 	write_numeval_interface(f, nin, "numeval", d)
 	f.write(" "*nin + "type(%s), intent(out) :: cm0\n" % type_name)
 	f.write(" "*nin + "call %s(numeval, 0.0_ki, cm0)\n" % solve_name)
 	f.write(" "*indent + "end subroutine %s\n" % name)
 
 
 def write_module_solve(name, max_rank, d=4):
 	"""
 	Writes the module which is usually called 'tens_rec.f90'.
 
 	PARAMETER
 
 	name     -- the name of the module
 	max_rank -- the maximum rank that should be implemented
 	d        -- number of space time dimensions
 	"""
 	f = open("%s.f90" % name, "w")
 	for line in DOC.module_solve():
 		f.write(line + "\n")
 	f.write("module %s\n" % name)
 	f.write("use %s, only: ki\n" % precision_golem)
 	f.write("implicit none\n")
 	f.write("private :: ki\n")
 
 	f.write("real(ki), dimension(0:%d), parameter, private :: null_vec = &\n"
 			% (d-1))
 	f.write(" & (/%s/)\n" % ",".join(["0.0_ki"]*d))
 	block_info = {}
 
 	for R in range(1,max_rank+1):
 		for k in range(1,min(R,d)+1):
 			LHS, RHS, lst, dic = generate_equations(R, k)
 			lname = "mat%d_%d" % (R, k)
 			rname = "q%d_%d" % (R, k)
 			write_matrix_f90(f, 0, lname, rname, k, LHS, RHS)
 			block_info[(R,k)] = (lst, dic, lname, rname)
 
 	for R in range(1,max_rank+1):
 		write_coeff_type(f, 0, PAT['coefftype'] % R, R, block_info, d)
 
 	f.write("interface print_coeffs\n")
 	for R in range(1,max_rank+1):
 		f.write("   module procedure print_coeffs_%d\n" % R)
 	f.write("end interface\n")
 
 	f.write("contains\n")
 
 	solve_names = {}
 	recon_names = {}
 	crecon_names = {}
 	for R in range(1,max_rank+1):
 		for k in range(1,min(R,d)+1):
 			lst, dic, lname, rname = block_info[(R,k)]
 			proc_name = PAT['solve'] % (R, k)
 			solve_names[(R, k)] = proc_name
 			if R <= max_rank - 2:
 				extra_type = PAT['coefftype'] % (R + 2)
 				extra_recon = PAT['globtenseval'] % (R + 2)
 			else:
 				extra_type = None
 				extra_recon = None
 			write_subroutine_solve(f, 0, proc_name, k, len(lst), lname, rname,
 					PAT['coefftype'] % R, PAT['globtenseval'] % R, d,
 					extra_recon, extra_type)
 			proc_name = PAT['tenseval'] % (R, k)
 			recon_names[(R,k)] = proc_name
 			cproc_name = PAT['ctenseval'] % (R, k)
 			crecon_names[(R,k)] = cproc_name
 			write_function_recon(f, 0, proc_name, k, dic, d)
 			write_function_recon(f, 0, cproc_name, k, dic, d, "complex")
 
 		type_name = PAT['coefftype'] % R
 		proc_name = PAT['globsolve'] % R
 		if R <= max_rank - 2:
 			extra_type_name = PAT['coefftype'] % (R+2)
 		else:
 			extra_type_name = None
 		write_subroutine_glob_solve(f, 0, proc_name, type_name, solve_names,
 				R, d, extra_type_name)
 		proc_name = PAT['globtenseval'] % R
 		cproc_name = PAT['cglobtenseval'] % R
 		write_function_glob_recon(f, 0, proc_name, type_name, recon_names, R, d)
 		write_function_glob_recon_complex(f, 0, cproc_name, type_name, crecon_names, R, d)
 		write_print_coeffs(f, 0, PAT['printcoeffs'] % R, type_name, block_info,
 				R, d)
 		if R > 2:
 			write_subroutine_reconstruct(f, 0, PAT['reconstruct'] % R, R, d,
 				PAT['globsolve'] % R, PAT['coefftype'] % R,
 				PAT['globsolve'] % (R-2), PAT['coefftype'] % (R-2))
 		elif R == 2:
 			write_subroutine_reconstruct(f, 0, PAT['reconstruct'] % R, R, d,
 				PAT['globsolve'] % R, PAT['coefftype'] % R,
 				None, None)
 		else:
 			write_subroutine_reconstruct_dummy(f, 0, PAT['reconstruct'] % R, R, d,
 				PAT['globsolve'] % R, PAT['coefftype'] % R)
 
 	f.write("end module %s\n" % name)
 	f.close()
 
 def write_list(f, prefix, lst):
 	"""
 	Utility routine for writing a comma seperated list to a file inserting
 	line breaks and continuation characters in the appropriate places.
 
 	PARAMETER
 
 	f      -- file open for writing
 	prefix -- whatever should be inserted in the beginning of the first line
 	lst    -- the list to be written
 	"""
 	is_first = True
 	s = prefix
 	ofs = 1 + len(s)
 	f.write(s)
 	for s in lst:
 		if is_first:
 			is_first = False
 		else:
 			f.write(",")
 			ofs += 1
 
 		# len(" " + s + ", &")
 		if ofs + len(s) + 4 >= F90_WIDTH:
 			indent = "   &"
 			f.write(" &\n" + indent)
 			ofs = 1 + len(indent)
 		f.write(" " + s)
 		ofs += len(s) + 1
 	f.write("\n")
 
 def write_import_list(f, prefix):
 	"""
 	Utility for writing a very specific import statement.
 	"""
 	lst = []
 	for R in range(1, max_rank+1):
 		lst.append(PAT['coefftype'] % R)
 		lst.append(PAT['reconstruct'] % R)
 	write_list(f, prefix, lst)
 
 def write_function_evaluate(f, indent, name, max_legs, max_rank, d):
 	"""
 	Writes to functions to a file which serve as the main interface
 	for the tensorial reconstruction interface.
 
 	PARAMETER
 
 	f         -- file open for writing
 	indent    -- indentation level
 	name      -- the base name used for the function
 	max_legs  -- the maximum number of legs to be considered/implemented
 	max_rank  -- the maximum rank to be considered/implemented
 	"""
 	nin = indent + 3
 
 	# function evaluate_s
 	for line in DOC.function_evaluate(name + "_s", "set", "integer array",d-1):
 		f.write(" "*indent+line+"\n")
 	f.write(" "*indent
 		+ "function     %s_s(numeval, momenta, set, rank) result(amp)\n"
 			% name)
 	f.write(" "*nin+"! generated by: write_function_evaluate\n")
 	f.write(" "*nin + "implicit none\n")
 	write_numeval_interface(f, nin, "numeval", d)
 	f.write(" "*nin + "real(ki), dimension(:,:), intent(in) :: momenta\n")
 	f.write(" "*nin + "integer, dimension(:), intent(in) :: set\n")
 	f.write(" "*nin + "integer, intent(in), optional :: rank\n")
 	f.write(" "*nin + "type(form_factor) :: amp\n")
 	f.write(" "*nin + "if (present(rank)) then\n")
 	f.write(" "*(nin+3) + "amp = %s_b(numeval, momenta, packb(set), rank)\n"
 			% name)
 	f.write(" "*nin + "else\n")
 	f.write(" "*(nin+3) + "amp = %s_b(numeval, momenta, packb(set))\n" % name)
 	f.write(" "*nin + "end if\n")
 	f.write(" "*indent + "end function %s_s\n" % name)
 
 	# function evaluate_b
 	for line in DOC.function_evaluate(name + "_b", 
 			"b_set", "integer (bit-set)",d-1):
 		f.write(" "*indent+line+"\n")
 	f.write(" "*indent
 		+ "function     %s_b(numeval, momenta, b_set, rank) result(amp)\n"
 			% name)
 	f.write(" "*nin + "implicit none\n")
 	write_numeval_interface(f, nin, "numeval", d)
 	f.write(" "*nin + "real(ki), dimension(:,:), intent(in) :: momenta\n")
 	f.write(" "*nin + "integer, intent(in) :: b_set\n")
 	f.write(" "*nin + "integer, intent(in), optional :: rank\n")
 	f.write(" "*nin + "type(form_factor) :: amp\n")
 	f.write(" "*nin + "integer :: N, r\n")
 	f.write(" "*nin + "complex(ki) :: coeffs0\n")
 	for r in range(1, min(max_legs+extra_rank,max_rank)+1):
 		if r == 2:
 			f.write(" "*nin + "type(%s) :: coeffs2, coeffs2x, coeffs2xx\n" %
 				(PAT['coefftype'] % 2))
 		else:
 			f.write(" "*nin + "type(%s) :: coeffs%d, coeffs%dx, coeffs%dxx\n" %
 				(PAT['coefftype'] % r, r, r, r))
 	#f.write(" "*nin + "amp = 0.0_ki\n")
 	f.write(" "*nin + "N = size(momenta,1) - countb(b_set)\n")
 	f.write(" "*nin + "if (present(rank)) then\n")
 	f.write(" "*(nin+3) + "r = rank\n")
 	f.write(" "*nin + "else\n")
 	f.write(" "*(nin+3) + "r = N\n")
 	f.write(" "*nin + "end if\n")
 	f.write(" "*nin + "select case(N)\n")
 	nin += 3
 	for N in range(1,max_legs+1):
 		f.write(" "*(nin-3) + "case(%d)\n" % N)
 		f.write(" "*nin  + "select case(r)\n")
 		nin += 3
 		for R in ( range(min(N+extra_rank,max_rank)+1) \
 				if N <= max_leg_extra_rank else range(min(N,max_rank)+1)):
 			f.write(" "*(nin-3) + "case(%d)\n" % R)
 
 			if N <= 4:
 				max_alpha = R/2
 			elif N == 5 and R >= 6:
 				max_alpha = R/2
 			else:
 				max_alpha = 0
 
 			if R == 0:
 				f.write(" "*nin + "coeffs0 = numeval(null_vec, 0.0_ki)\n")
 			else:
 				if max_alpha == 0:
 					f.write(" "*nin + "call %s(numeval, coeffs%d)\n"
 							% (PAT['reconstruct'] % R, R))
 				elif max_alpha == 1:
 					f.write(" "*nin + "call %s(numeval, coeffs%d, coeffs%d)\n"
 							% (PAT['reconstruct'] % R, R, R-2))
 				elif max_alpha == 2:
 					f.write(" "*nin
 							+ "call %s(numeval, coeffs%d, coeffs%d, coeffs%dx)\n"
 								% (PAT['reconstruct'] % R, R, R-2, R-2))
 				elif max_alpha == 3:
 					f.write(" "*nin
 							+ "call %s(numeval, coeffs%d, coeffs%d, coeffs%dx, coeffs%dxx)\n"
 								% (PAT['reconstruct'] % R, R, R-2, R-2, R-2))
 				else:
 					f.write(" "*nin + "print*, \"Problem: max_alpha = %d\"\n"
 							% max_alpha)
 					f.write(" "*nin + "stop\n")
 
 			if N > 1:
 				if R == 0:
 					f.write(" "*nin + "amp = coeffs0 * a%d0%s(b_set)\n"
 							% (N, ff_suffix))
 				else:
 					uninitialized = True
 					for alpha in range(0,max_alpha+1):
 						if alpha == 0:
 							proc = PAT['contract'] % (N, R)
 							coeffs = "coeffs%d" % R
 						elif alpha == 1:
 							proc = (PAT['contract'] % (N, R)) + ("s%d" % alpha)
 							coeffs = "coeffs%d" % (R - 2)
 						elif alpha == 2:
 							proc = (PAT['contract'] % (N, R)) + ("s%d" % alpha)
 							coeffs = "coeffs%dx" % (R - 2)
 						elif alpha == 3:
 							proc = (PAT['contract'] % (N, R)) + ("s%d" % alpha)
 							coeffs = "coeffs%dxx" % (R - 2)
 						else:
 							assert False, "Not yet implented: alpha=%s" % alpha
 
 						if uninitialized:
 							prev = ""
 							uninitialized = False
 						else:
 							prev = "amp + "
 						f.write(" "*nin + "amp = %s%s(%s,momenta,b_set)\n"
 								% (prev, proc, coeffs))
 			else:
 				f.write(" "*nin + "print*, \"Tadpoles not implemented yet\"\n")
 				f.write(" "*nin + "stop\n")
 
 		f.write(" "*(nin-3) + "case default\n")
 		f.write(" "*nin + "print*, \"Not yet implemented: N, r = \", %d, r\n"
 				% N)
 		f.write(" "*nin + "stop\n")
 		nin -= 3
 		f.write(" "*nin + "end select\n")
 	f.write(" "*(nin-3) + "case default\n")
 	f.write(" "*nin + "print*, \"Not yet implemented: N=\", N\n")
 	f.write(" "*nin + "stop\n")
 	nin -= 3
 	f.write(" "*nin + "end select\n")
 	f.write(" "*indent + "end function %s_b\n" % name)
 
 def ff_list(N,maxrank=None):
 	"""
 	List all form factors for a given number of legs.
 	"""
 	result = []
 	for r in range(N+1) if N > max_leg_extra_rank else range(N+1+extra_rank) :
 		if maxrank and r > maxrank:
 			break
 		if not (N == 1 and r == 1):
 			result.append("a%d%d" % (N, r))
 		if N < 6 and r >= 2:
 			result.append("b%d%d" % (N, r))
 		if N < 6 and r >= 4:
 			result.append("c%d%d" % (N, r))
 		if N < 6 and r >= 6:
 			result.append("d%d%d" % (N, r))
 
 
 	return result
 			
 def contract_init_momenta(f, nin, N, R, d):
 	"""
 	Write some common definitions for both varieties of 'contractXXX'.
 	"""
 	f.write(" "*nin + "integer, dimension(%d) :: unpinched\n" % N)
 	f.write(" "*nin+"unpinched = unpackb(pminus(b_ref, b_set), %d)\n" % N)
 
 def write_contract_split(f, nin, N, R, d):
 	"""
 	Writes the 'split' variant of contracting integrals, which is used
 	for N>=6.
 
 	Implements Eq. (63) in hep-ph/0504267
 	"""
 	assert R > 0
 	f.write(" "*nin+"! generated by: write_contract_split\n")
 	f.write(" "*nin + "complex(ki), dimension(0:%d) :: C\n" % (d-1))
 	if R > 1:
 		f.write(" "*nin + "type(%s) :: cprime\n" % (PAT['coefftype'] % (R-1)))
 	else:
 		f.write(" "*nin + "complex(ki) :: cprime\n")
 	f.write(" "*nin + "integer :: i, pnch, new_set\n")
 	f.write(" "*nin + "integer, dimension(1) :: pnch_set\n")
 	#f.write(" "*nin + "real(ki), dimension(%d,0:%d) :: mprime\n" % (N-1,d-1))
 	contract_init_momenta(f, nin, N, R, d)
 
 	f.write(" "*nin + "amp = coeffs%%c0 * a%d0%s(b_set)\n" % (N, ff_suffix))
 	f.write(" "*nin + "do pnch=1,%d\n" % N)
 	nin += 3
 
 	f.write(" "*nin + "! Eq. (54) in hep-ph/0504267\n")
 	f.write(" "*nin + "C(:) = 0.0_ki\n")
 	if TENS_DEBUG:
 		f.write(" "*nin + "write(15,'(A11)',advance='no') 'unpinched ='\n")
 	f.write(" "*nin + "do i=1,%d\n" % N)
 	nin += 3
 	f.write(" "*nin + "C(:) = C(:) " +
 		"+ inv_s(unpinched(pnch),unpinched(i),b_set) * &\n")
 	f.write(" "*nin + "     & momenta(unpinched(i),:)\n")
 	#f.write(" "*nin + "if (i .lt. pnch) then\n")
 	#f.write(" "*(nin+3) + "mprime(i,:) = mom(i,:)\n")
 	#if TENS_DEBUG:
 	#	f.write(" "*(nin+3) + "write(15,'(I2)',advance='no') unpinched(i)\n")
 	#f.write(" "*nin + "else if (i .gt. pnch) then\n")
 	#f.write(" "*(nin+3) + "mprime(i-1,:) = mom(i,:)\n")
 	#if TENS_DEBUG:
 	#	f.write(" "*(nin+3) + "write(15,'(I2)',advance='no') unpinched(i)\n")
 	#f.write(" "*nin + "end if\n")
 	nin -= 3
 	f.write(" "*nin + "end do\n")
 	if TENS_DEBUG:
 		f.write(" "*nin + "write(15,'(A1)') '.'\n")
 	f.write(" "*nin + "! Eq. (63) in hep-ph/0504267\n")
 	f.write(" "*nin + "pnch_set(1) = pnch\n")
 	f.write(" "*nin + "new_set = punion(packb(pnch_set),b_set)\n")
 
 	coeff_lsts = []
 	coeff_by_rank = [{} for i in range(R+1)]
 
 	for k in range(1, min(R,d)+1):
 		lst, dic = generate_mapping(R, k)
 		coeff_lsts.append(lst)
 		i = 0
 		for e in lst:
 			i += 1
 			rk = sum(e)
 			coeff_by_rank[rk][e] = (k, i)
 
 	reduced_coeffs = {}
 	initialized_coeffs = {}
 	for k in range(1, min(R-1,d)+1):
 		lst, dic = generate_mapping(R-1, k)
 		lab = 0
 		for indices in select(range(d), k):
 			lab += 1
 			idx = 0
 			for e in lst:
 				idx += 1
 				subscript = reduce(lambda x, y: x+y,
 						map(lambda (p, q): [p]*q, zip(indices, e)), [])
 
 				subscript = tuple(subscript)
 				reduced_coeffs[subscript] = (k, lab, idx)
 				initialized_coeffs[subscript] = False
 	initialized_c0 = False
 
 	for rk in range(1, R+1):
 		for e, pair in coeff_by_rank[rk].iteritems():
 			k, idx = pair
 
 			tot_perm = len([q for q in permutations(e)])
 
 			lab = 0
 			for indices in select(range(d), k):
 				lab += 1
 				subscript = reduce(lambda x, y: x+y,
 						map(lambda (p, q): [p]*q, zip(indices, e)), [])
 
 				for i in range(k):
 					new_e = list(e)
 					new_e[i] -= 1
 					rsubscript = reduce(lambda x, y: x+y,
 						map(lambda (p, q): [p]*q, zip(indices, new_e)), [])
 
 					if new_e[i] == 0:
 						del new_e[i]
 					if len(new_e) == 0:
 						r_perm = 1
 					else:
 						r_perm = len([q for q in permutations(new_e)])
 
 					num, den = simp_fact(r_perm, tot_perm)
 					if num == den:
 						RHS = ""
 					elif den == 1:
 						RHS = "%d.0_ki * " % num
 					elif num == 1 and den == 2:
 						RHS = "0.5_ki * "
 					elif num == 1 and den == 4:
 						RHS = "0.25_ki * "
 					else:
 						RHS = "%d.0_ki/%d.0_ki * " % (num, den)
 
 					RHS = "%sC(%d) * coeffs%%c%d(%d, %d)" \
 								% (RHS, indices[i], k, lab, idx)
 					if sum(new_e) > 0:
 						rsub = tuple(rsubscript)
 						r_k, r_lab, r_idx = reduced_coeffs[rsub]
 						initialized = initialized_coeffs[rsub]
 						initialized_coeffs[rsub] = True
 						LHS = "cprime%%c%d(%d,%d)" % (r_k, r_lab, r_idx)
 					elif R > 1:
 						rsubscript = []
 						initialized = initialized_c0
 						initialized_c0 = True
 						LHS = "cprime%c0"
 					else:
 						rsubscript = []
 						initialized = initialized_c0
 						initialized_c0 = True
 						LHS = "cprime"
 					f.write(" "*nin + "! %s <-- %s\n"
 							% (rsubscript, subscript))
 					if initialized:
 						f.write(" "*nin + "%s = %s + %s\n" % (LHS, LHS, RHS))
 					else:
 						f.write(" "*nin + "%s = %s\n" % (LHS, RHS))
 
 	if R > 1:
 		f.write(" "*nin + "amp = amp - %s(cprime, momenta, new_set)\n"
 				% (PAT['contract'] % (N-1,R-1)))
 	else:
 		f.write(" "*nin + "amp = amp - cprime * a%d0%s(new_set)\n"
 				% (N-1, ff_suffix))
 	nin -= 3
 	f.write(" "*nin + "end do\n")
 
 def simp_fact(num, den):
 	"""
 	Simplify a rational number given by num and den.
 	"""
 	def gcd(a, b):
 		while b > 0:
 			t = b
 			b = a % b
 			a = t
 		return a
 
 	g = gcd(num, den)
 	return (num / g, den / g)
 
 def fact(N):
 	"""
 	Compute the factorial of a non-negative integer number.
 	"""
 	if N == 0:
 		return 1
 	elif N > 0:
 		return reduce(lambda x, y: x*y, range(2, N), N)
 
 def momenta_symm(lst):
 	"""
 	Combinatorial number, unordered selection with repetition.
 
 	In how many ways can we assign distinct indices to not necessarily
 	distinct vectors.
 	"""
 	count_lst = []
 	p_prev = -1
 	count = 0
 	for p in lst:
 		if p == p_prev:
 			count += 1
 		elif p_prev == -1:
 			p_prev = p
 			count = 1
 		else:
 			count_lst += [count]
 			count = 1
 			p_prev = p
 	count_lst += [count]
 	return fact(sum(count_lst)) / reduce(lambda x, y: x*y,
 			map(fact, count_lst))
 
 def choose_momenta(R, N, i0=1):
 	"""
 	Yields all possibilities of selecting R momenta from a set of
 	N momenta with repetitions, however, with some ordering amongst
 	the vectors.
 
 	EXAMPLE
 
 	>>> for m in choose_momenta(3, 2):
 	...	print m
 	[1, 1, 1]
 	[1, 1, 2]
 	[1, 2, 2]
 	[2, 2, 2]
 	>>> for m in choose_momenta(2, 3):
 	...	print m
 	[1, 1]
 	[1, 2]
 	[1, 3]
 	[2, 2]
 	[2, 3]
 	[3, 3]
 	"""
 
 	if R == 0:
 		yield []
 	else:
 		for cmidx in range(i0, N+1):
 			for cmlst in choose_momenta(R - 1, N, cmidx):
 				yield [cmidx] + cmlst[:]
 
 def write_contract_simple(f, nin, N, R, d, shift):
 	"""
 	  N     -- number of denominators
 	  R     -- overall rank
 	  shift -- power of mu^2 in the numerator
 	"""
 
 	def ff_required(kind, N, R):
 		if shift == 0:
 			if N == 1:
 				return R == 0 and kind == 0
 			elif N <= 5:
 				return 2*kind <= R
 			else:
 				# No B or C form factors for N >= 6
 				return kind == 0
 		elif shift == 1:
 			if kind == 1:
 				# B form factors
 				if N == 2:
 					return R >= 2
 				elif N == 3:
 					return R >= 2
 				elif N == 5:
 					return R >= 6
 				else:
 					return False
 			elif kind == 2:
 				# C form factors
 				return (N == 4 and R >= 4) or \
 						 (N == 3 and R >= 4) or (N == 5 and R >= 6)
 			else:
 				# There's no A
 				return False
 		elif shift == 2:
 			return ( N == 4 and R >= 4 and kind == 2 ) or \
 		        ( N == 3 and R >= 4 and kind == 2 ) or (N == 5 and R >= 6)
 		elif shift == 3:
 			return (N == 5 and R >=6)
 		assert(False)
 
 	def ff(kind, N, R, *args):
 		letters = ["a", "b", "c", "d"]
 		ltr = letters[kind]
 
 		return "%s%d%d%s(%s)" % (ltr, N, R, ff_suffix,
 				", ".join(["l%d" % a for a in args] + ["b_set"]))
 
 	# if shift == 1 or shift == 2 the coeff_type is reduced by 2
 	# as a concequence of the reconstruction algorithm.
 	if shift == 0:
 		coeff_type = R
 	else:
 		coeff_type = R - 2
 
 	# residual rank = overall rank - power of mu^2
 	rk_res = R - 2*shift
 
 	f.write(" "*nin+"! generated by: write_contract_simple\n")
 
 	# special case for rank6 pentagons (mu^2, mu^4, mu^6)
 	if N==5 and R==6 and shift==1:
             f.write(" "*nin+ "amp%c = 1./64._ki * ( coeffs%c1(1,4) + coeffs%c1(2,4) + &\n")
             f.write(" "*nin+ "          & coeffs%c1(3,4) + coeffs%c1(4,4) - coeffs%c2(1,5) - coeffs%c2(2,5) - coeffs%c2(3,5) &\n")
             f.write(" "*nin+ "          &  + coeffs%c2(4,5) + coeffs%c2(5,5) + coeffs%c2(6,5) )\n")
             f.write(" "*nin+ "amp%b = 0.0_ki\n")
             f.write(" "*nin+ "amp%a = 0.0_ki\n")
             return
         elif N==5 and R==6 and shift==2:
             f.write(" "*nin+ "amp%c = - 1./48._ki * ( coeffs%c1(1,2) - coeffs%c1(2,2) - &\n")
             f.write(" "*nin+ "                      & coeffs%c1(3,2) - coeffs%c1(4,2) )\n");
             f.write(" "*nin+ "amp%b = 0.0_ki\n")
             f.write(" "*nin+ "amp%a = 0.0_ki\n")
             return
         elif N==5 and R==6 and shift==3:
             f.write(" "*nin+ "amp%c =  coeffs%c0 * 1._ki/12._ki\n")
             f.write(" "*nin+ "amp%b = 0.0_ki\n")
             f.write(" "*nin+ "amp%a = 0.0_ki\n")
             return
 
 	for r in range(1,rk_res + 1):
 		f.write(" "*nin + "real(ki), dimension(%d,0:%d) :: mom%d\n" % (r, d-1, r))
 
 	f.write(" "*nin + "integer :: %s\n"
 			% ", ".join(["l%d" % i for i in range(1,N+1)]))
 
+	f.write(" "*nin + "complex(ki) :: tmp\n")
+
+
 	contract_init_momenta(f, nin, N, R, d)
 
 	for i in range(1, N+1):
 		f.write(" "*nin+"l%d = unpinched(%d)\n" % (i, i))
 
 	uninitialized = True
 	letters = ['a', 'b', 'c', 'd']
 
 	for r in range(R+1):
 		# looping over kind:
 		# - lower bound = shift because there are no
 		#   A's for shift>=1 and no B's for shift == 2
 		# - upper bound = r/2 because B's exist only from r>=2 and 
 		#   C's only for r>=4
 		for kind in range(shift,r/2+1):
 			# After our preselection there are still some we do not need
 			# therefore an if-statement
 			if ff_required(kind, N, r):
 				# How many indices are there to be summed over?
 				rk_indices = r - 2 * kind
 
 				# If ff_required works as expected, rk_indices cannot
 				# become negative
 				assert rk_indices >= 0, "N=%d,R=%d,r=%d,kind=%d,rk_res=%d" \
 						% (N, R, r, kind, rk_res)
 
 				for indices in choose_momenta(rk_indices, N):
 					ffactor = ff(kind, N, r, *indices)
 					cindex = kind - shift
 
 					if rk_indices > 0:
 						f.write(" "*nin + "mom%d = momenta((/%s/),:)\n"
 								% (rk_indices, ",".join(
 									map(lambda x: "l%d" % x,indices))))
 					if uninitialized:
 						prev = ""
 						uninitialized = False
 					else:
 						prev = "amp + "
 
 					if coeff_type == 0:
 						assert cindex == 0
 						symm = 1
 						ssymm = ""
 						coeff = "coeffs"
 					elif cindex == 0 and rk_indices == 0:
 						symm = 1
 						ssymm = ""
 						coeff = "coeffs%c0"
 					else:
 						coeff = PAT['tenscontract%s' % letters[cindex]] % coeff_type
 
 						if rk_indices > 0:
 							symm = momenta_symm(indices)
 							if symm == 1:
 								ssymm = ""
 							else:
 								ssymm = "%d.0_ki * " % symm
 							coeff = "%s(coeffs, mom%d)" % (coeff, rk_indices)
 						else:
 							coeff = "%s(coeffs)" % (coeff)
 							symm = 1
 							ssymm = ""
 
-					s1 = " "*nin + "amp = " + prev + ssymm + coeff
+                                        s0 = " "*nin + "tmp = %s\n" % coeff
+                                        f.write(s0)
+                                        if prev:
+                                            s0 = " "*nin + "if (test_if_nonzero(tmp)) then\n"
+                                            f.write(s0)
+                                            nin=nin+1
+
+					s1 = " "*nin + "amp = " + prev + ssymm + "tmp"
 					s2 = " * " + ffactor
 
+
 					if len(s1) + len(s2) <= F90_WIDTH:
 						f.write(s1 + s2 + "\n")
 					else:
 						f.write(s1 + " &\n" + " "*nin + "& " + s2 + "\n")
+                                        if prev:
+                                            nin=nin-1
+                                            f.write(" "*nin + "end if\n")
 
 					if TENS_DEBUG:
 						f.write(" "*nin
 							+"write(15,*), \"%s =\", %s\n" % (ffactor, ffactor))
 						f.write(" "*nin
 							+"write(15,*), \"coeff =\", %s\n" % coeff)
 						f.write(" "*nin
 							+"write(15,*), \"symm =\", %d\n" % symm)
 						f.write(" "*nin
 							+"write(15,*), \"shift =\", %d\n" % shift)
 
 	if uninitialized:
 		f.write(" "*nin+"amp = 0.0_ki\n")
 	else:
 		if shift == 1:
 			f.write(" "*nin+"! multiply by 2*epsilon\n")
 			f.write(" "*nin+"amp%c = 2.0_ki*amp%b\n")
 			f.write(" "*nin+"amp%b = 2.0_ki*amp%a\n")
 			f.write(" "*nin+"amp%a = 0.0_ki\n")
 		elif shift == 2:
 			f.write(" "*nin+"! multiply by -4*(epsilon-epsilon^2)\n")
 			f.write(" "*nin+"amp%c = -4.0_ki*(amp%b-amp%a)\n")
 			f.write(" "*nin+"amp%b = -4.0_ki*amp%a\n")
 			f.write(" "*nin+"amp%a = 0.0_ki\n")
 		elif shift == 3:
 			f.write(" "*nin+"! multiply by -8*(3 epsilon^2 - 2 epsilon)\n")
 			f.write(" "*nin+"amp%c = 16._ki*amp%b - 24._ki * amp%a\n")
 			f.write(" "*nin+"amp%b = 16._ki*amp%a\n")
 			f.write(" "*nin+"amp%a = 0.0_ki\n")
 
 def res_accu_line(lines, i, j, k, res_first):
 	if lines[-1] == "acc = -1.0_ki":
 		if res_first:
 			lhs = "res = -"
 		else:
 			lhs = "res = res - "
 		lines[-1] = lhs + "coeffs%%c%d(%d,%d)" % (k, j, i)
 	elif lines[-1] == "acc = 1.0_ki":
 		if res_first:
 			lhs = "res = "
 		else:
 			lhs = "res = res + "
 		lines[-1] = lhs + "coeffs%%c%d(%d,%d)" % (k, j, i)
 	else:
 		if res_first:
 			lhs = "res = "
 		else:
 			lhs = "res = res + "
 		lines.append(lhs + "acc * coeffs%%c%d(%d,%d)" % (k, j, i))
 
 def write_function_a_tensor_contract(f, indent, name, R, d):
 	"""
 	Writes a function that contracts a A-type tensor (no g^{mu nu})
 	constructed from a given set of momenta with a coefficient tensor
 	"""
 	coeff_lsts = []
 	coeff_by_rank = [{} for i in range(R+1)]
 
 	for k in range(1, min(R,d)+1):
 		lst, dic = generate_mapping(R, k)
 		coeff_lsts.append(lst)
 		i = 0
 		for e in lst:
 			i += 1
 			rk = sum(e)
 			coeff_by_rank[rk][e] = (k, i)
 
 	nin = indent + 3
 	for line in DOC.function_tenscontractX(name,"A",R,PAT["coefftype"]%R,d-1):
 		f.write(" "*indent+line+"\n")
 	f.write(" "*indent
 		+ "pure function %s(coeffs, momenta) result(res)\n" % name)
 	f.write(" "*nin+"! generated by: write_function_a_tensor_contract\n")
 	f.write(" "*nin + "implicit none\n")
 
 	f.write(" "*nin + "type(%s), intent(in) :: coeffs\n" % PAT['coefftype'] % R)
 	f.write(" "*nin
 			+ "real(ki), dimension(:,0:), intent(in), optional :: momenta\n")
 	f.write(" "*nin + "complex(ki) :: res\n")
 	f.write(" "*nin + "integer :: rk\n")
 	f.write(" "*nin + "real(ki) :: acc\n")
 
 	tens_lines = {}
 	registers = set()
 
 	for r in range(1, R+1):
 		res_first = True
 		momenta = ["momenta(%d,%%d)" % m for m in range(1, r+1)]
 		lines = []
 		for key, value in coeff_by_rank[r].iteritems():
 			k, i = value
 			mult = coeff_lsts[k-1][i-1]
 			j = 0
 			for idx in select(range(d), k):
 				j += 1
 				terms = []
 				symm = 0
 				for p in permutations(mult):
 					tmp = map(lambda (m, mu): m % mu,
 							zip(momenta, [idx[pi] for pi in p]))
 					terms.append(tmp)
 					symm += 1
 				calculate_tensor_terms(lines, terms, registers)
 
 				if symm > 1:
 					lines.append("acc = acc / %d.0_ki" % symm)
 
 				res_accu_line(lines, i, j, k, res_first)
 				res_first = False
 
 		tens_lines[r] = lines
 
 	for reg in registers:
 		f.write(" "*nin + "real(ki) :: %s\n" % reg)
 
 	f.write(" "*nin + "if (present(momenta)) then\n")
 	f.write(" "*(nin+3) + "rk = size(momenta, 1)\n")
 	f.write(" "*nin + "else\n")
 	f.write(" "*(nin+3) + "rk = 0\n")
 	f.write(" "*nin + "end if\n")
 	f.write(" "*nin + "select case(rk)\n")
 	nin += 3
 
 	for r in range(1, R+1):
 		f.write(" "*(nin-3) + "case(%d)\n" % r)
 
 		for line in tens_lines[r]:
 			f.write(" "*nin + line + "\n")
 
 	f.write(" "*(nin-3) + "case default\n")
 	f.write(" "*nin + "res = 0.0_ki\n")
 	nin -= 3
 	f.write(" "*nin + "end select\n")
 	f.write(" "*indent + "end  function %s\n" % name)
 
 def write_function_b_tensor_contract(f, indent, name, R, d):
 	"""
 	Writes a function that contracts a B-type tensor (one g^{mu nu})
 	constructed from a given set of momenta with a coefficient tensor
 	"""
 	coeff_lsts = []
 	coeff_by_rank = [{} for i in range(R+1)]
 
 	for k in range(1, min(R,d)+1):
 		lst, dic = generate_mapping(R, k)
 		coeff_lsts.append(lst)
 		i = 0
 		for e in lst:
 			i += 1
 			rk = sum(e)
 			coeff_by_rank[rk][e] = (k, i)
 
 	for line in DOC.function_tenscontractX(name,"B",R,PAT["coefftype"]%R,d-1):
 		f.write(" "*indent+line+"\n")
 	nin = indent + 3
 	f.write(" "*indent
 		+ "pure function %s(coeffs, momenta) result(res)\n" % name)
 	f.write(" "*nin+"! generated by: write_function_b_tensor_contract\n")
 	f.write(" "*nin + "implicit none\n")
 
 	f.write(" "*nin + "type(%s), intent(in) :: coeffs\n" % PAT['coefftype'] % R)
 	f.write(" "*nin
 			+ "real(ki), dimension(:,0:), intent(in), optional :: momenta\n")
 	f.write(" "*nin + "complex(ki) :: res\n")
 	f.write(" "*nin + "integer :: rk\n")
 	f.write(" "*nin + "real(ki) :: acc\n")
 
 	tens_lines = {}
 	registers = set()
 
 	for r in range(0, (R-2)+1):
 		res_first = True
 		momenta = ["momenta(%d,%%d)" % m for m in range(1, r+1)]
 		lines = []
 		for key, value in coeff_by_rank[r+2].iteritems():
 			k, i = value
 			mult = coeff_lsts[k-1][i-1]
 			for mi in range(len(mult)):
 				if mult[mi] < 2:
 					continue
 
 				gsymm = len([X for X in select(range(mult[mi]), 2)])
 
 				new_mult = [mm for mm in mult]
 				new_mult[mi] -= 2
 				j = 0
 				for idx in select(range(d), k):
 					j += 1
 					terms = []
 
 					if idx[mi] == 0:
 						g_mi_mi = 1
 					else:
 						g_mi_mi = -1
 
 					symm = 0
 					for p in permutations(new_mult):
 						tmp = map(lambda (m, mu): m % mu,
 							zip(momenta, [idx[pi] for pi in p]))
 						tmp = [g_mi_mi * gsymm] + tmp
 						terms.append(tmp)
 						symm += 1
 					calculate_tensor_terms(lines, terms, registers)
 
 					if symm > 1:
 						lines.append("acc = acc / %d.0_ki" % symm)
 
 					res_accu_line(lines, i, j, k, res_first)
 					res_first = False
 
 		tens_lines[r] = lines
 
 	for reg in registers:
 		f.write(" "*nin + "real(ki) :: %s\n" % reg)
 
 	f.write(" "*nin + "if (present(momenta)) then\n")
 	f.write(" "*(nin+3) + "rk = size(momenta, 1)\n")
 	f.write(" "*nin + "else\n")
 	f.write(" "*(nin+3) + "rk = 0\n")
 	f.write(" "*nin + "end if\n")
 	f.write(" "*nin + "select case(rk)\n")
 	nin += 3
 
 	for r in range(0, (R-2)+1):
 		f.write(" "*(nin-3) + "case(%d)\n" % r)
 
 		for line in tens_lines[r]:
 			f.write(" "*nin + line + "\n")
 
 	f.write(" "*(nin-3) + "case default\n")
 	f.write(" "*nin + "res = 0.0_ki\n")
 	nin -= 3
 	f.write(" "*nin + "end select\n")
 	f.write(" "*indent + "end  function %s\n" % name)
 
 def select_two_pairs(mult):
 	"""
 	Select two pairs of indices given a list of multiplicities.
 	"""
 	candidates = {}
 	for i in range(len(mult)):
 		mi = mult[i]
 		if mi >= 2:
 			candidates[i] = mi
 
 	for i, mi in candidates.iteritems():
 		if mi >= 4:
 			yield i, i
 
 	for lst in select(candidates.keys(), 2):
 		yield lst[0], lst[1]
 
 def select_three_pairs(mult):
 	"""
 	Select three pairs of indices given a list of multiplicities.
 	"""
 	candidates = {}
 	for i in range(len(mult)):
 		mi = mult[i]
 		if mi >= 2:
 			candidates[i] = mi
 
 	for i, mi in candidates.iteritems():
 		if mi >= 6:
 			yield i, i, i
 
 	for i, mi in candidates.iteritems():
 		if mi >= 4:
 			for j, mj in candidates.iteritems():
 				if mj >= 2 and i != j:
 					yield i, i, j
 
 	for lst in select(candidates.keys(), 3):
 		yield lst[0], lst[1], lst[2]
 
 
 def write_function_c_tensor_contract(f, indent, name, R, d):
 	"""
 	Writes a function that contracts a C-type tensor (two g^{mu nu})
 	constructed from a given set of momenta with a coefficient tensor
 	"""
 	coeff_lsts = []
 	coeff_by_rank = [{} for i in range(R+1)]
 
 	for k in range(1, min(R,d)+1):
 		lst, dic = generate_mapping(R, k)
 		coeff_lsts.append(lst)
 		i = 0
 		for e in lst:
 			i += 1
 			rk = sum(e)
 			coeff_by_rank[rk][e] = (k, i)
 
 	for line in DOC.function_tenscontractX(name,"C",R,PAT["coefftype"]%R,d-1):
 		f.write(" "*indent+line+"\n")
 	nin = indent + 3
 	f.write(" "*indent
 		+ "pure function %s(coeffs, momenta) result(res)\n" % name)
 	f.write(" "*nin+"! generated by: write_function_c_tensor_contract\n")
 	f.write(" "*nin + "implicit none\n")
 
 	f.write(" "*nin + "type(%s), intent(in) :: coeffs\n" % PAT['coefftype'] % R)
 	f.write(" "*nin
 			+ "real(ki), dimension(:,0:), intent(in), optional :: momenta\n")
 	f.write(" "*nin + "complex(ki) :: res\n")
 	f.write(" "*nin + "integer :: rk\n")
 	f.write(" "*nin + "real(ki) :: acc\n")
 
 	tens_lines = {}
 	registers = set()
 
 	for r in range(0, (R-4)+1):
 		res_first = True
 		momenta = ["momenta(%d,%%d)" % m for m in range(1, r+1)]
 		lines = []
 		for key, value in coeff_by_rank[r+4].iteritems():
 			k, i = value
 			mult = coeff_lsts[k-1][i-1]
 
 			for mi, mj in select_two_pairs(mult):
 				new_mult = [mm for mm in mult]
 				new_mult[mi] -= 2
 				new_mult[mj] -= 2
 				if mi == mj:
 					gsymm = 3 * len([X for X in select(range(mult[mi]), 4)])
 				else:
 					gsymm = len([X for X in select(range(mult[mi]), 2)]) * \
 					        len([X for X in select(range(mult[mj]), 2)])
 				j = 0
 				for idx in select(range(d), k):
 					j += 1
 					terms = []
 
 					if idx[mi] == 0:
 						g_mi_mi = 1
 					else:
 						g_mi_mi = -1
 
 					if idx[mj] == 0:
 						g_mj_mj = 1
 					else:
 						g_mj_mj = -1
 
 					symm = 0
 					for p in permutations(new_mult):
 						tmp = map(lambda (m, mu): m % mu,
 							zip(momenta, [idx[pi] for pi in p]))
 						tmp = [g_mi_mi*g_mj_mj*gsymm] + tmp
 						terms.append(tmp)
 
 						symm += 1
 
 					calculate_tensor_terms(lines, terms, registers)
 
 					if symm > 1:
 						lines.append("acc = acc / %d.0_ki" % symm)
 
 					res_accu_line(lines, i, j, k, res_first)
 					res_first = False
 
 		tens_lines[r] = lines
 
 	for reg in registers:
 		f.write(" "*nin + "real(ki) :: %s\n" % reg)
 
 	f.write(" "*nin + "if (present(momenta)) then\n")
 	f.write(" "*(nin+3) + "rk = size(momenta, 1)\n")
 	f.write(" "*nin + "else\n")
 	f.write(" "*(nin+3) + "rk = 0\n")
 	f.write(" "*nin + "end if\n")
 	f.write(" "*nin + "select case(rk)\n")
 	nin += 3
 
 	for r in range(0, (R-4)+1):
 		f.write(" "*(nin-3) + "case(%d)\n" % r)
 
 		for line in tens_lines[r]:
 			f.write(" "*nin + line + "\n")
 
 	f.write(" "*(nin-3) + "case default\n")
 	f.write(" "*nin + "res = 0.0_ki\n")
 	nin -= 3
 	f.write(" "*nin + "end select\n")
 	f.write(" "*indent + "end  function %s\n" % name)
 
 def write_function_d_tensor_contract(f, indent, name, R, d):
 	"""
 	Writes a function that contracts a D-type tensor (three g^{mu nu})
 	constructed from a given set of momenta with a coefficient tensor
 	"""
 	coeff_lsts = []
 	coeff_by_rank = [{} for i in range(R+1)]
 
 	for k in range(1, min(R,d)+1):
 		lst, dic = generate_mapping(R, k)
 		coeff_lsts.append(lst)
 		i = 0
 		for e in lst:
 			i += 1
 			rk = sum(e)
 			coeff_by_rank[rk][e] = (k, i)
 
 	for line in DOC.function_tenscontractX(name,"D",R,PAT["coefftype"]%R,d-1):
 		f.write(" "*indent+line+"\n")
 	nin = indent + 3
 	f.write(" "*indent
 		+ "pure function %s(coeffs, momenta) result(res)\n" % name)
 	f.write(" "*nin+"! generated by: write_function_d_tensor_contract\n")
 	f.write(" "*nin + "implicit none\n")
 
 	f.write(" "*nin + "type(%s), intent(in) :: coeffs\n" % PAT['coefftype'] % R)
 	f.write(" "*nin
 			+ "real(ki), dimension(:,0:), intent(in), optional :: momenta\n")
 	f.write(" "*nin + "complex(ki) :: res\n")
 	f.write(" "*nin + "integer :: rk\n")
 	f.write(" "*nin + "real(ki) :: acc\n")
 
 	tens_lines = {}
 	registers = set()
 
 	for r in range(0, (R-6)+1):
 		res_first = True
 		momenta = ["momenta(%d,%%d)" % m for m in range(1, r+1)]
 		lines = []
 		for key, value in coeff_by_rank[r+6].iteritems():
 			k, i = value
 			mult = coeff_lsts[k-1][i-1]
 
 			for mi, mj, mk in select_three_pairs(mult):
 				new_mult = [mm for mm in mult]
 				new_mult[mi] -= 2
 				new_mult[mj] -= 2
 				new_mult[mk] -= 2
 				if mi == mj and mi == mk:
 					gsymm = 15 * len([X for X in select(range(mult[mi]), 6)])
 				elif mi == mj and mi != mk:
 					gsymm = 3 * len([X for X in select(range(mult[mi]), 4)]) * \
 					        len([X for X in select(range(mult[mk]), 2)])
 				else:
 					gsymm = len([X for X in select(range(mult[mi]), 2)]) * \
 					        len([X for X in select(range(mult[mj]), 2)]) * \
 					        len([X for X in select(range(mult[mk]), 2)])
 				j = 0
 				for idx in select(range(d), k):
 					j += 1
 					terms = []
 
 					if idx[mi] == 0:
 						g_mi_mi = 1
 					else:
 						g_mi_mi = -1
 
 					if idx[mj] == 0:
 						g_mj_mj = 1
 					else:
 						g_mj_mj = -1
 
 					if idx[mk] == 0:
 						g_mk_mk = 1
 					else:
 						g_mk_mk = -1
 
 
 					symm = 0
 					for p in permutations(new_mult):
 						tmp = map(lambda (m, mu): m % mu,
 							zip(momenta, [idx[pi] for pi in p]))
 						tmp = [g_mi_mi*g_mj_mj*g_mk_mk*gsymm] + tmp
 						terms.append(tmp)
 
 						symm += 1
 
 					calculate_tensor_terms(lines, terms, registers)
 
 					if symm > 1:
 						lines.append("acc = acc / %d.0_ki" % symm)
 
 					res_accu_line(lines, i, j, k, res_first)
 					res_first = False
 
 
 		tens_lines[r] = lines
 
 	for reg in registers:
 		f.write(" "*nin + "real(ki) :: %s\n" % reg)
 
 	f.write(" "*nin + "if (present(momenta)) then\n")
 	f.write(" "*(nin+3) + "rk = size(momenta, 1)\n")
 	f.write(" "*nin + "else\n")
 	f.write(" "*(nin+3) + "rk = 0\n")
 	f.write(" "*nin + "end if\n")
 	f.write(" "*nin + "select case(rk)\n")
 	nin += 3
 
 	for r in range(0, (R-6)+1):
 		f.write(" "*(nin-3) + "case(%d)\n" % r)
 
 		for line in tens_lines[r]:
 			f.write(" "*nin + line + "\n")
 
 	f.write(" "*(nin-3) + "case default\n")
 	f.write(" "*nin + "res = 0.0_ki\n")
 	nin -= 3
 	f.write(" "*nin + "end select\n")
 	f.write(" "*indent + "end  function %s\n" % name)
 
 def calculate_tensor_terms(lines, terms, registers, level=0):
 	"""
 	Computes a multi-variate Horner-scheme for a set of terms,
 	which represent monomials in the components of q.
 
 	PARAMETER
 
 	  lines     -- a list in which the generated commands are stored
 	  terms     -- a list of terms (a list of lists of factors)
 	  registers -- a set in which the names of intermediate expressions are
 	               stored
 	  level     -- internal parameter, level of recursion
 	"""
 	count_factors = {}
 	for term in terms:
 		for factor in term:
 			if isinstance(factor, int):
 				continue
 			if factor in count_factors:
 				count_factors[factor] += 1
 			else:
 				count_factors[factor] = 1
 	if len(count_factors) == 0:
 		gain = 0
 	else:
 		gain = max(count_factors.values())
 	if gain <= 1:
 		if len(terms) == 0:
 			lines.append("acc = 0.0_ki")
 		else:
 			is_first = True
 			for term in terms:
 				assert len(term) > 0
 				if isinstance(term[0], int):
 					factor = term[0]
 
 					if factor == -1:
 						sign = -1
 						ofs = 1
 					elif factor == 1:
 						sign = 1
 						ofs = 1
 					elif factor < 0:
 						sign = -1
 						term[0] = abs(factor)
 						ofs = 0
 					else:
 						sign = 1
 						ofs = 0
 				else:
 					sign = 1
 					ofs = 0
 
 				if is_first:
 					if sign == -1:
 						lhs = "acc = -"
 					else:
 						lhs = "acc = "
 					is_first = False
 				else:
 					if sign == -1:
 						lhs = "acc = acc - "
 					else:
 						lhs = "acc = acc + "
 
 				if len(term[ofs:]) == 0:
 					lines.append(lhs + "1.0_ki")
 				else:
 					lines.append(lhs + "*".join(map(str,term[ofs:])))
 	else:
 		pivot = max(count_factors.keys(), key=lambda x: count_factors[x])
 		A0 = []
 		A1 = []
 
 		for term in terms:
 			if pivot in term:
 				tcp = term[:]
 				tcp.remove(pivot)
 				A1.append(tcp)
 			else:
 				A0.append(term)
 		assert len(A1) > 0
 
 		if len(A0) > 0:
 			calculate_tensor_terms(lines, A1, registers, level+1)
 			register = "reg%d" % level
 			registers.add(register)
 			lines.append(register + " = acc * " + pivot)
 			calculate_tensor_terms(lines, A0, registers, level+1)
 			lines.append("acc = acc + " + register)
 		else:
 			calculate_tensor_terms(lines, A1, registers, level+1)
 			lines.append("acc = acc * " + pivot)
 
 def write_function_contract(f, indent, name, N, R, d, shift=0):
 	"""
 	Writes a function to contract the coefficients with the form factors.
 
 	shift -- 0: normal contraction
 	         1: contract integrals with mu^2
 				2: contract integrals with mu^4
 				3: contract integrals with mu^6
 	"""
 	nin = indent + 3
 	if shift == 0:
 		coeff_type = R
 	else:
 		coeff_type = R - 2
 
 
 	if coeff_type > 0:
 		CT = PAT["coefftype"] % coeff_type
 	else:
 		CT = "complex(ki)"
 
 	if shift > 0:
 		SHI = "with (mu^2)^%d in the numerator " % shift
 	else:
 		SHI = ""
 
 	for line in DOC.function_contract(name, N, R, CT, SHI, d-1):
 		f.write(" "*indent+line+"\n")
 	f.write(" "*indent
 		+ "function     %s(coeffs, momenta, b_set) result(amp)\n" % name)
 	f.write(" "*nin+"! generated by: write_function_contract\n")
 	f.write(" "*nin + "implicit none\n")
 	if coeff_type > 0:
 		f.write(" "*nin + "type(%s), intent(in) :: coeffs\n" % CT)
 	else:
 		f.write(" "*nin + "complex(ki), intent(in) :: coeffs\n")
 	f.write(" "*nin + "real(ki), dimension(:,0:), intent(in) :: momenta\n")
 	f.write(" "*nin + "integer, intent(in) :: b_set\n")
 	f.write(" "*nin + "type(form_factor) :: amp\n")
 
 	if N >= 6:
 		assert shift == 0
 		write_contract_split(f, nin, N, R, d)
 	else:
 		write_contract_simple(f, nin, N, R, d, shift)
 
 	f.write(" "*indent + "end function %s\n" % name)
 
 def write_module_combine(name, tens_rec, max_legs, max_rank, d=4):
 	f = open("%s.f90" % name, 'w')
 	for line in DOC.module_combine():
 		f.write(line + "\n")
 	f.write("module %s\n" % name)
 	f.write("! This module has been generated using a script.\n")
 	f.write("! Please, refrain from modifying it directly!\n")
 	f.write("use %s, only: ki\n" % precision_golem)
 	f.write("use %s, only: b_ref, inv_s\n" % matrice_golem)
 	f.write("use %s, only: packb, unpackb, countb, pminus, punion\n"
 			% array_golem)
 	f.write("use %s, only: form_factor, operator(+), operator(-), &\n"
 			% ff_golem)
 	f.write("    & operator(*), assignment(=)\n")
 	for N in range(golem_minlegs,max_legs+1):
 		write_list(f, "use %s, only:" % (ffp_golem % N),
 				map(lambda s: s + ff_suffix, ff_list(N,N)))
 	f.write("use form_factor_higher_ranks\n")
 	lst = []
 
 	write_import_list(f, "use %s, only:" % tens_rec)
 	f.write("implicit none\n")
 	f.write("private :: ki, b_ref, unpackb, packb, pminus, form_factor\n")
 	write_import_list(f, "private ::")
 
 	for N in range(golem_minlegs,max_legs+1):
 		write_list(f, "private ::",
 				map(lambda s: s + ff_suffix, ff_list(N,N)))
 
 
 	f.write("real(ki), dimension(0:%d), parameter, private :: null_vec = &\n"
 			% (d-1))
 	f.write(" & (/%s/)\n" % ",".join(["0.0_ki"]*d))
 
 	f.write("interface %s\n" % PAT['evaluate'])
 	f.write("   module procedure %s_b\n" % PAT['evaluate'])
 	f.write("   module procedure %s_s\n" % PAT['evaluate'])
 	f.write("end interface\n")
 
+        f.write("private :: test_if_nonzero\n")
+
 	f.write("contains\n")
 
+        f.write("\n\nfunction test_if_nonzero (val)\n")
+        f.write("   complex(ki),intent(in):: val\n")
+        f.write("   logical :: test_if_nonzero\n")
+        f.write("   test_if_nonzero= (real(val,ki)*real(val,ki) + aimag(val)*aimag(val))>1E-100_ki\n")
+        f.write("end function test_if_nonzero\n\n\n")
+
 	write_function_evaluate(f, 0, PAT["evaluate"], max_legs, max_rank, d)
 
 	for N in range(golem_minlegs, max_legs + 1):
 		for R in (range(1, min(max_rank, N+extra_rank) + 1) \
 				if N <= max_leg_extra_rank else range(1, min(N,max_rank)+1)):
 			write_function_contract(f, 0, PAT['contract'] % (N, R), N, R, d)
 			if N <= 4 and R >= 2:
 				write_function_contract(f, 0, PAT['contract'] % (N, R) + "s1",
 						N, R, d, 1)
 			if N <= 4 and R >= 4:
 				write_function_contract(f, 0, PAT['contract'] % (N, R) + "s2",
 						N, R, d, 2)
 
 			if N == 5 and R >= 6:
 				write_function_contract(f, 0, PAT['contract'] % (N, R) + "s1",
 						N, R, d, 1)
 			if N == 5 and R >= 6:
 				write_function_contract(f, 0, PAT['contract'] % (N, R) + "s2",
 						N, R, d, 2)
 			if N == 5 and R >= 6:
 				write_function_contract(f, 0, PAT['contract'] % (N, R) + "s3",
 						N, R, d, 3)
 
 
 	for R in range(1, min(5,max_rank) + 1 + extra_rank):
 		write_function_a_tensor_contract(f, 0, PAT['tenscontracta'] % R, R, d)
 		if 2 <= R:
 			write_function_b_tensor_contract(f, 0, PAT['tenscontractb'] % R, R, d)
 		if 4 <= R:
 			write_function_c_tensor_contract(f, 0, PAT['tenscontractc'] % R, R, d)
 		if 6 <= R:
 			write_function_d_tensor_contract(f, 0, PAT['tenscontractd'] % R, R, d)
 
 	f.write("end module %s\n" % name)
 	f.close()
 
 def permutations(mult):
 	"""
 	Iterates over all permutations of [0]*mult[0]+...[n]*mult[n].
 	"""
 	N = sum(mult)
 
 	def recselect(positions, i):
 		for i_positions in select(positions, mult[i]):
 			other_positions = positions[:]
 			result = {}
 			for p in i_positions:
 				other_positions.remove(p)
 				result[p] = i
 			if len(other_positions) > 0:
 				for dic in recselect(other_positions, i+1):
 					result.update(dic)
 					yield result
 			else:
 				yield result
 
 	lst = [0] * N
 	for dic in recselect(range(N), 0):
 		for idx, value in dic.iteritems():
 			lst[idx] = value
 		yield lst
 
 class RoboDocInfo:
 	"""
 	Class which reads text templates from a file.
 
 	The file to be read must be in the format:
 
 	@method_name(param1,param2,....)
 	text which may contain format instructions like %(param1)s etc.
 
 	The generated object will have methods with the same names and parameters
 	iterating over the formatted lines
 
 	EXAMPLE
 
 	-------- file test.txt -------------
 	@foo(name, age)
 	Mr. %(name)s is %(age)d years old.
 	@baz(name,size,cdate,mdate)
 	The file %(name)s has a size of %(size)5.2f MB.
 	It has been created on %(cdate)s.
 	Its last modification was on %(mdate).
 	---------------------------------------
 
 	>>> DOC = RoboDoc('test.txt')
 	>>> for line in DOC.baz("autoexec.bat", 3.053, "1980-01-01", "1981-03-17"):
 	... 	print line
 	The file autoexec.bat has a size of  3.05 MB.
 	It has been created on 1980-01-01.
 	Its last modification was on 1981-03-17.
 	"""
 	def __init__(self, fname):
 		"""
 		Create a new object from a file
 
 		PARAMETER
 
 		   fname -- the name of the file to be read.
 		"""
 		self._info = {}
 		self._args = {}
 		self._read(fname)
 
 	def _read(self, fname):
 		f = open(fname, "r")
 		key = None
 		for line in f.readlines():
 			if line.startswith("@"):
 				if "(" in line:
 					tmp = line.split("(")
 					line = tmp[0]
 					args = map(lambda s: s.strip(),
 							tmp[1].strip(" )\t\r\n").split(","))
 				else:
 					args = []
 				key = line[1:].strip()
 				self._args[key] = args
 				self._info[key] = []
 			elif key is not None:
 				self._info[key].append(line.rstrip())
 		f.close()
 	
 	def __getattr__(self, name):
 		if name in self._info:
 			lines = self._info[name]
 			param = self._args[name]
 
 			def meth(*args):
 				if len(param) != len(args):
 					raise TypeError, \
 						"RoboDocInfo.%s(%s) expects exactly %d arguments (%d given)" \
 							% (name, ", ".join(list(param)), len(param), len(args))
 
 				opts = dict(zip(param, args))
 				for line in lines:
 					yield line % opts
 
 			return meth
 		else:
 			raise AttributeError, \
 				"This RoboDocInfo does not contain an entry for %r." % name
 
 DOC = RoboDocInfo("robodoc.txt")
 
 if __name__ == "__main__":
 	max_legs = 6
 	max_rank = 7
 	max_leg_extra_rank = 5
 	extra_rank = 1
 	# support up to min(N+extra_rank,max_rank) rank for 1 to max_leg_extra_rank legs
 	write_module_solve("tens_rec", max_rank)
 	write_module_combine("tens_comb", "tens_rec", max_legs, max_rank)
 
 # vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
Index: 95/branches/golem95_with_secdec_integrals/src/interface/tens_comb.f90
===================================================================
--- 95/branches/golem95_with_secdec_integrals/src/interface/tens_comb.f90	(revision 161)
+++ 95/branches/golem95_with_secdec_integrals/src/interface/tens_comb.f90	(revision 162)
@@ -1,31930 +1,35655 @@
 !****h* src/interface/tens_comb
 ! NAME
 !
 !  Module tens_comb
 !
 ! USAGE
 !
 !  use tens_comb
 !
 ! DESCRIPTION
 !
 !  This module contains the routines necessary for the contraction
 !  of the tensor coefficients as reconstructed by the module tens_rec
 !  with the according tensor integrals.
 !
 !  Please, note that this module is generated by a script and should not
 !  be modified manually. In order to make changes to this module rerun
 !  the Python script
 !
 !  tool/tens_rec/tens.py
 !
 ! USES
 !
 !  * precision_golem (src/module/precision_golem.f90)
 !  * matrice_s (src/kinematics/matrice_s.f90)
 !  * array (src/module/array.f90)
 !  * form_factor_type (src/module/form_factor_type.f90)
 !  * form_factor_2p (src/form_factor/form_factor_2p.f90)
 !  * form_factor_3p (src/form_factor/form_factor_3p.f90)
 !  * form_factor_4p (src/form_factor/form_factor_4p.f90)
 !  * form_factor_5p (src/form_factor/form_factor_5p.f90)
 !  * form_factor_6p (src/form_factor/form_factor_6p.f90)
 !  * form_factor_higher_ranks (src/higherrank/form_factor_higher_ranks.f90)
 !  * tens_rec (src/interface/tens_rec.f90)
 !
 !*****
 module tens_comb
 ! This module has been generated using a script.
 ! Please, refrain from modifying it directly!
 use precision_golem, only: ki
 use matrice_s, only: b_ref, inv_s
 use array, only: packb, unpackb, countb, pminus, punion
 use form_factor_type, only: form_factor, operator(+), operator(-), &
     & operator(*), assignment(=)
 use form_factor_1p, only: a10
 use form_factor_2p, only: a20, a21, a22, b22
 use form_factor_3p, only: a30, a31, a32, b32, a33, b33
 use form_factor_4p, only: a40, a41, a42, b42, a43, b43, a44, b44, c44
 use form_factor_5p, only: a50, a51, a52, b52, a53, b53, a54, b54, c54, a55, &
    & b55, c55
 use form_factor_6p, only: a60, a61, a62, a63, a64, a65, a66
 use form_factor_higher_ranks
 use tens_rec, only: coeff_type_1, reconstruct1, coeff_type_2, reconstruct2, &
    & coeff_type_3, reconstruct3, coeff_type_4, reconstruct4, coeff_type_5, &
    & reconstruct5, coeff_type_6, reconstruct6, coeff_type_7, reconstruct7
 implicit none
 private :: ki, b_ref, unpackb, packb, pminus, form_factor
 private :: coeff_type_1, reconstruct1, coeff_type_2, reconstruct2, &
    & coeff_type_3, reconstruct3, coeff_type_4, reconstruct4, coeff_type_5, &
    & reconstruct5, coeff_type_6, reconstruct6, coeff_type_7, reconstruct7
 private :: a10
 private :: a20, a21, a22, b22
 private :: a30, a31, a32, b32, a33, b33
 private :: a40, a41, a42, b42, a43, b43, a44, b44, c44
 private :: a50, a51, a52, b52, a53, b53, a54, b54, c54, a55, b55, c55
 private :: a60, a61, a62, a63, a64, a65, a66
 real(ki), dimension(0:3), parameter, private :: null_vec = &
  & (/0.0_ki,0.0_ki,0.0_ki,0.0_ki/)
 interface evaluate
    module procedure evaluate_b
    module procedure evaluate_s
 end interface
+private :: test_if_nonzero
 contains
+
+
+function test_if_nonzero (val)
+   complex(ki),intent(in):: val
+   logical :: test_if_nonzero
+   test_if_nonzero= (real(val,ki)*real(val,ki) + aimag(val)*aimag(val))>1E-100_ki
+end function test_if_nonzero
+
+
 !****f* src/interface/tens_comb/evaluate_s
 ! NAME
 !
 ! Function evaluate_s
 !
 ! Accessible through interface evaluate
 !
 ! USAGE
 !
 !  amp = evaluate(numeval, momenta, set, rank)
 !
 ! DESCRIPTION
 !
 !  Evaluates a diagram by first reconstructing its tensor coefficients
 !  and then contracting with the tensor integrals.
 !
 ! INPUTS
 !
 !  * numeval -- the numerator function
 !  * momenta -- real array of dimension(:,0:3) containing the
 !               momenta r_i of the loop propagators
 !  * set     -- the set of pinched propagators as integer array
 !  * rank    -- optional integer, specifying the maximum rank of the diagram
 !               If omitted, rank is assumed to be the equal to the number of
 !               loop propagators.
 ! RETURN VALUE
 !
 !  Value of the diagram as a type(form_factor)
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     evaluate_s(numeval, momenta, set, rank) result(amp)
    ! generated by: write_function_evaluate
    implicit none
    interface
       function numeval(Q, mu2)
          use precision_golem, only: ki
          implicit none
          real(ki), dimension(0:3), intent(in) :: Q
          real(ki), intent(in) :: mu2
          complex(ki) :: numeval
       end function numeval
    end interface
    real(ki), dimension(:,:), intent(in) :: momenta
    integer, dimension(:), intent(in) :: set
    integer, intent(in), optional :: rank
    type(form_factor) :: amp
    if (present(rank)) then
       amp = evaluate_b(numeval, momenta, packb(set), rank)
    else
       amp = evaluate_b(numeval, momenta, packb(set))
    end if
 end function evaluate_s
 !****f* src/interface/tens_comb/evaluate_b
 ! NAME
 !
 ! Function evaluate_b
 !
 ! Accessible through interface evaluate
 !
 ! USAGE
 !
 !  amp = evaluate(numeval, momenta, b_set, rank)
 !
 ! DESCRIPTION
 !
 !  Evaluates a diagram by first reconstructing its tensor coefficients
 !  and then contracting with the tensor integrals.
 !
 ! INPUTS
 !
 !  * numeval -- the numerator function
 !  * momenta -- real array of dimension(:,0:3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer (bit-set)
 !  * rank    -- optional integer, specifying the maximum rank of the diagram
 !               If omitted, rank is assumed to be the equal to the number of
 !               loop propagators.
 ! RETURN VALUE
 !
 !  Value of the diagram as a type(form_factor)
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     evaluate_b(numeval, momenta, b_set, rank) result(amp)
    implicit none
    interface
       function numeval(Q, mu2)
          use precision_golem, only: ki
          implicit none
          real(ki), dimension(0:3), intent(in) :: Q
          real(ki), intent(in) :: mu2
          complex(ki) :: numeval
       end function numeval
    end interface
    real(ki), dimension(:,:), intent(in) :: momenta
    integer, intent(in) :: b_set
    integer, intent(in), optional :: rank
    type(form_factor) :: amp
    integer :: N, r
    complex(ki) :: coeffs0
    type(coeff_type_1) :: coeffs1, coeffs1x, coeffs1xx
    type(coeff_type_2) :: coeffs2, coeffs2x, coeffs2xx
    type(coeff_type_3) :: coeffs3, coeffs3x, coeffs3xx
    type(coeff_type_4) :: coeffs4, coeffs4x, coeffs4xx
    type(coeff_type_5) :: coeffs5, coeffs5x, coeffs5xx
    type(coeff_type_6) :: coeffs6, coeffs6x, coeffs6xx
    type(coeff_type_7) :: coeffs7, coeffs7x, coeffs7xx
    N = size(momenta,1) - countb(b_set)
    if (present(rank)) then
       r = rank
    else
       r = N
    end if
    select case(N)
    case(1)
       select case(r)
       case(0)
          coeffs0 = numeval(null_vec, 0.0_ki)
          print*, "Tadpoles not implemented yet"
          stop
       case(1)
          call reconstruct1(numeval, coeffs1)
          print*, "Tadpoles not implemented yet"
          stop
       case(2)
          call reconstruct2(numeval, coeffs2, coeffs0)
          print*, "Tadpoles not implemented yet"
          stop
       case default
          print*, "Not yet implemented: N, r = ", 1, r
          stop
       end select
    case(2)
       select case(r)
       case(0)
          coeffs0 = numeval(null_vec, 0.0_ki)
          amp = coeffs0 * a20(b_set)
       case(1)
          call reconstruct1(numeval, coeffs1)
          amp = contract2_1(coeffs1,momenta,b_set)
       case(2)
          call reconstruct2(numeval, coeffs2, coeffs0)
          amp = contract2_2(coeffs2,momenta,b_set)
          amp = amp + contract2_2s1(coeffs0,momenta,b_set)
       case(3)
          call reconstruct3(numeval, coeffs3, coeffs1)
          amp = contract2_3(coeffs3,momenta,b_set)
          amp = amp + contract2_3s1(coeffs1,momenta,b_set)
       case default
          print*, "Not yet implemented: N, r = ", 2, r
          stop
       end select
    case(3)
       select case(r)
       case(0)
          coeffs0 = numeval(null_vec, 0.0_ki)
          amp = coeffs0 * a30(b_set)
       case(1)
          call reconstruct1(numeval, coeffs1)
          amp = contract3_1(coeffs1,momenta,b_set)
       case(2)
          call reconstruct2(numeval, coeffs2, coeffs0)
          amp = contract3_2(coeffs2,momenta,b_set)
          amp = amp + contract3_2s1(coeffs0,momenta,b_set)
       case(3)
          call reconstruct3(numeval, coeffs3, coeffs1)
          amp = contract3_3(coeffs3,momenta,b_set)
          amp = amp + contract3_3s1(coeffs1,momenta,b_set)
       case(4)
          call reconstruct4(numeval, coeffs4, coeffs2, coeffs2x)
          amp = contract3_4(coeffs4,momenta,b_set)
          amp = amp + contract3_4s1(coeffs2,momenta,b_set)
          amp = amp + contract3_4s2(coeffs2x,momenta,b_set)
       case default
          print*, "Not yet implemented: N, r = ", 3, r
          stop
       end select
    case(4)
       select case(r)
       case(0)
          coeffs0 = numeval(null_vec, 0.0_ki)
          amp = coeffs0 * a40(b_set)
       case(1)
          call reconstruct1(numeval, coeffs1)
          amp = contract4_1(coeffs1,momenta,b_set)
       case(2)
          call reconstruct2(numeval, coeffs2, coeffs0)
          amp = contract4_2(coeffs2,momenta,b_set)
          amp = amp + contract4_2s1(coeffs0,momenta,b_set)
       case(3)
          call reconstruct3(numeval, coeffs3, coeffs1)
          amp = contract4_3(coeffs3,momenta,b_set)
          amp = amp + contract4_3s1(coeffs1,momenta,b_set)
       case(4)
          call reconstruct4(numeval, coeffs4, coeffs2, coeffs2x)
          amp = contract4_4(coeffs4,momenta,b_set)
          amp = amp + contract4_4s1(coeffs2,momenta,b_set)
          amp = amp + contract4_4s2(coeffs2x,momenta,b_set)
       case(5)
          call reconstruct5(numeval, coeffs5, coeffs3, coeffs3x)
          amp = contract4_5(coeffs5,momenta,b_set)
          amp = amp + contract4_5s1(coeffs3,momenta,b_set)
          amp = amp + contract4_5s2(coeffs3x,momenta,b_set)
       case default
          print*, "Not yet implemented: N, r = ", 4, r
          stop
       end select
    case(5)
       select case(r)
       case(0)
          coeffs0 = numeval(null_vec, 0.0_ki)
          amp = coeffs0 * a50(b_set)
       case(1)
          call reconstruct1(numeval, coeffs1)
          amp = contract5_1(coeffs1,momenta,b_set)
       case(2)
          call reconstruct2(numeval, coeffs2)
          amp = contract5_2(coeffs2,momenta,b_set)
       case(3)
          call reconstruct3(numeval, coeffs3)
          amp = contract5_3(coeffs3,momenta,b_set)
       case(4)
          call reconstruct4(numeval, coeffs4)
          amp = contract5_4(coeffs4,momenta,b_set)
       case(5)
          call reconstruct5(numeval, coeffs5)
          amp = contract5_5(coeffs5,momenta,b_set)
       case(6)
          call reconstruct6(numeval, coeffs6, coeffs4, coeffs4x, coeffs4xx)
          amp = contract5_6(coeffs6,momenta,b_set)
          amp = amp + contract5_6s1(coeffs4,momenta,b_set)
          amp = amp + contract5_6s2(coeffs4x,momenta,b_set)
          amp = amp + contract5_6s3(coeffs4xx,momenta,b_set)
       case default
          print*, "Not yet implemented: N, r = ", 5, r
          stop
       end select
    case(6)
       select case(r)
       case(0)
          coeffs0 = numeval(null_vec, 0.0_ki)
          amp = coeffs0 * a60(b_set)
       case(1)
          call reconstruct1(numeval, coeffs1)
          amp = contract6_1(coeffs1,momenta,b_set)
       case(2)
          call reconstruct2(numeval, coeffs2)
          amp = contract6_2(coeffs2,momenta,b_set)
       case(3)
          call reconstruct3(numeval, coeffs3)
          amp = contract6_3(coeffs3,momenta,b_set)
       case(4)
          call reconstruct4(numeval, coeffs4)
          amp = contract6_4(coeffs4,momenta,b_set)
       case(5)
          call reconstruct5(numeval, coeffs5)
          amp = contract6_5(coeffs5,momenta,b_set)
       case(6)
          call reconstruct6(numeval, coeffs6)
          amp = contract6_6(coeffs6,momenta,b_set)
       case default
          print*, "Not yet implemented: N, r = ", 6, r
          stop
       end select
    case default
       print*, "Not yet implemented: N=", N
       stop
    end select
 end function evaluate_b
 !****f* src/interface/tens_comb/contract1_1
 ! NAME
 !
 ! Function contract1_1
 !
 ! USAGE
 !
 !  amp = contract1_1(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 1-point rank 1 tensor integral
 !  with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_1)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract1_1(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_1), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    real(ki), dimension(1,0:3) :: mom1
    integer :: l1
+   complex(ki) :: tmp
    integer, dimension(1) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 1)
    l1 = unpinched(1)
-   amp = coeffs%c0 * a10(b_set)
+   tmp = coeffs%c0
+   amp = tmp * a10(b_set)
 end function contract1_1
 !****f* src/interface/tens_comb/contract1_2
 ! NAME
 !
 ! Function contract1_2
 !
 ! USAGE
 !
 !  amp = contract1_2(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 1-point rank 2 tensor integral
 !  with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_2)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract1_2(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_2), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    real(ki), dimension(1,0:3) :: mom1
    real(ki), dimension(2,0:3) :: mom2
    integer :: l1
+   complex(ki) :: tmp
    integer, dimension(1) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 1)
    l1 = unpinched(1)
-   amp = coeffs%c0 * a10(b_set)
+   tmp = coeffs%c0
+   amp = tmp * a10(b_set)
 end function contract1_2
 !****f* src/interface/tens_comb/contract1_2s1
 ! NAME
 !
 ! Function contract1_2s1
 !
 ! USAGE
 !
 !  amp = contract1_2s1(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 1-point rank 2 tensor integral
 !  with (mu^2)^1 in the numerator with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(complex(ki))
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract1_2s1(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    complex(ki), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    integer :: l1
+   complex(ki) :: tmp
    integer, dimension(1) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 1)
    l1 = unpinched(1)
    amp = 0.0_ki
 end function contract1_2s1
 !****f* src/interface/tens_comb/contract2_1
 ! NAME
 !
 ! Function contract2_1
 !
 ! USAGE
 !
 !  amp = contract2_1(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 2-point rank 1 tensor integral
 !  with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_1)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract2_1(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_1), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    real(ki), dimension(1,0:3) :: mom1
    integer :: l1, l2
+   complex(ki) :: tmp
    integer, dimension(2) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 2)
    l1 = unpinched(1)
    l2 = unpinched(2)
-   amp = coeffs%c0 * a20(b_set)
+   tmp = coeffs%c0
+   amp = tmp * a20(b_set)
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_a_tensor_1(coeffs, mom1) * a21(l1, b_set)
+   tmp = contract_a_tensor_1(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a21(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_a_tensor_1(coeffs, mom1) * a21(l2, b_set)
+   tmp = contract_a_tensor_1(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a21(l2, b_set)
+   end if
 end function contract2_1
 !****f* src/interface/tens_comb/contract2_2
 ! NAME
 !
 ! Function contract2_2
 !
 ! USAGE
 !
 !  amp = contract2_2(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 2-point rank 2 tensor integral
 !  with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_2)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract2_2(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_2), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    real(ki), dimension(1,0:3) :: mom1
    real(ki), dimension(2,0:3) :: mom2
    integer :: l1, l2
+   complex(ki) :: tmp
    integer, dimension(2) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 2)
    l1 = unpinched(1)
    l2 = unpinched(2)
-   amp = coeffs%c0 * a20(b_set)
+   tmp = coeffs%c0
+   amp = tmp * a20(b_set)
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_a_tensor_2(coeffs, mom1) * a21(l1, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a21(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_a_tensor_2(coeffs, mom1) * a21(l2, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a21(l2, b_set)
+   end if
    mom2 = momenta((/l1,l1/),:)
-   amp = amp + contract_a_tensor_2(coeffs, mom2) * a22(l1, l1, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a22(l1, l1, b_set)
+   end if
    mom2 = momenta((/l1,l2/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_2(coeffs, mom2) * a22(l1, l2, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a22(l1, l2, b_set)
+   end if
    mom2 = momenta((/l2,l2/),:)
-   amp = amp + contract_a_tensor_2(coeffs, mom2) * a22(l2, l2, b_set)
-   amp = amp + contract_b_tensor_2(coeffs) * b22(b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a22(l2, l2, b_set)
+   end if
+   tmp = contract_b_tensor_2(coeffs)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b22(b_set)
+   end if
 end function contract2_2
 !****f* src/interface/tens_comb/contract2_2s1
 ! NAME
 !
 ! Function contract2_2s1
 !
 ! USAGE
 !
 !  amp = contract2_2s1(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 2-point rank 2 tensor integral
 !  with (mu^2)^1 in the numerator with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(complex(ki))
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract2_2s1(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    complex(ki), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    integer :: l1, l2
+   complex(ki) :: tmp
    integer, dimension(2) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 2)
    l1 = unpinched(1)
    l2 = unpinched(2)
-   amp = coeffs * b22(b_set)
+   tmp = coeffs
+   amp = tmp * b22(b_set)
    ! multiply by 2*epsilon
    amp%c = 2.0_ki*amp%b
    amp%b = 2.0_ki*amp%a
    amp%a = 0.0_ki
 end function contract2_2s1
 !****f* src/interface/tens_comb/contract2_3
 ! NAME
 !
 ! Function contract2_3
 !
 ! USAGE
 !
 !  amp = contract2_3(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 2-point rank 3 tensor integral
 !  with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_3)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract2_3(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_3), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    real(ki), dimension(1,0:3) :: mom1
    real(ki), dimension(2,0:3) :: mom2
    real(ki), dimension(3,0:3) :: mom3
    integer :: l1, l2
+   complex(ki) :: tmp
    integer, dimension(2) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 2)
    l1 = unpinched(1)
    l2 = unpinched(2)
-   amp = coeffs%c0 * a20(b_set)
+   tmp = coeffs%c0
+   amp = tmp * a20(b_set)
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom1) * a21(l1, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a21(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom1) * a21(l2, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a21(l2, b_set)
+   end if
    mom2 = momenta((/l1,l1/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom2) * a22(l1, l1, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a22(l1, l1, b_set)
+   end if
    mom2 = momenta((/l1,l2/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_3(coeffs, mom2) * a22(l1, l2, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a22(l1, l2, b_set)
+   end if
    mom2 = momenta((/l2,l2/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom2) * a22(l2, l2, b_set)
-   amp = amp + contract_b_tensor_3(coeffs) * b22(b_set)
+   tmp = contract_a_tensor_3(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a22(l2, l2, b_set)
+   end if
+   tmp = contract_b_tensor_3(coeffs)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b22(b_set)
+   end if
    mom3 = momenta((/l1,l1,l1/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom3) * a23(l1, l1, l1, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a23(l1, l1, l1, b_set)
+   end if
    mom3 = momenta((/l1,l1,l2/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a23(l1, l1, l2, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a23(l1, l1, l2, b_set)
+   end if
    mom3 = momenta((/l1,l2,l2/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a23(l1, l2, l2, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a23(l1, l2, l2, b_set)
+   end if
    mom3 = momenta((/l2,l2,l2/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom3) * a23(l2, l2, l2, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a23(l2, l2, l2, b_set)
+   end if
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_b_tensor_3(coeffs, mom1) * b23(l1, b_set)
+   tmp = contract_b_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b23(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_b_tensor_3(coeffs, mom1) * b23(l2, b_set)
+   tmp = contract_b_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b23(l2, b_set)
+   end if
 end function contract2_3
 !****f* src/interface/tens_comb/contract2_3s1
 ! NAME
 !
 ! Function contract2_3s1
 !
 ! USAGE
 !
 !  amp = contract2_3s1(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 2-point rank 3 tensor integral
 !  with (mu^2)^1 in the numerator with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_1)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract2_3s1(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_1), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    real(ki), dimension(1,0:3) :: mom1
    integer :: l1, l2
+   complex(ki) :: tmp
    integer, dimension(2) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 2)
    l1 = unpinched(1)
    l2 = unpinched(2)
-   amp = coeffs%c0 * b22(b_set)
+   tmp = coeffs%c0
+   amp = tmp * b22(b_set)
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_a_tensor_1(coeffs, mom1) * b23(l1, b_set)
+   tmp = contract_a_tensor_1(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b23(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_a_tensor_1(coeffs, mom1) * b23(l2, b_set)
+   tmp = contract_a_tensor_1(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b23(l2, b_set)
+   end if
    ! multiply by 2*epsilon
    amp%c = 2.0_ki*amp%b
    amp%b = 2.0_ki*amp%a
    amp%a = 0.0_ki
 end function contract2_3s1
 !****f* src/interface/tens_comb/contract3_1
 ! NAME
 !
 ! Function contract3_1
 !
 ! USAGE
 !
 !  amp = contract3_1(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 3-point rank 1 tensor integral
 !  with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_1)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract3_1(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_1), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    real(ki), dimension(1,0:3) :: mom1
    integer :: l1, l2, l3
+   complex(ki) :: tmp
    integer, dimension(3) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 3)
    l1 = unpinched(1)
    l2 = unpinched(2)
    l3 = unpinched(3)
-   amp = coeffs%c0 * a30(b_set)
+   tmp = coeffs%c0
+   amp = tmp * a30(b_set)
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_a_tensor_1(coeffs, mom1) * a31(l1, b_set)
+   tmp = contract_a_tensor_1(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a31(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_a_tensor_1(coeffs, mom1) * a31(l2, b_set)
+   tmp = contract_a_tensor_1(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a31(l2, b_set)
+   end if
    mom1 = momenta((/l3/),:)
-   amp = amp + contract_a_tensor_1(coeffs, mom1) * a31(l3, b_set)
+   tmp = contract_a_tensor_1(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a31(l3, b_set)
+   end if
 end function contract3_1
 !****f* src/interface/tens_comb/contract3_2
 ! NAME
 !
 ! Function contract3_2
 !
 ! USAGE
 !
 !  amp = contract3_2(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 3-point rank 2 tensor integral
 !  with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_2)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract3_2(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_2), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    real(ki), dimension(1,0:3) :: mom1
    real(ki), dimension(2,0:3) :: mom2
    integer :: l1, l2, l3
+   complex(ki) :: tmp
    integer, dimension(3) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 3)
    l1 = unpinched(1)
    l2 = unpinched(2)
    l3 = unpinched(3)
-   amp = coeffs%c0 * a30(b_set)
+   tmp = coeffs%c0
+   amp = tmp * a30(b_set)
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_a_tensor_2(coeffs, mom1) * a31(l1, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a31(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_a_tensor_2(coeffs, mom1) * a31(l2, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a31(l2, b_set)
+   end if
    mom1 = momenta((/l3/),:)
-   amp = amp + contract_a_tensor_2(coeffs, mom1) * a31(l3, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a31(l3, b_set)
+   end if
    mom2 = momenta((/l1,l1/),:)
-   amp = amp + contract_a_tensor_2(coeffs, mom2) * a32(l1, l1, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a32(l1, l1, b_set)
+   end if
    mom2 = momenta((/l1,l2/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_2(coeffs, mom2) * a32(l1, l2, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a32(l1, l2, b_set)
+   end if
    mom2 = momenta((/l1,l3/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_2(coeffs, mom2) * a32(l1, l3, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a32(l1, l3, b_set)
+   end if
    mom2 = momenta((/l2,l2/),:)
-   amp = amp + contract_a_tensor_2(coeffs, mom2) * a32(l2, l2, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a32(l2, l2, b_set)
+   end if
    mom2 = momenta((/l2,l3/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_2(coeffs, mom2) * a32(l2, l3, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a32(l2, l3, b_set)
+   end if
    mom2 = momenta((/l3,l3/),:)
-   amp = amp + contract_a_tensor_2(coeffs, mom2) * a32(l3, l3, b_set)
-   amp = amp + contract_b_tensor_2(coeffs) * b32(b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a32(l3, l3, b_set)
+   end if
+   tmp = contract_b_tensor_2(coeffs)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b32(b_set)
+   end if
 end function contract3_2
 !****f* src/interface/tens_comb/contract3_2s1
 ! NAME
 !
 ! Function contract3_2s1
 !
 ! USAGE
 !
 !  amp = contract3_2s1(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 3-point rank 2 tensor integral
 !  with (mu^2)^1 in the numerator with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(complex(ki))
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract3_2s1(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    complex(ki), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    integer :: l1, l2, l3
+   complex(ki) :: tmp
    integer, dimension(3) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 3)
    l1 = unpinched(1)
    l2 = unpinched(2)
    l3 = unpinched(3)
-   amp = coeffs * b32(b_set)
+   tmp = coeffs
+   amp = tmp * b32(b_set)
    ! multiply by 2*epsilon
    amp%c = 2.0_ki*amp%b
    amp%b = 2.0_ki*amp%a
    amp%a = 0.0_ki
 end function contract3_2s1
 !****f* src/interface/tens_comb/contract3_3
 ! NAME
 !
 ! Function contract3_3
 !
 ! USAGE
 !
 !  amp = contract3_3(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 3-point rank 3 tensor integral
 !  with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_3)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract3_3(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_3), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    real(ki), dimension(1,0:3) :: mom1
    real(ki), dimension(2,0:3) :: mom2
    real(ki), dimension(3,0:3) :: mom3
    integer :: l1, l2, l3
+   complex(ki) :: tmp
    integer, dimension(3) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 3)
    l1 = unpinched(1)
    l2 = unpinched(2)
    l3 = unpinched(3)
-   amp = coeffs%c0 * a30(b_set)
+   tmp = coeffs%c0
+   amp = tmp * a30(b_set)
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom1) * a31(l1, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a31(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom1) * a31(l2, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a31(l2, b_set)
+   end if
    mom1 = momenta((/l3/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom1) * a31(l3, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a31(l3, b_set)
+   end if
    mom2 = momenta((/l1,l1/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom2) * a32(l1, l1, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a32(l1, l1, b_set)
+   end if
    mom2 = momenta((/l1,l2/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_3(coeffs, mom2) * a32(l1, l2, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a32(l1, l2, b_set)
+   end if
    mom2 = momenta((/l1,l3/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_3(coeffs, mom2) * a32(l1, l3, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a32(l1, l3, b_set)
+   end if
    mom2 = momenta((/l2,l2/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom2) * a32(l2, l2, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a32(l2, l2, b_set)
+   end if
    mom2 = momenta((/l2,l3/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_3(coeffs, mom2) * a32(l2, l3, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a32(l2, l3, b_set)
+   end if
    mom2 = momenta((/l3,l3/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom2) * a32(l3, l3, b_set)
-   amp = amp + contract_b_tensor_3(coeffs) * b32(b_set)
+   tmp = contract_a_tensor_3(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a32(l3, l3, b_set)
+   end if
+   tmp = contract_b_tensor_3(coeffs)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b32(b_set)
+   end if
    mom3 = momenta((/l1,l1,l1/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom3) * a33(l1, l1, l1, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a33(l1, l1, l1, b_set)
+   end if
    mom3 = momenta((/l1,l1,l2/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a33(l1, l1, l2, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a33(l1, l1, l2, b_set)
+   end if
    mom3 = momenta((/l1,l1,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a33(l1, l1, l3, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a33(l1, l1, l3, b_set)
+   end if
    mom3 = momenta((/l1,l2,l2/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a33(l1, l2, l2, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a33(l1, l2, l2, b_set)
+   end if
    mom3 = momenta((/l1,l2,l3/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a33(l1, l2, l3, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a33(l1, l2, l3, b_set)
+   end if
    mom3 = momenta((/l1,l3,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a33(l1, l3, l3, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a33(l1, l3, l3, b_set)
+   end if
    mom3 = momenta((/l2,l2,l2/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom3) * a33(l2, l2, l2, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a33(l2, l2, l2, b_set)
+   end if
    mom3 = momenta((/l2,l2,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a33(l2, l2, l3, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a33(l2, l2, l3, b_set)
+   end if
    mom3 = momenta((/l2,l3,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a33(l2, l3, l3, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a33(l2, l3, l3, b_set)
+   end if
    mom3 = momenta((/l3,l3,l3/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom3) * a33(l3, l3, l3, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a33(l3, l3, l3, b_set)
+   end if
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_b_tensor_3(coeffs, mom1) * b33(l1, b_set)
+   tmp = contract_b_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b33(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_b_tensor_3(coeffs, mom1) * b33(l2, b_set)
+   tmp = contract_b_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b33(l2, b_set)
+   end if
    mom1 = momenta((/l3/),:)
-   amp = amp + contract_b_tensor_3(coeffs, mom1) * b33(l3, b_set)
+   tmp = contract_b_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b33(l3, b_set)
+   end if
 end function contract3_3
 !****f* src/interface/tens_comb/contract3_3s1
 ! NAME
 !
 ! Function contract3_3s1
 !
 ! USAGE
 !
 !  amp = contract3_3s1(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 3-point rank 3 tensor integral
 !  with (mu^2)^1 in the numerator with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_1)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract3_3s1(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_1), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    real(ki), dimension(1,0:3) :: mom1
    integer :: l1, l2, l3
+   complex(ki) :: tmp
    integer, dimension(3) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 3)
    l1 = unpinched(1)
    l2 = unpinched(2)
    l3 = unpinched(3)
-   amp = coeffs%c0 * b32(b_set)
+   tmp = coeffs%c0
+   amp = tmp * b32(b_set)
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_a_tensor_1(coeffs, mom1) * b33(l1, b_set)
+   tmp = contract_a_tensor_1(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b33(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_a_tensor_1(coeffs, mom1) * b33(l2, b_set)
+   tmp = contract_a_tensor_1(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b33(l2, b_set)
+   end if
    mom1 = momenta((/l3/),:)
-   amp = amp + contract_a_tensor_1(coeffs, mom1) * b33(l3, b_set)
+   tmp = contract_a_tensor_1(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b33(l3, b_set)
+   end if
    ! multiply by 2*epsilon
    amp%c = 2.0_ki*amp%b
    amp%b = 2.0_ki*amp%a
    amp%a = 0.0_ki
 end function contract3_3s1
 !****f* src/interface/tens_comb/contract3_4
 ! NAME
 !
 ! Function contract3_4
 !
 ! USAGE
 !
 !  amp = contract3_4(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 3-point rank 4 tensor integral
 !  with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_4)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract3_4(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_4), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    real(ki), dimension(1,0:3) :: mom1
    real(ki), dimension(2,0:3) :: mom2
    real(ki), dimension(3,0:3) :: mom3
    real(ki), dimension(4,0:3) :: mom4
    integer :: l1, l2, l3
+   complex(ki) :: tmp
    integer, dimension(3) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 3)
    l1 = unpinched(1)
    l2 = unpinched(2)
    l3 = unpinched(3)
-   amp = coeffs%c0 * a30(b_set)
+   tmp = coeffs%c0
+   amp = tmp * a30(b_set)
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom1) * a31(l1, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a31(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom1) * a31(l2, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a31(l2, b_set)
+   end if
    mom1 = momenta((/l3/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom1) * a31(l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a31(l3, b_set)
+   end if
    mom2 = momenta((/l1,l1/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom2) * a32(l1, l1, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a32(l1, l1, b_set)
+   end if
    mom2 = momenta((/l1,l2/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_4(coeffs, mom2) * a32(l1, l2, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a32(l1, l2, b_set)
+   end if
    mom2 = momenta((/l1,l3/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_4(coeffs, mom2) * a32(l1, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a32(l1, l3, b_set)
+   end if
    mom2 = momenta((/l2,l2/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom2) * a32(l2, l2, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a32(l2, l2, b_set)
+   end if
    mom2 = momenta((/l2,l3/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_4(coeffs, mom2) * a32(l2, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a32(l2, l3, b_set)
+   end if
    mom2 = momenta((/l3,l3/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom2) * a32(l3, l3, b_set)
-   amp = amp + contract_b_tensor_4(coeffs) * b32(b_set)
+   tmp = contract_a_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a32(l3, l3, b_set)
+   end if
+   tmp = contract_b_tensor_4(coeffs)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b32(b_set)
+   end if
    mom3 = momenta((/l1,l1,l1/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom3) * a33(l1, l1, l1, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a33(l1, l1, l1, b_set)
+   end if
    mom3 = momenta((/l1,l1,l2/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a33(l1, l1, l2, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a33(l1, l1, l2, b_set)
+   end if
    mom3 = momenta((/l1,l1,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a33(l1, l1, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a33(l1, l1, l3, b_set)
+   end if
    mom3 = momenta((/l1,l2,l2/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a33(l1, l2, l2, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a33(l1, l2, l2, b_set)
+   end if
    mom3 = momenta((/l1,l2,l3/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a33(l1, l2, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a33(l1, l2, l3, b_set)
+   end if
    mom3 = momenta((/l1,l3,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a33(l1, l3, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a33(l1, l3, l3, b_set)
+   end if
    mom3 = momenta((/l2,l2,l2/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom3) * a33(l2, l2, l2, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a33(l2, l2, l2, b_set)
+   end if
    mom3 = momenta((/l2,l2,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a33(l2, l2, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a33(l2, l2, l3, b_set)
+   end if
    mom3 = momenta((/l2,l3,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a33(l2, l3, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a33(l2, l3, l3, b_set)
+   end if
    mom3 = momenta((/l3,l3,l3/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom3) * a33(l3, l3, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a33(l3, l3, l3, b_set)
+   end if
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_b_tensor_4(coeffs, mom1) * b33(l1, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b33(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_b_tensor_4(coeffs, mom1) * b33(l2, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b33(l2, b_set)
+   end if
    mom1 = momenta((/l3/),:)
-   amp = amp + contract_b_tensor_4(coeffs, mom1) * b33(l3, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b33(l3, b_set)
+   end if
    mom4 = momenta((/l1,l1,l1,l1/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom4) * a34(l1, l1, l1, l1, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a34(l1, l1, l1, l1, b_set)
+   end if
    mom4 = momenta((/l1,l1,l1,l2/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a34(l1, l1, l1, l2, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a34(l1, l1, l1, l2, b_set)
+   end if
    mom4 = momenta((/l1,l1,l1,l3/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a34(l1, l1, l1, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a34(l1, l1, l1, l3, b_set)
+   end if
    mom4 = momenta((/l1,l1,l2,l2/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a34(l1, l1, l2, l2, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a34(l1, l1, l2, l2, b_set)
+   end if
    mom4 = momenta((/l1,l1,l2,l3/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a34(l1, l1, l2, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a34(l1, l1, l2, l3, b_set)
+   end if
    mom4 = momenta((/l1,l1,l3,l3/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a34(l1, l1, l3, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a34(l1, l1, l3, l3, b_set)
+   end if
    mom4 = momenta((/l1,l2,l2,l2/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a34(l1, l2, l2, l2, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a34(l1, l2, l2, l2, b_set)
+   end if
    mom4 = momenta((/l1,l2,l2,l3/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a34(l1, l2, l2, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a34(l1, l2, l2, l3, b_set)
+   end if
    mom4 = momenta((/l1,l2,l3,l3/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a34(l1, l2, l3, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a34(l1, l2, l3, l3, b_set)
+   end if
    mom4 = momenta((/l1,l3,l3,l3/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a34(l1, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a34(l1, l3, l3, l3, b_set)
+   end if
    mom4 = momenta((/l2,l2,l2,l2/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom4) * a34(l2, l2, l2, l2, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a34(l2, l2, l2, l2, b_set)
+   end if
    mom4 = momenta((/l2,l2,l2,l3/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a34(l2, l2, l2, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a34(l2, l2, l2, l3, b_set)
+   end if
    mom4 = momenta((/l2,l2,l3,l3/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a34(l2, l2, l3, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a34(l2, l2, l3, l3, b_set)
+   end if
    mom4 = momenta((/l2,l3,l3,l3/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a34(l2, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a34(l2, l3, l3, l3, b_set)
+   end if
    mom4 = momenta((/l3,l3,l3,l3/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom4) * a34(l3, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a34(l3, l3, l3, l3, b_set)
+   end if
    mom2 = momenta((/l1,l1/),:)
-   amp = amp + contract_b_tensor_4(coeffs, mom2) * b34(l1, l1, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b34(l1, l1, b_set)
+   end if
    mom2 = momenta((/l1,l2/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_4(coeffs, mom2) * b34(l1, l2, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b34(l1, l2, b_set)
+   end if
    mom2 = momenta((/l1,l3/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_4(coeffs, mom2) * b34(l1, l3, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b34(l1, l3, b_set)
+   end if
    mom2 = momenta((/l2,l2/),:)
-   amp = amp + contract_b_tensor_4(coeffs, mom2) * b34(l2, l2, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b34(l2, l2, b_set)
+   end if
    mom2 = momenta((/l2,l3/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_4(coeffs, mom2) * b34(l2, l3, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b34(l2, l3, b_set)
+   end if
    mom2 = momenta((/l3,l3/),:)
-   amp = amp + contract_b_tensor_4(coeffs, mom2) * b34(l3, l3, b_set)
-   amp = amp + contract_c_tensor_4(coeffs) * c34(b_set)
+   tmp = contract_b_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b34(l3, l3, b_set)
+   end if
+   tmp = contract_c_tensor_4(coeffs)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * c34(b_set)
+   end if
 end function contract3_4
 !****f* src/interface/tens_comb/contract3_4s1
 ! NAME
 !
 ! Function contract3_4s1
 !
 ! USAGE
 !
 !  amp = contract3_4s1(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 3-point rank 4 tensor integral
 !  with (mu^2)^1 in the numerator with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_2)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract3_4s1(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_2), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    real(ki), dimension(1,0:3) :: mom1
    real(ki), dimension(2,0:3) :: mom2
    integer :: l1, l2, l3
+   complex(ki) :: tmp
    integer, dimension(3) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 3)
    l1 = unpinched(1)
    l2 = unpinched(2)
    l3 = unpinched(3)
-   amp = coeffs%c0 * b32(b_set)
+   tmp = coeffs%c0
+   amp = tmp * b32(b_set)
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_a_tensor_2(coeffs, mom1) * b33(l1, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b33(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_a_tensor_2(coeffs, mom1) * b33(l2, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b33(l2, b_set)
+   end if
    mom1 = momenta((/l3/),:)
-   amp = amp + contract_a_tensor_2(coeffs, mom1) * b33(l3, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b33(l3, b_set)
+   end if
    mom2 = momenta((/l1,l1/),:)
-   amp = amp + contract_a_tensor_2(coeffs, mom2) * b34(l1, l1, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b34(l1, l1, b_set)
+   end if
    mom2 = momenta((/l1,l2/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_2(coeffs, mom2) * b34(l1, l2, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b34(l1, l2, b_set)
+   end if
    mom2 = momenta((/l1,l3/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_2(coeffs, mom2) * b34(l1, l3, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b34(l1, l3, b_set)
+   end if
    mom2 = momenta((/l2,l2/),:)
-   amp = amp + contract_a_tensor_2(coeffs, mom2) * b34(l2, l2, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b34(l2, l2, b_set)
+   end if
    mom2 = momenta((/l2,l3/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_2(coeffs, mom2) * b34(l2, l3, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b34(l2, l3, b_set)
+   end if
    mom2 = momenta((/l3,l3/),:)
-   amp = amp + contract_a_tensor_2(coeffs, mom2) * b34(l3, l3, b_set)
-   amp = amp + contract_b_tensor_2(coeffs) * c34(b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b34(l3, l3, b_set)
+   end if
+   tmp = contract_b_tensor_2(coeffs)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * c34(b_set)
+   end if
    ! multiply by 2*epsilon
    amp%c = 2.0_ki*amp%b
    amp%b = 2.0_ki*amp%a
    amp%a = 0.0_ki
 end function contract3_4s1
 !****f* src/interface/tens_comb/contract3_4s2
 ! NAME
 !
 ! Function contract3_4s2
 !
 ! USAGE
 !
 !  amp = contract3_4s2(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 3-point rank 4 tensor integral
 !  with (mu^2)^2 in the numerator with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_2)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract3_4s2(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_2), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    integer :: l1, l2, l3
+   complex(ki) :: tmp
    integer, dimension(3) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 3)
    l1 = unpinched(1)
    l2 = unpinched(2)
    l3 = unpinched(3)
-   amp = coeffs%c0 * c34(b_set)
+   tmp = coeffs%c0
+   amp = tmp * c34(b_set)
    ! multiply by -4*(epsilon-epsilon^2)
    amp%c = -4.0_ki*(amp%b-amp%a)
    amp%b = -4.0_ki*amp%a
    amp%a = 0.0_ki
 end function contract3_4s2
 !****f* src/interface/tens_comb/contract4_1
 ! NAME
 !
 ! Function contract4_1
 !
 ! USAGE
 !
 !  amp = contract4_1(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 4-point rank 1 tensor integral
 !  with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_1)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract4_1(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_1), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    real(ki), dimension(1,0:3) :: mom1
    integer :: l1, l2, l3, l4
+   complex(ki) :: tmp
    integer, dimension(4) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 4)
    l1 = unpinched(1)
    l2 = unpinched(2)
    l3 = unpinched(3)
    l4 = unpinched(4)
-   amp = coeffs%c0 * a40(b_set)
+   tmp = coeffs%c0
+   amp = tmp * a40(b_set)
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_a_tensor_1(coeffs, mom1) * a41(l1, b_set)
+   tmp = contract_a_tensor_1(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a41(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_a_tensor_1(coeffs, mom1) * a41(l2, b_set)
+   tmp = contract_a_tensor_1(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a41(l2, b_set)
+   end if
    mom1 = momenta((/l3/),:)
-   amp = amp + contract_a_tensor_1(coeffs, mom1) * a41(l3, b_set)
+   tmp = contract_a_tensor_1(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a41(l3, b_set)
+   end if
    mom1 = momenta((/l4/),:)
-   amp = amp + contract_a_tensor_1(coeffs, mom1) * a41(l4, b_set)
+   tmp = contract_a_tensor_1(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a41(l4, b_set)
+   end if
 end function contract4_1
 !****f* src/interface/tens_comb/contract4_2
 ! NAME
 !
 ! Function contract4_2
 !
 ! USAGE
 !
 !  amp = contract4_2(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 4-point rank 2 tensor integral
 !  with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_2)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract4_2(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_2), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    real(ki), dimension(1,0:3) :: mom1
    real(ki), dimension(2,0:3) :: mom2
    integer :: l1, l2, l3, l4
+   complex(ki) :: tmp
    integer, dimension(4) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 4)
    l1 = unpinched(1)
    l2 = unpinched(2)
    l3 = unpinched(3)
    l4 = unpinched(4)
-   amp = coeffs%c0 * a40(b_set)
+   tmp = coeffs%c0
+   amp = tmp * a40(b_set)
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_a_tensor_2(coeffs, mom1) * a41(l1, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a41(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_a_tensor_2(coeffs, mom1) * a41(l2, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a41(l2, b_set)
+   end if
    mom1 = momenta((/l3/),:)
-   amp = amp + contract_a_tensor_2(coeffs, mom1) * a41(l3, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a41(l3, b_set)
+   end if
    mom1 = momenta((/l4/),:)
-   amp = amp + contract_a_tensor_2(coeffs, mom1) * a41(l4, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a41(l4, b_set)
+   end if
    mom2 = momenta((/l1,l1/),:)
-   amp = amp + contract_a_tensor_2(coeffs, mom2) * a42(l1, l1, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a42(l1, l1, b_set)
+   end if
    mom2 = momenta((/l1,l2/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_2(coeffs, mom2) * a42(l1, l2, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a42(l1, l2, b_set)
+   end if
    mom2 = momenta((/l1,l3/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_2(coeffs, mom2) * a42(l1, l3, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a42(l1, l3, b_set)
+   end if
    mom2 = momenta((/l1,l4/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_2(coeffs, mom2) * a42(l1, l4, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a42(l1, l4, b_set)
+   end if
    mom2 = momenta((/l2,l2/),:)
-   amp = amp + contract_a_tensor_2(coeffs, mom2) * a42(l2, l2, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a42(l2, l2, b_set)
+   end if
    mom2 = momenta((/l2,l3/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_2(coeffs, mom2) * a42(l2, l3, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a42(l2, l3, b_set)
+   end if
    mom2 = momenta((/l2,l4/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_2(coeffs, mom2) * a42(l2, l4, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a42(l2, l4, b_set)
+   end if
    mom2 = momenta((/l3,l3/),:)
-   amp = amp + contract_a_tensor_2(coeffs, mom2) * a42(l3, l3, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a42(l3, l3, b_set)
+   end if
    mom2 = momenta((/l3,l4/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_2(coeffs, mom2) * a42(l3, l4, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a42(l3, l4, b_set)
+   end if
    mom2 = momenta((/l4,l4/),:)
-   amp = amp + contract_a_tensor_2(coeffs, mom2) * a42(l4, l4, b_set)
-   amp = amp + contract_b_tensor_2(coeffs) * b42(b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a42(l4, l4, b_set)
+   end if
+   tmp = contract_b_tensor_2(coeffs)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b42(b_set)
+   end if
 end function contract4_2
 !****f* src/interface/tens_comb/contract4_2s1
 ! NAME
 !
 ! Function contract4_2s1
 !
 ! USAGE
 !
 !  amp = contract4_2s1(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 4-point rank 2 tensor integral
 !  with (mu^2)^1 in the numerator with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(complex(ki))
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract4_2s1(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    complex(ki), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    integer :: l1, l2, l3, l4
+   complex(ki) :: tmp
    integer, dimension(4) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 4)
    l1 = unpinched(1)
    l2 = unpinched(2)
    l3 = unpinched(3)
    l4 = unpinched(4)
    amp = 0.0_ki
 end function contract4_2s1
 !****f* src/interface/tens_comb/contract4_3
 ! NAME
 !
 ! Function contract4_3
 !
 ! USAGE
 !
 !  amp = contract4_3(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 4-point rank 3 tensor integral
 !  with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_3)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract4_3(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_3), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    real(ki), dimension(1,0:3) :: mom1
    real(ki), dimension(2,0:3) :: mom2
    real(ki), dimension(3,0:3) :: mom3
    integer :: l1, l2, l3, l4
+   complex(ki) :: tmp
    integer, dimension(4) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 4)
    l1 = unpinched(1)
    l2 = unpinched(2)
    l3 = unpinched(3)
    l4 = unpinched(4)
-   amp = coeffs%c0 * a40(b_set)
+   tmp = coeffs%c0
+   amp = tmp * a40(b_set)
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom1) * a41(l1, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a41(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom1) * a41(l2, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a41(l2, b_set)
+   end if
    mom1 = momenta((/l3/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom1) * a41(l3, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a41(l3, b_set)
+   end if
    mom1 = momenta((/l4/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom1) * a41(l4, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a41(l4, b_set)
+   end if
    mom2 = momenta((/l1,l1/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom2) * a42(l1, l1, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a42(l1, l1, b_set)
+   end if
    mom2 = momenta((/l1,l2/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_3(coeffs, mom2) * a42(l1, l2, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a42(l1, l2, b_set)
+   end if
    mom2 = momenta((/l1,l3/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_3(coeffs, mom2) * a42(l1, l3, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a42(l1, l3, b_set)
+   end if
    mom2 = momenta((/l1,l4/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_3(coeffs, mom2) * a42(l1, l4, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a42(l1, l4, b_set)
+   end if
    mom2 = momenta((/l2,l2/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom2) * a42(l2, l2, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a42(l2, l2, b_set)
+   end if
    mom2 = momenta((/l2,l3/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_3(coeffs, mom2) * a42(l2, l3, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a42(l2, l3, b_set)
+   end if
    mom2 = momenta((/l2,l4/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_3(coeffs, mom2) * a42(l2, l4, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a42(l2, l4, b_set)
+   end if
    mom2 = momenta((/l3,l3/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom2) * a42(l3, l3, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a42(l3, l3, b_set)
+   end if
    mom2 = momenta((/l3,l4/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_3(coeffs, mom2) * a42(l3, l4, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a42(l3, l4, b_set)
+   end if
    mom2 = momenta((/l4,l4/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom2) * a42(l4, l4, b_set)
-   amp = amp + contract_b_tensor_3(coeffs) * b42(b_set)
+   tmp = contract_a_tensor_3(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a42(l4, l4, b_set)
+   end if
+   tmp = contract_b_tensor_3(coeffs)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b42(b_set)
+   end if
    mom3 = momenta((/l1,l1,l1/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom3) * a43(l1, l1, l1, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a43(l1, l1, l1, b_set)
+   end if
    mom3 = momenta((/l1,l1,l2/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a43(l1, l1, l2, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l1, l1, l2, b_set)
+   end if
    mom3 = momenta((/l1,l1,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a43(l1, l1, l3, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l1, l1, l3, b_set)
+   end if
    mom3 = momenta((/l1,l1,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a43(l1, l1, l4, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l1, l1, l4, b_set)
+   end if
    mom3 = momenta((/l1,l2,l2/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a43(l1, l2, l2, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l1, l2, l2, b_set)
+   end if
    mom3 = momenta((/l1,l2,l3/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a43(l1, l2, l3, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a43(l1, l2, l3, b_set)
+   end if
    mom3 = momenta((/l1,l2,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a43(l1, l2, l4, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a43(l1, l2, l4, b_set)
+   end if
    mom3 = momenta((/l1,l3,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a43(l1, l3, l3, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l1, l3, l3, b_set)
+   end if
    mom3 = momenta((/l1,l3,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a43(l1, l3, l4, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a43(l1, l3, l4, b_set)
+   end if
    mom3 = momenta((/l1,l4,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a43(l1, l4, l4, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l1, l4, l4, b_set)
+   end if
    mom3 = momenta((/l2,l2,l2/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom3) * a43(l2, l2, l2, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a43(l2, l2, l2, b_set)
+   end if
    mom3 = momenta((/l2,l2,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a43(l2, l2, l3, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l2, l2, l3, b_set)
+   end if
    mom3 = momenta((/l2,l2,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a43(l2, l2, l4, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l2, l2, l4, b_set)
+   end if
    mom3 = momenta((/l2,l3,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a43(l2, l3, l3, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l2, l3, l3, b_set)
+   end if
    mom3 = momenta((/l2,l3,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a43(l2, l3, l4, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a43(l2, l3, l4, b_set)
+   end if
    mom3 = momenta((/l2,l4,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a43(l2, l4, l4, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l2, l4, l4, b_set)
+   end if
    mom3 = momenta((/l3,l3,l3/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom3) * a43(l3, l3, l3, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a43(l3, l3, l3, b_set)
+   end if
    mom3 = momenta((/l3,l3,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a43(l3, l3, l4, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l3, l3, l4, b_set)
+   end if
    mom3 = momenta((/l3,l4,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a43(l3, l4, l4, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l3, l4, l4, b_set)
+   end if
    mom3 = momenta((/l4,l4,l4/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom3) * a43(l4, l4, l4, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a43(l4, l4, l4, b_set)
+   end if
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_b_tensor_3(coeffs, mom1) * b43(l1, b_set)
+   tmp = contract_b_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b43(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_b_tensor_3(coeffs, mom1) * b43(l2, b_set)
+   tmp = contract_b_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b43(l2, b_set)
+   end if
    mom1 = momenta((/l3/),:)
-   amp = amp + contract_b_tensor_3(coeffs, mom1) * b43(l3, b_set)
+   tmp = contract_b_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b43(l3, b_set)
+   end if
    mom1 = momenta((/l4/),:)
-   amp = amp + contract_b_tensor_3(coeffs, mom1) * b43(l4, b_set)
+   tmp = contract_b_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b43(l4, b_set)
+   end if
 end function contract4_3
 !****f* src/interface/tens_comb/contract4_3s1
 ! NAME
 !
 ! Function contract4_3s1
 !
 ! USAGE
 !
 !  amp = contract4_3s1(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 4-point rank 3 tensor integral
 !  with (mu^2)^1 in the numerator with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_1)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract4_3s1(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_1), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    real(ki), dimension(1,0:3) :: mom1
    integer :: l1, l2, l3, l4
+   complex(ki) :: tmp
    integer, dimension(4) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 4)
    l1 = unpinched(1)
    l2 = unpinched(2)
    l3 = unpinched(3)
    l4 = unpinched(4)
    amp = 0.0_ki
 end function contract4_3s1
 !****f* src/interface/tens_comb/contract4_4
 ! NAME
 !
 ! Function contract4_4
 !
 ! USAGE
 !
 !  amp = contract4_4(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 4-point rank 4 tensor integral
 !  with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_4)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract4_4(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_4), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    real(ki), dimension(1,0:3) :: mom1
    real(ki), dimension(2,0:3) :: mom2
    real(ki), dimension(3,0:3) :: mom3
    real(ki), dimension(4,0:3) :: mom4
    integer :: l1, l2, l3, l4
+   complex(ki) :: tmp
    integer, dimension(4) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 4)
    l1 = unpinched(1)
    l2 = unpinched(2)
    l3 = unpinched(3)
    l4 = unpinched(4)
-   amp = coeffs%c0 * a40(b_set)
+   tmp = coeffs%c0
+   amp = tmp * a40(b_set)
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom1) * a41(l1, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a41(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom1) * a41(l2, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a41(l2, b_set)
+   end if
    mom1 = momenta((/l3/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom1) * a41(l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a41(l3, b_set)
+   end if
    mom1 = momenta((/l4/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom1) * a41(l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a41(l4, b_set)
+   end if
    mom2 = momenta((/l1,l1/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom2) * a42(l1, l1, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a42(l1, l1, b_set)
+   end if
    mom2 = momenta((/l1,l2/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_4(coeffs, mom2) * a42(l1, l2, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a42(l1, l2, b_set)
+   end if
    mom2 = momenta((/l1,l3/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_4(coeffs, mom2) * a42(l1, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a42(l1, l3, b_set)
+   end if
    mom2 = momenta((/l1,l4/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_4(coeffs, mom2) * a42(l1, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a42(l1, l4, b_set)
+   end if
    mom2 = momenta((/l2,l2/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom2) * a42(l2, l2, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a42(l2, l2, b_set)
+   end if
    mom2 = momenta((/l2,l3/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_4(coeffs, mom2) * a42(l2, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a42(l2, l3, b_set)
+   end if
    mom2 = momenta((/l2,l4/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_4(coeffs, mom2) * a42(l2, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a42(l2, l4, b_set)
+   end if
    mom2 = momenta((/l3,l3/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom2) * a42(l3, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a42(l3, l3, b_set)
+   end if
    mom2 = momenta((/l3,l4/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_4(coeffs, mom2) * a42(l3, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a42(l3, l4, b_set)
+   end if
    mom2 = momenta((/l4,l4/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom2) * a42(l4, l4, b_set)
-   amp = amp + contract_b_tensor_4(coeffs) * b42(b_set)
+   tmp = contract_a_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a42(l4, l4, b_set)
+   end if
+   tmp = contract_b_tensor_4(coeffs)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b42(b_set)
+   end if
    mom3 = momenta((/l1,l1,l1/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom3) * a43(l1, l1, l1, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a43(l1, l1, l1, b_set)
+   end if
    mom3 = momenta((/l1,l1,l2/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a43(l1, l1, l2, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l1, l1, l2, b_set)
+   end if
    mom3 = momenta((/l1,l1,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a43(l1, l1, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l1, l1, l3, b_set)
+   end if
    mom3 = momenta((/l1,l1,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a43(l1, l1, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l1, l1, l4, b_set)
+   end if
    mom3 = momenta((/l1,l2,l2/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a43(l1, l2, l2, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l1, l2, l2, b_set)
+   end if
    mom3 = momenta((/l1,l2,l3/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a43(l1, l2, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a43(l1, l2, l3, b_set)
+   end if
    mom3 = momenta((/l1,l2,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a43(l1, l2, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a43(l1, l2, l4, b_set)
+   end if
    mom3 = momenta((/l1,l3,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a43(l1, l3, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l1, l3, l3, b_set)
+   end if
    mom3 = momenta((/l1,l3,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a43(l1, l3, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a43(l1, l3, l4, b_set)
+   end if
    mom3 = momenta((/l1,l4,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a43(l1, l4, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l1, l4, l4, b_set)
+   end if
    mom3 = momenta((/l2,l2,l2/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom3) * a43(l2, l2, l2, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a43(l2, l2, l2, b_set)
+   end if
    mom3 = momenta((/l2,l2,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a43(l2, l2, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l2, l2, l3, b_set)
+   end if
    mom3 = momenta((/l2,l2,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a43(l2, l2, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l2, l2, l4, b_set)
+   end if
    mom3 = momenta((/l2,l3,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a43(l2, l3, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l2, l3, l3, b_set)
+   end if
    mom3 = momenta((/l2,l3,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a43(l2, l3, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a43(l2, l3, l4, b_set)
+   end if
    mom3 = momenta((/l2,l4,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a43(l2, l4, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l2, l4, l4, b_set)
+   end if
    mom3 = momenta((/l3,l3,l3/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom3) * a43(l3, l3, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a43(l3, l3, l3, b_set)
+   end if
    mom3 = momenta((/l3,l3,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a43(l3, l3, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l3, l3, l4, b_set)
+   end if
    mom3 = momenta((/l3,l4,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a43(l3, l4, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l3, l4, l4, b_set)
+   end if
    mom3 = momenta((/l4,l4,l4/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom3) * a43(l4, l4, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a43(l4, l4, l4, b_set)
+   end if
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_b_tensor_4(coeffs, mom1) * b43(l1, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b43(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_b_tensor_4(coeffs, mom1) * b43(l2, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b43(l2, b_set)
+   end if
    mom1 = momenta((/l3/),:)
-   amp = amp + contract_b_tensor_4(coeffs, mom1) * b43(l3, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b43(l3, b_set)
+   end if
    mom1 = momenta((/l4/),:)
-   amp = amp + contract_b_tensor_4(coeffs, mom1) * b43(l4, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b43(l4, b_set)
+   end if
    mom4 = momenta((/l1,l1,l1,l1/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom4) * a44(l1, l1, l1, l1, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a44(l1, l1, l1, l1, b_set)
+   end if
    mom4 = momenta((/l1,l1,l1,l2/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a44(l1, l1, l1, l2, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a44(l1, l1, l1, l2, b_set)
+   end if
    mom4 = momenta((/l1,l1,l1,l3/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a44(l1, l1, l1, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a44(l1, l1, l1, l3, b_set)
+   end if
    mom4 = momenta((/l1,l1,l1,l4/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a44(l1, l1, l1, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a44(l1, l1, l1, l4, b_set)
+   end if
    mom4 = momenta((/l1,l1,l2,l2/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a44(l1, l1, l2, l2, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a44(l1, l1, l2, l2, b_set)
+   end if
    mom4 = momenta((/l1,l1,l2,l3/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a44(l1, l1, l2, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a44(l1, l1, l2, l3, b_set)
+   end if
    mom4 = momenta((/l1,l1,l2,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a44(l1, l1, l2, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a44(l1, l1, l2, l4, b_set)
+   end if
    mom4 = momenta((/l1,l1,l3,l3/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a44(l1, l1, l3, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a44(l1, l1, l3, l3, b_set)
+   end if
    mom4 = momenta((/l1,l1,l3,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a44(l1, l1, l3, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a44(l1, l1, l3, l4, b_set)
+   end if
    mom4 = momenta((/l1,l1,l4,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a44(l1, l1, l4, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a44(l1, l1, l4, l4, b_set)
+   end if
    mom4 = momenta((/l1,l2,l2,l2/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a44(l1, l2, l2, l2, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a44(l1, l2, l2, l2, b_set)
+   end if
    mom4 = momenta((/l1,l2,l2,l3/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a44(l1, l2, l2, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a44(l1, l2, l2, l3, b_set)
+   end if
    mom4 = momenta((/l1,l2,l2,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a44(l1, l2, l2, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a44(l1, l2, l2, l4, b_set)
+   end if
    mom4 = momenta((/l1,l2,l3,l3/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a44(l1, l2, l3, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a44(l1, l2, l3, l3, b_set)
+   end if
    mom4 = momenta((/l1,l2,l3,l4/),:)
-   amp = amp + 24.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a44(l1, l2, l3, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 24.0_ki * tmp * a44(l1, l2, l3, l4, b_set)
+   end if
    mom4 = momenta((/l1,l2,l4,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a44(l1, l2, l4, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a44(l1, l2, l4, l4, b_set)
+   end if
    mom4 = momenta((/l1,l3,l3,l3/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a44(l1, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a44(l1, l3, l3, l3, b_set)
+   end if
    mom4 = momenta((/l1,l3,l3,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a44(l1, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a44(l1, l3, l3, l4, b_set)
+   end if
    mom4 = momenta((/l1,l3,l4,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a44(l1, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a44(l1, l3, l4, l4, b_set)
+   end if
    mom4 = momenta((/l1,l4,l4,l4/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a44(l1, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a44(l1, l4, l4, l4, b_set)
+   end if
    mom4 = momenta((/l2,l2,l2,l2/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom4) * a44(l2, l2, l2, l2, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a44(l2, l2, l2, l2, b_set)
+   end if
    mom4 = momenta((/l2,l2,l2,l3/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a44(l2, l2, l2, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a44(l2, l2, l2, l3, b_set)
+   end if
    mom4 = momenta((/l2,l2,l2,l4/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a44(l2, l2, l2, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a44(l2, l2, l2, l4, b_set)
+   end if
    mom4 = momenta((/l2,l2,l3,l3/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a44(l2, l2, l3, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a44(l2, l2, l3, l3, b_set)
+   end if
    mom4 = momenta((/l2,l2,l3,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a44(l2, l2, l3, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a44(l2, l2, l3, l4, b_set)
+   end if
    mom4 = momenta((/l2,l2,l4,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a44(l2, l2, l4, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a44(l2, l2, l4, l4, b_set)
+   end if
    mom4 = momenta((/l2,l3,l3,l3/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a44(l2, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a44(l2, l3, l3, l3, b_set)
+   end if
    mom4 = momenta((/l2,l3,l3,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a44(l2, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a44(l2, l3, l3, l4, b_set)
+   end if
    mom4 = momenta((/l2,l3,l4,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a44(l2, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a44(l2, l3, l4, l4, b_set)
+   end if
    mom4 = momenta((/l2,l4,l4,l4/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a44(l2, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a44(l2, l4, l4, l4, b_set)
+   end if
    mom4 = momenta((/l3,l3,l3,l3/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom4) * a44(l3, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a44(l3, l3, l3, l3, b_set)
+   end if
    mom4 = momenta((/l3,l3,l3,l4/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a44(l3, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a44(l3, l3, l3, l4, b_set)
+   end if
    mom4 = momenta((/l3,l3,l4,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a44(l3, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a44(l3, l3, l4, l4, b_set)
+   end if
    mom4 = momenta((/l3,l4,l4,l4/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a44(l3, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a44(l3, l4, l4, l4, b_set)
+   end if
    mom4 = momenta((/l4,l4,l4,l4/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom4) * a44(l4, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a44(l4, l4, l4, l4, b_set)
+   end if
    mom2 = momenta((/l1,l1/),:)
-   amp = amp + contract_b_tensor_4(coeffs, mom2) * b44(l1, l1, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b44(l1, l1, b_set)
+   end if
    mom2 = momenta((/l1,l2/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_4(coeffs, mom2) * b44(l1, l2, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b44(l1, l2, b_set)
+   end if
    mom2 = momenta((/l1,l3/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_4(coeffs, mom2) * b44(l1, l3, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b44(l1, l3, b_set)
+   end if
    mom2 = momenta((/l1,l4/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_4(coeffs, mom2) * b44(l1, l4, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b44(l1, l4, b_set)
+   end if
    mom2 = momenta((/l2,l2/),:)
-   amp = amp + contract_b_tensor_4(coeffs, mom2) * b44(l2, l2, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b44(l2, l2, b_set)
+   end if
    mom2 = momenta((/l2,l3/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_4(coeffs, mom2) * b44(l2, l3, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b44(l2, l3, b_set)
+   end if
    mom2 = momenta((/l2,l4/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_4(coeffs, mom2) * b44(l2, l4, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b44(l2, l4, b_set)
+   end if
    mom2 = momenta((/l3,l3/),:)
-   amp = amp + contract_b_tensor_4(coeffs, mom2) * b44(l3, l3, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b44(l3, l3, b_set)
+   end if
    mom2 = momenta((/l3,l4/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_4(coeffs, mom2) * b44(l3, l4, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b44(l3, l4, b_set)
+   end if
    mom2 = momenta((/l4,l4/),:)
-   amp = amp + contract_b_tensor_4(coeffs, mom2) * b44(l4, l4, b_set)
-   amp = amp + contract_c_tensor_4(coeffs) * c44(b_set)
+   tmp = contract_b_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b44(l4, l4, b_set)
+   end if
+   tmp = contract_c_tensor_4(coeffs)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * c44(b_set)
+   end if
 end function contract4_4
 !****f* src/interface/tens_comb/contract4_4s1
 ! NAME
 !
 ! Function contract4_4s1
 !
 ! USAGE
 !
 !  amp = contract4_4s1(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 4-point rank 4 tensor integral
 !  with (mu^2)^1 in the numerator with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_2)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract4_4s1(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_2), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    real(ki), dimension(1,0:3) :: mom1
    real(ki), dimension(2,0:3) :: mom2
    integer :: l1, l2, l3, l4
+   complex(ki) :: tmp
    integer, dimension(4) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 4)
    l1 = unpinched(1)
    l2 = unpinched(2)
    l3 = unpinched(3)
    l4 = unpinched(4)
-   amp = contract_b_tensor_2(coeffs) * c44(b_set)
+   tmp = contract_b_tensor_2(coeffs)
+   amp = tmp * c44(b_set)
    ! multiply by 2*epsilon
    amp%c = 2.0_ki*amp%b
    amp%b = 2.0_ki*amp%a
    amp%a = 0.0_ki
 end function contract4_4s1
 !****f* src/interface/tens_comb/contract4_4s2
 ! NAME
 !
 ! Function contract4_4s2
 !
 ! USAGE
 !
 !  amp = contract4_4s2(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 4-point rank 4 tensor integral
 !  with (mu^2)^2 in the numerator with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_2)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract4_4s2(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_2), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    integer :: l1, l2, l3, l4
+   complex(ki) :: tmp
    integer, dimension(4) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 4)
    l1 = unpinched(1)
    l2 = unpinched(2)
    l3 = unpinched(3)
    l4 = unpinched(4)
-   amp = coeffs%c0 * c44(b_set)
+   tmp = coeffs%c0
+   amp = tmp * c44(b_set)
    ! multiply by -4*(epsilon-epsilon^2)
    amp%c = -4.0_ki*(amp%b-amp%a)
    amp%b = -4.0_ki*amp%a
    amp%a = 0.0_ki
 end function contract4_4s2
 !****f* src/interface/tens_comb/contract4_5
 ! NAME
 !
 ! Function contract4_5
 !
 ! USAGE
 !
 !  amp = contract4_5(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 4-point rank 5 tensor integral
 !  with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_5)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract4_5(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_5), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    real(ki), dimension(1,0:3) :: mom1
    real(ki), dimension(2,0:3) :: mom2
    real(ki), dimension(3,0:3) :: mom3
    real(ki), dimension(4,0:3) :: mom4
    real(ki), dimension(5,0:3) :: mom5
    integer :: l1, l2, l3, l4
+   complex(ki) :: tmp
    integer, dimension(4) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 4)
    l1 = unpinched(1)
    l2 = unpinched(2)
    l3 = unpinched(3)
    l4 = unpinched(4)
-   amp = coeffs%c0 * a40(b_set)
+   tmp = coeffs%c0
+   amp = tmp * a40(b_set)
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom1) * a41(l1, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a41(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom1) * a41(l2, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a41(l2, b_set)
+   end if
    mom1 = momenta((/l3/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom1) * a41(l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a41(l3, b_set)
+   end if
    mom1 = momenta((/l4/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom1) * a41(l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a41(l4, b_set)
+   end if
    mom2 = momenta((/l1,l1/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom2) * a42(l1, l1, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a42(l1, l1, b_set)
+   end if
    mom2 = momenta((/l1,l2/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_5(coeffs, mom2) * a42(l1, l2, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a42(l1, l2, b_set)
+   end if
    mom2 = momenta((/l1,l3/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_5(coeffs, mom2) * a42(l1, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a42(l1, l3, b_set)
+   end if
    mom2 = momenta((/l1,l4/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_5(coeffs, mom2) * a42(l1, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a42(l1, l4, b_set)
+   end if
    mom2 = momenta((/l2,l2/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom2) * a42(l2, l2, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a42(l2, l2, b_set)
+   end if
    mom2 = momenta((/l2,l3/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_5(coeffs, mom2) * a42(l2, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a42(l2, l3, b_set)
+   end if
    mom2 = momenta((/l2,l4/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_5(coeffs, mom2) * a42(l2, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a42(l2, l4, b_set)
+   end if
    mom2 = momenta((/l3,l3/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom2) * a42(l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a42(l3, l3, b_set)
+   end if
    mom2 = momenta((/l3,l4/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_5(coeffs, mom2) * a42(l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a42(l3, l4, b_set)
+   end if
    mom2 = momenta((/l4,l4/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom2) * a42(l4, l4, b_set)
-   amp = amp + contract_b_tensor_5(coeffs) * b42(b_set)
+   tmp = contract_a_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a42(l4, l4, b_set)
+   end if
+   tmp = contract_b_tensor_5(coeffs)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b42(b_set)
+   end if
    mom3 = momenta((/l1,l1,l1/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom3) * a43(l1, l1, l1, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a43(l1, l1, l1, b_set)
+   end if
    mom3 = momenta((/l1,l1,l2/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a43(l1, l1, l2, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l1, l1, l2, b_set)
+   end if
    mom3 = momenta((/l1,l1,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a43(l1, l1, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l1, l1, l3, b_set)
+   end if
    mom3 = momenta((/l1,l1,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a43(l1, l1, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l1, l1, l4, b_set)
+   end if
    mom3 = momenta((/l1,l2,l2/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a43(l1, l2, l2, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l1, l2, l2, b_set)
+   end if
    mom3 = momenta((/l1,l2,l3/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a43(l1, l2, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a43(l1, l2, l3, b_set)
+   end if
    mom3 = momenta((/l1,l2,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a43(l1, l2, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a43(l1, l2, l4, b_set)
+   end if
    mom3 = momenta((/l1,l3,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a43(l1, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l1, l3, l3, b_set)
+   end if
    mom3 = momenta((/l1,l3,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a43(l1, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a43(l1, l3, l4, b_set)
+   end if
    mom3 = momenta((/l1,l4,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a43(l1, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l1, l4, l4, b_set)
+   end if
    mom3 = momenta((/l2,l2,l2/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom3) * a43(l2, l2, l2, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a43(l2, l2, l2, b_set)
+   end if
    mom3 = momenta((/l2,l2,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a43(l2, l2, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l2, l2, l3, b_set)
+   end if
    mom3 = momenta((/l2,l2,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a43(l2, l2, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l2, l2, l4, b_set)
+   end if
    mom3 = momenta((/l2,l3,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a43(l2, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l2, l3, l3, b_set)
+   end if
    mom3 = momenta((/l2,l3,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a43(l2, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a43(l2, l3, l4, b_set)
+   end if
    mom3 = momenta((/l2,l4,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a43(l2, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l2, l4, l4, b_set)
+   end if
    mom3 = momenta((/l3,l3,l3/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom3) * a43(l3, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a43(l3, l3, l3, b_set)
+   end if
    mom3 = momenta((/l3,l3,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a43(l3, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l3, l3, l4, b_set)
+   end if
    mom3 = momenta((/l3,l4,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a43(l3, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a43(l3, l4, l4, b_set)
+   end if
    mom3 = momenta((/l4,l4,l4/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom3) * a43(l4, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a43(l4, l4, l4, b_set)
+   end if
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_b_tensor_5(coeffs, mom1) * b43(l1, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b43(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_b_tensor_5(coeffs, mom1) * b43(l2, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b43(l2, b_set)
+   end if
    mom1 = momenta((/l3/),:)
-   amp = amp + contract_b_tensor_5(coeffs, mom1) * b43(l3, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b43(l3, b_set)
+   end if
    mom1 = momenta((/l4/),:)
-   amp = amp + contract_b_tensor_5(coeffs, mom1) * b43(l4, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b43(l4, b_set)
+   end if
    mom4 = momenta((/l1,l1,l1,l1/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom4) * a44(l1, l1, l1, l1, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a44(l1, l1, l1, l1, b_set)
+   end if
    mom4 = momenta((/l1,l1,l1,l2/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a44(l1, l1, l1, l2, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a44(l1, l1, l1, l2, b_set)
+   end if
    mom4 = momenta((/l1,l1,l1,l3/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a44(l1, l1, l1, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a44(l1, l1, l1, l3, b_set)
+   end if
    mom4 = momenta((/l1,l1,l1,l4/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a44(l1, l1, l1, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a44(l1, l1, l1, l4, b_set)
+   end if
    mom4 = momenta((/l1,l1,l2,l2/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a44(l1, l1, l2, l2, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a44(l1, l1, l2, l2, b_set)
+   end if
    mom4 = momenta((/l1,l1,l2,l3/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a44(l1, l1, l2, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a44(l1, l1, l2, l3, b_set)
+   end if
    mom4 = momenta((/l1,l1,l2,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a44(l1, l1, l2, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a44(l1, l1, l2, l4, b_set)
+   end if
    mom4 = momenta((/l1,l1,l3,l3/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a44(l1, l1, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a44(l1, l1, l3, l3, b_set)
+   end if
    mom4 = momenta((/l1,l1,l3,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a44(l1, l1, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a44(l1, l1, l3, l4, b_set)
+   end if
    mom4 = momenta((/l1,l1,l4,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a44(l1, l1, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a44(l1, l1, l4, l4, b_set)
+   end if
    mom4 = momenta((/l1,l2,l2,l2/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a44(l1, l2, l2, l2, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a44(l1, l2, l2, l2, b_set)
+   end if
    mom4 = momenta((/l1,l2,l2,l3/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a44(l1, l2, l2, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a44(l1, l2, l2, l3, b_set)
+   end if
    mom4 = momenta((/l1,l2,l2,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a44(l1, l2, l2, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a44(l1, l2, l2, l4, b_set)
+   end if
    mom4 = momenta((/l1,l2,l3,l3/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a44(l1, l2, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a44(l1, l2, l3, l3, b_set)
+   end if
    mom4 = momenta((/l1,l2,l3,l4/),:)
-   amp = amp + 24.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a44(l1, l2, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 24.0_ki * tmp * a44(l1, l2, l3, l4, b_set)
+   end if
    mom4 = momenta((/l1,l2,l4,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a44(l1, l2, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a44(l1, l2, l4, l4, b_set)
+   end if
    mom4 = momenta((/l1,l3,l3,l3/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a44(l1, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a44(l1, l3, l3, l3, b_set)
+   end if
    mom4 = momenta((/l1,l3,l3,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a44(l1, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a44(l1, l3, l3, l4, b_set)
+   end if
    mom4 = momenta((/l1,l3,l4,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a44(l1, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a44(l1, l3, l4, l4, b_set)
+   end if
    mom4 = momenta((/l1,l4,l4,l4/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a44(l1, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a44(l1, l4, l4, l4, b_set)
+   end if
    mom4 = momenta((/l2,l2,l2,l2/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom4) * a44(l2, l2, l2, l2, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a44(l2, l2, l2, l2, b_set)
+   end if
    mom4 = momenta((/l2,l2,l2,l3/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a44(l2, l2, l2, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a44(l2, l2, l2, l3, b_set)
+   end if
    mom4 = momenta((/l2,l2,l2,l4/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a44(l2, l2, l2, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a44(l2, l2, l2, l4, b_set)
+   end if
    mom4 = momenta((/l2,l2,l3,l3/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a44(l2, l2, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a44(l2, l2, l3, l3, b_set)
+   end if
    mom4 = momenta((/l2,l2,l3,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a44(l2, l2, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a44(l2, l2, l3, l4, b_set)
+   end if
    mom4 = momenta((/l2,l2,l4,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a44(l2, l2, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a44(l2, l2, l4, l4, b_set)
+   end if
    mom4 = momenta((/l2,l3,l3,l3/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a44(l2, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a44(l2, l3, l3, l3, b_set)
+   end if
    mom4 = momenta((/l2,l3,l3,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a44(l2, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a44(l2, l3, l3, l4, b_set)
+   end if
    mom4 = momenta((/l2,l3,l4,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a44(l2, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a44(l2, l3, l4, l4, b_set)
+   end if
    mom4 = momenta((/l2,l4,l4,l4/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a44(l2, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a44(l2, l4, l4, l4, b_set)
+   end if
    mom4 = momenta((/l3,l3,l3,l3/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom4) * a44(l3, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a44(l3, l3, l3, l3, b_set)
+   end if
    mom4 = momenta((/l3,l3,l3,l4/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a44(l3, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a44(l3, l3, l3, l4, b_set)
+   end if
    mom4 = momenta((/l3,l3,l4,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a44(l3, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a44(l3, l3, l4, l4, b_set)
+   end if
    mom4 = momenta((/l3,l4,l4,l4/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a44(l3, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a44(l3, l4, l4, l4, b_set)
+   end if
    mom4 = momenta((/l4,l4,l4,l4/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom4) * a44(l4, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a44(l4, l4, l4, l4, b_set)
+   end if
    mom2 = momenta((/l1,l1/),:)
-   amp = amp + contract_b_tensor_5(coeffs, mom2) * b44(l1, l1, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b44(l1, l1, b_set)
+   end if
    mom2 = momenta((/l1,l2/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_5(coeffs, mom2) * b44(l1, l2, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b44(l1, l2, b_set)
+   end if
    mom2 = momenta((/l1,l3/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_5(coeffs, mom2) * b44(l1, l3, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b44(l1, l3, b_set)
+   end if
    mom2 = momenta((/l1,l4/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_5(coeffs, mom2) * b44(l1, l4, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b44(l1, l4, b_set)
+   end if
    mom2 = momenta((/l2,l2/),:)
-   amp = amp + contract_b_tensor_5(coeffs, mom2) * b44(l2, l2, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b44(l2, l2, b_set)
+   end if
    mom2 = momenta((/l2,l3/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_5(coeffs, mom2) * b44(l2, l3, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b44(l2, l3, b_set)
+   end if
    mom2 = momenta((/l2,l4/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_5(coeffs, mom2) * b44(l2, l4, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b44(l2, l4, b_set)
+   end if
    mom2 = momenta((/l3,l3/),:)
-   amp = amp + contract_b_tensor_5(coeffs, mom2) * b44(l3, l3, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b44(l3, l3, b_set)
+   end if
    mom2 = momenta((/l3,l4/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_5(coeffs, mom2) * b44(l3, l4, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b44(l3, l4, b_set)
+   end if
    mom2 = momenta((/l4,l4/),:)
-   amp = amp + contract_b_tensor_5(coeffs, mom2) * b44(l4, l4, b_set)
-   amp = amp + contract_c_tensor_5(coeffs) * c44(b_set)
+   tmp = contract_b_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b44(l4, l4, b_set)
+   end if
+   tmp = contract_c_tensor_5(coeffs)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * c44(b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l1,l1/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l1, l1, l1, l1, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a45(l1, l1, l1, l1, l1, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l1,l2/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l1, l1, l1, l2, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a45(l1, l1, l1, l1, l2, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l1,l3/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l1, l1, l1, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a45(l1, l1, l1, l1, l3, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l1,l4/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l1, l1, l1, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a45(l1, l1, l1, l1, l4, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l2,l2/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l1, l1, l2, l2, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a45(l1, l1, l1, l2, l2, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l2,l3/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l1, l1, l2, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a45(l1, l1, l1, l2, l3, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l2,l4/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l1, l1, l2, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a45(l1, l1, l1, l2, l4, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l3,l3/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l1, l1, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a45(l1, l1, l1, l3, l3, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l3,l4/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l1, l1, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a45(l1, l1, l1, l3, l4, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l4,l4/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l1, l1, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a45(l1, l1, l1, l4, l4, b_set)
+   end if
    mom5 = momenta((/l1,l1,l2,l2,l2/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l1, l2, l2, l2, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a45(l1, l1, l2, l2, l2, b_set)
+   end if
    mom5 = momenta((/l1,l1,l2,l2,l3/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l1, l2, l2, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a45(l1, l1, l2, l2, l3, b_set)
+   end if
    mom5 = momenta((/l1,l1,l2,l2,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l1, l2, l2, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a45(l1, l1, l2, l2, l4, b_set)
+   end if
    mom5 = momenta((/l1,l1,l2,l3,l3/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l1, l2, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a45(l1, l1, l2, l3, l3, b_set)
+   end if
    mom5 = momenta((/l1,l1,l2,l3,l4/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l1, l2, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a45(l1, l1, l2, l3, l4, b_set)
+   end if
    mom5 = momenta((/l1,l1,l2,l4,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l1, l2, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a45(l1, l1, l2, l4, l4, b_set)
+   end if
    mom5 = momenta((/l1,l1,l3,l3,l3/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l1, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a45(l1, l1, l3, l3, l3, b_set)
+   end if
    mom5 = momenta((/l1,l1,l3,l3,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l1, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a45(l1, l1, l3, l3, l4, b_set)
+   end if
    mom5 = momenta((/l1,l1,l3,l4,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l1, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a45(l1, l1, l3, l4, l4, b_set)
+   end if
    mom5 = momenta((/l1,l1,l4,l4,l4/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l1, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a45(l1, l1, l4, l4, l4, b_set)
+   end if
    mom5 = momenta((/l1,l2,l2,l2,l2/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l2, l2, l2, l2, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a45(l1, l2, l2, l2, l2, b_set)
+   end if
    mom5 = momenta((/l1,l2,l2,l2,l3/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l2, l2, l2, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a45(l1, l2, l2, l2, l3, b_set)
+   end if
    mom5 = momenta((/l1,l2,l2,l2,l4/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l2, l2, l2, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a45(l1, l2, l2, l2, l4, b_set)
+   end if
    mom5 = momenta((/l1,l2,l2,l3,l3/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l2, l2, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a45(l1, l2, l2, l3, l3, b_set)
+   end if
    mom5 = momenta((/l1,l2,l2,l3,l4/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l2, l2, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a45(l1, l2, l2, l3, l4, b_set)
+   end if
    mom5 = momenta((/l1,l2,l2,l4,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l2, l2, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a45(l1, l2, l2, l4, l4, b_set)
+   end if
    mom5 = momenta((/l1,l2,l3,l3,l3/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l2, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a45(l1, l2, l3, l3, l3, b_set)
+   end if
    mom5 = momenta((/l1,l2,l3,l3,l4/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l2, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a45(l1, l2, l3, l3, l4, b_set)
+   end if
    mom5 = momenta((/l1,l2,l3,l4,l4/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l2, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a45(l1, l2, l3, l4, l4, b_set)
+   end if
    mom5 = momenta((/l1,l2,l4,l4,l4/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l2, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a45(l1, l2, l4, l4, l4, b_set)
+   end if
    mom5 = momenta((/l1,l3,l3,l3,l3/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l3, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a45(l1, l3, l3, l3, l3, b_set)
+   end if
    mom5 = momenta((/l1,l3,l3,l3,l4/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l3, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a45(l1, l3, l3, l3, l4, b_set)
+   end if
    mom5 = momenta((/l1,l3,l3,l4,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l3, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a45(l1, l3, l3, l4, l4, b_set)
+   end if
    mom5 = momenta((/l1,l3,l4,l4,l4/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l3, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a45(l1, l3, l4, l4, l4, b_set)
+   end if
    mom5 = momenta((/l1,l4,l4,l4,l4/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l1, l4, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a45(l1, l4, l4, l4, l4, b_set)
+   end if
    mom5 = momenta((/l2,l2,l2,l2,l2/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l2, l2, l2, l2, l2, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a45(l2, l2, l2, l2, l2, b_set)
+   end if
    mom5 = momenta((/l2,l2,l2,l2,l3/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l2, l2, l2, l2, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a45(l2, l2, l2, l2, l3, b_set)
+   end if
    mom5 = momenta((/l2,l2,l2,l2,l4/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l2, l2, l2, l2, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a45(l2, l2, l2, l2, l4, b_set)
+   end if
    mom5 = momenta((/l2,l2,l2,l3,l3/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l2, l2, l2, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a45(l2, l2, l2, l3, l3, b_set)
+   end if
    mom5 = momenta((/l2,l2,l2,l3,l4/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l2, l2, l2, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a45(l2, l2, l2, l3, l4, b_set)
+   end if
    mom5 = momenta((/l2,l2,l2,l4,l4/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l2, l2, l2, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a45(l2, l2, l2, l4, l4, b_set)
+   end if
    mom5 = momenta((/l2,l2,l3,l3,l3/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l2, l2, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a45(l2, l2, l3, l3, l3, b_set)
+   end if
    mom5 = momenta((/l2,l2,l3,l3,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l2, l2, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a45(l2, l2, l3, l3, l4, b_set)
+   end if
    mom5 = momenta((/l2,l2,l3,l4,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l2, l2, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a45(l2, l2, l3, l4, l4, b_set)
+   end if
    mom5 = momenta((/l2,l2,l4,l4,l4/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l2, l2, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a45(l2, l2, l4, l4, l4, b_set)
+   end if
    mom5 = momenta((/l2,l3,l3,l3,l3/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l2, l3, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a45(l2, l3, l3, l3, l3, b_set)
+   end if
    mom5 = momenta((/l2,l3,l3,l3,l4/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l2, l3, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a45(l2, l3, l3, l3, l4, b_set)
+   end if
    mom5 = momenta((/l2,l3,l3,l4,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l2, l3, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a45(l2, l3, l3, l4, l4, b_set)
+   end if
    mom5 = momenta((/l2,l3,l4,l4,l4/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l2, l3, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a45(l2, l3, l4, l4, l4, b_set)
+   end if
    mom5 = momenta((/l2,l4,l4,l4,l4/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l2, l4, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a45(l2, l4, l4, l4, l4, b_set)
+   end if
    mom5 = momenta((/l3,l3,l3,l3,l3/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l3, l3, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a45(l3, l3, l3, l3, l3, b_set)
+   end if
    mom5 = momenta((/l3,l3,l3,l3,l4/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l3, l3, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a45(l3, l3, l3, l3, l4, b_set)
+   end if
    mom5 = momenta((/l3,l3,l3,l4,l4/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l3, l3, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a45(l3, l3, l3, l4, l4, b_set)
+   end if
    mom5 = momenta((/l3,l3,l4,l4,l4/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l3, l3, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a45(l3, l3, l4, l4, l4, b_set)
+   end if
    mom5 = momenta((/l3,l4,l4,l4,l4/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l3, l4, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a45(l3, l4, l4, l4, l4, b_set)
+   end if
    mom5 = momenta((/l4,l4,l4,l4,l4/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom5) &
-   &  * a45(l4, l4, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a45(l4, l4, l4, l4, l4, b_set)
+   end if
    mom3 = momenta((/l1,l1,l1/),:)
-   amp = amp + contract_b_tensor_5(coeffs, mom3) * b45(l1, l1, l1, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b45(l1, l1, l1, b_set)
+   end if
    mom3 = momenta((/l1,l1,l2/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b45(l1, l1, l2, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b45(l1, l1, l2, b_set)
+   end if
    mom3 = momenta((/l1,l1,l3/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b45(l1, l1, l3, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b45(l1, l1, l3, b_set)
+   end if
    mom3 = momenta((/l1,l1,l4/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b45(l1, l1, l4, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b45(l1, l1, l4, b_set)
+   end if
    mom3 = momenta((/l1,l2,l2/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b45(l1, l2, l2, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b45(l1, l2, l2, b_set)
+   end if
    mom3 = momenta((/l1,l2,l3/),:)
-   amp = amp + 6.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b45(l1, l2, l3, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * b45(l1, l2, l3, b_set)
+   end if
    mom3 = momenta((/l1,l2,l4/),:)
-   amp = amp + 6.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b45(l1, l2, l4, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * b45(l1, l2, l4, b_set)
+   end if
    mom3 = momenta((/l1,l3,l3/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b45(l1, l3, l3, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b45(l1, l3, l3, b_set)
+   end if
    mom3 = momenta((/l1,l3,l4/),:)
-   amp = amp + 6.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b45(l1, l3, l4, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * b45(l1, l3, l4, b_set)
+   end if
    mom3 = momenta((/l1,l4,l4/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b45(l1, l4, l4, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b45(l1, l4, l4, b_set)
+   end if
    mom3 = momenta((/l2,l2,l2/),:)
-   amp = amp + contract_b_tensor_5(coeffs, mom3) * b45(l2, l2, l2, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b45(l2, l2, l2, b_set)
+   end if
    mom3 = momenta((/l2,l2,l3/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b45(l2, l2, l3, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b45(l2, l2, l3, b_set)
+   end if
    mom3 = momenta((/l2,l2,l4/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b45(l2, l2, l4, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b45(l2, l2, l4, b_set)
+   end if
    mom3 = momenta((/l2,l3,l3/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b45(l2, l3, l3, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b45(l2, l3, l3, b_set)
+   end if
    mom3 = momenta((/l2,l3,l4/),:)
-   amp = amp + 6.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b45(l2, l3, l4, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * b45(l2, l3, l4, b_set)
+   end if
    mom3 = momenta((/l2,l4,l4/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b45(l2, l4, l4, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b45(l2, l4, l4, b_set)
+   end if
    mom3 = momenta((/l3,l3,l3/),:)
-   amp = amp + contract_b_tensor_5(coeffs, mom3) * b45(l3, l3, l3, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b45(l3, l3, l3, b_set)
+   end if
    mom3 = momenta((/l3,l3,l4/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b45(l3, l3, l4, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b45(l3, l3, l4, b_set)
+   end if
    mom3 = momenta((/l3,l4,l4/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b45(l3, l4, l4, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b45(l3, l4, l4, b_set)
+   end if
    mom3 = momenta((/l4,l4,l4/),:)
-   amp = amp + contract_b_tensor_5(coeffs, mom3) * b45(l4, l4, l4, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b45(l4, l4, l4, b_set)
+   end if
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_c_tensor_5(coeffs, mom1) * c45(l1, b_set)
+   tmp = contract_c_tensor_5(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * c45(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_c_tensor_5(coeffs, mom1) * c45(l2, b_set)
+   tmp = contract_c_tensor_5(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * c45(l2, b_set)
+   end if
    mom1 = momenta((/l3/),:)
-   amp = amp + contract_c_tensor_5(coeffs, mom1) * c45(l3, b_set)
+   tmp = contract_c_tensor_5(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * c45(l3, b_set)
+   end if
    mom1 = momenta((/l4/),:)
-   amp = amp + contract_c_tensor_5(coeffs, mom1) * c45(l4, b_set)
+   tmp = contract_c_tensor_5(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * c45(l4, b_set)
+   end if
 end function contract4_5
 !****f* src/interface/tens_comb/contract4_5s1
 ! NAME
 !
 ! Function contract4_5s1
 !
 ! USAGE
 !
 !  amp = contract4_5s1(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 4-point rank 5 tensor integral
 !  with (mu^2)^1 in the numerator with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_3)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract4_5s1(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_3), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    real(ki), dimension(1,0:3) :: mom1
    real(ki), dimension(2,0:3) :: mom2
    real(ki), dimension(3,0:3) :: mom3
    integer :: l1, l2, l3, l4
+   complex(ki) :: tmp
    integer, dimension(4) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 4)
    l1 = unpinched(1)
    l2 = unpinched(2)
    l3 = unpinched(3)
    l4 = unpinched(4)
-   amp = contract_b_tensor_3(coeffs) * c44(b_set)
+   tmp = contract_b_tensor_3(coeffs)
+   amp = tmp * c44(b_set)
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_b_tensor_3(coeffs, mom1) * c45(l1, b_set)
+   tmp = contract_b_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * c45(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_b_tensor_3(coeffs, mom1) * c45(l2, b_set)
+   tmp = contract_b_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * c45(l2, b_set)
+   end if
    mom1 = momenta((/l3/),:)
-   amp = amp + contract_b_tensor_3(coeffs, mom1) * c45(l3, b_set)
+   tmp = contract_b_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * c45(l3, b_set)
+   end if
    mom1 = momenta((/l4/),:)
-   amp = amp + contract_b_tensor_3(coeffs, mom1) * c45(l4, b_set)
+   tmp = contract_b_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * c45(l4, b_set)
+   end if
    ! multiply by 2*epsilon
    amp%c = 2.0_ki*amp%b
    amp%b = 2.0_ki*amp%a
    amp%a = 0.0_ki
 end function contract4_5s1
 !****f* src/interface/tens_comb/contract4_5s2
 ! NAME
 !
 ! Function contract4_5s2
 !
 ! USAGE
 !
 !  amp = contract4_5s2(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 4-point rank 5 tensor integral
 !  with (mu^2)^2 in the numerator with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_3)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract4_5s2(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_3), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    real(ki), dimension(1,0:3) :: mom1
    integer :: l1, l2, l3, l4
+   complex(ki) :: tmp
    integer, dimension(4) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 4)
    l1 = unpinched(1)
    l2 = unpinched(2)
    l3 = unpinched(3)
    l4 = unpinched(4)
-   amp = coeffs%c0 * c44(b_set)
+   tmp = coeffs%c0
+   amp = tmp * c44(b_set)
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom1) * c45(l1, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * c45(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom1) * c45(l2, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * c45(l2, b_set)
+   end if
    mom1 = momenta((/l3/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom1) * c45(l3, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * c45(l3, b_set)
+   end if
    mom1 = momenta((/l4/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom1) * c45(l4, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * c45(l4, b_set)
+   end if
    ! multiply by -4*(epsilon-epsilon^2)
    amp%c = -4.0_ki*(amp%b-amp%a)
    amp%b = -4.0_ki*amp%a
    amp%a = 0.0_ki
 end function contract4_5s2
 !****f* src/interface/tens_comb/contract5_1
 ! NAME
 !
 ! Function contract5_1
 !
 ! USAGE
 !
 !  amp = contract5_1(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 5-point rank 1 tensor integral
 !  with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_1)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract5_1(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_1), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    real(ki), dimension(1,0:3) :: mom1
    integer :: l1, l2, l3, l4, l5
+   complex(ki) :: tmp
    integer, dimension(5) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 5)
    l1 = unpinched(1)
    l2 = unpinched(2)
    l3 = unpinched(3)
    l4 = unpinched(4)
    l5 = unpinched(5)
-   amp = coeffs%c0 * a50(b_set)
+   tmp = coeffs%c0
+   amp = tmp * a50(b_set)
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_a_tensor_1(coeffs, mom1) * a51(l1, b_set)
+   tmp = contract_a_tensor_1(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a51(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_a_tensor_1(coeffs, mom1) * a51(l2, b_set)
+   tmp = contract_a_tensor_1(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a51(l2, b_set)
+   end if
    mom1 = momenta((/l3/),:)
-   amp = amp + contract_a_tensor_1(coeffs, mom1) * a51(l3, b_set)
+   tmp = contract_a_tensor_1(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a51(l3, b_set)
+   end if
    mom1 = momenta((/l4/),:)
-   amp = amp + contract_a_tensor_1(coeffs, mom1) * a51(l4, b_set)
+   tmp = contract_a_tensor_1(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a51(l4, b_set)
+   end if
    mom1 = momenta((/l5/),:)
-   amp = amp + contract_a_tensor_1(coeffs, mom1) * a51(l5, b_set)
+   tmp = contract_a_tensor_1(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a51(l5, b_set)
+   end if
 end function contract5_1
 !****f* src/interface/tens_comb/contract5_2
 ! NAME
 !
 ! Function contract5_2
 !
 ! USAGE
 !
 !  amp = contract5_2(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 5-point rank 2 tensor integral
 !  with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_2)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract5_2(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_2), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    real(ki), dimension(1,0:3) :: mom1
    real(ki), dimension(2,0:3) :: mom2
    integer :: l1, l2, l3, l4, l5
+   complex(ki) :: tmp
    integer, dimension(5) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 5)
    l1 = unpinched(1)
    l2 = unpinched(2)
    l3 = unpinched(3)
    l4 = unpinched(4)
    l5 = unpinched(5)
-   amp = coeffs%c0 * a50(b_set)
+   tmp = coeffs%c0
+   amp = tmp * a50(b_set)
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_a_tensor_2(coeffs, mom1) * a51(l1, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a51(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_a_tensor_2(coeffs, mom1) * a51(l2, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a51(l2, b_set)
+   end if
    mom1 = momenta((/l3/),:)
-   amp = amp + contract_a_tensor_2(coeffs, mom1) * a51(l3, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a51(l3, b_set)
+   end if
    mom1 = momenta((/l4/),:)
-   amp = amp + contract_a_tensor_2(coeffs, mom1) * a51(l4, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a51(l4, b_set)
+   end if
    mom1 = momenta((/l5/),:)
-   amp = amp + contract_a_tensor_2(coeffs, mom1) * a51(l5, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a51(l5, b_set)
+   end if
    mom2 = momenta((/l1,l1/),:)
-   amp = amp + contract_a_tensor_2(coeffs, mom2) * a52(l1, l1, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a52(l1, l1, b_set)
+   end if
    mom2 = momenta((/l1,l2/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_2(coeffs, mom2) * a52(l1, l2, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l1, l2, b_set)
+   end if
    mom2 = momenta((/l1,l3/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_2(coeffs, mom2) * a52(l1, l3, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l1, l3, b_set)
+   end if
    mom2 = momenta((/l1,l4/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_2(coeffs, mom2) * a52(l1, l4, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l1, l4, b_set)
+   end if
    mom2 = momenta((/l1,l5/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_2(coeffs, mom2) * a52(l1, l5, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l1, l5, b_set)
+   end if
    mom2 = momenta((/l2,l2/),:)
-   amp = amp + contract_a_tensor_2(coeffs, mom2) * a52(l2, l2, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a52(l2, l2, b_set)
+   end if
    mom2 = momenta((/l2,l3/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_2(coeffs, mom2) * a52(l2, l3, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l2, l3, b_set)
+   end if
    mom2 = momenta((/l2,l4/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_2(coeffs, mom2) * a52(l2, l4, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l2, l4, b_set)
+   end if
    mom2 = momenta((/l2,l5/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_2(coeffs, mom2) * a52(l2, l5, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l2, l5, b_set)
+   end if
    mom2 = momenta((/l3,l3/),:)
-   amp = amp + contract_a_tensor_2(coeffs, mom2) * a52(l3, l3, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a52(l3, l3, b_set)
+   end if
    mom2 = momenta((/l3,l4/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_2(coeffs, mom2) * a52(l3, l4, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l3, l4, b_set)
+   end if
    mom2 = momenta((/l3,l5/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_2(coeffs, mom2) * a52(l3, l5, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l3, l5, b_set)
+   end if
    mom2 = momenta((/l4,l4/),:)
-   amp = amp + contract_a_tensor_2(coeffs, mom2) * a52(l4, l4, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a52(l4, l4, b_set)
+   end if
    mom2 = momenta((/l4,l5/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_2(coeffs, mom2) * a52(l4, l5, b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l4, l5, b_set)
+   end if
    mom2 = momenta((/l5,l5/),:)
-   amp = amp + contract_a_tensor_2(coeffs, mom2) * a52(l5, l5, b_set)
-   amp = amp + contract_b_tensor_2(coeffs) * b52(b_set)
+   tmp = contract_a_tensor_2(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a52(l5, l5, b_set)
+   end if
+   tmp = contract_b_tensor_2(coeffs)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b52(b_set)
+   end if
 end function contract5_2
 !****f* src/interface/tens_comb/contract5_3
 ! NAME
 !
 ! Function contract5_3
 !
 ! USAGE
 !
 !  amp = contract5_3(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 5-point rank 3 tensor integral
 !  with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_3)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract5_3(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_3), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    real(ki), dimension(1,0:3) :: mom1
    real(ki), dimension(2,0:3) :: mom2
    real(ki), dimension(3,0:3) :: mom3
    integer :: l1, l2, l3, l4, l5
+   complex(ki) :: tmp
    integer, dimension(5) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 5)
    l1 = unpinched(1)
    l2 = unpinched(2)
    l3 = unpinched(3)
    l4 = unpinched(4)
    l5 = unpinched(5)
-   amp = coeffs%c0 * a50(b_set)
+   tmp = coeffs%c0
+   amp = tmp * a50(b_set)
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom1) * a51(l1, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a51(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom1) * a51(l2, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a51(l2, b_set)
+   end if
    mom1 = momenta((/l3/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom1) * a51(l3, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a51(l3, b_set)
+   end if
    mom1 = momenta((/l4/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom1) * a51(l4, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a51(l4, b_set)
+   end if
    mom1 = momenta((/l5/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom1) * a51(l5, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a51(l5, b_set)
+   end if
    mom2 = momenta((/l1,l1/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom2) * a52(l1, l1, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a52(l1, l1, b_set)
+   end if
    mom2 = momenta((/l1,l2/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_3(coeffs, mom2) * a52(l1, l2, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l1, l2, b_set)
+   end if
    mom2 = momenta((/l1,l3/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_3(coeffs, mom2) * a52(l1, l3, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l1, l3, b_set)
+   end if
    mom2 = momenta((/l1,l4/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_3(coeffs, mom2) * a52(l1, l4, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l1, l4, b_set)
+   end if
    mom2 = momenta((/l1,l5/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_3(coeffs, mom2) * a52(l1, l5, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l1, l5, b_set)
+   end if
    mom2 = momenta((/l2,l2/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom2) * a52(l2, l2, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a52(l2, l2, b_set)
+   end if
    mom2 = momenta((/l2,l3/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_3(coeffs, mom2) * a52(l2, l3, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l2, l3, b_set)
+   end if
    mom2 = momenta((/l2,l4/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_3(coeffs, mom2) * a52(l2, l4, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l2, l4, b_set)
+   end if
    mom2 = momenta((/l2,l5/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_3(coeffs, mom2) * a52(l2, l5, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l2, l5, b_set)
+   end if
    mom2 = momenta((/l3,l3/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom2) * a52(l3, l3, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a52(l3, l3, b_set)
+   end if
    mom2 = momenta((/l3,l4/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_3(coeffs, mom2) * a52(l3, l4, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l3, l4, b_set)
+   end if
    mom2 = momenta((/l3,l5/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_3(coeffs, mom2) * a52(l3, l5, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l3, l5, b_set)
+   end if
    mom2 = momenta((/l4,l4/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom2) * a52(l4, l4, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a52(l4, l4, b_set)
+   end if
    mom2 = momenta((/l4,l5/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_3(coeffs, mom2) * a52(l4, l5, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l4, l5, b_set)
+   end if
    mom2 = momenta((/l5,l5/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom2) * a52(l5, l5, b_set)
-   amp = amp + contract_b_tensor_3(coeffs) * b52(b_set)
+   tmp = contract_a_tensor_3(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a52(l5, l5, b_set)
+   end if
+   tmp = contract_b_tensor_3(coeffs)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b52(b_set)
+   end if
    mom3 = momenta((/l1,l1,l1/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom3) * a53(l1, l1, l1, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a53(l1, l1, l1, b_set)
+   end if
    mom3 = momenta((/l1,l1,l2/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a53(l1, l1, l2, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l1, l1, l2, b_set)
+   end if
    mom3 = momenta((/l1,l1,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a53(l1, l1, l3, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l1, l1, l3, b_set)
+   end if
    mom3 = momenta((/l1,l1,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a53(l1, l1, l4, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l1, l1, l4, b_set)
+   end if
    mom3 = momenta((/l1,l1,l5/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a53(l1, l1, l5, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l1, l1, l5, b_set)
+   end if
    mom3 = momenta((/l1,l2,l2/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a53(l1, l2, l2, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l1, l2, l2, b_set)
+   end if
    mom3 = momenta((/l1,l2,l3/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a53(l1, l2, l3, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l1, l2, l3, b_set)
+   end if
    mom3 = momenta((/l1,l2,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a53(l1, l2, l4, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l1, l2, l4, b_set)
+   end if
    mom3 = momenta((/l1,l2,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a53(l1, l2, l5, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l1, l2, l5, b_set)
+   end if
    mom3 = momenta((/l1,l3,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a53(l1, l3, l3, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l1, l3, l3, b_set)
+   end if
    mom3 = momenta((/l1,l3,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a53(l1, l3, l4, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l1, l3, l4, b_set)
+   end if
    mom3 = momenta((/l1,l3,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a53(l1, l3, l5, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l1, l3, l5, b_set)
+   end if
    mom3 = momenta((/l1,l4,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a53(l1, l4, l4, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l1, l4, l4, b_set)
+   end if
    mom3 = momenta((/l1,l4,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a53(l1, l4, l5, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l1, l4, l5, b_set)
+   end if
    mom3 = momenta((/l1,l5,l5/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a53(l1, l5, l5, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l1, l5, l5, b_set)
+   end if
    mom3 = momenta((/l2,l2,l2/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom3) * a53(l2, l2, l2, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a53(l2, l2, l2, b_set)
+   end if
    mom3 = momenta((/l2,l2,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a53(l2, l2, l3, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l2, l2, l3, b_set)
+   end if
    mom3 = momenta((/l2,l2,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a53(l2, l2, l4, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l2, l2, l4, b_set)
+   end if
    mom3 = momenta((/l2,l2,l5/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a53(l2, l2, l5, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l2, l2, l5, b_set)
+   end if
    mom3 = momenta((/l2,l3,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a53(l2, l3, l3, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l2, l3, l3, b_set)
+   end if
    mom3 = momenta((/l2,l3,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a53(l2, l3, l4, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l2, l3, l4, b_set)
+   end if
    mom3 = momenta((/l2,l3,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a53(l2, l3, l5, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l2, l3, l5, b_set)
+   end if
    mom3 = momenta((/l2,l4,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a53(l2, l4, l4, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l2, l4, l4, b_set)
+   end if
    mom3 = momenta((/l2,l4,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a53(l2, l4, l5, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l2, l4, l5, b_set)
+   end if
    mom3 = momenta((/l2,l5,l5/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a53(l2, l5, l5, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l2, l5, l5, b_set)
+   end if
    mom3 = momenta((/l3,l3,l3/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom3) * a53(l3, l3, l3, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a53(l3, l3, l3, b_set)
+   end if
    mom3 = momenta((/l3,l3,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a53(l3, l3, l4, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l3, l3, l4, b_set)
+   end if
    mom3 = momenta((/l3,l3,l5/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a53(l3, l3, l5, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l3, l3, l5, b_set)
+   end if
    mom3 = momenta((/l3,l4,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a53(l3, l4, l4, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l3, l4, l4, b_set)
+   end if
    mom3 = momenta((/l3,l4,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a53(l3, l4, l5, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l3, l4, l5, b_set)
+   end if
    mom3 = momenta((/l3,l5,l5/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a53(l3, l5, l5, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l3, l5, l5, b_set)
+   end if
    mom3 = momenta((/l4,l4,l4/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom3) * a53(l4, l4, l4, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a53(l4, l4, l4, b_set)
+   end if
    mom3 = momenta((/l4,l4,l5/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a53(l4, l4, l5, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l4, l4, l5, b_set)
+   end if
    mom3 = momenta((/l4,l5,l5/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_3(coeffs, mom3) &
-   &  * a53(l4, l5, l5, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l4, l5, l5, b_set)
+   end if
    mom3 = momenta((/l5,l5,l5/),:)
-   amp = amp + contract_a_tensor_3(coeffs, mom3) * a53(l5, l5, l5, b_set)
+   tmp = contract_a_tensor_3(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a53(l5, l5, l5, b_set)
+   end if
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_b_tensor_3(coeffs, mom1) * b53(l1, b_set)
+   tmp = contract_b_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b53(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_b_tensor_3(coeffs, mom1) * b53(l2, b_set)
+   tmp = contract_b_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b53(l2, b_set)
+   end if
    mom1 = momenta((/l3/),:)
-   amp = amp + contract_b_tensor_3(coeffs, mom1) * b53(l3, b_set)
+   tmp = contract_b_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b53(l3, b_set)
+   end if
    mom1 = momenta((/l4/),:)
-   amp = amp + contract_b_tensor_3(coeffs, mom1) * b53(l4, b_set)
+   tmp = contract_b_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b53(l4, b_set)
+   end if
    mom1 = momenta((/l5/),:)
-   amp = amp + contract_b_tensor_3(coeffs, mom1) * b53(l5, b_set)
+   tmp = contract_b_tensor_3(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b53(l5, b_set)
+   end if
 end function contract5_3
 !****f* src/interface/tens_comb/contract5_4
 ! NAME
 !
 ! Function contract5_4
 !
 ! USAGE
 !
 !  amp = contract5_4(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 5-point rank 4 tensor integral
 !  with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_4)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract5_4(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_4), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    real(ki), dimension(1,0:3) :: mom1
    real(ki), dimension(2,0:3) :: mom2
    real(ki), dimension(3,0:3) :: mom3
    real(ki), dimension(4,0:3) :: mom4
    integer :: l1, l2, l3, l4, l5
+   complex(ki) :: tmp
    integer, dimension(5) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 5)
    l1 = unpinched(1)
    l2 = unpinched(2)
    l3 = unpinched(3)
    l4 = unpinched(4)
    l5 = unpinched(5)
-   amp = coeffs%c0 * a50(b_set)
+   tmp = coeffs%c0
+   amp = tmp * a50(b_set)
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom1) * a51(l1, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a51(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom1) * a51(l2, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a51(l2, b_set)
+   end if
    mom1 = momenta((/l3/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom1) * a51(l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a51(l3, b_set)
+   end if
    mom1 = momenta((/l4/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom1) * a51(l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a51(l4, b_set)
+   end if
    mom1 = momenta((/l5/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom1) * a51(l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a51(l5, b_set)
+   end if
    mom2 = momenta((/l1,l1/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom2) * a52(l1, l1, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a52(l1, l1, b_set)
+   end if
    mom2 = momenta((/l1,l2/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_4(coeffs, mom2) * a52(l1, l2, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l1, l2, b_set)
+   end if
    mom2 = momenta((/l1,l3/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_4(coeffs, mom2) * a52(l1, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l1, l3, b_set)
+   end if
    mom2 = momenta((/l1,l4/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_4(coeffs, mom2) * a52(l1, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l1, l4, b_set)
+   end if
    mom2 = momenta((/l1,l5/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_4(coeffs, mom2) * a52(l1, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l1, l5, b_set)
+   end if
    mom2 = momenta((/l2,l2/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom2) * a52(l2, l2, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a52(l2, l2, b_set)
+   end if
    mom2 = momenta((/l2,l3/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_4(coeffs, mom2) * a52(l2, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l2, l3, b_set)
+   end if
    mom2 = momenta((/l2,l4/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_4(coeffs, mom2) * a52(l2, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l2, l4, b_set)
+   end if
    mom2 = momenta((/l2,l5/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_4(coeffs, mom2) * a52(l2, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l2, l5, b_set)
+   end if
    mom2 = momenta((/l3,l3/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom2) * a52(l3, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a52(l3, l3, b_set)
+   end if
    mom2 = momenta((/l3,l4/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_4(coeffs, mom2) * a52(l3, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l3, l4, b_set)
+   end if
    mom2 = momenta((/l3,l5/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_4(coeffs, mom2) * a52(l3, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l3, l5, b_set)
+   end if
    mom2 = momenta((/l4,l4/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom2) * a52(l4, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a52(l4, l4, b_set)
+   end if
    mom2 = momenta((/l4,l5/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_4(coeffs, mom2) * a52(l4, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l4, l5, b_set)
+   end if
    mom2 = momenta((/l5,l5/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom2) * a52(l5, l5, b_set)
-   amp = amp + contract_b_tensor_4(coeffs) * b52(b_set)
+   tmp = contract_a_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a52(l5, l5, b_set)
+   end if
+   tmp = contract_b_tensor_4(coeffs)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b52(b_set)
+   end if
    mom3 = momenta((/l1,l1,l1/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom3) * a53(l1, l1, l1, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a53(l1, l1, l1, b_set)
+   end if
    mom3 = momenta((/l1,l1,l2/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a53(l1, l1, l2, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l1, l1, l2, b_set)
+   end if
    mom3 = momenta((/l1,l1,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a53(l1, l1, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l1, l1, l3, b_set)
+   end if
    mom3 = momenta((/l1,l1,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a53(l1, l1, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l1, l1, l4, b_set)
+   end if
    mom3 = momenta((/l1,l1,l5/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a53(l1, l1, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l1, l1, l5, b_set)
+   end if
    mom3 = momenta((/l1,l2,l2/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a53(l1, l2, l2, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l1, l2, l2, b_set)
+   end if
    mom3 = momenta((/l1,l2,l3/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a53(l1, l2, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l1, l2, l3, b_set)
+   end if
    mom3 = momenta((/l1,l2,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a53(l1, l2, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l1, l2, l4, b_set)
+   end if
    mom3 = momenta((/l1,l2,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a53(l1, l2, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l1, l2, l5, b_set)
+   end if
    mom3 = momenta((/l1,l3,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a53(l1, l3, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l1, l3, l3, b_set)
+   end if
    mom3 = momenta((/l1,l3,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a53(l1, l3, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l1, l3, l4, b_set)
+   end if
    mom3 = momenta((/l1,l3,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a53(l1, l3, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l1, l3, l5, b_set)
+   end if
    mom3 = momenta((/l1,l4,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a53(l1, l4, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l1, l4, l4, b_set)
+   end if
    mom3 = momenta((/l1,l4,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a53(l1, l4, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l1, l4, l5, b_set)
+   end if
    mom3 = momenta((/l1,l5,l5/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a53(l1, l5, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l1, l5, l5, b_set)
+   end if
    mom3 = momenta((/l2,l2,l2/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom3) * a53(l2, l2, l2, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a53(l2, l2, l2, b_set)
+   end if
    mom3 = momenta((/l2,l2,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a53(l2, l2, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l2, l2, l3, b_set)
+   end if
    mom3 = momenta((/l2,l2,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a53(l2, l2, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l2, l2, l4, b_set)
+   end if
    mom3 = momenta((/l2,l2,l5/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a53(l2, l2, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l2, l2, l5, b_set)
+   end if
    mom3 = momenta((/l2,l3,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a53(l2, l3, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l2, l3, l3, b_set)
+   end if
    mom3 = momenta((/l2,l3,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a53(l2, l3, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l2, l3, l4, b_set)
+   end if
    mom3 = momenta((/l2,l3,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a53(l2, l3, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l2, l3, l5, b_set)
+   end if
    mom3 = momenta((/l2,l4,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a53(l2, l4, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l2, l4, l4, b_set)
+   end if
    mom3 = momenta((/l2,l4,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a53(l2, l4, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l2, l4, l5, b_set)
+   end if
    mom3 = momenta((/l2,l5,l5/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a53(l2, l5, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l2, l5, l5, b_set)
+   end if
    mom3 = momenta((/l3,l3,l3/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom3) * a53(l3, l3, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a53(l3, l3, l3, b_set)
+   end if
    mom3 = momenta((/l3,l3,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a53(l3, l3, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l3, l3, l4, b_set)
+   end if
    mom3 = momenta((/l3,l3,l5/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a53(l3, l3, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l3, l3, l5, b_set)
+   end if
    mom3 = momenta((/l3,l4,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a53(l3, l4, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l3, l4, l4, b_set)
+   end if
    mom3 = momenta((/l3,l4,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a53(l3, l4, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l3, l4, l5, b_set)
+   end if
    mom3 = momenta((/l3,l5,l5/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a53(l3, l5, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l3, l5, l5, b_set)
+   end if
    mom3 = momenta((/l4,l4,l4/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom3) * a53(l4, l4, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a53(l4, l4, l4, b_set)
+   end if
    mom3 = momenta((/l4,l4,l5/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a53(l4, l4, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l4, l4, l5, b_set)
+   end if
    mom3 = momenta((/l4,l5,l5/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_4(coeffs, mom3) &
-   &  * a53(l4, l5, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l4, l5, l5, b_set)
+   end if
    mom3 = momenta((/l5,l5,l5/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom3) * a53(l5, l5, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a53(l5, l5, l5, b_set)
+   end if
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_b_tensor_4(coeffs, mom1) * b53(l1, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b53(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_b_tensor_4(coeffs, mom1) * b53(l2, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b53(l2, b_set)
+   end if
    mom1 = momenta((/l3/),:)
-   amp = amp + contract_b_tensor_4(coeffs, mom1) * b53(l3, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b53(l3, b_set)
+   end if
    mom1 = momenta((/l4/),:)
-   amp = amp + contract_b_tensor_4(coeffs, mom1) * b53(l4, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b53(l4, b_set)
+   end if
    mom1 = momenta((/l5/),:)
-   amp = amp + contract_b_tensor_4(coeffs, mom1) * b53(l5, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b53(l5, b_set)
+   end if
    mom4 = momenta((/l1,l1,l1,l1/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom4) * a54(l1, l1, l1, l1, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a54(l1, l1, l1, l1, b_set)
+   end if
    mom4 = momenta((/l1,l1,l1,l2/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l1, l1, l1, l2, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l1, l1, l1, l2, b_set)
+   end if
    mom4 = momenta((/l1,l1,l1,l3/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l1, l1, l1, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l1, l1, l1, l3, b_set)
+   end if
    mom4 = momenta((/l1,l1,l1,l4/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l1, l1, l1, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l1, l1, l1, l4, b_set)
+   end if
    mom4 = momenta((/l1,l1,l1,l5/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l1, l1, l1, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l1, l1, l1, l5, b_set)
+   end if
    mom4 = momenta((/l1,l1,l2,l2/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l1, l1, l2, l2, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a54(l1, l1, l2, l2, b_set)
+   end if
    mom4 = momenta((/l1,l1,l2,l3/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l1, l1, l2, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l1, l2, l3, b_set)
+   end if
    mom4 = momenta((/l1,l1,l2,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l1, l1, l2, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l1, l2, l4, b_set)
+   end if
    mom4 = momenta((/l1,l1,l2,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l1, l1, l2, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l1, l2, l5, b_set)
+   end if
    mom4 = momenta((/l1,l1,l3,l3/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l1, l1, l3, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a54(l1, l1, l3, l3, b_set)
+   end if
    mom4 = momenta((/l1,l1,l3,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l1, l1, l3, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l1, l3, l4, b_set)
+   end if
    mom4 = momenta((/l1,l1,l3,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l1, l1, l3, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l1, l3, l5, b_set)
+   end if
    mom4 = momenta((/l1,l1,l4,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l1, l1, l4, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a54(l1, l1, l4, l4, b_set)
+   end if
    mom4 = momenta((/l1,l1,l4,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l1, l1, l4, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l1, l4, l5, b_set)
+   end if
    mom4 = momenta((/l1,l1,l5,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l1, l1, l5, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a54(l1, l1, l5, l5, b_set)
+   end if
    mom4 = momenta((/l1,l2,l2,l2/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l1, l2, l2, l2, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l1, l2, l2, l2, b_set)
+   end if
    mom4 = momenta((/l1,l2,l2,l3/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l1, l2, l2, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l2, l2, l3, b_set)
+   end if
    mom4 = momenta((/l1,l2,l2,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l1, l2, l2, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l2, l2, l4, b_set)
+   end if
    mom4 = momenta((/l1,l2,l2,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l1, l2, l2, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l2, l2, l5, b_set)
+   end if
    mom4 = momenta((/l1,l2,l3,l3/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l1, l2, l3, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l2, l3, l3, b_set)
+   end if
    mom4 = momenta((/l1,l2,l3,l4/),:)
-   amp = amp + 24.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l1, l2, l3, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 24.0_ki * tmp * a54(l1, l2, l3, l4, b_set)
+   end if
    mom4 = momenta((/l1,l2,l3,l5/),:)
-   amp = amp + 24.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l1, l2, l3, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 24.0_ki * tmp * a54(l1, l2, l3, l5, b_set)
+   end if
    mom4 = momenta((/l1,l2,l4,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l1, l2, l4, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l2, l4, l4, b_set)
+   end if
    mom4 = momenta((/l1,l2,l4,l5/),:)
-   amp = amp + 24.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l1, l2, l4, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 24.0_ki * tmp * a54(l1, l2, l4, l5, b_set)
+   end if
    mom4 = momenta((/l1,l2,l5,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l1, l2, l5, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l2, l5, l5, b_set)
+   end if
    mom4 = momenta((/l1,l3,l3,l3/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l1, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l1, l3, l3, l3, b_set)
+   end if
    mom4 = momenta((/l1,l3,l3,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l1, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l3, l3, l4, b_set)
+   end if
    mom4 = momenta((/l1,l3,l3,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l1, l3, l3, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l3, l3, l5, b_set)
+   end if
    mom4 = momenta((/l1,l3,l4,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l1, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l3, l4, l4, b_set)
+   end if
    mom4 = momenta((/l1,l3,l4,l5/),:)
-   amp = amp + 24.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l1, l3, l4, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 24.0_ki * tmp * a54(l1, l3, l4, l5, b_set)
+   end if
    mom4 = momenta((/l1,l3,l5,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l1, l3, l5, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l3, l5, l5, b_set)
+   end if
    mom4 = momenta((/l1,l4,l4,l4/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l1, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l1, l4, l4, l4, b_set)
+   end if
    mom4 = momenta((/l1,l4,l4,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l1, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l4, l4, l5, b_set)
+   end if
    mom4 = momenta((/l1,l4,l5,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l1, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l4, l5, l5, b_set)
+   end if
    mom4 = momenta((/l1,l5,l5,l5/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l1, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l1, l5, l5, l5, b_set)
+   end if
    mom4 = momenta((/l2,l2,l2,l2/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom4) * a54(l2, l2, l2, l2, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a54(l2, l2, l2, l2, b_set)
+   end if
    mom4 = momenta((/l2,l2,l2,l3/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l2, l2, l2, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l2, l2, l2, l3, b_set)
+   end if
    mom4 = momenta((/l2,l2,l2,l4/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l2, l2, l2, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l2, l2, l2, l4, b_set)
+   end if
    mom4 = momenta((/l2,l2,l2,l5/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l2, l2, l2, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l2, l2, l2, l5, b_set)
+   end if
    mom4 = momenta((/l2,l2,l3,l3/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l2, l2, l3, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a54(l2, l2, l3, l3, b_set)
+   end if
    mom4 = momenta((/l2,l2,l3,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l2, l2, l3, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l2, l2, l3, l4, b_set)
+   end if
    mom4 = momenta((/l2,l2,l3,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l2, l2, l3, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l2, l2, l3, l5, b_set)
+   end if
    mom4 = momenta((/l2,l2,l4,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l2, l2, l4, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a54(l2, l2, l4, l4, b_set)
+   end if
    mom4 = momenta((/l2,l2,l4,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l2, l2, l4, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l2, l2, l4, l5, b_set)
+   end if
    mom4 = momenta((/l2,l2,l5,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l2, l2, l5, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a54(l2, l2, l5, l5, b_set)
+   end if
    mom4 = momenta((/l2,l3,l3,l3/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l2, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l2, l3, l3, l3, b_set)
+   end if
    mom4 = momenta((/l2,l3,l3,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l2, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l2, l3, l3, l4, b_set)
+   end if
    mom4 = momenta((/l2,l3,l3,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l2, l3, l3, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l2, l3, l3, l5, b_set)
+   end if
    mom4 = momenta((/l2,l3,l4,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l2, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l2, l3, l4, l4, b_set)
+   end if
    mom4 = momenta((/l2,l3,l4,l5/),:)
-   amp = amp + 24.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l2, l3, l4, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 24.0_ki * tmp * a54(l2, l3, l4, l5, b_set)
+   end if
    mom4 = momenta((/l2,l3,l5,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l2, l3, l5, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l2, l3, l5, l5, b_set)
+   end if
    mom4 = momenta((/l2,l4,l4,l4/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l2, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l2, l4, l4, l4, b_set)
+   end if
    mom4 = momenta((/l2,l4,l4,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l2, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l2, l4, l4, l5, b_set)
+   end if
    mom4 = momenta((/l2,l4,l5,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l2, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l2, l4, l5, l5, b_set)
+   end if
    mom4 = momenta((/l2,l5,l5,l5/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l2, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l2, l5, l5, l5, b_set)
+   end if
    mom4 = momenta((/l3,l3,l3,l3/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom4) * a54(l3, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a54(l3, l3, l3, l3, b_set)
+   end if
    mom4 = momenta((/l3,l3,l3,l4/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l3, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l3, l3, l3, l4, b_set)
+   end if
    mom4 = momenta((/l3,l3,l3,l5/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l3, l3, l3, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l3, l3, l3, l5, b_set)
+   end if
    mom4 = momenta((/l3,l3,l4,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l3, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a54(l3, l3, l4, l4, b_set)
+   end if
    mom4 = momenta((/l3,l3,l4,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l3, l3, l4, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l3, l3, l4, l5, b_set)
+   end if
    mom4 = momenta((/l3,l3,l5,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l3, l3, l5, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a54(l3, l3, l5, l5, b_set)
+   end if
    mom4 = momenta((/l3,l4,l4,l4/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l3, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l3, l4, l4, l4, b_set)
+   end if
    mom4 = momenta((/l3,l4,l4,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l3, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l3, l4, l4, l5, b_set)
+   end if
    mom4 = momenta((/l3,l4,l5,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l3, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l3, l4, l5, l5, b_set)
+   end if
    mom4 = momenta((/l3,l5,l5,l5/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l3, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l3, l5, l5, l5, b_set)
+   end if
    mom4 = momenta((/l4,l4,l4,l4/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom4) * a54(l4, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a54(l4, l4, l4, l4, b_set)
+   end if
    mom4 = momenta((/l4,l4,l4,l5/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l4, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l4, l4, l4, l5, b_set)
+   end if
    mom4 = momenta((/l4,l4,l5,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l4, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a54(l4, l4, l5, l5, b_set)
+   end if
    mom4 = momenta((/l4,l5,l5,l5/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_4(coeffs, mom4) &
-   &  * a54(l4, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l4, l5, l5, l5, b_set)
+   end if
    mom4 = momenta((/l5,l5,l5,l5/),:)
-   amp = amp + contract_a_tensor_4(coeffs, mom4) * a54(l5, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_4(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a54(l5, l5, l5, l5, b_set)
+   end if
    mom2 = momenta((/l1,l1/),:)
-   amp = amp + contract_b_tensor_4(coeffs, mom2) * b54(l1, l1, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b54(l1, l1, b_set)
+   end if
    mom2 = momenta((/l1,l2/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_4(coeffs, mom2) * b54(l1, l2, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b54(l1, l2, b_set)
+   end if
    mom2 = momenta((/l1,l3/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_4(coeffs, mom2) * b54(l1, l3, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b54(l1, l3, b_set)
+   end if
    mom2 = momenta((/l1,l4/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_4(coeffs, mom2) * b54(l1, l4, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b54(l1, l4, b_set)
+   end if
    mom2 = momenta((/l1,l5/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_4(coeffs, mom2) * b54(l1, l5, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b54(l1, l5, b_set)
+   end if
    mom2 = momenta((/l2,l2/),:)
-   amp = amp + contract_b_tensor_4(coeffs, mom2) * b54(l2, l2, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b54(l2, l2, b_set)
+   end if
    mom2 = momenta((/l2,l3/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_4(coeffs, mom2) * b54(l2, l3, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b54(l2, l3, b_set)
+   end if
    mom2 = momenta((/l2,l4/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_4(coeffs, mom2) * b54(l2, l4, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b54(l2, l4, b_set)
+   end if
    mom2 = momenta((/l2,l5/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_4(coeffs, mom2) * b54(l2, l5, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b54(l2, l5, b_set)
+   end if
    mom2 = momenta((/l3,l3/),:)
-   amp = amp + contract_b_tensor_4(coeffs, mom2) * b54(l3, l3, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b54(l3, l3, b_set)
+   end if
    mom2 = momenta((/l3,l4/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_4(coeffs, mom2) * b54(l3, l4, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b54(l3, l4, b_set)
+   end if
    mom2 = momenta((/l3,l5/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_4(coeffs, mom2) * b54(l3, l5, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b54(l3, l5, b_set)
+   end if
    mom2 = momenta((/l4,l4/),:)
-   amp = amp + contract_b_tensor_4(coeffs, mom2) * b54(l4, l4, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b54(l4, l4, b_set)
+   end if
    mom2 = momenta((/l4,l5/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_4(coeffs, mom2) * b54(l4, l5, b_set)
+   tmp = contract_b_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b54(l4, l5, b_set)
+   end if
    mom2 = momenta((/l5,l5/),:)
-   amp = amp + contract_b_tensor_4(coeffs, mom2) * b54(l5, l5, b_set)
-   amp = amp + contract_c_tensor_4(coeffs) * c54(b_set)
+   tmp = contract_b_tensor_4(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b54(l5, l5, b_set)
+   end if
+   tmp = contract_c_tensor_4(coeffs)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * c54(b_set)
+   end if
 end function contract5_4
 !****f* src/interface/tens_comb/contract5_5
 ! NAME
 !
 ! Function contract5_5
 !
 ! USAGE
 !
 !  amp = contract5_5(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 5-point rank 5 tensor integral
 !  with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_5)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract5_5(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_5), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    real(ki), dimension(1,0:3) :: mom1
    real(ki), dimension(2,0:3) :: mom2
    real(ki), dimension(3,0:3) :: mom3
    real(ki), dimension(4,0:3) :: mom4
    real(ki), dimension(5,0:3) :: mom5
    integer :: l1, l2, l3, l4, l5
+   complex(ki) :: tmp
    integer, dimension(5) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 5)
    l1 = unpinched(1)
    l2 = unpinched(2)
    l3 = unpinched(3)
    l4 = unpinched(4)
    l5 = unpinched(5)
-   amp = coeffs%c0 * a50(b_set)
+   tmp = coeffs%c0
+   amp = tmp * a50(b_set)
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom1) * a51(l1, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a51(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom1) * a51(l2, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a51(l2, b_set)
+   end if
    mom1 = momenta((/l3/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom1) * a51(l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a51(l3, b_set)
+   end if
    mom1 = momenta((/l4/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom1) * a51(l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a51(l4, b_set)
+   end if
    mom1 = momenta((/l5/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom1) * a51(l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a51(l5, b_set)
+   end if
    mom2 = momenta((/l1,l1/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom2) * a52(l1, l1, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a52(l1, l1, b_set)
+   end if
    mom2 = momenta((/l1,l2/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_5(coeffs, mom2) * a52(l1, l2, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l1, l2, b_set)
+   end if
    mom2 = momenta((/l1,l3/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_5(coeffs, mom2) * a52(l1, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l1, l3, b_set)
+   end if
    mom2 = momenta((/l1,l4/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_5(coeffs, mom2) * a52(l1, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l1, l4, b_set)
+   end if
    mom2 = momenta((/l1,l5/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_5(coeffs, mom2) * a52(l1, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l1, l5, b_set)
+   end if
    mom2 = momenta((/l2,l2/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom2) * a52(l2, l2, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a52(l2, l2, b_set)
+   end if
    mom2 = momenta((/l2,l3/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_5(coeffs, mom2) * a52(l2, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l2, l3, b_set)
+   end if
    mom2 = momenta((/l2,l4/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_5(coeffs, mom2) * a52(l2, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l2, l4, b_set)
+   end if
    mom2 = momenta((/l2,l5/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_5(coeffs, mom2) * a52(l2, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l2, l5, b_set)
+   end if
    mom2 = momenta((/l3,l3/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom2) * a52(l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a52(l3, l3, b_set)
+   end if
    mom2 = momenta((/l3,l4/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_5(coeffs, mom2) * a52(l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l3, l4, b_set)
+   end if
    mom2 = momenta((/l3,l5/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_5(coeffs, mom2) * a52(l3, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l3, l5, b_set)
+   end if
    mom2 = momenta((/l4,l4/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom2) * a52(l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a52(l4, l4, b_set)
+   end if
    mom2 = momenta((/l4,l5/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_5(coeffs, mom2) * a52(l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l4, l5, b_set)
+   end if
    mom2 = momenta((/l5,l5/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom2) * a52(l5, l5, b_set)
-   amp = amp + contract_b_tensor_5(coeffs) * b52(b_set)
+   tmp = contract_a_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a52(l5, l5, b_set)
+   end if
+   tmp = contract_b_tensor_5(coeffs)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b52(b_set)
+   end if
    mom3 = momenta((/l1,l1,l1/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom3) * a53(l1, l1, l1, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a53(l1, l1, l1, b_set)
+   end if
    mom3 = momenta((/l1,l1,l2/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a53(l1, l1, l2, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l1, l1, l2, b_set)
+   end if
    mom3 = momenta((/l1,l1,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a53(l1, l1, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l1, l1, l3, b_set)
+   end if
    mom3 = momenta((/l1,l1,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a53(l1, l1, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l1, l1, l4, b_set)
+   end if
    mom3 = momenta((/l1,l1,l5/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a53(l1, l1, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l1, l1, l5, b_set)
+   end if
    mom3 = momenta((/l1,l2,l2/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a53(l1, l2, l2, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l1, l2, l2, b_set)
+   end if
    mom3 = momenta((/l1,l2,l3/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a53(l1, l2, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l1, l2, l3, b_set)
+   end if
    mom3 = momenta((/l1,l2,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a53(l1, l2, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l1, l2, l4, b_set)
+   end if
    mom3 = momenta((/l1,l2,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a53(l1, l2, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l1, l2, l5, b_set)
+   end if
    mom3 = momenta((/l1,l3,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a53(l1, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l1, l3, l3, b_set)
+   end if
    mom3 = momenta((/l1,l3,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a53(l1, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l1, l3, l4, b_set)
+   end if
    mom3 = momenta((/l1,l3,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a53(l1, l3, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l1, l3, l5, b_set)
+   end if
    mom3 = momenta((/l1,l4,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a53(l1, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l1, l4, l4, b_set)
+   end if
    mom3 = momenta((/l1,l4,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a53(l1, l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l1, l4, l5, b_set)
+   end if
    mom3 = momenta((/l1,l5,l5/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a53(l1, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l1, l5, l5, b_set)
+   end if
    mom3 = momenta((/l2,l2,l2/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom3) * a53(l2, l2, l2, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a53(l2, l2, l2, b_set)
+   end if
    mom3 = momenta((/l2,l2,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a53(l2, l2, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l2, l2, l3, b_set)
+   end if
    mom3 = momenta((/l2,l2,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a53(l2, l2, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l2, l2, l4, b_set)
+   end if
    mom3 = momenta((/l2,l2,l5/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a53(l2, l2, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l2, l2, l5, b_set)
+   end if
    mom3 = momenta((/l2,l3,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a53(l2, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l2, l3, l3, b_set)
+   end if
    mom3 = momenta((/l2,l3,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a53(l2, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l2, l3, l4, b_set)
+   end if
    mom3 = momenta((/l2,l3,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a53(l2, l3, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l2, l3, l5, b_set)
+   end if
    mom3 = momenta((/l2,l4,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a53(l2, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l2, l4, l4, b_set)
+   end if
    mom3 = momenta((/l2,l4,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a53(l2, l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l2, l4, l5, b_set)
+   end if
    mom3 = momenta((/l2,l5,l5/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a53(l2, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l2, l5, l5, b_set)
+   end if
    mom3 = momenta((/l3,l3,l3/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom3) * a53(l3, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a53(l3, l3, l3, b_set)
+   end if
    mom3 = momenta((/l3,l3,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a53(l3, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l3, l3, l4, b_set)
+   end if
    mom3 = momenta((/l3,l3,l5/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a53(l3, l3, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l3, l3, l5, b_set)
+   end if
    mom3 = momenta((/l3,l4,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a53(l3, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l3, l4, l4, b_set)
+   end if
    mom3 = momenta((/l3,l4,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a53(l3, l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l3, l4, l5, b_set)
+   end if
    mom3 = momenta((/l3,l5,l5/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a53(l3, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l3, l5, l5, b_set)
+   end if
    mom3 = momenta((/l4,l4,l4/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom3) * a53(l4, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a53(l4, l4, l4, b_set)
+   end if
    mom3 = momenta((/l4,l4,l5/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a53(l4, l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l4, l4, l5, b_set)
+   end if
    mom3 = momenta((/l4,l5,l5/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_5(coeffs, mom3) &
-   &  * a53(l4, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l4, l5, l5, b_set)
+   end if
    mom3 = momenta((/l5,l5,l5/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom3) * a53(l5, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a53(l5, l5, l5, b_set)
+   end if
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_b_tensor_5(coeffs, mom1) * b53(l1, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b53(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_b_tensor_5(coeffs, mom1) * b53(l2, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b53(l2, b_set)
+   end if
    mom1 = momenta((/l3/),:)
-   amp = amp + contract_b_tensor_5(coeffs, mom1) * b53(l3, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b53(l3, b_set)
+   end if
    mom1 = momenta((/l4/),:)
-   amp = amp + contract_b_tensor_5(coeffs, mom1) * b53(l4, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b53(l4, b_set)
+   end if
    mom1 = momenta((/l5/),:)
-   amp = amp + contract_b_tensor_5(coeffs, mom1) * b53(l5, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b53(l5, b_set)
+   end if
    mom4 = momenta((/l1,l1,l1,l1/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom4) * a54(l1, l1, l1, l1, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a54(l1, l1, l1, l1, b_set)
+   end if
    mom4 = momenta((/l1,l1,l1,l2/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l1, l1, l1, l2, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l1, l1, l1, l2, b_set)
+   end if
    mom4 = momenta((/l1,l1,l1,l3/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l1, l1, l1, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l1, l1, l1, l3, b_set)
+   end if
    mom4 = momenta((/l1,l1,l1,l4/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l1, l1, l1, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l1, l1, l1, l4, b_set)
+   end if
    mom4 = momenta((/l1,l1,l1,l5/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l1, l1, l1, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l1, l1, l1, l5, b_set)
+   end if
    mom4 = momenta((/l1,l1,l2,l2/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l1, l1, l2, l2, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a54(l1, l1, l2, l2, b_set)
+   end if
    mom4 = momenta((/l1,l1,l2,l3/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l1, l1, l2, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l1, l2, l3, b_set)
+   end if
    mom4 = momenta((/l1,l1,l2,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l1, l1, l2, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l1, l2, l4, b_set)
+   end if
    mom4 = momenta((/l1,l1,l2,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l1, l1, l2, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l1, l2, l5, b_set)
+   end if
    mom4 = momenta((/l1,l1,l3,l3/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l1, l1, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a54(l1, l1, l3, l3, b_set)
+   end if
    mom4 = momenta((/l1,l1,l3,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l1, l1, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l1, l3, l4, b_set)
+   end if
    mom4 = momenta((/l1,l1,l3,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l1, l1, l3, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l1, l3, l5, b_set)
+   end if
    mom4 = momenta((/l1,l1,l4,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l1, l1, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a54(l1, l1, l4, l4, b_set)
+   end if
    mom4 = momenta((/l1,l1,l4,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l1, l1, l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l1, l4, l5, b_set)
+   end if
    mom4 = momenta((/l1,l1,l5,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l1, l1, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a54(l1, l1, l5, l5, b_set)
+   end if
    mom4 = momenta((/l1,l2,l2,l2/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l1, l2, l2, l2, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l1, l2, l2, l2, b_set)
+   end if
    mom4 = momenta((/l1,l2,l2,l3/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l1, l2, l2, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l2, l2, l3, b_set)
+   end if
    mom4 = momenta((/l1,l2,l2,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l1, l2, l2, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l2, l2, l4, b_set)
+   end if
    mom4 = momenta((/l1,l2,l2,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l1, l2, l2, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l2, l2, l5, b_set)
+   end if
    mom4 = momenta((/l1,l2,l3,l3/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l1, l2, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l2, l3, l3, b_set)
+   end if
    mom4 = momenta((/l1,l2,l3,l4/),:)
-   amp = amp + 24.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l1, l2, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 24.0_ki * tmp * a54(l1, l2, l3, l4, b_set)
+   end if
    mom4 = momenta((/l1,l2,l3,l5/),:)
-   amp = amp + 24.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l1, l2, l3, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 24.0_ki * tmp * a54(l1, l2, l3, l5, b_set)
+   end if
    mom4 = momenta((/l1,l2,l4,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l1, l2, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l2, l4, l4, b_set)
+   end if
    mom4 = momenta((/l1,l2,l4,l5/),:)
-   amp = amp + 24.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l1, l2, l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 24.0_ki * tmp * a54(l1, l2, l4, l5, b_set)
+   end if
    mom4 = momenta((/l1,l2,l5,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l1, l2, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l2, l5, l5, b_set)
+   end if
    mom4 = momenta((/l1,l3,l3,l3/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l1, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l1, l3, l3, l3, b_set)
+   end if
    mom4 = momenta((/l1,l3,l3,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l1, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l3, l3, l4, b_set)
+   end if
    mom4 = momenta((/l1,l3,l3,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l1, l3, l3, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l3, l3, l5, b_set)
+   end if
    mom4 = momenta((/l1,l3,l4,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l1, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l3, l4, l4, b_set)
+   end if
    mom4 = momenta((/l1,l3,l4,l5/),:)
-   amp = amp + 24.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l1, l3, l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 24.0_ki * tmp * a54(l1, l3, l4, l5, b_set)
+   end if
    mom4 = momenta((/l1,l3,l5,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l1, l3, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l3, l5, l5, b_set)
+   end if
    mom4 = momenta((/l1,l4,l4,l4/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l1, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l1, l4, l4, l4, b_set)
+   end if
    mom4 = momenta((/l1,l4,l4,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l1, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l4, l4, l5, b_set)
+   end if
    mom4 = momenta((/l1,l4,l5,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l1, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l4, l5, l5, b_set)
+   end if
    mom4 = momenta((/l1,l5,l5,l5/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l1, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l1, l5, l5, l5, b_set)
+   end if
    mom4 = momenta((/l2,l2,l2,l2/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom4) * a54(l2, l2, l2, l2, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a54(l2, l2, l2, l2, b_set)
+   end if
    mom4 = momenta((/l2,l2,l2,l3/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l2, l2, l2, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l2, l2, l2, l3, b_set)
+   end if
    mom4 = momenta((/l2,l2,l2,l4/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l2, l2, l2, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l2, l2, l2, l4, b_set)
+   end if
    mom4 = momenta((/l2,l2,l2,l5/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l2, l2, l2, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l2, l2, l2, l5, b_set)
+   end if
    mom4 = momenta((/l2,l2,l3,l3/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l2, l2, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a54(l2, l2, l3, l3, b_set)
+   end if
    mom4 = momenta((/l2,l2,l3,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l2, l2, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l2, l2, l3, l4, b_set)
+   end if
    mom4 = momenta((/l2,l2,l3,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l2, l2, l3, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l2, l2, l3, l5, b_set)
+   end if
    mom4 = momenta((/l2,l2,l4,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l2, l2, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a54(l2, l2, l4, l4, b_set)
+   end if
    mom4 = momenta((/l2,l2,l4,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l2, l2, l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l2, l2, l4, l5, b_set)
+   end if
    mom4 = momenta((/l2,l2,l5,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l2, l2, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a54(l2, l2, l5, l5, b_set)
+   end if
    mom4 = momenta((/l2,l3,l3,l3/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l2, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l2, l3, l3, l3, b_set)
+   end if
    mom4 = momenta((/l2,l3,l3,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l2, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l2, l3, l3, l4, b_set)
+   end if
    mom4 = momenta((/l2,l3,l3,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l2, l3, l3, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l2, l3, l3, l5, b_set)
+   end if
    mom4 = momenta((/l2,l3,l4,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l2, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l2, l3, l4, l4, b_set)
+   end if
    mom4 = momenta((/l2,l3,l4,l5/),:)
-   amp = amp + 24.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l2, l3, l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 24.0_ki * tmp * a54(l2, l3, l4, l5, b_set)
+   end if
    mom4 = momenta((/l2,l3,l5,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l2, l3, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l2, l3, l5, l5, b_set)
+   end if
    mom4 = momenta((/l2,l4,l4,l4/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l2, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l2, l4, l4, l4, b_set)
+   end if
    mom4 = momenta((/l2,l4,l4,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l2, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l2, l4, l4, l5, b_set)
+   end if
    mom4 = momenta((/l2,l4,l5,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l2, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l2, l4, l5, l5, b_set)
+   end if
    mom4 = momenta((/l2,l5,l5,l5/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l2, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l2, l5, l5, l5, b_set)
+   end if
    mom4 = momenta((/l3,l3,l3,l3/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom4) * a54(l3, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a54(l3, l3, l3, l3, b_set)
+   end if
    mom4 = momenta((/l3,l3,l3,l4/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l3, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l3, l3, l3, l4, b_set)
+   end if
    mom4 = momenta((/l3,l3,l3,l5/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l3, l3, l3, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l3, l3, l3, l5, b_set)
+   end if
    mom4 = momenta((/l3,l3,l4,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l3, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a54(l3, l3, l4, l4, b_set)
+   end if
    mom4 = momenta((/l3,l3,l4,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l3, l3, l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l3, l3, l4, l5, b_set)
+   end if
    mom4 = momenta((/l3,l3,l5,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l3, l3, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a54(l3, l3, l5, l5, b_set)
+   end if
    mom4 = momenta((/l3,l4,l4,l4/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l3, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l3, l4, l4, l4, b_set)
+   end if
    mom4 = momenta((/l3,l4,l4,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l3, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l3, l4, l4, l5, b_set)
+   end if
    mom4 = momenta((/l3,l4,l5,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l3, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l3, l4, l5, l5, b_set)
+   end if
    mom4 = momenta((/l3,l5,l5,l5/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l3, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l3, l5, l5, l5, b_set)
+   end if
    mom4 = momenta((/l4,l4,l4,l4/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom4) * a54(l4, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a54(l4, l4, l4, l4, b_set)
+   end if
    mom4 = momenta((/l4,l4,l4,l5/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l4, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l4, l4, l4, l5, b_set)
+   end if
    mom4 = momenta((/l4,l4,l5,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l4, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a54(l4, l4, l5, l5, b_set)
+   end if
    mom4 = momenta((/l4,l5,l5,l5/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_5(coeffs, mom4) &
-   &  * a54(l4, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l4, l5, l5, l5, b_set)
+   end if
    mom4 = momenta((/l5,l5,l5,l5/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom4) * a54(l5, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a54(l5, l5, l5, l5, b_set)
+   end if
    mom2 = momenta((/l1,l1/),:)
-   amp = amp + contract_b_tensor_5(coeffs, mom2) * b54(l1, l1, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b54(l1, l1, b_set)
+   end if
    mom2 = momenta((/l1,l2/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_5(coeffs, mom2) * b54(l1, l2, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b54(l1, l2, b_set)
+   end if
    mom2 = momenta((/l1,l3/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_5(coeffs, mom2) * b54(l1, l3, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b54(l1, l3, b_set)
+   end if
    mom2 = momenta((/l1,l4/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_5(coeffs, mom2) * b54(l1, l4, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b54(l1, l4, b_set)
+   end if
    mom2 = momenta((/l1,l5/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_5(coeffs, mom2) * b54(l1, l5, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b54(l1, l5, b_set)
+   end if
    mom2 = momenta((/l2,l2/),:)
-   amp = amp + contract_b_tensor_5(coeffs, mom2) * b54(l2, l2, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b54(l2, l2, b_set)
+   end if
    mom2 = momenta((/l2,l3/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_5(coeffs, mom2) * b54(l2, l3, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b54(l2, l3, b_set)
+   end if
    mom2 = momenta((/l2,l4/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_5(coeffs, mom2) * b54(l2, l4, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b54(l2, l4, b_set)
+   end if
    mom2 = momenta((/l2,l5/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_5(coeffs, mom2) * b54(l2, l5, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b54(l2, l5, b_set)
+   end if
    mom2 = momenta((/l3,l3/),:)
-   amp = amp + contract_b_tensor_5(coeffs, mom2) * b54(l3, l3, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b54(l3, l3, b_set)
+   end if
    mom2 = momenta((/l3,l4/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_5(coeffs, mom2) * b54(l3, l4, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b54(l3, l4, b_set)
+   end if
    mom2 = momenta((/l3,l5/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_5(coeffs, mom2) * b54(l3, l5, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b54(l3, l5, b_set)
+   end if
    mom2 = momenta((/l4,l4/),:)
-   amp = amp + contract_b_tensor_5(coeffs, mom2) * b54(l4, l4, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b54(l4, l4, b_set)
+   end if
    mom2 = momenta((/l4,l5/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_5(coeffs, mom2) * b54(l4, l5, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b54(l4, l5, b_set)
+   end if
    mom2 = momenta((/l5,l5/),:)
-   amp = amp + contract_b_tensor_5(coeffs, mom2) * b54(l5, l5, b_set)
-   amp = amp + contract_c_tensor_5(coeffs) * c54(b_set)
+   tmp = contract_b_tensor_5(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b54(l5, l5, b_set)
+   end if
+   tmp = contract_c_tensor_5(coeffs)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * c54(b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l1,l1/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l1, l1, l1, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a55(l1, l1, l1, l1, l1, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l1,l2/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l1, l1, l2, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l1, l1, l1, l1, l2, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l1,l3/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l1, l1, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l1, l1, l1, l1, l3, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l1,l4/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l1, l1, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l1, l1, l1, l1, l4, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l1,l5/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l1, l1, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l1, l1, l1, l1, l5, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l2,l2/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l1, l2, l2, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l1, l1, l1, l2, l2, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l2,l3/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l1, l2, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l1, l1, l2, l3, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l2,l4/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l1, l2, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l1, l1, l2, l4, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l2,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l1, l2, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l1, l1, l2, l5, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l3,l3/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l1, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l1, l1, l1, l3, l3, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l3,l4/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l1, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l1, l1, l3, l4, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l3,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l1, l3, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l1, l1, l3, l5, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l4,l4/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l1, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l1, l1, l1, l4, l4, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l4,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l1, l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l1, l1, l4, l5, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l5,l5/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l1, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l1, l1, l1, l5, l5, b_set)
+   end if
    mom5 = momenta((/l1,l1,l2,l2,l2/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l2, l2, l2, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l1, l1, l2, l2, l2, b_set)
+   end if
    mom5 = momenta((/l1,l1,l2,l2,l3/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l2, l2, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l1, l2, l2, l3, b_set)
+   end if
    mom5 = momenta((/l1,l1,l2,l2,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l2, l2, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l1, l2, l2, l4, b_set)
+   end if
    mom5 = momenta((/l1,l1,l2,l2,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l2, l2, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l1, l2, l2, l5, b_set)
+   end if
    mom5 = momenta((/l1,l1,l2,l3,l3/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l2, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l1, l2, l3, l3, b_set)
+   end if
    mom5 = momenta((/l1,l1,l2,l3,l4/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l2, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l1, l1, l2, l3, l4, b_set)
+   end if
    mom5 = momenta((/l1,l1,l2,l3,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l2, l3, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l1, l1, l2, l3, l5, b_set)
+   end if
    mom5 = momenta((/l1,l1,l2,l4,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l2, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l1, l2, l4, l4, b_set)
+   end if
    mom5 = momenta((/l1,l1,l2,l4,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l2, l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l1, l1, l2, l4, l5, b_set)
+   end if
    mom5 = momenta((/l1,l1,l2,l5,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l2, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l1, l2, l5, l5, b_set)
+   end if
    mom5 = momenta((/l1,l1,l3,l3,l3/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l1, l1, l3, l3, l3, b_set)
+   end if
    mom5 = momenta((/l1,l1,l3,l3,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l1, l3, l3, l4, b_set)
+   end if
    mom5 = momenta((/l1,l1,l3,l3,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l3, l3, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l1, l3, l3, l5, b_set)
+   end if
    mom5 = momenta((/l1,l1,l3,l4,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l1, l3, l4, l4, b_set)
+   end if
    mom5 = momenta((/l1,l1,l3,l4,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l3, l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l1, l1, l3, l4, l5, b_set)
+   end if
    mom5 = momenta((/l1,l1,l3,l5,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l3, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l1, l3, l5, l5, b_set)
+   end if
    mom5 = momenta((/l1,l1,l4,l4,l4/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l1, l1, l4, l4, l4, b_set)
+   end if
    mom5 = momenta((/l1,l1,l4,l4,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l1, l4, l4, l5, b_set)
+   end if
    mom5 = momenta((/l1,l1,l4,l5,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l1, l4, l5, l5, b_set)
+   end if
    mom5 = momenta((/l1,l1,l5,l5,l5/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l1, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l1, l1, l5, l5, l5, b_set)
+   end if
    mom5 = momenta((/l1,l2,l2,l2,l2/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l2, l2, l2, l2, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l1, l2, l2, l2, l2, b_set)
+   end if
    mom5 = momenta((/l1,l2,l2,l2,l3/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l2, l2, l2, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l2, l2, l2, l3, b_set)
+   end if
    mom5 = momenta((/l1,l2,l2,l2,l4/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l2, l2, l2, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l2, l2, l2, l4, b_set)
+   end if
    mom5 = momenta((/l1,l2,l2,l2,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l2, l2, l2, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l2, l2, l2, l5, b_set)
+   end if
    mom5 = momenta((/l1,l2,l2,l3,l3/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l2, l2, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l2, l2, l3, l3, b_set)
+   end if
    mom5 = momenta((/l1,l2,l2,l3,l4/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l2, l2, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l1, l2, l2, l3, l4, b_set)
+   end if
    mom5 = momenta((/l1,l2,l2,l3,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l2, l2, l3, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l1, l2, l2, l3, l5, b_set)
+   end if
    mom5 = momenta((/l1,l2,l2,l4,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l2, l2, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l2, l2, l4, l4, b_set)
+   end if
    mom5 = momenta((/l1,l2,l2,l4,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l2, l2, l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l1, l2, l2, l4, l5, b_set)
+   end if
    mom5 = momenta((/l1,l2,l2,l5,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l2, l2, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l2, l2, l5, l5, b_set)
+   end if
    mom5 = momenta((/l1,l2,l3,l3,l3/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l2, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l2, l3, l3, l3, b_set)
+   end if
    mom5 = momenta((/l1,l2,l3,l3,l4/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l2, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l1, l2, l3, l3, l4, b_set)
+   end if
    mom5 = momenta((/l1,l2,l3,l3,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l2, l3, l3, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l1, l2, l3, l3, l5, b_set)
+   end if
    mom5 = momenta((/l1,l2,l3,l4,l4/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l2, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l1, l2, l3, l4, l4, b_set)
+   end if
    mom5 = momenta((/l1,l2,l3,l4,l5/),:)
-   amp = amp + 120.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l2, l3, l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 120.0_ki * tmp * a55(l1, l2, l3, l4, l5, b_set)
+   end if
    mom5 = momenta((/l1,l2,l3,l5,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l2, l3, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l1, l2, l3, l5, l5, b_set)
+   end if
    mom5 = momenta((/l1,l2,l4,l4,l4/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l2, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l2, l4, l4, l4, b_set)
+   end if
    mom5 = momenta((/l1,l2,l4,l4,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l2, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l1, l2, l4, l4, l5, b_set)
+   end if
    mom5 = momenta((/l1,l2,l4,l5,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l2, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l1, l2, l4, l5, l5, b_set)
+   end if
    mom5 = momenta((/l1,l2,l5,l5,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l2, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l2, l5, l5, l5, b_set)
+   end if
    mom5 = momenta((/l1,l3,l3,l3,l3/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l3, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l1, l3, l3, l3, l3, b_set)
+   end if
    mom5 = momenta((/l1,l3,l3,l3,l4/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l3, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l3, l3, l3, l4, b_set)
+   end if
    mom5 = momenta((/l1,l3,l3,l3,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l3, l3, l3, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l3, l3, l3, l5, b_set)
+   end if
    mom5 = momenta((/l1,l3,l3,l4,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l3, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l3, l3, l4, l4, b_set)
+   end if
    mom5 = momenta((/l1,l3,l3,l4,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l3, l3, l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l1, l3, l3, l4, l5, b_set)
+   end if
    mom5 = momenta((/l1,l3,l3,l5,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l3, l3, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l3, l3, l5, l5, b_set)
+   end if
    mom5 = momenta((/l1,l3,l4,l4,l4/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l3, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l3, l4, l4, l4, b_set)
+   end if
    mom5 = momenta((/l1,l3,l4,l4,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l3, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l1, l3, l4, l4, l5, b_set)
+   end if
    mom5 = momenta((/l1,l3,l4,l5,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l3, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l1, l3, l4, l5, l5, b_set)
+   end if
    mom5 = momenta((/l1,l3,l5,l5,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l3, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l3, l5, l5, l5, b_set)
+   end if
    mom5 = momenta((/l1,l4,l4,l4,l4/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l4, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l1, l4, l4, l4, l4, b_set)
+   end if
    mom5 = momenta((/l1,l4,l4,l4,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l4, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l4, l4, l4, l5, b_set)
+   end if
    mom5 = momenta((/l1,l4,l4,l5,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l4, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l4, l4, l5, l5, b_set)
+   end if
    mom5 = momenta((/l1,l4,l5,l5,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l4, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l4, l5, l5, l5, b_set)
+   end if
    mom5 = momenta((/l1,l5,l5,l5,l5/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l1, l5, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l1, l5, l5, l5, l5, b_set)
+   end if
    mom5 = momenta((/l2,l2,l2,l2,l2/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l2, l2, l2, l2, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a55(l2, l2, l2, l2, l2, b_set)
+   end if
    mom5 = momenta((/l2,l2,l2,l2,l3/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l2, l2, l2, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l2, l2, l2, l2, l3, b_set)
+   end if
    mom5 = momenta((/l2,l2,l2,l2,l4/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l2, l2, l2, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l2, l2, l2, l2, l4, b_set)
+   end if
    mom5 = momenta((/l2,l2,l2,l2,l5/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l2, l2, l2, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l2, l2, l2, l2, l5, b_set)
+   end if
    mom5 = momenta((/l2,l2,l2,l3,l3/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l2, l2, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l2, l2, l2, l3, l3, b_set)
+   end if
    mom5 = momenta((/l2,l2,l2,l3,l4/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l2, l2, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l2, l2, l2, l3, l4, b_set)
+   end if
    mom5 = momenta((/l2,l2,l2,l3,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l2, l2, l3, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l2, l2, l2, l3, l5, b_set)
+   end if
    mom5 = momenta((/l2,l2,l2,l4,l4/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l2, l2, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l2, l2, l2, l4, l4, b_set)
+   end if
    mom5 = momenta((/l2,l2,l2,l4,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l2, l2, l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l2, l2, l2, l4, l5, b_set)
+   end if
    mom5 = momenta((/l2,l2,l2,l5,l5/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l2, l2, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l2, l2, l2, l5, l5, b_set)
+   end if
    mom5 = momenta((/l2,l2,l3,l3,l3/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l2, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l2, l2, l3, l3, l3, b_set)
+   end if
    mom5 = momenta((/l2,l2,l3,l3,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l2, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l2, l2, l3, l3, l4, b_set)
+   end if
    mom5 = momenta((/l2,l2,l3,l3,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l2, l3, l3, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l2, l2, l3, l3, l5, b_set)
+   end if
    mom5 = momenta((/l2,l2,l3,l4,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l2, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l2, l2, l3, l4, l4, b_set)
+   end if
    mom5 = momenta((/l2,l2,l3,l4,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l2, l3, l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l2, l2, l3, l4, l5, b_set)
+   end if
    mom5 = momenta((/l2,l2,l3,l5,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l2, l3, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l2, l2, l3, l5, l5, b_set)
+   end if
    mom5 = momenta((/l2,l2,l4,l4,l4/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l2, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l2, l2, l4, l4, l4, b_set)
+   end if
    mom5 = momenta((/l2,l2,l4,l4,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l2, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l2, l2, l4, l4, l5, b_set)
+   end if
    mom5 = momenta((/l2,l2,l4,l5,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l2, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l2, l2, l4, l5, l5, b_set)
+   end if
    mom5 = momenta((/l2,l2,l5,l5,l5/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l2, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l2, l2, l5, l5, l5, b_set)
+   end if
    mom5 = momenta((/l2,l3,l3,l3,l3/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l3, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l2, l3, l3, l3, l3, b_set)
+   end if
    mom5 = momenta((/l2,l3,l3,l3,l4/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l3, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l2, l3, l3, l3, l4, b_set)
+   end if
    mom5 = momenta((/l2,l3,l3,l3,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l3, l3, l3, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l2, l3, l3, l3, l5, b_set)
+   end if
    mom5 = momenta((/l2,l3,l3,l4,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l3, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l2, l3, l3, l4, l4, b_set)
+   end if
    mom5 = momenta((/l2,l3,l3,l4,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l3, l3, l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l2, l3, l3, l4, l5, b_set)
+   end if
    mom5 = momenta((/l2,l3,l3,l5,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l3, l3, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l2, l3, l3, l5, l5, b_set)
+   end if
    mom5 = momenta((/l2,l3,l4,l4,l4/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l3, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l2, l3, l4, l4, l4, b_set)
+   end if
    mom5 = momenta((/l2,l3,l4,l4,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l3, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l2, l3, l4, l4, l5, b_set)
+   end if
    mom5 = momenta((/l2,l3,l4,l5,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l3, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l2, l3, l4, l5, l5, b_set)
+   end if
    mom5 = momenta((/l2,l3,l5,l5,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l3, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l2, l3, l5, l5, l5, b_set)
+   end if
    mom5 = momenta((/l2,l4,l4,l4,l4/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l4, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l2, l4, l4, l4, l4, b_set)
+   end if
    mom5 = momenta((/l2,l4,l4,l4,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l4, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l2, l4, l4, l4, l5, b_set)
+   end if
    mom5 = momenta((/l2,l4,l4,l5,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l4, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l2, l4, l4, l5, l5, b_set)
+   end if
    mom5 = momenta((/l2,l4,l5,l5,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l4, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l2, l4, l5, l5, l5, b_set)
+   end if
    mom5 = momenta((/l2,l5,l5,l5,l5/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l2, l5, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l2, l5, l5, l5, l5, b_set)
+   end if
    mom5 = momenta((/l3,l3,l3,l3,l3/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l3, l3, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a55(l3, l3, l3, l3, l3, b_set)
+   end if
    mom5 = momenta((/l3,l3,l3,l3,l4/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l3, l3, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l3, l3, l3, l3, l4, b_set)
+   end if
    mom5 = momenta((/l3,l3,l3,l3,l5/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l3, l3, l3, l3, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l3, l3, l3, l3, l5, b_set)
+   end if
    mom5 = momenta((/l3,l3,l3,l4,l4/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l3, l3, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l3, l3, l3, l4, l4, b_set)
+   end if
    mom5 = momenta((/l3,l3,l3,l4,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l3, l3, l3, l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l3, l3, l3, l4, l5, b_set)
+   end if
    mom5 = momenta((/l3,l3,l3,l5,l5/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l3, l3, l3, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l3, l3, l3, l5, l5, b_set)
+   end if
    mom5 = momenta((/l3,l3,l4,l4,l4/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l3, l3, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l3, l3, l4, l4, l4, b_set)
+   end if
    mom5 = momenta((/l3,l3,l4,l4,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l3, l3, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l3, l3, l4, l4, l5, b_set)
+   end if
    mom5 = momenta((/l3,l3,l4,l5,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l3, l3, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l3, l3, l4, l5, l5, b_set)
+   end if
    mom5 = momenta((/l3,l3,l5,l5,l5/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l3, l3, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l3, l3, l5, l5, l5, b_set)
+   end if
    mom5 = momenta((/l3,l4,l4,l4,l4/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l3, l4, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l3, l4, l4, l4, l4, b_set)
+   end if
    mom5 = momenta((/l3,l4,l4,l4,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l3, l4, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l3, l4, l4, l4, l5, b_set)
+   end if
    mom5 = momenta((/l3,l4,l4,l5,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l3, l4, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l3, l4, l4, l5, l5, b_set)
+   end if
    mom5 = momenta((/l3,l4,l5,l5,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l3, l4, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l3, l4, l5, l5, l5, b_set)
+   end if
    mom5 = momenta((/l3,l5,l5,l5,l5/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l3, l5, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l3, l5, l5, l5, l5, b_set)
+   end if
    mom5 = momenta((/l4,l4,l4,l4,l4/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l4, l4, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a55(l4, l4, l4, l4, l4, b_set)
+   end if
    mom5 = momenta((/l4,l4,l4,l4,l5/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l4, l4, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l4, l4, l4, l4, l5, b_set)
+   end if
    mom5 = momenta((/l4,l4,l4,l5,l5/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l4, l4, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l4, l4, l4, l5, l5, b_set)
+   end if
    mom5 = momenta((/l4,l4,l5,l5,l5/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l4, l4, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l4, l4, l5, l5, l5, b_set)
+   end if
    mom5 = momenta((/l4,l5,l5,l5,l5/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l4, l5, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l4, l5, l5, l5, l5, b_set)
+   end if
    mom5 = momenta((/l5,l5,l5,l5,l5/),:)
-   amp = amp + contract_a_tensor_5(coeffs, mom5) &
-   &  * a55(l5, l5, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_5(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a55(l5, l5, l5, l5, l5, b_set)
+   end if
    mom3 = momenta((/l1,l1,l1/),:)
-   amp = amp + contract_b_tensor_5(coeffs, mom3) * b55(l1, l1, l1, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b55(l1, l1, l1, b_set)
+   end if
    mom3 = momenta((/l1,l1,l2/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b55(l1, l1, l2, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l1, l1, l2, b_set)
+   end if
    mom3 = momenta((/l1,l1,l3/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b55(l1, l1, l3, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l1, l1, l3, b_set)
+   end if
    mom3 = momenta((/l1,l1,l4/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b55(l1, l1, l4, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l1, l1, l4, b_set)
+   end if
    mom3 = momenta((/l1,l1,l5/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b55(l1, l1, l5, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l1, l1, l5, b_set)
+   end if
    mom3 = momenta((/l1,l2,l2/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b55(l1, l2, l2, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l1, l2, l2, b_set)
+   end if
    mom3 = momenta((/l1,l2,l3/),:)
-   amp = amp + 6.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b55(l1, l2, l3, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * b55(l1, l2, l3, b_set)
+   end if
    mom3 = momenta((/l1,l2,l4/),:)
-   amp = amp + 6.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b55(l1, l2, l4, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * b55(l1, l2, l4, b_set)
+   end if
    mom3 = momenta((/l1,l2,l5/),:)
-   amp = amp + 6.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b55(l1, l2, l5, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * b55(l1, l2, l5, b_set)
+   end if
    mom3 = momenta((/l1,l3,l3/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b55(l1, l3, l3, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l1, l3, l3, b_set)
+   end if
    mom3 = momenta((/l1,l3,l4/),:)
-   amp = amp + 6.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b55(l1, l3, l4, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * b55(l1, l3, l4, b_set)
+   end if
    mom3 = momenta((/l1,l3,l5/),:)
-   amp = amp + 6.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b55(l1, l3, l5, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * b55(l1, l3, l5, b_set)
+   end if
    mom3 = momenta((/l1,l4,l4/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b55(l1, l4, l4, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l1, l4, l4, b_set)
+   end if
    mom3 = momenta((/l1,l4,l5/),:)
-   amp = amp + 6.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b55(l1, l4, l5, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * b55(l1, l4, l5, b_set)
+   end if
    mom3 = momenta((/l1,l5,l5/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b55(l1, l5, l5, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l1, l5, l5, b_set)
+   end if
    mom3 = momenta((/l2,l2,l2/),:)
-   amp = amp + contract_b_tensor_5(coeffs, mom3) * b55(l2, l2, l2, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b55(l2, l2, l2, b_set)
+   end if
    mom3 = momenta((/l2,l2,l3/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b55(l2, l2, l3, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l2, l2, l3, b_set)
+   end if
    mom3 = momenta((/l2,l2,l4/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b55(l2, l2, l4, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l2, l2, l4, b_set)
+   end if
    mom3 = momenta((/l2,l2,l5/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b55(l2, l2, l5, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l2, l2, l5, b_set)
+   end if
    mom3 = momenta((/l2,l3,l3/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b55(l2, l3, l3, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l2, l3, l3, b_set)
+   end if
    mom3 = momenta((/l2,l3,l4/),:)
-   amp = amp + 6.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b55(l2, l3, l4, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * b55(l2, l3, l4, b_set)
+   end if
    mom3 = momenta((/l2,l3,l5/),:)
-   amp = amp + 6.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b55(l2, l3, l5, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * b55(l2, l3, l5, b_set)
+   end if
    mom3 = momenta((/l2,l4,l4/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b55(l2, l4, l4, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l2, l4, l4, b_set)
+   end if
    mom3 = momenta((/l2,l4,l5/),:)
-   amp = amp + 6.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b55(l2, l4, l5, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * b55(l2, l4, l5, b_set)
+   end if
    mom3 = momenta((/l2,l5,l5/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b55(l2, l5, l5, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l2, l5, l5, b_set)
+   end if
    mom3 = momenta((/l3,l3,l3/),:)
-   amp = amp + contract_b_tensor_5(coeffs, mom3) * b55(l3, l3, l3, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b55(l3, l3, l3, b_set)
+   end if
    mom3 = momenta((/l3,l3,l4/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b55(l3, l3, l4, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l3, l3, l4, b_set)
+   end if
    mom3 = momenta((/l3,l3,l5/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b55(l3, l3, l5, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l3, l3, l5, b_set)
+   end if
    mom3 = momenta((/l3,l4,l4/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b55(l3, l4, l4, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l3, l4, l4, b_set)
+   end if
    mom3 = momenta((/l3,l4,l5/),:)
-   amp = amp + 6.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b55(l3, l4, l5, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * b55(l3, l4, l5, b_set)
+   end if
    mom3 = momenta((/l3,l5,l5/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b55(l3, l5, l5, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l3, l5, l5, b_set)
+   end if
    mom3 = momenta((/l4,l4,l4/),:)
-   amp = amp + contract_b_tensor_5(coeffs, mom3) * b55(l4, l4, l4, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b55(l4, l4, l4, b_set)
+   end if
    mom3 = momenta((/l4,l4,l5/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b55(l4, l4, l5, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l4, l4, l5, b_set)
+   end if
    mom3 = momenta((/l4,l5,l5/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_5(coeffs, mom3) &
-   &  * b55(l4, l5, l5, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l4, l5, l5, b_set)
+   end if
    mom3 = momenta((/l5,l5,l5/),:)
-   amp = amp + contract_b_tensor_5(coeffs, mom3) * b55(l5, l5, l5, b_set)
+   tmp = contract_b_tensor_5(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b55(l5, l5, l5, b_set)
+   end if
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_c_tensor_5(coeffs, mom1) * c55(l1, b_set)
+   tmp = contract_c_tensor_5(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * c55(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_c_tensor_5(coeffs, mom1) * c55(l2, b_set)
+   tmp = contract_c_tensor_5(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * c55(l2, b_set)
+   end if
    mom1 = momenta((/l3/),:)
-   amp = amp + contract_c_tensor_5(coeffs, mom1) * c55(l3, b_set)
+   tmp = contract_c_tensor_5(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * c55(l3, b_set)
+   end if
    mom1 = momenta((/l4/),:)
-   amp = amp + contract_c_tensor_5(coeffs, mom1) * c55(l4, b_set)
+   tmp = contract_c_tensor_5(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * c55(l4, b_set)
+   end if
    mom1 = momenta((/l5/),:)
-   amp = amp + contract_c_tensor_5(coeffs, mom1) * c55(l5, b_set)
+   tmp = contract_c_tensor_5(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * c55(l5, b_set)
+   end if
 end function contract5_5
 !****f* src/interface/tens_comb/contract5_6
 ! NAME
 !
 ! Function contract5_6
 !
 ! USAGE
 !
 !  amp = contract5_6(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 5-point rank 6 tensor integral
 !  with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_6)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract5_6(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_6), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    real(ki), dimension(1,0:3) :: mom1
    real(ki), dimension(2,0:3) :: mom2
    real(ki), dimension(3,0:3) :: mom3
    real(ki), dimension(4,0:3) :: mom4
    real(ki), dimension(5,0:3) :: mom5
    real(ki), dimension(6,0:3) :: mom6
    integer :: l1, l2, l3, l4, l5
+   complex(ki) :: tmp
    integer, dimension(5) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 5)
    l1 = unpinched(1)
    l2 = unpinched(2)
    l3 = unpinched(3)
    l4 = unpinched(4)
    l5 = unpinched(5)
-   amp = coeffs%c0 * a50(b_set)
+   tmp = coeffs%c0
+   amp = tmp * a50(b_set)
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_a_tensor_6(coeffs, mom1) * a51(l1, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a51(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_a_tensor_6(coeffs, mom1) * a51(l2, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a51(l2, b_set)
+   end if
    mom1 = momenta((/l3/),:)
-   amp = amp + contract_a_tensor_6(coeffs, mom1) * a51(l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a51(l3, b_set)
+   end if
    mom1 = momenta((/l4/),:)
-   amp = amp + contract_a_tensor_6(coeffs, mom1) * a51(l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a51(l4, b_set)
+   end if
    mom1 = momenta((/l5/),:)
-   amp = amp + contract_a_tensor_6(coeffs, mom1) * a51(l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a51(l5, b_set)
+   end if
    mom2 = momenta((/l1,l1/),:)
-   amp = amp + contract_a_tensor_6(coeffs, mom2) * a52(l1, l1, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a52(l1, l1, b_set)
+   end if
    mom2 = momenta((/l1,l2/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_6(coeffs, mom2) * a52(l1, l2, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l1, l2, b_set)
+   end if
    mom2 = momenta((/l1,l3/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_6(coeffs, mom2) * a52(l1, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l1, l3, b_set)
+   end if
    mom2 = momenta((/l1,l4/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_6(coeffs, mom2) * a52(l1, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l1, l4, b_set)
+   end if
    mom2 = momenta((/l1,l5/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_6(coeffs, mom2) * a52(l1, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l1, l5, b_set)
+   end if
    mom2 = momenta((/l2,l2/),:)
-   amp = amp + contract_a_tensor_6(coeffs, mom2) * a52(l2, l2, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a52(l2, l2, b_set)
+   end if
    mom2 = momenta((/l2,l3/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_6(coeffs, mom2) * a52(l2, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l2, l3, b_set)
+   end if
    mom2 = momenta((/l2,l4/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_6(coeffs, mom2) * a52(l2, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l2, l4, b_set)
+   end if
    mom2 = momenta((/l2,l5/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_6(coeffs, mom2) * a52(l2, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l2, l5, b_set)
+   end if
    mom2 = momenta((/l3,l3/),:)
-   amp = amp + contract_a_tensor_6(coeffs, mom2) * a52(l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a52(l3, l3, b_set)
+   end if
    mom2 = momenta((/l3,l4/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_6(coeffs, mom2) * a52(l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l3, l4, b_set)
+   end if
    mom2 = momenta((/l3,l5/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_6(coeffs, mom2) * a52(l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l3, l5, b_set)
+   end if
    mom2 = momenta((/l4,l4/),:)
-   amp = amp + contract_a_tensor_6(coeffs, mom2) * a52(l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a52(l4, l4, b_set)
+   end if
    mom2 = momenta((/l4,l5/),:)
-   amp = amp + 2.0_ki * contract_a_tensor_6(coeffs, mom2) * a52(l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * a52(l4, l5, b_set)
+   end if
    mom2 = momenta((/l5,l5/),:)
-   amp = amp + contract_a_tensor_6(coeffs, mom2) * a52(l5, l5, b_set)
-   amp = amp + contract_b_tensor_6(coeffs) * b52(b_set)
+   tmp = contract_a_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a52(l5, l5, b_set)
+   end if
+   tmp = contract_b_tensor_6(coeffs)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b52(b_set)
+   end if
    mom3 = momenta((/l1,l1,l1/),:)
-   amp = amp + contract_a_tensor_6(coeffs, mom3) * a53(l1, l1, l1, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a53(l1, l1, l1, b_set)
+   end if
    mom3 = momenta((/l1,l1,l2/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_6(coeffs, mom3) &
-   &  * a53(l1, l1, l2, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l1, l1, l2, b_set)
+   end if
    mom3 = momenta((/l1,l1,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_6(coeffs, mom3) &
-   &  * a53(l1, l1, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l1, l1, l3, b_set)
+   end if
    mom3 = momenta((/l1,l1,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_6(coeffs, mom3) &
-   &  * a53(l1, l1, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l1, l1, l4, b_set)
+   end if
    mom3 = momenta((/l1,l1,l5/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_6(coeffs, mom3) &
-   &  * a53(l1, l1, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l1, l1, l5, b_set)
+   end if
    mom3 = momenta((/l1,l2,l2/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_6(coeffs, mom3) &
-   &  * a53(l1, l2, l2, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l1, l2, l2, b_set)
+   end if
    mom3 = momenta((/l1,l2,l3/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom3) &
-   &  * a53(l1, l2, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l1, l2, l3, b_set)
+   end if
    mom3 = momenta((/l1,l2,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom3) &
-   &  * a53(l1, l2, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l1, l2, l4, b_set)
+   end if
    mom3 = momenta((/l1,l2,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom3) &
-   &  * a53(l1, l2, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l1, l2, l5, b_set)
+   end if
    mom3 = momenta((/l1,l3,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_6(coeffs, mom3) &
-   &  * a53(l1, l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l1, l3, l3, b_set)
+   end if
    mom3 = momenta((/l1,l3,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom3) &
-   &  * a53(l1, l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l1, l3, l4, b_set)
+   end if
    mom3 = momenta((/l1,l3,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom3) &
-   &  * a53(l1, l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l1, l3, l5, b_set)
+   end if
    mom3 = momenta((/l1,l4,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_6(coeffs, mom3) &
-   &  * a53(l1, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l1, l4, l4, b_set)
+   end if
    mom3 = momenta((/l1,l4,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom3) &
-   &  * a53(l1, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l1, l4, l5, b_set)
+   end if
    mom3 = momenta((/l1,l5,l5/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_6(coeffs, mom3) &
-   &  * a53(l1, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l1, l5, l5, b_set)
+   end if
    mom3 = momenta((/l2,l2,l2/),:)
-   amp = amp + contract_a_tensor_6(coeffs, mom3) * a53(l2, l2, l2, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a53(l2, l2, l2, b_set)
+   end if
    mom3 = momenta((/l2,l2,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_6(coeffs, mom3) &
-   &  * a53(l2, l2, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l2, l2, l3, b_set)
+   end if
    mom3 = momenta((/l2,l2,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_6(coeffs, mom3) &
-   &  * a53(l2, l2, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l2, l2, l4, b_set)
+   end if
    mom3 = momenta((/l2,l2,l5/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_6(coeffs, mom3) &
-   &  * a53(l2, l2, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l2, l2, l5, b_set)
+   end if
    mom3 = momenta((/l2,l3,l3/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_6(coeffs, mom3) &
-   &  * a53(l2, l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l2, l3, l3, b_set)
+   end if
    mom3 = momenta((/l2,l3,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom3) &
-   &  * a53(l2, l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l2, l3, l4, b_set)
+   end if
    mom3 = momenta((/l2,l3,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom3) &
-   &  * a53(l2, l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l2, l3, l5, b_set)
+   end if
    mom3 = momenta((/l2,l4,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_6(coeffs, mom3) &
-   &  * a53(l2, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l2, l4, l4, b_set)
+   end if
    mom3 = momenta((/l2,l4,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom3) &
-   &  * a53(l2, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l2, l4, l5, b_set)
+   end if
    mom3 = momenta((/l2,l5,l5/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_6(coeffs, mom3) &
-   &  * a53(l2, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l2, l5, l5, b_set)
+   end if
    mom3 = momenta((/l3,l3,l3/),:)
-   amp = amp + contract_a_tensor_6(coeffs, mom3) * a53(l3, l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a53(l3, l3, l3, b_set)
+   end if
    mom3 = momenta((/l3,l3,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_6(coeffs, mom3) &
-   &  * a53(l3, l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l3, l3, l4, b_set)
+   end if
    mom3 = momenta((/l3,l3,l5/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_6(coeffs, mom3) &
-   &  * a53(l3, l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l3, l3, l5, b_set)
+   end if
    mom3 = momenta((/l3,l4,l4/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_6(coeffs, mom3) &
-   &  * a53(l3, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l3, l4, l4, b_set)
+   end if
    mom3 = momenta((/l3,l4,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom3) &
-   &  * a53(l3, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a53(l3, l4, l5, b_set)
+   end if
    mom3 = momenta((/l3,l5,l5/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_6(coeffs, mom3) &
-   &  * a53(l3, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l3, l5, l5, b_set)
+   end if
    mom3 = momenta((/l4,l4,l4/),:)
-   amp = amp + contract_a_tensor_6(coeffs, mom3) * a53(l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a53(l4, l4, l4, b_set)
+   end if
    mom3 = momenta((/l4,l4,l5/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_6(coeffs, mom3) &
-   &  * a53(l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l4, l4, l5, b_set)
+   end if
    mom3 = momenta((/l4,l5,l5/),:)
-   amp = amp + 3.0_ki * contract_a_tensor_6(coeffs, mom3) &
-   &  * a53(l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * a53(l4, l5, l5, b_set)
+   end if
    mom3 = momenta((/l5,l5,l5/),:)
-   amp = amp + contract_a_tensor_6(coeffs, mom3) * a53(l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a53(l5, l5, l5, b_set)
+   end if
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_b_tensor_6(coeffs, mom1) * b53(l1, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b53(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_b_tensor_6(coeffs, mom1) * b53(l2, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b53(l2, b_set)
+   end if
    mom1 = momenta((/l3/),:)
-   amp = amp + contract_b_tensor_6(coeffs, mom1) * b53(l3, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b53(l3, b_set)
+   end if
    mom1 = momenta((/l4/),:)
-   amp = amp + contract_b_tensor_6(coeffs, mom1) * b53(l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b53(l4, b_set)
+   end if
    mom1 = momenta((/l5/),:)
-   amp = amp + contract_b_tensor_6(coeffs, mom1) * b53(l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b53(l5, b_set)
+   end if
    mom4 = momenta((/l1,l1,l1,l1/),:)
-   amp = amp + contract_a_tensor_6(coeffs, mom4) * a54(l1, l1, l1, l1, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a54(l1, l1, l1, l1, b_set)
+   end if
    mom4 = momenta((/l1,l1,l1,l2/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l1, l1, l1, l2, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l1, l1, l1, l2, b_set)
+   end if
    mom4 = momenta((/l1,l1,l1,l3/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l1, l1, l1, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l1, l1, l1, l3, b_set)
+   end if
    mom4 = momenta((/l1,l1,l1,l4/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l1, l1, l1, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l1, l1, l1, l4, b_set)
+   end if
    mom4 = momenta((/l1,l1,l1,l5/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l1, l1, l1, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l1, l1, l1, l5, b_set)
+   end if
    mom4 = momenta((/l1,l1,l2,l2/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l1, l1, l2, l2, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a54(l1, l1, l2, l2, b_set)
+   end if
    mom4 = momenta((/l1,l1,l2,l3/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l1, l1, l2, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l1, l2, l3, b_set)
+   end if
    mom4 = momenta((/l1,l1,l2,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l1, l1, l2, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l1, l2, l4, b_set)
+   end if
    mom4 = momenta((/l1,l1,l2,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l1, l1, l2, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l1, l2, l5, b_set)
+   end if
    mom4 = momenta((/l1,l1,l3,l3/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l1, l1, l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a54(l1, l1, l3, l3, b_set)
+   end if
    mom4 = momenta((/l1,l1,l3,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l1, l1, l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l1, l3, l4, b_set)
+   end if
    mom4 = momenta((/l1,l1,l3,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l1, l1, l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l1, l3, l5, b_set)
+   end if
    mom4 = momenta((/l1,l1,l4,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l1, l1, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a54(l1, l1, l4, l4, b_set)
+   end if
    mom4 = momenta((/l1,l1,l4,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l1, l1, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l1, l4, l5, b_set)
+   end if
    mom4 = momenta((/l1,l1,l5,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l1, l1, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a54(l1, l1, l5, l5, b_set)
+   end if
    mom4 = momenta((/l1,l2,l2,l2/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l1, l2, l2, l2, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l1, l2, l2, l2, b_set)
+   end if
    mom4 = momenta((/l1,l2,l2,l3/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l1, l2, l2, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l2, l2, l3, b_set)
+   end if
    mom4 = momenta((/l1,l2,l2,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l1, l2, l2, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l2, l2, l4, b_set)
+   end if
    mom4 = momenta((/l1,l2,l2,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l1, l2, l2, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l2, l2, l5, b_set)
+   end if
    mom4 = momenta((/l1,l2,l3,l3/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l1, l2, l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l2, l3, l3, b_set)
+   end if
    mom4 = momenta((/l1,l2,l3,l4/),:)
-   amp = amp + 24.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l1, l2, l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 24.0_ki * tmp * a54(l1, l2, l3, l4, b_set)
+   end if
    mom4 = momenta((/l1,l2,l3,l5/),:)
-   amp = amp + 24.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l1, l2, l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 24.0_ki * tmp * a54(l1, l2, l3, l5, b_set)
+   end if
    mom4 = momenta((/l1,l2,l4,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l1, l2, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l2, l4, l4, b_set)
+   end if
    mom4 = momenta((/l1,l2,l4,l5/),:)
-   amp = amp + 24.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l1, l2, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 24.0_ki * tmp * a54(l1, l2, l4, l5, b_set)
+   end if
    mom4 = momenta((/l1,l2,l5,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l1, l2, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l2, l5, l5, b_set)
+   end if
    mom4 = momenta((/l1,l3,l3,l3/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l1, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l1, l3, l3, l3, b_set)
+   end if
    mom4 = momenta((/l1,l3,l3,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l1, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l3, l3, l4, b_set)
+   end if
    mom4 = momenta((/l1,l3,l3,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l1, l3, l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l3, l3, l5, b_set)
+   end if
    mom4 = momenta((/l1,l3,l4,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l1, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l3, l4, l4, b_set)
+   end if
    mom4 = momenta((/l1,l3,l4,l5/),:)
-   amp = amp + 24.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l1, l3, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 24.0_ki * tmp * a54(l1, l3, l4, l5, b_set)
+   end if
    mom4 = momenta((/l1,l3,l5,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l1, l3, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l3, l5, l5, b_set)
+   end if
    mom4 = momenta((/l1,l4,l4,l4/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l1, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l1, l4, l4, l4, b_set)
+   end if
    mom4 = momenta((/l1,l4,l4,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l1, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l4, l4, l5, b_set)
+   end if
    mom4 = momenta((/l1,l4,l5,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l1, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l1, l4, l5, l5, b_set)
+   end if
    mom4 = momenta((/l1,l5,l5,l5/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l1, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l1, l5, l5, l5, b_set)
+   end if
    mom4 = momenta((/l2,l2,l2,l2/),:)
-   amp = amp + contract_a_tensor_6(coeffs, mom4) * a54(l2, l2, l2, l2, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a54(l2, l2, l2, l2, b_set)
+   end if
    mom4 = momenta((/l2,l2,l2,l3/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l2, l2, l2, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l2, l2, l2, l3, b_set)
+   end if
    mom4 = momenta((/l2,l2,l2,l4/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l2, l2, l2, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l2, l2, l2, l4, b_set)
+   end if
    mom4 = momenta((/l2,l2,l2,l5/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l2, l2, l2, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l2, l2, l2, l5, b_set)
+   end if
    mom4 = momenta((/l2,l2,l3,l3/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l2, l2, l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a54(l2, l2, l3, l3, b_set)
+   end if
    mom4 = momenta((/l2,l2,l3,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l2, l2, l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l2, l2, l3, l4, b_set)
+   end if
    mom4 = momenta((/l2,l2,l3,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l2, l2, l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l2, l2, l3, l5, b_set)
+   end if
    mom4 = momenta((/l2,l2,l4,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l2, l2, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a54(l2, l2, l4, l4, b_set)
+   end if
    mom4 = momenta((/l2,l2,l4,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l2, l2, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l2, l2, l4, l5, b_set)
+   end if
    mom4 = momenta((/l2,l2,l5,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l2, l2, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a54(l2, l2, l5, l5, b_set)
+   end if
    mom4 = momenta((/l2,l3,l3,l3/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l2, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l2, l3, l3, l3, b_set)
+   end if
    mom4 = momenta((/l2,l3,l3,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l2, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l2, l3, l3, l4, b_set)
+   end if
    mom4 = momenta((/l2,l3,l3,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l2, l3, l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l2, l3, l3, l5, b_set)
+   end if
    mom4 = momenta((/l2,l3,l4,l4/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l2, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l2, l3, l4, l4, b_set)
+   end if
    mom4 = momenta((/l2,l3,l4,l5/),:)
-   amp = amp + 24.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l2, l3, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 24.0_ki * tmp * a54(l2, l3, l4, l5, b_set)
+   end if
    mom4 = momenta((/l2,l3,l5,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l2, l3, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l2, l3, l5, l5, b_set)
+   end if
    mom4 = momenta((/l2,l4,l4,l4/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l2, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l2, l4, l4, l4, b_set)
+   end if
    mom4 = momenta((/l2,l4,l4,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l2, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l2, l4, l4, l5, b_set)
+   end if
    mom4 = momenta((/l2,l4,l5,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l2, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l2, l4, l5, l5, b_set)
+   end if
    mom4 = momenta((/l2,l5,l5,l5/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l2, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l2, l5, l5, l5, b_set)
+   end if
    mom4 = momenta((/l3,l3,l3,l3/),:)
-   amp = amp + contract_a_tensor_6(coeffs, mom4) * a54(l3, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a54(l3, l3, l3, l3, b_set)
+   end if
    mom4 = momenta((/l3,l3,l3,l4/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l3, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l3, l3, l3, l4, b_set)
+   end if
    mom4 = momenta((/l3,l3,l3,l5/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l3, l3, l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l3, l3, l3, l5, b_set)
+   end if
    mom4 = momenta((/l3,l3,l4,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l3, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a54(l3, l3, l4, l4, b_set)
+   end if
    mom4 = momenta((/l3,l3,l4,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l3, l3, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l3, l3, l4, l5, b_set)
+   end if
    mom4 = momenta((/l3,l3,l5,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l3, l3, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a54(l3, l3, l5, l5, b_set)
+   end if
    mom4 = momenta((/l3,l4,l4,l4/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l3, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l3, l4, l4, l4, b_set)
+   end if
    mom4 = momenta((/l3,l4,l4,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l3, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l3, l4, l4, l5, b_set)
+   end if
    mom4 = momenta((/l3,l4,l5,l5/),:)
-   amp = amp + 12.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l3, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * a54(l3, l4, l5, l5, b_set)
+   end if
    mom4 = momenta((/l3,l5,l5,l5/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l3, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l3, l5, l5, l5, b_set)
+   end if
    mom4 = momenta((/l4,l4,l4,l4/),:)
-   amp = amp + contract_a_tensor_6(coeffs, mom4) * a54(l4, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a54(l4, l4, l4, l4, b_set)
+   end if
    mom4 = momenta((/l4,l4,l4,l5/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l4, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l4, l4, l4, l5, b_set)
+   end if
    mom4 = momenta((/l4,l4,l5,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l4, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a54(l4, l4, l5, l5, b_set)
+   end if
    mom4 = momenta((/l4,l5,l5,l5/),:)
-   amp = amp + 4.0_ki * contract_a_tensor_6(coeffs, mom4) &
-   &  * a54(l4, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * a54(l4, l5, l5, l5, b_set)
+   end if
    mom4 = momenta((/l5,l5,l5,l5/),:)
-   amp = amp + contract_a_tensor_6(coeffs, mom4) * a54(l5, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a54(l5, l5, l5, l5, b_set)
+   end if
    mom2 = momenta((/l1,l1/),:)
-   amp = amp + contract_b_tensor_6(coeffs, mom2) * b54(l1, l1, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b54(l1, l1, b_set)
+   end if
    mom2 = momenta((/l1,l2/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_6(coeffs, mom2) * b54(l1, l2, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b54(l1, l2, b_set)
+   end if
    mom2 = momenta((/l1,l3/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_6(coeffs, mom2) * b54(l1, l3, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b54(l1, l3, b_set)
+   end if
    mom2 = momenta((/l1,l4/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_6(coeffs, mom2) * b54(l1, l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b54(l1, l4, b_set)
+   end if
    mom2 = momenta((/l1,l5/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_6(coeffs, mom2) * b54(l1, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b54(l1, l5, b_set)
+   end if
    mom2 = momenta((/l2,l2/),:)
-   amp = amp + contract_b_tensor_6(coeffs, mom2) * b54(l2, l2, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b54(l2, l2, b_set)
+   end if
    mom2 = momenta((/l2,l3/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_6(coeffs, mom2) * b54(l2, l3, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b54(l2, l3, b_set)
+   end if
    mom2 = momenta((/l2,l4/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_6(coeffs, mom2) * b54(l2, l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b54(l2, l4, b_set)
+   end if
    mom2 = momenta((/l2,l5/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_6(coeffs, mom2) * b54(l2, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b54(l2, l5, b_set)
+   end if
    mom2 = momenta((/l3,l3/),:)
-   amp = amp + contract_b_tensor_6(coeffs, mom2) * b54(l3, l3, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b54(l3, l3, b_set)
+   end if
    mom2 = momenta((/l3,l4/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_6(coeffs, mom2) * b54(l3, l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b54(l3, l4, b_set)
+   end if
    mom2 = momenta((/l3,l5/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_6(coeffs, mom2) * b54(l3, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b54(l3, l5, b_set)
+   end if
    mom2 = momenta((/l4,l4/),:)
-   amp = amp + contract_b_tensor_6(coeffs, mom2) * b54(l4, l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b54(l4, l4, b_set)
+   end if
    mom2 = momenta((/l4,l5/),:)
-   amp = amp + 2.0_ki * contract_b_tensor_6(coeffs, mom2) * b54(l4, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * b54(l4, l5, b_set)
+   end if
    mom2 = momenta((/l5,l5/),:)
-   amp = amp + contract_b_tensor_6(coeffs, mom2) * b54(l5, l5, b_set)
-   amp = amp + contract_c_tensor_6(coeffs) * c54(b_set)
+   tmp = contract_b_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b54(l5, l5, b_set)
+   end if
+   tmp = contract_c_tensor_6(coeffs)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * c54(b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l1,l1/),:)
-   amp = amp + contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l1, l1, l1, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a55(l1, l1, l1, l1, l1, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l1,l2/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l1, l1, l2, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l1, l1, l1, l1, l2, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l1,l3/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l1, l1, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l1, l1, l1, l1, l3, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l1,l4/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l1, l1, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l1, l1, l1, l1, l4, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l1,l5/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l1, l1, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l1, l1, l1, l1, l5, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l2,l2/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l1, l2, l2, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l1, l1, l1, l2, l2, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l2,l3/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l1, l2, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l1, l1, l2, l3, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l2,l4/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l1, l2, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l1, l1, l2, l4, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l2,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l1, l2, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l1, l1, l2, l5, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l3,l3/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l1, l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l1, l1, l1, l3, l3, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l3,l4/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l1, l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l1, l1, l3, l4, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l3,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l1, l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l1, l1, l3, l5, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l4,l4/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l1, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l1, l1, l1, l4, l4, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l4,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l1, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l1, l1, l4, l5, b_set)
+   end if
    mom5 = momenta((/l1,l1,l1,l5,l5/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l1, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l1, l1, l1, l5, l5, b_set)
+   end if
    mom5 = momenta((/l1,l1,l2,l2,l2/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l2, l2, l2, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l1, l1, l2, l2, l2, b_set)
+   end if
    mom5 = momenta((/l1,l1,l2,l2,l3/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l2, l2, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l1, l2, l2, l3, b_set)
+   end if
    mom5 = momenta((/l1,l1,l2,l2,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l2, l2, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l1, l2, l2, l4, b_set)
+   end if
    mom5 = momenta((/l1,l1,l2,l2,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l2, l2, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l1, l2, l2, l5, b_set)
+   end if
    mom5 = momenta((/l1,l1,l2,l3,l3/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l2, l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l1, l2, l3, l3, b_set)
+   end if
    mom5 = momenta((/l1,l1,l2,l3,l4/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l2, l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l1, l1, l2, l3, l4, b_set)
+   end if
    mom5 = momenta((/l1,l1,l2,l3,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l2, l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l1, l1, l2, l3, l5, b_set)
+   end if
    mom5 = momenta((/l1,l1,l2,l4,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l2, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l1, l2, l4, l4, b_set)
+   end if
    mom5 = momenta((/l1,l1,l2,l4,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l2, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l1, l1, l2, l4, l5, b_set)
+   end if
    mom5 = momenta((/l1,l1,l2,l5,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l2, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l1, l2, l5, l5, b_set)
+   end if
    mom5 = momenta((/l1,l1,l3,l3,l3/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l1, l1, l3, l3, l3, b_set)
+   end if
    mom5 = momenta((/l1,l1,l3,l3,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l1, l3, l3, l4, b_set)
+   end if
    mom5 = momenta((/l1,l1,l3,l3,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l3, l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l1, l3, l3, l5, b_set)
+   end if
    mom5 = momenta((/l1,l1,l3,l4,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l1, l3, l4, l4, b_set)
+   end if
    mom5 = momenta((/l1,l1,l3,l4,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l3, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l1, l1, l3, l4, l5, b_set)
+   end if
    mom5 = momenta((/l1,l1,l3,l5,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l3, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l1, l3, l5, l5, b_set)
+   end if
    mom5 = momenta((/l1,l1,l4,l4,l4/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l1, l1, l4, l4, l4, b_set)
+   end if
    mom5 = momenta((/l1,l1,l4,l4,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l1, l4, l4, l5, b_set)
+   end if
    mom5 = momenta((/l1,l1,l4,l5,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l1, l4, l5, l5, b_set)
+   end if
    mom5 = momenta((/l1,l1,l5,l5,l5/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l1, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l1, l1, l5, l5, l5, b_set)
+   end if
    mom5 = momenta((/l1,l2,l2,l2,l2/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l2, l2, l2, l2, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l1, l2, l2, l2, l2, b_set)
+   end if
    mom5 = momenta((/l1,l2,l2,l2,l3/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l2, l2, l2, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l2, l2, l2, l3, b_set)
+   end if
    mom5 = momenta((/l1,l2,l2,l2,l4/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l2, l2, l2, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l2, l2, l2, l4, b_set)
+   end if
    mom5 = momenta((/l1,l2,l2,l2,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l2, l2, l2, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l2, l2, l2, l5, b_set)
+   end if
    mom5 = momenta((/l1,l2,l2,l3,l3/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l2, l2, l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l2, l2, l3, l3, b_set)
+   end if
    mom5 = momenta((/l1,l2,l2,l3,l4/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l2, l2, l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l1, l2, l2, l3, l4, b_set)
+   end if
    mom5 = momenta((/l1,l2,l2,l3,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l2, l2, l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l1, l2, l2, l3, l5, b_set)
+   end if
    mom5 = momenta((/l1,l2,l2,l4,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l2, l2, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l2, l2, l4, l4, b_set)
+   end if
    mom5 = momenta((/l1,l2,l2,l4,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l2, l2, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l1, l2, l2, l4, l5, b_set)
+   end if
    mom5 = momenta((/l1,l2,l2,l5,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l2, l2, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l2, l2, l5, l5, b_set)
+   end if
    mom5 = momenta((/l1,l2,l3,l3,l3/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l2, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l2, l3, l3, l3, b_set)
+   end if
    mom5 = momenta((/l1,l2,l3,l3,l4/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l2, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l1, l2, l3, l3, l4, b_set)
+   end if
    mom5 = momenta((/l1,l2,l3,l3,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l2, l3, l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l1, l2, l3, l3, l5, b_set)
+   end if
    mom5 = momenta((/l1,l2,l3,l4,l4/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l2, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l1, l2, l3, l4, l4, b_set)
+   end if
    mom5 = momenta((/l1,l2,l3,l4,l5/),:)
-   amp = amp + 120.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l2, l3, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 120.0_ki * tmp * a55(l1, l2, l3, l4, l5, b_set)
+   end if
    mom5 = momenta((/l1,l2,l3,l5,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l2, l3, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l1, l2, l3, l5, l5, b_set)
+   end if
    mom5 = momenta((/l1,l2,l4,l4,l4/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l2, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l2, l4, l4, l4, b_set)
+   end if
    mom5 = momenta((/l1,l2,l4,l4,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l2, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l1, l2, l4, l4, l5, b_set)
+   end if
    mom5 = momenta((/l1,l2,l4,l5,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l2, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l1, l2, l4, l5, l5, b_set)
+   end if
    mom5 = momenta((/l1,l2,l5,l5,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l2, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l2, l5, l5, l5, b_set)
+   end if
    mom5 = momenta((/l1,l3,l3,l3,l3/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l3, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l1, l3, l3, l3, l3, b_set)
+   end if
    mom5 = momenta((/l1,l3,l3,l3,l4/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l3, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l3, l3, l3, l4, b_set)
+   end if
    mom5 = momenta((/l1,l3,l3,l3,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l3, l3, l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l3, l3, l3, l5, b_set)
+   end if
    mom5 = momenta((/l1,l3,l3,l4,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l3, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l3, l3, l4, l4, b_set)
+   end if
    mom5 = momenta((/l1,l3,l3,l4,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l3, l3, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l1, l3, l3, l4, l5, b_set)
+   end if
    mom5 = momenta((/l1,l3,l3,l5,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l3, l3, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l3, l3, l5, l5, b_set)
+   end if
    mom5 = momenta((/l1,l3,l4,l4,l4/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l3, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l3, l4, l4, l4, b_set)
+   end if
    mom5 = momenta((/l1,l3,l4,l4,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l3, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l1, l3, l4, l4, l5, b_set)
+   end if
    mom5 = momenta((/l1,l3,l4,l5,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l3, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l1, l3, l4, l5, l5, b_set)
+   end if
    mom5 = momenta((/l1,l3,l5,l5,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l3, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l3, l5, l5, l5, b_set)
+   end if
    mom5 = momenta((/l1,l4,l4,l4,l4/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l4, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l1, l4, l4, l4, l4, b_set)
+   end if
    mom5 = momenta((/l1,l4,l4,l4,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l4, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l4, l4, l4, l5, b_set)
+   end if
    mom5 = momenta((/l1,l4,l4,l5,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l4, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l1, l4, l4, l5, l5, b_set)
+   end if
    mom5 = momenta((/l1,l4,l5,l5,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l4, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l1, l4, l5, l5, l5, b_set)
+   end if
    mom5 = momenta((/l1,l5,l5,l5,l5/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l1, l5, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l1, l5, l5, l5, l5, b_set)
+   end if
    mom5 = momenta((/l2,l2,l2,l2,l2/),:)
-   amp = amp + contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l2, l2, l2, l2, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a55(l2, l2, l2, l2, l2, b_set)
+   end if
    mom5 = momenta((/l2,l2,l2,l2,l3/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l2, l2, l2, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l2, l2, l2, l2, l3, b_set)
+   end if
    mom5 = momenta((/l2,l2,l2,l2,l4/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l2, l2, l2, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l2, l2, l2, l2, l4, b_set)
+   end if
    mom5 = momenta((/l2,l2,l2,l2,l5/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l2, l2, l2, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l2, l2, l2, l2, l5, b_set)
+   end if
    mom5 = momenta((/l2,l2,l2,l3,l3/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l2, l2, l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l2, l2, l2, l3, l3, b_set)
+   end if
    mom5 = momenta((/l2,l2,l2,l3,l4/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l2, l2, l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l2, l2, l2, l3, l4, b_set)
+   end if
    mom5 = momenta((/l2,l2,l2,l3,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l2, l2, l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l2, l2, l2, l3, l5, b_set)
+   end if
    mom5 = momenta((/l2,l2,l2,l4,l4/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l2, l2, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l2, l2, l2, l4, l4, b_set)
+   end if
    mom5 = momenta((/l2,l2,l2,l4,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l2, l2, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l2, l2, l2, l4, l5, b_set)
+   end if
    mom5 = momenta((/l2,l2,l2,l5,l5/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l2, l2, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l2, l2, l2, l5, l5, b_set)
+   end if
    mom5 = momenta((/l2,l2,l3,l3,l3/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l2, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l2, l2, l3, l3, l3, b_set)
+   end if
    mom5 = momenta((/l2,l2,l3,l3,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l2, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l2, l2, l3, l3, l4, b_set)
+   end if
    mom5 = momenta((/l2,l2,l3,l3,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l2, l3, l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l2, l2, l3, l3, l5, b_set)
+   end if
    mom5 = momenta((/l2,l2,l3,l4,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l2, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l2, l2, l3, l4, l4, b_set)
+   end if
    mom5 = momenta((/l2,l2,l3,l4,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l2, l3, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l2, l2, l3, l4, l5, b_set)
+   end if
    mom5 = momenta((/l2,l2,l3,l5,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l2, l3, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l2, l2, l3, l5, l5, b_set)
+   end if
    mom5 = momenta((/l2,l2,l4,l4,l4/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l2, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l2, l2, l4, l4, l4, b_set)
+   end if
    mom5 = momenta((/l2,l2,l4,l4,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l2, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l2, l2, l4, l4, l5, b_set)
+   end if
    mom5 = momenta((/l2,l2,l4,l5,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l2, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l2, l2, l4, l5, l5, b_set)
+   end if
    mom5 = momenta((/l2,l2,l5,l5,l5/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l2, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l2, l2, l5, l5, l5, b_set)
+   end if
    mom5 = momenta((/l2,l3,l3,l3,l3/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l3, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l2, l3, l3, l3, l3, b_set)
+   end if
    mom5 = momenta((/l2,l3,l3,l3,l4/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l3, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l2, l3, l3, l3, l4, b_set)
+   end if
    mom5 = momenta((/l2,l3,l3,l3,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l3, l3, l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l2, l3, l3, l3, l5, b_set)
+   end if
    mom5 = momenta((/l2,l3,l3,l4,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l3, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l2, l3, l3, l4, l4, b_set)
+   end if
    mom5 = momenta((/l2,l3,l3,l4,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l3, l3, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l2, l3, l3, l4, l5, b_set)
+   end if
    mom5 = momenta((/l2,l3,l3,l5,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l3, l3, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l2, l3, l3, l5, l5, b_set)
+   end if
    mom5 = momenta((/l2,l3,l4,l4,l4/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l3, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l2, l3, l4, l4, l4, b_set)
+   end if
    mom5 = momenta((/l2,l3,l4,l4,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l3, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l2, l3, l4, l4, l5, b_set)
+   end if
    mom5 = momenta((/l2,l3,l4,l5,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l3, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a55(l2, l3, l4, l5, l5, b_set)
+   end if
    mom5 = momenta((/l2,l3,l5,l5,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l3, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l2, l3, l5, l5, l5, b_set)
+   end if
    mom5 = momenta((/l2,l4,l4,l4,l4/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l4, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l2, l4, l4, l4, l4, b_set)
+   end if
    mom5 = momenta((/l2,l4,l4,l4,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l4, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l2, l4, l4, l4, l5, b_set)
+   end if
    mom5 = momenta((/l2,l4,l4,l5,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l4, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l2, l4, l4, l5, l5, b_set)
+   end if
    mom5 = momenta((/l2,l4,l5,l5,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l4, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l2, l4, l5, l5, l5, b_set)
+   end if
    mom5 = momenta((/l2,l5,l5,l5,l5/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l2, l5, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l2, l5, l5, l5, l5, b_set)
+   end if
    mom5 = momenta((/l3,l3,l3,l3,l3/),:)
-   amp = amp + contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l3, l3, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a55(l3, l3, l3, l3, l3, b_set)
+   end if
    mom5 = momenta((/l3,l3,l3,l3,l4/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l3, l3, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l3, l3, l3, l3, l4, b_set)
+   end if
    mom5 = momenta((/l3,l3,l3,l3,l5/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l3, l3, l3, l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l3, l3, l3, l3, l5, b_set)
+   end if
    mom5 = momenta((/l3,l3,l3,l4,l4/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l3, l3, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l3, l3, l3, l4, l4, b_set)
+   end if
    mom5 = momenta((/l3,l3,l3,l4,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l3, l3, l3, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l3, l3, l3, l4, l5, b_set)
+   end if
    mom5 = momenta((/l3,l3,l3,l5,l5/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l3, l3, l3, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l3, l3, l3, l5, l5, b_set)
+   end if
    mom5 = momenta((/l3,l3,l4,l4,l4/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l3, l3, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l3, l3, l4, l4, l4, b_set)
+   end if
    mom5 = momenta((/l3,l3,l4,l4,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l3, l3, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l3, l3, l4, l4, l5, b_set)
+   end if
    mom5 = momenta((/l3,l3,l4,l5,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l3, l3, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l3, l3, l4, l5, l5, b_set)
+   end if
    mom5 = momenta((/l3,l3,l5,l5,l5/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l3, l3, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l3, l3, l5, l5, l5, b_set)
+   end if
    mom5 = momenta((/l3,l4,l4,l4,l4/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l3, l4, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l3, l4, l4, l4, l4, b_set)
+   end if
    mom5 = momenta((/l3,l4,l4,l4,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l3, l4, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l3, l4, l4, l4, l5, b_set)
+   end if
    mom5 = momenta((/l3,l4,l4,l5,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l3, l4, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a55(l3, l4, l4, l5, l5, b_set)
+   end if
    mom5 = momenta((/l3,l4,l5,l5,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l3, l4, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a55(l3, l4, l5, l5, l5, b_set)
+   end if
    mom5 = momenta((/l3,l5,l5,l5,l5/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l3, l5, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l3, l5, l5, l5, l5, b_set)
+   end if
    mom5 = momenta((/l4,l4,l4,l4,l4/),:)
-   amp = amp + contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l4, l4, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a55(l4, l4, l4, l4, l4, b_set)
+   end if
    mom5 = momenta((/l4,l4,l4,l4,l5/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l4, l4, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l4, l4, l4, l4, l5, b_set)
+   end if
    mom5 = momenta((/l4,l4,l4,l5,l5/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l4, l4, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l4, l4, l4, l5, l5, b_set)
+   end if
    mom5 = momenta((/l4,l4,l5,l5,l5/),:)
-   amp = amp + 10.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l4, l4, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 10.0_ki * tmp * a55(l4, l4, l5, l5, l5, b_set)
+   end if
    mom5 = momenta((/l4,l5,l5,l5,l5/),:)
-   amp = amp + 5.0_ki * contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l4, l5, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 5.0_ki * tmp * a55(l4, l5, l5, l5, l5, b_set)
+   end if
    mom5 = momenta((/l5,l5,l5,l5,l5/),:)
-   amp = amp + contract_a_tensor_6(coeffs, mom5) &
-   &  * a55(l5, l5, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom5)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a55(l5, l5, l5, l5, l5, b_set)
+   end if
    mom3 = momenta((/l1,l1,l1/),:)
-   amp = amp + contract_b_tensor_6(coeffs, mom3) * b55(l1, l1, l1, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b55(l1, l1, l1, b_set)
+   end if
    mom3 = momenta((/l1,l1,l2/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_6(coeffs, mom3) &
-   &  * b55(l1, l1, l2, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l1, l1, l2, b_set)
+   end if
    mom3 = momenta((/l1,l1,l3/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_6(coeffs, mom3) &
-   &  * b55(l1, l1, l3, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l1, l1, l3, b_set)
+   end if
    mom3 = momenta((/l1,l1,l4/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_6(coeffs, mom3) &
-   &  * b55(l1, l1, l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l1, l1, l4, b_set)
+   end if
    mom3 = momenta((/l1,l1,l5/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_6(coeffs, mom3) &
-   &  * b55(l1, l1, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l1, l1, l5, b_set)
+   end if
    mom3 = momenta((/l1,l2,l2/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_6(coeffs, mom3) &
-   &  * b55(l1, l2, l2, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l1, l2, l2, b_set)
+   end if
    mom3 = momenta((/l1,l2,l3/),:)
-   amp = amp + 6.0_ki * contract_b_tensor_6(coeffs, mom3) &
-   &  * b55(l1, l2, l3, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * b55(l1, l2, l3, b_set)
+   end if
    mom3 = momenta((/l1,l2,l4/),:)
-   amp = amp + 6.0_ki * contract_b_tensor_6(coeffs, mom3) &
-   &  * b55(l1, l2, l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * b55(l1, l2, l4, b_set)
+   end if
    mom3 = momenta((/l1,l2,l5/),:)
-   amp = amp + 6.0_ki * contract_b_tensor_6(coeffs, mom3) &
-   &  * b55(l1, l2, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * b55(l1, l2, l5, b_set)
+   end if
    mom3 = momenta((/l1,l3,l3/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_6(coeffs, mom3) &
-   &  * b55(l1, l3, l3, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l1, l3, l3, b_set)
+   end if
    mom3 = momenta((/l1,l3,l4/),:)
-   amp = amp + 6.0_ki * contract_b_tensor_6(coeffs, mom3) &
-   &  * b55(l1, l3, l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * b55(l1, l3, l4, b_set)
+   end if
    mom3 = momenta((/l1,l3,l5/),:)
-   amp = amp + 6.0_ki * contract_b_tensor_6(coeffs, mom3) &
-   &  * b55(l1, l3, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * b55(l1, l3, l5, b_set)
+   end if
    mom3 = momenta((/l1,l4,l4/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_6(coeffs, mom3) &
-   &  * b55(l1, l4, l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l1, l4, l4, b_set)
+   end if
    mom3 = momenta((/l1,l4,l5/),:)
-   amp = amp + 6.0_ki * contract_b_tensor_6(coeffs, mom3) &
-   &  * b55(l1, l4, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * b55(l1, l4, l5, b_set)
+   end if
    mom3 = momenta((/l1,l5,l5/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_6(coeffs, mom3) &
-   &  * b55(l1, l5, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l1, l5, l5, b_set)
+   end if
    mom3 = momenta((/l2,l2,l2/),:)
-   amp = amp + contract_b_tensor_6(coeffs, mom3) * b55(l2, l2, l2, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b55(l2, l2, l2, b_set)
+   end if
    mom3 = momenta((/l2,l2,l3/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_6(coeffs, mom3) &
-   &  * b55(l2, l2, l3, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l2, l2, l3, b_set)
+   end if
    mom3 = momenta((/l2,l2,l4/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_6(coeffs, mom3) &
-   &  * b55(l2, l2, l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l2, l2, l4, b_set)
+   end if
    mom3 = momenta((/l2,l2,l5/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_6(coeffs, mom3) &
-   &  * b55(l2, l2, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l2, l2, l5, b_set)
+   end if
    mom3 = momenta((/l2,l3,l3/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_6(coeffs, mom3) &
-   &  * b55(l2, l3, l3, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l2, l3, l3, b_set)
+   end if
    mom3 = momenta((/l2,l3,l4/),:)
-   amp = amp + 6.0_ki * contract_b_tensor_6(coeffs, mom3) &
-   &  * b55(l2, l3, l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * b55(l2, l3, l4, b_set)
+   end if
    mom3 = momenta((/l2,l3,l5/),:)
-   amp = amp + 6.0_ki * contract_b_tensor_6(coeffs, mom3) &
-   &  * b55(l2, l3, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * b55(l2, l3, l5, b_set)
+   end if
    mom3 = momenta((/l2,l4,l4/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_6(coeffs, mom3) &
-   &  * b55(l2, l4, l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l2, l4, l4, b_set)
+   end if
    mom3 = momenta((/l2,l4,l5/),:)
-   amp = amp + 6.0_ki * contract_b_tensor_6(coeffs, mom3) &
-   &  * b55(l2, l4, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * b55(l2, l4, l5, b_set)
+   end if
    mom3 = momenta((/l2,l5,l5/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_6(coeffs, mom3) &
-   &  * b55(l2, l5, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l2, l5, l5, b_set)
+   end if
    mom3 = momenta((/l3,l3,l3/),:)
-   amp = amp + contract_b_tensor_6(coeffs, mom3) * b55(l3, l3, l3, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b55(l3, l3, l3, b_set)
+   end if
    mom3 = momenta((/l3,l3,l4/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_6(coeffs, mom3) &
-   &  * b55(l3, l3, l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l3, l3, l4, b_set)
+   end if
    mom3 = momenta((/l3,l3,l5/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_6(coeffs, mom3) &
-   &  * b55(l3, l3, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l3, l3, l5, b_set)
+   end if
    mom3 = momenta((/l3,l4,l4/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_6(coeffs, mom3) &
-   &  * b55(l3, l4, l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l3, l4, l4, b_set)
+   end if
    mom3 = momenta((/l3,l4,l5/),:)
-   amp = amp + 6.0_ki * contract_b_tensor_6(coeffs, mom3) &
-   &  * b55(l3, l4, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * b55(l3, l4, l5, b_set)
+   end if
    mom3 = momenta((/l3,l5,l5/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_6(coeffs, mom3) &
-   &  * b55(l3, l5, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l3, l5, l5, b_set)
+   end if
    mom3 = momenta((/l4,l4,l4/),:)
-   amp = amp + contract_b_tensor_6(coeffs, mom3) * b55(l4, l4, l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b55(l4, l4, l4, b_set)
+   end if
    mom3 = momenta((/l4,l4,l5/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_6(coeffs, mom3) &
-   &  * b55(l4, l4, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l4, l4, l5, b_set)
+   end if
    mom3 = momenta((/l4,l5,l5/),:)
-   amp = amp + 3.0_ki * contract_b_tensor_6(coeffs, mom3) &
-   &  * b55(l4, l5, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 3.0_ki * tmp * b55(l4, l5, l5, b_set)
+   end if
    mom3 = momenta((/l5,l5,l5/),:)
-   amp = amp + contract_b_tensor_6(coeffs, mom3) * b55(l5, l5, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom3)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b55(l5, l5, l5, b_set)
+   end if
    mom1 = momenta((/l1/),:)
-   amp = amp + contract_c_tensor_6(coeffs, mom1) * c55(l1, b_set)
+   tmp = contract_c_tensor_6(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * c55(l1, b_set)
+   end if
    mom1 = momenta((/l2/),:)
-   amp = amp + contract_c_tensor_6(coeffs, mom1) * c55(l2, b_set)
+   tmp = contract_c_tensor_6(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * c55(l2, b_set)
+   end if
    mom1 = momenta((/l3/),:)
-   amp = amp + contract_c_tensor_6(coeffs, mom1) * c55(l3, b_set)
+   tmp = contract_c_tensor_6(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * c55(l3, b_set)
+   end if
    mom1 = momenta((/l4/),:)
-   amp = amp + contract_c_tensor_6(coeffs, mom1) * c55(l4, b_set)
+   tmp = contract_c_tensor_6(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * c55(l4, b_set)
+   end if
    mom1 = momenta((/l5/),:)
-   amp = amp + contract_c_tensor_6(coeffs, mom1) * c55(l5, b_set)
+   tmp = contract_c_tensor_6(coeffs, mom1)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * c55(l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l1,l1,l1/),:)
-   amp = amp + contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l1, l1, l1, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a56(l1, l1, l1, l1, l1, l1, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l1,l1,l2/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l1, l1, l2, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a56(l1, l1, l1, l1, l1, l2, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l1,l1,l3/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l1, l1, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a56(l1, l1, l1, l1, l1, l3, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l1,l1,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l1, l1, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a56(l1, l1, l1, l1, l1, l4, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l1,l1,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l1, l1, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a56(l1, l1, l1, l1, l1, l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l1,l2,l2/),:)
-   amp = amp + 15.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l1, l2, l2, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 15.0_ki * tmp * a56(l1, l1, l1, l1, l2, l2, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l1,l2,l3/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l1, l2, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a56(l1, l1, l1, l1, l2, l3, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l1,l2,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l1, l2, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a56(l1, l1, l1, l1, l2, l4, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l1,l2,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l1, l2, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a56(l1, l1, l1, l1, l2, l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l1,l3,l3/),:)
-   amp = amp + 15.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l1, l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 15.0_ki * tmp * a56(l1, l1, l1, l1, l3, l3, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l1,l3,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l1, l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a56(l1, l1, l1, l1, l3, l4, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l1,l3,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l1, l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a56(l1, l1, l1, l1, l3, l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l1,l4,l4/),:)
-   amp = amp + 15.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l1, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 15.0_ki * tmp * a56(l1, l1, l1, l1, l4, l4, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l1,l4,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l1, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a56(l1, l1, l1, l1, l4, l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l1,l5,l5/),:)
-   amp = amp + 15.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l1, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 15.0_ki * tmp * a56(l1, l1, l1, l1, l5, l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l2,l2,l2/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l2, l2, l2, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a56(l1, l1, l1, l2, l2, l2, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l2,l2,l3/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l2, l2, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l1, l1, l2, l2, l3, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l2,l2,l4/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l2, l2, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l1, l1, l2, l2, l4, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l2,l2,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l2, l2, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l1, l1, l2, l2, l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l2,l3,l3/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l2, l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l1, l1, l2, l3, l3, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l2,l3,l4/),:)
-   amp = amp + 120.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l2, l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 120.0_ki * tmp * a56(l1, l1, l1, l2, l3, l4, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l2,l3,l5/),:)
-   amp = amp + 120.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l2, l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 120.0_ki * tmp * a56(l1, l1, l1, l2, l3, l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l2,l4,l4/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l2, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l1, l1, l2, l4, l4, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l2,l4,l5/),:)
-   amp = amp + 120.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l2, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 120.0_ki * tmp * a56(l1, l1, l1, l2, l4, l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l2,l5,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l2, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l1, l1, l2, l5, l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l3,l3,l3/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a56(l1, l1, l1, l3, l3, l3, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l3,l3,l4/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l1, l1, l3, l3, l4, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l3,l3,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l3, l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l1, l1, l3, l3, l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l3,l4,l4/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l1, l1, l3, l4, l4, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l3,l4,l5/),:)
-   amp = amp + 120.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l3, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 120.0_ki * tmp * a56(l1, l1, l1, l3, l4, l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l3,l5,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l3, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l1, l1, l3, l5, l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l4,l4,l4/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a56(l1, l1, l1, l4, l4, l4, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l4,l4,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l1, l1, l4, l4, l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l4,l5,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l1, l1, l4, l5, l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l1,l5,l5,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l1, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a56(l1, l1, l1, l5, l5, l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l2,l2,l2,l2/),:)
-   amp = amp + 15.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l2, l2, l2, l2, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 15.0_ki * tmp * a56(l1, l1, l2, l2, l2, l2, b_set)
+   end if
    mom6 = momenta((/l1,l1,l2,l2,l2,l3/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l2, l2, l2, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l1, l2, l2, l2, l3, b_set)
+   end if
    mom6 = momenta((/l1,l1,l2,l2,l2,l4/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l2, l2, l2, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l1, l2, l2, l2, l4, b_set)
+   end if
    mom6 = momenta((/l1,l1,l2,l2,l2,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l2, l2, l2, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l1, l2, l2, l2, l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l2,l2,l3,l3/),:)
-   amp = amp + 90.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l2, l2, l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 90.0_ki * tmp * a56(l1, l1, l2, l2, l3, l3, b_set)
+   end if
    mom6 = momenta((/l1,l1,l2,l2,l3,l4/),:)
-   amp = amp + 180.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l2, l2, l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 180.0_ki * tmp * a56(l1, l1, l2, l2, l3, l4, b_set)
+   end if
    mom6 = momenta((/l1,l1,l2,l2,l3,l5/),:)
-   amp = amp + 180.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l2, l2, l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 180.0_ki * tmp * a56(l1, l1, l2, l2, l3, l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l2,l2,l4,l4/),:)
-   amp = amp + 90.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l2, l2, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 90.0_ki * tmp * a56(l1, l1, l2, l2, l4, l4, b_set)
+   end if
    mom6 = momenta((/l1,l1,l2,l2,l4,l5/),:)
-   amp = amp + 180.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l2, l2, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 180.0_ki * tmp * a56(l1, l1, l2, l2, l4, l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l2,l2,l5,l5/),:)
-   amp = amp + 90.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l2, l2, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 90.0_ki * tmp * a56(l1, l1, l2, l2, l5, l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l2,l3,l3,l3/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l2, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l1, l2, l3, l3, l3, b_set)
+   end if
    mom6 = momenta((/l1,l1,l2,l3,l3,l4/),:)
-   amp = amp + 180.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l2, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 180.0_ki * tmp * a56(l1, l1, l2, l3, l3, l4, b_set)
+   end if
    mom6 = momenta((/l1,l1,l2,l3,l3,l5/),:)
-   amp = amp + 180.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l2, l3, l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 180.0_ki * tmp * a56(l1, l1, l2, l3, l3, l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l2,l3,l4,l4/),:)
-   amp = amp + 180.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l2, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 180.0_ki * tmp * a56(l1, l1, l2, l3, l4, l4, b_set)
+   end if
    mom6 = momenta((/l1,l1,l2,l3,l4,l5/),:)
-   amp = amp + 360.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l2, l3, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 360.0_ki * tmp * a56(l1, l1, l2, l3, l4, l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l2,l3,l5,l5/),:)
-   amp = amp + 180.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l2, l3, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 180.0_ki * tmp * a56(l1, l1, l2, l3, l5, l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l2,l4,l4,l4/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l2, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l1, l2, l4, l4, l4, b_set)
+   end if
    mom6 = momenta((/l1,l1,l2,l4,l4,l5/),:)
-   amp = amp + 180.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l2, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 180.0_ki * tmp * a56(l1, l1, l2, l4, l4, l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l2,l4,l5,l5/),:)
-   amp = amp + 180.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l2, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 180.0_ki * tmp * a56(l1, l1, l2, l4, l5, l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l2,l5,l5,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l2, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l1, l2, l5, l5, l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l3,l3,l3,l3/),:)
-   amp = amp + 15.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l3, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 15.0_ki * tmp * a56(l1, l1, l3, l3, l3, l3, b_set)
+   end if
    mom6 = momenta((/l1,l1,l3,l3,l3,l4/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l3, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l1, l3, l3, l3, l4, b_set)
+   end if
    mom6 = momenta((/l1,l1,l3,l3,l3,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l3, l3, l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l1, l3, l3, l3, l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l3,l3,l4,l4/),:)
-   amp = amp + 90.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l3, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 90.0_ki * tmp * a56(l1, l1, l3, l3, l4, l4, b_set)
+   end if
    mom6 = momenta((/l1,l1,l3,l3,l4,l5/),:)
-   amp = amp + 180.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l3, l3, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 180.0_ki * tmp * a56(l1, l1, l3, l3, l4, l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l3,l3,l5,l5/),:)
-   amp = amp + 90.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l3, l3, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 90.0_ki * tmp * a56(l1, l1, l3, l3, l5, l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l3,l4,l4,l4/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l3, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l1, l3, l4, l4, l4, b_set)
+   end if
    mom6 = momenta((/l1,l1,l3,l4,l4,l5/),:)
-   amp = amp + 180.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l3, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 180.0_ki * tmp * a56(l1, l1, l3, l4, l4, l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l3,l4,l5,l5/),:)
-   amp = amp + 180.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l3, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 180.0_ki * tmp * a56(l1, l1, l3, l4, l5, l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l3,l5,l5,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l3, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l1, l3, l5, l5, l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l4,l4,l4,l4/),:)
-   amp = amp + 15.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l4, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 15.0_ki * tmp * a56(l1, l1, l4, l4, l4, l4, b_set)
+   end if
    mom6 = momenta((/l1,l1,l4,l4,l4,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l4, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l1, l4, l4, l4, l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l4,l4,l5,l5/),:)
-   amp = amp + 90.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l4, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 90.0_ki * tmp * a56(l1, l1, l4, l4, l5, l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l4,l5,l5,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l4, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l1, l4, l5, l5, l5, b_set)
+   end if
    mom6 = momenta((/l1,l1,l5,l5,l5,l5/),:)
-   amp = amp + 15.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l1, l5, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 15.0_ki * tmp * a56(l1, l1, l5, l5, l5, l5, b_set)
+   end if
    mom6 = momenta((/l1,l2,l2,l2,l2,l2/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l2, l2, l2, l2, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a56(l1, l2, l2, l2, l2, l2, b_set)
+   end if
    mom6 = momenta((/l1,l2,l2,l2,l2,l3/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l2, l2, l2, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a56(l1, l2, l2, l2, l2, l3, b_set)
+   end if
    mom6 = momenta((/l1,l2,l2,l2,l2,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l2, l2, l2, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a56(l1, l2, l2, l2, l2, l4, b_set)
+   end if
    mom6 = momenta((/l1,l2,l2,l2,l2,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l2, l2, l2, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a56(l1, l2, l2, l2, l2, l5, b_set)
+   end if
    mom6 = momenta((/l1,l2,l2,l2,l3,l3/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l2, l2, l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l2, l2, l2, l3, l3, b_set)
+   end if
    mom6 = momenta((/l1,l2,l2,l2,l3,l4/),:)
-   amp = amp + 120.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l2, l2, l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 120.0_ki * tmp * a56(l1, l2, l2, l2, l3, l4, b_set)
+   end if
    mom6 = momenta((/l1,l2,l2,l2,l3,l5/),:)
-   amp = amp + 120.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l2, l2, l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 120.0_ki * tmp * a56(l1, l2, l2, l2, l3, l5, b_set)
+   end if
    mom6 = momenta((/l1,l2,l2,l2,l4,l4/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l2, l2, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l2, l2, l2, l4, l4, b_set)
+   end if
    mom6 = momenta((/l1,l2,l2,l2,l4,l5/),:)
-   amp = amp + 120.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l2, l2, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 120.0_ki * tmp * a56(l1, l2, l2, l2, l4, l5, b_set)
+   end if
    mom6 = momenta((/l1,l2,l2,l2,l5,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l2, l2, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l2, l2, l2, l5, l5, b_set)
+   end if
    mom6 = momenta((/l1,l2,l2,l3,l3,l3/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l2, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l2, l2, l3, l3, l3, b_set)
+   end if
    mom6 = momenta((/l1,l2,l2,l3,l3,l4/),:)
-   amp = amp + 180.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l2, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 180.0_ki * tmp * a56(l1, l2, l2, l3, l3, l4, b_set)
+   end if
    mom6 = momenta((/l1,l2,l2,l3,l3,l5/),:)
-   amp = amp + 180.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l2, l3, l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 180.0_ki * tmp * a56(l1, l2, l2, l3, l3, l5, b_set)
+   end if
    mom6 = momenta((/l1,l2,l2,l3,l4,l4/),:)
-   amp = amp + 180.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l2, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 180.0_ki * tmp * a56(l1, l2, l2, l3, l4, l4, b_set)
+   end if
    mom6 = momenta((/l1,l2,l2,l3,l4,l5/),:)
-   amp = amp + 360.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l2, l3, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 360.0_ki * tmp * a56(l1, l2, l2, l3, l4, l5, b_set)
+   end if
    mom6 = momenta((/l1,l2,l2,l3,l5,l5/),:)
-   amp = amp + 180.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l2, l3, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 180.0_ki * tmp * a56(l1, l2, l2, l3, l5, l5, b_set)
+   end if
    mom6 = momenta((/l1,l2,l2,l4,l4,l4/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l2, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l2, l2, l4, l4, l4, b_set)
+   end if
    mom6 = momenta((/l1,l2,l2,l4,l4,l5/),:)
-   amp = amp + 180.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l2, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 180.0_ki * tmp * a56(l1, l2, l2, l4, l4, l5, b_set)
+   end if
    mom6 = momenta((/l1,l2,l2,l4,l5,l5/),:)
-   amp = amp + 180.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l2, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 180.0_ki * tmp * a56(l1, l2, l2, l4, l5, l5, b_set)
+   end if
    mom6 = momenta((/l1,l2,l2,l5,l5,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l2, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l2, l2, l5, l5, l5, b_set)
+   end if
    mom6 = momenta((/l1,l2,l3,l3,l3,l3/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l3, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a56(l1, l2, l3, l3, l3, l3, b_set)
+   end if
    mom6 = momenta((/l1,l2,l3,l3,l3,l4/),:)
-   amp = amp + 120.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l3, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 120.0_ki * tmp * a56(l1, l2, l3, l3, l3, l4, b_set)
+   end if
    mom6 = momenta((/l1,l2,l3,l3,l3,l5/),:)
-   amp = amp + 120.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l3, l3, l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 120.0_ki * tmp * a56(l1, l2, l3, l3, l3, l5, b_set)
+   end if
    mom6 = momenta((/l1,l2,l3,l3,l4,l4/),:)
-   amp = amp + 180.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l3, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 180.0_ki * tmp * a56(l1, l2, l3, l3, l4, l4, b_set)
+   end if
    mom6 = momenta((/l1,l2,l3,l3,l4,l5/),:)
-   amp = amp + 360.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l3, l3, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 360.0_ki * tmp * a56(l1, l2, l3, l3, l4, l5, b_set)
+   end if
    mom6 = momenta((/l1,l2,l3,l3,l5,l5/),:)
-   amp = amp + 180.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l3, l3, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 180.0_ki * tmp * a56(l1, l2, l3, l3, l5, l5, b_set)
+   end if
    mom6 = momenta((/l1,l2,l3,l4,l4,l4/),:)
-   amp = amp + 120.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l3, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 120.0_ki * tmp * a56(l1, l2, l3, l4, l4, l4, b_set)
+   end if
    mom6 = momenta((/l1,l2,l3,l4,l4,l5/),:)
-   amp = amp + 360.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l3, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 360.0_ki * tmp * a56(l1, l2, l3, l4, l4, l5, b_set)
+   end if
    mom6 = momenta((/l1,l2,l3,l4,l5,l5/),:)
-   amp = amp + 360.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l3, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 360.0_ki * tmp * a56(l1, l2, l3, l4, l5, l5, b_set)
+   end if
    mom6 = momenta((/l1,l2,l3,l5,l5,l5/),:)
-   amp = amp + 120.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l3, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 120.0_ki * tmp * a56(l1, l2, l3, l5, l5, l5, b_set)
+   end if
    mom6 = momenta((/l1,l2,l4,l4,l4,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l4, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a56(l1, l2, l4, l4, l4, l4, b_set)
+   end if
    mom6 = momenta((/l1,l2,l4,l4,l4,l5/),:)
-   amp = amp + 120.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l4, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 120.0_ki * tmp * a56(l1, l2, l4, l4, l4, l5, b_set)
+   end if
    mom6 = momenta((/l1,l2,l4,l4,l5,l5/),:)
-   amp = amp + 180.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l4, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 180.0_ki * tmp * a56(l1, l2, l4, l4, l5, l5, b_set)
+   end if
    mom6 = momenta((/l1,l2,l4,l5,l5,l5/),:)
-   amp = amp + 120.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l4, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 120.0_ki * tmp * a56(l1, l2, l4, l5, l5, l5, b_set)
+   end if
    mom6 = momenta((/l1,l2,l5,l5,l5,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l2, l5, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a56(l1, l2, l5, l5, l5, l5, b_set)
+   end if
    mom6 = momenta((/l1,l3,l3,l3,l3,l3/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l3, l3, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a56(l1, l3, l3, l3, l3, l3, b_set)
+   end if
    mom6 = momenta((/l1,l3,l3,l3,l3,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l3, l3, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a56(l1, l3, l3, l3, l3, l4, b_set)
+   end if
    mom6 = momenta((/l1,l3,l3,l3,l3,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l3, l3, l3, l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a56(l1, l3, l3, l3, l3, l5, b_set)
+   end if
    mom6 = momenta((/l1,l3,l3,l3,l4,l4/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l3, l3, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l3, l3, l3, l4, l4, b_set)
+   end if
    mom6 = momenta((/l1,l3,l3,l3,l4,l5/),:)
-   amp = amp + 120.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l3, l3, l3, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 120.0_ki * tmp * a56(l1, l3, l3, l3, l4, l5, b_set)
+   end if
    mom6 = momenta((/l1,l3,l3,l3,l5,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l3, l3, l3, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l3, l3, l3, l5, l5, b_set)
+   end if
    mom6 = momenta((/l1,l3,l3,l4,l4,l4/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l3, l3, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l3, l3, l4, l4, l4, b_set)
+   end if
    mom6 = momenta((/l1,l3,l3,l4,l4,l5/),:)
-   amp = amp + 180.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l3, l3, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 180.0_ki * tmp * a56(l1, l3, l3, l4, l4, l5, b_set)
+   end if
    mom6 = momenta((/l1,l3,l3,l4,l5,l5/),:)
-   amp = amp + 180.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l3, l3, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 180.0_ki * tmp * a56(l1, l3, l3, l4, l5, l5, b_set)
+   end if
    mom6 = momenta((/l1,l3,l3,l5,l5,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l3, l3, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l3, l3, l5, l5, l5, b_set)
+   end if
    mom6 = momenta((/l1,l3,l4,l4,l4,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l3, l4, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a56(l1, l3, l4, l4, l4, l4, b_set)
+   end if
    mom6 = momenta((/l1,l3,l4,l4,l4,l5/),:)
-   amp = amp + 120.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l3, l4, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 120.0_ki * tmp * a56(l1, l3, l4, l4, l4, l5, b_set)
+   end if
    mom6 = momenta((/l1,l3,l4,l4,l5,l5/),:)
-   amp = amp + 180.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l3, l4, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 180.0_ki * tmp * a56(l1, l3, l4, l4, l5, l5, b_set)
+   end if
    mom6 = momenta((/l1,l3,l4,l5,l5,l5/),:)
-   amp = amp + 120.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l3, l4, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 120.0_ki * tmp * a56(l1, l3, l4, l5, l5, l5, b_set)
+   end if
    mom6 = momenta((/l1,l3,l5,l5,l5,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l3, l5, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a56(l1, l3, l5, l5, l5, l5, b_set)
+   end if
    mom6 = momenta((/l1,l4,l4,l4,l4,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l4, l4, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a56(l1, l4, l4, l4, l4, l4, b_set)
+   end if
    mom6 = momenta((/l1,l4,l4,l4,l4,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l4, l4, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a56(l1, l4, l4, l4, l4, l5, b_set)
+   end if
    mom6 = momenta((/l1,l4,l4,l4,l5,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l4, l4, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l4, l4, l4, l5, l5, b_set)
+   end if
    mom6 = momenta((/l1,l4,l4,l5,l5,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l4, l4, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l1, l4, l4, l5, l5, l5, b_set)
+   end if
    mom6 = momenta((/l1,l4,l5,l5,l5,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l4, l5, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a56(l1, l4, l5, l5, l5, l5, b_set)
+   end if
    mom6 = momenta((/l1,l5,l5,l5,l5,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l1, l5, l5, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a56(l1, l5, l5, l5, l5, l5, b_set)
+   end if
    mom6 = momenta((/l2,l2,l2,l2,l2,l2/),:)
-   amp = amp + contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l2, l2, l2, l2, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a56(l2, l2, l2, l2, l2, l2, b_set)
+   end if
    mom6 = momenta((/l2,l2,l2,l2,l2,l3/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l2, l2, l2, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a56(l2, l2, l2, l2, l2, l3, b_set)
+   end if
    mom6 = momenta((/l2,l2,l2,l2,l2,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l2, l2, l2, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a56(l2, l2, l2, l2, l2, l4, b_set)
+   end if
    mom6 = momenta((/l2,l2,l2,l2,l2,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l2, l2, l2, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a56(l2, l2, l2, l2, l2, l5, b_set)
+   end if
    mom6 = momenta((/l2,l2,l2,l2,l3,l3/),:)
-   amp = amp + 15.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l2, l2, l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 15.0_ki * tmp * a56(l2, l2, l2, l2, l3, l3, b_set)
+   end if
    mom6 = momenta((/l2,l2,l2,l2,l3,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l2, l2, l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a56(l2, l2, l2, l2, l3, l4, b_set)
+   end if
    mom6 = momenta((/l2,l2,l2,l2,l3,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l2, l2, l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a56(l2, l2, l2, l2, l3, l5, b_set)
+   end if
    mom6 = momenta((/l2,l2,l2,l2,l4,l4/),:)
-   amp = amp + 15.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l2, l2, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 15.0_ki * tmp * a56(l2, l2, l2, l2, l4, l4, b_set)
+   end if
    mom6 = momenta((/l2,l2,l2,l2,l4,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l2, l2, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a56(l2, l2, l2, l2, l4, l5, b_set)
+   end if
    mom6 = momenta((/l2,l2,l2,l2,l5,l5/),:)
-   amp = amp + 15.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l2, l2, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 15.0_ki * tmp * a56(l2, l2, l2, l2, l5, l5, b_set)
+   end if
    mom6 = momenta((/l2,l2,l2,l3,l3,l3/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l2, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a56(l2, l2, l2, l3, l3, l3, b_set)
+   end if
    mom6 = momenta((/l2,l2,l2,l3,l3,l4/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l2, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l2, l2, l2, l3, l3, l4, b_set)
+   end if
    mom6 = momenta((/l2,l2,l2,l3,l3,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l2, l3, l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l2, l2, l2, l3, l3, l5, b_set)
+   end if
    mom6 = momenta((/l2,l2,l2,l3,l4,l4/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l2, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l2, l2, l2, l3, l4, l4, b_set)
+   end if
    mom6 = momenta((/l2,l2,l2,l3,l4,l5/),:)
-   amp = amp + 120.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l2, l3, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 120.0_ki * tmp * a56(l2, l2, l2, l3, l4, l5, b_set)
+   end if
    mom6 = momenta((/l2,l2,l2,l3,l5,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l2, l3, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l2, l2, l2, l3, l5, l5, b_set)
+   end if
    mom6 = momenta((/l2,l2,l2,l4,l4,l4/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l2, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a56(l2, l2, l2, l4, l4, l4, b_set)
+   end if
    mom6 = momenta((/l2,l2,l2,l4,l4,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l2, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l2, l2, l2, l4, l4, l5, b_set)
+   end if
    mom6 = momenta((/l2,l2,l2,l4,l5,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l2, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l2, l2, l2, l4, l5, l5, b_set)
+   end if
    mom6 = momenta((/l2,l2,l2,l5,l5,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l2, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a56(l2, l2, l2, l5, l5, l5, b_set)
+   end if
    mom6 = momenta((/l2,l2,l3,l3,l3,l3/),:)
-   amp = amp + 15.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l3, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 15.0_ki * tmp * a56(l2, l2, l3, l3, l3, l3, b_set)
+   end if
    mom6 = momenta((/l2,l2,l3,l3,l3,l4/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l3, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l2, l2, l3, l3, l3, l4, b_set)
+   end if
    mom6 = momenta((/l2,l2,l3,l3,l3,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l3, l3, l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l2, l2, l3, l3, l3, l5, b_set)
+   end if
    mom6 = momenta((/l2,l2,l3,l3,l4,l4/),:)
-   amp = amp + 90.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l3, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 90.0_ki * tmp * a56(l2, l2, l3, l3, l4, l4, b_set)
+   end if
    mom6 = momenta((/l2,l2,l3,l3,l4,l5/),:)
-   amp = amp + 180.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l3, l3, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 180.0_ki * tmp * a56(l2, l2, l3, l3, l4, l5, b_set)
+   end if
    mom6 = momenta((/l2,l2,l3,l3,l5,l5/),:)
-   amp = amp + 90.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l3, l3, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 90.0_ki * tmp * a56(l2, l2, l3, l3, l5, l5, b_set)
+   end if
    mom6 = momenta((/l2,l2,l3,l4,l4,l4/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l3, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l2, l2, l3, l4, l4, l4, b_set)
+   end if
    mom6 = momenta((/l2,l2,l3,l4,l4,l5/),:)
-   amp = amp + 180.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l3, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 180.0_ki * tmp * a56(l2, l2, l3, l4, l4, l5, b_set)
+   end if
    mom6 = momenta((/l2,l2,l3,l4,l5,l5/),:)
-   amp = amp + 180.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l3, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 180.0_ki * tmp * a56(l2, l2, l3, l4, l5, l5, b_set)
+   end if
    mom6 = momenta((/l2,l2,l3,l5,l5,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l3, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l2, l2, l3, l5, l5, l5, b_set)
+   end if
    mom6 = momenta((/l2,l2,l4,l4,l4,l4/),:)
-   amp = amp + 15.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l4, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 15.0_ki * tmp * a56(l2, l2, l4, l4, l4, l4, b_set)
+   end if
    mom6 = momenta((/l2,l2,l4,l4,l4,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l4, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l2, l2, l4, l4, l4, l5, b_set)
+   end if
    mom6 = momenta((/l2,l2,l4,l4,l5,l5/),:)
-   amp = amp + 90.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l4, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 90.0_ki * tmp * a56(l2, l2, l4, l4, l5, l5, b_set)
+   end if
    mom6 = momenta((/l2,l2,l4,l5,l5,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l4, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l2, l2, l4, l5, l5, l5, b_set)
+   end if
    mom6 = momenta((/l2,l2,l5,l5,l5,l5/),:)
-   amp = amp + 15.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l2, l5, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 15.0_ki * tmp * a56(l2, l2, l5, l5, l5, l5, b_set)
+   end if
    mom6 = momenta((/l2,l3,l3,l3,l3,l3/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l3, l3, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a56(l2, l3, l3, l3, l3, l3, b_set)
+   end if
    mom6 = momenta((/l2,l3,l3,l3,l3,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l3, l3, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a56(l2, l3, l3, l3, l3, l4, b_set)
+   end if
    mom6 = momenta((/l2,l3,l3,l3,l3,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l3, l3, l3, l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a56(l2, l3, l3, l3, l3, l5, b_set)
+   end if
    mom6 = momenta((/l2,l3,l3,l3,l4,l4/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l3, l3, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l2, l3, l3, l3, l4, l4, b_set)
+   end if
    mom6 = momenta((/l2,l3,l3,l3,l4,l5/),:)
-   amp = amp + 120.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l3, l3, l3, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 120.0_ki * tmp * a56(l2, l3, l3, l3, l4, l5, b_set)
+   end if
    mom6 = momenta((/l2,l3,l3,l3,l5,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l3, l3, l3, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l2, l3, l3, l3, l5, l5, b_set)
+   end if
    mom6 = momenta((/l2,l3,l3,l4,l4,l4/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l3, l3, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l2, l3, l3, l4, l4, l4, b_set)
+   end if
    mom6 = momenta((/l2,l3,l3,l4,l4,l5/),:)
-   amp = amp + 180.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l3, l3, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 180.0_ki * tmp * a56(l2, l3, l3, l4, l4, l5, b_set)
+   end if
    mom6 = momenta((/l2,l3,l3,l4,l5,l5/),:)
-   amp = amp + 180.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l3, l3, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 180.0_ki * tmp * a56(l2, l3, l3, l4, l5, l5, b_set)
+   end if
    mom6 = momenta((/l2,l3,l3,l5,l5,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l3, l3, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l2, l3, l3, l5, l5, l5, b_set)
+   end if
    mom6 = momenta((/l2,l3,l4,l4,l4,l4/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l3, l4, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a56(l2, l3, l4, l4, l4, l4, b_set)
+   end if
    mom6 = momenta((/l2,l3,l4,l4,l4,l5/),:)
-   amp = amp + 120.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l3, l4, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 120.0_ki * tmp * a56(l2, l3, l4, l4, l4, l5, b_set)
+   end if
    mom6 = momenta((/l2,l3,l4,l4,l5,l5/),:)
-   amp = amp + 180.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l3, l4, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 180.0_ki * tmp * a56(l2, l3, l4, l4, l5, l5, b_set)
+   end if
    mom6 = momenta((/l2,l3,l4,l5,l5,l5/),:)
-   amp = amp + 120.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l3, l4, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 120.0_ki * tmp * a56(l2, l3, l4, l5, l5, l5, b_set)
+   end if
    mom6 = momenta((/l2,l3,l5,l5,l5,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l3, l5, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a56(l2, l3, l5, l5, l5, l5, b_set)
+   end if
    mom6 = momenta((/l2,l4,l4,l4,l4,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l4, l4, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a56(l2, l4, l4, l4, l4, l4, b_set)
+   end if
    mom6 = momenta((/l2,l4,l4,l4,l4,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l4, l4, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a56(l2, l4, l4, l4, l4, l5, b_set)
+   end if
    mom6 = momenta((/l2,l4,l4,l4,l5,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l4, l4, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l2, l4, l4, l4, l5, l5, b_set)
+   end if
    mom6 = momenta((/l2,l4,l4,l5,l5,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l4, l4, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l2, l4, l4, l5, l5, l5, b_set)
+   end if
    mom6 = momenta((/l2,l4,l5,l5,l5,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l4, l5, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a56(l2, l4, l5, l5, l5, l5, b_set)
+   end if
    mom6 = momenta((/l2,l5,l5,l5,l5,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l2, l5, l5, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a56(l2, l5, l5, l5, l5, l5, b_set)
+   end if
    mom6 = momenta((/l3,l3,l3,l3,l3,l3/),:)
-   amp = amp + contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l3, l3, l3, l3, l3, l3, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a56(l3, l3, l3, l3, l3, l3, b_set)
+   end if
    mom6 = momenta((/l3,l3,l3,l3,l3,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l3, l3, l3, l3, l3, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a56(l3, l3, l3, l3, l3, l4, b_set)
+   end if
    mom6 = momenta((/l3,l3,l3,l3,l3,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l3, l3, l3, l3, l3, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a56(l3, l3, l3, l3, l3, l5, b_set)
+   end if
    mom6 = momenta((/l3,l3,l3,l3,l4,l4/),:)
-   amp = amp + 15.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l3, l3, l3, l3, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 15.0_ki * tmp * a56(l3, l3, l3, l3, l4, l4, b_set)
+   end if
    mom6 = momenta((/l3,l3,l3,l3,l4,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l3, l3, l3, l3, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a56(l3, l3, l3, l3, l4, l5, b_set)
+   end if
    mom6 = momenta((/l3,l3,l3,l3,l5,l5/),:)
-   amp = amp + 15.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l3, l3, l3, l3, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 15.0_ki * tmp * a56(l3, l3, l3, l3, l5, l5, b_set)
+   end if
    mom6 = momenta((/l3,l3,l3,l4,l4,l4/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l3, l3, l3, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a56(l3, l3, l3, l4, l4, l4, b_set)
+   end if
    mom6 = momenta((/l3,l3,l3,l4,l4,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l3, l3, l3, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l3, l3, l3, l4, l4, l5, b_set)
+   end if
    mom6 = momenta((/l3,l3,l3,l4,l5,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l3, l3, l3, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l3, l3, l3, l4, l5, l5, b_set)
+   end if
    mom6 = momenta((/l3,l3,l3,l5,l5,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l3, l3, l3, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a56(l3, l3, l3, l5, l5, l5, b_set)
+   end if
    mom6 = momenta((/l3,l3,l4,l4,l4,l4/),:)
-   amp = amp + 15.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l3, l3, l4, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 15.0_ki * tmp * a56(l3, l3, l4, l4, l4, l4, b_set)
+   end if
    mom6 = momenta((/l3,l3,l4,l4,l4,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l3, l3, l4, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l3, l3, l4, l4, l4, l5, b_set)
+   end if
    mom6 = momenta((/l3,l3,l4,l4,l5,l5/),:)
-   amp = amp + 90.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l3, l3, l4, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 90.0_ki * tmp * a56(l3, l3, l4, l4, l5, l5, b_set)
+   end if
    mom6 = momenta((/l3,l3,l4,l5,l5,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l3, l3, l4, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l3, l3, l4, l5, l5, l5, b_set)
+   end if
    mom6 = momenta((/l3,l3,l5,l5,l5,l5/),:)
-   amp = amp + 15.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l3, l3, l5, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 15.0_ki * tmp * a56(l3, l3, l5, l5, l5, l5, b_set)
+   end if
    mom6 = momenta((/l3,l4,l4,l4,l4,l4/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l3, l4, l4, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a56(l3, l4, l4, l4, l4, l4, b_set)
+   end if
    mom6 = momenta((/l3,l4,l4,l4,l4,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l3, l4, l4, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a56(l3, l4, l4, l4, l4, l5, b_set)
+   end if
    mom6 = momenta((/l3,l4,l4,l4,l5,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l3, l4, l4, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l3, l4, l4, l4, l5, l5, b_set)
+   end if
    mom6 = momenta((/l3,l4,l4,l5,l5,l5/),:)
-   amp = amp + 60.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l3, l4, l4, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 60.0_ki * tmp * a56(l3, l4, l4, l5, l5, l5, b_set)
+   end if
    mom6 = momenta((/l3,l4,l5,l5,l5,l5/),:)
-   amp = amp + 30.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l3, l4, l5, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 30.0_ki * tmp * a56(l3, l4, l5, l5, l5, l5, b_set)
+   end if
    mom6 = momenta((/l3,l5,l5,l5,l5,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l3, l5, l5, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a56(l3, l5, l5, l5, l5, l5, b_set)
+   end if
    mom6 = momenta((/l4,l4,l4,l4,l4,l4/),:)
-   amp = amp + contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l4, l4, l4, l4, l4, l4, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a56(l4, l4, l4, l4, l4, l4, b_set)
+   end if
    mom6 = momenta((/l4,l4,l4,l4,l4,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l4, l4, l4, l4, l4, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a56(l4, l4, l4, l4, l4, l5, b_set)
+   end if
    mom6 = momenta((/l4,l4,l4,l4,l5,l5/),:)
-   amp = amp + 15.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l4, l4, l4, l4, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 15.0_ki * tmp * a56(l4, l4, l4, l4, l5, l5, b_set)
+   end if
    mom6 = momenta((/l4,l4,l4,l5,l5,l5/),:)
-   amp = amp + 20.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l4, l4, l4, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 20.0_ki * tmp * a56(l4, l4, l4, l5, l5, l5, b_set)
+   end if
    mom6 = momenta((/l4,l4,l5,l5,l5,l5/),:)
-   amp = amp + 15.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l4, l4, l5, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 15.0_ki * tmp * a56(l4, l4, l5, l5, l5, l5, b_set)
+   end if
    mom6 = momenta((/l4,l5,l5,l5,l5,l5/),:)
-   amp = amp + 6.0_ki * contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l4, l5, l5, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * a56(l4, l5, l5, l5, l5, l5, b_set)
+   end if
    mom6 = momenta((/l5,l5,l5,l5,l5,l5/),:)
-   amp = amp + contract_a_tensor_6(coeffs, mom6) &
-   &  * a56(l5, l5, l5, l5, l5, l5, b_set)
+   tmp = contract_a_tensor_6(coeffs, mom6)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * a56(l5, l5, l5, l5, l5, l5, b_set)
+   end if
    mom4 = momenta((/l1,l1,l1,l1/),:)
-   amp = amp + contract_b_tensor_6(coeffs, mom4) * b56(l1, l1, l1, l1, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b56(l1, l1, l1, l1, b_set)
+   end if
    mom4 = momenta((/l1,l1,l1,l2/),:)
-   amp = amp + 4.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l1, l1, l1, l2, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * b56(l1, l1, l1, l2, b_set)
+   end if
    mom4 = momenta((/l1,l1,l1,l3/),:)
-   amp = amp + 4.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l1, l1, l1, l3, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * b56(l1, l1, l1, l3, b_set)
+   end if
    mom4 = momenta((/l1,l1,l1,l4/),:)
-   amp = amp + 4.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l1, l1, l1, l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * b56(l1, l1, l1, l4, b_set)
+   end if
    mom4 = momenta((/l1,l1,l1,l5/),:)
-   amp = amp + 4.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l1, l1, l1, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * b56(l1, l1, l1, l5, b_set)
+   end if
    mom4 = momenta((/l1,l1,l2,l2/),:)
-   amp = amp + 6.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l1, l1, l2, l2, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * b56(l1, l1, l2, l2, b_set)
+   end if
    mom4 = momenta((/l1,l1,l2,l3/),:)
-   amp = amp + 12.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l1, l1, l2, l3, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * b56(l1, l1, l2, l3, b_set)
+   end if
    mom4 = momenta((/l1,l1,l2,l4/),:)
-   amp = amp + 12.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l1, l1, l2, l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * b56(l1, l1, l2, l4, b_set)
+   end if
    mom4 = momenta((/l1,l1,l2,l5/),:)
-   amp = amp + 12.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l1, l1, l2, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * b56(l1, l1, l2, l5, b_set)
+   end if
    mom4 = momenta((/l1,l1,l3,l3/),:)
-   amp = amp + 6.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l1, l1, l3, l3, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * b56(l1, l1, l3, l3, b_set)
+   end if
    mom4 = momenta((/l1,l1,l3,l4/),:)
-   amp = amp + 12.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l1, l1, l3, l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * b56(l1, l1, l3, l4, b_set)
+   end if
    mom4 = momenta((/l1,l1,l3,l5/),:)
-   amp = amp + 12.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l1, l1, l3, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * b56(l1, l1, l3, l5, b_set)
+   end if
    mom4 = momenta((/l1,l1,l4,l4/),:)
-   amp = amp + 6.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l1, l1, l4, l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * b56(l1, l1, l4, l4, b_set)
+   end if
    mom4 = momenta((/l1,l1,l4,l5/),:)
-   amp = amp + 12.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l1, l1, l4, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * b56(l1, l1, l4, l5, b_set)
+   end if
    mom4 = momenta((/l1,l1,l5,l5/),:)
-   amp = amp + 6.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l1, l1, l5, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * b56(l1, l1, l5, l5, b_set)
+   end if
    mom4 = momenta((/l1,l2,l2,l2/),:)
-   amp = amp + 4.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l1, l2, l2, l2, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * b56(l1, l2, l2, l2, b_set)
+   end if
    mom4 = momenta((/l1,l2,l2,l3/),:)
-   amp = amp + 12.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l1, l2, l2, l3, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * b56(l1, l2, l2, l3, b_set)
+   end if
    mom4 = momenta((/l1,l2,l2,l4/),:)
-   amp = amp + 12.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l1, l2, l2, l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * b56(l1, l2, l2, l4, b_set)
+   end if
    mom4 = momenta((/l1,l2,l2,l5/),:)
-   amp = amp + 12.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l1, l2, l2, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * b56(l1, l2, l2, l5, b_set)
+   end if
    mom4 = momenta((/l1,l2,l3,l3/),:)
-   amp = amp + 12.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l1, l2, l3, l3, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * b56(l1, l2, l3, l3, b_set)
+   end if
    mom4 = momenta((/l1,l2,l3,l4/),:)
-   amp = amp + 24.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l1, l2, l3, l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 24.0_ki * tmp * b56(l1, l2, l3, l4, b_set)
+   end if
    mom4 = momenta((/l1,l2,l3,l5/),:)
-   amp = amp + 24.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l1, l2, l3, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 24.0_ki * tmp * b56(l1, l2, l3, l5, b_set)
+   end if
    mom4 = momenta((/l1,l2,l4,l4/),:)
-   amp = amp + 12.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l1, l2, l4, l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * b56(l1, l2, l4, l4, b_set)
+   end if
    mom4 = momenta((/l1,l2,l4,l5/),:)
-   amp = amp + 24.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l1, l2, l4, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 24.0_ki * tmp * b56(l1, l2, l4, l5, b_set)
+   end if
    mom4 = momenta((/l1,l2,l5,l5/),:)
-   amp = amp + 12.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l1, l2, l5, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * b56(l1, l2, l5, l5, b_set)
+   end if
    mom4 = momenta((/l1,l3,l3,l3/),:)
-   amp = amp + 4.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l1, l3, l3, l3, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * b56(l1, l3, l3, l3, b_set)
+   end if
    mom4 = momenta((/l1,l3,l3,l4/),:)
-   amp = amp + 12.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l1, l3, l3, l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * b56(l1, l3, l3, l4, b_set)
+   end if
    mom4 = momenta((/l1,l3,l3,l5/),:)
-   amp = amp + 12.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l1, l3, l3, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * b56(l1, l3, l3, l5, b_set)
+   end if
    mom4 = momenta((/l1,l3,l4,l4/),:)
-   amp = amp + 12.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l1, l3, l4, l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * b56(l1, l3, l4, l4, b_set)
+   end if
    mom4 = momenta((/l1,l3,l4,l5/),:)
-   amp = amp + 24.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l1, l3, l4, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 24.0_ki * tmp * b56(l1, l3, l4, l5, b_set)
+   end if
    mom4 = momenta((/l1,l3,l5,l5/),:)
-   amp = amp + 12.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l1, l3, l5, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * b56(l1, l3, l5, l5, b_set)
+   end if
    mom4 = momenta((/l1,l4,l4,l4/),:)
-   amp = amp + 4.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l1, l4, l4, l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * b56(l1, l4, l4, l4, b_set)
+   end if
    mom4 = momenta((/l1,l4,l4,l5/),:)
-   amp = amp + 12.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l1, l4, l4, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * b56(l1, l4, l4, l5, b_set)
+   end if
    mom4 = momenta((/l1,l4,l5,l5/),:)
-   amp = amp + 12.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l1, l4, l5, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * b56(l1, l4, l5, l5, b_set)
+   end if
    mom4 = momenta((/l1,l5,l5,l5/),:)
-   amp = amp + 4.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l1, l5, l5, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * b56(l1, l5, l5, l5, b_set)
+   end if
    mom4 = momenta((/l2,l2,l2,l2/),:)
-   amp = amp + contract_b_tensor_6(coeffs, mom4) * b56(l2, l2, l2, l2, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b56(l2, l2, l2, l2, b_set)
+   end if
    mom4 = momenta((/l2,l2,l2,l3/),:)
-   amp = amp + 4.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l2, l2, l2, l3, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * b56(l2, l2, l2, l3, b_set)
+   end if
    mom4 = momenta((/l2,l2,l2,l4/),:)
-   amp = amp + 4.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l2, l2, l2, l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * b56(l2, l2, l2, l4, b_set)
+   end if
    mom4 = momenta((/l2,l2,l2,l5/),:)
-   amp = amp + 4.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l2, l2, l2, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * b56(l2, l2, l2, l5, b_set)
+   end if
    mom4 = momenta((/l2,l2,l3,l3/),:)
-   amp = amp + 6.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l2, l2, l3, l3, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * b56(l2, l2, l3, l3, b_set)
+   end if
    mom4 = momenta((/l2,l2,l3,l4/),:)
-   amp = amp + 12.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l2, l2, l3, l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * b56(l2, l2, l3, l4, b_set)
+   end if
    mom4 = momenta((/l2,l2,l3,l5/),:)
-   amp = amp + 12.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l2, l2, l3, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * b56(l2, l2, l3, l5, b_set)
+   end if
    mom4 = momenta((/l2,l2,l4,l4/),:)
-   amp = amp + 6.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l2, l2, l4, l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * b56(l2, l2, l4, l4, b_set)
+   end if
    mom4 = momenta((/l2,l2,l4,l5/),:)
-   amp = amp + 12.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l2, l2, l4, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * b56(l2, l2, l4, l5, b_set)
+   end if
    mom4 = momenta((/l2,l2,l5,l5/),:)
-   amp = amp + 6.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l2, l2, l5, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * b56(l2, l2, l5, l5, b_set)
+   end if
    mom4 = momenta((/l2,l3,l3,l3/),:)
-   amp = amp + 4.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l2, l3, l3, l3, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * b56(l2, l3, l3, l3, b_set)
+   end if
    mom4 = momenta((/l2,l3,l3,l4/),:)
-   amp = amp + 12.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l2, l3, l3, l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * b56(l2, l3, l3, l4, b_set)
+   end if
    mom4 = momenta((/l2,l3,l3,l5/),:)
-   amp = amp + 12.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l2, l3, l3, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * b56(l2, l3, l3, l5, b_set)
+   end if
    mom4 = momenta((/l2,l3,l4,l4/),:)
-   amp = amp + 12.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l2, l3, l4, l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * b56(l2, l3, l4, l4, b_set)
+   end if
    mom4 = momenta((/l2,l3,l4,l5/),:)
-   amp = amp + 24.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l2, l3, l4, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 24.0_ki * tmp * b56(l2, l3, l4, l5, b_set)
+   end if
    mom4 = momenta((/l2,l3,l5,l5/),:)
-   amp = amp + 12.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l2, l3, l5, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * b56(l2, l3, l5, l5, b_set)
+   end if
    mom4 = momenta((/l2,l4,l4,l4/),:)
-   amp = amp + 4.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l2, l4, l4, l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * b56(l2, l4, l4, l4, b_set)
+   end if
    mom4 = momenta((/l2,l4,l4,l5/),:)
-   amp = amp + 12.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l2, l4, l4, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * b56(l2, l4, l4, l5, b_set)
+   end if
    mom4 = momenta((/l2,l4,l5,l5/),:)
-   amp = amp + 12.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l2, l4, l5, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * b56(l2, l4, l5, l5, b_set)
+   end if
    mom4 = momenta((/l2,l5,l5,l5/),:)
-   amp = amp + 4.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l2, l5, l5, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * b56(l2, l5, l5, l5, b_set)
+   end if
    mom4 = momenta((/l3,l3,l3,l3/),:)
-   amp = amp + contract_b_tensor_6(coeffs, mom4) * b56(l3, l3, l3, l3, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b56(l3, l3, l3, l3, b_set)
+   end if
    mom4 = momenta((/l3,l3,l3,l4/),:)
-   amp = amp + 4.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l3, l3, l3, l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * b56(l3, l3, l3, l4, b_set)
+   end if
    mom4 = momenta((/l3,l3,l3,l5/),:)
-   amp = amp + 4.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l3, l3, l3, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * b56(l3, l3, l3, l5, b_set)
+   end if
    mom4 = momenta((/l3,l3,l4,l4/),:)
-   amp = amp + 6.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l3, l3, l4, l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * b56(l3, l3, l4, l4, b_set)
+   end if
    mom4 = momenta((/l3,l3,l4,l5/),:)
-   amp = amp + 12.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l3, l3, l4, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * b56(l3, l3, l4, l5, b_set)
+   end if
    mom4 = momenta((/l3,l3,l5,l5/),:)
-   amp = amp + 6.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l3, l3, l5, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * b56(l3, l3, l5, l5, b_set)
+   end if
    mom4 = momenta((/l3,l4,l4,l4/),:)
-   amp = amp + 4.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l3, l4, l4, l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * b56(l3, l4, l4, l4, b_set)
+   end if
    mom4 = momenta((/l3,l4,l4,l5/),:)
-   amp = amp + 12.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l3, l4, l4, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * b56(l3, l4, l4, l5, b_set)
+   end if
    mom4 = momenta((/l3,l4,l5,l5/),:)
-   amp = amp + 12.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l3, l4, l5, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 12.0_ki * tmp * b56(l3, l4, l5, l5, b_set)
+   end if
    mom4 = momenta((/l3,l5,l5,l5/),:)
-   amp = amp + 4.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l3, l5, l5, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * b56(l3, l5, l5, l5, b_set)
+   end if
    mom4 = momenta((/l4,l4,l4,l4/),:)
-   amp = amp + contract_b_tensor_6(coeffs, mom4) * b56(l4, l4, l4, l4, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b56(l4, l4, l4, l4, b_set)
+   end if
    mom4 = momenta((/l4,l4,l4,l5/),:)
-   amp = amp + 4.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l4, l4, l4, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * b56(l4, l4, l4, l5, b_set)
+   end if
    mom4 = momenta((/l4,l4,l5,l5/),:)
-   amp = amp + 6.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l4, l4, l5, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 6.0_ki * tmp * b56(l4, l4, l5, l5, b_set)
+   end if
    mom4 = momenta((/l4,l5,l5,l5/),:)
-   amp = amp + 4.0_ki * contract_b_tensor_6(coeffs, mom4) &
-   &  * b56(l4, l5, l5, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 4.0_ki * tmp * b56(l4, l5, l5, l5, b_set)
+   end if
    mom4 = momenta((/l5,l5,l5,l5/),:)
-   amp = amp + contract_b_tensor_6(coeffs, mom4) * b56(l5, l5, l5, l5, b_set)
+   tmp = contract_b_tensor_6(coeffs, mom4)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * b56(l5, l5, l5, l5, b_set)
+   end if
    mom2 = momenta((/l1,l1/),:)
-   amp = amp + contract_c_tensor_6(coeffs, mom2) * c56(l1, l1, b_set)
+   tmp = contract_c_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * c56(l1, l1, b_set)
+   end if
    mom2 = momenta((/l1,l2/),:)
-   amp = amp + 2.0_ki * contract_c_tensor_6(coeffs, mom2) * c56(l1, l2, b_set)
+   tmp = contract_c_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * c56(l1, l2, b_set)
+   end if
    mom2 = momenta((/l1,l3/),:)
-   amp = amp + 2.0_ki * contract_c_tensor_6(coeffs, mom2) * c56(l1, l3, b_set)
+   tmp = contract_c_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * c56(l1, l3, b_set)
+   end if
    mom2 = momenta((/l1,l4/),:)
-   amp = amp + 2.0_ki * contract_c_tensor_6(coeffs, mom2) * c56(l1, l4, b_set)
+   tmp = contract_c_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * c56(l1, l4, b_set)
+   end if
    mom2 = momenta((/l1,l5/),:)
-   amp = amp + 2.0_ki * contract_c_tensor_6(coeffs, mom2) * c56(l1, l5, b_set)
+   tmp = contract_c_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * c56(l1, l5, b_set)
+   end if
    mom2 = momenta((/l2,l2/),:)
-   amp = amp + contract_c_tensor_6(coeffs, mom2) * c56(l2, l2, b_set)
+   tmp = contract_c_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * c56(l2, l2, b_set)
+   end if
    mom2 = momenta((/l2,l3/),:)
-   amp = amp + 2.0_ki * contract_c_tensor_6(coeffs, mom2) * c56(l2, l3, b_set)
+   tmp = contract_c_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * c56(l2, l3, b_set)
+   end if
    mom2 = momenta((/l2,l4/),:)
-   amp = amp + 2.0_ki * contract_c_tensor_6(coeffs, mom2) * c56(l2, l4, b_set)
+   tmp = contract_c_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * c56(l2, l4, b_set)
+   end if
    mom2 = momenta((/l2,l5/),:)
-   amp = amp + 2.0_ki * contract_c_tensor_6(coeffs, mom2) * c56(l2, l5, b_set)
+   tmp = contract_c_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * c56(l2, l5, b_set)
+   end if
    mom2 = momenta((/l3,l3/),:)
-   amp = amp + contract_c_tensor_6(coeffs, mom2) * c56(l3, l3, b_set)
+   tmp = contract_c_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * c56(l3, l3, b_set)
+   end if
    mom2 = momenta((/l3,l4/),:)
-   amp = amp + 2.0_ki * contract_c_tensor_6(coeffs, mom2) * c56(l3, l4, b_set)
+   tmp = contract_c_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * c56(l3, l4, b_set)
+   end if
    mom2 = momenta((/l3,l5/),:)
-   amp = amp + 2.0_ki * contract_c_tensor_6(coeffs, mom2) * c56(l3, l5, b_set)
+   tmp = contract_c_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * c56(l3, l5, b_set)
+   end if
    mom2 = momenta((/l4,l4/),:)
-   amp = amp + contract_c_tensor_6(coeffs, mom2) * c56(l4, l4, b_set)
+   tmp = contract_c_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * c56(l4, l4, b_set)
+   end if
    mom2 = momenta((/l4,l5/),:)
-   amp = amp + 2.0_ki * contract_c_tensor_6(coeffs, mom2) * c56(l4, l5, b_set)
+   tmp = contract_c_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + 2.0_ki * tmp * c56(l4, l5, b_set)
+   end if
    mom2 = momenta((/l5,l5/),:)
-   amp = amp + contract_c_tensor_6(coeffs, mom2) * c56(l5, l5, b_set)
-   amp = amp + contract_d_tensor_6(coeffs) * d56(b_set)
+   tmp = contract_c_tensor_6(coeffs, mom2)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * c56(l5, l5, b_set)
+   end if
+   tmp = contract_d_tensor_6(coeffs)
+   if (test_if_nonzero(tmp)) then
+    amp = amp + tmp * d56(b_set)
+   end if
 end function contract5_6
 !****f* src/interface/tens_comb/contract5_6s1
 ! NAME
 !
 ! Function contract5_6s1
 !
 ! USAGE
 !
 !  amp = contract5_6s1(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 5-point rank 6 tensor integral
 !  with (mu^2)^1 in the numerator with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_4)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract5_6s1(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_4), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    amp%c = 1./64._ki * ( coeffs%c1(1,4) + coeffs%c1(2,4) + &
              & coeffs%c1(3,4) + coeffs%c1(4,4) - coeffs%c2(1,5) - coeffs%c2(2,5) - coeffs%c2(3,5) &
              &  + coeffs%c2(4,5) + coeffs%c2(5,5) + coeffs%c2(6,5) )
    amp%b = 0.0_ki
    amp%a = 0.0_ki
 end function contract5_6s1
 !****f* src/interface/tens_comb/contract5_6s2
 ! NAME
 !
 ! Function contract5_6s2
 !
 ! USAGE
 !
 !  amp = contract5_6s2(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 5-point rank 6 tensor integral
 !  with (mu^2)^2 in the numerator with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_4)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract5_6s2(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_4), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    amp%c = - 1./48._ki * ( coeffs%c1(1,2) - coeffs%c1(2,2) - &
                          & coeffs%c1(3,2) - coeffs%c1(4,2) )
    amp%b = 0.0_ki
    amp%a = 0.0_ki
 end function contract5_6s2
 !****f* src/interface/tens_comb/contract5_6s3
 ! NAME
 !
 ! Function contract5_6s3
 !
 ! USAGE
 !
 !  amp = contract5_6s3(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 5-point rank 6 tensor integral
 !  with (mu^2)^3 in the numerator with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_4)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract5_6s3(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_4), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_simple
    amp%c =  coeffs%c0 * 1._ki/12._ki
    amp%b = 0.0_ki
    amp%a = 0.0_ki
 end function contract5_6s3
 !****f* src/interface/tens_comb/contract6_1
 ! NAME
 !
 ! Function contract6_1
 !
 ! USAGE
 !
 !  amp = contract6_1(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 6-point rank 1 tensor integral
 !  with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_1)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract6_1(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_1), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_split
    complex(ki), dimension(0:3) :: C
    complex(ki) :: cprime
    integer :: i, pnch, new_set
    integer, dimension(1) :: pnch_set
    integer, dimension(6) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 6)
    amp = coeffs%c0 * a60(b_set)
    do pnch=1,6
       ! Eq. (54) in hep-ph/0504267
       C(:) = 0.0_ki
       do i=1,6
          C(:) = C(:) + inv_s(unpinched(pnch),unpinched(i),b_set) * &
               & momenta(unpinched(i),:)
       end do
       ! Eq. (63) in hep-ph/0504267
       pnch_set(1) = pnch
       new_set = punion(packb(pnch_set),b_set)
       ! [] <-- [0]
       cprime = C(0) * coeffs%c1(1, 1)
       ! [] <-- [1]
       cprime = cprime + C(1) * coeffs%c1(2, 1)
       ! [] <-- [2]
       cprime = cprime + C(2) * coeffs%c1(3, 1)
       ! [] <-- [3]
       cprime = cprime + C(3) * coeffs%c1(4, 1)
       amp = amp - cprime * a50(new_set)
    end do
 end function contract6_1
 !****f* src/interface/tens_comb/contract6_2
 ! NAME
 !
 ! Function contract6_2
 !
 ! USAGE
 !
 !  amp = contract6_2(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 6-point rank 2 tensor integral
 !  with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_2)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract6_2(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_2), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_split
    complex(ki), dimension(0:3) :: C
    type(coeff_type_1) :: cprime
    integer :: i, pnch, new_set
    integer, dimension(1) :: pnch_set
    integer, dimension(6) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 6)
    amp = coeffs%c0 * a60(b_set)
    do pnch=1,6
       ! Eq. (54) in hep-ph/0504267
       C(:) = 0.0_ki
       do i=1,6
          C(:) = C(:) + inv_s(unpinched(pnch),unpinched(i),b_set) * &
               & momenta(unpinched(i),:)
       end do
       ! Eq. (63) in hep-ph/0504267
       pnch_set(1) = pnch
       new_set = punion(packb(pnch_set),b_set)
       ! [] <-- [0]
       cprime%c0 = C(0) * coeffs%c1(1, 1)
       ! [] <-- [1]
       cprime%c0 = cprime%c0 + C(1) * coeffs%c1(2, 1)
       ! [] <-- [2]
       cprime%c0 = cprime%c0 + C(2) * coeffs%c1(3, 1)
       ! [] <-- [3]
       cprime%c0 = cprime%c0 + C(3) * coeffs%c1(4, 1)
       ! [0] <-- [0, 0]
       cprime%c1(1,1) = C(0) * coeffs%c1(1, 2)
       ! [1] <-- [1, 1]
       cprime%c1(2,1) = C(1) * coeffs%c1(2, 2)
       ! [2] <-- [2, 2]
       cprime%c1(3,1) = C(2) * coeffs%c1(3, 2)
       ! [3] <-- [3, 3]
       cprime%c1(4,1) = C(3) * coeffs%c1(4, 2)
       ! [1] <-- [0, 1]
       cprime%c1(2,1) = cprime%c1(2,1) + 0.5_ki * C(0) * coeffs%c2(1, 1)
       ! [0] <-- [0, 1]
       cprime%c1(1,1) = cprime%c1(1,1) + 0.5_ki * C(1) * coeffs%c2(1, 1)
       ! [2] <-- [0, 2]
       cprime%c1(3,1) = cprime%c1(3,1) + 0.5_ki * C(0) * coeffs%c2(2, 1)
       ! [0] <-- [0, 2]
       cprime%c1(1,1) = cprime%c1(1,1) + 0.5_ki * C(2) * coeffs%c2(2, 1)
       ! [3] <-- [0, 3]
       cprime%c1(4,1) = cprime%c1(4,1) + 0.5_ki * C(0) * coeffs%c2(3, 1)
       ! [0] <-- [0, 3]
       cprime%c1(1,1) = cprime%c1(1,1) + 0.5_ki * C(3) * coeffs%c2(3, 1)
       ! [2] <-- [1, 2]
       cprime%c1(3,1) = cprime%c1(3,1) + 0.5_ki * C(1) * coeffs%c2(4, 1)
       ! [1] <-- [1, 2]
       cprime%c1(2,1) = cprime%c1(2,1) + 0.5_ki * C(2) * coeffs%c2(4, 1)
       ! [3] <-- [1, 3]
       cprime%c1(4,1) = cprime%c1(4,1) + 0.5_ki * C(1) * coeffs%c2(5, 1)
       ! [1] <-- [1, 3]
       cprime%c1(2,1) = cprime%c1(2,1) + 0.5_ki * C(3) * coeffs%c2(5, 1)
       ! [3] <-- [2, 3]
       cprime%c1(4,1) = cprime%c1(4,1) + 0.5_ki * C(2) * coeffs%c2(6, 1)
       ! [2] <-- [2, 3]
       cprime%c1(3,1) = cprime%c1(3,1) + 0.5_ki * C(3) * coeffs%c2(6, 1)
       amp = amp - contract5_1(cprime, momenta, new_set)
    end do
 end function contract6_2
 !****f* src/interface/tens_comb/contract6_3
 ! NAME
 !
 ! Function contract6_3
 !
 ! USAGE
 !
 !  amp = contract6_3(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 6-point rank 3 tensor integral
 !  with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_3)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract6_3(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_3), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_split
    complex(ki), dimension(0:3) :: C
    type(coeff_type_2) :: cprime
    integer :: i, pnch, new_set
    integer, dimension(1) :: pnch_set
    integer, dimension(6) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 6)
    amp = coeffs%c0 * a60(b_set)
    do pnch=1,6
       ! Eq. (54) in hep-ph/0504267
       C(:) = 0.0_ki
       do i=1,6
          C(:) = C(:) + inv_s(unpinched(pnch),unpinched(i),b_set) * &
               & momenta(unpinched(i),:)
       end do
       ! Eq. (63) in hep-ph/0504267
       pnch_set(1) = pnch
       new_set = punion(packb(pnch_set),b_set)
       ! [] <-- [0]
       cprime%c0 = C(0) * coeffs%c1(1, 1)
       ! [] <-- [1]
       cprime%c0 = cprime%c0 + C(1) * coeffs%c1(2, 1)
       ! [] <-- [2]
       cprime%c0 = cprime%c0 + C(2) * coeffs%c1(3, 1)
       ! [] <-- [3]
       cprime%c0 = cprime%c0 + C(3) * coeffs%c1(4, 1)
       ! [0] <-- [0, 0]
       cprime%c1(1,1) = C(0) * coeffs%c1(1, 2)
       ! [1] <-- [1, 1]
       cprime%c1(2,1) = C(1) * coeffs%c1(2, 2)
       ! [2] <-- [2, 2]
       cprime%c1(3,1) = C(2) * coeffs%c1(3, 2)
       ! [3] <-- [3, 3]
       cprime%c1(4,1) = C(3) * coeffs%c1(4, 2)
       ! [1] <-- [0, 1]
       cprime%c1(2,1) = cprime%c1(2,1) + 0.5_ki * C(0) * coeffs%c2(1, 1)
       ! [0] <-- [0, 1]
       cprime%c1(1,1) = cprime%c1(1,1) + 0.5_ki * C(1) * coeffs%c2(1, 1)
       ! [2] <-- [0, 2]
       cprime%c1(3,1) = cprime%c1(3,1) + 0.5_ki * C(0) * coeffs%c2(2, 1)
       ! [0] <-- [0, 2]
       cprime%c1(1,1) = cprime%c1(1,1) + 0.5_ki * C(2) * coeffs%c2(2, 1)
       ! [3] <-- [0, 3]
       cprime%c1(4,1) = cprime%c1(4,1) + 0.5_ki * C(0) * coeffs%c2(3, 1)
       ! [0] <-- [0, 3]
       cprime%c1(1,1) = cprime%c1(1,1) + 0.5_ki * C(3) * coeffs%c2(3, 1)
       ! [2] <-- [1, 2]
       cprime%c1(3,1) = cprime%c1(3,1) + 0.5_ki * C(1) * coeffs%c2(4, 1)
       ! [1] <-- [1, 2]
       cprime%c1(2,1) = cprime%c1(2,1) + 0.5_ki * C(2) * coeffs%c2(4, 1)
       ! [3] <-- [1, 3]
       cprime%c1(4,1) = cprime%c1(4,1) + 0.5_ki * C(1) * coeffs%c2(5, 1)
       ! [1] <-- [1, 3]
       cprime%c1(2,1) = cprime%c1(2,1) + 0.5_ki * C(3) * coeffs%c2(5, 1)
       ! [3] <-- [2, 3]
       cprime%c1(4,1) = cprime%c1(4,1) + 0.5_ki * C(2) * coeffs%c2(6, 1)
       ! [2] <-- [2, 3]
       cprime%c1(3,1) = cprime%c1(3,1) + 0.5_ki * C(3) * coeffs%c2(6, 1)
       ! [1, 1] <-- [0, 1, 1]
       cprime%c1(2,2) = 1.0_ki/3.0_ki * C(0) * coeffs%c2(1, 2)
       ! [0, 1] <-- [0, 1, 1]
       cprime%c2(1,1) = 2.0_ki/3.0_ki * C(1) * coeffs%c2(1, 2)
       ! [2, 2] <-- [0, 2, 2]
       cprime%c1(3,2) = 1.0_ki/3.0_ki * C(0) * coeffs%c2(2, 2)
       ! [0, 2] <-- [0, 2, 2]
       cprime%c2(2,1) = 2.0_ki/3.0_ki * C(2) * coeffs%c2(2, 2)
       ! [3, 3] <-- [0, 3, 3]
       cprime%c1(4,2) = 1.0_ki/3.0_ki * C(0) * coeffs%c2(3, 2)
       ! [0, 3] <-- [0, 3, 3]
       cprime%c2(3,1) = 2.0_ki/3.0_ki * C(3) * coeffs%c2(3, 2)
       ! [2, 2] <-- [1, 2, 2]
       cprime%c1(3,2) = cprime%c1(3,2) + 1.0_ki/3.0_ki * C(1) * coeffs%c2(4, 2)
       ! [1, 2] <-- [1, 2, 2]
       cprime%c2(4,1) = 2.0_ki/3.0_ki * C(2) * coeffs%c2(4, 2)
       ! [3, 3] <-- [1, 3, 3]
       cprime%c1(4,2) = cprime%c1(4,2) + 1.0_ki/3.0_ki * C(1) * coeffs%c2(5, 2)
       ! [1, 3] <-- [1, 3, 3]
       cprime%c2(5,1) = 2.0_ki/3.0_ki * C(3) * coeffs%c2(5, 2)
       ! [3, 3] <-- [2, 3, 3]
       cprime%c1(4,2) = cprime%c1(4,2) + 1.0_ki/3.0_ki * C(2) * coeffs%c2(6, 2)
       ! [2, 3] <-- [2, 3, 3]
       cprime%c2(6,1) = 2.0_ki/3.0_ki * C(3) * coeffs%c2(6, 2)
       ! [1, 2] <-- [0, 1, 2]
       cprime%c2(4,1) = cprime%c2(4,1) + 1.0_ki/3.0_ki * C(0) * coeffs%c3(1, 1)
       ! [0, 2] <-- [0, 1, 2]
       cprime%c2(2,1) = cprime%c2(2,1) + 1.0_ki/3.0_ki * C(1) * coeffs%c3(1, 1)
       ! [0, 1] <-- [0, 1, 2]
       cprime%c2(1,1) = cprime%c2(1,1) + 1.0_ki/3.0_ki * C(2) * coeffs%c3(1, 1)
       ! [1, 3] <-- [0, 1, 3]
       cprime%c2(5,1) = cprime%c2(5,1) + 1.0_ki/3.0_ki * C(0) * coeffs%c3(2, 1)
       ! [0, 3] <-- [0, 1, 3]
       cprime%c2(3,1) = cprime%c2(3,1) + 1.0_ki/3.0_ki * C(1) * coeffs%c3(2, 1)
       ! [0, 1] <-- [0, 1, 3]
       cprime%c2(1,1) = cprime%c2(1,1) + 1.0_ki/3.0_ki * C(3) * coeffs%c3(2, 1)
       ! [2, 3] <-- [0, 2, 3]
       cprime%c2(6,1) = cprime%c2(6,1) + 1.0_ki/3.0_ki * C(0) * coeffs%c3(3, 1)
       ! [0, 3] <-- [0, 2, 3]
       cprime%c2(3,1) = cprime%c2(3,1) + 1.0_ki/3.0_ki * C(2) * coeffs%c3(3, 1)
       ! [0, 2] <-- [0, 2, 3]
       cprime%c2(2,1) = cprime%c2(2,1) + 1.0_ki/3.0_ki * C(3) * coeffs%c3(3, 1)
       ! [2, 3] <-- [1, 2, 3]
       cprime%c2(6,1) = cprime%c2(6,1) + 1.0_ki/3.0_ki * C(1) * coeffs%c3(4, 1)
       ! [1, 3] <-- [1, 2, 3]
       cprime%c2(5,1) = cprime%c2(5,1) + 1.0_ki/3.0_ki * C(2) * coeffs%c3(4, 1)
       ! [1, 2] <-- [1, 2, 3]
       cprime%c2(4,1) = cprime%c2(4,1) + 1.0_ki/3.0_ki * C(3) * coeffs%c3(4, 1)
       ! [0, 0] <-- [0, 0, 0]
       cprime%c1(1,2) = C(0) * coeffs%c1(1, 3)
       ! [1, 1] <-- [1, 1, 1]
       cprime%c1(2,2) = cprime%c1(2,2) + C(1) * coeffs%c1(2, 3)
       ! [2, 2] <-- [2, 2, 2]
       cprime%c1(3,2) = cprime%c1(3,2) + C(2) * coeffs%c1(3, 3)
       ! [3, 3] <-- [3, 3, 3]
       cprime%c1(4,2) = cprime%c1(4,2) + C(3) * coeffs%c1(4, 3)
       ! [0, 1] <-- [0, 0, 1]
       cprime%c2(1,1) = cprime%c2(1,1) + 2.0_ki/3.0_ki * C(0) * coeffs%c2(1, 3)
       ! [0, 0] <-- [0, 0, 1]
       cprime%c1(1,2) = cprime%c1(1,2) + 1.0_ki/3.0_ki * C(1) * coeffs%c2(1, 3)
       ! [0, 2] <-- [0, 0, 2]
       cprime%c2(2,1) = cprime%c2(2,1) + 2.0_ki/3.0_ki * C(0) * coeffs%c2(2, 3)
       ! [0, 0] <-- [0, 0, 2]
       cprime%c1(1,2) = cprime%c1(1,2) + 1.0_ki/3.0_ki * C(2) * coeffs%c2(2, 3)
       ! [0, 3] <-- [0, 0, 3]
       cprime%c2(3,1) = cprime%c2(3,1) + 2.0_ki/3.0_ki * C(0) * coeffs%c2(3, 3)
       ! [0, 0] <-- [0, 0, 3]
       cprime%c1(1,2) = cprime%c1(1,2) + 1.0_ki/3.0_ki * C(3) * coeffs%c2(3, 3)
       ! [1, 2] <-- [1, 1, 2]
       cprime%c2(4,1) = cprime%c2(4,1) + 2.0_ki/3.0_ki * C(1) * coeffs%c2(4, 3)
       ! [1, 1] <-- [1, 1, 2]
       cprime%c1(2,2) = cprime%c1(2,2) + 1.0_ki/3.0_ki * C(2) * coeffs%c2(4, 3)
       ! [1, 3] <-- [1, 1, 3]
       cprime%c2(5,1) = cprime%c2(5,1) + 2.0_ki/3.0_ki * C(1) * coeffs%c2(5, 3)
       ! [1, 1] <-- [1, 1, 3]
       cprime%c1(2,2) = cprime%c1(2,2) + 1.0_ki/3.0_ki * C(3) * coeffs%c2(5, 3)
       ! [2, 3] <-- [2, 2, 3]
       cprime%c2(6,1) = cprime%c2(6,1) + 2.0_ki/3.0_ki * C(2) * coeffs%c2(6, 3)
       ! [2, 2] <-- [2, 2, 3]
       cprime%c1(3,2) = cprime%c1(3,2) + 1.0_ki/3.0_ki * C(3) * coeffs%c2(6, 3)
       amp = amp - contract5_2(cprime, momenta, new_set)
    end do
 end function contract6_3
 !****f* src/interface/tens_comb/contract6_4
 ! NAME
 !
 ! Function contract6_4
 !
 ! USAGE
 !
 !  amp = contract6_4(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 6-point rank 4 tensor integral
 !  with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_4)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract6_4(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_4), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_split
    complex(ki), dimension(0:3) :: C
    type(coeff_type_3) :: cprime
    integer :: i, pnch, new_set
    integer, dimension(1) :: pnch_set
    integer, dimension(6) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 6)
    amp = coeffs%c0 * a60(b_set)
    do pnch=1,6
       ! Eq. (54) in hep-ph/0504267
       C(:) = 0.0_ki
       do i=1,6
          C(:) = C(:) + inv_s(unpinched(pnch),unpinched(i),b_set) * &
               & momenta(unpinched(i),:)
       end do
       ! Eq. (63) in hep-ph/0504267
       pnch_set(1) = pnch
       new_set = punion(packb(pnch_set),b_set)
       ! [] <-- [0]
       cprime%c0 = C(0) * coeffs%c1(1, 1)
       ! [] <-- [1]
       cprime%c0 = cprime%c0 + C(1) * coeffs%c1(2, 1)
       ! [] <-- [2]
       cprime%c0 = cprime%c0 + C(2) * coeffs%c1(3, 1)
       ! [] <-- [3]
       cprime%c0 = cprime%c0 + C(3) * coeffs%c1(4, 1)
       ! [0] <-- [0, 0]
       cprime%c1(1,1) = C(0) * coeffs%c1(1, 2)
       ! [1] <-- [1, 1]
       cprime%c1(2,1) = C(1) * coeffs%c1(2, 2)
       ! [2] <-- [2, 2]
       cprime%c1(3,1) = C(2) * coeffs%c1(3, 2)
       ! [3] <-- [3, 3]
       cprime%c1(4,1) = C(3) * coeffs%c1(4, 2)
       ! [1] <-- [0, 1]
       cprime%c1(2,1) = cprime%c1(2,1) + 0.5_ki * C(0) * coeffs%c2(1, 1)
       ! [0] <-- [0, 1]
       cprime%c1(1,1) = cprime%c1(1,1) + 0.5_ki * C(1) * coeffs%c2(1, 1)
       ! [2] <-- [0, 2]
       cprime%c1(3,1) = cprime%c1(3,1) + 0.5_ki * C(0) * coeffs%c2(2, 1)
       ! [0] <-- [0, 2]
       cprime%c1(1,1) = cprime%c1(1,1) + 0.5_ki * C(2) * coeffs%c2(2, 1)
       ! [3] <-- [0, 3]
       cprime%c1(4,1) = cprime%c1(4,1) + 0.5_ki * C(0) * coeffs%c2(3, 1)
       ! [0] <-- [0, 3]
       cprime%c1(1,1) = cprime%c1(1,1) + 0.5_ki * C(3) * coeffs%c2(3, 1)
       ! [2] <-- [1, 2]
       cprime%c1(3,1) = cprime%c1(3,1) + 0.5_ki * C(1) * coeffs%c2(4, 1)
       ! [1] <-- [1, 2]
       cprime%c1(2,1) = cprime%c1(2,1) + 0.5_ki * C(2) * coeffs%c2(4, 1)
       ! [3] <-- [1, 3]
       cprime%c1(4,1) = cprime%c1(4,1) + 0.5_ki * C(1) * coeffs%c2(5, 1)
       ! [1] <-- [1, 3]
       cprime%c1(2,1) = cprime%c1(2,1) + 0.5_ki * C(3) * coeffs%c2(5, 1)
       ! [3] <-- [2, 3]
       cprime%c1(4,1) = cprime%c1(4,1) + 0.5_ki * C(2) * coeffs%c2(6, 1)
       ! [2] <-- [2, 3]
       cprime%c1(3,1) = cprime%c1(3,1) + 0.5_ki * C(3) * coeffs%c2(6, 1)
       ! [1, 1] <-- [0, 1, 1]
       cprime%c1(2,2) = 1.0_ki/3.0_ki * C(0) * coeffs%c2(1, 2)
       ! [0, 1] <-- [0, 1, 1]
       cprime%c2(1,1) = 2.0_ki/3.0_ki * C(1) * coeffs%c2(1, 2)
       ! [2, 2] <-- [0, 2, 2]
       cprime%c1(3,2) = 1.0_ki/3.0_ki * C(0) * coeffs%c2(2, 2)
       ! [0, 2] <-- [0, 2, 2]
       cprime%c2(2,1) = 2.0_ki/3.0_ki * C(2) * coeffs%c2(2, 2)
       ! [3, 3] <-- [0, 3, 3]
       cprime%c1(4,2) = 1.0_ki/3.0_ki * C(0) * coeffs%c2(3, 2)
       ! [0, 3] <-- [0, 3, 3]
       cprime%c2(3,1) = 2.0_ki/3.0_ki * C(3) * coeffs%c2(3, 2)
       ! [2, 2] <-- [1, 2, 2]
       cprime%c1(3,2) = cprime%c1(3,2) + 1.0_ki/3.0_ki * C(1) * coeffs%c2(4, 2)
       ! [1, 2] <-- [1, 2, 2]
       cprime%c2(4,1) = 2.0_ki/3.0_ki * C(2) * coeffs%c2(4, 2)
       ! [3, 3] <-- [1, 3, 3]
       cprime%c1(4,2) = cprime%c1(4,2) + 1.0_ki/3.0_ki * C(1) * coeffs%c2(5, 2)
       ! [1, 3] <-- [1, 3, 3]
       cprime%c2(5,1) = 2.0_ki/3.0_ki * C(3) * coeffs%c2(5, 2)
       ! [3, 3] <-- [2, 3, 3]
       cprime%c1(4,2) = cprime%c1(4,2) + 1.0_ki/3.0_ki * C(2) * coeffs%c2(6, 2)
       ! [2, 3] <-- [2, 3, 3]
       cprime%c2(6,1) = 2.0_ki/3.0_ki * C(3) * coeffs%c2(6, 2)
       ! [1, 2] <-- [0, 1, 2]
       cprime%c2(4,1) = cprime%c2(4,1) + 1.0_ki/3.0_ki * C(0) * coeffs%c3(1, 1)
       ! [0, 2] <-- [0, 1, 2]
       cprime%c2(2,1) = cprime%c2(2,1) + 1.0_ki/3.0_ki * C(1) * coeffs%c3(1, 1)
       ! [0, 1] <-- [0, 1, 2]
       cprime%c2(1,1) = cprime%c2(1,1) + 1.0_ki/3.0_ki * C(2) * coeffs%c3(1, 1)
       ! [1, 3] <-- [0, 1, 3]
       cprime%c2(5,1) = cprime%c2(5,1) + 1.0_ki/3.0_ki * C(0) * coeffs%c3(2, 1)
       ! [0, 3] <-- [0, 1, 3]
       cprime%c2(3,1) = cprime%c2(3,1) + 1.0_ki/3.0_ki * C(1) * coeffs%c3(2, 1)
       ! [0, 1] <-- [0, 1, 3]
       cprime%c2(1,1) = cprime%c2(1,1) + 1.0_ki/3.0_ki * C(3) * coeffs%c3(2, 1)
       ! [2, 3] <-- [0, 2, 3]
       cprime%c2(6,1) = cprime%c2(6,1) + 1.0_ki/3.0_ki * C(0) * coeffs%c3(3, 1)
       ! [0, 3] <-- [0, 2, 3]
       cprime%c2(3,1) = cprime%c2(3,1) + 1.0_ki/3.0_ki * C(2) * coeffs%c3(3, 1)
       ! [0, 2] <-- [0, 2, 3]
       cprime%c2(2,1) = cprime%c2(2,1) + 1.0_ki/3.0_ki * C(3) * coeffs%c3(3, 1)
       ! [2, 3] <-- [1, 2, 3]
       cprime%c2(6,1) = cprime%c2(6,1) + 1.0_ki/3.0_ki * C(1) * coeffs%c3(4, 1)
       ! [1, 3] <-- [1, 2, 3]
       cprime%c2(5,1) = cprime%c2(5,1) + 1.0_ki/3.0_ki * C(2) * coeffs%c3(4, 1)
       ! [1, 2] <-- [1, 2, 3]
       cprime%c2(4,1) = cprime%c2(4,1) + 1.0_ki/3.0_ki * C(3) * coeffs%c3(4, 1)
       ! [0, 0] <-- [0, 0, 0]
       cprime%c1(1,2) = C(0) * coeffs%c1(1, 3)
       ! [1, 1] <-- [1, 1, 1]
       cprime%c1(2,2) = cprime%c1(2,2) + C(1) * coeffs%c1(2, 3)
       ! [2, 2] <-- [2, 2, 2]
       cprime%c1(3,2) = cprime%c1(3,2) + C(2) * coeffs%c1(3, 3)
       ! [3, 3] <-- [3, 3, 3]
       cprime%c1(4,2) = cprime%c1(4,2) + C(3) * coeffs%c1(4, 3)
       ! [0, 1] <-- [0, 0, 1]
       cprime%c2(1,1) = cprime%c2(1,1) + 2.0_ki/3.0_ki * C(0) * coeffs%c2(1, 4)
       ! [0, 0] <-- [0, 0, 1]
       cprime%c1(1,2) = cprime%c1(1,2) + 1.0_ki/3.0_ki * C(1) * coeffs%c2(1, 4)
       ! [0, 2] <-- [0, 0, 2]
       cprime%c2(2,1) = cprime%c2(2,1) + 2.0_ki/3.0_ki * C(0) * coeffs%c2(2, 4)
       ! [0, 0] <-- [0, 0, 2]
       cprime%c1(1,2) = cprime%c1(1,2) + 1.0_ki/3.0_ki * C(2) * coeffs%c2(2, 4)
       ! [0, 3] <-- [0, 0, 3]
       cprime%c2(3,1) = cprime%c2(3,1) + 2.0_ki/3.0_ki * C(0) * coeffs%c2(3, 4)
       ! [0, 0] <-- [0, 0, 3]
       cprime%c1(1,2) = cprime%c1(1,2) + 1.0_ki/3.0_ki * C(3) * coeffs%c2(3, 4)
       ! [1, 2] <-- [1, 1, 2]
       cprime%c2(4,1) = cprime%c2(4,1) + 2.0_ki/3.0_ki * C(1) * coeffs%c2(4, 4)
       ! [1, 1] <-- [1, 1, 2]
       cprime%c1(2,2) = cprime%c1(2,2) + 1.0_ki/3.0_ki * C(2) * coeffs%c2(4, 4)
       ! [1, 3] <-- [1, 1, 3]
       cprime%c2(5,1) = cprime%c2(5,1) + 2.0_ki/3.0_ki * C(1) * coeffs%c2(5, 4)
       ! [1, 1] <-- [1, 1, 3]
       cprime%c1(2,2) = cprime%c1(2,2) + 1.0_ki/3.0_ki * C(3) * coeffs%c2(5, 4)
       ! [2, 3] <-- [2, 2, 3]
       cprime%c2(6,1) = cprime%c2(6,1) + 2.0_ki/3.0_ki * C(2) * coeffs%c2(6, 4)
       ! [2, 2] <-- [2, 2, 3]
       cprime%c1(3,2) = cprime%c1(3,2) + 1.0_ki/3.0_ki * C(3) * coeffs%c2(6, 4)
       ! [1, 1, 2] <-- [0, 1, 1, 2]
       cprime%c2(4,3) = 0.25_ki * C(0) * coeffs%c3(1, 3)
       ! [0, 1, 2] <-- [0, 1, 1, 2]
       cprime%c3(1,1) = 0.5_ki * C(1) * coeffs%c3(1, 3)
       ! [0, 1, 1] <-- [0, 1, 1, 2]
       cprime%c2(1,2) = 0.25_ki * C(2) * coeffs%c3(1, 3)
       ! [1, 1, 3] <-- [0, 1, 1, 3]
       cprime%c2(5,3) = 0.25_ki * C(0) * coeffs%c3(2, 3)
       ! [0, 1, 3] <-- [0, 1, 1, 3]
       cprime%c3(2,1) = 0.5_ki * C(1) * coeffs%c3(2, 3)
       ! [0, 1, 1] <-- [0, 1, 1, 3]
       cprime%c2(1,2) = cprime%c2(1,2) + 0.25_ki * C(3) * coeffs%c3(2, 3)
       ! [2, 2, 3] <-- [0, 2, 2, 3]
       cprime%c2(6,3) = 0.25_ki * C(0) * coeffs%c3(3, 3)
       ! [0, 2, 3] <-- [0, 2, 2, 3]
       cprime%c3(3,1) = 0.5_ki * C(2) * coeffs%c3(3, 3)
       ! [0, 2, 2] <-- [0, 2, 2, 3]
       cprime%c2(2,2) = 0.25_ki * C(3) * coeffs%c3(3, 3)
       ! [2, 2, 3] <-- [1, 2, 2, 3]
       cprime%c2(6,3) = cprime%c2(6,3) + 0.25_ki * C(1) * coeffs%c3(4, 3)
       ! [1, 2, 3] <-- [1, 2, 2, 3]
       cprime%c3(4,1) = 0.5_ki * C(2) * coeffs%c3(4, 3)
       ! [1, 2, 2] <-- [1, 2, 2, 3]
       cprime%c2(4,2) = 0.25_ki * C(3) * coeffs%c3(4, 3)
       ! [1, 1, 1] <-- [0, 1, 1, 1]
       cprime%c1(2,3) = 0.25_ki * C(0) * coeffs%c2(1, 3)
       ! [0, 1, 1] <-- [0, 1, 1, 1]
       cprime%c2(1,2) = cprime%c2(1,2) + 3.0_ki/4.0_ki * C(1) * coeffs%c2(1, 3)
       ! [2, 2, 2] <-- [0, 2, 2, 2]
       cprime%c1(3,3) = 0.25_ki * C(0) * coeffs%c2(2, 3)
       ! [0, 2, 2] <-- [0, 2, 2, 2]
       cprime%c2(2,2) = cprime%c2(2,2) + 3.0_ki/4.0_ki * C(2) * coeffs%c2(2, 3)
       ! [3, 3, 3] <-- [0, 3, 3, 3]
       cprime%c1(4,3) = 0.25_ki * C(0) * coeffs%c2(3, 3)
       ! [0, 3, 3] <-- [0, 3, 3, 3]
       cprime%c2(3,2) = 3.0_ki/4.0_ki * C(3) * coeffs%c2(3, 3)
       ! [2, 2, 2] <-- [1, 2, 2, 2]
       cprime%c1(3,3) = cprime%c1(3,3) + 0.25_ki * C(1) * coeffs%c2(4, 3)
       ! [1, 2, 2] <-- [1, 2, 2, 2]
       cprime%c2(4,2) = cprime%c2(4,2) + 3.0_ki/4.0_ki * C(2) * coeffs%c2(4, 3)
       ! [3, 3, 3] <-- [1, 3, 3, 3]
       cprime%c1(4,3) = cprime%c1(4,3) + 0.25_ki * C(1) * coeffs%c2(5, 3)
       ! [1, 3, 3] <-- [1, 3, 3, 3]
       cprime%c2(5,2) = 3.0_ki/4.0_ki * C(3) * coeffs%c2(5, 3)
       ! [3, 3, 3] <-- [2, 3, 3, 3]
       cprime%c1(4,3) = cprime%c1(4,3) + 0.25_ki * C(2) * coeffs%c2(6, 3)
       ! [2, 3, 3] <-- [2, 3, 3, 3]
       cprime%c2(6,2) = 3.0_ki/4.0_ki * C(3) * coeffs%c2(6, 3)
       ! [0, 1, 2] <-- [0, 0, 1, 2]
       cprime%c3(1,1) = cprime%c3(1,1) + 0.5_ki * C(0) * coeffs%c3(1, 4)
       ! [0, 0, 2] <-- [0, 0, 1, 2]
       cprime%c2(2,3) = 0.25_ki * C(1) * coeffs%c3(1, 4)
       ! [0, 0, 1] <-- [0, 0, 1, 2]
       cprime%c2(1,3) = 0.25_ki * C(2) * coeffs%c3(1, 4)
       ! [0, 1, 3] <-- [0, 0, 1, 3]
       cprime%c3(2,1) = cprime%c3(2,1) + 0.5_ki * C(0) * coeffs%c3(2, 4)
       ! [0, 0, 3] <-- [0, 0, 1, 3]
       cprime%c2(3,3) = 0.25_ki * C(1) * coeffs%c3(2, 4)
       ! [0, 0, 1] <-- [0, 0, 1, 3]
       cprime%c2(1,3) = cprime%c2(1,3) + 0.25_ki * C(3) * coeffs%c3(2, 4)
       ! [0, 2, 3] <-- [0, 0, 2, 3]
       cprime%c3(3,1) = cprime%c3(3,1) + 0.5_ki * C(0) * coeffs%c3(3, 4)
       ! [0, 0, 3] <-- [0, 0, 2, 3]
       cprime%c2(3,3) = cprime%c2(3,3) + 0.25_ki * C(2) * coeffs%c3(3, 4)
       ! [0, 0, 2] <-- [0, 0, 2, 3]
       cprime%c2(2,3) = cprime%c2(2,3) + 0.25_ki * C(3) * coeffs%c3(3, 4)
       ! [1, 2, 3] <-- [1, 1, 2, 3]
       cprime%c3(4,1) = cprime%c3(4,1) + 0.5_ki * C(1) * coeffs%c3(4, 4)
       ! [1, 1, 3] <-- [1, 1, 2, 3]
       cprime%c2(5,3) = cprime%c2(5,3) + 0.25_ki * C(2) * coeffs%c3(4, 4)
       ! [1, 1, 2] <-- [1, 1, 2, 3]
       cprime%c2(4,3) = cprime%c2(4,3) + 0.25_ki * C(3) * coeffs%c3(4, 4)
       ! [0, 0, 1] <-- [0, 0, 0, 1]
       cprime%c2(1,3) = cprime%c2(1,3) + 3.0_ki/4.0_ki * C(0) * coeffs%c2(1, 6)
       ! [0, 0, 0] <-- [0, 0, 0, 1]
       cprime%c1(1,3) = 0.25_ki * C(1) * coeffs%c2(1, 6)
       ! [0, 0, 2] <-- [0, 0, 0, 2]
       cprime%c2(2,3) = cprime%c2(2,3) + 3.0_ki/4.0_ki * C(0) * coeffs%c2(2, 6)
       ! [0, 0, 0] <-- [0, 0, 0, 2]
       cprime%c1(1,3) = cprime%c1(1,3) + 0.25_ki * C(2) * coeffs%c2(2, 6)
       ! [0, 0, 3] <-- [0, 0, 0, 3]
       cprime%c2(3,3) = cprime%c2(3,3) + 3.0_ki/4.0_ki * C(0) * coeffs%c2(3, 6)
       ! [0, 0, 0] <-- [0, 0, 0, 3]
       cprime%c1(1,3) = cprime%c1(1,3) + 0.25_ki * C(3) * coeffs%c2(3, 6)
       ! [1, 1, 2] <-- [1, 1, 1, 2]
       cprime%c2(4,3) = cprime%c2(4,3) + 3.0_ki/4.0_ki * C(1) * coeffs%c2(4, 6)
       ! [1, 1, 1] <-- [1, 1, 1, 2]
       cprime%c1(2,3) = cprime%c1(2,3) + 0.25_ki * C(2) * coeffs%c2(4, 6)
       ! [1, 1, 3] <-- [1, 1, 1, 3]
       cprime%c2(5,3) = cprime%c2(5,3) + 3.0_ki/4.0_ki * C(1) * coeffs%c2(5, 6)
       ! [1, 1, 1] <-- [1, 1, 1, 3]
       cprime%c1(2,3) = cprime%c1(2,3) + 0.25_ki * C(3) * coeffs%c2(5, 6)
       ! [2, 2, 3] <-- [2, 2, 2, 3]
       cprime%c2(6,3) = cprime%c2(6,3) + 3.0_ki/4.0_ki * C(2) * coeffs%c2(6, 6)
       ! [2, 2, 2] <-- [2, 2, 2, 3]
       cprime%c1(3,3) = cprime%c1(3,3) + 0.25_ki * C(3) * coeffs%c2(6, 6)
       ! [1, 2, 3] <-- [0, 1, 2, 3]
       cprime%c3(4,1) = cprime%c3(4,1) + 0.25_ki * C(0) * coeffs%c4(1, 1)
       ! [0, 2, 3] <-- [0, 1, 2, 3]
       cprime%c3(3,1) = cprime%c3(3,1) + 0.25_ki * C(1) * coeffs%c4(1, 1)
       ! [0, 1, 3] <-- [0, 1, 2, 3]
       cprime%c3(2,1) = cprime%c3(2,1) + 0.25_ki * C(2) * coeffs%c4(1, 1)
       ! [0, 1, 2] <-- [0, 1, 2, 3]
       cprime%c3(1,1) = cprime%c3(1,1) + 0.25_ki * C(3) * coeffs%c4(1, 1)
       ! [1, 2, 2] <-- [0, 1, 2, 2]
       cprime%c2(4,2) = cprime%c2(4,2) + 0.25_ki * C(0) * coeffs%c3(1, 2)
       ! [0, 2, 2] <-- [0, 1, 2, 2]
       cprime%c2(2,2) = cprime%c2(2,2) + 0.25_ki * C(1) * coeffs%c3(1, 2)
       ! [0, 1, 2] <-- [0, 1, 2, 2]
       cprime%c3(1,1) = cprime%c3(1,1) + 0.5_ki * C(2) * coeffs%c3(1, 2)
       ! [1, 3, 3] <-- [0, 1, 3, 3]
       cprime%c2(5,2) = cprime%c2(5,2) + 0.25_ki * C(0) * coeffs%c3(2, 2)
       ! [0, 3, 3] <-- [0, 1, 3, 3]
       cprime%c2(3,2) = cprime%c2(3,2) + 0.25_ki * C(1) * coeffs%c3(2, 2)
       ! [0, 1, 3] <-- [0, 1, 3, 3]
       cprime%c3(2,1) = cprime%c3(2,1) + 0.5_ki * C(3) * coeffs%c3(2, 2)
       ! [2, 3, 3] <-- [0, 2, 3, 3]
       cprime%c2(6,2) = cprime%c2(6,2) + 0.25_ki * C(0) * coeffs%c3(3, 2)
       ! [0, 3, 3] <-- [0, 2, 3, 3]
       cprime%c2(3,2) = cprime%c2(3,2) + 0.25_ki * C(2) * coeffs%c3(3, 2)
       ! [0, 2, 3] <-- [0, 2, 3, 3]
       cprime%c3(3,1) = cprime%c3(3,1) + 0.5_ki * C(3) * coeffs%c3(3, 2)
       ! [2, 3, 3] <-- [1, 2, 3, 3]
       cprime%c2(6,2) = cprime%c2(6,2) + 0.25_ki * C(1) * coeffs%c3(4, 2)
       ! [1, 3, 3] <-- [1, 2, 3, 3]
       cprime%c2(5,2) = cprime%c2(5,2) + 0.25_ki * C(2) * coeffs%c3(4, 2)
       ! [1, 2, 3] <-- [1, 2, 3, 3]
       cprime%c3(4,1) = cprime%c3(4,1) + 0.5_ki * C(3) * coeffs%c3(4, 2)
       ! [0, 1, 1] <-- [0, 0, 1, 1]
       cprime%c2(1,2) = cprime%c2(1,2) + 0.5_ki * C(0) * coeffs%c2(1, 5)
       ! [0, 0, 1] <-- [0, 0, 1, 1]
       cprime%c2(1,3) = cprime%c2(1,3) + 0.5_ki * C(1) * coeffs%c2(1, 5)
       ! [0, 2, 2] <-- [0, 0, 2, 2]
       cprime%c2(2,2) = cprime%c2(2,2) + 0.5_ki * C(0) * coeffs%c2(2, 5)
       ! [0, 0, 2] <-- [0, 0, 2, 2]
       cprime%c2(2,3) = cprime%c2(2,3) + 0.5_ki * C(2) * coeffs%c2(2, 5)
       ! [0, 3, 3] <-- [0, 0, 3, 3]
       cprime%c2(3,2) = cprime%c2(3,2) + 0.5_ki * C(0) * coeffs%c2(3, 5)
       ! [0, 0, 3] <-- [0, 0, 3, 3]
       cprime%c2(3,3) = cprime%c2(3,3) + 0.5_ki * C(3) * coeffs%c2(3, 5)
       ! [1, 2, 2] <-- [1, 1, 2, 2]
       cprime%c2(4,2) = cprime%c2(4,2) + 0.5_ki * C(1) * coeffs%c2(4, 5)
       ! [1, 1, 2] <-- [1, 1, 2, 2]
       cprime%c2(4,3) = cprime%c2(4,3) + 0.5_ki * C(2) * coeffs%c2(4, 5)
       ! [1, 3, 3] <-- [1, 1, 3, 3]
       cprime%c2(5,2) = cprime%c2(5,2) + 0.5_ki * C(1) * coeffs%c2(5, 5)
       ! [1, 1, 3] <-- [1, 1, 3, 3]
       cprime%c2(5,3) = cprime%c2(5,3) + 0.5_ki * C(3) * coeffs%c2(5, 5)
       ! [2, 3, 3] <-- [2, 2, 3, 3]
       cprime%c2(6,2) = cprime%c2(6,2) + 0.5_ki * C(2) * coeffs%c2(6, 5)
       ! [2, 2, 3] <-- [2, 2, 3, 3]
       cprime%c2(6,3) = cprime%c2(6,3) + 0.5_ki * C(3) * coeffs%c2(6, 5)
       ! [0, 0, 0] <-- [0, 0, 0, 0]
       cprime%c1(1,3) = cprime%c1(1,3) + C(0) * coeffs%c1(1, 4)
       ! [1, 1, 1] <-- [1, 1, 1, 1]
       cprime%c1(2,3) = cprime%c1(2,3) + C(1) * coeffs%c1(2, 4)
       ! [2, 2, 2] <-- [2, 2, 2, 2]
       cprime%c1(3,3) = cprime%c1(3,3) + C(2) * coeffs%c1(3, 4)
       ! [3, 3, 3] <-- [3, 3, 3, 3]
       cprime%c1(4,3) = cprime%c1(4,3) + C(3) * coeffs%c1(4, 4)
       amp = amp - contract5_3(cprime, momenta, new_set)
    end do
 end function contract6_4
 !****f* src/interface/tens_comb/contract6_5
 ! NAME
 !
 ! Function contract6_5
 !
 ! USAGE
 !
 !  amp = contract6_5(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 6-point rank 5 tensor integral
 !  with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_5)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract6_5(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_5), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_split
    complex(ki), dimension(0:3) :: C
    type(coeff_type_4) :: cprime
    integer :: i, pnch, new_set
    integer, dimension(1) :: pnch_set
    integer, dimension(6) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 6)
    amp = coeffs%c0 * a60(b_set)
    do pnch=1,6
       ! Eq. (54) in hep-ph/0504267
       C(:) = 0.0_ki
       do i=1,6
          C(:) = C(:) + inv_s(unpinched(pnch),unpinched(i),b_set) * &
               & momenta(unpinched(i),:)
       end do
       ! Eq. (63) in hep-ph/0504267
       pnch_set(1) = pnch
       new_set = punion(packb(pnch_set),b_set)
       ! [] <-- [0]
       cprime%c0 = C(0) * coeffs%c1(1, 1)
       ! [] <-- [1]
       cprime%c0 = cprime%c0 + C(1) * coeffs%c1(2, 1)
       ! [] <-- [2]
       cprime%c0 = cprime%c0 + C(2) * coeffs%c1(3, 1)
       ! [] <-- [3]
       cprime%c0 = cprime%c0 + C(3) * coeffs%c1(4, 1)
       ! [0] <-- [0, 0]
       cprime%c1(1,1) = C(0) * coeffs%c1(1, 2)
       ! [1] <-- [1, 1]
       cprime%c1(2,1) = C(1) * coeffs%c1(2, 2)
       ! [2] <-- [2, 2]
       cprime%c1(3,1) = C(2) * coeffs%c1(3, 2)
       ! [3] <-- [3, 3]
       cprime%c1(4,1) = C(3) * coeffs%c1(4, 2)
       ! [1] <-- [0, 1]
       cprime%c1(2,1) = cprime%c1(2,1) + 0.5_ki * C(0) * coeffs%c2(1, 1)
       ! [0] <-- [0, 1]
       cprime%c1(1,1) = cprime%c1(1,1) + 0.5_ki * C(1) * coeffs%c2(1, 1)
       ! [2] <-- [0, 2]
       cprime%c1(3,1) = cprime%c1(3,1) + 0.5_ki * C(0) * coeffs%c2(2, 1)
       ! [0] <-- [0, 2]
       cprime%c1(1,1) = cprime%c1(1,1) + 0.5_ki * C(2) * coeffs%c2(2, 1)
       ! [3] <-- [0, 3]
       cprime%c1(4,1) = cprime%c1(4,1) + 0.5_ki * C(0) * coeffs%c2(3, 1)
       ! [0] <-- [0, 3]
       cprime%c1(1,1) = cprime%c1(1,1) + 0.5_ki * C(3) * coeffs%c2(3, 1)
       ! [2] <-- [1, 2]
       cprime%c1(3,1) = cprime%c1(3,1) + 0.5_ki * C(1) * coeffs%c2(4, 1)
       ! [1] <-- [1, 2]
       cprime%c1(2,1) = cprime%c1(2,1) + 0.5_ki * C(2) * coeffs%c2(4, 1)
       ! [3] <-- [1, 3]
       cprime%c1(4,1) = cprime%c1(4,1) + 0.5_ki * C(1) * coeffs%c2(5, 1)
       ! [1] <-- [1, 3]
       cprime%c1(2,1) = cprime%c1(2,1) + 0.5_ki * C(3) * coeffs%c2(5, 1)
       ! [3] <-- [2, 3]
       cprime%c1(4,1) = cprime%c1(4,1) + 0.5_ki * C(2) * coeffs%c2(6, 1)
       ! [2] <-- [2, 3]
       cprime%c1(3,1) = cprime%c1(3,1) + 0.5_ki * C(3) * coeffs%c2(6, 1)
       ! [1, 1] <-- [0, 1, 1]
       cprime%c1(2,2) = 1.0_ki/3.0_ki * C(0) * coeffs%c2(1, 2)
       ! [0, 1] <-- [0, 1, 1]
       cprime%c2(1,1) = 2.0_ki/3.0_ki * C(1) * coeffs%c2(1, 2)
       ! [2, 2] <-- [0, 2, 2]
       cprime%c1(3,2) = 1.0_ki/3.0_ki * C(0) * coeffs%c2(2, 2)
       ! [0, 2] <-- [0, 2, 2]
       cprime%c2(2,1) = 2.0_ki/3.0_ki * C(2) * coeffs%c2(2, 2)
       ! [3, 3] <-- [0, 3, 3]
       cprime%c1(4,2) = 1.0_ki/3.0_ki * C(0) * coeffs%c2(3, 2)
       ! [0, 3] <-- [0, 3, 3]
       cprime%c2(3,1) = 2.0_ki/3.0_ki * C(3) * coeffs%c2(3, 2)
       ! [2, 2] <-- [1, 2, 2]
       cprime%c1(3,2) = cprime%c1(3,2) + 1.0_ki/3.0_ki * C(1) * coeffs%c2(4, 2)
       ! [1, 2] <-- [1, 2, 2]
       cprime%c2(4,1) = 2.0_ki/3.0_ki * C(2) * coeffs%c2(4, 2)
       ! [3, 3] <-- [1, 3, 3]
       cprime%c1(4,2) = cprime%c1(4,2) + 1.0_ki/3.0_ki * C(1) * coeffs%c2(5, 2)
       ! [1, 3] <-- [1, 3, 3]
       cprime%c2(5,1) = 2.0_ki/3.0_ki * C(3) * coeffs%c2(5, 2)
       ! [3, 3] <-- [2, 3, 3]
       cprime%c1(4,2) = cprime%c1(4,2) + 1.0_ki/3.0_ki * C(2) * coeffs%c2(6, 2)
       ! [2, 3] <-- [2, 3, 3]
       cprime%c2(6,1) = 2.0_ki/3.0_ki * C(3) * coeffs%c2(6, 2)
       ! [1, 2] <-- [0, 1, 2]
       cprime%c2(4,1) = cprime%c2(4,1) + 1.0_ki/3.0_ki * C(0) * coeffs%c3(1, 1)
       ! [0, 2] <-- [0, 1, 2]
       cprime%c2(2,1) = cprime%c2(2,1) + 1.0_ki/3.0_ki * C(1) * coeffs%c3(1, 1)
       ! [0, 1] <-- [0, 1, 2]
       cprime%c2(1,1) = cprime%c2(1,1) + 1.0_ki/3.0_ki * C(2) * coeffs%c3(1, 1)
       ! [1, 3] <-- [0, 1, 3]
       cprime%c2(5,1) = cprime%c2(5,1) + 1.0_ki/3.0_ki * C(0) * coeffs%c3(2, 1)
       ! [0, 3] <-- [0, 1, 3]
       cprime%c2(3,1) = cprime%c2(3,1) + 1.0_ki/3.0_ki * C(1) * coeffs%c3(2, 1)
       ! [0, 1] <-- [0, 1, 3]
       cprime%c2(1,1) = cprime%c2(1,1) + 1.0_ki/3.0_ki * C(3) * coeffs%c3(2, 1)
       ! [2, 3] <-- [0, 2, 3]
       cprime%c2(6,1) = cprime%c2(6,1) + 1.0_ki/3.0_ki * C(0) * coeffs%c3(3, 1)
       ! [0, 3] <-- [0, 2, 3]
       cprime%c2(3,1) = cprime%c2(3,1) + 1.0_ki/3.0_ki * C(2) * coeffs%c3(3, 1)
       ! [0, 2] <-- [0, 2, 3]
       cprime%c2(2,1) = cprime%c2(2,1) + 1.0_ki/3.0_ki * C(3) * coeffs%c3(3, 1)
       ! [2, 3] <-- [1, 2, 3]
       cprime%c2(6,1) = cprime%c2(6,1) + 1.0_ki/3.0_ki * C(1) * coeffs%c3(4, 1)
       ! [1, 3] <-- [1, 2, 3]
       cprime%c2(5,1) = cprime%c2(5,1) + 1.0_ki/3.0_ki * C(2) * coeffs%c3(4, 1)
       ! [1, 2] <-- [1, 2, 3]
       cprime%c2(4,1) = cprime%c2(4,1) + 1.0_ki/3.0_ki * C(3) * coeffs%c3(4, 1)
       ! [0, 0] <-- [0, 0, 0]
       cprime%c1(1,2) = C(0) * coeffs%c1(1, 3)
       ! [1, 1] <-- [1, 1, 1]
       cprime%c1(2,2) = cprime%c1(2,2) + C(1) * coeffs%c1(2, 3)
       ! [2, 2] <-- [2, 2, 2]
       cprime%c1(3,2) = cprime%c1(3,2) + C(2) * coeffs%c1(3, 3)
       ! [3, 3] <-- [3, 3, 3]
       cprime%c1(4,2) = cprime%c1(4,2) + C(3) * coeffs%c1(4, 3)
       ! [0, 1] <-- [0, 0, 1]
       cprime%c2(1,1) = cprime%c2(1,1) + 2.0_ki/3.0_ki * C(0) * coeffs%c2(1, 5)
       ! [0, 0] <-- [0, 0, 1]
       cprime%c1(1,2) = cprime%c1(1,2) + 1.0_ki/3.0_ki * C(1) * coeffs%c2(1, 5)
       ! [0, 2] <-- [0, 0, 2]
       cprime%c2(2,1) = cprime%c2(2,1) + 2.0_ki/3.0_ki * C(0) * coeffs%c2(2, 5)
       ! [0, 0] <-- [0, 0, 2]
       cprime%c1(1,2) = cprime%c1(1,2) + 1.0_ki/3.0_ki * C(2) * coeffs%c2(2, 5)
       ! [0, 3] <-- [0, 0, 3]
       cprime%c2(3,1) = cprime%c2(3,1) + 2.0_ki/3.0_ki * C(0) * coeffs%c2(3, 5)
       ! [0, 0] <-- [0, 0, 3]
       cprime%c1(1,2) = cprime%c1(1,2) + 1.0_ki/3.0_ki * C(3) * coeffs%c2(3, 5)
       ! [1, 2] <-- [1, 1, 2]
       cprime%c2(4,1) = cprime%c2(4,1) + 2.0_ki/3.0_ki * C(1) * coeffs%c2(4, 5)
       ! [1, 1] <-- [1, 1, 2]
       cprime%c1(2,2) = cprime%c1(2,2) + 1.0_ki/3.0_ki * C(2) * coeffs%c2(4, 5)
       ! [1, 3] <-- [1, 1, 3]
       cprime%c2(5,1) = cprime%c2(5,1) + 2.0_ki/3.0_ki * C(1) * coeffs%c2(5, 5)
       ! [1, 1] <-- [1, 1, 3]
       cprime%c1(2,2) = cprime%c1(2,2) + 1.0_ki/3.0_ki * C(3) * coeffs%c2(5, 5)
       ! [2, 3] <-- [2, 2, 3]
       cprime%c2(6,1) = cprime%c2(6,1) + 2.0_ki/3.0_ki * C(2) * coeffs%c2(6, 5)
       ! [2, 2] <-- [2, 2, 3]
       cprime%c1(3,2) = cprime%c1(3,2) + 1.0_ki/3.0_ki * C(3) * coeffs%c2(6, 5)
       ! [1, 1, 2] <-- [0, 1, 1, 2]
       cprime%c2(4,4) = 0.25_ki * C(0) * coeffs%c3(1, 4)
       ! [0, 1, 2] <-- [0, 1, 1, 2]
       cprime%c3(1,1) = 0.5_ki * C(1) * coeffs%c3(1, 4)
       ! [0, 1, 1] <-- [0, 1, 1, 2]
       cprime%c2(1,2) = 0.25_ki * C(2) * coeffs%c3(1, 4)
       ! [1, 1, 3] <-- [0, 1, 1, 3]
       cprime%c2(5,4) = 0.25_ki * C(0) * coeffs%c3(2, 4)
       ! [0, 1, 3] <-- [0, 1, 1, 3]
       cprime%c3(2,1) = 0.5_ki * C(1) * coeffs%c3(2, 4)
       ! [0, 1, 1] <-- [0, 1, 1, 3]
       cprime%c2(1,2) = cprime%c2(1,2) + 0.25_ki * C(3) * coeffs%c3(2, 4)
       ! [2, 2, 3] <-- [0, 2, 2, 3]
       cprime%c2(6,4) = 0.25_ki * C(0) * coeffs%c3(3, 4)
       ! [0, 2, 3] <-- [0, 2, 2, 3]
       cprime%c3(3,1) = 0.5_ki * C(2) * coeffs%c3(3, 4)
       ! [0, 2, 2] <-- [0, 2, 2, 3]
       cprime%c2(2,2) = 0.25_ki * C(3) * coeffs%c3(3, 4)
       ! [2, 2, 3] <-- [1, 2, 2, 3]
       cprime%c2(6,4) = cprime%c2(6,4) + 0.25_ki * C(1) * coeffs%c3(4, 4)
       ! [1, 2, 3] <-- [1, 2, 2, 3]
       cprime%c3(4,1) = 0.5_ki * C(2) * coeffs%c3(4, 4)
       ! [1, 2, 2] <-- [1, 2, 2, 3]
       cprime%c2(4,2) = 0.25_ki * C(3) * coeffs%c3(4, 4)
       ! [1, 1, 1] <-- [0, 1, 1, 1]
       cprime%c1(2,3) = 0.25_ki * C(0) * coeffs%c2(1, 3)
       ! [0, 1, 1] <-- [0, 1, 1, 1]
       cprime%c2(1,2) = cprime%c2(1,2) + 3.0_ki/4.0_ki * C(1) * coeffs%c2(1, 3)
       ! [2, 2, 2] <-- [0, 2, 2, 2]
       cprime%c1(3,3) = 0.25_ki * C(0) * coeffs%c2(2, 3)
       ! [0, 2, 2] <-- [0, 2, 2, 2]
       cprime%c2(2,2) = cprime%c2(2,2) + 3.0_ki/4.0_ki * C(2) * coeffs%c2(2, 3)
       ! [3, 3, 3] <-- [0, 3, 3, 3]
       cprime%c1(4,3) = 0.25_ki * C(0) * coeffs%c2(3, 3)
       ! [0, 3, 3] <-- [0, 3, 3, 3]
       cprime%c2(3,2) = 3.0_ki/4.0_ki * C(3) * coeffs%c2(3, 3)
       ! [2, 2, 2] <-- [1, 2, 2, 2]
       cprime%c1(3,3) = cprime%c1(3,3) + 0.25_ki * C(1) * coeffs%c2(4, 3)
       ! [1, 2, 2] <-- [1, 2, 2, 2]
       cprime%c2(4,2) = cprime%c2(4,2) + 3.0_ki/4.0_ki * C(2) * coeffs%c2(4, 3)
       ! [3, 3, 3] <-- [1, 3, 3, 3]
       cprime%c1(4,3) = cprime%c1(4,3) + 0.25_ki * C(1) * coeffs%c2(5, 3)
       ! [1, 3, 3] <-- [1, 3, 3, 3]
       cprime%c2(5,2) = 3.0_ki/4.0_ki * C(3) * coeffs%c2(5, 3)
       ! [3, 3, 3] <-- [2, 3, 3, 3]
       cprime%c1(4,3) = cprime%c1(4,3) + 0.25_ki * C(2) * coeffs%c2(6, 3)
       ! [2, 3, 3] <-- [2, 3, 3, 3]
       cprime%c2(6,2) = 3.0_ki/4.0_ki * C(3) * coeffs%c2(6, 3)
       ! [0, 1, 2] <-- [0, 0, 1, 2]
       cprime%c3(1,1) = cprime%c3(1,1) + 0.5_ki * C(0) * coeffs%c3(1, 7)
       ! [0, 0, 2] <-- [0, 0, 1, 2]
       cprime%c2(2,4) = 0.25_ki * C(1) * coeffs%c3(1, 7)
       ! [0, 0, 1] <-- [0, 0, 1, 2]
       cprime%c2(1,4) = 0.25_ki * C(2) * coeffs%c3(1, 7)
       ! [0, 1, 3] <-- [0, 0, 1, 3]
       cprime%c3(2,1) = cprime%c3(2,1) + 0.5_ki * C(0) * coeffs%c3(2, 7)
       ! [0, 0, 3] <-- [0, 0, 1, 3]
       cprime%c2(3,4) = 0.25_ki * C(1) * coeffs%c3(2, 7)
       ! [0, 0, 1] <-- [0, 0, 1, 3]
       cprime%c2(1,4) = cprime%c2(1,4) + 0.25_ki * C(3) * coeffs%c3(2, 7)
       ! [0, 2, 3] <-- [0, 0, 2, 3]
       cprime%c3(3,1) = cprime%c3(3,1) + 0.5_ki * C(0) * coeffs%c3(3, 7)
       ! [0, 0, 3] <-- [0, 0, 2, 3]
       cprime%c2(3,4) = cprime%c2(3,4) + 0.25_ki * C(2) * coeffs%c3(3, 7)
       ! [0, 0, 2] <-- [0, 0, 2, 3]
       cprime%c2(2,4) = cprime%c2(2,4) + 0.25_ki * C(3) * coeffs%c3(3, 7)
       ! [1, 2, 3] <-- [1, 1, 2, 3]
       cprime%c3(4,1) = cprime%c3(4,1) + 0.5_ki * C(1) * coeffs%c3(4, 7)
       ! [1, 1, 3] <-- [1, 1, 2, 3]
       cprime%c2(5,4) = cprime%c2(5,4) + 0.25_ki * C(2) * coeffs%c3(4, 7)
       ! [1, 1, 2] <-- [1, 1, 2, 3]
       cprime%c2(4,4) = cprime%c2(4,4) + 0.25_ki * C(3) * coeffs%c3(4, 7)
       ! [0, 0, 1] <-- [0, 0, 0, 1]
       cprime%c2(1,4) = cprime%c2(1,4) + 3.0_ki/4.0_ki * C(0) * coeffs%c2(1, 8)
       ! [0, 0, 0] <-- [0, 0, 0, 1]
       cprime%c1(1,3) = 0.25_ki * C(1) * coeffs%c2(1, 8)
       ! [0, 0, 2] <-- [0, 0, 0, 2]
       cprime%c2(2,4) = cprime%c2(2,4) + 3.0_ki/4.0_ki * C(0) * coeffs%c2(2, 8)
       ! [0, 0, 0] <-- [0, 0, 0, 2]
       cprime%c1(1,3) = cprime%c1(1,3) + 0.25_ki * C(2) * coeffs%c2(2, 8)
       ! [0, 0, 3] <-- [0, 0, 0, 3]
       cprime%c2(3,4) = cprime%c2(3,4) + 3.0_ki/4.0_ki * C(0) * coeffs%c2(3, 8)
       ! [0, 0, 0] <-- [0, 0, 0, 3]
       cprime%c1(1,3) = cprime%c1(1,3) + 0.25_ki * C(3) * coeffs%c2(3, 8)
       ! [1, 1, 2] <-- [1, 1, 1, 2]
       cprime%c2(4,4) = cprime%c2(4,4) + 3.0_ki/4.0_ki * C(1) * coeffs%c2(4, 8)
       ! [1, 1, 1] <-- [1, 1, 1, 2]
       cprime%c1(2,3) = cprime%c1(2,3) + 0.25_ki * C(2) * coeffs%c2(4, 8)
       ! [1, 1, 3] <-- [1, 1, 1, 3]
       cprime%c2(5,4) = cprime%c2(5,4) + 3.0_ki/4.0_ki * C(1) * coeffs%c2(5, 8)
       ! [1, 1, 1] <-- [1, 1, 1, 3]
       cprime%c1(2,3) = cprime%c1(2,3) + 0.25_ki * C(3) * coeffs%c2(5, 8)
       ! [2, 2, 3] <-- [2, 2, 2, 3]
       cprime%c2(6,4) = cprime%c2(6,4) + 3.0_ki/4.0_ki * C(2) * coeffs%c2(6, 8)
       ! [2, 2, 2] <-- [2, 2, 2, 3]
       cprime%c1(3,3) = cprime%c1(3,3) + 0.25_ki * C(3) * coeffs%c2(6, 8)
       ! [1, 2, 3] <-- [0, 1, 2, 3]
       cprime%c3(4,1) = cprime%c3(4,1) + 0.25_ki * C(0) * coeffs%c4(1, 1)
       ! [0, 2, 3] <-- [0, 1, 2, 3]
       cprime%c3(3,1) = cprime%c3(3,1) + 0.25_ki * C(1) * coeffs%c4(1, 1)
       ! [0, 1, 3] <-- [0, 1, 2, 3]
       cprime%c3(2,1) = cprime%c3(2,1) + 0.25_ki * C(2) * coeffs%c4(1, 1)
       ! [0, 1, 2] <-- [0, 1, 2, 3]
       cprime%c3(1,1) = cprime%c3(1,1) + 0.25_ki * C(3) * coeffs%c4(1, 1)
       ! [1, 2, 2] <-- [0, 1, 2, 2]
       cprime%c2(4,2) = cprime%c2(4,2) + 0.25_ki * C(0) * coeffs%c3(1, 2)
       ! [0, 2, 2] <-- [0, 1, 2, 2]
       cprime%c2(2,2) = cprime%c2(2,2) + 0.25_ki * C(1) * coeffs%c3(1, 2)
       ! [0, 1, 2] <-- [0, 1, 2, 2]
       cprime%c3(1,1) = cprime%c3(1,1) + 0.5_ki * C(2) * coeffs%c3(1, 2)
       ! [1, 3, 3] <-- [0, 1, 3, 3]
       cprime%c2(5,2) = cprime%c2(5,2) + 0.25_ki * C(0) * coeffs%c3(2, 2)
       ! [0, 3, 3] <-- [0, 1, 3, 3]
       cprime%c2(3,2) = cprime%c2(3,2) + 0.25_ki * C(1) * coeffs%c3(2, 2)
       ! [0, 1, 3] <-- [0, 1, 3, 3]
       cprime%c3(2,1) = cprime%c3(2,1) + 0.5_ki * C(3) * coeffs%c3(2, 2)
       ! [2, 3, 3] <-- [0, 2, 3, 3]
       cprime%c2(6,2) = cprime%c2(6,2) + 0.25_ki * C(0) * coeffs%c3(3, 2)
       ! [0, 3, 3] <-- [0, 2, 3, 3]
       cprime%c2(3,2) = cprime%c2(3,2) + 0.25_ki * C(2) * coeffs%c3(3, 2)
       ! [0, 2, 3] <-- [0, 2, 3, 3]
       cprime%c3(3,1) = cprime%c3(3,1) + 0.5_ki * C(3) * coeffs%c3(3, 2)
       ! [2, 3, 3] <-- [1, 2, 3, 3]
       cprime%c2(6,2) = cprime%c2(6,2) + 0.25_ki * C(1) * coeffs%c3(4, 2)
       ! [1, 3, 3] <-- [1, 2, 3, 3]
       cprime%c2(5,2) = cprime%c2(5,2) + 0.25_ki * C(2) * coeffs%c3(4, 2)
       ! [1, 2, 3] <-- [1, 2, 3, 3]
       cprime%c3(4,1) = cprime%c3(4,1) + 0.5_ki * C(3) * coeffs%c3(4, 2)
       ! [0, 1, 1] <-- [0, 0, 1, 1]
       cprime%c2(1,2) = cprime%c2(1,2) + 0.5_ki * C(0) * coeffs%c2(1, 6)
       ! [0, 0, 1] <-- [0, 0, 1, 1]
       cprime%c2(1,4) = cprime%c2(1,4) + 0.5_ki * C(1) * coeffs%c2(1, 6)
       ! [0, 2, 2] <-- [0, 0, 2, 2]
       cprime%c2(2,2) = cprime%c2(2,2) + 0.5_ki * C(0) * coeffs%c2(2, 6)
       ! [0, 0, 2] <-- [0, 0, 2, 2]
       cprime%c2(2,4) = cprime%c2(2,4) + 0.5_ki * C(2) * coeffs%c2(2, 6)
       ! [0, 3, 3] <-- [0, 0, 3, 3]
       cprime%c2(3,2) = cprime%c2(3,2) + 0.5_ki * C(0) * coeffs%c2(3, 6)
       ! [0, 0, 3] <-- [0, 0, 3, 3]
       cprime%c2(3,4) = cprime%c2(3,4) + 0.5_ki * C(3) * coeffs%c2(3, 6)
       ! [1, 2, 2] <-- [1, 1, 2, 2]
       cprime%c2(4,2) = cprime%c2(4,2) + 0.5_ki * C(1) * coeffs%c2(4, 6)
       ! [1, 1, 2] <-- [1, 1, 2, 2]
       cprime%c2(4,4) = cprime%c2(4,4) + 0.5_ki * C(2) * coeffs%c2(4, 6)
       ! [1, 3, 3] <-- [1, 1, 3, 3]
       cprime%c2(5,2) = cprime%c2(5,2) + 0.5_ki * C(1) * coeffs%c2(5, 6)
       ! [1, 1, 3] <-- [1, 1, 3, 3]
       cprime%c2(5,4) = cprime%c2(5,4) + 0.5_ki * C(3) * coeffs%c2(5, 6)
       ! [2, 3, 3] <-- [2, 2, 3, 3]
       cprime%c2(6,2) = cprime%c2(6,2) + 0.5_ki * C(2) * coeffs%c2(6, 6)
       ! [2, 2, 3] <-- [2, 2, 3, 3]
       cprime%c2(6,4) = cprime%c2(6,4) + 0.5_ki * C(3) * coeffs%c2(6, 6)
       ! [0, 0, 0] <-- [0, 0, 0, 0]
       cprime%c1(1,3) = cprime%c1(1,3) + C(0) * coeffs%c1(1, 4)
       ! [1, 1, 1] <-- [1, 1, 1, 1]
       cprime%c1(2,3) = cprime%c1(2,3) + C(1) * coeffs%c1(2, 4)
       ! [2, 2, 2] <-- [2, 2, 2, 2]
       cprime%c1(3,3) = cprime%c1(3,3) + C(2) * coeffs%c1(3, 4)
       ! [3, 3, 3] <-- [3, 3, 3, 3]
       cprime%c1(4,3) = cprime%c1(4,3) + C(3) * coeffs%c1(4, 4)
       ! [0, 0, 1, 1] <-- [0, 0, 0, 1, 1]
       cprime%c2(1,5) = 3.0_ki/5.0_ki * C(0) * coeffs%c2(1, 9)
       ! [0, 0, 0, 1] <-- [0, 0, 0, 1, 1]
       cprime%c2(1,6) = 2.0_ki/5.0_ki * C(1) * coeffs%c2(1, 9)
       ! [0, 0, 2, 2] <-- [0, 0, 0, 2, 2]
       cprime%c2(2,5) = 3.0_ki/5.0_ki * C(0) * coeffs%c2(2, 9)
       ! [0, 0, 0, 2] <-- [0, 0, 0, 2, 2]
       cprime%c2(2,6) = 2.0_ki/5.0_ki * C(2) * coeffs%c2(2, 9)
       ! [0, 0, 3, 3] <-- [0, 0, 0, 3, 3]
       cprime%c2(3,5) = 3.0_ki/5.0_ki * C(0) * coeffs%c2(3, 9)
       ! [0, 0, 0, 3] <-- [0, 0, 0, 3, 3]
       cprime%c2(3,6) = 2.0_ki/5.0_ki * C(3) * coeffs%c2(3, 9)
       ! [1, 1, 2, 2] <-- [1, 1, 1, 2, 2]
       cprime%c2(4,5) = 3.0_ki/5.0_ki * C(1) * coeffs%c2(4, 9)
       ! [1, 1, 1, 2] <-- [1, 1, 1, 2, 2]
       cprime%c2(4,6) = 2.0_ki/5.0_ki * C(2) * coeffs%c2(4, 9)
       ! [1, 1, 3, 3] <-- [1, 1, 1, 3, 3]
       cprime%c2(5,5) = 3.0_ki/5.0_ki * C(1) * coeffs%c2(5, 9)
       ! [1, 1, 1, 3] <-- [1, 1, 1, 3, 3]
       cprime%c2(5,6) = 2.0_ki/5.0_ki * C(3) * coeffs%c2(5, 9)
       ! [2, 2, 3, 3] <-- [2, 2, 2, 3, 3]
       cprime%c2(6,5) = 3.0_ki/5.0_ki * C(2) * coeffs%c2(6, 9)
       ! [2, 2, 2, 3] <-- [2, 2, 2, 3, 3]
       cprime%c2(6,6) = 2.0_ki/5.0_ki * C(3) * coeffs%c2(6, 9)
       ! [0, 0, 1, 2] <-- [0, 0, 0, 1, 2]
       cprime%c3(1,4) = 3.0_ki/5.0_ki * C(0) * coeffs%c3(1, 10)
       ! [0, 0, 0, 2] <-- [0, 0, 0, 1, 2]
       cprime%c2(2,6) = cprime%c2(2,6) + 1.0_ki/5.0_ki * C(1) * coeffs%c3(1, 10)
       ! [0, 0, 0, 1] <-- [0, 0, 0, 1, 2]
       cprime%c2(1,6) = cprime%c2(1,6) + 1.0_ki/5.0_ki * C(2) * coeffs%c3(1, 10)
       ! [0, 0, 1, 3] <-- [0, 0, 0, 1, 3]
       cprime%c3(2,4) = 3.0_ki/5.0_ki * C(0) * coeffs%c3(2, 10)
       ! [0, 0, 0, 3] <-- [0, 0, 0, 1, 3]
       cprime%c2(3,6) = cprime%c2(3,6) + 1.0_ki/5.0_ki * C(1) * coeffs%c3(2, 10)
       ! [0, 0, 0, 1] <-- [0, 0, 0, 1, 3]
       cprime%c2(1,6) = cprime%c2(1,6) + 1.0_ki/5.0_ki * C(3) * coeffs%c3(2, 10)
       ! [0, 0, 2, 3] <-- [0, 0, 0, 2, 3]
       cprime%c3(3,4) = 3.0_ki/5.0_ki * C(0) * coeffs%c3(3, 10)
       ! [0, 0, 0, 3] <-- [0, 0, 0, 2, 3]
       cprime%c2(3,6) = cprime%c2(3,6) + 1.0_ki/5.0_ki * C(2) * coeffs%c3(3, 10)
       ! [0, 0, 0, 2] <-- [0, 0, 0, 2, 3]
       cprime%c2(2,6) = cprime%c2(2,6) + 1.0_ki/5.0_ki * C(3) * coeffs%c3(3, 10)
       ! [1, 1, 2, 3] <-- [1, 1, 1, 2, 3]
       cprime%c3(4,4) = 3.0_ki/5.0_ki * C(1) * coeffs%c3(4, 10)
       ! [1, 1, 1, 3] <-- [1, 1, 1, 2, 3]
       cprime%c2(5,6) = cprime%c2(5,6) + 1.0_ki/5.0_ki * C(2) * coeffs%c3(4, 10)
       ! [1, 1, 1, 2] <-- [1, 1, 1, 2, 3]
       cprime%c2(4,6) = cprime%c2(4,6) + 1.0_ki/5.0_ki * C(3) * coeffs%c3(4, 10)
       ! [1, 2, 3, 3] <-- [0, 1, 2, 3, 3]
       cprime%c3(4,2) = 1.0_ki/5.0_ki * C(0) * coeffs%c4(1, 2)
       ! [0, 2, 3, 3] <-- [0, 1, 2, 3, 3]
       cprime%c3(3,2) = 1.0_ki/5.0_ki * C(1) * coeffs%c4(1, 2)
       ! [0, 1, 3, 3] <-- [0, 1, 2, 3, 3]
       cprime%c3(2,2) = 1.0_ki/5.0_ki * C(2) * coeffs%c4(1, 2)
       ! [0, 1, 2, 3] <-- [0, 1, 2, 3, 3]
       cprime%c4(1,1) = 2.0_ki/5.0_ki * C(3) * coeffs%c4(1, 2)
       ! [1, 2, 2, 2] <-- [0, 1, 2, 2, 2]
       cprime%c2(4,3) = 1.0_ki/5.0_ki * C(0) * coeffs%c3(1, 3)
       ! [0, 2, 2, 2] <-- [0, 1, 2, 2, 2]
       cprime%c2(2,3) = 1.0_ki/5.0_ki * C(1) * coeffs%c3(1, 3)
       ! [0, 1, 2, 2] <-- [0, 1, 2, 2, 2]
       cprime%c3(1,2) = 3.0_ki/5.0_ki * C(2) * coeffs%c3(1, 3)
       ! [1, 3, 3, 3] <-- [0, 1, 3, 3, 3]
       cprime%c2(5,3) = 1.0_ki/5.0_ki * C(0) * coeffs%c3(2, 3)
       ! [0, 3, 3, 3] <-- [0, 1, 3, 3, 3]
       cprime%c2(3,3) = 1.0_ki/5.0_ki * C(1) * coeffs%c3(2, 3)
       ! [0, 1, 3, 3] <-- [0, 1, 3, 3, 3]
       cprime%c3(2,2) = cprime%c3(2,2) + 3.0_ki/5.0_ki * C(3) * coeffs%c3(2, 3)
       ! [2, 3, 3, 3] <-- [0, 2, 3, 3, 3]
       cprime%c2(6,3) = 1.0_ki/5.0_ki * C(0) * coeffs%c3(3, 3)
       ! [0, 3, 3, 3] <-- [0, 2, 3, 3, 3]
       cprime%c2(3,3) = cprime%c2(3,3) + 1.0_ki/5.0_ki * C(2) * coeffs%c3(3, 3)
       ! [0, 2, 3, 3] <-- [0, 2, 3, 3, 3]
       cprime%c3(3,2) = cprime%c3(3,2) + 3.0_ki/5.0_ki * C(3) * coeffs%c3(3, 3)
       ! [2, 3, 3, 3] <-- [1, 2, 3, 3, 3]
       cprime%c2(6,3) = cprime%c2(6,3) + 1.0_ki/5.0_ki * C(1) * coeffs%c3(4, 3)
       ! [1, 3, 3, 3] <-- [1, 2, 3, 3, 3]
       cprime%c2(5,3) = cprime%c2(5,3) + 1.0_ki/5.0_ki * C(2) * coeffs%c3(4, 3)
       ! [1, 2, 3, 3] <-- [1, 2, 3, 3, 3]
       cprime%c3(4,2) = cprime%c3(4,2) + 3.0_ki/5.0_ki * C(3) * coeffs%c3(4, 3)
       ! [0, 1, 2, 3] <-- [0, 0, 1, 2, 3]
       cprime%c4(1,1) = cprime%c4(1,1) + 2.0_ki/5.0_ki * C(0) * coeffs%c4(1, 5)
       ! [0, 0, 2, 3] <-- [0, 0, 1, 2, 3]
       cprime%c3(3,4) = cprime%c3(3,4) + 1.0_ki/5.0_ki * C(1) * coeffs%c4(1, 5)
       ! [0, 0, 1, 3] <-- [0, 0, 1, 2, 3]
       cprime%c3(2,4) = cprime%c3(2,4) + 1.0_ki/5.0_ki * C(2) * coeffs%c4(1, 5)
       ! [0, 0, 1, 2] <-- [0, 0, 1, 2, 3]
       cprime%c3(1,4) = cprime%c3(1,4) + 1.0_ki/5.0_ki * C(3) * coeffs%c4(1, 5)
       ! [1, 2, 2, 3] <-- [0, 1, 2, 2, 3]
       cprime%c3(4,3) = 1.0_ki/5.0_ki * C(0) * coeffs%c4(1, 3)
       ! [0, 2, 2, 3] <-- [0, 1, 2, 2, 3]
       cprime%c3(3,3) = 1.0_ki/5.0_ki * C(1) * coeffs%c4(1, 3)
       ! [0, 1, 2, 3] <-- [0, 1, 2, 2, 3]
       cprime%c4(1,1) = cprime%c4(1,1) + 2.0_ki/5.0_ki * C(2) * coeffs%c4(1, 3)
       ! [0, 1, 2, 2] <-- [0, 1, 2, 2, 3]
       cprime%c3(1,2) = cprime%c3(1,2) + 1.0_ki/5.0_ki * C(3) * coeffs%c4(1, 3)
       ! [1, 1, 1, 2] <-- [0, 1, 1, 1, 2]
       cprime%c2(4,6) = cprime%c2(4,6) + 1.0_ki/5.0_ki * C(0) * coeffs%c3(1, 6)
       ! [0, 1, 1, 2] <-- [0, 1, 1, 1, 2]
       cprime%c3(1,3) = 3.0_ki/5.0_ki * C(1) * coeffs%c3(1, 6)
       ! [0, 1, 1, 1] <-- [0, 1, 1, 1, 2]
       cprime%c2(1,3) = 1.0_ki/5.0_ki * C(2) * coeffs%c3(1, 6)
       ! [1, 1, 1, 3] <-- [0, 1, 1, 1, 3]
       cprime%c2(5,6) = cprime%c2(5,6) + 1.0_ki/5.0_ki * C(0) * coeffs%c3(2, 6)
       ! [0, 1, 1, 3] <-- [0, 1, 1, 1, 3]
       cprime%c3(2,3) = 3.0_ki/5.0_ki * C(1) * coeffs%c3(2, 6)
       ! [0, 1, 1, 1] <-- [0, 1, 1, 1, 3]
       cprime%c2(1,3) = cprime%c2(1,3) + 1.0_ki/5.0_ki * C(3) * coeffs%c3(2, 6)
       ! [2, 2, 2, 3] <-- [0, 2, 2, 2, 3]
       cprime%c2(6,6) = cprime%c2(6,6) + 1.0_ki/5.0_ki * C(0) * coeffs%c3(3, 6)
       ! [0, 2, 2, 3] <-- [0, 2, 2, 2, 3]
       cprime%c3(3,3) = cprime%c3(3,3) + 3.0_ki/5.0_ki * C(2) * coeffs%c3(3, 6)
       ! [0, 2, 2, 2] <-- [0, 2, 2, 2, 3]
       cprime%c2(2,3) = cprime%c2(2,3) + 1.0_ki/5.0_ki * C(3) * coeffs%c3(3, 6)
       ! [2, 2, 2, 3] <-- [1, 2, 2, 2, 3]
       cprime%c2(6,6) = cprime%c2(6,6) + 1.0_ki/5.0_ki * C(1) * coeffs%c3(4, 6)
       ! [1, 2, 2, 3] <-- [1, 2, 2, 2, 3]
       cprime%c3(4,3) = cprime%c3(4,3) + 3.0_ki/5.0_ki * C(2) * coeffs%c3(4, 6)
       ! [1, 2, 2, 2] <-- [1, 2, 2, 2, 3]
       cprime%c2(4,3) = cprime%c2(4,3) + 1.0_ki/5.0_ki * C(3) * coeffs%c3(4, 6)
       ! [1, 1, 1, 1] <-- [0, 1, 1, 1, 1]
       cprime%c1(2,4) = 1.0_ki/5.0_ki * C(0) * coeffs%c2(1, 4)
       ! [0, 1, 1, 1] <-- [0, 1, 1, 1, 1]
       cprime%c2(1,3) = cprime%c2(1,3) + 4.0_ki/5.0_ki * C(1) * coeffs%c2(1, 4)
       ! [2, 2, 2, 2] <-- [0, 2, 2, 2, 2]
       cprime%c1(3,4) = 1.0_ki/5.0_ki * C(0) * coeffs%c2(2, 4)
       ! [0, 2, 2, 2] <-- [0, 2, 2, 2, 2]
       cprime%c2(2,3) = cprime%c2(2,3) + 4.0_ki/5.0_ki * C(2) * coeffs%c2(2, 4)
       ! [3, 3, 3, 3] <-- [0, 3, 3, 3, 3]
       cprime%c1(4,4) = 1.0_ki/5.0_ki * C(0) * coeffs%c2(3, 4)
       ! [0, 3, 3, 3] <-- [0, 3, 3, 3, 3]
       cprime%c2(3,3) = cprime%c2(3,3) + 4.0_ki/5.0_ki * C(3) * coeffs%c2(3, 4)
       ! [2, 2, 2, 2] <-- [1, 2, 2, 2, 2]
       cprime%c1(3,4) = cprime%c1(3,4) + 1.0_ki/5.0_ki * C(1) * coeffs%c2(4, 4)
       ! [1, 2, 2, 2] <-- [1, 2, 2, 2, 2]
       cprime%c2(4,3) = cprime%c2(4,3) + 4.0_ki/5.0_ki * C(2) * coeffs%c2(4, 4)
       ! [3, 3, 3, 3] <-- [1, 3, 3, 3, 3]
       cprime%c1(4,4) = cprime%c1(4,4) + 1.0_ki/5.0_ki * C(1) * coeffs%c2(5, 4)
       ! [1, 3, 3, 3] <-- [1, 3, 3, 3, 3]
       cprime%c2(5,3) = cprime%c2(5,3) + 4.0_ki/5.0_ki * C(3) * coeffs%c2(5, 4)
       ! [3, 3, 3, 3] <-- [2, 3, 3, 3, 3]
       cprime%c1(4,4) = cprime%c1(4,4) + 1.0_ki/5.0_ki * C(2) * coeffs%c2(6, 4)
       ! [2, 3, 3, 3] <-- [2, 3, 3, 3, 3]
       cprime%c2(6,3) = cprime%c2(6,3) + 4.0_ki/5.0_ki * C(3) * coeffs%c2(6, 4)
       ! [1, 1, 2, 2] <-- [0, 1, 1, 2, 2]
       cprime%c2(4,5) = cprime%c2(4,5) + 1.0_ki/5.0_ki * C(0) * coeffs%c3(1, 5)
       ! [0, 1, 2, 2] <-- [0, 1, 1, 2, 2]
       cprime%c3(1,2) = cprime%c3(1,2) + 2.0_ki/5.0_ki * C(1) * coeffs%c3(1, 5)
       ! [0, 1, 1, 2] <-- [0, 1, 1, 2, 2]
       cprime%c3(1,3) = cprime%c3(1,3) + 2.0_ki/5.0_ki * C(2) * coeffs%c3(1, 5)
       ! [1, 1, 3, 3] <-- [0, 1, 1, 3, 3]
       cprime%c2(5,5) = cprime%c2(5,5) + 1.0_ki/5.0_ki * C(0) * coeffs%c3(2, 5)
       ! [0, 1, 3, 3] <-- [0, 1, 1, 3, 3]
       cprime%c3(2,2) = cprime%c3(2,2) + 2.0_ki/5.0_ki * C(1) * coeffs%c3(2, 5)
       ! [0, 1, 1, 3] <-- [0, 1, 1, 3, 3]
       cprime%c3(2,3) = cprime%c3(2,3) + 2.0_ki/5.0_ki * C(3) * coeffs%c3(2, 5)
       ! [2, 2, 3, 3] <-- [0, 2, 2, 3, 3]
       cprime%c2(6,5) = cprime%c2(6,5) + 1.0_ki/5.0_ki * C(0) * coeffs%c3(3, 5)
       ! [0, 2, 3, 3] <-- [0, 2, 2, 3, 3]
       cprime%c3(3,2) = cprime%c3(3,2) + 2.0_ki/5.0_ki * C(2) * coeffs%c3(3, 5)
       ! [0, 2, 2, 3] <-- [0, 2, 2, 3, 3]
       cprime%c3(3,3) = cprime%c3(3,3) + 2.0_ki/5.0_ki * C(3) * coeffs%c3(3, 5)
       ! [2, 2, 3, 3] <-- [1, 2, 2, 3, 3]
       cprime%c2(6,5) = cprime%c2(6,5) + 1.0_ki/5.0_ki * C(1) * coeffs%c3(4, 5)
       ! [1, 2, 3, 3] <-- [1, 2, 2, 3, 3]
       cprime%c3(4,2) = cprime%c3(4,2) + 2.0_ki/5.0_ki * C(2) * coeffs%c3(4, 5)
       ! [1, 2, 2, 3] <-- [1, 2, 2, 3, 3]
       cprime%c3(4,3) = cprime%c3(4,3) + 2.0_ki/5.0_ki * C(3) * coeffs%c3(4, 5)
       ! [0, 0, 0, 0] <-- [0, 0, 0, 0, 0]
       cprime%c1(1,4) = C(0) * coeffs%c1(1, 5)
       ! [1, 1, 1, 1] <-- [1, 1, 1, 1, 1]
       cprime%c1(2,4) = cprime%c1(2,4) + C(1) * coeffs%c1(2, 5)
       ! [2, 2, 2, 2] <-- [2, 2, 2, 2, 2]
       cprime%c1(3,4) = cprime%c1(3,4) + C(2) * coeffs%c1(3, 5)
       ! [3, 3, 3, 3] <-- [3, 3, 3, 3, 3]
       cprime%c1(4,4) = cprime%c1(4,4) + C(3) * coeffs%c1(4, 5)
       ! [0, 1, 1, 1] <-- [0, 0, 1, 1, 1]
       cprime%c2(1,3) = cprime%c2(1,3) + 2.0_ki/5.0_ki * C(0) * coeffs%c2(1, 7)
       ! [0, 0, 1, 1] <-- [0, 0, 1, 1, 1]
       cprime%c2(1,5) = cprime%c2(1,5) + 3.0_ki/5.0_ki * C(1) * coeffs%c2(1, 7)
       ! [0, 2, 2, 2] <-- [0, 0, 2, 2, 2]
       cprime%c2(2,3) = cprime%c2(2,3) + 2.0_ki/5.0_ki * C(0) * coeffs%c2(2, 7)
       ! [0, 0, 2, 2] <-- [0, 0, 2, 2, 2]
       cprime%c2(2,5) = cprime%c2(2,5) + 3.0_ki/5.0_ki * C(2) * coeffs%c2(2, 7)
       ! [0, 3, 3, 3] <-- [0, 0, 3, 3, 3]
       cprime%c2(3,3) = cprime%c2(3,3) + 2.0_ki/5.0_ki * C(0) * coeffs%c2(3, 7)
       ! [0, 0, 3, 3] <-- [0, 0, 3, 3, 3]
       cprime%c2(3,5) = cprime%c2(3,5) + 3.0_ki/5.0_ki * C(3) * coeffs%c2(3, 7)
       ! [1, 2, 2, 2] <-- [1, 1, 2, 2, 2]
       cprime%c2(4,3) = cprime%c2(4,3) + 2.0_ki/5.0_ki * C(1) * coeffs%c2(4, 7)
       ! [1, 1, 2, 2] <-- [1, 1, 2, 2, 2]
       cprime%c2(4,5) = cprime%c2(4,5) + 3.0_ki/5.0_ki * C(2) * coeffs%c2(4, 7)
       ! [1, 3, 3, 3] <-- [1, 1, 3, 3, 3]
       cprime%c2(5,3) = cprime%c2(5,3) + 2.0_ki/5.0_ki * C(1) * coeffs%c2(5, 7)
       ! [1, 1, 3, 3] <-- [1, 1, 3, 3, 3]
       cprime%c2(5,5) = cprime%c2(5,5) + 3.0_ki/5.0_ki * C(3) * coeffs%c2(5, 7)
       ! [2, 3, 3, 3] <-- [2, 2, 3, 3, 3]
       cprime%c2(6,3) = cprime%c2(6,3) + 2.0_ki/5.0_ki * C(2) * coeffs%c2(6, 7)
       ! [2, 2, 3, 3] <-- [2, 2, 3, 3, 3]
       cprime%c2(6,5) = cprime%c2(6,5) + 3.0_ki/5.0_ki * C(3) * coeffs%c2(6, 7)
       ! [0, 1, 2, 2] <-- [0, 0, 1, 2, 2]
       cprime%c3(1,2) = cprime%c3(1,2) + 2.0_ki/5.0_ki * C(0) * coeffs%c3(1, 8)
       ! [0, 0, 2, 2] <-- [0, 0, 1, 2, 2]
       cprime%c2(2,5) = cprime%c2(2,5) + 1.0_ki/5.0_ki * C(1) * coeffs%c3(1, 8)
       ! [0, 0, 1, 2] <-- [0, 0, 1, 2, 2]
       cprime%c3(1,4) = cprime%c3(1,4) + 2.0_ki/5.0_ki * C(2) * coeffs%c3(1, 8)
       ! [0, 1, 3, 3] <-- [0, 0, 1, 3, 3]
       cprime%c3(2,2) = cprime%c3(2,2) + 2.0_ki/5.0_ki * C(0) * coeffs%c3(2, 8)
       ! [0, 0, 3, 3] <-- [0, 0, 1, 3, 3]
       cprime%c2(3,5) = cprime%c2(3,5) + 1.0_ki/5.0_ki * C(1) * coeffs%c3(2, 8)
       ! [0, 0, 1, 3] <-- [0, 0, 1, 3, 3]
       cprime%c3(2,4) = cprime%c3(2,4) + 2.0_ki/5.0_ki * C(3) * coeffs%c3(2, 8)
       ! [0, 2, 3, 3] <-- [0, 0, 2, 3, 3]
       cprime%c3(3,2) = cprime%c3(3,2) + 2.0_ki/5.0_ki * C(0) * coeffs%c3(3, 8)
       ! [0, 0, 3, 3] <-- [0, 0, 2, 3, 3]
       cprime%c2(3,5) = cprime%c2(3,5) + 1.0_ki/5.0_ki * C(2) * coeffs%c3(3, 8)
       ! [0, 0, 2, 3] <-- [0, 0, 2, 3, 3]
       cprime%c3(3,4) = cprime%c3(3,4) + 2.0_ki/5.0_ki * C(3) * coeffs%c3(3, 8)
       ! [1, 2, 3, 3] <-- [1, 1, 2, 3, 3]
       cprime%c3(4,2) = cprime%c3(4,2) + 2.0_ki/5.0_ki * C(1) * coeffs%c3(4, 8)
       ! [1, 1, 3, 3] <-- [1, 1, 2, 3, 3]
       cprime%c2(5,5) = cprime%c2(5,5) + 1.0_ki/5.0_ki * C(2) * coeffs%c3(4, 8)
       ! [1, 1, 2, 3] <-- [1, 1, 2, 3, 3]
       cprime%c3(4,4) = cprime%c3(4,4) + 2.0_ki/5.0_ki * C(3) * coeffs%c3(4, 8)
       ! [0, 0, 0, 1] <-- [0, 0, 0, 0, 1]
       cprime%c2(1,6) = cprime%c2(1,6) + 4.0_ki/5.0_ki * C(0) * coeffs%c2(1, 10)
       ! [0, 0, 0, 0] <-- [0, 0, 0, 0, 1]
       cprime%c1(1,4) = cprime%c1(1,4) + 1.0_ki/5.0_ki * C(1) * coeffs%c2(1, 10)
       ! [0, 0, 0, 2] <-- [0, 0, 0, 0, 2]
       cprime%c2(2,6) = cprime%c2(2,6) + 4.0_ki/5.0_ki * C(0) * coeffs%c2(2, 10)
       ! [0, 0, 0, 0] <-- [0, 0, 0, 0, 2]
       cprime%c1(1,4) = cprime%c1(1,4) + 1.0_ki/5.0_ki * C(2) * coeffs%c2(2, 10)
       ! [0, 0, 0, 3] <-- [0, 0, 0, 0, 3]
       cprime%c2(3,6) = cprime%c2(3,6) + 4.0_ki/5.0_ki * C(0) * coeffs%c2(3, 10)
       ! [0, 0, 0, 0] <-- [0, 0, 0, 0, 3]
       cprime%c1(1,4) = cprime%c1(1,4) + 1.0_ki/5.0_ki * C(3) * coeffs%c2(3, 10)
       ! [1, 1, 1, 2] <-- [1, 1, 1, 1, 2]
       cprime%c2(4,6) = cprime%c2(4,6) + 4.0_ki/5.0_ki * C(1) * coeffs%c2(4, 10)
       ! [1, 1, 1, 1] <-- [1, 1, 1, 1, 2]
       cprime%c1(2,4) = cprime%c1(2,4) + 1.0_ki/5.0_ki * C(2) * coeffs%c2(4, 10)
       ! [1, 1, 1, 3] <-- [1, 1, 1, 1, 3]
       cprime%c2(5,6) = cprime%c2(5,6) + 4.0_ki/5.0_ki * C(1) * coeffs%c2(5, 10)
       ! [1, 1, 1, 1] <-- [1, 1, 1, 1, 3]
       cprime%c1(2,4) = cprime%c1(2,4) + 1.0_ki/5.0_ki * C(3) * coeffs%c2(5, 10)
       ! [2, 2, 2, 3] <-- [2, 2, 2, 2, 3]
       cprime%c2(6,6) = cprime%c2(6,6) + 4.0_ki/5.0_ki * C(2) * coeffs%c2(6, 10)
       ! [2, 2, 2, 2] <-- [2, 2, 2, 2, 3]
       cprime%c1(3,4) = cprime%c1(3,4) + 1.0_ki/5.0_ki * C(3) * coeffs%c2(6, 10)
       ! [0, 1, 1, 2] <-- [0, 0, 1, 1, 2]
       cprime%c3(1,3) = cprime%c3(1,3) + 2.0_ki/5.0_ki * C(0) * coeffs%c3(1, 9)
       ! [0, 0, 1, 2] <-- [0, 0, 1, 1, 2]
       cprime%c3(1,4) = cprime%c3(1,4) + 2.0_ki/5.0_ki * C(1) * coeffs%c3(1, 9)
       ! [0, 0, 1, 1] <-- [0, 0, 1, 1, 2]
       cprime%c2(1,5) = cprime%c2(1,5) + 1.0_ki/5.0_ki * C(2) * coeffs%c3(1, 9)
       ! [0, 1, 1, 3] <-- [0, 0, 1, 1, 3]
       cprime%c3(2,3) = cprime%c3(2,3) + 2.0_ki/5.0_ki * C(0) * coeffs%c3(2, 9)
       ! [0, 0, 1, 3] <-- [0, 0, 1, 1, 3]
       cprime%c3(2,4) = cprime%c3(2,4) + 2.0_ki/5.0_ki * C(1) * coeffs%c3(2, 9)
       ! [0, 0, 1, 1] <-- [0, 0, 1, 1, 3]
       cprime%c2(1,5) = cprime%c2(1,5) + 1.0_ki/5.0_ki * C(3) * coeffs%c3(2, 9)
       ! [0, 2, 2, 3] <-- [0, 0, 2, 2, 3]
       cprime%c3(3,3) = cprime%c3(3,3) + 2.0_ki/5.0_ki * C(0) * coeffs%c3(3, 9)
       ! [0, 0, 2, 3] <-- [0, 0, 2, 2, 3]
       cprime%c3(3,4) = cprime%c3(3,4) + 2.0_ki/5.0_ki * C(2) * coeffs%c3(3, 9)
       ! [0, 0, 2, 2] <-- [0, 0, 2, 2, 3]
       cprime%c2(2,5) = cprime%c2(2,5) + 1.0_ki/5.0_ki * C(3) * coeffs%c3(3, 9)
       ! [1, 2, 2, 3] <-- [1, 1, 2, 2, 3]
       cprime%c3(4,3) = cprime%c3(4,3) + 2.0_ki/5.0_ki * C(1) * coeffs%c3(4, 9)
       ! [1, 1, 2, 3] <-- [1, 1, 2, 2, 3]
       cprime%c3(4,4) = cprime%c3(4,4) + 2.0_ki/5.0_ki * C(2) * coeffs%c3(4, 9)
       ! [1, 1, 2, 2] <-- [1, 1, 2, 2, 3]
       cprime%c2(4,5) = cprime%c2(4,5) + 1.0_ki/5.0_ki * C(3) * coeffs%c3(4, 9)
       ! [1, 1, 2, 3] <-- [0, 1, 1, 2, 3]
       cprime%c3(4,4) = cprime%c3(4,4) + 1.0_ki/5.0_ki * C(0) * coeffs%c4(1, 4)
       ! [0, 1, 2, 3] <-- [0, 1, 1, 2, 3]
       cprime%c4(1,1) = cprime%c4(1,1) + 2.0_ki/5.0_ki * C(1) * coeffs%c4(1, 4)
       ! [0, 1, 1, 3] <-- [0, 1, 1, 2, 3]
       cprime%c3(2,3) = cprime%c3(2,3) + 1.0_ki/5.0_ki * C(2) * coeffs%c4(1, 4)
       ! [0, 1, 1, 2] <-- [0, 1, 1, 2, 3]
       cprime%c3(1,3) = cprime%c3(1,3) + 1.0_ki/5.0_ki * C(3) * coeffs%c4(1, 4)
       amp = amp - contract5_4(cprime, momenta, new_set)
    end do
 end function contract6_5
 !****f* src/interface/tens_comb/contract6_6
 ! NAME
 !
 ! Function contract6_6
 !
 ! USAGE
 !
 !  amp = contract6_6(coeffs, momenta, b_set)
 !
 ! DESCRIPTION
 !
 !  Contracts the 6-point rank 6 tensor integral
 !  with its coefficients.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_6)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !  * b_set   -- the set of pinched propagators as integer number (bit-set)
 !
 ! RETURN VALUE
 !
 !  The result of contracting the tensor integral with its coefficient.
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 function     contract6_6(coeffs, momenta, b_set) result(amp)
    ! generated by: write_function_contract
    implicit none
    type(coeff_type_6), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in) :: momenta
    integer, intent(in) :: b_set
    type(form_factor) :: amp
    ! generated by: write_contract_split
    complex(ki), dimension(0:3) :: C
    type(coeff_type_5) :: cprime
    integer :: i, pnch, new_set
    integer, dimension(1) :: pnch_set
    integer, dimension(6) :: unpinched
    unpinched = unpackb(pminus(b_ref, b_set), 6)
    amp = coeffs%c0 * a60(b_set)
    do pnch=1,6
       ! Eq. (54) in hep-ph/0504267
       C(:) = 0.0_ki
       do i=1,6
          C(:) = C(:) + inv_s(unpinched(pnch),unpinched(i),b_set) * &
               & momenta(unpinched(i),:)
       end do
       ! Eq. (63) in hep-ph/0504267
       pnch_set(1) = pnch
       new_set = punion(packb(pnch_set),b_set)
       ! [] <-- [0]
       cprime%c0 = C(0) * coeffs%c1(1, 1)
       ! [] <-- [1]
       cprime%c0 = cprime%c0 + C(1) * coeffs%c1(2, 1)
       ! [] <-- [2]
       cprime%c0 = cprime%c0 + C(2) * coeffs%c1(3, 1)
       ! [] <-- [3]
       cprime%c0 = cprime%c0 + C(3) * coeffs%c1(4, 1)
       ! [0] <-- [0, 0]
       cprime%c1(1,1) = C(0) * coeffs%c1(1, 2)
       ! [1] <-- [1, 1]
       cprime%c1(2,1) = C(1) * coeffs%c1(2, 2)
       ! [2] <-- [2, 2]
       cprime%c1(3,1) = C(2) * coeffs%c1(3, 2)
       ! [3] <-- [3, 3]
       cprime%c1(4,1) = C(3) * coeffs%c1(4, 2)
       ! [1] <-- [0, 1]
       cprime%c1(2,1) = cprime%c1(2,1) + 0.5_ki * C(0) * coeffs%c2(1, 1)
       ! [0] <-- [0, 1]
       cprime%c1(1,1) = cprime%c1(1,1) + 0.5_ki * C(1) * coeffs%c2(1, 1)
       ! [2] <-- [0, 2]
       cprime%c1(3,1) = cprime%c1(3,1) + 0.5_ki * C(0) * coeffs%c2(2, 1)
       ! [0] <-- [0, 2]
       cprime%c1(1,1) = cprime%c1(1,1) + 0.5_ki * C(2) * coeffs%c2(2, 1)
       ! [3] <-- [0, 3]
       cprime%c1(4,1) = cprime%c1(4,1) + 0.5_ki * C(0) * coeffs%c2(3, 1)
       ! [0] <-- [0, 3]
       cprime%c1(1,1) = cprime%c1(1,1) + 0.5_ki * C(3) * coeffs%c2(3, 1)
       ! [2] <-- [1, 2]
       cprime%c1(3,1) = cprime%c1(3,1) + 0.5_ki * C(1) * coeffs%c2(4, 1)
       ! [1] <-- [1, 2]
       cprime%c1(2,1) = cprime%c1(2,1) + 0.5_ki * C(2) * coeffs%c2(4, 1)
       ! [3] <-- [1, 3]
       cprime%c1(4,1) = cprime%c1(4,1) + 0.5_ki * C(1) * coeffs%c2(5, 1)
       ! [1] <-- [1, 3]
       cprime%c1(2,1) = cprime%c1(2,1) + 0.5_ki * C(3) * coeffs%c2(5, 1)
       ! [3] <-- [2, 3]
       cprime%c1(4,1) = cprime%c1(4,1) + 0.5_ki * C(2) * coeffs%c2(6, 1)
       ! [2] <-- [2, 3]
       cprime%c1(3,1) = cprime%c1(3,1) + 0.5_ki * C(3) * coeffs%c2(6, 1)
       ! [1, 1] <-- [0, 1, 1]
       cprime%c1(2,2) = 1.0_ki/3.0_ki * C(0) * coeffs%c2(1, 2)
       ! [0, 1] <-- [0, 1, 1]
       cprime%c2(1,1) = 2.0_ki/3.0_ki * C(1) * coeffs%c2(1, 2)
       ! [2, 2] <-- [0, 2, 2]
       cprime%c1(3,2) = 1.0_ki/3.0_ki * C(0) * coeffs%c2(2, 2)
       ! [0, 2] <-- [0, 2, 2]
       cprime%c2(2,1) = 2.0_ki/3.0_ki * C(2) * coeffs%c2(2, 2)
       ! [3, 3] <-- [0, 3, 3]
       cprime%c1(4,2) = 1.0_ki/3.0_ki * C(0) * coeffs%c2(3, 2)
       ! [0, 3] <-- [0, 3, 3]
       cprime%c2(3,1) = 2.0_ki/3.0_ki * C(3) * coeffs%c2(3, 2)
       ! [2, 2] <-- [1, 2, 2]
       cprime%c1(3,2) = cprime%c1(3,2) + 1.0_ki/3.0_ki * C(1) * coeffs%c2(4, 2)
       ! [1, 2] <-- [1, 2, 2]
       cprime%c2(4,1) = 2.0_ki/3.0_ki * C(2) * coeffs%c2(4, 2)
       ! [3, 3] <-- [1, 3, 3]
       cprime%c1(4,2) = cprime%c1(4,2) + 1.0_ki/3.0_ki * C(1) * coeffs%c2(5, 2)
       ! [1, 3] <-- [1, 3, 3]
       cprime%c2(5,1) = 2.0_ki/3.0_ki * C(3) * coeffs%c2(5, 2)
       ! [3, 3] <-- [2, 3, 3]
       cprime%c1(4,2) = cprime%c1(4,2) + 1.0_ki/3.0_ki * C(2) * coeffs%c2(6, 2)
       ! [2, 3] <-- [2, 3, 3]
       cprime%c2(6,1) = 2.0_ki/3.0_ki * C(3) * coeffs%c2(6, 2)
       ! [1, 2] <-- [0, 1, 2]
       cprime%c2(4,1) = cprime%c2(4,1) + 1.0_ki/3.0_ki * C(0) * coeffs%c3(1, 1)
       ! [0, 2] <-- [0, 1, 2]
       cprime%c2(2,1) = cprime%c2(2,1) + 1.0_ki/3.0_ki * C(1) * coeffs%c3(1, 1)
       ! [0, 1] <-- [0, 1, 2]
       cprime%c2(1,1) = cprime%c2(1,1) + 1.0_ki/3.0_ki * C(2) * coeffs%c3(1, 1)
       ! [1, 3] <-- [0, 1, 3]
       cprime%c2(5,1) = cprime%c2(5,1) + 1.0_ki/3.0_ki * C(0) * coeffs%c3(2, 1)
       ! [0, 3] <-- [0, 1, 3]
       cprime%c2(3,1) = cprime%c2(3,1) + 1.0_ki/3.0_ki * C(1) * coeffs%c3(2, 1)
       ! [0, 1] <-- [0, 1, 3]
       cprime%c2(1,1) = cprime%c2(1,1) + 1.0_ki/3.0_ki * C(3) * coeffs%c3(2, 1)
       ! [2, 3] <-- [0, 2, 3]
       cprime%c2(6,1) = cprime%c2(6,1) + 1.0_ki/3.0_ki * C(0) * coeffs%c3(3, 1)
       ! [0, 3] <-- [0, 2, 3]
       cprime%c2(3,1) = cprime%c2(3,1) + 1.0_ki/3.0_ki * C(2) * coeffs%c3(3, 1)
       ! [0, 2] <-- [0, 2, 3]
       cprime%c2(2,1) = cprime%c2(2,1) + 1.0_ki/3.0_ki * C(3) * coeffs%c3(3, 1)
       ! [2, 3] <-- [1, 2, 3]
       cprime%c2(6,1) = cprime%c2(6,1) + 1.0_ki/3.0_ki * C(1) * coeffs%c3(4, 1)
       ! [1, 3] <-- [1, 2, 3]
       cprime%c2(5,1) = cprime%c2(5,1) + 1.0_ki/3.0_ki * C(2) * coeffs%c3(4, 1)
       ! [1, 2] <-- [1, 2, 3]
       cprime%c2(4,1) = cprime%c2(4,1) + 1.0_ki/3.0_ki * C(3) * coeffs%c3(4, 1)
       ! [0, 0] <-- [0, 0, 0]
       cprime%c1(1,2) = C(0) * coeffs%c1(1, 3)
       ! [1, 1] <-- [1, 1, 1]
       cprime%c1(2,2) = cprime%c1(2,2) + C(1) * coeffs%c1(2, 3)
       ! [2, 2] <-- [2, 2, 2]
       cprime%c1(3,2) = cprime%c1(3,2) + C(2) * coeffs%c1(3, 3)
       ! [3, 3] <-- [3, 3, 3]
       cprime%c1(4,2) = cprime%c1(4,2) + C(3) * coeffs%c1(4, 3)
       ! [0, 1] <-- [0, 0, 1]
       cprime%c2(1,1) = cprime%c2(1,1) + 2.0_ki/3.0_ki * C(0) * coeffs%c2(1, 6)
       ! [0, 0] <-- [0, 0, 1]
       cprime%c1(1,2) = cprime%c1(1,2) + 1.0_ki/3.0_ki * C(1) * coeffs%c2(1, 6)
       ! [0, 2] <-- [0, 0, 2]
       cprime%c2(2,1) = cprime%c2(2,1) + 2.0_ki/3.0_ki * C(0) * coeffs%c2(2, 6)
       ! [0, 0] <-- [0, 0, 2]
       cprime%c1(1,2) = cprime%c1(1,2) + 1.0_ki/3.0_ki * C(2) * coeffs%c2(2, 6)
       ! [0, 3] <-- [0, 0, 3]
       cprime%c2(3,1) = cprime%c2(3,1) + 2.0_ki/3.0_ki * C(0) * coeffs%c2(3, 6)
       ! [0, 0] <-- [0, 0, 3]
       cprime%c1(1,2) = cprime%c1(1,2) + 1.0_ki/3.0_ki * C(3) * coeffs%c2(3, 6)
       ! [1, 2] <-- [1, 1, 2]
       cprime%c2(4,1) = cprime%c2(4,1) + 2.0_ki/3.0_ki * C(1) * coeffs%c2(4, 6)
       ! [1, 1] <-- [1, 1, 2]
       cprime%c1(2,2) = cprime%c1(2,2) + 1.0_ki/3.0_ki * C(2) * coeffs%c2(4, 6)
       ! [1, 3] <-- [1, 1, 3]
       cprime%c2(5,1) = cprime%c2(5,1) + 2.0_ki/3.0_ki * C(1) * coeffs%c2(5, 6)
       ! [1, 1] <-- [1, 1, 3]
       cprime%c1(2,2) = cprime%c1(2,2) + 1.0_ki/3.0_ki * C(3) * coeffs%c2(5, 6)
       ! [2, 3] <-- [2, 2, 3]
       cprime%c2(6,1) = cprime%c2(6,1) + 2.0_ki/3.0_ki * C(2) * coeffs%c2(6, 6)
       ! [2, 2] <-- [2, 2, 3]
       cprime%c1(3,2) = cprime%c1(3,2) + 1.0_ki/3.0_ki * C(3) * coeffs%c2(6, 6)
       ! [1, 1, 2] <-- [0, 1, 1, 2]
       cprime%c2(4,5) = 0.25_ki * C(0) * coeffs%c3(1, 5)
       ! [0, 1, 2] <-- [0, 1, 1, 2]
       cprime%c3(1,1) = 0.5_ki * C(1) * coeffs%c3(1, 5)
       ! [0, 1, 1] <-- [0, 1, 1, 2]
       cprime%c2(1,2) = 0.25_ki * C(2) * coeffs%c3(1, 5)
       ! [1, 1, 3] <-- [0, 1, 1, 3]
       cprime%c2(5,5) = 0.25_ki * C(0) * coeffs%c3(2, 5)
       ! [0, 1, 3] <-- [0, 1, 1, 3]
       cprime%c3(2,1) = 0.5_ki * C(1) * coeffs%c3(2, 5)
       ! [0, 1, 1] <-- [0, 1, 1, 3]
       cprime%c2(1,2) = cprime%c2(1,2) + 0.25_ki * C(3) * coeffs%c3(2, 5)
       ! [2, 2, 3] <-- [0, 2, 2, 3]
       cprime%c2(6,5) = 0.25_ki * C(0) * coeffs%c3(3, 5)
       ! [0, 2, 3] <-- [0, 2, 2, 3]
       cprime%c3(3,1) = 0.5_ki * C(2) * coeffs%c3(3, 5)
       ! [0, 2, 2] <-- [0, 2, 2, 3]
       cprime%c2(2,2) = 0.25_ki * C(3) * coeffs%c3(3, 5)
       ! [2, 2, 3] <-- [1, 2, 2, 3]
       cprime%c2(6,5) = cprime%c2(6,5) + 0.25_ki * C(1) * coeffs%c3(4, 5)
       ! [1, 2, 3] <-- [1, 2, 2, 3]
       cprime%c3(4,1) = 0.5_ki * C(2) * coeffs%c3(4, 5)
       ! [1, 2, 2] <-- [1, 2, 2, 3]
       cprime%c2(4,2) = 0.25_ki * C(3) * coeffs%c3(4, 5)
       ! [1, 1, 1] <-- [0, 1, 1, 1]
       cprime%c1(2,3) = 0.25_ki * C(0) * coeffs%c2(1, 3)
       ! [0, 1, 1] <-- [0, 1, 1, 1]
       cprime%c2(1,2) = cprime%c2(1,2) + 3.0_ki/4.0_ki * C(1) * coeffs%c2(1, 3)
       ! [2, 2, 2] <-- [0, 2, 2, 2]
       cprime%c1(3,3) = 0.25_ki * C(0) * coeffs%c2(2, 3)
       ! [0, 2, 2] <-- [0, 2, 2, 2]
       cprime%c2(2,2) = cprime%c2(2,2) + 3.0_ki/4.0_ki * C(2) * coeffs%c2(2, 3)
       ! [3, 3, 3] <-- [0, 3, 3, 3]
       cprime%c1(4,3) = 0.25_ki * C(0) * coeffs%c2(3, 3)
       ! [0, 3, 3] <-- [0, 3, 3, 3]
       cprime%c2(3,2) = 3.0_ki/4.0_ki * C(3) * coeffs%c2(3, 3)
       ! [2, 2, 2] <-- [1, 2, 2, 2]
       cprime%c1(3,3) = cprime%c1(3,3) + 0.25_ki * C(1) * coeffs%c2(4, 3)
       ! [1, 2, 2] <-- [1, 2, 2, 2]
       cprime%c2(4,2) = cprime%c2(4,2) + 3.0_ki/4.0_ki * C(2) * coeffs%c2(4, 3)
       ! [3, 3, 3] <-- [1, 3, 3, 3]
       cprime%c1(4,3) = cprime%c1(4,3) + 0.25_ki * C(1) * coeffs%c2(5, 3)
       ! [1, 3, 3] <-- [1, 3, 3, 3]
       cprime%c2(5,2) = 3.0_ki/4.0_ki * C(3) * coeffs%c2(5, 3)
       ! [3, 3, 3] <-- [2, 3, 3, 3]
       cprime%c1(4,3) = cprime%c1(4,3) + 0.25_ki * C(2) * coeffs%c2(6, 3)
       ! [2, 3, 3] <-- [2, 3, 3, 3]
       cprime%c2(6,2) = 3.0_ki/4.0_ki * C(3) * coeffs%c2(6, 3)
       ! [0, 1, 2] <-- [0, 0, 1, 2]
       cprime%c3(1,1) = cprime%c3(1,1) + 0.5_ki * C(0) * coeffs%c3(1, 11)
       ! [0, 0, 2] <-- [0, 0, 1, 2]
       cprime%c2(2,5) = 0.25_ki * C(1) * coeffs%c3(1, 11)
       ! [0, 0, 1] <-- [0, 0, 1, 2]
       cprime%c2(1,5) = 0.25_ki * C(2) * coeffs%c3(1, 11)
       ! [0, 1, 3] <-- [0, 0, 1, 3]
       cprime%c3(2,1) = cprime%c3(2,1) + 0.5_ki * C(0) * coeffs%c3(2, 11)
       ! [0, 0, 3] <-- [0, 0, 1, 3]
       cprime%c2(3,5) = 0.25_ki * C(1) * coeffs%c3(2, 11)
       ! [0, 0, 1] <-- [0, 0, 1, 3]
       cprime%c2(1,5) = cprime%c2(1,5) + 0.25_ki * C(3) * coeffs%c3(2, 11)
       ! [0, 2, 3] <-- [0, 0, 2, 3]
       cprime%c3(3,1) = cprime%c3(3,1) + 0.5_ki * C(0) * coeffs%c3(3, 11)
       ! [0, 0, 3] <-- [0, 0, 2, 3]
       cprime%c2(3,5) = cprime%c2(3,5) + 0.25_ki * C(2) * coeffs%c3(3, 11)
       ! [0, 0, 2] <-- [0, 0, 2, 3]
       cprime%c2(2,5) = cprime%c2(2,5) + 0.25_ki * C(3) * coeffs%c3(3, 11)
       ! [1, 2, 3] <-- [1, 1, 2, 3]
       cprime%c3(4,1) = cprime%c3(4,1) + 0.5_ki * C(1) * coeffs%c3(4, 11)
       ! [1, 1, 3] <-- [1, 1, 2, 3]
       cprime%c2(5,5) = cprime%c2(5,5) + 0.25_ki * C(2) * coeffs%c3(4, 11)
       ! [1, 1, 2] <-- [1, 1, 2, 3]
       cprime%c2(4,5) = cprime%c2(4,5) + 0.25_ki * C(3) * coeffs%c3(4, 11)
       ! [0, 0, 1] <-- [0, 0, 0, 1]
       cprime%c2(1,5) = cprime%c2(1,5) + 3.0_ki/4.0_ki * C(0) * coeffs%c2(1, 10)
       ! [0, 0, 0] <-- [0, 0, 0, 1]
       cprime%c1(1,3) = 0.25_ki * C(1) * coeffs%c2(1, 10)
       ! [0, 0, 2] <-- [0, 0, 0, 2]
       cprime%c2(2,5) = cprime%c2(2,5) + 3.0_ki/4.0_ki * C(0) * coeffs%c2(2, 10)
       ! [0, 0, 0] <-- [0, 0, 0, 2]
       cprime%c1(1,3) = cprime%c1(1,3) + 0.25_ki * C(2) * coeffs%c2(2, 10)
       ! [0, 0, 3] <-- [0, 0, 0, 3]
       cprime%c2(3,5) = cprime%c2(3,5) + 3.0_ki/4.0_ki * C(0) * coeffs%c2(3, 10)
       ! [0, 0, 0] <-- [0, 0, 0, 3]
       cprime%c1(1,3) = cprime%c1(1,3) + 0.25_ki * C(3) * coeffs%c2(3, 10)
       ! [1, 1, 2] <-- [1, 1, 1, 2]
       cprime%c2(4,5) = cprime%c2(4,5) + 3.0_ki/4.0_ki * C(1) * coeffs%c2(4, 10)
       ! [1, 1, 1] <-- [1, 1, 1, 2]
       cprime%c1(2,3) = cprime%c1(2,3) + 0.25_ki * C(2) * coeffs%c2(4, 10)
       ! [1, 1, 3] <-- [1, 1, 1, 3]
       cprime%c2(5,5) = cprime%c2(5,5) + 3.0_ki/4.0_ki * C(1) * coeffs%c2(5, 10)
       ! [1, 1, 1] <-- [1, 1, 1, 3]
       cprime%c1(2,3) = cprime%c1(2,3) + 0.25_ki * C(3) * coeffs%c2(5, 10)
       ! [2, 2, 3] <-- [2, 2, 2, 3]
       cprime%c2(6,5) = cprime%c2(6,5) + 3.0_ki/4.0_ki * C(2) * coeffs%c2(6, 10)
       ! [2, 2, 2] <-- [2, 2, 2, 3]
       cprime%c1(3,3) = cprime%c1(3,3) + 0.25_ki * C(3) * coeffs%c2(6, 10)
       ! [1, 2, 3] <-- [0, 1, 2, 3]
       cprime%c3(4,1) = cprime%c3(4,1) + 0.25_ki * C(0) * coeffs%c4(1, 1)
       ! [0, 2, 3] <-- [0, 1, 2, 3]
       cprime%c3(3,1) = cprime%c3(3,1) + 0.25_ki * C(1) * coeffs%c4(1, 1)
       ! [0, 1, 3] <-- [0, 1, 2, 3]
       cprime%c3(2,1) = cprime%c3(2,1) + 0.25_ki * C(2) * coeffs%c4(1, 1)
       ! [0, 1, 2] <-- [0, 1, 2, 3]
       cprime%c3(1,1) = cprime%c3(1,1) + 0.25_ki * C(3) * coeffs%c4(1, 1)
       ! [1, 2, 2] <-- [0, 1, 2, 2]
       cprime%c2(4,2) = cprime%c2(4,2) + 0.25_ki * C(0) * coeffs%c3(1, 2)
       ! [0, 2, 2] <-- [0, 1, 2, 2]
       cprime%c2(2,2) = cprime%c2(2,2) + 0.25_ki * C(1) * coeffs%c3(1, 2)
       ! [0, 1, 2] <-- [0, 1, 2, 2]
       cprime%c3(1,1) = cprime%c3(1,1) + 0.5_ki * C(2) * coeffs%c3(1, 2)
       ! [1, 3, 3] <-- [0, 1, 3, 3]
       cprime%c2(5,2) = cprime%c2(5,2) + 0.25_ki * C(0) * coeffs%c3(2, 2)
       ! [0, 3, 3] <-- [0, 1, 3, 3]
       cprime%c2(3,2) = cprime%c2(3,2) + 0.25_ki * C(1) * coeffs%c3(2, 2)
       ! [0, 1, 3] <-- [0, 1, 3, 3]
       cprime%c3(2,1) = cprime%c3(2,1) + 0.5_ki * C(3) * coeffs%c3(2, 2)
       ! [2, 3, 3] <-- [0, 2, 3, 3]
       cprime%c2(6,2) = cprime%c2(6,2) + 0.25_ki * C(0) * coeffs%c3(3, 2)
       ! [0, 3, 3] <-- [0, 2, 3, 3]
       cprime%c2(3,2) = cprime%c2(3,2) + 0.25_ki * C(2) * coeffs%c3(3, 2)
       ! [0, 2, 3] <-- [0, 2, 3, 3]
       cprime%c3(3,1) = cprime%c3(3,1) + 0.5_ki * C(3) * coeffs%c3(3, 2)
       ! [2, 3, 3] <-- [1, 2, 3, 3]
       cprime%c2(6,2) = cprime%c2(6,2) + 0.25_ki * C(1) * coeffs%c3(4, 2)
       ! [1, 3, 3] <-- [1, 2, 3, 3]
       cprime%c2(5,2) = cprime%c2(5,2) + 0.25_ki * C(2) * coeffs%c3(4, 2)
       ! [1, 2, 3] <-- [1, 2, 3, 3]
       cprime%c3(4,1) = cprime%c3(4,1) + 0.5_ki * C(3) * coeffs%c3(4, 2)
       ! [0, 1, 1] <-- [0, 0, 1, 1]
       cprime%c2(1,2) = cprime%c2(1,2) + 0.5_ki * C(0) * coeffs%c2(1, 7)
       ! [0, 0, 1] <-- [0, 0, 1, 1]
       cprime%c2(1,5) = cprime%c2(1,5) + 0.5_ki * C(1) * coeffs%c2(1, 7)
       ! [0, 2, 2] <-- [0, 0, 2, 2]
       cprime%c2(2,2) = cprime%c2(2,2) + 0.5_ki * C(0) * coeffs%c2(2, 7)
       ! [0, 0, 2] <-- [0, 0, 2, 2]
       cprime%c2(2,5) = cprime%c2(2,5) + 0.5_ki * C(2) * coeffs%c2(2, 7)
       ! [0, 3, 3] <-- [0, 0, 3, 3]
       cprime%c2(3,2) = cprime%c2(3,2) + 0.5_ki * C(0) * coeffs%c2(3, 7)
       ! [0, 0, 3] <-- [0, 0, 3, 3]
       cprime%c2(3,5) = cprime%c2(3,5) + 0.5_ki * C(3) * coeffs%c2(3, 7)
       ! [1, 2, 2] <-- [1, 1, 2, 2]
       cprime%c2(4,2) = cprime%c2(4,2) + 0.5_ki * C(1) * coeffs%c2(4, 7)
       ! [1, 1, 2] <-- [1, 1, 2, 2]
       cprime%c2(4,5) = cprime%c2(4,5) + 0.5_ki * C(2) * coeffs%c2(4, 7)
       ! [1, 3, 3] <-- [1, 1, 3, 3]
       cprime%c2(5,2) = cprime%c2(5,2) + 0.5_ki * C(1) * coeffs%c2(5, 7)
       ! [1, 1, 3] <-- [1, 1, 3, 3]
       cprime%c2(5,5) = cprime%c2(5,5) + 0.5_ki * C(3) * coeffs%c2(5, 7)
       ! [2, 3, 3] <-- [2, 2, 3, 3]
       cprime%c2(6,2) = cprime%c2(6,2) + 0.5_ki * C(2) * coeffs%c2(6, 7)
       ! [2, 2, 3] <-- [2, 2, 3, 3]
       cprime%c2(6,5) = cprime%c2(6,5) + 0.5_ki * C(3) * coeffs%c2(6, 7)
       ! [0, 0, 0] <-- [0, 0, 0, 0]
       cprime%c1(1,3) = cprime%c1(1,3) + C(0) * coeffs%c1(1, 4)
       ! [1, 1, 1] <-- [1, 1, 1, 1]
       cprime%c1(2,3) = cprime%c1(2,3) + C(1) * coeffs%c1(2, 4)
       ! [2, 2, 2] <-- [2, 2, 2, 2]
       cprime%c1(3,3) = cprime%c1(3,3) + C(2) * coeffs%c1(3, 4)
       ! [3, 3, 3] <-- [3, 3, 3, 3]
       cprime%c1(4,3) = cprime%c1(4,3) + C(3) * coeffs%c1(4, 4)
       ! [0, 0, 1, 1] <-- [0, 0, 0, 1, 1]
       cprime%c2(1,6) = 3.0_ki/5.0_ki * C(0) * coeffs%c2(1, 11)
       ! [0, 0, 0, 1] <-- [0, 0, 0, 1, 1]
       cprime%c2(1,8) = 2.0_ki/5.0_ki * C(1) * coeffs%c2(1, 11)
       ! [0, 0, 2, 2] <-- [0, 0, 0, 2, 2]
       cprime%c2(2,6) = 3.0_ki/5.0_ki * C(0) * coeffs%c2(2, 11)
       ! [0, 0, 0, 2] <-- [0, 0, 0, 2, 2]
       cprime%c2(2,8) = 2.0_ki/5.0_ki * C(2) * coeffs%c2(2, 11)
       ! [0, 0, 3, 3] <-- [0, 0, 0, 3, 3]
       cprime%c2(3,6) = 3.0_ki/5.0_ki * C(0) * coeffs%c2(3, 11)
       ! [0, 0, 0, 3] <-- [0, 0, 0, 3, 3]
       cprime%c2(3,8) = 2.0_ki/5.0_ki * C(3) * coeffs%c2(3, 11)
       ! [1, 1, 2, 2] <-- [1, 1, 1, 2, 2]
       cprime%c2(4,6) = 3.0_ki/5.0_ki * C(1) * coeffs%c2(4, 11)
       ! [1, 1, 1, 2] <-- [1, 1, 1, 2, 2]
       cprime%c2(4,8) = 2.0_ki/5.0_ki * C(2) * coeffs%c2(4, 11)
       ! [1, 1, 3, 3] <-- [1, 1, 1, 3, 3]
       cprime%c2(5,6) = 3.0_ki/5.0_ki * C(1) * coeffs%c2(5, 11)
       ! [1, 1, 1, 3] <-- [1, 1, 1, 3, 3]
       cprime%c2(5,8) = 2.0_ki/5.0_ki * C(3) * coeffs%c2(5, 11)
       ! [2, 2, 3, 3] <-- [2, 2, 2, 3, 3]
       cprime%c2(6,6) = 3.0_ki/5.0_ki * C(2) * coeffs%c2(6, 11)
       ! [2, 2, 2, 3] <-- [2, 2, 2, 3, 3]
       cprime%c2(6,8) = 2.0_ki/5.0_ki * C(3) * coeffs%c2(6, 11)
       ! [0, 0, 1, 2] <-- [0, 0, 0, 1, 2]
       cprime%c3(1,7) = 3.0_ki/5.0_ki * C(0) * coeffs%c3(1, 17)
       ! [0, 0, 0, 2] <-- [0, 0, 0, 1, 2]
       cprime%c2(2,8) = cprime%c2(2,8) + 1.0_ki/5.0_ki * C(1) * coeffs%c3(1, 17)
       ! [0, 0, 0, 1] <-- [0, 0, 0, 1, 2]
       cprime%c2(1,8) = cprime%c2(1,8) + 1.0_ki/5.0_ki * C(2) * coeffs%c3(1, 17)
       ! [0, 0, 1, 3] <-- [0, 0, 0, 1, 3]
       cprime%c3(2,7) = 3.0_ki/5.0_ki * C(0) * coeffs%c3(2, 17)
       ! [0, 0, 0, 3] <-- [0, 0, 0, 1, 3]
       cprime%c2(3,8) = cprime%c2(3,8) + 1.0_ki/5.0_ki * C(1) * coeffs%c3(2, 17)
       ! [0, 0, 0, 1] <-- [0, 0, 0, 1, 3]
       cprime%c2(1,8) = cprime%c2(1,8) + 1.0_ki/5.0_ki * C(3) * coeffs%c3(2, 17)
       ! [0, 0, 2, 3] <-- [0, 0, 0, 2, 3]
       cprime%c3(3,7) = 3.0_ki/5.0_ki * C(0) * coeffs%c3(3, 17)
       ! [0, 0, 0, 3] <-- [0, 0, 0, 2, 3]
       cprime%c2(3,8) = cprime%c2(3,8) + 1.0_ki/5.0_ki * C(2) * coeffs%c3(3, 17)
       ! [0, 0, 0, 2] <-- [0, 0, 0, 2, 3]
       cprime%c2(2,8) = cprime%c2(2,8) + 1.0_ki/5.0_ki * C(3) * coeffs%c3(3, 17)
       ! [1, 1, 2, 3] <-- [1, 1, 1, 2, 3]
       cprime%c3(4,7) = 3.0_ki/5.0_ki * C(1) * coeffs%c3(4, 17)
       ! [1, 1, 1, 3] <-- [1, 1, 1, 2, 3]
       cprime%c2(5,8) = cprime%c2(5,8) + 1.0_ki/5.0_ki * C(2) * coeffs%c3(4, 17)
       ! [1, 1, 1, 2] <-- [1, 1, 1, 2, 3]
       cprime%c2(4,8) = cprime%c2(4,8) + 1.0_ki/5.0_ki * C(3) * coeffs%c3(4, 17)
       ! [1, 2, 3, 3] <-- [0, 1, 2, 3, 3]
       cprime%c3(4,2) = 1.0_ki/5.0_ki * C(0) * coeffs%c4(1, 2)
       ! [0, 2, 3, 3] <-- [0, 1, 2, 3, 3]
       cprime%c3(3,2) = 1.0_ki/5.0_ki * C(1) * coeffs%c4(1, 2)
       ! [0, 1, 3, 3] <-- [0, 1, 2, 3, 3]
       cprime%c3(2,2) = 1.0_ki/5.0_ki * C(2) * coeffs%c4(1, 2)
       ! [0, 1, 2, 3] <-- [0, 1, 2, 3, 3]
       cprime%c4(1,1) = 2.0_ki/5.0_ki * C(3) * coeffs%c4(1, 2)
       ! [1, 2, 2, 2] <-- [0, 1, 2, 2, 2]
       cprime%c2(4,3) = 1.0_ki/5.0_ki * C(0) * coeffs%c3(1, 3)
       ! [0, 2, 2, 2] <-- [0, 1, 2, 2, 2]
       cprime%c2(2,3) = 1.0_ki/5.0_ki * C(1) * coeffs%c3(1, 3)
       ! [0, 1, 2, 2] <-- [0, 1, 2, 2, 2]
       cprime%c3(1,2) = 3.0_ki/5.0_ki * C(2) * coeffs%c3(1, 3)
       ! [1, 3, 3, 3] <-- [0, 1, 3, 3, 3]
       cprime%c2(5,3) = 1.0_ki/5.0_ki * C(0) * coeffs%c3(2, 3)
       ! [0, 3, 3, 3] <-- [0, 1, 3, 3, 3]
       cprime%c2(3,3) = 1.0_ki/5.0_ki * C(1) * coeffs%c3(2, 3)
       ! [0, 1, 3, 3] <-- [0, 1, 3, 3, 3]
       cprime%c3(2,2) = cprime%c3(2,2) + 3.0_ki/5.0_ki * C(3) * coeffs%c3(2, 3)
       ! [2, 3, 3, 3] <-- [0, 2, 3, 3, 3]
       cprime%c2(6,3) = 1.0_ki/5.0_ki * C(0) * coeffs%c3(3, 3)
       ! [0, 3, 3, 3] <-- [0, 2, 3, 3, 3]
       cprime%c2(3,3) = cprime%c2(3,3) + 1.0_ki/5.0_ki * C(2) * coeffs%c3(3, 3)
       ! [0, 2, 3, 3] <-- [0, 2, 3, 3, 3]
       cprime%c3(3,2) = cprime%c3(3,2) + 3.0_ki/5.0_ki * C(3) * coeffs%c3(3, 3)
       ! [2, 3, 3, 3] <-- [1, 2, 3, 3, 3]
       cprime%c2(6,3) = cprime%c2(6,3) + 1.0_ki/5.0_ki * C(1) * coeffs%c3(4, 3)
       ! [1, 3, 3, 3] <-- [1, 2, 3, 3, 3]
       cprime%c2(5,3) = cprime%c2(5,3) + 1.0_ki/5.0_ki * C(2) * coeffs%c3(4, 3)
       ! [1, 2, 3, 3] <-- [1, 2, 3, 3, 3]
       cprime%c3(4,2) = cprime%c3(4,2) + 3.0_ki/5.0_ki * C(3) * coeffs%c3(4, 3)
       ! [0, 1, 2, 3] <-- [0, 0, 1, 2, 3]
       cprime%c4(1,1) = cprime%c4(1,1) + 2.0_ki/5.0_ki * C(0) * coeffs%c4(1, 11)
       ! [0, 0, 2, 3] <-- [0, 0, 1, 2, 3]
       cprime%c3(3,7) = cprime%c3(3,7) + 1.0_ki/5.0_ki * C(1) * coeffs%c4(1, 11)
       ! [0, 0, 1, 3] <-- [0, 0, 1, 2, 3]
       cprime%c3(2,7) = cprime%c3(2,7) + 1.0_ki/5.0_ki * C(2) * coeffs%c4(1, 11)
       ! [0, 0, 1, 2] <-- [0, 0, 1, 2, 3]
       cprime%c3(1,7) = cprime%c3(1,7) + 1.0_ki/5.0_ki * C(3) * coeffs%c4(1, 11)
       ! [1, 2, 2, 3] <-- [0, 1, 2, 2, 3]
       cprime%c3(4,4) = 1.0_ki/5.0_ki * C(0) * coeffs%c4(1, 4)
       ! [0, 2, 2, 3] <-- [0, 1, 2, 2, 3]
       cprime%c3(3,4) = 1.0_ki/5.0_ki * C(1) * coeffs%c4(1, 4)
       ! [0, 1, 2, 3] <-- [0, 1, 2, 2, 3]
       cprime%c4(1,1) = cprime%c4(1,1) + 2.0_ki/5.0_ki * C(2) * coeffs%c4(1, 4)
       ! [0, 1, 2, 2] <-- [0, 1, 2, 2, 3]
       cprime%c3(1,2) = cprime%c3(1,2) + 1.0_ki/5.0_ki * C(3) * coeffs%c4(1, 4)
       ! [1, 1, 1, 2] <-- [0, 1, 1, 1, 2]
       cprime%c2(4,8) = cprime%c2(4,8) + 1.0_ki/5.0_ki * C(0) * coeffs%c3(1, 8)
       ! [0, 1, 1, 2] <-- [0, 1, 1, 1, 2]
       cprime%c3(1,4) = 3.0_ki/5.0_ki * C(1) * coeffs%c3(1, 8)
       ! [0, 1, 1, 1] <-- [0, 1, 1, 1, 2]
       cprime%c2(1,3) = 1.0_ki/5.0_ki * C(2) * coeffs%c3(1, 8)
       ! [1, 1, 1, 3] <-- [0, 1, 1, 1, 3]
       cprime%c2(5,8) = cprime%c2(5,8) + 1.0_ki/5.0_ki * C(0) * coeffs%c3(2, 8)
       ! [0, 1, 1, 3] <-- [0, 1, 1, 1, 3]
       cprime%c3(2,4) = 3.0_ki/5.0_ki * C(1) * coeffs%c3(2, 8)
       ! [0, 1, 1, 1] <-- [0, 1, 1, 1, 3]
       cprime%c2(1,3) = cprime%c2(1,3) + 1.0_ki/5.0_ki * C(3) * coeffs%c3(2, 8)
       ! [2, 2, 2, 3] <-- [0, 2, 2, 2, 3]
       cprime%c2(6,8) = cprime%c2(6,8) + 1.0_ki/5.0_ki * C(0) * coeffs%c3(3, 8)
       ! [0, 2, 2, 3] <-- [0, 2, 2, 2, 3]
       cprime%c3(3,4) = cprime%c3(3,4) + 3.0_ki/5.0_ki * C(2) * coeffs%c3(3, 8)
       ! [0, 2, 2, 2] <-- [0, 2, 2, 2, 3]
       cprime%c2(2,3) = cprime%c2(2,3) + 1.0_ki/5.0_ki * C(3) * coeffs%c3(3, 8)
       ! [2, 2, 2, 3] <-- [1, 2, 2, 2, 3]
       cprime%c2(6,8) = cprime%c2(6,8) + 1.0_ki/5.0_ki * C(1) * coeffs%c3(4, 8)
       ! [1, 2, 2, 3] <-- [1, 2, 2, 2, 3]
       cprime%c3(4,4) = cprime%c3(4,4) + 3.0_ki/5.0_ki * C(2) * coeffs%c3(4, 8)
       ! [1, 2, 2, 2] <-- [1, 2, 2, 2, 3]
       cprime%c2(4,3) = cprime%c2(4,3) + 1.0_ki/5.0_ki * C(3) * coeffs%c3(4, 8)
       ! [1, 1, 1, 1] <-- [0, 1, 1, 1, 1]
       cprime%c1(2,4) = 1.0_ki/5.0_ki * C(0) * coeffs%c2(1, 4)
       ! [0, 1, 1, 1] <-- [0, 1, 1, 1, 1]
       cprime%c2(1,3) = cprime%c2(1,3) + 4.0_ki/5.0_ki * C(1) * coeffs%c2(1, 4)
       ! [2, 2, 2, 2] <-- [0, 2, 2, 2, 2]
       cprime%c1(3,4) = 1.0_ki/5.0_ki * C(0) * coeffs%c2(2, 4)
       ! [0, 2, 2, 2] <-- [0, 2, 2, 2, 2]
       cprime%c2(2,3) = cprime%c2(2,3) + 4.0_ki/5.0_ki * C(2) * coeffs%c2(2, 4)
       ! [3, 3, 3, 3] <-- [0, 3, 3, 3, 3]
       cprime%c1(4,4) = 1.0_ki/5.0_ki * C(0) * coeffs%c2(3, 4)
       ! [0, 3, 3, 3] <-- [0, 3, 3, 3, 3]
       cprime%c2(3,3) = cprime%c2(3,3) + 4.0_ki/5.0_ki * C(3) * coeffs%c2(3, 4)
       ! [2, 2, 2, 2] <-- [1, 2, 2, 2, 2]
       cprime%c1(3,4) = cprime%c1(3,4) + 1.0_ki/5.0_ki * C(1) * coeffs%c2(4, 4)
       ! [1, 2, 2, 2] <-- [1, 2, 2, 2, 2]
       cprime%c2(4,3) = cprime%c2(4,3) + 4.0_ki/5.0_ki * C(2) * coeffs%c2(4, 4)
       ! [3, 3, 3, 3] <-- [1, 3, 3, 3, 3]
       cprime%c1(4,4) = cprime%c1(4,4) + 1.0_ki/5.0_ki * C(1) * coeffs%c2(5, 4)
       ! [1, 3, 3, 3] <-- [1, 3, 3, 3, 3]
       cprime%c2(5,3) = cprime%c2(5,3) + 4.0_ki/5.0_ki * C(3) * coeffs%c2(5, 4)
       ! [3, 3, 3, 3] <-- [2, 3, 3, 3, 3]
       cprime%c1(4,4) = cprime%c1(4,4) + 1.0_ki/5.0_ki * C(2) * coeffs%c2(6, 4)
       ! [2, 3, 3, 3] <-- [2, 3, 3, 3, 3]
       cprime%c2(6,3) = cprime%c2(6,3) + 4.0_ki/5.0_ki * C(3) * coeffs%c2(6, 4)
       ! [1, 1, 2, 2] <-- [0, 1, 1, 2, 2]
       cprime%c2(4,6) = cprime%c2(4,6) + 1.0_ki/5.0_ki * C(0) * coeffs%c3(1, 6)
       ! [0, 1, 2, 2] <-- [0, 1, 1, 2, 2]
       cprime%c3(1,2) = cprime%c3(1,2) + 2.0_ki/5.0_ki * C(1) * coeffs%c3(1, 6)
       ! [0, 1, 1, 2] <-- [0, 1, 1, 2, 2]
       cprime%c3(1,4) = cprime%c3(1,4) + 2.0_ki/5.0_ki * C(2) * coeffs%c3(1, 6)
       ! [1, 1, 3, 3] <-- [0, 1, 1, 3, 3]
       cprime%c2(5,6) = cprime%c2(5,6) + 1.0_ki/5.0_ki * C(0) * coeffs%c3(2, 6)
       ! [0, 1, 3, 3] <-- [0, 1, 1, 3, 3]
       cprime%c3(2,2) = cprime%c3(2,2) + 2.0_ki/5.0_ki * C(1) * coeffs%c3(2, 6)
       ! [0, 1, 1, 3] <-- [0, 1, 1, 3, 3]
       cprime%c3(2,4) = cprime%c3(2,4) + 2.0_ki/5.0_ki * C(3) * coeffs%c3(2, 6)
       ! [2, 2, 3, 3] <-- [0, 2, 2, 3, 3]
       cprime%c2(6,6) = cprime%c2(6,6) + 1.0_ki/5.0_ki * C(0) * coeffs%c3(3, 6)
       ! [0, 2, 3, 3] <-- [0, 2, 2, 3, 3]
       cprime%c3(3,2) = cprime%c3(3,2) + 2.0_ki/5.0_ki * C(2) * coeffs%c3(3, 6)
       ! [0, 2, 2, 3] <-- [0, 2, 2, 3, 3]
       cprime%c3(3,4) = cprime%c3(3,4) + 2.0_ki/5.0_ki * C(3) * coeffs%c3(3, 6)
       ! [2, 2, 3, 3] <-- [1, 2, 2, 3, 3]
       cprime%c2(6,6) = cprime%c2(6,6) + 1.0_ki/5.0_ki * C(1) * coeffs%c3(4, 6)
       ! [1, 2, 3, 3] <-- [1, 2, 2, 3, 3]
       cprime%c3(4,2) = cprime%c3(4,2) + 2.0_ki/5.0_ki * C(2) * coeffs%c3(4, 6)
       ! [1, 2, 2, 3] <-- [1, 2, 2, 3, 3]
       cprime%c3(4,4) = cprime%c3(4,4) + 2.0_ki/5.0_ki * C(3) * coeffs%c3(4, 6)
       ! [0, 0, 0, 0] <-- [0, 0, 0, 0, 0]
       cprime%c1(1,4) = C(0) * coeffs%c1(1, 5)
       ! [1, 1, 1, 1] <-- [1, 1, 1, 1, 1]
       cprime%c1(2,4) = cprime%c1(2,4) + C(1) * coeffs%c1(2, 5)
       ! [2, 2, 2, 2] <-- [2, 2, 2, 2, 2]
       cprime%c1(3,4) = cprime%c1(3,4) + C(2) * coeffs%c1(3, 5)
       ! [3, 3, 3, 3] <-- [3, 3, 3, 3, 3]
       cprime%c1(4,4) = cprime%c1(4,4) + C(3) * coeffs%c1(4, 5)
       ! [0, 1, 1, 1] <-- [0, 0, 1, 1, 1]
       cprime%c2(1,3) = cprime%c2(1,3) + 2.0_ki/5.0_ki * C(0) * coeffs%c2(1, 8)
       ! [0, 0, 1, 1] <-- [0, 0, 1, 1, 1]
       cprime%c2(1,6) = cprime%c2(1,6) + 3.0_ki/5.0_ki * C(1) * coeffs%c2(1, 8)
       ! [0, 2, 2, 2] <-- [0, 0, 2, 2, 2]
       cprime%c2(2,3) = cprime%c2(2,3) + 2.0_ki/5.0_ki * C(0) * coeffs%c2(2, 8)
       ! [0, 0, 2, 2] <-- [0, 0, 2, 2, 2]
       cprime%c2(2,6) = cprime%c2(2,6) + 3.0_ki/5.0_ki * C(2) * coeffs%c2(2, 8)
       ! [0, 3, 3, 3] <-- [0, 0, 3, 3, 3]
       cprime%c2(3,3) = cprime%c2(3,3) + 2.0_ki/5.0_ki * C(0) * coeffs%c2(3, 8)
       ! [0, 0, 3, 3] <-- [0, 0, 3, 3, 3]
       cprime%c2(3,6) = cprime%c2(3,6) + 3.0_ki/5.0_ki * C(3) * coeffs%c2(3, 8)
       ! [1, 2, 2, 2] <-- [1, 1, 2, 2, 2]
       cprime%c2(4,3) = cprime%c2(4,3) + 2.0_ki/5.0_ki * C(1) * coeffs%c2(4, 8)
       ! [1, 1, 2, 2] <-- [1, 1, 2, 2, 2]
       cprime%c2(4,6) = cprime%c2(4,6) + 3.0_ki/5.0_ki * C(2) * coeffs%c2(4, 8)
       ! [1, 3, 3, 3] <-- [1, 1, 3, 3, 3]
       cprime%c2(5,3) = cprime%c2(5,3) + 2.0_ki/5.0_ki * C(1) * coeffs%c2(5, 8)
       ! [1, 1, 3, 3] <-- [1, 1, 3, 3, 3]
       cprime%c2(5,6) = cprime%c2(5,6) + 3.0_ki/5.0_ki * C(3) * coeffs%c2(5, 8)
       ! [2, 3, 3, 3] <-- [2, 2, 3, 3, 3]
       cprime%c2(6,3) = cprime%c2(6,3) + 2.0_ki/5.0_ki * C(2) * coeffs%c2(6, 8)
       ! [2, 2, 3, 3] <-- [2, 2, 3, 3, 3]
       cprime%c2(6,6) = cprime%c2(6,6) + 3.0_ki/5.0_ki * C(3) * coeffs%c2(6, 8)
       ! [0, 1, 2, 2] <-- [0, 0, 1, 2, 2]
       cprime%c3(1,2) = cprime%c3(1,2) + 2.0_ki/5.0_ki * C(0) * coeffs%c3(1, 12)
       ! [0, 0, 2, 2] <-- [0, 0, 1, 2, 2]
       cprime%c2(2,6) = cprime%c2(2,6) + 1.0_ki/5.0_ki * C(1) * coeffs%c3(1, 12)
       ! [0, 0, 1, 2] <-- [0, 0, 1, 2, 2]
       cprime%c3(1,7) = cprime%c3(1,7) + 2.0_ki/5.0_ki * C(2) * coeffs%c3(1, 12)
       ! [0, 1, 3, 3] <-- [0, 0, 1, 3, 3]
       cprime%c3(2,2) = cprime%c3(2,2) + 2.0_ki/5.0_ki * C(0) * coeffs%c3(2, 12)
       ! [0, 0, 3, 3] <-- [0, 0, 1, 3, 3]
       cprime%c2(3,6) = cprime%c2(3,6) + 1.0_ki/5.0_ki * C(1) * coeffs%c3(2, 12)
       ! [0, 0, 1, 3] <-- [0, 0, 1, 3, 3]
       cprime%c3(2,7) = cprime%c3(2,7) + 2.0_ki/5.0_ki * C(3) * coeffs%c3(2, 12)
       ! [0, 2, 3, 3] <-- [0, 0, 2, 3, 3]
       cprime%c3(3,2) = cprime%c3(3,2) + 2.0_ki/5.0_ki * C(0) * coeffs%c3(3, 12)
       ! [0, 0, 3, 3] <-- [0, 0, 2, 3, 3]
       cprime%c2(3,6) = cprime%c2(3,6) + 1.0_ki/5.0_ki * C(2) * coeffs%c3(3, 12)
       ! [0, 0, 2, 3] <-- [0, 0, 2, 3, 3]
       cprime%c3(3,7) = cprime%c3(3,7) + 2.0_ki/5.0_ki * C(3) * coeffs%c3(3, 12)
       ! [1, 2, 3, 3] <-- [1, 1, 2, 3, 3]
       cprime%c3(4,2) = cprime%c3(4,2) + 2.0_ki/5.0_ki * C(1) * coeffs%c3(4, 12)
       ! [1, 1, 3, 3] <-- [1, 1, 2, 3, 3]
       cprime%c2(5,6) = cprime%c2(5,6) + 1.0_ki/5.0_ki * C(2) * coeffs%c3(4, 12)
       ! [1, 1, 2, 3] <-- [1, 1, 2, 3, 3]
       cprime%c3(4,7) = cprime%c3(4,7) + 2.0_ki/5.0_ki * C(3) * coeffs%c3(4, 12)
       ! [0, 0, 0, 1] <-- [0, 0, 0, 0, 1]
       cprime%c2(1,8) = cprime%c2(1,8) + 4.0_ki/5.0_ki * C(0) * coeffs%c2(1, 13)
       ! [0, 0, 0, 0] <-- [0, 0, 0, 0, 1]
       cprime%c1(1,4) = cprime%c1(1,4) + 1.0_ki/5.0_ki * C(1) * coeffs%c2(1, 13)
       ! [0, 0, 0, 2] <-- [0, 0, 0, 0, 2]
       cprime%c2(2,8) = cprime%c2(2,8) + 4.0_ki/5.0_ki * C(0) * coeffs%c2(2, 13)
       ! [0, 0, 0, 0] <-- [0, 0, 0, 0, 2]
       cprime%c1(1,4) = cprime%c1(1,4) + 1.0_ki/5.0_ki * C(2) * coeffs%c2(2, 13)
       ! [0, 0, 0, 3] <-- [0, 0, 0, 0, 3]
       cprime%c2(3,8) = cprime%c2(3,8) + 4.0_ki/5.0_ki * C(0) * coeffs%c2(3, 13)
       ! [0, 0, 0, 0] <-- [0, 0, 0, 0, 3]
       cprime%c1(1,4) = cprime%c1(1,4) + 1.0_ki/5.0_ki * C(3) * coeffs%c2(3, 13)
       ! [1, 1, 1, 2] <-- [1, 1, 1, 1, 2]
       cprime%c2(4,8) = cprime%c2(4,8) + 4.0_ki/5.0_ki * C(1) * coeffs%c2(4, 13)
       ! [1, 1, 1, 1] <-- [1, 1, 1, 1, 2]
       cprime%c1(2,4) = cprime%c1(2,4) + 1.0_ki/5.0_ki * C(2) * coeffs%c2(4, 13)
       ! [1, 1, 1, 3] <-- [1, 1, 1, 1, 3]
       cprime%c2(5,8) = cprime%c2(5,8) + 4.0_ki/5.0_ki * C(1) * coeffs%c2(5, 13)
       ! [1, 1, 1, 1] <-- [1, 1, 1, 1, 3]
       cprime%c1(2,4) = cprime%c1(2,4) + 1.0_ki/5.0_ki * C(3) * coeffs%c2(5, 13)
       ! [2, 2, 2, 3] <-- [2, 2, 2, 2, 3]
       cprime%c2(6,8) = cprime%c2(6,8) + 4.0_ki/5.0_ki * C(2) * coeffs%c2(6, 13)
       ! [2, 2, 2, 2] <-- [2, 2, 2, 2, 3]
       cprime%c1(3,4) = cprime%c1(3,4) + 1.0_ki/5.0_ki * C(3) * coeffs%c2(6, 13)
       ! [0, 1, 1, 2] <-- [0, 0, 1, 1, 2]
       cprime%c3(1,4) = cprime%c3(1,4) + 2.0_ki/5.0_ki * C(0) * coeffs%c3(1, 14)
       ! [0, 0, 1, 2] <-- [0, 0, 1, 1, 2]
       cprime%c3(1,7) = cprime%c3(1,7) + 2.0_ki/5.0_ki * C(1) * coeffs%c3(1, 14)
       ! [0, 0, 1, 1] <-- [0, 0, 1, 1, 2]
       cprime%c2(1,6) = cprime%c2(1,6) + 1.0_ki/5.0_ki * C(2) * coeffs%c3(1, 14)
       ! [0, 1, 1, 3] <-- [0, 0, 1, 1, 3]
       cprime%c3(2,4) = cprime%c3(2,4) + 2.0_ki/5.0_ki * C(0) * coeffs%c3(2, 14)
       ! [0, 0, 1, 3] <-- [0, 0, 1, 1, 3]
       cprime%c3(2,7) = cprime%c3(2,7) + 2.0_ki/5.0_ki * C(1) * coeffs%c3(2, 14)
       ! [0, 0, 1, 1] <-- [0, 0, 1, 1, 3]
       cprime%c2(1,6) = cprime%c2(1,6) + 1.0_ki/5.0_ki * C(3) * coeffs%c3(2, 14)
       ! [0, 2, 2, 3] <-- [0, 0, 2, 2, 3]
       cprime%c3(3,4) = cprime%c3(3,4) + 2.0_ki/5.0_ki * C(0) * coeffs%c3(3, 14)
       ! [0, 0, 2, 3] <-- [0, 0, 2, 2, 3]
       cprime%c3(3,7) = cprime%c3(3,7) + 2.0_ki/5.0_ki * C(2) * coeffs%c3(3, 14)
       ! [0, 0, 2, 2] <-- [0, 0, 2, 2, 3]
       cprime%c2(2,6) = cprime%c2(2,6) + 1.0_ki/5.0_ki * C(3) * coeffs%c3(3, 14)
       ! [1, 2, 2, 3] <-- [1, 1, 2, 2, 3]
       cprime%c3(4,4) = cprime%c3(4,4) + 2.0_ki/5.0_ki * C(1) * coeffs%c3(4, 14)
       ! [1, 1, 2, 3] <-- [1, 1, 2, 2, 3]
       cprime%c3(4,7) = cprime%c3(4,7) + 2.0_ki/5.0_ki * C(2) * coeffs%c3(4, 14)
       ! [1, 1, 2, 2] <-- [1, 1, 2, 2, 3]
       cprime%c2(4,6) = cprime%c2(4,6) + 1.0_ki/5.0_ki * C(3) * coeffs%c3(4, 14)
       ! [1, 1, 2, 3] <-- [0, 1, 1, 2, 3]
       cprime%c3(4,7) = cprime%c3(4,7) + 1.0_ki/5.0_ki * C(0) * coeffs%c4(1, 7)
       ! [0, 1, 2, 3] <-- [0, 1, 1, 2, 3]
       cprime%c4(1,1) = cprime%c4(1,1) + 2.0_ki/5.0_ki * C(1) * coeffs%c4(1, 7)
       ! [0, 1, 1, 3] <-- [0, 1, 1, 2, 3]
       cprime%c3(2,4) = cprime%c3(2,4) + 1.0_ki/5.0_ki * C(2) * coeffs%c4(1, 7)
       ! [0, 1, 1, 2] <-- [0, 1, 1, 2, 3]
       cprime%c3(1,4) = cprime%c3(1,4) + 1.0_ki/5.0_ki * C(3) * coeffs%c4(1, 7)
       ! [0, 1, 1, 2, 3] <-- [0, 0, 1, 1, 2, 3]
       cprime%c4(1,4) = 1.0_ki/3.0_ki * C(0) * coeffs%c4(1, 14)
       ! [0, 0, 1, 2, 3] <-- [0, 0, 1, 1, 2, 3]
       cprime%c4(1,5) = 1.0_ki/3.0_ki * C(1) * coeffs%c4(1, 14)
       ! [0, 0, 1, 1, 3] <-- [0, 0, 1, 1, 2, 3]
       cprime%c3(2,9) = 1.0_ki/6.0_ki * C(2) * coeffs%c4(1, 14)
       ! [0, 0, 1, 1, 2] <-- [0, 0, 1, 1, 2, 3]
       cprime%c3(1,9) = 1.0_ki/6.0_ki * C(3) * coeffs%c4(1, 14)
       ! [1, 1, 1, 2, 2] <-- [0, 1, 1, 1, 2, 2]
       cprime%c2(4,9) = 1.0_ki/6.0_ki * C(0) * coeffs%c3(1, 9)
       ! [0, 1, 1, 2, 2] <-- [0, 1, 1, 1, 2, 2]
       cprime%c3(1,5) = 0.5_ki * C(1) * coeffs%c3(1, 9)
       ! [0, 1, 1, 1, 2] <-- [0, 1, 1, 1, 2, 2]
       cprime%c3(1,6) = 1.0_ki/3.0_ki * C(2) * coeffs%c3(1, 9)
       ! [1, 1, 1, 3, 3] <-- [0, 1, 1, 1, 3, 3]
       cprime%c2(5,9) = 1.0_ki/6.0_ki * C(0) * coeffs%c3(2, 9)
       ! [0, 1, 1, 3, 3] <-- [0, 1, 1, 1, 3, 3]
       cprime%c3(2,5) = 0.5_ki * C(1) * coeffs%c3(2, 9)
       ! [0, 1, 1, 1, 3] <-- [0, 1, 1, 1, 3, 3]
       cprime%c3(2,6) = 1.0_ki/3.0_ki * C(3) * coeffs%c3(2, 9)
       ! [2, 2, 2, 3, 3] <-- [0, 2, 2, 2, 3, 3]
       cprime%c2(6,9) = 1.0_ki/6.0_ki * C(0) * coeffs%c3(3, 9)
       ! [0, 2, 2, 3, 3] <-- [0, 2, 2, 2, 3, 3]
       cprime%c3(3,5) = 0.5_ki * C(2) * coeffs%c3(3, 9)
       ! [0, 2, 2, 2, 3] <-- [0, 2, 2, 2, 3, 3]
       cprime%c3(3,6) = 1.0_ki/3.0_ki * C(3) * coeffs%c3(3, 9)
       ! [2, 2, 2, 3, 3] <-- [1, 2, 2, 2, 3, 3]
       cprime%c2(6,9) = cprime%c2(6,9) + 1.0_ki/6.0_ki * C(1) * coeffs%c3(4, 9)
       ! [1, 2, 2, 3, 3] <-- [1, 2, 2, 2, 3, 3]
       cprime%c3(4,5) = 0.5_ki * C(2) * coeffs%c3(4, 9)
       ! [1, 2, 2, 2, 3] <-- [1, 2, 2, 2, 3, 3]
       cprime%c3(4,6) = 1.0_ki/3.0_ki * C(3) * coeffs%c3(4, 9)
       ! [1, 2, 2, 2, 3] <-- [0, 1, 2, 2, 2, 3]
       cprime%c3(4,6) = cprime%c3(4,6) + 1.0_ki/6.0_ki * C(0) * coeffs%c4(1, 6)
       ! [0, 2, 2, 2, 3] <-- [0, 1, 2, 2, 2, 3]
       cprime%c3(3,6) = cprime%c3(3,6) + 1.0_ki/6.0_ki * C(1) * coeffs%c4(1, 6)
       ! [0, 1, 2, 2, 3] <-- [0, 1, 2, 2, 2, 3]
       cprime%c4(1,3) = 0.5_ki * C(2) * coeffs%c4(1, 6)
       ! [0, 1, 2, 2, 2] <-- [0, 1, 2, 2, 2, 3]
       cprime%c3(1,3) = 1.0_ki/6.0_ki * C(3) * coeffs%c4(1, 6)
       ! [0, 0, 0, 0, 1] <-- [0, 0, 0, 0, 0, 1]
       cprime%c2(1,10) = 5.0_ki/6.0_ki * C(0) * coeffs%c2(1, 15)
       ! [0, 0, 0, 0, 0] <-- [0, 0, 0, 0, 0, 1]
       cprime%c1(1,5) = 1.0_ki/6.0_ki * C(1) * coeffs%c2(1, 15)
       ! [0, 0, 0, 0, 2] <-- [0, 0, 0, 0, 0, 2]
       cprime%c2(2,10) = 5.0_ki/6.0_ki * C(0) * coeffs%c2(2, 15)
       ! [0, 0, 0, 0, 0] <-- [0, 0, 0, 0, 0, 2]
       cprime%c1(1,5) = cprime%c1(1,5) + 1.0_ki/6.0_ki * C(2) * coeffs%c2(2, 15)
       ! [0, 0, 0, 0, 3] <-- [0, 0, 0, 0, 0, 3]
       cprime%c2(3,10) = 5.0_ki/6.0_ki * C(0) * coeffs%c2(3, 15)
       ! [0, 0, 0, 0, 0] <-- [0, 0, 0, 0, 0, 3]
       cprime%c1(1,5) = cprime%c1(1,5) + 1.0_ki/6.0_ki * C(3) * coeffs%c2(3, 15)
       ! [1, 1, 1, 1, 2] <-- [1, 1, 1, 1, 1, 2]
       cprime%c2(4,10) = 5.0_ki/6.0_ki * C(1) * coeffs%c2(4, 15)
       ! [1, 1, 1, 1, 1] <-- [1, 1, 1, 1, 1, 2]
       cprime%c1(2,5) = 1.0_ki/6.0_ki * C(2) * coeffs%c2(4, 15)
       ! [1, 1, 1, 1, 3] <-- [1, 1, 1, 1, 1, 3]
       cprime%c2(5,10) = 5.0_ki/6.0_ki * C(1) * coeffs%c2(5, 15)
       ! [1, 1, 1, 1, 1] <-- [1, 1, 1, 1, 1, 3]
       cprime%c1(2,5) = cprime%c1(2,5) + 1.0_ki/6.0_ki * C(3) * coeffs%c2(5, 15)
       ! [2, 2, 2, 2, 3] <-- [2, 2, 2, 2, 2, 3]
       cprime%c2(6,10) = 5.0_ki/6.0_ki * C(2) * coeffs%c2(6, 15)
       ! [2, 2, 2, 2, 2] <-- [2, 2, 2, 2, 2, 3]
       cprime%c1(3,5) = 1.0_ki/6.0_ki * C(3) * coeffs%c2(6, 15)
       ! [0, 1, 1, 1, 2] <-- [0, 0, 1, 1, 1, 2]
       cprime%c3(1,6) = cprime%c3(1,6) + 1.0_ki/3.0_ki * C(0) * coeffs%c3(1, 16)
       ! [0, 0, 1, 1, 2] <-- [0, 0, 1, 1, 1, 2]
       cprime%c3(1,9) = cprime%c3(1,9) + 0.5_ki * C(1) * coeffs%c3(1, 16)
       ! [0, 0, 1, 1, 1] <-- [0, 0, 1, 1, 1, 2]
       cprime%c2(1,7) = 1.0_ki/6.0_ki * C(2) * coeffs%c3(1, 16)
       ! [0, 1, 1, 1, 3] <-- [0, 0, 1, 1, 1, 3]
       cprime%c3(2,6) = cprime%c3(2,6) + 1.0_ki/3.0_ki * C(0) * coeffs%c3(2, 16)
       ! [0, 0, 1, 1, 3] <-- [0, 0, 1, 1, 1, 3]
       cprime%c3(2,9) = cprime%c3(2,9) + 0.5_ki * C(1) * coeffs%c3(2, 16)
       ! [0, 0, 1, 1, 1] <-- [0, 0, 1, 1, 1, 3]
       cprime%c2(1,7) = cprime%c2(1,7) + 1.0_ki/6.0_ki * C(3) * coeffs%c3(2, 16)
       ! [0, 2, 2, 2, 3] <-- [0, 0, 2, 2, 2, 3]
       cprime%c3(3,6) = cprime%c3(3,6) + 1.0_ki/3.0_ki * C(0) * coeffs%c3(3, 16)
       ! [0, 0, 2, 2, 3] <-- [0, 0, 2, 2, 2, 3]
       cprime%c3(3,9) = 0.5_ki * C(2) * coeffs%c3(3, 16)
       ! [0, 0, 2, 2, 2] <-- [0, 0, 2, 2, 2, 3]
       cprime%c2(2,7) = 1.0_ki/6.0_ki * C(3) * coeffs%c3(3, 16)
       ! [1, 2, 2, 2, 3] <-- [1, 1, 2, 2, 2, 3]
       cprime%c3(4,6) = cprime%c3(4,6) + 1.0_ki/3.0_ki * C(1) * coeffs%c3(4, 16)
       ! [1, 1, 2, 2, 3] <-- [1, 1, 2, 2, 2, 3]
       cprime%c3(4,9) = 0.5_ki * C(2) * coeffs%c3(4, 16)
       ! [1, 1, 2, 2, 2] <-- [1, 1, 2, 2, 2, 3]
       cprime%c2(4,7) = 1.0_ki/6.0_ki * C(3) * coeffs%c3(4, 16)
       ! [1, 2, 2, 3, 3] <-- [0, 1, 2, 2, 3, 3]
       cprime%c3(4,5) = cprime%c3(4,5) + 1.0_ki/6.0_ki * C(0) * coeffs%c4(1, 5)
       ! [0, 2, 2, 3, 3] <-- [0, 1, 2, 2, 3, 3]
       cprime%c3(3,5) = cprime%c3(3,5) + 1.0_ki/6.0_ki * C(1) * coeffs%c4(1, 5)
       ! [0, 1, 2, 3, 3] <-- [0, 1, 2, 2, 3, 3]
       cprime%c4(1,2) = 1.0_ki/3.0_ki * C(2) * coeffs%c4(1, 5)
       ! [0, 1, 2, 2, 3] <-- [0, 1, 2, 2, 3, 3]
       cprime%c4(1,3) = cprime%c4(1,3) + 1.0_ki/3.0_ki * C(3) * coeffs%c4(1, 5)
       ! [0, 1, 2, 2, 3] <-- [0, 0, 1, 2, 2, 3]
       cprime%c4(1,3) = cprime%c4(1,3) + 1.0_ki/3.0_ki * C(0) * coeffs%c4(1, 13)
       ! [0, 0, 2, 2, 3] <-- [0, 0, 1, 2, 2, 3]
       cprime%c3(3,9) = cprime%c3(3,9) + 1.0_ki/6.0_ki * C(1) * coeffs%c4(1, 13)
       ! [0, 0, 1, 2, 3] <-- [0, 0, 1, 2, 2, 3]
       cprime%c4(1,5) = cprime%c4(1,5) + 1.0_ki/3.0_ki * C(2) * coeffs%c4(1, 13)
       ! [0, 0, 1, 2, 2] <-- [0, 0, 1, 2, 2, 3]
       cprime%c3(1,8) = 1.0_ki/6.0_ki * C(3) * coeffs%c4(1, 13)
       ! [0, 0, 1, 1, 1] <-- [0, 0, 0, 1, 1, 1]
       cprime%c2(1,7) = cprime%c2(1,7) + 0.5_ki * C(0) * coeffs%c2(1, 12)
       ! [0, 0, 0, 1, 1] <-- [0, 0, 0, 1, 1, 1]
       cprime%c2(1,9) = 0.5_ki * C(1) * coeffs%c2(1, 12)
       ! [0, 0, 2, 2, 2] <-- [0, 0, 0, 2, 2, 2]
       cprime%c2(2,7) = cprime%c2(2,7) + 0.5_ki * C(0) * coeffs%c2(2, 12)
       ! [0, 0, 0, 2, 2] <-- [0, 0, 0, 2, 2, 2]
       cprime%c2(2,9) = 0.5_ki * C(2) * coeffs%c2(2, 12)
       ! [0, 0, 3, 3, 3] <-- [0, 0, 0, 3, 3, 3]
       cprime%c2(3,7) = 0.5_ki * C(0) * coeffs%c2(3, 12)
       ! [0, 0, 0, 3, 3] <-- [0, 0, 0, 3, 3, 3]
       cprime%c2(3,9) = 0.5_ki * C(3) * coeffs%c2(3, 12)
       ! [1, 1, 2, 2, 2] <-- [1, 1, 1, 2, 2, 2]
       cprime%c2(4,7) = cprime%c2(4,7) + 0.5_ki * C(1) * coeffs%c2(4, 12)
       ! [1, 1, 1, 2, 2] <-- [1, 1, 1, 2, 2, 2]
       cprime%c2(4,9) = cprime%c2(4,9) + 0.5_ki * C(2) * coeffs%c2(4, 12)
       ! [1, 1, 3, 3, 3] <-- [1, 1, 1, 3, 3, 3]
       cprime%c2(5,7) = 0.5_ki * C(1) * coeffs%c2(5, 12)
       ! [1, 1, 1, 3, 3] <-- [1, 1, 1, 3, 3, 3]
       cprime%c2(5,9) = cprime%c2(5,9) + 0.5_ki * C(3) * coeffs%c2(5, 12)
       ! [2, 2, 3, 3, 3] <-- [2, 2, 2, 3, 3, 3]
       cprime%c2(6,7) = 0.5_ki * C(2) * coeffs%c2(6, 12)
       ! [2, 2, 2, 3, 3] <-- [2, 2, 2, 3, 3, 3]
       cprime%c2(6,9) = cprime%c2(6,9) + 0.5_ki * C(3) * coeffs%c2(6, 12)
       ! [1, 1, 1, 1, 2] <-- [0, 1, 1, 1, 1, 2]
       cprime%c2(4,10) = cprime%c2(4,10) + 1.0_ki/6.0_ki * C(0) * coeffs%c3(1, 10)
       ! [0, 1, 1, 1, 2] <-- [0, 1, 1, 1, 1, 2]
       cprime%c3(1,6) = cprime%c3(1,6) + 2.0_ki/3.0_ki * C(1) * coeffs%c3(1, 10)
       ! [0, 1, 1, 1, 1] <-- [0, 1, 1, 1, 1, 2]
       cprime%c2(1,4) = 1.0_ki/6.0_ki * C(2) * coeffs%c3(1, 10)
       ! [1, 1, 1, 1, 3] <-- [0, 1, 1, 1, 1, 3]
       cprime%c2(5,10) = cprime%c2(5,10) + 1.0_ki/6.0_ki * C(0) * coeffs%c3(2, 10)
       ! [0, 1, 1, 1, 3] <-- [0, 1, 1, 1, 1, 3]
       cprime%c3(2,6) = cprime%c3(2,6) + 2.0_ki/3.0_ki * C(1) * coeffs%c3(2, 10)
       ! [0, 1, 1, 1, 1] <-- [0, 1, 1, 1, 1, 3]
       cprime%c2(1,4) = cprime%c2(1,4) + 1.0_ki/6.0_ki * C(3) * coeffs%c3(2, 10)
       ! [2, 2, 2, 2, 3] <-- [0, 2, 2, 2, 2, 3]
       cprime%c2(6,10) = cprime%c2(6,10) + 1.0_ki/6.0_ki * C(0) * coeffs%c3(3, 10)
       ! [0, 2, 2, 2, 3] <-- [0, 2, 2, 2, 2, 3]
       cprime%c3(3,6) = cprime%c3(3,6) + 2.0_ki/3.0_ki * C(2) * coeffs%c3(3, 10)
       ! [0, 2, 2, 2, 2] <-- [0, 2, 2, 2, 2, 3]
       cprime%c2(2,4) = 1.0_ki/6.0_ki * C(3) * coeffs%c3(3, 10)
       ! [2, 2, 2, 2, 3] <-- [1, 2, 2, 2, 2, 3]
       cprime%c2(6,10) = cprime%c2(6,10) + 1.0_ki/6.0_ki * C(1) * coeffs%c3(4, 10)
       ! [1, 2, 2, 2, 3] <-- [1, 2, 2, 2, 2, 3]
       cprime%c3(4,6) = cprime%c3(4,6) + 2.0_ki/3.0_ki * C(2) * coeffs%c3(4, 10)
       ! [1, 2, 2, 2, 2] <-- [1, 2, 2, 2, 2, 3]
       cprime%c2(4,4) = 1.0_ki/6.0_ki * C(3) * coeffs%c3(4, 10)
       ! [1, 1, 2, 2, 3] <-- [0, 1, 1, 2, 2, 3]
       cprime%c3(4,9) = cprime%c3(4,9) + 1.0_ki/6.0_ki * C(0) * coeffs%c4(1, 9)
       ! [0, 1, 2, 2, 3] <-- [0, 1, 1, 2, 2, 3]
       cprime%c4(1,3) = cprime%c4(1,3) + 1.0_ki/3.0_ki * C(1) * coeffs%c4(1, 9)
       ! [0, 1, 1, 2, 3] <-- [0, 1, 1, 2, 2, 3]
       cprime%c4(1,4) = cprime%c4(1,4) + 1.0_ki/3.0_ki * C(2) * coeffs%c4(1, 9)
       ! [0, 1, 1, 2, 2] <-- [0, 1, 1, 2, 2, 3]
       cprime%c3(1,5) = cprime%c3(1,5) + 1.0_ki/6.0_ki * C(3) * coeffs%c4(1, 9)
       ! [0, 0, 1, 2, 3] <-- [0, 0, 0, 1, 2, 3]
       cprime%c4(1,5) = cprime%c4(1,5) + 0.5_ki * C(0) * coeffs%c4(1, 15)
       ! [0, 0, 0, 2, 3] <-- [0, 0, 0, 1, 2, 3]
       cprime%c3(3,10) = 1.0_ki/6.0_ki * C(1) * coeffs%c4(1, 15)
       ! [0, 0, 0, 1, 3] <-- [0, 0, 0, 1, 2, 3]
       cprime%c3(2,10) = 1.0_ki/6.0_ki * C(2) * coeffs%c4(1, 15)
       ! [0, 0, 0, 1, 2] <-- [0, 0, 0, 1, 2, 3]
       cprime%c3(1,10) = 1.0_ki/6.0_ki * C(3) * coeffs%c4(1, 15)
       ! [1, 1, 1, 1, 1] <-- [0, 1, 1, 1, 1, 1]
       cprime%c1(2,5) = cprime%c1(2,5) + 1.0_ki/6.0_ki * C(0) * coeffs%c2(1, 5)
       ! [0, 1, 1, 1, 1] <-- [0, 1, 1, 1, 1, 1]
       cprime%c2(1,4) = cprime%c2(1,4) + 5.0_ki/6.0_ki * C(1) * coeffs%c2(1, 5)
       ! [2, 2, 2, 2, 2] <-- [0, 2, 2, 2, 2, 2]
       cprime%c1(3,5) = cprime%c1(3,5) + 1.0_ki/6.0_ki * C(0) * coeffs%c2(2, 5)
       ! [0, 2, 2, 2, 2] <-- [0, 2, 2, 2, 2, 2]
       cprime%c2(2,4) = cprime%c2(2,4) + 5.0_ki/6.0_ki * C(2) * coeffs%c2(2, 5)
       ! [3, 3, 3, 3, 3] <-- [0, 3, 3, 3, 3, 3]
       cprime%c1(4,5) = 1.0_ki/6.0_ki * C(0) * coeffs%c2(3, 5)
       ! [0, 3, 3, 3, 3] <-- [0, 3, 3, 3, 3, 3]
       cprime%c2(3,4) = 5.0_ki/6.0_ki * C(3) * coeffs%c2(3, 5)
       ! [2, 2, 2, 2, 2] <-- [1, 2, 2, 2, 2, 2]
       cprime%c1(3,5) = cprime%c1(3,5) + 1.0_ki/6.0_ki * C(1) * coeffs%c2(4, 5)
       ! [1, 2, 2, 2, 2] <-- [1, 2, 2, 2, 2, 2]
       cprime%c2(4,4) = cprime%c2(4,4) + 5.0_ki/6.0_ki * C(2) * coeffs%c2(4, 5)
       ! [3, 3, 3, 3, 3] <-- [1, 3, 3, 3, 3, 3]
       cprime%c1(4,5) = cprime%c1(4,5) + 1.0_ki/6.0_ki * C(1) * coeffs%c2(5, 5)
       ! [1, 3, 3, 3, 3] <-- [1, 3, 3, 3, 3, 3]
       cprime%c2(5,4) = 5.0_ki/6.0_ki * C(3) * coeffs%c2(5, 5)
       ! [3, 3, 3, 3, 3] <-- [2, 3, 3, 3, 3, 3]
       cprime%c1(4,5) = cprime%c1(4,5) + 1.0_ki/6.0_ki * C(2) * coeffs%c2(6, 5)
       ! [2, 3, 3, 3, 3] <-- [2, 3, 3, 3, 3, 3]
       cprime%c2(6,4) = 5.0_ki/6.0_ki * C(3) * coeffs%c2(6, 5)
       ! [0, 1, 2, 3, 3] <-- [0, 0, 1, 2, 3, 3]
       cprime%c4(1,2) = cprime%c4(1,2) + 1.0_ki/3.0_ki * C(0) * coeffs%c4(1, 12)
       ! [0, 0, 2, 3, 3] <-- [0, 0, 1, 2, 3, 3]
       cprime%c3(3,8) = 1.0_ki/6.0_ki * C(1) * coeffs%c4(1, 12)
       ! [0, 0, 1, 3, 3] <-- [0, 0, 1, 2, 3, 3]
       cprime%c3(2,8) = 1.0_ki/6.0_ki * C(2) * coeffs%c4(1, 12)
       ! [0, 0, 1, 2, 3] <-- [0, 0, 1, 2, 3, 3]
       cprime%c4(1,5) = cprime%c4(1,5) + 1.0_ki/3.0_ki * C(3) * coeffs%c4(1, 12)
       ! [0, 0, 1, 2, 2] <-- [0, 0, 0, 1, 2, 2]
       cprime%c3(1,8) = cprime%c3(1,8) + 0.5_ki * C(0) * coeffs%c3(1, 18)
       ! [0, 0, 0, 2, 2] <-- [0, 0, 0, 1, 2, 2]
       cprime%c2(2,9) = cprime%c2(2,9) + 1.0_ki/6.0_ki * C(1) * coeffs%c3(1, 18)
       ! [0, 0, 0, 1, 2] <-- [0, 0, 0, 1, 2, 2]
       cprime%c3(1,10) = cprime%c3(1,10) + 1.0_ki/3.0_ki * C(2) * coeffs%c3(1, 18)
       ! [0, 0, 1, 3, 3] <-- [0, 0, 0, 1, 3, 3]
       cprime%c3(2,8) = cprime%c3(2,8) + 0.5_ki * C(0) * coeffs%c3(2, 18)
       ! [0, 0, 0, 3, 3] <-- [0, 0, 0, 1, 3, 3]
       cprime%c2(3,9) = cprime%c2(3,9) + 1.0_ki/6.0_ki * C(1) * coeffs%c3(2, 18)
       ! [0, 0, 0, 1, 3] <-- [0, 0, 0, 1, 3, 3]
       cprime%c3(2,10) = cprime%c3(2,10) + 1.0_ki/3.0_ki * C(3) * coeffs%c3(2, 18)
       ! [0, 0, 2, 3, 3] <-- [0, 0, 0, 2, 3, 3]
       cprime%c3(3,8) = cprime%c3(3,8) + 0.5_ki * C(0) * coeffs%c3(3, 18)
       ! [0, 0, 0, 3, 3] <-- [0, 0, 0, 2, 3, 3]
       cprime%c2(3,9) = cprime%c2(3,9) + 1.0_ki/6.0_ki * C(2) * coeffs%c3(3, 18)
       ! [0, 0, 0, 2, 3] <-- [0, 0, 0, 2, 3, 3]
       cprime%c3(3,10) = cprime%c3(3,10) + 1.0_ki/3.0_ki * C(3) * coeffs%c3(3, 18)
       ! [1, 1, 2, 3, 3] <-- [1, 1, 1, 2, 3, 3]
       cprime%c3(4,8) = 0.5_ki * C(1) * coeffs%c3(4, 18)
       ! [1, 1, 1, 3, 3] <-- [1, 1, 1, 2, 3, 3]
       cprime%c2(5,9) = cprime%c2(5,9) + 1.0_ki/6.0_ki * C(2) * coeffs%c3(4, 18)
       ! [1, 1, 1, 2, 3] <-- [1, 1, 1, 2, 3, 3]
       cprime%c3(4,10) = 1.0_ki/3.0_ki * C(3) * coeffs%c3(4, 18)
       ! [1, 1, 2, 3, 3] <-- [0, 1, 1, 2, 3, 3]
       cprime%c3(4,8) = cprime%c3(4,8) + 1.0_ki/6.0_ki * C(0) * coeffs%c4(1, 8)
       ! [0, 1, 2, 3, 3] <-- [0, 1, 1, 2, 3, 3]
       cprime%c4(1,2) = cprime%c4(1,2) + 1.0_ki/3.0_ki * C(1) * coeffs%c4(1, 8)
       ! [0, 1, 1, 3, 3] <-- [0, 1, 1, 2, 3, 3]
       cprime%c3(2,5) = cprime%c3(2,5) + 1.0_ki/6.0_ki * C(2) * coeffs%c4(1, 8)
       ! [0, 1, 1, 2, 3] <-- [0, 1, 1, 2, 3, 3]
       cprime%c4(1,4) = cprime%c4(1,4) + 1.0_ki/3.0_ki * C(3) * coeffs%c4(1, 8)
       ! [0, 0, 1, 1, 2] <-- [0, 0, 0, 1, 1, 2]
       cprime%c3(1,9) = cprime%c3(1,9) + 0.5_ki * C(0) * coeffs%c3(1, 19)
       ! [0, 0, 0, 1, 2] <-- [0, 0, 0, 1, 1, 2]
       cprime%c3(1,10) = cprime%c3(1,10) + 1.0_ki/3.0_ki * C(1) * coeffs%c3(1, 19)
       ! [0, 0, 0, 1, 1] <-- [0, 0, 0, 1, 1, 2]
       cprime%c2(1,9) = cprime%c2(1,9) + 1.0_ki/6.0_ki * C(2) * coeffs%c3(1, 19)
       ! [0, 0, 1, 1, 3] <-- [0, 0, 0, 1, 1, 3]
       cprime%c3(2,9) = cprime%c3(2,9) + 0.5_ki * C(0) * coeffs%c3(2, 19)
       ! [0, 0, 0, 1, 3] <-- [0, 0, 0, 1, 1, 3]
       cprime%c3(2,10) = cprime%c3(2,10) + 1.0_ki/3.0_ki * C(1) * coeffs%c3(2, 19)
       ! [0, 0, 0, 1, 1] <-- [0, 0, 0, 1, 1, 3]
       cprime%c2(1,9) = cprime%c2(1,9) + 1.0_ki/6.0_ki * C(3) * coeffs%c3(2, 19)
       ! [0, 0, 2, 2, 3] <-- [0, 0, 0, 2, 2, 3]
       cprime%c3(3,9) = cprime%c3(3,9) + 0.5_ki * C(0) * coeffs%c3(3, 19)
       ! [0, 0, 0, 2, 3] <-- [0, 0, 0, 2, 2, 3]
       cprime%c3(3,10) = cprime%c3(3,10) + 1.0_ki/3.0_ki * C(2) * coeffs%c3(3, 19)
       ! [0, 0, 0, 2, 2] <-- [0, 0, 0, 2, 2, 3]
       cprime%c2(2,9) = cprime%c2(2,9) + 1.0_ki/6.0_ki * C(3) * coeffs%c3(3, 19)
       ! [1, 1, 2, 2, 3] <-- [1, 1, 1, 2, 2, 3]
       cprime%c3(4,9) = cprime%c3(4,9) + 0.5_ki * C(1) * coeffs%c3(4, 19)
       ! [1, 1, 1, 2, 3] <-- [1, 1, 1, 2, 2, 3]
       cprime%c3(4,10) = cprime%c3(4,10) + 1.0_ki/3.0_ki * C(2) * coeffs%c3(4, 19)
       ! [1, 1, 1, 2, 2] <-- [1, 1, 1, 2, 2, 3]
       cprime%c2(4,9) = cprime%c2(4,9) + 1.0_ki/6.0_ki * C(3) * coeffs%c3(4, 19)
       ! [1, 1, 2, 2, 2] <-- [0, 1, 1, 2, 2, 2]
       cprime%c2(4,7) = cprime%c2(4,7) + 1.0_ki/6.0_ki * C(0) * coeffs%c3(1, 7)
       ! [0, 1, 2, 2, 2] <-- [0, 1, 1, 2, 2, 2]
       cprime%c3(1,3) = cprime%c3(1,3) + 1.0_ki/3.0_ki * C(1) * coeffs%c3(1, 7)
       ! [0, 1, 1, 2, 2] <-- [0, 1, 1, 2, 2, 2]
       cprime%c3(1,5) = cprime%c3(1,5) + 0.5_ki * C(2) * coeffs%c3(1, 7)
       ! [1, 1, 3, 3, 3] <-- [0, 1, 1, 3, 3, 3]
       cprime%c2(5,7) = cprime%c2(5,7) + 1.0_ki/6.0_ki * C(0) * coeffs%c3(2, 7)
       ! [0, 1, 3, 3, 3] <-- [0, 1, 1, 3, 3, 3]
       cprime%c3(2,3) = 1.0_ki/3.0_ki * C(1) * coeffs%c3(2, 7)
       ! [0, 1, 1, 3, 3] <-- [0, 1, 1, 3, 3, 3]
       cprime%c3(2,5) = cprime%c3(2,5) + 0.5_ki * C(3) * coeffs%c3(2, 7)
       ! [2, 2, 3, 3, 3] <-- [0, 2, 2, 3, 3, 3]
       cprime%c2(6,7) = cprime%c2(6,7) + 1.0_ki/6.0_ki * C(0) * coeffs%c3(3, 7)
       ! [0, 2, 3, 3, 3] <-- [0, 2, 2, 3, 3, 3]
       cprime%c3(3,3) = 1.0_ki/3.0_ki * C(2) * coeffs%c3(3, 7)
       ! [0, 2, 2, 3, 3] <-- [0, 2, 2, 3, 3, 3]
       cprime%c3(3,5) = cprime%c3(3,5) + 0.5_ki * C(3) * coeffs%c3(3, 7)
       ! [2, 2, 3, 3, 3] <-- [1, 2, 2, 3, 3, 3]
       cprime%c2(6,7) = cprime%c2(6,7) + 1.0_ki/6.0_ki * C(1) * coeffs%c3(4, 7)
       ! [1, 2, 3, 3, 3] <-- [1, 2, 2, 3, 3, 3]
       cprime%c3(4,3) = 1.0_ki/3.0_ki * C(2) * coeffs%c3(4, 7)
       ! [1, 2, 2, 3, 3] <-- [1, 2, 2, 3, 3, 3]
       cprime%c3(4,5) = cprime%c3(4,5) + 0.5_ki * C(3) * coeffs%c3(4, 7)
       ! [0, 0, 0, 1, 2] <-- [0, 0, 0, 0, 1, 2]
       cprime%c3(1,10) = cprime%c3(1,10) + 2.0_ki/3.0_ki * C(0) * coeffs%c3(1, 20)
       ! [0, 0, 0, 0, 2] <-- [0, 0, 0, 0, 1, 2]
       cprime%c2(2,10) = cprime%c2(2,10) + 1.0_ki/6.0_ki * C(1) * coeffs%c3(1, 20)
       ! [0, 0, 0, 0, 1] <-- [0, 0, 0, 0, 1, 2]
       cprime%c2(1,10) = cprime%c2(1,10) + 1.0_ki/6.0_ki * C(2) * coeffs%c3(1, 20)
       ! [0, 0, 0, 1, 3] <-- [0, 0, 0, 0, 1, 3]
       cprime%c3(2,10) = cprime%c3(2,10) + 2.0_ki/3.0_ki * C(0) * coeffs%c3(2, 20)
       ! [0, 0, 0, 0, 3] <-- [0, 0, 0, 0, 1, 3]
       cprime%c2(3,10) = cprime%c2(3,10) + 1.0_ki/6.0_ki * C(1) * coeffs%c3(2, 20)
       ! [0, 0, 0, 0, 1] <-- [0, 0, 0, 0, 1, 3]
       cprime%c2(1,10) = cprime%c2(1,10) + 1.0_ki/6.0_ki * C(3) * coeffs%c3(2, 20)
       ! [0, 0, 0, 2, 3] <-- [0, 0, 0, 0, 2, 3]
       cprime%c3(3,10) = cprime%c3(3,10) + 2.0_ki/3.0_ki * C(0) * coeffs%c3(3, 20)
       ! [0, 0, 0, 0, 3] <-- [0, 0, 0, 0, 2, 3]
       cprime%c2(3,10) = cprime%c2(3,10) + 1.0_ki/6.0_ki * C(2) * coeffs%c3(3, 20)
       ! [0, 0, 0, 0, 2] <-- [0, 0, 0, 0, 2, 3]
       cprime%c2(2,10) = cprime%c2(2,10) + 1.0_ki/6.0_ki * C(3) * coeffs%c3(3, 20)
       ! [1, 1, 1, 2, 3] <-- [1, 1, 1, 1, 2, 3]
       cprime%c3(4,10) = cprime%c3(4,10) + 2.0_ki/3.0_ki * C(1) * coeffs%c3(4, 20)
       ! [1, 1, 1, 1, 3] <-- [1, 1, 1, 1, 2, 3]
       cprime%c2(5,10) = cprime%c2(5,10) + 1.0_ki/6.0_ki * C(2) * coeffs%c3(4, 20)
       ! [1, 1, 1, 1, 2] <-- [1, 1, 1, 1, 2, 3]
       cprime%c2(4,10) = cprime%c2(4,10) + 1.0_ki/6.0_ki * C(3) * coeffs%c3(4, 20)
       ! [1, 1, 1, 2, 3] <-- [0, 1, 1, 1, 2, 3]
       cprime%c3(4,10) = cprime%c3(4,10) + 1.0_ki/6.0_ki * C(0) * coeffs%c4(1, 10)
       ! [0, 1, 1, 2, 3] <-- [0, 1, 1, 1, 2, 3]
       cprime%c4(1,4) = cprime%c4(1,4) + 0.5_ki * C(1) * coeffs%c4(1, 10)
       ! [0, 1, 1, 1, 3] <-- [0, 1, 1, 1, 2, 3]
       cprime%c3(2,6) = cprime%c3(2,6) + 1.0_ki/6.0_ki * C(2) * coeffs%c4(1, 10)
       ! [0, 1, 1, 1, 2] <-- [0, 1, 1, 1, 2, 3]
       cprime%c3(1,6) = cprime%c3(1,6) + 1.0_ki/6.0_ki * C(3) * coeffs%c4(1, 10)
       ! [0, 0, 0, 1, 1] <-- [0, 0, 0, 0, 1, 1]
       cprime%c2(1,9) = cprime%c2(1,9) + 2.0_ki/3.0_ki * C(0) * coeffs%c2(1, 14)
       ! [0, 0, 0, 0, 1] <-- [0, 0, 0, 0, 1, 1]
       cprime%c2(1,10) = cprime%c2(1,10) + 1.0_ki/3.0_ki * C(1) * coeffs%c2(1, 14)
       ! [0, 0, 0, 2, 2] <-- [0, 0, 0, 0, 2, 2]
       cprime%c2(2,9) = cprime%c2(2,9) + 2.0_ki/3.0_ki * C(0) * coeffs%c2(2, 14)
       ! [0, 0, 0, 0, 2] <-- [0, 0, 0, 0, 2, 2]
       cprime%c2(2,10) = cprime%c2(2,10) + 1.0_ki/3.0_ki * C(2) * coeffs%c2(2, 14)
       ! [0, 0, 0, 3, 3] <-- [0, 0, 0, 0, 3, 3]
       cprime%c2(3,9) = cprime%c2(3,9) + 2.0_ki/3.0_ki * C(0) * coeffs%c2(3, 14)
       ! [0, 0, 0, 0, 3] <-- [0, 0, 0, 0, 3, 3]
       cprime%c2(3,10) = cprime%c2(3,10) + 1.0_ki/3.0_ki * C(3) * coeffs%c2(3, 14)
       ! [1, 1, 1, 2, 2] <-- [1, 1, 1, 1, 2, 2]
       cprime%c2(4,9) = cprime%c2(4,9) + 2.0_ki/3.0_ki * C(1) * coeffs%c2(4, 14)
       ! [1, 1, 1, 1, 2] <-- [1, 1, 1, 1, 2, 2]
       cprime%c2(4,10) = cprime%c2(4,10) + 1.0_ki/3.0_ki * C(2) * coeffs%c2(4, 14)
       ! [1, 1, 1, 3, 3] <-- [1, 1, 1, 1, 3, 3]
       cprime%c2(5,9) = cprime%c2(5,9) + 2.0_ki/3.0_ki * C(1) * coeffs%c2(5, 14)
       ! [1, 1, 1, 1, 3] <-- [1, 1, 1, 1, 3, 3]
       cprime%c2(5,10) = cprime%c2(5,10) + 1.0_ki/3.0_ki * C(3) * coeffs%c2(5, 14)
       ! [2, 2, 2, 3, 3] <-- [2, 2, 2, 2, 3, 3]
       cprime%c2(6,9) = cprime%c2(6,9) + 2.0_ki/3.0_ki * C(2) * coeffs%c2(6, 14)
       ! [2, 2, 2, 2, 3] <-- [2, 2, 2, 2, 3, 3]
       cprime%c2(6,10) = cprime%c2(6,10) + 1.0_ki/3.0_ki * C(3) * coeffs%c2(6, 14)
       ! [0, 1, 2, 2, 2] <-- [0, 0, 1, 2, 2, 2]
       cprime%c3(1,3) = cprime%c3(1,3) + 1.0_ki/3.0_ki * C(0) * coeffs%c3(1, 13)
       ! [0, 0, 2, 2, 2] <-- [0, 0, 1, 2, 2, 2]
       cprime%c2(2,7) = cprime%c2(2,7) + 1.0_ki/6.0_ki * C(1) * coeffs%c3(1, 13)
       ! [0, 0, 1, 2, 2] <-- [0, 0, 1, 2, 2, 2]
       cprime%c3(1,8) = cprime%c3(1,8) + 0.5_ki * C(2) * coeffs%c3(1, 13)
       ! [0, 1, 3, 3, 3] <-- [0, 0, 1, 3, 3, 3]
       cprime%c3(2,3) = cprime%c3(2,3) + 1.0_ki/3.0_ki * C(0) * coeffs%c3(2, 13)
       ! [0, 0, 3, 3, 3] <-- [0, 0, 1, 3, 3, 3]
       cprime%c2(3,7) = cprime%c2(3,7) + 1.0_ki/6.0_ki * C(1) * coeffs%c3(2, 13)
       ! [0, 0, 1, 3, 3] <-- [0, 0, 1, 3, 3, 3]
       cprime%c3(2,8) = cprime%c3(2,8) + 0.5_ki * C(3) * coeffs%c3(2, 13)
       ! [0, 2, 3, 3, 3] <-- [0, 0, 2, 3, 3, 3]
       cprime%c3(3,3) = cprime%c3(3,3) + 1.0_ki/3.0_ki * C(0) * coeffs%c3(3, 13)
       ! [0, 0, 3, 3, 3] <-- [0, 0, 2, 3, 3, 3]
       cprime%c2(3,7) = cprime%c2(3,7) + 1.0_ki/6.0_ki * C(2) * coeffs%c3(3, 13)
       ! [0, 0, 2, 3, 3] <-- [0, 0, 2, 3, 3, 3]
       cprime%c3(3,8) = cprime%c3(3,8) + 0.5_ki * C(3) * coeffs%c3(3, 13)
       ! [1, 2, 3, 3, 3] <-- [1, 1, 2, 3, 3, 3]
       cprime%c3(4,3) = cprime%c3(4,3) + 1.0_ki/3.0_ki * C(1) * coeffs%c3(4, 13)
       ! [1, 1, 3, 3, 3] <-- [1, 1, 2, 3, 3, 3]
       cprime%c2(5,7) = cprime%c2(5,7) + 1.0_ki/6.0_ki * C(2) * coeffs%c3(4, 13)
       ! [1, 1, 2, 3, 3] <-- [1, 1, 2, 3, 3, 3]
       cprime%c3(4,8) = cprime%c3(4,8) + 0.5_ki * C(3) * coeffs%c3(4, 13)
       ! [1, 2, 3, 3, 3] <-- [0, 1, 2, 3, 3, 3]
       cprime%c3(4,3) = cprime%c3(4,3) + 1.0_ki/6.0_ki * C(0) * coeffs%c4(1, 3)
       ! [0, 2, 3, 3, 3] <-- [0, 1, 2, 3, 3, 3]
       cprime%c3(3,3) = cprime%c3(3,3) + 1.0_ki/6.0_ki * C(1) * coeffs%c4(1, 3)
       ! [0, 1, 3, 3, 3] <-- [0, 1, 2, 3, 3, 3]
       cprime%c3(2,3) = cprime%c3(2,3) + 1.0_ki/6.0_ki * C(2) * coeffs%c4(1, 3)
       ! [0, 1, 2, 3, 3] <-- [0, 1, 2, 3, 3, 3]
       cprime%c4(1,2) = cprime%c4(1,2) + 0.5_ki * C(3) * coeffs%c4(1, 3)
       ! [0, 1, 1, 2, 2] <-- [0, 0, 1, 1, 2, 2]
       cprime%c3(1,5) = cprime%c3(1,5) + 1.0_ki/3.0_ki * C(0) * coeffs%c3(1, 15)
       ! [0, 0, 1, 2, 2] <-- [0, 0, 1, 1, 2, 2]
       cprime%c3(1,8) = cprime%c3(1,8) + 1.0_ki/3.0_ki * C(1) * coeffs%c3(1, 15)
       ! [0, 0, 1, 1, 2] <-- [0, 0, 1, 1, 2, 2]
       cprime%c3(1,9) = cprime%c3(1,9) + 1.0_ki/3.0_ki * C(2) * coeffs%c3(1, 15)
       ! [0, 1, 1, 3, 3] <-- [0, 0, 1, 1, 3, 3]
       cprime%c3(2,5) = cprime%c3(2,5) + 1.0_ki/3.0_ki * C(0) * coeffs%c3(2, 15)
       ! [0, 0, 1, 3, 3] <-- [0, 0, 1, 1, 3, 3]
       cprime%c3(2,8) = cprime%c3(2,8) + 1.0_ki/3.0_ki * C(1) * coeffs%c3(2, 15)
       ! [0, 0, 1, 1, 3] <-- [0, 0, 1, 1, 3, 3]
       cprime%c3(2,9) = cprime%c3(2,9) + 1.0_ki/3.0_ki * C(3) * coeffs%c3(2, 15)
       ! [0, 2, 2, 3, 3] <-- [0, 0, 2, 2, 3, 3]
       cprime%c3(3,5) = cprime%c3(3,5) + 1.0_ki/3.0_ki * C(0) * coeffs%c3(3, 15)
       ! [0, 0, 2, 3, 3] <-- [0, 0, 2, 2, 3, 3]
       cprime%c3(3,8) = cprime%c3(3,8) + 1.0_ki/3.0_ki * C(2) * coeffs%c3(3, 15)
       ! [0, 0, 2, 2, 3] <-- [0, 0, 2, 2, 3, 3]
       cprime%c3(3,9) = cprime%c3(3,9) + 1.0_ki/3.0_ki * C(3) * coeffs%c3(3, 15)
       ! [1, 2, 2, 3, 3] <-- [1, 1, 2, 2, 3, 3]
       cprime%c3(4,5) = cprime%c3(4,5) + 1.0_ki/3.0_ki * C(1) * coeffs%c3(4, 15)
       ! [1, 1, 2, 3, 3] <-- [1, 1, 2, 2, 3, 3]
       cprime%c3(4,8) = cprime%c3(4,8) + 1.0_ki/3.0_ki * C(2) * coeffs%c3(4, 15)
       ! [1, 1, 2, 2, 3] <-- [1, 1, 2, 2, 3, 3]
       cprime%c3(4,9) = cprime%c3(4,9) + 1.0_ki/3.0_ki * C(3) * coeffs%c3(4, 15)
       ! [0, 1, 1, 1, 1] <-- [0, 0, 1, 1, 1, 1]
       cprime%c2(1,4) = cprime%c2(1,4) + 1.0_ki/3.0_ki * C(0) * coeffs%c2(1, 9)
       ! [0, 0, 1, 1, 1] <-- [0, 0, 1, 1, 1, 1]
       cprime%c2(1,7) = cprime%c2(1,7) + 2.0_ki/3.0_ki * C(1) * coeffs%c2(1, 9)
       ! [0, 2, 2, 2, 2] <-- [0, 0, 2, 2, 2, 2]
       cprime%c2(2,4) = cprime%c2(2,4) + 1.0_ki/3.0_ki * C(0) * coeffs%c2(2, 9)
       ! [0, 0, 2, 2, 2] <-- [0, 0, 2, 2, 2, 2]
       cprime%c2(2,7) = cprime%c2(2,7) + 2.0_ki/3.0_ki * C(2) * coeffs%c2(2, 9)
       ! [0, 3, 3, 3, 3] <-- [0, 0, 3, 3, 3, 3]
       cprime%c2(3,4) = cprime%c2(3,4) + 1.0_ki/3.0_ki * C(0) * coeffs%c2(3, 9)
       ! [0, 0, 3, 3, 3] <-- [0, 0, 3, 3, 3, 3]
       cprime%c2(3,7) = cprime%c2(3,7) + 2.0_ki/3.0_ki * C(3) * coeffs%c2(3, 9)
       ! [1, 2, 2, 2, 2] <-- [1, 1, 2, 2, 2, 2]
       cprime%c2(4,4) = cprime%c2(4,4) + 1.0_ki/3.0_ki * C(1) * coeffs%c2(4, 9)
       ! [1, 1, 2, 2, 2] <-- [1, 1, 2, 2, 2, 2]
       cprime%c2(4,7) = cprime%c2(4,7) + 2.0_ki/3.0_ki * C(2) * coeffs%c2(4, 9)
       ! [1, 3, 3, 3, 3] <-- [1, 1, 3, 3, 3, 3]
       cprime%c2(5,4) = cprime%c2(5,4) + 1.0_ki/3.0_ki * C(1) * coeffs%c2(5, 9)
       ! [1, 1, 3, 3, 3] <-- [1, 1, 3, 3, 3, 3]
       cprime%c2(5,7) = cprime%c2(5,7) + 2.0_ki/3.0_ki * C(3) * coeffs%c2(5, 9)
       ! [2, 3, 3, 3, 3] <-- [2, 2, 3, 3, 3, 3]
       cprime%c2(6,4) = cprime%c2(6,4) + 1.0_ki/3.0_ki * C(2) * coeffs%c2(6, 9)
       ! [2, 2, 3, 3, 3] <-- [2, 2, 3, 3, 3, 3]
       cprime%c2(6,7) = cprime%c2(6,7) + 2.0_ki/3.0_ki * C(3) * coeffs%c2(6, 9)
       ! [0, 0, 0, 0, 0] <-- [0, 0, 0, 0, 0, 0]
       cprime%c1(1,5) = cprime%c1(1,5) + C(0) * coeffs%c1(1, 6)
       ! [1, 1, 1, 1, 1] <-- [1, 1, 1, 1, 1, 1]
       cprime%c1(2,5) = cprime%c1(2,5) + C(1) * coeffs%c1(2, 6)
       ! [2, 2, 2, 2, 2] <-- [2, 2, 2, 2, 2, 2]
       cprime%c1(3,5) = cprime%c1(3,5) + C(2) * coeffs%c1(3, 6)
       ! [3, 3, 3, 3, 3] <-- [3, 3, 3, 3, 3, 3]
       cprime%c1(4,5) = cprime%c1(4,5) + C(3) * coeffs%c1(4, 6)
       ! [1, 2, 2, 2, 2] <-- [0, 1, 2, 2, 2, 2]
       cprime%c2(4,4) = cprime%c2(4,4) + 1.0_ki/6.0_ki * C(0) * coeffs%c3(1, 4)
       ! [0, 2, 2, 2, 2] <-- [0, 1, 2, 2, 2, 2]
       cprime%c2(2,4) = cprime%c2(2,4) + 1.0_ki/6.0_ki * C(1) * coeffs%c3(1, 4)
       ! [0, 1, 2, 2, 2] <-- [0, 1, 2, 2, 2, 2]
       cprime%c3(1,3) = cprime%c3(1,3) + 2.0_ki/3.0_ki * C(2) * coeffs%c3(1, 4)
       ! [1, 3, 3, 3, 3] <-- [0, 1, 3, 3, 3, 3]
       cprime%c2(5,4) = cprime%c2(5,4) + 1.0_ki/6.0_ki * C(0) * coeffs%c3(2, 4)
       ! [0, 3, 3, 3, 3] <-- [0, 1, 3, 3, 3, 3]
       cprime%c2(3,4) = cprime%c2(3,4) + 1.0_ki/6.0_ki * C(1) * coeffs%c3(2, 4)
       ! [0, 1, 3, 3, 3] <-- [0, 1, 3, 3, 3, 3]
       cprime%c3(2,3) = cprime%c3(2,3) + 2.0_ki/3.0_ki * C(3) * coeffs%c3(2, 4)
       ! [2, 3, 3, 3, 3] <-- [0, 2, 3, 3, 3, 3]
       cprime%c2(6,4) = cprime%c2(6,4) + 1.0_ki/6.0_ki * C(0) * coeffs%c3(3, 4)
       ! [0, 3, 3, 3, 3] <-- [0, 2, 3, 3, 3, 3]
       cprime%c2(3,4) = cprime%c2(3,4) + 1.0_ki/6.0_ki * C(2) * coeffs%c3(3, 4)
       ! [0, 2, 3, 3, 3] <-- [0, 2, 3, 3, 3, 3]
       cprime%c3(3,3) = cprime%c3(3,3) + 2.0_ki/3.0_ki * C(3) * coeffs%c3(3, 4)
       ! [2, 3, 3, 3, 3] <-- [1, 2, 3, 3, 3, 3]
       cprime%c2(6,4) = cprime%c2(6,4) + 1.0_ki/6.0_ki * C(1) * coeffs%c3(4, 4)
       ! [1, 3, 3, 3, 3] <-- [1, 2, 3, 3, 3, 3]
       cprime%c2(5,4) = cprime%c2(5,4) + 1.0_ki/6.0_ki * C(2) * coeffs%c3(4, 4)
       ! [1, 2, 3, 3, 3] <-- [1, 2, 3, 3, 3, 3]
       cprime%c3(4,3) = cprime%c3(4,3) + 2.0_ki/3.0_ki * C(3) * coeffs%c3(4, 4)
       amp = amp - contract5_5(cprime, momenta, new_set)
    end do
 end function contract6_6
 !****f* src/interface/tens_comb/contract_a_tensor_1
 ! NAME
 !
 ! Function contract_a_tensor_1
 !
 ! USAGE
 !
 !  ans = contract_a_tensor_1(coeffs, momenta)
 !
 ! DESCRIPTION
 !
 !  Contracts the a set of coefficients with an A-type tensor
 !  of rank 1 constructed from a given set of momenta.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_1)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !
 ! RETURN VALUE
 !
 !  The result of the contraction which is a complex number
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 pure function contract_a_tensor_1(coeffs, momenta) result(res)
    ! generated by: write_function_a_tensor_contract
    implicit none
    type(coeff_type_1), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in), optional :: momenta
    complex(ki) :: res
    integer :: rk
    real(ki) :: acc
    if (present(momenta)) then
       rk = size(momenta, 1)
    else
       rk = 0
    end if
    select case(rk)
    case(1)
       acc = momenta(1,0)
       res = acc * coeffs%c1(1,1)
       acc = momenta(1,1)
       res = res + acc * coeffs%c1(2,1)
       acc = momenta(1,2)
       res = res + acc * coeffs%c1(3,1)
       acc = momenta(1,3)
       res = res + acc * coeffs%c1(4,1)
    case default
       res = 0.0_ki
    end select
 end  function contract_a_tensor_1
 !****f* src/interface/tens_comb/contract_a_tensor_2
 ! NAME
 !
 ! Function contract_a_tensor_2
 !
 ! USAGE
 !
 !  ans = contract_a_tensor_2(coeffs, momenta)
 !
 ! DESCRIPTION
 !
 !  Contracts the a set of coefficients with an A-type tensor
 !  of rank 2 constructed from a given set of momenta.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_2)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !
 ! RETURN VALUE
 !
 !  The result of the contraction which is a complex number
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 pure function contract_a_tensor_2(coeffs, momenta) result(res)
    ! generated by: write_function_a_tensor_contract
    implicit none
    type(coeff_type_2), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in), optional :: momenta
    complex(ki) :: res
    integer :: rk
    real(ki) :: acc
    if (present(momenta)) then
       rk = size(momenta, 1)
    else
       rk = 0
    end if
    select case(rk)
    case(1)
       acc = momenta(1,0)
       res = acc * coeffs%c1(1,1)
       acc = momenta(1,1)
       res = res + acc * coeffs%c1(2,1)
       acc = momenta(1,2)
       res = res + acc * coeffs%c1(3,1)
       acc = momenta(1,3)
       res = res + acc * coeffs%c1(4,1)
    case(2)
       acc = momenta(1,0)*momenta(2,0)
       res = acc * coeffs%c1(1,2)
       acc = momenta(1,1)*momenta(2,1)
       res = res + acc * coeffs%c1(2,2)
       acc = momenta(1,2)*momenta(2,2)
       res = res + acc * coeffs%c1(3,2)
       acc = momenta(1,3)*momenta(2,3)
       res = res + acc * coeffs%c1(4,2)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(1,1)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(2,1)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(3,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(4,1)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(5,1)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(6,1)
    case default
       res = 0.0_ki
    end select
 end  function contract_a_tensor_2
 !****f* src/interface/tens_comb/contract_b_tensor_2
 ! NAME
 !
 ! Function contract_b_tensor_2
 !
 ! USAGE
 !
 !  ans = contract_b_tensor_2(coeffs, momenta)
 !
 ! DESCRIPTION
 !
 !  Contracts the a set of coefficients with an B-type tensor
 !  of rank 2 constructed from a given set of momenta.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_2)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !
 ! RETURN VALUE
 !
 !  The result of the contraction which is a complex number
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 pure function contract_b_tensor_2(coeffs, momenta) result(res)
    ! generated by: write_function_b_tensor_contract
    implicit none
    type(coeff_type_2), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in), optional :: momenta
    complex(ki) :: res
    integer :: rk
    real(ki) :: acc
    if (present(momenta)) then
       rk = size(momenta, 1)
    else
       rk = 0
    end if
    select case(rk)
    case(0)
       res = coeffs%c1(1,2)
       res = res - coeffs%c1(2,2)
       res = res - coeffs%c1(3,2)
       res = res - coeffs%c1(4,2)
    case default
       res = 0.0_ki
    end select
 end  function contract_b_tensor_2
 !****f* src/interface/tens_comb/contract_a_tensor_3
 ! NAME
 !
 ! Function contract_a_tensor_3
 !
 ! USAGE
 !
 !  ans = contract_a_tensor_3(coeffs, momenta)
 !
 ! DESCRIPTION
 !
 !  Contracts the a set of coefficients with an A-type tensor
 !  of rank 3 constructed from a given set of momenta.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_3)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !
 ! RETURN VALUE
 !
 !  The result of the contraction which is a complex number
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 pure function contract_a_tensor_3(coeffs, momenta) result(res)
    ! generated by: write_function_a_tensor_contract
    implicit none
    type(coeff_type_3), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in), optional :: momenta
    complex(ki) :: res
    integer :: rk
    real(ki) :: acc
    real(ki) :: reg0
    real(ki) :: reg1
    if (present(momenta)) then
       rk = size(momenta, 1)
    else
       rk = 0
    end if
    select case(rk)
    case(1)
       acc = momenta(1,0)
       res = acc * coeffs%c1(1,1)
       acc = momenta(1,1)
       res = res + acc * coeffs%c1(2,1)
       acc = momenta(1,2)
       res = res + acc * coeffs%c1(3,1)
       acc = momenta(1,3)
       res = res + acc * coeffs%c1(4,1)
    case(2)
       acc = momenta(1,0)*momenta(2,0)
       res = acc * coeffs%c1(1,2)
       acc = momenta(1,1)*momenta(2,1)
       res = res + acc * coeffs%c1(2,2)
       acc = momenta(1,2)*momenta(2,2)
       res = res + acc * coeffs%c1(3,2)
       acc = momenta(1,3)*momenta(2,3)
       res = res + acc * coeffs%c1(4,2)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(1,1)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(2,1)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(3,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(4,1)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(5,1)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(6,1)
    case(3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,0)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = acc * coeffs%c2(1,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg0 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(2,2)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       reg0 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(3,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(4,2)
       acc = momenta(2,1)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,1)
       reg0 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(5,2)
       acc = momenta(2,2)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,2)
       reg0 = acc * momenta(1,3)
       acc = momenta(1,2)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(6,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(1,1)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(2,1)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg1 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(3,1)
       acc = momenta(2,1)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,1)
       reg0 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg1 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(4,1)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,0)
       res = res + acc * coeffs%c1(1,3)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,1)
       res = res + acc * coeffs%c1(2,3)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,2)
       res = res + acc * coeffs%c1(3,3)
       acc = momenta(1,3)*momenta(2,3)*momenta(3,3)
       res = res + acc * coeffs%c1(4,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,1)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(1,3)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(2,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(3,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(4,3)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(5,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg0 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(6,3)
    case default
       res = 0.0_ki
    end select
 end  function contract_a_tensor_3
 !****f* src/interface/tens_comb/contract_b_tensor_3
 ! NAME
 !
 ! Function contract_b_tensor_3
 !
 ! USAGE
 !
 !  ans = contract_b_tensor_3(coeffs, momenta)
 !
 ! DESCRIPTION
 !
 !  Contracts the a set of coefficients with an B-type tensor
 !  of rank 3 constructed from a given set of momenta.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_3)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !
 ! RETURN VALUE
 !
 !  The result of the contraction which is a complex number
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 pure function contract_b_tensor_3(coeffs, momenta) result(res)
    ! generated by: write_function_b_tensor_contract
    implicit none
    type(coeff_type_3), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in), optional :: momenta
    complex(ki) :: res
    integer :: rk
    real(ki) :: acc
    if (present(momenta)) then
       rk = size(momenta, 1)
    else
       rk = 0
    end if
    select case(rk)
    case(0)
       res = coeffs%c1(1,2)
       res = res - coeffs%c1(2,2)
       res = res - coeffs%c1(3,2)
       res = res - coeffs%c1(4,2)
    case(1)
       acc = -momenta(1,0)
       res = acc * coeffs%c2(1,2)
       acc = -momenta(1,0)
       res = res + acc * coeffs%c2(2,2)
       acc = -momenta(1,0)
       res = res + acc * coeffs%c2(3,2)
       acc = -momenta(1,1)
       res = res + acc * coeffs%c2(4,2)
       acc = -momenta(1,1)
       res = res + acc * coeffs%c2(5,2)
       acc = -momenta(1,2)
       res = res + acc * coeffs%c2(6,2)
       acc = 3*momenta(1,0)
       res = res + acc * coeffs%c1(1,3)
       acc = -3*momenta(1,1)
       res = res + acc * coeffs%c1(2,3)
       acc = -3*momenta(1,2)
       res = res + acc * coeffs%c1(3,3)
       acc = -3*momenta(1,3)
       res = res + acc * coeffs%c1(4,3)
       acc = momenta(1,1)
       res = res + acc * coeffs%c2(1,3)
       acc = momenta(1,2)
       res = res + acc * coeffs%c2(2,3)
       acc = momenta(1,3)
       res = res + acc * coeffs%c2(3,3)
       acc = -momenta(1,2)
       res = res + acc * coeffs%c2(4,3)
       acc = -momenta(1,3)
       res = res + acc * coeffs%c2(5,3)
       acc = -momenta(1,3)
       res = res + acc * coeffs%c2(6,3)
    case default
       res = 0.0_ki
    end select
 end  function contract_b_tensor_3
 !****f* src/interface/tens_comb/contract_a_tensor_4
 ! NAME
 !
 ! Function contract_a_tensor_4
 !
 ! USAGE
 !
 !  ans = contract_a_tensor_4(coeffs, momenta)
 !
 ! DESCRIPTION
 !
 !  Contracts the a set of coefficients with an A-type tensor
 !  of rank 4 constructed from a given set of momenta.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_4)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !
 ! RETURN VALUE
 !
 !  The result of the contraction which is a complex number
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 pure function contract_a_tensor_4(coeffs, momenta) result(res)
    ! generated by: write_function_a_tensor_contract
    implicit none
    type(coeff_type_4), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in), optional :: momenta
    complex(ki) :: res
    integer :: rk
    real(ki) :: acc
    real(ki) :: reg4
    real(ki) :: reg5
    real(ki) :: reg2
    real(ki) :: reg3
    real(ki) :: reg0
    real(ki) :: reg1
    if (present(momenta)) then
       rk = size(momenta, 1)
    else
       rk = 0
    end if
    select case(rk)
    case(1)
       acc = momenta(1,0)
       res = acc * coeffs%c1(1,1)
       acc = momenta(1,1)
       res = res + acc * coeffs%c1(2,1)
       acc = momenta(1,2)
       res = res + acc * coeffs%c1(3,1)
       acc = momenta(1,3)
       res = res + acc * coeffs%c1(4,1)
    case(2)
       acc = momenta(1,0)*momenta(2,0)
       res = acc * coeffs%c1(1,2)
       acc = momenta(1,1)*momenta(2,1)
       res = res + acc * coeffs%c1(2,2)
       acc = momenta(1,2)*momenta(2,2)
       res = res + acc * coeffs%c1(3,2)
       acc = momenta(1,3)*momenta(2,3)
       res = res + acc * coeffs%c1(4,2)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(1,1)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(2,1)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(3,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(4,1)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(5,1)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(6,1)
    case(3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,0)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = acc * coeffs%c2(1,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg0 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(2,2)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       reg0 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(3,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(4,2)
       acc = momenta(2,1)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,1)
       reg0 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(5,2)
       acc = momenta(2,2)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,2)
       reg0 = acc * momenta(1,3)
       acc = momenta(1,2)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(6,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(1,1)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(2,1)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg1 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(3,1)
       acc = momenta(2,1)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,1)
       reg0 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg1 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(4,1)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,0)
       res = res + acc * coeffs%c1(1,3)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,1)
       res = res + acc * coeffs%c1(2,3)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,2)
       res = res + acc * coeffs%c1(3,3)
       acc = momenta(1,3)*momenta(2,3)*momenta(3,3)
       res = res + acc * coeffs%c1(4,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,1)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(1,4)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(2,4)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(3,4)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(4,4)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(5,4)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg0 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(6,4)
    case(4)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg2 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,2)
       acc = acc + reg2
       reg1 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = acc * coeffs%c3(1,3)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg1 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,3)
       acc = acc + reg2
       reg1 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(2,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg1 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,0)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(3,0)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(3,3)
       acc = momenta(2,1)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,1)
       reg1 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,1)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg1 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,0)*momenta(4,1)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(1,3)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg1 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,0)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(2,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg1 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,0)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,3)*momenta(3,3)*momenta(4,3)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(3,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg1 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,1)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(4,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg1 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,1)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,3)*momenta(3,3)*momenta(4,3)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(5,3)
       acc = momenta(2,2)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,2)
       reg1 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,2)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,2)*momenta(2,3)*momenta(3,3)*momenta(4,3)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(6,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg2 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       reg1 = acc * momenta(4,0)
       acc = momenta(3,1)*momenta(4,2)
       acc = acc + momenta(3,2)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(1,4)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg1 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       reg1 = acc * momenta(4,0)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(2,4)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg1 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,0)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg2
       reg1 = acc * momenta(4,0)
       acc = momenta(3,2)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(3,4)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg1 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg2 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       acc = acc * momenta(3,3)
       acc = acc + reg2
       reg1 = acc * momenta(2,1)
       acc = momenta(2,2)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(4,4)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,1)*momenta(4,0)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(1,6)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg1 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,2)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)*momenta(4,0)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(2,6)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg1 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,3)*momenta(4,0)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(3,6)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg1 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,2)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)*momenta(4,1)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(4,6)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg1 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,3)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(5,6)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg1 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,3)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,3)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(6,6)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg1 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg2 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg4 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(2,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg5 = acc * momenta(3,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       acc = acc + reg4
       acc = acc * momenta(1,2)
       acc = acc + reg2
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 24.0_ki
       res = res + acc * coeffs%c4(1,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg1 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg2 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(3,0)*momenta(4,1)
       acc = acc + momenta(3,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(1,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg1 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg2 = acc * momenta(3,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(3,1)
       acc = acc + momenta(1,1)*momenta(3,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(2,2)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       reg1 = acc * momenta(4,2)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg2 = acc * momenta(3,2)
       acc = momenta(3,0)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,0)
       acc = acc * momenta(2,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(3,2)
       acc = momenta(2,1)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,1)
       reg1 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg2 = acc * momenta(3,2)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(2,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(4,3)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg1 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg2
       acc = acc * momenta(3,1)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(1,5)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg1 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg2
       acc = acc * momenta(4,0)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(2,5)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg1 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,3)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg2 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg2
       acc = acc * momenta(3,3)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(3,5)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg1 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg2
       acc = acc * momenta(4,1)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(4,5)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg1 = acc * momenta(3,1)
       acc = momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg2 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,1)*momenta(4,3)
       acc = acc + reg2
       acc = acc * momenta(1,1)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(5,5)
       acc = momenta(2,2)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,2)
       reg1 = acc * momenta(1,3)
       acc = momenta(1,2)*momenta(2,3)*momenta(3,3)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg2 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,3)
       acc = acc + reg2
       acc = acc * momenta(4,3)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(6,5)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,0)*momenta(4,0)
       res = res + acc * coeffs%c1(1,4)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,1)*momenta(4,1)
       res = res + acc * coeffs%c1(2,4)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,2)
       res = res + acc * coeffs%c1(3,4)
       acc = momenta(1,3)*momenta(2,3)*momenta(3,3)*momenta(4,3)
       res = res + acc * coeffs%c1(4,4)
    case default
       res = 0.0_ki
    end select
 end  function contract_a_tensor_4
 !****f* src/interface/tens_comb/contract_b_tensor_4
 ! NAME
 !
 ! Function contract_b_tensor_4
 !
 ! USAGE
 !
 !  ans = contract_b_tensor_4(coeffs, momenta)
 !
 ! DESCRIPTION
 !
 !  Contracts the a set of coefficients with an B-type tensor
 !  of rank 4 constructed from a given set of momenta.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_4)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !
 ! RETURN VALUE
 !
 !  The result of the contraction which is a complex number
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 pure function contract_b_tensor_4(coeffs, momenta) result(res)
    ! generated by: write_function_b_tensor_contract
    implicit none
    type(coeff_type_4), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in), optional :: momenta
    complex(ki) :: res
    integer :: rk
    real(ki) :: acc
    if (present(momenta)) then
       rk = size(momenta, 1)
    else
       rk = 0
    end if
    select case(rk)
    case(0)
       res = coeffs%c1(1,2)
       res = res - coeffs%c1(2,2)
       res = res - coeffs%c1(3,2)
       res = res - coeffs%c1(4,2)
    case(1)
       acc = -momenta(1,0)
       res = acc * coeffs%c2(1,2)
       acc = -momenta(1,0)
       res = res + acc * coeffs%c2(2,2)
       acc = -momenta(1,0)
       res = res + acc * coeffs%c2(3,2)
       acc = -momenta(1,1)
       res = res + acc * coeffs%c2(4,2)
       acc = -momenta(1,1)
       res = res + acc * coeffs%c2(5,2)
       acc = -momenta(1,2)
       res = res + acc * coeffs%c2(6,2)
       acc = 3*momenta(1,0)
       res = res + acc * coeffs%c1(1,3)
       acc = -3*momenta(1,1)
       res = res + acc * coeffs%c1(2,3)
       acc = -3*momenta(1,2)
       res = res + acc * coeffs%c1(3,3)
       acc = -3*momenta(1,3)
       res = res + acc * coeffs%c1(4,3)
       acc = momenta(1,1)
       res = res + acc * coeffs%c2(1,4)
       acc = momenta(1,2)
       res = res + acc * coeffs%c2(2,4)
       acc = momenta(1,3)
       res = res + acc * coeffs%c2(3,4)
       acc = -momenta(1,2)
       res = res + acc * coeffs%c2(4,4)
       acc = -momenta(1,3)
       res = res + acc * coeffs%c2(5,4)
       acc = -momenta(1,3)
       res = res + acc * coeffs%c2(6,4)
    case(2)
       acc = -momenta(1,0)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,0)
       acc = acc / 2.0_ki
       res = acc * coeffs%c3(1,3)
       acc = -momenta(1,0)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(2,3)
       acc = -momenta(1,0)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(3,3)
       acc = -momenta(1,1)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(4,3)
       acc = -3*momenta(1,0)*momenta(2,1)
       acc = acc - 3*momenta(1,1)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(1,3)
       acc = -3*momenta(1,0)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(2,3)
       acc = -3*momenta(1,0)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(3,3)
       acc = -3*momenta(1,1)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(4,3)
       acc = -3*momenta(1,1)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(5,3)
       acc = -3*momenta(1,2)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,2)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(6,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(1,4)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(2,4)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(3,4)
       acc = -momenta(1,2)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,2)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(4,4)
       acc = 3*momenta(1,0)*momenta(2,1)
       acc = acc + 3*momenta(1,1)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(1,6)
       acc = 3*momenta(1,0)*momenta(2,2)
       acc = acc + 3*momenta(1,2)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(2,6)
       acc = 3*momenta(1,0)*momenta(2,3)
       acc = acc + 3*momenta(1,3)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(3,6)
       acc = -3*momenta(1,1)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(4,6)
       acc = -3*momenta(1,1)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(5,6)
       acc = -3*momenta(1,2)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,2)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(6,6)
       acc = -momenta(1,0)*momenta(2,1)
       acc = acc - momenta(1,1)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(1,2)
       acc = -momenta(1,0)*momenta(2,1)
       acc = acc - momenta(1,1)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(2,2)
       acc = -momenta(1,0)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(3,2)
       acc = -momenta(1,1)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(4,2)
       acc = momenta(1,1)*momenta(2,1)
       res = res + acc * coeffs%c2(1,5)
       acc = momenta(1,2)*momenta(2,2)
       res = res + acc * coeffs%c2(2,5)
       acc = momenta(1,3)*momenta(2,3)
       res = res + acc * coeffs%c2(3,5)
       acc = -momenta(1,2)*momenta(2,2)
       res = res + acc * coeffs%c2(4,5)
       acc = -momenta(1,3)*momenta(2,3)
       res = res + acc * coeffs%c2(5,5)
       acc = -momenta(1,3)*momenta(2,3)
       res = res + acc * coeffs%c2(6,5)
       acc = -momenta(1,0)*momenta(2,0)
       res = res + acc * coeffs%c2(1,5)
       acc = -momenta(1,0)*momenta(2,0)
       res = res + acc * coeffs%c2(2,5)
       acc = -momenta(1,0)*momenta(2,0)
       res = res + acc * coeffs%c2(3,5)
       acc = -momenta(1,1)*momenta(2,1)
       res = res + acc * coeffs%c2(4,5)
       acc = -momenta(1,1)*momenta(2,1)
       res = res + acc * coeffs%c2(5,5)
       acc = -momenta(1,2)*momenta(2,2)
       res = res + acc * coeffs%c2(6,5)
       acc = 6*momenta(1,0)*momenta(2,0)
       res = res + acc * coeffs%c1(1,4)
       acc = -6*momenta(1,1)*momenta(2,1)
       res = res + acc * coeffs%c1(2,4)
       acc = -6*momenta(1,2)*momenta(2,2)
       res = res + acc * coeffs%c1(3,4)
       acc = -6*momenta(1,3)*momenta(2,3)
       res = res + acc * coeffs%c1(4,4)
    case default
       res = 0.0_ki
    end select
 end  function contract_b_tensor_4
 !****f* src/interface/tens_comb/contract_c_tensor_4
 ! NAME
 !
 ! Function contract_c_tensor_4
 !
 ! USAGE
 !
 !  ans = contract_c_tensor_4(coeffs, momenta)
 !
 ! DESCRIPTION
 !
 !  Contracts the a set of coefficients with an C-type tensor
 !  of rank 4 constructed from a given set of momenta.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_4)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !
 ! RETURN VALUE
 !
 !  The result of the contraction which is a complex number
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 pure function contract_c_tensor_4(coeffs, momenta) result(res)
    ! generated by: write_function_c_tensor_contract
    implicit none
    type(coeff_type_4), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in), optional :: momenta
    complex(ki) :: res
    integer :: rk
    real(ki) :: acc
    if (present(momenta)) then
       rk = size(momenta, 1)
    else
       rk = 0
    end if
    select case(rk)
    case(0)
       res = -coeffs%c2(1,5)
       res = res - coeffs%c2(2,5)
       res = res - coeffs%c2(3,5)
       res = res + coeffs%c2(4,5)
       res = res + coeffs%c2(5,5)
       res = res + coeffs%c2(6,5)
       acc = 3
       res = res + acc * coeffs%c1(1,4)
       acc = 3
       res = res + acc * coeffs%c1(2,4)
       acc = 3
       res = res + acc * coeffs%c1(3,4)
       acc = 3
       res = res + acc * coeffs%c1(4,4)
    case default
       res = 0.0_ki
    end select
 end  function contract_c_tensor_4
 !****f* src/interface/tens_comb/contract_a_tensor_5
 ! NAME
 !
 ! Function contract_a_tensor_5
 !
 ! USAGE
 !
 !  ans = contract_a_tensor_5(coeffs, momenta)
 !
 ! DESCRIPTION
 !
 !  Contracts the a set of coefficients with an A-type tensor
 !  of rank 5 constructed from a given set of momenta.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_5)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !
 ! RETURN VALUE
 !
 !  The result of the contraction which is a complex number
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 pure function contract_a_tensor_5(coeffs, momenta) result(res)
    ! generated by: write_function_a_tensor_contract
    implicit none
    type(coeff_type_5), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in), optional :: momenta
    complex(ki) :: res
    integer :: rk
    real(ki) :: acc
    real(ki) :: reg6
    real(ki) :: reg4
    real(ki) :: reg5
    real(ki) :: reg2
    real(ki) :: reg3
    real(ki) :: reg0
    real(ki) :: reg1
    if (present(momenta)) then
       rk = size(momenta, 1)
    else
       rk = 0
    end if
    select case(rk)
    case(1)
       acc = momenta(1,0)
       res = acc * coeffs%c1(1,1)
       acc = momenta(1,1)
       res = res + acc * coeffs%c1(2,1)
       acc = momenta(1,2)
       res = res + acc * coeffs%c1(3,1)
       acc = momenta(1,3)
       res = res + acc * coeffs%c1(4,1)
    case(2)
       acc = momenta(1,0)*momenta(2,0)
       res = acc * coeffs%c1(1,2)
       acc = momenta(1,1)*momenta(2,1)
       res = res + acc * coeffs%c1(2,2)
       acc = momenta(1,2)*momenta(2,2)
       res = res + acc * coeffs%c1(3,2)
       acc = momenta(1,3)*momenta(2,3)
       res = res + acc * coeffs%c1(4,2)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(1,1)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(2,1)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(3,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(4,1)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(5,1)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(6,1)
    case(3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,0)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = acc * coeffs%c2(1,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg0 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(2,2)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       reg0 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(3,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(4,2)
       acc = momenta(2,1)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,1)
       reg0 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(5,2)
       acc = momenta(2,2)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,2)
       reg0 = acc * momenta(1,3)
       acc = momenta(1,2)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(6,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(1,1)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(2,1)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg1 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(3,1)
       acc = momenta(2,1)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,1)
       reg0 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg1 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(4,1)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,0)
       res = res + acc * coeffs%c1(1,3)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,1)
       res = res + acc * coeffs%c1(2,3)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,2)
       res = res + acc * coeffs%c1(3,3)
       acc = momenta(1,3)*momenta(2,3)*momenta(3,3)
       res = res + acc * coeffs%c1(4,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,1)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(1,5)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(2,5)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(3,5)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(4,5)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(5,5)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg0 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(6,5)
    case(4)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg2 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,2)
       acc = acc + reg2
       reg1 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = acc * coeffs%c3(1,4)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg1 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,3)
       acc = acc + reg2
       reg1 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(2,4)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg1 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,0)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(3,0)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(3,4)
       acc = momenta(2,1)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,1)
       reg1 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,1)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(4,4)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg1 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,0)*momenta(4,1)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(1,3)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg1 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,0)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(2,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg1 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,0)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,3)*momenta(3,3)*momenta(4,3)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(3,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg1 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,1)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(4,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg1 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,1)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,3)*momenta(3,3)*momenta(4,3)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(5,3)
       acc = momenta(2,2)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,2)
       reg1 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,2)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,2)*momenta(2,3)*momenta(3,3)*momenta(4,3)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(6,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg2 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       reg1 = acc * momenta(4,0)
       acc = momenta(3,1)*momenta(4,2)
       acc = acc + momenta(3,2)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(1,7)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg1 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       reg1 = acc * momenta(4,0)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(2,7)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg1 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,0)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg2
       reg1 = acc * momenta(4,0)
       acc = momenta(3,2)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(3,7)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg1 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg2 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       acc = acc * momenta(3,3)
       acc = acc + reg2
       reg1 = acc * momenta(2,1)
       acc = momenta(2,2)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(4,7)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,1)*momenta(4,0)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(1,8)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg1 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,2)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)*momenta(4,0)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(2,8)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg1 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,3)*momenta(4,0)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(3,8)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg1 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,2)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)*momenta(4,1)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(4,8)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg1 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,3)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(5,8)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg1 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,3)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,3)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(6,8)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg1 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg2 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg4 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(2,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg5 = acc * momenta(3,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       acc = acc + reg4
       acc = acc * momenta(1,2)
       acc = acc + reg2
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 24.0_ki
       res = res + acc * coeffs%c4(1,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg1 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg2 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(3,0)*momenta(4,1)
       acc = acc + momenta(3,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(1,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg1 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg2 = acc * momenta(3,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(3,1)
       acc = acc + momenta(1,1)*momenta(3,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(2,2)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       reg1 = acc * momenta(4,2)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg2 = acc * momenta(3,2)
       acc = momenta(3,0)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,0)
       acc = acc * momenta(2,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(3,2)
       acc = momenta(2,1)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,1)
       reg1 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg2 = acc * momenta(3,2)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(2,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(4,3)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg1 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg2
       acc = acc * momenta(3,1)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(1,6)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg1 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg2
       acc = acc * momenta(4,0)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(2,6)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg1 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,3)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg2 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg2
       acc = acc * momenta(3,3)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(3,6)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg1 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg2
       acc = acc * momenta(4,1)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(4,6)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg1 = acc * momenta(3,1)
       acc = momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg2 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,1)*momenta(4,3)
       acc = acc + reg2
       acc = acc * momenta(1,1)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(5,6)
       acc = momenta(2,2)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,2)
       reg1 = acc * momenta(1,3)
       acc = momenta(1,2)*momenta(2,3)*momenta(3,3)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg2 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,3)
       acc = acc + reg2
       acc = acc * momenta(4,3)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(6,6)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,0)*momenta(4,0)
       res = res + acc * coeffs%c1(1,4)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,1)*momenta(4,1)
       res = res + acc * coeffs%c1(2,4)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,2)
       res = res + acc * coeffs%c1(3,4)
       acc = momenta(1,3)*momenta(2,3)*momenta(3,3)*momenta(4,3)
       res = res + acc * coeffs%c1(4,4)
    case(5)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg2 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg2
       reg1 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg3
       acc = acc * momenta(3,1)
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,1)*momenta(4,0)
       acc = acc + reg2
       acc = acc * momenta(5,1)
       acc = acc + reg0
       acc = acc / 10.0_ki
       res = acc * coeffs%c2(1,9)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg2
       reg1 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg3 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg3
       acc = acc * momenta(4,0)
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg3 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,2)
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)*momenta(4,0)
       acc = acc + reg2
       acc = acc * momenta(5,2)
       acc = acc + reg0
       acc = acc / 10.0_ki
       res = res + acc * coeffs%c2(2,9)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg2 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,3)*momenta(4,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg3 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg3
       acc = acc * momenta(3,3)
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg3 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,3)*momenta(4,0)
       acc = acc + reg2
       acc = acc * momenta(5,3)
       acc = acc + reg0
       acc = acc / 10.0_ki
       res = res + acc * coeffs%c2(3,9)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)
       acc = acc + reg2
       reg1 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg3
       acc = acc * momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg3 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,2)*momenta(4,1)
       acc = acc + reg3
       reg2 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)*momenta(4,1)
       acc = acc + reg2
       acc = acc * momenta(5,2)
       acc = acc + reg0
       acc = acc / 10.0_ki
       res = res + acc * coeffs%c2(4,9)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg2 = acc * momenta(3,1)
       acc = momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg2
       reg1 = acc * momenta(1,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg3 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,1)*momenta(4,3)
       acc = acc + reg3
       acc = acc * momenta(1,1)
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg3 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,3)*momenta(4,1)
       acc = acc + reg3
       reg2 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg2
       acc = acc * momenta(5,3)
       acc = acc + reg0
       acc = acc / 10.0_ki
       res = res + acc * coeffs%c2(5,9)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg2 = acc * momenta(3,2)
       acc = momenta(2,2)*momenta(3,3)*momenta(5,2)
       acc = acc + reg2
       reg1 = acc * momenta(1,3)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg3 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,2)*momenta(5,3)
       acc = acc + reg3
       acc = acc * momenta(1,2)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg3 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,3)
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,3)*momenta(5,2)
       acc = acc + reg2
       acc = acc * momenta(4,3)
       acc = acc + reg0
       acc = acc / 10.0_ki
       res = res + acc * coeffs%c2(6,9)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg3 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg3
       reg2 = acc * momenta(4,0)
       acc = momenta(3,1)*momenta(4,2)
       acc = acc + momenta(3,2)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg3 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg3
       reg2 = acc * momenta(4,0)
       acc = momenta(4,1)*momenta(5,2)
       acc = acc + momenta(4,2)*momenta(5,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg2
       reg1 = acc * momenta(3,0)
       acc = momenta(3,1)*momenta(5,2)
       acc = acc + momenta(3,2)*momenta(5,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc * momenta(4,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 20.0_ki
       res = res + acc * coeffs%c3(1,10)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg2 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg3
       reg2 = acc * momenta(4,0)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg3 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,3)
       acc = acc + reg3
       reg2 = acc * momenta(4,0)
       acc = momenta(4,1)*momenta(5,3)
       acc = acc + momenta(4,3)*momenta(5,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg2
       reg1 = acc * momenta(3,0)
       acc = momenta(3,1)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc * momenta(4,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 20.0_ki
       res = res + acc * coeffs%c3(2,10)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg2 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg3 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,0)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg3 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg3
       reg2 = acc * momenta(4,0)
       acc = momenta(3,2)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg3 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg3
       reg2 = acc * momenta(4,0)
       acc = momenta(4,2)*momenta(5,3)
       acc = acc + momenta(4,3)*momenta(5,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg2
       reg1 = acc * momenta(3,0)
       acc = momenta(3,2)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc * momenta(4,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 20.0_ki
       res = res + acc * coeffs%c3(3,10)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg2 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg3 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       acc = acc * momenta(3,3)
       acc = acc + reg3
       reg2 = acc * momenta(2,1)
       acc = momenta(2,2)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg3 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       acc = acc * momenta(5,2)
       acc = acc + reg3
       reg2 = acc * momenta(2,1)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg2
       reg1 = acc * momenta(3,1)
       acc = momenta(3,2)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc * momenta(2,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 20.0_ki
       res = res + acc * coeffs%c3(4,10)
       acc = momenta(2,1)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,1)
       reg2 = acc * momenta(5,0)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       reg3 = acc * momenta(5,1)
       acc = momenta(2,0)*momenta(3,1)
       acc = acc + momenta(2,1)*momenta(3,0)
       acc = acc * momenta(5,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg3 = acc * momenta(5,0)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg4 = acc * momenta(5,1)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(5,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg5 = acc * momenta(3,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       reg5 = acc * momenta(5,0)
       acc = momenta(3,0)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,0)
       reg6 = acc * momenta(5,1)
       acc = momenta(3,0)*momenta(4,1)
       acc = acc + momenta(3,1)*momenta(4,0)
       acc = acc * momenta(5,3)
       acc = acc + reg6
       acc = acc + reg5
       acc = acc * momenta(2,2)
       acc = acc + reg3
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg5 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(5,1)
       acc = acc + momenta(1,1)*momenta(5,0)
       reg5 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg6 = acc * momenta(5,2)
       acc = momenta(4,0)*momenta(5,1)
       acc = acc + momenta(4,1)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc + reg6
       acc = acc + reg5
       acc = acc * momenta(2,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       reg5 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,0)
       reg6 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(3,1)
       acc = acc + momenta(1,1)*momenta(3,0)
       acc = acc * momenta(5,2)
       acc = acc + reg6
       acc = acc + reg5
       acc = acc * momenta(2,3)
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(3,1)
       acc = acc + momenta(1,1)*momenta(3,0)
       reg5 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg6 = acc * momenta(3,2)
       acc = momenta(3,0)*momenta(4,1)
       acc = acc + momenta(3,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg6
       acc = acc + reg5
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg2
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 60.0_ki
       res = res + acc * coeffs%c4(1,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg3 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg3
       reg2 = acc * momenta(5,2)
       acc = momenta(3,0)*momenta(5,1)
       acc = acc + momenta(3,1)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg3 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg3
       reg2 = acc * momenta(5,2)
       acc = momenta(4,0)*momenta(5,1)
       acc = acc + momenta(4,1)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(3,0)*momenta(4,1)
       acc = acc + momenta(3,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc * momenta(5,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 20.0_ki
       res = res + acc * coeffs%c3(1,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg2 = acc * momenta(5,0)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg3 = acc * momenta(5,1)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(5,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(2,1)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,1)
       reg3 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,0)
       acc = acc * momenta(3,1)
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(3,0)*momenta(4,1)
       acc = acc + momenta(3,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(5,1)
       acc = acc + momenta(1,1)*momenta(5,0)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(3,1)
       acc = acc + momenta(1,1)*momenta(3,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 20.0_ki
       res = res + acc * coeffs%c3(2,3)
       acc = momenta(2,0)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,0)
       reg2 = acc * momenta(4,2)
       acc = momenta(2,0)*momenta(5,2)
       acc = acc + momenta(2,2)*momenta(5,0)
       reg3 = acc * momenta(4,3)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       acc = acc * momenta(4,0)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg3 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,0)
       acc = acc * momenta(3,2)
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(3,0)*momenta(4,2)
       acc = acc + momenta(3,2)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg3 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(5,2)
       acc = acc + momenta(1,2)*momenta(5,0)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 20.0_ki
       res = res + acc * coeffs%c3(3,3)
       acc = momenta(2,1)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,1)
       reg2 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(5,2)
       acc = acc + momenta(2,2)*momenta(5,1)
       reg3 = acc * momenta(4,3)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       acc = acc * momenta(4,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(2,1)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,1)
       reg3 = acc * momenta(3,2)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       acc = acc * momenta(3,1)
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(3,1)*momenta(4,2)
       acc = acc + momenta(3,2)*momenta(4,1)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(5,2)
       acc = acc + momenta(1,2)*momenta(5,1)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 20.0_ki
       res = res + acc * coeffs%c3(4,3)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg3 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg5 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(2,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg5 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg6 = acc * momenta(3,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg6
       acc = acc + reg5
       acc = acc * momenta(1,2)
       acc = acc + reg3
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg3 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,0)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg5 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,3)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg5 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg6
       acc = acc + reg5
       acc = acc * momenta(5,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,0)
       acc = momenta(1,2)*momenta(3,3)
       acc = acc + momenta(1,3)*momenta(3,2)
       reg4 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       reg5 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(3,3)
       acc = acc + momenta(1,3)*momenta(3,1)
       acc = acc * momenta(5,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(2,0)
       acc = momenta(2,2)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,2)
       reg5 = acc * momenta(5,1)
       acc = momenta(2,1)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,1)
       reg6 = acc * momenta(5,3)
       acc = momenta(2,1)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,1)
       acc = acc * momenta(5,2)
       acc = acc + reg6
       acc = acc + reg5
       acc = acc * momenta(1,0)
       acc = acc + reg3
       reg2 = acc * momenta(4,0)
       acc = momenta(3,1)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,1)
       reg5 = acc * momenta(4,2)
       acc = momenta(4,1)*momenta(5,3)
       acc = acc + momenta(4,3)*momenta(5,1)
       reg6 = acc * momenta(3,2)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(5,2)
       acc = acc + reg6
       acc = acc + reg5
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg2
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 60.0_ki
       res = res + acc * coeffs%c4(1,5)
       acc = momenta(2,1)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,1)
       reg2 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,0)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg4 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg6
       acc = acc + reg5
       acc = acc * momenta(5,2)
       acc = acc + reg3
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg4 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(4,1)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg5 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg6 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       acc = acc * momenta(5,2)
       acc = acc + reg6
       acc = acc + reg5
       acc = acc * momenta(4,0)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg5 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(2,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg5 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg6 = acc * momenta(3,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg6
       acc = acc + reg5
       acc = acc * momenta(1,2)
       acc = acc + reg3
       reg2 = acc * momenta(5,2)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       reg5 = acc * momenta(5,0)
       acc = momenta(3,0)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,0)
       reg6 = acc * momenta(5,1)
       acc = momenta(3,0)*momenta(4,1)
       acc = acc + momenta(3,1)*momenta(4,0)
       acc = acc * momenta(5,3)
       acc = acc + reg6
       acc = acc + reg5
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg2
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 60.0_ki
       res = res + acc * coeffs%c4(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg3 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,2)
       acc = acc + reg3
       reg2 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg3 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(5,2)
       acc = acc + reg3
       reg2 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(5,2)
       acc = acc + momenta(2,2)*momenta(5,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg2
       reg1 = acc * momenta(3,1)
       acc = momenta(3,0)*momenta(5,2)
       acc = acc + momenta(3,2)*momenta(5,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc * momenta(2,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 20.0_ki
       res = res + acc * coeffs%c3(1,6)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg2 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,3)
       acc = acc + reg3
       reg2 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg3 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(5,3)
       acc = acc + reg3
       reg2 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg2
       reg1 = acc * momenta(3,1)
       acc = momenta(3,0)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc * momenta(2,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 20.0_ki
       res = res + acc * coeffs%c3(2,6)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg2 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg3 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg3
       reg2 = acc * momenta(5,2)
       acc = momenta(3,0)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg3 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,0)
       acc = acc + reg3
       reg2 = acc * momenta(5,2)
       acc = momenta(4,0)*momenta(5,3)
       acc = acc + momenta(4,3)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(3,0)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc * momenta(5,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 20.0_ki
       res = res + acc * coeffs%c3(3,6)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg2 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       acc = acc * momenta(5,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(3,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(3,1)
       acc = acc + reg3
       reg2 = acc * momenta(5,2)
       acc = momenta(3,1)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,1)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,1)
       acc = acc + reg3
       reg2 = acc * momenta(5,2)
       acc = momenta(4,1)*momenta(5,3)
       acc = acc + momenta(4,3)*momenta(5,1)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc * momenta(5,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 20.0_ki
       res = res + acc * coeffs%c3(4,6)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg2 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg2
       reg1 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,0)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,1)*momenta(4,1)*momenta(5,0)
       acc = acc + reg0
       acc = acc / 5.0_ki
       res = res + acc * coeffs%c2(1,4)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,0)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,0)*momenta(5,2)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,0)*momenta(5,2)
       acc = acc + reg0
       acc = acc / 5.0_ki
       res = res + acc * coeffs%c2(2,4)
       acc = momenta(2,0)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,0)
       reg2 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,0)*momenta(5,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,0)*momenta(4,3)*momenta(5,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,3)*momenta(3,3)*momenta(4,3)*momenta(5,3)
       acc = acc + reg0
       acc = acc / 5.0_ki
       res = res + acc * coeffs%c2(3,4)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,1)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,1)*momenta(5,2)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,1)*momenta(5,2)
       acc = acc + reg0
       acc = acc / 5.0_ki
       res = res + acc * coeffs%c2(4,4)
       acc = momenta(2,1)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,1)
       reg2 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,1)*momenta(5,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,1)*momenta(4,3)*momenta(5,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,3)*momenta(3,3)*momenta(4,3)*momenta(5,3)
       acc = acc + reg0
       acc = acc / 5.0_ki
       res = res + acc * coeffs%c2(5,4)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg2 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,2)*momenta(5,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,2)*momenta(4,3)*momenta(5,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,2)*momenta(2,3)*momenta(3,3)*momenta(4,3)*momenta(5,3)
       acc = acc + reg0
       acc = acc / 5.0_ki
       res = res + acc * coeffs%c2(6,4)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg3
       reg2 = acc * momenta(3,1)
       acc = momenta(3,0)*momenta(5,2)
       acc = acc + momenta(3,2)*momenta(5,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(2,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(3,0)*momenta(5,1)
       acc = acc + momenta(3,1)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)
       acc = acc + reg5
       acc = acc * momenta(5,2)
       acc = acc + reg3
       acc = acc * momenta(4,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(1,5)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg2 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg3 = acc * momenta(3,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(3,1)
       acc = acc + momenta(1,1)*momenta(3,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg3 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,3)
       acc = acc + reg4
       reg3 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg4 = acc * momenta(3,1)
       acc = momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg4
       reg3 = acc * momenta(1,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg5 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,1)*momenta(4,3)
       acc = acc + reg5
       acc = acc * momenta(1,1)
       acc = acc + reg3
       acc = acc * momenta(5,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(2,5)
       acc = momenta(2,2)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,2)
       reg2 = acc * momenta(5,0)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg3 = acc * momenta(3,0)
       acc = momenta(3,2)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,2)
       acc = acc * momenta(2,0)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg3 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(5,2)
       acc = acc + momenta(1,2)*momenta(5,0)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg3 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(3,0)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,3)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg4 = acc * momenta(3,2)
       acc = momenta(2,2)*momenta(3,3)*momenta(5,2)
       acc = acc + reg4
       reg3 = acc * momenta(1,3)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg5 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,2)*momenta(5,3)
       acc = acc + reg5
       acc = acc * momenta(1,2)
       acc = acc + reg3
       acc = acc * momenta(4,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(3,5)
       acc = momenta(2,2)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,2)
       reg2 = acc * momenta(5,1)
       acc = momenta(2,1)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,1)
       reg3 = acc * momenta(5,3)
       acc = momenta(2,1)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,1)
       acc = acc * momenta(5,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(5,2)
       acc = acc + momenta(1,2)*momenta(5,1)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg3 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       acc = acc * momenta(5,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(3,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(3,1)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,1)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,3)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg4 = acc * momenta(3,2)
       acc = momenta(2,2)*momenta(3,3)*momenta(5,2)
       acc = acc + reg4
       reg3 = acc * momenta(1,3)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg5 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,2)*momenta(5,3)
       acc = acc + reg5
       acc = acc * momenta(1,2)
       acc = acc + reg3
       acc = acc * momenta(4,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(4,5)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,0)*momenta(4,0)*momenta(5,0)
       res = res + acc * coeffs%c1(1,5)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,1)*momenta(4,1)*momenta(5,1)
       res = res + acc * coeffs%c1(2,5)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,2)*momenta(5,2)
       res = res + acc * coeffs%c1(3,5)
       acc = momenta(1,3)*momenta(2,3)*momenta(3,3)*momenta(4,3)*momenta(5,3)
       res = res + acc * coeffs%c1(4,5)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg2 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg2
       reg1 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg3
       acc = acc * momenta(3,1)
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg3 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg3
       reg2 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,0)*momenta(4,1)
       acc = acc + reg2
       acc = acc * momenta(5,0)
       acc = acc + reg0
       acc = acc / 10.0_ki
       res = res + acc * coeffs%c2(1,7)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg2
       reg1 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg3
       acc = acc * momenta(5,2)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg3 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,0)
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,0)*momenta(5,2)
       acc = acc + reg2
       acc = acc * momenta(4,0)
       acc = acc + reg0
       acc = acc / 10.0_ki
       res = res + acc * coeffs%c2(2,7)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg2 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,0)*momenta(4,3)
       acc = acc + reg2
       reg1 = acc * momenta(5,0)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg3 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(3,3)*momenta(4,0)
       acc = acc + reg3
       acc = acc * momenta(5,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(2,0)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,0)
       reg3 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,0)*momenta(5,3)
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,0)*momenta(4,3)*momenta(5,3)
       acc = acc + reg2
       acc = acc * momenta(1,0)
       acc = acc + reg0
       acc = acc / 10.0_ki
       res = res + acc * coeffs%c2(3,7)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg2
       reg1 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)
       acc = acc + reg3
       acc = acc * momenta(5,2)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,1)
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,1)*momenta(5,2)
       acc = acc + reg2
       acc = acc * momenta(4,1)
       acc = acc + reg0
       acc = acc / 10.0_ki
       res = res + acc * coeffs%c2(4,7)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg2 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,1)*momenta(4,3)
       acc = acc + reg2
       reg1 = acc * momenta(5,1)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg3 = acc * momenta(3,1)
       acc = momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg3
       acc = acc * momenta(5,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(2,1)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,1)
       reg3 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,1)*momenta(5,3)
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,1)*momenta(4,3)*momenta(5,3)
       acc = acc + reg2
       acc = acc * momenta(1,1)
       acc = acc + reg0
       acc = acc / 10.0_ki
       res = res + acc * coeffs%c2(5,7)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg2 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,2)*momenta(5,3)
       acc = acc + reg2
       reg1 = acc * momenta(4,2)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg3 = acc * momenta(3,2)
       acc = momenta(2,2)*momenta(3,3)*momenta(5,2)
       acc = acc + reg3
       acc = acc * momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg3 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,2)*momenta(5,3)
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,2)*momenta(4,3)*momenta(5,3)
       acc = acc + reg2
       acc = acc * momenta(1,2)
       acc = acc + reg0
       acc = acc / 10.0_ki
       res = res + acc * coeffs%c2(6,7)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg3 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(3,1)*momenta(5,2)
       acc = acc + momenta(3,2)*momenta(5,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(3,0)*momenta(5,1)
       acc = acc + momenta(3,1)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg4
       reg3 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg5
       acc = acc * momenta(5,2)
       acc = acc + reg3
       acc = acc * momenta(4,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(1,8)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg2 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg3 = acc * momenta(3,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(3,1)
       acc = acc + momenta(1,1)*momenta(3,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg3 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(4,0)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg4 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,3)*momenta(4,3)
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg5 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg5
       acc = acc * momenta(3,3)
       acc = acc + reg3
       acc = acc * momenta(5,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(2,8)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       reg2 = acc * momenta(4,2)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg3 = acc * momenta(3,2)
       acc = momenta(3,0)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,0)
       acc = acc * momenta(2,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg3 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg3 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,0)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg4 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg4
       reg3 = acc * momenta(4,0)
       acc = momenta(3,2)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg4 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,3)*momenta(4,3)
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg5 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg5
       acc = acc * momenta(3,3)
       acc = acc + reg3
       acc = acc * momenta(5,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(3,8)
       acc = momenta(2,1)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,1)
       reg2 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg3 = acc * momenta(3,2)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(2,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(4,3)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg3 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg4 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       acc = acc * momenta(3,3)
       acc = acc + reg4
       reg3 = acc * momenta(2,1)
       acc = momenta(2,2)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg4 = acc * momenta(3,1)
       acc = momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg4
       reg3 = acc * momenta(1,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg5 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,1)*momenta(4,3)
       acc = acc + reg5
       acc = acc * momenta(1,1)
       acc = acc + reg3
       acc = acc * momenta(5,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(4,8)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg2
       reg1 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,1)*momenta(4,0)
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,0)*momenta(4,0)*momenta(5,1)
       acc = acc + reg0
       acc = acc / 5.0_ki
       res = res + acc * coeffs%c2(1,10)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,2)
       acc = acc + reg2
       reg1 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)*momenta(4,0)
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,0)*momenta(4,0)*momenta(5,2)
       acc = acc + reg0
       acc = acc / 5.0_ki
       res = res + acc * coeffs%c2(2,10)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg2 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,3)*momenta(4,0)
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,0)*momenta(4,0)*momenta(5,3)
       acc = acc + reg0
       acc = acc / 5.0_ki
       res = res + acc * coeffs%c2(3,10)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg2 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,2)*momenta(4,1)
       acc = acc + reg2
       reg1 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,1)*momenta(4,1)*momenta(5,2)
       acc = acc + reg0
       acc = acc / 5.0_ki
       res = res + acc * coeffs%c2(4,10)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg2 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,3)*momenta(4,1)
       acc = acc + reg2
       reg1 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,1)*momenta(4,1)*momenta(5,3)
       acc = acc + reg0
       acc = acc / 5.0_ki
       res = res + acc * coeffs%c2(5,10)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg2 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,3)*momenta(5,2)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,3)*momenta(5,2)
       acc = acc + reg0
       acc = acc / 5.0_ki
       res = res + acc * coeffs%c2(6,10)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg3 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,2)
       acc = acc + reg3
       reg2 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg4 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(4,0)
       acc = momenta(3,1)*momenta(4,2)
       acc = acc + momenta(3,2)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg4 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg5
       acc = acc * momenta(3,1)
       acc = acc + reg3
       acc = acc * momenta(5,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(1,9)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg2 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,3)
       acc = acc + reg3
       reg2 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg3 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(4,0)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg4 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg5
       acc = acc * momenta(3,1)
       acc = acc + reg3
       acc = acc * momenta(5,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(2,9)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg3 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg3 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(3,2)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg3 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(3,0)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg4
       reg3 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg5
       acc = acc * momenta(5,2)
       acc = acc + reg3
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(3,9)
       acc = momenta(2,1)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,1)
       reg2 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       acc = acc * momenta(5,2)
       acc = acc + reg3
       reg2 = acc * momenta(3,1)
       acc = momenta(3,2)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(2,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg3 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       acc = acc * momenta(5,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(3,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(3,1)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,1)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)
       acc = acc + reg5
       acc = acc * momenta(5,2)
       acc = acc + reg3
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(4,9)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg3 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg5 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(2,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg5 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg6 = acc * momenta(3,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg6
       acc = acc + reg5
       acc = acc * momenta(1,2)
       acc = acc + reg3
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg3 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg5 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,3)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg5 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg6
       acc = acc + reg5
       acc = acc * momenta(5,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,1)
       acc = momenta(1,2)*momenta(3,3)
       acc = acc + momenta(1,3)*momenta(3,2)
       reg4 = acc * momenta(5,0)
       acc = momenta(1,2)*momenta(5,3)
       acc = acc + momenta(1,3)*momenta(5,2)
       reg5 = acc * momenta(3,0)
       acc = momenta(3,2)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,2)
       acc = acc * momenta(1,0)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(4,1)
       acc = momenta(3,0)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,0)
       reg5 = acc * momenta(4,2)
       acc = momenta(4,0)*momenta(5,3)
       acc = acc + momenta(4,3)*momenta(5,0)
       reg6 = acc * momenta(3,2)
       acc = momenta(3,0)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,0)
       acc = acc * momenta(5,2)
       acc = acc + reg6
       acc = acc + reg5
       acc = acc * momenta(1,1)
       acc = acc + reg3
       reg2 = acc * momenta(2,1)
       acc = momenta(2,2)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,2)
       reg5 = acc * momenta(5,0)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg6 = acc * momenta(3,0)
       acc = momenta(3,2)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,2)
       acc = acc * momenta(2,0)
       acc = acc + reg6
       acc = acc + reg5
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg2
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 60.0_ki
       res = res + acc * coeffs%c4(1,4)
    case default
       res = 0.0_ki
    end select
 end  function contract_a_tensor_5
 !****f* src/interface/tens_comb/contract_b_tensor_5
 ! NAME
 !
 ! Function contract_b_tensor_5
 !
 ! USAGE
 !
 !  ans = contract_b_tensor_5(coeffs, momenta)
 !
 ! DESCRIPTION
 !
 !  Contracts the a set of coefficients with an B-type tensor
 !  of rank 5 constructed from a given set of momenta.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_5)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !
 ! RETURN VALUE
 !
 !  The result of the contraction which is a complex number
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 pure function contract_b_tensor_5(coeffs, momenta) result(res)
    ! generated by: write_function_b_tensor_contract
    implicit none
    type(coeff_type_5), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in), optional :: momenta
    complex(ki) :: res
    integer :: rk
    real(ki) :: acc
    real(ki) :: reg0
    real(ki) :: reg1
    if (present(momenta)) then
       rk = size(momenta, 1)
    else
       rk = 0
    end if
    select case(rk)
    case(0)
       res = coeffs%c1(1,2)
       res = res - coeffs%c1(2,2)
       res = res - coeffs%c1(3,2)
       res = res - coeffs%c1(4,2)
    case(1)
       acc = -momenta(1,0)
       res = acc * coeffs%c2(1,2)
       acc = -momenta(1,0)
       res = res + acc * coeffs%c2(2,2)
       acc = -momenta(1,0)
       res = res + acc * coeffs%c2(3,2)
       acc = -momenta(1,1)
       res = res + acc * coeffs%c2(4,2)
       acc = -momenta(1,1)
       res = res + acc * coeffs%c2(5,2)
       acc = -momenta(1,2)
       res = res + acc * coeffs%c2(6,2)
       acc = 3*momenta(1,0)
       res = res + acc * coeffs%c1(1,3)
       acc = -3*momenta(1,1)
       res = res + acc * coeffs%c1(2,3)
       acc = -3*momenta(1,2)
       res = res + acc * coeffs%c1(3,3)
       acc = -3*momenta(1,3)
       res = res + acc * coeffs%c1(4,3)
       acc = momenta(1,1)
       res = res + acc * coeffs%c2(1,5)
       acc = momenta(1,2)
       res = res + acc * coeffs%c2(2,5)
       acc = momenta(1,3)
       res = res + acc * coeffs%c2(3,5)
       acc = -momenta(1,2)
       res = res + acc * coeffs%c2(4,5)
       acc = -momenta(1,3)
       res = res + acc * coeffs%c2(5,5)
       acc = -momenta(1,3)
       res = res + acc * coeffs%c2(6,5)
    case(2)
       acc = -momenta(1,0)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,0)
       acc = acc / 2.0_ki
       res = acc * coeffs%c3(1,4)
       acc = -momenta(1,0)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(2,4)
       acc = -momenta(1,0)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(3,4)
       acc = -momenta(1,1)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(4,4)
       acc = -3*momenta(1,0)*momenta(2,1)
       acc = acc - 3*momenta(1,1)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(1,3)
       acc = -3*momenta(1,0)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(2,3)
       acc = -3*momenta(1,0)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(3,3)
       acc = -3*momenta(1,1)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(4,3)
       acc = -3*momenta(1,1)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(5,3)
       acc = -3*momenta(1,2)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,2)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(6,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(1,7)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(2,7)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(3,7)
       acc = -momenta(1,2)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,2)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(4,7)
       acc = 3*momenta(1,0)*momenta(2,1)
       acc = acc + 3*momenta(1,1)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(1,8)
       acc = 3*momenta(1,0)*momenta(2,2)
       acc = acc + 3*momenta(1,2)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(2,8)
       acc = 3*momenta(1,0)*momenta(2,3)
       acc = acc + 3*momenta(1,3)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(3,8)
       acc = -3*momenta(1,1)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(4,8)
       acc = -3*momenta(1,1)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(5,8)
       acc = -3*momenta(1,2)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,2)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(6,8)
       acc = -momenta(1,0)*momenta(2,1)
       acc = acc - momenta(1,1)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(1,2)
       acc = -momenta(1,0)*momenta(2,1)
       acc = acc - momenta(1,1)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(2,2)
       acc = -momenta(1,0)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(3,2)
       acc = -momenta(1,1)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(4,2)
       acc = momenta(1,1)*momenta(2,1)
       res = res + acc * coeffs%c2(1,6)
       acc = momenta(1,2)*momenta(2,2)
       res = res + acc * coeffs%c2(2,6)
       acc = momenta(1,3)*momenta(2,3)
       res = res + acc * coeffs%c2(3,6)
       acc = -momenta(1,2)*momenta(2,2)
       res = res + acc * coeffs%c2(4,6)
       acc = -momenta(1,3)*momenta(2,3)
       res = res + acc * coeffs%c2(5,6)
       acc = -momenta(1,3)*momenta(2,3)
       res = res + acc * coeffs%c2(6,6)
       acc = -momenta(1,0)*momenta(2,0)
       res = res + acc * coeffs%c2(1,6)
       acc = -momenta(1,0)*momenta(2,0)
       res = res + acc * coeffs%c2(2,6)
       acc = -momenta(1,0)*momenta(2,0)
       res = res + acc * coeffs%c2(3,6)
       acc = -momenta(1,1)*momenta(2,1)
       res = res + acc * coeffs%c2(4,6)
       acc = -momenta(1,1)*momenta(2,1)
       res = res + acc * coeffs%c2(5,6)
       acc = -momenta(1,2)*momenta(2,2)
       res = res + acc * coeffs%c2(6,6)
       acc = 6*momenta(1,0)*momenta(2,0)
       res = res + acc * coeffs%c1(1,4)
       acc = -6*momenta(1,1)*momenta(2,1)
       res = res + acc * coeffs%c1(2,4)
       acc = -6*momenta(1,2)*momenta(2,2)
       res = res + acc * coeffs%c1(3,4)
       acc = -6*momenta(1,3)*momenta(2,3)
       res = res + acc * coeffs%c1(4,4)
    case(3)
       acc = 3*momenta(1,0)*momenta(2,1)
       acc = acc + 3*momenta(1,1)*momenta(2,0)
       reg0 = acc * momenta(3,1)
       acc = 3*momenta(1,1)*momenta(2,1)*momenta(3,0)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = acc * coeffs%c2(1,9)
       acc = 3*momenta(1,0)*momenta(2,2)
       acc = acc + 3*momenta(1,2)*momenta(2,0)
       reg0 = acc * momenta(3,2)
       acc = 3*momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(2,9)
       acc = 3*momenta(2,0)*momenta(3,3)
       acc = acc + 3*momenta(2,3)*momenta(3,0)
       reg0 = acc * momenta(1,3)
       acc = 3*momenta(1,0)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(3,9)
       acc = -3*momenta(1,1)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,2)
       acc = -3*momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(4,9)
       acc = -3*momenta(2,1)*momenta(3,3)
       acc = acc - 3*momenta(2,3)*momenta(3,1)
       reg0 = acc * momenta(1,3)
       acc = -3*momenta(1,1)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(5,9)
       acc = -3*momenta(2,2)*momenta(3,3)
       acc = acc - 3*momenta(2,3)*momenta(3,2)
       reg0 = acc * momenta(1,3)
       acc = -3*momenta(1,2)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(6,9)
       acc = -momenta(1,0)*momenta(2,0)*momenta(3,0)
       res = res + acc * coeffs%c2(1,9)
       acc = -momenta(1,0)*momenta(2,0)*momenta(3,0)
       res = res + acc * coeffs%c2(2,9)
       acc = -momenta(1,0)*momenta(2,0)*momenta(3,0)
       res = res + acc * coeffs%c2(3,9)
       acc = -momenta(1,1)*momenta(2,1)*momenta(3,1)
       res = res + acc * coeffs%c2(4,9)
       acc = -momenta(1,1)*momenta(2,1)*momenta(3,1)
       res = res + acc * coeffs%c2(5,9)
       acc = -momenta(1,2)*momenta(2,2)*momenta(3,2)
       res = res + acc * coeffs%c2(6,9)
       acc = 3*momenta(1,1)*momenta(2,2)
       acc = acc + 3*momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,0)
       acc = 3*momenta(1,0)*momenta(2,1)
       acc = acc + 3*momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(3,2)
       acc = 3*momenta(1,0)*momenta(2,2)
       acc = acc + 3*momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(1,10)
       acc = 3*momenta(1,1)*momenta(2,3)
       acc = acc + 3*momenta(1,3)*momenta(2,1)
       reg0 = acc * momenta(3,0)
       acc = 3*momenta(1,0)*momenta(2,1)
       acc = acc + 3*momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(3,3)
       acc = 3*momenta(1,0)*momenta(2,3)
       acc = acc + 3*momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(2,10)
       acc = 3*momenta(1,2)*momenta(2,3)
       acc = acc + 3*momenta(1,3)*momenta(2,2)
       reg0 = acc * momenta(3,0)
       acc = 3*momenta(1,0)*momenta(2,3)
       acc = acc + 3*momenta(1,3)*momenta(2,0)
       reg1 = acc * momenta(3,2)
       acc = 3*momenta(1,0)*momenta(2,2)
       acc = acc + 3*momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(3,10)
       acc = -3*momenta(2,1)*momenta(3,2)
       acc = acc - 3*momenta(2,2)*momenta(3,1)
       reg0 = acc * momenta(1,3)
       acc = -3*momenta(1,1)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,1)
       reg1 = acc * momenta(3,3)
       acc = -3*momenta(1,1)*momenta(3,2)
       acc = acc - 3*momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(4,10)
       acc = -momenta(1,1)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,1)
       acc = acc - momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(3,2)
       acc = -momenta(1,0)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c4(1,2)
       acc = -3*momenta(1,1)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(2,1)
       acc = acc - 3*momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(3,2)
       acc = -3*momenta(1,0)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(1,3)
       acc = -3*momenta(1,1)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,1)
       reg0 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(2,1)
       acc = acc - 3*momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(3,3)
       acc = -3*momenta(1,0)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(2,3)
       acc = -3*momenta(1,2)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,2)
       reg0 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,0)
       reg1 = acc * momenta(3,2)
       acc = -3*momenta(1,0)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(3,3)
       acc = -3*momenta(2,1)*momenta(3,2)
       acc = acc - 3*momenta(2,2)*momenta(3,1)
       reg0 = acc * momenta(1,3)
       acc = -3*momenta(1,1)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,1)
       reg1 = acc * momenta(3,3)
       acc = -3*momenta(1,1)*momenta(3,2)
       acc = acc - 3*momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(4,3)
       acc = momenta(2,1)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,1)
       reg0 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg1 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c4(1,5)
       acc = -momenta(1,1)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,1)
       reg0 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,1)
       acc = acc - momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(3,3)
       acc = -momenta(1,0)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c4(1,3)
       acc = -3*momenta(1,1)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(2,1)
       acc = acc - 3*momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(3,2)
       acc = -3*momenta(1,0)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(1,6)
       acc = -3*momenta(1,1)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,1)
       reg0 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(2,1)
       acc = acc - 3*momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(3,3)
       acc = -3*momenta(1,0)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(2,6)
       acc = -3*momenta(1,2)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,2)
       reg0 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,0)
       reg1 = acc * momenta(3,2)
       acc = -3*momenta(1,0)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(3,6)
       acc = -3*momenta(2,1)*momenta(3,2)
       acc = acc - 3*momenta(2,2)*momenta(3,1)
       reg0 = acc * momenta(1,3)
       acc = -3*momenta(1,1)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,1)
       reg1 = acc * momenta(3,3)
       acc = -3*momenta(1,1)*momenta(3,2)
       acc = acc - 3*momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(4,6)
       acc = -6*momenta(1,0)*momenta(2,1)
       acc = acc - 6*momenta(1,1)*momenta(2,0)
       reg0 = acc * momenta(3,1)
       acc = -6*momenta(1,1)*momenta(2,1)*momenta(3,0)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(1,4)
       acc = -6*momenta(1,0)*momenta(2,2)
       acc = acc - 6*momenta(1,2)*momenta(2,0)
       reg0 = acc * momenta(3,2)
       acc = -6*momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(2,4)
       acc = -6*momenta(2,0)*momenta(3,3)
       acc = acc - 6*momenta(2,3)*momenta(3,0)
       reg0 = acc * momenta(1,3)
       acc = -6*momenta(1,0)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(3,4)
       acc = -6*momenta(1,1)*momenta(2,2)
       acc = acc - 6*momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,2)
       acc = -6*momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(4,4)
       acc = -6*momenta(2,1)*momenta(3,3)
       acc = acc - 6*momenta(2,3)*momenta(3,1)
       reg0 = acc * momenta(1,3)
       acc = -6*momenta(1,1)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(5,4)
       acc = -6*momenta(2,2)*momenta(3,3)
       acc = acc - 6*momenta(2,3)*momenta(3,2)
       reg0 = acc * momenta(1,3)
       acc = -6*momenta(1,2)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(6,4)
       acc = -momenta(1,0)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,0)
       reg0 = acc * momenta(3,2)
       acc = -momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(1,5)
       acc = -momenta(2,0)*momenta(3,3)
       acc = acc - momenta(2,3)*momenta(3,0)
       reg0 = acc * momenta(1,3)
       acc = -momenta(1,0)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(2,5)
       acc = -momenta(2,0)*momenta(3,3)
       acc = acc - momenta(2,3)*momenta(3,0)
       reg0 = acc * momenta(1,3)
       acc = -momenta(1,0)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(3,5)
       acc = -momenta(2,1)*momenta(3,3)
       acc = acc - momenta(2,3)*momenta(3,1)
       reg0 = acc * momenta(1,3)
       acc = -momenta(1,1)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(4,5)
       acc = -momenta(1,0)*momenta(2,1)
       acc = acc - momenta(1,1)*momenta(2,0)
       reg0 = acc * momenta(3,1)
       acc = -momenta(1,1)*momenta(2,1)*momenta(3,0)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(1,5)
       acc = -momenta(1,0)*momenta(2,1)
       acc = acc - momenta(1,1)*momenta(2,0)
       reg0 = acc * momenta(3,1)
       acc = -momenta(1,1)*momenta(2,1)*momenta(3,0)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(2,5)
       acc = -momenta(1,0)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,0)
       reg0 = acc * momenta(3,2)
       acc = -momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(3,5)
       acc = -momenta(1,1)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,2)
       acc = -momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(4,5)
       acc = 10*momenta(1,0)*momenta(2,0)*momenta(3,0)
       res = res + acc * coeffs%c1(1,5)
       acc = -10*momenta(1,1)*momenta(2,1)*momenta(3,1)
       res = res + acc * coeffs%c1(2,5)
       acc = -10*momenta(1,2)*momenta(2,2)*momenta(3,2)
       res = res + acc * coeffs%c1(3,5)
       acc = -10*momenta(1,3)*momenta(2,3)*momenta(3,3)
       res = res + acc * coeffs%c1(4,5)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,1)
       res = res + acc * coeffs%c2(1,7)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,2)
       res = res + acc * coeffs%c2(2,7)
       acc = momenta(1,3)*momenta(2,3)*momenta(3,3)
       res = res + acc * coeffs%c2(3,7)
       acc = -momenta(1,2)*momenta(2,2)*momenta(3,2)
       res = res + acc * coeffs%c2(4,7)
       acc = -momenta(1,3)*momenta(2,3)*momenta(3,3)
       res = res + acc * coeffs%c2(5,7)
       acc = -momenta(1,3)*momenta(2,3)*momenta(3,3)
       res = res + acc * coeffs%c2(6,7)
       acc = -3*momenta(1,0)*momenta(2,1)
       acc = acc - 3*momenta(1,1)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(2,0)*momenta(3,1)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(1,7)
       acc = -3*momenta(1,0)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(2,7)
       acc = -3*momenta(1,0)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(2,0)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(3,7)
       acc = -3*momenta(1,1)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,1)
       acc = -3*momenta(1,1)*momenta(2,1)*momenta(3,2)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(4,7)
       acc = -3*momenta(1,1)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,1)
       reg0 = acc * momenta(3,1)
       acc = -3*momenta(1,1)*momenta(2,1)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(5,7)
       acc = -3*momenta(1,2)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,2)
       reg0 = acc * momenta(3,2)
       acc = -3*momenta(1,2)*momenta(2,2)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(6,7)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(1,8)
       acc = momenta(2,1)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,1)
       reg0 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(2,8)
       acc = momenta(2,2)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,2)
       reg0 = acc * momenta(1,3)
       acc = momenta(1,2)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(3,8)
       acc = -momenta(2,2)*momenta(3,3)
       acc = acc - momenta(2,3)*momenta(3,2)
       reg0 = acc * momenta(1,3)
       acc = -momenta(1,2)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(4,8)
       acc = -momenta(1,0)*momenta(2,1)
       acc = acc - momenta(1,1)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,0)*momenta(3,1)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(1,8)
       acc = -momenta(1,0)*momenta(2,1)
       acc = acc - momenta(1,1)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,0)*momenta(3,1)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(2,8)
       acc = -momenta(1,0)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(3,8)
       acc = -momenta(1,1)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,1)
       acc = -momenta(1,1)*momenta(2,1)*momenta(3,2)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(4,8)
       acc = 6*momenta(1,0)*momenta(2,1)
       acc = acc + 6*momenta(1,1)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = 6*momenta(1,0)*momenta(2,0)*momenta(3,1)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(1,10)
       acc = 6*momenta(1,0)*momenta(2,2)
       acc = acc + 6*momenta(1,2)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = 6*momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(2,10)
       acc = 6*momenta(1,0)*momenta(2,3)
       acc = acc + 6*momenta(1,3)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = 6*momenta(1,0)*momenta(2,0)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(3,10)
       acc = -6*momenta(1,1)*momenta(2,2)
       acc = acc - 6*momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,1)
       acc = -6*momenta(1,1)*momenta(2,1)*momenta(3,2)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(4,10)
       acc = -6*momenta(1,1)*momenta(2,3)
       acc = acc - 6*momenta(1,3)*momenta(2,1)
       reg0 = acc * momenta(3,1)
       acc = -6*momenta(1,1)*momenta(2,1)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(5,10)
       acc = -6*momenta(1,2)*momenta(2,3)
       acc = acc - 6*momenta(1,3)*momenta(2,2)
       reg0 = acc * momenta(3,2)
       acc = -6*momenta(1,2)*momenta(2,2)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(6,10)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(1,9)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(2,9)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg0 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(3,9)
       acc = -momenta(1,2)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,2)
       reg0 = acc * momenta(3,2)
       acc = -momenta(1,2)*momenta(2,2)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(4,9)
       acc = -momenta(1,0)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(1,9)
       acc = -momenta(1,0)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,0)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(2,9)
       acc = -momenta(1,0)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,0)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(3,9)
       acc = -momenta(1,1)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,1)
       reg0 = acc * momenta(3,1)
       acc = -momenta(1,1)*momenta(2,1)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(4,9)
       acc = -momenta(1,2)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,2)
       reg0 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,0)
       reg1 = acc * momenta(3,2)
       acc = -momenta(1,0)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c4(1,4)
    case default
       res = 0.0_ki
    end select
 end  function contract_b_tensor_5
 !****f* src/interface/tens_comb/contract_c_tensor_5
 ! NAME
 !
 ! Function contract_c_tensor_5
 !
 ! USAGE
 !
 !  ans = contract_c_tensor_5(coeffs, momenta)
 !
 ! DESCRIPTION
 !
 !  Contracts the a set of coefficients with an C-type tensor
 !  of rank 5 constructed from a given set of momenta.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_5)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !
 ! RETURN VALUE
 !
 !  The result of the contraction which is a complex number
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 pure function contract_c_tensor_5(coeffs, momenta) result(res)
    ! generated by: write_function_c_tensor_contract
    implicit none
    type(coeff_type_5), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in), optional :: momenta
    complex(ki) :: res
    integer :: rk
    real(ki) :: acc
    if (present(momenta)) then
       rk = size(momenta, 1)
    else
       rk = 0
    end if
    select case(rk)
    case(0)
       res = -coeffs%c2(1,6)
       res = res - coeffs%c2(2,6)
       res = res - coeffs%c2(3,6)
       res = res + coeffs%c2(4,6)
       res = res + coeffs%c2(5,6)
       res = res + coeffs%c2(6,6)
       acc = 3
       res = res + acc * coeffs%c1(1,4)
       acc = 3
       res = res + acc * coeffs%c1(2,4)
       acc = 3
       res = res + acc * coeffs%c1(3,4)
       acc = 3
       res = res + acc * coeffs%c1(4,4)
    case(1)
       acc = -3*momenta(1,0)
       res = acc * coeffs%c2(1,9)
       acc = -3*momenta(1,0)
       res = res + acc * coeffs%c2(2,9)
       acc = -3*momenta(1,0)
       res = res + acc * coeffs%c2(3,9)
       acc = 3*momenta(1,1)
       res = res + acc * coeffs%c2(4,9)
       acc = 3*momenta(1,1)
       res = res + acc * coeffs%c2(5,9)
       acc = 3*momenta(1,2)
       res = res + acc * coeffs%c2(6,9)
       acc = 3*momenta(1,0)
       res = res + acc * coeffs%c2(1,4)
       acc = 3*momenta(1,0)
       res = res + acc * coeffs%c2(2,4)
       acc = 3*momenta(1,0)
       res = res + acc * coeffs%c2(3,4)
       acc = 3*momenta(1,1)
       res = res + acc * coeffs%c2(4,4)
       acc = 3*momenta(1,1)
       res = res + acc * coeffs%c2(5,4)
       acc = 3*momenta(1,2)
       res = res + acc * coeffs%c2(6,4)
       acc = momenta(1,0)
       res = res + acc * coeffs%c3(1,5)
       acc = momenta(1,0)
       res = res + acc * coeffs%c3(2,5)
       acc = momenta(1,0)
       res = res + acc * coeffs%c3(3,5)
       acc = momenta(1,1)
       res = res + acc * coeffs%c3(4,5)
       acc = 15*momenta(1,0)
       res = res + acc * coeffs%c1(1,5)
       acc = 15*momenta(1,1)
       res = res + acc * coeffs%c1(2,5)
       acc = 15*momenta(1,2)
       res = res + acc * coeffs%c1(3,5)
       acc = 15*momenta(1,3)
       res = res + acc * coeffs%c1(4,5)
       acc = -3*momenta(1,1)
       res = res + acc * coeffs%c2(1,7)
       acc = -3*momenta(1,2)
       res = res + acc * coeffs%c2(2,7)
       acc = -3*momenta(1,3)
       res = res + acc * coeffs%c2(3,7)
       acc = 3*momenta(1,2)
       res = res + acc * coeffs%c2(4,7)
       acc = 3*momenta(1,3)
       res = res + acc * coeffs%c2(5,7)
       acc = 3*momenta(1,3)
       res = res + acc * coeffs%c2(6,7)
       acc = -momenta(1,1)
       res = res + acc * coeffs%c3(1,8)
       acc = -momenta(1,1)
       res = res + acc * coeffs%c3(2,8)
       acc = -momenta(1,2)
       res = res + acc * coeffs%c3(3,8)
       acc = momenta(1,2)
       res = res + acc * coeffs%c3(4,8)
       acc = 3*momenta(1,1)
       res = res + acc * coeffs%c2(1,10)
       acc = 3*momenta(1,2)
       res = res + acc * coeffs%c2(2,10)
       acc = 3*momenta(1,3)
       res = res + acc * coeffs%c2(3,10)
       acc = 3*momenta(1,2)
       res = res + acc * coeffs%c2(4,10)
       acc = 3*momenta(1,3)
       res = res + acc * coeffs%c2(5,10)
       acc = 3*momenta(1,3)
       res = res + acc * coeffs%c2(6,10)
       acc = -momenta(1,2)
       res = res + acc * coeffs%c3(1,9)
       acc = -momenta(1,3)
       res = res + acc * coeffs%c3(2,9)
       acc = -momenta(1,3)
       res = res + acc * coeffs%c3(3,9)
       acc = momenta(1,3)
       res = res + acc * coeffs%c3(4,9)
    case default
       res = 0.0_ki
    end select
 end  function contract_c_tensor_5
 !****f* src/interface/tens_comb/contract_a_tensor_6
 ! NAME
 !
 ! Function contract_a_tensor_6
 !
 ! USAGE
 !
 !  ans = contract_a_tensor_6(coeffs, momenta)
 !
 ! DESCRIPTION
 !
 !  Contracts the a set of coefficients with an A-type tensor
 !  of rank 6 constructed from a given set of momenta.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_6)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !
 ! RETURN VALUE
 !
 !  The result of the contraction which is a complex number
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 pure function contract_a_tensor_6(coeffs, momenta) result(res)
    ! generated by: write_function_a_tensor_contract
    implicit none
    type(coeff_type_6), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in), optional :: momenta
    complex(ki) :: res
    integer :: rk
    real(ki) :: acc
    real(ki) :: reg8
    real(ki) :: reg9
    real(ki) :: reg6
    real(ki) :: reg7
    real(ki) :: reg4
    real(ki) :: reg5
    real(ki) :: reg2
    real(ki) :: reg3
    real(ki) :: reg0
    real(ki) :: reg1
    if (present(momenta)) then
       rk = size(momenta, 1)
    else
       rk = 0
    end if
    select case(rk)
    case(1)
       acc = momenta(1,0)
       res = acc * coeffs%c1(1,1)
       acc = momenta(1,1)
       res = res + acc * coeffs%c1(2,1)
       acc = momenta(1,2)
       res = res + acc * coeffs%c1(3,1)
       acc = momenta(1,3)
       res = res + acc * coeffs%c1(4,1)
    case(2)
       acc = momenta(1,0)*momenta(2,0)
       res = acc * coeffs%c1(1,2)
       acc = momenta(1,1)*momenta(2,1)
       res = res + acc * coeffs%c1(2,2)
       acc = momenta(1,2)*momenta(2,2)
       res = res + acc * coeffs%c1(3,2)
       acc = momenta(1,3)*momenta(2,3)
       res = res + acc * coeffs%c1(4,2)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(1,1)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(2,1)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(3,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(4,1)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(5,1)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(6,1)
    case(3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,0)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = acc * coeffs%c2(1,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg0 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(2,2)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       reg0 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(3,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(4,2)
       acc = momenta(2,1)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,1)
       reg0 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(5,2)
       acc = momenta(2,2)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,2)
       reg0 = acc * momenta(1,3)
       acc = momenta(1,2)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(6,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(1,1)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(2,1)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg1 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(3,1)
       acc = momenta(2,1)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,1)
       reg0 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg1 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(4,1)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,0)
       res = res + acc * coeffs%c1(1,3)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,1)
       res = res + acc * coeffs%c1(2,3)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,2)
       res = res + acc * coeffs%c1(3,3)
       acc = momenta(1,3)*momenta(2,3)*momenta(3,3)
       res = res + acc * coeffs%c1(4,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,1)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(1,6)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(2,6)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(3,6)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(4,6)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(5,6)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg0 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(6,6)
    case(4)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg2 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,2)
       acc = acc + reg2
       reg1 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = acc * coeffs%c3(1,5)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg1 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,3)
       acc = acc + reg2
       reg1 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(2,5)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg1 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,0)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(3,0)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(3,5)
       acc = momenta(2,1)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,1)
       reg1 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,1)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(4,5)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg1 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,0)*momenta(4,1)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(1,3)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg1 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,0)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(2,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg1 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,0)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,3)*momenta(3,3)*momenta(4,3)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(3,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg1 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,1)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(4,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg1 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,1)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,3)*momenta(3,3)*momenta(4,3)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(5,3)
       acc = momenta(2,2)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,2)
       reg1 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,2)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,2)*momenta(2,3)*momenta(3,3)*momenta(4,3)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(6,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg2 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       reg1 = acc * momenta(4,0)
       acc = momenta(3,1)*momenta(4,2)
       acc = acc + momenta(3,2)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(1,11)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg1 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       reg1 = acc * momenta(4,0)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(2,11)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg1 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,0)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg2
       reg1 = acc * momenta(4,0)
       acc = momenta(3,2)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(3,11)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg1 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg2 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       acc = acc * momenta(3,3)
       acc = acc + reg2
       reg1 = acc * momenta(2,1)
       acc = momenta(2,2)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(4,11)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,1)*momenta(4,0)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(1,10)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg1 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,2)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)*momenta(4,0)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(2,10)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg1 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,3)*momenta(4,0)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(3,10)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg1 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,2)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)*momenta(4,1)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(4,10)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg1 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,3)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(5,10)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg1 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,3)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,3)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(6,10)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg1 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg2 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg4 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(2,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg5 = acc * momenta(3,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       acc = acc + reg4
       acc = acc * momenta(1,2)
       acc = acc + reg2
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 24.0_ki
       res = res + acc * coeffs%c4(1,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg1 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg2 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(3,0)*momenta(4,1)
       acc = acc + momenta(3,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(1,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg1 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg2 = acc * momenta(3,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(3,1)
       acc = acc + momenta(1,1)*momenta(3,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(2,2)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       reg1 = acc * momenta(4,2)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg2 = acc * momenta(3,2)
       acc = momenta(3,0)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,0)
       acc = acc * momenta(2,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(3,2)
       acc = momenta(2,1)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,1)
       reg1 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg2 = acc * momenta(3,2)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(2,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(4,3)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg1 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg2
       acc = acc * momenta(3,1)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(1,7)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg1 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg2
       acc = acc * momenta(4,0)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(2,7)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg1 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,3)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg2 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg2
       acc = acc * momenta(3,3)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(3,7)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg1 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg2
       acc = acc * momenta(4,1)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(4,7)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg1 = acc * momenta(3,1)
       acc = momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg2 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,1)*momenta(4,3)
       acc = acc + reg2
       acc = acc * momenta(1,1)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(5,7)
       acc = momenta(2,2)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,2)
       reg1 = acc * momenta(1,3)
       acc = momenta(1,2)*momenta(2,3)*momenta(3,3)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg2 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,3)
       acc = acc + reg2
       acc = acc * momenta(4,3)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(6,7)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,0)*momenta(4,0)
       res = res + acc * coeffs%c1(1,4)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,1)*momenta(4,1)
       res = res + acc * coeffs%c1(2,4)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,2)
       res = res + acc * coeffs%c1(3,4)
       acc = momenta(1,3)*momenta(2,3)*momenta(3,3)*momenta(4,3)
       res = res + acc * coeffs%c1(4,4)
    case(5)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg2 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg2
       reg1 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg3
       acc = acc * momenta(3,1)
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,1)*momenta(4,0)
       acc = acc + reg2
       acc = acc * momenta(5,1)
       acc = acc + reg0
       acc = acc / 10.0_ki
       res = acc * coeffs%c2(1,11)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg2
       reg1 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg3 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg3
       acc = acc * momenta(4,0)
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg3 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,2)
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)*momenta(4,0)
       acc = acc + reg2
       acc = acc * momenta(5,2)
       acc = acc + reg0
       acc = acc / 10.0_ki
       res = res + acc * coeffs%c2(2,11)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg2 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,3)*momenta(4,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg3 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg3
       acc = acc * momenta(3,3)
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg3 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,3)*momenta(4,0)
       acc = acc + reg2
       acc = acc * momenta(5,3)
       acc = acc + reg0
       acc = acc / 10.0_ki
       res = res + acc * coeffs%c2(3,11)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)
       acc = acc + reg2
       reg1 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg3
       acc = acc * momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg3 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,2)*momenta(4,1)
       acc = acc + reg3
       reg2 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)*momenta(4,1)
       acc = acc + reg2
       acc = acc * momenta(5,2)
       acc = acc + reg0
       acc = acc / 10.0_ki
       res = res + acc * coeffs%c2(4,11)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg2 = acc * momenta(3,1)
       acc = momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg2
       reg1 = acc * momenta(1,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg3 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,1)*momenta(4,3)
       acc = acc + reg3
       acc = acc * momenta(1,1)
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg3 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,3)*momenta(4,1)
       acc = acc + reg3
       reg2 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg2
       acc = acc * momenta(5,3)
       acc = acc + reg0
       acc = acc / 10.0_ki
       res = res + acc * coeffs%c2(5,11)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg2 = acc * momenta(3,2)
       acc = momenta(2,2)*momenta(3,3)*momenta(5,2)
       acc = acc + reg2
       reg1 = acc * momenta(1,3)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg3 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,2)*momenta(5,3)
       acc = acc + reg3
       acc = acc * momenta(1,2)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg3 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,3)
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,3)*momenta(5,2)
       acc = acc + reg2
       acc = acc * momenta(4,3)
       acc = acc + reg0
       acc = acc / 10.0_ki
       res = res + acc * coeffs%c2(6,11)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg3 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg3
       reg2 = acc * momenta(4,0)
       acc = momenta(3,1)*momenta(4,2)
       acc = acc + momenta(3,2)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg3 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg3
       reg2 = acc * momenta(4,0)
       acc = momenta(4,1)*momenta(5,2)
       acc = acc + momenta(4,2)*momenta(5,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg2
       reg1 = acc * momenta(3,0)
       acc = momenta(3,1)*momenta(5,2)
       acc = acc + momenta(3,2)*momenta(5,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc * momenta(4,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 20.0_ki
       res = res + acc * coeffs%c3(1,17)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg2 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg3
       reg2 = acc * momenta(4,0)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg3 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,3)
       acc = acc + reg3
       reg2 = acc * momenta(4,0)
       acc = momenta(4,1)*momenta(5,3)
       acc = acc + momenta(4,3)*momenta(5,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg2
       reg1 = acc * momenta(3,0)
       acc = momenta(3,1)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc * momenta(4,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 20.0_ki
       res = res + acc * coeffs%c3(2,17)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg2 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg3 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,0)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg3 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg3
       reg2 = acc * momenta(4,0)
       acc = momenta(3,2)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg3 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg3
       reg2 = acc * momenta(4,0)
       acc = momenta(4,2)*momenta(5,3)
       acc = acc + momenta(4,3)*momenta(5,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg2
       reg1 = acc * momenta(3,0)
       acc = momenta(3,2)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc * momenta(4,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 20.0_ki
       res = res + acc * coeffs%c3(3,17)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg2 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg3 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       acc = acc * momenta(3,3)
       acc = acc + reg3
       reg2 = acc * momenta(2,1)
       acc = momenta(2,2)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg3 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       acc = acc * momenta(5,2)
       acc = acc + reg3
       reg2 = acc * momenta(2,1)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg2
       reg1 = acc * momenta(3,1)
       acc = momenta(3,2)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc * momenta(2,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 20.0_ki
       res = res + acc * coeffs%c3(4,17)
       acc = momenta(2,1)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,1)
       reg2 = acc * momenta(5,0)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       reg3 = acc * momenta(5,1)
       acc = momenta(2,0)*momenta(3,1)
       acc = acc + momenta(2,1)*momenta(3,0)
       acc = acc * momenta(5,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg3 = acc * momenta(5,0)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg4 = acc * momenta(5,1)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(5,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg5 = acc * momenta(3,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       reg5 = acc * momenta(5,0)
       acc = momenta(3,0)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,0)
       reg6 = acc * momenta(5,1)
       acc = momenta(3,0)*momenta(4,1)
       acc = acc + momenta(3,1)*momenta(4,0)
       acc = acc * momenta(5,3)
       acc = acc + reg6
       acc = acc + reg5
       acc = acc * momenta(2,2)
       acc = acc + reg3
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg5 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(5,1)
       acc = acc + momenta(1,1)*momenta(5,0)
       reg5 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg6 = acc * momenta(5,2)
       acc = momenta(4,0)*momenta(5,1)
       acc = acc + momenta(4,1)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc + reg6
       acc = acc + reg5
       acc = acc * momenta(2,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       reg5 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,0)
       reg6 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(3,1)
       acc = acc + momenta(1,1)*momenta(3,0)
       acc = acc * momenta(5,2)
       acc = acc + reg6
       acc = acc + reg5
       acc = acc * momenta(2,3)
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(3,1)
       acc = acc + momenta(1,1)*momenta(3,0)
       reg5 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg6 = acc * momenta(3,2)
       acc = momenta(3,0)*momenta(4,1)
       acc = acc + momenta(3,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg6
       acc = acc + reg5
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg2
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 60.0_ki
       res = res + acc * coeffs%c4(1,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg3 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg3
       reg2 = acc * momenta(5,2)
       acc = momenta(3,0)*momenta(5,1)
       acc = acc + momenta(3,1)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg3 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg3
       reg2 = acc * momenta(5,2)
       acc = momenta(4,0)*momenta(5,1)
       acc = acc + momenta(4,1)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(3,0)*momenta(4,1)
       acc = acc + momenta(3,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc * momenta(5,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 20.0_ki
       res = res + acc * coeffs%c3(1,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg2 = acc * momenta(5,0)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg3 = acc * momenta(5,1)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(5,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(2,1)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,1)
       reg3 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,0)
       acc = acc * momenta(3,1)
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(3,0)*momenta(4,1)
       acc = acc + momenta(3,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(5,1)
       acc = acc + momenta(1,1)*momenta(5,0)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(3,1)
       acc = acc + momenta(1,1)*momenta(3,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 20.0_ki
       res = res + acc * coeffs%c3(2,3)
       acc = momenta(2,0)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,0)
       reg2 = acc * momenta(4,2)
       acc = momenta(2,0)*momenta(5,2)
       acc = acc + momenta(2,2)*momenta(5,0)
       reg3 = acc * momenta(4,3)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       acc = acc * momenta(4,0)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg3 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,0)
       acc = acc * momenta(3,2)
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(3,0)*momenta(4,2)
       acc = acc + momenta(3,2)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg3 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(5,2)
       acc = acc + momenta(1,2)*momenta(5,0)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 20.0_ki
       res = res + acc * coeffs%c3(3,3)
       acc = momenta(2,1)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,1)
       reg2 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(5,2)
       acc = acc + momenta(2,2)*momenta(5,1)
       reg3 = acc * momenta(4,3)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       acc = acc * momenta(4,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(2,1)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,1)
       reg3 = acc * momenta(3,2)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       acc = acc * momenta(3,1)
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(3,1)*momenta(4,2)
       acc = acc + momenta(3,2)*momenta(4,1)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(5,2)
       acc = acc + momenta(1,2)*momenta(5,1)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 20.0_ki
       res = res + acc * coeffs%c3(4,3)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg3 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg5 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(2,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg5 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg6 = acc * momenta(3,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg6
       acc = acc + reg5
       acc = acc * momenta(1,2)
       acc = acc + reg3
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg3 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,0)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg5 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,3)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg5 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg6
       acc = acc + reg5
       acc = acc * momenta(5,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,0)
       acc = momenta(1,2)*momenta(3,3)
       acc = acc + momenta(1,3)*momenta(3,2)
       reg4 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       reg5 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(3,3)
       acc = acc + momenta(1,3)*momenta(3,1)
       acc = acc * momenta(5,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(2,0)
       acc = momenta(2,2)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,2)
       reg5 = acc * momenta(5,1)
       acc = momenta(2,1)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,1)
       reg6 = acc * momenta(5,3)
       acc = momenta(2,1)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,1)
       acc = acc * momenta(5,2)
       acc = acc + reg6
       acc = acc + reg5
       acc = acc * momenta(1,0)
       acc = acc + reg3
       reg2 = acc * momenta(4,0)
       acc = momenta(3,1)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,1)
       reg5 = acc * momenta(4,2)
       acc = momenta(4,1)*momenta(5,3)
       acc = acc + momenta(4,3)*momenta(5,1)
       reg6 = acc * momenta(3,2)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(5,2)
       acc = acc + reg6
       acc = acc + reg5
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg2
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 60.0_ki
       res = res + acc * coeffs%c4(1,11)
       acc = momenta(2,1)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,1)
       reg2 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,0)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg4 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg6
       acc = acc + reg5
       acc = acc * momenta(5,2)
       acc = acc + reg3
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg4 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(4,1)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg5 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg6 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       acc = acc * momenta(5,2)
       acc = acc + reg6
       acc = acc + reg5
       acc = acc * momenta(4,0)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg5 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(2,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg5 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg6 = acc * momenta(3,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg6
       acc = acc + reg5
       acc = acc * momenta(1,2)
       acc = acc + reg3
       reg2 = acc * momenta(5,2)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       reg5 = acc * momenta(5,0)
       acc = momenta(3,0)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,0)
       reg6 = acc * momenta(5,1)
       acc = momenta(3,0)*momenta(4,1)
       acc = acc + momenta(3,1)*momenta(4,0)
       acc = acc * momenta(5,3)
       acc = acc + reg6
       acc = acc + reg5
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg2
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 60.0_ki
       res = res + acc * coeffs%c4(1,4)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg3 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,2)
       acc = acc + reg3
       reg2 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg3 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(5,2)
       acc = acc + reg3
       reg2 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(5,2)
       acc = acc + momenta(2,2)*momenta(5,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg2
       reg1 = acc * momenta(3,1)
       acc = momenta(3,0)*momenta(5,2)
       acc = acc + momenta(3,2)*momenta(5,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc * momenta(2,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 20.0_ki
       res = res + acc * coeffs%c3(1,8)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg2 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,3)
       acc = acc + reg3
       reg2 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg3 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(5,3)
       acc = acc + reg3
       reg2 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg2
       reg1 = acc * momenta(3,1)
       acc = momenta(3,0)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc * momenta(2,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 20.0_ki
       res = res + acc * coeffs%c3(2,8)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg2 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg3 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg3
       reg2 = acc * momenta(5,2)
       acc = momenta(3,0)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg3 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,0)
       acc = acc + reg3
       reg2 = acc * momenta(5,2)
       acc = momenta(4,0)*momenta(5,3)
       acc = acc + momenta(4,3)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(3,0)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc * momenta(5,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 20.0_ki
       res = res + acc * coeffs%c3(3,8)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg2 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       acc = acc * momenta(5,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(3,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(3,1)
       acc = acc + reg3
       reg2 = acc * momenta(5,2)
       acc = momenta(3,1)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,1)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,1)
       acc = acc + reg3
       reg2 = acc * momenta(5,2)
       acc = momenta(4,1)*momenta(5,3)
       acc = acc + momenta(4,3)*momenta(5,1)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc * momenta(5,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 20.0_ki
       res = res + acc * coeffs%c3(4,8)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg2 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg2
       reg1 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,0)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,1)*momenta(4,1)*momenta(5,0)
       acc = acc + reg0
       acc = acc / 5.0_ki
       res = res + acc * coeffs%c2(1,4)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,0)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,0)*momenta(5,2)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,0)*momenta(5,2)
       acc = acc + reg0
       acc = acc / 5.0_ki
       res = res + acc * coeffs%c2(2,4)
       acc = momenta(2,0)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,0)
       reg2 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,0)*momenta(5,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,0)*momenta(4,3)*momenta(5,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,3)*momenta(3,3)*momenta(4,3)*momenta(5,3)
       acc = acc + reg0
       acc = acc / 5.0_ki
       res = res + acc * coeffs%c2(3,4)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,1)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,1)*momenta(5,2)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,1)*momenta(5,2)
       acc = acc + reg0
       acc = acc / 5.0_ki
       res = res + acc * coeffs%c2(4,4)
       acc = momenta(2,1)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,1)
       reg2 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,1)*momenta(5,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,1)*momenta(4,3)*momenta(5,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,3)*momenta(3,3)*momenta(4,3)*momenta(5,3)
       acc = acc + reg0
       acc = acc / 5.0_ki
       res = res + acc * coeffs%c2(5,4)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg2 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,2)*momenta(5,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,2)*momenta(4,3)*momenta(5,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,2)*momenta(2,3)*momenta(3,3)*momenta(4,3)*momenta(5,3)
       acc = acc + reg0
       acc = acc / 5.0_ki
       res = res + acc * coeffs%c2(6,4)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg3
       reg2 = acc * momenta(3,1)
       acc = momenta(3,0)*momenta(5,2)
       acc = acc + momenta(3,2)*momenta(5,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(2,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(3,0)*momenta(5,1)
       acc = acc + momenta(3,1)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)
       acc = acc + reg5
       acc = acc * momenta(5,2)
       acc = acc + reg3
       acc = acc * momenta(4,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(1,6)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg2 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg3 = acc * momenta(3,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(3,1)
       acc = acc + momenta(1,1)*momenta(3,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg3 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,3)
       acc = acc + reg4
       reg3 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg4 = acc * momenta(3,1)
       acc = momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg4
       reg3 = acc * momenta(1,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg5 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,1)*momenta(4,3)
       acc = acc + reg5
       acc = acc * momenta(1,1)
       acc = acc + reg3
       acc = acc * momenta(5,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(2,6)
       acc = momenta(2,2)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,2)
       reg2 = acc * momenta(5,0)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg3 = acc * momenta(3,0)
       acc = momenta(3,2)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,2)
       acc = acc * momenta(2,0)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg3 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(5,2)
       acc = acc + momenta(1,2)*momenta(5,0)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg3 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(3,0)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,3)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg4 = acc * momenta(3,2)
       acc = momenta(2,2)*momenta(3,3)*momenta(5,2)
       acc = acc + reg4
       reg3 = acc * momenta(1,3)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg5 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,2)*momenta(5,3)
       acc = acc + reg5
       acc = acc * momenta(1,2)
       acc = acc + reg3
       acc = acc * momenta(4,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(3,6)
       acc = momenta(2,2)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,2)
       reg2 = acc * momenta(5,1)
       acc = momenta(2,1)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,1)
       reg3 = acc * momenta(5,3)
       acc = momenta(2,1)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,1)
       acc = acc * momenta(5,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(5,2)
       acc = acc + momenta(1,2)*momenta(5,1)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg3 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       acc = acc * momenta(5,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(3,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(3,1)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,1)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,3)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg4 = acc * momenta(3,2)
       acc = momenta(2,2)*momenta(3,3)*momenta(5,2)
       acc = acc + reg4
       reg3 = acc * momenta(1,3)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg5 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,2)*momenta(5,3)
       acc = acc + reg5
       acc = acc * momenta(1,2)
       acc = acc + reg3
       acc = acc * momenta(4,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(4,6)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,0)*momenta(4,0)*momenta(5,0)
       res = res + acc * coeffs%c1(1,5)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,1)*momenta(4,1)*momenta(5,1)
       res = res + acc * coeffs%c1(2,5)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,2)*momenta(5,2)
       res = res + acc * coeffs%c1(3,5)
       acc = momenta(1,3)*momenta(2,3)*momenta(3,3)*momenta(4,3)*momenta(5,3)
       res = res + acc * coeffs%c1(4,5)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg2 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg2
       reg1 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg3
       acc = acc * momenta(3,1)
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg3 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg3
       reg2 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,0)*momenta(4,1)
       acc = acc + reg2
       acc = acc * momenta(5,0)
       acc = acc + reg0
       acc = acc / 10.0_ki
       res = res + acc * coeffs%c2(1,8)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg2
       reg1 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg3
       acc = acc * momenta(5,2)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg3 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,0)
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,0)*momenta(5,2)
       acc = acc + reg2
       acc = acc * momenta(4,0)
       acc = acc + reg0
       acc = acc / 10.0_ki
       res = res + acc * coeffs%c2(2,8)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg2 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,0)*momenta(4,3)
       acc = acc + reg2
       reg1 = acc * momenta(5,0)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg3 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(3,3)*momenta(4,0)
       acc = acc + reg3
       acc = acc * momenta(5,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(2,0)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,0)
       reg3 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,0)*momenta(5,3)
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,0)*momenta(4,3)*momenta(5,3)
       acc = acc + reg2
       acc = acc * momenta(1,0)
       acc = acc + reg0
       acc = acc / 10.0_ki
       res = res + acc * coeffs%c2(3,8)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg2
       reg1 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)
       acc = acc + reg3
       acc = acc * momenta(5,2)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,1)
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,1)*momenta(5,2)
       acc = acc + reg2
       acc = acc * momenta(4,1)
       acc = acc + reg0
       acc = acc / 10.0_ki
       res = res + acc * coeffs%c2(4,8)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg2 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,1)*momenta(4,3)
       acc = acc + reg2
       reg1 = acc * momenta(5,1)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg3 = acc * momenta(3,1)
       acc = momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg3
       acc = acc * momenta(5,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(2,1)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,1)
       reg3 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,1)*momenta(5,3)
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,1)*momenta(4,3)*momenta(5,3)
       acc = acc + reg2
       acc = acc * momenta(1,1)
       acc = acc + reg0
       acc = acc / 10.0_ki
       res = res + acc * coeffs%c2(5,8)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg2 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,2)*momenta(5,3)
       acc = acc + reg2
       reg1 = acc * momenta(4,2)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg3 = acc * momenta(3,2)
       acc = momenta(2,2)*momenta(3,3)*momenta(5,2)
       acc = acc + reg3
       acc = acc * momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg3 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,2)*momenta(5,3)
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,2)*momenta(4,3)*momenta(5,3)
       acc = acc + reg2
       acc = acc * momenta(1,2)
       acc = acc + reg0
       acc = acc / 10.0_ki
       res = res + acc * coeffs%c2(6,8)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg3 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(3,1)*momenta(5,2)
       acc = acc + momenta(3,2)*momenta(5,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(3,0)*momenta(5,1)
       acc = acc + momenta(3,1)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg4
       reg3 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg5
       acc = acc * momenta(5,2)
       acc = acc + reg3
       acc = acc * momenta(4,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(1,12)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg2 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg3 = acc * momenta(3,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(3,1)
       acc = acc + momenta(1,1)*momenta(3,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg3 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(4,0)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg4 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,3)*momenta(4,3)
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg5 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg5
       acc = acc * momenta(3,3)
       acc = acc + reg3
       acc = acc * momenta(5,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(2,12)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       reg2 = acc * momenta(4,2)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg3 = acc * momenta(3,2)
       acc = momenta(3,0)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,0)
       acc = acc * momenta(2,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg3 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg3 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,0)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg4 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg4
       reg3 = acc * momenta(4,0)
       acc = momenta(3,2)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg4 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,3)*momenta(4,3)
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg5 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg5
       acc = acc * momenta(3,3)
       acc = acc + reg3
       acc = acc * momenta(5,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(3,12)
       acc = momenta(2,1)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,1)
       reg2 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg3 = acc * momenta(3,2)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(2,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(4,3)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg3 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg4 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       acc = acc * momenta(3,3)
       acc = acc + reg4
       reg3 = acc * momenta(2,1)
       acc = momenta(2,2)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg4 = acc * momenta(3,1)
       acc = momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg4
       reg3 = acc * momenta(1,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg5 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,1)*momenta(4,3)
       acc = acc + reg5
       acc = acc * momenta(1,1)
       acc = acc + reg3
       acc = acc * momenta(5,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(4,12)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg2
       reg1 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,1)*momenta(4,0)
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,0)*momenta(4,0)*momenta(5,1)
       acc = acc + reg0
       acc = acc / 5.0_ki
       res = res + acc * coeffs%c2(1,13)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,2)
       acc = acc + reg2
       reg1 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)*momenta(4,0)
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,0)*momenta(4,0)*momenta(5,2)
       acc = acc + reg0
       acc = acc / 5.0_ki
       res = res + acc * coeffs%c2(2,13)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg2 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,3)*momenta(4,0)
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,0)*momenta(4,0)*momenta(5,3)
       acc = acc + reg0
       acc = acc / 5.0_ki
       res = res + acc * coeffs%c2(3,13)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg2 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,2)*momenta(4,1)
       acc = acc + reg2
       reg1 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,1)*momenta(4,1)*momenta(5,2)
       acc = acc + reg0
       acc = acc / 5.0_ki
       res = res + acc * coeffs%c2(4,13)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg2 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,3)*momenta(4,1)
       acc = acc + reg2
       reg1 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,1)*momenta(4,1)*momenta(5,3)
       acc = acc + reg0
       acc = acc / 5.0_ki
       res = res + acc * coeffs%c2(5,13)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg2 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,3)*momenta(5,2)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,3)*momenta(5,2)
       acc = acc + reg0
       acc = acc / 5.0_ki
       res = res + acc * coeffs%c2(6,13)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg3 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,2)
       acc = acc + reg3
       reg2 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg4 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(4,0)
       acc = momenta(3,1)*momenta(4,2)
       acc = acc + momenta(3,2)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg4 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg5
       acc = acc * momenta(3,1)
       acc = acc + reg3
       acc = acc * momenta(5,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(1,14)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg2 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,3)
       acc = acc + reg3
       reg2 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg3 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(4,0)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg4 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg5
       acc = acc * momenta(3,1)
       acc = acc + reg3
       acc = acc * momenta(5,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(2,14)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg3 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg3 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(3,2)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg3 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(3,0)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg4
       reg3 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg5
       acc = acc * momenta(5,2)
       acc = acc + reg3
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(3,14)
       acc = momenta(2,1)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,1)
       reg2 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       acc = acc * momenta(5,2)
       acc = acc + reg3
       reg2 = acc * momenta(3,1)
       acc = momenta(3,2)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(2,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg3 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       acc = acc * momenta(5,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(3,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(3,1)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,1)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)
       acc = acc + reg5
       acc = acc * momenta(5,2)
       acc = acc + reg3
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(4,14)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg3 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg5 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(2,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg5 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg6 = acc * momenta(3,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg6
       acc = acc + reg5
       acc = acc * momenta(1,2)
       acc = acc + reg3
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg3 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg5 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,3)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg5 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg6
       acc = acc + reg5
       acc = acc * momenta(5,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,1)
       acc = momenta(1,2)*momenta(3,3)
       acc = acc + momenta(1,3)*momenta(3,2)
       reg4 = acc * momenta(5,0)
       acc = momenta(1,2)*momenta(5,3)
       acc = acc + momenta(1,3)*momenta(5,2)
       reg5 = acc * momenta(3,0)
       acc = momenta(3,2)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,2)
       acc = acc * momenta(1,0)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(4,1)
       acc = momenta(3,0)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,0)
       reg5 = acc * momenta(4,2)
       acc = momenta(4,0)*momenta(5,3)
       acc = acc + momenta(4,3)*momenta(5,0)
       reg6 = acc * momenta(3,2)
       acc = momenta(3,0)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,0)
       acc = acc * momenta(5,2)
       acc = acc + reg6
       acc = acc + reg5
       acc = acc * momenta(1,1)
       acc = acc + reg3
       reg2 = acc * momenta(2,1)
       acc = momenta(2,2)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,2)
       reg5 = acc * momenta(5,0)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg6 = acc * momenta(3,0)
       acc = momenta(3,2)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,2)
       acc = acc * momenta(2,0)
       acc = acc + reg6
       acc = acc + reg5
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg2
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 60.0_ki
       res = res + acc * coeffs%c4(1,7)
    case(6)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg3 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg4 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg4 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg5 = acc * momenta(2,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc * momenta(6,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(4,0)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg6 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg6 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg7 = acc * momenta(6,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(4,1)
       acc = acc + reg4
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg4 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg6 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(5,3)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg6 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg7 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(5,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,1)
       acc = momenta(1,2)*momenta(5,3)
       acc = acc + momenta(1,3)*momenta(5,2)
       reg5 = acc * momenta(6,0)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg6 = acc * momenta(5,0)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(1,0)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(4,1)
       acc = momenta(5,0)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,0)
       reg6 = acc * momenta(4,2)
       acc = momenta(5,0)*momenta(6,2)
       acc = acc + momenta(5,2)*momenta(6,0)
       reg7 = acc * momenta(4,3)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(4,0)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(1,1)
       acc = acc + reg4
       reg3 = acc * momenta(2,1)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg6 = acc * momenta(6,0)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg7 = acc * momenta(5,0)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,0)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg3
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg4 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg5 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg5 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg6 = acc * momenta(2,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc * momenta(6,3)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(4,0)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg6 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg7 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg7 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg8 = acc * momenta(6,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg8
       acc = acc + reg7
       acc = acc * momenta(4,1)
       acc = acc + reg5
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg5 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg6 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,0)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg7 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(5,3)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg7 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg8 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg8
       acc = acc + reg7
       acc = acc * momenta(5,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(6,0)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg6 = acc * momenta(5,1)
       acc = momenta(1,2)*momenta(5,3)
       acc = acc + momenta(1,3)*momenta(5,2)
       reg7 = acc * momenta(6,1)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(1,1)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(2,0)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg7 = acc * momenta(5,1)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg8 = acc * momenta(6,1)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,1)
       acc = acc + reg8
       acc = acc + reg7
       acc = acc * momenta(1,0)
       acc = acc + reg5
       reg4 = acc * momenta(4,0)
       acc = momenta(5,1)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,1)
       reg7 = acc * momenta(4,2)
       acc = momenta(5,1)*momenta(6,2)
       acc = acc + momenta(5,2)*momenta(6,1)
       reg8 = acc * momenta(4,3)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(4,1)
       acc = acc + reg8
       acc = acc + reg7
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg4
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,1)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg5 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg6 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(5,3)
       acc = acc + reg6
       reg5 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(6,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg6 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg7 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg7 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,3)
       acc = acc + reg7
       reg6 = acc * momenta(4,0)
       acc = momenta(4,1)*momenta(5,3)
       acc = acc + momenta(4,3)*momenta(5,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg7 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg7
       reg6 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg8 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg8
       acc = acc * momenta(5,1)
       acc = acc + reg6
       acc = acc * momenta(6,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg7 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg7 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(6,2)
       acc = acc + reg7
       reg6 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg7 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg8 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg8
       acc = acc + reg7
       reg6 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg8 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg8
       reg7 = acc * momenta(4,0)
       acc = momenta(4,1)*momenta(6,2)
       acc = acc + momenta(4,2)*momenta(6,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg8 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg8
       reg7 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg9 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg9
       acc = acc * momenta(6,1)
       acc = acc + reg7
       acc = acc * momenta(5,2)
       acc = acc + reg5
       acc = acc + reg4
       acc = acc * momenta(3,3)
       acc = acc + reg2
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 180.0_ki
       res = acc * coeffs%c4(1,14)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg4
       reg3 = acc * momenta(3,1)
       acc = momenta(3,0)*momenta(6,2)
       acc = acc + momenta(3,2)*momenta(6,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(2,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       reg4 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(3,1)
       acc = acc + momenta(2,1)*momenta(3,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(4,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(6,2)
       acc = acc + reg5
       reg4 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg6 = acc * momenta(2,2)
       acc = momenta(1,2)*momenta(2,1)*momenta(6,2)
       acc = acc + reg6
       acc = acc * momenta(3,1)
       acc = acc + reg4
       acc = acc * momenta(4,0)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg5 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,2)
       acc = acc + reg5
       reg4 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg5 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(6,2)
       acc = acc + reg5
       reg4 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg4
       reg3 = acc * momenta(3,1)
       acc = momenta(3,0)*momenta(6,2)
       acc = acc + momenta(3,2)*momenta(6,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc * momenta(2,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)
       acc = acc + reg5
       reg4 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg6 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg6
       acc = acc * momenta(4,1)
       acc = acc + reg4
       reg3 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg6 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,2)*momenta(4,1)
       acc = acc + reg6
       reg5 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)*momenta(4,1)
       acc = acc + reg5
       acc = acc * momenta(6,2)
       acc = acc + reg3
       acc = acc * momenta(5,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 60.0_ki
       res = res + acc * coeffs%c3(1,9)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg3 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg4 = acc * momenta(3,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,1)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg4 = acc * momenta(6,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(6,3)
       acc = acc + reg4
       reg3 = acc * momenta(3,1)
       acc = momenta(3,0)*momenta(6,3)
       acc = acc + momenta(3,3)*momenta(6,0)
       acc = acc * momenta(4,1)
       acc = acc * momenta(2,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(1,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg4 = acc * momenta(6,0)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg5 = acc * momenta(6,1)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(6,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,3)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg5 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       reg4 = acc * momenta(4,3)
       acc = momenta(3,0)*momenta(4,1)
       acc = acc + momenta(3,1)*momenta(4,0)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(1,1)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg5 = acc * momenta(6,1)
       acc = momenta(2,1)*momenta(4,1)*momenta(6,3)
       acc = acc + reg5
       reg4 = acc * momenta(3,3)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg6 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,1)*momenta(6,3)
       acc = acc + reg6
       acc = acc * momenta(3,1)
       acc = acc + reg4
       acc = acc * momenta(1,0)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg4 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,3)
       acc = acc + reg5
       reg4 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg5 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(6,3)
       acc = acc + reg5
       reg4 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg4
       reg3 = acc * momenta(3,1)
       acc = momenta(3,0)*momenta(6,3)
       acc = acc + momenta(3,3)*momenta(6,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc * momenta(2,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg5 = acc * momenta(3,1)
       acc = momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg5
       reg4 = acc * momenta(1,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg6 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,1)*momenta(4,3)
       acc = acc + reg6
       acc = acc * momenta(1,1)
       acc = acc + reg4
       reg3 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg6 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,3)*momenta(4,1)
       acc = acc + reg6
       reg5 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg5
       acc = acc * momenta(6,3)
       acc = acc + reg3
       acc = acc * momenta(5,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 60.0_ki
       res = res + acc * coeffs%c3(2,9)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg3 = acc * momenta(6,0)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg4 = acc * momenta(5,0)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,0)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg4 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,0)
       acc = acc * momenta(3,3)
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(3,0)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,0)
       acc = acc * momenta(6,2)
       acc = acc * momenta(2,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(1,3)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg4 = acc * momenta(6,0)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg5 = acc * momenta(5,0)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,0)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg5 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,0)
       acc = acc * momenta(3,2)
       acc = acc + reg5
       reg4 = acc * momenta(5,3)
       acc = momenta(3,0)*momenta(5,2)
       acc = acc + momenta(3,2)*momenta(5,0)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(1,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg5 = acc * momenta(5,3)
       acc = momenta(2,3)*momenta(5,2)*momenta(6,3)
       acc = acc + reg5
       reg4 = acc * momenta(3,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg6 = acc * momenta(5,2)
       acc = momenta(2,2)*momenta(5,3)*momenta(6,2)
       acc = acc + reg6
       acc = acc * momenta(3,3)
       acc = acc + reg4
       acc = acc * momenta(1,0)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg4 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(6,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg5 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       acc = acc * momenta(5,3)
       acc = acc + reg5
       reg4 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       acc = acc * momenta(3,3)
       acc = acc + reg5
       reg4 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(3,0)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc * momenta(2,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg5 = acc * momenta(5,2)
       acc = momenta(2,2)*momenta(5,3)*momenta(6,2)
       acc = acc + reg5
       reg4 = acc * momenta(1,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg6 = acc * momenta(5,3)
       acc = momenta(2,3)*momenta(5,2)*momenta(6,3)
       acc = acc + reg6
       acc = acc * momenta(1,2)
       acc = acc + reg4
       reg3 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg6 = acc * momenta(2,2)
       acc = momenta(1,2)*momenta(2,3)*momenta(6,2)
       acc = acc + reg6
       reg5 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,3)*momenta(6,2)
       acc = acc + reg5
       acc = acc * momenta(3,3)
       acc = acc + reg3
       acc = acc * momenta(4,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 60.0_ki
       res = res + acc * coeffs%c3(3,9)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg3 = acc * momenta(5,1)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg4 = acc * momenta(6,1)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg4 = acc * momenta(3,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(3,1)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,1)
       acc = acc * momenta(6,2)
       acc = acc * momenta(2,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(1,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg4 = acc * momenta(5,1)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg5 = acc * momenta(6,1)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,3)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg5 = acc * momenta(3,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       reg4 = acc * momenta(5,3)
       acc = momenta(3,1)*momenta(5,2)
       acc = acc + momenta(3,2)*momenta(5,1)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(1,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg5 = acc * momenta(5,3)
       acc = momenta(2,3)*momenta(5,2)*momenta(6,3)
       acc = acc + reg5
       reg4 = acc * momenta(3,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg6 = acc * momenta(5,2)
       acc = momenta(2,2)*momenta(5,3)*momenta(6,2)
       acc = acc + reg6
       acc = acc * momenta(3,3)
       acc = acc + reg4
       acc = acc * momenta(1,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg4 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg5 = acc * momenta(2,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc * momenta(6,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg5 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       acc = acc * momenta(5,3)
       acc = acc + reg5
       reg4 = acc * momenta(2,2)
       acc = momenta(2,1)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,1)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg5 = acc * momenta(3,3)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       reg4 = acc * momenta(2,2)
       acc = momenta(2,1)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,1)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(3,1)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,1)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc * momenta(2,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg5 = acc * momenta(5,2)
       acc = momenta(2,2)*momenta(5,3)*momenta(6,2)
       acc = acc + reg5
       reg4 = acc * momenta(1,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg6 = acc * momenta(5,3)
       acc = momenta(2,3)*momenta(5,2)*momenta(6,3)
       acc = acc + reg6
       acc = acc * momenta(1,2)
       acc = acc + reg4
       reg3 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg6 = acc * momenta(2,2)
       acc = momenta(1,2)*momenta(2,3)*momenta(6,2)
       acc = acc + reg6
       reg5 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,3)*momenta(6,2)
       acc = acc + reg5
       acc = acc * momenta(3,3)
       acc = acc + reg3
       acc = acc * momenta(4,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 60.0_ki
       res = res + acc * coeffs%c3(4,9)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg3 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       acc = acc * momenta(5,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,0)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg4 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg5 = acc * momenta(2,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc * momenta(6,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,0)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg5 = acc * momenta(5,1)
       acc = momenta(1,2)*momenta(5,3)
       acc = acc + momenta(1,3)*momenta(5,2)
       reg6 = acc * momenta(6,1)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(1,1)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(2,0)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg6 = acc * momenta(5,1)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg7 = acc * momenta(6,1)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,1)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(1,0)
       acc = acc + reg4
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg4 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg5 = acc * momenta(2,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc * momenta(6,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(4,0)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg6 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg6 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg7 = acc * momenta(6,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(4,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(5,2)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg5 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,0)
       reg6 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(5,3)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(6,2)
       acc = momenta(4,1)*momenta(5,3)
       acc = acc + momenta(4,3)*momenta(5,1)
       reg6 = acc * momenta(6,0)
       acc = momenta(4,1)*momenta(6,3)
       acc = acc + momenta(4,3)*momenta(6,1)
       reg7 = acc * momenta(5,0)
       acc = momenta(5,1)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,1)
       acc = acc * momenta(4,0)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(1,2)
       acc = acc + reg4
       reg3 = acc * momenta(2,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg6 = acc * momenta(5,0)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg7 = acc * momenta(5,1)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(5,3)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg3
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg4 = acc * momenta(5,1)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg5 = acc * momenta(6,1)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(2,1)*momenta(5,2)
       acc = acc + momenta(2,2)*momenta(5,1)
       reg5 = acc * momenta(6,0)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg6 = acc * momenta(5,0)
       acc = momenta(5,1)*momenta(6,2)
       acc = acc + momenta(5,2)*momenta(6,1)
       acc = acc * momenta(2,0)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(3,3)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg6 = acc * momenta(6,0)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg7 = acc * momenta(5,0)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,0)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(3,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(4,2)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       reg5 = acc * momenta(6,0)
       acc = momenta(4,1)*momenta(6,3)
       acc = acc + momenta(4,3)*momenta(6,1)
       reg6 = acc * momenta(3,0)
       acc = momenta(3,1)*momenta(6,3)
       acc = acc + momenta(3,3)*momenta(6,1)
       acc = acc * momenta(4,0)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(2,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg6 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg7 = acc * momenta(3,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(6,2)
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       reg6 = acc * momenta(5,0)
       acc = momenta(3,0)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,0)
       reg7 = acc * momenta(5,1)
       acc = momenta(3,0)*momenta(4,1)
       acc = acc + momenta(3,1)*momenta(4,0)
       acc = acc * momenta(5,3)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(6,2)
       acc = acc * momenta(2,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(1,2)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(5,2)
       acc = momenta(1,1)*momenta(3,3)
       acc = acc + momenta(1,3)*momenta(3,1)
       reg6 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(3,3)
       acc = acc + momenta(1,3)*momenta(3,0)
       reg7 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(3,1)
       acc = acc + momenta(1,1)*momenta(3,0)
       acc = acc * momenta(5,3)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(2,2)
       acc = acc + reg4
       reg3 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg6 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg7 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(2,2)
       acc = acc * momenta(5,2)
       acc = acc + reg3
       reg2 = acc * momenta(6,2)
       acc = momenta(1,1)*momenta(3,3)
       acc = acc + momenta(1,3)*momenta(3,1)
       reg6 = acc * momenta(6,0)
       acc = momenta(1,1)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,1)
       reg7 = acc * momenta(3,0)
       acc = momenta(3,1)*momenta(6,3)
       acc = acc + momenta(3,3)*momenta(6,1)
       acc = acc * momenta(1,0)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(2,2)
       acc = acc * momenta(5,2)
       acc = acc * momenta(4,2)
       acc = acc + reg2
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 120.0_ki
       res = res + acc * coeffs%c4(1,6)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,1)*momenta(4,0)
       acc = acc + reg2
       reg1 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,0)*momenta(4,0)*momenta(5,1)
       acc = acc + reg1
       reg0 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,0)*momenta(4,0)*momenta(5,0)*momenta(6,1)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(1,15)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg3 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,2)
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)*momenta(4,0)
       acc = acc + reg2
       reg1 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,0)*momenta(4,0)*momenta(5,2)
       acc = acc + reg1
       reg0 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,0)*momenta(4,0)*momenta(5,0)*momenta(6,2)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(2,15)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg3 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,3)*momenta(4,0)
       acc = acc + reg2
       reg1 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,0)*momenta(4,0)*momenta(5,3)
       acc = acc + reg1
       reg0 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,0)*momenta(4,0)*momenta(5,0)*momenta(6,3)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(3,15)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg3 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,2)*momenta(4,1)
       acc = acc + reg3
       reg2 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)*momenta(4,1)
       acc = acc + reg2
       reg1 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,1)*momenta(4,1)*momenta(6,2)
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,1)*momenta(4,1)*momenta(5,2)*momenta(6,1)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(4,15)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg3 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,3)*momenta(4,1)
       acc = acc + reg3
       reg2 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg2
       reg1 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,1)*momenta(4,1)*momenta(6,3)
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,1)*momenta(4,1)*momenta(5,3)*momenta(6,1)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(5,15)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg3 = acc * momenta(2,2)
       acc = momenta(1,2)*momenta(2,3)*momenta(6,2)
       acc = acc + reg3
       reg2 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,3)*momenta(6,2)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,3)*momenta(5,2)*momenta(6,2)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,3)*momenta(5,2)*momenta(6,2)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(6,15)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg4 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,2)
       acc = acc + reg4
       reg3 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg5 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       reg4 = acc * momenta(4,0)
       acc = momenta(3,1)*momenta(4,2)
       acc = acc + momenta(3,2)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg5 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg5
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg6
       acc = acc * momenta(3,1)
       acc = acc + reg4
       acc = acc * momenta(6,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg5 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,2)
       acc = acc + reg5
       reg4 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg5 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(6,2)
       acc = acc + reg5
       reg4 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg4
       reg3 = acc * momenta(3,1)
       acc = momenta(3,0)*momenta(6,2)
       acc = acc + momenta(3,2)*momenta(6,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc * momenta(2,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg5 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg5
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg6
       acc = acc * momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg6 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg6
       reg5 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,0)*momenta(4,1)
       acc = acc + reg5
       acc = acc * momenta(6,0)
       acc = acc + reg3
       acc = acc * momenta(5,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 60.0_ki
       res = res + acc * coeffs%c3(1,16)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg3 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,3)
       acc = acc + reg4
       reg3 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(6,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg4 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       reg4 = acc * momenta(4,0)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg5 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg5
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg6
       acc = acc * momenta(3,1)
       acc = acc + reg4
       acc = acc * momenta(6,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg4 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,3)
       acc = acc + reg5
       reg4 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg5 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(6,3)
       acc = acc + reg5
       reg4 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg4
       reg3 = acc * momenta(3,1)
       acc = momenta(3,0)*momenta(6,3)
       acc = acc + momenta(3,3)*momenta(6,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc * momenta(2,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg5 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg5
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg6
       acc = acc * momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg6 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg6
       reg5 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,0)*momenta(4,1)
       acc = acc + reg5
       acc = acc * momenta(6,0)
       acc = acc + reg3
       acc = acc * momenta(5,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 60.0_ki
       res = res + acc * coeffs%c3(2,16)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg3 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(3,0)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(6,0)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg5 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg5
       reg4 = acc * momenta(3,0)
       acc = momenta(3,2)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg5
       reg4 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg6 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg6
       acc = acc * momenta(5,2)
       acc = acc + reg4
       acc = acc * momenta(6,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg4 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(6,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg5 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       acc = acc * momenta(5,3)
       acc = acc + reg5
       reg4 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       acc = acc * momenta(3,3)
       acc = acc + reg5
       reg4 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(3,0)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc * momenta(2,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,0)
       acc = acc + reg5
       reg4 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg6 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(5,2)
       acc = acc + reg6
       acc = acc * momenta(6,2)
       acc = acc + reg4
       reg3 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       reg6 = acc * momenta(2,2)
       acc = momenta(1,2)*momenta(2,0)*momenta(6,2)
       acc = acc + reg6
       reg5 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,0)*momenta(6,2)
       acc = acc + reg5
       acc = acc * momenta(3,0)
       acc = acc + reg3
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 60.0_ki
       res = res + acc * coeffs%c3(3,16)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg3 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg4 = acc * momenta(2,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc * momenta(6,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg4 = acc * momenta(3,3)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(2,2)
       acc = momenta(2,1)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,1)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,1)
       acc = momenta(2,1)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,1)
       reg4 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(6,1)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg5 = acc * momenta(2,1)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       acc = acc * momenta(1,1)
       acc = acc + reg5
       reg4 = acc * momenta(3,1)
       acc = momenta(3,2)*momenta(6,3)
       acc = acc + momenta(3,3)*momenta(6,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(2,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(5,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(6,2)
       acc = acc + reg5
       reg4 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg6 = acc * momenta(2,2)
       acc = momenta(1,2)*momenta(2,1)*momenta(6,2)
       acc = acc + reg6
       acc = acc * momenta(3,1)
       acc = acc + reg4
       acc = acc * momenta(5,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg4 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg5 = acc * momenta(2,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc * momenta(6,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg5 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       acc = acc * momenta(5,3)
       acc = acc + reg5
       reg4 = acc * momenta(2,2)
       acc = momenta(2,1)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,1)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg5 = acc * momenta(3,3)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       reg4 = acc * momenta(2,2)
       acc = momenta(2,1)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,1)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(3,1)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,1)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc * momenta(2,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,1)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg5 = acc * momenta(2,2)
       acc = momenta(1,2)*momenta(2,1)*momenta(6,2)
       acc = acc + reg5
       reg4 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg6 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(6,2)
       acc = acc + reg6
       acc = acc * momenta(5,2)
       acc = acc + reg4
       reg3 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg6 = acc * momenta(2,2)
       acc = momenta(1,2)*momenta(2,1)*momenta(6,2)
       acc = acc + reg6
       reg5 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,1)*momenta(6,2)
       acc = acc + reg5
       acc = acc * momenta(3,1)
       acc = acc + reg3
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 60.0_ki
       res = res + acc * coeffs%c3(4,16)
       acc = momenta(2,1)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,1)
       reg3 = acc * momenta(6,0)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg4 = acc * momenta(5,0)
       acc = momenta(5,1)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,1)
       acc = acc * momenta(2,0)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(5,2)
       acc = acc + momenta(2,2)*momenta(5,1)
       reg4 = acc * momenta(6,0)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg5 = acc * momenta(5,0)
       acc = momenta(5,1)*momenta(6,2)
       acc = acc + momenta(5,2)*momenta(6,1)
       acc = acc * momenta(2,0)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(4,3)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg5 = acc * momenta(6,0)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg6 = acc * momenta(5,0)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,0)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(4,1)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg6 = acc * momenta(5,1)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg7 = acc * momenta(6,1)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,1)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(4,0)
       acc = acc + reg4
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(5,2)
       acc = acc + momenta(1,2)*momenta(5,1)
       reg5 = acc * momenta(6,0)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg6 = acc * momenta(5,0)
       acc = momenta(5,1)*momenta(6,2)
       acc = acc + momenta(5,2)*momenta(6,1)
       acc = acc * momenta(1,0)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(2,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg6 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg7 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(6,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(6,1)
       acc = acc + momenta(1,1)*momenta(6,0)
       reg5 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       reg6 = acc * momenta(4,1)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       acc = acc * momenta(4,0)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(2,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg7 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(6,3)
       acc = acc + reg4
       reg3 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(5,1)
       acc = acc + momenta(1,1)*momenta(5,0)
       reg6 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg7 = acc * momenta(5,2)
       acc = momenta(4,0)*momenta(5,1)
       acc = acc + momenta(4,1)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg4 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       acc = acc * momenta(5,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(6,0)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg5 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg6 = acc * momenta(2,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc * momenta(6,3)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(5,0)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg6 = acc * momenta(5,1)
       acc = momenta(1,2)*momenta(5,3)
       acc = acc + momenta(1,3)*momenta(5,2)
       reg7 = acc * momenta(6,1)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(1,1)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(2,0)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg7 = acc * momenta(5,1)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg8 = acc * momenta(6,1)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,1)
       acc = acc + reg8
       acc = acc + reg7
       acc = acc * momenta(1,0)
       acc = acc + reg5
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg5 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg6 = acc * momenta(2,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc * momenta(6,3)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(4,0)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg6 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg7 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg7 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg8 = acc * momenta(6,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg8
       acc = acc + reg7
       acc = acc * momenta(4,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg6 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,0)
       reg7 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(5,3)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(6,2)
       acc = momenta(4,1)*momenta(5,3)
       acc = acc + momenta(4,3)*momenta(5,1)
       reg7 = acc * momenta(6,0)
       acc = momenta(4,1)*momenta(6,3)
       acc = acc + momenta(4,3)*momenta(6,1)
       reg8 = acc * momenta(5,0)
       acc = momenta(5,1)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,1)
       acc = acc * momenta(4,0)
       acc = acc + reg8
       acc = acc + reg7
       acc = acc * momenta(1,2)
       acc = acc + reg5
       reg4 = acc * momenta(2,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg7 = acc * momenta(5,0)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg8 = acc * momenta(5,1)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(5,3)
       acc = acc + reg8
       acc = acc + reg7
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg4
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg5 = acc * momenta(5,1)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg6 = acc * momenta(6,1)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,1)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg6 = acc * momenta(2,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc * momenta(6,3)
       acc = acc + reg6
       reg5 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(5,2)
       acc = acc + momenta(1,2)*momenta(5,1)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg6 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg7 = acc * momenta(2,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc * momenta(6,3)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg7 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       acc = acc * momenta(5,3)
       acc = acc + reg7
       reg6 = acc * momenta(2,2)
       acc = momenta(2,1)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,1)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(4,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg7 = acc * momenta(5,2)
       acc = momenta(2,2)*momenta(5,3)*momenta(6,2)
       acc = acc + reg7
       reg6 = acc * momenta(1,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg8 = acc * momenta(5,3)
       acc = momenta(2,3)*momenta(5,2)*momenta(6,3)
       acc = acc + reg8
       acc = acc * momenta(1,2)
       acc = acc + reg6
       acc = acc * momenta(4,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg6 = acc * momenta(6,0)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg7 = acc * momenta(5,0)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,0)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       reg7 = acc * momenta(2,3)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(6,3)
       acc = acc + reg7
       reg6 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(5,2)
       acc = acc + momenta(1,2)*momenta(5,0)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg7 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg8 = acc * momenta(6,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg8
       acc = acc + reg7
       reg6 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg8 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       acc = acc * momenta(5,3)
       acc = acc + reg8
       reg7 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(4,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg8 = acc * momenta(5,2)
       acc = momenta(2,2)*momenta(5,3)*momenta(6,2)
       acc = acc + reg8
       reg7 = acc * momenta(1,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg9 = acc * momenta(5,3)
       acc = momenta(2,3)*momenta(5,2)*momenta(6,3)
       acc = acc + reg9
       acc = acc * momenta(1,2)
       acc = acc + reg7
       acc = acc * momenta(4,0)
       acc = acc + reg5
       acc = acc + reg4
       acc = acc * momenta(3,1)
       acc = acc + reg2
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 180.0_ki
       res = res + acc * coeffs%c4(1,5)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg3 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       acc = acc * momenta(5,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,0)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg4 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg5 = acc * momenta(2,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc * momenta(6,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,0)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg5 = acc * momenta(5,1)
       acc = momenta(1,2)*momenta(5,3)
       acc = acc + momenta(1,3)*momenta(5,2)
       reg6 = acc * momenta(6,1)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(1,1)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(2,0)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg6 = acc * momenta(5,1)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg7 = acc * momenta(6,1)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,1)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(1,0)
       acc = acc + reg4
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg4 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg5 = acc * momenta(2,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc * momenta(6,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(4,0)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg6 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg6 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg7 = acc * momenta(6,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(4,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(5,2)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg5 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,0)
       reg6 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(5,3)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(6,2)
       acc = momenta(4,1)*momenta(5,3)
       acc = acc + momenta(4,3)*momenta(5,1)
       reg6 = acc * momenta(6,0)
       acc = momenta(4,1)*momenta(6,3)
       acc = acc + momenta(4,3)*momenta(6,1)
       reg7 = acc * momenta(5,0)
       acc = momenta(5,1)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,1)
       acc = acc * momenta(4,0)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(1,2)
       acc = acc + reg4
       reg3 = acc * momenta(2,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg6 = acc * momenta(5,0)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg7 = acc * momenta(5,1)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(5,3)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg3
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg4 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg5 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg5 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg6 = acc * momenta(2,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc * momenta(6,3)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(4,0)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg6 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg7 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg7 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg8 = acc * momenta(6,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg8
       acc = acc + reg7
       acc = acc * momenta(4,1)
       acc = acc + reg5
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg5 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg6 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,0)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg7 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(5,3)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg7 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg8 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg8
       acc = acc + reg7
       acc = acc * momenta(5,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(6,0)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg6 = acc * momenta(5,1)
       acc = momenta(1,2)*momenta(5,3)
       acc = acc + momenta(1,3)*momenta(5,2)
       reg7 = acc * momenta(6,1)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(1,1)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(2,0)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg7 = acc * momenta(5,1)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg8 = acc * momenta(6,1)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,1)
       acc = acc + reg8
       acc = acc + reg7
       acc = acc * momenta(1,0)
       acc = acc + reg5
       reg4 = acc * momenta(4,0)
       acc = momenta(5,1)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,1)
       reg7 = acc * momenta(4,2)
       acc = momenta(5,1)*momenta(6,2)
       acc = acc + momenta(5,2)*momenta(6,1)
       reg8 = acc * momenta(4,3)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(4,1)
       acc = acc + reg8
       acc = acc + reg7
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg4
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg6 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg6 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg6
       reg5 = acc * momenta(5,0)
       acc = momenta(5,1)*momenta(6,2)
       acc = acc + momenta(5,2)*momenta(6,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg6 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg7 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(5,2)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg7 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       acc = acc * momenta(5,1)
       acc = acc + reg7
       reg6 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(5,1)
       acc = acc + momenta(2,1)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg7 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,0)
       acc = acc + reg7
       reg6 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg8 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(5,2)
       acc = acc + reg8
       acc = acc * momenta(6,2)
       acc = acc + reg6
       acc = acc * momenta(4,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg6 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg7 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg7 = acc * momenta(6,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg7
       reg6 = acc * momenta(5,0)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg7 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg8 = acc * momenta(6,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg8
       acc = acc + reg7
       reg6 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg8 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       acc = acc * momenta(5,3)
       acc = acc + reg8
       reg7 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg8 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,0)
       acc = acc + reg8
       reg7 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg9 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(5,2)
       acc = acc + reg9
       acc = acc * momenta(6,2)
       acc = acc + reg7
       acc = acc * momenta(4,3)
       acc = acc + reg5
       acc = acc + reg4
       acc = acc * momenta(3,1)
       acc = acc + reg2
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 180.0_ki
       res = res + acc * coeffs%c4(1,13)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg3 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg4
       acc = acc * momenta(3,1)
       acc = acc + reg2
       reg1 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg4 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg4
       reg3 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,0)*momenta(4,1)
       acc = acc + reg3
       acc = acc * momenta(5,0)
       acc = acc + reg1
       reg0 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg4 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg5
       acc = acc * momenta(3,1)
       acc = acc + reg3
       reg2 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg5
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,1)*momenta(4,0)
       acc = acc + reg4
       acc = acc * momenta(5,1)
       acc = acc + reg2
       acc = acc * momenta(6,1)
       acc = acc + reg0
       acc = acc / 20.0_ki
       res = res + acc * coeffs%c2(1,12)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg3 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg3
       reg2 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg4
       acc = acc * momenta(5,2)
       acc = acc + reg2
       reg1 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg4
       reg3 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,0)*momenta(5,2)
       acc = acc + reg3
       acc = acc * momenta(6,2)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,0)
       acc = acc + reg4
       reg3 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(5,2)
       acc = acc + reg5
       acc = acc * momenta(6,2)
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       reg5 = acc * momenta(2,2)
       acc = momenta(1,2)*momenta(2,0)*momenta(6,2)
       acc = acc + reg5
       reg4 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,0)*momenta(6,2)
       acc = acc + reg4
       acc = acc * momenta(3,0)
       acc = acc + reg2
       acc = acc * momenta(4,0)
       acc = acc + reg0
       acc = acc / 20.0_ki
       res = res + acc * coeffs%c2(2,12)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg3 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,0)*momenta(4,3)
       acc = acc + reg3
       reg2 = acc * momenta(5,0)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg4 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(3,3)*momenta(4,0)
       acc = acc + reg4
       acc = acc * momenta(5,3)
       acc = acc + reg2
       reg1 = acc * momenta(1,3)
       acc = momenta(2,0)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,0)
       reg4 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,0)*momenta(5,3)
       acc = acc + reg4
       reg3 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,0)*momenta(4,3)*momenta(5,3)
       acc = acc + reg3
       acc = acc * momenta(1,0)
       acc = acc + reg1
       reg0 = acc * momenta(6,0)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg4 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,3)*momenta(4,3)
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg5 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg5
       acc = acc * momenta(3,3)
       acc = acc + reg3
       reg2 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg5 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg5
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,3)*momenta(4,0)
       acc = acc + reg4
       acc = acc * momenta(5,3)
       acc = acc + reg2
       acc = acc * momenta(6,3)
       acc = acc + reg0
       acc = acc / 20.0_ki
       res = res + acc * coeffs%c2(3,12)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(6,2)
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg4 = acc * momenta(2,2)
       acc = momenta(1,2)*momenta(2,1)*momenta(6,2)
       acc = acc + reg4
       acc = acc * momenta(3,1)
       acc = acc + reg2
       reg1 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)
       acc = acc + reg4
       reg3 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,1)*momenta(6,2)
       acc = acc + reg3
       acc = acc * momenta(5,2)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg4 = acc * momenta(2,2)
       acc = momenta(1,2)*momenta(2,1)*momenta(6,2)
       acc = acc + reg4
       reg3 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(6,2)
       acc = acc + reg5
       acc = acc * momenta(5,2)
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg5 = acc * momenta(2,2)
       acc = momenta(1,2)*momenta(2,1)*momenta(6,2)
       acc = acc + reg5
       reg4 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,1)*momenta(6,2)
       acc = acc + reg4
       acc = acc * momenta(3,1)
       acc = acc + reg2
       acc = acc * momenta(4,1)
       acc = acc + reg0
       acc = acc / 20.0_ki
       res = res + acc * coeffs%c2(4,12)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg3 = acc * momenta(6,1)
       acc = momenta(2,1)*momenta(4,1)*momenta(6,3)
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg4 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,1)*momenta(6,3)
       acc = acc + reg4
       acc = acc * momenta(3,1)
       acc = acc + reg2
       reg1 = acc * momenta(1,3)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg4 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,1)*momenta(6,3)
       acc = acc + reg4
       reg3 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,1)*momenta(4,3)*momenta(6,3)
       acc = acc + reg3
       acc = acc * momenta(1,1)
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg4 = acc * momenta(3,1)
       acc = momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg4
       reg3 = acc * momenta(1,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg5 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,1)*momenta(4,3)
       acc = acc + reg5
       acc = acc * momenta(1,1)
       acc = acc + reg3
       reg2 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg5 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,3)*momenta(4,1)
       acc = acc + reg5
       reg4 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg4
       acc = acc * momenta(6,3)
       acc = acc + reg2
       acc = acc * momenta(5,3)
       acc = acc + reg0
       acc = acc / 20.0_ki
       res = res + acc * coeffs%c2(5,12)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg3 = acc * momenta(5,3)
       acc = momenta(2,3)*momenta(5,2)*momenta(6,3)
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg4 = acc * momenta(5,2)
       acc = momenta(2,2)*momenta(5,3)*momenta(6,2)
       acc = acc + reg4
       acc = acc * momenta(3,3)
       acc = acc + reg2
       reg1 = acc * momenta(1,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg4 = acc * momenta(5,3)
       acc = momenta(2,3)*momenta(5,2)*momenta(6,3)
       acc = acc + reg4
       reg3 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,2)*momenta(5,3)*momenta(6,3)
       acc = acc + reg3
       acc = acc * momenta(1,2)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg4 = acc * momenta(5,2)
       acc = momenta(2,2)*momenta(5,3)*momenta(6,2)
       acc = acc + reg4
       reg3 = acc * momenta(1,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg5 = acc * momenta(5,3)
       acc = momenta(2,3)*momenta(5,2)*momenta(6,3)
       acc = acc + reg5
       acc = acc * momenta(1,2)
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg5 = acc * momenta(2,2)
       acc = momenta(1,2)*momenta(2,3)*momenta(6,2)
       acc = acc + reg5
       reg4 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,3)*momenta(6,2)
       acc = acc + reg4
       acc = acc * momenta(3,3)
       acc = acc + reg2
       acc = acc * momenta(4,3)
       acc = acc + reg0
       acc = acc / 20.0_ki
       res = res + acc * coeffs%c2(6,12)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg4 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,2)
       acc = acc + reg4
       reg3 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg4 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(6,2)
       acc = acc + reg4
       reg3 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg3
       reg2 = acc * momenta(3,1)
       acc = momenta(3,0)*momenta(6,2)
       acc = acc + momenta(3,2)*momenta(6,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc * momenta(2,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg4 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(5,2)
       acc = acc + reg4
       reg3 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(5,2)
       acc = acc + momenta(2,2)*momenta(5,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg3
       reg2 = acc * momenta(3,1)
       acc = momenta(3,0)*momenta(5,2)
       acc = acc + momenta(3,2)*momenta(5,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc * momenta(2,1)
       acc = acc + reg2
       reg1 = acc * momenta(6,1)
       acc = momenta(5,0)*momenta(6,2)
       acc = acc + momenta(5,2)*momenta(6,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc * momenta(2,1)
       acc = acc * momenta(3,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(1,10)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg3 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,3)
       acc = acc + reg4
       reg3 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg4 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(6,3)
       acc = acc + reg4
       reg3 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg3
       reg2 = acc * momenta(3,1)
       acc = momenta(3,0)*momenta(6,3)
       acc = acc + momenta(3,3)*momenta(6,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc * momenta(2,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg4 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(5,3)
       acc = acc + reg4
       reg3 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg3
       reg2 = acc * momenta(3,1)
       acc = momenta(3,0)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc * momenta(2,1)
       acc = acc + reg2
       reg1 = acc * momenta(6,1)
       acc = momenta(5,0)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc * momenta(2,1)
       acc = acc * momenta(3,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(2,10)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg3 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(6,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg4 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       acc = acc * momenta(5,3)
       acc = acc + reg4
       reg3 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       acc = acc * momenta(3,3)
       acc = acc + reg4
       reg3 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg3
       reg2 = acc * momenta(5,2)
       acc = momenta(3,0)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc * momenta(2,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg4 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       acc = acc * momenta(4,3)
       acc = acc + reg4
       reg3 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg3
       reg2 = acc * momenta(5,2)
       acc = momenta(4,0)*momenta(5,3)
       acc = acc + momenta(4,3)*momenta(5,0)
       acc = acc * momenta(6,2)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(3,0)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc * momenta(2,2)
       acc = acc * momenta(5,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(3,10)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg3 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg4 = acc * momenta(2,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc * momenta(6,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg4 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       acc = acc * momenta(5,3)
       acc = acc + reg4
       reg3 = acc * momenta(2,2)
       acc = momenta(2,1)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,1)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg4 = acc * momenta(3,3)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(2,2)
       acc = momenta(2,1)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,1)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg3
       reg2 = acc * momenta(5,2)
       acc = momenta(3,1)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,1)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc * momenta(2,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg4 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       acc = acc * momenta(4,1)
       acc = acc + reg4
       reg3 = acc * momenta(2,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg3
       reg2 = acc * momenta(5,2)
       acc = momenta(4,1)*momenta(5,3)
       acc = acc + momenta(4,3)*momenta(5,1)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc * momenta(2,2)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc * momenta(2,2)
       acc = acc * momenta(5,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(4,10)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg3 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg4 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg4 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg5 = acc * momenta(2,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc * momenta(6,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(4,0)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg6 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg6 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg7 = acc * momenta(6,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(4,1)
       acc = acc + reg4
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg4 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg6 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(5,3)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg6 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg7 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(5,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,1)
       acc = momenta(1,2)*momenta(5,3)
       acc = acc + momenta(1,3)*momenta(5,2)
       reg5 = acc * momenta(6,0)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg6 = acc * momenta(5,0)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(1,0)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(4,1)
       acc = momenta(5,0)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,0)
       reg6 = acc * momenta(4,2)
       acc = momenta(5,0)*momenta(6,2)
       acc = acc + momenta(5,2)*momenta(6,0)
       reg7 = acc * momenta(4,3)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(4,0)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(1,1)
       acc = acc + reg4
       reg3 = acc * momenta(2,1)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg6 = acc * momenta(6,0)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg7 = acc * momenta(5,0)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,0)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg3
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg4 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       acc = acc * momenta(5,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(6,0)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg5 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg6 = acc * momenta(2,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc * momenta(6,3)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(5,0)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg6 = acc * momenta(5,1)
       acc = momenta(1,2)*momenta(5,3)
       acc = acc + momenta(1,3)*momenta(5,2)
       reg7 = acc * momenta(6,1)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(1,1)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(2,0)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg7 = acc * momenta(5,1)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg8 = acc * momenta(6,1)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,1)
       acc = acc + reg8
       acc = acc + reg7
       acc = acc * momenta(1,0)
       acc = acc + reg5
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg5 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg6 = acc * momenta(2,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc * momenta(6,3)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(4,0)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg6 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg7 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg7 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg8 = acc * momenta(6,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg8
       acc = acc + reg7
       acc = acc * momenta(4,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg6 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,0)
       reg7 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(5,3)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(6,2)
       acc = momenta(4,1)*momenta(5,3)
       acc = acc + momenta(4,3)*momenta(5,1)
       reg7 = acc * momenta(6,0)
       acc = momenta(4,1)*momenta(6,3)
       acc = acc + momenta(4,3)*momenta(6,1)
       reg8 = acc * momenta(5,0)
       acc = momenta(5,1)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,1)
       acc = acc * momenta(4,0)
       acc = acc + reg8
       acc = acc + reg7
       acc = acc * momenta(1,2)
       acc = acc + reg5
       reg4 = acc * momenta(2,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg7 = acc * momenta(5,0)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg8 = acc * momenta(5,1)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(5,3)
       acc = acc + reg8
       acc = acc + reg7
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg4
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,1)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg5 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg6 = acc * momenta(2,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc * momenta(6,3)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg6 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       acc = acc * momenta(5,2)
       acc = acc + reg6
       reg5 = acc * momenta(6,1)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(2,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg6 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg7 = acc * momenta(2,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc * momenta(6,3)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg7 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       acc = acc * momenta(5,3)
       acc = acc + reg7
       reg6 = acc * momenta(2,2)
       acc = momenta(2,1)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,1)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(4,1)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg7 = acc * momenta(2,2)
       acc = momenta(1,2)*momenta(2,1)*momenta(6,2)
       acc = acc + reg7
       reg6 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg8 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(6,2)
       acc = acc + reg8
       acc = acc * momenta(5,2)
       acc = acc + reg6
       acc = acc * momenta(4,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg6 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg7 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg7 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg7
       reg6 = acc * momenta(6,1)
       acc = momenta(5,0)*momenta(6,2)
       acc = acc + momenta(5,2)*momenta(6,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(2,1)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg7 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg8 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg8
       acc = acc + reg7
       reg6 = acc * momenta(5,2)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg8 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       acc = acc * momenta(5,1)
       acc = acc + reg8
       reg7 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(5,1)
       acc = acc + momenta(2,1)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(4,1)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg8 = acc * momenta(2,2)
       acc = momenta(1,2)*momenta(2,1)*momenta(6,2)
       acc = acc + reg8
       reg7 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg9 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(6,2)
       acc = acc + reg9
       acc = acc * momenta(5,2)
       acc = acc + reg7
       acc = acc * momenta(4,0)
       acc = acc + reg5
       acc = acc + reg4
       acc = acc * momenta(3,3)
       acc = acc + reg2
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 180.0_ki
       res = res + acc * coeffs%c4(1,9)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg3 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg4 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg4 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg5 = acc * momenta(2,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc * momenta(6,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(4,0)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg6 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg6 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg7 = acc * momenta(6,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(4,1)
       acc = acc + reg4
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg4 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,0)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg6 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(5,3)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg6 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg7 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(5,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,0)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg5 = acc * momenta(5,1)
       acc = momenta(1,2)*momenta(5,3)
       acc = acc + momenta(1,3)*momenta(5,2)
       reg6 = acc * momenta(6,1)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(1,1)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(2,0)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg6 = acc * momenta(5,1)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg7 = acc * momenta(6,1)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,1)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(1,0)
       acc = acc + reg4
       reg3 = acc * momenta(4,0)
       acc = momenta(5,1)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,1)
       reg6 = acc * momenta(4,2)
       acc = momenta(5,1)*momenta(6,2)
       acc = acc + momenta(5,2)*momenta(6,1)
       reg7 = acc * momenta(4,3)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(4,1)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg3
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = momenta(2,1)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,1)
       reg4 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,0)
       acc = momenta(1,2)*momenta(3,3)
       acc = acc + momenta(1,3)*momenta(3,2)
       reg5 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       reg6 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(3,3)
       acc = acc + momenta(1,3)*momenta(3,1)
       acc = acc * momenta(5,2)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(2,0)
       acc = momenta(2,2)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,2)
       reg6 = acc * momenta(5,1)
       acc = momenta(2,1)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,1)
       reg7 = acc * momenta(5,3)
       acc = momenta(2,1)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,1)
       acc = acc * momenta(5,2)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(1,0)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,0)
       acc = momenta(3,1)*momenta(6,2)
       acc = acc + momenta(3,2)*momenta(6,1)
       reg5 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg6 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(6,3)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(2,0)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg6 = acc * momenta(3,2)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg7 = acc * momenta(3,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       acc = acc * momenta(3,1)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(1,0)
       acc = acc + reg4
       reg3 = acc * momenta(5,0)
       acc = momenta(3,2)*momenta(6,3)
       acc = acc + momenta(3,3)*momenta(6,2)
       reg6 = acc * momenta(5,1)
       acc = momenta(3,2)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,2)
       reg7 = acc * momenta(6,1)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(3,1)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,0)
       acc = momenta(2,1)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,1)
       reg5 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg6 = acc * momenta(3,2)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(2,2)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(6,0)
       acc = momenta(3,1)*momenta(6,3)
       acc = acc + momenta(3,3)*momenta(6,1)
       reg6 = acc * momenta(4,2)
       acc = momenta(4,1)*momenta(6,3)
       acc = acc + momenta(4,3)*momenta(6,1)
       reg7 = acc * momenta(3,2)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(6,2)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(2,0)
       acc = acc + reg4
       reg3 = acc * momenta(5,0)
       acc = momenta(3,1)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,1)
       reg6 = acc * momenta(4,2)
       acc = momenta(4,1)*momenta(5,3)
       acc = acc + momenta(4,3)*momenta(5,1)
       reg7 = acc * momenta(3,2)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(5,2)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(2,0)
       acc = acc * momenta(6,0)
       acc = acc + reg3
       reg2 = acc * momenta(1,0)
       acc = momenta(1,1)*momenta(3,3)
       acc = acc + momenta(1,3)*momenta(3,1)
       reg6 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg7 = acc * momenta(3,2)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(1,2)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(2,0)
       acc = acc * momenta(5,0)
       acc = acc * momenta(6,0)
       acc = acc + reg2
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 120.0_ki
       res = res + acc * coeffs%c4(1,15)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg3 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg3
       reg2 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,0)*momenta(4,1)
       acc = acc + reg2
       reg1 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,1)*momenta(4,1)*momenta(6,0)
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,1)*momenta(4,1)*momenta(5,0)*momenta(6,1)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(1,5)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       reg3 = acc * momenta(2,2)
       acc = momenta(1,2)*momenta(2,0)*momenta(6,2)
       acc = acc + reg3
       reg2 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,0)*momenta(6,2)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,0)*momenta(5,2)*momenta(6,2)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,0)*momenta(5,2)*momenta(6,2)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(2,5)
       acc = momenta(2,0)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,0)
       reg3 = acc * momenta(5,3)
       acc = momenta(2,3)*momenta(5,0)*momenta(6,3)
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,0)*momenta(5,3)*momenta(6,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,0)*momenta(4,3)*momenta(5,3)*momenta(6,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,3)*momenta(3,3)*momenta(4,3)*momenta(5,3)*momenta(6,3)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(3,5)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg3 = acc * momenta(2,2)
       acc = momenta(1,2)*momenta(2,1)*momenta(6,2)
       acc = acc + reg3
       reg2 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,1)*momenta(6,2)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,1)*momenta(5,2)*momenta(6,2)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,1)*momenta(5,2)*momenta(6,2)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(4,5)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg3 = acc * momenta(5,3)
       acc = momenta(2,3)*momenta(5,1)*momenta(6,3)
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,1)*momenta(5,3)*momenta(6,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,1)*momenta(4,3)*momenta(5,3)*momenta(6,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,3)*momenta(3,3)*momenta(4,3)*momenta(5,3)*momenta(6,3)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(5,5)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg3 = acc * momenta(5,3)
       acc = momenta(2,3)*momenta(5,2)*momenta(6,3)
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,2)*momenta(5,3)*momenta(6,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,2)*momenta(4,3)*momenta(5,3)*momenta(6,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,2)*momenta(2,3)*momenta(3,3)*momenta(4,3)*momenta(5,3)*momenta(6,3)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(6,5)
       acc = momenta(2,1)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,1)
       reg3 = acc * momenta(6,0)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg4 = acc * momenta(5,0)
       acc = momenta(5,1)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,1)
       acc = acc * momenta(2,0)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(5,2)
       acc = acc + momenta(2,2)*momenta(5,1)
       reg4 = acc * momenta(6,0)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg5 = acc * momenta(5,0)
       acc = momenta(5,1)*momenta(6,2)
       acc = acc + momenta(5,2)*momenta(6,1)
       acc = acc * momenta(2,0)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(4,3)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg5 = acc * momenta(6,0)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg6 = acc * momenta(5,0)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,0)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(4,1)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg6 = acc * momenta(5,1)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg7 = acc * momenta(6,1)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,1)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(4,0)
       acc = acc + reg4
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(5,2)
       acc = acc + momenta(1,2)*momenta(5,1)
       reg5 = acc * momenta(6,0)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg6 = acc * momenta(5,0)
       acc = momenta(5,1)*momenta(6,2)
       acc = acc + momenta(5,2)*momenta(6,1)
       acc = acc * momenta(1,0)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(2,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg6 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg7 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(6,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(6,1)
       acc = acc + momenta(1,1)*momenta(6,0)
       reg5 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       reg6 = acc * momenta(4,1)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       acc = acc * momenta(4,0)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(2,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg7 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(6,3)
       acc = acc + reg4
       reg3 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(5,1)
       acc = acc + momenta(1,1)*momenta(5,0)
       reg6 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg7 = acc * momenta(5,2)
       acc = momenta(4,0)*momenta(5,1)
       acc = acc + momenta(4,1)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg4 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg5 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg5 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg6 = acc * momenta(2,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc * momenta(6,3)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(4,0)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg6 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg7 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg7 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg8 = acc * momenta(6,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg8
       acc = acc + reg7
       acc = acc * momenta(4,1)
       acc = acc + reg5
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg5 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg6 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,0)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg7 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(5,3)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg7 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg8 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg8
       acc = acc + reg7
       acc = acc * momenta(5,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(6,0)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg6 = acc * momenta(5,1)
       acc = momenta(1,2)*momenta(5,3)
       acc = acc + momenta(1,3)*momenta(5,2)
       reg7 = acc * momenta(6,1)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(1,1)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(2,0)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg7 = acc * momenta(5,1)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg8 = acc * momenta(6,1)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,1)
       acc = acc + reg8
       acc = acc + reg7
       acc = acc * momenta(1,0)
       acc = acc + reg5
       reg4 = acc * momenta(4,0)
       acc = momenta(5,1)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,1)
       reg7 = acc * momenta(4,2)
       acc = momenta(5,1)*momenta(6,2)
       acc = acc + momenta(5,2)*momenta(6,1)
       reg8 = acc * momenta(4,3)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(4,1)
       acc = acc + reg8
       acc = acc + reg7
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg4
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg5 = acc * momenta(5,0)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg6 = acc * momenta(5,1)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(5,3)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(5,1)
       acc = acc + momenta(1,1)*momenta(5,0)
       acc = acc * momenta(2,3)
       acc = acc + reg6
       reg5 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(6,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg6 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg7 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg7 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,3)
       acc = acc + reg7
       reg6 = acc * momenta(4,0)
       acc = momenta(4,1)*momenta(5,3)
       acc = acc + momenta(4,3)*momenta(5,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(6,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg7 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,3)*momenta(4,3)
       acc = acc + reg7
       reg6 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg8 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg8
       acc = acc * momenta(5,3)
       acc = acc + reg6
       acc = acc * momenta(6,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(2,0)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,0)
       reg6 = acc * momenta(4,2)
       acc = momenta(2,0)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,0)
       reg7 = acc * momenta(4,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       acc = acc * momenta(4,0)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       reg7 = acc * momenta(2,3)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(6,3)
       acc = acc + reg7
       reg6 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,0)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg7 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg8 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,0)
       acc = acc + reg8
       acc = acc + reg7
       reg6 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg8 = acc * momenta(6,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg8
       reg7 = acc * momenta(4,0)
       acc = momenta(4,2)*momenta(6,3)
       acc = acc + momenta(4,3)*momenta(6,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(5,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg8 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,3)*momenta(4,3)
       acc = acc + reg8
       reg7 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg9 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg9
       acc = acc * momenta(6,3)
       acc = acc + reg7
       acc = acc * momenta(5,2)
       acc = acc + reg5
       acc = acc + reg4
       acc = acc * momenta(3,1)
       acc = acc + reg2
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 180.0_ki
       res = res + acc * coeffs%c4(1,12)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(3,1)*momenta(6,2)
       acc = acc + momenta(3,2)*momenta(6,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       reg4 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(3,1)
       acc = acc + momenta(2,1)*momenta(3,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg5
       reg4 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg6 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg6
       acc = acc * momenta(6,2)
       acc = acc + reg4
       acc = acc * momenta(4,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg5 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       reg4 = acc * momenta(4,0)
       acc = momenta(3,1)*momenta(4,2)
       acc = acc + momenta(3,2)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg5
       reg4 = acc * momenta(4,0)
       acc = momenta(4,1)*momenta(6,2)
       acc = acc + momenta(4,2)*momenta(6,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(3,1)*momenta(6,2)
       acc = acc + momenta(3,2)*momenta(6,1)
       acc = acc * momenta(2,0)
       acc = acc * momenta(4,0)
       acc = acc * momenta(1,0)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg5
       reg4 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg6 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg6
       acc = acc * momenta(4,0)
       acc = acc + reg4
       reg3 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg6 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,2)
       acc = acc + reg6
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)*momenta(4,0)
       acc = acc + reg5
       acc = acc * momenta(6,2)
       acc = acc + reg3
       acc = acc * momenta(5,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 60.0_ki
       res = res + acc * coeffs%c3(1,18)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg3 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg4 = acc * momenta(3,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       reg3 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(3,1)
       acc = acc + momenta(1,1)*momenta(3,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg4 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       reg4 = acc * momenta(4,0)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(5,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg5 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,3)*momenta(4,3)
       acc = acc + reg5
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg6 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg6
       acc = acc * momenta(3,3)
       acc = acc + reg4
       acc = acc * momenta(5,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(6,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg4 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       reg4 = acc * momenta(4,0)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg5 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,3)
       acc = acc + reg5
       reg4 = acc * momenta(4,0)
       acc = momenta(4,1)*momenta(5,3)
       acc = acc + momenta(4,3)*momenta(5,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(3,1)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc * momenta(4,0)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(6,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg5 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,3)*momenta(4,3)
       acc = acc + reg5
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg6 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg6
       acc = acc * momenta(3,3)
       acc = acc + reg4
       reg3 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg6 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg6
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,3)*momenta(4,0)
       acc = acc + reg5
       acc = acc * momenta(5,3)
       acc = acc + reg3
       acc = acc * momenta(6,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 60.0_ki
       res = res + acc * coeffs%c3(2,18)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       reg3 = acc * momenta(4,2)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg4 = acc * momenta(3,2)
       acc = momenta(3,0)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,0)
       acc = acc * momenta(2,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       reg3 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg4 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,0)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg5 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg5
       reg4 = acc * momenta(4,0)
       acc = momenta(3,2)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg5 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,3)*momenta(4,3)
       acc = acc + reg5
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg6 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg6
       acc = acc * momenta(3,3)
       acc = acc + reg4
       acc = acc * momenta(6,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg4 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,0)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg5 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg5
       reg4 = acc * momenta(4,0)
       acc = momenta(3,2)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(6,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg5
       reg4 = acc * momenta(4,0)
       acc = momenta(4,2)*momenta(6,3)
       acc = acc + momenta(4,3)*momenta(6,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(3,2)*momenta(6,3)
       acc = acc + momenta(3,3)*momenta(6,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc * momenta(4,0)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg5 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,3)*momenta(4,3)
       acc = acc + reg5
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg6 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg6
       acc = acc * momenta(3,3)
       acc = acc + reg4
       reg3 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg6 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg6
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,3)*momenta(4,0)
       acc = acc + reg5
       acc = acc * momenta(6,3)
       acc = acc + reg3
       acc = acc * momenta(5,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 60.0_ki
       res = res + acc * coeffs%c3(3,18)
       acc = momenta(2,1)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,1)
       reg3 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg4 = acc * momenta(3,2)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(2,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,1)
       acc = momenta(4,2)*momenta(6,3)
       acc = acc + momenta(4,3)*momenta(6,2)
       reg4 = acc * momenta(2,1)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       acc = acc * momenta(4,1)
       acc = acc + reg4
       reg3 = acc * momenta(3,1)
       acc = momenta(3,2)*momenta(6,3)
       acc = acc + momenta(3,3)*momenta(6,2)
       acc = acc * momenta(4,1)
       acc = acc * momenta(2,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(1,3)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg4 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg5 = acc * momenta(4,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       acc = acc * momenta(4,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,3)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg5 = acc * momenta(3,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       reg4 = acc * momenta(4,3)
       acc = momenta(3,1)*momenta(4,2)
       acc = acc + momenta(3,2)*momenta(4,1)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(1,1)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg5 = acc * momenta(6,1)
       acc = momenta(2,1)*momenta(4,1)*momenta(6,3)
       acc = acc + reg5
       reg4 = acc * momenta(3,3)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg6 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,1)*momenta(6,3)
       acc = acc + reg6
       acc = acc * momenta(3,1)
       acc = acc + reg4
       acc = acc * momenta(1,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg4 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg5 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       acc = acc * momenta(3,3)
       acc = acc + reg5
       reg4 = acc * momenta(2,1)
       acc = momenta(2,2)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,1)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg5 = acc * momenta(4,1)
       acc = momenta(4,2)*momenta(6,3)
       acc = acc + momenta(4,3)*momenta(6,2)
       acc = acc * momenta(1,1)
       acc = acc + reg5
       reg4 = acc * momenta(2,1)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg4
       reg3 = acc * momenta(3,1)
       acc = momenta(3,2)*momenta(6,3)
       acc = acc + momenta(3,3)*momenta(6,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc * momenta(2,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg5 = acc * momenta(3,1)
       acc = momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg5
       reg4 = acc * momenta(1,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg6 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,1)*momenta(4,3)
       acc = acc + reg6
       acc = acc * momenta(1,1)
       acc = acc + reg4
       reg3 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg6 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,3)*momenta(4,1)
       acc = acc + reg6
       reg5 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg5
       acc = acc * momenta(6,3)
       acc = acc + reg3
       acc = acc * momenta(5,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 60.0_ki
       res = res + acc * coeffs%c3(4,18)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(4,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg4 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg6 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(2,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg6 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg7 = acc * momenta(3,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(1,2)
       acc = acc + reg4
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg4 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg6 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(5,3)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg6 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg7 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(5,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,1)
       acc = momenta(1,2)*momenta(3,3)
       acc = acc + momenta(1,3)*momenta(3,2)
       reg5 = acc * momenta(5,0)
       acc = momenta(1,2)*momenta(5,3)
       acc = acc + momenta(1,3)*momenta(5,2)
       reg6 = acc * momenta(3,0)
       acc = momenta(3,2)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,2)
       acc = acc * momenta(1,0)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(4,1)
       acc = momenta(3,0)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,0)
       reg6 = acc * momenta(4,2)
       acc = momenta(4,0)*momenta(5,3)
       acc = acc + momenta(4,3)*momenta(5,0)
       reg7 = acc * momenta(3,2)
       acc = momenta(3,0)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,0)
       acc = acc * momenta(5,2)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(1,1)
       acc = acc + reg4
       reg3 = acc * momenta(2,1)
       acc = momenta(2,2)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,2)
       reg6 = acc * momenta(5,0)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg7 = acc * momenta(3,0)
       acc = momenta(3,2)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,2)
       acc = acc * momenta(2,0)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg3
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(6,3)
       acc = momenta(2,1)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,1)
       reg4 = acc * momenta(5,0)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       reg5 = acc * momenta(5,1)
       acc = momenta(2,0)*momenta(3,1)
       acc = acc + momenta(2,1)*momenta(3,0)
       acc = acc * momenta(5,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg5 = acc * momenta(5,0)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg6 = acc * momenta(5,1)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(5,3)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(3,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg6 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg7 = acc * momenta(3,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(5,2)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       reg7 = acc * momenta(5,0)
       acc = momenta(3,0)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,0)
       reg8 = acc * momenta(5,1)
       acc = momenta(3,0)*momenta(4,1)
       acc = acc + momenta(3,1)*momenta(4,0)
       acc = acc * momenta(5,3)
       acc = acc + reg8
       acc = acc + reg7
       acc = acc * momenta(2,2)
       acc = acc + reg5
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg6 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg7 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(5,1)
       acc = acc + momenta(1,1)*momenta(5,0)
       reg7 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg8 = acc * momenta(5,2)
       acc = momenta(4,0)*momenta(5,1)
       acc = acc + momenta(4,1)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc + reg8
       acc = acc + reg7
       acc = acc * momenta(2,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg6 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg7 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       reg7 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,0)
       reg8 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(3,1)
       acc = acc + momenta(1,1)*momenta(3,0)
       acc = acc * momenta(5,2)
       acc = acc + reg8
       acc = acc + reg7
       acc = acc * momenta(2,3)
       acc = acc + reg5
       reg4 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(3,1)
       acc = acc + momenta(1,1)*momenta(3,0)
       reg7 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg8 = acc * momenta(3,2)
       acc = momenta(3,0)*momenta(4,1)
       acc = acc + momenta(3,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg8
       acc = acc + reg7
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg4
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(6,1)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg5 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg6 = acc * momenta(3,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg6
       reg5 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(3,1)
       acc = acc + momenta(1,1)*momenta(3,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,1)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg6 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg7 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg7 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,3)
       acc = acc + reg7
       reg6 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(5,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg7 = acc * momenta(3,1)
       acc = momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg7
       reg6 = acc * momenta(1,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg8 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,1)*momenta(4,3)
       acc = acc + reg8
       acc = acc * momenta(1,1)
       acc = acc + reg6
       acc = acc * momenta(5,0)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,2)
       acc = momenta(2,1)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,1)
       reg6 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg7 = acc * momenta(3,2)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(2,2)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg7 = acc * momenta(4,3)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       acc = acc * momenta(2,3)
       acc = acc + reg7
       reg6 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg7 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg8 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,1)
       acc = acc + reg8
       acc = acc + reg7
       reg6 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg8 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       acc = acc * momenta(3,3)
       acc = acc + reg8
       reg7 = acc * momenta(2,1)
       acc = momenta(2,2)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(5,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg8 = acc * momenta(3,1)
       acc = momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg8
       reg7 = acc * momenta(1,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg9 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,1)*momenta(4,3)
       acc = acc + reg9
       acc = acc * momenta(1,1)
       acc = acc + reg7
       acc = acc * momenta(5,2)
       acc = acc + reg5
       acc = acc + reg4
       acc = acc * momenta(6,0)
       acc = acc + reg2
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 180.0_ki
       res = res + acc * coeffs%c4(1,8)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg4 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,2)
       acc = acc + reg4
       reg3 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg5 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       reg4 = acc * momenta(4,0)
       acc = momenta(3,1)*momenta(4,2)
       acc = acc + momenta(3,2)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg5 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg5
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg6
       acc = acc * momenta(3,1)
       acc = acc + reg4
       acc = acc * momenta(6,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg5 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       reg4 = acc * momenta(4,0)
       acc = momenta(3,1)*momenta(4,2)
       acc = acc + momenta(3,2)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg5
       reg4 = acc * momenta(4,0)
       acc = momenta(4,1)*momenta(6,2)
       acc = acc + momenta(4,2)*momenta(6,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(3,1)*momenta(6,2)
       acc = acc + momenta(3,2)*momenta(6,1)
       acc = acc * momenta(2,0)
       acc = acc * momenta(4,0)
       acc = acc * momenta(1,0)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg5 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg5
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg6
       acc = acc * momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg6
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,1)*momenta(4,0)
       acc = acc + reg5
       acc = acc * momenta(6,1)
       acc = acc + reg3
       acc = acc * momenta(5,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 60.0_ki
       res = res + acc * coeffs%c3(1,19)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg3 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,3)
       acc = acc + reg4
       reg3 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg4 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       reg4 = acc * momenta(4,0)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg5 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg5
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg6
       acc = acc * momenta(3,1)
       acc = acc + reg4
       acc = acc * momenta(5,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(6,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg4 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       reg4 = acc * momenta(4,0)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg5 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,3)
       acc = acc + reg5
       reg4 = acc * momenta(4,0)
       acc = momenta(4,1)*momenta(5,3)
       acc = acc + momenta(4,3)*momenta(5,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(3,1)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc * momenta(4,0)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg5 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg5
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg6
       acc = acc * momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg6
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,1)*momenta(4,0)
       acc = acc + reg5
       acc = acc * momenta(5,1)
       acc = acc + reg3
       acc = acc * momenta(6,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 60.0_ki
       res = res + acc * coeffs%c3(2,19)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg4 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(6,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(3,2)*momenta(6,3)
       acc = acc + momenta(3,3)*momenta(6,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg4 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(6,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       acc = acc * momenta(3,3)
       acc = acc + reg5
       reg4 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg5
       reg4 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg6 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg6
       acc = acc * momenta(6,2)
       acc = acc + reg4
       acc = acc * momenta(4,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg4 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,0)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg5 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg5
       reg4 = acc * momenta(4,0)
       acc = momenta(3,2)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(6,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg5
       reg4 = acc * momenta(4,0)
       acc = momenta(4,2)*momenta(6,3)
       acc = acc + momenta(4,3)*momenta(6,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(3,2)*momenta(6,3)
       acc = acc + momenta(3,3)*momenta(6,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc * momenta(4,0)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg5
       reg4 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg6 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg6
       acc = acc * momenta(4,0)
       acc = acc + reg4
       reg3 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg6 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,2)
       acc = acc + reg6
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)*momenta(4,0)
       acc = acc + reg5
       acc = acc * momenta(6,2)
       acc = acc + reg3
       acc = acc * momenta(5,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 60.0_ki
       res = res + acc * coeffs%c3(3,19)
       acc = momenta(2,1)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,1)
       reg3 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,1)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg4 = acc * momenta(2,1)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       acc = acc * momenta(1,1)
       acc = acc + reg4
       reg3 = acc * momenta(3,1)
       acc = momenta(3,2)*momenta(6,3)
       acc = acc + momenta(3,3)*momenta(6,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(2,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg4 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg5 = acc * momenta(2,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc * momenta(6,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg5 = acc * momenta(3,3)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       reg4 = acc * momenta(2,2)
       acc = momenta(2,1)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,1)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(4,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(6,2)
       acc = acc + reg5
       reg4 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg6 = acc * momenta(2,2)
       acc = momenta(1,2)*momenta(2,1)*momenta(6,2)
       acc = acc + reg6
       acc = acc * momenta(3,1)
       acc = acc + reg4
       acc = acc * momenta(4,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg4 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg5 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       acc = acc * momenta(3,3)
       acc = acc + reg5
       reg4 = acc * momenta(2,1)
       acc = momenta(2,2)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,1)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg5 = acc * momenta(4,1)
       acc = momenta(4,2)*momenta(6,3)
       acc = acc + momenta(4,3)*momenta(6,2)
       acc = acc * momenta(1,1)
       acc = acc + reg5
       reg4 = acc * momenta(2,1)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg4
       reg3 = acc * momenta(3,1)
       acc = momenta(3,2)*momenta(6,3)
       acc = acc + momenta(3,3)*momenta(6,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc * momenta(2,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)
       acc = acc + reg5
       reg4 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg6 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg6
       acc = acc * momenta(4,1)
       acc = acc + reg4
       reg3 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg6 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,2)*momenta(4,1)
       acc = acc + reg6
       reg5 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)*momenta(4,1)
       acc = acc + reg5
       acc = acc * momenta(6,2)
       acc = acc + reg3
       acc = acc * momenta(5,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 60.0_ki
       res = res + acc * coeffs%c3(4,19)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(3,1)
       acc = acc + momenta(2,1)*momenta(3,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg5
       reg4 = acc * momenta(3,1)
       acc = momenta(3,0)*momenta(6,2)
       acc = acc + momenta(3,2)*momenta(6,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(2,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(5,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(6,2)
       acc = acc + reg5
       reg4 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg6 = acc * momenta(2,2)
       acc = momenta(1,2)*momenta(2,1)*momenta(6,2)
       acc = acc + reg6
       acc = acc * momenta(3,1)
       acc = acc + reg4
       acc = acc * momenta(5,0)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg5 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       acc = acc * momenta(5,1)
       acc = acc + reg5
       reg4 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(5,1)
       acc = acc + momenta(2,1)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       reg4 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(3,1)
       acc = acc + momenta(2,1)*momenta(3,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(3,0)*momenta(5,1)
       acc = acc + momenta(3,1)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc * momenta(2,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,1)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg5 = acc * momenta(2,2)
       acc = momenta(1,2)*momenta(2,1)*momenta(6,2)
       acc = acc + reg5
       reg4 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg6 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(6,2)
       acc = acc + reg6
       acc = acc * momenta(5,2)
       acc = acc + reg4
       reg3 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg6 = acc * momenta(2,2)
       acc = momenta(1,2)*momenta(2,1)*momenta(6,2)
       acc = acc + reg6
       reg5 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,1)*momenta(6,2)
       acc = acc + reg5
       acc = acc * momenta(3,1)
       acc = acc + reg3
       acc = acc * momenta(4,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 60.0_ki
       res = res + acc * coeffs%c3(1,7)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg3 = acc * momenta(6,0)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg4 = acc * momenta(6,1)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(6,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,0)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(4,3)
       acc = momenta(3,0)*momenta(4,1)
       acc = acc + momenta(3,1)*momenta(4,0)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,1)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg5 = acc * momenta(3,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(6,1)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg5 = acc * momenta(6,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(6,3)
       acc = acc + reg5
       reg4 = acc * momenta(3,1)
       acc = momenta(3,0)*momenta(6,3)
       acc = acc + momenta(3,3)*momenta(6,0)
       acc = acc * momenta(4,1)
       acc = acc * momenta(2,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(5,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg5 = acc * momenta(6,1)
       acc = momenta(2,1)*momenta(4,1)*momenta(6,3)
       acc = acc + reg5
       reg4 = acc * momenta(3,3)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg6 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,1)*momenta(6,3)
       acc = acc + reg6
       acc = acc * momenta(3,1)
       acc = acc + reg4
       acc = acc * momenta(5,0)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(2,1)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,1)
       reg4 = acc * momenta(6,0)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg5 = acc * momenta(5,0)
       acc = momenta(5,1)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,1)
       acc = acc * momenta(2,0)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(4,3)
       acc = momenta(4,0)*momenta(6,1)
       acc = acc + momenta(4,1)*momenta(6,0)
       reg5 = acc * momenta(2,3)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(6,3)
       acc = acc + reg5
       reg4 = acc * momenta(5,3)
       acc = momenta(4,0)*momenta(5,1)
       acc = acc + momenta(4,1)*momenta(5,0)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg5 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       reg4 = acc * momenta(5,3)
       acc = momenta(3,0)*momenta(5,1)
       acc = acc + momenta(3,1)*momenta(5,0)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       reg3 = acc * momenta(4,3)
       acc = momenta(3,0)*momenta(4,1)
       acc = acc + momenta(3,1)*momenta(4,0)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(1,1)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg5 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,1)*momenta(6,3)
       acc = acc + reg5
       reg4 = acc * momenta(5,1)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg6 = acc * momenta(6,1)
       acc = momenta(2,1)*momenta(4,1)*momenta(6,3)
       acc = acc + reg6
       acc = acc * momenta(5,3)
       acc = acc + reg4
       reg3 = acc * momenta(3,3)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg6 = acc * momenta(5,3)
       acc = momenta(2,3)*momenta(5,1)*momenta(6,3)
       acc = acc + reg6
       reg5 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,1)*momenta(5,3)*momenta(6,3)
       acc = acc + reg5
       acc = acc * momenta(3,1)
       acc = acc + reg3
       acc = acc * momenta(1,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 60.0_ki
       res = res + acc * coeffs%c3(2,7)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg3 = acc * momenta(6,0)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg4 = acc * momenta(5,0)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,0)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg4 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,0)
       acc = acc * momenta(3,2)
       acc = acc + reg4
       reg3 = acc * momenta(5,3)
       acc = momenta(3,0)*momenta(5,2)
       acc = acc + momenta(3,2)*momenta(5,0)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,2)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg4 = acc * momenta(6,0)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg5 = acc * momenta(5,0)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,0)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg5 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,0)
       acc = acc * momenta(3,3)
       acc = acc + reg5
       reg4 = acc * momenta(5,2)
       acc = momenta(3,0)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,0)
       acc = acc * momenta(6,2)
       acc = acc * momenta(2,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg5 = acc * momenta(5,3)
       acc = momenta(2,3)*momenta(5,2)*momenta(6,3)
       acc = acc + reg5
       reg4 = acc * momenta(3,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg6 = acc * momenta(5,2)
       acc = momenta(2,2)*momenta(5,3)*momenta(6,2)
       acc = acc + reg6
       acc = acc * momenta(3,3)
       acc = acc + reg4
       acc = acc * momenta(4,0)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg4 = acc * momenta(6,0)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg5 = acc * momenta(5,0)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,0)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(4,3)
       acc = momenta(2,0)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,0)
       reg5 = acc * momenta(4,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       acc = acc * momenta(4,0)
       acc = acc + reg5
       reg4 = acc * momenta(5,3)
       acc = momenta(4,0)*momenta(5,2)
       acc = acc + momenta(4,2)*momenta(5,0)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg5 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,0)
       acc = acc * momenta(3,2)
       acc = acc + reg5
       reg4 = acc * momenta(5,3)
       acc = momenta(3,0)*momenta(5,2)
       acc = acc + momenta(3,2)*momenta(5,0)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       reg3 = acc * momenta(4,3)
       acc = momenta(3,0)*momenta(4,2)
       acc = acc + momenta(3,2)*momenta(4,0)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(1,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg5 = acc * momenta(5,3)
       acc = momenta(2,3)*momenta(5,2)*momenta(6,3)
       acc = acc + reg5
       reg4 = acc * momenta(4,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg6 = acc * momenta(5,2)
       acc = momenta(2,2)*momenta(5,3)*momenta(6,2)
       acc = acc + reg6
       acc = acc * momenta(4,3)
       acc = acc + reg4
       reg3 = acc * momenta(3,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg6 = acc * momenta(5,3)
       acc = momenta(2,3)*momenta(5,2)*momenta(6,3)
       acc = acc + reg6
       reg5 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,2)*momenta(5,3)*momenta(6,3)
       acc = acc + reg5
       acc = acc * momenta(3,2)
       acc = acc + reg3
       acc = acc * momenta(1,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 60.0_ki
       res = res + acc * coeffs%c3(3,7)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg3 = acc * momenta(5,1)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg4 = acc * momenta(6,1)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg4 = acc * momenta(3,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(5,3)
       acc = momenta(3,1)*momenta(5,2)
       acc = acc + momenta(3,2)*momenta(5,1)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg4 = acc * momenta(5,1)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg5 = acc * momenta(6,1)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,2)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg5 = acc * momenta(3,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       reg4 = acc * momenta(5,2)
       acc = momenta(3,1)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,1)
       acc = acc * momenta(6,2)
       acc = acc * momenta(2,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg5 = acc * momenta(5,3)
       acc = momenta(2,3)*momenta(5,2)*momenta(6,3)
       acc = acc + reg5
       reg4 = acc * momenta(3,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg6 = acc * momenta(5,2)
       acc = momenta(2,2)*momenta(5,3)*momenta(6,2)
       acc = acc + reg6
       acc = acc * momenta(3,3)
       acc = acc + reg4
       acc = acc * momenta(4,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg4 = acc * momenta(5,1)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg5 = acc * momenta(6,1)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(4,3)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg5 = acc * momenta(4,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       acc = acc * momenta(4,1)
       acc = acc + reg5
       reg4 = acc * momenta(5,3)
       acc = momenta(4,1)*momenta(5,2)
       acc = acc + momenta(4,2)*momenta(5,1)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg5 = acc * momenta(3,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       reg4 = acc * momenta(5,3)
       acc = momenta(3,1)*momenta(5,2)
       acc = acc + momenta(3,2)*momenta(5,1)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       reg3 = acc * momenta(4,3)
       acc = momenta(3,1)*momenta(4,2)
       acc = acc + momenta(3,2)*momenta(4,1)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(1,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg5 = acc * momenta(5,3)
       acc = momenta(2,3)*momenta(5,2)*momenta(6,3)
       acc = acc + reg5
       reg4 = acc * momenta(4,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg6 = acc * momenta(5,2)
       acc = momenta(2,2)*momenta(5,3)*momenta(6,2)
       acc = acc + reg6
       acc = acc * momenta(4,3)
       acc = acc + reg4
       reg3 = acc * momenta(3,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg6 = acc * momenta(5,3)
       acc = momenta(2,3)*momenta(5,2)*momenta(6,3)
       acc = acc + reg6
       reg5 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,2)*momenta(5,3)*momenta(6,3)
       acc = acc + reg5
       acc = acc * momenta(3,2)
       acc = acc + reg3
       acc = acc * momenta(1,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 60.0_ki
       res = res + acc * coeffs%c3(4,7)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg4 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(4,0)
       acc = momenta(3,1)*momenta(4,2)
       acc = acc + momenta(3,2)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg4
       reg3 = acc * momenta(4,0)
       acc = momenta(4,1)*momenta(6,2)
       acc = acc + momenta(4,2)*momenta(6,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(3,1)*momenta(6,2)
       acc = acc + momenta(3,2)*momenta(6,1)
       acc = acc * momenta(2,0)
       acc = acc * momenta(4,0)
       acc = acc * momenta(1,0)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg4
       reg3 = acc * momenta(4,0)
       acc = momenta(4,1)*momenta(5,2)
       acc = acc + momenta(4,2)*momenta(5,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(3,1)*momenta(5,2)
       acc = acc + momenta(3,2)*momenta(5,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc * momenta(4,0)
       acc = acc + reg2
       reg1 = acc * momenta(6,0)
       acc = momenta(5,1)*momenta(6,2)
       acc = acc + momenta(5,2)*momenta(6,1)
       acc = acc * momenta(4,0)
       acc = acc * momenta(2,0)
       acc = acc * momenta(1,0)
       acc = acc * momenta(3,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(1,20)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg3 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(4,0)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg4 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,3)
       acc = acc + reg4
       reg3 = acc * momenta(4,0)
       acc = momenta(4,1)*momenta(5,3)
       acc = acc + momenta(4,3)*momenta(5,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(3,1)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc * momenta(4,0)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg4 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,3)
       acc = acc + reg4
       reg3 = acc * momenta(4,0)
       acc = momenta(4,1)*momenta(6,3)
       acc = acc + momenta(4,3)*momenta(6,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(3,1)*momenta(6,3)
       acc = acc + momenta(3,3)*momenta(6,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc * momenta(4,0)
       acc = acc + reg2
       reg1 = acc * momenta(5,0)
       acc = momenta(5,1)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc * momenta(4,0)
       acc = acc * momenta(3,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(2,20)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg3 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,0)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg4 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg4
       reg3 = acc * momenta(4,0)
       acc = momenta(3,2)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(6,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg4
       reg3 = acc * momenta(4,0)
       acc = momenta(4,2)*momenta(6,3)
       acc = acc + momenta(4,3)*momenta(6,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(3,2)*momenta(6,3)
       acc = acc + momenta(3,3)*momenta(6,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc * momenta(4,0)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg4
       reg3 = acc * momenta(4,0)
       acc = momenta(4,2)*momenta(5,3)
       acc = acc + momenta(4,3)*momenta(5,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(3,2)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc * momenta(4,0)
       acc = acc + reg2
       reg1 = acc * momenta(6,0)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc * momenta(4,0)
       acc = acc * momenta(3,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(3,20)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg3 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg4 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       acc = acc * momenta(3,3)
       acc = acc + reg4
       reg3 = acc * momenta(2,1)
       acc = momenta(2,2)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(6,1)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg4 = acc * momenta(4,1)
       acc = momenta(4,2)*momenta(6,3)
       acc = acc + momenta(4,3)*momenta(6,2)
       acc = acc * momenta(1,1)
       acc = acc + reg4
       reg3 = acc * momenta(2,1)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg3
       reg2 = acc * momenta(3,1)
       acc = momenta(3,2)*momenta(6,3)
       acc = acc + momenta(3,3)*momenta(6,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc * momenta(2,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg4 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       acc = acc * momenta(5,2)
       acc = acc + reg4
       reg3 = acc * momenta(2,1)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg3
       reg2 = acc * momenta(3,1)
       acc = momenta(3,2)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc * momenta(2,1)
       acc = acc + reg2
       reg1 = acc * momenta(6,1)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc * momenta(2,1)
       acc = acc * momenta(3,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(4,20)
       acc = momenta(2,1)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,1)
       reg3 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,0)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg4 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg5 = acc * momenta(2,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc * momenta(6,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(3,1)*momenta(6,2)
       acc = acc + momenta(3,2)*momenta(6,1)
       reg5 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg6 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(6,3)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(2,0)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg6 = acc * momenta(3,2)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg7 = acc * momenta(3,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       acc = acc * momenta(3,1)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(1,0)
       acc = acc + reg4
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,1)
       acc = momenta(2,1)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,1)
       reg4 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,0)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg6 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg7 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(5,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,1)
       acc = momenta(1,2)*momenta(5,3)
       acc = acc + momenta(1,3)*momenta(5,2)
       reg5 = acc * momenta(6,0)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg6 = acc * momenta(5,0)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(1,0)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(2,1)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg6 = acc * momenta(6,0)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg7 = acc * momenta(5,0)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,0)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(1,1)
       acc = acc + reg4
       reg3 = acc * momenta(3,1)
       acc = momenta(3,2)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,2)
       reg6 = acc * momenta(6,0)
       acc = momenta(3,2)*momenta(6,3)
       acc = acc + momenta(3,3)*momenta(6,2)
       reg7 = acc * momenta(5,0)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(3,0)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(1,1)
       acc = acc * momenta(2,1)
       acc = acc + reg3
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,1)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(4,3)
       acc = momenta(2,1)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,1)
       reg6 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg7 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(4,0)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,0)
       reg5 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg6 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       acc = acc * momenta(4,3)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,0)
       reg6 = acc * momenta(4,2)
       acc = momenta(2,0)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,0)
       reg7 = acc * momenta(4,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       acc = acc * momenta(4,0)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(1,1)
       acc = acc + reg4
       reg3 = acc * momenta(3,1)
       acc = momenta(3,0)*momenta(6,3)
       acc = acc + momenta(3,3)*momenta(6,0)
       reg6 = acc * momenta(4,2)
       acc = momenta(4,0)*momenta(6,3)
       acc = acc + momenta(4,3)*momenta(6,0)
       reg7 = acc * momenta(3,2)
       acc = momenta(3,0)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,0)
       acc = acc * momenta(6,2)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(1,1)
       acc = acc * momenta(2,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(5,3)
       acc = acc + momenta(1,3)*momenta(5,0)
       reg5 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(5,2)
       acc = acc + momenta(1,2)*momenta(5,0)
       reg6 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(5,3)
       acc = acc + momenta(1,3)*momenta(5,2)
       acc = acc * momenta(4,0)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,0)
       reg6 = acc * momenta(4,2)
       acc = momenta(2,0)*momenta(5,2)
       acc = acc + momenta(2,2)*momenta(5,0)
       reg7 = acc * momenta(4,3)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       acc = acc * momenta(4,0)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(1,1)
       acc = acc + reg4
       reg3 = acc * momenta(3,1)
       acc = momenta(3,0)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,0)
       reg6 = acc * momenta(4,2)
       acc = momenta(4,0)*momenta(5,3)
       acc = acc + momenta(4,3)*momenta(5,0)
       reg7 = acc * momenta(3,2)
       acc = momenta(3,0)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,0)
       acc = acc * momenta(5,2)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(1,1)
       acc = acc * momenta(2,1)
       acc = acc + reg3
       reg2 = acc * momenta(6,1)
       acc = momenta(5,0)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,0)
       reg6 = acc * momenta(4,2)
       acc = momenta(5,0)*momenta(6,2)
       acc = acc + momenta(5,2)*momenta(6,0)
       reg7 = acc * momenta(4,3)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(4,0)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(1,1)
       acc = acc * momenta(2,1)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 120.0_ki
       res = res + acc * coeffs%c4(1,10)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg3 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg4
       acc = acc * momenta(3,1)
       acc = acc + reg2
       reg1 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,1)*momenta(4,0)
       acc = acc + reg3
       acc = acc * momenta(5,1)
       acc = acc + reg1
       reg0 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,1)*momenta(4,0)
       acc = acc + reg3
       reg2 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,0)*momenta(4,0)*momenta(5,1)
       acc = acc + reg2
       acc = acc * momenta(6,1)
       acc = acc + reg0
       acc = acc / 15.0_ki
       res = res + acc * coeffs%c2(1,14)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg3
       reg2 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg4
       acc = acc * momenta(4,0)
       acc = acc + reg2
       reg1 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,2)
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)*momenta(4,0)
       acc = acc + reg3
       acc = acc * momenta(6,2)
       acc = acc + reg1
       reg0 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,2)
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)*momenta(4,0)
       acc = acc + reg3
       reg2 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,0)*momenta(4,0)*momenta(6,2)
       acc = acc + reg2
       acc = acc * momenta(5,2)
       acc = acc + reg0
       acc = acc / 15.0_ki
       res = res + acc * coeffs%c2(2,14)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg3 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,3)*momenta(4,3)
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg4 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg4
       acc = acc * momenta(3,3)
       acc = acc + reg2
       reg1 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg4 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,3)*momenta(4,0)
       acc = acc + reg3
       acc = acc * momenta(5,3)
       acc = acc + reg1
       reg0 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg4 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg4
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,3)*momenta(4,0)
       acc = acc + reg3
       reg2 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,0)*momenta(4,0)*momenta(5,3)
       acc = acc + reg2
       acc = acc * momenta(6,3)
       acc = acc + reg0
       acc = acc / 15.0_ki
       res = res + acc * coeffs%c2(3,14)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)
       acc = acc + reg3
       reg2 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg4
       acc = acc * momenta(4,1)
       acc = acc + reg2
       reg1 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg4 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,2)*momenta(4,1)
       acc = acc + reg4
       reg3 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)*momenta(4,1)
       acc = acc + reg3
       acc = acc * momenta(6,2)
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg4 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,2)*momenta(4,1)
       acc = acc + reg4
       reg3 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)*momenta(4,1)
       acc = acc + reg3
       reg2 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,1)*momenta(4,1)*momenta(6,2)
       acc = acc + reg2
       acc = acc * momenta(5,2)
       acc = acc + reg0
       acc = acc / 15.0_ki
       res = res + acc * coeffs%c2(4,14)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg3 = acc * momenta(3,1)
       acc = momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg3
       reg2 = acc * momenta(1,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg4 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,1)*momenta(4,3)
       acc = acc + reg4
       acc = acc * momenta(1,1)
       acc = acc + reg2
       reg1 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg4 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,3)*momenta(4,1)
       acc = acc + reg4
       reg3 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg3
       acc = acc * momenta(6,3)
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg4 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,3)*momenta(4,1)
       acc = acc + reg4
       reg3 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg3
       reg2 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,1)*momenta(4,1)*momenta(6,3)
       acc = acc + reg2
       acc = acc * momenta(5,3)
       acc = acc + reg0
       acc = acc / 15.0_ki
       res = res + acc * coeffs%c2(5,14)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg3 = acc * momenta(5,2)
       acc = momenta(2,2)*momenta(5,3)*momenta(6,2)
       acc = acc + reg3
       reg2 = acc * momenta(1,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg4 = acc * momenta(5,3)
       acc = momenta(2,3)*momenta(5,2)*momenta(6,3)
       acc = acc + reg4
       acc = acc * momenta(1,2)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg4 = acc * momenta(2,2)
       acc = momenta(1,2)*momenta(2,3)*momenta(6,2)
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,3)*momenta(6,2)
       acc = acc + reg3
       acc = acc * momenta(3,3)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg4 = acc * momenta(2,2)
       acc = momenta(1,2)*momenta(2,3)*momenta(6,2)
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,3)*momenta(6,2)
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,3)*momenta(5,2)*momenta(6,2)
       acc = acc + reg2
       acc = acc * momenta(4,3)
       acc = acc + reg0
       acc = acc / 15.0_ki
       res = res + acc * coeffs%c2(6,14)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(3,0)*momenta(5,1)
       acc = acc + momenta(3,1)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(6,0)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg5
       reg4 = acc * momenta(3,0)
       acc = momenta(3,1)*momenta(5,2)
       acc = acc + momenta(3,2)*momenta(5,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg5
       reg4 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg6 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg6
       acc = acc * momenta(5,2)
       acc = acc + reg4
       acc = acc * momenta(6,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg5 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       acc = acc * momenta(5,1)
       acc = acc + reg5
       reg4 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(5,1)
       acc = acc + momenta(2,1)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       reg4 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(3,1)
       acc = acc + momenta(2,1)*momenta(3,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(3,0)*momenta(5,1)
       acc = acc + momenta(3,1)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc * momenta(2,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,0)
       acc = acc + reg5
       reg4 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg6 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(5,2)
       acc = acc + reg6
       acc = acc * momenta(6,2)
       acc = acc + reg4
       reg3 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       reg6 = acc * momenta(2,2)
       acc = momenta(1,2)*momenta(2,0)*momenta(6,2)
       acc = acc + reg6
       reg5 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,0)*momenta(6,2)
       acc = acc + reg5
       acc = acc * momenta(3,0)
       acc = acc + reg3
       acc = acc * momenta(4,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 60.0_ki
       res = res + acc * coeffs%c3(1,13)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg3 = acc * momenta(5,0)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg4 = acc * momenta(5,1)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(5,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(2,1)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,0)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(4,3)
       acc = momenta(3,0)*momenta(4,1)
       acc = acc + momenta(3,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(6,0)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg5 = acc * momenta(3,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,0)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg5 = acc * momenta(5,1)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(5,3)
       acc = acc + reg5
       reg4 = acc * momenta(3,0)
       acc = momenta(3,1)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,1)
       acc = acc * momenta(2,0)
       acc = acc * momenta(4,0)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg5 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,0)*momenta(4,3)
       acc = acc + reg5
       reg4 = acc * momenta(5,0)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg6 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(3,3)*momenta(4,0)
       acc = acc + reg6
       acc = acc * momenta(5,3)
       acc = acc + reg4
       acc = acc * momenta(6,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(2,1)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,1)
       reg4 = acc * momenta(6,0)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg5 = acc * momenta(5,0)
       acc = momenta(5,1)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,1)
       acc = acc * momenta(2,0)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(4,3)
       acc = momenta(4,0)*momenta(6,1)
       acc = acc + momenta(4,1)*momenta(6,0)
       reg5 = acc * momenta(2,3)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(6,3)
       acc = acc + reg5
       reg4 = acc * momenta(5,3)
       acc = momenta(4,0)*momenta(5,1)
       acc = acc + momenta(4,1)*momenta(5,0)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg5 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       reg4 = acc * momenta(5,3)
       acc = momenta(3,0)*momenta(5,1)
       acc = acc + momenta(3,1)*momenta(5,0)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       reg3 = acc * momenta(4,3)
       acc = momenta(3,0)*momenta(4,1)
       acc = acc + momenta(3,1)*momenta(4,0)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(1,0)
       acc = momenta(2,0)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,0)
       reg5 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,0)*momenta(5,3)
       acc = acc + reg5
       reg4 = acc * momenta(6,0)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg6 = acc * momenta(5,0)
       acc = momenta(2,0)*momenta(4,0)*momenta(5,3)
       acc = acc + reg6
       acc = acc * momenta(6,3)
       acc = acc + reg4
       reg3 = acc * momenta(3,3)
       acc = momenta(2,0)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,0)
       reg6 = acc * momenta(5,3)
       acc = momenta(2,3)*momenta(5,0)*momenta(6,3)
       acc = acc + reg6
       reg5 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,0)*momenta(5,3)*momenta(6,3)
       acc = acc + reg5
       acc = acc * momenta(3,0)
       acc = acc + reg3
       acc = acc * momenta(1,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 60.0_ki
       res = res + acc * coeffs%c3(2,13)
       acc = momenta(2,0)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,0)
       reg3 = acc * momenta(4,2)
       acc = momenta(2,0)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,0)
       reg4 = acc * momenta(4,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       acc = acc * momenta(4,0)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg4 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,0)
       acc = acc * momenta(3,2)
       acc = acc + reg4
       reg3 = acc * momenta(4,3)
       acc = momenta(3,0)*momenta(4,2)
       acc = acc + momenta(3,2)*momenta(4,0)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,0)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       reg4 = acc * momenta(4,2)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg5 = acc * momenta(3,2)
       acc = momenta(3,0)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,0)
       acc = acc * momenta(2,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(6,0)
       acc = momenta(2,0)*momenta(4,2)
       acc = acc + momenta(2,2)*momenta(4,0)
       reg5 = acc * momenta(6,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       acc = acc * momenta(6,2)
       acc = acc + reg5
       reg4 = acc * momenta(3,0)
       acc = momenta(3,2)*momenta(6,3)
       acc = acc + momenta(3,3)*momenta(6,2)
       acc = acc * momenta(2,0)
       acc = acc * momenta(4,0)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(5,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg5 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,0)*momenta(4,3)
       acc = acc + reg5
       reg4 = acc * momenta(6,0)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg6 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(3,3)*momenta(4,0)
       acc = acc + reg6
       acc = acc * momenta(6,3)
       acc = acc + reg4
       acc = acc * momenta(5,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg4 = acc * momenta(6,0)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg5 = acc * momenta(5,0)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,0)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(4,3)
       acc = momenta(2,0)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,0)
       reg5 = acc * momenta(4,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       acc = acc * momenta(4,0)
       acc = acc + reg5
       reg4 = acc * momenta(5,3)
       acc = momenta(4,0)*momenta(5,2)
       acc = acc + momenta(4,2)*momenta(5,0)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg5 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,0)
       acc = acc * momenta(3,2)
       acc = acc + reg5
       reg4 = acc * momenta(5,3)
       acc = momenta(3,0)*momenta(5,2)
       acc = acc + momenta(3,2)*momenta(5,0)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       reg3 = acc * momenta(4,3)
       acc = momenta(3,0)*momenta(4,2)
       acc = acc + momenta(3,2)*momenta(4,0)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(1,0)
       acc = momenta(2,0)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,0)
       reg5 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,0)*momenta(5,3)
       acc = acc + reg5
       reg4 = acc * momenta(6,0)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg6 = acc * momenta(5,0)
       acc = momenta(2,0)*momenta(4,0)*momenta(5,3)
       acc = acc + reg6
       acc = acc * momenta(6,3)
       acc = acc + reg4
       reg3 = acc * momenta(3,3)
       acc = momenta(2,0)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,0)
       reg6 = acc * momenta(5,3)
       acc = momenta(2,3)*momenta(5,0)*momenta(6,3)
       acc = acc + reg6
       reg5 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,0)*momenta(5,3)*momenta(6,3)
       acc = acc + reg5
       acc = acc * momenta(3,0)
       acc = acc + reg3
       acc = acc * momenta(1,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 60.0_ki
       res = res + acc * coeffs%c3(3,13)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg3 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg4 = acc * momenta(4,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       acc = acc * momenta(4,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg4 = acc * momenta(3,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(4,3)
       acc = momenta(3,1)*momenta(4,2)
       acc = acc + momenta(3,2)*momenta(4,1)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,1)
       acc = momenta(2,1)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,1)
       reg4 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg5 = acc * momenta(3,2)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(2,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(6,1)
       acc = momenta(4,2)*momenta(6,3)
       acc = acc + momenta(4,3)*momenta(6,2)
       reg5 = acc * momenta(2,1)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       acc = acc * momenta(4,1)
       acc = acc + reg5
       reg4 = acc * momenta(3,1)
       acc = momenta(3,2)*momenta(6,3)
       acc = acc + momenta(3,3)*momenta(6,2)
       acc = acc * momenta(4,1)
       acc = acc * momenta(2,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(5,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg5 = acc * momenta(6,1)
       acc = momenta(2,1)*momenta(4,1)*momenta(6,3)
       acc = acc + reg5
       reg4 = acc * momenta(3,3)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg6 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,1)*momenta(6,3)
       acc = acc + reg6
       acc = acc * momenta(3,1)
       acc = acc + reg4
       acc = acc * momenta(5,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg4 = acc * momenta(5,1)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg5 = acc * momenta(6,1)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(4,3)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg5 = acc * momenta(4,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       acc = acc * momenta(4,1)
       acc = acc + reg5
       reg4 = acc * momenta(5,3)
       acc = momenta(4,1)*momenta(5,2)
       acc = acc + momenta(4,2)*momenta(5,1)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg5 = acc * momenta(3,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       reg4 = acc * momenta(5,3)
       acc = momenta(3,1)*momenta(5,2)
       acc = acc + momenta(3,2)*momenta(5,1)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       reg3 = acc * momenta(4,3)
       acc = momenta(3,1)*momenta(4,2)
       acc = acc + momenta(3,2)*momenta(4,1)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(1,1)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg5 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,1)*momenta(6,3)
       acc = acc + reg5
       reg4 = acc * momenta(5,1)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg6 = acc * momenta(6,1)
       acc = momenta(2,1)*momenta(4,1)*momenta(6,3)
       acc = acc + reg6
       acc = acc * momenta(5,3)
       acc = acc + reg4
       reg3 = acc * momenta(3,3)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg6 = acc * momenta(5,3)
       acc = momenta(2,3)*momenta(5,1)*momenta(6,3)
       acc = acc + reg6
       reg5 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,1)*momenta(5,3)*momenta(6,3)
       acc = acc + reg5
       acc = acc * momenta(3,1)
       acc = acc + reg3
       acc = acc * momenta(1,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 60.0_ki
       res = res + acc * coeffs%c3(4,13)
       acc = momenta(2,1)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,1)
       reg3 = acc * momenta(5,0)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       reg4 = acc * momenta(5,1)
       acc = momenta(2,0)*momenta(3,1)
       acc = acc + momenta(2,1)*momenta(3,0)
       acc = acc * momenta(5,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg4 = acc * momenta(5,0)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg5 = acc * momenta(5,1)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(5,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg5 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg6 = acc * momenta(3,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(5,2)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       reg6 = acc * momenta(5,0)
       acc = momenta(3,0)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,0)
       reg7 = acc * momenta(5,1)
       acc = momenta(3,0)*momenta(4,1)
       acc = acc + momenta(3,1)*momenta(4,0)
       acc = acc * momenta(5,3)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(2,2)
       acc = acc + reg4
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg6 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(5,1)
       acc = acc + momenta(1,1)*momenta(5,0)
       reg6 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg7 = acc * momenta(5,2)
       acc = momenta(4,0)*momenta(5,1)
       acc = acc + momenta(4,1)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(2,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       reg6 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,0)
       reg7 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(3,1)
       acc = acc + momenta(1,1)*momenta(3,0)
       acc = acc * momenta(5,2)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(2,3)
       acc = acc + reg4
       reg3 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(3,1)
       acc = acc + momenta(1,1)*momenta(3,0)
       reg6 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg7 = acc * momenta(3,2)
       acc = momenta(3,0)*momenta(4,1)
       acc = acc + momenta(3,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg3
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(6,3)
       acc = momenta(2,1)*momenta(5,2)
       acc = acc + momenta(2,2)*momenta(5,1)
       reg4 = acc * momenta(6,0)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg5 = acc * momenta(5,0)
       acc = momenta(5,1)*momenta(6,2)
       acc = acc + momenta(5,2)*momenta(6,1)
       acc = acc * momenta(2,0)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(4,3)
       acc = momenta(2,0)*momenta(6,1)
       acc = acc + momenta(2,1)*momenta(6,0)
       reg5 = acc * momenta(4,2)
       acc = momenta(4,0)*momenta(6,1)
       acc = acc + momenta(4,1)*momenta(6,0)
       reg6 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(6,2)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(5,3)
       acc = momenta(5,0)*momenta(6,1)
       acc = acc + momenta(5,1)*momenta(6,0)
       reg6 = acc * momenta(4,2)
       acc = momenta(4,0)*momenta(6,1)
       acc = acc + momenta(4,1)*momenta(6,0)
       reg7 = acc * momenta(5,2)
       acc = momenta(4,0)*momenta(5,1)
       acc = acc + momenta(4,1)*momenta(5,0)
       acc = acc * momenta(6,2)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(2,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(2,1)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,1)
       reg5 = acc * momenta(6,0)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg6 = acc * momenta(3,0)
       acc = momenta(3,1)*momenta(6,2)
       acc = acc + momenta(3,2)*momenta(6,1)
       acc = acc * momenta(2,0)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(5,3)
       acc = momenta(3,1)*momenta(5,2)
       acc = acc + momenta(3,2)*momenta(5,1)
       reg6 = acc * momenta(6,0)
       acc = momenta(3,1)*momenta(6,2)
       acc = acc + momenta(3,2)*momenta(6,1)
       reg7 = acc * momenta(5,0)
       acc = momenta(5,1)*momenta(6,2)
       acc = acc + momenta(5,2)*momenta(6,1)
       acc = acc * momenta(3,0)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(2,3)
       acc = acc + reg4
       reg3 = acc * momenta(4,3)
       acc = momenta(3,0)*momenta(6,1)
       acc = acc + momenta(3,1)*momenta(6,0)
       reg6 = acc * momenta(4,2)
       acc = momenta(4,0)*momenta(6,1)
       acc = acc + momenta(4,1)*momenta(6,0)
       reg7 = acc * momenta(3,2)
       acc = momenta(3,0)*momenta(4,1)
       acc = acc + momenta(3,1)*momenta(4,0)
       acc = acc * momenta(6,2)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg6 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(5,2)
       acc = acc + momenta(1,2)*momenta(5,1)
       reg6 = acc * momenta(6,0)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg7 = acc * momenta(5,0)
       acc = momenta(5,1)*momenta(6,2)
       acc = acc + momenta(5,2)*momenta(6,1)
       acc = acc * momenta(1,0)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(2,3)
       acc = acc + reg4
       reg3 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       reg6 = acc * momenta(6,0)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg7 = acc * momenta(3,0)
       acc = momenta(3,1)*momenta(6,2)
       acc = acc + momenta(3,2)*momenta(6,1)
       acc = acc * momenta(1,0)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(6,1)
       acc = acc + momenta(1,1)*momenta(6,0)
       reg6 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       reg7 = acc * momenta(4,1)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       acc = acc * momenta(4,0)
       acc = acc + reg7
       acc = acc + reg6
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc * momenta(3,3)
       acc = acc + reg2
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 120.0_ki
       res = res + acc * coeffs%c4(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg4
       reg3 = acc * momenta(3,1)
       acc = momenta(3,0)*momenta(5,2)
       acc = acc + momenta(3,2)*momenta(5,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(2,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(6,0)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg5
       reg4 = acc * momenta(3,0)
       acc = momenta(3,1)*momenta(5,2)
       acc = acc + momenta(3,2)*momenta(5,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,0)
       acc = acc + reg5
       reg4 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,1)
       acc = acc + reg6
       acc = acc * momenta(5,1)
       acc = acc + reg4
       acc = acc * momenta(6,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       reg4 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(3,1)
       acc = acc + momenta(2,1)*momenta(3,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg6 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg6
       reg5 = acc * momenta(3,1)
       acc = momenta(3,0)*momenta(6,2)
       acc = acc + momenta(3,2)*momenta(6,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(2,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg6 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(6,2)
       acc = acc + reg6
       reg5 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg7 = acc * momenta(2,2)
       acc = momenta(1,2)*momenta(2,1)*momenta(6,2)
       acc = acc + reg7
       acc = acc * momenta(3,1)
       acc = acc + reg5
       acc = acc * momenta(5,0)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,0)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg6 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg6 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg6
       reg5 = acc * momenta(5,2)
       acc = momenta(3,0)*momenta(5,1)
       acc = acc + momenta(3,1)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(6,0)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg6 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg7 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg7 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg7
       reg6 = acc * momenta(3,0)
       acc = momenta(3,1)*momenta(5,2)
       acc = acc + momenta(3,2)*momenta(5,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(6,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg7 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg7
       reg6 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg8 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg8
       acc = acc * momenta(5,2)
       acc = acc + reg6
       acc = acc * momenta(6,1)
       acc = acc + reg4
       acc = acc + reg3
       acc = acc * momenta(4,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 90.0_ki
       res = res + acc * coeffs%c3(1,15)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg3 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg4 = acc * momenta(3,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       reg3 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(3,1)
       acc = acc + momenta(1,1)*momenta(3,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,1)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg4 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,3)
       acc = acc + reg5
       reg4 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(5,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg5 = acc * momenta(3,1)
       acc = momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg5
       reg4 = acc * momenta(1,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg6 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,1)*momenta(4,3)
       acc = acc + reg6
       acc = acc * momenta(1,1)
       acc = acc + reg4
       acc = acc * momenta(5,0)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(6,0)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg5 = acc * momenta(3,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg5 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg5
       reg4 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(3,1)
       acc = acc + momenta(1,1)*momenta(3,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(5,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg5 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg6
       reg5 = acc * momenta(4,0)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,3)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg6 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,3)*momenta(4,3)
       acc = acc + reg6
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg7 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg7
       acc = acc * momenta(3,3)
       acc = acc + reg5
       acc = acc * momenta(5,1)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(6,1)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg5 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg6 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg6 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,3)
       acc = acc + reg6
       reg5 = acc * momenta(2,1)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,0)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       reg6 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg7 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg7 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg7
       reg6 = acc * momenta(4,0)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg7 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg7
       reg6 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg8 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg8
       acc = acc * momenta(3,1)
       acc = acc + reg6
       acc = acc * momenta(5,3)
       acc = acc + reg4
       acc = acc + reg3
       acc = acc * momenta(6,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 90.0_ki
       res = res + acc * coeffs%c3(2,15)
       acc = momenta(2,2)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,2)
       reg3 = acc * momenta(5,0)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg4 = acc * momenta(3,0)
       acc = momenta(3,2)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,2)
       acc = acc * momenta(2,0)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(5,2)
       acc = acc + momenta(1,2)*momenta(5,0)
       acc = acc * momenta(2,3)
       acc = acc + reg4
       reg3 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(6,0)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg5 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg5
       reg4 = acc * momenta(3,0)
       acc = momenta(3,2)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,3)
       acc = momenta(2,0)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,0)
       reg5 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(2,3)*momenta(3,3)
       acc = acc + reg5
       reg4 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg6 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,3)
       acc = acc + reg6
       acc = acc * momenta(5,3)
       acc = acc + reg4
       acc = acc * momenta(6,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg4 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg5 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg5
       reg4 = acc * momenta(5,2)
       acc = momenta(3,0)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(6,0)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg5 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       reg6 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg6 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc * momenta(5,2)
       acc = acc + reg6
       reg5 = acc * momenta(3,0)
       acc = momenta(3,2)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(6,2)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg6 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg6
       reg5 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg7 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg7
       acc = acc * momenta(5,2)
       acc = acc + reg5
       acc = acc * momenta(6,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,3)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg5 = acc * momenta(6,0)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg6 = acc * momenta(5,0)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,0)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(3,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg6 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,0)
       acc = acc * momenta(3,3)
       acc = acc + reg6
       reg5 = acc * momenta(5,2)
       acc = momenta(3,0)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,0)
       acc = acc * momenta(6,2)
       acc = acc * momenta(2,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(1,3)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg6 = acc * momenta(6,0)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg7 = acc * momenta(5,0)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,0)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(3,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg7 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,0)
       acc = acc * momenta(3,2)
       acc = acc + reg7
       reg6 = acc * momenta(5,3)
       acc = momenta(3,0)*momenta(5,2)
       acc = acc + momenta(3,2)*momenta(5,0)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(1,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg7 = acc * momenta(5,3)
       acc = momenta(2,3)*momenta(5,2)*momenta(6,3)
       acc = acc + reg7
       reg6 = acc * momenta(3,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg8 = acc * momenta(5,2)
       acc = momenta(2,2)*momenta(5,3)*momenta(6,2)
       acc = acc + reg8
       acc = acc * momenta(3,3)
       acc = acc + reg6
       acc = acc * momenta(1,0)
       acc = acc + reg4
       acc = acc + reg3
       acc = acc * momenta(4,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 90.0_ki
       res = res + acc * coeffs%c3(3,15)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg3 = acc * momenta(3,2)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg4 = acc * momenta(3,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg4 = acc * momenta(2,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc * momenta(6,3)
       acc = acc + reg4
       reg3 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(5,1)
       acc = momenta(2,1)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,1)
       reg4 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg5 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(6,1)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg5 = acc * momenta(2,1)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       acc = acc * momenta(1,1)
       acc = acc + reg5
       reg4 = acc * momenta(3,1)
       acc = momenta(3,2)*momenta(6,3)
       acc = acc + momenta(3,3)*momenta(6,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(2,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(5,3)
       acc = momenta(2,1)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,1)
       reg5 = acc * momenta(6,1)
       acc = momenta(2,1)*momenta(3,1)*momenta(6,3)
       acc = acc + reg5
       reg4 = acc * momenta(1,3)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg6 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,1)*momenta(6,3)
       acc = acc + reg6
       acc = acc * momenta(1,1)
       acc = acc + reg4
       acc = acc * momenta(5,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg4 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg5 = acc * momenta(2,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc * momenta(6,3)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg5 = acc * momenta(3,3)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       reg4 = acc * momenta(2,2)
       acc = momenta(2,1)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,1)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(5,1)
       acc = momenta(2,1)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,1)
       reg5 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg6 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(6,1)
       acc = momenta(1,2)*momenta(6,3)
       acc = acc + momenta(1,3)*momenta(6,2)
       reg6 = acc * momenta(2,1)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       acc = acc * momenta(1,1)
       acc = acc + reg6
       reg5 = acc * momenta(3,1)
       acc = momenta(3,2)*momenta(6,3)
       acc = acc + momenta(3,3)*momenta(6,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(2,1)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg6 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(6,2)
       acc = acc + reg6
       reg5 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg7 = acc * momenta(2,2)
       acc = momenta(1,2)*momenta(2,1)*momenta(6,2)
       acc = acc + reg7
       acc = acc * momenta(3,1)
       acc = acc + reg5
       acc = acc * momenta(5,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(4,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg5 = acc * momenta(5,1)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg6 = acc * momenta(6,1)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,1)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(3,2)
       acc = momenta(2,1)*momenta(6,2)
       acc = acc + momenta(2,2)*momenta(6,1)
       reg6 = acc * momenta(3,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       acc = acc * momenta(3,1)
       acc = acc + reg6
       reg5 = acc * momenta(5,2)
       acc = momenta(3,1)*momenta(5,3)
       acc = acc + momenta(3,3)*momenta(5,1)
       acc = acc * momenta(6,2)
       acc = acc * momenta(2,2)
       acc = acc + reg5
       acc = acc + reg4
       reg3 = acc * momenta(1,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg6 = acc * momenta(5,1)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg7 = acc * momenta(6,1)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,1)
       acc = acc + reg7
       acc = acc + reg6
       reg5 = acc * momenta(3,3)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg7 = acc * momenta(3,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       acc = acc * momenta(3,1)
       acc = acc + reg7
       reg6 = acc * momenta(5,3)
       acc = momenta(3,1)*momenta(5,2)
       acc = acc + momenta(3,2)*momenta(5,1)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg6
       acc = acc + reg5
       reg4 = acc * momenta(1,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg7 = acc * momenta(5,3)
       acc = momenta(2,3)*momenta(5,2)*momenta(6,3)
       acc = acc + reg7
       reg6 = acc * momenta(3,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg8 = acc * momenta(5,2)
       acc = momenta(2,2)*momenta(5,3)*momenta(6,2)
       acc = acc + reg8
       acc = acc * momenta(3,3)
       acc = acc + reg6
       acc = acc * momenta(1,1)
       acc = acc + reg4
       acc = acc + reg3
       acc = acc * momenta(4,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 90.0_ki
       res = res + acc * coeffs%c3(4,15)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg3 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg3
       reg2 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       reg4 = acc * momenta(4,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg4
       acc = acc * momenta(3,1)
       acc = acc + reg2
       reg1 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg4 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg4
       reg3 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,0)*momenta(4,1)
       acc = acc + reg3
       acc = acc * momenta(6,0)
       acc = acc + reg1
       reg0 = acc * momenta(5,1)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       reg4 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg4
       reg3 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,0)*momenta(4,1)
       acc = acc + reg3
       reg2 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,1)*momenta(4,1)*momenta(6,0)
       acc = acc + reg2
       acc = acc * momenta(5,0)
       acc = acc + reg0
       acc = acc / 15.0_ki
       res = res + acc * coeffs%c2(1,9)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg3 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,0)
       acc = acc + reg3
       reg2 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(2,0)*momenta(5,2)
       acc = acc + reg4
       acc = acc * momenta(6,2)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       reg4 = acc * momenta(2,2)
       acc = momenta(1,2)*momenta(2,0)*momenta(6,2)
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,0)*momenta(6,2)
       acc = acc + reg3
       acc = acc * momenta(3,0)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       reg4 = acc * momenta(2,2)
       acc = momenta(1,2)*momenta(2,0)*momenta(6,2)
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,0)*momenta(6,2)
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,0)*momenta(5,2)*momenta(6,2)
       acc = acc + reg2
       acc = acc * momenta(4,0)
       acc = acc + reg0
       acc = acc / 15.0_ki
       res = res + acc * coeffs%c2(2,9)
       acc = momenta(2,0)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,0)
       reg3 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,0)*momenta(5,3)
       acc = acc + reg3
       reg2 = acc * momenta(6,0)
       acc = momenta(2,0)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,0)
       reg4 = acc * momenta(5,0)
       acc = momenta(2,0)*momenta(4,0)*momenta(5,3)
       acc = acc + reg4
       acc = acc * momenta(6,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(2,0)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,0)
       reg4 = acc * momenta(5,3)
       acc = momenta(2,3)*momenta(5,0)*momenta(6,3)
       acc = acc + reg4
       reg3 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,0)*momenta(5,3)*momenta(6,3)
       acc = acc + reg3
       acc = acc * momenta(3,0)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(2,0)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,0)
       reg4 = acc * momenta(5,3)
       acc = momenta(2,3)*momenta(5,0)*momenta(6,3)
       acc = acc + reg4
       reg3 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,0)*momenta(5,3)*momenta(6,3)
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,0)*momenta(4,3)*momenta(5,3)*momenta(6,3)
       acc = acc + reg2
       acc = acc * momenta(1,0)
       acc = acc + reg0
       acc = acc / 15.0_ki
       res = res + acc * coeffs%c2(3,9)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg3 = acc * momenta(2,2)
       acc = momenta(1,2)*momenta(2,1)*momenta(6,2)
       acc = acc + reg3
       reg2 = acc * momenta(5,1)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg4 = acc * momenta(6,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(6,2)
       acc = acc + reg4
       acc = acc * momenta(5,2)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg4 = acc * momenta(2,2)
       acc = momenta(1,2)*momenta(2,1)*momenta(6,2)
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,1)*momenta(6,2)
       acc = acc + reg3
       acc = acc * momenta(3,1)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg4 = acc * momenta(2,2)
       acc = momenta(1,2)*momenta(2,1)*momenta(6,2)
       acc = acc + reg4
       reg3 = acc * momenta(5,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(5,1)*momenta(6,2)
       acc = acc + reg3
       reg2 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,1)*momenta(5,2)*momenta(6,2)
       acc = acc + reg2
       acc = acc * momenta(4,1)
       acc = acc + reg0
       acc = acc / 15.0_ki
       res = res + acc * coeffs%c2(4,9)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg3 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,1)*momenta(6,3)
       acc = acc + reg3
       reg2 = acc * momenta(5,1)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg4 = acc * momenta(6,1)
       acc = momenta(2,1)*momenta(4,1)*momenta(6,3)
       acc = acc + reg4
       acc = acc * momenta(5,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg4 = acc * momenta(5,3)
       acc = momenta(2,3)*momenta(5,1)*momenta(6,3)
       acc = acc + reg4
       reg3 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,1)*momenta(5,3)*momenta(6,3)
       acc = acc + reg3
       acc = acc * momenta(3,1)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg4 = acc * momenta(5,3)
       acc = momenta(2,3)*momenta(5,1)*momenta(6,3)
       acc = acc + reg4
       reg3 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,1)*momenta(5,3)*momenta(6,3)
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,1)*momenta(4,3)*momenta(5,3)*momenta(6,3)
       acc = acc + reg2
       acc = acc * momenta(1,1)
       acc = acc + reg0
       acc = acc / 15.0_ki
       res = res + acc * coeffs%c2(5,9)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg3 = acc * momenta(5,3)
       acc = momenta(2,3)*momenta(5,2)*momenta(6,3)
       acc = acc + reg3
       reg2 = acc * momenta(4,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg4 = acc * momenta(5,2)
       acc = momenta(2,2)*momenta(5,3)*momenta(6,2)
       acc = acc + reg4
       acc = acc * momenta(4,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg4 = acc * momenta(5,3)
       acc = momenta(2,3)*momenta(5,2)*momenta(6,3)
       acc = acc + reg4
       reg3 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,2)*momenta(5,3)*momenta(6,3)
       acc = acc + reg3
       acc = acc * momenta(3,2)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg4 = acc * momenta(5,3)
       acc = momenta(2,3)*momenta(5,2)*momenta(6,3)
       acc = acc + reg4
       reg3 = acc * momenta(4,3)
       acc = momenta(2,3)*momenta(4,2)*momenta(5,3)*momenta(6,3)
       acc = acc + reg3
       reg2 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,2)*momenta(4,3)*momenta(5,3)*momenta(6,3)
       acc = acc + reg2
       acc = acc * momenta(1,2)
       acc = acc + reg0
       acc = acc / 15.0_ki
       res = res + acc * coeffs%c2(6,9)
       acc = momenta(1,0)*momenta(2,0)*momenta(3,0)*momenta(4,0)*momenta(5,0)*momenta(6,0)
       res = res + acc * coeffs%c1(1,6)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,1)*momenta(4,1)*momenta(5,1)*momenta(6,1)
       res = res + acc * coeffs%c1(2,6)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,2)*momenta(5,2)*momenta(6,2)
       res = res + acc * coeffs%c1(3,6)
       acc = momenta(1,3)*momenta(2,3)*momenta(3,3)*momenta(4,3)*momenta(5,3)*momenta(6,3)
       res = res + acc * coeffs%c1(4,6)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg3 = acc * momenta(6,0)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       reg4 = acc * momenta(6,1)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,2)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(5,2)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg4 = acc * momenta(5,0)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       acc = acc * momenta(5,1)
       acc = acc + reg4
       reg3 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(5,1)
       acc = acc + momenta(2,1)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(3,1)
       acc = acc + momenta(2,1)*momenta(3,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg3
       reg2 = acc * momenta(5,2)
       acc = momenta(3,0)*momenta(5,1)
       acc = acc + momenta(3,1)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc * momenta(2,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       reg4 = acc * momenta(4,1)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       acc = acc * momenta(4,0)
       acc = acc + reg4
       reg3 = acc * momenta(2,2)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc + reg3
       reg2 = acc * momenta(5,2)
       acc = momenta(4,0)*momenta(5,1)
       acc = acc + momenta(4,1)*momenta(5,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc * momenta(2,2)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(3,0)*momenta(4,1)
       acc = acc + momenta(3,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(6,2)
       acc = acc * momenta(2,2)
       acc = acc * momenta(5,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(1,4)
       acc = momenta(2,1)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,1)
       reg3 = acc * momenta(6,0)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg4 = acc * momenta(5,0)
       acc = momenta(5,1)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,1)
       acc = acc * momenta(2,0)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(4,0)*momenta(6,1)
       acc = acc + momenta(4,1)*momenta(6,0)
       reg4 = acc * momenta(2,3)
       acc = momenta(2,0)*momenta(4,1)
       acc = acc + momenta(2,1)*momenta(4,0)
       acc = acc * momenta(6,3)
       acc = acc + reg4
       reg3 = acc * momenta(5,3)
       acc = momenta(4,0)*momenta(5,1)
       acc = acc + momenta(4,1)*momenta(5,0)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg4 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,0)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(5,3)
       acc = momenta(3,0)*momenta(5,1)
       acc = acc + momenta(3,1)*momenta(5,0)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(3,0)*momenta(4,1)
       acc = acc + momenta(3,1)*momenta(4,0)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(6,1)
       acc = acc + momenta(1,1)*momenta(6,0)
       reg4 = acc * momenta(2,3)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc * momenta(6,3)
       acc = acc + reg4
       reg3 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(5,1)
       acc = acc + momenta(1,1)*momenta(5,0)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,1)
       acc = acc + momenta(1,1)*momenta(4,0)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(3,1)
       acc = acc + momenta(1,1)*momenta(3,0)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(2,4)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg3 = acc * momenta(6,0)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg4 = acc * momenta(5,0)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,0)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(2,0)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,0)
       reg4 = acc * momenta(4,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       acc = acc * momenta(4,0)
       acc = acc + reg4
       reg3 = acc * momenta(5,3)
       acc = momenta(4,0)*momenta(5,2)
       acc = acc + momenta(4,2)*momenta(5,0)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg4 = acc * momenta(3,0)
       acc = momenta(2,0)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,0)
       acc = acc * momenta(3,2)
       acc = acc + reg4
       reg3 = acc * momenta(5,3)
       acc = momenta(3,0)*momenta(5,2)
       acc = acc + momenta(3,2)*momenta(5,0)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(3,0)*momenta(4,2)
       acc = acc + momenta(3,2)*momenta(4,0)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,0)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,0)
       reg4 = acc * momenta(2,3)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc * momenta(6,3)
       acc = acc + reg4
       reg3 = acc * momenta(5,3)
       acc = momenta(1,0)*momenta(5,2)
       acc = acc + momenta(1,2)*momenta(5,0)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(1,0)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,0)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(1,0)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,0)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(3,4)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       reg3 = acc * momenta(5,1)
       acc = momenta(2,2)*momenta(5,3)
       acc = acc + momenta(2,3)*momenta(5,2)
       reg4 = acc * momenta(6,1)
       acc = momenta(5,2)*momenta(6,3)
       acc = acc + momenta(5,3)*momenta(6,2)
       acc = acc * momenta(2,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg4 = acc * momenta(4,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       acc = acc * momenta(4,1)
       acc = acc + reg4
       reg3 = acc * momenta(5,3)
       acc = momenta(4,1)*momenta(5,2)
       acc = acc + momenta(4,2)*momenta(5,1)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(2,1)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,1)
       reg4 = acc * momenta(3,2)
       acc = momenta(2,2)*momenta(6,3)
       acc = acc + momenta(2,3)*momenta(6,2)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       reg3 = acc * momenta(5,3)
       acc = momenta(3,1)*momenta(5,2)
       acc = acc + momenta(3,2)*momenta(5,1)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(3,1)*momenta(4,2)
       acc = acc + momenta(3,2)*momenta(4,1)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(6,2)
       acc = acc + momenta(1,2)*momenta(6,1)
       reg4 = acc * momenta(2,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc * momenta(6,3)
       acc = acc + reg4
       reg3 = acc * momenta(5,3)
       acc = momenta(1,1)*momenta(5,2)
       acc = acc + momenta(1,2)*momenta(5,1)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       reg2 = acc * momenta(4,3)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(6,3)
       acc = acc * momenta(2,3)
       acc = acc * momenta(5,3)
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 30.0_ki
       res = res + acc * coeffs%c3(4,4)
    case default
       res = 0.0_ki
    end select
 end  function contract_a_tensor_6
 !****f* src/interface/tens_comb/contract_b_tensor_6
 ! NAME
 !
 ! Function contract_b_tensor_6
 !
 ! USAGE
 !
 !  ans = contract_b_tensor_6(coeffs, momenta)
 !
 ! DESCRIPTION
 !
 !  Contracts the a set of coefficients with an B-type tensor
 !  of rank 6 constructed from a given set of momenta.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_6)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !
 ! RETURN VALUE
 !
 !  The result of the contraction which is a complex number
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 pure function contract_b_tensor_6(coeffs, momenta) result(res)
    ! generated by: write_function_b_tensor_contract
    implicit none
    type(coeff_type_6), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in), optional :: momenta
    complex(ki) :: res
    integer :: rk
    real(ki) :: acc
    real(ki) :: reg4
    real(ki) :: reg5
    real(ki) :: reg2
    real(ki) :: reg3
    real(ki) :: reg0
    real(ki) :: reg1
    if (present(momenta)) then
       rk = size(momenta, 1)
    else
       rk = 0
    end if
    select case(rk)
    case(0)
       res = coeffs%c1(1,2)
       res = res - coeffs%c1(2,2)
       res = res - coeffs%c1(3,2)
       res = res - coeffs%c1(4,2)
    case(1)
       acc = -momenta(1,0)
       res = acc * coeffs%c2(1,2)
       acc = -momenta(1,0)
       res = res + acc * coeffs%c2(2,2)
       acc = -momenta(1,0)
       res = res + acc * coeffs%c2(3,2)
       acc = -momenta(1,1)
       res = res + acc * coeffs%c2(4,2)
       acc = -momenta(1,1)
       res = res + acc * coeffs%c2(5,2)
       acc = -momenta(1,2)
       res = res + acc * coeffs%c2(6,2)
       acc = 3*momenta(1,0)
       res = res + acc * coeffs%c1(1,3)
       acc = -3*momenta(1,1)
       res = res + acc * coeffs%c1(2,3)
       acc = -3*momenta(1,2)
       res = res + acc * coeffs%c1(3,3)
       acc = -3*momenta(1,3)
       res = res + acc * coeffs%c1(4,3)
       acc = momenta(1,1)
       res = res + acc * coeffs%c2(1,6)
       acc = momenta(1,2)
       res = res + acc * coeffs%c2(2,6)
       acc = momenta(1,3)
       res = res + acc * coeffs%c2(3,6)
       acc = -momenta(1,2)
       res = res + acc * coeffs%c2(4,6)
       acc = -momenta(1,3)
       res = res + acc * coeffs%c2(5,6)
       acc = -momenta(1,3)
       res = res + acc * coeffs%c2(6,6)
    case(2)
       acc = -momenta(1,0)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,0)
       acc = acc / 2.0_ki
       res = acc * coeffs%c3(1,5)
       acc = -momenta(1,0)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(2,5)
       acc = -momenta(1,0)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(3,5)
       acc = -momenta(1,1)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(4,5)
       acc = -3*momenta(1,0)*momenta(2,1)
       acc = acc - 3*momenta(1,1)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(1,3)
       acc = -3*momenta(1,0)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(2,3)
       acc = -3*momenta(1,0)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(3,3)
       acc = -3*momenta(1,1)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(4,3)
       acc = -3*momenta(1,1)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(5,3)
       acc = -3*momenta(1,2)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,2)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(6,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(1,11)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(2,11)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(3,11)
       acc = -momenta(1,2)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,2)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(4,11)
       acc = 3*momenta(1,0)*momenta(2,1)
       acc = acc + 3*momenta(1,1)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(1,10)
       acc = 3*momenta(1,0)*momenta(2,2)
       acc = acc + 3*momenta(1,2)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(2,10)
       acc = 3*momenta(1,0)*momenta(2,3)
       acc = acc + 3*momenta(1,3)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(3,10)
       acc = -3*momenta(1,1)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(4,10)
       acc = -3*momenta(1,1)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(5,10)
       acc = -3*momenta(1,2)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,2)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(6,10)
       acc = -momenta(1,0)*momenta(2,1)
       acc = acc - momenta(1,1)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(1,2)
       acc = -momenta(1,0)*momenta(2,1)
       acc = acc - momenta(1,1)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(2,2)
       acc = -momenta(1,0)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(3,2)
       acc = -momenta(1,1)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(4,2)
       acc = momenta(1,1)*momenta(2,1)
       res = res + acc * coeffs%c2(1,7)
       acc = momenta(1,2)*momenta(2,2)
       res = res + acc * coeffs%c2(2,7)
       acc = momenta(1,3)*momenta(2,3)
       res = res + acc * coeffs%c2(3,7)
       acc = -momenta(1,2)*momenta(2,2)
       res = res + acc * coeffs%c2(4,7)
       acc = -momenta(1,3)*momenta(2,3)
       res = res + acc * coeffs%c2(5,7)
       acc = -momenta(1,3)*momenta(2,3)
       res = res + acc * coeffs%c2(6,7)
       acc = -momenta(1,0)*momenta(2,0)
       res = res + acc * coeffs%c2(1,7)
       acc = -momenta(1,0)*momenta(2,0)
       res = res + acc * coeffs%c2(2,7)
       acc = -momenta(1,0)*momenta(2,0)
       res = res + acc * coeffs%c2(3,7)
       acc = -momenta(1,1)*momenta(2,1)
       res = res + acc * coeffs%c2(4,7)
       acc = -momenta(1,1)*momenta(2,1)
       res = res + acc * coeffs%c2(5,7)
       acc = -momenta(1,2)*momenta(2,2)
       res = res + acc * coeffs%c2(6,7)
       acc = 6*momenta(1,0)*momenta(2,0)
       res = res + acc * coeffs%c1(1,4)
       acc = -6*momenta(1,1)*momenta(2,1)
       res = res + acc * coeffs%c1(2,4)
       acc = -6*momenta(1,2)*momenta(2,2)
       res = res + acc * coeffs%c1(3,4)
       acc = -6*momenta(1,3)*momenta(2,3)
       res = res + acc * coeffs%c1(4,4)
    case(3)
       acc = 3*momenta(1,0)*momenta(2,1)
       acc = acc + 3*momenta(1,1)*momenta(2,0)
       reg0 = acc * momenta(3,1)
       acc = 3*momenta(1,1)*momenta(2,1)*momenta(3,0)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = acc * coeffs%c2(1,11)
       acc = 3*momenta(1,0)*momenta(2,2)
       acc = acc + 3*momenta(1,2)*momenta(2,0)
       reg0 = acc * momenta(3,2)
       acc = 3*momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(2,11)
       acc = 3*momenta(2,0)*momenta(3,3)
       acc = acc + 3*momenta(2,3)*momenta(3,0)
       reg0 = acc * momenta(1,3)
       acc = 3*momenta(1,0)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(3,11)
       acc = -3*momenta(1,1)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,2)
       acc = -3*momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(4,11)
       acc = -3*momenta(2,1)*momenta(3,3)
       acc = acc - 3*momenta(2,3)*momenta(3,1)
       reg0 = acc * momenta(1,3)
       acc = -3*momenta(1,1)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(5,11)
       acc = -3*momenta(2,2)*momenta(3,3)
       acc = acc - 3*momenta(2,3)*momenta(3,2)
       reg0 = acc * momenta(1,3)
       acc = -3*momenta(1,2)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(6,11)
       acc = -momenta(1,0)*momenta(2,0)*momenta(3,0)
       res = res + acc * coeffs%c2(1,11)
       acc = -momenta(1,0)*momenta(2,0)*momenta(3,0)
       res = res + acc * coeffs%c2(2,11)
       acc = -momenta(1,0)*momenta(2,0)*momenta(3,0)
       res = res + acc * coeffs%c2(3,11)
       acc = -momenta(1,1)*momenta(2,1)*momenta(3,1)
       res = res + acc * coeffs%c2(4,11)
       acc = -momenta(1,1)*momenta(2,1)*momenta(3,1)
       res = res + acc * coeffs%c2(5,11)
       acc = -momenta(1,2)*momenta(2,2)*momenta(3,2)
       res = res + acc * coeffs%c2(6,11)
       acc = 3*momenta(1,1)*momenta(2,2)
       acc = acc + 3*momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,0)
       acc = 3*momenta(1,0)*momenta(2,1)
       acc = acc + 3*momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(3,2)
       acc = 3*momenta(1,0)*momenta(2,2)
       acc = acc + 3*momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(1,17)
       acc = 3*momenta(1,1)*momenta(2,3)
       acc = acc + 3*momenta(1,3)*momenta(2,1)
       reg0 = acc * momenta(3,0)
       acc = 3*momenta(1,0)*momenta(2,1)
       acc = acc + 3*momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(3,3)
       acc = 3*momenta(1,0)*momenta(2,3)
       acc = acc + 3*momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(2,17)
       acc = 3*momenta(1,2)*momenta(2,3)
       acc = acc + 3*momenta(1,3)*momenta(2,2)
       reg0 = acc * momenta(3,0)
       acc = 3*momenta(1,0)*momenta(2,3)
       acc = acc + 3*momenta(1,3)*momenta(2,0)
       reg1 = acc * momenta(3,2)
       acc = 3*momenta(1,0)*momenta(2,2)
       acc = acc + 3*momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(3,17)
       acc = -3*momenta(2,1)*momenta(3,2)
       acc = acc - 3*momenta(2,2)*momenta(3,1)
       reg0 = acc * momenta(1,3)
       acc = -3*momenta(1,1)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,1)
       reg1 = acc * momenta(3,3)
       acc = -3*momenta(1,1)*momenta(3,2)
       acc = acc - 3*momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(4,17)
       acc = -momenta(1,1)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,1)
       acc = acc - momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(3,2)
       acc = -momenta(1,0)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c4(1,2)
       acc = -3*momenta(1,1)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(2,1)
       acc = acc - 3*momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(3,2)
       acc = -3*momenta(1,0)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(1,3)
       acc = -3*momenta(1,1)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,1)
       reg0 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(2,1)
       acc = acc - 3*momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(3,3)
       acc = -3*momenta(1,0)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(2,3)
       acc = -3*momenta(1,2)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,2)
       reg0 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,0)
       reg1 = acc * momenta(3,2)
       acc = -3*momenta(1,0)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(3,3)
       acc = -3*momenta(2,1)*momenta(3,2)
       acc = acc - 3*momenta(2,2)*momenta(3,1)
       reg0 = acc * momenta(1,3)
       acc = -3*momenta(1,1)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,1)
       reg1 = acc * momenta(3,3)
       acc = -3*momenta(1,1)*momenta(3,2)
       acc = acc - 3*momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(4,3)
       acc = momenta(2,1)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,1)
       reg0 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg1 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c4(1,11)
       acc = -momenta(1,1)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,1)
       reg0 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,1)
       acc = acc - momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(3,3)
       acc = -momenta(1,0)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c4(1,4)
       acc = -3*momenta(1,1)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(2,1)
       acc = acc - 3*momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(3,2)
       acc = -3*momenta(1,0)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(1,8)
       acc = -3*momenta(1,1)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,1)
       reg0 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(2,1)
       acc = acc - 3*momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(3,3)
       acc = -3*momenta(1,0)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(2,8)
       acc = -3*momenta(1,2)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,2)
       reg0 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,0)
       reg1 = acc * momenta(3,2)
       acc = -3*momenta(1,0)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(3,8)
       acc = -3*momenta(2,1)*momenta(3,2)
       acc = acc - 3*momenta(2,2)*momenta(3,1)
       reg0 = acc * momenta(1,3)
       acc = -3*momenta(1,1)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,1)
       reg1 = acc * momenta(3,3)
       acc = -3*momenta(1,1)*momenta(3,2)
       acc = acc - 3*momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(4,8)
       acc = -6*momenta(1,0)*momenta(2,1)
       acc = acc - 6*momenta(1,1)*momenta(2,0)
       reg0 = acc * momenta(3,1)
       acc = -6*momenta(1,1)*momenta(2,1)*momenta(3,0)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(1,4)
       acc = -6*momenta(1,0)*momenta(2,2)
       acc = acc - 6*momenta(1,2)*momenta(2,0)
       reg0 = acc * momenta(3,2)
       acc = -6*momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(2,4)
       acc = -6*momenta(2,0)*momenta(3,3)
       acc = acc - 6*momenta(2,3)*momenta(3,0)
       reg0 = acc * momenta(1,3)
       acc = -6*momenta(1,0)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(3,4)
       acc = -6*momenta(1,1)*momenta(2,2)
       acc = acc - 6*momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,2)
       acc = -6*momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(4,4)
       acc = -6*momenta(2,1)*momenta(3,3)
       acc = acc - 6*momenta(2,3)*momenta(3,1)
       reg0 = acc * momenta(1,3)
       acc = -6*momenta(1,1)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(5,4)
       acc = -6*momenta(2,2)*momenta(3,3)
       acc = acc - 6*momenta(2,3)*momenta(3,2)
       reg0 = acc * momenta(1,3)
       acc = -6*momenta(1,2)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(6,4)
       acc = -momenta(1,0)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,0)
       reg0 = acc * momenta(3,2)
       acc = -momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(1,6)
       acc = -momenta(2,0)*momenta(3,3)
       acc = acc - momenta(2,3)*momenta(3,0)
       reg0 = acc * momenta(1,3)
       acc = -momenta(1,0)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(2,6)
       acc = -momenta(2,0)*momenta(3,3)
       acc = acc - momenta(2,3)*momenta(3,0)
       reg0 = acc * momenta(1,3)
       acc = -momenta(1,0)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(3,6)
       acc = -momenta(2,1)*momenta(3,3)
       acc = acc - momenta(2,3)*momenta(3,1)
       reg0 = acc * momenta(1,3)
       acc = -momenta(1,1)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(4,6)
       acc = -momenta(1,0)*momenta(2,1)
       acc = acc - momenta(1,1)*momenta(2,0)
       reg0 = acc * momenta(3,1)
       acc = -momenta(1,1)*momenta(2,1)*momenta(3,0)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(1,6)
       acc = -momenta(1,0)*momenta(2,1)
       acc = acc - momenta(1,1)*momenta(2,0)
       reg0 = acc * momenta(3,1)
       acc = -momenta(1,1)*momenta(2,1)*momenta(3,0)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(2,6)
       acc = -momenta(1,0)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,0)
       reg0 = acc * momenta(3,2)
       acc = -momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(3,6)
       acc = -momenta(1,1)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,2)
       acc = -momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(4,6)
       acc = 10*momenta(1,0)*momenta(2,0)*momenta(3,0)
       res = res + acc * coeffs%c1(1,5)
       acc = -10*momenta(1,1)*momenta(2,1)*momenta(3,1)
       res = res + acc * coeffs%c1(2,5)
       acc = -10*momenta(1,2)*momenta(2,2)*momenta(3,2)
       res = res + acc * coeffs%c1(3,5)
       acc = -10*momenta(1,3)*momenta(2,3)*momenta(3,3)
       res = res + acc * coeffs%c1(4,5)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,1)
       res = res + acc * coeffs%c2(1,8)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,2)
       res = res + acc * coeffs%c2(2,8)
       acc = momenta(1,3)*momenta(2,3)*momenta(3,3)
       res = res + acc * coeffs%c2(3,8)
       acc = -momenta(1,2)*momenta(2,2)*momenta(3,2)
       res = res + acc * coeffs%c2(4,8)
       acc = -momenta(1,3)*momenta(2,3)*momenta(3,3)
       res = res + acc * coeffs%c2(5,8)
       acc = -momenta(1,3)*momenta(2,3)*momenta(3,3)
       res = res + acc * coeffs%c2(6,8)
       acc = -3*momenta(1,0)*momenta(2,1)
       acc = acc - 3*momenta(1,1)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(2,0)*momenta(3,1)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(1,8)
       acc = -3*momenta(1,0)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(2,8)
       acc = -3*momenta(1,0)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(2,0)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(3,8)
       acc = -3*momenta(1,1)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,1)
       acc = -3*momenta(1,1)*momenta(2,1)*momenta(3,2)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(4,8)
       acc = -3*momenta(1,1)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,1)
       reg0 = acc * momenta(3,1)
       acc = -3*momenta(1,1)*momenta(2,1)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(5,8)
       acc = -3*momenta(1,2)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,2)
       reg0 = acc * momenta(3,2)
       acc = -3*momenta(1,2)*momenta(2,2)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(6,8)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(1,12)
       acc = momenta(2,1)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,1)
       reg0 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(2,12)
       acc = momenta(2,2)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,2)
       reg0 = acc * momenta(1,3)
       acc = momenta(1,2)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(3,12)
       acc = -momenta(2,2)*momenta(3,3)
       acc = acc - momenta(2,3)*momenta(3,2)
       reg0 = acc * momenta(1,3)
       acc = -momenta(1,2)*momenta(2,3)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(4,12)
       acc = -momenta(1,0)*momenta(2,1)
       acc = acc - momenta(1,1)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,0)*momenta(3,1)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(1,12)
       acc = -momenta(1,0)*momenta(2,1)
       acc = acc - momenta(1,1)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,0)*momenta(3,1)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(2,12)
       acc = -momenta(1,0)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(3,12)
       acc = -momenta(1,1)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,1)
       acc = -momenta(1,1)*momenta(2,1)*momenta(3,2)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(4,12)
       acc = 6*momenta(1,0)*momenta(2,1)
       acc = acc + 6*momenta(1,1)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = 6*momenta(1,0)*momenta(2,0)*momenta(3,1)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(1,13)
       acc = 6*momenta(1,0)*momenta(2,2)
       acc = acc + 6*momenta(1,2)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = 6*momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(2,13)
       acc = 6*momenta(1,0)*momenta(2,3)
       acc = acc + 6*momenta(1,3)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = 6*momenta(1,0)*momenta(2,0)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(3,13)
       acc = -6*momenta(1,1)*momenta(2,2)
       acc = acc - 6*momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,1)
       acc = -6*momenta(1,1)*momenta(2,1)*momenta(3,2)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(4,13)
       acc = -6*momenta(1,1)*momenta(2,3)
       acc = acc - 6*momenta(1,3)*momenta(2,1)
       reg0 = acc * momenta(3,1)
       acc = -6*momenta(1,1)*momenta(2,1)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(5,13)
       acc = -6*momenta(1,2)*momenta(2,3)
       acc = acc - 6*momenta(1,3)*momenta(2,2)
       reg0 = acc * momenta(3,2)
       acc = -6*momenta(1,2)*momenta(2,2)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c2(6,13)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(1,14)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(2,14)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg0 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(3,14)
       acc = -momenta(1,2)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,2)
       reg0 = acc * momenta(3,2)
       acc = -momenta(1,2)*momenta(2,2)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(4,14)
       acc = -momenta(1,0)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(1,14)
       acc = -momenta(1,0)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,0)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(2,14)
       acc = -momenta(1,0)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,0)
       reg0 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,0)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(3,14)
       acc = -momenta(1,1)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,1)
       reg0 = acc * momenta(3,1)
       acc = -momenta(1,1)*momenta(2,1)*momenta(3,3)
       acc = acc + reg0
       acc = acc / 3.0_ki
       res = res + acc * coeffs%c3(4,14)
       acc = -momenta(1,2)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,2)
       reg0 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,0)
       reg1 = acc * momenta(3,2)
       acc = -momenta(1,0)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c4(1,7)
    case(4)
       acc = momenta(1,1)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,1)
       reg1 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg2 = acc * momenta(3,2)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       acc = acc * momenta(3,3)
       acc = acc + reg2
       reg1 = acc * momenta(2,1)
       acc = momenta(2,2)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = acc * coeffs%c4(1,14)
       acc = -momenta(1,0)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,0)
       reg1 = acc * momenta(4,2)
       acc = -momenta(1,0)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = -momenta(1,2)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,0)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = -momenta(1,0)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg2
       reg1 = acc * momenta(4,0)
       acc = -momenta(3,2)*momenta(4,3)
       acc = acc - momenta(3,3)*momenta(4,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c4(1,14)
       acc = -3*momenta(1,1)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,1)
       reg1 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(2,1)
       acc = acc - 3*momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = -3*momenta(1,0)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = -3*momenta(1,0)*momenta(4,1)
       acc = acc - 3*momenta(1,1)*momenta(4,0)
       reg2 = acc * momenta(2,2)
       acc = -3*momenta(2,0)*momenta(4,1)
       acc = acc - 3*momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = -3*momenta(3,0)*momenta(4,1)
       acc = acc - 3*momenta(3,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(1,9)
       acc = -3*momenta(2,1)*momenta(4,3)
       acc = acc - 3*momenta(2,3)*momenta(4,1)
       reg1 = acc * momenta(3,0)
       acc = -3*momenta(2,0)*momenta(4,1)
       acc = acc - 3*momenta(2,1)*momenta(4,0)
       reg2 = acc * momenta(3,3)
       acc = -3*momenta(2,0)*momenta(4,3)
       acc = acc - 3*momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = -3*momenta(1,0)*momenta(2,1)
       acc = acc - 3*momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = -3*momenta(1,0)*momenta(4,1)
       acc = acc - 3*momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = -3*momenta(1,0)*momenta(3,1)
       acc = acc - 3*momenta(1,1)*momenta(3,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(2,9)
       acc = -3*momenta(2,0)*momenta(3,3)
       acc = acc - 3*momenta(2,3)*momenta(3,0)
       reg1 = acc * momenta(4,2)
       acc = -3*momenta(2,0)*momenta(4,3)
       acc = acc - 3*momenta(2,3)*momenta(4,0)
       reg2 = acc * momenta(3,2)
       acc = -3*momenta(3,0)*momenta(4,3)
       acc = acc - 3*momenta(3,3)*momenta(4,0)
       acc = acc * momenta(2,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = -3*momenta(1,0)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = -3*momenta(1,0)*momenta(4,2)
       acc = acc - 3*momenta(1,2)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = -3*momenta(1,0)*momenta(3,2)
       acc = acc - 3*momenta(1,2)*momenta(3,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(3,9)
       acc = -3*momenta(2,1)*momenta(3,3)
       acc = acc - 3*momenta(2,3)*momenta(3,1)
       reg1 = acc * momenta(4,2)
       acc = -3*momenta(2,1)*momenta(4,3)
       acc = acc - 3*momenta(2,3)*momenta(4,1)
       reg2 = acc * momenta(3,2)
       acc = -3*momenta(3,1)*momenta(4,3)
       acc = acc - 3*momenta(3,3)*momenta(4,1)
       acc = acc * momenta(2,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = -3*momenta(1,1)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(4,3)
       acc = -3*momenta(1,1)*momenta(4,2)
       acc = acc - 3*momenta(1,2)*momenta(4,1)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = -3*momenta(1,1)*momenta(3,2)
       acc = acc - 3*momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(4,9)
       acc = -momenta(1,0)*momenta(4,1)
       acc = acc - momenta(1,1)*momenta(4,0)
       reg1 = acc * momenta(2,1)
       acc = -momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = -momenta(1,1)*momenta(2,1)*momenta(3,0)*momenta(4,1)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c3(1,9)
       acc = -momenta(1,0)*momenta(4,1)
       acc = acc - momenta(1,1)*momenta(4,0)
       reg1 = acc * momenta(2,1)
       acc = -momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = -momenta(1,1)*momenta(2,1)*momenta(3,0)*momenta(4,1)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c3(2,9)
       acc = -momenta(1,0)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,0)
       reg1 = acc * momenta(3,2)
       acc = -momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = -momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,0)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c3(3,9)
       acc = -momenta(1,1)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,1)
       reg1 = acc * momenta(3,2)
       acc = -momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = -momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,1)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c3(4,9)
       acc = -3*momenta(1,1)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,1)
       reg1 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(2,1)
       acc = acc - 3*momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(3,3)
       acc = -3*momenta(1,0)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = -3*momenta(2,0)*momenta(4,1)
       acc = acc - 3*momenta(2,1)*momenta(4,0)
       reg2 = acc * momenta(1,3)
       acc = -3*momenta(1,0)*momenta(2,1)
       acc = acc - 3*momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(4,3)
       acc = -3*momenta(1,0)*momenta(4,1)
       acc = acc - 3*momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = -3*momenta(1,1)*momenta(4,3)
       acc = acc - 3*momenta(1,3)*momenta(4,1)
       reg3 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(4,1)
       acc = acc - 3*momenta(1,1)*momenta(4,0)
       reg4 = acc * momenta(3,3)
       acc = -3*momenta(1,0)*momenta(4,3)
       acc = acc - 3*momenta(1,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(2,2)
       acc = -3*momenta(2,1)*momenta(4,3)
       acc = acc - 3*momenta(2,3)*momenta(4,1)
       reg4 = acc * momenta(3,0)
       acc = -3*momenta(2,0)*momenta(4,1)
       acc = acc - 3*momenta(2,1)*momenta(4,0)
       reg5 = acc * momenta(3,3)
       acc = -3*momenta(2,0)*momenta(4,3)
       acc = acc - 3*momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       acc = acc + reg4
       acc = acc * momenta(1,2)
       acc = acc + reg2
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 24.0_ki
       res = res + acc * coeffs%c4(1,6)
       acc = 10*momenta(1,0)*momenta(2,1)
       acc = acc + 10*momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(4,0)
       acc = 10*momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = 10*momenta(1,0)*momenta(2,0)*momenta(3,1)*momenta(4,0)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(1,15)
       acc = 10*momenta(1,0)*momenta(2,2)
       acc = acc + 10*momenta(1,2)*momenta(2,0)
       reg1 = acc * momenta(4,0)
       acc = 10*momenta(1,0)*momenta(2,0)*momenta(4,2)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = 10*momenta(1,0)*momenta(2,0)*momenta(3,2)*momenta(4,0)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(2,15)
       acc = 10*momenta(1,0)*momenta(2,3)
       acc = acc + 10*momenta(1,3)*momenta(2,0)
       reg1 = acc * momenta(4,0)
       acc = 10*momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = 10*momenta(1,0)*momenta(2,0)*momenta(3,3)*momenta(4,0)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(3,15)
       acc = -10*momenta(1,1)*momenta(4,2)
       acc = acc - 10*momenta(1,2)*momenta(4,1)
       reg1 = acc * momenta(2,1)
       acc = -10*momenta(1,1)*momenta(2,2)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = -10*momenta(1,1)*momenta(2,1)*momenta(3,2)*momenta(4,1)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(4,15)
       acc = -10*momenta(1,1)*momenta(4,3)
       acc = acc - 10*momenta(1,3)*momenta(4,1)
       reg1 = acc * momenta(2,1)
       acc = -10*momenta(1,1)*momenta(2,3)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = -10*momenta(1,1)*momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(5,15)
       acc = -10*momenta(1,2)*momenta(2,3)
       acc = acc - 10*momenta(1,3)*momenta(2,2)
       reg1 = acc * momenta(3,2)
       acc = -10*momenta(1,2)*momenta(2,2)*momenta(3,3)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = -10*momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,3)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(6,15)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       reg1 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,2)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)*momenta(4,1)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c3(1,16)
       acc = momenta(1,1)*momenta(4,3)
       acc = acc + momenta(1,3)*momenta(4,1)
       reg1 = acc * momenta(2,1)
       acc = momenta(1,1)*momenta(2,3)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c3(2,16)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg1 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,3)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,3)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c3(3,16)
       acc = -momenta(1,2)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,2)
       reg1 = acc * momenta(3,2)
       acc = -momenta(1,2)*momenta(2,2)*momenta(3,3)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = -momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,3)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c3(4,16)
       acc = -3*momenta(1,0)*momenta(2,1)
       acc = acc - 3*momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(4,2)
       acc = -3*momenta(1,0)*momenta(4,1)
       acc = acc - 3*momenta(1,1)*momenta(4,0)
       reg2 = acc * momenta(2,2)
       acc = -3*momenta(2,0)*momenta(4,1)
       acc = acc - 3*momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(2,1)
       acc = acc - 3*momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = -3*momenta(1,0)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       reg1 = acc * momenta(4,0)
       acc = -3*momenta(3,1)*momenta(4,2)
       acc = acc - 3*momenta(3,2)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(1,16)
       acc = -3*momenta(2,0)*momenta(4,1)
       acc = acc - 3*momenta(2,1)*momenta(4,0)
       reg1 = acc * momenta(1,3)
       acc = -3*momenta(1,0)*momenta(2,1)
       acc = acc - 3*momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = -3*momenta(1,0)*momenta(4,1)
       acc = acc - 3*momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(2,1)
       acc = acc - 3*momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(3,3)
       acc = -3*momenta(1,0)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       reg1 = acc * momenta(4,0)
       acc = -3*momenta(3,1)*momenta(4,3)
       acc = acc - 3*momenta(3,3)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(2,16)
       acc = -3*momenta(1,0)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,0)
       reg1 = acc * momenta(4,2)
       acc = -3*momenta(1,0)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = -3*momenta(1,2)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,0)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = -3*momenta(1,0)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg2
       reg1 = acc * momenta(4,0)
       acc = -3*momenta(3,2)*momenta(4,3)
       acc = acc - 3*momenta(3,3)*momenta(4,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(3,16)
       acc = -3*momenta(1,1)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,1)
       reg1 = acc * momenta(4,2)
       acc = -3*momenta(1,1)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(4,3)
       acc = -3*momenta(1,2)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = -3*momenta(1,1)*momenta(4,3)
       acc = acc - 3*momenta(1,3)*momenta(4,1)
       reg2 = acc * momenta(3,2)
       acc = -3*momenta(1,1)*momenta(4,2)
       acc = acc - 3*momenta(1,2)*momenta(4,1)
       acc = acc * momenta(3,3)
       acc = acc + reg2
       reg1 = acc * momenta(2,1)
       acc = -3*momenta(2,2)*momenta(3,3)
       acc = acc - 3*momenta(2,3)*momenta(3,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(4,16)
       acc = -momenta(2,1)*momenta(4,3)
       acc = acc - momenta(2,3)*momenta(4,1)
       reg1 = acc * momenta(3,0)
       acc = -momenta(2,0)*momenta(4,1)
       acc = acc - momenta(2,1)*momenta(4,0)
       reg2 = acc * momenta(3,3)
       acc = -momenta(2,0)*momenta(4,3)
       acc = acc - momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = -momenta(1,0)*momenta(2,1)
       acc = acc - momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = -momenta(1,0)*momenta(4,1)
       acc = acc - momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = -momenta(1,0)*momenta(3,1)
       acc = acc - momenta(1,1)*momenta(3,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c4(1,5)
       acc = -momenta(1,1)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,1)
       reg1 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,1)
       acc = acc - momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = -momenta(1,0)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = -momenta(1,0)*momenta(4,1)
       acc = acc - momenta(1,1)*momenta(4,0)
       reg2 = acc * momenta(2,2)
       acc = -momenta(2,0)*momenta(4,1)
       acc = acc - momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = -momenta(3,0)*momenta(4,1)
       acc = acc - momenta(3,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c4(1,5)
       acc = momenta(2,1)*momenta(3,2)
       acc = acc + momenta(2,2)*momenta(3,1)
       reg1 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(4,3)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,1)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c4(1,13)
       acc = -momenta(2,0)*momenta(4,1)
       acc = acc - momenta(2,1)*momenta(4,0)
       reg1 = acc * momenta(1,3)
       acc = -momenta(1,0)*momenta(2,1)
       acc = acc - momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = -momenta(1,0)*momenta(4,1)
       acc = acc - momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,1)
       acc = acc - momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(3,3)
       acc = -momenta(1,0)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       reg1 = acc * momenta(4,0)
       acc = -momenta(3,1)*momenta(4,3)
       acc = acc - momenta(3,3)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c4(1,13)
       acc = 3*momenta(1,0)*momenta(4,1)
       acc = acc + 3*momenta(1,1)*momenta(4,0)
       reg1 = acc * momenta(2,1)
       acc = 3*momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = 3*momenta(1,1)*momenta(2,1)*momenta(3,0)*momenta(4,1)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(1,12)
       acc = 3*momenta(1,0)*momenta(2,2)
       acc = acc + 3*momenta(1,2)*momenta(2,0)
       reg1 = acc * momenta(3,2)
       acc = 3*momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = 3*momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,0)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(2,12)
       acc = 3*momenta(2,0)*momenta(4,3)
       acc = acc + 3*momenta(2,3)*momenta(4,0)
       reg1 = acc * momenta(3,3)
       acc = 3*momenta(2,3)*momenta(3,0)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = 3*momenta(1,0)*momenta(2,3)*momenta(3,3)*momenta(4,3)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(3,12)
       acc = -3*momenta(1,1)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,1)
       reg1 = acc * momenta(3,2)
       acc = -3*momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = -3*momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,1)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(4,12)
       acc = -3*momenta(2,1)*momenta(4,3)
       acc = acc - 3*momenta(2,3)*momenta(4,1)
       reg1 = acc * momenta(3,3)
       acc = -3*momenta(2,3)*momenta(3,1)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = -3*momenta(1,1)*momenta(2,3)*momenta(3,3)*momenta(4,3)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(5,12)
       acc = -3*momenta(2,2)*momenta(4,3)
       acc = acc - 3*momenta(2,3)*momenta(4,2)
       reg1 = acc * momenta(3,3)
       acc = -3*momenta(2,3)*momenta(3,2)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = -3*momenta(1,2)*momenta(2,3)*momenta(3,3)*momenta(4,3)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(6,12)
       acc = -3*momenta(1,0)*momenta(2,1)
       acc = acc - 3*momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(4,0)
       acc = -3*momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(2,0)*momenta(3,1)*momenta(4,0)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(1,12)
       acc = -3*momenta(1,0)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,0)
       reg1 = acc * momenta(4,0)
       acc = -3*momenta(1,0)*momenta(2,0)*momenta(4,2)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(2,0)*momenta(3,2)*momenta(4,0)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(2,12)
       acc = -3*momenta(1,0)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,0)
       reg1 = acc * momenta(4,0)
       acc = -3*momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(2,0)*momenta(3,3)*momenta(4,0)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(3,12)
       acc = -3*momenta(1,1)*momenta(4,2)
       acc = acc - 3*momenta(1,2)*momenta(4,1)
       reg1 = acc * momenta(2,1)
       acc = -3*momenta(1,1)*momenta(2,2)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = -3*momenta(1,1)*momenta(2,1)*momenta(3,2)*momenta(4,1)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(4,12)
       acc = -3*momenta(1,1)*momenta(4,3)
       acc = acc - 3*momenta(1,3)*momenta(4,1)
       reg1 = acc * momenta(2,1)
       acc = -3*momenta(1,1)*momenta(2,3)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = -3*momenta(1,1)*momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(5,12)
       acc = -3*momenta(1,2)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,2)
       reg1 = acc * momenta(3,2)
       acc = -3*momenta(1,2)*momenta(2,2)*momenta(3,3)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = -3*momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,3)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(6,12)
       acc = -6*momenta(1,0)*momenta(2,1)
       acc = acc - 6*momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(4,2)
       acc = -6*momenta(1,0)*momenta(4,1)
       acc = acc - 6*momenta(1,1)*momenta(4,0)
       reg2 = acc * momenta(2,2)
       acc = -6*momenta(2,0)*momenta(4,1)
       acc = acc - 6*momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = -6*momenta(1,1)*momenta(4,2)
       acc = acc - 6*momenta(1,2)*momenta(4,1)
       reg2 = acc * momenta(3,0)
       acc = -6*momenta(1,0)*momenta(4,1)
       acc = acc - 6*momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,2)
       acc = acc + reg2
       reg1 = acc * momenta(2,1)
       acc = -6*momenta(2,0)*momenta(3,2)
       acc = acc - 6*momenta(2,2)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(1,10)
       acc = -6*momenta(2,0)*momenta(4,1)
       acc = acc - 6*momenta(2,1)*momenta(4,0)
       reg1 = acc * momenta(1,3)
       acc = -6*momenta(1,0)*momenta(2,1)
       acc = acc - 6*momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = -6*momenta(1,0)*momenta(4,1)
       acc = acc - 6*momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = -6*momenta(1,1)*momenta(4,3)
       acc = acc - 6*momenta(1,3)*momenta(4,1)
       reg2 = acc * momenta(3,0)
       acc = -6*momenta(1,0)*momenta(4,1)
       acc = acc - 6*momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,3)
       acc = acc + reg2
       reg1 = acc * momenta(2,1)
       acc = -6*momenta(2,0)*momenta(3,3)
       acc = acc - 6*momenta(2,3)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(2,10)
       acc = -6*momenta(1,2)*momenta(2,3)
       acc = acc - 6*momenta(1,3)*momenta(2,2)
       reg1 = acc * momenta(3,0)
       acc = -6*momenta(1,0)*momenta(2,3)
       acc = acc - 6*momenta(1,3)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = -6*momenta(1,0)*momenta(2,2)
       acc = acc - 6*momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = -6*momenta(1,0)*momenta(2,2)
       acc = acc - 6*momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = -6*momenta(1,2)*momenta(2,3)
       acc = acc - 6*momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,0)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = -6*momenta(3,0)*momenta(4,3)
       acc = acc - 6*momenta(3,3)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(3,10)
       acc = -6*momenta(2,1)*momenta(3,2)
       acc = acc - 6*momenta(2,2)*momenta(3,1)
       reg1 = acc * momenta(1,3)
       acc = -6*momenta(1,1)*momenta(2,2)
       acc = acc - 6*momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(3,3)
       acc = -6*momenta(1,1)*momenta(3,2)
       acc = acc - 6*momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = -6*momenta(1,1)*momenta(2,2)
       acc = acc - 6*momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(4,3)
       acc = -6*momenta(1,2)*momenta(2,3)
       acc = acc - 6*momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,1)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = -6*momenta(3,1)*momenta(4,3)
       acc = acc - 6*momenta(3,3)*momenta(4,1)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(4,10)
       acc = -momenta(1,2)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,2)
       reg1 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = -momenta(1,0)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = -momenta(1,0)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = -momenta(1,2)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,0)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = -momenta(3,0)*momenta(4,3)
       acc = acc - momenta(3,3)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c4(1,9)
       acc = -momenta(2,0)*momenta(4,1)
       acc = acc - momenta(2,1)*momenta(4,0)
       reg1 = acc * momenta(1,3)
       acc = -momenta(1,0)*momenta(2,1)
       acc = acc - momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = -momenta(1,0)*momenta(4,1)
       acc = acc - momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = -momenta(1,1)*momenta(4,3)
       acc = acc - momenta(1,3)*momenta(4,1)
       reg2 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(4,1)
       acc = acc - momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,3)
       acc = acc + reg2
       reg1 = acc * momenta(2,1)
       acc = -momenta(2,0)*momenta(3,3)
       acc = acc - momenta(2,3)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c4(1,9)
       acc = 3*momenta(1,1)*momenta(2,3)
       acc = acc + 3*momenta(1,3)*momenta(2,1)
       reg1 = acc * momenta(3,0)
       acc = 3*momenta(1,0)*momenta(2,1)
       acc = acc + 3*momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(3,3)
       acc = 3*momenta(1,0)*momenta(2,3)
       acc = acc + 3*momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = 3*momenta(2,0)*momenta(4,1)
       acc = acc + 3*momenta(2,1)*momenta(4,0)
       reg2 = acc * momenta(1,3)
       acc = 3*momenta(1,0)*momenta(2,1)
       acc = acc + 3*momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(4,3)
       acc = 3*momenta(1,0)*momenta(4,1)
       acc = acc + 3*momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = 3*momenta(1,1)*momenta(4,3)
       acc = acc + 3*momenta(1,3)*momenta(4,1)
       reg3 = acc * momenta(3,0)
       acc = 3*momenta(1,0)*momenta(4,1)
       acc = acc + 3*momenta(1,1)*momenta(4,0)
       reg4 = acc * momenta(3,3)
       acc = 3*momenta(1,0)*momenta(4,3)
       acc = acc + 3*momenta(1,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(2,2)
       acc = 3*momenta(2,1)*momenta(4,3)
       acc = acc + 3*momenta(2,3)*momenta(4,1)
       reg4 = acc * momenta(3,0)
       acc = 3*momenta(2,0)*momenta(4,1)
       acc = acc + 3*momenta(2,1)*momenta(4,0)
       reg5 = acc * momenta(3,3)
       acc = 3*momenta(2,0)*momenta(4,3)
       acc = acc + 3*momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       acc = acc + reg4
       acc = acc * momenta(1,2)
       acc = acc + reg2
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 24.0_ki
       res = res + acc * coeffs%c4(1,15)
       acc = -10*momenta(1,0)*momenta(4,1)
       acc = acc - 10*momenta(1,1)*momenta(4,0)
       reg1 = acc * momenta(2,1)
       acc = -10*momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = -10*momenta(1,1)*momenta(2,1)*momenta(3,0)*momenta(4,1)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(1,5)
       acc = -10*momenta(1,0)*momenta(2,2)
       acc = acc - 10*momenta(1,2)*momenta(2,0)
       reg1 = acc * momenta(3,2)
       acc = -10*momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = -10*momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,0)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(2,5)
       acc = -10*momenta(2,0)*momenta(4,3)
       acc = acc - 10*momenta(2,3)*momenta(4,0)
       reg1 = acc * momenta(3,3)
       acc = -10*momenta(2,3)*momenta(3,0)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = -10*momenta(1,0)*momenta(2,3)*momenta(3,3)*momenta(4,3)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(3,5)
       acc = -10*momenta(1,1)*momenta(2,2)
       acc = acc - 10*momenta(1,2)*momenta(2,1)
       reg1 = acc * momenta(3,2)
       acc = -10*momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = -10*momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,1)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(4,5)
       acc = -10*momenta(2,1)*momenta(4,3)
       acc = acc - 10*momenta(2,3)*momenta(4,1)
       reg1 = acc * momenta(3,3)
       acc = -10*momenta(2,3)*momenta(3,1)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = -10*momenta(1,1)*momenta(2,3)*momenta(3,3)*momenta(4,3)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(5,5)
       acc = -10*momenta(2,2)*momenta(4,3)
       acc = acc - 10*momenta(2,3)*momenta(4,2)
       reg1 = acc * momenta(3,3)
       acc = -10*momenta(2,3)*momenta(3,2)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = -10*momenta(1,2)*momenta(2,3)*momenta(3,3)*momenta(4,3)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c2(6,5)
       acc = momenta(2,1)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,1)
       reg1 = acc * momenta(4,2)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg2 = acc * momenta(3,2)
       acc = momenta(3,1)*momenta(4,3)
       acc = acc + momenta(3,3)*momenta(4,1)
       acc = acc * momenta(2,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(4,3)
       acc = momenta(1,1)*momenta(4,2)
       acc = acc + momenta(1,2)*momenta(4,1)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = momenta(1,1)*momenta(3,2)
       acc = acc + momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c4(1,12)
       acc = -momenta(1,0)*momenta(2,1)
       acc = acc - momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(4,2)
       acc = -momenta(1,0)*momenta(4,1)
       acc = acc - momenta(1,1)*momenta(4,0)
       reg2 = acc * momenta(2,2)
       acc = -momenta(2,0)*momenta(4,1)
       acc = acc - momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,1)
       acc = acc - momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = -momenta(1,0)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       reg1 = acc * momenta(4,0)
       acc = -momenta(3,1)*momenta(4,2)
       acc = acc - momenta(3,2)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c4(1,12)
       acc = 3*momenta(1,1)*momenta(2,2)
       acc = acc + 3*momenta(1,2)*momenta(2,1)
       reg1 = acc * momenta(3,0)
       acc = 3*momenta(1,0)*momenta(2,1)
       acc = acc + 3*momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = 3*momenta(1,0)*momenta(2,2)
       acc = acc + 3*momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = 3*momenta(1,0)*momenta(4,1)
       acc = acc + 3*momenta(1,1)*momenta(4,0)
       reg2 = acc * momenta(2,2)
       acc = 3*momenta(2,0)*momenta(4,1)
       acc = acc + 3*momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = 3*momenta(3,0)*momenta(4,1)
       acc = acc + 3*momenta(3,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(1,18)
       acc = 3*momenta(2,1)*momenta(4,3)
       acc = acc + 3*momenta(2,3)*momenta(4,1)
       reg1 = acc * momenta(3,0)
       acc = 3*momenta(2,0)*momenta(4,1)
       acc = acc + 3*momenta(2,1)*momenta(4,0)
       reg2 = acc * momenta(3,3)
       acc = 3*momenta(2,0)*momenta(4,3)
       acc = acc + 3*momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = 3*momenta(1,0)*momenta(2,1)
       acc = acc + 3*momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = 3*momenta(1,0)*momenta(4,1)
       acc = acc + 3*momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = 3*momenta(1,0)*momenta(3,1)
       acc = acc + 3*momenta(1,1)*momenta(3,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(2,18)
       acc = 3*momenta(2,0)*momenta(3,3)
       acc = acc + 3*momenta(2,3)*momenta(3,0)
       reg1 = acc * momenta(4,2)
       acc = 3*momenta(2,0)*momenta(4,3)
       acc = acc + 3*momenta(2,3)*momenta(4,0)
       reg2 = acc * momenta(3,2)
       acc = 3*momenta(3,0)*momenta(4,3)
       acc = acc + 3*momenta(3,3)*momenta(4,0)
       acc = acc * momenta(2,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = 3*momenta(1,0)*momenta(2,2)
       acc = acc + 3*momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = 3*momenta(1,0)*momenta(4,2)
       acc = acc + 3*momenta(1,2)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = 3*momenta(1,0)*momenta(3,2)
       acc = acc + 3*momenta(1,2)*momenta(3,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(3,18)
       acc = -3*momenta(2,1)*momenta(3,3)
       acc = acc - 3*momenta(2,3)*momenta(3,1)
       reg1 = acc * momenta(4,2)
       acc = -3*momenta(2,1)*momenta(4,3)
       acc = acc - 3*momenta(2,3)*momenta(4,1)
       reg2 = acc * momenta(3,2)
       acc = -3*momenta(3,1)*momenta(4,3)
       acc = acc - 3*momenta(3,3)*momenta(4,1)
       acc = acc * momenta(2,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = -3*momenta(1,1)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(4,3)
       acc = -3*momenta(1,1)*momenta(4,2)
       acc = acc - 3*momenta(1,2)*momenta(4,1)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = -3*momenta(1,1)*momenta(3,2)
       acc = acc - 3*momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(4,18)
       acc = -momenta(1,0)*momenta(2,1)
       acc = acc - momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(4,0)
       acc = -momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,0)*momenta(3,1)*momenta(4,0)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c3(1,18)
       acc = -momenta(1,0)*momenta(2,1)
       acc = acc - momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(4,0)
       acc = -momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,0)*momenta(3,1)*momenta(4,0)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c3(2,18)
       acc = -momenta(1,0)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,0)
       reg1 = acc * momenta(4,0)
       acc = -momenta(1,0)*momenta(2,0)*momenta(4,2)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,0)*momenta(3,2)*momenta(4,0)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c3(3,18)
       acc = -momenta(1,1)*momenta(4,2)
       acc = acc - momenta(1,2)*momenta(4,1)
       reg1 = acc * momenta(2,1)
       acc = -momenta(1,1)*momenta(2,2)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = -momenta(1,1)*momenta(2,1)*momenta(3,2)*momenta(4,1)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c3(4,18)
       acc = -momenta(2,0)*momenta(3,3)
       acc = acc - momenta(2,3)*momenta(3,0)
       reg1 = acc * momenta(4,2)
       acc = -momenta(2,0)*momenta(4,3)
       acc = acc - momenta(2,3)*momenta(4,0)
       reg2 = acc * momenta(3,2)
       acc = -momenta(3,0)*momenta(4,3)
       acc = acc - momenta(3,3)*momenta(4,0)
       acc = acc * momenta(2,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = -momenta(1,0)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = -momenta(1,0)*momenta(4,2)
       acc = acc - momenta(1,2)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = -momenta(1,0)*momenta(3,2)
       acc = acc - momenta(1,2)*momenta(3,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c4(1,8)
       acc = -momenta(1,0)*momenta(2,1)
       acc = acc - momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(4,2)
       acc = -momenta(1,0)*momenta(4,1)
       acc = acc - momenta(1,1)*momenta(4,0)
       reg2 = acc * momenta(2,2)
       acc = -momenta(2,0)*momenta(4,1)
       acc = acc - momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = -momenta(1,1)*momenta(4,2)
       acc = acc - momenta(1,2)*momenta(4,1)
       reg2 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(4,1)
       acc = acc - momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,2)
       acc = acc + reg2
       reg1 = acc * momenta(2,1)
       acc = -momenta(2,0)*momenta(3,2)
       acc = acc - momenta(2,2)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c4(1,8)
       acc = 3*momenta(1,0)*momenta(2,1)
       acc = acc + 3*momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(4,2)
       acc = 3*momenta(1,0)*momenta(4,1)
       acc = acc + 3*momenta(1,1)*momenta(4,0)
       reg2 = acc * momenta(2,2)
       acc = 3*momenta(2,0)*momenta(4,1)
       acc = acc + 3*momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = 3*momenta(1,1)*momenta(4,2)
       acc = acc + 3*momenta(1,2)*momenta(4,1)
       reg2 = acc * momenta(3,0)
       acc = 3*momenta(1,0)*momenta(4,1)
       acc = acc + 3*momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,2)
       acc = acc + reg2
       reg1 = acc * momenta(2,1)
       acc = 3*momenta(2,0)*momenta(3,2)
       acc = acc + 3*momenta(2,2)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(1,19)
       acc = 3*momenta(2,0)*momenta(4,1)
       acc = acc + 3*momenta(2,1)*momenta(4,0)
       reg1 = acc * momenta(1,3)
       acc = 3*momenta(1,0)*momenta(2,1)
       acc = acc + 3*momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = 3*momenta(1,0)*momenta(4,1)
       acc = acc + 3*momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = 3*momenta(1,1)*momenta(4,3)
       acc = acc + 3*momenta(1,3)*momenta(4,1)
       reg2 = acc * momenta(3,0)
       acc = 3*momenta(1,0)*momenta(4,1)
       acc = acc + 3*momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,3)
       acc = acc + reg2
       reg1 = acc * momenta(2,1)
       acc = 3*momenta(2,0)*momenta(3,3)
       acc = acc + 3*momenta(2,3)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(2,19)
       acc = 3*momenta(1,2)*momenta(2,3)
       acc = acc + 3*momenta(1,3)*momenta(2,2)
       reg1 = acc * momenta(3,0)
       acc = 3*momenta(1,0)*momenta(2,3)
       acc = acc + 3*momenta(1,3)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = 3*momenta(1,0)*momenta(2,2)
       acc = acc + 3*momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = 3*momenta(1,0)*momenta(2,2)
       acc = acc + 3*momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = 3*momenta(1,2)*momenta(2,3)
       acc = acc + 3*momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,0)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = 3*momenta(3,0)*momenta(4,3)
       acc = acc + 3*momenta(3,3)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(3,19)
       acc = -3*momenta(2,1)*momenta(3,2)
       acc = acc - 3*momenta(2,2)*momenta(3,1)
       reg1 = acc * momenta(1,3)
       acc = -3*momenta(1,1)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(3,3)
       acc = -3*momenta(1,1)*momenta(3,2)
       acc = acc - 3*momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = -3*momenta(1,1)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(4,3)
       acc = -3*momenta(1,2)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,1)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = -3*momenta(3,1)*momenta(4,3)
       acc = acc - 3*momenta(3,3)*momenta(4,1)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(4,19)
       acc = -momenta(1,0)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,0)
       reg1 = acc * momenta(4,0)
       acc = -momenta(1,0)*momenta(2,0)*momenta(4,2)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,0)*momenta(3,2)*momenta(4,0)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c3(1,19)
       acc = -momenta(1,0)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,0)
       reg1 = acc * momenta(4,0)
       acc = -momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,0)*momenta(3,3)*momenta(4,0)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c3(2,19)
       acc = -momenta(1,0)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,0)
       reg1 = acc * momenta(4,0)
       acc = -momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,0)*momenta(3,3)*momenta(4,0)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c3(3,19)
       acc = -momenta(1,1)*momenta(4,3)
       acc = acc - momenta(1,3)*momenta(4,1)
       reg1 = acc * momenta(2,1)
       acc = -momenta(1,1)*momenta(2,3)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = -momenta(1,1)*momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c3(4,19)
       acc = -momenta(1,0)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,0)
       reg1 = acc * momenta(3,2)
       acc = -momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = -momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,0)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c3(1,7)
       acc = -momenta(2,0)*momenta(4,3)
       acc = acc - momenta(2,3)*momenta(4,0)
       reg1 = acc * momenta(3,3)
       acc = -momenta(2,3)*momenta(3,0)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = -momenta(1,0)*momenta(2,3)*momenta(3,3)*momenta(4,3)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c3(2,7)
       acc = -momenta(2,0)*momenta(4,3)
       acc = acc - momenta(2,3)*momenta(4,0)
       reg1 = acc * momenta(3,3)
       acc = -momenta(2,3)*momenta(3,0)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = -momenta(1,0)*momenta(2,3)*momenta(3,3)*momenta(4,3)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c3(3,7)
       acc = -momenta(2,1)*momenta(4,3)
       acc = acc - momenta(2,3)*momenta(4,1)
       reg1 = acc * momenta(3,3)
       acc = -momenta(2,3)*momenta(3,1)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = -momenta(1,1)*momenta(2,3)*momenta(3,3)*momenta(4,3)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c3(4,7)
       acc = -3*momenta(1,0)*momenta(2,1)
       acc = acc - 3*momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(4,2)
       acc = -3*momenta(1,0)*momenta(4,1)
       acc = acc - 3*momenta(1,1)*momenta(4,0)
       reg2 = acc * momenta(2,2)
       acc = -3*momenta(2,0)*momenta(4,1)
       acc = acc - 3*momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = -3*momenta(1,1)*momenta(4,2)
       acc = acc - 3*momenta(1,2)*momenta(4,1)
       reg2 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(4,1)
       acc = acc - 3*momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,2)
       acc = acc + reg2
       reg1 = acc * momenta(2,1)
       acc = -3*momenta(2,0)*momenta(3,2)
       acc = acc - 3*momenta(2,2)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(1,7)
       acc = -3*momenta(2,0)*momenta(4,1)
       acc = acc - 3*momenta(2,1)*momenta(4,0)
       reg1 = acc * momenta(1,3)
       acc = -3*momenta(1,0)*momenta(2,1)
       acc = acc - 3*momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = -3*momenta(1,0)*momenta(4,1)
       acc = acc - 3*momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = -3*momenta(1,1)*momenta(4,3)
       acc = acc - 3*momenta(1,3)*momenta(4,1)
       reg2 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(4,1)
       acc = acc - 3*momenta(1,1)*momenta(4,0)
       acc = acc * momenta(3,3)
       acc = acc + reg2
       reg1 = acc * momenta(2,1)
       acc = -3*momenta(2,0)*momenta(3,3)
       acc = acc - 3*momenta(2,3)*momenta(3,0)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(2,7)
       acc = -3*momenta(1,2)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,2)
       reg1 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = -3*momenta(1,0)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = -3*momenta(1,0)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = -3*momenta(1,2)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,0)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = -3*momenta(3,0)*momenta(4,3)
       acc = acc - 3*momenta(3,3)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(3,7)
       acc = -3*momenta(2,1)*momenta(3,2)
       acc = acc - 3*momenta(2,2)*momenta(3,1)
       reg1 = acc * momenta(1,3)
       acc = -3*momenta(1,1)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(3,3)
       acc = -3*momenta(1,1)*momenta(3,2)
       acc = acc - 3*momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = -3*momenta(1,1)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(4,3)
       acc = -3*momenta(1,2)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,1)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = -3*momenta(3,1)*momenta(4,3)
       acc = acc - 3*momenta(3,3)*momenta(4,1)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(4,7)
       acc = 6*momenta(1,0)*momenta(2,1)
       acc = acc + 6*momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(4,2)
       acc = 6*momenta(1,0)*momenta(4,1)
       acc = acc + 6*momenta(1,1)*momenta(4,0)
       reg2 = acc * momenta(2,2)
       acc = 6*momenta(2,0)*momenta(4,1)
       acc = acc + 6*momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = 6*momenta(1,0)*momenta(2,1)
       acc = acc + 6*momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = 6*momenta(1,0)*momenta(2,2)
       acc = acc + 6*momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       reg1 = acc * momenta(4,0)
       acc = 6*momenta(3,1)*momenta(4,2)
       acc = acc + 6*momenta(3,2)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(1,20)
       acc = 6*momenta(2,0)*momenta(4,1)
       acc = acc + 6*momenta(2,1)*momenta(4,0)
       reg1 = acc * momenta(1,3)
       acc = 6*momenta(1,0)*momenta(2,1)
       acc = acc + 6*momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = 6*momenta(1,0)*momenta(4,1)
       acc = acc + 6*momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = 6*momenta(1,0)*momenta(2,1)
       acc = acc + 6*momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(3,3)
       acc = 6*momenta(1,0)*momenta(2,3)
       acc = acc + 6*momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       reg1 = acc * momenta(4,0)
       acc = 6*momenta(3,1)*momenta(4,3)
       acc = acc + 6*momenta(3,3)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(2,20)
       acc = 6*momenta(1,0)*momenta(2,3)
       acc = acc + 6*momenta(1,3)*momenta(2,0)
       reg1 = acc * momenta(4,2)
       acc = 6*momenta(1,0)*momenta(2,2)
       acc = acc + 6*momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = 6*momenta(1,2)*momenta(2,3)
       acc = acc + 6*momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,0)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = 6*momenta(1,0)*momenta(2,3)
       acc = acc + 6*momenta(1,3)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = 6*momenta(1,0)*momenta(2,2)
       acc = acc + 6*momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg2
       reg1 = acc * momenta(4,0)
       acc = 6*momenta(3,2)*momenta(4,3)
       acc = acc + 6*momenta(3,3)*momenta(4,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(3,20)
       acc = -6*momenta(1,1)*momenta(2,3)
       acc = acc - 6*momenta(1,3)*momenta(2,1)
       reg1 = acc * momenta(4,2)
       acc = -6*momenta(1,1)*momenta(2,2)
       acc = acc - 6*momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(4,3)
       acc = -6*momenta(1,2)*momenta(2,3)
       acc = acc - 6*momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = -6*momenta(1,1)*momenta(4,3)
       acc = acc - 6*momenta(1,3)*momenta(4,1)
       reg2 = acc * momenta(3,2)
       acc = -6*momenta(1,1)*momenta(4,2)
       acc = acc - 6*momenta(1,2)*momenta(4,1)
       acc = acc * momenta(3,3)
       acc = acc + reg2
       reg1 = acc * momenta(2,1)
       acc = -6*momenta(2,2)*momenta(3,3)
       acc = acc - 6*momenta(2,3)*momenta(3,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(4,20)
       acc = -3*momenta(1,1)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,1)
       reg1 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(2,1)
       acc = acc - 3*momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(3,3)
       acc = -3*momenta(1,0)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = -3*momenta(2,0)*momenta(4,1)
       acc = acc - 3*momenta(2,1)*momenta(4,0)
       reg2 = acc * momenta(1,3)
       acc = -3*momenta(1,0)*momenta(2,1)
       acc = acc - 3*momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(4,3)
       acc = -3*momenta(1,0)*momenta(4,1)
       acc = acc - 3*momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = -3*momenta(1,1)*momenta(4,3)
       acc = acc - 3*momenta(1,3)*momenta(4,1)
       reg3 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(4,1)
       acc = acc - 3*momenta(1,1)*momenta(4,0)
       reg4 = acc * momenta(3,3)
       acc = -3*momenta(1,0)*momenta(4,3)
       acc = acc - 3*momenta(1,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(2,2)
       acc = -3*momenta(2,1)*momenta(4,3)
       acc = acc - 3*momenta(2,3)*momenta(4,1)
       reg4 = acc * momenta(3,0)
       acc = -3*momenta(2,0)*momenta(4,1)
       acc = acc - 3*momenta(2,1)*momenta(4,0)
       reg5 = acc * momenta(3,3)
       acc = -3*momenta(2,0)*momenta(4,3)
       acc = acc - 3*momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       acc = acc + reg4
       acc = acc * momenta(1,2)
       acc = acc + reg2
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 24.0_ki
       res = res + acc * coeffs%c4(1,10)
       acc = 6*momenta(1,0)*momenta(4,1)
       acc = acc + 6*momenta(1,1)*momenta(4,0)
       reg1 = acc * momenta(2,1)
       acc = 6*momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = 6*momenta(1,0)*momenta(2,1)
       acc = acc + 6*momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,0)
       acc = 6*momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg2
       acc = acc * momenta(3,1)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(1,14)
       acc = 6*momenta(1,0)*momenta(2,2)
       acc = acc + 6*momenta(1,2)*momenta(2,0)
       reg1 = acc * momenta(3,0)
       acc = 6*momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = 6*momenta(1,0)*momenta(2,2)
       acc = acc + 6*momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = 6*momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg2
       acc = acc * momenta(4,0)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(2,14)
       acc = 6*momenta(2,0)*momenta(4,3)
       acc = acc + 6*momenta(2,3)*momenta(4,0)
       reg1 = acc * momenta(1,3)
       acc = 6*momenta(1,0)*momenta(2,3)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = 6*momenta(1,0)*momenta(2,3)
       acc = acc + 6*momenta(1,3)*momenta(2,0)
       reg2 = acc * momenta(4,0)
       acc = 6*momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg2
       acc = acc * momenta(3,3)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(3,14)
       acc = -6*momenta(1,1)*momenta(2,2)
       acc = acc - 6*momenta(1,2)*momenta(2,1)
       reg1 = acc * momenta(3,1)
       acc = -6*momenta(1,1)*momenta(2,1)*momenta(3,2)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = -6*momenta(1,1)*momenta(2,2)
       acc = acc - 6*momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(3,2)
       acc = -6*momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg2
       acc = acc * momenta(4,1)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(4,14)
       acc = -6*momenta(2,1)*momenta(4,3)
       acc = acc - 6*momenta(2,3)*momenta(4,1)
       reg1 = acc * momenta(3,1)
       acc = -6*momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = -6*momenta(2,1)*momenta(4,3)
       acc = acc - 6*momenta(2,3)*momenta(4,1)
       reg2 = acc * momenta(3,3)
       acc = -6*momenta(2,3)*momenta(3,1)*momenta(4,3)
       acc = acc + reg2
       acc = acc * momenta(1,1)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(5,14)
       acc = -6*momenta(2,2)*momenta(3,3)
       acc = acc - 6*momenta(2,3)*momenta(3,2)
       reg1 = acc * momenta(1,3)
       acc = -6*momenta(1,2)*momenta(2,3)*momenta(3,3)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = -6*momenta(1,2)*momenta(2,3)
       acc = acc - 6*momenta(1,3)*momenta(2,2)
       reg2 = acc * momenta(3,2)
       acc = -6*momenta(1,2)*momenta(2,2)*momenta(3,3)
       acc = acc + reg2
       acc = acc * momenta(4,3)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(6,14)
       acc = -momenta(1,0)*momenta(2,0)*momenta(3,0)*momenta(4,0)
       res = res + acc * coeffs%c2(1,14)
       acc = -momenta(1,0)*momenta(2,0)*momenta(3,0)*momenta(4,0)
       res = res + acc * coeffs%c2(2,14)
       acc = -momenta(1,0)*momenta(2,0)*momenta(3,0)*momenta(4,0)
       res = res + acc * coeffs%c2(3,14)
       acc = -momenta(1,1)*momenta(2,1)*momenta(3,1)*momenta(4,1)
       res = res + acc * coeffs%c2(4,14)
       acc = -momenta(1,1)*momenta(2,1)*momenta(3,1)*momenta(4,1)
       res = res + acc * coeffs%c2(5,14)
       acc = -momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,2)
       res = res + acc * coeffs%c2(6,14)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg1 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,1)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c3(1,13)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg1 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,1)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,1)*momenta(2,3)*momenta(3,3)*momenta(4,3)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c3(2,13)
       acc = momenta(2,2)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,2)
       reg1 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,2)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(1,2)*momenta(2,3)*momenta(3,3)*momenta(4,3)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c3(3,13)
       acc = -momenta(2,2)*momenta(4,3)
       acc = acc - momenta(2,3)*momenta(4,2)
       reg1 = acc * momenta(3,3)
       acc = -momenta(2,3)*momenta(3,2)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = -momenta(1,2)*momenta(2,3)*momenta(3,3)*momenta(4,3)
       acc = acc + reg0
       acc = acc / 4.0_ki
       res = res + acc * coeffs%c3(4,13)
       acc = -3*momenta(1,0)*momenta(2,1)
       acc = acc - 3*momenta(1,1)*momenta(2,0)
       reg1 = acc * momenta(4,2)
       acc = -3*momenta(1,0)*momenta(4,1)
       acc = acc - 3*momenta(1,1)*momenta(4,0)
       reg2 = acc * momenta(2,2)
       acc = -3*momenta(2,0)*momenta(4,1)
       acc = acc - 3*momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(2,1)
       acc = acc - 3*momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = -3*momenta(1,0)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       reg1 = acc * momenta(4,0)
       acc = -3*momenta(3,1)*momenta(4,2)
       acc = acc - 3*momenta(3,2)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(1,13)
       acc = -3*momenta(2,0)*momenta(4,1)
       acc = acc - 3*momenta(2,1)*momenta(4,0)
       reg1 = acc * momenta(1,3)
       acc = -3*momenta(1,0)*momenta(2,1)
       acc = acc - 3*momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = -3*momenta(1,0)*momenta(4,1)
       acc = acc - 3*momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(2,1)
       acc = acc - 3*momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(3,3)
       acc = -3*momenta(1,0)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       reg1 = acc * momenta(4,0)
       acc = -3*momenta(3,1)*momenta(4,3)
       acc = acc - 3*momenta(3,3)*momenta(4,1)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(2,13)
       acc = -3*momenta(1,0)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,0)
       reg1 = acc * momenta(4,2)
       acc = -3*momenta(1,0)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = -3*momenta(1,2)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,0)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = -3*momenta(1,0)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,3)
       acc = acc + reg2
       reg1 = acc * momenta(4,0)
       acc = -3*momenta(3,2)*momenta(4,3)
       acc = acc - 3*momenta(3,3)*momenta(4,2)
       acc = acc * momenta(1,0)
       acc = acc * momenta(2,0)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(3,13)
       acc = -3*momenta(1,1)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,1)
       reg1 = acc * momenta(4,2)
       acc = -3*momenta(1,1)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(4,3)
       acc = -3*momenta(1,2)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,2)
       acc = acc * momenta(4,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(3,1)
       acc = -3*momenta(1,1)*momenta(4,3)
       acc = acc - 3*momenta(1,3)*momenta(4,1)
       reg2 = acc * momenta(3,2)
       acc = -3*momenta(1,1)*momenta(4,2)
       acc = acc - 3*momenta(1,2)*momenta(4,1)
       acc = acc * momenta(3,3)
       acc = acc + reg2
       reg1 = acc * momenta(2,1)
       acc = -3*momenta(2,2)*momenta(3,3)
       acc = acc - 3*momenta(2,3)*momenta(3,2)
       acc = acc * momenta(1,1)
       acc = acc * momenta(4,1)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(4,13)
       acc = -3*momenta(1,1)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,1)
       reg1 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(2,1)
       acc = acc - 3*momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(3,3)
       acc = -3*momenta(1,0)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = -3*momenta(2,0)*momenta(4,1)
       acc = acc - 3*momenta(2,1)*momenta(4,0)
       reg2 = acc * momenta(1,3)
       acc = -3*momenta(1,0)*momenta(2,1)
       acc = acc - 3*momenta(1,1)*momenta(2,0)
       reg3 = acc * momenta(4,3)
       acc = -3*momenta(1,0)*momenta(4,1)
       acc = acc - 3*momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg3
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = -3*momenta(1,1)*momenta(4,3)
       acc = acc - 3*momenta(1,3)*momenta(4,1)
       reg3 = acc * momenta(3,0)
       acc = -3*momenta(1,0)*momenta(4,1)
       acc = acc - 3*momenta(1,1)*momenta(4,0)
       reg4 = acc * momenta(3,3)
       acc = -3*momenta(1,0)*momenta(4,3)
       acc = acc - 3*momenta(1,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg4
       acc = acc + reg3
       reg2 = acc * momenta(2,2)
       acc = -3*momenta(2,1)*momenta(4,3)
       acc = acc - 3*momenta(2,3)*momenta(4,1)
       reg4 = acc * momenta(3,0)
       acc = -3*momenta(2,0)*momenta(4,1)
       acc = acc - 3*momenta(2,1)*momenta(4,0)
       reg5 = acc * momenta(3,3)
       acc = -3*momenta(2,0)*momenta(4,3)
       acc = acc - 3*momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg5
       acc = acc + reg4
       acc = acc * momenta(1,2)
       acc = acc + reg2
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 24.0_ki
       res = res + acc * coeffs%c4(1,3)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg1 = acc * momenta(3,1)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,2)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,1)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg2
       acc = acc * momenta(4,1)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(1,15)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg1 = acc * momenta(3,1)
       acc = momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = momenta(2,1)*momenta(4,3)
       acc = acc + momenta(2,3)*momenta(4,1)
       reg2 = acc * momenta(3,3)
       acc = momenta(2,3)*momenta(3,1)*momenta(4,3)
       acc = acc + reg2
       acc = acc * momenta(1,1)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(2,15)
       acc = momenta(2,2)*momenta(3,3)
       acc = acc + momenta(2,3)*momenta(3,2)
       reg1 = acc * momenta(1,3)
       acc = momenta(1,2)*momenta(2,3)*momenta(3,3)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = momenta(1,2)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,2)
       reg2 = acc * momenta(3,2)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,3)
       acc = acc + reg2
       acc = acc * momenta(4,3)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(3,15)
       acc = -momenta(2,2)*momenta(3,3)
       acc = acc - momenta(2,3)*momenta(3,2)
       reg1 = acc * momenta(1,3)
       acc = -momenta(1,2)*momenta(2,3)*momenta(3,3)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = -momenta(1,2)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,2)
       reg2 = acc * momenta(3,2)
       acc = -momenta(1,2)*momenta(2,2)*momenta(3,3)
       acc = acc + reg2
       acc = acc * momenta(4,3)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(4,15)
       acc = -momenta(1,0)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,0)
       reg1 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = -momenta(1,0)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = -momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg2
       acc = acc * momenta(4,0)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(1,15)
       acc = -momenta(2,0)*momenta(4,3)
       acc = acc - momenta(2,3)*momenta(4,0)
       reg1 = acc * momenta(1,3)
       acc = -momenta(1,0)*momenta(2,3)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,0)
       reg2 = acc * momenta(4,0)
       acc = -momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg2
       acc = acc * momenta(3,3)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(2,15)
       acc = -momenta(2,0)*momenta(4,3)
       acc = acc - momenta(2,3)*momenta(4,0)
       reg1 = acc * momenta(1,3)
       acc = -momenta(1,0)*momenta(2,3)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,0)
       reg2 = acc * momenta(4,0)
       acc = -momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg2
       acc = acc * momenta(3,3)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(3,15)
       acc = -momenta(2,1)*momenta(4,3)
       acc = acc - momenta(2,3)*momenta(4,1)
       reg1 = acc * momenta(3,1)
       acc = -momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = -momenta(2,1)*momenta(4,3)
       acc = acc - momenta(2,3)*momenta(4,1)
       reg2 = acc * momenta(3,3)
       acc = -momenta(2,3)*momenta(3,1)*momenta(4,3)
       acc = acc + reg2
       acc = acc * momenta(1,1)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(4,15)
       acc = -momenta(1,0)*momenta(4,1)
       acc = acc - momenta(1,1)*momenta(4,0)
       reg1 = acc * momenta(2,1)
       acc = -momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,1)
       acc = acc - momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,0)
       acc = -momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg2
       acc = acc * momenta(3,1)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(1,15)
       acc = -momenta(1,0)*momenta(4,1)
       acc = acc - momenta(1,1)*momenta(4,0)
       reg1 = acc * momenta(2,1)
       acc = -momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,1)
       acc = acc - momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,0)
       acc = -momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg2
       acc = acc * momenta(3,1)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(2,15)
       acc = -momenta(1,0)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,0)
       reg1 = acc * momenta(3,0)
       acc = -momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = -momenta(1,0)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = -momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg2
       acc = acc * momenta(4,0)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(3,15)
       acc = -momenta(1,1)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,1)
       reg1 = acc * momenta(3,1)
       acc = -momenta(1,1)*momenta(2,1)*momenta(3,2)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = -momenta(1,1)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(3,2)
       acc = -momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg2
       acc = acc * momenta(4,1)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c3(4,15)
       acc = momenta(1,1)*momenta(2,1)*momenta(3,1)*momenta(4,1)
       res = res + acc * coeffs%c2(1,9)
       acc = momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,2)
       res = res + acc * coeffs%c2(2,9)
       acc = momenta(1,3)*momenta(2,3)*momenta(3,3)*momenta(4,3)
       res = res + acc * coeffs%c2(3,9)
       acc = -momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,2)
       res = res + acc * coeffs%c2(4,9)
       acc = -momenta(1,3)*momenta(2,3)*momenta(3,3)*momenta(4,3)
       res = res + acc * coeffs%c2(5,9)
       acc = -momenta(1,3)*momenta(2,3)*momenta(3,3)*momenta(4,3)
       res = res + acc * coeffs%c2(6,9)
       acc = -6*momenta(1,0)*momenta(4,1)
       acc = acc - 6*momenta(1,1)*momenta(4,0)
       reg1 = acc * momenta(2,1)
       acc = -6*momenta(1,1)*momenta(2,0)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = -6*momenta(1,0)*momenta(2,1)
       acc = acc - 6*momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,0)
       acc = -6*momenta(1,0)*momenta(2,0)*momenta(4,1)
       acc = acc + reg2
       acc = acc * momenta(3,1)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(1,9)
       acc = -6*momenta(1,0)*momenta(2,2)
       acc = acc - 6*momenta(1,2)*momenta(2,0)
       reg1 = acc * momenta(3,0)
       acc = -6*momenta(1,0)*momenta(2,0)*momenta(3,2)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = -6*momenta(1,0)*momenta(2,2)
       acc = acc - 6*momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = -6*momenta(1,2)*momenta(2,2)*momenta(3,0)
       acc = acc + reg2
       acc = acc * momenta(4,0)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(2,9)
       acc = -6*momenta(2,0)*momenta(4,3)
       acc = acc - 6*momenta(2,3)*momenta(4,0)
       reg1 = acc * momenta(1,3)
       acc = -6*momenta(1,0)*momenta(2,3)*momenta(4,3)
       acc = acc + reg1
       reg0 = acc * momenta(3,0)
       acc = -6*momenta(1,0)*momenta(2,3)
       acc = acc - 6*momenta(1,3)*momenta(2,0)
       reg2 = acc * momenta(4,0)
       acc = -6*momenta(1,0)*momenta(2,0)*momenta(4,3)
       acc = acc + reg2
       acc = acc * momenta(3,3)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(3,9)
       acc = -6*momenta(1,1)*momenta(2,2)
       acc = acc - 6*momenta(1,2)*momenta(2,1)
       reg1 = acc * momenta(3,1)
       acc = -6*momenta(1,1)*momenta(2,1)*momenta(3,2)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = -6*momenta(1,1)*momenta(2,2)
       acc = acc - 6*momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(3,2)
       acc = -6*momenta(1,2)*momenta(2,2)*momenta(3,1)
       acc = acc + reg2
       acc = acc * momenta(4,1)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(4,9)
       acc = -6*momenta(2,1)*momenta(4,3)
       acc = acc - 6*momenta(2,3)*momenta(4,1)
       reg1 = acc * momenta(3,1)
       acc = -6*momenta(2,1)*momenta(3,3)*momenta(4,1)
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = -6*momenta(2,1)*momenta(4,3)
       acc = acc - 6*momenta(2,3)*momenta(4,1)
       reg2 = acc * momenta(3,3)
       acc = -6*momenta(2,3)*momenta(3,1)*momenta(4,3)
       acc = acc + reg2
       acc = acc * momenta(1,1)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(5,9)
       acc = -6*momenta(2,2)*momenta(3,3)
       acc = acc - 6*momenta(2,3)*momenta(3,2)
       reg1 = acc * momenta(1,3)
       acc = -6*momenta(1,2)*momenta(2,3)*momenta(3,3)
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = -6*momenta(1,2)*momenta(2,3)
       acc = acc - 6*momenta(1,3)*momenta(2,2)
       reg2 = acc * momenta(3,2)
       acc = -6*momenta(1,2)*momenta(2,2)*momenta(3,3)
       acc = acc + reg2
       acc = acc * momenta(4,3)
       acc = acc + reg0
       acc = acc / 6.0_ki
       res = res + acc * coeffs%c2(6,9)
       acc = 15*momenta(1,0)*momenta(2,0)*momenta(3,0)*momenta(4,0)
       res = res + acc * coeffs%c1(1,6)
       acc = -15*momenta(1,1)*momenta(2,1)*momenta(3,1)*momenta(4,1)
       res = res + acc * coeffs%c1(2,6)
       acc = -15*momenta(1,2)*momenta(2,2)*momenta(3,2)*momenta(4,2)
       res = res + acc * coeffs%c1(3,6)
       acc = -15*momenta(1,3)*momenta(2,3)*momenta(3,3)*momenta(4,3)
       res = res + acc * coeffs%c1(4,6)
       acc = -6*momenta(1,1)*momenta(2,2)
       acc = acc - 6*momenta(1,2)*momenta(2,1)
       reg1 = acc * momenta(3,0)
       acc = -6*momenta(1,0)*momenta(2,1)
       acc = acc - 6*momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(3,2)
       acc = -6*momenta(1,0)*momenta(2,2)
       acc = acc - 6*momenta(1,2)*momenta(2,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(4,2)
       acc = -6*momenta(1,0)*momenta(4,1)
       acc = acc - 6*momenta(1,1)*momenta(4,0)
       reg2 = acc * momenta(2,2)
       acc = -6*momenta(2,0)*momenta(4,1)
       acc = acc - 6*momenta(2,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc + reg2
       reg1 = acc * momenta(3,2)
       acc = -6*momenta(3,0)*momenta(4,1)
       acc = acc - 6*momenta(3,1)*momenta(4,0)
       acc = acc * momenta(1,2)
       acc = acc * momenta(2,2)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(1,4)
       acc = -6*momenta(2,1)*momenta(4,3)
       acc = acc - 6*momenta(2,3)*momenta(4,1)
       reg1 = acc * momenta(3,0)
       acc = -6*momenta(2,0)*momenta(4,1)
       acc = acc - 6*momenta(2,1)*momenta(4,0)
       reg2 = acc * momenta(3,3)
       acc = -6*momenta(2,0)*momenta(4,3)
       acc = acc - 6*momenta(2,3)*momenta(4,0)
       acc = acc * momenta(3,1)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = -6*momenta(1,0)*momenta(2,1)
       acc = acc - 6*momenta(1,1)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = -6*momenta(1,0)*momenta(4,1)
       acc = acc - 6*momenta(1,1)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = -6*momenta(1,0)*momenta(3,1)
       acc = acc - 6*momenta(1,1)*momenta(3,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(2,4)
       acc = -6*momenta(2,0)*momenta(3,3)
       acc = acc - 6*momenta(2,3)*momenta(3,0)
       reg1 = acc * momenta(4,2)
       acc = -6*momenta(2,0)*momenta(4,3)
       acc = acc - 6*momenta(2,3)*momenta(4,0)
       reg2 = acc * momenta(3,2)
       acc = -6*momenta(3,0)*momenta(4,3)
       acc = acc - 6*momenta(3,3)*momenta(4,0)
       acc = acc * momenta(2,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = -6*momenta(1,0)*momenta(2,2)
       acc = acc - 6*momenta(1,2)*momenta(2,0)
       reg2 = acc * momenta(4,3)
       acc = -6*momenta(1,0)*momenta(4,2)
       acc = acc - 6*momenta(1,2)*momenta(4,0)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = -6*momenta(1,0)*momenta(3,2)
       acc = acc - 6*momenta(1,2)*momenta(3,0)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(3,4)
       acc = -6*momenta(2,1)*momenta(3,3)
       acc = acc - 6*momenta(2,3)*momenta(3,1)
       reg1 = acc * momenta(4,2)
       acc = -6*momenta(2,1)*momenta(4,3)
       acc = acc - 6*momenta(2,3)*momenta(4,1)
       reg2 = acc * momenta(3,2)
       acc = -6*momenta(3,1)*momenta(4,3)
       acc = acc - 6*momenta(3,3)*momenta(4,1)
       acc = acc * momenta(2,2)
       acc = acc + reg2
       acc = acc + reg1
       reg0 = acc * momenta(1,3)
       acc = -6*momenta(1,1)*momenta(2,2)
       acc = acc - 6*momenta(1,2)*momenta(2,1)
       reg2 = acc * momenta(4,3)
       acc = -6*momenta(1,1)*momenta(4,2)
       acc = acc - 6*momenta(1,2)*momenta(4,1)
       acc = acc * momenta(2,3)
       acc = acc + reg2
       reg1 = acc * momenta(3,3)
       acc = -6*momenta(1,1)*momenta(3,2)
       acc = acc - 6*momenta(1,2)*momenta(3,1)
       acc = acc * momenta(2,3)
       acc = acc * momenta(4,3)
       acc = acc + reg1
       acc = acc + reg0
       acc = acc / 12.0_ki
       res = res + acc * coeffs%c3(4,4)
    case default
       res = 0.0_ki
    end select
 end  function contract_b_tensor_6
 !****f* src/interface/tens_comb/contract_c_tensor_6
 ! NAME
 !
 ! Function contract_c_tensor_6
 !
 ! USAGE
 !
 !  ans = contract_c_tensor_6(coeffs, momenta)
 !
 ! DESCRIPTION
 !
 !  Contracts the a set of coefficients with an C-type tensor
 !  of rank 6 constructed from a given set of momenta.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_6)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !
 ! RETURN VALUE
 !
 !  The result of the contraction which is a complex number
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 pure function contract_c_tensor_6(coeffs, momenta) result(res)
    ! generated by: write_function_c_tensor_contract
    implicit none
    type(coeff_type_6), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in), optional :: momenta
    complex(ki) :: res
    integer :: rk
    real(ki) :: acc
    if (present(momenta)) then
       rk = size(momenta, 1)
    else
       rk = 0
    end if
    select case(rk)
    case(0)
       res = -coeffs%c2(1,7)
       res = res - coeffs%c2(2,7)
       res = res - coeffs%c2(3,7)
       res = res + coeffs%c2(4,7)
       res = res + coeffs%c2(5,7)
       res = res + coeffs%c2(6,7)
       acc = 3
       res = res + acc * coeffs%c1(1,4)
       acc = 3
       res = res + acc * coeffs%c1(2,4)
       acc = 3
       res = res + acc * coeffs%c1(3,4)
       acc = 3
       res = res + acc * coeffs%c1(4,4)
    case(1)
       acc = -3*momenta(1,0)
       res = acc * coeffs%c2(1,11)
       acc = -3*momenta(1,0)
       res = res + acc * coeffs%c2(2,11)
       acc = -3*momenta(1,0)
       res = res + acc * coeffs%c2(3,11)
       acc = 3*momenta(1,1)
       res = res + acc * coeffs%c2(4,11)
       acc = 3*momenta(1,1)
       res = res + acc * coeffs%c2(5,11)
       acc = 3*momenta(1,2)
       res = res + acc * coeffs%c2(6,11)
       acc = 3*momenta(1,0)
       res = res + acc * coeffs%c2(1,4)
       acc = 3*momenta(1,0)
       res = res + acc * coeffs%c2(2,4)
       acc = 3*momenta(1,0)
       res = res + acc * coeffs%c2(3,4)
       acc = 3*momenta(1,1)
       res = res + acc * coeffs%c2(4,4)
       acc = 3*momenta(1,1)
       res = res + acc * coeffs%c2(5,4)
       acc = 3*momenta(1,2)
       res = res + acc * coeffs%c2(6,4)
       acc = momenta(1,0)
       res = res + acc * coeffs%c3(1,6)
       acc = momenta(1,0)
       res = res + acc * coeffs%c3(2,6)
       acc = momenta(1,0)
       res = res + acc * coeffs%c3(3,6)
       acc = momenta(1,1)
       res = res + acc * coeffs%c3(4,6)
       acc = 15*momenta(1,0)
       res = res + acc * coeffs%c1(1,5)
       acc = 15*momenta(1,1)
       res = res + acc * coeffs%c1(2,5)
       acc = 15*momenta(1,2)
       res = res + acc * coeffs%c1(3,5)
       acc = 15*momenta(1,3)
       res = res + acc * coeffs%c1(4,5)
       acc = -3*momenta(1,1)
       res = res + acc * coeffs%c2(1,8)
       acc = -3*momenta(1,2)
       res = res + acc * coeffs%c2(2,8)
       acc = -3*momenta(1,3)
       res = res + acc * coeffs%c2(3,8)
       acc = 3*momenta(1,2)
       res = res + acc * coeffs%c2(4,8)
       acc = 3*momenta(1,3)
       res = res + acc * coeffs%c2(5,8)
       acc = 3*momenta(1,3)
       res = res + acc * coeffs%c2(6,8)
       acc = -momenta(1,1)
       res = res + acc * coeffs%c3(1,12)
       acc = -momenta(1,1)
       res = res + acc * coeffs%c3(2,12)
       acc = -momenta(1,2)
       res = res + acc * coeffs%c3(3,12)
       acc = momenta(1,2)
       res = res + acc * coeffs%c3(4,12)
       acc = 3*momenta(1,1)
       res = res + acc * coeffs%c2(1,13)
       acc = 3*momenta(1,2)
       res = res + acc * coeffs%c2(2,13)
       acc = 3*momenta(1,3)
       res = res + acc * coeffs%c2(3,13)
       acc = 3*momenta(1,2)
       res = res + acc * coeffs%c2(4,13)
       acc = 3*momenta(1,3)
       res = res + acc * coeffs%c2(5,13)
       acc = 3*momenta(1,3)
       res = res + acc * coeffs%c2(6,13)
       acc = -momenta(1,2)
       res = res + acc * coeffs%c3(1,14)
       acc = -momenta(1,3)
       res = res + acc * coeffs%c3(2,14)
       acc = -momenta(1,3)
       res = res + acc * coeffs%c3(3,14)
       acc = momenta(1,3)
       res = res + acc * coeffs%c3(4,14)
    case(2)
       acc = -momenta(1,2)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,2)
       acc = acc / 2.0_ki
       res = acc * coeffs%c4(1,14)
       acc = 3*momenta(1,0)*momenta(2,1)
       acc = acc + 3*momenta(1,1)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(1,9)
       acc = 3*momenta(1,0)*momenta(2,1)
       acc = acc + 3*momenta(1,1)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(2,9)
       acc = 3*momenta(1,0)*momenta(2,2)
       acc = acc + 3*momenta(1,2)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(3,9)
       acc = 3*momenta(1,1)*momenta(2,2)
       acc = acc + 3*momenta(1,2)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(4,9)
       acc = 15*momenta(1,0)*momenta(2,1)
       acc = acc + 15*momenta(1,1)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(1,15)
       acc = 15*momenta(1,0)*momenta(2,2)
       acc = acc + 15*momenta(1,2)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(2,15)
       acc = 15*momenta(1,0)*momenta(2,3)
       acc = acc + 15*momenta(1,3)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(3,15)
       acc = 15*momenta(1,1)*momenta(2,2)
       acc = acc + 15*momenta(1,2)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(4,15)
       acc = 15*momenta(1,1)*momenta(2,3)
       acc = acc + 15*momenta(1,3)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(5,15)
       acc = 15*momenta(1,2)*momenta(2,3)
       acc = acc + 15*momenta(1,3)*momenta(2,2)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(6,15)
       acc = -3*momenta(1,1)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(1,16)
       acc = -3*momenta(1,1)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(2,16)
       acc = -3*momenta(1,2)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,2)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(3,16)
       acc = 3*momenta(1,2)*momenta(2,3)
       acc = acc + 3*momenta(1,3)*momenta(2,2)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(4,16)
       acc = momenta(1,0)*momenta(2,1)
       acc = acc + momenta(1,1)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c4(1,5)
       acc = -momenta(1,1)*momenta(2,3)
       acc = acc - momenta(1,3)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c4(1,13)
       acc = -9*momenta(1,0)*momenta(2,1)
       acc = acc - 9*momenta(1,1)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(1,12)
       acc = -9*momenta(1,0)*momenta(2,2)
       acc = acc - 9*momenta(1,2)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(2,12)
       acc = -9*momenta(1,0)*momenta(2,3)
       acc = acc - 9*momenta(1,3)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(3,12)
       acc = 9*momenta(1,1)*momenta(2,2)
       acc = acc + 9*momenta(1,2)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(4,12)
       acc = 9*momenta(1,1)*momenta(2,3)
       acc = acc + 9*momenta(1,3)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(5,12)
       acc = 9*momenta(1,2)*momenta(2,3)
       acc = acc + 9*momenta(1,3)*momenta(2,2)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(6,12)
       acc = 3*momenta(1,0)*momenta(2,2)
       acc = acc + 3*momenta(1,2)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(1,10)
       acc = 3*momenta(1,0)*momenta(2,3)
       acc = acc + 3*momenta(1,3)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(2,10)
       acc = 3*momenta(1,0)*momenta(2,3)
       acc = acc + 3*momenta(1,3)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(3,10)
       acc = 3*momenta(1,1)*momenta(2,3)
       acc = acc + 3*momenta(1,3)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(4,10)
       acc = momenta(1,0)*momenta(2,3)
       acc = acc + momenta(1,3)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c4(1,9)
       acc = 15*momenta(1,0)*momenta(2,1)
       acc = acc + 15*momenta(1,1)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(1,5)
       acc = 15*momenta(1,0)*momenta(2,2)
       acc = acc + 15*momenta(1,2)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(2,5)
       acc = 15*momenta(1,0)*momenta(2,3)
       acc = acc + 15*momenta(1,3)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(3,5)
       acc = 15*momenta(1,1)*momenta(2,2)
       acc = acc + 15*momenta(1,2)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(4,5)
       acc = 15*momenta(1,1)*momenta(2,3)
       acc = acc + 15*momenta(1,3)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(5,5)
       acc = 15*momenta(1,2)*momenta(2,3)
       acc = acc + 15*momenta(1,3)*momenta(2,2)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c2(6,5)
       acc = -momenta(1,1)*momenta(2,2)
       acc = acc - momenta(1,2)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c4(1,12)
       acc = -3*momenta(1,0)*momenta(2,1)
       acc = acc - 3*momenta(1,1)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(1,18)
       acc = -3*momenta(1,0)*momenta(2,1)
       acc = acc - 3*momenta(1,1)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(2,18)
       acc = -3*momenta(1,0)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(3,18)
       acc = 3*momenta(1,1)*momenta(2,2)
       acc = acc + 3*momenta(1,2)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(4,18)
       acc = momenta(1,0)*momenta(2,2)
       acc = acc + momenta(1,2)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c4(1,8)
       acc = -3*momenta(1,0)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(1,19)
       acc = -3*momenta(1,0)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(2,19)
       acc = -3*momenta(1,0)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(3,19)
       acc = 3*momenta(1,1)*momenta(2,3)
       acc = acc + 3*momenta(1,3)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(4,19)
       acc = 3*momenta(1,0)*momenta(2,2)
       acc = acc + 3*momenta(1,2)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(1,7)
       acc = 3*momenta(1,0)*momenta(2,3)
       acc = acc + 3*momenta(1,3)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(2,7)
       acc = 3*momenta(1,0)*momenta(2,3)
       acc = acc + 3*momenta(1,3)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(3,7)
       acc = 3*momenta(1,1)*momenta(2,3)
       acc = acc + 3*momenta(1,3)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(4,7)
       acc = 3*momenta(1,1)*momenta(2,2)
       acc = acc + 3*momenta(1,2)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(1,20)
       acc = 3*momenta(1,1)*momenta(2,3)
       acc = acc + 3*momenta(1,3)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(2,20)
       acc = 3*momenta(1,2)*momenta(2,3)
       acc = acc + 3*momenta(1,3)*momenta(2,2)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(3,20)
       acc = 3*momenta(1,2)*momenta(2,3)
       acc = acc + 3*momenta(1,3)*momenta(2,2)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(4,20)
       acc = 3*momenta(1,1)*momenta(2,1)
       res = res + acc * coeffs%c2(1,14)
       acc = 3*momenta(1,2)*momenta(2,2)
       res = res + acc * coeffs%c2(2,14)
       acc = 3*momenta(1,3)*momenta(2,3)
       res = res + acc * coeffs%c2(3,14)
       acc = 3*momenta(1,2)*momenta(2,2)
       res = res + acc * coeffs%c2(4,14)
       acc = 3*momenta(1,3)*momenta(2,3)
       res = res + acc * coeffs%c2(5,14)
       acc = 3*momenta(1,3)*momenta(2,3)
       res = res + acc * coeffs%c2(6,14)
       acc = -6*momenta(1,0)*momenta(2,0)
       res = res + acc * coeffs%c2(1,14)
       acc = -6*momenta(1,0)*momenta(2,0)
       res = res + acc * coeffs%c2(2,14)
       acc = -6*momenta(1,0)*momenta(2,0)
       res = res + acc * coeffs%c2(3,14)
       acc = 6*momenta(1,1)*momenta(2,1)
       res = res + acc * coeffs%c2(4,14)
       acc = 6*momenta(1,1)*momenta(2,1)
       res = res + acc * coeffs%c2(5,14)
       acc = 6*momenta(1,2)*momenta(2,2)
       res = res + acc * coeffs%c2(6,14)
       acc = -3*momenta(1,1)*momenta(2,2)
       acc = acc - 3*momenta(1,2)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(1,13)
       acc = -3*momenta(1,1)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(2,13)
       acc = -3*momenta(1,2)*momenta(2,3)
       acc = acc - 3*momenta(1,3)*momenta(2,2)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(3,13)
       acc = 3*momenta(1,2)*momenta(2,3)
       acc = acc + 3*momenta(1,3)*momenta(2,2)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(4,13)
       acc = -momenta(1,2)*momenta(2,2)
       res = res + acc * coeffs%c3(1,15)
       acc = -momenta(1,3)*momenta(2,3)
       res = res + acc * coeffs%c3(2,15)
       acc = -momenta(1,3)*momenta(2,3)
       res = res + acc * coeffs%c3(3,15)
       acc = momenta(1,3)*momenta(2,3)
       res = res + acc * coeffs%c3(4,15)
       acc = -momenta(1,1)*momenta(2,1)
       res = res + acc * coeffs%c3(1,15)
       acc = -momenta(1,1)*momenta(2,1)
       res = res + acc * coeffs%c3(2,15)
       acc = -momenta(1,2)*momenta(2,2)
       res = res + acc * coeffs%c3(3,15)
       acc = momenta(1,2)*momenta(2,2)
       res = res + acc * coeffs%c3(4,15)
       acc = momenta(1,0)*momenta(2,0)
       res = res + acc * coeffs%c3(1,15)
       acc = momenta(1,0)*momenta(2,0)
       res = res + acc * coeffs%c3(2,15)
       acc = momenta(1,0)*momenta(2,0)
       res = res + acc * coeffs%c3(3,15)
       acc = momenta(1,1)*momenta(2,1)
       res = res + acc * coeffs%c3(4,15)
       acc = 3*momenta(1,0)*momenta(2,0)
       res = res + acc * coeffs%c2(1,9)
       acc = 3*momenta(1,0)*momenta(2,0)
       res = res + acc * coeffs%c2(2,9)
       acc = 3*momenta(1,0)*momenta(2,0)
       res = res + acc * coeffs%c2(3,9)
       acc = 3*momenta(1,1)*momenta(2,1)
       res = res + acc * coeffs%c2(4,9)
       acc = 3*momenta(1,1)*momenta(2,1)
       res = res + acc * coeffs%c2(5,9)
       acc = 3*momenta(1,2)*momenta(2,2)
       res = res + acc * coeffs%c2(6,9)
       acc = -6*momenta(1,1)*momenta(2,1)
       res = res + acc * coeffs%c2(1,9)
       acc = -6*momenta(1,2)*momenta(2,2)
       res = res + acc * coeffs%c2(2,9)
       acc = -6*momenta(1,3)*momenta(2,3)
       res = res + acc * coeffs%c2(3,9)
       acc = 6*momenta(1,2)*momenta(2,2)
       res = res + acc * coeffs%c2(4,9)
       acc = 6*momenta(1,3)*momenta(2,3)
       res = res + acc * coeffs%c2(5,9)
       acc = 6*momenta(1,3)*momenta(2,3)
       res = res + acc * coeffs%c2(6,9)
       acc = 45*momenta(1,0)*momenta(2,0)
       res = res + acc * coeffs%c1(1,6)
       acc = 45*momenta(1,1)*momenta(2,1)
       res = res + acc * coeffs%c1(2,6)
       acc = 45*momenta(1,2)*momenta(2,2)
       res = res + acc * coeffs%c1(3,6)
       acc = 45*momenta(1,3)*momenta(2,3)
       res = res + acc * coeffs%c1(4,6)
       acc = 3*momenta(1,0)*momenta(2,1)
       acc = acc + 3*momenta(1,1)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(1,4)
       acc = 3*momenta(1,0)*momenta(2,1)
       acc = acc + 3*momenta(1,1)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(2,4)
       acc = 3*momenta(1,0)*momenta(2,2)
       acc = acc + 3*momenta(1,2)*momenta(2,0)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(3,4)
       acc = 3*momenta(1,1)*momenta(2,2)
       acc = acc + 3*momenta(1,2)*momenta(2,1)
       acc = acc / 2.0_ki
       res = res + acc * coeffs%c3(4,4)
    case default
       res = 0.0_ki
    end select
 end  function contract_c_tensor_6
 !****f* src/interface/tens_comb/contract_d_tensor_6
 ! NAME
 !
 ! Function contract_d_tensor_6
 !
 ! USAGE
 !
 !  ans = contract_d_tensor_6(coeffs, momenta)
 !
 ! DESCRIPTION
 !
 !  Contracts the a set of coefficients with an D-type tensor
 !  of rank 6 constructed from a given set of momenta.
 !
 ! INPUTS
 !
 !  * coeffs  -- coefficients of type(coeff_type_6)
 !  * momenta -- real array of dimension(:,3) containing the
 !               momenta r_i of the loop propagators
 !
 ! RETURN VALUE
 !
 !  The result of the contraction which is a complex number
 !
 ! SIDE EFFECTS
 !
 !  None
 !
 ! EXAMPLE
 !
 !
 !*****
 pure function contract_d_tensor_6(coeffs, momenta) result(res)
    ! generated by: write_function_d_tensor_contract
    implicit none
    type(coeff_type_6), intent(in) :: coeffs
    real(ki), dimension(:,0:), intent(in), optional :: momenta
    complex(ki) :: res
    integer :: rk
    real(ki) :: acc
    if (present(momenta)) then
       rk = size(momenta, 1)
    else
       rk = 0
    end if
    select case(rk)
    case(0)
       acc = -3
       res = acc * coeffs%c2(1,14)
       acc = -3
       res = res + acc * coeffs%c2(2,14)
       acc = -3
       res = res + acc * coeffs%c2(3,14)
       acc = -3
       res = res + acc * coeffs%c2(4,14)
       acc = -3
       res = res + acc * coeffs%c2(5,14)
       acc = -3
       res = res + acc * coeffs%c2(6,14)
       res = res + coeffs%c3(1,15)
       res = res + coeffs%c3(2,15)
       res = res + coeffs%c3(3,15)
       res = res - coeffs%c3(4,15)
       acc = 3
       res = res + acc * coeffs%c2(1,9)
       acc = 3
       res = res + acc * coeffs%c2(2,9)
       acc = 3
       res = res + acc * coeffs%c2(3,9)
       acc = -3
       res = res + acc * coeffs%c2(4,9)
       acc = -3
       res = res + acc * coeffs%c2(5,9)
       acc = -3
       res = res + acc * coeffs%c2(6,9)
       acc = 15
       res = res + acc * coeffs%c1(1,6)
       acc = -15
       res = res + acc * coeffs%c1(2,6)
       acc = -15
       res = res + acc * coeffs%c1(3,6)
       acc = -15
       res = res + acc * coeffs%c1(4,6)
    case default
       res = 0.0_ki
    end select
 end  function contract_d_tensor_6
 end module tens_comb