线上运维-打log也要看基本法

前言

今天 跟进一个线上问题,full gc频繁。

分析过程

  1. 工具
    jprofiler分析

  2. 首先是string相关的一些调研

string类型的点点滴滴

1.首先参考自己之前写的随笔字符串那些事
2.java6 7 8字符串常量池的区别

7,8移动到了堆中,可以配置大小,jvm参数:PrintStringTableStatistics可以打印使用信息

3.java内存分配和String类型的深度解析
4.java string常量池的几个例子

  1. 怀疑logger导致的内存泄漏
    a memory leak caused by log4j logger
    memory leak in log4j hierarchy
    看了这两篇相关的issue,和我的case不一样啊,我的logger都是static。
    另外,log4j开发组不可能说打了info之后还保持对这个string的引用啊,应该被gc掉(logger 源码
  2. 怀疑是string过长,直接进入老年代导致的
    参考jvm内存分配jvm内存管理

结论

log.info打印了很长的string,进入老年代,频繁触发full gc

解决和经验

code review要注意,log的打印也要放进去

1.首先是debug日志,一定要使用类似slf4j的占位符来进行处理
2.不能打印太长的string

其中一个log info的实际例子

{{2*Sin(x)*Sin(x),2*Sin(x)*Sin(x),2*Sin(x)^2,{{{2<0,False}}}},2*Integrate(Sin(x)^
2,x),{{{{2<0,False}}},{{FreeQ({1,1,2},x)&&integrate::trigq(Sin)&&integrate::binomialq(x,x)&&!integrate::binomialmatchq(x,x),FreeQ({
1,1,2},x)&&integrate::trigq(Sin)&&integrate::binomialq(x,x)&&!integrate::binomialmatchq(x,x),{FreeQ({
1,1,2},x),True},{{{{AtomQ(Sin),True},Sin},True},True},{{{ListQ(x),False},integrate::notfalseq(integrate::binomialtest(x,x)),{{{PolynomialQ(x,x),True},If(Exponent(x,x)>
0,Module({lst=Exponent(x,x,List)},If(Length(lst)==1,{0,Coefficient(x,x,Exponent(x,x)),Exponent(x,x)},If(Length(lst)==
2&&(lst[[1]])==0,{Coefficient(x,x,0),Coefficient(x,x,Exponent(x,x)),Exponent(x,x)},False))),False),{{{ExpandAll(x),x},Max(
1),1},1>0,True},Module({lst=Exponent(x,x,List)},If(Length(lst)==1,{0,Coefficient(x,x,Exponent(x,x)),Exponent(x,x)},If(Length(lst)==
2&&(lst[[1]])==0,{Coefficient(x,x,0),Coefficient(x,x,Exponent(x,x)),Exponent(x,x)},False))),{{ExpandAll(x),x},{
1}},{{{{lst$1,{1}},1},1==1,True},{0,Coefficient(x,x,Exponent(x,x)),Exponent(x,x)},{{{ExpandAll(x),x},Max(
1),1},Coefficient(x,x,1),{ExpandAll(x),x},1},{{ExpandAll(x),x},Max(1),1},{0,1,1}},{
0,1,1}},{0,1,1}},integrate::notfalseq({0,1,1}),{{0,1,1}=!=False,True},True},True},{{{{ListQ(x),False},MatchQ(x,a_.+b_.*x^n_./;FreeQ({a,b,n},x)),True},True},!True,False},False}},{{FreeQ({
1,1,2},x)&&integrate::hyperbolicq(Sin)&&integrate::binomialq(x,x)&&!integrate::binomialmatchq(x,x),FreeQ({
1,1,2},x)&&integrate::hyperbolicq(Sin)&&integrate::binomialq(x,x)&&!integrate::binomialmatchq(x,x),{FreeQ({
1,1,2},x),True},{{{{AtomQ(Sin),True},Sin},False},False},False}},{{FreeQ({0,1,2},x)&&integrate::linearq(Sin(x),x)&&integrate::nonzeroq(Sin(x)-x),FreeQ({
0,1,2},x)&&integrate::linearq(Sin(x),x)&&integrate::nonzeroq(Sin(x)-x),{FreeQ({0,
1,2},x),True},{{{{ListQ(Sin(x)),False},PolynomialQ(Sin(x),x)&&Exponent(Sin(x),x)==
1&&Coefficient(Sin(x),x,1)=!=0,PolynomialQ(Sin(x),x)&&Exponent(Sin(x),x)==1&&Coefficient(Sin(x),x,
1)=!=0,{PolynomialQ(Sin(x),x),False},False},False},False},False}},{{FreeQ(2,x)&&integrate::linearq(Sin(x),x)&&!integrate::linearmatchq(Sin(x),x),FreeQ(
2,x)&&integrate::linearq(Sin(x),x)&&!integrate::linearmatchq(Sin(x),x),{FreeQ(2,x),True},{{{{ListQ(Sin(x)),False},PolynomialQ(Sin(x),x)&&Exponent(Sin(x),x)==
1&&Coefficient(Sin(x),x,1)=!=0,PolynomialQ(Sin(x),x)&&Exponent(Sin(x),x)==1&&Coefficient(Sin(x),x,
1)=!=0,{PolynomialQ(Sin(x),x),False},False},False},False},False}},{{FreeQ(2,x)&&integrate::binomialq(Sin(x),x)&&!integrate::binomialmatchq(Sin(x),x),FreeQ(
2,x)&&integrate::binomialq(Sin(x),x)&&!integrate::binomialmatchq(Sin(x),x),{FreeQ(
2,x),True},{{{ListQ(Sin(x)),False},integrate::notfalseq(integrate::binomialtest(Sin(x),x)),{{{PolynomialQ(Sin(x),x),False},If(integrate::powerq(Sin(x)),If(Sin(x)[[
1]]===x&&FreeQ(Sin(x)[[2]],x),{0,1,Sin(x)[[2]]},False),Module({lst1,lst2},If(integrate::productq(Sin(x)),If(FreeQ(First(Sin(x)),x),lst2=integrate::binomialtest(Rest(Sin(x)),x);If(integrate::falseq(lst2),False,{First(Sin(x))*(lst2[[
1]]),First(Sin(x))*(lst2[[2]]),(lst2[[3]])}),If(FreeQ(Rest(Sin(x)),x),lst1=integrate::binomialtest(First(Sin(x)),x);If(integrate::falseq(lst1),False,{(lst1[[
1]])*Rest(Sin(x)),(lst1[[2]])*Rest(Sin(x)),(lst1[[3]])}),lst1=integrate::binomialtest(First(Sin(x)),x);lst2=integrate::binomialtest(Rest(Sin(x)),x);If(integrate::falseq(lst1)||integrate::falseq(lst2),False,Module({a,b,c,d,m,n},{a,b,m}=lst1;{c,d,n}=lst2;If(integrate::zeroq(a),If(integrate::zeroq(c),{
0,b*d,m+n},If(integrate::zeroq(m+n),{b*d,b*c,m},False)),If(integrate::zeroq(c),If(integrate::zeroq(m+n),{b*d,a*d,n},False),If(integrate::zeroq(m-n)&&integrate::zeroq(b*c+a*d),{a*c,b*d,
2*m},False))))))),If(integrate::sumq(Sin(x)),If(FreeQ(First(Sin(x)),x),lst2=integrate::binomialtest(Rest(Sin(x)),x);If(integrate::falseq(lst2),False,{First(Sin(x))+(lst2[[
1]]),(lst2[[2]]),(lst2[[3]])}),If(FreeQ(Rest(Sin(x)),x),lst1=integrate::binomialtest(First(Sin(x)),x);If(integrate::falseq(lst1),False,{(lst1[[
1]])+Rest(Sin(x)),(lst1[[2]]),(lst1[[3]])}),lst1=integrate::binomialtest(First(Sin(x)),x);lst2=integrate::binomialtest(Rest(Sin(x)),x);If(integrate::falseq(lst1)||integrate::falseq(lst2),False,If(integrate::zeroq(-(lst2[[
3]])+(lst1[[3]])),{(lst1[[1]])+(lst2[[1]]),(lst1[[2]])+(lst2[[2]]),(lst1[[3]])},False)))),False)))),{{{Head(Sin(x)),Sin},Sin===Power,False},False},Module({lst1,lst2},If(integrate::productq(Sin(x)),If(FreeQ(First(Sin(x)),x),lst2=integrate::binomialtest(Rest(Sin(x)),x);If(integrate::falseq(lst2),False,{First(Sin(x))*(lst2[[
1]]),First(Sin(x))*(lst2[[2]]),(lst2[[3]])}),If(FreeQ(Rest(Sin(x)),x),lst1=integrate::binomialtest(First(Sin(x)),x);If(integrate::falseq(lst1),False,{(lst1[[
1]])*Rest(Sin(x)),(lst1[[2]])*Rest(Sin(x)),(lst1[[3]])}),lst1=integrate::binomialtest(First(Sin(x)),x);lst2=integrate::binomialtest(Rest(Sin(x)),x);If(integrate::falseq(lst1)||integrate::falseq(lst2),False,Module({a,b,c,d,m,n},{a,b,m}=lst1;{c,d,n}=lst2;If(integrate::zeroq(a),If(integrate::zeroq(c),{
0,b*d,m+n},If(integrate::zeroq(m+n),{b*d,b*c,m},False)),If(integrate::zeroq(c),If(integrate::zeroq(m+n),{b*d,a*d,n},False),If(integrate::zeroq(m-n)&&integrate::zeroq(b*c+a*d),{a*c,b*d,
2*m},False))))))),If(integrate::sumq(Sin(x)),If(FreeQ(First(Sin(x)),x),lst2=integrate::binomialtest(Rest(Sin(x)),x);If(integrate::falseq(lst2),False,{First(Sin(x))+(lst2[[
1]]),(lst2[[2]]),(lst2[[3]])}),If(FreeQ(Rest(Sin(x)),x),lst1=integrate::binomialtest(First(Sin(x)),x);If(integrate::falseq(lst1),False,{(lst1[[
1]])+Rest(Sin(x)),(lst1[[2]]),(lst1[[3]])}),lst1=integrate::binomialtest(First(Sin(x)),x);lst2=integrate::binomialtest(Rest(Sin(x)),x);If(integrate::falseq(lst1)||integrate::falseq(lst2),False,If(integrate::zeroq(-(lst2[[
3]])+(lst1[[3]])),{(lst1[[1]])+(lst2[[1]]),(lst1[[2]])+(lst2[[2]]),(lst1[[3]])},False)))),False))),{{{{Head(Sin(x)),Sin},Sin===Times,False},False},If(integrate::sumq(Sin(x)),If(FreeQ(First(Sin(x)),x),lst2$2=integrate::binomialtest(Rest(Sin(x)),x);If(integrate::falseq(lst2$2),False,{First(Sin(x))+(lst2$2[[
1]]),(lst2$2[[2]]),(lst2$2[[3]])}),If(FreeQ(Rest(Sin(x)),x),lst1$2=integrate::binomialtest(First(Sin(x)),x);If(integrate::falseq(lst1$2),False,{(lst1$2[[
1]])+Rest(Sin(x)),(lst1$2[[2]]),(lst1$2[[3]])}),lst1$2=integrate::binomialtest(First(Sin(x)),x);lst2$2=integrate::binomialtest(Rest(Sin(x)),x);If(integrate::falseq(lst1$2)||integrate::falseq(lst2$2),False,If(integrate::zeroq(-(lst2$2[[
3]])+(lst1$2[[3]])),{(lst1$2[[1]])+(lst2$2[[1]]),(lst1$2[[2]])+(lst2$2[[2]]),(lst1$2[[
3]])},False)))),False),{{{Head(Sin(x)),Sin},Sin===Plus,False},False},False},False},False},integrate::notfalseq(False),{False=!=False,False},False},False},False}},{{FreeQ(
2,x)&&integrate::generalizedbinomialq(Sin(x),x)&&!integrate::generalizedbinomialmatchq(Sin(x),x),FreeQ(
2,x)&&integrate::generalizedbinomialq(Sin(x),x)&&!integrate::generalizedbinomialmatchq(Sin(x),x),{FreeQ(
2,x),True},{{{ListQ(Sin(x)),False},integrate::notfalseq(integrate::generalizedbinomialtest(Sin(x),x)),{integrate::generalizedbinomialtest(Sin(x),x),False},integrate::notfalseq(False),{False=!=False,False},False},False},False}},{{FreeQ(
2,x)&&integrate::quadraticq(Sin(x),x)&&!integrate::quadraticmatchq(Sin(x),x),FreeQ(
2,x)&&integrate::quadraticq(Sin(x),x)&&!integrate::quadraticmatchq(Sin(x),x),{FreeQ(
2,x),True},{{{{ListQ(Sin(x)),False},PolynomialQ(Sin(x),x)&&Exponent(Sin(x),x)==2&&Coefficient(Sin(x),x,
2)=!=0,PolynomialQ(Sin(x),x)&&Exponent(Sin(x),x)==2&&Coefficient(Sin(x),x,2)=!=0,{PolynomialQ(Sin(x),x),False},False},False},False},False}},{{FreeQ(
2,x)&&integrate::trinomialq(Sin(x),x)&&!integrate::trinomialmatchq(Sin(x),x),FreeQ(
2,x)&&integrate::trinomialq(Sin(x),x)&&!integrate::trinomialmatchq(Sin(x),x),{FreeQ(
2,x),True},{{{ListQ(Sin(x)),False},integrate::notfalseq(integrate::trinomialtest(Sin(x),x))&&!integrate::quadraticq(Sin(x),x)&&!MatchQ(Sin(x),w_^
2/;integrate::binomialq(w,x)),integrate::notfalseq(integrate::trinomialtest(Sin(x),x))&&!integrate::quadraticq(Sin(x),x)&&!MatchQ(Sin(x),w_^
2/;integrate::binomialq(w,x)),{{{{PolynomialQ(Sin(x),x),False},If(integrate::powerq(Sin(x)),If(integrate::zeroq(
-2+Sin(x)[[2]]),Module({lst=integrate::binomialtest(Sin(x)[[1]],x)},If(integrate::falseq(lst),False,{(lst[[
1]])^2,2*(lst[[1]])*(lst[[2]]),(lst[[2]])^2,(lst[[3]])})),False),Module({lst1,lst2},If(integrate::productq(Sin(x)),If(FreeQ(First(Sin(x)),x),lst2=integrate::trinomialtest(Rest(Sin(x)),x);If(integrate::falseq(lst2),False,{First(Sin(x))*(lst2[[
1]]),First(Sin(x))*(lst2[[2]]),First(Sin(x))*(lst2[[3]]),(lst2[[4]])}),If(FreeQ(Rest(Sin(x)),x),lst1=integrate::trinomialtest(First(Sin(x)),x);If(integrate::falseq(lst1),False,{(lst1[[
1]])*Rest(Sin(x)),(lst1[[2]])*Rest(Sin(x)),(lst1[[3]])*Rest(Sin(x)),(lst1[[4]])}),lst1=integrate::binomialtest(First(Sin(x)),x);lst2=integrate::binomialtest(Rest(Sin(x)),x);If(integrate::falseq(lst1)||integrate::falseq(lst2),False,Module({a,b,c,d,m,n},{a,b,m}=lst1;{c,d,n}=lst2;If(integrate::zeroq(m-n)&&integrate::nonzeroq(b*c+a*d),{a*c,b*c+a*d,b*d,m},False))))),If(integrate::sumq(Sin(x)),If(FreeQ(First(Sin(x)),x),lst2=integrate::trinomialtest(Rest(Sin(x)),x);If(integrate::falseq(lst2),False,{First(Sin(x))+(lst2[[
1]]),(lst2[[2]]),(lst2[[3]]),(lst2[[4]])}),If(FreeQ(Rest(Sin(x)),x),lst1=integrate::trinomialtest(First(Sin(x)),x);If(integrate::falseq(lst1),False,{(lst1[[
1]])+Rest(Sin(x)),(lst1[[2]]),(lst1[[3]]),(lst1[[4]])}),lst1=integrate::trinomialtest(First(Sin(x)),x);If(integrate::falseq(lst1),lst1=integrate::binomialtest(First(Sin(x)),x);If(integrate::falseq(lst1),False,lst2=integrate::trinomialtest(Rest(Sin(x)),x);If(integrate::falseq(lst2),lst2=integrate::binomialtest(Rest(Sin(x)),x);If(integrate::falseq(lst2),False,If(integrate::zeroq((
-1)*2*(lst2[[3]])+(lst1[[3]])),{(lst1[[1]])+(lst2[[1]]),(lst2[[2]]),(lst1[[2]]),(lst2[[
3]])},If(integrate::zeroq((-1)*2*(lst1[[3]])+(lst2[[3]])),{(lst1[[1]])+(lst2[[1]]),(lst1[[
2]]),(lst2[[2]]),(lst1[[3]])},False))),If(integrate::zeroq(-(lst2[[4]])+(lst1[[3]]))&&integrate::nonzeroq((lst1[[
2]])+(lst2[[2]])),{(lst1[[1]])+(lst2[[1]]),(lst1[[2]])+(lst2[[2]]),(lst2[[3]]),(lst2[[
4]])},If(integrate::zeroq((-1)*2*(lst2[[4]])+(lst1[[3]]))&&integrate::nonzeroq((lst1[[
2]])+(lst2[[3]])),{(lst1[[1]])+(lst2[[1]]),(lst2[[2]]),(lst1[[2]])+(lst2[[3]]),(lst2[[
4]])},False)))),lst2=integrate::trinomialtest(Rest(Sin(x)),x);If(integrate::falseq(lst2),lst2=integrate::binomialtest(Rest(Sin(x)),x);If(integrate::falseq(lst2),False,If(integrate::zeroq(-(lst1[[
4]])+(lst2[[3]]))&&integrate::nonzeroq((lst1[[2]])+(lst2[[2]])),{(lst1[[1]])+(lst2[[
1]]),(lst1[[2]])+(lst2[[2]]),(lst1[[3]]),(lst1[[4]])},If(integrate::zeroq((-1)*2*(lst1[[
4]])+(lst2[[3]]))&&integrate::nonzeroq((lst1[[3]])+(lst2[[2]])),{(lst1[[1]])+(lst2[[
1]]),(lst1[[2]]),(lst1[[3]])+(lst2[[2]]),(lst1[[4]])},False))),If(integrate::zeroq(-(lst2[[
4]])+(lst1[[4]]))&&integrate::nonzeroq((lst1[[2]])+(lst2[[2]]))&&integrate::nonzeroq((lst1[[
3]])+(lst2[[3]])),{(lst1[[1]])+(lst2[[1]]),(lst1[[2]])+(lst2[[2]]),(lst1[[3]])+(lst2[[
3]]),(lst1[[4]])},False))))),False)))),{{{Head(Sin(x)),Sin},Sin===Power,False},False},Module({lst1,lst2},If(integrate::productq(Sin(x)),If(FreeQ(First(Sin(x)),x),lst2=integrate::trinomialtest(Rest(Sin(x)),x);If(integrate::falseq(lst2),False,{First(Sin(x))*(lst2[[
1]]),First(Sin(x))*(lst2[[2]]),First(Sin(x))*(lst2[[3]]),(lst2[[4]])}),If(FreeQ(Rest(Sin(x)),x),lst1=integrate::trinomialtest(First(Sin(x)),x);If(integrate::falseq(lst1),False,{(lst1[[
1]])*Rest(Sin(x)),(lst1[[2]])*Rest(Sin(x)),(lst1[[3]])*Rest(Sin(x)),(lst1[[4]])}),lst1=integrate::binomialtest(First(Sin(x)),x);lst2=integrate::binomialtest(Rest(Sin(x)),x);If(integrate::falseq(lst1)||integrate::falseq(lst2),False,Module({a,b,c,d,m,n},{a,b,m}=lst1;{c,d,n}=lst2;If(integrate::zeroq(m-n)&&integrate::nonzeroq(b*c+a*d),{a*c,b*c+a*d,b*d,m},False))))),If(integrate::sumq(Sin(x)),If(FreeQ(First(Sin(x)),x),lst2=integrate::trinomialtest(Rest(Sin(x)),x);If(integrate::falseq(lst2),False,{First(Sin(x))+(lst2[[
1]]),(lst2[[2]]),(lst2[[3]]),(lst2[[4]])}),If(FreeQ(Rest(Sin(x)),x),lst1=integrate::trinomialtest(First(Sin(x)),x);If(integrate::falseq(lst1),False,{(lst1[[
1]])+Rest(Sin(x)),(lst1[[2]]),(lst1[[3]]),(lst1[[4]])}),lst1=integrate::trinomialtest(First(Sin(x)),x);If(integrate::falseq(lst1),lst1=integrate::binomialtest(First(Sin(x)),x);If(integrate::falseq(lst1),False,lst2=integrate::trinomialtest(Rest(Sin(x)),x);If(integrate::falseq(lst2),lst2=integrate::binomialtest(Rest(Sin(x)),x);If(integrate::falseq(lst2),False,If(integrate::zeroq((
-1)*2*(lst2[[3]])+(lst1[[3]])),{(lst1[[1]])+(lst2[[1]]),(lst2[[2]]),(lst1[[2]]),(lst2[[
3]])},If(integrate::zeroq((-1)*2*(lst1[[3]])+(lst2[[3]])),{(lst1[[1]])+(lst2[[1]]),(lst1[[
2]]),(lst2[[2]]),(lst1[[3]])},False))),If(integrate::zeroq(-(lst2[[4]])+(lst1[[3]]))&&integrate::nonzeroq((lst1[[
2]])+(lst2[[2]])),{(lst1[[1]])+(lst2[[1]]),(lst1[[2]])+(lst2[[2]]),(lst2[[3]]),(lst2[[
4]])},If(integrate::zeroq((-1)*2*(lst2[[4]])+(lst1[[3]]))&&integrate::nonzeroq((lst1[[
2]])+(lst2[[3]])),{(lst1[[1]])+(lst2[[1]]),(lst2[[2]]),(lst1[[2]])+(lst2[[3]]),(lst2[[
4]])},False)))),lst2=integrate::trinomialtest(Rest(Sin(x)),x);If(integrate::falseq(lst2),lst2=integrate::binomialtest(Rest(Sin(x)),x);If(integrate::falseq(lst2),False,If(integrate::zeroq(-(lst1[[
4]])+(lst2[[3]]))&&integrate::nonzeroq((lst1[[2]])+(lst2[[2]])),{(lst1[[1]])+(lst2[[
1]]),(lst1[[2]])+(lst2[[2]]),(lst1[[3]]),(lst1[[4]])},If(integrate::zeroq((-1)*2*(lst1[[
4]])+(lst2[[3]]))&&integrate::nonzeroq((lst1[[3]])+(lst2[[2]])),{(lst1[[1]])+(lst2[[
1]]),(lst1[[2]]),(lst1[[3]])+(lst2[[2]]),(lst1[[4]])},False))),If(integrate::zeroq(-(lst2[[
4]])+(lst1[[4]]))&&integrate::nonzeroq((lst1[[2]])+(lst2[[2]]))&&integrate::nonzeroq((lst1[[
3]])+(lst2[[3]])),{(lst1[[1]])+(lst2[[1]]),(lst1[[2]])+(lst2[[2]]),(lst1[[3]])+(lst2[[
3]]),(lst1[[4]])},False))))),False))),{{{{Head(Sin(x)),Sin},Sin===Times,False},False},If(integrate::sumq(Sin(x)),If(FreeQ(First(Sin(x)),x),lst2$3=integrate::trinomialtest(Rest(Sin(x)),x);If(integrate::falseq(lst2$3),False,{First(Sin(x))+(lst2$3[[
1]]),(lst2$3[[2]]),(lst2$3[[3]]),(lst2$3[[4]])}),If(FreeQ(Rest(Sin(x)),x),lst1$3=integrate::trinomialtest(First(Sin(x)),x);If(integrate::falseq(lst1$3),False,{(lst1$3[[
1]])+Rest(Sin(x)),(lst1$3[[2]]),(lst1$3[[3]]),(lst1$3[[4]])}),lst1$3=integrate::trinomialtest(First(Sin(x)),x);If(integrate::falseq(lst1$3),lst1$3=integrate::binomialtest(First(Sin(x)),x);If(integrate::falseq(lst1$3),False,lst2$3=integrate::trinomialtest(Rest(Sin(x)),x);If(integrate::falseq(lst2$3),lst2$3=integrate::binomialtest(Rest(Sin(x)),x);If(integrate::falseq(lst2$3),False,If(integrate::zeroq((
-1)*2*(lst2$3[[3]])+(lst1$3[[3]])),{(lst1$3[[1]])+(lst2$3[[1]]),(lst2$3[[2]]),(lst1$3[[
2]]),(lst2$3[[3]])},If(integrate::zeroq((-1)*2*(lst1$3[[3]])+(lst2$3[[3]])),{(lst1$3[[
1]])+(lst2$3[[1]]),(lst1$3[[2]]),(lst2$3[[2]]),(lst1$3[[3]])},False))),If(integrate::zeroq(-(lst2$3[[
4]])+(lst1$3[[3]]))&&integrate::nonzeroq((lst1$3[[2]])+(lst2$3[[2]])),{(lst1$3[[
1]])+(lst2$3[[1]]),(lst1$3[[2]])+(lst2$3[[2]]),(lst2$3[[3]]),(lst2$3[[4]])},If(integrate::zeroq((
-1)*2*(lst2$3[[4]])+(lst1$3[[3]]))&&integrate::nonzeroq((lst1$3[[2]])+(lst2$3[[3]])),{(lst1$3[[
1]])+(lst2$3[[1]]),(lst2$3[[2]]),(lst1$3[[2]])+(lst2$3[[3]]),(lst2$3[[4]])},False)))),lst2$3=integrate::trinomialtest(Rest(Sin(x)),x);If(integrate::falseq(lst2$3),lst2$3=integrate::binomialtest(Rest(Sin(x)),x);If(integrate::falseq(lst2$3),False,If(integrate::zeroq(-(lst1$3[[
4]])+(lst2$3[[3]]))&&integrate::nonzeroq((lst1$3[[2]])+(lst2$3[[2]])),{(lst1$3[[
1]])+(lst2$3[[1]]),(lst1$3[[2]])+(lst2$3[[2]]),(lst1$3[[3]]),(lst1$3[[4]])},If(integrate::zeroq((
-1)*2*(lst1$3[[4]])+(lst2$3[[3]]))&&integrate::nonzeroq((lst1$3[[3]])+(lst2$3[[2]])),{(lst1$3[[
1]])+(lst2$3[[1]]),(lst1$3[[2]]),(lst1$3[[3]])+(lst2$3[[2]]),(lst1$3[[4]])},False))),If(integrate::zeroq(-(lst2$3[[
4]])+(lst1$3[[4]]))&&integrate::nonzeroq((lst1$3[[2]])+(lst2$3[[2]]))&&integrate::nonzeroq((lst1$3[[
3]])+(lst2$3[[3]])),{(lst1$3[[1]])+(lst2$3[[1]]),(lst1$3[[2]])+(lst2$3[[2]]),(lst1$3[[
3]])+(lst2$3[[3]]),(lst1$3[[4]])},False))))),False),{{{Head(Sin(x)),Sin},Sin===Plus,False},False},False},False},False},integrate::notfalseq(False),{False=!=False,False},False},False},False},False}},{{FreeQ(
2,x)&&integrate::generalizedtrinomialq(Sin(x),x)&&!integrate::generalizedtrinomialmatchq(Sin(x),x),FreeQ(
2,x)&&integrate::generalizedtrinomialq(Sin(x),x)&&!integrate::generalizedtrinomialmatchq(Sin(x),x),{FreeQ(
2,x),True},{{{ListQ(Sin(x)),False},integrate::notfalseq(integrate::generalizedtrinomialtest(Sin(x),x)),{integrate::generalizedtrinomialtest(Sin(x),x),False},integrate::notfalseq(False),{False=!=False,False},False},False},False}},{{FreeQ(
2,x)&&integrate::polyq(Sin(x),x,3)&&!integrate::cubicmatchq(Sin(x),x),FreeQ(2,x)&&integrate::polyq(Sin(x),x,
3)&&!integrate::cubicmatchq(Sin(x),x),{FreeQ(2,x),True},{{{ListQ(Sin(x)),False},PolynomialQ(Sin(x),x)&&Exponent(Sin(x),x)==
3&&Coefficient(Sin(x),x,3)=!=0,PolynomialQ(Sin(x),x)&&Exponent(Sin(x),x)==3&&Coefficient(Sin(x),x,
3)=!=0,{PolynomialQ(Sin(x),x),False},False},False},False}},{{FreeQ(2,x)&&PolynomialQ(Sin(x),x)&&Exponent(Sin(x),x)==
4&&2=!=2&&2=!=3,FreeQ(2,x)&&PolynomialQ(Sin(x),x)&&Exponent(Sin(x),x)==4&&2=!=2&&
2=!=3,{FreeQ(2,x),True},{PolynomialQ(Sin(x),x),False},False}},{{FreeQ(2,x)&&PolynomialQ(Sin(x),x)&&Exponent(Sin(x),x)==
4&&IntegerQ(2*2),FreeQ(2,x)&&PolynomialQ(Sin(x),x)&&Exponent(Sin(x),x)==4&&IntegerQ(
2*2),{FreeQ(2,x),True},{PolynomialQ(Sin(x),x),False},False}},{{FreeQ(Sin(x),x)&&integrate::quadraticq(
2,x)&&!integrate::quadraticmatchq(2,x),FreeQ(Sin(x),x)&&integrate::quadraticq(2,x)&&!integrate::quadraticmatchq(
2,x),{FreeQ(Sin(x),x),False},False}},{{FreeQ({Sin(x),0,1},x)&&PolynomialQ(1,x)&&integrate::poweroflinearq(
2,x)&&!integrate::poweroflinearmatchq(2,x),FreeQ({Sin(x),0,1},x)&&PolynomialQ(1,x)&&integrate::poweroflinearq(
2,x)&&!integrate::poweroflinearmatchq(2,x),{FreeQ({Sin(x),0,1},x),False},False}},{{integrate::positiveintegerq(
2)&&integrate::quadraticq(x,x)&&!integrate::quadraticmatchq(x,x),integrate::positiveintegerq(
2)&&integrate::quadraticq(x,x)&&!integrate::quadraticmatchq(x,x),{{{{{{Sequence(
2)},{2}},Scan(If(IntegerQ(#1)&&#1>0,Null,Throw(False))&,{2}),{{If(IntegerQ(#1)&&#1>
0,Null,Throw(False))&[2],If(IntegerQ(2)&&2>0,Null,Throw(False)),{{IntegerQ(2),True},{
2>0,True},True},Null},{Null}},Null},True},True},True},{{{{ListQ(x),False},PolynomialQ(x,x)&&Exponent(x,x)==
2&&Coefficient(x,x,2)=!=0,PolynomialQ(x,x)&&Exponent(x,x)==2&&Coefficient(x,x,2)=!=
0,{PolynomialQ(x,x),True},{{{ExpandAll(x),x},Max(1),1},1==2,False},False},False},False},False}},{{FreeQ(
2,x)&&integrate::trigq(Sin)&&integrate::binomialq(x,x)&&!integrate::binomialmatchq(x,x),FreeQ(
2,x)&&integrate::trigq(Sin)&&integrate::binomialq(x,x)&&!integrate::binomialmatchq(x,x),{FreeQ(
2,x),True},{{{{AtomQ(Sin),True},Sin},True},True},{{{ListQ(x),False},integrate::notfalseq(integrate::binomialtest(x,x)),{{{PolynomialQ(x,x),True},If(Exponent(x,x)>
0,Module({lst=Exponent(x,x,List)},If(Length(lst)==1,{0,Coefficient(x,x,Exponent(x,x)),Exponent(x,x)},If(Length(lst)==
2&&(lst[[1]])==0,{Coefficient(x,x,0),Coefficient(x,x,Exponent(x,x)),Exponent(x,x)},False))),False),{{{ExpandAll(x),x},Max(
1),1},1>0,True},Module({lst=Exponent(x,x,List)},If(Length(lst)==1,{0,Coefficient(x,x,Exponent(x,x)),Exponent(x,x)},If(Length(lst)==
2&&(lst[[1]])==0,{Coefficient(x,x,0),Coefficient(x,x,Exponent(x,x)),Exponent(x,x)},False))),{{ExpandAll(x),x},{
1}},{{{{lst$4,{1}},1},1==1,True},{0,Coefficient(x,x,Exponent(x,x)),Exponent(x,x)},{{{ExpandAll(x),x},Max(
1),1},Coefficient(x,x,1),{ExpandAll(x),x},1},{{ExpandAll(x),x},Max(1),1},{0,1,1}},{
0,1,1}},{0,1,1}},integrate::notfalseq({0,1,1}),{{0,1,1}=!=False,True},True},True},{{{{ListQ(x),False},MatchQ(x,a_.+b_.*x^n_./;FreeQ({a,b,n},x)),True},True},!True,False},False}},{{FreeQ(
2,x)&&integrate::hyperbolicq(Sin)&&integrate::binomialq(x,x)&&!integrate::binomialmatchq(x,x),FreeQ(
2,x)&&integrate::hyperbolicq(Sin)&&integrate::binomialq(x,x)&&!integrate::binomialmatchq(x,x),{FreeQ(
2,x),True},{{{{AtomQ(Sin),True},Sin},False},False},False}},{{{{{2<0,False}}},{{{{{{
2<0,False}}},{{{{{2<0,False}}},False},If(Sin(x)^2===x||integrate::calculusq(Sin(x)^
2),False,If(integrate::powerq(Sin(x)^2)&&FreeQ(Sin(x)^2[[1]],x)&&integrate::linearq(Sin(x)^
2[[2]],x),§$exponflag$=True;integrate::functionofexponentialtestaux(Sin(x)^2[[1]],Sin(x)^
2[[2]],x),If(integrate::hyperbolicq(Sin(x)^2)&&integrate::linearq(Sin(x)^2[[1]],x),integrate::functionofexponentialtestaux(E,Sin(x)^
2[[1]],x),If(integrate::powerq(Sin(x)^2)&&FreeQ(Sin(x)^2[[1]],x)&&integrate::sumq(Sin(x)^
2[[2]]),integrate::functionofexponentialtest(Sin(x)^2[[1]]^First(Sin(x)^2[[2]]),x)&&integrate::functionofexponentialtest(Sin(x)^
2[[1]]^Rest(Sin(x)^2[[2]]),x),Catch(Scan(If(!integrate::functionofexponentialtest(#1,x),Throw(False))&,Sin(x)^
2);True))))),{{{{{2<0,False}}},False},{{{{2<0,False}}},{{{{{2<0,False}}},Power},False},False},False},If(integrate::powerq(Sin(x)^
2)&&FreeQ(Sin(x)^2[[1]],x)&&integrate::linearq(Sin(x)^2[[2]],x),§$exponflag$=True;integrate::functionofexponentialtestaux(Sin(x)^
2[[1]],Sin(x)^2[[2]],x),If(integrate::hyperbolicq(Sin(x)^2)&&integrate::linearq(Sin(x)^
2[[1]],x),integrate::functionofexponentialtestaux(E,Sin(x)^2[[1]],x),If(integrate::powerq(Sin(x)^
2)&&FreeQ(Sin(x)^2[[1]],x)&&integrate::sumq(Sin(x)^2[[2]]),integrate::functionofexponentialtest(Sin(x)^
2[[1]]^First(Sin(x)^2[[2]]),x)&&integrate::functionofexponentialtest(Sin(x)^2[[1]]^Rest(Sin(x)^
2[[2]]),x),Catch(Scan(If(!integrate::functionofexponentialtest(#1,x),Throw(False))&,Sin(x)^
2);True)))),{integrate::powerq(Sin(x)^2)&&FreeQ(Sin(x)^2[[1]],x)&&integrate::linearq(Sin(x)^
2[[2]],x),integrate::powerq(Sin(x)^2)&&FreeQ(Sin(x)^2[[1]],x)&&integrate::linearq(Sin(x)^
2[[2]],x),{{{{2<0,False}}},{{{{{2<0,False}}},Power},Power===Power,True},True},{{{{{
2<0,False}}},Sin(x)},False},False},If(integrate::hyperbolicq(Sin(x)^2)&&integrate::linearq(Sin(x)^
2[[1]],x),integrate::functionofexponentialtestaux(E,Sin(x)^2[[1]],x),If(integrate::powerq(Sin(x)^
2)&&FreeQ(Sin(x)^2[[1]],x)&&integrate::sumq(Sin(x)^2[[2]]),integrate::functionofexponentialtest(Sin(x)^
2[[1]]^First(Sin(x)^2[[2]]),x)&&integrate::functionofexponentialtest(Sin(x)^2[[1]]^Rest(Sin(x)^
2[[2]]),x),Catch(Scan(If(!integrate::functionofexponentialtest(#1,x),Throw(False))&,Sin(x)^
2);True))),{{{{{2<0,False}}},{{{{{{2<0,False}}},False},Head(Sin(x)^2),{{{2<0,False}}},Power},False},False},False},If(integrate::powerq(Sin(x)^
2)&&FreeQ(Sin(x)^2[[1]],x)&&integrate::sumq(Sin(x)^2[[2]]),integrate::functionofexponentialtest(Sin(x)^
2[[1]]^First(Sin(x)^2[[2]]),x)&&integrate::functionofexponentialtest(Sin(x)^2[[1]]^Rest(Sin(x)^
2[[2]]),x),Catch(Scan(If(!integrate::functionofexponentialtest(#1,x),Throw(False))&,Sin(x)^
2);True)),{integrate::powerq(Sin(x)^2)&&FreeQ(Sin(x)^2[[1]],x)&&integrate::sumq(Sin(x)^
2[[2]]),integrate::powerq(Sin(x)^2)&&FreeQ(Sin(x)^2[[1]],x)&&integrate::sumq(Sin(x)^
2[[2]]),{{{{2<0,False}}},{{{{{2<0,False}}},Power},Power===Power,True},True},{{{{{
2<0,False}}},Sin(x)},False},False},Catch(Scan(If(!integrate::functionofexponentialtest(#1,x),Throw(False))&,Sin(x)^
2);True),{{{{{2<0,False}}},{{If(!integrate::functionofexponentialtest(#1,x),Throw(False))&[Sin(x)],If(!integrate::functionofexponentialtest(Sin(x),x),Throw(False)),{{{{FreeQ(Sin(x),x),False},If(Sin(x)===x||integrate::calculusq(Sin(x)),False,If(integrate::powerq(Sin(x))&&FreeQ(Sin(x)[[
1]],x)&&integrate::linearq(Sin(x)[[2]],x),§$exponflag$=True;integrate::functionofexponentialtestaux(Sin(x)[[
1]],Sin(x)[[2]],x),If(integrate::hyperbolicq(Sin(x))&&integrate::linearq(Sin(x)[[
1]],x),integrate::functionofexponentialtestaux(E,Sin(x)[[1]],x),If(integrate::powerq(Sin(x))&&FreeQ(Sin(x)[[
1]],x)&&integrate::sumq(Sin(x)[[2]]),integrate::functionofexponentialtest(Sin(x)[[
1]]^First(Sin(x)[[2]]),x)&&integrate::functionofexponentialtest(Sin(x)[[1]]^Rest(Sin(x)[[
2]]),x),Catch(Scan(If(!integrate::functionofexponentialtest(#1,x),Throw(False))&,Sin(x));True))))),{{Sin(x)===x,False},{{{Head(Sin(x)),Sin},False},False},False},If(integrate::powerq(Sin(x))&&FreeQ(Sin(x)[[
1]],x)&&integrate::linearq(Sin(x)[[2]],x),§$exponflag$=True;integrate::functionofexponentialtestaux(Sin(x)[[
1]],Sin(x)[[2]],x),If(integrate::hyperbolicq(Sin(x))&&integrate::linearq(Sin(x)[[
1]],x),integrate::functionofexponentialtestaux(E,Sin(x)[[1]],x),If(integrate::powerq(Sin(x))&&FreeQ(Sin(x)[[
1]],x)&&integrate::sumq(Sin(x)[[2]]),integrate::functionofexponentialtest(Sin(x)[[
1]]^First(Sin(x)[[2]]),x)&&integrate::functionofexponentialtest(Sin(x)[[1]]^Rest(Sin(x)[[
2]]),x),Catch(Scan(If(!integrate::functionofexponentialtest(#1,x),Throw(False))&,Sin(x));True)))),{integrate::powerq(Sin(x))&&FreeQ(Sin(x)[[
1]],x)&&integrate::linearq(Sin(x)[[2]],x),integrate::powerq(Sin(x))&&FreeQ(Sin(x)[[
1]],x)&&integrate::linearq(Sin(x)[[2]],x),{{{Head(Sin(x)),Sin},Sin===Power,False},False},False},If(integrate::hyperbolicq(Sin(x))&&integrate::linearq(Sin(x)[[
1]],x),integrate::functionofexponentialtestaux(E,Sin(x)[[1]],x),If(integrate::powerq(Sin(x))&&FreeQ(Sin(x)[[
1]],x)&&integrate::sumq(Sin(x)[[2]]),integrate::functionofexponentialtest(Sin(x)[[
1]]^First(Sin(x)[[2]]),x)&&integrate::functionofexponentialtest(Sin(x)[[1]]^Rest(Sin(x)[[
2]]),x),Catch(Scan(If(!integrate::functionofexponentialtest(#1,x),Throw(False))&,Sin(x));True))),{{{{{AtomQ(Sin(x)),False},Head(Sin(x)),Sin},False},False},False},If(integrate::powerq(Sin(x))&&FreeQ(Sin(x)[[
1]],x)&&integrate::sumq(Sin(x)[[2]]),integrate::functionofexponentialtest(Sin(x)[[
1]]^First(Sin(x)[[2]]),x)&&integrate::functionofexponentialtest(Sin(x)[[1]]^Rest(Sin(x)[[
2]]),x),Catch(Scan(If(!integrate::functionofexponentialtest(#1,x),Throw(False))&,Sin(x));True)),{integrate::powerq(Sin(x))&&FreeQ(Sin(x)[[
1]],x)&&integrate::sumq(Sin(x)[[2]]),integrate::powerq(Sin(x))&&FreeQ(Sin(x)[[1]],x)&&integrate::sumq(Sin(x)[[
2]]),{{{Head(Sin(x)),Sin},Sin===Power,False},False},False},Catch(Scan(If(!integrate::functionofexponentialtest(#1,x),Throw(False))&,Sin(x));True),{{{{If(!integrate::functionofexponentialtest(#1,x),Throw(False))&[x],If(!integrate::functionofexponentialtest(x,x),Throw(False)),{{{{FreeQ(x,x),False},If(x===x||integrate::calculusq(x),False,If(integrate::powerq(x)&&FreeQ((x[[
1]]),x)&&integrate::linearq((x[[2]]),x),§$exponflag$=True;integrate::functionofexponentialtestaux((x[[
1]]),(x[[2]]),x),If(integrate::hyperbolicq(x)&&integrate::linearq((x[[1]]),x),integrate::functionofexponentialtestaux(E,(x[[
1]]),x),If(integrate::powerq(x)&&FreeQ((x[[1]]),x)&&integrate::sumq((x[[2]])),integrate::functionofexponentialtest((x[[
1]])^First((x[[2]])),x)&&integrate::functionofexponentialtest((x[[1]])^Rest((x[[
2]])),x),Catch(Scan(If(!integrate::functionofexponentialtest(#1,x),Throw(False))&,x);True))))),{{x===x,True},True},False},False},!False,True},Throw(False)}}}},False},False},!False,True},Throw(False)}}}},False},False},False},False},False}},{{{{{
2<0,False}}},{{{{{2<0,False}}},Power},Power=!=Plus,True},True},{{{{{{{2<0,False}}}},{{{{{
2<0,False}}}},x*Sin(x)^2,{{{2<0,False}}}},x*Sin(x)^2,{{{2<0,False}}}},integrate::functionoflog(x*Sin(x)^
2,x),{{{{2<0,False}}}},{{{{{{2<0,False}}}},{{{{{{2<0,False}}}},False},If(integrate::calculusq(x*Sin(x)^
2),False,Module({lst},If(integrate::logq(x*Sin(x)^2)&&integrate::notfalseq(lst=integrate::binomialtest(x*Sin(x)^
2[[1]],x))&&integrate::zeroq((lst[[1]])),If(integrate::falseq(False)||x*Sin(x)^2[[
1]]===False,{x,x*Sin(x)^2[[1]],(lst[[3]])},False),lst={0,False,False};Catch({((lst=integrate::functionoflog(#1,(lst[[
2]]),(lst[[3]]),x);If(integrate::falseq(lst),Throw(False),(lst[[1]])))&)/@(x*Sin(x)^
2),(lst[[2]]),(lst[[3]])})))),{{{{{2<0,False}}}},{{{{{{2<0,False}}}},Times},False},False},Module({lst},If(integrate::logq(x*Sin(x)^
2)&&integrate::notfalseq(lst=integrate::binomialtest(x*Sin(x)^2[[1]],x))&&integrate::zeroq((lst[[
1]])),If(integrate::falseq(False)||x*Sin(x)^2[[1]]===False,{x,x*Sin(x)^2[[1]],(lst[[
3]])},False),lst={0,False,False};Catch({((lst=integrate::functionoflog(#1,(lst[[
2]]),(lst[[3]]),x);If(integrate::falseq(lst),Throw(False),(lst[[1]])))&)/@(x*Sin(x)^
2),(lst[[2]]),(lst[[3]])}))),{{integrate::logq(x*Sin(x)^2)&&integrate::notfalseq(lst$7=integrate::binomialtest(x*Sin(x)^
2[[1]],x))&&integrate::zeroq((lst$7[[1]])),integrate::logq(x*Sin(x)^2)&&integrate::notfalseq(lst$7=integrate::binomialtest(x*Sin(x)^
2[[1]],x))&&integrate::zeroq((lst$7[[1]])),{{{{{2<0,False}}}},{{{{{{2<0,False}}}},Times},Times===Log,False},False},False},lst$7={
0,False,False};Catch({((lst$7=integrate::functionoflog(#1,(lst$7[[2]]),(lst$7[[3]]),x);If(integrate::falseq(lst$7),Throw(False),(lst$7[[
1]])))&)/@(x*Sin(x)^2),(lst$7[[2]]),(lst$7[[3]])}),{lst$7={0,False,False},{0,False,False}},{{{{{{{
2<0,False}}}},(lst$7=integrate::functionoflog(#1,(lst$7[[2]]),(lst$7[[3]]),x);If(integrate::falseq(lst$7),Throw(False),(lst$7[[
1]])))&[x]*(lst$7=integrate::functionoflog(#1,(lst$7[[2]]),(lst$7[[3]]),x);If(integrate::falseq(lst$7),Throw(False),(lst$7[[
1]])))&[Sin(x)^2],{(lst$7=integrate::functionoflog(#1,(lst$7[[2]]),(lst$7[[3]]),x);If(integrate::falseq(lst$7),Throw(False),(lst$7[[
1]])))&[x],lst$7=integrate::functionoflog(x,(lst$7[[2]]),(lst$7[[3]]),x);If(integrate::falseq(lst$7),Throw(False),(lst$7[[
1]])),{{{{lst$7,{0,False,False}},False},{{lst$7,{0,False,False}},False},integrate::functionoflog(x,False,False,x),{{AtomQ(x),True},If(x===x,False,{x,False,False}),{x===x,True},False},False},False},{{{lst$7,False},integrate::falseq(False),{False===False,True},True},Throw(False)}}}},False},False},False},False},{{{{lst$6,False},integrate::falseq(False),{False===False,True},True},True},False},False},False},{{{{lst$5,False},integrate::falseq(False),{False===False,True},True},!True,False}}}},{{{{{
2<0,False}}},{{{{{{{2<0,False}}},{{{{{2<0,False}}},False},If(integrate::trigq(Sin(x)^
2)&&integrate::linearq(Sin(x)^2[[1]],x),If(Null===Null,Sin(x)^2[[1]],Module({a=Coefficient(Null,x,
0),b=Coefficient(Null,x,1),c=Coefficient(Sin(x)^2[[1]],x,0),d=Coefficient(Sin(x)^
2[[1]],x,1)},If(integrate::zeroq(-b*c+a*d)&&integrate::rationalq(b/d),a/Numerator(b/d)+(b*x)/Numerator(b/d),False))),If(integrate::hyperbolicq(Sin(x)^
2)&&integrate::linearq(Sin(x)^2[[1]],x),If(Null===Null,I*Sin(x)^2[[1]],Module({a=Coefficient(Null,x,
0),b=Coefficient(Null,x,1),c=I*Coefficient(Sin(x)^2[[1]],x,0),d=I*Coefficient(Sin(x)^
2[[1]],x,1)},If(integrate::zeroq(-b*c+a*d)&&integrate::rationalq(b/d),a/Numerator(b/d)+(b*x)/Numerator(b/d),False))),If(integrate::calculusq(Sin(x)^
2),False,Module({w=Null},Catch(Scan(If(integrate::falseq(w=integrate::functionoftrig(#1,w,x)),Throw(False))&,Sin(x)^
2);w))))),{{{{{2<0,False}}},{{{{{{2<0,False}}},False},Head(Sin(x)^2),{{{2<0,False}}},Power},False},False},False},If(integrate::hyperbolicq(Sin(x)^
2)&&integrate::linearq(Sin(x)^2[[1]],x),If(Null===Null,I*Sin(x)^2[[1]],Module({a=Coefficient(Null,x,
0),b=Coefficient(Null,x,1),c=I*Coefficient(Sin(x)^2[[1]],x,0),d=I*Coefficient(Sin(x)^
2[[1]],x,1)},If(integrate::zeroq(-b*c+a*d)&&integrate::rationalq(b/d),a/Numerator(b/d)+(b*x)/Numerator(b/d),False))),If(integrate::calculusq(Sin(x)^
2),False,Module({w=Null},Catch(Scan(If(integrate::falseq(w=integrate::functionoftrig(#1,w,x)),Throw(False))&,Sin(x)^
2);w)))),{{{{{2<0,False}}},{{{{{{2<0,False}}},False},Head(Sin(x)^2),{{{2<0,False}}},Power},False},False},False},If(integrate::calculusq(Sin(x)^
2),False,Module({w=Null},Catch(Scan(If(integrate::falseq(w=integrate::functionoftrig(#1,w,x)),Throw(False))&,Sin(x)^
2);w))),{{{{2<0,False}}},{{{{{2<0,False}}},Power},False},False},Module({w=Null},Catch(Scan(If(integrate::falseq(w=integrate::functionoftrig(#1,w,x)),Throw(False))&,Sin(x)^
2);w)),{{{{{{2<0,False}}},{{If(integrate::falseq(w$8=integrate::functionoftrig(#1,w$8,x)),Throw(False))&[Sin(x)],If(integrate::falseq(w$8=integrate::functionoftrig(Sin(x),w$8,x)),Throw(False)),{{{{w$8,Null},integrate::functionoftrig(Sin(x),Null,x),{{AtomQ(Sin(x)),False},If(integrate::trigq(Sin(x))&&integrate::linearq(Sin(x)[[
1]],x),If(Null===Null,Sin(x)[[1]],Module({a=Coefficient(Null,x,0),b=Coefficient(Null,x,
1),c=Coefficient(Sin(x)[[1]],x,0),d=Coefficient(Sin(x)[[1]],x,1)},If(integrate::zeroq(-b*c+a*d)&&integrate::rationalq(b/d),a/Numerator(b/d)+(b*x)/Numerator(b/d),False))),If(integrate::hyperbolicq(Sin(x))&&integrate::linearq(Sin(x)[[
1]],x),If(Null===Null,I*Sin(x)[[1]],Module({a=Coefficient(Null,x,0),b=Coefficient(Null,x,
1),c=I*Coefficient(Sin(x)[[1]],x,0),d=I*Coefficient(Sin(x)[[1]],x,1)},If(integrate::zeroq(-b*c+a*d)&&integrate::rationalq(b/d),a/Numerator(b/d)+(b*x)/Numerator(b/d),False))),If(integrate::calculusq(Sin(x)),False,Module({w=Null},Catch(Scan(If(integrate::falseq(w=integrate::functionoftrig(#1,w,x)),Throw(False))&,Sin(x));w))))),{{{{{AtomQ(Sin(x)),False},Head(Sin(x)),Sin},True},True},{{Sin(x)[[
1]],x},integrate::linearq(x,x),{{{ListQ(x),False},PolynomialQ(x,x)&&Exponent(x,x)==
1&&Coefficient(x,x,1)=!=0,PolynomialQ(x,x)&&Exponent(x,x)==1&&Coefficient(x,x,1)=!=
0,{PolynomialQ(x,x),True},{{{ExpandAll(x),x},Max(1),1},1==1,True},{{{ExpandAll(x),x},
1},1=!=0,True},True},True},True},True},If(Null===Null,Sin(x)[[1]],Module({a=Coefficient(Null,x,
0),b=Coefficient(Null,x,1),c=Coefficient(Sin(x)[[1]],x,0),d=Coefficient(Sin(x)[[
1]],x,1)},If(integrate::zeroq(-b*c+a*d)&&integrate::rationalq(b/d),a/Numerator(b/d)+(b*x)/Numerator(b/d),False))),{Null===Null,True},Sin(x)[[
1]],x},x},x},integrate::falseq(x),{x===False,False},False},Null},{If(integrate::falseq(w$8=integrate::functionoftrig(#1,w$8,x)),Throw(False))&[
2],If(integrate::falseq(w$8=integrate::functionoftrig(2,w$8,x)),Throw(False)),{{{{w$8,x},integrate::functionoftrig(
2,x,x),{{AtomQ(2),True},If(2===x,False,x),{2===x,False},x},x},x},integrate::falseq(x),{x===False,False},False},Null},Null^Null},Null},{w$8,x},x},x},x},x},False},!False,True},{{{{
2<0,False}}},{{{{{2<0,False}}},False},If(integrate::trigq(Sin(x)^2)&&integrate::linearq(Sin(x)^
2[[1]],x),True,If(integrate::hyperbolicq(Sin(x)^2)&&integrate::linearq(Sin(x)^2[[
1]],x),True,If(integrate::powerq(Sin(x)^2)&&FreeQ(Sin(x)^2[[2]],x),integrate::algebraictrigfunctionq(Sin(x)^
2[[1]],x),If(integrate::productq(Sin(x)^2)||integrate::sumq(Sin(x)^2),Catch(Scan(If(!integrate::algebraictrigfunctionq(#1,x),Throw(False))&,Sin(x)^
2);True),False)))),{{{{{2<0,False}}},{{{{{{2<0,False}}},False},Head(Sin(x)^2),{{{
2<0,False}}},Power},False},False},False},If(integrate::hyperbolicq(Sin(x)^2)&&integrate::linearq(Sin(x)^
2[[1]],x),True,If(integrate::powerq(Sin(x)^2)&&FreeQ(Sin(x)^2[[2]],x),integrate::algebraictrigfunctionq(Sin(x)^
2[[1]],x),If(integrate::productq(Sin(x)^2)||integrate::sumq(Sin(x)^2),Catch(Scan(If(!integrate::algebraictrigfunctionq(#1,x),Throw(False))&,Sin(x)^
2);True),False))),{{{{{2<0,False}}},{{{{{{2<0,False}}},False},Head(Sin(x)^2),{{{
2<0,False}}},Power},False},False},False},If(integrate::powerq(Sin(x)^2)&&FreeQ(Sin(x)^
2[[2]],x),integrate::algebraictrigfunctionq(Sin(x)^2[[1]],x),If(integrate::productq(Sin(x)^
2)||integrate::sumq(Sin(x)^2),Catch(Scan(If(!integrate::algebraictrigfunctionq(#1,x),Throw(False))&,Sin(x)^
2);True),False)),{{{{{2<0,False}}},{{{{{2<0,False}}},Power},Power===Power,True},True},{{{{{
2<0,False}}},2},True},True},integrate::algebraictrigfunctionq(Sin(x)^2[[1]],x),{{{{
2<0,False}}},Sin(x)},integrate::algebraictrigfunctionq(Sin(x),x),{{AtomQ(Sin(x)),False},If(integrate::trigq(Sin(x))&&integrate::linearq(Sin(x)[[
1]],x),True,If(integrate::hyperbolicq(Sin(x))&&integrate::linearq(Sin(x)[[1]],x),True,If(integrate::powerq(Sin(x))&&FreeQ(Sin(x)[[
2]],x),integrate::algebraictrigfunctionq(Sin(x)[[1]],x),If(integrate::productq(Sin(x))||integrate::sumq(Sin(x)),Catch(Scan(If(!integrate::algebraictrigfunctionq(#1,x),Throw(False))&,Sin(x));True),False)))),{{{{{AtomQ(Sin(x)),False},Head(Sin(x)),Sin},True},True},{{Sin(x)[[
1]],x},integrate::linearq(x,x),{{{ListQ(x),False},PolynomialQ(x,x)&&Exponent(x,x)==
1&&Coefficient(x,x,1)=!=0,PolynomialQ(x,x)&&Exponent(x,x)==1&&Coefficient(x,x,1)=!=
0,{PolynomialQ(x,x),True},{{{ExpandAll(x),x},Max(1),1},1==1,True},{{{ExpandAll(x),x},
1},1=!=0,True},True},True},True},True},True},True},True},True},True},{{{{{2<0,False}}},{{{{{
2<0,False}}},{{{{{2<0,False}}},False},If(integrate::trigq(Sin(x)^2)&&integrate::linearq(Sin(x)^
2[[1]],x),Module({v=integrate::expandtosum(Sin(x)^2[[1]],x)},If(integrate::sinq(Sin(x)^
2),§sin(v),If(integrate::cosq(Sin(x)^2),§cos(v),If(integrate::tanq(Sin(x)^2),§tan(v),If(integrate::cotq(Sin(x)^
2),§cot(v),If(integrate::secq(Sin(x)^2),§sec(v),§csc(v))))))),If(integrate::hyperbolicq(Sin(x)^
2)&&integrate::linearq(Sin(x)^2[[1]],x),Module({v=integrate::expandtosum(I*Sin(x)^
2[[1]],x)},If(integrate::sinhq(Sin(x)^2),(-1)*I*§sin(v),If(integrate::coshq(Sin(x)^
2),§cos(v),If(integrate::tanhq(Sin(x)^2),(-1)*I*§tan(v),If(integrate::cothq(Sin(x)^
2),I*§cot(v),If(integrate::sechq(Sin(x)^2),§sec(v),I*§csc(v))))))),(integrate::deactivatetrigaux(#1,x)&)/@(Sin(x)^
2))),{{{{{2<0,False}}},{{{{{{2<0,False}}},False},Head(Sin(x)^2),{{{2<0,False}}},Power},False},False},False},If(integrate::hyperbolicq(Sin(x)^
2)&&integrate::linearq(Sin(x)^2[[1]],x),Module({v=integrate::expandtosum(I*Sin(x)^
2[[1]],x)},If(integrate::sinhq(Sin(x)^2),(-1)*I*§sin(v),If(integrate::coshq(Sin(x)^
2),§cos(v),If(integrate::tanhq(Sin(x)^2),(-1)*I*§tan(v),If(integrate::cothq(Sin(x)^
2),I*§cot(v),If(integrate::sechq(Sin(x)^2),§sec(v),I*§csc(v))))))),(integrate::deactivatetrigaux(#1,x)&)/@(Sin(x)^
2)),{{{{{2<0,False}}},{{{{{{2<0,False}}},False},Head(Sin(x)^2),{{{2<0,False}}},Power},False},False},False},(integrate::deactivatetrigaux(#1,x)&)/@(Sin(x)^
2),{{{2<0,False}}},integrate::deactivatetrigaux(#1,x)&[Sin(x)]^integrate::deactivatetrigaux(#1,x)&[
2],{integrate::deactivatetrigaux(#1,x)&[Sin(x)],integrate::deactivatetrigaux(Sin(x),x),{{AtomQ(Sin(x)),False},If(integrate::trigq(Sin(x))&&integrate::linearq(Sin(x)[[
1]],x),Module({v=integrate::expandtosum(Sin(x)[[1]],x)},If(integrate::sinq(Sin(x)),§sin(v),If(integrate::cosq(Sin(x)),§cos(v),If(integrate::tanq(Sin(x)),§tan(v),If(integrate::cotq(Sin(x)),§cot(v),If(integrate::secq(Sin(x)),§sec(v),§csc(v))))))),If(integrate::hyperbolicq(Sin(x))&&integrate::linearq(Sin(x)[[
1]],x),Module({v=integrate::expandtosum(I*Sin(x)[[1]],x)},If(integrate::sinhq(Sin(x)),(
-1)*I*§sin(v),If(integrate::coshq(Sin(x)),§cos(v),If(integrate::tanhq(Sin(x)),(
-1)*I*§tan(v),If(integrate::cothq(Sin(x)),I*§cot(v),If(integrate::sechq(Sin(x)),§sec(v),I*§csc(v))))))),(integrate::deactivatetrigaux(#1,x)&)/@Sin(x))),{{{{{AtomQ(Sin(x)),False},Head(Sin(x)),Sin},True},True},{{Sin(x)[[
1]],x},integrate::linearq(x,x),{{{ListQ(x),False},PolynomialQ(x,x)&&Exponent(x,x)==
1&&Coefficient(x,x,1)=!=0,PolynomialQ(x,x)&&Exponent(x,x)==1&&Coefficient(x,x,1)=!=
0,{PolynomialQ(x,x),True},{{{ExpandAll(x),x},Max(1),1},1==1,True},{{{ExpandAll(x),x},
1},1=!=0,True},True},True},True},True},Module({v=integrate::expandtosum(Sin(x)[[
1]],x)},If(integrate::sinq(Sin(x)),§sin(v),If(integrate::cosq(Sin(x)),§cos(v),If(integrate::tanq(Sin(x)),§tan(v),If(integrate::cotq(Sin(x)),§cot(v),If(integrate::secq(Sin(x)),§sec(v),§csc(v))))))),{{Sin(x)[[
1]],x},integrate::expandtosum(x,x),{{PolynomialQ(x,x),True},Plus@@(x^#1*Coefficient(x,x,#1)&)/@Exponent(x,x,List),{{{ExpandAll(x),x},{
1}},(x^#1*Coefficient(x,x,#1)&)/@{1},{x^#1*Coefficient(x,x,#1)&[1]},{x^#1*Coefficient(x,x,#1)&[
1],x^1*Coefficient(x,x,1),{x^1,x},{{ExpandAll(x),x},1},1*x,x},{x}},Plus(x),x},x},{{{{Head(Sin(x)),Sin},Sin===Sin,True},True},§sin(v$9),{v$9,x},§sin(x)},§sin(x)},§sin(x)},{integrate::deactivatetrigaux(#1,x)&[
2],integrate::deactivatetrigaux(2,x),{{AtomQ(2),True},2},2},§sin(x)^2},§sin(x)^2},integrate::fixinerttrigfunction(§sin(x)^
2,x),§sin(x)^2},§sin(x)^2},{{FreeQ({0,1,1},x)&&integrate::rationalq(2)&&2>1&&!OddQ(
2),FreeQ({0,1,1},x)&&integrate::rationalq(2)&&2>1&&!OddQ(2),{FreeQ({0,1,1},x),True},{{{{{{Sequence(
2)},{2}},Scan(If(IntegerQ(#1)||Head(#1)===Rational,Null,Throw(False))&,{2}),{{If(IntegerQ(#1)||Head(#1)===Rational,Null,Throw(False))&[
2],If(IntegerQ(2)||Head(2)===Rational,Null,Throw(False)),{{IntegerQ(2),True},True},Null},{Null}},Null},True},True},True},{
2>1,True},{{OddQ(2),False},!False,True},True},{{{{{1*x,x},0+x,x},Cos(x)},{{{{{1*x,x},
0+x,x},Sin(x)},1*Sin(x),Sin(x)},{-1+2,1},Sin(x)^1,{{1<0,False}},Sin(x)},{{1*2,2},1/
2,1/2},(-1)*1/2*1*Cos(x)*Sin(x),-1/2*Cos(x)*Sin(x)},{{1^2,1},{-1+2,1},{1/2,1/2},{{{{{{
1*x,x},0+x,x},Sin(x)},1*Sin(x),Sin(x)},{-2+2,0},Sin(x)^0,{{0<0,False}},1},1*x,x},
1/2*1*1*x,x/2},-1/2*Cos(x)*Sin(x)+x/2},-1/2*Cos(x)*Sin(x)+x/2},-1/2*Cos(x)*Sin(x)+x/
2},-1/2*Cos(x)*Sin(x)+x/2},-1/2*Cos(x)*Sin(x)+x/2},2*(-1/2*Cos(x)*Sin(x)+x/2)}
\sqrt{x}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,937评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,503评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,712评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,668评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,677评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,601评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,975评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,637评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,881评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,621评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,710评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,387评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,971评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,947评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,189评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,805评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,449评论 2 342

推荐阅读更多精彩内容

  • 在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析...
    时待吾阅读 4,937评论 1 13
  • 在应用程序中添加日志记录总的来说基于三个目的:监视代码中变量的变化情况,周期性的记录到文件中供其他应用进行统计分析...
    时待吾阅读 4,957评论 0 6
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,590评论 18 139
  • 不要再递烟给我了 抽烟的时候,你好像忍着咽喉的不适,在人们看不见的时候,狠狠掐我的大腿。 老李地中海越来越严重了,...
    编剧王安鹏阅读 740评论 13 4
  • 题外话:再来剖析大师绘本大卫·威斯纳的《三只小猪》的确有点困难,因为大师的绘本在不同的场合,被不同的人以不同的角度...
    晨光微晓阅读 1,764评论 19 15