Skip to content

Instantly share code, notes, and snippets.

@tueda
Created October 5, 2017 14:37
Show Gist options
  • Save tueda/8cabf511573b115b9c17a7a181bf0248 to your computer and use it in GitHub Desktop.
Save tueda/8cabf511573b115b9c17a7a181bf0248 to your computer and use it in GitHub Desktop.
#form #benchmark
S ep,n1,...,n5;
CF Z,rat;
PolyRatFun rat;
#ifndef `N'
#define N "30"
#endif
L F = Z(`N',`N',`N',`N',`N');
term;
#do i=1,{`N'*3-2}
id ifmatch->`i',Z(n1?pos_,n2?pos_,n3?pos_,n4?pos_,n5?pos_) =
+Z(n1-1,n2,n3,n4,n5)*rat(-7+2*n5+n4+n3+n2+n1+3*ep,-3+n5+n2+n1+ep)
+Z(n1,n2,n3,n4-1,n5)*rat(-7+2*n5+n4+n3+n2+n1+3*ep,-3+n5+n4+n3+ep)
+Z(n1,n2,n3,n4,n5-1)*rat(3-n5-n3-n2-ep,-3+n5+n2+n1+ep)*rat(-4+n5+n3+n2+2*ep,-3+n5+n4+n3+ep);
id Z(n1?pos_,n2?pos_,n3?pos_,n4?pos_,n5?pos_) =
+Z(n1,n2-1,n3,n4,n5)*rat(-7+2*n5+n4+n3+n2+n1+3*ep,-3+n5+n2+n1+ep)
+Z(n1,n2,n3-1,n4,n5)*rat(-7+2*n5+n4+n3+n2+n1+3*ep,-3+n5+n4+n3+ep)
+Z(n1,n2,n3,n4,n5-1)*rat(3-n5-n4-n1-ep,-3+n5+n2+n1+ep)*rat(-4+n5+n4+n1+2*ep,-3+n5+n4+n3+ep);
label `i';
sort;
#enddo
endterm;
#ifndef `EXACT'
.sort
PolyRatFun;
id Z(?a,0,?b) = replace_(ep,1/2);
id rat(n1?,n2?) = n1/n2;
#endif
P +s;
.end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment