sqrt error



Jim, thanks for pointing out the problem.

Looks like Maxima gets stuck in a loop around FPROUND
or something like that.

Robert

Maxima 5.9.3:

(%i3) sqrt(0b0);
1. Trace: (SIMPSQRT '((%SQRT) ((BIGFLOAT SIMP 56) 0 0)) '1 'NIL)
2. Trace: (BIG-FLOAT-EVAL '%SQRT '((BIGFLOAT SIMP 56) 0 0))
3. Trace: (BIG-FLOAT-SQRT '((BIGFLOAT SIMP 56) 0 0))
4. Trace: (FPPLUS '(0 0) '(0 0))
4. Trace: FPPLUS ==> (0 0)
4. Trace: (FPROOT '((BIGFLOAT SIMP 56) 0 0) '2)
5. Trace: (FPROUND '2)
6. Trace: (HIPART '2 '56)
7. Trace: (HAIPART '2 '56)
7. Trace: HAIPART ==> 2
6. Trace: HIPART ==> 2
5. Trace: FPROUND ==> 144115188075855872
5. Trace: (FPROUND '2)
6. Trace: (HIPART '2 '56)
7. Trace: (HAIPART '2 '56)
7. Trace: HAIPART ==> 2
6. Trace: HIPART ==> 2
5. Trace: FPROUND ==> 144115188075855872
5. Trace: (FPPLUS '(144115188075855872 2) '(0 0))
5. Trace: FPPLUS ==> (144115188075855872 2)
5. Trace: (FPROUND '2305843009213693952)
6. Trace: (HIPART '2305843009213693960 '-4)
7. Trace: (HAIPART '2305843009213693960 '-4)
7. Trace: HAIPART ==> 8
6. Trace: HIPART ==> 8
5. Trace: FPROUND ==> 144115188075855872
5. Trace: (FPPLUS '(144115188075855872 2) '(-144115188075855872 1))
6. Trace: (HIPART '-144115188075855872 '0)
7. Trace: (HAIPART '-144115188075855872 '0)
7. Trace: HAIPART ==> 0
6. Trace: HIPART ==> 0
6. Trace: (FPROUND '288230376151711744)
7. Trace: (HIPART '288230376151711745 '-1)
8. Trace: (HAIPART '288230376151711745 '-1)
8. Trace: HAIPART ==> 1
7. Trace: HIPART ==> 1
6. Trace: FPROUND ==> 144115188075855872
5. Trace: FPPLUS ==> (144115188075855872 1)
5. Trace: (FPPLUS '(144115188075855872 1) '(0 0))
5. Trace: FPPLUS ==> (144115188075855872 1)
5. Trace: (FPROUND '2305843009213693952)