Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project!

## [Reduce-algebra-developers] An integral that takes forever

 [Reduce-algebra-developers] An integral that takes forever From: Rainer Schöpf - 2012-11-17 13:59:06 ```This expression: p2:=1/(sqrt(d-x)*sqrt(c-x)*sqrt(b-x)*sqrt(a-x)*(a*b-a*x-b*x+x**2)); takes forever to integrate. With the new switch trintsubst (to trace only the substitutions) you see that more and more complex substitutions are tried, without any reasonable result: load_package int; on trintsubst; int(p2,x); As you can see, at one point there appears the square root of polynomials of hyperbolic functions, which isn't a sensible way to go, in my opinion. I added another new switch nointsubst to switch off the substitution attempts entirely. With "on nointsubst", the integral is returned unevaluated within a very short time. I think this needs some heuristics to stop these substitutions when they lead to overly complicated integrands. Maybe stop when surds or exponentials with transcendental functions appear. Any ideas? Rainer ```

 [Reduce-algebra-developers] An integral that takes forever From: Rainer Schöpf - 2012-11-17 13:59:06 ```This expression: p2:=1/(sqrt(d-x)*sqrt(c-x)*sqrt(b-x)*sqrt(a-x)*(a*b-a*x-b*x+x**2)); takes forever to integrate. With the new switch trintsubst (to trace only the substitutions) you see that more and more complex substitutions are tried, without any reasonable result: load_package int; on trintsubst; int(p2,x); As you can see, at one point there appears the square root of polynomials of hyperbolic functions, which isn't a sensible way to go, in my opinion. I added another new switch nointsubst to switch off the substitution attempts entirely. With "on nointsubst", the integral is returned unevaluated within a very short time. I think this needs some heuristics to stop these substitutions when they lead to overly complicated integrands. Maybe stop when surds or exponentials with transcendental functions appear. Any ideas? Rainer ```