integrate hangs with acos(1+%i*x)



Robert Dodier wrote:
> integrate(acos(1+%i*x),x,-1,2);
hangs.

Indeed i see the same here under sbcl and maxima 5.25.1.
I have a backtrace which supports looping always on the same computation:


0: (SB-KERNEL:TWO-ARG-+ -4199579596574115072 -317738973225728000)
1: (CPLUS -4199579596574115072 -317738973225728000)
2: (PCPLUS -317738973225728000 -4199579596574115072)
3: (PPLUS -317738973225728000 -4199579596574115072)
4: (PPLUS1
    (14 -317738973225728000 10 1470207527488473600 6 -197927315224332800)
    (14 -4199579596574115072 10 10377946040669729152 6 -940439922132963072 2
     2014186520221184))
5: (PPLUS1
    (18 -4497499316480000 14 -317738973225728000 10 1470207527488473600 6
     -197927315224332800)
    (18 -111090916028310400 14 -4199579596574115072 10 10377946040669729152 6
     -940439922132963072 2 2014186520221184))
6: (PPLUS
    (#:|cos(atan(2/(?g3298-1))/2)3381| 18 -111090916028310400 14
     -4199579596574115072 10 10377946040669729152 6 -940439922132963072 2
     2014186520221184)
    (#:|cos(atan(2/(?g3298-1))/2)3381| 18 -4497499316480000 14
     -317738973225728000 10 1470207527488473600 6 -197927315224332800))
7: (PTIMES1
    (44 (#:|cos(atan(2/(?g3298-1))/2)3381| 1 3548232542740416) 43
     (#:|cos(atan(2/(?g3298-1))/2)3381| 2 6479997022956096) 42
     (#:|cos(atan(2/(?g3298-1))/2)3381| 3 -3222785130866112) 41
     (#:|cos(atan(2/(?g3298-1))/2)3381| 4 -12202858201253952 0
321141710217408)
     40
     (#:|cos(atan(2/(?g3298-1))/2)3381| 5 -50326150422114432 1
      1581529052717568)
     39
     (#:|cos(atan(2/(?g3298-1))/2)3381| 6 -79274235964789632 2
      1223110823844288)
     ...)
    (28 -1150000 27 (#:|cos(atan(2/(?g3298-1))/2)3381| 1 -4350000) 26
     (#:|cos(atan(2/(?g3298-1))/2)3381| 2 -4350000) 25
     (#:|cos(atan(2/(?g3298-1))/2)3381| 3 -4850000) 24
     (#:|cos(atan(2/(?g3298-1))/2)3381| 4 -7150000 0 -50000) 23
     (#:|cos(atan(2/(?g3298-1))/2)3381| 5 -14050000 1 -400000) ...))
8: (PTIMES
    (#:|sin(atan(2/(?g3298-1))/2)3382| 44
     (#:|cos(atan(2/(?g3298-1))/2)3381| 1 3548232542740416) 43
     (#:|cos(atan(2/(?g3298-1))/2)3381| 2 6479997022956096) 42
     (#:|cos(atan(2/(?g3298-1))/2)3381| 3 -3222785130866112) 41
     (#:|cos(atan(2/(?g3298-1))/2)3381| 4 -12202858201253952 0
321141710217408)
     40
     (#:|cos(atan(2/(?g3298-1))/2)3381| 5 -50326150422114432 1
      1581529052717568)
     39 ...)
    (#:|sin(atan(2/(?g3298-1))/2)3382| 28 -1150000 27
     (#:|cos(atan(2/(?g3298-1))/2)3381| 1 -4350000) 26
     (#:|cos(atan(2/(?g3298-1))/2)3381| 2 -4350000) 25
     (#:|cos(atan(2/(?g3298-1))/2)3381| 3 -4850000) 24
     (#:|cos(atan(2/(?g3298-1))/2)3381| 4 -7150000 0 -50000) 23 ...))
9: (PTIMES1
    (28
     (#:|sin(atan(2/(?g3298-1))/2)3382| 28 4 26
      (#:|cos(atan(2/(?g3298-1))/2)3381| 2 8) 24
      (#:|cos(atan(2/(?g3298-1))/2)3381| 4 20))
     27
     (#:|sin(atan(2/(?g3298-1))/2)3382| 28 -112 27
      (#:|cos(atan(2/(?g3298-1))/2)3381| 1 -16) 26
      (#:|cos(atan(2/(?g3298-1))/2)3381| 2 -224) 25
      (#:|cos(atan(2/(?g3298-1))/2)3381| 3 -32) 24
      (#:|cos(atan(2/(?g3298-1))/2)3381| 4 -560) 23 ...)
     26
     (#:|sin(atan(2/(?g3298-1))/2)3382| 28 1608 27
      (#:|cos(atan(2/(?g3298-1))/2)3381| 1 432) 26
      (#:|cos(atan(2/(?g3298-1))/2)3381| 2 3224) 25
      (#:|cos(atan(2/(?g3298-1))/2)3381| 3 864) 24
      (#:|cos(atan(2/(?g3298-1))/2)3381| 4 8056 0 8) 23 ...)
     25
     (#:|sin(atan(2/(?g3298-1))/2)3382| 28 -15600 27
      (#:|cos(atan(2/(?g3298-1))/2)3381| 1 -6000) 26


??.


-- 
Michel Talon