Is something broken?



Without looking at your problem closely, I see a couple of superficial
problems:

> trigexpandplus:true,expand,all;
> trigexpandtimes:true,expand,all;
> trigexpand:true,expand,all;


What are you trying to do here?  These have the same effect as

       trigexpandplus:true;
       trigexpandtimes:true;
       trigexpand:true;

The "expand,all" part has no effect.

g(x,t,x0):=sqrt(w/(2*%pi*sinh(w*t)))
>           *exp(-w/(2*sinh(w*t))*((x**2+x0**2)*cosh(w*t)-2*x*x0));
>
> a:integrate(g(x1,t,x0)*x1**2*g(x0,b-t,x1),x1,minf,inf);
> b:integrate(g(x1,t,x0)*g(x0,b-t,x1),x1,minf,inf);
> c:trigsimp(a/b);
> ev(%,x0=0);
>

You seem to be using "b" both as the name of a parameter and as an
intermediate result in your calculation.  I doubt that this is what you
intend.

In particular, it has the effect in the ev(...) expression of RE-EVALUATING
b and substituting it back into the expression.

Try the same thing with

inta: integrate...
intb: integrate...
quo: trigsimp(inta/intb);

and instead of ev, it is generally a better idea to use subst:

subst(0,x0,quo);