changeset 5201:63c15a67612d

[project @ 2005-03-14 20:47:56 by jwe]
author jwe
date Mon, 14 Mar 2005 20:47:58 +0000
parents 240ed0328925
children 49de4e624020
files liboctave/UMFPACK/UMFPACK/Demo/HB/arc130.rua liboctave/UMFPACK/UMFPACK/Demo/HB/can_24.psa liboctave/UMFPACK/UMFPACK/Demo/HB/fs_183_6.rua liboctave/UMFPACK/UMFPACK/Demo/HB/qc324.cua liboctave/UMFPACK/UMFPACK/Demo/HB/west0067.rua liboctave/UMFPACK/UMFPACK/Demo/Makefile liboctave/UMFPACK/UMFPACK/Demo/readhb.f liboctave/UMFPACK/UMFPACK/Demo/readhb_nozeros.f liboctave/UMFPACK/UMFPACK/Demo/readhb_size.f liboctave/UMFPACK/UMFPACK/Demo/simple_compile liboctave/UMFPACK/UMFPACK/Demo/umf4.c liboctave/UMFPACK/UMFPACK/Demo/umf4.out liboctave/UMFPACK/UMFPACK/Demo/umf4_f77wrapper.c liboctave/UMFPACK/UMFPACK/Demo/umf4_f77zwrapper.c liboctave/UMFPACK/UMFPACK/Demo/umf4hb.f liboctave/UMFPACK/UMFPACK/Demo/umf4hb.out liboctave/UMFPACK/UMFPACK/Demo/umf4hb64.f liboctave/UMFPACK/UMFPACK/Demo/umf4zhb.f liboctave/UMFPACK/UMFPACK/Demo/umf4zhb.out liboctave/UMFPACK/UMFPACK/Demo/umfpack_di_demo.c liboctave/UMFPACK/UMFPACK/Demo/umfpack_di_demo.out liboctave/UMFPACK/UMFPACK/Demo/umfpack_di_demo.sed liboctave/UMFPACK/UMFPACK/Demo/umfpack_dl_demo.c liboctave/UMFPACK/UMFPACK/Demo/umfpack_dl_demo.out liboctave/UMFPACK/UMFPACK/Demo/umfpack_dl_demo.sed liboctave/UMFPACK/UMFPACK/Demo/umfpack_simple.c liboctave/UMFPACK/UMFPACK/Demo/umfpack_xx_demo.c liboctave/UMFPACK/UMFPACK/Demo/umfpack_zi_demo.c liboctave/UMFPACK/UMFPACK/Demo/umfpack_zi_demo.out liboctave/UMFPACK/UMFPACK/Demo/umfpack_zi_demo.sed liboctave/UMFPACK/UMFPACK/Demo/umfpack_zl_demo.c liboctave/UMFPACK/UMFPACK/Demo/umfpack_zl_demo.out liboctave/UMFPACK/UMFPACK/Demo/umfpack_zl_demo.sed liboctave/UMFPACK/UMFPACK/Doc/ChangeLog liboctave/UMFPACK/UMFPACK/Doc/License liboctave/UMFPACK/UMFPACK/Doc/Makefile liboctave/UMFPACK/UMFPACK/Doc/QuickStart.pdf liboctave/UMFPACK/UMFPACK/Doc/QuickStart.tex liboctave/UMFPACK/UMFPACK/Doc/UserGuide.bib liboctave/UMFPACK/UMFPACK/Doc/UserGuide.pdf liboctave/UMFPACK/UMFPACK/Doc/UserGuide.sed1 liboctave/UMFPACK/UMFPACK/Doc/UserGuide.sed2 liboctave/UMFPACK/UMFPACK/Doc/UserGuide.stex liboctave/UMFPACK/UMFPACK/Include/umfpack.h liboctave/UMFPACK/UMFPACK/Include/umfpack_col_to_triplet.h liboctave/UMFPACK/UMFPACK/Include/umfpack_defaults.h liboctave/UMFPACK/UMFPACK/Include/umfpack_free_numeric.h liboctave/UMFPACK/UMFPACK/Include/umfpack_free_symbolic.h liboctave/UMFPACK/UMFPACK/Include/umfpack_get_determinant.h liboctave/UMFPACK/UMFPACK/Include/umfpack_get_lunz.h liboctave/UMFPACK/UMFPACK/Include/umfpack_get_numeric.h liboctave/UMFPACK/UMFPACK/Include/umfpack_get_symbolic.h liboctave/UMFPACK/UMFPACK/Include/umfpack_load_numeric.h liboctave/UMFPACK/UMFPACK/Include/umfpack_load_symbolic.h liboctave/UMFPACK/UMFPACK/Include/umfpack_numeric.h liboctave/UMFPACK/UMFPACK/Include/umfpack_qsymbolic.h liboctave/UMFPACK/UMFPACK/Include/umfpack_report_control.h liboctave/UMFPACK/UMFPACK/Include/umfpack_report_info.h liboctave/UMFPACK/UMFPACK/Include/umfpack_report_matrix.h liboctave/UMFPACK/UMFPACK/Include/umfpack_report_numeric.h liboctave/UMFPACK/UMFPACK/Include/umfpack_report_perm.h liboctave/UMFPACK/UMFPACK/Include/umfpack_report_status.h liboctave/UMFPACK/UMFPACK/Include/umfpack_report_symbolic.h liboctave/UMFPACK/UMFPACK/Include/umfpack_report_triplet.h liboctave/UMFPACK/UMFPACK/Include/umfpack_report_vector.h liboctave/UMFPACK/UMFPACK/Include/umfpack_save_numeric.h liboctave/UMFPACK/UMFPACK/Include/umfpack_save_symbolic.h liboctave/UMFPACK/UMFPACK/Include/umfpack_scale.h liboctave/UMFPACK/UMFPACK/Include/umfpack_solve.h liboctave/UMFPACK/UMFPACK/Include/umfpack_symbolic.h liboctave/UMFPACK/UMFPACK/Include/umfpack_tictoc.h liboctave/UMFPACK/UMFPACK/Include/umfpack_timer.h liboctave/UMFPACK/UMFPACK/Include/umfpack_transpose.h liboctave/UMFPACK/UMFPACK/Include/umfpack_triplet_to_col.h liboctave/UMFPACK/UMFPACK/Include/umfpack_wsolve.h liboctave/UMFPACK/UMFPACK/Lib/libumfpack.def liboctave/UMFPACK/UMFPACK/MATLAB/Contents.m liboctave/UMFPACK/UMFPACK/MATLAB/GNUmakefile liboctave/UMFPACK/UMFPACK/MATLAB/Makefile liboctave/UMFPACK/UMFPACK/MATLAB/lcc_lib/lapacksyms.def liboctave/UMFPACK/UMFPACK/MATLAB/lcc_lib/libmwlapack.lib liboctave/UMFPACK/UMFPACK/MATLAB/lu_normest.m liboctave/UMFPACK/UMFPACK/MATLAB/luflop.m liboctave/UMFPACK/UMFPACK/MATLAB/luflopmex.c liboctave/UMFPACK/UMFPACK/MATLAB/umfpack.m liboctave/UMFPACK/UMFPACK/MATLAB/umfpack_btf.m liboctave/UMFPACK/UMFPACK/MATLAB/umfpack_demo.m liboctave/UMFPACK/UMFPACK/MATLAB/umfpack_demo.m.out liboctave/UMFPACK/UMFPACK/MATLAB/umfpack_details.m liboctave/UMFPACK/UMFPACK/MATLAB/umfpack_make.m liboctave/UMFPACK/UMFPACK/MATLAB/umfpack_report.m liboctave/UMFPACK/UMFPACK/MATLAB/umfpack_simple.m liboctave/UMFPACK/UMFPACK/MATLAB/umfpack_simple.m.out liboctave/UMFPACK/UMFPACK/MATLAB/umfpack_solve.m liboctave/UMFPACK/UMFPACK/MATLAB/umfpack_test.m liboctave/UMFPACK/UMFPACK/MATLAB/umfpackmex.c liboctave/UMFPACK/UMFPACK/MATLAB/west0067.mat liboctave/UMFPACK/UMFPACK/Makefile liboctave/UMFPACK/UMFPACK/OCTAVE/Contents.m liboctave/UMFPACK/UMFPACK/OCTAVE/GNUmakefile liboctave/UMFPACK/UMFPACK/OCTAVE/Makefile liboctave/UMFPACK/UMFPACK/OCTAVE/lu_normest.m liboctave/UMFPACK/UMFPACK/OCTAVE/luflop.cc liboctave/UMFPACK/UMFPACK/OCTAVE/umfpack.cc liboctave/UMFPACK/UMFPACK/OCTAVE/umfpack_btf.m liboctave/UMFPACK/UMFPACK/OCTAVE/umfpack_demo.m liboctave/UMFPACK/UMFPACK/OCTAVE/umfpack_demo.m.out liboctave/UMFPACK/UMFPACK/OCTAVE/umfpack_make.m liboctave/UMFPACK/UMFPACK/OCTAVE/umfpack_report.m liboctave/UMFPACK/UMFPACK/OCTAVE/umfpack_simple.m liboctave/UMFPACK/UMFPACK/OCTAVE/umfpack_simple.m.out liboctave/UMFPACK/UMFPACK/OCTAVE/umfpack_solve.m liboctave/UMFPACK/UMFPACK/OCTAVE/west0067.mat liboctave/UMFPACK/UMFPACK/README.txt liboctave/UMFPACK/UMFPACK/Source/GNUmakefile liboctave/UMFPACK/UMFPACK/Source/Makefile liboctave/UMFPACK/UMFPACK/Source/umf_2by2.c liboctave/UMFPACK/UMFPACK/Source/umf_2by2.h liboctave/UMFPACK/UMFPACK/Source/umf_analyze.c liboctave/UMFPACK/UMFPACK/Source/umf_analyze.h liboctave/UMFPACK/UMFPACK/Source/umf_apply_order.c liboctave/UMFPACK/UMFPACK/Source/umf_apply_order.h liboctave/UMFPACK/UMFPACK/Source/umf_assemble.c liboctave/UMFPACK/UMFPACK/Source/umf_assemble.h liboctave/UMFPACK/UMFPACK/Source/umf_blas3_update.c liboctave/UMFPACK/UMFPACK/Source/umf_blas3_update.h liboctave/UMFPACK/UMFPACK/Source/umf_build_tuples.c liboctave/UMFPACK/UMFPACK/Source/umf_build_tuples.h liboctave/UMFPACK/UMFPACK/Source/umf_colamd.c liboctave/UMFPACK/UMFPACK/Source/umf_colamd.h liboctave/UMFPACK/UMFPACK/Source/umf_config.h liboctave/UMFPACK/UMFPACK/Source/umf_create_element.c liboctave/UMFPACK/UMFPACK/Source/umf_create_element.h liboctave/UMFPACK/UMFPACK/Source/umf_dump.c liboctave/UMFPACK/UMFPACK/Source/umf_dump.h liboctave/UMFPACK/UMFPACK/Source/umf_extend_front.c liboctave/UMFPACK/UMFPACK/Source/umf_extend_front.h liboctave/UMFPACK/UMFPACK/Source/umf_free.c liboctave/UMFPACK/UMFPACK/Source/umf_free.h liboctave/UMFPACK/UMFPACK/Source/umf_fsize.c liboctave/UMFPACK/UMFPACK/Source/umf_fsize.h liboctave/UMFPACK/UMFPACK/Source/umf_garbage_collection.c liboctave/UMFPACK/UMFPACK/Source/umf_garbage_collection.h liboctave/UMFPACK/UMFPACK/Source/umf_get_memory.c liboctave/UMFPACK/UMFPACK/Source/umf_get_memory.h liboctave/UMFPACK/UMFPACK/Source/umf_grow_front.c liboctave/UMFPACK/UMFPACK/Source/umf_grow_front.h liboctave/UMFPACK/UMFPACK/Source/umf_init_front.c liboctave/UMFPACK/UMFPACK/Source/umf_init_front.h liboctave/UMFPACK/UMFPACK/Source/umf_internal.h liboctave/UMFPACK/UMFPACK/Source/umf_is_permutation.c liboctave/UMFPACK/UMFPACK/Source/umf_is_permutation.h liboctave/UMFPACK/UMFPACK/Source/umf_kernel.c liboctave/UMFPACK/UMFPACK/Source/umf_kernel.h liboctave/UMFPACK/UMFPACK/Source/umf_kernel_init.c liboctave/UMFPACK/UMFPACK/Source/umf_kernel_init.h liboctave/UMFPACK/UMFPACK/Source/umf_kernel_wrapup.c liboctave/UMFPACK/UMFPACK/Source/umf_kernel_wrapup.h liboctave/UMFPACK/UMFPACK/Source/umf_local_search.c liboctave/UMFPACK/UMFPACK/Source/umf_local_search.h liboctave/UMFPACK/UMFPACK/Source/umf_lsolve.c liboctave/UMFPACK/UMFPACK/Source/umf_lsolve.h liboctave/UMFPACK/UMFPACK/Source/umf_ltsolve.c liboctave/UMFPACK/UMFPACK/Source/umf_ltsolve.h liboctave/UMFPACK/UMFPACK/Source/umf_malloc.c liboctave/UMFPACK/UMFPACK/Source/umf_malloc.h liboctave/UMFPACK/UMFPACK/Source/umf_mem_alloc_element.c liboctave/UMFPACK/UMFPACK/Source/umf_mem_alloc_element.h liboctave/UMFPACK/UMFPACK/Source/umf_mem_alloc_head_block.c liboctave/UMFPACK/UMFPACK/Source/umf_mem_alloc_head_block.h liboctave/UMFPACK/UMFPACK/Source/umf_mem_alloc_tail_block.c liboctave/UMFPACK/UMFPACK/Source/umf_mem_alloc_tail_block.h liboctave/UMFPACK/UMFPACK/Source/umf_mem_free_tail_block.c liboctave/UMFPACK/UMFPACK/Source/umf_mem_free_tail_block.h liboctave/UMFPACK/UMFPACK/Source/umf_mem_init_memoryspace.c liboctave/UMFPACK/UMFPACK/Source/umf_mem_init_memoryspace.h liboctave/UMFPACK/UMFPACK/Source/umf_multicompile.c liboctave/UMFPACK/UMFPACK/Source/umf_realloc.c liboctave/UMFPACK/UMFPACK/Source/umf_realloc.h liboctave/UMFPACK/UMFPACK/Source/umf_report_perm.c liboctave/UMFPACK/UMFPACK/Source/umf_report_perm.h liboctave/UMFPACK/UMFPACK/Source/umf_report_vector.c liboctave/UMFPACK/UMFPACK/Source/umf_report_vector.h liboctave/UMFPACK/UMFPACK/Source/umf_row_search.c liboctave/UMFPACK/UMFPACK/Source/umf_row_search.h liboctave/UMFPACK/UMFPACK/Source/umf_scale.c liboctave/UMFPACK/UMFPACK/Source/umf_scale.h liboctave/UMFPACK/UMFPACK/Source/umf_scale_column.c liboctave/UMFPACK/UMFPACK/Source/umf_scale_column.h liboctave/UMFPACK/UMFPACK/Source/umf_set_stats.c liboctave/UMFPACK/UMFPACK/Source/umf_set_stats.h liboctave/UMFPACK/UMFPACK/Source/umf_singletons.c liboctave/UMFPACK/UMFPACK/Source/umf_singletons.h liboctave/UMFPACK/UMFPACK/Source/umf_solve.c liboctave/UMFPACK/UMFPACK/Source/umf_solve.h liboctave/UMFPACK/UMFPACK/Source/umf_start_front.c liboctave/UMFPACK/UMFPACK/Source/umf_start_front.h liboctave/UMFPACK/UMFPACK/Source/umf_store_lu.c liboctave/UMFPACK/UMFPACK/Source/umf_store_lu.h liboctave/UMFPACK/UMFPACK/Source/umf_symbolic_usage.c liboctave/UMFPACK/UMFPACK/Source/umf_symbolic_usage.h liboctave/UMFPACK/UMFPACK/Source/umf_transpose.c liboctave/UMFPACK/UMFPACK/Source/umf_transpose.h liboctave/UMFPACK/UMFPACK/Source/umf_triplet.c liboctave/UMFPACK/UMFPACK/Source/umf_triplet.h liboctave/UMFPACK/UMFPACK/Source/umf_tuple_lengths.c liboctave/UMFPACK/UMFPACK/Source/umf_tuple_lengths.h liboctave/UMFPACK/UMFPACK/Source/umf_usolve.c liboctave/UMFPACK/UMFPACK/Source/umf_usolve.h liboctave/UMFPACK/UMFPACK/Source/umf_utsolve.c liboctave/UMFPACK/UMFPACK/Source/umf_utsolve.h liboctave/UMFPACK/UMFPACK/Source/umf_valid_numeric.c liboctave/UMFPACK/UMFPACK/Source/umf_valid_numeric.h liboctave/UMFPACK/UMFPACK/Source/umf_valid_symbolic.c liboctave/UMFPACK/UMFPACK/Source/umf_valid_symbolic.h liboctave/UMFPACK/UMFPACK/Source/umf_version.h liboctave/UMFPACK/UMFPACK/Source/umfpack_col_to_triplet.c liboctave/UMFPACK/UMFPACK/Source/umfpack_defaults.c liboctave/UMFPACK/UMFPACK/Source/umfpack_free_numeric.c liboctave/UMFPACK/UMFPACK/Source/umfpack_free_symbolic.c liboctave/UMFPACK/UMFPACK/Source/umfpack_get_determinant.c liboctave/UMFPACK/UMFPACK/Source/umfpack_get_lunz.c liboctave/UMFPACK/UMFPACK/Source/umfpack_get_numeric.c liboctave/UMFPACK/UMFPACK/Source/umfpack_get_symbolic.c liboctave/UMFPACK/UMFPACK/Source/umfpack_load_numeric.c liboctave/UMFPACK/UMFPACK/Source/umfpack_load_symbolic.c liboctave/UMFPACK/UMFPACK/Source/umfpack_numeric.c liboctave/UMFPACK/UMFPACK/Source/umfpack_qsymbolic.c liboctave/UMFPACK/UMFPACK/Source/umfpack_report_control.c liboctave/UMFPACK/UMFPACK/Source/umfpack_report_info.c liboctave/UMFPACK/UMFPACK/Source/umfpack_report_matrix.c liboctave/UMFPACK/UMFPACK/Source/umfpack_report_numeric.c liboctave/UMFPACK/UMFPACK/Source/umfpack_report_perm.c liboctave/UMFPACK/UMFPACK/Source/umfpack_report_status.c liboctave/UMFPACK/UMFPACK/Source/umfpack_report_symbolic.c liboctave/UMFPACK/UMFPACK/Source/umfpack_report_triplet.c liboctave/UMFPACK/UMFPACK/Source/umfpack_report_vector.c liboctave/UMFPACK/UMFPACK/Source/umfpack_save_numeric.c liboctave/UMFPACK/UMFPACK/Source/umfpack_save_symbolic.c liboctave/UMFPACK/UMFPACK/Source/umfpack_scale.c liboctave/UMFPACK/UMFPACK/Source/umfpack_solve.c liboctave/UMFPACK/UMFPACK/Source/umfpack_symbolic.c liboctave/UMFPACK/UMFPACK/Source/umfpack_tictoc.c liboctave/UMFPACK/UMFPACK/Source/umfpack_timer.c liboctave/UMFPACK/UMFPACK/Source/umfpack_transpose.c liboctave/UMFPACK/UMFPACK/Source/umfpack_triplet_to_col.c
diffstat 246 files changed, 0 insertions(+), 91015 deletions(-) [+]
line wrap: on
line diff
--- a/liboctave/UMFPACK/UMFPACK/Demo/HB/arc130.rua	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,506 +0,0 @@
-1UNSYMMETRIC MATRIX FROM LASER PROBLEM. A.R.CURTIS, OCT 1974            ARC130  
-           502             9            65           428             0          
-RUA                      130           130          1282             0          
-(16I5)          (20I4)          (1P3D24.15)                                     
-    1   41  102  163  224  285  325  344  363  380  397  413  423  433  443  452
-  461  471  595  597  721  722  723  724  725  726  732  737  744  750  755  761
-  766  773  779  785  791  796  801  806  812  818  824  830  836  841  847  852
-  858  863  868  874  879  884  889  896  903  908  914  919  925  931  936  943
-  948  953  959  964  971  976  981  986  991  997 1002 1008 1013 1018 1023 1028
- 1033 1038 1043 1048 1053 1058 1063 1068 1073 1078 1083 1088 1093 1098 1103 1108
- 1113 1118 1123 1128 1133 1138 1143 1148 1153 1158 1163 1168 1173 1178 1183 1188
- 1193 1198 1203 1208 1213 1218 1223 1228 1233 1238 1243 1248 1253 1258 1263 1268
- 1273 1278 1283                                                                 
-   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  17  18  19  20  26
-  31  36  41  46  51  56  61  66  71  76  81  86  91  96 101 106 111 116 121 126
-   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  17  18  19  20  26
-  27  31  32  36  37  41  42  46  47  51  52  56  57  61  62  66  67  71  72  76
-  77  81  82  86  87  91  92  96  97 101 102 106 107 111 112 116 117 121 122 126
- 127   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  17  18  19  20
-  27  28  32  33  37  38  42  43  47  48  52  53  57  58  62  63  67  68  72  73
-  77  78  82  83  87  88  92  93  97  98 102 103 107 108 112 113 117 118 122 123
- 127 128   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  17  18  19
-  20  28  29  33  34  38  39  43  44  48  49  53  54  58  59  63  64  68  69  73
-  74  78  79  83  84  88  89  93  94  98  99 103 104 108 109 113 114 118 119 123
- 124 128 129   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  17  18
-  19  20  29  30  34  35  39  40  44  45  49  50  54  55  59  60  64  65  69  70
-  74  75  79  80  84  85  89  90  94  95  99 100 104 105 109 110 114 115 119 120
- 124 125 129 130   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  17
-  18  19  20  30  35  40  45  50  55  60  65  70  75  80  85  90  95 100 105 110
- 115 120 125 130   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  17
-  18  19  20   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  17  18
-  19  20   1   2   3   4   5   6   7   8   9  12  13  14  15  17  18  19  20   1
-   2   3   4   5   6   7   8  10  11  12  14  15  17  18  19  20   1   2   3   4
-   5   6   7   8  11  12  14  15  17  18  19  20   7   9  11  12  13  14  15  18
-  19  20   7   9  11  12  13  14  15  18  19  20   8  10  11  12  14  15  17  18
-  19  20   1   2   3   4   5   6  15  18  20   1   2   3   4   5   6  16  18  20
-   1   2   3   4   5   6  11  17  18  20   1   2   3   4   5   6   7   8   9  10
-  11  12  13  14  15  17  18  19  20  26  27  28  29  30  31  32  33  34  35  36
-  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56
-  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76
-  77  78  79  80  81  82  83  84  85  86  87  88  89  90  91  92  93  94  95  96
-  97  98  99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
- 117 118 119 120 121 122 123 124 125 126 127 128 129 130  18  19   1   2   3   4
-   5   6   7   8   9  10  11  12  13  14  15  17  18  19  20  26  27  28  29  30
-  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50
-  51  52  53  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70
-  71  72  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88  89  90
-  91  92  93  94  95  96  97  98  99 100 101 102 103 104 105 106 107 108 109 110
- 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130
-  21  22  23  24  25   1   2  11  20  21  26   2   3  20  22  27   3   4  11  18
-  20  23  28   4   5  11  20  24  29   5   6  20  25  30   1   2  11  20  21  31
-   2   3  20  22  32   3   4  11  18  20  23  33   4   5  11  20  24  34   5   6
-  18  20  25  35   1   2  11  20  21  36   2   3  20  22  37   3   4  20  23  38
-   4   5  20  24  39   5   6  18  20  25  40   1   2  18  20  21  41   2   3  18
-  20  22  42   3   4  11  20  23  43   4   5  11  20  24  44   5   6  20  25  45
-   1   2  18  20  21  46   2   3  20  22  47   3   4  11  20  23  48   4   5  20
-  24  49   5   6  20  25  50   1   2  11  20  21  51   2   3  20  22  52   3   4
-  20  23  53   4   5  20  24  54   5   6  11  18  20  25  55   1   2  11  18  20
-  21  56   2   3  20  22  57   3   4  18  20  23  58   4   5  20  24  59   5   6
-  18  20  25  60   1   2  11  20  21  61   2   3  20  22  62   3   4  11  18  20
-  23  63   4   5  20  24  64   5   6  20  25  65   1   2  11  20  21  66   2   3
-  20  22  67   3   4  11  18  20  23  68   4   5  20  24  69   5   6  20  25  70
-   1   2  20  21  71   2   3  20  22  72   3   4  11  20  23  73   4   5  20  24
-  74   5   6  11  20  25  75   1   2  20  21  76   2   3  20  22  77   3   4  20
-  23  78   4   5  20  24  79   5   6  20  25  80   1   2  20  21  81   2   3  20
-  22  82   3   4  20  23  83   4   5  20  24  84   5   6  20  25  85   1   2  20
-  21  86   2   3  20  22  87   3   4  20  23  88   4   5  20  24  89   5   6  20
-  25  90   1   2  20  21  91   2   3  20  22  92   3   4  20  23  93   4   5  20
-  24  94   5   6  20  25  95   1   2  20  21  96   2   3  20  22  97   3   4  20
-  23  98   4   5  20  24  99   5   6  20  25 100   1   2  20  21 101   2   3  20
-  22 102   3   4  20  23 103   4   5  20  24 104   5   6  20  25 105   1   2  20
-  21 106   2   3  20  22 107   3   4  20  23 108   4   5  20  24 109   5   6  20
-  25 110   1   2  20  21 111   2   3  20  22 112   3   4  20  23 113   4   5  20
-  24 114   5   6  20  25 115   1   2  20  21 116   2   3  20  22 117   3   4  20
-  23 118   4   5  20  24 119   5   6  20  25 120   1   2  20  21 121   2   3  20
-  22 122   3   4  20  23 123   4   5  20  24 124   5   6  20  25 125   1   2  20
-  21 126   2   3  20  22 127   3   4  20  23 128   4   5  20  24 129   5   6  20
-  25 130                                                                        
-   1.000000408955316D+00  -6.310289677458059D-07   2.096665525641583D-07        
-   6.421004172807443D-08   3.956404981408923D-09   6.194351698241007D-10        
-   5.637896549615107D-08  -5.637896549615107D-08  -5.637896549615107D-08        
-   0.0                     0.0                     1.127578798332252D-06        
-  -5.637896549615107D-08  -5.074106752545049D-07   6.088927761993546D-07        
-  -5.637896549615107D-08  -2.043932134654369D-09   0.0                          
-   1.878335326910019D-02   3.624941025245822D-16   6.846256028048394D-16        
-   8.682574753301250D-16   8.829475677343563D-16   7.596007241310538D-16        
-   5.641173783660228D-16   3.637011244744196D-16   2.010050211992837D-16        
-   9.149849743076945D-17   3.147608842710462D-17   7.345189304361637D-18        
-   1.130718674232424D-18   1.234088333455879D-19   1.030108373210172D-20        
-   6.833493328871848D-22   3.659321266573640D-23   1.588981222142243D-24        
-   5.608268555010370D-26   1.610701819995700D-27   3.764561095514044D-29        
-   7.172442880553562D-31  -1.426527305739000D-04   1.000147870872752D+00        
-  -5.613608664134517D-06   4.753307507598947D-07  -5.725276253087941D-09        
-  -1.773762647871990D-08   5.637896549615107D-08  -5.637896549615107D-08        
-  -5.637896549615107D-08   0.0                     8.516936613432724D-15        
-   1.127578798332252D-06  -5.637896549615107D-08  -5.074106752545049D-07        
-   6.088927761993546D-07  -5.637896549615107D-08   1.437741730114794D-07        
-   0.0                    -1.321256637573242D+00  -1.114484955602561D-14        
-   1.733296665917816D-12  -2.074384704265318D-14   2.677037702625285D-09        
-  -2.624046067782083D-14   6.328248787212942D-07  -2.673591396559240D-14        
-   3.107915290456731D-06  -2.314677109379638D-14   3.159706807309703D-07        
-  -1.742469422872858D-14   2.779751095971505D-09  -1.155559277280817D-14        
-   1.449127970398756D-11  -6.786512676696180D-15   1.984121417511475D-13        
-  -3.535647235462748D-15   1.024009300748183D-14  -1.631147863670078D-15        
-   1.059880891954518D-15  -6.681999398916840D-16   1.302165587382207D-16        
-  -2.461975376577509D-16   1.523580661538971D-17  -8.232749965727973D-17        
-   1.550961994175702D-18  -2.496269623029467D-17   1.321670733700876D-19        
-  -6.841421422065817D-18   9.270355296549564D-21  -1.693073277773537D-18        
-   5.325857707782005D-22  -3.781317617533563D-19   2.498061216103135D-23        
-  -7.624842319058412D-20   9.576834498255501D-25  -1.388670166119169D-20        
-   3.002645577625813D-26  -2.284276225230092D-21   7.695759909088791D-28        
-  -3.396618468231539D-22   1.614779109984465D-29   3.172130163875408D-06        
-  -4.288838244974613D-04   1.050343558192253D+00  -4.991767182946205D-02        
-  -9.393625077791512D-08  -2.995422221374611D-08   5.637896549615107D-08        
-  -5.637896549615107D-08  -5.637896549615107D-08   0.0                          
-  -1.143995922298080D-15   1.127578798332252D-06  -5.637896549615107D-08        
-  -5.074106752545049D-07   6.088927761993546D-07  -5.637896549615107D-08        
-  -1.144809175457340D-06   0.0                     1.052057933807373D+01        
-  -1.889024527079730D-12   2.473666237123862D-12  -3.191809705427318D-09        
-   4.265404740522172D-08  -8.364604013877397D-07   3.888504579663277D-04        
-  -4.564798473438714D-06   3.816828131675720D-02  -5.168877237338165D-07        
-   1.131986826658249D-02  -5.076469022924357D-09   3.749688039533794D-05        
-  -2.963390643984098D-11   1.865166154857434D-08  -4.676906106317047D-13        
-   1.635970525715180D-11  -3.327468305774385D-14   1.099596759132626D-13        
-  -6.362139005726408D-15   5.006533924413470D-15  -1.834683316389945D-15        
-   4.881095121188686D-16  -5.997685715994827D-16   5.444201036336569D-17        
-  -1.954991746932328D-16   5.645564756136680D-18  -5.996761655988932D-17        
-   5.045512223359075D-19  -1.687755499051556D-17   3.764540326759457D-20        
-  -4.318695916068944D-18   2.317379201706768D-21  -1.000719796344203D-18        
-   1.172540887632911D-22  -2.099449018144940D-19   4.871730427049952D-24        
-  -3.988113352283189D-20   1.662654519802644D-25  -6.857663320188449D-21        
-   4.662922914394380D-27  -1.068200969380841D-21   1.074941789167073D-28        
-   9.677614798420109D-07  -1.245291059603915D-06  -7.536840438842773D-02        
-   1.075373947620392D+00  -5.109401172376238D-06  -1.163272145277006D-07        
-   5.637896549615107D-08  -5.637896549615107D-08  -5.637896549615107D-08        
-   0.0                     2.726002957774963D-15   1.127578798332252D-06        
-  -5.637896549615107D-08  -5.074106752545049D-07   6.088927761993546D-07        
-  -5.637896549615107D-08   3.242677848902531D-06   0.0                          
-  -2.979957580566406D+01  -2.690164063734457D-12   1.124147229838481D-14        
-  -5.062177166337278D-08   2.393615836679235D-14  -5.103659350425005D-04        
-   3.258340252883067D-14  -5.552677810192108D-02   3.506025222747844D-14        
-  -1.829450204968452D-02   3.150090797476683D-14  -6.747333100065589D-05        
-   2.389203133837219D-14  -3.745336840665914D-08   1.510693087010233D-14        
-  -3.676196846935653D-11   7.677818342037568D-15  -2.876134660295682D-13        
-   2.945648553635133D-15  -1.940820822197292D-14   8.095830795573460D-16        
-  -3.855263683164370D-15   1.612334891334645D-16  -1.105984048240622D-15        
-   2.450439846627089D-17  -3.484403436219757D-16   2.962714454342404D-18        
-  -1.076261635651689D-16   2.911501014282256D-19  -3.103228286741277D-17        
-   2.346465182333734D-20  -8.193536641609284D-18   1.555002212474875D-21        
-  -1.967818836691188D-18   8.483679018543260D-23  -4.290093147860203D-19        
-   3.815631846132649D-24  -8.487715775043102D-20   1.415514258958216D-25        
-  -1.524028579840669D-20   4.334547236644489D-27  -2.483863638318878D-21        
-   1.096037222071676D-28   2.067174023068219D-07  -3.464035103206697D-07        
-   8.871005547916866D-07  -1.004851656034589D-03   1.001007388811558D+00        
-  -3.227999513910618D-06   5.637894062715532D-08  -5.637894062715532D-08        
-  -5.637894062715532D-08   0.0                     0.0                          
-   1.127578798332252D-06  -5.637894062715532D-08  -5.074106752545049D-07        
-   6.088923782954225D-07  -5.637894062715532D-08   9.148621415988600D-07        
-   0.0                    -8.407408714294434D+00  -4.977862197962091D-14        
-   8.301786856698343D-15  -9.878084678352494D-14   1.892736794660739D-14        
-  -1.325998230487790D-13   2.600578511758635D-14  -1.439277841873421D-13        
-   2.763043835613335D-14  -1.330588200385008D-13   2.406133628386938D-14        
-  -1.065598347407826D-13   1.723105233259088D-14  -7.396622377087159D-14        
-   9.875153944354995D-15  -4.402636024844475D-14   4.349897043042991D-15        
-  -2.220723876057012D-14   1.437176048199422D-15  -9.662081112407281D-15        
-   3.596410837999929D-16  -3.830770878461565D-15   7.011335073232172D-17        
-  -1.436664440299280D-15   1.093826418912559D-17  -5.079756111055342D-16        
-   1.388715480107101D-18  -1.665747200801725D-16   1.447536603658476D-19        
-  -5.007023509456983D-17   1.243767186728059D-20  -1.371575222480206D-17        
-   8.829125121689631D-22  -3.416913538430984D-18   5.181441636060790D-23        
-  -7.740067027423400D-19   2.517640901542902D-24  -1.594267587579844D-19        
-   1.013315498583546D-25  -2.986853872288083D-20   3.380210430601726D-27        
-  -5.090734445941291D-21   9.355154149199958D-29   1.471342443437607D-07        
-  -1.266278104594676D-07   4.008210794381739D-07   1.813951712392736D-06        
-  -1.041745999827981D-03   1.001039566937834D+00   5.637089728338651D-08        
-  -5.637089728338651D-08  -5.637896549615107D-08  -8.085981537120368D-12        
-  -4.542686146409396D-14   1.127425093727652D-06  -5.637896549615107D-08        
-  -5.073379156783631D-07   6.087796009524027D-07  -5.637089728338651D-08        
-   9.095310815609992D-07   0.0                    -8.358414649963379D+00        
-  -5.387848167289801D-14  -1.065863976940085D-13  -1.420175283796399D-13        
-  -1.525375420592667D-13  -1.390970129876157D-13  -1.094549255918620D-13        
-  -7.446164995358884D-14  -4.389770949628398D-14  -2.282676882258729D-14        
-  -1.078032045684525D-14  -4.709645488269049D-15  -1.906120381095478D-15        
-  -7.101397174837966D-16  -2.421286031373780D-16  -7.530431274023090D-17        
-  -2.133795108141790D-17  -5.505686860192738D-18  -1.294189415607603D-18        
-  -2.771874994834836D-19  -5.410633946266530D-20  -9.630518136308248D-21        
-  -1.259340933756903D-05  -1.634575164644048D-04  -3.157716710120440D-04        
-  -5.238812882453203D-04  -1.138667576014996D-04  -2.637367288116366D-05        
-   1.001156237442046D+00  -1.022412441670895D-03  -1.463538410462206D-07        
-   1.089178491383791D-03   6.691245653200895D-05   2.203556895256042D-02        
-  -1.463538410462206D-07  -9.134795516729355D-03   1.585229113698006D-02        
-  -1.022412441670895D-03   4.045813511766028D-06   6.691245653200895D-05        
-  -3.734263610839844D+01  -4.186565638519824D-05  -1.590017291164258D-07        
-  -1.589597218298877D-07  -1.589597218298877D-07  -1.589597218298877D-07        
-  -1.589597218298877D-07  -4.075298784300685D-05   1.000055276526837D+00        
-   4.170673491898924D-05  -6.308013325906359D-06   7.261772225319874D-06        
-  -8.087516762316227D-04   4.170673491898924D-05   5.047505255788565D-04        
-  -4.733889363706112D-04   5.527652683667839D-05   4.606268078077846D-08        
-   7.261772225319874D-06  -4.409304857254028D-01  -1.230297129950486D-06        
-  -1.238937771819160D-12  -2.037324342022181D-18   0.0                          
-   0.0                     0.0                    -1.230298039445188D-06        
-   1.230298039445188D-06   1.000001230298039D+00  -2.460596442688257D-05        
-   1.230298039445188D-06   1.107268144551199D-05  -1.328722373727942D-05        
-   1.230298039445188D-06  -2.200477799974010D-09   0.0                          
-   2.022196725010872D-02  -7.543263791376376D-09  -7.543263791376376D-07        
-  -1.508652530901600D-06  -2.539273737056646D-06  -5.087317163088301D-07        
-  -7.543263791376376D-08   5.393962055677548D-06  -5.393962055677548D-06        
-   1.000005393962056D+00   0.0                     1.024852826958522D-04        
-  -4.854565486311913D-05   7.551546150352806D-05  -5.393962055677548D-06        
-   1.420877993041358D-08   0.0                    -1.305759549140930D-01        
-  -4.203418058068564D-09  -4.203418058068564D-09  -4.203418058068564D-09        
-  -4.203418058068564D-09  -4.203418058068564D-09  -4.203418058068564D-09        
-   2.522051900655242D-08   2.522051900655242D-08   1.000000025220519D+00        
-   5.044103090767749D-07   2.522051545383874D-07   2.269846390845487D-07        
-   2.522051900655242D-08   2.554505496021875D-10   2.522051900655242D-08        
-  -2.408750355243683D-03   2.477248961518796D-11  -1.238624654231746D-11        
-   1.238624654231746D-11   1.000000000495450D+00  -1.238624654231746D-11        
-   1.238625261384962D-11   2.452476000058823D-10   1.574671382870152D-13        
-   1.238624654231746D-11  -1.477152181905694D-06   2.184934178028897D-11        
-  -1.092467522695317D-11   1.092467522695317D-11   4.369868911169306D-10        
-   9.999999999890753D-01   1.092467522695317D-11   2.163085821571542D-10        
-   1.388860272448500D-13   1.092467522695317D-11  -1.302848431805614D-06        
-   1.345329678770213D-07  -6.726645551680122D-08   6.726645551680122D-08        
-   6.726645551680122D-08   1.000001278062882D+00  -3.363325618011004D-07        
-   1.345329678770213D-07   4.668525566131621D-10   6.726645551680122D-08        
-  -4.453532397747040D-03  -1.054020426494162D-09  -4.277477927416840D-09        
-  -1.088280576766465D-09   4.067786107952998D-09   1.694434592636185D-09        
-   6.575595623559138D-10   1.000000000000000D+00   1.521864578801768D-11        
-  -1.398565364070237D-04  -5.132014604947166D-12  -2.082700678585070D-11        
-  -5.298826481758834D-12   1.980600405904198D-11   8.250184389824167D-12        
-   3.201650750073171D-12   1.000000000000000D+00   7.409947221787005D-14        
-  -6.809601131863019D-07  -6.473783287219703D-08  -4.636610242414463D-07        
-  -5.365741913010424D-07   7.723452881691628D-07   2.271788730467961D-07        
-   6.544928510265891D-08   0.0                     1.000000000000000D+00        
-   1.931242499253472D-09  -1.774775609374046D-02  -4.218190908432007D-03        
-  -3.070430830121040D-04  -2.048411639407277D-03   8.487612940371037D-04        
-  -1.524399995105341D-04  -4.570157034322619D-05  -2.428856445476413D-03        
-   4.073116928339005D-03   4.175942391157150D-03   9.249553550034761D-04        
-   8.221305906772614D-04  -4.950208216905594D-02   4.175942391157150D-03        
-   3.748018294572830D-02  -2.475163340568542D-02   4.073116928339005D-03        
-   1.000018495076802D+00   8.221305906772614D-04  -1.014492340087891D+02        
-  -2.471087598205393D-17  -1.873189645930362D-13   4.888664885231708D-14        
-  -3.043990772877252D-16  -1.286887362945006D-16  -2.790847829749812D-17        
-  -3.319902130982655D-10   3.139515314387609D-10  -4.006040206456845D-16        
-  -1.686210855062899D-16  -3.125035414666135D-17  -9.123220934270648D-08        
-  -3.244133949920069D-06  -4.812402866748730D-16  -1.976705171837396D-16        
-  -3.494794412900199D-17  -5.191453169572924D-07  -9.969023521989584D-04        
-  -5.606729188860132D-16  -2.226699269983418D-16  -3.903872945243604D-17        
-  -6.099668325987295D-08  -5.238358862698078D-04  -6.322302622700565D-16        
-  -2.419947719317118D-16  -4.343730537307861D-17  -6.189664336631040D-10        
-  -2.593829776742496D-06  -6.731455535124650D-16  -2.488745852875481D-16        
-  -4.778463580041231D-17  -3.720013880270656D-12  -1.776293334643242D-09        
-  -6.517935469780786D-16  -2.327123496209888D-16  -5.103115426856043D-17        
-  -6.057437537676513D-14  -2.046598134020083D-12  -5.521360973271107D-16        
-  -1.877159742293702D-16  -5.069799238760367D-17  -4.548197620390590D-15        
-  -1.881829720805535D-14  -3.943213655176626D-16  -1.259239545802135D-16        
-  -4.296864469034077D-17  -9.248773926893387D-16  -1.645467590918122D-15        
-  -2.305333573641771D-16  -7.042313979789018D-17  -2.772176047218775D-17        
-  -2.775064164871116D-16  -4.056637719561081D-16  -1.113570922349179D-16        
-  -3.375268799619757D-17  -1.308748704287211D-17  -9.240036252646867D-17        
-  -1.296943629262385D-16  -4.625534428392427D-17  -1.425923056676471D-17        
-  -4.840895863954283D-18  -3.032876906515887D-17  -4.265090145600200D-17        
-  -1.706723743114132D-17  -5.404603734977533D-18  -1.517272582187642D-18        
-  -9.324217265533531D-18  -1.336685488705270D-17  -5.681662918068494D-18        
-  -1.854034353170231D-18  -4.197349140592874D-19  -2.625968399791454D-18        
-  -3.870900037102137D-18  -1.715837288230996D-18  -5.777406282236940D-19        
-  -1.041151557505182D-19  -6.720563303536613D-19  -1.023229862353608D-18        
-  -4.706283903187430D-19  -1.637971158256200D-19  -2.326514296817294D-20        
-  -1.557337075156648D-19  -2.458146584996669D-19  -1.172823201387139D-19        
-  -4.226950445047938D-20  -4.691781359097844D-21  -3.267222217268957D-20        
-  -5.359393661610564D-20  -2.656896049584655D-20  -9.936381092496801D-21        
-  -8.545038260582033D-22  -6.206423377690597D-21  -1.060338916542145D-20        
-  -5.472649550870706D-21  -2.128172137901634D-21  -1.405610283842565D-22        
-  -1.067211220312940D-21  -1.903915315123482D-21  -1.025301274472632D-21        
-  -4.154147080474621D-22  -2.090081288584553D-23  -1.662368100185176D-22        
-  -3.103005701485727D-22  -1.747504367213780D-22  -7.394070257460893D-23        
-   2.863205506020705D-11   1.000000000000000D+00  -4.014349741510159D-09        
-  -9.617298624142734D-11   1.790963349845853D-10  -6.729825585694016D-10        
-  -5.825459559183344D-11  -4.065924680274335D-12  -3.366472656196606D-09        
-   3.135385950869818D-09   4.016598609268840D-09   7.656726364047017D-10        
-  -1.155434775634845D-10  -6.809511887695407D-08   4.016598609268840D-09        
-   2.810291377386420D-08  -3.369975942746350D-08   3.135385950869818D-09        
-  -1.771422635313269D-13  -1.155434775634845D-10   9.999941390788081D-01        
-   9.258888843571604D-24   1.602456287903206D-20   2.057477099391917D-22        
-   3.790063917561350D-23   1.265028470551178D-23   2.967497825759503D-23        
-   2.640151404010411D-17   1.192485938020208D-16   8.872690943367984D-23        
-   2.428638932088789D-23   5.485064732149495D-23   5.627280325742889D-15        
-   2.097305835946361D-12   1.503074364226984D-22   3.654340714362437D-23        
-   7.372330513090450D-23   1.681930622879878D-14   2.737321480594801D-10        
-   1.947877940148048D-22   4.299390383295486D-23   7.854277825614900D-23        
-  -4.953118332693719D-16   8.360855063838102D-11   1.958871505723208D-22        
-   3.781022940498793D-23   6.825535047624489D-23  -3.696815741287290D-17        
-   1.911188763671634D-13   1.445337823900475D-22   1.984496358497428D-23        
-   4.766340503378597D-23  -4.550524242880046D-19  -1.640866931465110D-17        
-   5.772616522788313D-23  -4.807225270830030D-24   2.362661130331001D-23        
-  -1.189888325165020D-20  -1.973999840420913D-19  -2.738506020014500D-23        
-  -2.428158042480967D-23   2.509290808861137D-24  -1.294584510672371D-21        
-  -3.717966827098453D-21  -7.478883533280463D-23  -2.996065950125539D-23        
-  -1.037705815595532D-23  -3.566438890326746D-22  -5.413638615218143D-22        
-  -7.477866218257090D-23  -2.431505337074001D-23  -1.238172726552106D-23        
-  -1.375019772551033D-22  -1.876708297674201D-22  -5.030145687504091D-23        
-  -1.532134485362388D-23  -7.948924568162411D-24  -5.671434067641046D-23        
-  -7.661519347879783D-23  -2.663720744022099D-23  -8.085988361583657D-24        
-  -3.645409862282249D-24  -2.248603203033078D-23  -3.072957800279242D-23        
-  -1.198979750198010D-23  -3.714077048638117D-24  -1.364280504177280D-24        
-  -8.197194872253568D-24  -1.145321036994424D-23  -4.748082791043800D-24        
-  -1.512755170592547D-24  -4.417921329419716D-25  -2.697872741419652D-24        
-  -3.879402572849811D-24  -1.677462227854547D-24  -5.512122187882033D-25        
-  -1.265862414857133D-25  -7.973125637443234D-25  -1.184497526155601D-24        
-  -5.315078538823665D-25  -1.805181470815384D-25  -3.233673662629892D-26        
-  -2.112101611057460D-25  -3.253289983263135D-25  -1.514428048749681D-25        
-  -5.326447996620163D-26  -7.390221523433456D-27  -5.021731366753499D-26        
-  -8.038901845796694D-26  -3.888457796247278D-26  -1.419193740413248D-26        
-  -1.513852580882299D-27  -1.072950979457684D-26  -1.788974446777135D-26        
-  -9.009346205447938D-27  -3.419209741603590D-27  -2.782304323808742D-28        
-  -2.061430478961550D-27  -3.589193859239163D-27  -1.886021979637610D-27        
-  -7.457784301440527D-28  -4.595369958630025D-29  -3.566718256788164D-28        
-  -6.497723631603045D-28  -3.570664487244213D-28  -1.474525909938138D-28        
-   1.000000000000000D+00   1.000000000000000D+00   1.000000000000000D+00        
-   1.000000000000000D+00   1.000000000000000D+00   7.811995148658752D-01        
-  -7.201683521270752D-01   0.0                     0.0                          
-  -5.653844921875000D+04   1.740456342697144D+00  -8.308809995651245D-02        
-   8.304953575134277D-02  -5.771726608276367D+00  -5.449882812500000D+04        
-   9.420697018504143D-01   2.393694594502449D-02  -2.386506274342537D-02        
-   7.188270683400333D-05   0.0                     0.0                          
-  -5.246062109375000D+04   1.049086261540651D+00   1.366583108901978D-01        
-  -1.281171441078186D-01   0.0                     0.0                          
-  -5.045838671875000D+04   1.151831865310669D+00   4.490368068218231D-02        
-  -4.476334899663925D-02   0.0                    -4.844616015625000D+04        
-   1.070025980472565D+00   1.036765098571777D+00  -1.198760032653809D+00        
-  -1.727943420410156D-01   0.0                    -5.611478125000000D+04        
-   2.215560913085937D+00  -1.629607677459717D-01   1.629607677459717D-01        
-  -2.116955566406250D+01  -5.408718359375000D+04   8.621966838836670D-01        
-   1.399642601609230D-02  -1.399642601609230D-02   0.0                          
-  -2.007014927585260D-07   1.844083786010742D+00  -5.207436718750000D+04        
-   1.039153832942247D+00   2.189477086067200D-01  -2.052634358406067D-01        
-   1.824564114212990D-02   0.0                    -5.007060937500000D+04        
-   1.231180489063263D+00   7.386076450347900D-02  -7.407057285308838D-02        
-   0.0                     0.0                    -4.807021875000000D+04        
-   1.099351406097412D+00   1.389152526855469D+00  -1.331271171569824D+00        
-   0.0                     0.0                    -5.567945703125000D+04        
-   2.367364883422852D+00  -2.162640094757080D-01   2.162640094757080D-01        
-  -4.326069641113281D+01  -5.366410156250000D+04   8.088933825492859D-01        
-  -1.824025437235832D-02   1.824025437235832D-02  -3.646347999572754D+00        
-  -5.166330859375000D+04   1.006917160004377D+00   2.334227561950684D-01        
-  -2.275872230529785D-01   0.0                    -4.967141796875000D+04        
-   1.252006113529205D+00   8.269733190536499D-02  -8.349931240081787D-02        
-   0.0                     0.0                    -4.768283984375000D+04        
-   1.108648717403412D+00   1.188438415527344D+00  -1.216734886169434D+00        
-   0.0                     0.0                    -5.523291015625000D+04        
-   2.239842414855957D+00  -2.303062677383423D-01   2.303062677383423D-01        
-   6.817922439950053D-06  -6.265542602539062D+01  -5.322976562500000D+04        
-   7.948511838912964D-01  -5.301721021533012D-02   5.301721021533012D-02        
-   0.0                    -1.431075477600098D+01  -5.124100000000000D+04        
-   9.721402078866959D-01   2.035216093063354D-01  -2.001296281814575D-01        
-   0.0                     0.0                    -4.926116406250000D+04        
-   1.225186288356781D+00   7.491928339004517D-02  -7.571291923522949D-02        
-   0.0                    -4.728442578125000D+04   1.100826203823090D+00        
-   9.620693325996399D-01  -9.302363991737366D-01   0.0                          
-   0.0                    -5.477548437500000D+04   1.955817461013794D+00        
-  -2.077405452728271D-01   2.077405452728271D-01  -7.184405517578125D+01        
-  -5.278476953125000D+04   8.174169063568115D-01  -7.419836521148682D-02        
-   7.419836521148682D-02   0.0                    -2.535458374023437D+01        
-  -5.080805859375000D+04   9.509590044617653D-01   1.569298505783081D-01        
-  -1.486306786537170D-01   0.0                    -4.884024609375000D+04        
-   1.173709630966187D+00   5.782072991132736D-02  -5.818950012326241D-02        
-   0.0                    -4.687537109375000D+04   1.083329916000366D+00        
-   6.685049533843994D-01  -6.127962470054626D-01   1.114175319671631D-01        
-   0.0                    -5.430739843750000D+04   1.642910003662109D+00        
-  -1.625726222991943D-01   1.625726222991943D-01  -6.851022338867187D+01        
-  -5.232892187500000D+04   8.625847697257996D-01  -7.636785507202148D-02        
-   7.636785507202148D-02  -3.171057128906250D+01  -5.036466406250000D+04        
-   9.487895332276821D-01   8.871358633041382D-02  -9.425818920135498D-02        
-   0.0                    -4.840866406250000D+04   1.119902253150940D+00        
-   3.970580548048019D-02  -3.875695168972015D-02  -1.868509128689766D-02        
-   0.0                     0.0                    -4.645562890625000D+04        
-   1.063922047615051D+00   4.062695503234863D-01  -3.618338108062744D-01        
-   0.0                     0.0                     0.0                          
-  -5.382864453125000D+04   1.385215580463409D+00  -1.119138002395630D-01        
-   1.119064092636108D-01  -5.542092895507812D+01  -5.186281250000000D+04        
-   9.132438302040100D-01  -6.388950347900391D-02   6.388950347900391D-02        
-   3.410244971746579D-06  -3.133937072753906D+01  -4.991057812500000D+04        
-   9.612678736448288D-01   5.389992520213127D-02  -5.187865719199181D-02        
-   0.0                    -4.796682031250000D+04   1.077387571334839D+00        
-   2.305793017148972D-02  -2.265761792659760D-02   0.0                          
-   0.0                    -4.602543750000000D+04   1.047769121825695D+00        
-   1.912040114402771D-01  -1.852288842201233D-01   0.0                          
-   0.0                    -5.333987500000000D+04   1.210645496845245D+00        
-  -6.831127405166626D-02   6.840813159942627D-02  -2.901747131347656D+01        
-  -5.138643750000000D+04   9.568538181483746D-01  -4.531185328960419D-02        
-   4.531185328960419D-02   0.0                     2.789366590150166D-06        
-  -2.550216674804687D+01  -4.944372265625000D+04   9.798460863530636D-01        
-   2.319774404168129D-02  -2.464760094881058D-02   0.0                          
-  -4.751471484375000D+04   1.049969587475061D+00   1.143456250429153D-02        
-  -1.153665781021118D-02   0.0                    -4.558538281250000D+04        
-   1.036741930991411D+00   9.722059965133667D-02  -8.506804704666138D-02        
-   0.0                     0.0                    -5.284100000000000D+04        
-   1.110036253929138D+00  -3.708969801664352D-02   3.684729337692261D-02        
-   0.0                    -5.090041796875000D+04   9.880154319107533D-01        
-  -2.788387611508369D-02   2.788387611508369D-02   0.0                          
-   2.178428985644132D-06  -1.827397155761719D+01  -4.882808593750000D+04        
-   9.973230699542910D-01   0.0                    -1.018907129764557D-02        
-   0.0                    -4.705296093750000D+04   1.035176958888769D+00        
-   4.984032362699509D-03  -5.139783024787903D-03   0.0                          
-  -4.513525781250000D+04   1.030361384153366D+00   1.168304681777954D-01        
-  -2.920761704444885D-02   0.0                    -5.233266406250000D+04        
-   1.059764284640551D+00  -1.802648976445198D-02   2.338571846485138D-02        
-   0.0                    -5.040475000000000D+04   1.007092889398336D+00        
-  -1.836121454834938D-02   1.836121454834938D-02   0.0                          
-   0.0                    -4.950804687500000D+04   1.010153356939554D+00        
-   2.381398528814316D-02  -4.465121775865555D-03   0.0                          
-  -4.658174609375000D+04   1.028476625680923D+00   0.0                          
-  -1.977193402126431D-03   0.0                     0.0                          
-  -4.467566796875000D+04   1.027193285524845D+00   0.0                          
-  -1.157634705305099D-02   0.0                    -5.181486718750000D+04        
-   1.037754297256470D+00  -7.477629929780960D-03   0.0                          
-   0.0                    -4.989975390625000D+04   1.017277095466852D+00        
-   0.0                     0.0                     0.0                          
-  -4.388837500000000D+04   1.017999485135078D+00   0.0                          
-  -2.978397300466895D-03   0.0                    -4.610101562500000D+04        
-   1.025970183312893D+00   0.0                     0.0                          
-   0.0                    -4.420680468750000D+04   1.025839652866125D+00        
-   0.0                     0.0                     0.0                          
-  -5.128776953125000D+04   1.029255405068398D+00  -4.347227513790131D-03        
-   0.0                     0.0                    -4.938562109375000D+04        
-   1.022067971527576D+00   0.0                     0.0                          
-   0.0                    -3.449262500000000D+04   1.022117994725704D+00        
-   0.0                     0.0                     0.0                          
-  -4.561122656250000D+04   1.025238625705242D+00   0.0                          
-  -1.408393494784832D-03   0.0                    -4.372866796875000D+04        
-   1.025346063077450D+00   0.0                     0.0                          
-   0.0                    -5.075201562500000D+04   1.026350062340498D+00        
-   0.0                     0.0                     0.0                          
-  -4.886151953125000D+04   1.024067506194115D+00   0.0                          
-   0.0                     0.0                    -1.051556250000000D+05        
-   1.024003818631172D+00   0.0                     1.899568364024162D-02        
-   0.0                    -4.511256640625000D+04   1.025104723870754D+00        
-   0.0                     3.719797125086188D-03   0.0                          
-  -4.324184375000000D+04   1.025196127593517D+00   0.0                          
-   0.0                     0.0                    -5.020757421875000D+04        
-   1.025468096137047D+00   0.0                     0.0                          
-   0.0                    -4.833664062500000D+04   1.024810910224915D+00        
-   0.0                     0.0                     0.0                          
-   0.0                     1.024764768779278D+00   0.0                          
-   0.0                     0.0                    -4.460540625000000D+04        
-   1.025115087628365D+00   0.0                     0.0                          
-   0.0                    -4.274633984375000D+04   1.025160629302263D+00        
-   0.0                     0.0                     0.0                          
-  -4.965484765625000D+04   1.025229826569557D+00   0.0                          
-   0.0                     0.0                    -4.778404687500000D+04        
-   1.025058060884476D+00   0.0                     0.0                          
-   0.0                     0.0                     1.025037329643965D+00        
-   0.0                     0.0                     0.0                          
-  -4.408996093750000D+04   1.025137882679701D+00   0.0                          
-   0.0                     0.0                    -4.224254687500000D+04        
-   1.025155592709780D+00   0.0                     0.0                          
-   0.0                    -4.909400000000000D+04   1.025172512978315D+00        
-   0.0                     0.0                     0.0                          
-  -4.720000000000000D+04   1.025131687521935D+00   0.0                          
-   0.0                     0.0                     0.0                          
-   1.025124348700047D+00   0.0                     0.0                          
-   0.0                    -4.356644531250000D+04   1.025150395929813D+00        
-   0.0                     0.0                     0.0                          
-  -4.173044140625000D+04   1.025156177580357D+00   0.0                          
-   0.0                     0.0                    -4.852547656250000D+04        
-   1.025160226970911D+00   0.0                     0.0                          
-   0.0                    -4.671788281250000D+04   1.025151398032904D+00        
-   0.0                     0.0                     0.0                          
-   0.0                     1.025149203836918D+00   0.0                          
-   0.0                     0.0                    -4.303501953125000D+04        
-   1.025155294686556D+00   0.0                     0.0                          
-   0.0                    -4.121045312500000D+04   1.025156926363707D+00        
-   0.0                     0.0                     0.0                          
-  -4.794926171875000D+04   1.025157883763313D+00   0.0                          
-   0.0                     0.0                    -4.640971484375000D+04        
-   1.025156144052744D+00   0.0                     0.0                          
-   0.0                     0.0                     1.025155574083328D+00        
-   0.0                     0.0                     0.0                          
-  -4.249608593750000D+04   1.025156859308481D+00   0.0                          
-   0.0                     0.0                    -4.068298437500000D+04        
-   1.025157265365124D+00   0.0                     0.0                          
-   0.0                    -4.736593359375000D+04   1.025157485157251D+00        
-   0.0                     0.0                     0.0                          
-  -4.888311328125000D+04   1.025157172232866D+00   0.0                          
-   0.0                     0.0                     0.0                          
-   1.025157041847706D+00   0.0                     0.0                          
-   0.0                    -4.194966796875000D+04   1.025157287716866D+00        
-   0.0                     0.0                     0.0                          
-  -4.014781640625000D+04   1.025157377123833D+00   0.0                          
-   0.0                     0.0                    -4.677552734375000D+04        
-   1.025157421827316D+00   0.0                     0.0                          
-   0.0                    -9.480337500000000D+04   1.025157373398542D+00        
-   0.0                     0.0                     0.0                          
-   0.0                     1.025157347321510D+00   0.0                          
-   0.0                     0.0                    -4.139616796875000D+04        
-   1.025157388299704D+00   0.0                     0.0                          
-   0.0                    -3.960572656250000D+04   1.025157406926155D+00        
-   0.0                     0.0                     0.0                          
-  -4.617843750000000D+04   1.025157414376736D+00   0.0                          
-   0.0                     0.0                     0.0                          
-   1.025157406926155D+00   0.0                     0.0                          
-   0.0                     0.0                     1.025157403200865D+00        
-   0.0                     0.0                     0.0                          
-  -4.083592968750000D+04   1.025157410651445D+00   0.0                          
-   0.0                     0.0                    -3.905636718750000D+04        
-   1.025157410651445D+00                                                        
--- a/liboctave/UMFPACK/UMFPACK/Demo/HB/can_24.psa	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-1SYMMETRIC PATTERN FROM CANNES,LUCIEN MARRO,JUNE 1981.                  CAN   24
-             8             2             6             0             0          
-PSA                       24            24            92             0          
-(16I5)          (16I5)                                                          
-    1   10   16   22   28   34   39   45   52   55   60   65   69   71   73   74
-   77   78   81   83   86   89   91   92   93                                   
-    1    6    7   13   14   18   19   20   22    2    9   10   14   15   18    3
-    7   12   21   22   23    4    8   11   16   19   20    5    8   10   15   16
-   17    6    7   13   14   18    7   12   13   20   22   24    8   10   15   16
-   17   18   19    9   10   15   10   14   15   18   19   11   19   20   21   22
-   12   13   22   24   13   24   14   18   15   16   17   19   17   18   19   20
-   19   20   20   21   22   21   22   23   22   23   23   24                    
--- a/liboctave/UMFPACK/UMFPACK/Demo/HB/fs_183_6.rua	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,361 +0,0 @@
-1UNSYMMETRIC FACSIMILE CONVERGENCE MATRIX                               FS 183 6
-           357            17            72           268             0          
-RUA                      183           183          1069             0          
-(11I7)          (15I5)          (4D20.12)                                       
-      1    106    142    149    152    155    158    162    166    170    175   
-    181    187    196    199    203    207    210    213    216    224    232   
-    239    248    255    264    270    275    280    287    292    296    300   
-    303    306    309    312    315    318    321    324    327    342    352   
-    356    362    365    371    374    431    435    439    440    441    442   
-    443    449    456    460    466    472    479    486    490    496    503   
-    507    509    515    517    523    529    532    538    545    547    554   
-    558    565    567    574    581    588    590    595    599    601    607   
-    610    612    618    625    632    639    646    648    655    659    661   
-    668    672    674    676    682    685    690    693    697    701    706   
-    709    711    717    720    726    732    736    739    744    747    749   
-    753    759    765    768    773    779    785    790    795    801    807   
-    813    819    828    837    844    948    950    953    965    969    971   
-    973    976    977    978    979    980    981    982    983    984    985   
-    986    987    988    989    991    996   1001   1006   1009   1012   1017   
-   1020   1024   1027   1030   1033   1036   1039   1042   1045   1048   1050   
-   1053   1056   1058   1061   1063   1065   1068   1070                        
-    1    2   20   21   22   23   24   26   27   42   43   44   49   50   51     
-   56   57   59   60   61   62   64   65   67   68   70   71   72   73   74     
-   75   76   78   79   80   81   82   83   84   86   87   89   90   91   92     
-   93   94   95   96   98   99  101  102  103  104  105  106  107  109  110     
-  112  113  114  115  116  118  119  122  123  124  125  126  127  128  129     
-  130  131  132  133  136  137  140  144  158  159  160  161  162  163  164     
-  165  166  167  168  169  170  171  172  173  174  175  176  177  179  182     
-    1    2   42   43   45   46   51   52   53   57   58   62   63   65   66     
-   76   77   84   85   96   97   99  100  108  109  110  111  118  119  120     
-  121  136  137  140  141  147    3   49  137  142  143  144  146    4  137     
-  138    5  137  158    6   56  137    7   64   70  137    8   59   60  137     
-    9   74   78  137   10   80   81   82  137   11   91   92   93   94  137     
-   12   20   42   68   69  137   13   20   21   42   43   69   73  137  158     
-   14  125  137   15  103  137  178   16  115  137  181   17  112  137   18     
-  122  137   19  123  137    4   20   43   45   48  137  138  140    4   21     
-   43   45   57  137  140  158    4    6   22   43   56   62  137    4    7     
-   12   21   23   43   64   65  137    4    7   24   43   70   76  137    4     
-    8   13   21   25   43   60   84  137    4   26   57   71  137  158   27     
-   56   57   61  137   28   56   62   90  137   29   57   64   65   87  137     
-  158   30   57   70   76  158   20   31   43  137   21   32   43  137   33     
-  127  137   34  128  137   35  130  137   36  129  137   37  131  137   38     
-  132  137   39  133  137   40  126  137   41  137  180    1    2   12   13     
-   20   21   42   43   69  136  137  139  140  148  158    1    2   42   43     
-   46   47   49   55  136  137    1    2   44  137    2   45   53  137  140     
-  145    2   43   46   43   45   47   54  137  140   48  137  138    1    2     
-    3   20   31   43   49   55   56   57   59   60   61   62   64   65   67     
-   68   70   71   73   74   76   78   80   81   82   87   90   91   92   93     
-   94   96   99  143  144  158  159  160  161  162  163  164  165  166  167     
-  168  169  170  171  172  173  174  175  176  177    1    2   50   51    2     
-   51   52   53   52   53   54   55    1    2   49   56  144  159    1    2     
-   49   57   58  144  158    2   57   58  149    1    2   49   59  144  160     
-    1    2   49   60  144  161    1    2   43   49   61   67  144    1    2     
-   49   56   62   63  144    2   62   63  150    1    2   49   64  144  162     
-    1    2   49   64   65   66  144    2   65   66  151   57   67    1    2     
-   49   68  144  163   43   69    1    2   49   70  144  164    1    2   49     
-   71  144  165    4   21   72    1    2   49   73  144  166    1    2   49     
-   74   75  144  167   53   75    1    2   49   70   76   77  144    2   76     
-   77  152    1    2   49   78   79  144  168   53   79    1    2   49   80     
-   83  144  169    1    2   49   81   86  144  170    1    2   49   82   89     
-  144  171   53   83    1    2   60   84   85    2   84   85  153   53   86     
-    1    2   49   87  144  172   57   62   88   53   89    1    2   49   90     
-  144  173    1    2   49   91   95  144  174    1    2   49   92   98  144     
-  175    1    2   49   93  101  144  176    1    2   49   94  102  144  177     
-   53   95    1    2   49   59   96   97  144    2   96   97  154   53   98     
-    1    2   49   74   99  100  144    2   99  100  155   53  101   53  102     
-    1    2   43   72  103  104  104  105  137    1    2   43  105  106    4     
-   20  106    1    2  107  179    2  108  109  156    1    2  108  109  110     
-    2  110  111   53  111    1    2   43   72  112  113  113  114  137    1     
-    2   43   72  106  114    1    2   43   67  104  115    1    2  116  182     
-  117  137  183    1    2  118  119  121    2  119  120   53  120    2  118     
-  121  157    1    2   43   72  113  122    1    2   43  104  123  124    4     
-   22  124    1    2   43  106  125    1    2   20   26   43  126    1    2     
-   20   22   43  127    1    2   21   43  128    1    2   23   43  129    1     
-    2   21   22   43  130    1    2   20   27   43  131    1    2   20   24     
-   43  132    1    2   21   26   43  133    4    8   13   21   43   59   96     
-  134  137    4    9   13   21   43   74   99  135  137    1    2   42   43     
-  136  137  138    1    2    3    4    5    6    7    8    9   10   11   12     
-   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27     
-   28   29   31   32   33   34   35   36   37   38   39   40   41   42   43     
-   44   45   47   48   56   57   59   60   61   62   64   65   68   70   71     
-   73   74   76   78   80   81   82   84   87   90   91   92   93   94   96     
-   99  103  104  105  112  113  114  115  117  122  123  125  126  127  128     
-  129  130  131  132  133  134  135  136  137  138  140  142  158  178  180     
-  181  183   43  138  136  137  139    1    2    4   20   21   43   45   47     
-   57  136  140  141    2   53  140  141   50  142   52  143   20   43  144     
-  145  146  147  148  149  150  151  152  153  154  155  156  157   49  158     
-   20   21   43  158  159   21   27   43   56  160   20   23   43   64  161     
-   22   43  162   20   43  163   21   26   43  158  164   43   72  165   20     
-   21   43  166   24   43  167   26  158  168   25   43  169   29   43  170     
-   28   43  171   43   88  172   43   88  173   43  134  174  135  175   30     
-   43  176   26   56  177  107  178   41   43  179  109  180  116  181   43     
-  117  182  118  183                                                            
-  1.847033583457D-01 -3.719276202958D-07 -4.461673147532D-09 -8.427241381743D-09
- -2.952632177562D-09 -1.230224173345D-09 -5.684978286767D-10 -1.382403178450D-09
- -1.856794974832D-09  1.144783933290D-10  1.190860003543D-07 -4.043289140002D-08
-  6.134758538482D-08  2.882401728331D-09 -2.882401728331D-09  4.701102853922D-09
-  5.438916710635D-08  2.074214768257D-09  4.409820290234D-10  2.310863880436D-10
-  9.891607491932D-09  2.684350720208D-09  1.838141765470D-09 -2.566882438264D-09
-  9.518614355670D-09  1.651578667869D-09  1.400407236018D-10 -1.388193610099D-08
-  8.256918013496D-09  4.026496986174D-10 -9.548140743659D-11  1.319228178802D-09
-  9.872533764800D-10 -8.178430337704D-11  2.995364457734D-10  1.165688277582D-09
-  6.650224788487D-10 -4.160228413520D-11  5.159413302221D-10 -1.619011496642D-10
-  1.298098286898D-10 -9.236423317343D-11  1.182732136117D-10  4.400353753151D-10
-  2.727607746019D-10  1.082721999108D-09  1.434879053241D-09 -6.111602434929D-11
-  7.081639208067D-10 -3.788344091693D-11  7.499472911528D-10 -1.503780554317D-10
- -1.992887573946D-10  3.841609782970D-09 -7.828529540224D-09  4.552122268525D-10
- -2.273182572124D-09  8.045368924923D-10  2.793167046723D-09 -2.793167046724D-09
-  6.855383527411D-09 -9.555567765423D-09  4.847585525976D-10  2.335796050220D-09
-  7.201575068565D-10  1.991127877266D-09 -1.991127877266D-09  2.700184238015D-09
-  1.651123707030D-09 -1.651123707030D-09  8.779995658213D-10  7.625016818901D-10
-  1.273878662141D-09  3.064293184879D-09  1.230224173345D-09  1.678753515422D-09
-  1.856794974828D-09  5.684978286771D-10  6.199014965641D-10  2.448465652502D-52
- -1.103713326844D-07  1.040881988802D-12 -6.134758538482D-08 -5.438916710635D-08
- -1.459271034585D-08 -2.782378689063D-09 -9.569233592455D-10 -4.522492485678D-09
- -9.518614355670D-09 -2.970806846671D-09 -1.400407236018D-10 -8.256918013496D-09
- -1.057115582334D-09 -9.054690731029D-10 -2.579341616382D-10 -1.003787127918D-09
- -5.726582456752D-10 -1.298098286898D-10 -1.182732136117D-10 -3.789193509658D-10
- -2.348773336850D-10 -9.323439436764D-10 -1.235590295847D-09 -8.045368924923D-10
- -7.201575068565D-10 -4.250627856579D-16  1.847055555443D-01  2.206024722187D-13
-  1.904376186660D-08 -3.706348378336D-08 -1.904376186660D-08  3.861889986008D-09
- -3.861889986002D-09 -3.861889986015D-09  2.928647459573D-08 -2.928647459573D-08
-  5.757801375901D-09 -5.757801375901D-09  1.069963117214D-09 -1.069963117214D-09
-  7.679089398996D-10 -7.679089398996D-10  3.003240578905D-10 -3.003240578905D-10
-  4.122148195741D-10 -4.122148195741D-10  4.365364829098D-10 -4.365364829098D-10
- -3.513984349104D-09  3.513984349104D-09  3.746925132324D-09 -3.746925132324D-09
-  2.504967329464D-09  2.713294194836D-09 -2.713294194836D-09 -2.504967329464D-09
-  1.203714182606D-51  3.706348378336D-08 -7.008254286648D-14 -1.500950157540D-13
- -2.500000000000D-06  1.847229489334D-01  1.625711012677D-10  3.706348378340D-09
- -3.706348378335D-09 -1.625711012698D-10 -1.625711012677D-10 -2.000000000000D-05
-  1.847029460547D-01  9.902723341668D-10 -9.902723341667D-10  1.847029450890D-01
-  2.457629270846D-11 -2.457629270846D-11  1.847029460141D-01 -9.496895772062D-10
-  9.496895772072D-10  1.847029527910D-01 -4.020236988304D-09 -3.706348378335D-09
-  7.726585366653D-09  1.847029529962D-01 -6.798659578255D-09 -1.133109929709D-09
-  7.931769507959D-09  1.847029530529D-01 -1.982942376991D-09 -6.005482627459D-09
-  7.988425004450D-09  1.847029570932D-01 -1.246680818167D-09 -7.075755995003D-09
- -3.706348378335D-09  1.202878519150D-08  1.847029556781D-01 -1.246680818167D-09
- -6.064933710003D-10 -3.706348378335D-09 -5.054111425002D-09  1.061363399250D-08
-  1.847029723998D-01 -1.139575996950D-14  1.139576217480D-14 -2.733538205877D-08
- -1.139576217480D-14  2.733538205877D-08  1.847030326876D-01 -3.617187029084D-14
- -3.617175913233D-14  7.234362556953D-14 -3.617181471159D-14 -3.617181278477D-14
- -8.762304482526D-08  8.762304482526D-08 -3.617181254052D-14  1.847029472803D-01
- -2.215887192612D-09  2.215887192612D-09  1.847029666287D-01 -1.819480113001D-08
-  2.156420874667D-08 -3.369407616668D-09  1.847029922362D-01 -3.706348378335D-08
-  4.717170663335D-08 -1.010822285000D-08  1.847030259302D-01 -8.086578280003D-08
-  8.086578280003D-08  1.847029956056D-01 -5.054111425002D-08  5.054111425002D-08
-  1.847029703350D-01 -2.527055712501D-08  2.527055712501D-08 -3.125510468576D-08
-  1.847029763195D-01 -3.125510469012D-08 -4.383761260308D-17  0.0               
-  3.125510464629D-08  0.0                 4.382661005511D-17  0.0               
-  1.847030008084D-01  0.0                -2.259574994278D-17 -5.574398606689D-08
-  5.574398604462D-08  2.246113765381D-17  0.0                 0.0               
-  0.0                 1.847030124526D-01  0.0                 0.0               
- -6.738815233337D-08  6.738815233413D-08  0.0                 0.0               
-  0.0                 0.0                 1.847029956056D-01  0.0               
-  0.0                -5.054111425002D-08  5.054111424976D-08  0.0               
-  0.0                 1.847029956056D-01  0.0                 0.0               
- -5.054111425002D-08  5.054111425034D-08  0.0                 0.0               
-  0.0                 0.0                 1.847029501186D-01  0.0               
-  0.0                -5.054111425056D-09  5.054111424340D-09  0.0               
-  1.847029467491D-01  0.0                -1.684703808334D-09  1.684703808322D-09
-  0.0                 1.847029565204D-01  0.0                 0.0               
- -1.145598589667D-08  1.145598589640D-08  1.847029642701D-01  0.0               
-  0.0                -1.920562341501D-08  1.920562341711D-08  1.847029642701D-01
-  0.0                 0.0                 0.0                -1.920562341501D-08
-  1.920562341525D-08  0.0                 1.847029450644D-01  0.0               
-  0.0                 0.0                 0.0                -3.706348346422D-09
-  1.847029487708D-01 -3.706348346422D-09  3.706348346422D-09 -1.111904513493D-08
-  1.847029561835D-01 -1.111904513493D-08  1.111904513493D-08  1.847030710273D-01
- -1.259628398745D-07  1.259628398745D-07  1.847031578433D-01 -2.127788399299D-07
-  2.127788399299D-07  1.847032483111D-01 -3.032466855001D-07  3.032466855001D-07
-  1.847030479367D-01 -1.028722755757D-07  1.028722755758D-07  1.847031472617D-01
- -2.021972313040D-07  2.021972313040D-07  1.847030531121D-01 -1.080476738911D-07
-  1.080476738911D-07  1.847029753940D-01 -3.032958469560D-08  3.032958469560D-08
-  1.847031167522D-01 -1.716877491549D-07  1.716877491550D-07  1.847029888667D-01
-  4.380229901688D-08 -4.380229901668D-08  2.162322755874D-02 -2.159089062210D-02
-  7.403155341658D-07  1.269397070520D-06 -1.375006599097D-06 -6.346985352602D-07
-  2.063755196007D-01 -6.349214311879D-07 -1.375004465968D-06  1.715103318883D-53
-  2.226157903684D-10  0.0                -3.233695633350D-05 -1.500000000000D-05
- -6.346987395270D-07  1.136828992780D+01 -1.025418486412D+01  1.456594534583D-11
-  1.266709834095D+01 -1.114105063695D+00 -9.632867826155D-08  3.987593050105D-08
- -3.987593050105D-08  4.632458716482D-51 -1.136828975598D+01  0.0               
- -2.223809030011D-08  1.847029673025D-01  2.223809027155D-08  0.0               
-  1.847579453340D-01 -3.000000000000D-05  2.695526101250D-10 -2.695526093335D-10
- -2.500000000000D-05 -6.072063216193D-02 -6.072063216165D-02  2.454235772261D-01
- -2.651534895039D-09  0.0                 1.847329477160D-01 -3.000000000000D-05
-  2.651534895039D-09  2.244826079078D-17  1.847029450831D-01  1.867160023467D-11
- -1.867160023409D-11  2.806985167356D+00 -2.806985167362D+00  5.553294944544D-03
- -2.025786930574D-08 -2.025780774980D-08  2.418462261829D-08  2.997241497978D+00
- -2.420314707957D-08  8.077212345811D-10  5.438916911567D-10  1.615750248838D-10
-  6.465663647432D-11  1.863605937612D-11  3.690836612132D-10  2.369817612475D-10
-  6.858762712566D-11 -1.863570149278D-11  7.676301581984D-10  1.903564507687D-10
-  1.129363521820D-11  6.658804341147D-10  5.726902954421D-11  4.922613821110D-11
-  7.302162281710D-11  2.080107466611D-11  8.095061777596D-11  4.618207195721D-11
-  1.046853516843D-11  9.538217415503D-12  3.055804827568D-11  1.894169175196D-11
-  7.518905381967D-11  9.964438584132D-11  2.642467459327D-11  2.798361444007D-11
- -5.553294889907D-03 -2.812538488194D+00 -5.438910648609D-10 -1.176812053461D-09
- -1.879989837104D-10 -6.465663647432D-11 -3.055693883732D-10 -7.676454577113D-10
- -2.395814258589D-10 -1.129363521820D-11 -6.658806130563D-10 -8.525210715926D-11
- -7.302108599209D-11 -2.080161149113D-11 -8.095034936346D-11 -4.618269825307D-11
- -1.046853516843D-11 -9.538217415503D-12 -3.055751145067D-11 -1.894204963531D-11
- -7.518842752382D-11 -9.964474372466D-11  1.403492583625D+00 -1.403492583686D+00
-  1.588195528744D+00 -1.403492583680D+00  1.089185606479D+00  1.273888551548D+00
- -1.089185606482D+00 -1.089185606482D+00  1.847029450644D-01  1.847029450644D-01
-  1.847029450644D-01  1.847029450644D-01  4.350827009395D-01 -4.350827009433D-01
-  7.668448156647D-10  6.197856467720D-01 -7.668448156647D-10 -4.350827017076D-01
-  3.649080717567D+00 -2.124220868494D+00  7.975186647603D-10  5.358643512506D+00
- -1.524859849077D+00 -7.975186075522D-10 -3.649080718365D+00 -2.849177309245D-04
- -2.849177309245D-04  1.849928627954D-01 -5.000000000000D-06  5.192922559506D-01
- -5.192922559754D-01  7.668446736793D-10  7.039952017928D-01 -7.668448157585D-10
- -5.192922567283D-01  5.192922559568D-01 -5.192922559568D-01  7.668444858664D-10
-  7.039952017928D-01 -7.668448457748D-10 -5.192922567284D-01  4.350827008612D-01
- -4.350827008612D-01 -4.350827017073D-01  7.668467484525D-10  6.197856467720D-01
- -4.350827017076D-01 -7.668449040245D-10  9.403400310568D-01 -5.155576445380D-01
-  7.668448049200D-10 -9.403400318322D-01  1.549825363425D+00 -4.247823865286D-01
- -7.668448167006D-10 -2.849177309250D-04 -2.849177309245D-04  1.849928627954D-01
- -5.000000000000D-06  5.192922559592D-01 -5.192922559592D-01  7.668449471519D-10
-  7.039952017928D-01 -7.668448155349D-10 -5.192922567284D-01  9.403400310659D-01
- -5.155576445636D-01  7.668452184158D-10 -9.403400318323D-01  1.549825363425D+00
- -4.247823865286D-01 -7.668448258865D-10 -2.849177309199D-04 -2.849177309245D-04
-  1.849928627954D-01 -5.000000000000D-06  0.0                 1.847029450644D-01
-  4.350827009381D-01 -4.350827009381D-01  7.668448205427D-10  6.197856467720D-01
- -7.668448149473D-10 -4.350827017076D-01 -4.472000000002D+03  2.236184702945D+03
-  4.350827009255D-01 -4.350827009448D-01  7.668446561058D-10  6.197856468258D-01
- -7.668448218254D-10 -4.350827017613D-01  4.350827007568D-01 -4.350827007568D-01
-  7.668427698781D-10  6.197856467720D-01 -7.668446900881D-10 -4.350827017076D-01
-  0.0                 0.0                 1.847029450644D-01  4.350827009364D-01
- -4.350827009364D-01  7.668448049201D-10  6.197856467720D-01 -7.668448177886D-10
- -4.350827017076D-01  4.743804932312D-01 -4.350827009500D-01  7.668441251095D-10
-  6.590834391150D-01 -3.929779234304D-02 -7.668448253707D-10 -4.350827017076D-01
- -2.999999999975D-05  1.847329450644D-01  9.403400309955D-01 -5.155576444381D-01
-  7.668444001463D-10 -9.403400318322D-01  1.549825363425D+00 -4.247823865285D-01
- -7.668447696707D-10 -2.849177309241D-04 -2.849177309245D-04  1.849928627954D-01
- -5.000000000000D-06  4.743804932838D-01 -4.350827009530D-01  7.668440849248D-10
-  6.590834391152D-01 -3.929779234303D-02 -7.668448602203D-10 -4.350827017077D-01
- -2.999999999999D-05  1.847329450644D-01  5.052573299108D-01 -4.350827009926D-01
-  7.668427470318D-10  6.899602759560D-01 -7.017462918400D-02 -7.668448254578D-10
- -4.350827017076D-01  5.052573301008D-01 -4.350827009046D-01  7.668446147586D-10
-  6.899602759560D-01 -7.017462918399D-02 -7.668447743280D-10 -4.350827017076D-01
-  5.052573300679D-01 -4.350827009326D-01  7.668438364657D-10  6.899602759560D-01
- -7.017462918399D-02 -7.668448631294D-10 -4.350827017076D-01 -3.000000000044D-05
-  1.847329450644D-01  9.403400308871D-01 -5.155576445108D-01 -9.403400310654D-01
-  1.549825362658D+00 -4.247823865286D-01 -2.849177309421D-04 -2.849177309245D-04
-  1.849928627954D-01 -5.000000000000D-06 -2.999999999987D-05  1.847329450644D-01
-  4.350827006437D-01 -4.350827010779D-01  7.668440769557D-10  6.197856467720D-01
- -7.668449051812D-10 -4.350827017076D-01  0.0                 0.0               
-  1.847029450644D-01 -2.999999999970D-05  1.847329450644D-01  4.350827005205D-01
- -4.350827005205D-01  7.668488614599D-10  6.197856467720D-01 -7.668447518146D-10
- -4.350827017076D-01  5.052573300039D-01 -4.350827010178D-01  7.668460149417D-10
-  6.899602759560D-01 -7.017462918399D-02 -7.668448844073D-10 -4.350827017075D-01
-  5.052573301274D-01 -4.350827008233D-01  7.668442740500D-10  6.899602759559D-01
- -7.017462918395D-02 -7.668449594799D-10 -4.350827017075D-01  5.052573300968D-01
- -4.350827009617D-01  7.668445556523D-10  6.899602759560D-01 -7.017462918398D-02
- -7.668447849049D-10 -4.350827017076D-01  5.052573300844D-01 -4.350827009337D-01
-  7.668448795622D-10  6.899602759560D-01 -7.017462918399D-02 -7.668448363304D-10
- -4.350827017076D-01 -2.999999999962D-05  1.847329450644D-01  9.403400309788D-01
- -5.155576446611D-01  7.668446717407D-10 -9.403400318323D-01  1.549825363425D+00
- -4.247823865285D-01 -7.668448516647D-10 -2.849177308965D-04 -2.849177309245D-04
-  1.849928627954D-01 -5.000000000000D-06 -3.000000000037D-05  1.847329450644D-01
-  9.403400310374D-01 -5.155576445930D-01  7.668453760661D-10 -9.403400318323D-01
-  1.549825363425D+00 -4.247823865285D-01 -7.668448690614D-10 -2.849177309083D-04
- -2.849177309245D-04  1.849928627954D-01 -5.000000000000D-06 -2.999999999990D-05
-  1.847329450644D-01 -3.000000000006D-05  1.847329450644D-01  4.350827009285D-01
- -4.350827009431D-01 -4.350827009407D-01 -4.350827009407D-01  6.197856460051D-01
- -4.350827009413D-01  1.847030124526D-01 -6.738815233336D-08  6.738815233336D-08
-  4.350827008982D-01 -4.350827008982D-01 -4.350827009408D-01  6.197856460051D-01
- -8.701654018812D-01  0.0                 0.0                 1.847029450644D-01
-  4.350827009215D-01 -4.350827009215D-01  6.197856460051D-01 -4.350827009407D-01
- -2.849177309244D-04  1.849928627954D-01 -2.849177309245D-04 -5.000000000000D-06
-  4.350827009261D-01 -1.030031442269D-02 -4.247823865285D-01  1.044568032534D+00
- -4.350827009407D-01  4.247823865384D-01  6.094853315930D-01 -4.247823865286D-01
- -2.999999999995D-05  1.847329450644D-01  4.350827009375D-01 -4.350827009458D-01
- -4.350827009408D-01 -4.350827009408D-01  6.197856460052D-01 -4.350827009406D-01
-  1.847030124526D-01 -6.738815233337D-08  6.738815233335D-08  4.350827008530D-01
- -4.350827009655D-01 -4.350827009404D-01 -4.350827009409D-01 -4.350827009404D-01
-  6.197856460052D-01  4.350827009246D-01 -4.350827009487D-01 -4.350827009408D-01
- -4.350827009407D-01 -4.350827009411D-01  6.197856460052D-01  4.350827009394D-01
- -4.350827009394D-01  6.197856460051D-01 -4.350827009407D-01  1.847030124526D-01
-  6.738815233404D-08 -6.738815233336D-08  4.350827009232D-01 -1.030031443112D-02
-  1.044568032534D+00 -4.350827009407D-01 -4.247823865285D-01  4.247823865426D-01
-  6.094853315930D-01 -4.247823865285D-01 -2.999999999994D-05  1.847329450644D-01
- -2.852765693834D-04 -2.852765693766D-04  1.849932216338D-01 -5.000000000000D-06
-  4.350827009321D-01 -4.350827009321D-01 -4.350827009407D-01 -4.350827009406D-01
- -4.350827009399D-01  6.197856460052D-01  4.350827009333D-01 -4.350827009672D-01
- -4.350827009407D-01 -4.350827009418D-01  6.197856460052D-01 -4.350827009407D-01
-  0.0                 0.0                 1.847029450644D-01  4.350827009443D-01
- -4.350827009443D-01 -4.350827009405D-01 -4.350827009405D-01  6.197856460052D-01
-  4.350827009142D-01 -4.350827009867D-01 -4.350827009414D-01 -4.350827009414D-01
- -4.350827009405D-01  6.197856460052D-01  4.350827009181D-01 -4.350827009613D-01
- -4.350827009424D-01 -4.350827009397D-01 -4.350827009407D-01  6.197856460052D-01
-  4.350827009249D-01 -4.350827009249D-01 -8.701654018813D-01 -4.350827009407D-01
-  6.197856460052D-01  4.350827009103D+00 -4.350827009103D+00 -4.350827009408D+00
- -8.701654018815D+00  4.535529954472D+00  4.350827009378D-01 -4.350827009378D-01
- -4.350827009399D-01 -4.350827009399D-01 -4.350827009408D-01  6.197856460052D-01
-  4.350827009142D-01 -4.350827009142D-01 -4.350827009402D-01 -4.350827009421D-01
- -4.350827009407D-01  6.197856460052D-01  4.350827009067D-01 -4.350827009067D-01
- -4.350827009371D-01 -4.350827009405D-01 -4.350827009407D-01  6.197856460051D-01
-  4.350827008840D-01 -4.350827009730D-01 -4.350827009396D-01 -4.350827009396D-01
- -4.350827009407D-01  6.197856460052D-01  0.0                 0.0               
-  0.0                 0.0                 0.0                 0.0               
- -5.054111424998D-08  1.847029956056D-01  5.054111424909D-08  0.0               
-  0.0                 0.0                 0.0                 0.0               
-  0.0                -1.617315655999D-07  1.847031067960D-01  1.617315655999D-07
- -7.321241211920D+00  7.305730107658D+00 -8.216644762503D+04  0.0               
-  8.217914180010D+04  0.0                 0.0                 1.684191100414D+01
-  1.194789706065D+01  1.152570637560D+00  3.203752497504D+00  5.801590314942D-01
-  7.877230884797D-01  1.334284295919D+00  9.522628221382D-01  4.836031467433D-01
-  7.443160981249D-01  1.154866622749D+00  3.916088093325D+00  3.390590023192D+00
-  3.180521162968D-01  1.839620866156D+00  1.177388037480D+00  2.807229515941D+00
-  1.076822896977D+00  6.399743827870D-01  1.221654249014D+00  4.544019124820D-01
-  1.612808099323D-01  3.488652332781D-02  1.823010530775D-02  5.786837962657D-04
-  1.072060324264D-02  4.862946661956D-02  1.657310781745D-03  6.460785183840D-03
-  9.641696141492D-05  2.800172909824D-01  4.827856220525D-01  1.228202872892D+00
-  6.513945810814D-01  4.647322366774D-01  7.254763669924D-01  1.891034737044D-01
-  2.105061559182D-01  2.698759421753D-01  4.190646638201D-02  5.718157988633D-10
- -1.501867945347D+00 -1.680876639348D+01 -1.198067969175D+01  4.520363481073D-06
-  7.772471985027D-02 -7.877230884717D-01 -7.344192034644D-01 -8.162252761229D-01
- -1.360375460205D-01 -4.862946662078D-02 -1.612808099323D-01 -6.942444591950D-01
- -3.488652332776D-02 -3.916088093312D+00 -6.400398367040D-01 -1.072060324096D-02
- -3.390590023191D+00 -1.200433342982D-01 -1.823010530772D-02 -3.635598124461D-01
- -7.714200456749D-02 -4.378329988966D-01 -2.293410946601D-01 -5.786837962657D-04
- -6.460785183864D-03 -1.657310781756D-03 -1.356510001334D-01 -6.599237844325D-02
- -4.032867571532D-01 -5.499364870271D-01 -3.692655530801D-03 -4.959949739895D-03
- -1.552180105819D+00  1.419500447260D-01 -1.419500447255D-01 -2.807229515941D+00
-  1.542530815584D-01 -1.542530815580D-01 -9.250906008783D-01  1.146811089419D-02
- -1.076822896977D+00 -6.399743827853D-01 -3.180521162486D-01 -2.698759421752D-01
- -4.827856220511D-01 -1.228202872895D+00 -4.647322366781D-01 -6.513945810810D-01
- -7.254763669918D-01 -1.891034737043D-01 -2.105061559178D-01  3.692655530801D-03
-  4.959949739895D-03  5.544942290657D-51  6.299896663454D+01 -4.503227883208D+00
- -3.619795712679D-04 -1.152570637528D+00 -5.801590381620D-01 -2.874407603369D-01
- -4.190646638189D-02 -2.522974366032D-01 -1.146811089416D-02 -7.441570462111D+06
-  7.441570646800D+06 -7.650000000000D+08 -2.162948497570D+08  8.731391781590D+08
-  2.665790957288D+01 -5.034857288321D+01 -9.125978334718D-05  1.053408827308D-04
-  1.818065996370D-05 -1.053408827308D-04 -1.236997844589D-04  2.349867010473D-09
- -1.818065996370D-05  0.0                 2.984376498507D+01 -2.984147403773D+00
- -8.054210242782D-02 -6.000094255021D-05 -8.054208350577D-02  2.652589908414D-01
- -5.200000000000D+03  5.200184686907D+03 -4.278550085040D+05  4.278551931939D+05
- -9.360000000000D+03 -9.360000000000D+03  9.360184686907D+03  1.846869073356D-01
-  1.846869073356D-01  1.846869073356D-01  1.846869073356D-01  1.846869073356D-01
-  1.846869073356D-01  1.846869073356D-01  1.846869073356D-01  1.846869073356D-01
-  1.846869073356D-01  1.846869073356D-01  1.846869073356D-01  1.846869073356D-01
- -2.652000000000D+06  2.652000184687D+06 -3.300000000007D+01 -1.924000000000D+02
- -1.924000000000D+02 -3.299999999994D+01  2.255846869073D+02 -1.200000000002D+03
- -1.091999999999D+03 -1.092000000006D+03 -1.200000000000D+03  2.292184686907D+03
- -3.200000000005D+03 -1.923999999994D+02 -1.923999999821D+02 -3.200000000001D+03
-  3.392584686907D+03 -1.924000000000D+02 -1.924000000000D+02  1.925846869073D+02
- -4.472000000000D+03 -2.236000000000D+03  2.236184686907D+03 -1.099999999998D+03
- -1.924000000000D+02 -1.924000000000D+02 -1.100000000000D+03  1.292584686907D+03
- -1.923999999998D+02 -1.924000000005D+02  1.925846869073D+02 -2.236000000000D+03
- -2.236000000000D+03 -2.236000000000D+03  2.236184686907D+03 -1.923999999999D+02
- -1.923999999999D+02  1.925846869073D+02 -3.329999999981D+01 -3.330000000000D+01
-  3.348468690734D+01 -1.924000000000D+02 -1.924000000002D+02  1.925846869073D+02
- -1.924000000000D+02 -1.924000000000D+02  1.925846869073D+02 -1.924000000000D+02
- -1.923999999999D+02  1.925846869073D+02 -1.923999999995D+02 -1.924000000000D+02
-  1.925846869073D+02 -1.924000000006D+02 -1.924000000000D+02  1.925846869073D+02
- -1.924000000001D+02 -1.924000000000D+02  1.925846869073D+02 -1.924000000000D+02
-  1.925846869073D+02 -1.924000000000D+02 -1.924000000000D+02  1.925846869073D+02
- -3.200000000000D+03 -3.200000000000D+03  3.200184686907D+03 -2.236000000000D+03
-  2.236184686907D+03 -2.235999999999D+03 -2.236000000000D+03  2.236184686907D+03
- -2.235999999997D+03  2.236184686907D+03 -2.236000000000D+03  2.236184686907D+03
- -2.236000000000D+03 -2.236000000000D+03  2.236184686907D+03 -2.235999999997D+03
-  2.236184686907D+03                                                            
--- a/liboctave/UMFPACK/UMFPACK/Demo/HB/qc324.cua	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19516 +0,0 @@
-MODEL H2+ IN AN ELECTROMAGNETIC FIELD, S.I. CHU                         QC324   
-         19512            21          1671         17820             0
-CUA                      324           324         26730             0
-(16I5)          (16I5)          (3D22.16)           (3D22.16)           
-    1   83  165  247  329  411  493  575  657  739  821  903  985 1067 1149 1231
- 1313 1395 1477 1559 1641 1723 1805 1887 1969 2051 2133 2215 2297 2379 2461 2543
- 2625 2707 2789 2871 2953 3035 3117 3199 3281 3363 3445 3527 3609 3691 3773 3855
- 3937 4019 4101 4183 4265 4347 4429 4511 4593 4675 4757 4839 4921 5003 5085 5167
- 5249 5331 5413 5495 5577 5659 5741 5823 5905 5987 6069 6151 6233 6315 6397 6479
- 6561 6643 6726 6809 6892 6975 7058 7141 7224 7307 7390 7473 7556 7639 7722 7805
- 7888 7971 8054 8137 8220 8303 8386 8469 8552 8635 8718 8801 8884 8967 9050 9133
- 9216 9299 9382 9465 9548 9631 9714 9797 9880 9963100461012910212102951037810461
-10544106271071010793108761095911042111251120811291113741145711540116231170611789
-11872119551203812121122041228712370124531253612619127021278512868129511303413117
-13200132831336613449135321361513698137811386413947140301411314196142791436214445
-14528146111469414777148601494315026151091519215275153581544115524156071569015773
-15856159391602216105161881627116354164371652016603166861676916852169351701817101
-17184172671735017433175161759917682177651784817931180141809718180182631834618429
-18512185951867818761188441892719010190931917619259193421942519508195911967419757
-19840199232000620089201712025320335204172049920581206632074520827209092099121073
-21155212372131921401214832156521647217292181121893219752205722139222212230322385
-22467225492263122713227952287722959230412312323205232872336923451235332361523697
-23779238612394324025241072418924271243532443524517245992468124763248452492725009
-25091251732525525337254192550125583256652574725829259112599326075261572623926321
-2640326485265672664926731
-    1    2    3    4    5    6    7    8    9   10   11   12   13   14   15   16
-   17   18   19   20   21   22   23   24   25   26   27   28   29   30   31   32
-   33   34   35   36   37   38   39   40   41   42   43   44   45   46   47   48
-   49   50   51   52   53   54   55   56   57   58   59   60   61   62   63   64
-   65   66   67   68   69   70   71   72   73   74   75   76   77   78   79   80
-   81   82    1    2    3    4    5    6    7    8    9   10   11   12   13   14
-   15   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30
-   31   32   33   34   35   36   37   38   39   40   41   42   43   44   45   46
-   47   48   49   50   51   52   53   54   55   56   57   58   59   60   61   62
-   63   64   65   66   67   68   69   70   71   72   73   74   75   76   77   78
-   79   80   81   83    1    2    3    4    5    6    7    8    9   10   11   12
-   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28
-   29   30   31   32   33   34   35   36   37   38   39   40   41   42   43   44
-   45   46   47   48   49   50   51   52   53   54   55   56   57   58   59   60
-   61   62   63   64   65   66   67   68   69   70   71   72   73   74   75   76
-   77   78   79   80   81   84    1    2    3    4    5    6    7    8    9   10
-   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26
-   27   28   29   30   31   32   33   34   35   36   37   38   39   40   41   42
-   43   44   45   46   47   48   49   50   51   52   53   54   55   56   57   58
-   59   60   61   62   63   64   65   66   67   68   69   70   71   72   73   74
-   75   76   77   78   79   80   81   85    1    2    3    4    5    6    7    8
-    9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24
-   25   26   27   28   29   30   31   32   33   34   35   36   37   38   39   40
-   41   42   43   44   45   46   47   48   49   50   51   52   53   54   55   56
-   57   58   59   60   61   62   63   64   65   66   67   68   69   70   71   72
-   73   74   75   76   77   78   79   80   81   86    1    2    3    4    5    6
-    7    8    9   10   11   12   13   14   15   16   17   18   19   20   21   22
-   23   24   25   26   27   28   29   30   31   32   33   34   35   36   37   38
-   39   40   41   42   43   44   45   46   47   48   49   50   51   52   53   54
-   55   56   57   58   59   60   61   62   63   64   65   66   67   68   69   70
-   71   72   73   74   75   76   77   78   79   80   81   87    1    2    3    4
-    5    6    7    8    9   10   11   12   13   14   15   16   17   18   19   20
-   21   22   23   24   25   26   27   28   29   30   31   32   33   34   35   36
-   37   38   39   40   41   42   43   44   45   46   47   48   49   50   51   52
-   53   54   55   56   57   58   59   60   61   62   63   64   65   66   67   68
-   69   70   71   72   73   74   75   76   77   78   79   80   81   88    1    2
-    3    4    5    6    7    8    9   10   11   12   13   14   15   16   17   18
-   19   20   21   22   23   24   25   26   27   28   29   30   31   32   33   34
-   35   36   37   38   39   40   41   42   43   44   45   46   47   48   49   50
-   51   52   53   54   55   56   57   58   59   60   61   62   63   64   65   66
-   67   68   69   70   71   72   73   74   75   76   77   78   79   80   81   89
-    1    2    3    4    5    6    7    8    9   10   11   12   13   14   15   16
-   17   18   19   20   21   22   23   24   25   26   27   28   29   30   31   32
-   33   34   35   36   37   38   39   40   41   42   43   44   45   46   47   48
-   49   50   51   52   53   54   55   56   57   58   59   60   61   62   63   64
-   65   66   67   68   69   70   71   72   73   74   75   76   77   78   79   80
-   81   90    1    2    3    4    5    6    7    8    9   10   11   12   13   14
-   15   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30
-   31   32   33   34   35   36   37   38   39   40   41   42   43   44   45   46
-   47   48   49   50   51   52   53   54   55   56   57   58   59   60   61   62
-   63   64   65   66   67   68   69   70   71   72   73   74   75   76   77   78
-   79   80   81   91    1    2    3    4    5    6    7    8    9   10   11   12
-   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28
-   29   30   31   32   33   34   35   36   37   38   39   40   41   42   43   44
-   45   46   47   48   49   50   51   52   53   54   55   56   57   58   59   60
-   61   62   63   64   65   66   67   68   69   70   71   72   73   74   75   76
-   77   78   79   80   81   92    1    2    3    4    5    6    7    8    9   10
-   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26
-   27   28   29   30   31   32   33   34   35   36   37   38   39   40   41   42
-   43   44   45   46   47   48   49   50   51   52   53   54   55   56   57   58
-   59   60   61   62   63   64   65   66   67   68   69   70   71   72   73   74
-   75   76   77   78   79   80   81   93    1    2    3    4    5    6    7    8
-    9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24
-   25   26   27   28   29   30   31   32   33   34   35   36   37   38   39   40
-   41   42   43   44   45   46   47   48   49   50   51   52   53   54   55   56
-   57   58   59   60   61   62   63   64   65   66   67   68   69   70   71   72
-   73   74   75   76   77   78   79   80   81   94    1    2    3    4    5    6
-    7    8    9   10   11   12   13   14   15   16   17   18   19   20   21   22
-   23   24   25   26   27   28   29   30   31   32   33   34   35   36   37   38
-   39   40   41   42   43   44   45   46   47   48   49   50   51   52   53   54
-   55   56   57   58   59   60   61   62   63   64   65   66   67   68   69   70
-   71   72   73   74   75   76   77   78   79   80   81   95    1    2    3    4
-    5    6    7    8    9   10   11   12   13   14   15   16   17   18   19   20
-   21   22   23   24   25   26   27   28   29   30   31   32   33   34   35   36
-   37   38   39   40   41   42   43   44   45   46   47   48   49   50   51   52
-   53   54   55   56   57   58   59   60   61   62   63   64   65   66   67   68
-   69   70   71   72   73   74   75   76   77   78   79   80   81   96    1    2
-    3    4    5    6    7    8    9   10   11   12   13   14   15   16   17   18
-   19   20   21   22   23   24   25   26   27   28   29   30   31   32   33   34
-   35   36   37   38   39   40   41   42   43   44   45   46   47   48   49   50
-   51   52   53   54   55   56   57   58   59   60   61   62   63   64   65   66
-   67   68   69   70   71   72   73   74   75   76   77   78   79   80   81   97
-    1    2    3    4    5    6    7    8    9   10   11   12   13   14   15   16
-   17   18   19   20   21   22   23   24   25   26   27   28   29   30   31   32
-   33   34   35   36   37   38   39   40   41   42   43   44   45   46   47   48
-   49   50   51   52   53   54   55   56   57   58   59   60   61   62   63   64
-   65   66   67   68   69   70   71   72   73   74   75   76   77   78   79   80
-   81   98    1    2    3    4    5    6    7    8    9   10   11   12   13   14
-   15   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30
-   31   32   33   34   35   36   37   38   39   40   41   42   43   44   45   46
-   47   48   49   50   51   52   53   54   55   56   57   58   59   60   61   62
-   63   64   65   66   67   68   69   70   71   72   73   74   75   76   77   78
-   79   80   81   99    1    2    3    4    5    6    7    8    9   10   11   12
-   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28
-   29   30   31   32   33   34   35   36   37   38   39   40   41   42   43   44
-   45   46   47   48   49   50   51   52   53   54   55   56   57   58   59   60
-   61   62   63   64   65   66   67   68   69   70   71   72   73   74   75   76
-   77   78   79   80   81  100    1    2    3    4    5    6    7    8    9   10
-   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26
-   27   28   29   30   31   32   33   34   35   36   37   38   39   40   41   42
-   43   44   45   46   47   48   49   50   51   52   53   54   55   56   57   58
-   59   60   61   62   63   64   65   66   67   68   69   70   71   72   73   74
-   75   76   77   78   79   80   81  101    1    2    3    4    5    6    7    8
-    9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24
-   25   26   27   28   29   30   31   32   33   34   35   36   37   38   39   40
-   41   42   43   44   45   46   47   48   49   50   51   52   53   54   55   56
-   57   58   59   60   61   62   63   64   65   66   67   68   69   70   71   72
-   73   74   75   76   77   78   79   80   81  102    1    2    3    4    5    6
-    7    8    9   10   11   12   13   14   15   16   17   18   19   20   21   22
-   23   24   25   26   27   28   29   30   31   32   33   34   35   36   37   38
-   39   40   41   42   43   44   45   46   47   48   49   50   51   52   53   54
-   55   56   57   58   59   60   61   62   63   64   65   66   67   68   69   70
-   71   72   73   74   75   76   77   78   79   80   81  103    1    2    3    4
-    5    6    7    8    9   10   11   12   13   14   15   16   17   18   19   20
-   21   22   23   24   25   26   27   28   29   30   31   32   33   34   35   36
-   37   38   39   40   41   42   43   44   45   46   47   48   49   50   51   52
-   53   54   55   56   57   58   59   60   61   62   63   64   65   66   67   68
-   69   70   71   72   73   74   75   76   77   78   79   80   81  104    1    2
-    3    4    5    6    7    8    9   10   11   12   13   14   15   16   17   18
-   19   20   21   22   23   24   25   26   27   28   29   30   31   32   33   34
-   35   36   37   38   39   40   41   42   43   44   45   46   47   48   49   50
-   51   52   53   54   55   56   57   58   59   60   61   62   63   64   65   66
-   67   68   69   70   71   72   73   74   75   76   77   78   79   80   81  105
-    1    2    3    4    5    6    7    8    9   10   11   12   13   14   15   16
-   17   18   19   20   21   22   23   24   25   26   27   28   29   30   31   32
-   33   34   35   36   37   38   39   40   41   42   43   44   45   46   47   48
-   49   50   51   52   53   54   55   56   57   58   59   60   61   62   63   64
-   65   66   67   68   69   70   71   72   73   74   75   76   77   78   79   80
-   81  106    1    2    3    4    5    6    7    8    9   10   11   12   13   14
-   15   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30
-   31   32   33   34   35   36   37   38   39   40   41   42   43   44   45   46
-   47   48   49   50   51   52   53   54   55   56   57   58   59   60   61   62
-   63   64   65   66   67   68   69   70   71   72   73   74   75   76   77   78
-   79   80   81  107    1    2    3    4    5    6    7    8    9   10   11   12
-   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28
-   29   30   31   32   33   34   35   36   37   38   39   40   41   42   43   44
-   45   46   47   48   49   50   51   52   53   54   55   56   57   58   59   60
-   61   62   63   64   65   66   67   68   69   70   71   72   73   74   75   76
-   77   78   79   80   81  108    1    2    3    4    5    6    7    8    9   10
-   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26
-   27   28   29   30   31   32   33   34   35   36   37   38   39   40   41   42
-   43   44   45   46   47   48   49   50   51   52   53   54   55   56   57   58
-   59   60   61   62   63   64   65   66   67   68   69   70   71   72   73   74
-   75   76   77   78   79   80   81  109    1    2    3    4    5    6    7    8
-    9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24
-   25   26   27   28   29   30   31   32   33   34   35   36   37   38   39   40
-   41   42   43   44   45   46   47   48   49   50   51   52   53   54   55   56
-   57   58   59   60   61   62   63   64   65   66   67   68   69   70   71   72
-   73   74   75   76   77   78   79   80   81  110    1    2    3    4    5    6
-    7    8    9   10   11   12   13   14   15   16   17   18   19   20   21   22
-   23   24   25   26   27   28   29   30   31   32   33   34   35   36   37   38
-   39   40   41   42   43   44   45   46   47   48   49   50   51   52   53   54
-   55   56   57   58   59   60   61   62   63   64   65   66   67   68   69   70
-   71   72   73   74   75   76   77   78   79   80   81  111    1    2    3    4
-    5    6    7    8    9   10   11   12   13   14   15   16   17   18   19   20
-   21   22   23   24   25   26   27   28   29   30   31   32   33   34   35   36
-   37   38   39   40   41   42   43   44   45   46   47   48   49   50   51   52
-   53   54   55   56   57   58   59   60   61   62   63   64   65   66   67   68
-   69   70   71   72   73   74   75   76   77   78   79   80   81  112    1    2
-    3    4    5    6    7    8    9   10   11   12   13   14   15   16   17   18
-   19   20   21   22   23   24   25   26   27   28   29   30   31   32   33   34
-   35   36   37   38   39   40   41   42   43   44   45   46   47   48   49   50
-   51   52   53   54   55   56   57   58   59   60   61   62   63   64   65   66
-   67   68   69   70   71   72   73   74   75   76   77   78   79   80   81  113
-    1    2    3    4    5    6    7    8    9   10   11   12   13   14   15   16
-   17   18   19   20   21   22   23   24   25   26   27   28   29   30   31   32
-   33   34   35   36   37   38   39   40   41   42   43   44   45   46   47   48
-   49   50   51   52   53   54   55   56   57   58   59   60   61   62   63   64
-   65   66   67   68   69   70   71   72   73   74   75   76   77   78   79   80
-   81  114    1    2    3    4    5    6    7    8    9   10   11   12   13   14
-   15   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30
-   31   32   33   34   35   36   37   38   39   40   41   42   43   44   45   46
-   47   48   49   50   51   52   53   54   55   56   57   58   59   60   61   62
-   63   64   65   66   67   68   69   70   71   72   73   74   75   76   77   78
-   79   80   81  115    1    2    3    4    5    6    7    8    9   10   11   12
-   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28
-   29   30   31   32   33   34   35   36   37   38   39   40   41   42   43   44
-   45   46   47   48   49   50   51   52   53   54   55   56   57   58   59   60
-   61   62   63   64   65   66   67   68   69   70   71   72   73   74   75   76
-   77   78   79   80   81  116    1    2    3    4    5    6    7    8    9   10
-   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26
-   27   28   29   30   31   32   33   34   35   36   37   38   39   40   41   42
-   43   44   45   46   47   48   49   50   51   52   53   54   55   56   57   58
-   59   60   61   62   63   64   65   66   67   68   69   70   71   72   73   74
-   75   76   77   78   79   80   81  117    1    2    3    4    5    6    7    8
-    9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24
-   25   26   27   28   29   30   31   32   33   34   35   36   37   38   39   40
-   41   42   43   44   45   46   47   48   49   50   51   52   53   54   55   56
-   57   58   59   60   61   62   63   64   65   66   67   68   69   70   71   72
-   73   74   75   76   77   78   79   80   81  118    1    2    3    4    5    6
-    7    8    9   10   11   12   13   14   15   16   17   18   19   20   21   22
-   23   24   25   26   27   28   29   30   31   32   33   34   35   36   37   38
-   39   40   41   42   43   44   45   46   47   48   49   50   51   52   53   54
-   55   56   57   58   59   60   61   62   63   64   65   66   67   68   69   70
-   71   72   73   74   75   76   77   78   79   80   81  119    1    2    3    4
-    5    6    7    8    9   10   11   12   13   14   15   16   17   18   19   20
-   21   22   23   24   25   26   27   28   29   30   31   32   33   34   35   36
-   37   38   39   40   41   42   43   44   45   46   47   48   49   50   51   52
-   53   54   55   56   57   58   59   60   61   62   63   64   65   66   67   68
-   69   70   71   72   73   74   75   76   77   78   79   80   81  120    1    2
-    3    4    5    6    7    8    9   10   11   12   13   14   15   16   17   18
-   19   20   21   22   23   24   25   26   27   28   29   30   31   32   33   34
-   35   36   37   38   39   40   41   42   43   44   45   46   47   48   49   50
-   51   52   53   54   55   56   57   58   59   60   61   62   63   64   65   66
-   67   68   69   70   71   72   73   74   75   76   77   78   79   80   81  121
-    1    2    3    4    5    6    7    8    9   10   11   12   13   14   15   16
-   17   18   19   20   21   22   23   24   25   26   27   28   29   30   31   32
-   33   34   35   36   37   38   39   40   41   42   43   44   45   46   47   48
-   49   50   51   52   53   54   55   56   57   58   59   60   61   62   63   64
-   65   66   67   68   69   70   71   72   73   74   75   76   77   78   79   80
-   81  122    1    2    3    4    5    6    7    8    9   10   11   12   13   14
-   15   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30
-   31   32   33   34   35   36   37   38   39   40   41   42   43   44   45   46
-   47   48   49   50   51   52   53   54   55   56   57   58   59   60   61   62
-   63   64   65   66   67   68   69   70   71   72   73   74   75   76   77   78
-   79   80   81  123    1    2    3    4    5    6    7    8    9   10   11   12
-   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28
-   29   30   31   32   33   34   35   36   37   38   39   40   41   42   43   44
-   45   46   47   48   49   50   51   52   53   54   55   56   57   58   59   60
-   61   62   63   64   65   66   67   68   69   70   71   72   73   74   75   76
-   77   78   79   80   81  124    1    2    3    4    5    6    7    8    9   10
-   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26
-   27   28   29   30   31   32   33   34   35   36   37   38   39   40   41   42
-   43   44   45   46   47   48   49   50   51   52   53   54   55   56   57   58
-   59   60   61   62   63   64   65   66   67   68   69   70   71   72   73   74
-   75   76   77   78   79   80   81  125    1    2    3    4    5    6    7    8
-    9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24
-   25   26   27   28   29   30   31   32   33   34   35   36   37   38   39   40
-   41   42   43   44   45   46   47   48   49   50   51   52   53   54   55   56
-   57   58   59   60   61   62   63   64   65   66   67   68   69   70   71   72
-   73   74   75   76   77   78   79   80   81  126    1    2    3    4    5    6
-    7    8    9   10   11   12   13   14   15   16   17   18   19   20   21   22
-   23   24   25   26   27   28   29   30   31   32   33   34   35   36   37   38
-   39   40   41   42   43   44   45   46   47   48   49   50   51   52   53   54
-   55   56   57   58   59   60   61   62   63   64   65   66   67   68   69   70
-   71   72   73   74   75   76   77   78   79   80   81  127    1    2    3    4
-    5    6    7    8    9   10   11   12   13   14   15   16   17   18   19   20
-   21   22   23   24   25   26   27   28   29   30   31   32   33   34   35   36
-   37   38   39   40   41   42   43   44   45   46   47   48   49   50   51   52
-   53   54   55   56   57   58   59   60   61   62   63   64   65   66   67   68
-   69   70   71   72   73   74   75   76   77   78   79   80   81  128    1    2
-    3    4    5    6    7    8    9   10   11   12   13   14   15   16   17   18
-   19   20   21   22   23   24   25   26   27   28   29   30   31   32   33   34
-   35   36   37   38   39   40   41   42   43   44   45   46   47   48   49   50
-   51   52   53   54   55   56   57   58   59   60   61   62   63   64   65   66
-   67   68   69   70   71   72   73   74   75   76   77   78   79   80   81  129
-    1    2    3    4    5    6    7    8    9   10   11   12   13   14   15   16
-   17   18   19   20   21   22   23   24   25   26   27   28   29   30   31   32
-   33   34   35   36   37   38   39   40   41   42   43   44   45   46   47   48
-   49   50   51   52   53   54   55   56   57   58   59   60   61   62   63   64
-   65   66   67   68   69   70   71   72   73   74   75   76   77   78   79   80
-   81  130    1    2    3    4    5    6    7    8    9   10   11   12   13   14
-   15   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30
-   31   32   33   34   35   36   37   38   39   40   41   42   43   44   45   46
-   47   48   49   50   51   52   53   54   55   56   57   58   59   60   61   62
-   63   64   65   66   67   68   69   70   71   72   73   74   75   76   77   78
-   79   80   81  131    1    2    3    4    5    6    7    8    9   10   11   12
-   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28
-   29   30   31   32   33   34   35   36   37   38   39   40   41   42   43   44
-   45   46   47   48   49   50   51   52   53   54   55   56   57   58   59   60
-   61   62   63   64   65   66   67   68   69   70   71   72   73   74   75   76
-   77   78   79   80   81  132    1    2    3    4    5    6    7    8    9   10
-   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26
-   27   28   29   30   31   32   33   34   35   36   37   38   39   40   41   42
-   43   44   45   46   47   48   49   50   51   52   53   54   55   56   57   58
-   59   60   61   62   63   64   65   66   67   68   69   70   71   72   73   74
-   75   76   77   78   79   80   81  133    1    2    3    4    5    6    7    8
-    9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24
-   25   26   27   28   29   30   31   32   33   34   35   36   37   38   39   40
-   41   42   43   44   45   46   47   48   49   50   51   52   53   54   55   56
-   57   58   59   60   61   62   63   64   65   66   67   68   69   70   71   72
-   73   74   75   76   77   78   79   80   81  134    1    2    3    4    5    6
-    7    8    9   10   11   12   13   14   15   16   17   18   19   20   21   22
-   23   24   25   26   27   28   29   30   31   32   33   34   35   36   37   38
-   39   40   41   42   43   44   45   46   47   48   49   50   51   52   53   54
-   55   56   57   58   59   60   61   62   63   64   65   66   67   68   69   70
-   71   72   73   74   75   76   77   78   79   80   81  135    1    2    3    4
-    5    6    7    8    9   10   11   12   13   14   15   16   17   18   19   20
-   21   22   23   24   25   26   27   28   29   30   31   32   33   34   35   36
-   37   38   39   40   41   42   43   44   45   46   47   48   49   50   51   52
-   53   54   55   56   57   58   59   60   61   62   63   64   65   66   67   68
-   69   70   71   72   73   74   75   76   77   78   79   80   81  136    1    2
-    3    4    5    6    7    8    9   10   11   12   13   14   15   16   17   18
-   19   20   21   22   23   24   25   26   27   28   29   30   31   32   33   34
-   35   36   37   38   39   40   41   42   43   44   45   46   47   48   49   50
-   51   52   53   54   55   56   57   58   59   60   61   62   63   64   65   66
-   67   68   69   70   71   72   73   74   75   76   77   78   79   80   81  137
-    1    2    3    4    5    6    7    8    9   10   11   12   13   14   15   16
-   17   18   19   20   21   22   23   24   25   26   27   28   29   30   31   32
-   33   34   35   36   37   38   39   40   41   42   43   44   45   46   47   48
-   49   50   51   52   53   54   55   56   57   58   59   60   61   62   63   64
-   65   66   67   68   69   70   71   72   73   74   75   76   77   78   79   80
-   81  138    1    2    3    4    5    6    7    8    9   10   11   12   13   14
-   15   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30
-   31   32   33   34   35   36   37   38   39   40   41   42   43   44   45   46
-   47   48   49   50   51   52   53   54   55   56   57   58   59   60   61   62
-   63   64   65   66   67   68   69   70   71   72   73   74   75   76   77   78
-   79   80   81  139    1    2    3    4    5    6    7    8    9   10   11   12
-   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28
-   29   30   31   32   33   34   35   36   37   38   39   40   41   42   43   44
-   45   46   47   48   49   50   51   52   53   54   55   56   57   58   59   60
-   61   62   63   64   65   66   67   68   69   70   71   72   73   74   75   76
-   77   78   79   80   81  140    1    2    3    4    5    6    7    8    9   10
-   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26
-   27   28   29   30   31   32   33   34   35   36   37   38   39   40   41   42
-   43   44   45   46   47   48   49   50   51   52   53   54   55   56   57   58
-   59   60   61   62   63   64   65   66   67   68   69   70   71   72   73   74
-   75   76   77   78   79   80   81  141    1    2    3    4    5    6    7    8
-    9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24
-   25   26   27   28   29   30   31   32   33   34   35   36   37   38   39   40
-   41   42   43   44   45   46   47   48   49   50   51   52   53   54   55   56
-   57   58   59   60   61   62   63   64   65   66   67   68   69   70   71   72
-   73   74   75   76   77   78   79   80   81  142    1    2    3    4    5    6
-    7    8    9   10   11   12   13   14   15   16   17   18   19   20   21   22
-   23   24   25   26   27   28   29   30   31   32   33   34   35   36   37   38
-   39   40   41   42   43   44   45   46   47   48   49   50   51   52   53   54
-   55   56   57   58   59   60   61   62   63   64   65   66   67   68   69   70
-   71   72   73   74   75   76   77   78   79   80   81  143    1    2    3    4
-    5    6    7    8    9   10   11   12   13   14   15   16   17   18   19   20
-   21   22   23   24   25   26   27   28   29   30   31   32   33   34   35   36
-   37   38   39   40   41   42   43   44   45   46   47   48   49   50   51   52
-   53   54   55   56   57   58   59   60   61   62   63   64   65   66   67   68
-   69   70   71   72   73   74   75   76   77   78   79   80   81  144    1    2
-    3    4    5    6    7    8    9   10   11   12   13   14   15   16   17   18
-   19   20   21   22   23   24   25   26   27   28   29   30   31   32   33   34
-   35   36   37   38   39   40   41   42   43   44   45   46   47   48   49   50
-   51   52   53   54   55   56   57   58   59   60   61   62   63   64   65   66
-   67   68   69   70   71   72   73   74   75   76   77   78   79   80   81  145
-    1    2    3    4    5    6    7    8    9   10   11   12   13   14   15   16
-   17   18   19   20   21   22   23   24   25   26   27   28   29   30   31   32
-   33   34   35   36   37   38   39   40   41   42   43   44   45   46   47   48
-   49   50   51   52   53   54   55   56   57   58   59   60   61   62   63   64
-   65   66   67   68   69   70   71   72   73   74   75   76   77   78   79   80
-   81  146    1    2    3    4    5    6    7    8    9   10   11   12   13   14
-   15   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30
-   31   32   33   34   35   36   37   38   39   40   41   42   43   44   45   46
-   47   48   49   50   51   52   53   54   55   56   57   58   59   60   61   62
-   63   64   65   66   67   68   69   70   71   72   73   74   75   76   77   78
-   79   80   81  147    1    2    3    4    5    6    7    8    9   10   11   12
-   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28
-   29   30   31   32   33   34   35   36   37   38   39   40   41   42   43   44
-   45   46   47   48   49   50   51   52   53   54   55   56   57   58   59   60
-   61   62   63   64   65   66   67   68   69   70   71   72   73   74   75   76
-   77   78   79   80   81  148    1    2    3    4    5    6    7    8    9   10
-   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26
-   27   28   29   30   31   32   33   34   35   36   37   38   39   40   41   42
-   43   44   45   46   47   48   49   50   51   52   53   54   55   56   57   58
-   59   60   61   62   63   64   65   66   67   68   69   70   71   72   73   74
-   75   76   77   78   79   80   81  149    1    2    3    4    5    6    7    8
-    9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24
-   25   26   27   28   29   30   31   32   33   34   35   36   37   38   39   40
-   41   42   43   44   45   46   47   48   49   50   51   52   53   54   55   56
-   57   58   59   60   61   62   63   64   65   66   67   68   69   70   71   72
-   73   74   75   76   77   78   79   80   81  150    1    2    3    4    5    6
-    7    8    9   10   11   12   13   14   15   16   17   18   19   20   21   22
-   23   24   25   26   27   28   29   30   31   32   33   34   35   36   37   38
-   39   40   41   42   43   44   45   46   47   48   49   50   51   52   53   54
-   55   56   57   58   59   60   61   62   63   64   65   66   67   68   69   70
-   71   72   73   74   75   76   77   78   79   80   81  151    1    2    3    4
-    5    6    7    8    9   10   11   12   13   14   15   16   17   18   19   20
-   21   22   23   24   25   26   27   28   29   30   31   32   33   34   35   36
-   37   38   39   40   41   42   43   44   45   46   47   48   49   50   51   52
-   53   54   55   56   57   58   59   60   61   62   63   64   65   66   67   68
-   69   70   71   72   73   74   75   76   77   78   79   80   81  152    1    2
-    3    4    5    6    7    8    9   10   11   12   13   14   15   16   17   18
-   19   20   21   22   23   24   25   26   27   28   29   30   31   32   33   34
-   35   36   37   38   39   40   41   42   43   44   45   46   47   48   49   50
-   51   52   53   54   55   56   57   58   59   60   61   62   63   64   65   66
-   67   68   69   70   71   72   73   74   75   76   77   78   79   80   81  153
-    1    2    3    4    5    6    7    8    9   10   11   12   13   14   15   16
-   17   18   19   20   21   22   23   24   25   26   27   28   29   30   31   32
-   33   34   35   36   37   38   39   40   41   42   43   44   45   46   47   48
-   49   50   51   52   53   54   55   56   57   58   59   60   61   62   63   64
-   65   66   67   68   69   70   71   72   73   74   75   76   77   78   79   80
-   81  154    1    2    3    4    5    6    7    8    9   10   11   12   13   14
-   15   16   17   18   19   20   21   22   23   24   25   26   27   28   29   30
-   31   32   33   34   35   36   37   38   39   40   41   42   43   44   45   46
-   47   48   49   50   51   52   53   54   55   56   57   58   59   60   61   62
-   63   64   65   66   67   68   69   70   71   72   73   74   75   76   77   78
-   79   80   81  155    1    2    3    4    5    6    7    8    9   10   11   12
-   13   14   15   16   17   18   19   20   21   22   23   24   25   26   27   28
-   29   30   31   32   33   34   35   36   37   38   39   40   41   42   43   44
-   45   46   47   48   49   50   51   52   53   54   55   56   57   58   59   60
-   61   62   63   64   65   66   67   68   69   70   71   72   73   74   75   76
-   77   78   79   80   81  156    1    2    3    4    5    6    7    8    9   10
-   11   12   13   14   15   16   17   18   19   20   21   22   23   24   25   26
-   27   28   29   30   31   32   33   34   35   36   37   38   39   40   41   42
-   43   44   45   46   47   48   49   50   51   52   53   54   55   56   57   58
-   59   60   61   62   63   64   65   66   67   68   69   70   71   72   73   74
-   75   76   77   78   79   80   81  157    1    2    3    4    5    6    7    8
-    9   10   11   12   13   14   15   16   17   18   19   20   21   22   23   24
-   25   26   27   28   29   30   31   32   33   34   35   36   37   38   39   40
-   41   42   43   44   45   46   47   48   49   50   51   52   53   54   55   56
-   57   58   59   60   61   62   63   64   65   66   67   68   69   70   71   72
-   73   74   75   76   77   78   79   80   81  158    1    2    3    4    5    6
-    7    8    9   10   11   12   13   14   15   16   17   18   19   20   21   22
-   23   24   25   26   27   28   29   30   31   32   33   34   35   36   37   38
-   39   40   41   42   43   44   45   46   47   48   49   50   51   52   53   54
-   55   56   57   58   59   60   61   62   63   64   65   66   67   68   69   70
-   71   72   73   74   75   76   77   78   79   80   81  159    1    2    3    4
-    5    6    7    8    9   10   11   12   13   14   15   16   17   18   19   20
-   21   22   23   24   25   26   27   28   29   30   31   32   33   34   35   36
-   37   38   39   40   41   42   43   44   45   46   47   48   49   50   51   52
-   53   54   55   56   57   58   59   60   61   62   63   64   65   66   67   68
-   69   70   71   72   73   74   75   76   77   78   79   80   81  160    1    2
-    3    4    5    6    7    8    9   10   11   12   13   14   15   16   17   18
-   19   20   21   22   23   24   25   26   27   28   29   30   31   32   33   34
-   35   36   37   38   39   40   41   42   43   44   45   46   47   48   49   50
-   51   52   53   54   55   56   57   58   59   60   61   62   63   64   65   66
-   67   68   69   70   71   72   73   74   75   76   77   78   79   80   81  161
-    1    2    3    4    5    6    7    8    9   10   11   12   13   14   15   16
-   17   18   19   20   21   22   23   24   25   26   27   28   29   30   31   32
-   33   34   35   36   37   38   39   40   41   42   43   44   45   46   47   48
-   49   50   51   52   53   54   55   56   57   58   59   60   61   62   63   64
-   65   66   67   68   69   70   71   72   73   74   75   76   77   78   79   80
-   81  162    1   82   83   84   85   86   87   88   89   90   91   92   93   94
-   95   96   97   98   99  100  101  102  103  104  105  106  107  108  109  110
-  111  112  113  114  115  116  117  118  119  120  121  122  123  124  125  126
-  127  128  129  130  131  132  133  134  135  136  137  138  139  140  141  142
-  143  144  145  146  147  148  149  150  151  152  153  154  155  156  157  158
-  159  160  161  162  163    2   82   83   84   85   86   87   88   89   90   91
-   92   93   94   95   96   97   98   99  100  101  102  103  104  105  106  107
-  108  109  110  111  112  113  114  115  116  117  118  119  120  121  122  123
-  124  125  126  127  128  129  130  131  132  133  134  135  136  137  138  139
-  140  141  142  143  144  145  146  147  148  149  150  151  152  153  154  155
-  156  157  158  159  160  161  162  164    3   82   83   84   85   86   87   88
-   89   90   91   92   93   94   95   96   97   98   99  100  101  102  103  104
-  105  106  107  108  109  110  111  112  113  114  115  116  117  118  119  120
-  121  122  123  124  125  126  127  128  129  130  131  132  133  134  135  136
-  137  138  139  140  141  142  143  144  145  146  147  148  149  150  151  152
-  153  154  155  156  157  158  159  160  161  162  165    4   82   83   84   85
-   86   87   88   89   90   91   92   93   94   95   96   97   98   99  100  101
-  102  103  104  105  106  107  108  109  110  111  112  113  114  115  116  117
-  118  119  120  121  122  123  124  125  126  127  128  129  130  131  132  133
-  134  135  136  137  138  139  140  141  142  143  144  145  146  147  148  149
-  150  151  152  153  154  155  156  157  158  159  160  161  162  166    5   82
-   83   84   85   86   87   88   89   90   91   92   93   94   95   96   97   98
-   99  100  101  102  103  104  105  106  107  108  109  110  111  112  113  114
-  115  116  117  118  119  120  121  122  123  124  125  126  127  128  129  130
-  131  132  133  134  135  136  137  138  139  140  141  142  143  144  145  146
-  147  148  149  150  151  152  153  154  155  156  157  158  159  160  161  162
-  167    6   82   83   84   85   86   87   88   89   90   91   92   93   94   95
-   96   97   98   99  100  101  102  103  104  105  106  107  108  109  110  111
-  112  113  114  115  116  117  118  119  120  121  122  123  124  125  126  127
-  128  129  130  131  132  133  134  135  136  137  138  139  140  141  142  143
-  144  145  146  147  148  149  150  151  152  153  154  155  156  157  158  159
-  160  161  162  168    7   82   83   84   85   86   87   88   89   90   91   92
-   93   94   95   96   97   98   99  100  101  102  103  104  105  106  107  108
-  109  110  111  112  113  114  115  116  117  118  119  120  121  122  123  124
-  125  126  127  128  129  130  131  132  133  134  135  136  137  138  139  140
-  141  142  143  144  145  146  147  148  149  150  151  152  153  154  155  156
-  157  158  159  160  161  162  169    8   82   83   84   85   86   87   88   89
-   90   91   92   93   94   95   96   97   98   99  100  101  102  103  104  105
-  106  107  108  109  110  111  112  113  114  115  116  117  118  119  120  121
-  122  123  124  125  126  127  128  129  130  131  132  133  134  135  136  137
-  138  139  140  141  142  143  144  145  146  147  148  149  150  151  152  153
-  154  155  156  157  158  159  160  161  162  170    9   82   83   84   85   86
-   87   88   89   90   91   92   93   94   95   96   97   98   99  100  101  102
-  103  104  105  106  107  108  109  110  111  112  113  114  115  116  117  118
-  119  120  121  122  123  124  125  126  127  128  129  130  131  132  133  134
-  135  136  137  138  139  140  141  142  143  144  145  146  147  148  149  150
-  151  152  153  154  155  156  157  158  159  160  161  162  171   10   82   83
-   84   85   86   87   88   89   90   91   92   93   94   95   96   97   98   99
-  100  101  102  103  104  105  106  107  108  109  110  111  112  113  114  115
-  116  117  118  119  120  121  122  123  124  125  126  127  128  129  130  131
-  132  133  134  135  136  137  138  139  140  141  142  143  144  145  146  147
-  148  149  150  151  152  153  154  155  156  157  158  159  160  161  162  172
-   11   82   83   84   85   86   87   88   89   90   91   92   93   94   95   96
-   97   98   99  100  101  102  103  104  105  106  107  108  109  110  111  112
-  113  114  115  116  117  118  119  120  121  122  123  124  125  126  127  128
-  129  130  131  132  133  134  135  136  137  138  139  140  141  142  143  144
-  145  146  147  148  149  150  151  152  153  154  155  156  157  158  159  160
-  161  162  173   12   82   83   84   85   86   87   88   89   90   91   92   93
-   94   95   96   97   98   99  100  101  102  103  104  105  106  107  108  109
-  110  111  112  113  114  115  116  117  118  119  120  121  122  123  124  125
-  126  127  128  129  130  131  132  133  134  135  136  137  138  139  140  141
-  142  143  144  145  146  147  148  149  150  151  152  153  154  155  156  157
-  158  159  160  161  162  174   13   82   83   84   85   86   87   88   89   90
-   91   92   93   94   95   96   97   98   99  100  101  102  103  104  105  106
-  107  108  109  110  111  112  113  114  115  116  117  118  119  120  121  122
-  123  124  125  126  127  128  129  130  131  132  133  134  135  136  137  138
-  139  140  141  142  143  144  145  146  147  148  149  150  151  152  153  154
-  155  156  157  158  159  160  161  162  175   14   82   83   84   85   86   87
-   88   89   90   91   92   93   94   95   96   97   98   99  100  101  102  103
-  104  105  106  107  108  109  110  111  112  113  114  115  116  117  118  119
-  120  121  122  123  124  125  126  127  128  129  130  131  132  133  134  135
-  136  137  138  139  140  141  142  143  144  145  146  147  148  149  150  151
-  152  153  154  155  156  157  158  159  160  161  162  176   15   82   83   84
-   85   86   87   88   89   90   91   92   93   94   95   96   97   98   99  100
-  101  102  103  104  105  106  107  108  109  110  111  112  113  114  115  116
-  117  118  119  120  121  122  123  124  125  126  127  128  129  130  131  132
-  133  134  135  136  137  138  139  140  141  142  143  144  145  146  147  148
-  149  150  151  152  153  154  155  156  157  158  159  160  161  162  177   16
-   82   83   84   85   86   87   88   89   90   91   92   93   94   95   96   97
-   98   99  100  101  102  103  104  105  106  107  108  109  110  111  112  113
-  114  115  116  117  118  119  120  121  122  123  124  125  126  127  128  129
-  130  131  132  133  134  135  136  137  138  139  140  141  142  143  144  145
-  146  147  148  149  150  151  152  153  154  155  156  157  158  159  160  161
-  162  178   17   82   83   84   85   86   87   88   89   90   91   92   93   94
-   95   96   97   98   99  100  101  102  103  104  105  106  107  108  109  110
-  111  112  113  114  115  116  117  118  119  120  121  122  123  124  125  126
-  127  128  129  130  131  132  133  134  135  136  137  138  139  140  141  142
-  143  144  145  146  147  148  149  150  151  152  153  154  155  156  157  158
-  159  160  161  162  179   18   82   83   84   85   86   87   88   89   90   91
-   92   93   94   95   96   97   98   99  100  101  102  103  104  105  106  107
-  108  109  110  111  112  113  114  115  116  117  118  119  120  121  122  123
-  124  125  126  127  128  129  130  131  132  133  134  135  136  137  138  139
-  140  141  142  143  144  145  146  147  148  149  150  151  152  153  154  155
-  156  157  158  159  160  161  162  180   19   82   83   84   85   86   87   88
-   89   90   91   92   93   94   95   96   97   98   99  100  101  102  103  104
-  105  106  107  108  109  110  111  112  113  114  115  116  117  118  119  120
-  121  122  123  124  125  126  127  128  129  130  131  132  133  134  135  136
-  137  138  139  140  141  142  143  144  145  146  147  148  149  150  151  152
-  153  154  155  156  157  158  159  160  161  162  181   20   82   83   84   85
-   86   87   88   89   90   91   92   93   94   95   96   97   98   99  100  101
-  102  103  104  105  106  107  108  109  110  111  112  113  114  115  116  117
-  118  119  120  121  122  123  124  125  126  127  128  129  130  131  132  133
-  134  135  136  137  138  139  140  141  142  143  144  145  146  147  148  149
-  150  151  152  153  154  155  156  157  158  159  160  161  162  182   21   82
-   83   84   85   86   87   88   89   90   91   92   93   94   95   96   97   98
-   99  100  101  102  103  104  105  106  107  108  109  110  111  112  113  114
-  115  116  117  118  119  120  121  122  123  124  125  126  127  128  129  130
-  131  132  133  134  135  136  137  138  139  140  141  142  143  144  145  146
-  147  148  149  150  151  152  153  154  155  156  157  158  159  160  161  162
-  183   22   82   83   84   85   86   87   88   89   90   91   92   93   94   95
-   96   97   98   99  100  101  102  103  104  105  106  107  108  109  110  111
-  112  113  114  115  116  117  118  119  120  121  122  123  124  125  126  127
-  128  129  130  131  132  133  134  135  136  137  138  139  140  141  142  143
-  144  145  146  147  148  149  150  151  152  153  154  155  156  157  158  159
-  160  161  162  184   23   82   83   84   85   86   87   88   89   90   91   92
-   93   94   95   96   97   98   99  100  101  102  103  104  105  106  107  108
-  109  110  111  112  113  114  115  116  117  118  119  120  121  122  123  124
-  125  126  127  128  129  130  131  132  133  134  135  136  137  138  139  140
-  141  142  143  144  145  146  147  148  149  150  151  152  153  154  155  156
-  157  158  159  160  161  162  185   24   82   83   84   85   86   87   88   89
-   90   91   92   93   94   95   96   97   98   99  100  101  102  103  104  105
-  106  107  108  109  110  111  112  113  114  115  116  117  118  119  120  121
-  122  123  124  125  126  127  128  129  130  131  132  133  134  135  136  137
-  138  139  140  141  142  143  144  145  146  147  148  149  150  151  152  153
-  154  155  156  157  158  159  160  161  162  186   25   82   83   84   85   86
-   87   88   89   90   91   92   93   94   95   96   97   98   99  100  101  102
-  103  104  105  106  107  108  109  110  111  112  113  114  115  116  117  118
-  119  120  121  122  123  124  125  126  127  128  129  130  131  132  133  134
-  135  136  137  138  139  140  141  142  143  144  145  146  147  148  149  150
-  151  152  153  154  155  156  157  158  159  160  161  162  187   26   82   83
-   84   85   86   87   88   89   90   91   92   93   94   95   96   97   98   99
-  100  101  102  103  104  105  106  107  108  109  110  111  112  113  114  115
-  116  117  118  119  120  121  122  123  124  125  126  127  128  129  130  131
-  132  133  134  135  136  137  138  139  140  141  142  143  144  145  146  147
-  148  149  150  151  152  153  154  155  156  157  158  159  160  161  162  188
-   27   82   83   84   85   86   87   88   89   90   91   92   93   94   95   96
-   97   98   99  100  101  102  103  104  105  106  107  108  109  110  111  112
-  113  114  115  116  117  118  119  120  121  122  123  124  125  126  127  128
-  129  130  131  132  133  134  135  136  137  138  139  140  141  142  143  144
-  145  146  147  148  149  150  151  152  153  154  155  156  157  158  159  160
-  161  162  189   28   82   83   84   85   86   87   88   89   90   91   92   93
-   94   95   96   97   98   99  100  101  102  103  104  105  106  107  108  109
-  110  111  112  113  114  115  116  117  118  119  120  121  122  123  124  125
-  126  127  128  129  130  131  132  133  134  135  136  137  138  139  140  141
-  142  143  144  145  146  147  148  149  150  151  152  153  154  155  156  157
-  158  159  160  161  162  190   29   82   83   84   85   86   87   88   89   90
-   91   92   93   94   95   96   97   98   99  100  101  102  103  104  105  106
-  107  108  109  110  111  112  113  114  115  116  117  118  119  120  121  122
-  123  124  125  126  127  128  129  130  131  132  133  134  135  136  137  138
-  139  140  141  142  143  144  145  146  147  148  149  150  151  152  153  154
-  155  156  157  158  159  160  161  162  191   30   82   83   84   85   86   87
-   88   89   90   91   92   93   94   95   96   97   98   99  100  101  102  103
-  104  105  106  107  108  109  110  111  112  113  114  115  116  117  118  119
-  120  121  122  123  124  125  126  127  128  129  130  131  132  133  134  135
-  136  137  138  139  140  141  142  143  144  145  146  147  148  149  150  151
-  152  153  154  155  156  157  158  159  160  161  162  192   31   82   83   84
-   85   86   87   88   89   90   91   92   93   94   95   96   97   98   99  100
-  101  102  103  104  105  106  107  108  109  110  111  112  113  114  115  116
-  117  118  119  120  121  122  123  124  125  126  127  128  129  130  131  132
-  133  134  135  136  137  138  139  140  141  142  143  144  145  146  147  148
-  149  150  151  152  153  154  155  156  157  158  159  160  161  162  193   32
-   82   83   84   85   86   87   88   89   90   91   92   93   94   95   96   97
-   98   99  100  101  102  103  104  105  106  107  108  109  110  111  112  113
-  114  115  116  117  118  119  120  121  122  123  124  125  126  127  128  129
-  130  131  132  133  134  135  136  137  138  139  140  141  142  143  144  145
-  146  147  148  149  150  151  152  153  154  155  156  157  158  159  160  161
-  162  194   33   82   83   84   85   86   87   88   89   90   91   92   93   94
-   95   96   97   98   99  100  101  102  103  104  105  106  107  108  109  110
-  111  112  113  114  115  116  117  118  119  120  121  122  123  124  125  126
-  127  128  129  130  131  132  133  134  135  136  137  138  139  140  141  142
-  143  144  145  146  147  148  149  150  151  152  153  154  155  156  157  158
-  159  160  161  162  195   34   82   83   84   85   86   87   88   89   90   91
-   92   93   94   95   96   97   98   99  100  101  102  103  104  105  106  107
-  108  109  110  111  112  113  114  115  116  117  118  119  120  121  122  123
-  124  125  126  127  128  129  130  131  132  133  134  135  136  137  138  139
-  140  141  142  143  144  145  146  147  148  149  150  151  152  153  154  155
-  156  157  158  159  160  161  162  196   35   82   83   84   85   86   87   88
-   89   90   91   92   93   94   95   96   97   98   99  100  101  102  103  104
-  105  106  107  108  109  110  111  112  113  114  115  116  117  118  119  120
-  121  122  123  124  125  126  127  128  129  130  131  132  133  134  135  136
-  137  138  139  140  141  142  143  144  145  146  147  148  149  150  151  152
-  153  154  155  156  157  158  159  160  161  162  197   36   82   83   84   85
-   86   87   88   89   90   91   92   93   94   95   96   97   98   99  100  101
-  102  103  104  105  106  107  108  109  110  111  112  113  114  115  116  117
-  118  119  120  121  122  123  124  125  126  127  128  129  130  131  132  133
-  134  135  136  137  138  139  140  141  142  143  144  145  146  147  148  149
-  150  151  152  153  154  155  156  157  158  159  160  161  162  198   37   82
-   83   84   85   86   87   88   89   90   91   92   93   94   95   96   97   98
-   99  100  101  102  103  104  105  106  107  108  109  110  111  112  113  114
-  115  116  117  118  119  120  121  122  123  124  125  126  127  128  129  130
-  131  132  133  134  135  136  137  138  139  140  141  142  143  144  145  146
-  147  148  149  150  151  152  153  154  155  156  157  158  159  160  161  162
-  199   38   82   83   84   85   86   87   88   89   90   91   92   93   94   95
-   96   97   98   99  100  101  102  103  104  105  106  107  108  109  110  111
-  112  113  114  115  116  117  118  119  120  121  122  123  124  125  126  127
-  128  129  130  131  132  133  134  135  136  137  138  139  140  141  142  143
-  144  145  146  147  148  149  150  151  152  153  154  155  156  157  158  159
-  160  161  162  200   39   82   83   84   85   86   87   88   89   90   91   92
-   93   94   95   96   97   98   99  100  101  102  103  104  105  106  107  108
-  109  110  111  112  113  114  115  116  117  118  119  120  121  122  123  124
-  125  126  127  128  129  130  131  132  133  134  135  136  137  138  139  140
-  141  142  143  144  145  146  147  148  149  150  151  152  153  154  155  156
-  157  158  159  160  161  162  201   40   82   83   84   85   86   87   88   89
-   90   91   92   93   94   95   96   97   98   99  100  101  102  103  104  105
-  106  107  108  109  110  111  112  113  114  115  116  117  118  119  120  121
-  122  123  124  125  126  127  128  129  130  131  132  133  134  135  136  137
-  138  139  140  141  142  143  144  145  146  147  148  149  150  151  152  153
-  154  155  156  157  158  159  160  161  162  202   41   82   83   84   85   86
-   87   88   89   90   91   92   93   94   95   96   97   98   99  100  101  102
-  103  104  105  106  107  108  109  110  111  112  113  114  115  116  117  118
-  119  120  121  122  123  124  125  126  127  128  129  130  131  132  133  134
-  135  136  137  138  139  140  141  142  143  144  145  146  147  148  149  150
-  151  152  153  154  155  156  157  158  159  160  161  162  203   42   82   83
-   84   85   86   87   88   89   90   91   92   93   94   95   96   97   98   99
-  100  101  102  103  104  105  106  107  108  109  110  111  112  113  114  115
-  116  117  118  119  120  121  122  123  124  125  126  127  128  129  130  131
-  132  133  134  135  136  137  138  139  140  141  142  143  144  145  146  147
-  148  149  150  151  152  153  154  155  156  157  158  159  160  161  162  204
-   43   82   83   84   85   86   87   88   89   90   91   92   93   94   95   96
-   97   98   99  100  101  102  103  104  105  106  107  108  109  110  111  112
-  113  114  115  116  117  118  119  120  121  122  123  124  125  126  127  128
-  129  130  131  132  133  134  135  136  137  138  139  140  141  142  143  144
-  145  146  147  148  149  150  151  152  153  154  155  156  157  158  159  160
-  161  162  205   44   82   83   84   85   86   87   88   89   90   91   92   93
-   94   95   96   97   98   99  100  101  102  103  104  105  106  107  108  109
-  110  111  112  113  114  115  116  117  118  119  120  121  122  123  124  125
-  126  127  128  129  130  131  132  133  134  135  136  137  138  139  140  141
-  142  143  144  145  146  147  148  149  150  151  152  153  154  155  156  157
-  158  159  160  161  162  206   45   82   83   84   85   86   87   88   89   90
-   91   92   93   94   95   96   97   98   99  100  101  102  103  104  105  106
-  107  108  109  110  111  112  113  114  115  116  117  118  119  120  121  122
-  123  124  125  126  127  128  129  130  131  132  133  134  135  136  137  138
-  139  140  141  142  143  144  145  146  147  148  149  150  151  152  153  154
-  155  156  157  158  159  160  161  162  207   46   82   83   84   85   86   87
-   88   89   90   91   92   93   94   95   96   97   98   99  100  101  102  103
-  104  105  106  107  108  109  110  111  112  113  114  115  116  117  118  119
-  120  121  122  123  124  125  126  127  128  129  130  131  132  133  134  135
-  136  137  138  139  140  141  142  143  144  145  146  147  148  149  150  151
-  152  153  154  155  156  157  158  159  160  161  162  208   47   82   83   84
-   85   86   87   88   89   90   91   92   93   94   95   96   97   98   99  100
-  101  102  103  104  105  106  107  108  109  110  111  112  113  114  115  116
-  117  118  119  120  121  122  123  124  125  126  127  128  129  130  131  132
-  133  134  135  136  137  138  139  140  141  142  143  144  145  146  147  148
-  149  150  151  152  153  154  155  156  157  158  159  160  161  162  209   48
-   82   83   84   85   86   87   88   89   90   91   92   93   94   95   96   97
-   98   99  100  101  102  103  104  105  106  107  108  109  110  111  112  113
-  114  115  116  117  118  119  120  121  122  123  124  125  126  127  128  129
-  130  131  132  133  134  135  136  137  138  139  140  141  142  143  144  145
-  146  147  148  149  150  151  152  153  154  155  156  157  158  159  160  161
-  162  210   49   82   83   84   85   86   87   88   89   90   91   92   93   94
-   95   96   97   98   99  100  101  102  103  104  105  106  107  108  109  110
-  111  112  113  114  115  116  117  118  119  120  121  122  123  124  125  126
-  127  128  129  130  131  132  133  134  135  136  137  138  139  140  141  142
-  143  144  145  146  147  148  149  150  151  152  153  154  155  156  157  158
-  159  160  161  162  211   50   82   83   84   85   86   87   88   89   90   91
-   92   93   94   95   96   97   98   99  100  101  102  103  104  105  106  107
-  108  109  110  111  112  113  114  115  116  117  118  119  120  121  122  123
-  124  125  126  127  128  129  130  131  132  133  134  135  136  137  138  139
-  140  141  142  143  144  145  146  147  148  149  150  151  152  153  154  155
-  156  157  158  159  160  161  162  212   51   82   83   84   85   86   87   88
-   89   90   91   92   93   94   95   96   97   98   99  100  101  102  103  104
-  105  106  107  108  109  110  111  112  113  114  115  116  117  118  119  120
-  121  122  123  124  125  126  127  128  129  130  131  132  133  134  135  136
-  137  138  139  140  141  142  143  144  145  146  147  148  149  150  151  152
-  153  154  155  156  157  158  159  160  161  162  213   52   82   83   84   85
-   86   87   88   89   90   91   92   93   94   95   96   97   98   99  100  101
-  102  103  104  105  106  107  108  109  110  111  112  113  114  115  116  117
-  118  119  120  121  122  123  124  125  126  127  128  129  130  131  132  133
-  134  135  136  137  138  139  140  141  142  143  144  145  146  147  148  149
-  150  151  152  153  154  155  156  157  158  159  160  161  162  214   53   82
-   83   84   85   86   87   88   89   90   91   92   93   94   95   96   97   98
-   99  100  101  102  103  104  105  106  107  108  109  110  111  112  113  114
-  115  116  117  118  119  120  121  122  123  124  125  126  127  128  129  130
-  131  132  133  134  135  136  137  138  139  140  141  142  143  144  145  146
-  147  148  149  150  151  152  153  154  155  156  157  158  159  160  161  162
-  215   54   82   83   84   85   86   87   88   89   90   91   92   93   94   95
-   96   97   98   99  100  101  102  103  104  105  106  107  108  109  110  111
-  112  113  114  115  116  117  118  119  120  121  122  123  124  125  126  127
-  128  129  130  131  132  133  134  135  136  137  138  139  140  141  142  143
-  144  145  146  147  148  149  150  151  152  153  154  155  156  157  158  159
-  160  161  162  216   55   82   83   84   85   86   87   88   89   90   91   92
-   93   94   95   96   97   98   99  100  101  102  103  104  105  106  107  108
-  109  110  111  112  113  114  115  116  117  118  119  120  121  122  123  124
-  125  126  127  128  129  130  131  132  133  134  135  136  137  138  139  140
-  141  142  143  144  145  146  147  148  149  150  151  152  153  154  155  156
-  157  158  159  160  161  162  217   56   82   83   84   85   86   87   88   89
-   90   91   92   93   94   95   96   97   98   99  100  101  102  103  104  105
-  106  107  108  109  110  111  112  113  114  115  116  117  118  119  120  121
-  122  123  124  125  126  127  128  129  130  131  132  133  134  135  136  137
-  138  139  140  141  142  143  144  145  146  147  148  149  150  151  152  153
-  154  155  156  157  158  159  160  161  162  218   57   82   83   84   85   86
-   87   88   89   90   91   92   93   94   95   96   97   98   99  100  101  102
-  103  104  105  106  107  108  109  110  111  112  113  114  115  116  117  118
-  119  120  121  122  123  124  125  126  127  128  129  130  131  132  133  134
-  135  136  137  138  139  140  141  142  143  144  145  146  147  148  149  150
-  151  152  153  154  155  156  157  158  159  160  161  162  219   58   82   83
-   84   85   86   87   88   89   90   91   92   93   94   95   96   97   98   99
-  100  101  102  103  104  105  106  107  108  109  110  111  112  113  114  115
-  116  117  118  119  120  121  122  123  124  125  126  127  128  129  130  131
-  132  133  134  135  136  137  138  139  140  141  142  143  144  145  146  147
-  148  149  150  151  152  153  154  155  156  157  158  159  160  161  162  220
-   59   82   83   84   85   86   87   88   89   90   91   92   93   94   95   96
-   97   98   99  100  101  102  103  104  105  106  107  108  109  110  111  112
-  113  114  115  116  117  118  119  120  121  122  123  124  125  126  127  128
-  129  130  131  132  133  134  135  136  137  138  139  140  141  142  143  144
-  145  146  147  148  149  150  151  152  153  154  155  156  157  158  159  160
-  161  162  221   60   82   83   84   85   86   87   88   89   90   91   92   93
-   94   95   96   97   98   99  100  101  102  103  104  105  106  107  108  109
-  110  111  112  113  114  115  116  117  118  119  120  121  122  123  124  125
-  126  127  128  129  130  131  132  133  134  135  136  137  138  139  140  141
-  142  143  144  145  146  147  148  149  150  151  152  153  154  155  156  157
-  158  159  160  161  162  222   61   82   83   84   85   86   87   88   89   90
-   91   92   93   94   95   96   97   98   99  100  101  102  103  104  105  106
-  107  108  109  110  111  112  113  114  115  116  117  118  119  120  121  122
-  123  124  125  126  127  128  129  130  131  132  133  134  135  136  137  138
-  139  140  141  142  143  144  145  146  147  148  149  150  151  152  153  154
-  155  156  157  158  159  160  161  162  223   62   82   83   84   85   86   87
-   88   89   90   91   92   93   94   95   96   97   98   99  100  101  102  103
-  104  105  106  107  108  109  110  111  112  113  114  115  116  117  118  119
-  120  121  122  123  124  125  126  127  128  129  130  131  132  133  134  135
-  136  137  138  139  140  141  142  143  144  145  146  147  148  149  150  151
-  152  153  154  155  156  157  158  159  160  161  162  224   63   82   83   84
-   85   86   87   88   89   90   91   92   93   94   95   96   97   98   99  100
-  101  102  103  104  105  106  107  108  109  110  111  112  113  114  115  116
-  117  118  119  120  121  122  123  124  125  126  127  128  129  130  131  132
-  133  134  135  136  137  138  139  140  141  142  143  144  145  146  147  148
-  149  150  151  152  153  154  155  156  157  158  159  160  161  162  225   64
-   82   83   84   85   86   87   88   89   90   91   92   93   94   95   96   97
-   98   99  100  101  102  103  104  105  106  107  108  109  110  111  112  113
-  114  115  116  117  118  119  120  121  122  123  124  125  126  127  128  129
-  130  131  132  133  134  135  136  137  138  139  140  141  142  143  144  145
-  146  147  148  149  150  151  152  153  154  155  156  157  158  159  160  161
-  162  226   65   82   83   84   85   86   87   88   89   90   91   92   93   94
-   95   96   97   98   99  100  101  102  103  104  105  106  107  108  109  110
-  111  112  113  114  115  116  117  118  119  120  121  122  123  124  125  126
-  127  128  129  130  131  132  133  134  135  136  137  138  139  140  141  142
-  143  144  145  146  147  148  149  150  151  152  153  154  155  156  157  158
-  159  160  161  162  227   66   82   83   84   85   86   87   88   89   90   91
-   92   93   94   95   96   97   98   99  100  101  102  103  104  105  106  107
-  108  109  110  111  112  113  114  115  116  117  118  119  120  121  122  123
-  124  125  126  127  128  129  130  131  132  133  134  135  136  137  138  139
-  140  141  142  143  144  145  146  147  148  149  150  151  152  153  154  155
-  156  157  158  159  160  161  162  228   67   82   83   84   85   86   87   88
-   89   90   91   92   93   94   95   96   97   98   99  100  101  102  103  104
-  105  106  107  108  109  110  111  112  113  114  115  116  117  118  119  120
-  121  122  123  124  125  126  127  128  129  130  131  132  133  134  135  136
-  137  138  139  140  141  142  143  144  145  146  147  148  149  150  151  152
-  153  154  155  156  157  158  159  160  161  162  229   68   82   83   84   85
-   86   87   88   89   90   91   92   93   94   95   96   97   98   99  100  101
-  102  103  104  105  106  107  108  109  110  111  112  113  114  115  116  117
-  118  119  120  121  122  123  124  125  126  127  128  129  130  131  132  133
-  134  135  136  137  138  139  140  141  142  143  144  145  146  147  148  149
-  150  151  152  153  154  155  156  157  158  159  160  161  162  230   69   82
-   83   84   85   86   87   88   89   90   91   92   93   94   95   96   97   98
-   99  100  101  102  103  104  105  106  107  108  109  110  111  112  113  114
-  115  116  117  118  119  120  121  122  123  124  125  126  127  128  129  130
-  131  132  133  134  135  136  137  138  139  140  141  142  143  144  145  146
-  147  148  149  150  151  152  153  154  155  156  157  158  159  160  161  162
-  231   70   82   83   84   85   86   87   88   89   90   91   92   93   94   95
-   96   97   98   99  100  101  102  103  104  105  106  107  108  109  110  111
-  112  113  114  115  116  117  118  119  120  121  122  123  124  125  126  127
-  128  129  130  131  132  133  134  135  136  137  138  139  140  141  142  143
-  144  145  146  147  148  149  150  151  152  153  154  155  156  157  158  159
-  160  161  162  232   71   82   83   84   85   86   87   88   89   90   91   92
-   93   94   95   96   97   98   99  100  101  102  103  104  105  106  107  108
-  109  110  111  112  113  114  115  116  117  118  119  120  121  122  123  124
-  125  126  127  128  129  130  131  132  133  134  135  136  137  138  139  140
-  141  142  143  144  145  146  147  148  149  150  151  152  153  154  155  156
-  157  158  159  160  161  162  233   72   82   83   84   85   86   87   88   89
-   90   91   92   93   94   95   96   97   98   99  100  101  102  103  104  105
-  106  107  108  109  110  111  112  113  114  115  116  117  118  119  120  121
-  122  123  124  125  126  127  128  129  130  131  132  133  134  135  136  137
-  138  139  140  141  142  143  144  145  146  147  148  149  150  151  152  153
-  154  155  156  157  158  159  160  161  162  234   73   82   83   84   85   86
-   87   88   89   90   91   92   93   94   95   96   97   98   99  100  101  102
-  103  104  105  106  107  108  109  110  111  112  113  114  115  116  117  118
-  119  120  121  122  123  124  125  126  127  128  129  130  131  132  133  134
-  135  136  137  138  139  140  141  142  143  144  145  146  147  148  149  150
-  151  152  153  154  155  156  157  158  159  160  161  162  235   74   82   83
-   84   85   86   87   88   89   90   91   92   93   94   95   96   97   98   99
-  100  101  102  103  104  105  106  107  108  109  110  111  112  113  114  115
-  116  117  118  119  120  121  122  123  124  125  126  127  128  129  130  131
-  132  133  134  135  136  137  138  139  140  141  142  143  144  145  146  147
-  148  149  150  151  152  153  154  155  156  157  158  159  160  161  162  236
-   75   82   83   84   85   86   87   88   89   90   91   92   93   94   95   96
-   97   98   99  100  101  102  103  104  105  106  107  108  109  110  111  112
-  113  114  115  116  117  118  119  120  121  122  123  124  125  126  127  128
-  129  130  131  132  133  134  135  136  137  138  139  140  141  142  143  144
-  145  146  147  148  149  150  151  152  153  154  155  156  157  158  159  160
-  161  162  237   76   82   83   84   85   86   87   88   89   90   91   92   93
-   94   95   96   97   98   99  100  101  102  103  104  105  106  107  108  109
-  110  111  112  113  114  115  116  117  118  119  120  121  122  123  124  125
-  126  127  128  129  130  131  132  133  134  135  136  137  138  139  140  141
-  142  143  144  145  146  147  148  149  150  151  152  153  154  155  156  157
-  158  159  160  161  162  238   77   82   83   84   85   86   87   88   89   90
-   91   92   93   94   95   96   97   98   99  100  101  102  103  104  105  106
-  107  108  109  110  111  112  113  114  115  116  117  118  119  120  121  122
-  123  124  125  126  127  128  129  130  131  132  133  134  135  136  137  138
-  139  140  141  142  143  144  145  146  147  148  149  150  151  152  153  154
-  155  156  157  158  159  160  161  162  239   78   82   83   84   85   86   87
-   88   89   90   91   92   93   94   95   96   97   98   99  100  101  102  103
-  104  105  106  107  108  109  110  111  112  113  114  115  116  117  118  119
-  120  121  122  123  124  125  126  127  128  129  130  131  132  133  134  135
-  136  137  138  139  140  141  142  143  144  145  146  147  148  149  150  151
-  152  153  154  155  156  157  158  159  160  161  162  240   79   82   83   84
-   85   86   87   88   89   90   91   92   93   94   95   96   97   98   99  100
-  101  102  103  104  105  106  107  108  109  110  111  112  113  114  115  116
-  117  118  119  120  121  122  123  124  125  126  127  128  129  130  131  132
-  133  134  135  136  137  138  139  140  141  142  143  144  145  146  147  148
-  149  150  151  152  153  154  155  156  157  158  159  160  161  162  241   80
-   82   83   84   85   86   87   88   89   90   91   92   93   94   95   96   97
-   98   99  100  101  102  103  104  105  106  107  108  109  110  111  112  113
-  114  115  116  117  118  119  120  121  122  123  124  125  126  127  128  129
-  130  131  132  133  134  135  136  137  138  139  140  141  142  143  144  145
-  146  147  148  149  150  151  152  153  154  155  156  157  158  159  160  161
-  162  242   81   82   83   84   85   86   87   88   89   90   91   92   93   94
-   95   96   97   98   99  100  101  102  103  104  105  106  107  108  109  110
-  111  112  113  114  115  116  117  118  119  120  121  122  123  124  125  126
-  127  128  129  130  131  132  133  134  135  136  137  138  139  140  141  142
-  143  144  145  146  147  148  149  150  151  152  153  154  155  156  157  158
-  159  160  161  162  243   82  163  164  165  166  167  168  169  170  171  172
-  173  174  175  176  177  178  179  180  181  182  183  184  185  186  187  188
-  189  190  191  192  193  194  195  196  197  198  199  200  201  202  203  204
-  205  206  207  208  209  210  211  212  213  214  215  216  217  218  219  220
-  221  222  223  224  225  226  227  228  229  230  231  232  233  234  235  236
-  237  238  239  240  241  242  243  244   83  163  164  165  166  167  168  169
-  170  171  172  173  174  175  176  177  178  179  180  181  182  183  184  185
-  186  187  188  189  190  191  192  193  194  195  196  197  198  199  200  201
-  202  203  204  205  206  207  208  209  210  211  212  213  214  215  216  217
-  218  219  220  221  222  223  224  225  226  227  228  229  230  231  232  233
-  234  235  236  237  238  239  240  241  242  243  245   84  163  164  165  166
-  167  168  169  170  171  172  173  174  175  176  177  178  179  180  181  182
-  183  184  185  186  187  188  189  190  191  192  193  194  195  196  197  198
-  199  200  201  202  203  204  205  206  207  208  209  210  211  212  213  214
-  215  216  217  218  219  220  221  222  223  224  225  226  227  228  229  230
-  231  232  233  234  235  236  237  238  239  240  241  242  243  246   85  163
-  164  165  166  167  168  169  170  171  172  173  174  175  176  177  178  179
-  180  181  182  183  184  185  186  187  188  189  190  191  192  193  194  195
-  196  197  198  199  200  201  202  203  204  205  206  207  208  209  210  211
-  212  213  214  215  216  217  218  219  220  221  222  223  224  225  226  227
-  228  229  230  231  232  233  234  235  236  237  238  239  240  241  242  243
-  247   86  163  164  165  166  167  168  169  170  171  172  173  174  175  176
-  177  178  179  180  181  182  183  184  185  186  187  188  189  190  191  192
-  193  194  195  196  197  198  199  200  201  202  203  204  205  206  207  208
-  209  210  211  212  213  214  215  216  217  218  219  220  221  222  223  224
-  225  226  227  228  229  230  231  232  233  234  235  236  237  238  239  240
-  241  242  243  248   87  163  164  165  166  167  168  169  170  171  172  173
-  174  175  176  177  178  179  180  181  182  183  184  185  186  187  188  189
-  190  191  192  193  194  195  196  197  198  199  200  201  202  203  204  205
-  206  207  208  209  210  211  212  213  214  215  216  217  218  219  220  221
-  222  223  224  225  226  227  228  229  230  231  232  233  234  235  236  237
-  238  239  240  241  242  243  249   88  163  164  165  166  167  168  169  170
-  171  172  173  174  175  176  177  178  179  180  181  182  183  184  185  186
-  187  188  189  190  191  192  193  194  195  196  197  198  199  200  201  202
-  203  204  205  206  207  208  209  210  211  212  213  214  215  216  217  218
-  219  220  221  222  223  224  225  226  227  228  229  230  231  232  233  234
-  235  236  237  238  239  240  241  242  243  250   89  163  164  165  166  167
-  168  169  170  171  172  173  174  175  176  177  178  179  180  181  182  183
-  184  185  186  187  188  189  190  191  192  193  194  195  196  197  198  199
-  200  201  202  203  204  205  206  207  208  209  210  211  212  213  214  215
-  216  217  218  219  220  221  222  223  224  225  226  227  228  229  230  231
-  232  233  234  235  236  237  238  239  240  241  242  243  251   90  163  164
-  165  166  167  168  169  170  171  172  173  174  175  176  177  178  179  180
-  181  182  183  184  185  186  187  188  189  190  191  192  193  194  195  196
-  197  198  199  200  201  202  203  204  205  206  207  208  209  210  211  212
-  213  214  215  216  217  218  219  220  221  222  223  224  225  226  227  228
-  229  230  231  232  233  234  235  236  237  238  239  240  241  242  243  252
-   91  163  164  165  166  167  168  169  170  171  172  173  174  175  176  177
-  178  179  180  181  182  183  184  185  186  187  188  189  190  191  192  193
-  194  195  196  197  198  199  200  201  202  203  204  205  206  207  208  209
-  210  211  212  213  214  215  216  217  218  219  220  221  222  223  224  225
-  226  227  228  229  230  231  232  233  234  235  236  237  238  239  240  241
-  242  243  253   92  163  164  165  166  167  168  169  170  171  172  173  174
-  175  176  177  178  179  180  181  182  183  184  185  186  187  188  189  190
-  191  192  193  194  195  196  197  198  199  200  201  202  203  204  205  206
-  207  208  209  210  211  212  213  214  215  216  217  218  219  220  221  222
-  223  224  225  226  227  228  229  230  231  232  233  234  235  236  237  238
-  239  240  241  242  243  254   93  163  164  165  166  167  168  169  170  171
-  172  173  174  175  176  177  178  179  180  181  182  183  184  185  186  187
-  188  189  190  191  192  193  194  195  196  197  198  199  200  201  202  203
-  204  205  206  207  208  209  210  211  212  213  214  215  216  217  218  219
-  220  221  222  223  224  225  226  227  228  229  230  231  232  233  234  235
-  236  237  238  239  240  241  242  243  255   94  163  164  165  166  167  168
-  169  170  171  172  173  174  175  176  177  178  179  180  181  182  183  184
-  185  186  187  188  189  190  191  192  193  194  195  196  197  198  199  200
-  201  202  203  204  205  206  207  208  209  210  211  212  213  214  215  216
-  217  218  219  220  221  222  223  224  225  226  227  228  229  230  231  232
-  233  234  235  236  237  238  239  240  241  242  243  256   95  163  164  165
-  166  167  168  169  170  171  172  173  174  175  176  177  178  179  180  181
-  182  183  184  185  186  187  188  189  190  191  192  193  194  195  196  197
-  198  199  200  201  202  203  204  205  206  207  208  209  210  211  212  213
-  214  215  216  217  218  219  220  221  222  223  224  225  226  227  228  229
-  230  231  232  233  234  235  236  237  238  239  240  241  242  243  257   96
-  163  164  165  166  167  168  169  170  171  172  173  174  175  176  177  178
-  179  180  181  182  183  184  185  186  187  188  189  190  191  192  193  194
-  195  196  197  198  199  200  201  202  203  204  205  206  207  208  209  210
-  211  212  213  214  215  216  217  218  219  220  221  222  223  224  225  226
-  227  228  229  230  231  232  233  234  235  236  237  238  239  240  241  242
-  243  258   97  163  164  165  166  167  168  169  170  171  172  173  174  175
-  176  177  178  179  180  181  182  183  184  185  186  187  188  189  190  191
-  192  193  194  195  196  197  198  199  200  201  202  203  204  205  206  207
-  208  209  210  211  212  213  214  215  216  217  218  219  220  221  222  223
-  224  225  226  227  228  229  230  231  232  233  234  235  236  237  238  239
-  240  241  242  243  259   98  163  164  165  166  167  168  169  170  171  172
-  173  174  175  176  177  178  179  180  181  182  183  184  185  186  187  188
-  189  190  191  192  193  194  195  196  197  198  199  200  201  202  203  204
-  205  206  207  208  209  210  211  212  213  214  215  216  217  218  219  220
-  221  222  223  224  225  226  227  228  229  230  231  232  233  234  235  236
-  237  238  239  240  241  242  243  260   99  163  164  165  166  167  168  169
-  170  171  172  173  174  175  176  177  178  179  180  181  182  183  184  185
-  186  187  188  189  190  191  192  193  194  195  196  197  198  199  200  201
-  202  203  204  205  206  207  208  209  210  211  212  213  214  215  216  217
-  218  219  220  221  222  223  224  225  226  227  228  229  230  231  232  233
-  234  235  236  237  238  239  240  241  242  243  261  100  163  164  165  166
-  167  168  169  170  171  172  173  174  175  176  177  178  179  180  181  182
-  183  184  185  186  187  188  189  190  191  192  193  194  195  196  197  198
-  199  200  201  202  203  204  205  206  207  208  209  210  211  212  213  214
-  215  216  217  218  219  220  221  222  223  224  225  226  227  228  229  230
-  231  232  233  234  235  236  237  238  239  240  241  242  243  262  101  163
-  164  165  166  167  168  169  170  171  172  173  174  175  176  177  178  179
-  180  181  182  183  184  185  186  187  188  189  190  191  192  193  194  195
-  196  197  198  199  200  201  202  203  204  205  206  207  208  209  210  211
-  212  213  214  215  216  217  218  219  220  221  222  223  224  225  226  227
-  228  229  230  231  232  233  234  235  236  237  238  239  240  241  242  243
-  263  102  163  164  165  166  167  168  169  170  171  172  173  174  175  176
-  177  178  179  180  181  182  183  184  185  186  187  188  189  190  191  192
-  193  194  195  196  197  198  199  200  201  202  203  204  205  206  207  208
-  209  210  211  212  213  214  215  216  217  218  219  220  221  222  223  224
-  225  226  227  228  229  230  231  232  233  234  235  236  237  238  239  240
-  241  242  243  264  103  163  164  165  166  167  168  169  170  171  172  173
-  174  175  176  177  178  179  180  181  182  183  184  185  186  187  188  189
-  190  191  192  193  194  195  196  197  198  199  200  201  202  203  204  205
-  206  207  208  209  210  211  212  213  214  215  216  217  218  219  220  221
-  222  223  224  225  226  227  228  229  230  231  232  233  234  235  236  237
-  238  239  240  241  242  243  265  104  163  164  165  166  167  168  169  170
-  171  172  173  174  175  176  177  178  179  180  181  182  183  184  185  186
-  187  188  189  190  191  192  193  194  195  196  197  198  199  200  201  202
-  203  204  205  206  207  208  209  210  211  212  213  214  215  216  217  218
-  219  220  221  222  223  224  225  226  227  228  229  230  231  232  233  234
-  235  236  237  238  239  240  241  242  243  266  105  163  164  165  166  167
-  168  169  170  171  172  173  174  175  176  177  178  179  180  181  182  183
-  184  185  186  187  188  189  190  191  192  193  194  195  196  197  198  199
-  200  201  202  203  204  205  206  207  208  209  210  211  212  213  214  215
-  216  217  218  219  220  221  222  223  224  225  226  227  228  229  230  231
-  232  233  234  235  236  237  238  239  240  241  242  243  267  106  163  164
-  165  166  167  168  169  170  171  172  173  174  175  176  177  178  179  180
-  181  182  183  184  185  186  187  188  189  190  191  192  193  194  195  196
-  197  198  199  200  201  202  203  204  205  206  207  208  209  210  211  212
-  213  214  215  216  217  218  219  220  221  222  223  224  225  226  227  228
-  229  230  231  232  233  234  235  236  237  238  239  240  241  242  243  268
-  107  163  164  165  166  167  168  169  170  171  172  173  174  175  176  177
-  178  179  180  181  182  183  184  185  186  187  188  189  190  191  192  193
-  194  195  196  197  198  199  200  201  202  203  204  205  206  207  208  209
-  210  211  212  213  214  215  216  217  218  219  220  221  222  223  224  225
-  226  227  228  229  230  231  232  233  234  235  236  237  238  239  240  241
-  242  243  269  108  163  164  165  166  167  168  169  170  171  172  173  174
-  175  176  177  178  179  180  181  182  183  184  185  186  187  188  189  190
-  191  192  193  194  195  196  197  198  199  200  201  202  203  204  205  206
-  207  208  209  210  211  212  213  214  215  216  217  218  219  220  221  222
-  223  224  225  226  227  228  229  230  231  232  233  234  235  236  237  238
-  239  240  241  242  243  270  109  163  164  165  166  167  168  169  170  171
-  172  173  174  175  176  177  178  179  180  181  182  183  184  185  186  187
-  188  189  190  191  192  193  194  195  196  197  198  199  200  201  202  203
-  204  205  206  207  208  209  210  211  212  213  214  215  216  217  218  219
-  220  221  222  223  224  225  226  227  228  229  230  231  232  233  234  235
-  236  237  238  239  240  241  242  243  271  110  163  164  165  166  167  168
-  169  170  171  172  173  174  175  176  177  178  179  180  181  182  183  184
-  185  186  187  188  189  190  191  192  193  194  195  196  197  198  199  200
-  201  202  203  204  205  206  207  208  209  210  211  212  213  214  215  216
-  217  218  219  220  221  222  223  224  225  226  227  228  229  230  231  232
-  233  234  235  236  237  238  239  240  241  242  243  272  111  163  164  165
-  166  167  168  169  170  171  172  173  174  175  176  177  178  179  180  181
-  182  183  184  185  186  187  188  189  190  191  192  193  194  195  196  197
-  198  199  200  201  202  203  204  205  206  207  208  209  210  211  212  213
-  214  215  216  217  218  219  220  221  222  223  224  225  226  227  228  229
-  230  231  232  233  234  235  236  237  238  239  240  241  242  243  273  112
-  163  164  165  166  167  168  169  170  171  172  173  174  175  176  177  178
-  179  180  181  182  183  184  185  186  187  188  189  190  191  192  193  194
-  195  196  197  198  199  200  201  202  203  204  205  206  207  208  209  210
-  211  212  213  214  215  216  217  218  219  220  221  222  223  224  225  226
-  227  228  229  230  231  232  233  234  235  236  237  238  239  240  241  242
-  243  274  113  163  164  165  166  167  168  169  170  171  172  173  174  175
-  176  177  178  179  180  181  182  183  184  185  186  187  188  189  190  191
-  192  193  194  195  196  197  198  199  200  201  202  203  204  205  206  207
-  208  209  210  211  212  213  214  215  216  217  218  219  220  221  222  223
-  224  225  226  227  228  229  230  231  232  233  234  235  236  237  238  239
-  240  241  242  243  275  114  163  164  165  166  167  168  169  170  171  172
-  173  174  175  176  177  178  179  180  181  182  183  184  185  186  187  188
-  189  190  191  192  193  194  195  196  197  198  199  200  201  202  203  204
-  205  206  207  208  209  210  211  212  213  214  215  216  217  218  219  220
-  221  222  223  224  225  226  227  228  229  230  231  232  233  234  235  236
-  237  238  239  240  241  242  243  276  115  163  164  165  166  167  168  169
-  170  171  172  173  174  175  176  177  178  179  180  181  182  183  184  185
-  186  187  188  189  190  191  192  193  194  195  196  197  198  199  200  201
-  202  203  204  205  206  207  208  209  210  211  212  213  214  215  216  217
-  218  219  220  221  222  223  224  225  226  227  228  229  230  231  232  233
-  234  235  236  237  238  239  240  241  242  243  277  116  163  164  165  166
-  167  168  169  170  171  172  173  174  175  176  177  178  179  180  181  182
-  183  184  185  186  187  188  189  190  191  192  193  194  195  196  197  198
-  199  200  201  202  203  204  205  206  207  208  209  210  211  212  213  214
-  215  216  217  218  219  220  221  222  223  224  225  226  227  228  229  230
-  231  232  233  234  235  236  237  238  239  240  241  242  243  278  117  163
-  164  165  166  167  168  169  170  171  172  173  174  175  176  177  178  179
-  180  181  182  183  184  185  186  187  188  189  190  191  192  193  194  195
-  196  197  198  199  200  201  202  203  204  205  206  207  208  209  210  211
-  212  213  214  215  216  217  218  219  220  221  222  223  224  225  226  227
-  228  229  230  231  232  233  234  235  236  237  238  239  240  241  242  243
-  279  118  163  164  165  166  167  168  169  170  171  172  173  174  175  176
-  177  178  179  180  181  182  183  184  185  186  187  188  189  190  191  192
-  193  194  195  196  197  198  199  200  201  202  203  204  205  206  207  208
-  209  210  211  212  213  214  215  216  217  218  219  220  221  222  223  224
-  225  226  227  228  229  230  231  232  233  234  235  236  237  238  239  240
-  241  242  243  280  119  163  164  165  166  167  168  169  170  171  172  173
-  174  175  176  177  178  179  180  181  182  183  184  185  186  187  188  189
-  190  191  192  193  194  195  196  197  198  199  200  201  202  203  204  205
-  206  207  208  209  210  211  212  213  214  215  216  217  218  219  220  221
-  222  223  224  225  226  227  228  229  230  231  232  233  234  235  236  237
-  238  239  240  241  242  243  281  120  163  164  165  166  167  168  169  170
-  171  172  173  174  175  176  177  178  179  180  181  182  183  184  185  186
-  187  188  189  190  191  192  193  194  195  196  197  198  199  200  201  202
-  203  204  205  206  207  208  209  210  211  212  213  214  215  216  217  218
-  219  220  221  222  223  224  225  226  227  228  229  230  231  232  233  234
-  235  236  237  238  239  240  241  242  243  282  121  163  164  165  166  167
-  168  169  170  171  172  173  174  175  176  177  178  179  180  181  182  183
-  184  185  186  187  188  189  190  191  192  193  194  195  196  197  198  199
-  200  201  202  203  204  205  206  207  208  209  210  211  212  213  214  215
-  216  217  218  219  220  221  222  223  224  225  226  227  228  229  230  231
-  232  233  234  235  236  237  238  239  240  241  242  243  283  122  163  164
-  165  166  167  168  169  170  171  172  173  174  175  176  177  178  179  180
-  181  182  183  184  185  186  187  188  189  190  191  192  193  194  195  196
-  197  198  199  200  201  202  203  204  205  206  207  208  209  210  211  212
-  213  214  215  216  217  218  219  220  221  222  223  224  225  226  227  228
-  229  230  231  232  233  234  235  236  237  238  239  240  241  242  243  284
-  123  163  164  165  166  167  168  169  170  171  172  173  174  175  176  177
-  178  179  180  181  182  183  184  185  186  187  188  189  190  191  192  193
-  194  195  196  197  198  199  200  201  202  203  204  205  206  207  208  209
-  210  211  212  213  214  215  216  217  218  219  220  221  222  223  224  225
-  226  227  228  229  230  231  232  233  234  235  236  237  238  239  240  241
-  242  243  285  124  163  164  165  166  167  168  169  170  171  172  173  174
-  175  176  177  178  179  180  181  182  183  184  185  186  187  188  189  190
-  191  192  193  194  195  196  197  198  199  200  201  202  203  204  205  206
-  207  208  209  210  211  212  213  214  215  216  217  218  219  220  221  222
-  223  224  225  226  227  228  229  230  231  232  233  234  235  236  237  238
-  239  240  241  242  243  286  125  163  164  165  166  167  168  169  170  171
-  172  173  174  175  176  177  178  179  180  181  182  183  184  185  186  187
-  188  189  190  191  192  193  194  195  196  197  198  199  200  201  202  203
-  204  205  206  207  208  209  210  211  212  213  214  215  216  217  218  219
-  220  221  222  223  224  225  226  227  228  229  230  231  232  233  234  235
-  236  237  238  239  240  241  242  243  287  126  163  164  165  166  167  168
-  169  170  171  172  173  174  175  176  177  178  179  180  181  182  183  184
-  185  186  187  188  189  190  191  192  193  194  195  196  197  198  199  200
-  201  202  203  204  205  206  207  208  209  210  211  212  213  214  215  216
-  217  218  219  220  221  222  223  224  225  226  227  228  229  230  231  232
-  233  234  235  236  237  238  239  240  241  242  243  288  127  163  164  165
-  166  167  168  169  170  171  172  173  174  175  176  177  178  179  180  181
-  182  183  184  185  186  187  188  189  190  191  192  193  194  195  196  197
-  198  199  200  201  202  203  204  205  206  207  208  209  210  211  212  213
-  214  215  216  217  218  219  220  221  222  223  224  225  226  227  228  229
-  230  231  232  233  234  235  236  237  238  239  240  241  242  243  289  128
-  163  164  165  166  167  168  169  170  171  172  173  174  175  176  177  178
-  179  180  181  182  183  184  185  186  187  188  189  190  191  192  193  194
-  195  196  197  198  199  200  201  202  203  204  205  206  207  208  209  210
-  211  212  213  214  215  216  217  218  219  220  221  222  223  224  225  226
-  227  228  229  230  231  232  233  234  235  236  237  238  239  240  241  242
-  243  290  129  163  164  165  166  167  168  169  170  171  172  173  174  175
-  176  177  178  179  180  181  182  183  184  185  186  187  188  189  190  191
-  192  193  194  195  196  197  198  199  200  201  202  203  204  205  206  207
-  208  209  210  211  212  213  214  215  216  217  218  219  220  221  222  223
-  224  225  226  227  228  229  230  231  232  233  234  235  236  237  238  239
-  240  241  242  243  291  130  163  164  165  166  167  168  169  170  171  172
-  173  174  175  176  177  178  179  180  181  182  183  184  185  186  187  188
-  189  190  191  192  193  194  195  196  197  198  199  200  201  202  203  204
-  205  206  207  208  209  210  211  212  213  214  215  216  217  218  219  220
-  221  222  223  224  225  226  227  228  229  230  231  232  233  234  235  236
-  237  238  239  240  241  242  243  292  131  163  164  165  166  167  168  169
-  170  171  172  173  174  175  176  177  178  179  180  181  182  183  184  185
-  186  187  188  189  190  191  192  193  194  195  196  197  198  199  200  201
-  202  203  204  205  206  207  208  209  210  211  212  213  214  215  216  217
-  218  219  220  221  222  223  224  225  226  227  228  229  230  231  232  233
-  234  235  236  237  238  239  240  241  242  243  293  132  163  164  165  166
-  167  168  169  170  171  172  173  174  175  176  177  178  179  180  181  182
-  183  184  185  186  187  188  189  190  191  192  193  194  195  196  197  198
-  199  200  201  202  203  204  205  206  207  208  209  210  211  212  213  214
-  215  216  217  218  219  220  221  222  223  224  225  226  227  228  229  230
-  231  232  233  234  235  236  237  238  239  240  241  242  243  294  133  163
-  164  165  166  167  168  169  170  171  172  173  174  175  176  177  178  179
-  180  181  182  183  184  185  186  187  188  189  190  191  192  193  194  195
-  196  197  198  199  200  201  202  203  204  205  206  207  208  209  210  211
-  212  213  214  215  216  217  218  219  220  221  222  223  224  225  226  227
-  228  229  230  231  232  233  234  235  236  237  238  239  240  241  242  243
-  295  134  163  164  165  166  167  168  169  170  171  172  173  174  175  176
-  177  178  179  180  181  182  183  184  185  186  187  188  189  190  191  192
-  193  194  195  196  197  198  199  200  201  202  203  204  205  206  207  208
-  209  210  211  212  213  214  215  216  217  218  219  220  221  222  223  224
-  225  226  227  228  229  230  231  232  233  234  235  236  237  238  239  240
-  241  242  243  296  135  163  164  165  166  167  168  169  170  171  172  173
-  174  175  176  177  178  179  180  181  182  183  184  185  186  187  188  189
-  190  191  192  193  194  195  196  197  198  199  200  201  202  203  204  205
-  206  207  208  209  210  211  212  213  214  215  216  217  218  219  220  221
-  222  223  224  225  226  227  228  229  230  231  232  233  234  235  236  237
-  238  239  240  241  242  243  297  136  163  164  165  166  167  168  169  170
-  171  172  173  174  175  176  177  178  179  180  181  182  183  184  185  186
-  187  188  189  190  191  192  193  194  195  196  197  198  199  200  201  202
-  203  204  205  206  207  208  209  210  211  212  213  214  215  216  217  218
-  219  220  221  222  223  224  225  226  227  228  229  230  231  232  233  234
-  235  236  237  238  239  240  241  242  243  298  137  163  164  165  166  167
-  168  169  170  171  172  173  174  175  176  177  178  179  180  181  182  183
-  184  185  186  187  188  189  190  191  192  193  194  195  196  197  198  199
-  200  201  202  203  204  205  206  207  208  209  210  211  212  213  214  215
-  216  217  218  219  220  221  222  223  224  225  226  227  228  229  230  231
-  232  233  234  235  236  237  238  239  240  241  242  243  299  138  163  164
-  165  166  167  168  169  170  171  172  173  174  175  176  177  178  179  180
-  181  182  183  184  185  186  187  188  189  190  191  192  193  194  195  196
-  197  198  199  200  201  202  203  204  205  206  207  208  209  210  211  212
-  213  214  215  216  217  218  219  220  221  222  223  224  225  226  227  228
-  229  230  231  232  233  234  235  236  237  238  239  240  241  242  243  300
-  139  163  164  165  166  167  168  169  170  171  172  173  174  175  176  177
-  178  179  180  181  182  183  184  185  186  187  188  189  190  191  192  193
-  194  195  196  197  198  199  200  201  202  203  204  205  206  207  208  209
-  210  211  212  213  214  215  216  217  218  219  220  221  222  223  224  225
-  226  227  228  229  230  231  232  233  234  235  236  237  238  239  240  241
-  242  243  301  140  163  164  165  166  167  168  169  170  171  172  173  174
-  175  176  177  178  179  180  181  182  183  184  185  186  187  188  189  190
-  191  192  193  194  195  196  197  198  199  200  201  202  203  204  205  206
-  207  208  209  210  211  212  213  214  215  216  217  218  219  220  221  222
-  223  224  225  226  227  228  229  230  231  232  233  234  235  236  237  238
-  239  240  241  242  243  302  141  163  164  165  166  167  168  169  170  171
-  172  173  174  175  176  177  178  179  180  181  182  183  184  185  186  187
-  188  189  190  191  192  193  194  195  196  197  198  199  200  201  202  203
-  204  205  206  207  208  209  210  211  212  213  214  215  216  217  218  219
-  220  221  222  223  224  225  226  227  228  229  230  231  232  233  234  235
-  236  237  238  239  240  241  242  243  303  142  163  164  165  166  167  168
-  169  170  171  172  173  174  175  176  177  178  179  180  181  182  183  184
-  185  186  187  188  189  190  191  192  193  194  195  196  197  198  199  200
-  201  202  203  204  205  206  207  208  209  210  211  212  213  214  215  216
-  217  218  219  220  221  222  223  224  225  226  227  228  229  230  231  232
-  233  234  235  236  237  238  239  240  241  242  243  304  143  163  164  165
-  166  167  168  169  170  171  172  173  174  175  176  177  178  179  180  181
-  182  183  184  185  186  187  188  189  190  191  192  193  194  195  196  197
-  198  199  200  201  202  203  204  205  206  207  208  209  210  211  212  213
-  214  215  216  217  218  219  220  221  222  223  224  225  226  227  228  229
-  230  231  232  233  234  235  236  237  238  239  240  241  242  243  305  144
-  163  164  165  166  167  168  169  170  171  172  173  174  175  176  177  178
-  179  180  181  182  183  184  185  186  187  188  189  190  191  192  193  194
-  195  196  197  198  199  200  201  202  203  204  205  206  207  208  209  210
-  211  212  213  214  215  216  217  218  219  220  221  222  223  224  225  226
-  227  228  229  230  231  232  233  234  235  236  237  238  239  240  241  242
-  243  306  145  163  164  165  166  167  168  169  170  171  172  173  174  175
-  176  177  178  179  180  181  182  183  184  185  186  187  188  189  190  191
-  192  193  194  195  196  197  198  199  200  201  202  203  204  205  206  207
-  208  209  210  211  212  213  214  215  216  217  218  219  220  221  222  223
-  224  225  226  227  228  229  230  231  232  233  234  235  236  237  238  239
-  240  241  242  243  307  146  163  164  165  166  167  168  169  170  171  172
-  173  174  175  176  177  178  179  180  181  182  183  184  185  186  187  188
-  189  190  191  192  193  194  195  196  197  198  199  200  201  202  203  204
-  205  206  207  208  209  210  211  212  213  214  215  216  217  218  219  220
-  221  222  223  224  225  226  227  228  229  230  231  232  233  234  235  236
-  237  238  239  240  241  242  243  308  147  163  164  165  166  167  168  169
-  170  171  172  173  174  175  176  177  178  179  180  181  182  183  184  185
-  186  187  188  189  190  191  192  193  194  195  196  197  198  199  200  201
-  202  203  204  205  206  207  208  209  210  211  212  213  214  215  216  217
-  218  219  220  221  222  223  224  225  226  227  228  229  230  231  232  233
-  234  235  236  237  238  239  240  241  242  243  309  148  163  164  165  166
-  167  168  169  170  171  172  173  174  175  176  177  178  179  180  181  182
-  183  184  185  186  187  188  189  190  191  192  193  194  195  196  197  198
-  199  200  201  202  203  204  205  206  207  208  209  210  211  212  213  214
-  215  216  217  218  219  220  221  222  223  224  225  226  227  228  229  230
-  231  232  233  234  235  236  237  238  239  240  241  242  243  310  149  163
-  164  165  166  167  168  169  170  171  172  173  174  175  176  177  178  179
-  180  181  182  183  184  185  186  187  188  189  190  191  192  193  194  195
-  196  197  198  199  200  201  202  203  204  205  206  207  208  209  210  211
-  212  213  214  215  216  217  218  219  220  221  222  223  224  225  226  227
-  228  229  230  231  232  233  234  235  236  237  238  239  240  241  242  243
-  311  150  163  164  165  166  167  168  169  170  171  172  173  174  175  176
-  177  178  179  180  181  182  183  184  185  186  187  188  189  190  191  192
-  193  194  195  196  197  198  199  200  201  202  203  204  205  206  207  208
-  209  210  211  212  213  214  215  216  217  218  219  220  221  222  223  224
-  225  226  227  228  229  230  231  232  233  234  235  236  237  238  239  240
-  241  242  243  312  151  163  164  165  166  167  168  169  170  171  172  173
-  174  175  176  177  178  179  180  181  182  183  184  185  186  187  188  189
-  190  191  192  193  194  195  196  197  198  199  200  201  202  203  204  205
-  206  207  208  209  210  211  212  213  214  215  216  217  218  219  220  221
-  222  223  224  225  226  227  228  229  230  231  232  233  234  235  236  237
-  238  239  240  241  242  243  313  152  163  164  165  166  167  168  169  170
-  171  172  173  174  175  176  177  178  179  180  181  182  183  184  185  186
-  187  188  189  190  191  192  193  194  195  196  197  198  199  200  201  202
-  203  204  205  206  207  208  209  210  211  212  213  214  215  216  217  218
-  219  220  221  222  223  224  225  226  227  228  229  230  231  232  233  234
-  235  236  237  238  239  240  241  242  243  314  153  163  164  165  166  167
-  168  169  170  171  172  173  174  175  176  177  178  179  180  181  182  183
-  184  185  186  187  188  189  190  191  192  193  194  195  196  197  198  199
-  200  201  202  203  204  205  206  207  208  209  210  211  212  213  214  215
-  216  217  218  219  220  221  222  223  224  225  226  227  228  229  230  231
-  232  233  234  235  236  237  238  239  240  241  242  243  315  154  163  164
-  165  166  167  168  169  170  171  172  173  174  175  176  177  178  179  180
-  181  182  183  184  185  186  187  188  189  190  191  192  193  194  195  196
-  197  198  199  200  201  202  203  204  205  206  207  208  209  210  211  212
-  213  214  215  216  217  218  219  220  221  222  223  224  225  226  227  228
-  229  230  231  232  233  234  235  236  237  238  239  240  241  242  243  316
-  155  163  164  165  166  167  168  169  170  171  172  173  174  175  176  177
-  178  179  180  181  182  183  184  185  186  187  188  189  190  191  192  193
-  194  195  196  197  198  199  200  201  202  203  204  205  206  207  208  209
-  210  211  212  213  214  215  216  217  218  219  220  221  222  223  224  225
-  226  227  228  229  230  231  232  233  234  235  236  237  238  239  240  241
-  242  243  317  156  163  164  165  166  167  168  169  170  171  172  173  174
-  175  176  177  178  179  180  181  182  183  184  185  186  187  188  189  190
-  191  192  193  194  195  196  197  198  199  200  201  202  203  204  205  206
-  207  208  209  210  211  212  213  214  215  216  217  218  219  220  221  222
-  223  224  225  226  227  228  229  230  231  232  233  234  235  236  237  238
-  239  240  241  242  243  318  157  163  164  165  166  167  168  169  170  171
-  172  173  174  175  176  177  178  179  180  181  182  183  184  185  186  187
-  188  189  190  191  192  193  194  195  196  197  198  199  200  201  202  203
-  204  205  206  207  208  209  210  211  212  213  214  215  216  217  218  219
-  220  221  222  223  224  225  226  227  228  229  230  231  232  233  234  235
-  236  237  238  239  240  241  242  243  319  158  163  164  165  166  167  168
-  169  170  171  172  173  174  175  176  177  178  179  180  181  182  183  184
-  185  186  187  188  189  190  191  192  193  194  195  196  197  198  199  200
-  201  202  203  204  205  206  207  208  209  210  211  212  213  214  215  216
-  217  218  219  220  221  222  223  224  225  226  227  228  229  230  231  232
-  233  234  235  236  237  238  239  240  241  242  243  320  159  163  164  165
-  166  167  168  169  170  171  172  173  174  175  176  177  178  179  180  181
-  182  183  184  185  186  187  188  189  190  191  192  193  194  195  196  197
-  198  199  200  201  202  203  204  205  206  207  208  209  210  211  212  213
-  214  215  216  217  218  219  220  221  222  223  224  225  226  227  228  229
-  230  231  232  233  234  235  236  237  238  239  240  241  242  243  321  160
-  163  164  165  166  167  168  169  170  171  172  173  174  175  176  177  178
-  179  180  181  182  183  184  185  186  187  188  189  190  191  192  193  194
-  195  196  197  198  199  200  201  202  203  204  205  206  207  208  209  210
-  211  212  213  214  215  216  217  218  219  220  221  222  223  224  225  226
-  227  228  229  230  231  232  233  234  235  236  237  238  239  240  241  242
-  243  322  161  163  164  165  166  167  168  169  170  171  172  173  174  175
-  176  177  178  179  180  181  182  183  184  185  186  187  188  189  190  191
-  192  193  194  195  196  197  198  199  200  201  202  203  204  205  206  207
-  208  209  210  211  212  213  214  215  216  217  218  219  220  221  222  223
-  224  225  226  227  228  229  230  231  232  233  234  235  236  237  238  239
-  240  241  242  243  323  162  163  164  165  166  167  168  169  170  171  172
-  173  174  175  176  177  178  179  180  181  182  183  184  185  186  187  188
-  189  190  191  192  193  194  195  196  197  198  199  200  201  202  203  204
-  205  206  207  208  209  210  211  212  213  214  215  216  217  218  219  220
-  221  222  223  224  225  226  227  228  229  230  231  232  233  234  235  236
-  237  238  239  240  241  242  243  324  163  244  245  246  247  248  249  250
-  251  252  253  254  255  256  257  258  259  260  261  262  263  264  265  266
-  267  268  269  270  271  272  273  274  275  276  277  278  279  280  281  282
-  283  284  285  286  287  288  289  290  291  292  293  294  295  296  297  298
-  299  300  301  302  303  304  305  306  307  308  309  310  311  312  313  314
-  315  316  317  318  319  320  321  322  323  324  164  244  245  246  247  248
-  249  250  251  252  253  254  255  256  257  258  259  260  261  262  263  264
-  265  266  267  268  269  270  271  272  273  274  275  276  277  278  279  280
-  281  282  283  284  285  286  287  288  289  290  291  292  293  294  295  296
-  297  298  299  300  301  302  303  304  305  306  307  308  309  310  311  312
-  313  314  315  316  317  318  319  320  321  322  323  324  165  244  245  246
-  247  248  249  250  251  252  253  254  255  256  257  258  259  260  261  262
-  263  264  265  266  267  268  269  270  271  272  273  274  275  276  277  278
-  279  280  281  282  283  284  285  286  287  288  289  290  291  292  293  294
-  295  296  297  298  299  300  301  302  303  304  305  306  307  308  309  310
-  311  312  313  314  315  316  317  318  319  320  321  322  323  324  166  244
-  245  246  247  248  249  250  251  252  253  254  255  256  257  258  259  260
-  261  262  263  264  265  266  267  268  269  270  271  272  273  274  275  276
-  277  278  279  280  281  282  283  284  285  286  287  288  289  290  291  292
-  293  294  295  296  297  298  299  300  301  302  303  304  305  306  307  308
-  309  310  311  312  313  314  315  316  317  318  319  320  321  322  323  324
-  167  244  245  246  247  248  249  250  251  252  253  254  255  256  257  258
-  259  260  261  262  263  264  265  266  267  268  269  270  271  272  273  274
-  275  276  277  278  279  280  281  282  283  284  285  286  287  288  289  290
-  291  292  293  294  295  296  297  298  299  300  301  302  303  304  305  306
-  307  308  309  310  311  312  313  314  315  316  317  318  319  320  321  322
-  323  324  168  244  245  246  247  248  249  250  251  252  253  254  255  256
-  257  258  259  260  261  262  263  264  265  266  267  268  269  270  271  272
-  273  274  275  276  277  278  279  280  281  282  283  284  285  286  287  288
-  289  290  291  292  293  294  295  296  297  298  299  300  301  302  303  304
-  305  306  307  308  309  310  311  312  313  314  315  316  317  318  319  320
-  321  322  323  324  169  244  245  246  247  248  249  250  251  252  253  254
-  255  256  257  258  259  260  261  262  263  264  265  266  267  268  269  270
-  271  272  273  274  275  276  277  278  279  280  281  282  283  284  285  286
-  287  288  289  290  291  292  293  294  295  296  297  298  299  300  301  302
-  303  304  305  306  307  308  309  310  311  312  313  314  315  316  317  318
-  319  320  321  322  323  324  170  244  245  246  247  248  249  250  251  252
-  253  254  255  256  257  258  259  260  261  262  263  264  265  266  267  268
-  269  270  271  272  273  274  275  276  277  278  279  280  281  282  283  284
-  285  286  287  288  289  290  291  292  293  294  295  296  297  298  299  300
-  301  302  303  304  305  306  307  308  309  310  311  312  313  314  315  316
-  317  318  319  320  321  322  323  324  171  244  245  246  247  248  249  250
-  251  252  253  254  255  256  257  258  259  260  261  262  263  264  265  266
-  267  268  269  270  271  272  273  274  275  276  277  278  279  280  281  282
-  283  284  285  286  287  288  289  290  291  292  293  294  295  296  297  298
-  299  300  301  302  303  304  305  306  307  308  309  310  311  312  313  314
-  315  316  317  318  319  320  321  322  323  324  172  244  245  246  247  248
-  249  250  251  252  253  254  255  256  257  258  259  260  261  262  263  264
-  265  266  267  268  269  270  271  272  273  274  275  276  277  278  279  280
-  281  282  283  284  285  286  287  288  289  290  291  292  293  294  295  296
-  297  298  299  300  301  302  303  304  305  306  307  308  309  310  311  312
-  313  314  315  316  317  318  319  320  321  322  323  324  173  244  245  246
-  247  248  249  250  251  252  253  254  255  256  257  258  259  260  261  262
-  263  264  265  266  267  268  269  270  271  272  273  274  275  276  277  278
-  279  280  281  282  283  284  285  286  287  288  289  290  291  292  293  294
-  295  296  297  298  299  300  301  302  303  304  305  306  307  308  309  310
-  311  312  313  314  315  316  317  318  319  320  321  322  323  324  174  244
-  245  246  247  248  249  250  251  252  253  254  255  256  257  258  259  260
-  261  262  263  264  265  266  267  268  269  270  271  272  273  274  275  276
-  277  278  279  280  281  282  283  284  285  286  287  288  289  290  291  292
-  293  294  295  296  297  298  299  300  301  302  303  304  305  306  307  308
-  309  310  311  312  313  314  315  316  317  318  319  320  321  322  323  324
-  175  244  245  246  247  248  249  250  251  252  253  254  255  256  257  258
-  259  260  261  262  263  264  265  266  267  268  269  270  271  272  273  274
-  275  276  277  278  279  280  281  282  283  284  285  286  287  288  289  290
-  291  292  293  294  295  296  297  298  299  300  301  302  303  304  305  306
-  307  308  309  310  311  312  313  314  315  316  317  318  319  320  321  322
-  323  324  176  244  245  246  247  248  249  250  251  252  253  254  255  256
-  257  258  259  260  261  262  263  264  265  266  267  268  269  270  271  272
-  273  274  275  276  277  278  279  280  281  282  283  284  285  286  287  288
-  289  290  291  292  293  294  295  296  297  298  299  300  301  302  303  304
-  305  306  307  308  309  310  311  312  313  314  315  316  317  318  319  320
-  321  322  323  324  177  244  245  246  247  248  249  250  251  252  253  254
-  255  256  257  258  259  260  261  262  263  264  265  266  267  268  269  270
-  271  272  273  274  275  276  277  278  279  280  281  282  283  284  285  286
-  287  288  289  290  291  292  293  294  295  296  297  298  299  300  301  302
-  303  304  305  306  307  308  309  310  311  312  313  314  315  316  317  318
-  319  320  321  322  323  324  178  244  245  246  247  248  249  250  251  252
-  253  254  255  256  257  258  259  260  261  262  263  264  265  266  267  268
-  269  270  271  272  273  274  275  276  277  278  279  280  281  282  283  284
-  285  286  287  288  289  290  291  292  293  294  295  296  297  298  299  300
-  301  302  303  304  305  306  307  308  309  310  311  312  313  314  315  316
-  317  318  319  320  321  322  323  324  179  244  245  246  247  248  249  250
-  251  252  253  254  255  256  257  258  259  260  261  262  263  264  265  266
-  267  268  269  270  271  272  273  274  275  276  277  278  279  280  281  282
-  283  284  285  286  287  288  289  290  291  292  293  294  295  296  297  298
-  299  300  301  302  303  304  305  306  307  308  309  310  311  312  313  314
-  315  316  317  318  319  320  321  322  323  324  180  244  245  246  247  248
-  249  250  251  252  253  254  255  256  257  258  259  260  261  262  263  264
-  265  266  267  268  269  270  271  272  273  274  275  276  277  278  279  280
-  281  282  283  284  285  286  287  288  289  290  291  292  293  294  295  296
-  297  298  299  300  301  302  303  304  305  306  307  308  309  310  311  312
-  313  314  315  316  317  318  319  320  321  322  323  324  181  244  245  246
-  247  248  249  250  251  252  253  254  255  256  257  258  259  260  261  262
-  263  264  265  266  267  268  269  270  271  272  273  274  275  276  277  278
-  279  280  281  282  283  284  285  286  287  288  289  290  291  292  293  294
-  295  296  297  298  299  300  301  302  303  304  305  306  307  308  309  310
-  311  312  313  314  315  316  317  318  319  320  321  322  323  324  182  244
-  245  246  247  248  249  250  251  252  253  254  255  256  257  258  259  260
-  261  262  263  264  265  266  267  268  269  270  271  272  273  274  275  276
-  277  278  279  280  281  282  283  284  285  286  287  288  289  290  291  292
-  293  294  295  296  297  298  299  300  301  302  303  304  305  306  307  308
-  309  310  311  312  313  314  315  316  317  318  319  320  321  322  323  324
-  183  244  245  246  247  248  249  250  251  252  253  254  255  256  257  258
-  259  260  261  262  263  264  265  266  267  268  269  270  271  272  273  274
-  275  276  277  278  279  280  281  282  283  284  285  286  287  288  289  290
-  291  292  293  294  295  296  297  298  299  300  301  302  303  304  305  306
-  307  308  309  310  311  312  313  314  315  316  317  318  319  320  321  322
-  323  324  184  244  245  246  247  248  249  250  251  252  253  254  255  256
-  257  258  259  260  261  262  263  264  265  266  267  268  269  270  271  272
-  273  274  275  276  277  278  279  280  281  282  283  284  285  286  287  288
-  289  290  291  292  293  294  295  296  297  298  299  300  301  302  303  304
-  305  306  307  308  309  310  311  312  313  314  315  316  317  318  319  320
-  321  322  323  324  185  244  245  246  247  248  249  250  251  252  253  254
-  255  256  257  258  259  260  261  262  263  264  265  266  267  268  269  270
-  271  272  273  274  275  276  277  278  279  280  281  282  283  284  285  286
-  287  288  289  290  291  292  293  294  295  296  297  298  299  300  301  302
-  303  304  305  306  307  308  309  310  311  312  313  314  315  316  317  318
-  319  320  321  322  323  324  186  244  245  246  247  248  249  250  251  252
-  253  254  255  256  257  258  259  260  261  262  263  264  265  266  267  268
-  269  270  271  272  273  274  275  276  277  278  279  280  281  282  283  284
-  285  286  287  288  289  290  291  292  293  294  295  296  297  298  299  300
-  301  302  303  304  305  306  307  308  309  310  311  312  313  314  315  316
-  317  318  319  320  321  322  323  324  187  244  245  246  247  248  249  250
-  251  252  253  254  255  256  257  258  259  260  261  262  263  264  265  266
-  267  268  269  270  271  272  273  274  275  276  277  278  279  280  281  282
-  283  284  285  286  287  288  289  290  291  292  293  294  295  296  297  298
-  299  300  301  302  303  304  305  306  307  308  309  310  311  312  313  314
-  315  316  317  318  319  320  321  322  323  324  188  244  245  246  247  248
-  249  250  251  252  253  254  255  256  257  258  259  260  261  262  263  264
-  265  266  267  268  269  270  271  272  273  274  275  276  277  278  279  280
-  281  282  283  284  285  286  287  288  289  290  291  292  293  294  295  296
-  297  298  299  300  301  302  303  304  305  306  307  308  309  310  311  312
-  313  314  315  316  317  318  319  320  321  322  323  324  189  244  245  246
-  247  248  249  250  251  252  253  254  255  256  257  258  259  260  261  262
-  263  264  265  266  267  268  269  270  271  272  273  274  275  276  277  278
-  279  280  281  282  283  284  285  286  287  288  289  290  291  292  293  294
-  295  296  297  298  299  300  301  302  303  304  305  306  307  308  309  310
-  311  312  313  314  315  316  317  318  319  320  321  322  323  324  190  244
-  245  246  247  248  249  250  251  252  253  254  255  256  257  258  259  260
-  261  262  263  264  265  266  267  268  269  270  271  272  273  274  275  276
-  277  278  279  280  281  282  283  284  285  286  287  288  289  290  291  292
-  293  294  295  296  297  298  299  300  301  302  303  304  305  306  307  308
-  309  310  311  312  313  314  315  316  317  318  319  320  321  322  323  324
-  191  244  245  246  247  248  249  250  251  252  253  254  255  256  257  258
-  259  260  261  262  263  264  265  266  267  268  269  270  271  272  273  274
-  275  276  277  278  279  280  281  282  283  284  285  286  287  288  289  290
-  291  292  293  294  295  296  297  298  299  300  301  302  303  304  305  306
-  307  308  309  310  311  312  313  314  315  316  317  318  319  320  321  322
-  323  324  192  244  245  246  247  248  249  250  251  252  253  254  255  256
-  257  258  259  260  261  262  263  264  265  266  267  268  269  270  271  272
-  273  274  275  276  277  278  279  280  281  282  283  284  285  286  287  288
-  289  290  291  292  293  294  295  296  297  298  299  300  301  302  303  304
-  305  306  307  308  309  310  311  312  313  314  315  316  317  318  319  320
-  321  322  323  324  193  244  245  246  247  248  249  250  251  252  253  254
-  255  256  257  258  259  260  261  262  263  264  265  266  267  268  269  270
-  271  272  273  274  275  276  277  278  279  280  281  282  283  284  285  286
-  287  288  289  290  291  292  293  294  295  296  297  298  299  300  301  302
-  303  304  305  306  307  308  309  310  311  312  313  314  315  316  317  318
-  319  320  321  322  323  324  194  244  245  246  247  248  249  250  251  252
-  253  254  255  256  257  258  259  260  261  262  263  264  265  266  267  268
-  269  270  271  272  273  274  275  276  277  278  279  280  281  282  283  284
-  285  286  287  288  289  290  291  292  293  294  295  296  297  298  299  300
-  301  302  303  304  305  306  307  308  309  310  311  312  313  314  315  316
-  317  318  319  320  321  322  323  324  195  244  245  246  247  248  249  250
-  251  252  253  254  255  256  257  258  259  260  261  262  263  264  265  266
-  267  268  269  270  271  272  273  274  275  276  277  278  279  280  281  282
-  283  284  285  286  287  288  289  290  291  292  293  294  295  296  297  298
-  299  300  301  302  303  304  305  306  307  308  309  310  311  312  313  314
-  315  316  317  318  319  320  321  322  323  324  196  244  245  246  247  248
-  249  250  251  252  253  254  255  256  257  258  259  260  261  262  263  264
-  265  266  267  268  269  270  271  272  273  274  275  276  277  278  279  280
-  281  282  283  284  285  286  287  288  289  290  291  292  293  294  295  296
-  297  298  299  300  301  302  303  304  305  306  307  308  309  310  311  312
-  313  314  315  316  317  318  319  320  321  322  323  324  197  244  245  246
-  247  248  249  250  251  252  253  254  255  256  257  258  259  260  261  262
-  263  264  265  266  267  268  269  270  271  272  273  274  275  276  277  278
-  279  280  281  282  283  284  285  286  287  288  289  290  291  292  293  294
-  295  296  297  298  299  300  301  302  303  304  305  306  307  308  309  310
-  311  312  313  314  315  316  317  318  319  320  321  322  323  324  198  244
-  245  246  247  248  249  250  251  252  253  254  255  256  257  258  259  260
-  261  262  263  264  265  266  267  268  269  270  271  272  273  274  275  276
-  277  278  279  280  281  282  283  284  285  286  287  288  289  290  291  292
-  293  294  295  296  297  298  299  300  301  302  303  304  305  306  307  308
-  309  310  311  312  313  314  315  316  317  318  319  320  321  322  323  324
-  199  244  245  246  247  248  249  250  251  252  253  254  255  256  257  258
-  259  260  261  262  263  264  265  266  267  268  269  270  271  272  273  274
-  275  276  277  278  279  280  281  282  283  284  285  286  287  288  289  290
-  291  292  293  294  295  296  297  298  299  300  301  302  303  304  305  306
-  307  308  309  310  311  312  313  314  315  316  317  318  319  320  321  322
-  323  324  200  244  245  246  247  248  249  250  251  252  253  254  255  256
-  257  258  259  260  261  262  263  264  265  266  267  268  269  270  271  272
-  273  274  275  276  277  278  279  280  281  282  283  284  285  286  287  288
-  289  290  291  292  293  294  295  296  297  298  299  300  301  302  303  304
-  305  306  307  308  309  310  311  312  313  314  315  316  317  318  319  320
-  321  322  323  324  201  244  245  246  247  248  249  250  251  252  253  254
-  255  256  257  258  259  260  261  262  263  264  265  266  267  268  269  270
-  271  272  273  274  275  276  277  278  279  280  281  282  283  284  285  286
-  287  288  289  290  291  292  293  294  295  296  297  298  299  300  301  302
-  303  304  305  306  307  308  309  310  311  312  313  314  315  316  317  318
-  319  320  321  322  323  324  202  244  245  246  247  248  249  250  251  252
-  253  254  255  256  257  258  259  260  261  262  263  264  265  266  267  268
-  269  270  271  272  273  274  275  276  277  278  279  280  281  282  283  284
-  285  286  287  288  289  290  291  292  293  294  295  296  297  298  299  300
-  301  302  303  304  305  306  307  308  309  310  311  312  313  314  315  316
-  317  318  319  320  321  322  323  324  203  244  245  246  247  248  249  250
-  251  252  253  254  255  256  257  258  259  260  261  262  263  264  265  266
-  267  268  269  270  271  272  273  274  275  276  277  278  279  280  281  282
-  283  284  285  286  287  288  289  290  291  292  293  294  295  296  297  298
-  299  300  301  302  303  304  305  306  307  308  309  310  311  312  313  314
-  315  316  317  318  319  320  321  322  323  324  204  244  245  246  247  248
-  249  250  251  252  253  254  255  256  257  258  259  260  261  262  263  264
-  265  266  267  268  269  270  271  272  273  274  275  276  277  278  279  280
-  281  282  283  284  285  286  287  288  289  290  291  292  293  294  295  296
-  297  298  299  300  301  302  303  304  305  306  307  308  309  310  311  312
-  313  314  315  316  317  318  319  320  321  322  323  324  205  244  245  246
-  247  248  249  250  251  252  253  254  255  256  257  258  259  260  261  262
-  263  264  265  266  267  268  269  270  271  272  273  274  275  276  277  278
-  279  280  281  282  283  284  285  286  287  288  289  290  291  292  293  294
-  295  296  297  298  299  300  301  302  303  304  305  306  307  308  309  310
-  311  312  313  314  315  316  317  318  319  320  321  322  323  324  206  244
-  245  246  247  248  249  250  251  252  253  254  255  256  257  258  259  260
-  261  262  263  264  265  266  267  268  269  270  271  272  273  274  275  276
-  277  278  279  280  281  282  283  284  285  286  287  288  289  290  291  292
-  293  294  295  296  297  298  299  300  301  302  303  304  305  306  307  308
-  309  310  311  312  313  314  315  316  317  318  319  320  321  322  323  324
-  207  244  245  246  247  248  249  250  251  252  253  254  255  256  257  258
-  259  260  261  262  263  264  265  266  267  268  269  270  271  272  273  274
-  275  276  277  278  279  280  281  282  283  284  285  286  287  288  289  290
-  291  292  293  294  295  296  297  298  299  300  301  302  303  304  305  306
-  307  308  309  310  311  312  313  314  315  316  317  318  319  320  321  322
-  323  324  208  244  245  246  247  248  249  250  251  252  253  254  255  256
-  257  258  259  260  261  262  263  264  265  266  267  268  269  270  271  272
-  273  274  275  276  277  278  279  280  281  282  283  284  285  286  287  288
-  289  290  291  292  293  294  295  296  297  298  299  300  301  302  303  304
-  305  306  307  308  309  310  311  312  313  314  315  316  317  318  319  320
-  321  322  323  324  209  244  245  246  247  248  249  250  251  252  253  254
-  255  256  257  258  259  260  261  262  263  264  265  266  267  268  269  270
-  271  272  273  274  275  276  277  278  279  280  281  282  283  284  285  286
-  287  288  289  290  291  292  293  294  295  296  297  298  299  300  301  302
-  303  304  305  306  307  308  309  310  311  312  313  314  315  316  317  318
-  319  320  321  322  323  324  210  244  245  246  247  248  249  250  251  252
-  253  254  255  256  257  258  259  260  261  262  263  264  265  266  267  268
-  269  270  271  272  273  274  275  276  277  278  279  280  281  282  283  284
-  285  286  287  288  289  290  291  292  293  294  295  296  297  298  299  300
-  301  302  303  304  305  306  307  308  309  310  311  312  313  314  315  316
-  317  318  319  320  321  322  323  324  211  244  245  246  247  248  249  250
-  251  252  253  254  255  256  257  258  259  260  261  262  263  264  265  266
-  267  268  269  270  271  272  273  274  275  276  277  278  279  280  281  282
-  283  284  285  286  287  288  289  290  291  292  293  294  295  296  297  298
-  299  300  301  302  303  304  305  306  307  308  309  310  311  312  313  314
-  315  316  317  318  319  320  321  322  323  324  212  244  245  246  247  248
-  249  250  251  252  253  254  255  256  257  258  259  260  261  262  263  264
-  265  266  267  268  269  270  271  272  273  274  275  276  277  278  279  280
-  281  282  283  284  285  286  287  288  289  290  291  292  293  294  295  296
-  297  298  299  300  301  302  303  304  305  306  307  308  309  310  311  312
-  313  314  315  316  317  318  319  320  321  322  323  324  213  244  245  246
-  247  248  249  250  251  252  253  254  255  256  257  258  259  260  261  262
-  263  264  265  266  267  268  269  270  271  272  273  274  275  276  277  278
-  279  280  281  282  283  284  285  286  287  288  289  290  291  292  293  294
-  295  296  297  298  299  300  301  302  303  304  305  306  307  308  309  310
-  311  312  313  314  315  316  317  318  319  320  321  322  323  324  214  244
-  245  246  247  248  249  250  251  252  253  254  255  256  257  258  259  260
-  261  262  263  264  265  266  267  268  269  270  271  272  273  274  275  276
-  277  278  279  280  281  282  283  284  285  286  287  288  289  290  291  292
-  293  294  295  296  297  298  299  300  301  302  303  304  305  306  307  308
-  309  310  311  312  313  314  315  316  317  318  319  320  321  322  323  324
-  215  244  245  246  247  248  249  250  251  252  253  254  255  256  257  258
-  259  260  261  262  263  264  265  266  267  268  269  270  271  272  273  274
-  275  276  277  278  279  280  281  282  283  284  285  286  287  288  289  290
-  291  292  293  294  295  296  297  298  299  300  301  302  303  304  305  306
-  307  308  309  310  311  312  313  314  315  316  317  318  319  320  321  322
-  323  324  216  244  245  246  247  248  249  250  251  252  253  254  255  256
-  257  258  259  260  261  262  263  264  265  266  267  268  269  270  271  272
-  273  274  275  276  277  278  279  280  281  282  283  284  285  286  287  288
-  289  290  291  292  293  294  295  296  297  298  299  300  301  302  303  304
-  305  306  307  308  309  310  311  312  313  314  315  316  317  318  319  320
-  321  322  323  324  217  244  245  246  247  248  249  250  251  252  253  254
-  255  256  257  258  259  260  261  262  263  264  265  266  267  268  269  270
-  271  272  273  274  275  276  277  278  279  280  281  282  283  284  285  286
-  287  288  289  290  291  292  293  294  295  296  297  298  299  300  301  302
-  303  304  305  306  307  308  309  310  311  312  313  314  315  316  317  318
-  319  320  321  322  323  324  218  244  245  246  247  248  249  250  251  252
-  253  254  255  256  257  258  259  260  261  262  263  264  265  266  267  268
-  269  270  271  272  273  274  275  276  277  278  279  280  281  282  283  284
-  285  286  287  288  289  290  291  292  293  294  295  296  297  298  299  300
-  301  302  303  304  305  306  307  308  309  310  311  312  313  314  315  316
-  317  318  319  320  321  322  323  324  219  244  245  246  247  248  249  250
-  251  252  253  254  255  256  257  258  259  260  261  262  263  264  265  266
-  267  268  269  270  271  272  273  274  275  276  277  278  279  280  281  282
-  283  284  285  286  287  288  289  290  291  292  293  294  295  296  297  298
-  299  300  301  302  303  304  305  306  307  308  309  310  311  312  313  314
-  315  316  317  318  319  320  321  322  323  324  220  244  245  246  247  248
-  249  250  251  252  253  254  255  256  257  258  259  260  261  262  263  264
-  265  266  267  268  269  270  271  272  273  274  275  276  277  278  279  280
-  281  282  283  284  285  286  287  288  289  290  291  292  293  294  295  296
-  297  298  299  300  301  302  303  304  305  306  307  308  309  310  311  312
-  313  314  315  316  317  318  319  320  321  322  323  324  221  244  245  246
-  247  248  249  250  251  252  253  254  255  256  257  258  259  260  261  262
-  263  264  265  266  267  268  269  270  271  272  273  274  275  276  277  278
-  279  280  281  282  283  284  285  286  287  288  289  290  291  292  293  294
-  295  296  297  298  299  300  301  302  303  304  305  306  307  308  309  310
-  311  312  313  314  315  316  317  318  319  320  321  322  323  324  222  244
-  245  246  247  248  249  250  251  252  253  254  255  256  257  258  259  260
-  261  262  263  264  265  266  267  268  269  270  271  272  273  274  275  276
-  277  278  279  280  281  282  283  284  285  286  287  288  289  290  291  292
-  293  294  295  296  297  298  299  300  301  302  303  304  305  306  307  308
-  309  310  311  312  313  314  315  316  317  318  319  320  321  322  323  324
-  223  244  245  246  247  248  249  250  251  252  253  254  255  256  257  258
-  259  260  261  262  263  264  265  266  267  268  269  270  271  272  273  274
-  275  276  277  278  279  280  281  282  283  284  285  286  287  288  289  290
-  291  292  293  294  295  296  297  298  299  300  301  302  303  304  305  306
-  307  308  309  310  311  312  313  314  315  316  317  318  319  320  321  322
-  323  324  224  244  245  246  247  248  249  250  251  252  253  254  255  256
-  257  258  259  260  261  262  263  264  265  266  267  268  269  270  271  272
-  273  274  275  276  277  278  279  280  281  282  283  284  285  286  287  288
-  289  290  291  292  293  294  295  296  297  298  299  300  301  302  303  304
-  305  306  307  308  309  310  311  312  313  314  315  316  317  318  319  320
-  321  322  323  324  225  244  245  246  247  248  249  250  251  252  253  254
-  255  256  257  258  259  260  261  262  263  264  265  266  267  268  269  270
-  271  272  273  274  275  276  277  278  279  280  281  282  283  284  285  286
-  287  288  289  290  291  292  293  294  295  296  297  298  299  300  301  302
-  303  304  305  306  307  308  309  310  311  312  313  314  315  316  317  318
-  319  320  321  322  323  324  226  244  245  246  247  248  249  250  251  252
-  253  254  255  256  257  258  259  260  261  262  263  264  265  266  267  268
-  269  270  271  272  273  274  275  276  277  278  279  280  281  282  283  284
-  285  286  287  288  289  290  291  292  293  294  295  296  297  298  299  300
-  301  302  303  304  305  306  307  308  309  310  311  312  313  314  315  316
-  317  318  319  320  321  322  323  324  227  244  245  246  247  248  249  250
-  251  252  253  254  255  256  257  258  259  260  261  262  263  264  265  266
-  267  268  269  270  271  272  273  274  275  276  277  278  279  280  281  282
-  283  284  285  286  287  288  289  290  291  292  293  294  295  296  297  298
-  299  300  301  302  303  304  305  306  307  308  309  310  311  312  313  314
-  315  316  317  318  319  320  321  322  323  324  228  244  245  246  247  248
-  249  250  251  252  253  254  255  256  257  258  259  260  261  262  263  264
-  265  266  267  268  269  270  271  272  273  274  275  276  277  278  279  280
-  281  282  283  284  285  286  287  288  289  290  291  292  293  294  295  296
-  297  298  299  300  301  302  303  304  305  306  307  308  309  310  311  312
-  313  314  315  316  317  318  319  320  321  322  323  324  229  244  245  246
-  247  248  249  250  251  252  253  254  255  256  257  258  259  260  261  262
-  263  264  265  266  267  268  269  270  271  272  273  274  275  276  277  278
-  279  280  281  282  283  284  285  286  287  288  289  290  291  292  293  294
-  295  296  297  298  299  300  301  302  303  304  305  306  307  308  309  310
-  311  312  313  314  315  316  317  318  319  320  321  322  323  324  230  244
-  245  246  247  248  249  250  251  252  253  254  255  256  257  258  259  260
-  261  262  263  264  265  266  267  268  269  270  271  272  273  274  275  276
-  277  278  279  280  281  282  283  284  285  286  287  288  289  290  291  292
-  293  294  295  296  297  298  299  300  301  302  303  304  305  306  307  308
-  309  310  311  312  313  314  315  316  317  318  319  320  321  322  323  324
-  231  244  245  246  247  248  249  250  251  252  253  254  255  256  257  258
-  259  260  261  262  263  264  265  266  267  268  269  270  271  272  273  274
-  275  276  277  278  279  280  281  282  283  284  285  286  287  288  289  290
-  291  292  293  294  295  296  297  298  299  300  301  302  303  304  305  306
-  307  308  309  310  311  312  313  314  315  316  317  318  319  320  321  322
-  323  324  232  244  245  246  247  248  249  250  251  252  253  254  255  256
-  257  258  259  260  261  262  263  264  265  266  267  268  269  270  271  272
-  273  274  275  276  277  278  279  280  281  282  283  284  285  286  287  288
-  289  290  291  292  293  294  295  296  297  298  299  300  301  302  303  304
-  305  306  307  308  309  310  311  312  313  314  315  316  317  318  319  320
-  321  322  323  324  233  244  245  246  247  248  249  250  251  252  253  254
-  255  256  257  258  259  260  261  262  263  264  265  266  267  268  269  270
-  271  272  273  274  275  276  277  278  279  280  281  282  283  284  285  286
-  287  288  289  290  291  292  293  294  295  296  297  298  299  300  301  302
-  303  304  305  306  307  308  309  310  311  312  313  314  315  316  317  318
-  319  320  321  322  323  324  234  244  245  246  247  248  249  250  251  252
-  253  254  255  256  257  258  259  260  261  262  263  264  265  266  267  268
-  269  270  271  272  273  274  275  276  277  278  279  280  281  282  283  284
-  285  286  287  288  289  290  291  292  293  294  295  296  297  298  299  300
-  301  302  303  304  305  306  307  308  309  310  311  312  313  314  315  316
-  317  318  319  320  321  322  323  324  235  244  245  246  247  248  249  250
-  251  252  253  254  255  256  257  258  259  260  261  262  263  264  265  266
-  267  268  269  270  271  272  273  274  275  276  277  278  279  280  281  282
-  283  284  285  286  287  288  289  290  291  292  293  294  295  296  297  298
-  299  300  301  302  303  304  305  306  307  308  309  310  311  312  313  314
-  315  316  317  318  319  320  321  322  323  324  236  244  245  246  247  248
-  249  250  251  252  253  254  255  256  257  258  259  260  261  262  263  264
-  265  266  267  268  269  270  271  272  273  274  275  276  277  278  279  280
-  281  282  283  284  285  286  287  288  289  290  291  292  293  294  295  296
-  297  298  299  300  301  302  303  304  305  306  307  308  309  310  311  312
-  313  314  315  316  317  318  319  320  321  322  323  324  237  244  245  246
-  247  248  249  250  251  252  253  254  255  256  257  258  259  260  261  262
-  263  264  265  266  267  268  269  270  271  272  273  274  275  276  277  278
-  279  280  281  282  283  284  285  286  287  288  289  290  291  292  293  294
-  295  296  297  298  299  300  301  302  303  304  305  306  307  308  309  310
-  311  312  313  314  315  316  317  318  319  320  321  322  323  324  238  244
-  245  246  247  248  249  250  251  252  253  254  255  256  257  258  259  260
-  261  262  263  264  265  266  267  268  269  270  271  272  273  274  275  276
-  277  278  279  280  281  282  283  284  285  286  287  288  289  290  291  292
-  293  294  295  296  297  298  299  300  301  302  303  304  305  306  307  308
-  309  310  311  312  313  314  315  316  317  318  319  320  321  322  323  324
-  239  244  245  246  247  248  249  250  251  252  253  254  255  256  257  258
-  259  260  261  262  263  264  265  266  267  268  269  270  271  272  273  274
-  275  276  277  278  279  280  281  282  283  284  285  286  287  288  289  290
-  291  292  293  294  295  296  297  298  299  300  301  302  303  304  305  306
-  307  308  309  310  311  312  313  314  315  316  317  318  319  320  321  322
-  323  324  240  244  245  246  247  248  249  250  251  252  253  254  255  256
-  257  258  259  260  261  262  263  264  265  266  267  268  269  270  271  272
-  273  274  275  276  277  278  279  280  281  282  283  284  285  286  287  288
-  289  290  291  292  293  294  295  296  297  298  299  300  301  302  303  304
-  305  306  307  308  309  310  311  312  313  314  315  316  317  318  319  320
-  321  322  323  324  241  244  245  246  247  248  249  250  251  252  253  254
-  255  256  257  258  259  260  261  262  263  264  265  266  267  268  269  270
-  271  272  273  274  275  276  277  278  279  280  281  282  283  284  285  286
-  287  288  289  290  291  292  293  294  295  296  297  298  299  300  301  302
-  303  304  305  306  307  308  309  310  311  312  313  314  315  316  317  318
-  319  320  321  322  323  324  242  244  245  246  247  248  249  250  251  252
-  253  254  255  256  257  258  259  260  261  262  263  264  265  266  267  268
-  269  270  271  272  273  274  275  276  277  278  279  280  281  282  283  284
-  285  286  287  288  289  290  291  292  293  294  295  296  297  298  299  300
-  301  302  303  304  305  306  307  308  309  310  311  312  313  314  315  316
-  317  318  319  320  321  322  323  324  243  244  245  246  247  248  249  250
-  251  252  253  254  255  256  257  258  259  260  261  262  263  264  265  266
-  267  268  269  270  271  272  273  274  275  276  277  278  279  280  281  282
-  283  284  285  286  287  288  289  290  291  292  293  294  295  296  297  298
-  299  300  301  302  303  304  305  306  307  308  309  310  311  312  313  314
-  315  316  317  318  319  320  321  322  323  324
-0.3907880596378435D+00-.5085988217165716D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.4519256146769957D-04-.7293151198900231D-05-.3981401266032415D-04
-0.6425163892827973D-050.3478916893617300D-04-.5614257322345751D-05
--.3006329973748652D-040.4851599099556584D-050.2558831255660659D-04
--.4129428081509198D-05-.2132146425430071D-040.3440846403444125D-05
-0.1722429384915639D-04-.2779647252921669D-05-.1326172498190355D-04
-0.2140170025998270D-050.9401297415583386D-05-.1517176307138179D-05
--.5612495043095234D-050.9057414234337534D-060.1866143715712640D-05
--.3011572664961087D-060.1866143715512185D-05-.3011572664637594D-06
--.5612495043042305D-050.9057414234252119D-060.9401297415863014D-05
--.1517176307183306D-05-.1326172498198105D-040.2140170026010777D-05
-0.1722429384947072D-04-.2779647252972395D-05-.2132146425429693D-04
-0.3440846403443515D-050.2558831255668139D-04-.4129428081521270D-05
--.3006329973746788D-040.4851599099553577D-050.3478916893609630D-04
--.5614257322333374D-05-.3981401266047105D-040.6425163892851680D-05
-0.4519256146756725D-04-.7293151198878877D-05-.5098776122625716D-04
-0.8228377410789080D-050.5727272713271265D-04-.9242641819512053D-05
--.6413319184916952D-040.1034977991584680D-040.7167060586276605D-04
--.1156616372469904D-04-.8000610566205314D-040.1291134218726644D-04
-0.8928564729752786D-04-.1440886961226929D-04-.9968672138364864D-04
-0.1608738933935444D-040.1114272391272199D-03-.1798206776156415D-04
--.1247774371157844D-030.2013651551366699D-040.1400760388418106D-03
--.2260539561021587D-04-.1577525118211425D-030.2545801528732096D-04
-0.1783582025511267D-03-.2878335054540236D-04-.2026106452901076D-03
-0.3269719667613068D-040.2314578281220329D-03-.3735253948527681D-04
--.2661733971656788D-030.4295491929665637D-040.3085010747980624D-03
--.4978573708714430D-04-.3608796739013979D-030.5823856716450639D-04
-0.4268045368520104D-03-.6887748599651892D-04-.5114288231755168D-03
-0.8253410768850847D-040.6226054234809117D-03-.1004757274921672D-03
--.7727812230408974D-030.1247110170406368D-030.9826448017572174D-03
--.1585786882018380D-03-.1288661285438230D-020.2079634633143654D-03
-0.1760064559812521D-02-.2840382695217011D-03-.2541776982554263D-02
-0.4101905987537787D-030.3980741565709959D-02-.6424099272005126D-03
--.7089509216132388D-020.1144101174176753D-020.1597157490519940D-01
--.2577484145293108D-02-.6393452627818492D-010.1031771937313466D-01
-0.1315499101020305D-030.3980931060364731D-05-.6393452627818429D-01
-0.1031771937313455D-010.2927527143407817D+00-.5061033237937254D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-05-.5098776122600387D-04
-0.8228377410748204D-050.4519256146769957D-04-.7293151198900231D-05
--.3981401266032415D-040.6425163892827973D-050.3478916893617300D-04
--.5614257322345751D-05-.3006329973748652D-040.4851599099556584D-05
-0.2558831255660659D-04-.4129428081509198D-05-.2132146425430071D-04
-0.3440846403444125D-050.1722429384915639D-04-.2779647252921669D-05
--.1326172498190355D-040.2140170025998270D-050.9401297415583386D-05
--.1517176307138179D-05-.5612495043095234D-050.9057414234337534D-06
-0.1866143715712640D-05-.3011572664961087D-060.1866143715512185D-05
--.3011572664637594D-06-.5612495043042305D-050.9057414234252119D-06
-0.9401297415863014D-05-.1517176307183306D-05-.1326172498198105D-04
-0.2140170026010777D-050.1722429384947072D-04-.2779647252972395D-05
--.2132146425429693D-040.3440846403443515D-050.2558831255668139D-04
--.4129428081521270D-05-.3006329973746788D-040.4851599099553577D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3981401266047105D-04
-0.6425163892851680D-050.4519256146756725D-04-.7293151198878877D-05
--.5098776122625716D-040.8228377410789080D-050.5727272713271265D-04
--.9242641819512053D-05-.6413319184916952D-040.1034977991584680D-04
-0.7167060586276605D-04-.1156616372469904D-04-.8000610566205314D-04
-0.1291134218726644D-040.8928564729752786D-04-.1440886961226929D-04
--.9968672138364864D-040.1608738933935444D-040.1114272391272199D-03
--.1798206776156415D-04-.1247774371157844D-030.2013651551366699D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1577525118211425D-03
-0.2545801528732096D-040.1783582025511267D-03-.2878335054540236D-04
--.2026106452901076D-030.3269719667613068D-040.2314578281220329D-03
--.3735253948527681D-04-.2661733971656788D-030.4295491929665637D-04
-0.3085010747980624D-03-.4978573708714430D-04-.3608796739013979D-03
-0.5823856716450639D-040.4268045368520104D-03-.6887748599651892D-04
--.5114288231755168D-030.8253410768850847D-040.6226054234809117D-03
--.1004757274921672D-03-.7727812230408974D-030.1247110170406368D-03
-0.9826448017572174D-03-.1585786882018380D-03-.1288661285438230D-02
-0.2079634633143654D-030.1760064559812521D-02-.2840382695217011D-03
--.2541776982554263D-020.4101905987537787D-030.3980741565709959D-02
--.6424099272005126D-03-.7089509216132388D-020.1144101174176753D-02
-0.1597157490519940D-01-.2577484145293108D-020.1444546692054133D-03
-0.5038740027685473D-050.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.2157239452786765D+00
--.4868036798000584D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.4268045368520104D-03
--.6887748599651892D-04-.5114288231755168D-030.8253410768850847D-04
-0.6226054234809117D-03-.1004757274921672D-03-.7727812230408974D-03
-0.1247110170406368D-030.9826448017572174D-03-.1585786882018380D-03
--.1288661285438230D-020.2079634633143654D-030.1760064559812521D-02
--.2840382695217011D-03-.2541776982554263D-020.4101905987537787D-03
-0.3980741565709959D-02-.6424099272005126D-03-.7089509216132388D-02
-0.1144101174176753D-020.1574251928385321D-030.6107296557512106D-05
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
-0.1557709757413722D+00-.4569036816326588D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.4519256146769957D-04-.7293151198900231D-05-.3981401266032415D-04
-0.6425163892827973D-050.3478916893617300D-04-.5614257322345751D-05
--.3006329973748652D-040.4851599099556584D-050.2558831255660659D-04
--.4129428081509198D-05-.2132146425430071D-040.3440846403444125D-05
-0.1722429384915639D-04-.2779647252921669D-05-.1326172498190355D-04
-0.2140170025998270D-050.9401297415583386D-05-.1517176307138179D-05
--.5612495043095234D-050.9057414234337534D-060.1866143715712640D-05
--.3011572664961087D-060.1866143715512185D-05-.3011572664637594D-06
--.5612495043042305D-050.9057414234252119D-060.9401297415863014D-05
--.1517176307183306D-05-.1326172498198105D-040.2140170026010777D-05
-0.1722429384947072D-04-.2779647252972395D-05-.2132146425429693D-04
-0.3440846403443515D-050.2558831255668139D-04-.4129428081521270D-05
--.3006329973746788D-040.4851599099553577D-050.3478916893609630D-04
--.5614257322333374D-05-.3981401266047105D-040.6425163892851680D-05
-0.4519256146756725D-04-.7293151198878877D-05-.5098776122625716D-04
-0.8228377410789080D-050.5727272713271265D-04-.9242641819512053D-05
--.6413319184916952D-040.1034977991584680D-040.7167060586276605D-04
--.1156616372469904D-04-.8000610566205314D-040.1291134218726644D-04
-0.8928564729752786D-04-.1440886961226929D-04-.9968672138364864D-04
-0.1608738933935444D-040.1114272391272199D-03-.1798206776156415D-04
--.1247774371157844D-030.2013651551366699D-040.1400760388418106D-03
--.2260539561021587D-04-.1577525118211425D-030.2545801528732096D-04
-0.1783582025511267D-03-.2878335054540236D-04-.2026106452901076D-03
-0.3269719667613068D-040.2314578281220329D-03-.3735253948527681D-04
--.2661733971656788D-030.4295491929665637D-040.3085010747980624D-03
--.4978573708714430D-04-.3608796739013979D-030.5823856716450639D-04
-0.4268045368520104D-03-.6887748599651892D-04-.5114288231755168D-03
-0.8253410768850847D-040.6226054234809117D-03-.1004757274921672D-03
--.7727812230408974D-030.1247110170406368D-030.9826448017572174D-03
--.1585786882018380D-03-.1288661285438230D-020.2079634633143654D-03
-0.1760064559812521D-02-.2840382695217011D-03-.2541776982554263D-02
-0.4101905987537787D-030.3980741565709959D-02-.6424099272005126D-03
-0.1704618139382066D-030.7186682901146465D-050.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-010.1096566252142961D+00-.4209739735795140D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-05-.5098776122600387D-04
-0.8228377410748204D-050.4519256146769957D-04-.7293151198900231D-05
--.3981401266032415D-040.6425163892827973D-050.3478916893617300D-04
--.5614257322345751D-05-.3006329973748652D-040.4851599099556584D-05
-0.2558831255660659D-04-.4129428081509198D-05-.2132146425430071D-04
-0.3440846403444125D-050.1722429384915639D-04-.2779647252921669D-05
--.1326172498190355D-040.2140170025998270D-050.9401297415583386D-05
--.1517176307138179D-05-.5612495043095234D-050.9057414234337534D-06
-0.1866143715712640D-05-.3011572664961087D-060.1866143715512185D-05
--.3011572664637594D-06-.5612495043042305D-050.9057414234252119D-06
-0.9401297415863014D-05-.1517176307183306D-05-.1326172498198105D-04
-0.2140170026010777D-050.1722429384947072D-04-.2779647252972395D-05
--.2132146425429693D-040.3440846403443515D-050.2558831255668139D-04
--.4129428081521270D-05-.3006329973746788D-040.4851599099553577D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3981401266047105D-04
-0.6425163892851680D-050.4519256146756725D-04-.7293151198878877D-05
--.5098776122625716D-040.8228377410789080D-050.5727272713271265D-04
--.9242641819512053D-05-.6413319184916952D-040.1034977991584680D-04
-0.7167060586276605D-04-.1156616372469904D-04-.8000610566205314D-04
-0.1291134218726644D-040.8928564729752786D-04-.1440886961226929D-04
--.9968672138364864D-040.1608738933935444D-040.1114272391272199D-03
--.1798206776156415D-04-.1247774371157844D-030.2013651551366699D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1577525118211425D-03
-0.2545801528732096D-040.1783582025511267D-03-.2878335054540236D-04
--.2026106452901076D-030.3269719667613068D-040.2314578281220329D-03
--.3735253948527681D-04-.2661733971656788D-030.4295491929665637D-04
-0.3085010747980624D-03-.4978573708714430D-04-.3608796739013979D-03
-0.5823856716450639D-040.4268045368520104D-03-.6887748599651892D-04
--.5114288231755168D-030.8253410768850847D-040.6226054234809117D-03
--.1004757274921672D-03-.7727812230408974D-030.1247110170406368D-03
-0.9826448017572174D-03-.1585786882018380D-03-.1288661285438230D-02
-0.2079634633143654D-030.1760064559812521D-02-.2840382695217011D-03
--.2541776982554263D-020.4101905987537787D-030.1835648671152865D-03
-0.8276981869115928D-05-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.7471858919825108D-01
--.3823258786163024D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.4268045368520104D-03
--.6887748599651892D-04-.5114288231755168D-030.8253410768850847D-04
-0.6226054234809117D-03-.1004757274921672D-03-.7727812230408974D-03
-0.1247110170406368D-030.9826448017572174D-03-.1585786882018380D-03
--.1288661285438230D-020.2079634633143654D-030.1760064559812521D-02
--.2840382695217011D-030.1967346886630121D-030.9378276834732454D-05
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
-0.4877067593222251D-01-.3433058868290575D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.4519256146769957D-04-.7293151198900231D-05-.3981401266032415D-04
-0.6425163892827973D-050.3478916893617300D-04-.5614257322345751D-05
--.3006329973748652D-040.4851599099556584D-050.2558831255660659D-04
--.4129428081509198D-05-.2132146425430071D-040.3440846403444125D-05
-0.1722429384915639D-04-.2779647252921669D-05-.1326172498190355D-04
-0.2140170025998270D-050.9401297415583386D-05-.1517176307138179D-05
--.5612495043095234D-050.9057414234337534D-060.1866143715712640D-05
--.3011572664961087D-060.1866143715512185D-05-.3011572664637594D-06
--.5612495043042305D-050.9057414234252119D-060.9401297415863014D-05
--.1517176307183306D-05-.1326172498198105D-040.2140170026010777D-05
-0.1722429384947072D-04-.2779647252972395D-05-.2132146425429693D-04
-0.3440846403443515D-050.2558831255668139D-04-.4129428081521270D-05
--.3006329973746788D-040.4851599099553577D-050.3478916893609630D-04
--.5614257322333374D-05-.3981401266047105D-040.6425163892851680D-05
-0.4519256146756725D-04-.7293151198878877D-05-.5098776122625716D-04
-0.8228377410789080D-050.5727272713271265D-04-.9242641819512053D-05
--.6413319184916952D-040.1034977991584680D-040.7167060586276605D-04
--.1156616372469904D-04-.8000610566205314D-040.1291134218726644D-04
-0.8928564729752786D-04-.1440886961226929D-04-.9968672138364864D-04
-0.1608738933935444D-040.1114272391272199D-03-.1798206776156415D-04
--.1247774371157844D-030.2013651551366699D-040.1400760388418106D-03
--.2260539561021587D-04-.1577525118211425D-030.2545801528732096D-04
-0.1783582025511267D-03-.2878335054540236D-04-.2026106452901076D-03
-0.3269719667613068D-040.2314578281220329D-03-.3735253948527681D-04
--.2661733971656788D-030.4295491929665637D-040.3085010747980624D-03
--.4978573708714430D-04-.3608796739013979D-030.5823856716450639D-04
-0.4268045368520104D-03-.6887748599651892D-04-.5114288231755168D-03
-0.8253410768850847D-040.6226054234809117D-03-.1004757274921672D-03
--.7727812230408974D-030.1247110170406368D-030.9826448017572174D-03
--.1585786882018380D-03-.1288661285438230D-020.2079634633143654D-03
-0.2099716165654131D-030.1049065173767338D-04-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-010.3002068643018266D-01-.3055268727498139D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-05-.5098776122600387D-04
-0.8228377410748204D-050.4519256146769957D-04-.7293151198900231D-05
--.3981401266032415D-040.6425163892827973D-050.3478916893617300D-04
--.5614257322345751D-05-.3006329973748652D-040.4851599099556584D-05
-0.2558831255660659D-04-.4129428081509198D-05-.2132146425430071D-04
-0.3440846403444125D-050.1722429384915639D-04-.2779647252921669D-05
--.1326172498190355D-040.2140170025998270D-050.9401297415583386D-05
--.1517176307138179D-05-.5612495043095234D-050.9057414234337534D-06
-0.1866143715712640D-05-.3011572664961087D-060.1866143715512185D-05
--.3011572664637594D-06-.5612495043042305D-050.9057414234252119D-06
-0.9401297415863014D-05-.1517176307183306D-05-.1326172498198105D-04
-0.2140170026010777D-050.1722429384947072D-04-.2779647252972395D-05
--.2132146425429693D-040.3440846403443515D-050.2558831255668139D-04
--.4129428081521270D-05-.3006329973746788D-040.4851599099553577D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3981401266047105D-04
-0.6425163892851680D-050.4519256146756725D-04-.7293151198878877D-05
--.5098776122625716D-040.8228377410789080D-050.5727272713271265D-04
--.9242641819512053D-05-.6413319184916952D-040.1034977991584680D-04
-0.7167060586276605D-04-.1156616372469904D-04-.8000610566205314D-04
-0.1291134218726644D-040.8928564729752786D-04-.1440886961226929D-04
--.9968672138364864D-040.1608738933935444D-040.1114272391272199D-03
--.1798206776156415D-04-.1247774371157844D-030.2013651551366699D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1577525118211425D-03
-0.2545801528732096D-040.1783582025511267D-03-.2878335054540236D-04
--.2026106452901076D-030.3269719667613068D-040.2314578281220329D-03
--.3735253948527681D-04-.2661733971656788D-030.4295491929665637D-04
-0.3085010747980624D-03-.4978573708714430D-04-.3608796739013979D-03
-0.5823856716450639D-040.4268045368520104D-03-.6887748599651892D-04
--.5114288231755168D-030.8253410768850847D-040.6226054234809117D-03
--.1004757274921672D-03-.7727812230408974D-030.1247110170406368D-03
-0.9826448017572174D-03-.1585786882018380D-030.2232759905057449D-03
-0.1161419108758396D-040.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.1700216908900937D-01
--.2700489567358313D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.4268045368520104D-03
--.6887748599651892D-04-.5114288231755168D-030.8253410768850847D-04
-0.6226054234809117D-03-.1004757274921672D-03-.7727812230408974D-03
-0.1247110170406368D-030.2366481518749747D-030.1274897996770195D-04
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
-0.8517736161626044D-02-.2375203779188533D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.4519256146769957D-04-.7293151198900231D-05-.3981401266032415D-04
-0.6425163892827973D-050.3478916893617300D-04-.5614257322345751D-05
--.3006329973748652D-040.4851599099556584D-050.2558831255660659D-04
--.4129428081509198D-05-.2132146425430071D-040.3440846403444125D-05
-0.1722429384915639D-04-.2779647252921669D-05-.1326172498190355D-04
-0.2140170025998270D-050.9401297415583386D-05-.1517176307138179D-05
--.5612495043095234D-050.9057414234337534D-060.1866143715712640D-05
--.3011572664961087D-060.1866143715512185D-05-.3011572664637594D-06
--.5612495043042305D-050.9057414234252119D-060.9401297415863014D-05
--.1517176307183306D-05-.1326172498198105D-040.2140170026010777D-05
-0.1722429384947072D-04-.2779647252972395D-05-.2132146425429693D-04
-0.3440846403443515D-050.2558831255668139D-04-.4129428081521270D-05
--.3006329973746788D-040.4851599099553577D-050.3478916893609630D-04
--.5614257322333374D-05-.3981401266047105D-040.6425163892851680D-05
-0.4519256146756725D-04-.7293151198878877D-05-.5098776122625716D-04
-0.8228377410789080D-050.5727272713271265D-04-.9242641819512053D-05
--.6413319184916952D-040.1034977991584680D-040.7167060586276605D-04
--.1156616372469904D-04-.8000610566205314D-040.1291134218726644D-04
-0.8928564729752786D-04-.1440886961226929D-04-.9968672138364864D-04
-0.1608738933935444D-040.1114272391272199D-03-.1798206776156415D-04
--.1247774371157844D-030.2013651551366699D-040.1400760388418106D-03
--.2260539561021587D-04-.1577525118211425D-030.2545801528732096D-04
-0.1783582025511267D-03-.2878335054540236D-04-.2026106452901076D-03
-0.3269719667613068D-040.2314578281220329D-03-.3735253948527681D-04
--.2661733971656788D-030.4295491929665637D-040.3085010747980624D-03
--.4978573708714430D-04-.3608796739013979D-030.5823856716450639D-04
-0.4268045368520104D-03-.6887748599651892D-04-.5114288231755168D-03
-0.8253410768850847D-040.6226054234809117D-03-.1004757274921672D-03
-0.2500884437803040D-030.1389510403850428D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-010.3592010968872295D-02-.2082866889705388D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-05-.5098776122600387D-04
-0.8228377410748204D-050.4519256146769957D-04-.7293151198900231D-05
--.3981401266032415D-040.6425163892827973D-050.3478916893617300D-04
--.5614257322345751D-05-.3006329973748652D-040.4851599099556584D-05
-0.2558831255660659D-04-.4129428081509198D-05-.2132146425430071D-04
-0.3440846403444125D-050.1722429384915639D-04-.2779647252921669D-05
--.1326172498190355D-040.2140170025998270D-050.9401297415583386D-05
--.1517176307138179D-05-.5612495043095234D-050.9057414234337534D-06
-0.1866143715712640D-05-.3011572664961087D-060.1866143715512185D-05
--.3011572664637594D-06-.5612495043042305D-050.9057414234252119D-06
-0.9401297415863014D-05-.1517176307183306D-05-.1326172498198105D-04
-0.2140170026010777D-050.1722429384947072D-04-.2779647252972395D-05
--.2132146425429693D-040.3440846403443515D-050.2558831255668139D-04
--.4129428081521270D-05-.3006329973746788D-040.4851599099553577D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3981401266047105D-04
-0.6425163892851680D-050.4519256146756725D-04-.7293151198878877D-05
--.5098776122625716D-040.8228377410789080D-050.5727272713271265D-04
--.9242641819512053D-05-.6413319184916952D-040.1034977991584680D-04
-0.7167060586276605D-04-.1156616372469904D-04-.8000610566205314D-04
-0.1291134218726644D-040.8928564729752786D-04-.1440886961226929D-04
--.9968672138364864D-040.1608738933935444D-040.1114272391272199D-03
--.1798206776156415D-04-.1247774371157844D-030.2013651551366699D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1577525118211425D-03
-0.2545801528732096D-040.1783582025511267D-03-.2878335054540236D-04
--.2026106452901076D-030.3269719667613068D-040.2314578281220329D-03
--.3735253948527681D-04-.2661733971656788D-030.4295491929665637D-04
-0.3085010747980624D-03-.4978573708714430D-04-.3608796739013979D-03
-0.5823856716450639D-040.4268045368520104D-03-.6887748599651892D-04
--.5114288231755168D-030.8253410768850847D-040.2635972110537330D-03
-0.1505264954137583D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.1432593898717735D-02
--.1824749233535114D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.4268045368520104D-03
--.6887748599651892D-040.2771748002606731D-030.1622170330230075D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
-0.1397702131734624D-02-.1600580484709967D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.4519256146769957D-04-.7293151198900231D-05-.3981401266032415D-04
-0.6425163892827973D-050.3478916893617300D-04-.5614257322345751D-05
--.3006329973748652D-040.4851599099556584D-050.2558831255660659D-04
--.4129428081509198D-05-.2132146425430071D-040.3440846403444125D-05
-0.1722429384915639D-04-.2779647252921669D-05-.1326172498190355D-04
-0.2140170025998270D-050.9401297415583386D-05-.1517176307138179D-05
--.5612495043095234D-050.9057414234337534D-060.1866143715712640D-05
--.3011572664961087D-060.1866143715512185D-05-.3011572664637594D-06
--.5612495043042305D-050.9057414234252119D-060.9401297415863014D-05
--.1517176307183306D-05-.1326172498198105D-040.2140170026010777D-05
-0.1722429384947072D-04-.2779647252972395D-05-.2132146425429693D-04
-0.3440846403443515D-050.2558831255668139D-04-.4129428081521270D-05
--.3006329973746788D-040.4851599099553577D-050.3478916893609630D-04
--.5614257322333374D-05-.3981401266047105D-040.6425163892851680D-05
-0.4519256146756725D-04-.7293151198878877D-05-.5098776122625716D-04
-0.8228377410789080D-050.5727272713271265D-04-.9242641819512053D-05
--.6413319184916952D-040.1034977991584680D-040.7167060586276605D-04
--.1156616372469904D-04-.8000610566205314D-040.1291134218726644D-04
-0.8928564729752786D-04-.1440886961226929D-04-.9968672138364864D-04
-0.1608738933935444D-040.1114272391272199D-03-.1798206776156415D-04
--.1247774371157844D-030.2013651551366699D-040.1400760388418106D-03
--.2260539561021587D-04-.1577525118211425D-030.2545801528732096D-04
-0.1783582025511267D-03-.2878335054540236D-04-.2026106452901076D-03
-0.3269719667613068D-040.2314578281220329D-03-.3735253948527681D-04
--.2661733971656788D-030.4295491929665637D-040.3085010747980624D-03
--.4978573708714430D-04-.3608796739013979D-030.5823856716450639D-04
-0.2908215597085934D-030.1740235273557609D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-010.2969361130056608D-02-.1409039418766617D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-05-.5098776122600387D-04
-0.8228377410748204D-050.4519256146769957D-04-.7293151198900231D-05
--.3981401266032415D-040.6425163892827973D-050.3478916893617300D-04
--.5614257322345751D-05-.3006329973748652D-040.4851599099556584D-05
-0.2558831255660659D-04-.4129428081509198D-05-.2132146425430071D-04
-0.3440846403444125D-050.1722429384915639D-04-.2779647252921669D-05
--.1326172498190355D-040.2140170025998270D-050.9401297415583386D-05
--.1517176307138179D-05-.5612495043095234D-050.9057414234337534D-06
-0.1866143715712640D-05-.3011572664961087D-060.1866143715512185D-05
--.3011572664637594D-06-.5612495043042305D-050.9057414234252119D-06
-0.9401297415863014D-05-.1517176307183306D-05-.1326172498198105D-04
-0.2140170026010777D-050.1722429384947072D-04-.2779647252972395D-05
--.2132146425429693D-040.3440846403443515D-050.2558831255668139D-04
--.4129428081521270D-05-.3006329973746788D-040.4851599099553577D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3981401266047105D-04
-0.6425163892851680D-050.4519256146756725D-04-.7293151198878877D-05
--.5098776122625716D-040.8228377410789080D-050.5727272713271265D-04
--.9242641819512053D-05-.6413319184916952D-040.1034977991584680D-04
-0.7167060586276605D-04-.1156616372469904D-04-.8000610566205314D-04
-0.1291134218726644D-040.8928564729752786D-04-.1440886961226929D-04
--.9968672138364864D-040.1608738933935444D-040.1114272391272199D-03
--.1798206776156415D-04-.1247774371157844D-030.2013651551366699D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1577525118211425D-03
-0.2545801528732096D-040.1783582025511267D-03-.2878335054540236D-04
--.2026106452901076D-030.3269719667613068D-040.2314578281220329D-03
--.3735253948527681D-04-.2661733971656788D-030.4295491929665637D-04
-0.3085010747980624D-03-.4978573708714430D-040.3045378394557195D-03
-0.1859468584754816D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.5731212358601079D-02
--.1248122626208860D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3183239913197660D-030.1979879124037159D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
-0.9350157447874083D-02-.1115418954076180D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.4519256146769957D-04-.7293151198900231D-05-.3981401266032415D-04
-0.6425163892827973D-050.3478916893617300D-04-.5614257322345751D-05
--.3006329973748652D-040.4851599099556584D-050.2558831255660659D-04
--.4129428081509198D-05-.2132146425430071D-040.3440846403444125D-05
-0.1722429384915639D-04-.2779647252921669D-05-.1326172498190355D-04
-0.2140170025998270D-050.9401297415583386D-05-.1517176307138179D-05
--.5612495043095234D-050.9057414234337534D-060.1866143715712640D-05
--.3011572664961087D-060.1866143715512185D-05-.3011572664637594D-06
--.5612495043042305D-050.9057414234252119D-060.9401297415863014D-05
--.1517176307183306D-05-.1326172498198105D-040.2140170026010777D-05
-0.1722429384947072D-04-.2779647252972395D-05-.2132146425429693D-04
-0.3440846403443515D-050.2558831255668139D-04-.4129428081521270D-05
--.3006329973746788D-040.4851599099553577D-050.3478916893609630D-04
--.5614257322333374D-05-.3981401266047105D-040.6425163892851680D-05
-0.4519256146756725D-04-.7293151198878877D-05-.5098776122625716D-04
-0.8228377410789080D-050.5727272713271265D-04-.9242641819512053D-05
--.6413319184916952D-040.1034977991584680D-040.7167060586276605D-04
--.1156616372469904D-04-.8000610566205314D-040.1291134218726644D-04
-0.8928564729752786D-04-.1440886961226929D-04-.9968672138364864D-04
-0.1608738933935444D-040.1114272391272199D-03-.1798206776156415D-04
--.1247774371157844D-030.2013651551366699D-040.1400760388418106D-03
--.2260539561021587D-04-.1577525118211425D-030.2545801528732096D-04
-0.1783582025511267D-03-.2878335054540236D-04-.2026106452901076D-03
-0.3269719667613068D-040.2314578281220329D-03-.3735253948527681D-04
-0.3321803688867207D-030.2101475811579130D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-010.1356118906725279D-01-.1008310886583305D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-05-.5098776122600387D-04
-0.8228377410748204D-050.4519256146769957D-04-.7293151198900231D-05
--.3981401266032415D-040.6425163892827973D-050.3478916893617300D-04
--.5614257322345751D-05-.3006329973748652D-040.4851599099556584D-05
-0.2558831255660659D-04-.4129428081509198D-05-.2132146425430071D-04
-0.3440846403444125D-050.1722429384915639D-04-.2779647252921669D-05
--.1326172498190355D-040.2140170025998270D-050.9401297415583386D-05
--.1517176307138179D-05-.5612495043095234D-050.9057414234337534D-06
-0.1866143715712640D-05-.3011572664961087D-060.1866143715512185D-05
--.3011572664637594D-06-.5612495043042305D-050.9057414234252119D-06
-0.9401297415863014D-05-.1517176307183306D-05-.1326172498198105D-04
-0.2140170026010777D-050.1722429384947072D-04-.2779647252972395D-05
--.2132146425429693D-040.3440846403443515D-050.2558831255668139D-04
--.4129428081521270D-05-.3006329973746788D-040.4851599099553577D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3981401266047105D-04
-0.6425163892851680D-050.4519256146756725D-04-.7293151198878877D-05
--.5098776122625716D-040.8228377410789080D-050.5727272713271265D-04
--.9242641819512053D-05-.6413319184916952D-040.1034977991584680D-04
-0.7167060586276605D-04-.1156616372469904D-04-.8000610566205314D-04
-0.1291134218726644D-040.8928564729752786D-04-.1440886961226929D-04
--.9968672138364864D-040.1608738933935444D-040.1114272391272199D-03
--.1798206776156415D-04-.1247774371157844D-030.2013651551366699D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1577525118211425D-03
-0.2545801528732096D-040.1783582025511267D-03-.2878335054540236D-04
--.2026106452901076D-030.3269719667613068D-040.3461073275196676D-03
-0.2224267627894746D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.1815486735526482D-01
--.9241196217609635D-02-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-040.3601052243676528D-030.2348263614220369D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
-0.2296699136715612D-01-.8602070427593237D-02-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.4519256146769957D-04-.7293151198900231D-05-.3981401266032415D-04
-0.6425163892827973D-050.3478916893617300D-04-.5614257322345751D-05
--.3006329973748652D-040.4851599099556584D-050.2558831255660659D-04
--.4129428081509198D-05-.2132146425430071D-040.3440846403444125D-05
-0.1722429384915639D-04-.2779647252921669D-05-.1326172498190355D-04
-0.2140170025998270D-050.9401297415583386D-05-.1517176307138179D-05
--.5612495043095234D-050.9057414234337534D-060.1866143715712640D-05
--.3011572664961087D-060.1866143715512185D-05-.3011572664637594D-06
--.5612495043042305D-050.9057414234252119D-060.9401297415863014D-05
--.1517176307183306D-05-.1326172498198105D-040.2140170026010777D-05
-0.1722429384947072D-04-.2779647252972395D-05-.2132146425429693D-04
-0.3440846403443515D-050.2558831255668139D-04-.4129428081521270D-05
--.3006329973746788D-040.4851599099553577D-050.3478916893609630D-04
--.5614257322333374D-05-.3981401266047105D-040.6425163892851680D-05
-0.4519256146756725D-04-.7293151198878877D-05-.5098776122625716D-04
-0.8228377410789080D-050.5727272713271265D-04-.9242641819512053D-05
--.6413319184916952D-040.1034977991584680D-040.7167060586276605D-04
--.1156616372469904D-04-.8000610566205314D-040.1291134218726644D-04
-0.8928564729752786D-04-.1440886961226929D-04-.9968672138364864D-04
-0.1608738933935444D-040.1114272391272199D-03-.1798206776156415D-04
--.1247774371157844D-030.2013651551366699D-040.1400760388418106D-03
--.2260539561021587D-04-.1577525118211425D-030.2545801528732096D-04
-0.3741744183745985D-030.2473472872899837D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-010.2787009059662764D-01-.8140449450940520D-02
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-05-.5098776122600387D-04
-0.8228377410748204D-050.4519256146769957D-04-.7293151198900231D-05
--.3981401266032415D-040.6425163892827973D-050.3478916893617300D-04
--.5614257322345751D-05-.3006329973748652D-040.4851599099556584D-05
-0.2558831255660659D-04-.4129428081509198D-05-.2132146425430071D-04
-0.3440846403444125D-050.1722429384915639D-04-.2779647252921669D-05
--.1326172498190355D-040.2140170025998270D-050.9401297415583386D-05
--.1517176307138179D-05-.5612495043095234D-050.9057414234337534D-06
-0.1866143715712640D-05-.3011572664961087D-060.1866143715512185D-05
--.3011572664637594D-06-.5612495043042305D-050.9057414234252119D-06
-0.9401297415863014D-05-.1517176307183306D-05-.1326172498198105D-04
-0.2140170026010777D-050.1722429384947072D-04-.2779647252972395D-05
--.2132146425429693D-040.3440846403443515D-050.2558831255668139D-04
--.4129428081521270D-05-.3006329973746788D-040.4851599099553577D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3981401266047105D-04
-0.6425163892851680D-050.4519256146756725D-04-.7293151198878877D-05
--.5098776122625716D-040.8228377410789080D-050.5727272713271265D-04
--.9242641819512053D-05-.6413319184916952D-040.1034977991584680D-04
-0.7167060586276605D-04-.1156616372469904D-04-.8000610566205314D-04
-0.1291134218726644D-040.8928564729752786D-04-.1440886961226929D-04
--.9968672138364864D-040.1608738933935444D-040.1114272391272199D-03
--.1798206776156415D-04-.1247774371157844D-030.2013651551366699D-04
-0.1400760388418106D-03-.2260539561021587D-040.3883152702882559D-03
-0.2599904567771967D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.3276642467527989D-01
--.7832596231436846D-02-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.4025281426692064D-030.2727567924560386D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
-0.3758223191522410D-01-.7656581262990280D-02-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.4519256146769957D-04-.7293151198900231D-05-.3981401266032415D-04
-0.6425163892827973D-050.3478916893617300D-04-.5614257322345751D-05
--.3006329973748652D-040.4851599099556584D-050.2558831255660659D-04
--.4129428081509198D-05-.2132146425430071D-040.3440846403444125D-05
-0.1722429384915639D-04-.2779647252921669D-05-.1326172498190355D-04
-0.2140170025998270D-050.9401297415583386D-05-.1517176307138179D-05
--.5612495043095234D-050.9057414234337534D-060.1866143715712640D-05
--.3011572664961087D-060.1866143715512185D-05-.3011572664637594D-06
--.5612495043042305D-050.9057414234252119D-060.9401297415863014D-05
--.1517176307183306D-05-.1326172498198105D-040.2140170026010777D-05
-0.1722429384947072D-04-.2779647252972395D-05-.2132146425429693D-04
-0.3440846403443515D-050.2558831255668139D-04-.4129428081521270D-05
--.3006329973746788D-040.4851599099553577D-050.3478916893609630D-04
--.5614257322333374D-05-.3981401266047105D-040.6425163892851680D-05
-0.4519256146756725D-04-.7293151198878877D-05-.5098776122625716D-04
-0.8228377410789080D-050.5727272713271265D-04-.9242641819512053D-05
--.6413319184916952D-040.1034977991584680D-040.7167060586276605D-04
--.1156616372469904D-04-.8000610566205314D-040.1291134218726644D-04
-0.8928564729752786D-04-.1440886961226929D-04-.9968672138364864D-04
-0.1608738933935444D-040.1114272391272199D-03-.1798206776156415D-04
-0.4168133998999086D-030.2856472231265750D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-010.4226301116560104D-01-.7592410749930865D-02
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-05-.5098776122600387D-04
-0.8228377410748204D-050.4519256146769957D-04-.7293151198900231D-05
--.3981401266032415D-040.6425163892827973D-050.3478916893617300D-04
--.5614257322345751D-05-.3006329973748652D-040.4851599099556584D-05
-0.2558831255660659D-04-.4129428081509198D-05-.2132146425430071D-04
-0.3440846403444125D-050.1722429384915639D-04-.2779647252921669D-05
--.1326172498190355D-040.2140170025998270D-050.9401297415583386D-05
--.1517176307138179D-05-.5612495043095234D-050.9057414234337534D-06
-0.1866143715712640D-05-.3011572664961087D-060.1866143715512185D-05
--.3011572664637594D-06-.5612495043042305D-050.9057414234252119D-06
-0.9401297415863014D-05-.1517176307183306D-05-.1326172498198105D-04
-0.2140170026010777D-050.1722429384947072D-04-.2779647252972395D-05
--.2132146425429693D-040.3440846403443515D-050.2558831255668139D-04
--.4129428081521270D-05-.3006329973746788D-040.4851599099553577D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3981401266047105D-04
-0.6425163892851680D-050.4519256146756725D-04-.7293151198878877D-05
--.5098776122625716D-040.8228377410789080D-050.5727272713271265D-04
--.9242641819512053D-05-.6413319184916952D-040.1034977991584680D-04
-0.7167060586276605D-04-.1156616372469904D-04-.8000610566205314D-04
-0.1291134218726644D-040.8928564729752786D-04-.1440886961226929D-04
--.9968672138364864D-040.1608738933935444D-040.4311714081937841D-03
-0.2986626838560346D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.4676965794798595D-01
--.7622058049335034D-02-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-040.4456025356043519D-030.3118041160185087D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
-0.5107530622773573D-01-.7729427242199239D-02-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.4519256146769957D-04-.7293151198900231D-05-.3981401266032415D-04
-0.6425163892827973D-050.3478916893617300D-04-.5614257322345751D-05
--.3006329973748652D-040.4851599099556584D-050.2558831255660659D-04
--.4129428081509198D-05-.2132146425430071D-040.3440846403444125D-05
-0.1722429384915639D-04-.2779647252921669D-05-.1326172498190355D-04
-0.2140170025998270D-050.9401297415583386D-05-.1517176307138179D-05
--.5612495043095234D-050.9057414234337534D-060.1866143715712640D-05
--.3011572664961087D-060.1866143715512185D-05-.3011572664637594D-06
--.5612495043042305D-050.9057414234252119D-060.9401297415863014D-05
--.1517176307183306D-05-.1326172498198105D-040.2140170026010777D-05
-0.1722429384947072D-04-.2779647252972395D-05-.2132146425429693D-04
-0.3440846403443515D-050.2558831255668139D-04-.4129428081521270D-05
--.3006329973746788D-040.4851599099553577D-050.3478916893609630D-04
--.5614257322333374D-05-.3981401266047105D-040.6425163892851680D-05
-0.4519256146756725D-04-.7293151198878877D-05-.5098776122625716D-04
-0.8228377410789080D-050.5727272713271265D-04-.9242641819512053D-05
--.6413319184916952D-040.1034977991584680D-040.7167060586276605D-04
--.1156616372469904D-04-.8000610566205314D-040.1291134218726644D-04
-0.4601071520344119D-030.3250724673348925D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-010.5516275247888457D-01-.7900270743738223D-02
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-05-.5098776122600387D-04
-0.8228377410748204D-050.4519256146769957D-04-.7293151198900231D-05
--.3981401266032415D-040.6425163892827973D-050.3478916893617300D-04
--.5614257322345751D-05-.3006329973748652D-040.4851599099556584D-05
-0.2558831255660659D-04-.4129428081509198D-05-.2132146425430071D-04
-0.3440846403444125D-050.1722429384915639D-04-.2779647252921669D-05
--.1326172498190355D-040.2140170025998270D-050.9401297415583386D-05
--.1517176307138179D-05-.5612495043095234D-050.9057414234337534D-06
-0.1866143715712640D-05-.3011572664961087D-060.1866143715512185D-05
--.3011572664637594D-06-.5612495043042305D-050.9057414234252119D-06
-0.9401297415863014D-05-.1517176307183306D-05-.1326172498198105D-04
-0.2140170026010777D-050.1722429384947072D-04-.2779647252972395D-05
--.2132146425429693D-040.3440846403443515D-050.2558831255668139D-04
--.4129428081521270D-05-.3006329973746788D-040.4851599099553577D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3981401266047105D-04
-0.6425163892851680D-050.4519256146756725D-04-.7293151198878877D-05
--.5098776122625716D-040.8228377410789080D-050.5727272713271265D-04
--.9242641819512053D-05-.6413319184916952D-040.1034977991584680D-04
-0.7167060586276605D-04-.1156616372469904D-040.4746856292452647D-03
-0.3384686919130694D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.5902235975385258D-01
--.8122077438341108D-02-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.4893383408659858D-030.3519937502883382D-04
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
-0.6265035698167873D-01-.8383943600343269D-02-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.4519256146769957D-04-.7293151198900231D-05-.3981401266032415D-04
-0.6425163892827973D-050.3478916893617300D-04-.5614257322345751D-05
--.3006329973748652D-040.4851599099556584D-050.2558831255660659D-04
--.4129428081509198D-05-.2132146425430071D-040.3440846403444125D-05
-0.1722429384915639D-04-.2779647252921669D-05-.1326172498190355D-04
-0.2140170025998270D-050.9401297415583386D-05-.1517176307138179D-05
--.5612495043095234D-050.9057414234337534D-060.1866143715712640D-05
--.3011572664961087D-060.1866143715512185D-05-.3011572664637594D-06
--.5612495043042305D-050.9057414234252119D-060.9401297415863014D-05
--.1517176307183306D-05-.1326172498198105D-040.2140170026010777D-05
-0.1722429384947072D-04-.2779647252972395D-05-.2132146425429693D-04
-0.3440846403443515D-050.2558831255668139D-04-.4129428081521270D-05
--.3006329973746788D-040.4851599099553577D-050.3478916893609630D-04
--.5614257322333374D-05-.3981401266047105D-040.6425163892851680D-05
-0.4519256146756725D-04-.7293151198878877D-05-.5098776122625716D-04
-0.8228377410789080D-050.5727272713271265D-04-.9242641819512053D-05
-0.5040656624027409D-030.3656486094640881D-040.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-010.6604746327913752D-01-.8676435588169473D-02
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-05-.5098776122600387D-04
-0.8228377410748204D-050.4519256146769957D-04-.7293151198900231D-05
--.3981401266032415D-040.6425163892827973D-050.3478916893617300D-04
--.5614257322345751D-05-.3006329973748652D-040.4851599099556584D-05
-0.2558831255660659D-04-.4129428081509198D-05-.2132146425430071D-04
-0.3440846403444125D-050.1722429384915639D-04-.2779647252921669D-05
--.1326172498190355D-040.2140170025998270D-050.9401297415583386D-05
--.1517176307138179D-05-.5612495043095234D-050.9057414234337534D-06
-0.1866143715712640D-05-.3011572664961087D-060.1866143715512185D-05
--.3011572664637594D-06-.5612495043042305D-050.9057414234252119D-06
-0.9401297415863014D-05-.1517176307183306D-05-.1326172498198105D-04
-0.2140170026010777D-050.1722429384947072D-04-.2779647252972395D-05
--.2132146425429693D-040.3440846403443515D-050.2558831255668139D-04
--.4129428081521270D-05-.3006329973746788D-040.4851599099553577D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3981401266047105D-04
-0.6425163892851680D-050.4519256146756725D-04-.7293151198878877D-05
--.5098776122625716D-040.8228377410789080D-050.5188679712481502D-03
-0.3794342429527186D-04-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.6921777916009794D-01
--.8991450776860036D-02-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-050.5337456466906940D-030.3933516308168090D-04
-0.4519256146769957D-04-.7293151198900231D-05-.5098776122600387D-04
-0.8228377410748204D-050.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
-0.7216789658063694D-01-.9322081262977695D-02-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.4519256146769957D-04-.7293151198900231D-05-.3981401266032415D-04
-0.6425163892827973D-050.3478916893617300D-04-.5614257322345751D-05
--.3006329973748652D-040.4851599099556584D-050.2558831255660659D-04
--.4129428081509198D-05-.2132146425430071D-040.3440846403444125D-05
-0.1722429384915639D-04-.2779647252921669D-05-.1326172498190355D-04
-0.2140170025998270D-050.9401297415583386D-05-.1517176307138179D-05
--.5612495043095234D-050.9057414234337534D-060.1866143715712640D-05
--.3011572664961087D-060.1866143715512185D-05-.3011572664637594D-06
--.5612495043042305D-050.9057414234252119D-060.9401297415863014D-05
--.1517176307183306D-05-.1326172498198105D-040.2140170026010777D-05
-0.1722429384947072D-04-.2779647252972395D-05-.2132146425429693D-04
-0.3440846403443515D-050.2558831255668139D-04-.4129428081521270D-05
--.3006329973746788D-040.4851599099553577D-050.3478916893609630D-04
--.5614257322333374D-05-.3981401266047105D-040.6425163892851680D-05
-0.5486990699241699D-030.4074017597105377D-04-.3981401266032415D-04
-0.6425163892827973D-050.4519256146769957D-04-.7293151198900231D-05
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-010.7490618810353455D-01-.9662483409213413D-02
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-05-.5098776122600387D-04
-0.8228377410748204D-050.4519256146769957D-04-.7293151198900231D-05
--.3981401266032415D-040.6425163892827973D-050.3478916893617300D-04
--.5614257322345751D-05-.3006329973748652D-040.4851599099556584D-05
-0.2558831255660659D-04-.4129428081509198D-05-.2132146425430071D-04
-0.3440846403444125D-050.1722429384915639D-04-.2779647252921669D-05
--.1326172498190355D-040.2140170025998270D-050.9401297415583386D-05
--.1517176307138179D-05-.5612495043095234D-050.9057414234337534D-06
-0.1866143715712640D-05-.3011572664961087D-060.1866143715512185D-05
--.3011572664637594D-06-.5612495043042305D-050.9057414234252119D-06
-0.9401297415863014D-05-.1517176307183306D-05-.1326172498198105D-04
-0.2140170026010777D-050.1722429384947072D-04-.2779647252972395D-05
--.2132146425429693D-040.3440846403443515D-050.2558831255668139D-04
--.4129428081521270D-05-.3006329973746788D-040.4851599099553577D-05
-0.3478916893609630D-04-.5614257322333374D-050.5637286240571986D-03
-0.4215856229213537D-040.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.7744224239182489D-01
--.1000775519245637D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.5788346941227656D-030.4359042204118991D-04
--.3006329973748652D-040.4851599099556584D-050.3478916893617300D-04
--.5614257322345751D-05-.3981401266032415D-040.6425163892827973D-05
-0.4519256146769957D-04-.7293151198900231D-05-.5098776122600387D-04
-0.8228377410748204D-050.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
-0.7978641898553364D-01-.1035382249831074D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.4519256146769957D-04-.7293151198900231D-05-.3981401266032415D-04
-0.6425163892827973D-050.3478916893617300D-04-.5614257322345751D-05
--.3006329973748652D-040.4851599099556584D-050.2558831255660659D-04
--.4129428081509198D-05-.2132146425430071D-040.3440846403444125D-05
-0.1722429384915639D-04-.2779647252921669D-05-.1326172498190355D-04
-0.2140170025998270D-050.9401297415583386D-05-.1517176307138179D-05
--.5612495043095234D-050.9057414234337534D-060.1866143715712640D-05
--.3011572664961087D-060.1866143715512185D-05-.3011572664637594D-06
--.5612495043042305D-050.9057414234252119D-060.9401297415863014D-05
--.1517176307183306D-05-.1326172498198105D-040.2140170026010777D-05
-0.1722429384947072D-04-.2779647252972395D-05-.2132146425429693D-04
-0.3440846403443515D-050.2558831255668139D-04-.4129428081521270D-05
-0.5940176670878278D-030.4503585588621884D-040.2558831255660659D-04
--.4129428081509198D-05-.3006329973748652D-040.4851599099556584D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3981401266032415D-04
-0.6425163892827973D-050.4519256146769957D-04-.7293151198900231D-05
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-010.8194950007742326D-01-.1069733490338830D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-05-.5098776122600387D-04
-0.8228377410748204D-050.4519256146769957D-04-.7293151198900231D-05
--.3981401266032415D-040.6425163892827973D-050.3478916893617300D-04
--.5614257322345751D-05-.3006329973748652D-040.4851599099556584D-05
-0.2558831255660659D-04-.4129428081509198D-05-.2132146425430071D-04
-0.3440846403444125D-050.1722429384915639D-04-.2779647252921669D-05
--.1326172498190355D-040.2140170025998270D-050.9401297415583386D-05
--.1517176307138179D-05-.5612495043095234D-050.9057414234337534D-06
-0.1866143715712640D-05-.3011572664961087D-060.1866143715512185D-05
--.3011572664637594D-06-.5612495043042305D-050.9057414234252119D-06
-0.9401297415863014D-05-.1517176307183306D-05-.1326172498198105D-04
-0.2140170026010777D-050.1722429384947072D-04-.2779647252972395D-05
--.2132146425429693D-040.3440846403443515D-050.6092779318629489D-03
-0.4649496517120420D-04-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.8394242094818047D-01
--.1103557105390731D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-050.6246158793119950D-030.4796785192037780D-04
-0.1722429384915639D-04-.2779647252921669D-05-.2132146425430071D-04
-0.3440846403444125D-050.2558831255660659D-04-.4129428081509198D-05
--.3006329973748652D-040.4851599099556584D-050.3478916893617300D-04
--.5614257322345751D-05-.3981401266032415D-040.6425163892827973D-05
-0.4519256146769957D-04-.7293151198900231D-05-.5098776122600387D-04
-0.8228377410748204D-050.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
-0.8577606398706922D-01-.1136635344559469D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.4519256146769957D-04-.7293151198900231D-05-.3981401266032415D-04
-0.6425163892827973D-050.3478916893617300D-04-.5614257322345751D-05
--.3006329973748652D-040.4851599099556584D-050.2558831255660659D-04
--.4129428081509198D-05-.2132146425430071D-040.3440846403444125D-05
-0.1722429384915639D-04-.2779647252921669D-05-.1326172498190355D-04
-0.2140170025998270D-050.9401297415583386D-05-.1517176307138179D-05
--.5612495043095234D-050.9057414234337534D-060.1866143715712640D-05
--.3011572664961087D-060.1866143715512185D-05-.3011572664637594D-06
--.5612495043042305D-050.9057414234252119D-060.9401297415863014D-05
--.1517176307183306D-05-.1326172498198105D-040.2140170026010777D-05
-0.6400319022618756D-030.4945461884251627D-04-.1326172498190355D-04
-0.2140170025998270D-050.1722429384915639D-04-.2779647252921669D-05
--.2132146425430071D-040.3440846403444125D-050.2558831255660659D-04
--.4129428081509198D-05-.3006329973748652D-040.4851599099556584D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3981401266032415D-04
-0.6425163892827973D-050.4519256146769957D-04-.7293151198900231D-05
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-010.8746110392560591D-01-.1168797220454049D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-05-.5098776122600387D-04
-0.8228377410748204D-050.4519256146769957D-04-.7293151198900231D-05
--.3981401266032415D-040.6425163892827973D-050.3478916893617300D-04
--.5614257322345751D-05-.3006329973748652D-040.4851599099556584D-05
-0.2558831255660659D-04-.4129428081509198D-05-.2132146425430071D-04
-0.3440846403444125D-050.1722429384915639D-04-.2779647252921669D-05
--.1326172498190355D-040.2140170025998270D-050.9401297415583386D-05
--.1517176307138179D-05-.5612495043095234D-050.9057414234337534D-06
-0.1866143715712640D-05-.3011572664961087D-060.1866143715512185D-05
--.3011572664637594D-06-.5612495043042305D-050.9057414234252119D-06
-0.9401297415863014D-05-.1517176307183306D-050.6555263955123291D-03
-0.5095536933526217D-040.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.8900789414501604D-01
--.1199911733718971D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.6710997558457615D-030.5247020748947131D-04
--.5612495043095234D-050.9057414234337534D-060.9401297415583386D-05
--.1517176307138179D-05-.1326172498190355D-040.2140170025998270D-05
-0.1722429384915639D-04-.2779647252921669D-05-.2132146425430071D-04
-0.3440846403444125D-050.2558831255660659D-04-.4129428081509198D-05
--.3006329973748652D-040.4851599099556584D-050.3478916893617300D-04
--.5614257322345751D-05-.3981401266032415D-040.6425163892827973D-05
-0.4519256146769957D-04-.7293151198900231D-05-.5098776122600387D-04
-0.8228377410748204D-050.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
-0.9042638576277094D-01-.1229881884115071D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.4519256146769957D-04-.7293151198900231D-05-.3981401266032415D-04
-0.6425163892827973D-050.3478916893617300D-04-.5614257322345751D-05
--.3006329973748652D-040.4851599099556584D-050.2558831255660659D-04
--.4129428081509198D-05-.2132146425430071D-040.3440846403444125D-05
-0.1722429384915639D-04-.2779647252921669D-05-.1326172498190355D-04
-0.2140170025998270D-050.9401297415583386D-05-.1517176307138179D-05
--.5612495043095234D-050.9057414234337534D-060.1866143715712640D-05
--.3011572664961087D-060.1866143715512185D-05-.3011572664637594D-06
-0.6867523820371290D-030.5399923809358637D-040.1866143715712640D-05
--.3011572664961087D-06-.5612495043095234D-050.9057414234337534D-06
-0.9401297415583386D-05-.1517176307138179D-05-.1326172498190355D-04
-0.2140170025998270D-050.1722429384915639D-04-.2779647252921669D-05
--.2132146425430071D-040.3440846403444125D-050.2558831255660659D-04
--.4129428081509198D-05-.3006329973748652D-040.4851599099556584D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3981401266032415D-04
-0.6425163892827973D-050.4519256146769957D-04-.7293151198900231D-05
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-010.9172607272565819D-01-.1258639403228736D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-05-.5098776122600387D-04
-0.8228377410748204D-050.4519256146769957D-04-.7293151198900231D-05
--.3981401266032415D-040.6425163892827973D-050.3478916893617300D-04
--.5614257322345751D-05-.3006329973748652D-040.4851599099556584D-05
-0.2558831255660659D-04-.4129428081509198D-05-.2132146425430071D-04
-0.3440846403444125D-050.1722429384915639D-04-.2779647252921669D-05
--.1326172498190355D-040.2140170025998270D-050.9401297415583386D-05
--.1517176307138179D-05-.5612495043095234D-050.9057414234337534D-06
-0.1866143715712640D-05-.3011572664961087D-060.7024846748638742D-03
-0.5554256663803711D-040.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.9291595739173754D-01
--.1286140143634197D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.7182970371159094D-030.5710029931966725D-04
--.5612495043042305D-050.9057414234252119D-060.1866143715512185D-05
--.3011572664637594D-060.1866143715712640D-05-.3011572664961087D-06
--.5612495043095234D-050.9057414234337534D-060.9401297415583386D-05
--.1517176307138179D-05-.1326172498190355D-040.2140170025998270D-05
-0.1722429384915639D-04-.2779647252921669D-05-.2132146425430071D-04
-0.3440846403444125D-050.2558831255660659D-04-.4129428081509198D-05
--.3006329973748652D-040.4851599099556584D-050.3478916893617300D-04
--.5614257322345751D-05-.3981401266032415D-040.6425163892827973D-05
-0.4519256146769957D-04-.7293151198900231D-05-.5098776122600387D-04
-0.8228377410748204D-050.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
-0.9400453211699690D-01-.1312360060645681D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.4519256146769957D-04-.7293151198900231D-05-.3981401266032415D-04
-0.6425163892827973D-050.3478916893617300D-04-.5614257322345751D-05
--.3006329973748652D-040.4851599099556584D-050.2558831255660659D-04
--.4129428081509198D-05-.2132146425430071D-040.3440846403444125D-05
-0.1722429384915639D-04-.2779647252921669D-05-.1326172498190355D-04
-0.2140170025998270D-050.9401297415583386D-05-.1517176307138179D-05
-0.7341898736056463D-030.5867254304618804D-040.9401297415863014D-05
--.1517176307183306D-05-.5612495043042305D-050.9057414234252119D-06
-0.1866143715512185D-05-.3011572664637594D-060.1866143715712640D-05
--.3011572664961087D-06-.5612495043095234D-050.9057414234337534D-06
-0.9401297415583386D-05-.1517176307138179D-05-.1326172498190355D-04
-0.2140170025998270D-050.1722429384915639D-04-.2779647252921669D-05
--.2132146425430071D-040.3440846403444125D-050.2558831255660659D-04
--.4129428081509198D-05-.3006329973748652D-040.4851599099556584D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3981401266032415D-04
-0.6425163892827973D-050.4519256146769957D-04-.7293151198900231D-05
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-010.9499977321263603D-01-.1337291725485198D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-05-.5098776122600387D-04
-0.8228377410748204D-050.4519256146769957D-04-.7293151198900231D-05
--.3981401266032415D-040.6425163892827973D-050.3478916893617300D-04
--.5614257322345751D-05-.3006329973748652D-040.4851599099556584D-05
-0.2558831255660659D-04-.4129428081509198D-05-.2132146425430071D-04
-0.3440846403444125D-050.1722429384915639D-04-.2779647252921669D-05
--.1326172498190355D-040.2140170025998270D-050.7501635911780829D-03
-0.6025940544065905D-04-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.9590914433729904D-01
--.1360941312262982D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-050.7662185987209308D-030.6186099484599586D-04
-0.1722429384947072D-04-.2779647252972395D-05-.1326172498198105D-04
-0.2140170026010777D-050.9401297415863014D-05-.1517176307183306D-05
--.5612495043042305D-050.9057414234252119D-060.1866143715512185D-05
--.3011572664637594D-060.1866143715712640D-05-.3011572664961087D-06
--.5612495043095234D-050.9057414234337534D-060.9401297415583386D-05
--.1517176307138179D-05-.1326172498190355D-040.2140170025998270D-05
-0.1722429384915639D-04-.2779647252921669D-05-.2132146425430071D-04
-0.3440846403444125D-050.2558831255660659D-04-.4129428081509198D-05
--.3006329973748652D-040.4851599099556584D-050.3478916893617300D-04
--.5614257322345751D-05-.3981401266032415D-040.6425163892827973D-05
-0.4519256146769957D-04-.7293151198900231D-05-.5098776122600387D-04
-0.8228377410748204D-050.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
-0.9673960696151584D-01-.1383326005253246D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.4519256146769957D-04-.7293151198900231D-05-.3981401266032415D-04
-0.6425163892827973D-050.3478916893617300D-04-.5614257322345751D-05
--.3006329973748652D-040.4851599099556584D-050.2558831255660659D-04
--.4129428081509198D-05-.2132146425430071D-040.3440846403444125D-05
-0.7823553071748006D-030.6347742032950520D-04-.2132146425429693D-04
-0.3440846403443515D-050.1722429384947072D-04-.2779647252972395D-05
--.1326172498198105D-040.2140170026010777D-050.9401297415863014D-05
--.1517176307183306D-05-.5612495043042305D-050.9057414234252119D-06
-0.1866143715512185D-05-.3011572664637594D-060.1866143715712640D-05
--.3011572664961087D-06-.5612495043095234D-050.9057414234337534D-06
-0.9401297415583386D-05-.1517176307138179D-05-.1326172498190355D-04
-0.2140170025998270D-050.1722429384915639D-04-.2779647252921669D-05
--.2132146425430071D-040.3440846403444125D-050.2558831255660659D-04
--.4129428081509198D-05-.3006329973748652D-040.4851599099556584D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3981401266032415D-04
-0.6425163892827973D-050.4519256146769957D-04-.7293151198900231D-05
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-010.9749763601089485D-01-.1404471777278064D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-05-.5098776122600387D-04
-0.8228377410748204D-050.4519256146769957D-04-.7293151198900231D-05
--.3981401266032415D-040.6425163892827973D-050.3478916893617300D-04
--.5614257322345751D-05-.3006329973748652D-040.4851599099556584D-05
-0.2558831255660659D-04-.4129428081509198D-050.7985741295434327D-03
-0.6510879168744751D-040.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.9818923917831297D-01
--.1424411494392620D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.8148754809039821D-030.6675521944962719D-04
--.3006329973746788D-040.4851599099553577D-050.2558831255668139D-04
--.4129428081521270D-05-.2132146425429693D-040.3440846403443515D-05
-0.1722429384947072D-04-.2779647252972395D-05-.1326172498198105D-04
-0.2140170026010777D-050.9401297415863014D-05-.1517176307183306D-05
--.5612495043042305D-050.9057414234252119D-060.1866143715512185D-05
--.3011572664637594D-060.1866143715712640D-05-.3011572664961087D-06
--.5612495043095234D-050.9057414234337534D-060.9401297415583386D-05
--.1517176307138179D-05-.1326172498190355D-040.2140170025998270D-05
-0.1722429384915639D-04-.2779647252921669D-05-.2132146425430071D-04
-0.3440846403444125D-050.2558831255660659D-04-.4129428081509198D-05
--.3006329973748652D-040.4851599099556584D-050.3478916893617300D-04
--.5614257322345751D-05-.3981401266032415D-040.6425163892827973D-05
-0.4519256146769957D-04-.7293151198900231D-05-.5098776122600387D-04
-0.8228377410748204D-050.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
-0.9881997870846726D-01-.1443183306359489D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.4519256146769957D-04-.7293151198900231D-05-.3981401266032415D-04
-0.6425163892827973D-050.3478916893617300D-04-.5614257322345751D-05
-0.8312597784173505D-030.6841681488401041D-040.3478916893609630D-04
--.5614257322333374D-05-.3006329973746788D-040.4851599099553577D-05
-0.2558831255668139D-04-.4129428081521270D-05-.2132146425429693D-04
-0.3440846403443515D-050.1722429384947072D-04-.2779647252972395D-05
--.1326172498198105D-040.2140170026010777D-050.9401297415863014D-05
--.1517176307183306D-05-.5612495043042305D-050.9057414234252119D-06
-0.1866143715512185D-05-.3011572664637594D-060.1866143715712640D-05
--.3011572664961087D-06-.5612495043095234D-050.9057414234337534D-06
-0.9401297415583386D-05-.1517176307138179D-05-.1326172498190355D-04
-0.2140170025998270D-050.1722429384915639D-04-.2779647252921669D-05
--.2132146425430071D-040.3440846403444125D-050.2558831255660659D-04
--.4129428081509198D-05-.3006329973748652D-040.4851599099556584D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3981401266032415D-04
-0.6425163892827973D-050.4519256146769957D-04-.7293151198900231D-05
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-010.9939499471310484D-01-.1460829286515623D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-05-.5098776122600387D-04
-0.8228377410748204D-050.4519256146769957D-04-.7293151198900231D-05
--.3981401266032415D-040.6425163892827973D-050.8477274413385733D-03
-0.7009369000137130D-04-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.9991902928232077D-01
--.1477394288514098D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-050.8642788910272550D-030.7178595755996570D-04
-0.4519256146756725D-04-.7293151198878877D-05-.3981401266047105D-04
-0.6425163892851680D-050.3478916893609630D-04-.5614257322333374D-05
--.3006329973746788D-040.4851599099553577D-050.2558831255668139D-04
--.4129428081521270D-05-.2132146425429693D-040.3440846403443515D-05
-0.1722429384947072D-04-.2779647252972395D-05-.1326172498198105D-04
-0.2140170026010777D-050.9401297415863014D-05-.1517176307183306D-05
--.5612495043042305D-050.9057414234252119D-060.1866143715512185D-05
--.3011572664637594D-060.1866143715712640D-05-.3011572664961087D-06
--.5612495043095234D-050.9057414234337534D-060.9401297415583386D-05
--.1517176307138179D-05-.1326172498190355D-040.2140170025998270D-05
-0.1722429384915639D-04-.2779647252921669D-05-.2132146425430071D-04
-0.3440846403444125D-050.2558831255660659D-04-.4129428081509198D-05
--.3006329973748652D-040.4851599099556584D-050.3478916893617300D-04
--.5614257322345751D-05-.3981401266032415D-040.6425163892827973D-05
-0.4519256146769957D-04-.7293151198900231D-05-.5098776122600387D-04
-0.8228377410748204D-050.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
-0.1003964508250222D+00-.1492924991028709D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.8809145509580565D-030.7349373107023372D-04-.5098776122625716D-04
-0.8228377410789080D-050.4519256146756725D-04-.7293151198878877D-05
--.3981401266047105D-040.6425163892851680D-050.3478916893609630D-04
--.5614257322333374D-05-.3006329973746788D-040.4851599099553577D-05
-0.2558831255668139D-04-.4129428081521270D-05-.2132146425429693D-04
-0.3440846403443515D-050.1722429384947072D-04-.2779647252972395D-05
--.1326172498198105D-040.2140170026010777D-050.9401297415863014D-05
--.1517176307183306D-05-.5612495043042305D-050.9057414234252119D-06
-0.1866143715512185D-05-.3011572664637594D-060.1866143715712640D-05
--.3011572664961087D-06-.5612495043095234D-050.9057414234337534D-06
-0.9401297415583386D-05-.1517176307138179D-05-.1326172498190355D-04
-0.2140170025998270D-050.1722429384915639D-04-.2779647252921669D-05
--.2132146425430071D-040.3440846403444125D-050.2558831255660659D-04
--.4129428081509198D-05-.3006329973748652D-040.4851599099556584D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3981401266032415D-04
-0.6425163892827973D-050.4519256146769957D-04-.7293151198900231D-05
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-010.1008312782070416D+00-.1507469104826736D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-050.8976348467312377D-03
-0.7521712479953038D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.1012272043642645D+00
--.1521074719639924D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.9144402060832480D-030.7695625377688507D-04
--.6413319184916952D-040.1034977991584680D-040.5727272713271265D-04
--.9242641819512053D-05-.5098776122625716D-040.8228377410789080D-05
-0.4519256146756725D-04-.7293151198878877D-05-.3981401266047105D-04
-0.6425163892851680D-050.3478916893609630D-04-.5614257322333374D-05
--.3006329973746788D-040.4851599099553577D-050.2558831255668139D-04
--.4129428081521270D-05-.2132146425429693D-040.3440846403443515D-05
-0.1722429384947072D-04-.2779647252972395D-05-.1326172498198105D-04
-0.2140170026010777D-050.9401297415863014D-05-.1517176307183306D-05
--.5612495043042305D-050.9057414234252119D-060.1866143715512185D-05
--.3011572664637594D-060.1866143715712640D-05-.3011572664961087D-06
--.5612495043095234D-050.9057414234337534D-060.9401297415583386D-05
--.1517176307138179D-05-.1326172498190355D-040.2140170025998270D-05
-0.1722429384915639D-04-.2779647252921669D-05-.2132146425430071D-04
-0.3440846403444125D-050.2558831255660659D-04-.4129428081509198D-05
--.3006329973748652D-040.4851599099556584D-050.3478916893617300D-04
--.5614257322345751D-05-.3981401266032415D-040.6425163892827973D-05
-0.4519256146769957D-04-.7293151198900231D-05-.5098776122600387D-04
-0.8228377410748204D-050.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
-0.1015876191553175D+00-.1533789771001627D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
-0.9313310588973688D-030.7871123379778959D-040.7167060586276605D-04
--.1156616372469904D-04-.6413319184916952D-040.1034977991584680D-04
-0.5727272713271265D-04-.9242641819512053D-05-.5098776122625716D-04
-0.8228377410789080D-050.4519256146756725D-04-.7293151198878877D-05
--.3981401266047105D-040.6425163892851680D-050.3478916893609630D-04
--.5614257322333374D-05-.3006329973746788D-040.4851599099553577D-05
-0.2558831255668139D-04-.4129428081521270D-05-.2132146425429693D-04
-0.3440846403443515D-050.1722429384947072D-04-.2779647252972395D-05
--.1326172498198105D-040.2140170026010777D-050.9401297415863014D-05
--.1517176307183306D-05-.5612495043042305D-050.9057414234252119D-06
-0.1866143715512185D-05-.3011572664637594D-060.1866143715712640D-05
--.3011572664961087D-06-.5612495043095234D-050.9057414234337534D-06
-0.9401297415583386D-05-.1517176307138179D-05-.1326172498190355D-04
-0.2140170025998270D-050.1722429384915639D-04-.2779647252921669D-05
--.2132146425430071D-040.3440846403444125D-050.2558831255660659D-04
--.4129428081509198D-05-.3006329973748652D-040.4851599099556584D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3981401266032415D-04
-0.6425163892827973D-050.4519256146769957D-04-.7293151198900231D-05
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-010.1019156312878210D+00-.1545661609680803D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.9483078372144148D-03
-0.8048218142901548D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.1022140892071981D+00
--.1556736658546946D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-040.9653709752434816D-030.8226921401346013D-04
-0.8928564729752786D-04-.1440886961226929D-04-.8000610566205314D-04
-0.1291134218726644D-040.7167060586276605D-04-.1156616372469904D-04
--.6413319184916952D-040.1034977991584680D-040.5727272713271265D-04
--.9242641819512053D-05-.5098776122625716D-040.8228377410789080D-05
-0.4519256146756725D-04-.7293151198878877D-05-.3981401266047105D-04
-0.6425163892851680D-050.3478916893609630D-04-.5614257322333374D-05
--.3006329973746788D-040.4851599099553577D-050.2558831255668139D-04
--.4129428081521270D-05-.2132146425429693D-040.3440846403443515D-05
-0.1722429384947072D-04-.2779647252972395D-05-.1326172498198105D-04
-0.2140170026010777D-050.9401297415863014D-05-.1517176307183306D-05
--.5612495043042305D-050.9057414234252119D-060.1866143715512185D-05
--.3011572664637594D-060.1866143715712640D-05-.3011572664961087D-06
--.5612495043095234D-050.9057414234337534D-060.9401297415583386D-05
--.1517176307138179D-05-.1326172498190355D-040.2140170025998270D-05
-0.1722429384915639D-04-.2779647252921669D-05-.2132146425430071D-04
-0.3440846403444125D-050.2558831255660659D-04-.4129428081509198D-05
--.3006329973748652D-040.4851599099556584D-050.3478916893617300D-04
--.5614257322345751D-05-.3981401266032415D-040.6425163892827973D-05
-0.4519256146769957D-04-.7293151198900231D-05-.5098776122600387D-04
-0.8228377410748204D-050.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
-0.1024856008802586D+00-.1567060143662068D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.9825209093727470D-030.8407244967502225D-04-.9968672138364864D-04
-0.1608738933935444D-040.8928564729752786D-04-.1440886961226929D-04
--.8000610566205314D-040.1291134218726644D-040.7167060586276605D-04
--.1156616372469904D-04-.6413319184916952D-040.1034977991584680D-04
-0.5727272713271265D-04-.9242641819512053D-05-.5098776122625716D-04
-0.8228377410789080D-050.4519256146756725D-04-.7293151198878877D-05
--.3981401266047105D-040.6425163892851680D-050.3478916893609630D-04
--.5614257322333374D-05-.3006329973746788D-040.4851599099553577D-05
-0.2558831255668139D-04-.4129428081521270D-05-.2132146425429693D-04
-0.3440846403443515D-050.1722429384947072D-04-.2779647252972395D-05
--.1326172498198105D-040.2140170026010777D-050.9401297415863014D-05
--.1517176307183306D-05-.5612495043042305D-050.9057414234252119D-06
-0.1866143715512185D-05-.3011572664637594D-060.1866143715712640D-05
--.3011572664961087D-06-.5612495043095234D-050.9057414234337534D-06
-0.9401297415583386D-05-.1517176307138179D-05-.1326172498190355D-04
-0.2140170025998270D-050.1722429384915639D-04-.2779647252921669D-05
--.2132146425430071D-040.3440846403444125D-050.2558831255660659D-04
--.4129428081509198D-05-.3006329973748652D-040.4851599099556584D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3981401266032415D-04
-0.6425163892827973D-050.4519256146769957D-04-.7293151198900231D-05
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-010.1027325524394487D+00-.1576675888135830D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-040.9997580781803323D-03
-0.8589200732350710D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.1029571256795995D+00
--.1585626158817118D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1017082922445208D-020.8772800665956083D-04
--.1247774371157844D-030.2013651551366699D-040.1114272391272199D-03
--.1798206776156415D-04-.9968672138364864D-040.1608738933935444D-04
-0.8928564729752786D-04-.1440886961226929D-04-.8000610566205314D-04
-0.1291134218726644D-040.7167060586276605D-04-.1156616372469904D-04
--.6413319184916952D-040.1034977991584680D-040.5727272713271265D-04
--.9242641819512053D-05-.5098776122625716D-040.8228377410789080D-05
-0.4519256146756725D-04-.7293151198878877D-05-.3981401266047105D-04
-0.6425163892851680D-050.3478916893609630D-04-.5614257322333374D-05
--.3006329973746788D-040.4851599099553577D-050.2558831255668139D-04
--.4129428081521270D-05-.2132146425429693D-040.3440846403443515D-05
-0.1722429384947072D-04-.2779647252972395D-05-.1326172498198105D-04
-0.2140170026010777D-050.9401297415863014D-05-.1517176307183306D-05
--.5612495043042305D-050.9057414234252119D-060.1866143715512185D-05
--.3011572664637594D-060.1866143715712640D-05-.3011572664961087D-06
--.5612495043095234D-050.9057414234337534D-060.9401297415583386D-05
--.1517176307138179D-05-.1326172498190355D-040.2140170025998270D-05
-0.1722429384915639D-04-.2779647252921669D-05-.2132146425430071D-04
-0.3440846403444125D-050.2558831255660659D-04-.4129428081509198D-05
--.3006329973748652D-040.4851599099556584D-050.3478916893617300D-04
--.5614257322345751D-05-.3981401266032415D-040.6425163892827973D-05
-0.4519256146769957D-04-.7293151198900231D-05-.5098776122600387D-04
-0.8228377410748204D-050.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
-0.1031613144187102D+00-.1593951557249072D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
-0.1034495885158160D-020.8958056817963518D-040.1400760388418106D-03
--.2260539561021587D-04-.1247774371157844D-030.2013651551366699D-04
-0.1114272391272199D-03-.1798206776156415D-04-.9968672138364864D-04
-0.1608738933935444D-040.8928564729752786D-04-.1440886961226929D-04
--.8000610566205314D-040.1291134218726644D-040.7167060586276605D-04
--.1156616372469904D-04-.6413319184916952D-040.1034977991584680D-04
-0.5727272713271265D-04-.9242641819512053D-05-.5098776122625716D-04
-0.8228377410789080D-050.4519256146756725D-04-.7293151198878877D-05
--.3981401266047105D-040.6425163892851680D-050.3478916893609630D-04
--.5614257322333374D-05-.3006329973746788D-040.4851599099553577D-05
-0.2558831255668139D-04-.4129428081521270D-05-.2132146425429693D-04
-0.3440846403443515D-050.1722429384947072D-04-.2779647252972395D-05
--.1326172498198105D-040.2140170026010777D-050.9401297415863014D-05
--.1517176307183306D-05-.5612495043042305D-050.9057414234252119D-06
-0.1866143715512185D-05-.3011572664637594D-060.1866143715712640D-05
--.3011572664961087D-06-.5612495043095234D-050.9057414234337534D-06
-0.9401297415583386D-05-.1517176307138179D-05-.1326172498190355D-04
-0.2140170025998270D-050.1722429384915639D-04-.2779647252921669D-05
--.2132146425430071D-040.3440846403444125D-050.2558831255660659D-04
--.4129428081509198D-05-.3006329973748652D-040.4851599099556584D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3981401266032415D-04
-0.6425163892827973D-050.4519256146769957D-04-.7293151198900231D-05
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-010.1033469397490001D+00-.1601690947502950D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1051997411532808D-02
-0.9144981318098186D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.1035156642151411D+00
--.1608881414546571D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-040.1069587949016678D-020.9333586376667711D-04
-0.1783582025511267D-03-.2878335054540236D-04-.1577525118211425D-03
-0.2545801528732096D-040.1400760388418106D-03-.2260539561021587D-04
--.1247774371157844D-030.2013651551366699D-040.1114272391272199D-03
--.1798206776156415D-04-.9968672138364864D-040.1608738933935444D-04
-0.8928564729752786D-04-.1440886961226929D-04-.8000610566205314D-04
-0.1291134218726644D-040.7167060586276605D-04-.1156616372469904D-04
--.6413319184916952D-040.1034977991584680D-040.5727272713271265D-04
--.9242641819512053D-05-.5098776122625716D-040.8228377410789080D-05
-0.4519256146756725D-04-.7293151198878877D-05-.3981401266047105D-04
-0.6425163892851680D-050.3478916893609630D-04-.5614257322333374D-05
--.3006329973746788D-040.4851599099553577D-050.2558831255668139D-04
--.4129428081521270D-05-.2132146425429693D-040.3440846403443515D-05
-0.1722429384947072D-04-.2779647252972395D-05-.1326172498198105D-04
-0.2140170026010777D-050.9401297415863014D-05-.1517176307183306D-05
--.5612495043042305D-050.9057414234252119D-060.1866143715512185D-05
--.3011572664637594D-060.1866143715712640D-05-.3011572664961087D-06
--.5612495043095234D-050.9057414234337534D-060.9401297415583386D-05
--.1517176307138179D-05-.1326172498190355D-040.2140170025998270D-05
-0.1722429384915639D-04-.2779647252921669D-05-.2132146425430071D-04
-0.3440846403444125D-050.2558831255660659D-04-.4129428081509198D-05
--.3006329973748652D-040.4851599099556584D-050.3478916893617300D-04
--.5614257322345751D-05-.3981401266032415D-040.6425163892827973D-05
-0.4519256146769957D-04-.7293151198900231D-05-.5098776122600387D-04
-0.8228377410748204D-050.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
-0.1036690049640822D+00-.1615558247711579D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1087267947302331D-020.9523884285067672D-04-.2026106452901076D-03
-0.3269719667613068D-040.1783582025511267D-03-.2878335054540236D-04
--.1577525118211425D-030.2545801528732096D-040.1400760388418106D-03
--.2260539561021587D-04-.1247774371157844D-030.2013651551366699D-04
-0.1114272391272199D-03-.1798206776156415D-04-.9968672138364864D-04
-0.1608738933935444D-040.8928564729752786D-04-.1440886961226929D-04
--.8000610566205314D-040.1291134218726644D-040.7167060586276605D-04
--.1156616372469904D-04-.6413319184916952D-040.1034977991584680D-04
-0.5727272713271265D-04-.9242641819512053D-05-.5098776122625716D-04
-0.8228377410789080D-050.4519256146756725D-04-.7293151198878877D-05
--.3981401266047105D-040.6425163892851680D-050.3478916893609630D-04
--.5614257322333374D-05-.3006329973746788D-040.4851599099553577D-05
-0.2558831255668139D-04-.4129428081521270D-05-.2132146425429693D-04
-0.3440846403443515D-050.1722429384947072D-04-.2779647252972395D-05
--.1326172498198105D-040.2140170026010777D-050.9401297415863014D-05
--.1517176307183306D-05-.5612495043042305D-050.9057414234252119D-06
-0.1866143715512185D-05-.3011572664637594D-060.1866143715712640D-05
--.3011572664961087D-06-.5612495043095234D-050.9057414234337534D-06
-0.9401297415583386D-05-.1517176307138179D-05-.1326172498190355D-04
-0.2140170025998270D-050.1722429384915639D-04-.2779647252921669D-05
--.2132146425430071D-040.3440846403444125D-050.2558831255660659D-04
--.4129428081509198D-05-.3006329973748652D-040.4851599099556584D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3981401266032415D-04
-0.6425163892827973D-050.4519256146769957D-04-.7293151198900231D-05
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-010.1038083459158393D+00-.1621754944615051D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-040.1105037858338542D-02
-0.9715887416290131D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.1039349490076170D+00
--.1627503231578771D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.1122898136341541D-020.9909608225435285D-04
--.2661733971656788D-030.4295491929665637D-040.2314578281220329D-03
--.3735253948527681D-04-.2026106452901076D-030.3269719667613068D-04
-0.1783582025511267D-03-.2878335054540236D-04-.1577525118211425D-03
-0.2545801528732096D-040.1400760388418106D-03-.2260539561021587D-04
--.1247774371157844D-030.2013651551366699D-040.1114272391272199D-03
--.1798206776156415D-04-.9968672138364864D-040.1608738933935444D-04
-0.8928564729752786D-04-.1440886961226929D-04-.8000610566205314D-04
-0.1291134218726644D-040.7167060586276605D-04-.1156616372469904D-04
--.6413319184916952D-040.1034977991584680D-040.5727272713271265D-04
--.9242641819512053D-05-.5098776122625716D-040.8228377410789080D-05
-0.4519256146756725D-04-.7293151198878877D-05-.3981401266047105D-04
-0.6425163892851680D-050.3478916893609630D-04-.5614257322333374D-05
--.3006329973746788D-040.4851599099553577D-050.2558831255668139D-04
--.4129428081521270D-05-.2132146425429693D-040.3440846403443515D-05
-0.1722429384947072D-04-.2779647252972395D-05-.1326172498198105D-04
-0.2140170026010777D-050.9401297415863014D-05-.1517176307183306D-05
--.5612495043042305D-050.9057414234252119D-060.1866143715512185D-05
--.3011572664637594D-060.1866143715712640D-05-.3011572664961087D-06
--.5612495043095234D-050.9057414234337534D-060.9401297415583386D-05
--.1517176307138179D-05-.1326172498190355D-040.2140170025998270D-05
-0.1722429384915639D-04-.2779647252921669D-05-.2132146425430071D-04
-0.3440846403444125D-050.2558831255660659D-04-.4129428081509198D-05
--.3006329973748652D-040.4851599099556584D-050.3478916893617300D-04
--.5614257322345751D-05-.3981401266032415D-040.6425163892827973D-05
-0.4519256146769957D-04-.7293151198900231D-05-.5098776122600387D-04
-0.8228377410748204D-050.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
-0.1040499645650695D+00-.1632833097185782D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
-0.1140849237806308D-020.1010505925022613D-030.3085010747980624D-03
--.4978573708714430D-04-.2661733971656788D-030.4295491929665637D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2026106452901076D-03
-0.3269719667613068D-040.1783582025511267D-03-.2878335054540236D-04
--.1577525118211425D-030.2545801528732096D-040.1400760388418106D-03
--.2260539561021587D-04-.1247774371157844D-030.2013651551366699D-04
-0.1114272391272199D-03-.1798206776156415D-04-.9968672138364864D-04
-0.1608738933935444D-040.8928564729752786D-04-.1440886961226929D-04
--.8000610566205314D-040.1291134218726644D-040.7167060586276605D-04
--.1156616372469904D-04-.6413319184916952D-040.1034977991584680D-04
-0.5727272713271265D-04-.9242641819512053D-05-.5098776122625716D-04
-0.8228377410789080D-050.4519256146756725D-04-.7293151198878877D-05
--.3981401266047105D-040.6425163892851680D-050.3478916893609630D-04
--.5614257322333374D-05-.3006329973746788D-040.4851599099553577D-05
-0.2558831255668139D-04-.4129428081521270D-05-.2132146425429693D-04
-0.3440846403443515D-050.1722429384947072D-04-.2779647252972395D-05
--.1326172498198105D-040.2140170026010777D-050.9401297415863014D-05
--.1517176307183306D-05-.5612495043042305D-050.9057414234252119D-06
-0.1866143715512185D-05-.3011572664637594D-060.1866143715712640D-05
--.3011572664961087D-06-.5612495043095234D-050.9057414234337534D-06
-0.9401297415583386D-05-.1517176307138179D-05-.1326172498190355D-04
-0.2140170025998270D-050.1722429384915639D-04-.2779647252921669D-05
--.2132146425430071D-040.3440846403444125D-050.2558831255660659D-04
--.4129428081509198D-05-.3006329973748652D-040.4851599099556584D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3981401266032415D-04
-0.6425163892827973D-050.4519256146769957D-04-.7293151198900231D-05
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-010.1041544408547741D+00-.1637772836129954D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.1158891621517917D-02
-0.1030225311152631D-03-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.1042493328713475D+00
--.1642349100959841D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-040.1177025748562945D-020.1050120251386102D-03
-0.4268045368520104D-03-.6887748599651892D-04-.3608796739013979D-03
-0.5823856716450639D-040.3085010747980624D-03-.4978573708714430D-04
--.2661733971656788D-030.4295491929665637D-040.2314578281220329D-03
--.3735253948527681D-04-.2026106452901076D-030.3269719667613068D-04
-0.1783582025511267D-03-.2878335054540236D-04-.1577525118211425D-03
-0.2545801528732096D-040.1400760388418106D-03-.2260539561021587D-04
--.1247774371157844D-030.2013651551366699D-040.1114272391272199D-03
--.1798206776156415D-04-.9968672138364864D-040.1608738933935444D-04
-0.8928564729752786D-04-.1440886961226929D-04-.8000610566205314D-04
-0.1291134218726644D-040.7167060586276605D-04-.1156616372469904D-04
--.6413319184916952D-040.1034977991584680D-040.5727272713271265D-04
--.9242641819512053D-05-.5098776122625716D-040.8228377410789080D-05
-0.4519256146756725D-04-.7293151198878877D-05-.3981401266047105D-04
-0.6425163892851680D-050.3478916893609630D-04-.5614257322333374D-05
--.3006329973746788D-040.4851599099553577D-050.2558831255668139D-04
--.4129428081521270D-05-.2132146425429693D-040.3440846403443515D-05
-0.1722429384947072D-04-.2779647252972395D-05-.1326172498198105D-04
-0.2140170026010777D-050.9401297415863014D-05-.1517176307183306D-05
--.5612495043042305D-050.9057414234252119D-060.1866143715512185D-05
--.3011572664637594D-060.1866143715712640D-05-.3011572664961087D-06
--.5612495043095234D-050.9057414234337534D-060.9401297415583386D-05
--.1517176307138179D-05-.1326172498190355D-040.2140170025998270D-05
-0.1722429384915639D-04-.2779647252921669D-05-.2132146425430071D-04
-0.3440846403444125D-050.2558831255660659D-04-.4129428081509198D-05
--.3006329973748652D-040.4851599099556584D-050.3478916893617300D-04
--.5614257322345751D-05-.3981401266032415D-040.6425163892827973D-05
-0.4519256146769957D-04-.7293151198900231D-05-.5098776122600387D-04
-0.8228377410748204D-050.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
-0.1043355104113325D+00-.1646586959702118D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.1195252082340932D-020.1070192024594111D-03-.5114288231755168D-03
-0.8253410768850847D-040.4268045368520104D-03-.6887748599651892D-04
--.3608796739013979D-030.5823856716450639D-040.3085010747980624D-03
--.4978573708714430D-04-.2661733971656788D-030.4295491929665637D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2026106452901076D-03
-0.3269719667613068D-040.1783582025511267D-03-.2878335054540236D-04
--.1577525118211425D-030.2545801528732096D-040.1400760388418106D-03
--.2260539561021587D-04-.1247774371157844D-030.2013651551366699D-04
-0.1114272391272199D-03-.1798206776156415D-04-.9968672138364864D-04
-0.1608738933935444D-040.8928564729752786D-04-.1440886961226929D-04
--.8000610566205314D-040.1291134218726644D-040.7167060586276605D-04
--.1156616372469904D-04-.6413319184916952D-040.1034977991584680D-04
-0.5727272713271265D-04-.9242641819512053D-05-.5098776122625716D-04
-0.8228377410789080D-050.4519256146756725D-04-.7293151198878877D-05
--.3981401266047105D-040.6425163892851680D-050.3478916893609630D-04
--.5614257322333374D-05-.3006329973746788D-040.4851599099553577D-05
-0.2558831255668139D-04-.4129428081521270D-05-.2132146425429693D-04
-0.3440846403443515D-050.1722429384947072D-04-.2779647252972395D-05
--.1326172498198105D-040.2140170026010777D-050.9401297415863014D-05
--.1517176307183306D-05-.5612495043042305D-050.9057414234252119D-06
-0.1866143715512185D-05-.3011572664637594D-060.1866143715712640D-05
--.3011572664961087D-06-.5612495043095234D-050.9057414234337534D-06
-0.9401297415583386D-05-.1517176307138179D-05-.1326172498190355D-04
-0.2140170025998270D-050.1722429384915639D-04-.2779647252921669D-05
--.2132146425430071D-040.3440846403444125D-050.2558831255660659D-04
--.4129428081509198D-05-.3006329973748652D-040.4851599099556584D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3981401266032415D-04
-0.6425163892827973D-050.4519256146769957D-04-.7293151198900231D-05
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-010.1044137654841926D+00-.1650509957680039D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-030.1213571088575899D-02
-0.1090441918119028D-030.6226054234809117D-03-.1004757274921672D-03
--.5114288231755168D-030.8253410768850847D-040.4268045368520104D-03
--.6887748599651892D-04-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.1044848191086251D+00
--.1654140182125686D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.1231983235327929D-020.1110871227827559D-03
--.7727812230408974D-030.1247110170406368D-030.6226054234809117D-03
--.1004757274921672D-03-.5114288231755168D-030.8253410768850847D-04
-0.4268045368520104D-03-.6887748599651892D-04-.3608796739013979D-03
-0.5823856716450639D-040.3085010747980624D-03-.4978573708714430D-04
--.2661733971656788D-030.4295491929665637D-040.2314578281220329D-03
--.3735253948527681D-04-.2026106452901076D-030.3269719667613068D-04
-0.1783582025511267D-03-.2878335054540236D-04-.1577525118211425D-03
-0.2545801528732096D-040.1400760388418106D-03-.2260539561021587D-04
--.1247774371157844D-030.2013651551366699D-040.1114272391272199D-03
--.1798206776156415D-04-.9968672138364864D-040.1608738933935444D-04
-0.8928564729752786D-04-.1440886961226929D-04-.8000610566205314D-04
-0.1291134218726644D-040.7167060586276605D-04-.1156616372469904D-04
--.6413319184916952D-040.1034977991584680D-040.5727272713271265D-04
--.9242641819512053D-05-.5098776122625716D-040.8228377410789080D-05
-0.4519256146756725D-04-.7293151198878877D-05-.3981401266047105D-04
-0.6425163892851680D-050.3478916893609630D-04-.5614257322333374D-05
--.3006329973746788D-040.4851599099553577D-050.2558831255668139D-04
--.4129428081521270D-05-.2132146425429693D-040.3440846403443515D-05
-0.1722429384947072D-04-.2779647252972395D-05-.1326172498198105D-04
-0.2140170026010777D-050.9401297415863014D-05-.1517176307183306D-05
--.5612495043042305D-050.9057414234252119D-060.1866143715512185D-05
--.3011572664637594D-060.1866143715712640D-05-.3011572664961087D-06
--.5612495043095234D-050.9057414234337534D-060.9401297415583386D-05
--.1517176307138179D-05-.1326172498190355D-040.2140170025998270D-05
-0.1722429384915639D-04-.2779647252921669D-05-.2132146425430071D-04
-0.3440846403444125D-050.2558831255660659D-04-.4129428081509198D-05
--.3006329973748652D-040.4851599099556584D-050.3478916893617300D-04
--.5614257322345751D-05-.3981401266032415D-040.6425163892827973D-05
-0.4519256146769957D-04-.7293151198900231D-05-.5098776122600387D-04
-0.8228377410748204D-050.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
-0.1045493275400524D+00-.1657498328427346D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
-0.1250488993004788D-020.1131481258164096D-030.9826448017572174D-03
--.1585786882018380D-03-.7727812230408974D-030.1247110170406368D-03
-0.6226054234809117D-03-.1004757274921672D-03-.5114288231755168D-03
-0.8253410768850847D-040.4268045368520104D-03-.6887748599651892D-04
--.3608796739013979D-030.5823856716450639D-040.3085010747980624D-03
--.4978573708714430D-04-.2661733971656788D-030.4295491929665637D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2026106452901076D-03
-0.3269719667613068D-040.1783582025511267D-03-.2878335054540236D-04
--.1577525118211425D-030.2545801528732096D-040.1400760388418106D-03
--.2260539561021587D-04-.1247774371157844D-030.2013651551366699D-04
-0.1114272391272199D-03-.1798206776156415D-04-.9968672138364864D-04
-0.1608738933935444D-040.8928564729752786D-04-.1440886961226929D-04
--.8000610566205314D-040.1291134218726644D-040.7167060586276605D-04
--.1156616372469904D-04-.6413319184916952D-040.1034977991584680D-04
-0.5727272713271265D-04-.9242641819512053D-05-.5098776122625716D-04
-0.8228377410789080D-050.4519256146756725D-04-.7293151198878877D-05
--.3981401266047105D-040.6425163892851680D-050.3478916893609630D-04
--.5614257322333374D-05-.3006329973746788D-040.4851599099553577D-05
-0.2558831255668139D-04-.4129428081521270D-05-.2132146425429693D-04
-0.3440846403443515D-050.1722429384947072D-04-.2779647252972395D-05
--.1326172498198105D-040.2140170026010777D-050.9401297415863014D-05
--.1517176307183306D-05-.5612495043042305D-050.9057414234252119D-06
-0.1866143715512185D-05-.3011572664637594D-060.1866143715712640D-05
--.3011572664961087D-06-.5612495043095234D-050.9057414234337534D-06
-0.9401297415583386D-05-.1517176307138179D-05-.1326172498190355D-04
-0.2140170025998270D-050.1722429384915639D-04-.2779647252921669D-05
--.2132146425430071D-040.3440846403444125D-050.2558831255660659D-04
--.4129428081509198D-05-.3006329973748652D-040.4851599099556584D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3981401266032415D-04
-0.6425163892827973D-050.4519256146769957D-04-.7293151198900231D-05
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-010.1046078879726769D+00-.1660603767060543D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.1269088834373626D-02
-0.1152273322204408D-03-.1288661285438230D-020.2079634633143654D-03
-0.9826448017572174D-03-.1585786882018380D-03-.7727812230408974D-03
-0.1247110170406368D-030.6226054234809117D-03-.1004757274921672D-03
--.5114288231755168D-030.8253410768850847D-040.4268045368520104D-03
--.6887748599651892D-04-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.1046610437569370D+00
--.1663474610427858D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-030.1287783234572715D-020.1173248741709648D-03
-0.1760064559812521D-02-.2840382695217011D-03-.1288661285438230D-02
-0.2079634633143654D-030.9826448017572174D-03-.1585786882018380D-03
--.7727812230408974D-030.1247110170406368D-030.6226054234809117D-03
--.1004757274921672D-03-.5114288231755168D-030.8253410768850847D-04
-0.4268045368520104D-03-.6887748599651892D-04-.3608796739013979D-03
-0.5823856716450639D-040.3085010747980624D-03-.4978573708714430D-04
--.2661733971656788D-030.4295491929665637D-040.2314578281220329D-03
--.3735253948527681D-04-.2026106452901076D-030.3269719667613068D-04
-0.1783582025511267D-03-.2878335054540236D-04-.1577525118211425D-03
-0.2545801528732096D-040.1400760388418106D-03-.2260539561021587D-04
--.1247774371157844D-030.2013651551366699D-040.1114272391272199D-03
--.1798206776156415D-04-.9968672138364864D-040.1608738933935444D-04
-0.8928564729752786D-04-.1440886961226929D-04-.8000610566205314D-04
-0.1291134218726644D-040.7167060586276605D-04-.1156616372469904D-04
--.6413319184916952D-040.1034977991584680D-040.5727272713271265D-04
--.9242641819512053D-05-.5098776122625716D-040.8228377410789080D-05
-0.4519256146756725D-04-.7293151198878877D-05-.3981401266047105D-04
-0.6425163892851680D-050.3478916893609630D-04-.5614257322333374D-05
--.3006329973746788D-040.4851599099553577D-050.2558831255668139D-04
--.4129428081521270D-05-.2132146425429693D-040.3440846403443515D-05
-0.1722429384947072D-04-.2779647252972395D-05-.1326172498198105D-04
-0.2140170026010777D-050.9401297415863014D-05-.1517176307183306D-05
--.5612495043042305D-050.9057414234252119D-060.1866143715512185D-05
--.3011572664637594D-060.1866143715712640D-05-.3011572664961087D-06
--.5612495043095234D-050.9057414234337534D-060.9401297415583386D-05
--.1517176307138179D-05-.1326172498190355D-040.2140170025998270D-05
-0.1722429384915639D-04-.2779647252921669D-05-.2132146425430071D-04
-0.3440846403444125D-050.2558831255660659D-04-.4129428081509198D-05
--.3006329973748652D-040.4851599099556584D-050.3478916893617300D-04
--.5614257322345751D-05-.3981401266032415D-040.6425163892827973D-05
-0.4519256146769957D-04-.7293151198900231D-05-.5098776122600387D-04
-0.8228377410748204D-050.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
-0.1047092891706644D+00-.1666127778982718D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1306572671123266D-020.1194408847180681D-03-.2541776982554263D-02
-0.4101905987537787D-030.1760064559812521D-02-.2840382695217011D-03
--.1288661285438230D-020.2079634633143654D-030.9826448017572174D-03
--.1585786882018380D-03-.7727812230408974D-030.1247110170406368D-03
-0.6226054234809117D-03-.1004757274921672D-03-.5114288231755168D-03
-0.8253410768850847D-040.4268045368520104D-03-.6887748599651892D-04
--.3608796739013979D-030.5823856716450639D-040.3085010747980624D-03
--.4978573708714430D-04-.2661733971656788D-030.4295491929665637D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2026106452901076D-03
-0.3269719667613068D-040.1783582025511267D-03-.2878335054540236D-04
--.1577525118211425D-030.2545801528732096D-040.1400760388418106D-03
--.2260539561021587D-04-.1247774371157844D-030.2013651551366699D-04
-0.1114272391272199D-03-.1798206776156415D-04-.9968672138364864D-04
-0.1608738933935444D-040.8928564729752786D-04-.1440886961226929D-04
--.8000610566205314D-040.1291134218726644D-040.7167060586276605D-04
--.1156616372469904D-04-.6413319184916952D-040.1034977991584680D-04
-0.5727272713271265D-04-.9242641819512053D-05-.5098776122625716D-04
-0.8228377410789080D-050.4519256146756725D-04-.7293151198878877D-05
--.3981401266047105D-040.6425163892851680D-050.3478916893609630D-04
--.5614257322333374D-05-.3006329973746788D-040.4851599099553577D-05
-0.2558831255668139D-04-.4129428081521270D-05-.2132146425429693D-04
-0.3440846403443515D-050.1722429384947072D-04-.2779647252972395D-05
--.1326172498198105D-040.2140170026010777D-050.9401297415863014D-05
--.1517176307183306D-05-.5612495043042305D-050.9057414234252119D-06
-0.1866143715512185D-05-.3011572664637594D-060.1866143715712640D-05
--.3011572664961087D-06-.5612495043095234D-050.9057414234337534D-06
-0.9401297415583386D-05-.1517176307138179D-05-.1326172498190355D-04
-0.2140170025998270D-050.1722429384915639D-04-.2779647252921669D-05
--.2132146425430071D-040.3440846403444125D-050.2558831255660659D-04
--.4129428081509198D-05-.3006329973748652D-040.4851599099556584D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3981401266032415D-04
-0.6425163892827973D-050.4519256146769957D-04-.7293151198900231D-05
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-010.1047530737797218D+00-.1668579066139561D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-030.1325457623941280D-02
-0.1215754977912746D-030.3980741565709959D-02-.6424099272005126D-03
--.2541776982554263D-020.4101905987537787D-030.1760064559812521D-02
--.2840382695217011D-03-.1288661285438230D-020.2079634633143654D-03
-0.9826448017572174D-03-.1585786882018380D-03-.7727812230408974D-03
-0.1247110170406368D-030.6226054234809117D-03-.1004757274921672D-03
--.5114288231755168D-030.8253410768850847D-040.4268045368520104D-03
--.6887748599651892D-04-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.1047928064214595D+00
--.1670843201580279D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.1344438575349479D-020.1237288482050448D-03
--.7089509216132388D-020.1144101174176753D-020.3980741565709959D-02
--.6424099272005126D-03-.2541776982554263D-020.4101905987537787D-03
-0.1760064559812521D-02-.2840382695217011D-03-.1288661285438230D-02
-0.2079634633143654D-030.9826448017572174D-03-.1585786882018380D-03
--.7727812230408974D-030.1247110170406368D-030.6226054234809117D-03
--.1004757274921672D-03-.5114288231755168D-030.8253410768850847D-04
-0.4268045368520104D-03-.6887748599651892D-04-.3608796739013979D-03
-0.5823856716450639D-040.3085010747980624D-03-.4978573708714430D-04
--.2661733971656788D-030.4295491929665637D-040.2314578281220329D-03
--.3735253948527681D-04-.2026106452901076D-030.3269719667613068D-04
-0.1783582025511267D-03-.2878335054540236D-04-.1577525118211425D-03
-0.2545801528732096D-040.1400760388418106D-03-.2260539561021587D-04
--.1247774371157844D-030.2013651551366699D-040.1114272391272199D-03
--.1798206776156415D-04-.9968672138364864D-040.1608738933935444D-04
-0.8928564729752786D-04-.1440886961226929D-04-.8000610566205314D-04
-0.1291134218726644D-040.7167060586276605D-04-.1156616372469904D-04
--.6413319184916952D-040.1034977991584680D-040.5727272713271265D-04
--.9242641819512053D-05-.5098776122625716D-040.8228377410789080D-05
-0.4519256146756725D-04-.7293151198878877D-05-.3981401266047105D-04
-0.6425163892851680D-050.3478916893609630D-04-.5614257322333374D-05
--.3006329973746788D-040.4851599099553577D-050.2558831255668139D-04
--.4129428081521270D-05-.2132146425429693D-040.3440846403443515D-05
-0.1722429384947072D-04-.2779647252972395D-05-.1326172498198105D-04
-0.2140170026010777D-050.9401297415863014D-05-.1517176307183306D-05
--.5612495043042305D-050.9057414234252119D-060.1866143715512185D-05
--.3011572664637594D-060.1866143715712640D-05-.3011572664961087D-06
--.5612495043095234D-050.9057414234337534D-060.9401297415583386D-05
--.1517176307138179D-05-.1326172498190355D-040.2140170025998270D-05
-0.1722429384915639D-04-.2779647252921669D-05-.2132146425430071D-04
-0.3440846403444125D-050.2558831255660659D-04-.4129428081509198D-05
--.3006329973748652D-040.4851599099556584D-050.3478916893617300D-04
--.5614257322345751D-05-.3981401266032415D-040.6425163892827973D-05
-0.4519256146769957D-04-.7293151198900231D-05-.5098776122600387D-04
-0.8228377410748204D-050.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
-0.1048288588419666D+00-.1672933912657333D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
-0.1363516010089288D-020.1259010716643076D-030.1597157490519940D-01
--.2577484145293108D-02-.7089509216132388D-020.1144101174176753D-02
-0.3980741565709959D-02-.6424099272005126D-03-.2541776982554263D-02
-0.4101905987537787D-030.1760064559812521D-02-.2840382695217011D-03
--.1288661285438230D-020.2079634633143654D-030.9826448017572174D-03
--.1585786882018380D-03-.7727812230408974D-030.1247110170406368D-03
-0.6226054234809117D-03-.1004757274921672D-03-.5114288231755168D-03
-0.8253410768850847D-040.4268045368520104D-03-.6887748599651892D-04
--.3608796739013979D-030.5823856716450639D-040.3085010747980624D-03
--.4978573708714430D-04-.2661733971656788D-030.4295491929665637D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2026106452901076D-03
-0.3269719667613068D-040.1783582025511267D-03-.2878335054540236D-04
--.1577525118211425D-030.2545801528732096D-040.1400760388418106D-03
--.2260539561021587D-04-.1247774371157844D-030.2013651551366699D-04
-0.1114272391272199D-03-.1798206776156415D-04-.9968672138364864D-04
-0.1608738933935444D-040.8928564729752786D-04-.1440886961226929D-04
--.8000610566205314D-040.1291134218726644D-040.7167060586276605D-04
--.1156616372469904D-04-.6413319184916952D-040.1034977991584680D-04
-0.5727272713271265D-04-.9242641819512053D-05-.5098776122625716D-04
-0.8228377410789080D-050.4519256146756725D-04-.7293151198878877D-05
--.3981401266047105D-040.6425163892851680D-050.3478916893609630D-04
--.5614257322333374D-05-.3006329973746788D-040.4851599099553577D-05
-0.2558831255668139D-04-.4129428081521270D-05-.2132146425429693D-04
-0.3440846403443515D-050.1722429384947072D-04-.2779647252972395D-05
--.1326172498198105D-040.2140170026010777D-050.9401297415863014D-05
--.1517176307183306D-05-.5612495043042305D-050.9057414234252119D-06
-0.1866143715512185D-05-.3011572664637594D-060.1866143715712640D-05
--.3011572664961087D-06-.5612495043095234D-050.9057414234337534D-06
-0.9401297415583386D-05-.1517176307138179D-05-.1326172498190355D-04
-0.2140170025998270D-050.1722429384915639D-04-.2779647252921669D-05
--.2132146425430071D-040.3440846403444125D-050.2558831255660659D-04
--.4129428081509198D-05-.3006329973748652D-040.4851599099556584D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3981401266032415D-04
-0.6425163892827973D-050.4519256146769957D-04-.7293151198900231D-05
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-010.1048615690158307D+00-.1674863983669926D-01
--.6393452627818429D-010.1031771937313455D-010.1382690415332871D-02
-0.1280923047700254D-03-.6393452627818492D-010.1031771937313466D-01
-0.1597157490519940D-01-.2577484145293108D-02-.7089509216132388D-02
-0.1144101174176753D-020.3980741565709959D-02-.6424099272005126D-03
--.2541776982554263D-020.4101905987537787D-030.1760064559812521D-02
--.2840382695217011D-03-.1288661285438230D-020.2079634633143654D-03
-0.9826448017572174D-03-.1585786882018380D-03-.7727812230408974D-03
-0.1247110170406368D-030.6226054234809117D-03-.1004757274921672D-03
--.5114288231755168D-030.8253410768850847D-040.4268045368520104D-03
--.6887748599651892D-04-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.1048912441749794D+00
--.1676645312853028D-010.1401962280695231D-020.1303026850247933D-03
-0.1315499101020305D-030.3980931060364731D-050.1495712768796483D+01
--.8758582323213338D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.4268045368520104D-03
--.6887748599651892D-04-.5114288231755168D-030.8253410768850847D-04
-0.6226054234809117D-03-.1004757274921672D-03-.7727812230408974D-03
-0.1247110170406368D-030.9826448017572174D-03-.1585786882018380D-03
--.1288661285438230D-020.2079634633143654D-030.1760064559812521D-02
--.2840382695217011D-03-.2541776982554263D-020.4101905987537787D-03
-0.3980741565709959D-02-.6424099272005126D-03-.7089509216132388D-02
-0.1144101174176753D-020.1597157490519940D-01-.2577484145293108D-02
--.6393452627818492D-010.1031771937313466D-010.1315499101020305D-03
-0.3980931060364731D-050.1444546692054133D-030.5038740027685473D-05
--.6393452627818429D-010.1031771937313455D-010.1284018775367995D+01
--.9274586432417488D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.4268045368520104D-03
--.6887748599651892D-04-.5114288231755168D-030.8253410768850847D-04
-0.6226054234809117D-03-.1004757274921672D-03-.7727812230408974D-03
-0.1247110170406368D-030.9826448017572174D-03-.1585786882018380D-03
--.1288661285438230D-020.2079634633143654D-030.1760064559812521D-02
--.2840382695217011D-03-.2541776982554263D-020.4101905987537787D-03
-0.3980741565709959D-02-.6424099272005126D-03-.7089509216132388D-02
-0.1144101174176753D-020.1597157490519940D-01-.2577484145293108D-02
-0.1444546692054133D-030.5038740027685473D-050.1574251928385321D-03
-0.6107296557512106D-050.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.1103394708518522D+01
--.9497234835585190D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.4268045368520104D-03
--.6887748599651892D-04-.5114288231755168D-030.8253410768850847D-04
-0.6226054234809117D-03-.1004757274921672D-03-.7727812230408974D-03
-0.1247110170406368D-030.9826448017572174D-03-.1585786882018380D-03
--.1288661285438230D-020.2079634633143654D-030.1760064559812521D-02
--.2840382695217011D-03-.2541776982554263D-020.4101905987537787D-03
-0.3980741565709959D-02-.6424099272005126D-03-.7089509216132388D-02
-0.1144101174176753D-020.1574251928385321D-030.6107296557512106D-05
-0.1704618139382066D-030.7186682901146465D-05-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.9490240426135286D+00
--.9506540400453242D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.4268045368520104D-03
--.6887748599651892D-04-.5114288231755168D-030.8253410768850847D-04
-0.6226054234809117D-03-.1004757274921672D-03-.7727812230408974D-03
-0.1247110170406368D-030.9826448017572174D-03-.1585786882018380D-03
--.1288661285438230D-020.2079634633143654D-030.1760064559812521D-02
--.2840382695217011D-03-.2541776982554263D-020.4101905987537787D-03
-0.3980741565709959D-02-.6424099272005126D-030.1704618139382066D-03
-0.7186682901146465D-050.1835648671152865D-030.8276981869115928D-05
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.8168613374502116D+00
--.9363985243360058D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.4268045368520104D-03
--.6887748599651892D-04-.5114288231755168D-030.8253410768850847D-04
-0.6226054234809117D-03-.1004757274921672D-03-.7727812230408974D-03
-0.1247110170406368D-030.9826448017572174D-03-.1585786882018380D-03
--.1288661285438230D-020.2079634633143654D-030.1760064559812521D-02
--.2840382695217011D-03-.2541776982554263D-020.4101905987537787D-03
-0.1835648671152865D-030.8276981869115928D-050.1967346886630121D-03
-0.9378276834732454D-05-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.7035067815698437D+00
--.9116507089552443D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.4268045368520104D-03
--.6887748599651892D-04-.5114288231755168D-030.8253410768850847D-04
-0.6226054234809117D-03-.1004757274921672D-03-.7727812230408974D-03
-0.1247110170406368D-030.9826448017572174D-03-.1585786882018380D-03
--.1288661285438230D-020.2079634633143654D-030.1760064559812521D-02
--.2840382695217011D-030.1967346886630121D-030.9378276834732454D-05
-0.2099716165654131D-030.1049065173767338D-040.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.6061012742425287D+00
--.8799665629787737D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.4268045368520104D-03
--.6887748599651892D-04-.5114288231755168D-030.8253410768850847D-04
-0.6226054234809117D-03-.1004757274921672D-03-.7727812230408974D-03
-0.1247110170406368D-030.9826448017572174D-03-.1585786882018380D-03
--.1288661285438230D-020.2079634633143654D-030.2099716165654131D-03
-0.1049065173767338D-040.2232759905057449D-030.1161419108758396D-04
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.5222386826466781D+00
--.8440152302463712D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.4268045368520104D-03
--.6887748599651892D-04-.5114288231755168D-030.8253410768850847D-04
-0.6226054234809117D-03-.1004757274921672D-03-.7727812230408974D-03
-0.1247110170406368D-030.9826448017572174D-03-.1585786882018380D-03
-0.2232759905057449D-030.1161419108758396D-040.2366481518749747D-03
-0.1274897996770195D-040.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.4498924598572777D+00
--.8057775134654636D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.4268045368520104D-03
--.6887748599651892D-04-.5114288231755168D-030.8253410768850847D-04
-0.6226054234809117D-03-.1004757274921672D-03-.7727812230408974D-03
-0.1247110170406368D-030.2366481518749747D-030.1274897996770195D-04
-0.2500884437803040D-030.1389510403850428D-04-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.3873542691813320D+00
--.7667024547805577D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.4268045368520104D-03
--.6887748599651892D-04-.5114288231755168D-030.8253410768850847D-04
-0.6226054234809117D-03-.1004757274921672D-030.2500884437803040D-03
-0.1389510403850428D-040.2635972110537330D-030.1505264954137583D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.3331826455172370D+00
--.7278305234447378D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.4268045368520104D-03
--.6887748599651892D-04-.5114288231755168D-030.8253410768850847D-04
-0.2635972110537330D-030.1505264954137583D-040.2771748002606731D-03
-0.1622170330230075D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.2861600468480754D+00
--.6898902412495479D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.4268045368520104D-03
--.6887748599651892D-040.2771748002606731D-030.1622170330230075D-04
-0.2908215597085934D-030.1740235273557609D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.2452569188515565D+00
--.6533737207443764D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.2908215597085934D-03
-0.1740235273557609D-040.3045378394557195D-030.1859468584754816D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.2096016214375600D+00
--.6185954984913972D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
-0.3045378394557195D-030.1859468584754816D-040.3183239913197660D-03
-0.1979879124037159D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.1784552549543353D+00
--.5857381656377866D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3183239913197660D-030.1979879124037159D-04
-0.3321803688867207D-030.2101475811579130D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.1511905818315803D+00
--.5548875902979072D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-040.3321803688867207D-03
-0.2101475811579130D-040.3461073275196676D-030.2224267627894746D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.1272743715807420D+00
--.5260599576185822D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.3461073275196676D-030.2224267627894746D-040.3601052243676528D-03
-0.2348263614220369D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.1062526075652616D+00
--.4992223971674474D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-040.3601052243676528D-030.2348263614220369D-04
-0.3741744183745985D-030.2473472872899837D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.8773808631923941D-01
--.4743086017203506D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.3741744183745985D-03
-0.2473472872899837D-040.3883152702882559D-030.2599904567771967D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.7140001739248367D-01
--.4512305490328010D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
-0.3883152702882559D-030.2599904567771967D-040.4025281426692064D-03
-0.2727567924560386D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.5695529621298243D-01
--.4298872045172876D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.4025281426692064D-030.2727567924560386D-04
-0.4168133998999086D-030.2856472231265750D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.4416117636119962D-01
--.4101708963900788D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-040.4168133998999086D-03
-0.2856472231265750D-040.4311714081937841D-030.2986626838560346D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.3280911268293057D-01
--.3919719064856946D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.4311714081937841D-030.2986626838560346D-040.4456025356043519D-03
-0.3118041160185087D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.2271958428400390D-01
--.3751817020459010D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-040.4456025356043519D-030.3118041160185087D-04
-0.4601071520344119D-030.3250724673348925D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.1373773786865687D-01
--.3596951403082874D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.4601071520344119D-03
-0.3250724673348925D-040.4746856292452647D-030.3384686919130694D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.5729718122685731D-02
--.3454119037607182D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
-0.4746856292452647D-030.3384686919130694D-040.4893383408659858D-03
-0.3519937502883382D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.1420426245443279D-02
--.3322373655592117D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.4893383408659858D-030.3519937502883382D-04
-0.5040656624027409D-030.3656486094640881D-04-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.7813353894945640D-02
--.3200830386663087D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-050.5040656624027409D-03
-0.3656486094640881D-040.5188679712481502D-030.3794342429527186D-04
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.1353663748560101D-01
--.3088667262160822D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5188679712481502D-030.3794342429527186D-040.5337456466906940D-03
-0.3933516308168090D-04-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.1866663060706036D-01
--.2985124624149579D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-050.5337456466906940D-030.3933516308168090D-04
-0.5486990699241699D-030.4074017597105377D-040.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2327004940642635D-01
--.2889503113144904D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.5486990699241699D-03
-0.4074017597105377D-040.5637286240571986D-030.4215856229213537D-04
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2740531442145211D-01
--.2801160737399670D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
-0.5637286240571986D-030.4215856229213537D-040.5788346941227656D-03
-0.4359042204118991D-040.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.3112369069937826D-01
--.2719509394869411D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.5788346941227656D-030.4359042204118991D-04
-0.5940176670878278D-030.4503585588621884D-04-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.3447025807878468D-01
--.2644011117776505D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-050.5940176670878278D-03
-0.4503585588621884D-040.6092779318629489D-030.4649496517120420D-04
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.3748473833137467D-01
--.2574174232414716D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.6092779318629489D-030.4649496517120420D-040.6246158793119950D-03
-0.4796785192037780D-04-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.4020220153327811D-01
--.2509549568248576D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-050.6246158793119950D-030.4796785192037780D-04
-0.6400319022618756D-030.4945461884251627D-040.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.4265367042011983D-01
--.2449726806321739D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.6400319022618756D-03
-0.4945461884251627D-040.6555263955123291D-030.5095536933526217D-04
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.4486663845896954D-01
--.2394331024220700D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
-0.6555263955123291D-030.5095536933526217D-040.6710997558457615D-03
-0.5247020748947131D-040.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.4686551484505416D-01
--.2343019470765194D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.6710997558457615D-030.5247020748947131D-04
-0.6867523820371290D-030.5399923809358637D-04-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.4867200751975501D-01
--.2295478586186883D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-060.6867523820371290D-03
-0.5399923809358637D-040.7024846748638742D-030.5554256663803711D-04
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.5030545354048027D-01
--.2251421271226276D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.7024846748638742D-030.5554256663803711D-040.7182970371159094D-03
-0.5710029931966725D-040.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.5178310465540323D-01
--.2210584400084966D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.7182970371159094D-030.5710029931966725D-04
-0.7341898736056463D-030.5867254304618804D-04-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.5312037469915137D-01
--.2172726566553483D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-050.7341898736056463D-03
-0.5867254304618804D-040.7501635911780829D-030.6025940544065905D-04
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.5433105438958483D-01
--.2137626049149093D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.7501635911780829D-030.6025940544065905D-040.7662185987209308D-03
-0.6186099484599586D-04-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.5542749823766951D-01
--.2105078979169252D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-050.7662185987209308D-030.6186099484599586D-04
-0.7823553071748006D-030.6347742032950520D-040.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.5642078755448146D-01
--.2074897694756246D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.7823553071748006D-03
-0.6347742032950520D-040.7985741295434327D-030.6510879168744751D-04
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.5732087292851082D-01
--.2046909264043303D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
-0.7985741295434327D-030.6510879168744751D-040.8148754809039821D-03
-0.6675521944962719D-040.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.5813669903342966D-01
--.2020954160960765D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.8148754809039821D-030.6675521944962719D-04
-0.8312597784173505D-030.6841681488401041D-04-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.5887631419529668D-01
--.1996885078135194D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-050.8312597784173505D-03
-0.6841681488401041D-040.8477274413385733D-030.7009369000137130D-04
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.5954696678540483D-01
--.1974565862376031D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.8477274413385733D-030.7009369000137130D-040.8642788910272550D-03
-0.7178595755996570D-04-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.6015519019946330D-01
--.1953870559413300D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-050.8642788910272550D-030.7178595755996570D-04
-0.8809145509580565D-030.7349373107023372D-040.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.6070687792621943D-01
--.1934682555754028D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.8809145509580565D-03
-0.7349373107023372D-040.8976348467312377D-030.7521712479953038D-04
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.6120734999118643D-01
--.1916893806714917D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
-0.8976348467312377D-030.7521712479953038D-040.9144402060832480D-03
-0.7695625377688507D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.6166141187735572D-01
--.1900404140831033D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.9144402060832480D-030.7695625377688507D-04
-0.9313310588973688D-030.7871123379778959D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.6207340686920948D-01
--.1885120631913809D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-040.9313310588973688D-03
-0.7871123379778959D-040.9483078372144148D-030.8048218142901548D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.6244726263448086D-01
--.1870957031024471D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.9483078372144148D-030.8048218142901548D-040.9653709752434816D-03
-0.8226921401346013D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.6278653274614820D-01
--.1857833251535415D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-040.9653709752434816D-030.8226921401346013D-04
-0.9825209093727470D-030.8407244967502225D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.6309443375193149D-01
--.1845674901271196D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.9825209093727470D-03
-0.8407244967502225D-040.9997580781803323D-030.8589200732350710D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.6337387831743405D-01
--.1834412856454672D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
-0.9997580781803323D-030.8589200732350710D-040.1017082922445208D-02
-0.8772800665956083D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.6362750489982794D-01
--.1823982872836648D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1017082922445208D-020.8772800665956083D-04
-0.1034495885158160D-020.8958056817963518D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.6385770434976151D-01
--.1814325229964734D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-040.1034495885158160D-02
-0.8958056817963518D-040.1051997411532808D-020.9144981318098186D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.6406664378841609D-01
--.1805384405054882D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1051997411532808D-020.9144981318098186D-040.1069587949016678D-02
-0.9333586376667711D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.6425628806305758D-01
--.1797108773373967D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-040.1069587949016678D-020.9333586376667711D-04
-0.1087267947302331D-020.9523884285067672D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.6442841904691948D-01
--.1789450332429918D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1087267947302331D-02
-0.9523884285067672D-040.1105037858338542D-020.9715887416290131D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.6458465301690153D-01
--.1782364447603602D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
-0.1105037858338542D-020.9715887416290131D-040.1122898136341541D-02
-0.9909608225435285D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.6472645631459964D-01
--.1775809617149684D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.1122898136341541D-020.9909608225435285D-04
-0.1140849237806308D-020.1010505925022613D-03-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.6485515947194923D-01
--.1769747254747372D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-040.1140849237806308D-02
-0.1010505925022613D-030.1158891621517917D-020.1030225311152631D-03
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.6497196996171620D-01
--.1764141488001286D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.1158891621517917D-020.1030225311152631D-030.1177025748562945D-02
-0.1050120251386102D-03-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.6507798371474940D-01
--.1758958971482033D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-040.1177025748562945D-020.1050120251386102D-03
-0.1195252082340932D-020.1070192024594111D-030.4268045368520104D-03
--.6887748599651892D-04-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.6517419552992140D-01
--.1754168713059499D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.1195252082340932D-02
-0.1070192024594111D-030.1213571088575899D-020.1090441918119028D-03
--.5114288231755168D-030.8253410768850847D-040.4268045368520104D-03
--.6887748599651892D-04-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.6526150848870371D-01
--.1749741912422772D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
-0.1213571088575899D-020.1090441918119028D-030.1231983235327929D-02
-0.1110871227827559D-030.6226054234809117D-03-.1004757274921672D-03
--.5114288231755168D-030.8253410768850847D-040.4268045368520104D-03
--.6887748599651892D-04-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.6534074247406860D-01
--.1745651810802267D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.1231983235327929D-020.1110871227827559D-03
-0.1250488993004788D-020.1131481258164096D-03-.7727812230408974D-03
-0.1247110170406368D-030.6226054234809117D-03-.1004757274921672D-03
--.5114288231755168D-030.8253410768850847D-040.4268045368520104D-03
--.6887748599651892D-04-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.6541264188264254D-01
--.1741873551014634D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-030.1250488993004788D-02
-0.1131481258164096D-030.1269088834373626D-020.1152273322204408D-03
-0.9826448017572174D-03-.1585786882018380D-03-.7727812230408974D-03
-0.1247110170406368D-030.6226054234809117D-03-.1004757274921672D-03
--.5114288231755168D-030.8253410768850847D-040.4268045368520104D-03
--.6887748599651892D-04-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.6547788260955756D-01
--.1738384047041783D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.1269088834373626D-020.1152273322204408D-030.1287783234572715D-02
-0.1173248741709648D-03-.1288661285438230D-020.2079634633143654D-03
-0.9826448017572174D-03-.1585786882018380D-03-.7727812230408974D-03
-0.1247110170406368D-030.6226054234809117D-03-.1004757274921672D-03
--.5114288231755168D-030.8253410768850847D-040.4268045368520104D-03
--.6887748599651892D-04-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.6553707837708347D-01
--.1735161862434064D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-030.1287783234572715D-020.1173248741709648D-03
-0.1306572671123266D-020.1194408847180681D-030.1760064559812521D-02
--.2840382695217011D-03-.1288661285438230D-020.2079634633143654D-03
-0.9826448017572174D-03-.1585786882018380D-03-.7727812230408974D-03
-0.1247110170406368D-030.6226054234809117D-03-.1004757274921672D-03
--.5114288231755168D-030.8253410768850847D-040.4268045368520104D-03
--.6887748599651892D-04-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.6559078647072791D-01
--.1732187096895809D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1306572671123266D-02
-0.1194408847180681D-030.1325457623941280D-020.1215754977912746D-03
--.2541776982554263D-020.4101905987537787D-030.1760064559812521D-02
--.2840382695217011D-03-.1288661285438230D-020.2079634633143654D-03
-0.9826448017572174D-03-.1585786882018380D-03-.7727812230408974D-03
-0.1247110170406368D-030.6226054234809117D-03-.1004757274921672D-03
--.5114288231755168D-030.8253410768850847D-040.4268045368520104D-03
--.6887748599651892D-04-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.6563951293994072D-01
--.1729441280470915D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
-0.1325457623941280D-020.1215754977912746D-030.1344438575349479D-02
-0.1237288482050448D-030.3980741565709959D-02-.6424099272005126D-03
--.2541776982554263D-020.4101905987537787D-030.1760064559812521D-02
--.2840382695217011D-03-.1288661285438230D-020.2079634633143654D-03
-0.9826448017572174D-03-.1585786882018380D-03-.7727812230408974D-03
-0.1247110170406368D-030.6226054234809117D-03-.1004757274921672D-03
--.5114288231755168D-030.8253410768850847D-040.4268045368520104D-03
--.6887748599651892D-04-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.6568371731474190D-01
--.1726907274797979D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.1344438575349479D-020.1237288482050448D-03
-0.1363516010089288D-020.1259010716643076D-03-.7089509216132388D-02
-0.1144101174176753D-020.3980741565709959D-02-.6424099272005126D-03
--.2541776982554263D-020.4101905987537787D-030.1760064559812521D-02
--.2840382695217011D-03-.1288661285438230D-020.2079634633143654D-03
-0.9826448017572174D-03-.1585786882018380D-03-.7727812230408974D-03
-0.1247110170406368D-030.6226054234809117D-03-.1004757274921672D-03
--.5114288231755168D-030.8253410768850847D-040.4268045368520104D-03
--.6887748599651892D-04-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.6572381688442269D-01
--.1724569180949983D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-020.1363516010089288D-02
-0.1259010716643076D-030.1382690415332871D-020.1280923047700254D-03
-0.1597157490519940D-01-.2577484145293108D-02-.7089509216132388D-02
-0.1144101174176753D-020.3980741565709959D-02-.6424099272005126D-03
--.2541776982554263D-020.4101905987537787D-030.1760064559812521D-02
--.2840382695217011D-03-.1288661285438230D-020.2079634633143654D-03
-0.9826448017572174D-03-.1585786882018380D-03-.7727812230408974D-03
-0.1247110170406368D-030.6226054234809117D-03-.1004757274921672D-03
--.5114288231755168D-030.8253410768850847D-040.4268045368520104D-03
--.6887748599651892D-04-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.6576019057985988D-01
--.1722412253413513D-01-.6393452627818429D-010.1031771937313455D-01
-0.1382690415332871D-020.1280923047700254D-030.1401962280695231D-02
-0.1303026850247933D-03-.6393452627818492D-010.1031771937313466D-01
-0.1597157490519940D-01-.2577484145293108D-02-.7089509216132388D-02
-0.1144101174176753D-020.3980741565709959D-02-.6424099272005126D-03
--.2541776982554263D-020.4101905987537787D-030.1760064559812521D-02
--.2840382695217011D-03-.1288661285438230D-020.2079634633143654D-03
-0.9826448017572174D-03-.1585786882018380D-03-.7727812230408974D-03
-0.1247110170406368D-030.6226054234809117D-03-.1004757274921672D-03
--.5114288231755168D-030.8253410768850847D-040.4268045368520104D-03
--.6887748599651892D-04-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.6579318249687402D-01
--.1720422819797903D-010.1401962280695231D-020.1303026850247933D-03
-0.1315499101020305D-030.3980931060364731D-050.4820685663032476D-01
--.5085988217165716D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.4268045368520104D-03
--.6887748599651892D-04-.5114288231755168D-030.8253410768850847D-04
-0.6226054234809117D-03-.1004757274921672D-03-.7727812230408974D-03
-0.1247110170406368D-030.9826448017572174D-03-.1585786882018380D-03
--.1288661285438230D-020.2079634633143654D-030.1760064559812521D-02
--.2840382695217011D-03-.2541776982554263D-020.4101905987537787D-03
-0.3980741565709959D-02-.6424099272005126D-03-.7089509216132388D-02
-0.1144101174176753D-020.1597157490519940D-01-.2577484145293108D-02
--.6393452627818492D-010.1031771937313466D-010.1315499101020305D-03
-0.3980931060364731D-050.1444546692054133D-030.5038740027685473D-05
--.6393452627818429D-010.1031771937313455D-01-.4982848866673706D-01
--.5061033237937254D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.4268045368520104D-03
--.6887748599651892D-04-.5114288231755168D-030.8253410768850847D-04
-0.6226054234809117D-03-.1004757274921672D-03-.7727812230408974D-03
-0.1247110170406368D-030.9826448017572174D-03-.1585786882018380D-03
--.1288661285438230D-020.2079634633143654D-030.1760064559812521D-02
--.2840382695217011D-03-.2541776982554263D-020.4101905987537787D-03
-0.3980741565709959D-02-.6424099272005126D-03-.7089509216132388D-02
-0.1144101174176753D-020.1597157490519940D-01-.2577484145293108D-02
-0.1444546692054133D-030.5038740027685473D-050.1574251928385321D-03
-0.6107296557512106D-050.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.1268572577288423D+00
--.4868036798000584D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.4268045368520104D-03
--.6887748599651892D-04-.5114288231755168D-030.8253410768850847D-04
-0.6226054234809117D-03-.1004757274921672D-03-.7727812230408974D-03
-0.1247110170406368D-030.9826448017572174D-03-.1585786882018380D-03
--.1288661285438230D-020.2079634633143654D-030.1760064559812521D-02
--.2840382695217011D-03-.2541776982554263D-020.4101905987537787D-03
-0.3980741565709959D-02-.6424099272005126D-03-.7089509216132388D-02
-0.1144101174176753D-020.1574251928385321D-030.6107296557512106D-05
-0.1704618139382066D-030.7186682901146465D-05-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.1868102272661466D+00
--.4569036816326588D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.4268045368520104D-03
--.6887748599651892D-04-.5114288231755168D-030.8253410768850847D-04
-0.6226054234809117D-03-.1004757274921672D-03-.7727812230408974D-03
-0.1247110170406368D-030.9826448017572174D-03-.1585786882018380D-03
--.1288661285438230D-020.2079634633143654D-030.1760064559812521D-02
--.2840382695217011D-03-.2541776982554263D-020.4101905987537787D-03
-0.3980741565709959D-02-.6424099272005126D-030.1704618139382066D-03
-0.7186682901146465D-050.1835648671152865D-030.8276981869115928D-05
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2329245777932227D+00
--.4209739735795140D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.4268045368520104D-03
--.6887748599651892D-04-.5114288231755168D-030.8253410768850847D-04
-0.6226054234809117D-03-.1004757274921672D-03-.7727812230408974D-03
-0.1247110170406368D-030.9826448017572174D-03-.1585786882018380D-03
--.1288661285438230D-020.2079634633143654D-030.1760064559812521D-02
--.2840382695217011D-03-.2541776982554263D-020.4101905987537787D-03
-0.1835648671152865D-030.8276981869115928D-050.1967346886630121D-03
-0.9378276834732454D-05-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2678626138092677D+00
--.3823258786163024D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.4268045368520104D-03
--.6887748599651892D-04-.5114288231755168D-030.8253410768850847D-04
-0.6226054234809117D-03-.1004757274921672D-03-.7727812230408974D-03
-0.1247110170406368D-030.9826448017572174D-03-.1585786882018380D-03
--.1288661285438230D-020.2079634633143654D-030.1760064559812521D-02
--.2840382695217011D-030.1967346886630121D-030.9378276834732454D-05
-0.2099716165654131D-030.1049065173767338D-040.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2938105270752963D+00
--.3433058868290575D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.4268045368520104D-03
--.6887748599651892D-04-.5114288231755168D-030.8253410768850847D-04
-0.6226054234809117D-03-.1004757274921672D-03-.7727812230408974D-03
-0.1247110170406368D-030.9826448017572174D-03-.1585786882018380D-03
--.1288661285438230D-020.2079634633143654D-030.2099716165654131D-03
-0.1049065173767338D-040.2232759905057449D-030.1161419108758396D-04
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.3125605165773361D+00
--.3055268727498139D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.4268045368520104D-03
--.6887748599651892D-04-.5114288231755168D-030.8253410768850847D-04
-0.6226054234809117D-03-.1004757274921672D-03-.7727812230408974D-03
-0.1247110170406368D-030.9826448017572174D-03-.1585786882018380D-03
-0.2232759905057449D-030.1161419108758396D-040.2366481518749747D-03
-0.1274897996770195D-040.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.3255790339185094D+00
--.2700489567358313D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.4268045368520104D-03
--.6887748599651892D-04-.5114288231755168D-030.8253410768850847D-04
-0.6226054234809117D-03-.1004757274921672D-03-.7727812230408974D-03
-0.1247110170406368D-030.2366481518749747D-030.1274897996770195D-04
-0.2500884437803040D-030.1389510403850428D-04-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.3340634668458927D+00
--.2375203779188533D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.4268045368520104D-03
--.6887748599651892D-04-.5114288231755168D-030.8253410768850847D-04
-0.6226054234809117D-03-.1004757274921672D-030.2500884437803040D-03
-0.1389510403850428D-040.2635972110537330D-030.1505264954137583D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.3389891920386465D+00
--.2082866889705388D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.4268045368520104D-03
--.6887748599651892D-04-.5114288231755168D-030.8253410768850847D-04
-0.2635972110537330D-030.1505264954137583D-040.2771748002606731D-03
-0.1622170330230075D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.3411486091088010D+00
--.1824749233535114D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.4268045368520104D-03
--.6887748599651892D-040.2771748002606731D-030.1622170330230075D-04
-0.2908215597085934D-030.1740235273557609D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.3411835008757841D+00
--.1600580484709967D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.2908215597085934D-03
-0.1740235273557609D-040.3045378394557195D-030.1859468584754816D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.3396118418774621D+00
--.1409039418766617D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
-0.3045378394557195D-030.1859468584754816D-040.3183239913197660D-03
-0.1979879124037159D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.3368499906489177D+00
--.1248122626208860D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3183239913197660D-030.1979879124037159D-04
-0.3321803688867207D-030.2101475811579130D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.3332310455596447D+00
--.1115418954076180D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-040.3321803688867207D-03
-0.2101475811579130D-040.3461073275196676D-030.2224267627894746D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.3290200139402660D+00
--.1008310886583305D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.3461073275196676D-030.2224267627894746D-040.3601052243676528D-03
-0.2348263614220369D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.3244263356522539D+00
--.9241196217609635D-02-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-040.3601052243676528D-030.2348263614220369D-04
-0.3741744183745985D-030.2473472872899837D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.3196142116403626D+00
--.8602070427593237D-02-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.3741744183745985D-03
-0.2473472872899837D-040.3883152702882559D-030.2599904567771967D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.3147111124108911D+00
--.8140449450940520D-02-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
-0.3883152702882559D-030.2599904567771967D-040.4025281426692064D-03
-0.2727567924560386D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.3098147783322389D+00
--.7832596231436846D-02-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.4025281426692064D-030.2727567924560386D-04
-0.4168133998999086D-030.2856472231265750D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.3049989710922947D+00
--.7656581262990280D-02-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-040.4168133998999086D-03
-0.2856472231265750D-040.4311714081937841D-030.2986626838560346D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.3003181918419177D+00
--.7592410749930865D-02-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.4311714081937841D-030.2986626838560346D-040.4456025356043519D-03
-0.3118041160185087D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2958115450595328D+00
--.7622058049335034D-02-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-040.4456025356043519D-030.3118041160185087D-04
-0.4601071520344119D-030.3250724673348925D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2915058967797831D+00
--.7729427242199239D-02-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.4601071520344119D-03
-0.3250724673348925D-040.4746856292452647D-030.3384686919130694D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2874184505286342D+00
--.7900270743738223D-02-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
-0.4746856292452647D-030.3384686919130694D-040.4893383408659858D-03
-0.3519937502883382D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2835588432536662D+00
--.8122077438341108D-02-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.4893383408659858D-030.3519937502883382D-04
-0.5040656624027409D-030.3656486094640881D-04-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2799308460258400D+00
--.8383943600343269D-02-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-050.5040656624027409D-03
-0.3656486094640881D-040.5188679712481502D-030.3794342429527186D-04
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2765337397283812D+00
--.8676435588169473D-02-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5188679712481502D-030.3794342429527186D-040.5337456466906940D-03
-0.3933516308168090D-04-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2733634238474208D+00
--.8991450776860036D-02-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-050.5337456466906940D-030.3933516308168090D-04
-0.5486990699241699D-030.4074017597105377D-040.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2704133064268818D+00
--.9322081262977695D-02-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.5486990699241699D-03
-0.4074017597105377D-040.5637286240571986D-030.4215856229213537D-04
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2676750149039842D+00
--.9662483409213413D-02-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
-0.5637286240571986D-030.4215856229213537D-040.5788346941227656D-03
-0.4359042204118991D-040.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2651389606156939D+00
--.1000775519245637D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.5788346941227656D-030.4359042204118991D-04
-0.5940176670878278D-030.4503585588621884D-04-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2627947840219851D+00
--.1035382249831074D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-050.5940176670878278D-03
-0.4503585588621884D-040.6092779318629489D-030.4649496517120420D-04
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2606317029300955D+00
--.1069733490338830D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.6092779318629489D-030.4649496517120420D-040.6246158793119950D-03
-0.4796785192037780D-04-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2586387820593383D+00
--.1103557105390731D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-050.6246158793119950D-030.4796785192037780D-04
-0.6400319022618756D-030.4945461884251627D-040.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2568051390204495D+00
--.1136635344559469D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.6400319022618756D-03
-0.4945461884251627D-040.6555263955123291D-030.5095536933526217D-04
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2551200990819129D+00
--.1168797220454049D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
-0.6555263955123291D-030.5095536933526217D-040.6710997558457615D-03
-0.5247020748947131D-040.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2535733088625027D+00
--.1199911733718971D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.6710997558457615D-030.5247020748947131D-04
-0.6867523820371290D-030.5399923809358637D-04-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2521548172447478D+00
--.1229881884115071D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-060.6867523820371290D-03
-0.5399923809358637D-040.7024846748638742D-030.5554256663803711D-04
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2508551302818606D+00
--.1258639403228736D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.7024846748638742D-030.5554256663803711D-040.7182970371159094D-03
-0.5710029931966725D-040.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2496652456157812D+00
--.1286140143634197D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.7182970371159094D-030.5710029931966725D-04
-0.7341898736056463D-030.5867254304618804D-04-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2485766708905219D+00
--.1312360060645681D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-050.7341898736056463D-03
-0.5867254304618804D-040.7501635911780829D-030.6025940544065905D-04
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2475814297948827D+00
--.1337291725485198D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.7501635911780829D-030.6025940544065905D-040.7662185987209308D-03
-0.6186099484599586D-04-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2466720586702197D+00
--.1360941312262982D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-050.7662185987209308D-030.6186099484599586D-04
-0.7823553071748006D-030.6347742032950520D-040.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2458415960460029D+00
--.1383326005253246D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.7823553071748006D-03
-0.6347742032950520D-040.7985741295434327D-030.6510879168744751D-04
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2450835669966239D+00
--.1404471777278064D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
-0.7985741295434327D-030.6510879168744751D-040.8148754809039821D-03
-0.6675521944962719D-040.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2443919638292058D+00
--.1424411494392620D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.8148754809039821D-030.6675521944962719D-04
-0.8312597784173505D-030.6841681488401041D-04-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2437612242990515D+00
--.1443183306359489D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-050.8312597784173505D-03
-0.6841681488401041D-040.8477274413385733D-030.7009369000137130D-04
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2431862082944139D+00
--.1460829286515623D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.8477274413385733D-030.7009369000137130D-040.8642788910272550D-03
-0.7178595755996570D-04-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2426621737251980D+00
--.1477394288514098D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-050.8642788910272550D-030.7178595755996570D-04
-0.8809145509580565D-030.7349373107023372D-040.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2421847521824966D+00
--.1492924991028709D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.8809145509580565D-03
-0.7349373107023372D-040.8976348467312377D-030.7521712479953038D-04
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2417499248004771D+00
--.1507469104826736D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
-0.8976348467312377D-030.7521712479953038D-040.9144402060832480D-03
-0.7695625377688507D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2413539986432542D+00
--.1521074719639924D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.9144402060832480D-030.7695625377688507D-04
-0.9313310588973688D-030.7871123379778959D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2409935838522013D+00
--.1533789771001627D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-040.9313310588973688D-03
-0.7871123379778959D-040.9483078372144148D-030.8048218142901548D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2406655717196978D+00
--.1545661609680803D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.9483078372144148D-030.8048218142901548D-040.9653709752434816D-03
-0.8226921401346013D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2403671138003207D+00
--.1556736658546946D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-040.9653709752434816D-030.8226921401346013D-04
-0.9825209093727470D-030.8407244967502225D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2400956021272602D+00
--.1567060143662068D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.9825209093727470D-03
-0.8407244967502225D-040.9997580781803323D-030.8589200732350710D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2398486505680700D+00
--.1576675888135830D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
-0.9997580781803323D-030.8589200732350710D-040.1017082922445208D-02
-0.8772800665956083D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2396240773279193D+00
--.1585626158817118D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1017082922445208D-020.8772800665956083D-04
-0.1034495885158160D-020.8958056817963518D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2394198885888085D+00
--.1593951557249072D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-040.1034495885158160D-02
-0.8958056817963518D-040.1051997411532808D-020.9144981318098186D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2392342632585187D+00
--.1601690947502950D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1051997411532808D-020.9144981318098186D-040.1069587949016678D-02
-0.9333586376667711D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2390655387923777D+00
--.1608881414546571D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-040.1069587949016678D-020.9333586376667711D-04
-0.1087267947302331D-020.9523884285067672D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2389121980434366D+00
--.1615558247711579D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1087267947302331D-02
-0.9523884285067672D-040.1105037858338542D-020.9715887416290131D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2387728570916794D+00
--.1621754944615051D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
-0.1105037858338542D-020.9715887416290131D-040.1122898136341541D-02
-0.9909608225435285D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2386462539999018D+00
--.1627503231578771D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.1122898136341541D-020.9909608225435285D-04
-0.1140849237806308D-020.1010505925022613D-03-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2385312384424493D+00
--.1632833097185782D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-040.1140849237806308D-02
-0.1010505925022613D-030.1158891621517917D-020.1030225311152631D-03
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2384267621527447D+00
--.1637772836129954D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.1158891621517917D-020.1030225311152631D-030.1177025748562945D-02
-0.1050120251386102D-03-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2383318701361712D+00
--.1642349100959841D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-040.1177025748562945D-020.1050120251386102D-03
-0.1195252082340932D-020.1070192024594111D-030.4268045368520104D-03
--.6887748599651892D-04-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2382456925961863D+00
--.1646586959702118D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.1195252082340932D-02
-0.1070192024594111D-030.1213571088575899D-020.1090441918119028D-03
--.5114288231755168D-030.8253410768850847D-040.4268045368520104D-03
--.6887748599651892D-04-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2381674375233261D+00
--.1650509957680039D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
-0.1213571088575899D-020.1090441918119028D-030.1231983235327929D-02
-0.1110871227827559D-030.6226054234809117D-03-.1004757274921672D-03
--.5114288231755168D-030.8253410768850847D-040.4268045368520104D-03
--.6887748599651892D-04-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2380963838988937D+00
--.1654140182125686D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.1231983235327929D-020.1110871227827559D-03
-0.1250488993004788D-020.1131481258164096D-03-.7727812230408974D-03
-0.1247110170406368D-030.6226054234809117D-03-.1004757274921672D-03
--.5114288231755168D-030.8253410768850847D-040.4268045368520104D-03
--.6887748599651892D-04-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2380318754674663D+00
--.1657498328427346D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-030.1250488993004788D-02
-0.1131481258164096D-030.1269088834373626D-020.1152273322204408D-03
-0.9826448017572174D-03-.1585786882018380D-03-.7727812230408974D-03
-0.1247110170406368D-030.6226054234809117D-03-.1004757274921672D-03
--.5114288231755168D-030.8253410768850847D-040.4268045368520104D-03
--.6887748599651892D-04-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2379733150348419D+00
--.1660603767060543D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.1269088834373626D-020.1152273322204408D-030.1287783234572715D-02
-0.1173248741709648D-03-.1288661285438230D-020.2079634633143654D-03
-0.9826448017572174D-03-.1585786882018380D-03-.7727812230408974D-03
-0.1247110170406368D-030.6226054234809117D-03-.1004757274921672D-03
--.5114288231755168D-030.8253410768850847D-040.4268045368520104D-03
--.6887748599651892D-04-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2379201592505817D+00
--.1663474610427858D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-030.1287783234572715D-020.1173248741709648D-03
-0.1306572671123266D-020.1194408847180681D-030.1760064559812521D-02
--.2840382695217011D-03-.1288661285438230D-020.2079634633143654D-03
-0.9826448017572174D-03-.1585786882018380D-03-.7727812230408974D-03
-0.1247110170406368D-030.6226054234809117D-03-.1004757274921672D-03
--.5114288231755168D-030.8253410768850847D-040.4268045368520104D-03
--.6887748599651892D-04-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2378719138368543D+00
--.1666127778982718D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1306572671123266D-02
-0.1194408847180681D-030.1325457623941280D-020.1215754977912746D-03
--.2541776982554263D-020.4101905987537787D-030.1760064559812521D-02
--.2840382695217011D-03-.1288661285438230D-020.2079634633143654D-03
-0.9826448017572174D-03-.1585786882018380D-03-.7727812230408974D-03
-0.1247110170406368D-030.6226054234809117D-03-.1004757274921672D-03
--.5114288231755168D-030.8253410768850847D-040.4268045368520104D-03
--.6887748599651892D-04-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2378281292277970D+00
--.1668579066139561D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
-0.1325457623941280D-020.1215754977912746D-030.1344438575349479D-02
-0.1237288482050448D-030.3980741565709959D-02-.6424099272005126D-03
--.2541776982554263D-020.4101905987537787D-030.1760064559812521D-02
--.2840382695217011D-03-.1288661285438230D-020.2079634633143654D-03
-0.9826448017572174D-03-.1585786882018380D-03-.7727812230408974D-03
-0.1247110170406368D-030.6226054234809117D-03-.1004757274921672D-03
--.5114288231755168D-030.8253410768850847D-040.4268045368520104D-03
--.6887748599651892D-04-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2377883965860592D+00
--.1670843201580279D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.1344438575349479D-020.1237288482050448D-03
-0.1363516010089288D-020.1259010716643076D-03-.7089509216132388D-02
-0.1144101174176753D-020.3980741565709959D-02-.6424099272005126D-03
--.2541776982554263D-020.4101905987537787D-030.1760064559812521D-02
--.2840382695217011D-03-.1288661285438230D-020.2079634633143654D-03
-0.9826448017572174D-03-.1585786882018380D-03-.7727812230408974D-03
-0.1247110170406368D-030.6226054234809117D-03-.1004757274921672D-03
--.5114288231755168D-030.8253410768850847D-040.4268045368520104D-03
--.6887748599651892D-04-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2377523441655522D+00
--.1672933912657333D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-020.1363516010089288D-02
-0.1259010716643076D-030.1382690415332871D-020.1280923047700254D-03
-0.1597157490519940D-01-.2577484145293108D-02-.7089509216132388D-02
-0.1144101174176753D-020.3980741565709959D-02-.6424099272005126D-03
--.2541776982554263D-020.4101905987537787D-030.1760064559812521D-02
--.2840382695217011D-03-.1288661285438230D-020.2079634633143654D-03
-0.9826448017572174D-03-.1585786882018380D-03-.7727812230408974D-03
-0.1247110170406368D-030.6226054234809117D-03-.1004757274921672D-03
--.5114288231755168D-030.8253410768850847D-040.4268045368520104D-03
--.6887748599651892D-04-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2377196339916881D+00
--.1674863983669926D-01-.6393452627818429D-010.1031771937313455D-01
-0.1382690415332871D-020.1280923047700254D-030.1401962280695231D-02
-0.1303026850247933D-03-.6393452627818492D-010.1031771937313466D-01
-0.1597157490519940D-01-.2577484145293108D-02-.7089509216132388D-02
-0.1144101174176753D-020.3980741565709959D-02-.6424099272005126D-03
--.2541776982554263D-020.4101905987537787D-030.1760064559812521D-02
--.2840382695217011D-03-.1288661285438230D-020.2079634633143654D-03
-0.9826448017572174D-03-.1585786882018380D-03-.7727812230408974D-03
-0.1247110170406368D-030.6226054234809117D-03-.1004757274921672D-03
--.5114288231755168D-030.8253410768850847D-040.4268045368520104D-03
--.6887748599651892D-04-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2376899588325394D+00
--.1676645312853028D-010.1401962280695231D-020.1303026850247933D-03
-0.1315499101020305D-030.3980931060364731D-050.1153131565788964D+01
--.8758582323213338D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.4268045368520104D-03
--.6887748599651892D-04-.5114288231755168D-030.8253410768850847D-04
-0.6226054234809117D-03-.1004757274921672D-03-.7727812230408974D-03
-0.1247110170406368D-030.9826448017572174D-03-.1585786882018380D-03
--.1288661285438230D-020.2079634633143654D-030.1760064559812521D-02
--.2840382695217011D-03-.2541776982554263D-020.4101905987537787D-03
-0.3980741565709959D-02-.6424099272005126D-03-.7089509216132388D-02
-0.1144101174176753D-020.1597157490519940D-01-.2577484145293108D-02
--.6393452627818492D-010.1031771937313466D-010.1444546692054133D-03
-0.5038740027685473D-05-.6393452627818429D-010.1031771937313455D-01
-0.9414375723604762D+00-.9274586432417488D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.4519256146769957D-04-.7293151198900231D-05-.3981401266032415D-04
-0.6425163892827973D-050.3478916893617300D-04-.5614257322345751D-05
--.3006329973748652D-040.4851599099556584D-050.2558831255660659D-04
--.4129428081509198D-05-.2132146425430071D-040.3440846403444125D-05
-0.1722429384915639D-04-.2779647252921669D-05-.1326172498190355D-04
-0.2140170025998270D-050.9401297415583386D-05-.1517176307138179D-05
--.5612495043095234D-050.9057414234337534D-060.1866143715712640D-05
--.3011572664961087D-060.1866143715512185D-05-.3011572664637594D-06
--.5612495043042305D-050.9057414234252119D-060.9401297415863014D-05
--.1517176307183306D-05-.1326172498198105D-040.2140170026010777D-05
-0.1722429384947072D-04-.2779647252972395D-05-.2132146425429693D-04
-0.3440846403443515D-050.2558831255668139D-04-.4129428081521270D-05
--.3006329973746788D-040.4851599099553577D-050.3478916893609630D-04
--.5614257322333374D-05-.3981401266047105D-040.6425163892851680D-05
-0.4519256146756725D-04-.7293151198878877D-05-.5098776122625716D-04
-0.8228377410789080D-050.5727272713271265D-04-.9242641819512053D-05
--.6413319184916952D-040.1034977991584680D-040.7167060586276605D-04
--.1156616372469904D-04-.8000610566205314D-040.1291134218726644D-04
-0.8928564729752786D-04-.1440886961226929D-04-.9968672138364864D-04
-0.1608738933935444D-040.1114272391272199D-03-.1798206776156415D-04
--.1247774371157844D-030.2013651551366699D-040.1400760388418106D-03
--.2260539561021587D-04-.1577525118211425D-030.2545801528732096D-04
-0.1783582025511267D-03-.2878335054540236D-04-.2026106452901076D-03
-0.3269719667613068D-040.2314578281220329D-03-.3735253948527681D-04
--.2661733971656788D-030.4295491929665637D-040.3085010747980624D-03
--.4978573708714430D-04-.3608796739013979D-030.5823856716450639D-04
-0.4268045368520104D-03-.6887748599651892D-04-.5114288231755168D-03
-0.8253410768850847D-040.6226054234809117D-03-.1004757274921672D-03
--.7727812230408974D-030.1247110170406368D-030.9826448017572174D-03
--.1585786882018380D-03-.1288661285438230D-020.2079634633143654D-03
-0.1760064559812521D-02-.2840382695217011D-03-.2541776982554263D-02
-0.4101905987537787D-030.3980741565709959D-02-.6424099272005126D-03
--.7089509216132388D-020.1144101174176753D-020.1597157490519940D-01
--.2577484145293108D-020.1574251928385321D-030.6107296557512106D-05
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-010.7608135055110032D+00-.9497234835585190D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-05-.5098776122600387D-04
-0.8228377410748204D-050.4519256146769957D-04-.7293151198900231D-05
--.3981401266032415D-040.6425163892827973D-050.3478916893617300D-04
--.5614257322345751D-05-.3006329973748652D-040.4851599099556584D-05
-0.2558831255660659D-04-.4129428081509198D-05-.2132146425430071D-04
-0.3440846403444125D-050.1722429384915639D-04-.2779647252921669D-05
--.1326172498190355D-040.2140170025998270D-050.9401297415583386D-05
--.1517176307138179D-05-.5612495043095234D-050.9057414234337534D-06
-0.1866143715712640D-05-.3011572664961087D-060.1866143715512185D-05
--.3011572664637594D-06-.5612495043042305D-050.9057414234252119D-06
-0.9401297415863014D-05-.1517176307183306D-05-.1326172498198105D-04
-0.2140170026010777D-050.1722429384947072D-04-.2779647252972395D-05
--.2132146425429693D-040.3440846403443515D-050.2558831255668139D-04
--.4129428081521270D-05-.3006329973746788D-040.4851599099553577D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3981401266047105D-04
-0.6425163892851680D-050.4519256146756725D-04-.7293151198878877D-05
--.5098776122625716D-040.8228377410789080D-050.5727272713271265D-04
--.9242641819512053D-05-.6413319184916952D-040.1034977991584680D-04
-0.7167060586276605D-04-.1156616372469904D-04-.8000610566205314D-04
-0.1291134218726644D-040.8928564729752786D-04-.1440886961226929D-04
--.9968672138364864D-040.1608738933935444D-040.1114272391272199D-03
--.1798206776156415D-04-.1247774371157844D-030.2013651551366699D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1577525118211425D-03
-0.2545801528732096D-040.1783582025511267D-03-.2878335054540236D-04
--.2026106452901076D-030.3269719667613068D-040.2314578281220329D-03
--.3735253948527681D-04-.2661733971656788D-030.4295491929665637D-04
-0.3085010747980624D-03-.4978573708714430D-04-.3608796739013979D-03
-0.5823856716450639D-040.4268045368520104D-03-.6887748599651892D-04
--.5114288231755168D-030.8253410768850847D-040.6226054234809117D-03
--.1004757274921672D-03-.7727812230408974D-030.1247110170406368D-03
-0.9826448017572174D-03-.1585786882018380D-03-.1288661285438230D-02
-0.2079634633143654D-030.1760064559812521D-02-.2840382695217011D-03
--.2541776982554263D-020.4101905987537787D-030.3980741565709959D-02
--.6424099272005126D-03-.7089509216132388D-020.1144101174176753D-02
-0.1704618139382066D-030.7186682901146465D-05-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.6064428396060100D+00
--.9506540400453242D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.4268045368520104D-03
--.6887748599651892D-04-.5114288231755168D-030.8253410768850847D-04
-0.6226054234809117D-03-.1004757274921672D-03-.7727812230408974D-03
-0.1247110170406368D-030.9826448017572174D-03-.1585786882018380D-03
--.1288661285438230D-020.2079634633143654D-030.1760064559812521D-02
--.2840382695217011D-03-.2541776982554263D-020.4101905987537787D-03
-0.3980741565709959D-02-.6424099272005126D-030.1835648671152865D-03
-0.8276981869115928D-050.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
-0.4742801344426930D+00-.9363985243360058D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.4519256146769957D-04-.7293151198900231D-05-.3981401266032415D-04
-0.6425163892827973D-050.3478916893617300D-04-.5614257322345751D-05
--.3006329973748652D-040.4851599099556584D-050.2558831255660659D-04
--.4129428081509198D-05-.2132146425430071D-040.3440846403444125D-05
-0.1722429384915639D-04-.2779647252921669D-05-.1326172498190355D-04
-0.2140170025998270D-050.9401297415583386D-05-.1517176307138179D-05
--.5612495043095234D-050.9057414234337534D-060.1866143715712640D-05
--.3011572664961087D-060.1866143715512185D-05-.3011572664637594D-06
--.5612495043042305D-050.9057414234252119D-060.9401297415863014D-05
--.1517176307183306D-05-.1326172498198105D-040.2140170026010777D-05
-0.1722429384947072D-04-.2779647252972395D-05-.2132146425429693D-04
-0.3440846403443515D-050.2558831255668139D-04-.4129428081521270D-05
--.3006329973746788D-040.4851599099553577D-050.3478916893609630D-04
--.5614257322333374D-05-.3981401266047105D-040.6425163892851680D-05
-0.4519256146756725D-04-.7293151198878877D-05-.5098776122625716D-04
-0.8228377410789080D-050.5727272713271265D-04-.9242641819512053D-05
--.6413319184916952D-040.1034977991584680D-040.7167060586276605D-04
--.1156616372469904D-04-.8000610566205314D-040.1291134218726644D-04
-0.8928564729752786D-04-.1440886961226929D-04-.9968672138364864D-04
-0.1608738933935444D-040.1114272391272199D-03-.1798206776156415D-04
--.1247774371157844D-030.2013651551366699D-040.1400760388418106D-03
--.2260539561021587D-04-.1577525118211425D-030.2545801528732096D-04
-0.1783582025511267D-03-.2878335054540236D-04-.2026106452901076D-03
-0.3269719667613068D-040.2314578281220329D-03-.3735253948527681D-04
--.2661733971656788D-030.4295491929665637D-040.3085010747980624D-03
--.4978573708714430D-04-.3608796739013979D-030.5823856716450639D-04
-0.4268045368520104D-03-.6887748599651892D-04-.5114288231755168D-03
-0.8253410768850847D-040.6226054234809117D-03-.1004757274921672D-03
--.7727812230408974D-030.1247110170406368D-030.9826448017572174D-03
--.1585786882018380D-03-.1288661285438230D-020.2079634633143654D-03
-0.1760064559812521D-02-.2840382695217011D-03-.2541776982554263D-02
-0.4101905987537787D-030.1967346886630121D-030.9378276834732454D-05
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-010.3609255785623250D+00-.9116507089552443D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-05-.5098776122600387D-04
-0.8228377410748204D-050.4519256146769957D-04-.7293151198900231D-05
--.3981401266032415D-040.6425163892827973D-050.3478916893617300D-04
--.5614257322345751D-05-.3006329973748652D-040.4851599099556584D-05
-0.2558831255660659D-04-.4129428081509198D-05-.2132146425430071D-04
-0.3440846403444125D-050.1722429384915639D-04-.2779647252921669D-05
--.1326172498190355D-040.2140170025998270D-050.9401297415583386D-05
--.1517176307138179D-05-.5612495043095234D-050.9057414234337534D-06
-0.1866143715712640D-05-.3011572664961087D-060.1866143715512185D-05
--.3011572664637594D-06-.5612495043042305D-050.9057414234252119D-06
-0.9401297415863014D-05-.1517176307183306D-05-.1326172498198105D-04
-0.2140170026010777D-050.1722429384947072D-04-.2779647252972395D-05
--.2132146425429693D-040.3440846403443515D-050.2558831255668139D-04
--.4129428081521270D-05-.3006329973746788D-040.4851599099553577D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3981401266047105D-04
-0.6425163892851680D-050.4519256146756725D-04-.7293151198878877D-05
--.5098776122625716D-040.8228377410789080D-050.5727272713271265D-04
--.9242641819512053D-05-.6413319184916952D-040.1034977991584680D-04
-0.7167060586276605D-04-.1156616372469904D-04-.8000610566205314D-04
-0.1291134218726644D-040.8928564729752786D-04-.1440886961226929D-04
--.9968672138364864D-040.1608738933935444D-040.1114272391272199D-03
--.1798206776156415D-04-.1247774371157844D-030.2013651551366699D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1577525118211425D-03
-0.2545801528732096D-040.1783582025511267D-03-.2878335054540236D-04
--.2026106452901076D-030.3269719667613068D-040.2314578281220329D-03
--.3735253948527681D-04-.2661733971656788D-030.4295491929665637D-04
-0.3085010747980624D-03-.4978573708714430D-04-.3608796739013979D-03
-0.5823856716450639D-040.4268045368520104D-03-.6887748599651892D-04
--.5114288231755168D-030.8253410768850847D-040.6226054234809117D-03
--.1004757274921672D-03-.7727812230408974D-030.1247110170406368D-03
-0.9826448017572174D-03-.1585786882018380D-03-.1288661285438230D-02
-0.2079634633143654D-030.1760064559812521D-02-.2840382695217011D-03
-0.2099716165654131D-030.1049065173767338D-040.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.2635200712350100D+00
--.8799665629787737D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.4268045368520104D-03
--.6887748599651892D-04-.5114288231755168D-030.8253410768850847D-04
-0.6226054234809117D-03-.1004757274921672D-03-.7727812230408974D-03
-0.1247110170406368D-030.9826448017572174D-03-.1585786882018380D-03
--.1288661285438230D-020.2079634633143654D-030.2232759905057449D-03
-0.1161419108758396D-04-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
-0.1796574796391594D+00-.8440152302463712D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.4519256146769957D-04-.7293151198900231D-05-.3981401266032415D-04
-0.6425163892827973D-050.3478916893617300D-04-.5614257322345751D-05
--.3006329973748652D-040.4851599099556584D-050.2558831255660659D-04
--.4129428081509198D-05-.2132146425430071D-040.3440846403444125D-05
-0.1722429384915639D-04-.2779647252921669D-05-.1326172498190355D-04
-0.2140170025998270D-050.9401297415583386D-05-.1517176307138179D-05
--.5612495043095234D-050.9057414234337534D-060.1866143715712640D-05
--.3011572664961087D-060.1866143715512185D-05-.3011572664637594D-06
--.5612495043042305D-050.9057414234252119D-060.9401297415863014D-05
--.1517176307183306D-05-.1326172498198105D-040.2140170026010777D-05
-0.1722429384947072D-04-.2779647252972395D-05-.2132146425429693D-04
-0.3440846403443515D-050.2558831255668139D-04-.4129428081521270D-05
--.3006329973746788D-040.4851599099553577D-050.3478916893609630D-04
--.5614257322333374D-05-.3981401266047105D-040.6425163892851680D-05
-0.4519256146756725D-04-.7293151198878877D-05-.5098776122625716D-04
-0.8228377410789080D-050.5727272713271265D-04-.9242641819512053D-05
--.6413319184916952D-040.1034977991584680D-040.7167060586276605D-04
--.1156616372469904D-04-.8000610566205314D-040.1291134218726644D-04
-0.8928564729752786D-04-.1440886961226929D-04-.9968672138364864D-04
-0.1608738933935444D-040.1114272391272199D-03-.1798206776156415D-04
--.1247774371157844D-030.2013651551366699D-040.1400760388418106D-03
--.2260539561021587D-04-.1577525118211425D-030.2545801528732096D-04
-0.1783582025511267D-03-.2878335054540236D-04-.2026106452901076D-03
-0.3269719667613068D-040.2314578281220329D-03-.3735253948527681D-04
--.2661733971656788D-030.4295491929665637D-040.3085010747980624D-03
--.4978573708714430D-04-.3608796739013979D-030.5823856716450639D-04
-0.4268045368520104D-03-.6887748599651892D-04-.5114288231755168D-03
-0.8253410768850847D-040.6226054234809117D-03-.1004757274921672D-03
--.7727812230408974D-030.1247110170406368D-030.9826448017572174D-03
--.1585786882018380D-030.2366481518749747D-030.1274897996770195D-04
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-010.1073112568497590D+00-.8057775134654636D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-05-.5098776122600387D-04
-0.8228377410748204D-050.4519256146769957D-04-.7293151198900231D-05
--.3981401266032415D-040.6425163892827973D-050.3478916893617300D-04
--.5614257322345751D-05-.3006329973748652D-040.4851599099556584D-05
-0.2558831255660659D-04-.4129428081509198D-05-.2132146425430071D-04
-0.3440846403444125D-050.1722429384915639D-04-.2779647252921669D-05
--.1326172498190355D-040.2140170025998270D-050.9401297415583386D-05
--.1517176307138179D-05-.5612495043095234D-050.9057414234337534D-06
-0.1866143715712640D-05-.3011572664961087D-060.1866143715512185D-05
--.3011572664637594D-06-.5612495043042305D-050.9057414234252119D-06
-0.9401297415863014D-05-.1517176307183306D-05-.1326172498198105D-04
-0.2140170026010777D-050.1722429384947072D-04-.2779647252972395D-05
--.2132146425429693D-040.3440846403443515D-050.2558831255668139D-04
--.4129428081521270D-05-.3006329973746788D-040.4851599099553577D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3981401266047105D-04
-0.6425163892851680D-050.4519256146756725D-04-.7293151198878877D-05
--.5098776122625716D-040.8228377410789080D-050.5727272713271265D-04
--.9242641819512053D-05-.6413319184916952D-040.1034977991584680D-04
-0.7167060586276605D-04-.1156616372469904D-04-.8000610566205314D-04
-0.1291134218726644D-040.8928564729752786D-04-.1440886961226929D-04
--.9968672138364864D-040.1608738933935444D-040.1114272391272199D-03
--.1798206776156415D-04-.1247774371157844D-030.2013651551366699D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1577525118211425D-03
-0.2545801528732096D-040.1783582025511267D-03-.2878335054540236D-04
--.2026106452901076D-030.3269719667613068D-040.2314578281220329D-03
--.3735253948527681D-04-.2661733971656788D-030.4295491929665637D-04
-0.3085010747980624D-03-.4978573708714430D-04-.3608796739013979D-03
-0.5823856716450639D-040.4268045368520104D-03-.6887748599651892D-04
--.5114288231755168D-030.8253410768850847D-040.6226054234809117D-03
--.1004757274921672D-03-.7727812230408974D-030.1247110170406368D-03
-0.2500884437803040D-030.1389510403850428D-04-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-010.4477306617381333D-01
--.7667024547805577D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.4268045368520104D-03
--.6887748599651892D-04-.5114288231755168D-030.8253410768850847D-04
-0.6226054234809117D-03-.1004757274921672D-030.2635972110537330D-03
-0.1505264954137583D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
--.9398557490281734D-02-.7278305234447378D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.4519256146769957D-04-.7293151198900231D-05-.3981401266032415D-04
-0.6425163892827973D-050.3478916893617300D-04-.5614257322345751D-05
--.3006329973748652D-040.4851599099556584D-050.2558831255660659D-04
--.4129428081509198D-05-.2132146425430071D-040.3440846403444125D-05
-0.1722429384915639D-04-.2779647252921669D-05-.1326172498190355D-04
-0.2140170025998270D-050.9401297415583386D-05-.1517176307138179D-05
--.5612495043095234D-050.9057414234337534D-060.1866143715712640D-05
--.3011572664961087D-060.1866143715512185D-05-.3011572664637594D-06
--.5612495043042305D-050.9057414234252119D-060.9401297415863014D-05
--.1517176307183306D-05-.1326172498198105D-040.2140170026010777D-05
-0.1722429384947072D-04-.2779647252972395D-05-.2132146425429693D-04
-0.3440846403443515D-050.2558831255668139D-04-.4129428081521270D-05
--.3006329973746788D-040.4851599099553577D-050.3478916893609630D-04
--.5614257322333374D-05-.3981401266047105D-040.6425163892851680D-05
-0.4519256146756725D-04-.7293151198878877D-05-.5098776122625716D-04
-0.8228377410789080D-050.5727272713271265D-04-.9242641819512053D-05
--.6413319184916952D-040.1034977991584680D-040.7167060586276605D-04
--.1156616372469904D-04-.8000610566205314D-040.1291134218726644D-04
-0.8928564729752786D-04-.1440886961226929D-04-.9968672138364864D-04
-0.1608738933935444D-040.1114272391272199D-03-.1798206776156415D-04
--.1247774371157844D-030.2013651551366699D-040.1400760388418106D-03
--.2260539561021587D-04-.1577525118211425D-030.2545801528732096D-04
-0.1783582025511267D-03-.2878335054540236D-04-.2026106452901076D-03
-0.3269719667613068D-040.2314578281220329D-03-.3735253948527681D-04
--.2661733971656788D-030.4295491929665637D-040.3085010747980624D-03
--.4978573708714430D-04-.3608796739013979D-030.5823856716450639D-04
-0.4268045368520104D-03-.6887748599651892D-04-.5114288231755168D-03
-0.8253410768850847D-040.2771748002606731D-030.1622170330230075D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-01-.5642115615944338D-01-.6898902412495479D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-05-.5098776122600387D-04
-0.8228377410748204D-050.4519256146769957D-04-.7293151198900231D-05
--.3981401266032415D-040.6425163892827973D-050.3478916893617300D-04
--.5614257322345751D-05-.3006329973748652D-040.4851599099556584D-05
-0.2558831255660659D-04-.4129428081509198D-05-.2132146425430071D-04
-0.3440846403444125D-050.1722429384915639D-04-.2779647252921669D-05
--.1326172498190355D-040.2140170025998270D-050.9401297415583386D-05
--.1517176307138179D-05-.5612495043095234D-050.9057414234337534D-06
-0.1866143715712640D-05-.3011572664961087D-060.1866143715512185D-05
--.3011572664637594D-06-.5612495043042305D-050.9057414234252119D-06
-0.9401297415863014D-05-.1517176307183306D-05-.1326172498198105D-04
-0.2140170026010777D-050.1722429384947072D-04-.2779647252972395D-05
--.2132146425429693D-040.3440846403443515D-050.2558831255668139D-04
--.4129428081521270D-05-.3006329973746788D-040.4851599099553577D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3981401266047105D-04
-0.6425163892851680D-050.4519256146756725D-04-.7293151198878877D-05
--.5098776122625716D-040.8228377410789080D-050.5727272713271265D-04
--.9242641819512053D-05-.6413319184916952D-040.1034977991584680D-04
-0.7167060586276605D-04-.1156616372469904D-04-.8000610566205314D-04
-0.1291134218726644D-040.8928564729752786D-04-.1440886961226929D-04
--.9968672138364864D-040.1608738933935444D-040.1114272391272199D-03
--.1798206776156415D-04-.1247774371157844D-030.2013651551366699D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1577525118211425D-03
-0.2545801528732096D-040.1783582025511267D-03-.2878335054540236D-04
--.2026106452901076D-030.3269719667613068D-040.2314578281220329D-03
--.3735253948527681D-04-.2661733971656788D-030.4295491929665637D-04
-0.3085010747980624D-03-.4978573708714430D-04-.3608796739013979D-03
-0.5823856716450639D-040.4268045368520104D-03-.6887748599651892D-04
-0.2908215597085934D-030.1740235273557609D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.9732428415596228D-01
--.6533737207443764D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2661733971656788D-03
-0.4295491929665637D-040.3085010747980624D-03-.4978573708714430D-04
--.3608796739013979D-030.5823856716450639D-040.3045378394557195D-03
-0.1859468584754816D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
--.1329795815699588D+00-.6185954984913972D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.4519256146769957D-04-.7293151198900231D-05-.3981401266032415D-04
-0.6425163892827973D-050.3478916893617300D-04-.5614257322345751D-05
--.3006329973748652D-040.4851599099556584D-050.2558831255660659D-04
--.4129428081509198D-05-.2132146425430071D-040.3440846403444125D-05
-0.1722429384915639D-04-.2779647252921669D-05-.1326172498190355D-04
-0.2140170025998270D-050.9401297415583386D-05-.1517176307138179D-05
--.5612495043095234D-050.9057414234337534D-060.1866143715712640D-05
--.3011572664961087D-060.1866143715512185D-05-.3011572664637594D-06
--.5612495043042305D-050.9057414234252119D-060.9401297415863014D-05
--.1517176307183306D-05-.1326172498198105D-040.2140170026010777D-05
-0.1722429384947072D-04-.2779647252972395D-05-.2132146425429693D-04
-0.3440846403443515D-050.2558831255668139D-04-.4129428081521270D-05
--.3006329973746788D-040.4851599099553577D-050.3478916893609630D-04
--.5614257322333374D-05-.3981401266047105D-040.6425163892851680D-05
-0.4519256146756725D-04-.7293151198878877D-05-.5098776122625716D-04
-0.8228377410789080D-050.5727272713271265D-04-.9242641819512053D-05
--.6413319184916952D-040.1034977991584680D-040.7167060586276605D-04
--.1156616372469904D-04-.8000610566205314D-040.1291134218726644D-04
-0.8928564729752786D-04-.1440886961226929D-04-.9968672138364864D-04
-0.1608738933935444D-040.1114272391272199D-03-.1798206776156415D-04
--.1247774371157844D-030.2013651551366699D-040.1400760388418106D-03
--.2260539561021587D-04-.1577525118211425D-030.2545801528732096D-04
-0.1783582025511267D-03-.2878335054540236D-04-.2026106452901076D-03
-0.3269719667613068D-040.2314578281220329D-03-.3735253948527681D-04
--.2661733971656788D-030.4295491929665637D-040.3085010747980624D-03
--.4978573708714430D-040.3183239913197660D-030.1979879124037159D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-01-.1641259480531834D+00-.5857381656377866D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-05-.5098776122600387D-04
-0.8228377410748204D-050.4519256146769957D-04-.7293151198900231D-05
--.3981401266032415D-040.6425163892827973D-050.3478916893617300D-04
--.5614257322345751D-05-.3006329973748652D-040.4851599099556584D-05
-0.2558831255660659D-04-.4129428081509198D-05-.2132146425430071D-04
-0.3440846403444125D-050.1722429384915639D-04-.2779647252921669D-05
--.1326172498190355D-040.2140170025998270D-050.9401297415583386D-05
--.1517176307138179D-05-.5612495043095234D-050.9057414234337534D-06
-0.1866143715712640D-05-.3011572664961087D-060.1866143715512185D-05
--.3011572664637594D-06-.5612495043042305D-050.9057414234252119D-06
-0.9401297415863014D-05-.1517176307183306D-05-.1326172498198105D-04
-0.2140170026010777D-050.1722429384947072D-04-.2779647252972395D-05
--.2132146425429693D-040.3440846403443515D-050.2558831255668139D-04
--.4129428081521270D-05-.3006329973746788D-040.4851599099553577D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3981401266047105D-04
-0.6425163892851680D-050.4519256146756725D-04-.7293151198878877D-05
--.5098776122625716D-040.8228377410789080D-050.5727272713271265D-04
--.9242641819512053D-05-.6413319184916952D-040.1034977991584680D-04
-0.7167060586276605D-04-.1156616372469904D-04-.8000610566205314D-04
-0.1291134218726644D-040.8928564729752786D-04-.1440886961226929D-04
--.9968672138364864D-040.1608738933935444D-040.1114272391272199D-03
--.1798206776156415D-04-.1247774371157844D-030.2013651551366699D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1577525118211425D-03
-0.2545801528732096D-040.1783582025511267D-03-.2878335054540236D-04
--.2026106452901076D-030.3269719667613068D-040.2314578281220329D-03
--.3735253948527681D-04-.2661733971656788D-030.4295491929665637D-04
-0.3321803688867207D-030.2101475811579130D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.1913906211759385D+00
--.5548875902979072D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.1783582025511267D-03
--.2878335054540236D-04-.2026106452901076D-030.3269719667613068D-04
-0.2314578281220329D-03-.3735253948527681D-040.3461073275196676D-03
-0.2224267627894746D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
--.2153068314267767D+00-.5260599576185822D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.4519256146769957D-04-.7293151198900231D-05-.3981401266032415D-04
-0.6425163892827973D-050.3478916893617300D-04-.5614257322345751D-05
--.3006329973748652D-040.4851599099556584D-050.2558831255660659D-04
--.4129428081509198D-05-.2132146425430071D-040.3440846403444125D-05
-0.1722429384915639D-04-.2779647252921669D-05-.1326172498190355D-04
-0.2140170025998270D-050.9401297415583386D-05-.1517176307138179D-05
--.5612495043095234D-050.9057414234337534D-060.1866143715712640D-05
--.3011572664961087D-060.1866143715512185D-05-.3011572664637594D-06
--.5612495043042305D-050.9057414234252119D-060.9401297415863014D-05
--.1517176307183306D-05-.1326172498198105D-040.2140170026010777D-05
-0.1722429384947072D-04-.2779647252972395D-05-.2132146425429693D-04
-0.3440846403443515D-050.2558831255668139D-04-.4129428081521270D-05
--.3006329973746788D-040.4851599099553577D-050.3478916893609630D-04
--.5614257322333374D-05-.3981401266047105D-040.6425163892851680D-05
-0.4519256146756725D-04-.7293151198878877D-05-.5098776122625716D-04
-0.8228377410789080D-050.5727272713271265D-04-.9242641819512053D-05
--.6413319184916952D-040.1034977991584680D-040.7167060586276605D-04
--.1156616372469904D-04-.8000610566205314D-040.1291134218726644D-04
-0.8928564729752786D-04-.1440886961226929D-04-.9968672138364864D-04
-0.1608738933935444D-040.1114272391272199D-03-.1798206776156415D-04
--.1247774371157844D-030.2013651551366699D-040.1400760388418106D-03
--.2260539561021587D-04-.1577525118211425D-030.2545801528732096D-04
-0.1783582025511267D-03-.2878335054540236D-04-.2026106452901076D-03
-0.3269719667613068D-040.3601052243676528D-030.2348263614220369D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-01-.2363285954422571D+00-.4992223971674474D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-05-.5098776122600387D-04
-0.8228377410748204D-050.4519256146769957D-04-.7293151198900231D-05
--.3981401266032415D-040.6425163892827973D-050.3478916893617300D-04
--.5614257322345751D-05-.3006329973748652D-040.4851599099556584D-05
-0.2558831255660659D-04-.4129428081509198D-05-.2132146425430071D-04
-0.3440846403444125D-050.1722429384915639D-04-.2779647252921669D-05
--.1326172498190355D-040.2140170025998270D-050.9401297415583386D-05
--.1517176307138179D-05-.5612495043095234D-050.9057414234337534D-06
-0.1866143715712640D-05-.3011572664961087D-060.1866143715512185D-05
--.3011572664637594D-06-.5612495043042305D-050.9057414234252119D-06
-0.9401297415863014D-05-.1517176307183306D-05-.1326172498198105D-04
-0.2140170026010777D-050.1722429384947072D-04-.2779647252972395D-05
--.2132146425429693D-040.3440846403443515D-050.2558831255668139D-04
--.4129428081521270D-05-.3006329973746788D-040.4851599099553577D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3981401266047105D-04
-0.6425163892851680D-050.4519256146756725D-04-.7293151198878877D-05
--.5098776122625716D-040.8228377410789080D-050.5727272713271265D-04
--.9242641819512053D-05-.6413319184916952D-040.1034977991584680D-04
-0.7167060586276605D-04-.1156616372469904D-04-.8000610566205314D-04
-0.1291134218726644D-040.8928564729752786D-04-.1440886961226929D-04
--.9968672138364864D-040.1608738933935444D-040.1114272391272199D-03
--.1798206776156415D-04-.1247774371157844D-030.2013651551366699D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1577525118211425D-03
-0.2545801528732096D-040.1783582025511267D-03-.2878335054540236D-04
-0.3741744183745985D-030.2473472872899837D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2548431166882794D+00
--.4743086017203506D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-04-.1247774371157844D-03
-0.2013651551366699D-040.1400760388418106D-03-.2260539561021587D-04
--.1577525118211425D-030.2545801528732096D-040.3883152702882559D-03
-0.2599904567771967D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
--.2711811856150351D+00-.4512305490328010D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.4519256146769957D-04-.7293151198900231D-05-.3981401266032415D-04
-0.6425163892827973D-050.3478916893617300D-04-.5614257322345751D-05
--.3006329973748652D-040.4851599099556584D-050.2558831255660659D-04
--.4129428081509198D-05-.2132146425430071D-040.3440846403444125D-05
-0.1722429384915639D-04-.2779647252921669D-05-.1326172498190355D-04
-0.2140170025998270D-050.9401297415583386D-05-.1517176307138179D-05
--.5612495043095234D-050.9057414234337534D-060.1866143715712640D-05
--.3011572664961087D-060.1866143715512185D-05-.3011572664637594D-06
--.5612495043042305D-050.9057414234252119D-060.9401297415863014D-05
--.1517176307183306D-05-.1326172498198105D-040.2140170026010777D-05
-0.1722429384947072D-04-.2779647252972395D-05-.2132146425429693D-04
-0.3440846403443515D-050.2558831255668139D-04-.4129428081521270D-05
--.3006329973746788D-040.4851599099553577D-050.3478916893609630D-04
--.5614257322333374D-05-.3981401266047105D-040.6425163892851680D-05
-0.4519256146756725D-04-.7293151198878877D-05-.5098776122625716D-04
-0.8228377410789080D-050.5727272713271265D-04-.9242641819512053D-05
--.6413319184916952D-040.1034977991584680D-040.7167060586276605D-04
--.1156616372469904D-04-.8000610566205314D-040.1291134218726644D-04
-0.8928564729752786D-04-.1440886961226929D-04-.9968672138364864D-04
-0.1608738933935444D-040.1114272391272199D-03-.1798206776156415D-04
--.1247774371157844D-030.2013651551366699D-040.1400760388418106D-03
--.2260539561021587D-040.4025281426692064D-030.2727567924560386D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-01-.2856259067945363D+00-.4298872045172876D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-05-.5098776122600387D-04
-0.8228377410748204D-050.4519256146769957D-04-.7293151198900231D-05
--.3981401266032415D-040.6425163892827973D-050.3478916893617300D-04
--.5614257322345751D-05-.3006329973748652D-040.4851599099556584D-05
-0.2558831255660659D-04-.4129428081509198D-05-.2132146425430071D-04
-0.3440846403444125D-050.1722429384915639D-04-.2779647252921669D-05
--.1326172498190355D-040.2140170025998270D-050.9401297415583386D-05
--.1517176307138179D-05-.5612495043095234D-050.9057414234337534D-06
-0.1866143715712640D-05-.3011572664961087D-060.1866143715512185D-05
--.3011572664637594D-06-.5612495043042305D-050.9057414234252119D-06
-0.9401297415863014D-05-.1517176307183306D-05-.1326172498198105D-04
-0.2140170026010777D-050.1722429384947072D-04-.2779647252972395D-05
--.2132146425429693D-040.3440846403443515D-050.2558831255668139D-04
--.4129428081521270D-05-.3006329973746788D-040.4851599099553577D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3981401266047105D-04
-0.6425163892851680D-050.4519256146756725D-04-.7293151198878877D-05
--.5098776122625716D-040.8228377410789080D-050.5727272713271265D-04
--.9242641819512053D-05-.6413319184916952D-040.1034977991584680D-04
-0.7167060586276605D-04-.1156616372469904D-04-.8000610566205314D-04
-0.1291134218726644D-040.8928564729752786D-04-.1440886961226929D-04
--.9968672138364864D-040.1608738933935444D-040.1114272391272199D-03
--.1798206776156415D-04-.1247774371157844D-030.2013651551366699D-04
-0.4168133998999086D-030.2856472231265750D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.2984200266463191D+00
--.4101708963900788D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.8928564729752786D-04
--.1440886961226929D-04-.9968672138364864D-040.1608738933935444D-04
-0.1114272391272199D-03-.1798206776156415D-040.4311714081937841D-03
-0.2986626838560346D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
--.3097720903245881D+00-.3919719064856946D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.4519256146769957D-04-.7293151198900231D-05-.3981401266032415D-04
-0.6425163892827973D-050.3478916893617300D-04-.5614257322345751D-05
--.3006329973748652D-040.4851599099556584D-050.2558831255660659D-04
--.4129428081509198D-05-.2132146425430071D-040.3440846403444125D-05
-0.1722429384915639D-04-.2779647252921669D-05-.1326172498190355D-04
-0.2140170025998270D-050.9401297415583386D-05-.1517176307138179D-05
--.5612495043095234D-050.9057414234337534D-060.1866143715712640D-05
--.3011572664961087D-060.1866143715512185D-05-.3011572664637594D-06
--.5612495043042305D-050.9057414234252119D-060.9401297415863014D-05
--.1517176307183306D-05-.1326172498198105D-040.2140170026010777D-05
-0.1722429384947072D-04-.2779647252972395D-05-.2132146425429693D-04
-0.3440846403443515D-050.2558831255668139D-04-.4129428081521270D-05
--.3006329973746788D-040.4851599099553577D-050.3478916893609630D-04
--.5614257322333374D-05-.3981401266047105D-040.6425163892851680D-05
-0.4519256146756725D-04-.7293151198878877D-05-.5098776122625716D-04
-0.8228377410789080D-050.5727272713271265D-04-.9242641819512053D-05
--.6413319184916952D-040.1034977991584680D-040.7167060586276605D-04
--.1156616372469904D-04-.8000610566205314D-040.1291134218726644D-04
-0.8928564729752786D-04-.1440886961226929D-04-.9968672138364864D-04
-0.1608738933935444D-040.4456025356043519D-030.3118041160185087D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-01-.3198616187235148D+00-.3751817020459010D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-05-.5098776122600387D-04
-0.8228377410748204D-050.4519256146769957D-04-.7293151198900231D-05
--.3981401266032415D-040.6425163892827973D-050.3478916893617300D-04
--.5614257322345751D-05-.3006329973748652D-040.4851599099556584D-05
-0.2558831255660659D-04-.4129428081509198D-05-.2132146425430071D-04
-0.3440846403444125D-050.1722429384915639D-04-.2779647252921669D-05
--.1326172498190355D-040.2140170025998270D-050.9401297415583386D-05
--.1517176307138179D-05-.5612495043095234D-050.9057414234337534D-06
-0.1866143715712640D-05-.3011572664961087D-060.1866143715512185D-05
--.3011572664637594D-06-.5612495043042305D-050.9057414234252119D-06
-0.9401297415863014D-05-.1517176307183306D-05-.1326172498198105D-04
-0.2140170026010777D-050.1722429384947072D-04-.2779647252972395D-05
--.2132146425429693D-040.3440846403443515D-050.2558831255668139D-04
--.4129428081521270D-05-.3006329973746788D-040.4851599099553577D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3981401266047105D-04
-0.6425163892851680D-050.4519256146756725D-04-.7293151198878877D-05
--.5098776122625716D-040.8228377410789080D-050.5727272713271265D-04
--.9242641819512053D-05-.6413319184916952D-040.1034977991584680D-04
-0.7167060586276605D-04-.1156616372469904D-04-.8000610566205314D-04
-0.1291134218726644D-040.8928564729752786D-04-.1440886961226929D-04
-0.4601071520344119D-030.3250724673348925D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.3288434651388619D+00
--.3596951403082874D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-05-.6413319184916952D-04
-0.1034977991584680D-040.7167060586276605D-04-.1156616372469904D-04
--.8000610566205314D-040.1291134218726644D-040.4746856292452647D-03
-0.3384686919130694D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
--.3368514848848330D+00-.3454119037607182D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.4519256146769957D-04-.7293151198900231D-05-.3981401266032415D-04
-0.6425163892827973D-050.3478916893617300D-04-.5614257322345751D-05
--.3006329973748652D-040.4851599099556584D-050.2558831255660659D-04
--.4129428081509198D-05-.2132146425430071D-040.3440846403444125D-05
-0.1722429384915639D-04-.2779647252921669D-05-.1326172498190355D-04
-0.2140170025998270D-050.9401297415583386D-05-.1517176307138179D-05
--.5612495043095234D-050.9057414234337534D-060.1866143715712640D-05
--.3011572664961087D-060.1866143715512185D-05-.3011572664637594D-06
--.5612495043042305D-050.9057414234252119D-060.9401297415863014D-05
--.1517176307183306D-05-.1326172498198105D-040.2140170026010777D-05
-0.1722429384947072D-04-.2779647252972395D-05-.2132146425429693D-04
-0.3440846403443515D-050.2558831255668139D-04-.4129428081521270D-05
--.3006329973746788D-040.4851599099553577D-050.3478916893609630D-04
--.5614257322333374D-05-.3981401266047105D-040.6425163892851680D-05
-0.4519256146756725D-04-.7293151198878877D-05-.5098776122625716D-04
-0.8228377410789080D-050.5727272713271265D-04-.9242641819512053D-05
--.6413319184916952D-040.1034977991584680D-040.7167060586276605D-04
--.1156616372469904D-040.4893383408659858D-030.3519937502883382D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-01-.3440016292529620D+00-.3322373655592117D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-05-.5098776122600387D-04
-0.8228377410748204D-050.4519256146769957D-04-.7293151198900231D-05
--.3981401266032415D-040.6425163892827973D-050.3478916893617300D-04
--.5614257322345751D-05-.3006329973748652D-040.4851599099556584D-05
-0.2558831255660659D-04-.4129428081509198D-05-.2132146425430071D-04
-0.3440846403444125D-050.1722429384915639D-04-.2779647252921669D-05
--.1326172498190355D-040.2140170025998270D-050.9401297415583386D-05
--.1517176307138179D-05-.5612495043095234D-050.9057414234337534D-06
-0.1866143715712640D-05-.3011572664961087D-060.1866143715512185D-05
--.3011572664637594D-06-.5612495043042305D-050.9057414234252119D-06
-0.9401297415863014D-05-.1517176307183306D-05-.1326172498198105D-04
-0.2140170026010777D-050.1722429384947072D-04-.2779647252972395D-05
--.2132146425429693D-040.3440846403443515D-050.2558831255668139D-04
--.4129428081521270D-05-.3006329973746788D-040.4851599099553577D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3981401266047105D-04
-0.6425163892851680D-050.4519256146756725D-04-.7293151198878877D-05
--.5098776122625716D-040.8228377410789080D-050.5727272713271265D-04
--.9242641819512053D-05-.6413319184916952D-040.1034977991584680D-04
-0.5040656624027409D-030.3656486094640881D-04-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.3503945569024643D+00
--.3200830386663087D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.4519256146756725D-04
--.7293151198878877D-05-.5098776122625716D-040.8228377410789080D-05
-0.5727272713271265D-04-.9242641819512053D-050.5188679712481502D-03
-0.3794342429527186D-040.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
--.3561178404931197D+00-.3088667262160822D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.4519256146769957D-04-.7293151198900231D-05-.3981401266032415D-04
-0.6425163892827973D-050.3478916893617300D-04-.5614257322345751D-05
--.3006329973748652D-040.4851599099556584D-050.2558831255660659D-04
--.4129428081509198D-05-.2132146425430071D-040.3440846403444125D-05
-0.1722429384915639D-04-.2779647252921669D-05-.1326172498190355D-04
-0.2140170025998270D-050.9401297415583386D-05-.1517176307138179D-05
--.5612495043095234D-050.9057414234337534D-060.1866143715712640D-05
--.3011572664961087D-060.1866143715512185D-05-.3011572664637594D-06
--.5612495043042305D-050.9057414234252119D-060.9401297415863014D-05
--.1517176307183306D-05-.1326172498198105D-040.2140170026010777D-05
-0.1722429384947072D-04-.2779647252972395D-05-.2132146425429693D-04
-0.3440846403443515D-050.2558831255668139D-04-.4129428081521270D-05
--.3006329973746788D-040.4851599099553577D-050.3478916893609630D-04
--.5614257322333374D-05-.3981401266047105D-040.6425163892851680D-05
-0.4519256146756725D-04-.7293151198878877D-05-.5098776122625716D-04
-0.8228377410789080D-050.5337456466906940D-030.3933516308168090D-04
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-01-.3612478336145791D+00-.2985124624149579D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-05-.5098776122600387D-04
-0.8228377410748204D-050.4519256146769957D-04-.7293151198900231D-05
--.3981401266032415D-040.6425163892827973D-050.3478916893617300D-04
--.5614257322345751D-05-.3006329973748652D-040.4851599099556584D-05
-0.2558831255660659D-04-.4129428081509198D-05-.2132146425430071D-04
-0.3440846403444125D-050.1722429384915639D-04-.2779647252921669D-05
--.1326172498190355D-040.2140170025998270D-050.9401297415583386D-05
--.1517176307138179D-05-.5612495043095234D-050.9057414234337534D-06
-0.1866143715712640D-05-.3011572664961087D-060.1866143715512185D-05
--.3011572664637594D-06-.5612495043042305D-050.9057414234252119D-06
-0.9401297415863014D-05-.1517176307183306D-05-.1326172498198105D-04
-0.2140170026010777D-050.1722429384947072D-04-.2779647252972395D-05
--.2132146425429693D-040.3440846403443515D-050.2558831255668139D-04
--.4129428081521270D-05-.3006329973746788D-040.4851599099553577D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3981401266047105D-04
-0.6425163892851680D-050.4519256146756725D-04-.7293151198878877D-05
-0.5486990699241699D-030.4074017597105377D-040.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.3658512524139451D+00
--.2889503113144904D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-05-.3006329973746788D-04
-0.4851599099553577D-050.3478916893609630D-04-.5614257322333374D-05
--.3981401266047105D-040.6425163892851680D-050.5637286240571986D-03
-0.4215856229213537D-04-.3981401266032415D-040.6425163892827973D-05
-0.4519256146769957D-04-.7293151198900231D-05-.5098776122600387D-04
-0.8228377410748204D-050.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
--.3699865174289708D+00-.2801160737399670D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.4519256146769957D-04-.7293151198900231D-05-.3981401266032415D-04
-0.6425163892827973D-050.3478916893617300D-04-.5614257322345751D-05
--.3006329973748652D-040.4851599099556584D-050.2558831255660659D-04
--.4129428081509198D-05-.2132146425430071D-040.3440846403444125D-05
-0.1722429384915639D-04-.2779647252921669D-05-.1326172498190355D-04
-0.2140170025998270D-050.9401297415583386D-05-.1517176307138179D-05
--.5612495043095234D-050.9057414234337534D-060.1866143715712640D-05
--.3011572664961087D-060.1866143715512185D-05-.3011572664637594D-06
--.5612495043042305D-050.9057414234252119D-060.9401297415863014D-05
--.1517176307183306D-05-.1326172498198105D-040.2140170026010777D-05
-0.1722429384947072D-04-.2779647252972395D-05-.2132146425429693D-04
-0.3440846403443515D-050.2558831255668139D-04-.4129428081521270D-05
--.3006329973746788D-040.4851599099553577D-050.3478916893609630D-04
--.5614257322333374D-050.5788346941227656D-030.4359042204118991D-04
-0.3478916893617300D-04-.5614257322345751D-05-.3981401266032415D-04
-0.6425163892827973D-050.4519256146769957D-04-.7293151198900231D-05
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-01-.3737048937068970D+00-.2719509394869411D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-05-.5098776122600387D-04
-0.8228377410748204D-050.4519256146769957D-04-.7293151198900231D-05
--.3981401266032415D-040.6425163892827973D-050.3478916893617300D-04
--.5614257322345751D-05-.3006329973748652D-040.4851599099556584D-05
-0.2558831255660659D-04-.4129428081509198D-05-.2132146425430071D-04
-0.3440846403444125D-050.1722429384915639D-04-.2779647252921669D-05
--.1326172498190355D-040.2140170025998270D-050.9401297415583386D-05
--.1517176307138179D-05-.5612495043095234D-050.9057414234337534D-06
-0.1866143715712640D-05-.3011572664961087D-060.1866143715512185D-05
--.3011572664637594D-06-.5612495043042305D-050.9057414234252119D-06
-0.9401297415863014D-05-.1517176307183306D-05-.1326172498198105D-04
-0.2140170026010777D-050.1722429384947072D-04-.2779647252972395D-05
--.2132146425429693D-040.3440846403443515D-050.2558831255668139D-04
--.4129428081521270D-05-.3006329973746788D-040.4851599099553577D-05
-0.5940176670878278D-030.4503585588621884D-04-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.3770514610863034D+00
--.2644011117776505D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.1722429384947072D-04
--.2779647252972395D-05-.2132146425429693D-040.3440846403443515D-05
-0.2558831255668139D-04-.4129428081521270D-050.6092779318629489D-03
-0.4649496517120420D-040.2558831255660659D-04-.4129428081509198D-05
--.3006329973748652D-040.4851599099556584D-050.3478916893617300D-04
--.5614257322345751D-05-.3981401266032415D-040.6425163892827973D-05
-0.4519256146769957D-04-.7293151198900231D-05-.5098776122600387D-04
-0.8228377410748204D-050.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
--.3800659413388934D+00-.2574174232414716D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.4519256146769957D-04-.7293151198900231D-05-.3981401266032415D-04
-0.6425163892827973D-050.3478916893617300D-04-.5614257322345751D-05
--.3006329973748652D-040.4851599099556584D-050.2558831255660659D-04
--.4129428081509198D-05-.2132146425430071D-040.3440846403444125D-05
-0.1722429384915639D-04-.2779647252921669D-05-.1326172498190355D-04
-0.2140170025998270D-050.9401297415583386D-05-.1517176307138179D-05
--.5612495043095234D-050.9057414234337534D-060.1866143715712640D-05
--.3011572664961087D-060.1866143715512185D-05-.3011572664637594D-06
--.5612495043042305D-050.9057414234252119D-060.9401297415863014D-05
--.1517176307183306D-05-.1326172498198105D-040.2140170026010777D-05
-0.1722429384947072D-04-.2779647252972395D-05-.2132146425429693D-04
-0.3440846403443515D-050.6246158793119950D-030.4796785192037780D-04
--.2132146425430071D-040.3440846403444125D-050.2558831255660659D-04
--.4129428081509198D-05-.3006329973748652D-040.4851599099556584D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3981401266032415D-04
-0.6425163892827973D-050.4519256146769957D-04-.7293151198900231D-05
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-01-.3827834045407968D+00-.2509549568248576D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-05-.5098776122600387D-04
-0.8228377410748204D-050.4519256146769957D-04-.7293151198900231D-05
--.3981401266032415D-040.6425163892827973D-050.3478916893617300D-04
--.5614257322345751D-05-.3006329973748652D-040.4851599099556584D-05
-0.2558831255660659D-04-.4129428081509198D-05-.2132146425430071D-04
-0.3440846403444125D-050.1722429384915639D-04-.2779647252921669D-05
--.1326172498190355D-040.2140170025998270D-050.9401297415583386D-05
--.1517176307138179D-05-.5612495043095234D-050.9057414234337534D-06
-0.1866143715712640D-05-.3011572664961087D-060.1866143715512185D-05
--.3011572664637594D-06-.5612495043042305D-050.9057414234252119D-06
-0.9401297415863014D-05-.1517176307183306D-05-.1326172498198105D-04
-0.2140170026010777D-050.1722429384947072D-04-.2779647252972395D-05
-0.6400319022618756D-030.4945461884251627D-040.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.3852348734276386D+00
--.2449726806321739D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-06-.5612495043042305D-05
-0.9057414234252119D-060.9401297415863014D-05-.1517176307183306D-05
--.1326172498198105D-040.2140170026010777D-050.6555263955123291D-03
-0.5095536933526217D-04-.1326172498190355D-040.2140170025998270D-05
-0.1722429384915639D-04-.2779647252921669D-05-.2132146425430071D-04
-0.3440846403444125D-050.2558831255660659D-04-.4129428081509198D-05
--.3006329973748652D-040.4851599099556584D-050.3478916893617300D-04
--.5614257322345751D-05-.3981401266032415D-040.6425163892827973D-05
-0.4519256146769957D-04-.7293151198900231D-05-.5098776122600387D-04
-0.8228377410748204D-050.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
--.3874478414664883D+00-.2394331024220700D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.4519256146769957D-04-.7293151198900231D-05-.3981401266032415D-04
-0.6425163892827973D-050.3478916893617300D-04-.5614257322345751D-05
--.3006329973748652D-040.4851599099556584D-050.2558831255660659D-04
--.4129428081509198D-05-.2132146425430071D-040.3440846403444125D-05
-0.1722429384915639D-04-.2779647252921669D-05-.1326172498190355D-04
-0.2140170025998270D-050.9401297415583386D-05-.1517176307138179D-05
--.5612495043095234D-050.9057414234337534D-060.1866143715712640D-05
--.3011572664961087D-060.1866143715512185D-05-.3011572664637594D-06
--.5612495043042305D-050.9057414234252119D-060.9401297415863014D-05
--.1517176307183306D-050.6710997558457615D-030.5247020748947131D-04
-0.9401297415583386D-05-.1517176307138179D-05-.1326172498190355D-04
-0.2140170025998270D-050.1722429384915639D-04-.2779647252921669D-05
--.2132146425430071D-040.3440846403444125D-050.2558831255660659D-04
--.4129428081509198D-05-.3006329973748652D-040.4851599099556584D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3981401266032415D-04
-0.6425163892827973D-050.4519256146769957D-04-.7293151198900231D-05
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-01-.3894467178525729D+00-.2343019470765194D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-05-.5098776122600387D-04
-0.8228377410748204D-050.4519256146769957D-04-.7293151198900231D-05
--.3981401266032415D-040.6425163892827973D-050.3478916893617300D-04
--.5614257322345751D-05-.3006329973748652D-040.4851599099556584D-05
-0.2558831255660659D-04-.4129428081509198D-05-.2132146425430071D-04
-0.3440846403444125D-050.1722429384915639D-04-.2779647252921669D-05
--.1326172498190355D-040.2140170025998270D-050.9401297415583386D-05
--.1517176307138179D-05-.5612495043095234D-050.9057414234337534D-06
-0.1866143715712640D-05-.3011572664961087D-060.1866143715512185D-05
--.3011572664637594D-06-.5612495043042305D-050.9057414234252119D-06
-0.6867523820371290D-030.5399923809358637D-04-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.3912532105272737D+00
--.2295478586186883D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-05-.5612495043095234D-05
-0.9057414234337534D-060.1866143715712640D-05-.3011572664961087D-06
-0.1866143715512185D-05-.3011572664637594D-060.7024846748638742D-03
-0.5554256663803711D-040.1866143715712640D-05-.3011572664961087D-06
--.5612495043095234D-050.9057414234337534D-060.9401297415583386D-05
--.1517176307138179D-05-.1326172498190355D-040.2140170025998270D-05
-0.1722429384915639D-04-.2779647252921669D-05-.2132146425430071D-04
-0.3440846403444125D-050.2558831255660659D-04-.4129428081509198D-05
--.3006329973748652D-040.4851599099556584D-050.3478916893617300D-04
--.5614257322345751D-05-.3981401266032415D-040.6425163892827973D-05
-0.4519256146769957D-04-.7293151198900231D-05-.5098776122600387D-04
-0.8228377410748204D-050.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
--.3928866565479990D+00-.2251421271226276D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.4519256146769957D-04-.7293151198900231D-05-.3981401266032415D-04
-0.6425163892827973D-050.3478916893617300D-04-.5614257322345751D-05
--.3006329973748652D-040.4851599099556584D-050.2558831255660659D-04
--.4129428081509198D-05-.2132146425430071D-040.3440846403444125D-05
-0.1722429384915639D-04-.2779647252921669D-05-.1326172498190355D-04
-0.2140170025998270D-050.9401297415583386D-05-.1517176307138179D-05
--.5612495043095234D-050.9057414234337534D-060.1866143715712640D-05
--.3011572664961087D-060.7182970371159094D-030.5710029931966725D-04
-0.1866143715512185D-05-.3011572664637594D-060.1866143715712640D-05
--.3011572664961087D-06-.5612495043095234D-050.9057414234337534D-06
-0.9401297415583386D-05-.1517176307138179D-05-.1326172498190355D-04
-0.2140170025998270D-050.1722429384915639D-04-.2779647252921669D-05
--.2132146425430071D-040.3440846403444125D-050.2558831255660659D-04
--.4129428081509198D-05-.3006329973748652D-040.4851599099556584D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3981401266032415D-04
-0.6425163892827973D-050.4519256146769957D-04-.7293151198900231D-05
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-01-.3943643076629220D+00-.2210584400084966D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-05-.5098776122600387D-04
-0.8228377410748204D-050.4519256146769957D-04-.7293151198900231D-05
--.3981401266032415D-040.6425163892827973D-050.3478916893617300D-04
--.5614257322345751D-05-.3006329973748652D-040.4851599099556584D-05
-0.2558831255660659D-04-.4129428081509198D-05-.2132146425430071D-04
-0.3440846403444125D-050.1722429384915639D-04-.2779647252921669D-05
--.1326172498190355D-040.2140170025998270D-050.9401297415583386D-05
--.1517176307138179D-05-.5612495043095234D-050.9057414234337534D-06
-0.7341898736056463D-030.5867254304618804D-04-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.3957015777066701D+00
--.2172726566553483D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.1722429384915639D-04
--.2779647252921669D-05-.1326172498190355D-040.2140170025998270D-05
-0.9401297415583386D-05-.1517176307138179D-050.7501635911780829D-03
-0.6025940544065905D-040.9401297415863014D-05-.1517176307183306D-05
--.5612495043042305D-050.9057414234252119D-060.1866143715512185D-05
--.3011572664637594D-060.1866143715712640D-05-.3011572664961087D-06
--.5612495043095234D-050.9057414234337534D-060.9401297415583386D-05
--.1517176307138179D-05-.1326172498190355D-040.2140170025998270D-05
-0.1722429384915639D-04-.2779647252921669D-05-.2132146425430071D-04
-0.3440846403444125D-050.2558831255660659D-04-.4129428081509198D-05
--.3006329973748652D-040.4851599099556584D-050.3478916893617300D-04
--.5614257322345751D-05-.3981401266032415D-040.6425163892827973D-05
-0.4519256146769957D-04-.7293151198900231D-05-.5098776122600387D-04
-0.8228377410748204D-050.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
--.3969122573971036D+00-.2137626049149093D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.4519256146769957D-04-.7293151198900231D-05-.3981401266032415D-04
-0.6425163892827973D-050.3478916893617300D-04-.5614257322345751D-05
--.3006329973748652D-040.4851599099556584D-050.2558831255660659D-04
--.4129428081509198D-05-.2132146425430071D-040.3440846403444125D-05
-0.1722429384915639D-04-.2779647252921669D-05-.1326172498190355D-04
-0.2140170025998270D-050.7662185987209308D-030.6186099484599586D-04
--.1326172498198105D-040.2140170026010777D-050.9401297415863014D-05
--.1517176307183306D-05-.5612495043042305D-050.9057414234252119D-06
-0.1866143715512185D-05-.3011572664637594D-060.1866143715712640D-05
--.3011572664961087D-06-.5612495043095234D-050.9057414234337534D-06
-0.9401297415583386D-05-.1517176307138179D-05-.1326172498190355D-04
-0.2140170025998270D-050.1722429384915639D-04-.2779647252921669D-05
--.2132146425430071D-040.3440846403444125D-050.2558831255660659D-04
--.4129428081509198D-05-.3006329973748652D-040.4851599099556584D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3981401266032415D-04
-0.6425163892827973D-050.4519256146769957D-04-.7293151198900231D-05
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-01-.3980087012451882D+00-.2105078979169252D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-05-.5098776122600387D-04
-0.8228377410748204D-050.4519256146769957D-04-.7293151198900231D-05
--.3981401266032415D-040.6425163892827973D-050.3478916893617300D-04
--.5614257322345751D-05-.3006329973748652D-040.4851599099556584D-05
-0.2558831255660659D-04-.4129428081509198D-05-.2132146425430071D-04
-0.3440846403444125D-050.1722429384915639D-04-.2779647252921669D-05
-0.7823553071748006D-030.6347742032950520D-040.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.3990019905620002D+00
--.2074897694756246D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3006329973748652D-04
-0.4851599099556584D-050.2558831255660659D-04-.4129428081509198D-05
--.2132146425430071D-040.3440846403444125D-050.7985741295434327D-03
-0.6510879168744751D-04-.2132146425429693D-040.3440846403443515D-05
-0.1722429384947072D-04-.2779647252972395D-05-.1326172498198105D-04
-0.2140170026010777D-050.9401297415863014D-05-.1517176307183306D-05
--.5612495043042305D-050.9057414234252119D-060.1866143715512185D-05
--.3011572664637594D-060.1866143715712640D-05-.3011572664961087D-06
--.5612495043095234D-050.9057414234337534D-060.9401297415583386D-05
--.1517176307138179D-05-.1326172498190355D-040.2140170025998270D-05
-0.1722429384915639D-04-.2779647252921669D-05-.2132146425430071D-04
-0.3440846403444125D-050.2558831255660659D-04-.4129428081509198D-05
--.3006329973748652D-040.4851599099556584D-050.3478916893617300D-04
--.5614257322345751D-05-.3981401266032415D-040.6425163892827973D-05
-0.4519256146769957D-04-.7293151198900231D-05-.5098776122600387D-04
-0.8228377410748204D-050.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
--.3999020759360296D+00-.2046909264043303D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.4519256146769957D-04-.7293151198900231D-05-.3981401266032415D-04
-0.6425163892827973D-050.3478916893617300D-04-.5614257322345751D-05
--.3006329973748652D-040.4851599099556584D-050.2558831255660659D-04
--.4129428081509198D-050.8148754809039821D-030.6675521944962719D-04
-0.2558831255668139D-04-.4129428081521270D-05-.2132146425429693D-04
-0.3440846403443515D-050.1722429384947072D-04-.2779647252972395D-05
--.1326172498198105D-040.2140170026010777D-050.9401297415863014D-05
--.1517176307183306D-05-.5612495043042305D-050.9057414234252119D-06
-0.1866143715512185D-05-.3011572664637594D-060.1866143715712640D-05
--.3011572664961087D-06-.5612495043095234D-050.9057414234337534D-06
-0.9401297415583386D-05-.1517176307138179D-05-.1326172498190355D-04
-0.2140170025998270D-050.1722429384915639D-04-.2779647252921669D-05
--.2132146425430071D-040.3440846403444125D-050.2558831255660659D-04
--.4129428081509198D-05-.3006329973748652D-040.4851599099556584D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3981401266032415D-04
-0.6425163892827973D-050.4519256146769957D-04-.7293151198900231D-05
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-01-.4007179020409484D+00-.2020954160960765D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-05-.5098776122600387D-04
-0.8228377410748204D-050.4519256146769957D-04-.7293151198900231D-05
--.3981401266032415D-040.6425163892827973D-050.3478916893617300D-04
--.5614257322345751D-05-.3006329973748652D-040.4851599099556584D-05
-0.8312597784173505D-030.6841681488401041D-04-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.4014575172028155D+00
--.1996885078135194D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.4519256146769957D-04
--.7293151198900231D-05-.3981401266032415D-040.6425163892827973D-05
-0.3478916893617300D-04-.5614257322345751D-050.8477274413385733D-03
-0.7009369000137130D-040.3478916893609630D-04-.5614257322333374D-05
--.3006329973746788D-040.4851599099553577D-050.2558831255668139D-04
--.4129428081521270D-05-.2132146425429693D-040.3440846403443515D-05
-0.1722429384947072D-04-.2779647252972395D-05-.1326172498198105D-04
-0.2140170026010777D-050.9401297415863014D-05-.1517176307183306D-05
--.5612495043042305D-050.9057414234252119D-060.1866143715512185D-05
--.3011572664637594D-060.1866143715712640D-05-.3011572664961087D-06
--.5612495043095234D-050.9057414234337534D-060.9401297415583386D-05
--.1517176307138179D-05-.1326172498190355D-040.2140170025998270D-05
-0.1722429384915639D-04-.2779647252921669D-05-.2132146425430071D-04
-0.3440846403444125D-050.2558831255660659D-04-.4129428081509198D-05
--.3006329973748652D-040.4851599099556584D-050.3478916893617300D-04
--.5614257322345751D-05-.3981401266032415D-040.6425163892827973D-05
-0.4519256146769957D-04-.7293151198900231D-05-.5098776122600387D-04
-0.8228377410748204D-050.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
--.4021281697929236D+00-.1974565862376031D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-05-.5098776122600387D-040.8228377410748204D-05
-0.4519256146769957D-04-.7293151198900231D-05-.3981401266032415D-04
-0.6425163892827973D-050.8642788910272550D-030.7178595755996570D-04
--.3981401266047105D-040.6425163892851680D-050.3478916893609630D-04
--.5614257322333374D-05-.3006329973746788D-040.4851599099553577D-05
-0.2558831255668139D-04-.4129428081521270D-05-.2132146425429693D-04
-0.3440846403443515D-050.1722429384947072D-04-.2779647252972395D-05
--.1326172498198105D-040.2140170026010777D-050.9401297415863014D-05
--.1517176307183306D-05-.5612495043042305D-050.9057414234252119D-06
-0.1866143715512185D-05-.3011572664637594D-060.1866143715712640D-05
--.3011572664961087D-06-.5612495043095234D-050.9057414234337534D-06
-0.9401297415583386D-05-.1517176307138179D-05-.1326172498190355D-04
-0.2140170025998270D-050.1722429384915639D-04-.2779647252921669D-05
--.2132146425430071D-040.3440846403444125D-050.2558831255660659D-04
--.4129428081509198D-05-.3006329973748652D-040.4851599099556584D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3981401266032415D-04
-0.6425163892827973D-050.4519256146769957D-04-.7293151198900231D-05
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-01-.4027363932069820D+00-.1953870559413300D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.5727272713271211D-04-.9242641819511967D-05-.5098776122600387D-04
-0.8228377410748204D-050.4519256146769957D-04-.7293151198900231D-05
-0.8809145509580565D-030.7349373107023372D-040.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.4032880809337382D+00
--.1934682555754028D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-04-.6413319184882657D-04
-0.1034977991579146D-040.5727272713271211D-04-.9242641819511967D-05
--.5098776122600387D-040.8228377410748204D-050.8976348467312377D-03
-0.7521712479953038D-04-.5098776122625716D-040.8228377410789080D-05
-0.4519256146756725D-04-.7293151198878877D-05-.3981401266047105D-04
-0.6425163892851680D-050.3478916893609630D-04-.5614257322333374D-05
--.3006329973746788D-040.4851599099553577D-050.2558831255668139D-04
--.4129428081521270D-05-.2132146425429693D-040.3440846403443515D-05
-0.1722429384947072D-04-.2779647252972395D-05-.1326172498198105D-04
-0.2140170026010777D-050.9401297415863014D-05-.1517176307183306D-05
--.5612495043042305D-050.9057414234252119D-060.1866143715512185D-05
--.3011572664637594D-060.1866143715712640D-05-.3011572664961087D-06
--.5612495043095234D-050.9057414234337534D-060.9401297415583386D-05
--.1517176307138179D-05-.1326172498190355D-040.2140170025998270D-05
-0.1722429384915639D-04-.2779647252921669D-05-.2132146425430071D-04
-0.3440846403444125D-050.2558831255660659D-04-.4129428081509198D-05
--.3006329973748652D-040.4851599099556584D-050.3478916893617300D-04
--.5614257322345751D-05-.3981401266032415D-040.6425163892827973D-05
-0.4519256146769957D-04-.7293151198900231D-05-.5098776122600387D-04
-0.8228377410748204D-050.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
--.4037885529987051D+00-.1916893806714917D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.7167060586256731D-04-.1156616372466696D-04
--.6413319184882657D-040.1034977991579146D-040.5727272713271211D-04
--.9242641819511967D-050.9144402060832480D-030.7695625377688507D-04
-0.5727272713271265D-04-.9242641819512053D-05-.5098776122625716D-04
-0.8228377410789080D-050.4519256146756725D-04-.7293151198878877D-05
--.3981401266047105D-040.6425163892851680D-050.3478916893609630D-04
--.5614257322333374D-05-.3006329973746788D-040.4851599099553577D-05
-0.2558831255668139D-04-.4129428081521270D-05-.2132146425429693D-04
-0.3440846403443515D-050.1722429384947072D-04-.2779647252972395D-05
--.1326172498198105D-040.2140170026010777D-050.9401297415863014D-05
--.1517176307183306D-05-.5612495043042305D-050.9057414234252119D-06
-0.1866143715512185D-05-.3011572664637594D-060.1866143715712640D-05
--.3011572664961087D-06-.5612495043095234D-050.9057414234337534D-06
-0.9401297415583386D-05-.1517176307138179D-05-.1326172498190355D-04
-0.2140170025998270D-050.1722429384915639D-04-.2779647252921669D-05
--.2132146425430071D-040.3440846403444125D-050.2558831255660659D-04
--.4129428081509198D-05-.3006329973748652D-040.4851599099556584D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3981401266032415D-04
-0.6425163892827973D-050.4519256146769957D-04-.7293151198900231D-05
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-01-.4042426148848744D+00-.1900404140831033D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
--.8000610566205206D-040.1291134218726627D-040.7167060586256731D-04
--.1156616372466696D-04-.6413319184882657D-040.1034977991579146D-04
-0.9313310588973688D-030.7871123379778959D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.4046546098767282D+00
--.1885120631913809D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.8928564729795884D-04
--.1440886961233884D-04-.8000610566205206D-040.1291134218726627D-04
-0.7167060586256731D-04-.1156616372466696D-040.9483078372144148D-03
-0.8048218142901548D-040.7167060586276605D-04-.1156616372469904D-04
--.6413319184916952D-040.1034977991584680D-040.5727272713271265D-04
--.9242641819512053D-05-.5098776122625716D-040.8228377410789080D-05
-0.4519256146756725D-04-.7293151198878877D-05-.3981401266047105D-04
-0.6425163892851680D-050.3478916893609630D-04-.5614257322333374D-05
--.3006329973746788D-040.4851599099553577D-050.2558831255668139D-04
--.4129428081521270D-05-.2132146425429693D-040.3440846403443515D-05
-0.1722429384947072D-04-.2779647252972395D-05-.1326172498198105D-04
-0.2140170026010777D-050.9401297415863014D-05-.1517176307183306D-05
--.5612495043042305D-050.9057414234252119D-060.1866143715512185D-05
--.3011572664637594D-060.1866143715712640D-05-.3011572664961087D-06
--.5612495043095234D-050.9057414234337534D-060.9401297415583386D-05
--.1517176307138179D-05-.1326172498190355D-040.2140170025998270D-05
-0.1722429384915639D-04-.2779647252921669D-05-.2132146425430071D-04
-0.3440846403444125D-050.2558831255660659D-04-.4129428081509198D-05
--.3006329973748652D-040.4851599099556584D-050.3478916893617300D-04
--.5614257322345751D-05-.3981401266032415D-040.6425163892827973D-05
-0.4519256146769957D-04-.7293151198900231D-05-.5098776122600387D-04
-0.8228377410748204D-050.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
--.4050284656419996D+00-.1870957031024471D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-04-.9968672138332729D-040.1608738933930258D-04
-0.8928564729795884D-04-.1440886961233884D-04-.8000610566205206D-04
-0.1291134218726627D-040.9653709752434816D-030.8226921401346013D-04
--.8000610566205314D-040.1291134218726644D-040.7167060586276605D-04
--.1156616372469904D-04-.6413319184916952D-040.1034977991584680D-04
-0.5727272713271265D-04-.9242641819512053D-05-.5098776122625716D-04
-0.8228377410789080D-050.4519256146756725D-04-.7293151198878877D-05
--.3981401266047105D-040.6425163892851680D-050.3478916893609630D-04
--.5614257322333374D-05-.3006329973746788D-040.4851599099553577D-05
-0.2558831255668139D-04-.4129428081521270D-05-.2132146425429693D-04
-0.3440846403443515D-050.1722429384947072D-04-.2779647252972395D-05
--.1326172498198105D-040.2140170026010777D-050.9401297415863014D-05
--.1517176307183306D-05-.5612495043042305D-050.9057414234252119D-06
-0.1866143715512185D-05-.3011572664637594D-060.1866143715712640D-05
--.3011572664961087D-06-.5612495043095234D-050.9057414234337534D-06
-0.9401297415583386D-05-.1517176307138179D-05-.1326172498190355D-04
-0.2140170025998270D-050.1722429384915639D-04-.2779647252921669D-05
--.2132146425430071D-040.3440846403444125D-050.2558831255660659D-04
--.4129428081509198D-05-.3006329973748652D-040.4851599099556584D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3981401266032415D-04
-0.6425163892827973D-050.4519256146769957D-04-.7293151198900231D-05
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-01-.4053677357536670D+00-.1857833251535415D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1114272391270168D-03-.1798206776153138D-04-.9968672138332729D-04
-0.1608738933930258D-040.8928564729795884D-04-.1440886961233884D-04
-0.9825209093727470D-030.8407244967502225D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.4056756367594502D+00
--.1845674901271196D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1247774371156127D-03
-0.2013651551363927D-040.1114272391270168D-03-.1798206776153138D-04
--.9968672138332729D-040.1608738933930258D-040.9997580781803323D-03
-0.8589200732350710D-04-.9968672138364864D-040.1608738933935444D-04
-0.8928564729752786D-04-.1440886961226929D-04-.8000610566205314D-04
-0.1291134218726644D-040.7167060586276605D-04-.1156616372469904D-04
--.6413319184916952D-040.1034977991584680D-040.5727272713271265D-04
--.9242641819512053D-05-.5098776122625716D-040.8228377410789080D-05
-0.4519256146756725D-04-.7293151198878877D-05-.3981401266047105D-04
-0.6425163892851680D-050.3478916893609630D-04-.5614257322333374D-05
--.3006329973746788D-040.4851599099553577D-050.2558831255668139D-04
--.4129428081521270D-05-.2132146425429693D-040.3440846403443515D-05
-0.1722429384947072D-04-.2779647252972395D-05-.1326172498198105D-04
-0.2140170026010777D-050.9401297415863014D-05-.1517176307183306D-05
--.5612495043042305D-050.9057414234252119D-060.1866143715512185D-05
--.3011572664637594D-060.1866143715712640D-05-.3011572664961087D-06
--.5612495043095234D-050.9057414234337534D-060.9401297415583386D-05
--.1517176307138179D-05-.1326172498190355D-040.2140170025998270D-05
-0.1722429384915639D-04-.2779647252921669D-05-.2132146425430071D-04
-0.3440846403444125D-050.2558831255660659D-04-.4129428081509198D-05
--.3006329973748652D-040.4851599099556584D-050.3478916893617300D-04
--.5614257322345751D-05-.3981401266032415D-040.6425163892827973D-05
-0.4519256146769957D-04-.7293151198900231D-05-.5098776122600387D-04
-0.8228377410748204D-050.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
--.4059550813249528D+00-.1834412856454672D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1400760388416475D-03-.2260539561018954D-04
--.1247774371156127D-030.2013651551363927D-040.1114272391270168D-03
--.1798206776153138D-040.1017082922445208D-020.8772800665956083D-04
-0.1114272391272199D-03-.1798206776156415D-04-.9968672138364864D-04
-0.1608738933935444D-040.8928564729752786D-04-.1440886961226929D-04
--.8000610566205314D-040.1291134218726644D-040.7167060586276605D-04
--.1156616372469904D-04-.6413319184916952D-040.1034977991584680D-04
-0.5727272713271265D-04-.9242641819512053D-05-.5098776122625716D-04
-0.8228377410789080D-050.4519256146756725D-04-.7293151198878877D-05
--.3981401266047105D-040.6425163892851680D-050.3478916893609630D-04
--.5614257322333374D-05-.3006329973746788D-040.4851599099553577D-05
-0.2558831255668139D-04-.4129428081521270D-05-.2132146425429693D-04
-0.3440846403443515D-050.1722429384947072D-04-.2779647252972395D-05
--.1326172498198105D-040.2140170026010777D-050.9401297415863014D-05
--.1517176307183306D-05-.5612495043042305D-050.9057414234252119D-06
-0.1866143715512185D-05-.3011572664637594D-060.1866143715712640D-05
--.3011572664961087D-06-.5612495043095234D-050.9057414234337534D-06
-0.9401297415583386D-05-.1517176307138179D-05-.1326172498190355D-04
-0.2140170025998270D-050.1722429384915639D-04-.2779647252921669D-05
--.2132146425430071D-040.3440846403444125D-050.2558831255660659D-04
--.4129428081509198D-05-.3006329973748652D-040.4851599099556584D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3981401266032415D-04
-0.6425163892827973D-050.4519256146769957D-04-.7293151198900231D-05
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-01-.4062087079073467D+00-.1823982872836648D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
--.1577525118210161D-030.2545801528730057D-040.1400760388416475D-03
--.2260539561018954D-04-.1247774371156127D-030.2013651551363927D-04
-0.1034495885158160D-020.8958056817963518D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.4064389073572802D+00
--.1814325229964734D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1783582025510641D-03
--.2878335054539225D-04-.1577525118210161D-030.2545801528730057D-04
-0.1400760388416475D-03-.2260539561018954D-040.1051997411532808D-02
-0.9144981318098186D-040.1400760388418106D-03-.2260539561021587D-04
--.1247774371157844D-030.2013651551366699D-040.1114272391272199D-03
--.1798206776156415D-04-.9968672138364864D-040.1608738933935444D-04
-0.8928564729752786D-04-.1440886961226929D-04-.8000610566205314D-04
-0.1291134218726644D-040.7167060586276605D-04-.1156616372469904D-04
--.6413319184916952D-040.1034977991584680D-040.5727272713271265D-04
--.9242641819512053D-05-.5098776122625716D-040.8228377410789080D-05
-0.4519256146756725D-04-.7293151198878877D-05-.3981401266047105D-04
-0.6425163892851680D-050.3478916893609630D-04-.5614257322333374D-05
--.3006329973746788D-040.4851599099553577D-050.2558831255668139D-04
--.4129428081521270D-05-.2132146425429693D-040.3440846403443515D-05
-0.1722429384947072D-04-.2779647252972395D-05-.1326172498198105D-04
-0.2140170026010777D-050.9401297415863014D-05-.1517176307183306D-05
--.5612495043042305D-050.9057414234252119D-060.1866143715512185D-05
--.3011572664637594D-060.1866143715712640D-05-.3011572664961087D-06
--.5612495043095234D-050.9057414234337534D-060.9401297415583386D-05
--.1517176307138179D-05-.1326172498190355D-040.2140170025998270D-05
-0.1722429384915639D-04-.2779647252921669D-05-.2132146425430071D-04
-0.3440846403444125D-050.2558831255660659D-04-.4129428081509198D-05
--.3006329973748652D-040.4851599099556584D-050.3478916893617300D-04
--.5614257322345751D-05-.3981401266032415D-040.6425163892827973D-05
-0.4519256146769957D-04-.7293151198900231D-05-.5098776122600387D-04
-0.8228377410748204D-050.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
--.4066478467959349D+00-.1805384405054882D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-04-.2026106452901065D-030.3269719667613051D-04
-0.1783582025510641D-03-.2878335054539225D-04-.1577525118210161D-03
-0.2545801528730057D-040.1069587949016678D-020.9333586376667711D-04
--.1577525118211425D-030.2545801528732096D-040.1400760388418106D-03
--.2260539561021587D-04-.1247774371157844D-030.2013651551366699D-04
-0.1114272391272199D-03-.1798206776156415D-04-.9968672138364864D-04
-0.1608738933935444D-040.8928564729752786D-04-.1440886961226929D-04
--.8000610566205314D-040.1291134218726644D-040.7167060586276605D-04
--.1156616372469904D-04-.6413319184916952D-040.1034977991584680D-04
-0.5727272713271265D-04-.9242641819512053D-05-.5098776122625716D-04
-0.8228377410789080D-050.4519256146756725D-04-.7293151198878877D-05
--.3981401266047105D-040.6425163892851680D-050.3478916893609630D-04
--.5614257322333374D-05-.3006329973746788D-040.4851599099553577D-05
-0.2558831255668139D-04-.4129428081521270D-05-.2132146425429693D-04
-0.3440846403443515D-050.1722429384947072D-04-.2779647252972395D-05
--.1326172498198105D-040.2140170026010777D-050.9401297415863014D-05
--.1517176307183306D-05-.5612495043042305D-050.9057414234252119D-06
-0.1866143715512185D-05-.3011572664637594D-060.1866143715712640D-05
--.3011572664961087D-06-.5612495043095234D-050.9057414234337534D-06
-0.9401297415583386D-05-.1517176307138179D-05-.1326172498190355D-04
-0.2140170025998270D-050.1722429384915639D-04-.2779647252921669D-05
--.2132146425430071D-040.3440846403444125D-050.2558831255660659D-04
--.4129428081509198D-05-.3006329973748652D-040.4851599099556584D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3981401266032415D-04
-0.6425163892827973D-050.4519256146769957D-04-.7293151198900231D-05
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-01-.4068374910705764D+00-.1797108773373967D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2026106452901065D-03
-0.3269719667613051D-040.1783582025510641D-03-.2878335054539225D-04
-0.1087267947302331D-020.9523884285067672D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.4070096220544382D+00
--.1789450332429918D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-04-.2661733971656183D-03
-0.4295491929664661D-040.2314578281220545D-03-.3735253948528030D-04
--.2026106452901065D-030.3269719667613051D-040.1105037858338542D-02
-0.9715887416290131D-04-.2026106452901076D-030.3269719667613068D-04
-0.1783582025511267D-03-.2878335054540236D-04-.1577525118211425D-03
-0.2545801528732096D-040.1400760388418106D-03-.2260539561021587D-04
--.1247774371157844D-030.2013651551366699D-040.1114272391272199D-03
--.1798206776156415D-04-.9968672138364864D-040.1608738933935444D-04
-0.8928564729752786D-04-.1440886961226929D-04-.8000610566205314D-04
-0.1291134218726644D-040.7167060586276605D-04-.1156616372469904D-04
--.6413319184916952D-040.1034977991584680D-040.5727272713271265D-04
--.9242641819512053D-05-.5098776122625716D-040.8228377410789080D-05
-0.4519256146756725D-04-.7293151198878877D-05-.3981401266047105D-04
-0.6425163892851680D-050.3478916893609630D-04-.5614257322333374D-05
--.3006329973746788D-040.4851599099553577D-050.2558831255668139D-04
--.4129428081521270D-05-.2132146425429693D-040.3440846403443515D-05
-0.1722429384947072D-04-.2779647252972395D-05-.1326172498198105D-04
-0.2140170026010777D-050.9401297415863014D-05-.1517176307183306D-05
--.5612495043042305D-050.9057414234252119D-060.1866143715512185D-05
--.3011572664637594D-060.1866143715712640D-05-.3011572664961087D-06
--.5612495043095234D-050.9057414234337534D-060.9401297415583386D-05
--.1517176307138179D-05-.1326172498190355D-040.2140170025998270D-05
-0.1722429384915639D-04-.2779647252921669D-05-.2132146425430071D-04
-0.3440846403444125D-050.2558831255660659D-04-.4129428081509198D-05
--.3006329973748652D-040.4851599099556584D-050.3478916893617300D-04
--.5614257322345751D-05-.3981401266032415D-040.6425163892827973D-05
-0.4519256146769957D-04-.7293151198900231D-05-.5098776122600387D-04
-0.8228377410748204D-050.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
--.4071658560244203D+00-.1782364447603602D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.3085010747974997D-03-.4978573708705348D-04
--.2661733971656183D-030.4295491929664661D-040.2314578281220545D-03
--.3735253948528030D-040.1122898136341541D-020.9909608225435285D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2026106452901076D-03
-0.3269719667613068D-040.1783582025511267D-03-.2878335054540236D-04
--.1577525118211425D-030.2545801528732096D-040.1400760388418106D-03
--.2260539561021587D-04-.1247774371157844D-030.2013651551366699D-04
-0.1114272391272199D-03-.1798206776156415D-04-.9968672138364864D-04
-0.1608738933935444D-040.8928564729752786D-04-.1440886961226929D-04
--.8000610566205314D-040.1291134218726644D-040.7167060586276605D-04
--.1156616372469904D-04-.6413319184916952D-040.1034977991584680D-04
-0.5727272713271265D-04-.9242641819512053D-05-.5098776122625716D-04
-0.8228377410789080D-050.4519256146756725D-04-.7293151198878877D-05
--.3981401266047105D-040.6425163892851680D-050.3478916893609630D-04
--.5614257322333374D-05-.3006329973746788D-040.4851599099553577D-05
-0.2558831255668139D-04-.4129428081521270D-05-.2132146425429693D-04
-0.3440846403443515D-050.1722429384947072D-04-.2779647252972395D-05
--.1326172498198105D-040.2140170026010777D-050.9401297415863014D-05
--.1517176307183306D-05-.5612495043042305D-050.9057414234252119D-06
-0.1866143715512185D-05-.3011572664637594D-060.1866143715712640D-05
--.3011572664961087D-06-.5612495043095234D-050.9057414234337534D-06
-0.9401297415583386D-05-.1517176307138179D-05-.1326172498190355D-04
-0.2140170025998270D-050.1722429384915639D-04-.2779647252921669D-05
--.2132146425430071D-040.3440846403444125D-050.2558831255660659D-04
--.4129428081509198D-05-.3006329973748652D-040.4851599099556584D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3981401266032415D-04
-0.6425163892827973D-050.4519256146769957D-04-.7293151198900231D-05
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-01-.4073076593221184D+00-.1775809617149684D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
--.3608796739011819D-030.5823856716447153D-040.3085010747974997D-03
--.4978573708705348D-04-.2661733971656183D-030.4295491929664661D-04
-0.1140849237806308D-020.1010505925022613D-03-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.4074363624794680D+00
--.1769747254747372D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.4268045368517673D-03
--.6887748599647970D-04-.3608796739011819D-030.5823856716447153D-04
-0.3085010747974997D-03-.4978573708705348D-040.1158891621517917D-02
-0.1030225311152631D-030.3085010747980624D-03-.4978573708714430D-04
--.2661733971656788D-030.4295491929665637D-040.2314578281220329D-03
--.3735253948527681D-04-.2026106452901076D-030.3269719667613068D-04
-0.1783582025511267D-03-.2878335054540236D-04-.1577525118211425D-03
-0.2545801528732096D-040.1400760388418106D-03-.2260539561021587D-04
--.1247774371157844D-030.2013651551366699D-040.1114272391272199D-03
--.1798206776156415D-04-.9968672138364864D-040.1608738933935444D-04
-0.8928564729752786D-04-.1440886961226929D-04-.8000610566205314D-04
-0.1291134218726644D-040.7167060586276605D-04-.1156616372469904D-04
--.6413319184916952D-040.1034977991584680D-040.5727272713271265D-04
--.9242641819512053D-05-.5098776122625716D-040.8228377410789080D-05
-0.4519256146756725D-04-.7293151198878877D-05-.3981401266047105D-04
-0.6425163892851680D-050.3478916893609630D-04-.5614257322333374D-05
--.3006329973746788D-040.4851599099553577D-050.2558831255668139D-04
--.4129428081521270D-05-.2132146425429693D-040.3440846403443515D-05
-0.1722429384947072D-04-.2779647252972395D-05-.1326172498198105D-04
-0.2140170026010777D-050.9401297415863014D-05-.1517176307183306D-05
--.5612495043042305D-050.9057414234252119D-060.1866143715512185D-05
--.3011572664637594D-060.1866143715712640D-05-.3011572664961087D-06
--.5612495043095234D-050.9057414234337534D-060.9401297415583386D-05
--.1517176307138179D-05-.1326172498190355D-040.2140170025998270D-05
-0.1722429384915639D-04-.2779647252921669D-05-.2132146425430071D-04
-0.3440846403444125D-050.2558831255660659D-04-.4129428081509198D-05
--.3006329973748652D-040.4851599099556584D-050.3478916893617300D-04
--.5614257322345751D-05-.3981401266032415D-040.6425163892827973D-05
-0.4519256146769957D-04-.7293151198900231D-05-.5098776122600387D-04
-0.8228377410748204D-050.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
--.4075531729692349D+00-.1764141488001286D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-03-.5114288231753483D-030.8253410768848127D-04
-0.4268045368517673D-03-.6887748599647970D-04-.3608796739011819D-03
-0.5823856716447153D-040.1177025748562945D-020.1050120251386102D-03
--.3608796739013979D-030.5823856716450639D-040.3085010747980624D-03
--.4978573708714430D-04-.2661733971656788D-030.4295491929665637D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2026106452901076D-03
-0.3269719667613068D-040.1783582025511267D-03-.2878335054540236D-04
--.1577525118211425D-030.2545801528732096D-040.1400760388418106D-03
--.2260539561021587D-04-.1247774371157844D-030.2013651551366699D-04
-0.1114272391272199D-03-.1798206776156415D-04-.9968672138364864D-04
-0.1608738933935444D-040.8928564729752786D-04-.1440886961226929D-04
--.8000610566205314D-040.1291134218726644D-040.7167060586276605D-04
--.1156616372469904D-04-.6413319184916952D-040.1034977991584680D-04
-0.5727272713271265D-04-.9242641819512053D-05-.5098776122625716D-04
-0.8228377410789080D-050.4519256146756725D-04-.7293151198878877D-05
--.3981401266047105D-040.6425163892851680D-050.3478916893609630D-04
--.5614257322333374D-05-.3006329973746788D-040.4851599099553577D-05
-0.2558831255668139D-04-.4129428081521270D-05-.2132146425429693D-04
-0.3440846403443515D-050.1722429384947072D-04-.2779647252972395D-05
--.1326172498198105D-040.2140170026010777D-050.9401297415863014D-05
--.1517176307183306D-05-.5612495043042305D-050.9057414234252119D-06
-0.1866143715512185D-05-.3011572664637594D-060.1866143715712640D-05
--.3011572664961087D-06-.5612495043095234D-050.9057414234337534D-06
-0.9401297415583386D-05-.1517176307138179D-05-.1326172498190355D-04
-0.2140170025998270D-050.1722429384915639D-04-.2779647252921669D-05
--.2132146425430071D-040.3440846403444125D-050.2558831255660659D-04
--.4129428081509198D-05-.3006329973748652D-040.4851599099556584D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3981401266032415D-04
-0.6425163892827973D-050.4519256146769957D-04-.7293151198900231D-05
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-01-.4076591867222681D+00-.1758958971482033D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.6226054234808307D-03-.1004757274921541D-03-.5114288231753483D-03
-0.8253410768848127D-040.4268045368517673D-03-.6887748599647970D-04
-0.1195252082340932D-020.1070192024594111D-030.4268045368520104D-03
--.6887748599651892D-04-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.4077553985374401D+00
--.1754168713059499D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-03-.7727812230406976D-03
-0.1247110170406046D-030.6226054234808307D-03-.1004757274921541D-03
--.5114288231753483D-030.8253410768848127D-040.1213571088575899D-02
-0.1090441918119028D-03-.5114288231755168D-030.8253410768850847D-04
-0.4268045368520104D-03-.6887748599651892D-04-.3608796739013979D-03
-0.5823856716450639D-040.3085010747980624D-03-.4978573708714430D-04
--.2661733971656788D-030.4295491929665637D-040.2314578281220329D-03
--.3735253948527681D-04-.2026106452901076D-030.3269719667613068D-04
-0.1783582025511267D-03-.2878335054540236D-04-.1577525118211425D-03
-0.2545801528732096D-040.1400760388418106D-03-.2260539561021587D-04
--.1247774371157844D-030.2013651551366699D-040.1114272391272199D-03
--.1798206776156415D-04-.9968672138364864D-040.1608738933935444D-04
-0.8928564729752786D-04-.1440886961226929D-04-.8000610566205314D-04
-0.1291134218726644D-040.7167060586276605D-04-.1156616372469904D-04
--.6413319184916952D-040.1034977991584680D-040.5727272713271265D-04
--.9242641819512053D-05-.5098776122625716D-040.8228377410789080D-05
-0.4519256146756725D-04-.7293151198878877D-05-.3981401266047105D-04
-0.6425163892851680D-050.3478916893609630D-04-.5614257322333374D-05
--.3006329973746788D-040.4851599099553577D-050.2558831255668139D-04
--.4129428081521270D-05-.2132146425429693D-040.3440846403443515D-05
-0.1722429384947072D-04-.2779647252972395D-05-.1326172498198105D-04
-0.2140170026010777D-050.9401297415863014D-05-.1517176307183306D-05
--.5612495043042305D-050.9057414234252119D-060.1866143715512185D-05
--.3011572664637594D-060.1866143715712640D-05-.3011572664961087D-06
--.5612495043095234D-050.9057414234337534D-060.9401297415583386D-05
--.1517176307138179D-05-.1326172498190355D-040.2140170025998270D-05
-0.1722429384915639D-04-.2779647252921669D-05-.2132146425430071D-04
-0.3440846403444125D-050.2558831255660659D-04-.4129428081509198D-05
--.3006329973748652D-040.4851599099556584D-050.3478916893617300D-04
--.5614257322345751D-05-.3981401266032415D-040.6425163892827973D-05
-0.4519256146769957D-04-.7293151198900231D-05-.5098776122600387D-04
-0.8228377410748204D-050.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
--.4078427114962225D+00-.1749741912422772D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.9826448017570867D-03-.1585786882018169D-03
--.7727812230406976D-030.1247110170406046D-030.6226054234808307D-03
--.1004757274921541D-030.1231983235327929D-020.1110871227827559D-03
-0.6226054234809117D-03-.1004757274921672D-03-.5114288231755168D-03
-0.8253410768850847D-040.4268045368520104D-03-.6887748599651892D-04
--.3608796739013979D-030.5823856716450639D-040.3085010747980624D-03
--.4978573708714430D-04-.2661733971656788D-030.4295491929665637D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2026106452901076D-03
-0.3269719667613068D-040.1783582025511267D-03-.2878335054540236D-04
--.1577525118211425D-030.2545801528732096D-040.1400760388418106D-03
--.2260539561021587D-04-.1247774371157844D-030.2013651551366699D-04
-0.1114272391272199D-03-.1798206776156415D-04-.9968672138364864D-04
-0.1608738933935444D-040.8928564729752786D-04-.1440886961226929D-04
--.8000610566205314D-040.1291134218726644D-040.7167060586276605D-04
--.1156616372469904D-04-.6413319184916952D-040.1034977991584680D-04
-0.5727272713271265D-04-.9242641819512053D-05-.5098776122625716D-04
-0.8228377410789080D-050.4519256146756725D-04-.7293151198878877D-05
--.3981401266047105D-040.6425163892851680D-050.3478916893609630D-04
--.5614257322333374D-05-.3006329973746788D-040.4851599099553577D-05
-0.2558831255668139D-04-.4129428081521270D-05-.2132146425429693D-04
-0.3440846403443515D-050.1722429384947072D-04-.2779647252972395D-05
--.1326172498198105D-040.2140170026010777D-050.9401297415863014D-05
--.1517176307183306D-05-.5612495043042305D-050.9057414234252119D-06
-0.1866143715512185D-05-.3011572664637594D-060.1866143715712640D-05
--.3011572664961087D-06-.5612495043095234D-050.9057414234337534D-06
-0.9401297415583386D-05-.1517176307138179D-05-.1326172498190355D-04
-0.2140170025998270D-050.1722429384915639D-04-.2779647252921669D-05
--.2132146425430071D-040.3440846403444125D-050.2558831255660659D-04
--.4129428081509198D-05-.3006329973748652D-040.4851599099556584D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3981401266032415D-04
-0.6425163892827973D-050.4519256146769957D-04-.7293151198900231D-05
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-01-.4079219454815874D+00-.1745651810802267D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
--.1288661285438060D-020.2079634633143379D-030.9826448017570867D-03
--.1585786882018169D-03-.7727812230406976D-030.1247110170406046D-03
-0.1250488993004788D-020.1131481258164096D-03-.7727812230408974D-03
-0.1247110170406368D-030.6226054234809117D-03-.1004757274921672D-03
--.5114288231755168D-030.8253410768850847D-040.4268045368520104D-03
--.6887748599651892D-04-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.4079938448901613D+00
--.1741873551014634D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1760064559812291D-02
--.2840382695216640D-03-.1288661285438060D-020.2079634633143379D-03
-0.9826448017570867D-03-.1585786882018169D-030.1269088834373626D-02
-0.1152273322204408D-030.9826448017572174D-03-.1585786882018380D-03
--.7727812230408974D-030.1247110170406368D-030.6226054234809117D-03
--.1004757274921672D-03-.5114288231755168D-030.8253410768850847D-04
-0.4268045368520104D-03-.6887748599651892D-04-.3608796739013979D-03
-0.5823856716450639D-040.3085010747980624D-03-.4978573708714430D-04
--.2661733971656788D-030.4295491929665637D-040.2314578281220329D-03
--.3735253948527681D-04-.2026106452901076D-030.3269719667613068D-04
-0.1783582025511267D-03-.2878335054540236D-04-.1577525118211425D-03
-0.2545801528732096D-040.1400760388418106D-03-.2260539561021587D-04
--.1247774371157844D-030.2013651551366699D-040.1114272391272199D-03
--.1798206776156415D-04-.9968672138364864D-040.1608738933935444D-04
-0.8928564729752786D-04-.1440886961226929D-04-.8000610566205314D-04
-0.1291134218726644D-040.7167060586276605D-04-.1156616372469904D-04
--.6413319184916952D-040.1034977991584680D-040.5727272713271265D-04
--.9242641819512053D-05-.5098776122625716D-040.8228377410789080D-05
-0.4519256146756725D-04-.7293151198878877D-05-.3981401266047105D-04
-0.6425163892851680D-050.3478916893609630D-04-.5614257322333374D-05
--.3006329973746788D-040.4851599099553577D-050.2558831255668139D-04
--.4129428081521270D-05-.2132146425429693D-040.3440846403443515D-05
-0.1722429384947072D-04-.2779647252972395D-05-.1326172498198105D-04
-0.2140170026010777D-050.9401297415863014D-05-.1517176307183306D-05
--.5612495043042305D-050.9057414234252119D-060.1866143715512185D-05
--.3011572664637594D-060.1866143715712640D-05-.3011572664961087D-06
--.5612495043095234D-050.9057414234337534D-060.9401297415583386D-05
--.1517176307138179D-05-.1326172498190355D-040.2140170025998270D-05
-0.1722429384915639D-04-.2779647252921669D-05-.2132146425430071D-04
-0.3440846403444125D-050.2558831255660659D-04-.4129428081509198D-05
--.3006329973748652D-040.4851599099556584D-050.3478916893617300D-04
--.5614257322345751D-05-.3981401266032415D-040.6425163892827973D-05
-0.4519256146769957D-04-.7293151198900231D-05-.5098776122600387D-04
-0.8228377410748204D-050.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
--.4080590856170763D+00-.1738384047041783D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-03-.2541776982553532D-020.4101905987536608D-03
-0.1760064559812291D-02-.2840382695216640D-03-.1288661285438060D-02
-0.2079634633143379D-030.1287783234572715D-020.1173248741709648D-03
--.1288661285438230D-020.2079634633143654D-030.9826448017572174D-03
--.1585786882018380D-03-.7727812230408974D-030.1247110170406368D-03
-0.6226054234809117D-03-.1004757274921672D-03-.5114288231755168D-03
-0.8253410768850847D-040.4268045368520104D-03-.6887748599651892D-04
--.3608796739013979D-030.5823856716450639D-040.3085010747980624D-03
--.4978573708714430D-04-.2661733971656788D-030.4295491929665637D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2026106452901076D-03
-0.3269719667613068D-040.1783582025511267D-03-.2878335054540236D-04
--.1577525118211425D-030.2545801528732096D-040.1400760388418106D-03
--.2260539561021587D-04-.1247774371157844D-030.2013651551366699D-04
-0.1114272391272199D-03-.1798206776156415D-04-.9968672138364864D-04
-0.1608738933935444D-040.8928564729752786D-04-.1440886961226929D-04
--.8000610566205314D-040.1291134218726644D-040.7167060586276605D-04
--.1156616372469904D-04-.6413319184916952D-040.1034977991584680D-04
-0.5727272713271265D-04-.9242641819512053D-05-.5098776122625716D-04
-0.8228377410789080D-050.4519256146756725D-04-.7293151198878877D-05
--.3981401266047105D-040.6425163892851680D-050.3478916893609630D-04
--.5614257322333374D-05-.3006329973746788D-040.4851599099553577D-05
-0.2558831255668139D-04-.4129428081521270D-05-.2132146425429693D-04
-0.3440846403443515D-050.1722429384947072D-04-.2779647252972395D-05
--.1326172498198105D-040.2140170026010777D-050.9401297415863014D-05
--.1517176307183306D-05-.5612495043042305D-050.9057414234252119D-06
-0.1866143715512185D-05-.3011572664637594D-060.1866143715712640D-05
--.3011572664961087D-06-.5612495043095234D-050.9057414234337534D-06
-0.9401297415583386D-05-.1517176307138179D-05-.1326172498190355D-04
-0.2140170025998270D-050.1722429384915639D-04-.2779647252921669D-05
--.2132146425430071D-040.3440846403444125D-050.2558831255660659D-04
--.4129428081509198D-05-.3006329973748652D-040.4851599099556584D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3981401266032415D-04
-0.6425163892827973D-050.4519256146769957D-04-.7293151198900231D-05
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-01-.4081182813846022D+00-.1735161862434064D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.3980741565709701D-02-.6424099272004710D-03-.2541776982553532D-02
-0.4101905987536608D-030.1760064559812291D-02-.2840382695216640D-03
-0.1306572671123266D-020.1194408847180681D-030.1760064559812521D-02
--.2840382695217011D-03-.1288661285438230D-020.2079634633143654D-03
-0.9826448017572174D-03-.1585786882018380D-03-.7727812230408974D-03
-0.1247110170406368D-030.6226054234809117D-03-.1004757274921672D-03
--.5114288231755168D-030.8253410768850847D-040.4268045368520104D-03
--.6887748599651892D-04-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.4081719894782467D+00
--.1732187096895809D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-02-.7089509216132070D-02
-0.1144101174176702D-020.3980741565709701D-02-.6424099272004710D-03
--.2541776982553532D-020.4101905987536608D-030.1325457623941280D-02
-0.1215754977912746D-03-.2541776982554263D-020.4101905987537787D-03
-0.1760064559812521D-02-.2840382695217011D-03-.1288661285438230D-02
-0.2079634633143654D-030.9826448017572174D-03-.1585786882018380D-03
--.7727812230408974D-030.1247110170406368D-030.6226054234809117D-03
--.1004757274921672D-03-.5114288231755168D-030.8253410768850847D-04
-0.4268045368520104D-03-.6887748599651892D-04-.3608796739013979D-03
-0.5823856716450639D-040.3085010747980624D-03-.4978573708714430D-04
--.2661733971656788D-030.4295491929665637D-040.2314578281220329D-03
--.3735253948527681D-04-.2026106452901076D-030.3269719667613068D-04
-0.1783582025511267D-03-.2878335054540236D-04-.1577525118211425D-03
-0.2545801528732096D-040.1400760388418106D-03-.2260539561021587D-04
--.1247774371157844D-030.2013651551366699D-040.1114272391272199D-03
--.1798206776156415D-04-.9968672138364864D-040.1608738933935444D-04
-0.8928564729752786D-04-.1440886961226929D-04-.8000610566205314D-04
-0.1291134218726644D-040.7167060586276605D-04-.1156616372469904D-04
--.6413319184916952D-040.1034977991584680D-040.5727272713271265D-04
--.9242641819512053D-05-.5098776122625716D-040.8228377410789080D-05
-0.4519256146756725D-04-.7293151198878877D-05-.3981401266047105D-04
-0.6425163892851680D-050.3478916893609630D-04-.5614257322333374D-05
--.3006329973746788D-040.4851599099553577D-050.2558831255668139D-04
--.4129428081521270D-05-.2132146425429693D-040.3440846403443515D-05
-0.1722429384947072D-04-.2779647252972395D-05-.1326172498198105D-04
-0.2140170026010777D-050.9401297415863014D-05-.1517176307183306D-05
--.5612495043042305D-050.9057414234252119D-060.1866143715512185D-05
--.3011572664637594D-060.1866143715712640D-05-.3011572664961087D-06
--.5612495043095234D-050.9057414234337534D-060.9401297415583386D-05
--.1517176307138179D-05-.1326172498190355D-040.2140170025998270D-05
-0.1722429384915639D-04-.2779647252921669D-05-.2132146425430071D-04
-0.3440846403444125D-050.2558831255660659D-04-.4129428081509198D-05
--.3006329973748652D-040.4851599099556584D-050.3478916893617300D-04
--.5614257322345751D-05-.3981401266032415D-040.6425163892827973D-05
-0.4519256146769957D-04-.7293151198900231D-05-.5098776122600387D-04
-0.8228377410748204D-050.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
--.4082207159474594D+00-.1729441280470915D-01-.6393452627818429D-01
-0.1031771937313455D-010.1597157490519900D-01-.2577484145293042D-02
--.7089509216132070D-020.1144101174176702D-020.3980741565709701D-02
--.6424099272004710D-030.1344438575349479D-020.1237288482050448D-03
-0.3980741565709959D-02-.6424099272005126D-03-.2541776982554263D-02
-0.4101905987537787D-030.1760064559812521D-02-.2840382695217011D-03
--.1288661285438230D-020.2079634633143654D-030.9826448017572174D-03
--.1585786882018380D-03-.7727812230408974D-030.1247110170406368D-03
-0.6226054234809117D-03-.1004757274921672D-03-.5114288231755168D-03
-0.8253410768850847D-040.4268045368520104D-03-.6887748599651892D-04
--.3608796739013979D-030.5823856716450639D-040.3085010747980624D-03
--.4978573708714430D-04-.2661733971656788D-030.4295491929665637D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2026106452901076D-03
-0.3269719667613068D-040.1783582025511267D-03-.2878335054540236D-04
--.1577525118211425D-030.2545801528732096D-040.1400760388418106D-03
--.2260539561021587D-04-.1247774371157844D-030.2013651551366699D-04
-0.1114272391272199D-03-.1798206776156415D-04-.9968672138364864D-04
-0.1608738933935444D-040.8928564729752786D-04-.1440886961226929D-04
--.8000610566205314D-040.1291134218726644D-040.7167060586276605D-04
--.1156616372469904D-04-.6413319184916952D-040.1034977991584680D-04
-0.5727272713271265D-04-.9242641819512053D-05-.5098776122625716D-04
-0.8228377410789080D-050.4519256146756725D-04-.7293151198878877D-05
--.3981401266047105D-040.6425163892851680D-050.3478916893609630D-04
--.5614257322333374D-05-.3006329973746788D-040.4851599099553577D-05
-0.2558831255668139D-04-.4129428081521270D-05-.2132146425429693D-04
-0.3440846403443515D-050.1722429384947072D-04-.2779647252972395D-05
--.1326172498198105D-040.2140170026010777D-050.9401297415863014D-05
--.1517176307183306D-05-.5612495043042305D-050.9057414234252119D-06
-0.1866143715512185D-05-.3011572664637594D-060.1866143715712640D-05
--.3011572664961087D-06-.5612495043095234D-050.9057414234337534D-06
-0.9401297415583386D-05-.1517176307138179D-05-.1326172498190355D-04
-0.2140170025998270D-050.1722429384915639D-04-.2779647252921669D-05
--.2132146425430071D-040.3440846403444125D-050.2558831255660659D-04
--.4129428081509198D-05-.3006329973748652D-040.4851599099556584D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3981401266032415D-04
-0.6425163892827973D-050.4519256146769957D-04-.7293151198900231D-05
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-01-.4082649203222606D+00-.1726907274797979D-01
--.6393452627818429D-010.1031771937313455D-010.1597157490519900D-01
--.2577484145293042D-02-.7089509216132070D-020.1144101174176702D-02
-0.1363516010089288D-020.1259010716643076D-03-.7089509216132388D-02
-0.1144101174176753D-020.3980741565709959D-02-.6424099272005126D-03
--.2541776982554263D-020.4101905987537787D-030.1760064559812521D-02
--.2840382695217011D-03-.1288661285438230D-020.2079634633143654D-03
-0.9826448017572174D-03-.1585786882018380D-03-.7727812230408974D-03
-0.1247110170406368D-030.6226054234809117D-03-.1004757274921672D-03
--.5114288231755168D-030.8253410768850847D-040.4268045368520104D-03
--.6887748599651892D-04-.3608796739013979D-030.5823856716450639D-04
-0.3085010747980624D-03-.4978573708714430D-04-.2661733971656788D-03
-0.4295491929665637D-040.2314578281220329D-03-.3735253948527681D-04
--.2026106452901076D-030.3269719667613068D-040.1783582025511267D-03
--.2878335054540236D-04-.1577525118211425D-030.2545801528732096D-04
-0.1400760388418106D-03-.2260539561021587D-04-.1247774371157844D-03
-0.2013651551366699D-040.1114272391272199D-03-.1798206776156415D-04
--.9968672138364864D-040.1608738933935444D-040.8928564729752786D-04
--.1440886961226929D-04-.8000610566205314D-040.1291134218726644D-04
-0.7167060586276605D-04-.1156616372469904D-04-.6413319184916952D-04
-0.1034977991584680D-040.5727272713271265D-04-.9242641819512053D-05
--.5098776122625716D-040.8228377410789080D-050.4519256146756725D-04
--.7293151198878877D-05-.3981401266047105D-040.6425163892851680D-05
-0.3478916893609630D-04-.5614257322333374D-05-.3006329973746788D-04
-0.4851599099553577D-050.2558831255668139D-04-.4129428081521270D-05
--.2132146425429693D-040.3440846403443515D-050.1722429384947072D-04
--.2779647252972395D-05-.1326172498198105D-040.2140170026010777D-05
-0.9401297415863014D-05-.1517176307183306D-05-.5612495043042305D-05
-0.9057414234252119D-060.1866143715512185D-05-.3011572664637594D-06
-0.1866143715712640D-05-.3011572664961087D-06-.5612495043095234D-05
-0.9057414234337534D-060.9401297415583386D-05-.1517176307138179D-05
--.1326172498190355D-040.2140170025998270D-050.1722429384915639D-04
--.2779647252921669D-05-.2132146425430071D-040.3440846403444125D-05
-0.2558831255660659D-04-.4129428081509198D-05-.3006329973748652D-04
-0.4851599099556584D-050.3478916893617300D-04-.5614257322345751D-05
--.3981401266032415D-040.6425163892827973D-050.4519256146769957D-04
--.7293151198900231D-05-.5098776122600387D-040.8228377410748204D-05
-0.5727272713271211D-04-.9242641819511967D-05-.6413319184882657D-04
-0.1034977991579146D-040.7167060586256731D-04-.1156616372466696D-04
--.8000610566205206D-040.1291134218726627D-040.8928564729795884D-04
--.1440886961233884D-04-.9968672138332729D-040.1608738933930258D-04
-0.1114272391270168D-03-.1798206776153138D-04-.1247774371156127D-03
-0.2013651551363927D-040.1400760388416475D-03-.2260539561018954D-04
--.1577525118210161D-030.2545801528730057D-040.1783582025510641D-03
--.2878335054539225D-04-.2026106452901065D-030.3269719667613051D-04
-0.2314578281220545D-03-.3735253948528030D-04-.2661733971656183D-03
-0.4295491929664661D-040.3085010747974997D-03-.4978573708705348D-04
--.3608796739011819D-030.5823856716447153D-040.4268045368517673D-03
--.6887748599647970D-04-.5114288231753483D-030.8253410768848127D-04
-0.6226054234808307D-03-.1004757274921541D-03-.7727812230406976D-03
-0.1247110170406046D-030.9826448017570867D-03-.1585786882018169D-03
--.1288661285438060D-020.2079634633143379D-030.1760064559812291D-02
--.2840382695216640D-03-.2541776982553532D-020.4101905987536608D-03
-0.3980741565709701D-02-.6424099272004710D-03-.7089509216132070D-02
-0.1144101174176702D-020.1597157490519900D-01-.2577484145293042D-02
--.6393452627818429D-010.1031771937313455D-01-.4083050198919414D+00
--.1724569180949983D-01-.6393452627818429D-010.1031771937313455D-01
-0.1597157490519900D-01-.2577484145293042D-020.1382690415332871D-02
-0.1280923047700254D-030.1597157490519940D-01-.2577484145293108D-02
--.7089509216132388D-020.1144101174176753D-020.3980741565709959D-02
--.6424099272005126D-03-.2541776982554263D-020.4101905987537787D-03
-0.1760064559812521D-02-.2840382695217011D-03-.1288661285438230D-02
-0.2079634633143654D-030.9826448017572174D-03-.1585786882018380D-03
--.7727812230408974D-030.1247110170406368D-030.6226054234809117D-03
--.1004757274921672D-03-.5114288231755168D-030.8253410768850847D-04
-0.4268045368520104D-03-.6887748599651892D-04-.3608796739013979D-03
-0.5823856716450639D-040.3085010747980624D-03-.4978573708714430D-04
--.2661733971656788D-030.4295491929665637D-040.2314578281220329D-03
--.3735253948527681D-04-.2026106452901076D-030.3269719667613068D-04
-0.1783582025511267D-03-.2878335054540236D-04-.1577525118211425D-03
-0.2545801528732096D-040.1400760388418106D-03-.2260539561021587D-04
--.1247774371157844D-030.2013651551366699D-040.1114272391272199D-03
--.1798206776156415D-04-.9968672138364864D-040.1608738933935444D-04
-0.8928564729752786D-04-.1440886961226929D-04-.8000610566205314D-04
-0.1291134218726644D-040.7167060586276605D-04-.1156616372469904D-04
--.6413319184916952D-040.1034977991584680D-040.5727272713271265D-04
--.9242641819512053D-05-.5098776122625716D-040.8228377410789080D-05
-0.4519256146756725D-04-.7293151198878877D-05-.3981401266047105D-04
-0.6425163892851680D-050.3478916893609630D-04-.5614257322333374D-05
--.3006329973746788D-040.4851599099553577D-050.2558831255668139D-04
--.4129428081521270D-05-.2132146425429693D-040.3440846403443515D-05
-0.1722429384947072D-04-.2779647252972395D-05-.1326172498198105D-04
-0.2140170026010777D-050.9401297415863014D-05-.1517176307183306D-05
--.5612495043042305D-050.9057414234252119D-060.1866143715512185D-05
--.3011572664637594D-060.1866143715712640D-05-.3011572664961087D-06
--.5612495043095234D-050.9057414234337534D-060.9401297415583386D-05
--.1517176307138179D-05-.1326172498190355D-040.2140170025998270D-05
-0.1722429384915639D-04-.2779647252921669D-05-.2132146425430071D-04
-0.3440846403444125D-050.2558831255660659D-04-.4129428081509198D-05
--.3006329973748652D-040.4851599099556584D-050.3478916893617300D-04
--.5614257322345751D-05-.3981401266032415D-040.6425163892827973D-05
-0.4519256146769957D-04-.7293151198900231D-05-.5098776122600387D-04
-0.8228377410748204D-050.5727272713271211D-04-.9242641819511967D-05
--.6413319184882657D-040.1034977991579146D-040.7167060586256731D-04
--.1156616372466696D-04-.8000610566205206D-040.1291134218726627D-04
-0.8928564729795884D-04-.1440886961233884D-04-.9968672138332729D-04
-0.1608738933930258D-040.1114272391270168D-03-.1798206776153138D-04
--.1247774371156127D-030.2013651551363927D-040.1400760388416475D-03
--.2260539561018954D-04-.1577525118210161D-030.2545801528730057D-04
-0.1783582025510641D-03-.2878335054539225D-04-.2026106452901065D-03
-0.3269719667613051D-040.2314578281220545D-03-.3735253948528030D-04
--.2661733971656183D-030.4295491929664661D-040.3085010747974997D-03
--.4978573708705348D-04-.3608796739011819D-030.5823856716447153D-04
-0.4268045368517673D-03-.6887748599647970D-04-.5114288231753483D-03
-0.8253410768848127D-040.6226054234808307D-03-.1004757274921541D-03
--.7727812230406976D-030.1247110170406046D-030.9826448017570867D-03
--.1585786882018169D-03-.1288661285438060D-020.2079634633143379D-03
-0.1760064559812291D-02-.2840382695216640D-03-.2541776982553532D-02
-0.4101905987536608D-030.3980741565709701D-02-.6424099272004710D-03
--.7089509216132070D-020.1144101174176702D-020.1597157490519900D-01
--.2577484145293042D-02-.6393452627818429D-010.1031771937313455D-01
--.4083413935873786D+00-.1722412253413513D-01-.6393452627818429D-01
-0.1031771937313455D-010.1401962280695231D-020.1303026850247933D-03
--.6393452627818492D-010.1031771937313466D-010.1597157490519940D-01
--.2577484145293108D-02-.7089509216132388D-020.1144101174176753D-02
-0.3980741565709959D-02-.6424099272005126D-03-.2541776982554263D-02
-0.4101905987537787D-030.1760064559812521D-02-.2840382695217011D-03
--.1288661285438230D-020.2079634633143654D-030.9826448017572174D-03
--.1585786882018380D-03-.7727812230408974D-030.1247110170406368D-03
-0.6226054234809117D-03-.1004757274921672D-03-.5114288231755168D-03
-0.8253410768850847D-040.4268045368520104D-03-.6887748599651892D-04
--.3608796739013979D-030.5823856716450639D-040.3085010747980624D-03
--.4978573708714430D-04-.2661733971656788D-030.4295491929665637D-04
-0.2314578281220329D-03-.3735253948527681D-04-.2026106452901076D-03
-0.3269719667613068D-040.1783582025511267D-03-.2878335054540236D-04
--.1577525118211425D-030.2545801528732096D-040.1400760388418106D-03
--.2260539561021587D-04-.1247774371157844D-030.2013651551366699D-04
-0.1114272391272199D-03-.1798206776156415D-04-.9968672138364864D-04
-0.1608738933935444D-040.8928564729752786D-04-.1440886961226929D-04
--.8000610566205314D-040.1291134218726644D-040.7167060586276605D-04
--.1156616372469904D-04-.6413319184916952D-040.1034977991584680D-04
-0.5727272713271265D-04-.9242641819512053D-05-.5098776122625716D-04
-0.8228377410789080D-050.4519256146756725D-04-.7293151198878877D-05
--.3981401266047105D-040.6425163892851680D-050.3478916893609630D-04
--.5614257322333374D-05-.3006329973746788D-040.4851599099553577D-05
-0.2558831255668139D-04-.4129428081521270D-05-.2132146425429693D-04
-0.3440846403443515D-050.1722429384947072D-04-.2779647252972395D-05
--.1326172498198105D-040.2140170026010777D-050.9401297415863014D-05
--.1517176307183306D-05-.5612495043042305D-050.9057414234252119D-06
-0.1866143715512185D-05-.3011572664637594D-060.1866143715712640D-05
--.3011572664961087D-06-.5612495043095234D-050.9057414234337534D-06
-0.9401297415583386D-05-.1517176307138179D-05-.1326172498190355D-04
-0.2140170025998270D-050.1722429384915639D-04-.2779647252921669D-05
--.2132146425430071D-040.3440846403444125D-050.2558831255660659D-04
--.4129428081509198D-05-.3006329973748652D-040.4851599099556584D-05
-0.3478916893617300D-04-.5614257322345751D-05-.3981401266032415D-04
-0.6425163892827973D-050.4519256146769957D-04-.7293151198900231D-05
--.5098776122600387D-040.8228377410748204D-050.5727272713271211D-04
--.9242641819511967D-05-.6413319184882657D-040.1034977991579146D-04
-0.7167060586256731D-04-.1156616372466696D-04-.8000610566205206D-04
-0.1291134218726627D-040.8928564729795884D-04-.1440886961233884D-04
--.9968672138332729D-040.1608738933930258D-040.1114272391270168D-03
--.1798206776153138D-04-.1247774371156127D-030.2013651551363927D-04
-0.1400760388416475D-03-.2260539561018954D-04-.1577525118210161D-03
-0.2545801528730057D-040.1783582025510641D-03-.2878335054539225D-04
--.2026106452901065D-030.3269719667613051D-040.2314578281220545D-03
--.3735253948528030D-04-.2661733971656183D-030.4295491929664661D-04
-0.3085010747974997D-03-.4978573708705348D-04-.3608796739011819D-03
-0.5823856716447153D-040.4268045368517673D-03-.6887748599647970D-04
--.5114288231753483D-030.8253410768848127D-040.6226054234808307D-03
--.1004757274921541D-03-.7727812230406976D-030.1247110170406046D-03
-0.9826448017570867D-03-.1585786882018169D-03-.1288661285438060D-02
-0.2079634633143379D-030.1760064559812291D-02-.2840382695216640D-03
--.2541776982553532D-020.4101905987536608D-030.3980741565709701D-02
--.6424099272004710D-03-.7089509216132070D-020.1144101174176702D-02
-0.1597157490519900D-01-.2577484145293042D-02-.6393452627818429D-01
-0.1031771937313455D-01-.4083743855043928D+00-.1720422819797903D-01
--- a/liboctave/UMFPACK/UMFPACK/Demo/HB/west0067.rua	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,115 +0,0 @@
-1U CAVETT PROBLEM WITH 5 COMPONENTS ( CHEM. ENG. FROM WESTERBERG )      WEST0067
-           111             7            30            74             0          
-RUA                       67            67           294             0          
-(10I8)          (10I8)          (4E20.12)                                       
-       1      11      15      19      23      27      30      35      38      41
-      44      47      49      54      59      64      69      73      78      80
-      90      93      96      99     102     105     109     113     117     121
-     124     134     137     140     143     146     149     159     164     169
-     174     179     183     188     192     196     200     204     207     217
-     220     223     226     229     232     242     247     252     257     262
-     266     271     275     279     283     287     290     295                
-       5       6       7       8       9      25      26      27      28      29
-       5      21      25      61       6      22      26      61       7      23
-      27      61       8      24      28      61       9      29      61       5
-       6       7       8       9       1       5      57       2       6      57
-       3       7      57       4       8      57       9      57       1       5
-      10      11      58       2       6      10      12      58       3       7
-      10      13      58       4       8      10      14      58       9      10
-      15      58       1       2       3       4      10      15      56      11
-      12      13      14      15      16      17      18      19      20      11
-      16      59      12      17      59      13      18      59      14      19
-      59      15      20      59      16      36      40      64      17      37
-      41      64      18      38      42      64      19      39      43      64
-      20      44      64      16      17      18      19      20      25      26
-      27      28      29      16      25      60      17      26      60      18
-      27      60      19      28      60      20      29      60      25      26
-      27      28      29      31      32      33      34      35      21      25
-      30      31      62      22      26      30      32      62      23      27
-      30      33      62      24      28      30      34      62      29      30
-      35      62      21      22      23      24      30      31      46      50
-      66      32      47      51      66      33      48      52      66      34
-      49      53      66      35      54      66      31      32      33      34
-      35      40      41      42      43      44      31      40      63      32
-      41      63      33      42      63      34      43      63      35      44
-      63      40      41      42      43      44      50      51      52      53
-      54      36      40      45      50      65      37      41      45      51
-      65      38      42      45      52      65      39      43      45      53
-      65      44      45      54      65      36      37      38      39      45
-      46      50      55      67      47      51      55      67      48      52
-      55      67      49      53      55      67      54      55      67      46
-      47      48      49      55                                                
-  -.278841600000E+00  -.268018600000E+00  -.232371700000E+00  -.157508200000E+00
-  -.632597800000E-01   .139420800000E+00   .134009300000E+00   .116185900000E+00
-   .787541100000E-01   .316298900000E-01  -.800000000000E+00  -.915953300000E+00
-   .400000000000E+00   .100000000000E+01  -.800000000000E+00  -.915953300000E+00
-   .400000000000E+00   .100000000000E+01  -.800000000000E+00  -.915953300000E+00
-   .400000000000E+00   .100000000000E+01  -.800000000000E+00  -.915953300000E+00
-   .400000000000E+00   .100000000000E+01  -.800000000000E+00   .400000000000E+00
-   .100000000000E+01   .134462200000E+00   .117567900000E+00   .885926200000E-01
-   .475943900000E-01   .117829100000E-01  -.834181800000E+00   .400000000000E+00
-   .100000000000E+01  -.834181800000E+00   .400000000000E+00   .100000000000E+01
-  -.834181800000E+00   .400000000000E+00   .100000000000E+01  -.834181800000E+00
-   .400000000000E+00   .100000000000E+01   .400000000000E+00   .100000000000E+01
-   .126582300000E+01   .400000000000E+00  -.126582300000E+01   .333333300000E+00
-   .100000000000E+01   .101265800000E+01   .400000000000E+00  -.101265800000E+01
-   .333333300000E+00   .100000000000E+01   .759493700000E+00   .400000000000E+00
-  -.759493700000E+00   .333333300000E+00   .100000000000E+01   .506329100000E+00
-   .400000000000E+00  -.506329100000E+00   .333333300000E+00   .100000000000E+01
-   .400000000000E+00  -.253164600000E+00   .333333300000E+00   .100000000000E+01
-  -.336155600000E+00  -.293919600000E+00  -.221481500000E+00  -.118986000000E+00
-   .100000000000E+01   .666666700000E+00   .100000000000E+01  -.207175900000E+00
-  -.214039200000E+00  -.214420600000E+00  -.198676800000E+00  -.165687400000E+00
-   .124305500000E+00   .128423500000E+00   .128652400000E+00   .119206100000E+00
-   .994124600000E-01  -.100000000000E+01   .600000000000E+00   .100000000000E+01
-  -.100000000000E+01   .600000000000E+00   .100000000000E+01  -.100000000000E+01
-   .600000000000E+00   .100000000000E+01  -.100000000000E+01   .600000000000E+00
-   .100000000000E+01  -.100000000000E+01   .600000000000E+00   .100000000000E+01
-   .450000000000E+00  -.958318700000E+00   .500000000000E+00   .100000000000E+01
-   .450000000000E+00  -.958318700000E+00   .500000000000E+00   .100000000000E+01
-   .450000000000E+00  -.958318700000E+00   .500000000000E+00   .100000000000E+01
-   .450000000000E+00  -.958318700000E+00   .500000000000E+00   .100000000000E+01
-   .450000000000E+00   .500000000000E+00   .100000000000E+01  -.207098600000E+00
-  -.223299700000E+00  -.228626400000E+00  -.202452800000E+00  -.138522600000E+00
-  -.207098600000E+00  -.223299700000E+00  -.228626400000E+00  -.202452800000E+00
-  -.138522600000E+00  -.105000000000E+01  -.105000000000E+01   .100000000000E+01
-  -.105000000000E+01  -.105000000000E+01   .100000000000E+01  -.105000000000E+01
-  -.105000000000E+01   .100000000000E+01  -.105000000000E+01  -.105000000000E+01
-   .100000000000E+01  -.105000000000E+01  -.105000000000E+01   .100000000000E+01
-   .814744900000E-01   .978901500000E-01   .113160800000E+00   .115055500000E+00
-   .924190900000E-01   .905272100000E-01   .108766800000E+00   .125734200000E+00
-   .127839400000E+00   .102687900000E+00   .156739800000E+01   .650000000000E+00
-  -.156739800000E+01   .722222200000E+00   .100000000000E+01   .125391800000E+01
-   .650000000000E+00  -.125391800000E+01   .722222200000E+00   .100000000000E+01
-   .940438900000E+00   .650000000000E+00  -.940438900000E+00   .722222200000E+00
-   .100000000000E+01   .626959200000E+00   .650000000000E+00  -.626959200000E+00
-   .722222200000E+00   .100000000000E+01   .650000000000E+00  -.313479600000E+00
-   .722222200000E+00   .100000000000E+01  -.278841600000E+00  -.268018600000E+00
-  -.232371700000E+00  -.157508200000E+00   .100000000000E+01   .250000000000E+00
-  -.824224800000E+00   .500000000000E+00   .100000000000E+01   .250000000000E+00
-  -.824224800000E+00   .500000000000E+00   .100000000000E+01   .250000000000E+00
-  -.824224800000E+00   .500000000000E+00   .100000000000E+01   .250000000000E+00
-  -.824224800000E+00   .500000000000E+00   .100000000000E+01   .250000000000E+00
-   .500000000000E+00   .100000000000E+01  -.158162600000E+00  -.194771100000E+00
-  -.230391700000E+00  -.236284500000E+00  -.180390000000E+00  -.158162600000E+00
-  -.194771100000E+00  -.230391700000E+00  -.236284500000E+00  -.180390000000E+00
-  -.972222200000E+00  -.972222200000E+00   .100000000000E+01  -.972222200000E+00
-  -.972222200000E+00   .100000000000E+01  -.972222200000E+00  -.972222200000E+00
-   .100000000000E+01  -.972222200000E+00  -.972222200000E+00   .100000000000E+01
-  -.972222200000E+00  -.972222200000E+00   .100000000000E+01   .532286400000E-01
-   .757454200000E-01   .106102800000E+00   .133387800000E+00   .131535300000E+00
-  -.106457300000E+00  -.151490800000E+00  -.212205600000E+00  -.266775700000E+00
-  -.263070600000E+00   .186335400000E+01   .472222200000E+00  -.186335400000E+01
-  -.944444400000E+00   .100000000000E+01   .149068300000E+01   .472222200000E+00
-  -.149068300000E+01  -.944444400000E+00   .100000000000E+01   .111801200000E+01
-   .472222200000E+00  -.111801200000E+01  -.944444400000E+00   .100000000000E+01
-   .745341600000E+00   .472222200000E+00  -.745341600000E+00  -.944444400000E+00
-   .100000000000E+01   .472222200000E+00  -.372670800000E+00  -.944444400000E+00
-   .100000000000E+01  -.206995400000E+00  -.235646900000E+00  -.247567500000E+00
-  -.207487300000E+00   .100000000000E+01   .186335400000E+01   .444444400000E+00
-  -.186335400000E+01   .100000000000E+01   .149068300000E+01   .444444400000E+00
-  -.149068300000E+01   .100000000000E+01   .111801200000E+01   .444444400000E+00
-  -.111801200000E+01   .100000000000E+01   .745341600000E+00   .444444400000E+00
-  -.745341600000E+00   .100000000000E+01   .444444400000E+00  -.372670800000E+00
-   .100000000000E+01  -.144335400000E+00  -.191855700000E+00  -.242149800000E+00
-  -.254119300000E+00   .100000000000E+01                                        
--- a/liboctave/UMFPACK/UMFPACK/Demo/Makefile	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,165 +0,0 @@
-#-------------------------------------------------------------------------------
-# compile the UMFPACK demos (for GNU make and original make)
-#-------------------------------------------------------------------------------
-
-# UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.
-# All Rights Reserved.  See ../Doc/License for License.
-
-all: umfpack_di_demo umfpack_zi_demo umfpack_dl_demo umfpack_zl_demo \
-	umfpack_simple
-
-include ../Make/Make.include
-
-C = $(CC) $(CFLAGS) $(CONFIG) -I../Include -I../../AMD/Include
-
-INC = ../Include/umfpack.h ../../AMD/Include/amd.h
-
-../Lib/libumfpack.a:
-	( cd ../Source ; make )
-
-../../AMD/Lib/libamd.a:
-	( cd ../../AMD/Source ; make )
-
-UMFPACK = ../Lib/libumfpack.a ../../AMD/Lib/libamd.a
-
-#-------------------------------------------------------------------------------
-# Create the demo programs, run them, and compare the output
-#-------------------------------------------------------------------------------
-
-dist: umfpack_di_demo.c umfpack_dl_demo.c umfpack_zi_demo.c umfpack_zl_demo.c
-
-umfpack_simple: umfpack_simple.c $(INC) $(UMFPACK)
-	$(C) -o umfpack_simple umfpack_simple.c $(UMFPACK) $(LIB)
-	./umfpack_simple
-
-# the GNU rules are simpler:
-# umfpack_%_demo.c: umfpack_xx_demo.c umfpack_%_demo.sed
-# 	- sed -f umfpack_$*_demo.sed < umfpack_xx_demo.c > umfpack_$*_demo.c
-# 
-# umfpack_%_demo: umfpack_%_demo.c $(INC) $(UMFPACK)
-# 	$(C) -o umfpack_$*_demo umfpack_$*_demo.c $(UMFPACK) $(LIB)
-# 	./umfpack_$*_demo > my_umfpack_$*_demo.out
-
-# but do this via brute-force, so we can use just a single Makefile:
-
-# double-precision, int verion:
-umfpack_di_demo.c: umfpack_xx_demo.c umfpack_di_demo.sed
-	- sed -f umfpack_di_demo.sed < umfpack_xx_demo.c > umfpack_di_demo.c
-
-umfpack_di_demo: umfpack_di_demo.c $(INC) $(UMFPACK)
-	$(C) -o umfpack_di_demo umfpack_di_demo.c $(UMFPACK) $(LIB)
-	./umfpack_di_demo > my_umfpack_di_demo.out
-	- diff umfpack_di_demo.out my_umfpack_di_demo.out
-
-# double-precision, long verion:
-umfpack_dl_demo.c: umfpack_xx_demo.c umfpack_dl_demo.sed
-	- sed -f umfpack_dl_demo.sed < umfpack_xx_demo.c > umfpack_dl_demo.c
-
-umfpack_dl_demo: umfpack_dl_demo.c $(INC) $(UMFPACK)
-	$(C) -o umfpack_dl_demo umfpack_dl_demo.c $(UMFPACK) $(LIB)
-	./umfpack_dl_demo > my_umfpack_dl_demo.out
-	- diff umfpack_dl_demo.out my_umfpack_dl_demo.out
-
-# complex, int verion:
-umfpack_zi_demo.c: umfpack_xx_demo.c umfpack_zi_demo.sed
-	- sed -f umfpack_zi_demo.sed < umfpack_xx_demo.c > umfpack_zi_demo.c
-
-umfpack_zi_demo: umfpack_zi_demo.c $(INC) $(UMFPACK)
-	$(C) -o umfpack_zi_demo umfpack_zi_demo.c $(UMFPACK) $(LIB)
-	./umfpack_zi_demo > my_umfpack_zi_demo.out
-	- diff umfpack_zi_demo.out my_umfpack_zi_demo.out
-
-# complex, long verion:
-umfpack_zl_demo.c: umfpack_xx_demo.c umfpack_zl_demo.sed
-	- sed -f umfpack_zl_demo.sed < umfpack_xx_demo.c > umfpack_zl_demo.c
-
-umfpack_zl_demo: umfpack_zl_demo.c $(INC) $(UMFPACK)
-	$(C) -o umfpack_zl_demo umfpack_zl_demo.c $(UMFPACK) $(LIB)
-	./umfpack_zl_demo > my_umfpack_zl_demo.out
-	- diff umfpack_zl_demo.out my_umfpack_zl_demo.out
-
-#-------------------------------------------------------------------------------
-# create a demo program that reads in Harwell/Boeing matrices, and run it
-#-------------------------------------------------------------------------------
-
-# the output of "make hb" is in the file umf4.out
-hb: $(UMFPACK) umf4 readhb readhb_nozeros readhb_size
-	- ./readhb_nozeros < HB/can_24.psa > tmp/A
-	- ./readhb_size    < HB/can_24.psa > tmp/Asize
-	- ./umf4
-	- ./readhb_nozeros < HB/west0067.rua > tmp/A
-	- ./readhb_size    < HB/west0067.rua > tmp/Asize
-	- ./umf4
-	- ./readhb_nozeros < HB/fs_183_6.rua > tmp/A
-	- ./readhb_size    < HB/fs_183_6.rua > tmp/Asize
-	- ./umf4
-	- ./readhb         < HB/fs_183_6.rua > tmp/A
-	- ./readhb_size    < HB/fs_183_6.rua > tmp/Asize
-	- ./umf4
-	- ./readhb         < HB/arc130.rua > tmp/A
-	- ./readhb_size    < HB/arc130.rua > tmp/Asize
-	- ./umf4
-	- ./readhb_nozeros < HB/arc130.rua > tmp/A
-	- ./readhb_size    < HB/arc130.rua > tmp/Asize
-	- ./umf4
-	- ./readhb_nozeros < HB/arc130.rua > tmp/A
-	- ./readhb_size    < HB/arc130.rua > tmp/Asize
-	- ./umf4 a 1e-6
-
-umf4: umf4.c $(UMFPACK)
-	$(C) -o umf4 umf4.c $(UMFPACK) $(LIB)
-
-readhb:  readhb.f
-	$(F77) $(F77FLAGS) -o readhb readhb.f $(F77LIB)
-
-readhb_size:  readhb_size.f
-	$(F77) $(F77FLAGS) -o readhb_size readhb_size.f $(F77LIB)
-
-readhb_nozeros:  readhb_nozeros.f
-	$(F77) $(F77FLAGS) -o readhb_nozeros readhb_nozeros.f $(F77LIB)
-
-#-------------------------------------------------------------------------------
-# compile the FORTRAN interface and demo
-#-------------------------------------------------------------------------------
-
-fortran: $(UMFPACK) umf4hb.f umf4_f77wrapper.o umf4zhb.f umf4_f77zwrapper.o $(UMFPACK)
-	$(F77) $(F77FLAGS) -o umf4hb umf4hb.f umf4_f77wrapper.o \
-	    $(UMFPACK) $(LIB)
-	- ./umf4hb < HB/west0067.rua > my_umf4hb.out
-	- diff my_umf4hb.out umf4hb.out
-	$(F77) $(F77FLAGS) -o umf4zhb umf4zhb.f umf4_f77zwrapper.o \
-	    $(UMFPACK) $(LIB)
-	- ./umf4zhb < HB/qc324.cua > my_umf4zhb.out
-	- diff my_umf4zhb.out umf4zhb.out
-
-fortran64: $(UMFPACK) umf4hb64.f umf4_f77wrapper64.o umf4_f77zwrapper64.o $(UMFPACK)
-	$(F77) $(F77FLAGS) -o umf4hb64 umf4hb64.f umf4_f77wrapper64.o \
-	    $(UMFPACK) $(LIB)
-	- ./umf4hb64 < HB/west0067.rua > my_umf4hb64.out
-	- diff my_umf4hb64.out umf4hb64.out
-
-umf4_f77wrapper.o: umf4_f77wrapper.c $(INC)
-	$(C) -c umf4_f77wrapper.c -o umf4_f77wrapper.o
-
-umf4_f77zwrapper.o: umf4_f77zwrapper.c $(INC)
-	$(C) -c umf4_f77zwrapper.c -o umf4_f77zwrapper.o
-
-umf4_f77wrapper64.o: umf4_f77wrapper.c $(INC)
-	$(C) -DDLONG -c umf4_f77wrapper.c -o umf4_f77wrapper64.o
-
-umf4_f77zwrapper64.o: umf4_f77zwrapper.c $(INC)
-	$(C) -DDLONG -c umf4_f77zwrapper.c -o umf4_f77zwrapper64.o
-
-#-------------------------------------------------------------------------------
-# Remove all but the files in the original distribution
-#-------------------------------------------------------------------------------
-
-purge: clean
-	- $(RM) umfpack_simple a.out
-	- $(RM) umfpack_di_demo my_umfpack_di_demo.out
-	- $(RM) umfpack_dl_demo my_umfpack_dl_demo.out
-	- $(RM) umfpack_zi_demo my_umfpack_zi_demo.out
-	- $(RM) umfpack_zl_demo my_umfpack_zl_demo.out
-	- $(RM) umf4hb umf4zhb *.umf my_umf4hb.out
-	- $(RM) umf4hb64 my_umf4hb64.out my_umf4zhb.out
-	- $(RM) umf4 readhb readhb_nozeros readhb_size tmp/*
--- a/liboctave/UMFPACK/UMFPACK/Demo/readhb.f	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,115 +0,0 @@
-c=======================================================================
-c== readhb =============================================================
-c=======================================================================
-
-c-----------------------------------------------------------------------
-c UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE
-c Dept, Univ. of Florida.  All Rights Reserved.  See ../Doc/License for
-c License.  web: http://www.cise.ufl.edu/research/sparse/umfpack
-c-----------------------------------------------------------------------
-
-c readhb:
-c       read a sparse matrix in the Harwell/Boeing format and
-c       output a matrix in triplet format.
-c
-c usage (for example):
-c
-c       in a Unix shell:
-c       readhb < HB/arc130.rua > tmp/A
-c
-c       Then, in MATLAB, you can do the following:
-c       >> load tmp/A
-c       >> A = spconvert (A) ;
-c       >> spy (A)
-
-        integer nzmax, nmax
-        parameter (nzmax = 10000000, nmax = 250000)
-        integer Ptr (nmax), Index (nzmax), n, nz, totcrd, ptrcrd,
-     $          indcrd, valcrd, rhscrd, ncol, nrow, nrhs, row, col, p
-        character title*72, key*30, type*3, ptrfmt*16,
-     $          indfmt*16, valfmt*20, rhsfmt*20
-        logical sym
-        double precision Value (nzmax), skew
-        character rhstyp*3
-        integer nzrhs, nel
-
-        integer ne, nnz
-
-c-----------------------------------------------------------------------
-
-c       read header information from Harwell/Boeing matrix
-
-        read (5, 10, err = 998)
-     $          title, key,
-     $          totcrd, ptrcrd, indcrd, valcrd, rhscrd,
-     $          type, nrow, ncol, nz, nel,
-     $          ptrfmt, indfmt, valfmt, rhsfmt
-        if (rhscrd .gt. 0) then
-c          new Harwell/Boeing format:
-           read (5, 20, err = 998) rhstyp,nrhs,nzrhs
-           endif
-10      format (a72, a8 / 5i14 / a3, 11x, 4i14 / 2a16, 2a20)
-20      format (a3, 11x, 2i14)
-
-        skew = 0.0
-        if (type (2:2) .eq. 'Z' .or. type (2:2) .eq. 'z') skew = -1.0
-        if (type (2:2) .eq. 'S' .or. type (2:2) .eq. 's') skew =  1.0
-        sym = skew .ne. 0.0
-
-        write (0, 31) key
-31      format ('Matrix key: ', a8)
-
-        n = max (nrow, ncol)
-
-        if (n .ge. nmax .or. nz .gt. nzmax) then
-           write (0, *) 'Matrix too big!'
-           write (0, *) '(recompile readhb.f with larger nzmax, nmax)'
-           stop
-        endif
-
-        read (5, ptrfmt, err = 998) (Ptr (p), p = 1, ncol+1)
-        read (5, indfmt, err = 998) (Index (p), p = 1, nz)
-
-        do 55 col = ncol+2, n+1
-           Ptr (col) = Ptr (ncol+1)
-55      continue
-
-c       read the values
-        if (valcrd .gt. 0) then
-           read (5, valfmt, err = 998) (Value (p), p = 1, nz)
-        else
-           do 50 p = 1, nz
-              Value (p) = 1
-50         continue
-        endif
-
-c  create the triplet form of the input matrix
-
-        ne = 0
-        nnz = 0
-        do 100 col = 1, n
-           do 90 p = Ptr (col), Ptr (col+1) - 1
-              row = Index (p)
-
-              ne = ne + 1
-                  nnz = nnz + 1
-                  write (6, 200) row, col, Value (p)
-
-              if (sym .and. row .ne. col) then
-                 ne = ne + 1
-                 if (Value (p) .ne. 0) then
-                    nnz = nnz + 1
-                    write (6, 200) col, row, skew * Value (p)
-                 endif
-              endif
-
-90            continue
-100        continue
-200     format (2i7, e30.18e3)
-
-c       write (0,*) 'Number of entries: ',ne,' True nonzeros: ', nnz
-        stop
-
-998     write (0,*) 'Read error: Harwell/Boeing matrix'
-        stop
-        end
--- a/liboctave/UMFPACK/UMFPACK/Demo/readhb_nozeros.f	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,122 +0,0 @@
-c=======================================================================
-c== readhb_nozeros =====================================================
-c=======================================================================
-
-c-----------------------------------------------------------------------
-c UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE
-c Dept, Univ. of Florida.  All Rights Reserved.  See ../Doc/License for
-c License.  web: http://www.cise.ufl.edu/research/sparse/umfpack
-c-----------------------------------------------------------------------
-
-c readhb_nozeros:
-c       read a sparse matrix in the Harwell/Boeing format and
-c       output a matrix in triplet format.
-c       Identical to readhb, except that this version removes explicit
-c       zero entries from the matrix.
-c
-c usage (for example):
-c
-c       in a Unix shell:
-c       readhb_nozeros < HB/arc130.rua > tmp/A
-c
-c       Then, in MATLAB, you can do the following:
-c       >> load tmp/A
-c       >> A = spconvert (A) ;
-c       >> spy (A)
-
-        integer nzmax, nmax
-        parameter (nzmax = 10000000, nmax = 250000)
-        integer Ptr (nmax), Index (nzmax), n, nz, totcrd, ptrcrd,
-     $          indcrd, valcrd, rhscrd, ncol, nrow, nrhs, row, col, p
-        character title*72, key*30, type*3, ptrfmt*16,
-     $          indfmt*16, valfmt*20, rhsfmt*20
-        logical sym
-        double precision Value (nzmax), skew
-        character rhstyp*3
-        integer nzrhs, nel
-
-        integer ne, nnz
-
-c-----------------------------------------------------------------------
-
-c       read header information from Harwell/Boeing matrix
-
-        read (5, 10, err = 998)
-     $          title, key,
-     $          totcrd, ptrcrd, indcrd, valcrd, rhscrd,
-     $          type, nrow, ncol, nz, nel,
-     $          ptrfmt, indfmt, valfmt, rhsfmt
-        if (rhscrd .gt. 0) then
-c          new Harwell/Boeing format:
-           read (5, 20, err = 998) rhstyp,nrhs,nzrhs
-           endif
-10      format (a72, a8 / 5i14 / a3, 11x, 4i14 / 2a16, 2a20)
-20      format (a3, 11x, 2i14)
-
-        skew = 0.0
-        if (type (2:2) .eq. 'Z' .or. type (2:2) .eq. 'z') skew = -1.0
-        if (type (2:2) .eq. 'S' .or. type (2:2) .eq. 's') skew =  1.0
-        sym = skew .ne. 0.0
-
-        write (0, 31) key
-31      format ('Matrix key: ', a8)
-
-        n = max (nrow, ncol)
-
-        if (n .ge. nmax .or. nz .gt. nzmax) then
-           write (0, *) 'Matrix too big!'
-           write (0, *) '(recompile readhb_nozeros.f with larger',
-     $		' nzmax, nmax)'
-           stop
-        endif
-
-        read (5, ptrfmt, err = 998) (Ptr (p), p = 1, ncol+1)
-        read (5, indfmt, err = 998) (Index (p), p = 1, nz)
-
-        do 55 col = ncol+2, n+1
-           Ptr (col) = Ptr (ncol+1)
-55      continue
-
-c       read the values
-        if (valcrd .gt. 0) then
-           read (5, valfmt, err = 998) (Value (p), p = 1, nz)
-        else
-           do 50 p = 1, nz
-              Value (p) = 1
-50         continue
-        endif
-
-c  create the triplet form of the input matrix
-
-        ne = 0
-        nnz = 0
-        do 100 col = 1, n
-           do 90 p = Ptr (col), Ptr (col+1) - 1
-              row = Index (p)
-
-c             remove zeros, to compare fairly with LU in MATLAB
-c             (MATLAB always removes explicit zeros)
-              ne = ne + 1
-              if (Value (p) .ne. 0) then
-                  nnz = nnz + 1
-                  write (6, 200) row, col, Value (p)
-              endif
-
-              if (sym .and. row .ne. col) then
-                 ne = ne + 1
-                 if (Value (p) .ne. 0) then
-                    nnz = nnz + 1
-                    write (6, 200) col, row, skew * Value (p)
-                 endif
-              endif
-
-90            continue
-100        continue
-200     format (2i7, e30.18e3)
-
-c       write (0,*) 'Number of entries: ',ne,' True nonzeros: ', nnz
-        stop
-
-998     write (0,*) 'Read error: Harwell/Boeing matrix'
-        stop
-        end
--- a/liboctave/UMFPACK/UMFPACK/Demo/readhb_size.f	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-c=======================================================================
-c== readhb_size ========================================================
-c=======================================================================
-
-c-----------------------------------------------------------------------
-c UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE
-c Dept, Univ. of Florida.  All Rights Reserved.  See ../Doc/License for
-c License.  web: http://www.cise.ufl.edu/research/sparse/umfpack
-c-----------------------------------------------------------------------
-
-c readhb_size:
-c       read a sparse matrix in the Harwell/Boeing format and output the
-c       size of the matrix (# rows, # columns, and # of entries)
-c
-c usage (for example):
-c
-c       readhb_size < HB/arc130.rua > tmp/Asize
-
-        integer nz, totcrd, ptrcrd,
-     $          indcrd, valcrd, rhscrd, ncol, nrow, nrhs
-        character title*72, key*30, type*3, ptrfmt*16,
-     $          indfmt*16, valfmt*20, rhsfmt*20
-        character rhstyp*3
-        integer nzrhs, nel
-
-c-----------------------------------------------------------------------
-
-c       read header information from Harwell/Boeing matrix
-
-        read (5, 10, err = 998)
-     $          title, key,
-     $          totcrd, ptrcrd, indcrd, valcrd, rhscrd,
-     $          type, nrow, ncol, nz, nel,
-     $          ptrfmt, indfmt, valfmt, rhsfmt
-        if (rhscrd .gt. 0) then
-c          new Harwell/Boeing format:
-           read (5, 20, err = 998) rhstyp,nrhs,nzrhs
-           endif
-10      format (a72, a8 / 5i14 / a3, 11x, 4i14 / 2a16, 2a20)
-20      format (a3, 11x, 2i14)
-
-        write (6, *) nrow, ncol, nz
-        stop
-998     write (0, *) 'Read error'
-        stop
-        end
-
--- a/liboctave/UMFPACK/UMFPACK/Demo/simple_compile	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-#!/bin/csh
-
-# This one-line command compiles all of UMFPACK and the double/int demo.
-# It forms a useful prototype for Microsoft Visual Studio, which does not
-# have the flexibility of Unix/Linux "make".  The latter can be configured
-# to compile one file multiple times (as required by UMFPACK).  Here,
-# that requirement is solved with a single file, umf_multicompile.c.
-#
-# No BLAS is used here.
-
-cc -DDINT -DNBLAS \
-    -I../Include -I../Source -I../../AMD/Include -I../../AMD/Source \
-	umfpack_di_demo.c \
-	../Source/umf_multicompile.c \
-	../Source/umf_ltsolve.c \
-	../Source/umf_utsolve.c \
-	../Source/umf_triplet.c \
-	../Source/umf_assemble.c \
-	../Source/umf_store_lu.c \
-	../Source/umfpack_solve.c \
-	../../AMD/Source/amd_1.c \
-	../../AMD/Source/amd_2.c \
-	../../AMD/Source/amd_aat.c \
-	../../AMD/Source/amd_control.c \
-	../../AMD/Source/amd_defaults.c \
-	../../AMD/Source/amd_dump.c \
-	../../AMD/Source/amd_info.c \
-	../../AMD/Source/amd_order.c \
-	../../AMD/Source/amd_post_tree.c \
-	../../AMD/Source/amd_postorder.c \
-	../../AMD/Source/amd_preprocess.c \
-	../../AMD/Source/amd_valid.c \
-	../Source/umf_2by2.c \
-	../Source/umf_analyze.c \
-	../Source/umf_apply_order.c \
-	../Source/umf_blas3_update.c \
-	../Source/umf_build_tuples.c \
-	../Source/umf_colamd.c \
-	../Source/umf_create_element.c \
-	../Source/umf_dump.c \
-	../Source/umf_extend_front.c \
-	../Source/umf_free.c \
-	../Source/umf_fsize.c \
-	../Source/umf_garbage_collection.c \
-	../Source/umf_get_memory.c \
-	../Source/umf_grow_front.c \
-	../Source/umf_init_front.c \
-	../Source/umf_is_permutation.c \
-	../Source/umf_kernel.c \
-	../Source/umf_kernel_init.c \
-	../Source/umf_kernel_wrapup.c \
-	../Source/umf_local_search.c \
-	../Source/umf_lsolve.c \
-	../Source/umf_malloc.c \
-	../Source/umf_mem_alloc_element.c \
-	../Source/umf_mem_alloc_head_block.c \
-	../Source/umf_mem_alloc_tail_block.c \
-	../Source/umf_mem_free_tail_block.c \
-	../Source/umf_mem_init_memoryspace.c \
-	../Source/umf_realloc.c \
-	../Source/umf_report_perm.c \
-	../Source/umf_report_vector.c \
-	../Source/umf_row_search.c \
-	../Source/umf_scale.c \
-	../Source/umf_scale_column.c \
-	../Source/umf_set_stats.c \
-	../Source/umf_singletons.c \
-	../Source/umf_solve.c \
-	../Source/umf_start_front.c \
-	../Source/umf_symbolic_usage.c \
-	../Source/umf_transpose.c \
-	../Source/umf_tuple_lengths.c \
-	../Source/umf_usolve.c \
-	../Source/umf_valid_numeric.c \
-	../Source/umf_valid_symbolic.c \
-	../Source/umfpack_col_to_triplet.c \
-	../Source/umfpack_defaults.c \
-	../Source/umfpack_free_numeric.c \
-	../Source/umfpack_free_symbolic.c \
-	../Source/umfpack_get_determinant.c \
-	../Source/umfpack_get_lunz.c \
-	../Source/umfpack_get_numeric.c \
-	../Source/umfpack_get_symbolic.c \
-	../Source/umfpack_load_numeric.c \
-	../Source/umfpack_load_symbolic.c \
-	../Source/umfpack_numeric.c \
-	../Source/umfpack_qsymbolic.c \
-	../Source/umfpack_report_control.c \
-	../Source/umfpack_report_info.c \
-	../Source/umfpack_report_matrix.c \
-	../Source/umfpack_report_numeric.c \
-	../Source/umfpack_report_perm.c \
-	../Source/umfpack_report_status.c \
-	../Source/umfpack_report_symbolic.c \
-	../Source/umfpack_report_triplet.c \
-	../Source/umfpack_report_vector.c \
-	../Source/umfpack_save_numeric.c \
-	../Source/umfpack_save_symbolic.c \
-	../Source/umfpack_scale.c \
-	../Source/umfpack_symbolic.c \
-	../Source/umfpack_tictoc.c \
-	../Source/umfpack_timer.c \
-	../Source/umfpack_transpose.c \
-	../Source/umfpack_triplet_to_col.c \
-    -lm
-
-# now run the demo
-./a.out
--- a/liboctave/UMFPACK/UMFPACK/Demo/umf4.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,649 +0,0 @@
-/* ========================================================================== */
-/* === umf4 ================================================================= */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/* Demo program for UMFPACK.  Reads in a triplet-form matrix in the
- * directory tmp/A, whose size and # of nonzeros are in the file tmp/Asize.
- * Then calls UMFPACK to analyze, factor, and solve the system.
- *
- * Syntax:
- *
- *	umf4		default "auto" strategy, 1-norm row scaling
- *	umf4 a		default "auto" strategy, 1-norm row scaling
- *	umf4 u		unsymmetric strategy, 1-norm row scaling
- *	umf4 s		symmetric strategy, 1-norm row scaling
- *	umf4 2		2-by-2 strategy, maxnorm row scaling
- *	umf4 A		default "auto" strategy, maxnorm row scaling
- *	umf4 U		unsymmetric strategy, maxnorm row scaling
- *	umf4 S		symmetric strategy, maxnorm row scaling
- *	umf4 T		2-by-2 strategy , maxnorm row scaling
- *
- * To test a matrix in the Harwell/Boeing format, do the following:
- *
- *	readhb < HB/arc130.rua > tmp/A
- *	readhb_size < HB/arc130.rua > tmp/Asize
- *	umf4
- *
- * The above options do not drop any nonzero entry in L or U.  To compute an
- * incomplete factorization, you can add a second argument to give the drop
- * tolerance.  Entries less than or equal to the drop tolerance are then
- * removed from L and U during factorization, unless dropping those entries
- * does not save any memory space.  For example:
- *
- *	umf4 a 1e-6	default "auto" strategy, 1-norm row scaling,
- *			drop tolerance of 1e-6.
- *
- * Note that adding a drop tolerance can lead to an apparent (but not real)
- * increase in peak memory usage.  This is illustrated in the arc130.rua
- * matrix.  With a drop tolerance, garbage collection happens to be avoided
- * for this matrix.  During garbage collection, both internal and external
- * fragmentation in the memory space is removed.  Peak memory usage includes
- * all internal memory fragmentation, even though this can be removed via
- * garbage collection.
- *
- * Control parameters can also be set in the optional tmp/control.umf4 file.
- * The right-hand-side can be provided in the optional tmp/b file.  The solution
- * is written to tmp/x, and the output statistics are written to tmp/info.umf4.
- *
- * After the matrix is factorized, solved, and the LU factors deallocated,
- * this program then test the AMD ordering routine.  This call to AMD is NOT
- * part of the UMFPACK analysis, factorize, or solve steps.  It is just a
- * separate test of the AMD ordering routine.  If the matrix is unsymmetric,
- * AMD orders the pattern of A+A'.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include "umfpack.h"
-#include "amd.h"
-
-#define SMAX 256
-#define ABS(x) ((x) >= 0 ? (x) : -(x))
-#define MAX(a,b) (((a) > (b)) ? (a) : (b))
-
-#define XTRUE(i,n) (1.0 + ((double) i) / ((double) n))
-
-#ifndef FALSE
-#define FALSE 0
-#endif
-
-#ifndef TRUE
-#define TRUE 1
-#endif
-
-/* -------------------------------------------------------------------------- */
-/* err: compute the relative error, ||x-xtrue||/||xtrue|| */
-/* -------------------------------------------------------------------------- */
-
-static double err
-(
-    int n,
-    double x [ ]
-)
-{
-    int i  ;
-    double enorm, e, abse, absxtrue, xnorm ;
-    enorm = 0 ;
-    xnorm = 0 ;
-
-    for (i = 0 ; i < n ; i++)
-    {
-	if (isnan (x [i]))
-	{
-	    enorm = x [i] ;
-	    break ;
-	}
-	e = x [i] - XTRUE (i,n) ;
-	abse = ABS (e) ;
-	enorm = MAX (enorm, abse) ;
-    }
-
-    for (i = 0 ; i < n ; i++)
-    {
-	/* XTRUE is positive, but do this in case XTRUE is redefined */
-	absxtrue = ABS (XTRUE (i,n)) ;
-	xnorm = MAX (xnorm, absxtrue) ;
-    }
-
-    if (xnorm == 0)
-    {
-	xnorm = 1 ;
-    }
-    return (enorm / xnorm) ;
-}
-
-
-/* -------------------------------------------------------------------------- */
-/* resid: compute the relative residual, ||Ax-b||/||b|| or ||A'x-b||/||b|| */
-/* -------------------------------------------------------------------------- */
-
-static double resid
-(
-    int n,
-    int Ap [ ],
-    int Ai [ ],
-    double Ax [ ],
-    double x [ ],
-    double r [ ],
-    double b [ ],
-    int transpose
-)
-{
-    int i, j, p ;
-    double rnorm, absr, absb, bnorm ;
-    for (i = 0 ; i < n ; i++)
-    {
-	r [i] = 0 ;
-    }
-
-    if (transpose)
-    {
-	for (j = 0 ; j < n ; j++)
-	{
-	    for (p = Ap [j] ; p < Ap [j+1] ; p++)
-	    {
-		i = Ai [p] ;
-		r [j] += Ax [p] * x [i] ;
-	    }
-	}
-    }
-    else
-    {
-	for (j = 0 ; j < n ; j++)
-	{
-	    for (p = Ap [j] ; p < Ap [j+1] ; p++)
-	    {
-		i = Ai [p] ;
-		r [i] += Ax [p] * x [j] ;
-	    }
-	}
-    }
-
-    for (i = 0 ; i < n ; i++)
-    {
-	r [i] -= b [i] ;
-    }
-    rnorm = 0. ;
-    bnorm = 0. ;
-    for (i = 0 ; i < n ; i++)
-    {
-	if (isnan (r [i]))
-	{
-	    rnorm = r [i] ;
-	    break ;
-	}
-	absr = ABS (r [i]) ;
-	rnorm = MAX (rnorm, absr) ;
-    }
-    for (i = 0 ; i < n ; i++)
-    {
-	if (isnan (b [i]))
-	{
-	    bnorm = b [i] ;
-	    break ;
-	}
-	absb = ABS (b [i]) ;
-	bnorm = MAX (bnorm, absb) ;
-    }
-    if (bnorm == 0)
-    {
-	bnorm = 1 ;
-    }
-    return (rnorm / bnorm) ;
-}
-
-
-/* -------------------------------------------------------------------------- */
-/* Atimesx: compute y = A*x  or A'*x, where x (i) = 1 + i/n */
-/* -------------------------------------------------------------------------- */
-
-static void Atimesx
-(
-    int n,
-    int Ap [ ],
-    int Ai [ ],
-    double Ax [ ],
-    double y [ ],
-    int transpose
-)
-{
-    int i, j, p ;
-    for (i = 0 ; i < n ; i++)
-    {
-	y [i] = 0 ;
-    }
-    if (transpose)
-    {
-	for (j = 0 ; j < n ; j++)
-	{
-	    for (p = Ap [j] ; p < Ap [j+1] ; p++)
-	    {
-		i = Ai [p] ;
-		y [j] += Ax [p] * XTRUE (i,n) ;
-	    }
-	}
-    }
-    else
-    {
-	for (j = 0 ; j < n ; j++)
-	{
-	    for (p = Ap [j] ; p < Ap [j+1] ; p++)
-	    {
-		i = Ai [p] ;
-		y [i] += Ax [p] * XTRUE (j,n) ;
-	    }
-	}
-    }
-}
-
-/* -------------------------------------------------------------------------- */
-/* main program */
-/* -------------------------------------------------------------------------- */
-
-int main (int argc, char **argv)
-{
-    int i, j, k, n, nz, *Ap, *Ai, *Ti, *Tj, status, *Pamd, nrow, ncol, rhs ;
-    double *Ax, *b, *x, Control [UMFPACK_CONTROL], Info [UMFPACK_INFO], aij,
-	*Tx, *r, amd_Control [AMD_CONTROL], amd_Info [AMD_INFO], tamd [2],
-	stats [2], droptol ;
-    void *Symbolic, *Numeric ;
-    FILE *f, *f2 ;
-    char s [SMAX] ;
-
-    /* ---------------------------------------------------------------------- */
-    /* set controls */
-    /* ---------------------------------------------------------------------- */
-
-    printf ("\n===========================================================\n"
-	    "=== UMFPACK v4.4 ==========================================\n"
-	    "===========================================================\n") ;
-
-    umfpack_di_defaults (Control) ;
-    Control [UMFPACK_PRL] = 3 ;
-    Control [UMFPACK_BLOCK_SIZE] = 32 ;
-
-    f = fopen ("tmp/control.umf4", "r") ;
-    if (f != (FILE *) NULL)
-    {
-	printf ("Reading control file tmp/control.umf4\n") ;
-	for (i = 0 ; i < UMFPACK_CONTROL ; i++)
-	{
-	    fscanf (f, "%lg\n", & Control [i]) ;
-	}
-	fclose (f) ;
-    }
-
-    if (argc > 1)
-    {
-	char *s = argv [1] ;
-
-	/* get the strategy */
-	if (s [0] == 'u')
-	{
-	    Control [UMFPACK_STRATEGY] = UMFPACK_STRATEGY_UNSYMMETRIC ;
-	}
-	else if (s [0] == 'a')
-	{
-	    Control [UMFPACK_STRATEGY] = UMFPACK_STRATEGY_AUTO ;
-	}
-	else if (s [0] == 's')
-	{
-	    Control [UMFPACK_STRATEGY] = UMFPACK_STRATEGY_SYMMETRIC ;
-	}
-	else if (s [0] == '2')
-	{
-	    Control [UMFPACK_STRATEGY] = UMFPACK_STRATEGY_2BY2 ;
-	}
-	else if (s [0] == 'U')
-	{
-	    Control [UMFPACK_STRATEGY] = UMFPACK_STRATEGY_UNSYMMETRIC ;
-	    Control [UMFPACK_SCALE] = UMFPACK_SCALE_MAX ;
-	}
-	else if (s [0] == 'A')
-	{
-	    Control [UMFPACK_STRATEGY] = UMFPACK_STRATEGY_AUTO ;
-	    Control [UMFPACK_SCALE] = UMFPACK_SCALE_MAX ;
-	}
-	else if (s [0] == 'S')
-	{
-	    Control [UMFPACK_STRATEGY] = UMFPACK_STRATEGY_SYMMETRIC ;
-	    Control [UMFPACK_SCALE] = UMFPACK_SCALE_MAX ;
-	}
-	else if (s [0] == 'T')
-	{
-	    Control [UMFPACK_STRATEGY] = UMFPACK_STRATEGY_2BY2 ;
-	    Control [UMFPACK_SCALE] = UMFPACK_SCALE_MAX ;
-	}
-	else
-	{
-	    printf ("unrecognized strategy: %s\n", argv [1]) ;
-	}
-
-	if (s [1] == 'n')
-	{
-	    /* no aggressive absorption */
-	    Control [UMFPACK_AGGRESSIVE] = FALSE ;
-	}
-    }
-
-    if (argc > 2)
-    {
-	/* get the drop tolerance */
-	sscanf (argv [2], "%lg", &droptol) ;
-	printf ("droptol %g\n", droptol) ;
-	Control [UMFPACK_DROPTOL] = droptol ;
-    }
-
-    umfpack_di_report_control (Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* open the matrix file (tmp/A) */
-    /* ---------------------------------------------------------------------- */
-
-    printf ("File: tmp/A\n") ;
-    f = fopen ("tmp/A", "r") ;
-    if (!f)
-    {
-	printf ("Unable to open file\n") ;
-	exit (1) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* get n and nz */
-    /* ---------------------------------------------------------------------- */
-
-    printf ("File: tmp/Asize\n") ;
-    f2 = fopen ("tmp/Asize", "r") ;
-    if (f2)
-    {
-	fscanf (f2, "%d %d %d\n", &nrow, &ncol, &nz) ;
-	fclose (f2) ;
-    }
-    else
-    {
-	nrow = 1 ;
-	ncol = 1 ;
-    }
-    nz = 0 ;
-    while (fgets (s, SMAX, f) != (char *) NULL)
-    {
-	sscanf (s, "%d %d %lg", &i, &j, &aij) ;
-#ifdef ZERO_BASED
-	/* matrix is zero based */
-	i++ ;
-	j++ ;
-#endif
-	nrow = MAX (nrow, i) ;
-	ncol = MAX (ncol, j) ;
-	nz++ ;
-    }
-    fclose (f) ;
-    n = MAX (nrow, ncol) ;
-
-    printf ("n %d nrow %d ncol %d nz %d\n", n, nrow, ncol, nz) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* allocate space for the input triplet form */
-    /* ---------------------------------------------------------------------- */
-
-    Ti = (int *) malloc (nz * sizeof (int)) ;
-    Tj = (int *) malloc (nz * sizeof (int)) ;
-    Tx = (double *) malloc (nz * sizeof (double)) ;
-    if (!Ti || !Tj || !Tx)
-    {
-	printf ("out of memory for input matrix\n") ;
-	exit (1) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* read in the triplet form */
-    /* ---------------------------------------------------------------------- */
-
-    f2 = fopen ("tmp/A", "r") ;
-    if (!f2)
-    {
-	printf ("Unable to open file\n") ;
-	exit (1) ;
-    }
-
-    k = 0 ;
-    while (fgets (s, SMAX, f2) != (char *) NULL)
-    {
-	sscanf (s, "%d %d %lg", &i, &j, &aij) ;
-#ifndef ZERO_BASED
-	i-- ;	/* convert to 0-based */
-	j-- ;
-#endif
-	if (k >= nz)
-	{
-	    printf ("Error!  Matrix size is wrong\n") ;
-	    exit (1) ;
-	}
-	Ti [k] = i ;
-	Tj [k] = j ;
-	Tx [k] = aij ;
-	k++ ;
-    }
-    fclose (f2) ;
-
-    (void) umfpack_di_report_triplet (nrow, ncol, nz, Ti, Tj, Tx, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* convert to column form */
-    /* ---------------------------------------------------------------------- */
-
-    /* convert to column form */
-    Ap = (int *) malloc ((n+1) * sizeof (int)) ;
-    Ai = (int *) malloc (nz * sizeof (int)) ;
-    Ax = (double *) malloc (nz * sizeof (double)) ;
-    b = (double *) malloc (n * sizeof (double)) ;
-    r = (double *) malloc (n * sizeof (double)) ;
-    x = (double *) malloc (n * sizeof (double)) ;
-    if (!Ap || !Ai || !Ax || !b || !r)
-    {
-	printf ("out of memory") ;
-	exit (1) ;
-    }
-    umfpack_tic (stats) ;
-    status = umfpack_di_triplet_to_col (nrow, ncol, nz, Ti, Tj, Tx, Ap, Ai, Ax,
-	(int *) NULL) ;
-    umfpack_toc (stats) ;
-    printf ("triplet-to-col time: wall %g cpu %g\n", stats [0], stats [1]) ;
-    if (status != UMFPACK_OK)
-    {
-	umfpack_di_report_status (Control, status) ;
-	printf ("umfpack_di_triplet_to_col failed") ;
-	exit (1) ;
-    }
-
-    /* print the column-form of A */
-    (void) umfpack_di_report_matrix (nrow, ncol, Ap, Ai, Ax, 1, Control) ;
-
-    /* b = A * xtrue */
-    rhs = FALSE ;
-    if (nrow == ncol)
-    {
-	f = fopen ("tmp/b", "r") ;
-	if (f != (FILE *) NULL)
-	{
-	    printf ("Reading tmp/b\n") ;
-	    rhs = TRUE ;
-	    for (i = 0 ; i < n ; i++)
-	    {
-		fscanf (f, "%lg\n", &b [i]) ;
-	    }
-	    fclose (f) ;
-	}
-	else
-	{
-	    Atimesx (n, Ap, Ai, Ax, b, FALSE) ;
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* free the triplet form */
-    /* ---------------------------------------------------------------------- */
-
-    free (Ti) ;
-    free (Tj) ;
-    free (Tx) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* symbolic factorization */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_di_symbolic (nrow, ncol, Ap, Ai, Ax, &Symbolic,
-	    Control, Info) ;
-
-    umfpack_di_report_info (Control, Info) ;
-    if (status != UMFPACK_OK)
-    {
-	umfpack_di_report_status (Control, status) ;
-	printf ("umfpack_di_symbolic failed") ;
-	exit (1) ;
-    }
-
-    /* print the symbolic factorization */
-    (void) umfpack_di_report_symbolic (Symbolic, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* numeric factorization */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_di_numeric (Ap, Ai, Ax, Symbolic, &Numeric, Control, Info);
-    if (status < UMFPACK_OK)
-    {
-	umfpack_di_report_info (Control, Info) ;
-	umfpack_di_report_status (Control, status) ;
-	fprintf (stderr, "umfpack_di_numeric failed: %d\n", status) ;
-	printf ("umfpack_di_numeric failed\n") ;
-	exit (1) ;
-    }
-
-    /* print the numeric factorization */
-    (void) umfpack_di_report_numeric (Numeric, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve Ax=b */
-    /* ---------------------------------------------------------------------- */
-
-    if (nrow == ncol && status == UMFPACK_OK)
-    {
-	status = umfpack_di_solve (UMFPACK_A, Ap, Ai, Ax, x, b, Numeric,
-		Control, Info) ;
-
-	umfpack_di_report_info (Control, Info) ;
-	umfpack_di_report_status (Control, status) ;
-	if (status < UMFPACK_OK)
-	{
-	    printf ("umfpack_di_solve failed\n") ;
-	    exit (1) ;
-	}
-	(void) umfpack_di_report_vector (n, x, Control) ;
-	printf ("relative maxnorm of residual, ||Ax-b||/||b||: %g\n",
-	    resid (n, Ap, Ai, Ax, x, r, b, FALSE)) ;
-	if (!rhs)
-	{
-	    printf ("relative maxnorm of error, ||x-xtrue||/||xtrue||: %g\n\n",
-		err (n, x)) ;
-	}
-
-	f = fopen ("tmp/x", "w") ;
-	if (f != (FILE *) NULL)
-	{
-	    printf ("Writing tmp/x\n") ;
-	    for (i = 0 ; i < n ; i++)
-	    {
-		fprintf (f, "%30.20e\n", x [i]) ;
-	    }
-	    fclose (f) ;
-	}
-	else
-	{
-	    printf ("Unable to write output x!\n") ;
-	    exit (1) ;
-	}
-
-	f = fopen ("tmp/info.umf4", "w") ;
-	if (f != (FILE *) NULL)
-	{
-	    printf ("Writing tmp/info.umf4\n") ;
-	    for (i = 0 ; i < UMFPACK_INFO ; i++)
-	    {
-		fprintf (f, "%30.20e\n", Info [i]) ;
-	    }
-	    fclose (f) ;
-	}
-	else
-	{
-	    printf ("Unable to write output info!\n") ;
-	    exit (1) ;
-	}
-    }
-    else
-    {
-	/* don't solve, just report the results */
-	umfpack_di_report_info (Control, Info) ;
-	umfpack_di_report_status (Control, status) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* free the Symbolic and Numeric factorization */
-    /* ---------------------------------------------------------------------- */
-
-    umfpack_di_free_symbolic (&Symbolic) ;
-    umfpack_di_free_numeric (&Numeric) ;
-
-    printf ("umf4 done, strategy: %g\n", Control [UMFPACK_STRATEGY]) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* test just AMD ordering (not part of UMFPACK, but a separate test) */
-    /* ---------------------------------------------------------------------- */
-
-    /* first make the matrix square */
-    if (ncol < n)
-    {
-	for (j = ncol+1 ; j <= n ; j++)
-	{
-	    Ap [j] = Ap [ncol] ;
-	}
-    }
-
-    printf (
-	"\n\n===========================================================\n"
-	"=== AMD ===================================================\n"
-	"===========================================================\n") ;
-    printf ("\n\n------- Now trying the AMD ordering.  This not part of\n"
-	"the UMFPACK analysis or factorization, above, but a separate\n"
-	"test of just the AMD ordering routine.\n") ;
-	Pamd = (int *) malloc (n * sizeof (int)) ;
-    if (!Pamd)
-    {
-	printf ("out of memory\n") ;
-	exit (1) ;
-    }
-    amd_defaults (amd_Control) ;
-    amd_control (amd_Control) ;
-    umfpack_tic (tamd) ;
-    status = amd_order (n, Ap, Ai, Pamd, amd_Control, amd_Info) ;
-    umfpack_toc (tamd) ;
-    printf ("AMD ordering time: cpu %10.2f wall %10.2f\n",
-	tamd [1], tamd [0]) ;
-    if (status != AMD_OK)
-    {
-	printf ("amd failed: %d\n", status) ;
-	exit (1) ;
-    }
-    amd_info (amd_Info) ;
-    free (Pamd) ;
-    printf ("AMD test done\n") ;
-
-    return (0) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Demo/umf4.out	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1970 +0,0 @@
-cc -O -DNBLAS -I../Include -I../../AMD/Include -o umf4 umf4.c ../Lib/libumfpack.a ../../AMD/Lib/libamd.a -lm
-f77 -O -o readhb readhb.f 
-f77 -O -o readhb_nozeros readhb_nozeros.f 
-f77 -O -o readhb_size readhb_size.f 
-./readhb_nozeros < HB/can_24.psa > tmp/A
-Matrix key: CAN   24
-./readhb_size    < HB/can_24.psa > tmp/Asize
-./umf4
-
-===========================================================
-=== UMFPACK v4.4 ==========================================
-===========================================================
-
-UMFPACK V4.4 (Jan. 28, 2005), Control:
-
-    Matrix entry defined as: double
-    Int (generic integer) defined as: int
-
-    0: print level: 3
-    1: dense row parameter:    0.2
-        "dense" rows have    > max (16, (0.2)*16*sqrt(n_col) entries)
-    2: dense column parameter: 0.2
-        "dense" columns have > max (16, (0.2)*16*sqrt(n_row) entries)
-    3: pivot tolerance: 0.1
-    4: block size for dense matrix kernels: 32
-    5: strategy: 0 (auto)
-    6: initial allocation ratio: 0.7
-    7: max iterative refinement steps: 2
-    12: 2-by-2 pivot tolerance: 0.01
-    13: Q fixed during numerical factorization: 0 (auto)
-    14: AMD dense row/col parameter:    10
-       "dense" rows/columns have > max (16, (10)*sqrt(n)) entries
-        Only used if the AMD ordering is used.
-    15: diagonal pivot tolerance: 0.001
-        Only used if diagonal pivoting is attempted.
-    16: scaling: 1 (divide each row by sum of abs. values in each row)
-    17: frontal matrix allocation ratio: 0.5
-    18: drop tolerance: 0
-    19: AMD and COLAMD aggressive absorption: 1 (yes)
-
-    The following options can only be changed at compile-time:
-    8: BLAS library used:  none.  UMFPACK will be slow.
-    9: compiled for ANSI C (uses malloc, free, realloc, and printf)
-    10: CPU timer is POSIX times ( ) routine.
-    11: compiled for normal operation (debugging disabled)
-    computer/operating system: Linux
-    size of int: 4 long: 4 Int: 4 pointer: 4 double: 8 Entry: 8 (in bytes)
-
-File: tmp/A
-File: tmp/Asize
-n 24 nrow 24 ncol 24 nz 160
-triplet-form matrix, n_row = 24, n_col = 24 nz = 160. OK
-
-triplet-to-col time: wall 0 cpu 0
-column-form matrix, n_row 24 n_col 24, nz = 160. OK
-
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double
-    Int (generic integer) defined as: int
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       24
-    number of columns in matrix A:    24
-    entries in matrix A:              160
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          8 bytes
-
-    strategy used:                    symmetric
-    ordering used:                    amd on A+A'
-    modify Q during factorization:    no
-    prefer diagonal pivoting:         yes
-    pivots with zero Markowitz cost:               0
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    0
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    24
-        symmetry of nonzero pattern:               1.000000
-        nz in S+S' (excl. diagonal):               136
-        nz on diagonal of matrix S:                24
-        fraction of nz on diagonal:                1.000000
-    AMD statistics, for strict diagonal pivoting:
-        est. flops for LU factorization:           1.00300e+03
-        est. nz in L+U (incl. diagonal):           218
-        est. largest front (# entries):            64
-        est. max nz in any column of L:            8
-        number of "dense" rows/columns in S+S':    0
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 718
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         124
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                     739                    -      -
-        peak size (Units)                       3244                    -      -
-        final size (Units)                       393                    -      -
-    Numeric final size (Units)                   591                    -      -
-    Numeric final size (MBytes)                  0.0                    -      -
-    peak memory usage (Units)                   3826                    -      -
-    peak memory usage (MBytes)                   0.0                    -      -
-    numeric factorization flops          2.37900e+03                    -      -
-    nz in L (incl diagonal)                      149                    -      -
-    nz in U (incl diagonal)                      208                    -      -
-    nz in L+U (incl diagonal)                    333                    -      -
-    largest front (# entries)                    182                    -      -
-    largest # rows in front                       13                    -      -
-    largest # columns in front                    14                    -      -
-
-Symbolic object: OK
-
-Numeric object:  OK
-
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double
-    Int (generic integer) defined as: int
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       24
-    number of columns in matrix A:    24
-    entries in matrix A:              160
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          8 bytes
-
-    strategy used:                    symmetric
-    ordering used:                    amd on A+A'
-    modify Q during factorization:    no
-    prefer diagonal pivoting:         yes
-    pivots with zero Markowitz cost:               0
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    0
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    24
-        symmetry of nonzero pattern:               1.000000
-        nz in S+S' (excl. diagonal):               136
-        nz on diagonal of matrix S:                24
-        fraction of nz on diagonal:                1.000000
-    AMD statistics, for strict diagonal pivoting:
-        est. flops for LU factorization:           1.00300e+03
-        est. nz in L+U (incl. diagonal):           218
-        est. largest front (# entries):            64
-        est. max nz in any column of L:            8
-        number of "dense" rows/columns in S+S':    0
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 718
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         124
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    matrix scaled: yes (divided each row by sum of abs values in each row)
-    minimum sum (abs (rows of A)):              4.00000e+00
-    maximum sum (abs (rows of A)):              9.00000e+00
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                     739                  712    96%
-        peak size (Units)                       3244                 2712    84%
-        final size (Units)                       393                  179    46%
-    Numeric final size (Units)                   591                  365    62%
-    Numeric final size (MBytes)                  0.0                  0.0    62%
-    peak memory usage (Units)                   3826                 3294    86%
-    peak memory usage (MBytes)                   0.0                  0.0    86%
-    numeric factorization flops          2.37900e+03          3.32000e+02    14%
-    nz in L (incl diagonal)                      149                   78    52%
-    nz in U (incl diagonal)                      208                   86    41%
-    nz in L+U (incl diagonal)                    333                  140    42%
-    largest front (# entries)                    182                   78    43%
-    largest # rows in front                       13                    7    54%
-    largest # columns in front                    14                   13    93%
-
-    initial allocation ratio used:                 1.2
-    # of forced updates due to frontal growth:     0
-    number of off-diagonal pivots:                 10
-    nz in L (incl diagonal), if none dropped       78
-    nz in U (incl diagonal), if none dropped       86
-    number of small entries dropped                0
-    nonzeros on diagonal of U:                     24
-    min abs. value on diagonal of U:               1.11e-01
-    max abs. value on diagonal of U:               2.50e-01
-    estimate of reciprocal of condition number:    4.44e-01
-    indices in compressed pattern:                 92
-    numerical values stored in Numeric object:     140
-    numeric factorization defragmentations:        0
-    numeric factorization reallocations:           0
-    costly numeric factorization reallocations:    0
-    numeric factorization CPU time (sec):          0.00
-    numeric factorization wallclock time (sec):    0.00
-    symbolic + numeric CPU time (sec):             0.00
-    symbolic + numeric wall clock time (sec):      0.00
-
-    solve flops:                                   1.13600e+03
-    iterative refinement steps taken:              0
-    iterative refinement steps attempted:          0
-    sparse backward error omega1:                  1.22e-16
-    sparse backward error omega2:                  0.00e+00
-    solve CPU time (sec):                          0.00
-    solve wall clock time (sec):                   0.00
-
-    total symbolic + numeric + solve flops:        1.46800e+03
-    total symbolic + numeric + solve CPU time:     0.00
-    total symbolic+numeric+solve wall clock time:  0.00
-
-
-UMFPACK V4.4 (Jan. 28, 2005): OK
-
-dense vector, n = 24. OK
-
-relative maxnorm of residual, ||Ax-b||/||b||: 1.2919e-16
-relative maxnorm of error, ||x-xtrue||/||xtrue||: 1.1716e-15
-
-Writing tmp/x
-Writing tmp/info.umf4
-umf4 done, strategy: 0
-
-
-===========================================================
-=== AMD ===================================================
-===========================================================
-
-
-------- Now trying the AMD ordering.  This not part of
-the UMFPACK analysis or factorization, above, but a separate
-test of just the AMD ordering routine.
-
-amd:  approximate minimum degree ordering, parameters:
-    dense row parameter: 10
-    (rows with more than max (10 * sqrt (n), 16) entries are
-    considered "dense", and placed last in output permutation)
-    aggressive absorption:  yes
-
-AMD ordering time: cpu       0.00 wall       0.00
-
-amd:  approximate minimum degree ordering, results:
-    status: OK
-    n, dimension of A:                                  24
-    nz, number of nonzeros in A:                        160
-    symmetry of A:                                      1.0000
-    number of nonzeros on diagonal:                     24
-    nonzeros in pattern of A+A' (excl. diagonal):       136
-    # dense rows/columns of A+A':                       0
-    memory used, in bytes:                              1516
-    # of memory compactions:                            0
-
-    The following approximate statistics are for a subsequent
-    factorization of A(P,P) + A(P,P)'.  They are slight upper
-    bounds if there are no dense rows/columns in A+A', and become
-    looser if dense rows/columns exist.
-
-    nonzeros in L (excluding diagonal):                 97
-    nonzeros in L (including diagonal):                 121
-    # divide operations for LDL' or LU:                 97
-    # multiply-subtract operations for LDL':            275
-    # multiply-subtract operations for LU:              453
-    max nz. in any column of L (incl. diagonal):        8
-
-    chol flop count for real A, sqrt counted as 1 flop: 671
-    LDL' flop count for real A:                         647
-    LDL' flop count for complex A:                      3073
-    LU flop count for real A (with no pivoting):        1003
-    LU flop count for complex A (with no pivoting):     4497
-
-AMD test done
-./readhb_nozeros < HB/west0067.rua > tmp/A
-Matrix key: WEST0067
-./readhb_size    < HB/west0067.rua > tmp/Asize
-./umf4
-
-===========================================================
-=== UMFPACK v4.4 ==========================================
-===========================================================
-
-UMFPACK V4.4 (Jan. 28, 2005), Control:
-
-    Matrix entry defined as: double
-    Int (generic integer) defined as: int
-
-    0: print level: 3
-    1: dense row parameter:    0.2
-        "dense" rows have    > max (16, (0.2)*16*sqrt(n_col) entries)
-    2: dense column parameter: 0.2
-        "dense" columns have > max (16, (0.2)*16*sqrt(n_row) entries)
-    3: pivot tolerance: 0.1
-    4: block size for dense matrix kernels: 32
-    5: strategy: 0 (auto)
-    6: initial allocation ratio: 0.7
-    7: max iterative refinement steps: 2
-    12: 2-by-2 pivot tolerance: 0.01
-    13: Q fixed during numerical factorization: 0 (auto)
-    14: AMD dense row/col parameter:    10
-       "dense" rows/columns have > max (16, (10)*sqrt(n)) entries
-        Only used if the AMD ordering is used.
-    15: diagonal pivot tolerance: 0.001
-        Only used if diagonal pivoting is attempted.
-    16: scaling: 1 (divide each row by sum of abs. values in each row)
-    17: frontal matrix allocation ratio: 0.5
-    18: drop tolerance: 0
-    19: AMD and COLAMD aggressive absorption: 1 (yes)
-
-    The following options can only be changed at compile-time:
-    8: BLAS library used:  none.  UMFPACK will be slow.
-    9: compiled for ANSI C (uses malloc, free, realloc, and printf)
-    10: CPU timer is POSIX times ( ) routine.
-    11: compiled for normal operation (debugging disabled)
-    computer/operating system: Linux
-    size of int: 4 long: 4 Int: 4 pointer: 4 double: 8 Entry: 8 (in bytes)
-
-File: tmp/A
-File: tmp/Asize
-n 67 nrow 67 ncol 67 nz 294
-triplet-form matrix, n_row = 67, n_col = 67 nz = 294. OK
-
-triplet-to-col time: wall 0 cpu 0
-column-form matrix, n_row 67 n_col 67, nz = 294. OK
-
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double
-    Int (generic integer) defined as: int
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       67
-    number of columns in matrix A:    67
-    entries in matrix A:              294
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          8 bytes
-
-    strategy used:                    unsymmetric
-    ordering used:                    colamd on A
-    modify Q during factorization:    yes
-    prefer diagonal pivoting:         no
-    pivots with zero Markowitz cost:               1
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    0
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S not square or diagonal not preserved
-    symbolic factorization defragmentations:       1
-    symbolic memory usage (Units):                 1632
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         245
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.01
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                    1643                    -      -
-        peak size (Units)                       6115                    -      -
-        final size (Units)                      1628                    -      -
-    Numeric final size (Units)                  2101                    -      -
-    Numeric final size (MBytes)                  0.0                    -      -
-    peak memory usage (Units)                   7462                    -      -
-    peak memory usage (MBytes)                   0.1                    -      -
-    numeric factorization flops          1.41920e+04                    -      -
-    nz in L (incl diagonal)                      542                    -      -
-    nz in U (incl diagonal)                      902                    -      -
-    nz in L+U (incl diagonal)                   1377                    -      -
-    largest front (# entries)                    483                    -      -
-    largest # rows in front                       21                    -      -
-    largest # columns in front                    23                    -      -
-
-Symbolic object: OK
-
-Numeric object:  OK
-
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double
-    Int (generic integer) defined as: int
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       67
-    number of columns in matrix A:    67
-    entries in matrix A:              294
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          8 bytes
-
-    strategy used:                    unsymmetric
-    ordering used:                    colamd on A
-    modify Q during factorization:    yes
-    prefer diagonal pivoting:         no
-    pivots with zero Markowitz cost:               1
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    0
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S not square or diagonal not preserved
-    symbolic factorization defragmentations:       1
-    symbolic memory usage (Units):                 1632
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         245
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.01
-
-    matrix scaled: yes (divided each row by sum of abs values in each row)
-    minimum sum (abs (rows of A)):              1.00000e+00
-    maximum sum (abs (rows of A)):              6.59006e+00
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                    1643                 1574    96%
-        peak size (Units)                       6115                 3581    59%
-        final size (Units)                      1628                  685    42%
-    Numeric final size (Units)                  2101                 1125    54%
-    Numeric final size (MBytes)                  0.0                  0.0    54%
-    peak memory usage (Units)                   7462                 4928    66%
-    peak memory usage (MBytes)                   0.1                  0.0    66%
-    numeric factorization flops          1.41920e+04          2.58700e+03    18%
-    nz in L (incl diagonal)                      542                  329    61%
-    nz in U (incl diagonal)                      902                  340    38%
-    nz in L+U (incl diagonal)                   1377                  602    44%
-    largest front (# entries)                    483                   80    17%
-    largest # rows in front                       21                   10    48%
-    largest # columns in front                    23                   11    48%
-
-    initial allocation ratio used:                 0.7
-    # of forced updates due to frontal growth:     0
-    nz in L (incl diagonal), if none dropped       329
-    nz in U (incl diagonal), if none dropped       340
-    number of small entries dropped                0
-    nonzeros on diagonal of U:                     67
-    min abs. value on diagonal of U:               2.74e-02
-    max abs. value on diagonal of U:               2.28e+00
-    estimate of reciprocal of condition number:    1.20e-02
-    indices in compressed pattern:                 256
-    numerical values stored in Numeric object:     605
-    numeric factorization defragmentations:        1
-    numeric factorization reallocations:           1
-    costly numeric factorization reallocations:    0
-    numeric factorization CPU time (sec):          0.00
-    numeric factorization wallclock time (sec):    0.00
-    symbolic + numeric CPU time (sec):             0.00
-    symbolic + numeric wall clock time (sec):      0.01
-    symbolic + numeric mflops (wall clock):        0.26
-
-    solve flops:                                   6.19300e+03
-    iterative refinement steps taken:              1
-    iterative refinement steps attempted:          1
-    sparse backward error omega1:                  9.49e-17
-    sparse backward error omega2:                  0.00e+00
-    solve CPU time (sec):                          0.00
-    solve wall clock time (sec):                   0.00
-
-    total symbolic + numeric + solve flops:        8.78000e+03
-    total symbolic + numeric + solve CPU time:     0.00
-    total symbolic+numeric+solve wall clock time:  0.01
-    total symbolic+numeric+solve mflops(wallclock) 0.88
-
-
-UMFPACK V4.4 (Jan. 28, 2005): OK
-
-dense vector, n = 67. OK
-
-relative maxnorm of residual, ||Ax-b||/||b||: 1.83101e-16
-relative maxnorm of error, ||x-xtrue||/||xtrue||: 2.47921e-15
-
-Writing tmp/x
-Writing tmp/info.umf4
-umf4 done, strategy: 0
-
-
-===========================================================
-=== AMD ===================================================
-===========================================================
-
-
-------- Now trying the AMD ordering.  This not part of
-the UMFPACK analysis or factorization, above, but a separate
-test of just the AMD ordering routine.
-
-amd:  approximate minimum degree ordering, parameters:
-    dense row parameter: 10
-    (rows with more than max (10 * sqrt (n), 16) entries are
-    considered "dense", and placed last in output permutation)
-    aggressive absorption:  yes
-
-AMD ordering time: cpu       0.00 wall       0.00
-
-amd:  approximate minimum degree ordering, results:
-    status: OK
-    n, dimension of A:                                  67
-    nz, number of nonzeros in A:                        294
-    symmetry of A:                                      0.0342
-    number of nonzeros on diagonal:                     2
-    nonzeros in pattern of A+A' (excl. diagonal):       574
-    # dense rows/columns of A+A':                       0
-    memory used, in bytes:                              5164
-    # of memory compactions:                            1
-
-    The following approximate statistics are for a subsequent
-    factorization of A(P,P) + A(P,P)'.  They are slight upper
-    bounds if there are no dense rows/columns in A+A', and become
-    looser if dense rows/columns exist.
-
-    nonzeros in L (excluding diagonal):                 930
-    nonzeros in L (including diagonal):                 997
-    # divide operations for LDL' or LU:                 930
-    # multiply-subtract operations for LDL':            9170
-    # multiply-subtract operations for LU:              17410
-    max nz. in any column of L (incl. diagonal):        33
-
-    chol flop count for real A, sqrt counted as 1 flop: 19337
-    LDL' flop count for real A:                         19270
-    LDL' flop count for complex A:                      81730
-    LU flop count for real A (with no pivoting):        35750
-    LU flop count for complex A (with no pivoting):     147650
-
-AMD test done
-./readhb_nozeros < HB/fs_183_6.rua > tmp/A
-Matrix key: FS 183 6
-./readhb_size    < HB/fs_183_6.rua > tmp/Asize
-./umf4
-
-===========================================================
-=== UMFPACK v4.4 ==========================================
-===========================================================
-
-UMFPACK V4.4 (Jan. 28, 2005), Control:
-
-    Matrix entry defined as: double
-    Int (generic integer) defined as: int
-
-    0: print level: 3
-    1: dense row parameter:    0.2
-        "dense" rows have    > max (16, (0.2)*16*sqrt(n_col) entries)
-    2: dense column parameter: 0.2
-        "dense" columns have > max (16, (0.2)*16*sqrt(n_row) entries)
-    3: pivot tolerance: 0.1
-    4: block size for dense matrix kernels: 32
-    5: strategy: 0 (auto)
-    6: initial allocation ratio: 0.7
-    7: max iterative refinement steps: 2
-    12: 2-by-2 pivot tolerance: 0.01
-    13: Q fixed during numerical factorization: 0 (auto)
-    14: AMD dense row/col parameter:    10
-       "dense" rows/columns have > max (16, (10)*sqrt(n)) entries
-        Only used if the AMD ordering is used.
-    15: diagonal pivot tolerance: 0.001
-        Only used if diagonal pivoting is attempted.
-    16: scaling: 1 (divide each row by sum of abs. values in each row)
-    17: frontal matrix allocation ratio: 0.5
-    18: drop tolerance: 0
-    19: AMD and COLAMD aggressive absorption: 1 (yes)
-
-    The following options can only be changed at compile-time:
-    8: BLAS library used:  none.  UMFPACK will be slow.
-    9: compiled for ANSI C (uses malloc, free, realloc, and printf)
-    10: CPU timer is POSIX times ( ) routine.
-    11: compiled for normal operation (debugging disabled)
-    computer/operating system: Linux
-    size of int: 4 long: 4 Int: 4 pointer: 4 double: 8 Entry: 8 (in bytes)
-
-File: tmp/A
-File: tmp/Asize
-n 183 nrow 183 ncol 183 nz 1000
-triplet-form matrix, n_row = 183, n_col = 183 nz = 1000. OK
-
-triplet-to-col time: wall 0 cpu 0
-column-form matrix, n_row 183 n_col 183, nz = 1000. OK
-
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double
-    Int (generic integer) defined as: int
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       183
-    number of columns in matrix A:    183
-    entries in matrix A:              1000
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          8 bytes
-
-    strategy used:                    symmetric 2-by-2
-    ordering used:                    amd on A+A'
-    modify Q during factorization:    no
-    prefer diagonal pivoting:         yes
-    pivots with zero Markowitz cost:               36
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    4
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    147
-        symmetry of nonzero pattern:               0.490515
-        nz in S+S' (excl. diagonal):               1114
-        nz on diagonal of matrix S:                147
-        fraction of nz on diagonal:                1.000000
-    2-by-2 pivoting to place large entries on diagonal:
-        # of small diagonal entries of S:          7
-        # unmatched:                               7
-        symmetry of P2*S:                          0.490515
-        nz in P2*S+(P2*S)' (excl. diag.):          1114
-        nz on diagonal of P2*S:                    147
-        fraction of nz on diag of P2*S:            1.000000
-    AMD statistics, for strict diagonal pivoting:
-        est. flops for LU factorization:           1.02930e+04
-        est. nz in L+U (incl. diagonal):           1625
-        est. largest front (# entries):            196
-        est. max nz in any column of L:            14
-        number of "dense" rows/columns in S+S':    0
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 4839
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         756
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                    4274                    -      -
-        peak size (Units)                      26277                    -      -
-        final size (Units)                     15717                    -      -
-    Numeric final size (Units)                 16944                    -      -
-    Numeric final size (MBytes)                  0.1                    -      -
-    peak memory usage (Units)                  29673                    -      -
-    peak memory usage (MBytes)                   0.2                    -      -
-    numeric factorization flops          2.67903e+05                    -      -
-    nz in L (incl diagonal)                     2122                    -      -
-    nz in U (incl diagonal)                     9931                    -      -
-    nz in L+U (incl diagonal)                  11870                    -      -
-    largest front (# entries)                   2337                    -      -
-    largest # rows in front                       21                    -      -
-    largest # columns in front                   136                    -      -
-
-Symbolic object: OK
-
-Numeric object:  OK
-
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double
-    Int (generic integer) defined as: int
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       183
-    number of columns in matrix A:    183
-    entries in matrix A:              1000
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          8 bytes
-
-    strategy used:                    symmetric 2-by-2
-    ordering used:                    amd on A+A'
-    modify Q during factorization:    no
-    prefer diagonal pivoting:         yes
-    pivots with zero Markowitz cost:               36
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    4
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    147
-        symmetry of nonzero pattern:               0.490515
-        nz in S+S' (excl. diagonal):               1114
-        nz on diagonal of matrix S:                147
-        fraction of nz on diagonal:                1.000000
-    2-by-2 pivoting to place large entries on diagonal:
-        # of small diagonal entries of S:          7
-        # unmatched:                               7
-        symmetry of P2*S:                          0.490515
-        nz in P2*S+(P2*S)' (excl. diag.):          1114
-        nz on diagonal of P2*S:                    147
-        fraction of nz on diag of P2*S:            1.000000
-    AMD statistics, for strict diagonal pivoting:
-        est. flops for LU factorization:           1.02930e+04
-        est. nz in L+U (incl. diagonal):           1625
-        est. largest front (# entries):            196
-        est. max nz in any column of L:            14
-        number of "dense" rows/columns in S+S':    0
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 4839
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         756
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    matrix scaled: yes (divided each row by sum of abs values in each row)
-    minimum sum (abs (rows of A)):              1.84689e-01
-    maximum sum (abs (rows of A)):              8.73139e+08
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                    4274                 4089    96%
-        peak size (Units)                      26277                 8291    32%
-        final size (Units)                     15717                 1658    11%
-    Numeric final size (Units)                 16944                 2794    16%
-    Numeric final size (MBytes)                  0.1                  0.0    16%
-    peak memory usage (Units)                  29673                11687    39%
-    peak memory usage (MBytes)                   0.2                  0.1    39%
-    numeric factorization flops          2.67903e+05          7.82700e+03     3%
-    nz in L (incl diagonal)                     2122                  838    39%
-    nz in U (incl diagonal)                     9931                  804     8%
-    nz in L+U (incl diagonal)                  11870                 1459    12%
-    largest front (# entries)                   2337                  420    18%
-    largest # rows in front                       21                   14    67%
-    largest # columns in front                   136                   36    26%
-
-    initial allocation ratio used:                 0.265
-    # of forced updates due to frontal growth:     0
-    number of off-diagonal pivots:                 3
-    nz in L (incl diagonal), if none dropped       838
-    nz in U (incl diagonal), if none dropped       804
-    number of small entries dropped                0
-    nonzeros on diagonal of U:                     183
-    min abs. value on diagonal of U:               2.30e-09
-    max abs. value on diagonal of U:               1.00e+00
-    estimate of reciprocal of condition number:    2.30e-09
-    indices in compressed pattern:                 550
-    numerical values stored in Numeric object:     1396
-    numeric factorization defragmentations:        1
-    numeric factorization reallocations:           1
-    costly numeric factorization reallocations:    0
-    numeric factorization CPU time (sec):          0.00
-    numeric factorization wallclock time (sec):    0.00
-    symbolic + numeric CPU time (sec):             0.00
-    symbolic + numeric wall clock time (sec):      0.00
-
-    solve flops:                                   1.79470e+04
-    iterative refinement steps taken:              1
-    iterative refinement steps attempted:          1
-    sparse backward error omega1:                  1.51e-16
-    sparse backward error omega2:                  0.00e+00
-    solve CPU time (sec):                          0.00
-    solve wall clock time (sec):                   0.00
-
-    total symbolic + numeric + solve flops:        2.57740e+04
-    total symbolic + numeric + solve CPU time:     0.00
-    total symbolic+numeric+solve wall clock time:  0.00
-
-
-UMFPACK V4.4 (Jan. 28, 2005): OK
-
-dense vector, n = 183. OK
-
-relative maxnorm of residual, ||Ax-b||/||b||: 1.55669e-16
-relative maxnorm of error, ||x-xtrue||/||xtrue||: 1.08984e-06
-
-Writing tmp/x
-Writing tmp/info.umf4
-umf4 done, strategy: 0
-
-
-===========================================================
-=== AMD ===================================================
-===========================================================
-
-
-------- Now trying the AMD ordering.  This not part of
-the UMFPACK analysis or factorization, above, but a separate
-test of just the AMD ordering routine.
-
-amd:  approximate minimum degree ordering, parameters:
-    dense row parameter: 10
-    (rows with more than max (10 * sqrt (n), 16) entries are
-    considered "dense", and placed last in output permutation)
-    aggressive absorption:  yes
-
-AMD ordering time: cpu       0.00 wall       0.00
-
-amd:  approximate minimum degree ordering, results:
-    status: OK
-    n, dimension of A:                                  183
-    nz, number of nonzeros in A:                        1000
-    symmetry of A:                                      0.4431
-    number of nonzeros on diagonal:                     183
-    nonzeros in pattern of A+A' (excl. diagonal):       1272
-    # dense rows/columns of A+A':                       0
-    memory used, in bytes:                              12692
-    # of memory compactions:                            1
-
-    The following approximate statistics are for a subsequent
-    factorization of A(P,P) + A(P,P)'.  They are slight upper
-    bounds if there are no dense rows/columns in A+A', and become
-    looser if dense rows/columns exist.
-
-    nonzeros in L (excluding diagonal):                 882
-    nonzeros in L (including diagonal):                 1065
-    # divide operations for LDL' or LU:                 882
-    # multiply-subtract operations for LDL':            3378
-    # multiply-subtract operations for LU:              5874
-    max nz. in any column of L (incl. diagonal):        15
-
-    chol flop count for real A, sqrt counted as 1 flop: 7821
-    LDL' flop count for real A:                         7638
-    LDL' flop count for complex A:                      34962
-    LU flop count for real A (with no pivoting):        12630
-    LU flop count for complex A (with no pivoting):     54930
-
-AMD test done
-./readhb         < HB/fs_183_6.rua > tmp/A
-Matrix key: FS 183 6
-./readhb_size    < HB/fs_183_6.rua > tmp/Asize
-./umf4
-
-===========================================================
-=== UMFPACK v4.4 ==========================================
-===========================================================
-
-UMFPACK V4.4 (Jan. 28, 2005), Control:
-
-    Matrix entry defined as: double
-    Int (generic integer) defined as: int
-
-    0: print level: 3
-    1: dense row parameter:    0.2
-        "dense" rows have    > max (16, (0.2)*16*sqrt(n_col) entries)
-    2: dense column parameter: 0.2
-        "dense" columns have > max (16, (0.2)*16*sqrt(n_row) entries)
-    3: pivot tolerance: 0.1
-    4: block size for dense matrix kernels: 32
-    5: strategy: 0 (auto)
-    6: initial allocation ratio: 0.7
-    7: max iterative refinement steps: 2
-    12: 2-by-2 pivot tolerance: 0.01
-    13: Q fixed during numerical factorization: 0 (auto)
-    14: AMD dense row/col parameter:    10
-       "dense" rows/columns have > max (16, (10)*sqrt(n)) entries
-        Only used if the AMD ordering is used.
-    15: diagonal pivot tolerance: 0.001
-        Only used if diagonal pivoting is attempted.
-    16: scaling: 1 (divide each row by sum of abs. values in each row)
-    17: frontal matrix allocation ratio: 0.5
-    18: drop tolerance: 0
-    19: AMD and COLAMD aggressive absorption: 1 (yes)
-
-    The following options can only be changed at compile-time:
-    8: BLAS library used:  none.  UMFPACK will be slow.
-    9: compiled for ANSI C (uses malloc, free, realloc, and printf)
-    10: CPU timer is POSIX times ( ) routine.
-    11: compiled for normal operation (debugging disabled)
-    computer/operating system: Linux
-    size of int: 4 long: 4 Int: 4 pointer: 4 double: 8 Entry: 8 (in bytes)
-
-File: tmp/A
-File: tmp/Asize
-n 183 nrow 183 ncol 183 nz 1069
-triplet-form matrix, n_row = 183, n_col = 183 nz = 1069. OK
-
-triplet-to-col time: wall 0 cpu 0
-column-form matrix, n_row 183 n_col 183, nz = 1069. OK
-
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double
-    Int (generic integer) defined as: int
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       183
-    number of columns in matrix A:    183
-    entries in matrix A:              1069
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          8 bytes
-
-    strategy used:                    symmetric 2-by-2
-    ordering used:                    amd on A+A'
-    modify Q during factorization:    no
-    prefer diagonal pivoting:         yes
-    pivots with zero Markowitz cost:               29
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    4
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    154
-        symmetry of nonzero pattern:               0.446860
-        nz in S+S' (excl. diagonal):               1286
-        nz on diagonal of matrix S:                154
-        fraction of nz on diagonal:                1.000000
-    2-by-2 pivoting to place large entries on diagonal:
-        # of small diagonal entries of S:          7
-        # unmatched:                               7
-        symmetry of P2*S:                          0.446860
-        nz in P2*S+(P2*S)' (excl. diag.):          1286
-        nz on diagonal of P2*S:                    154
-        fraction of nz on diag of P2*S:            1.000000
-    AMD statistics, for strict diagonal pivoting:
-        est. flops for LU factorization:           1.78450e+04
-        est. nz in L+U (incl. diagonal):           2080
-        est. largest front (# entries):            400
-        est. max nz in any column of L:            20
-        number of "dense" rows/columns in S+S':    0
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 4959
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         766
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                    4558                    -      -
-        peak size (Units)                      26357                    -      -
-        final size (Units)                     17822                    -      -
-    Numeric final size (Units)                 19049                    -      -
-    Numeric final size (MBytes)                  0.1                    -      -
-    peak memory usage (Units)                  29795                    -      -
-    peak memory usage (MBytes)                   0.2                    -      -
-    numeric factorization flops          3.51312e+05                    -      -
-    nz in L (incl diagonal)                     2633                    -      -
-    nz in U (incl diagonal)                    10968                    -      -
-    nz in L+U (incl diagonal)                  13418                    -      -
-    largest front (# entries)                   3220                    -      -
-    largest # rows in front                       25                    -      -
-    largest # columns in front                   140                    -      -
-
-Symbolic object: OK
-
-Numeric object:  OK
-
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double
-    Int (generic integer) defined as: int
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       183
-    number of columns in matrix A:    183
-    entries in matrix A:              1069
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          8 bytes
-
-    strategy used:                    symmetric 2-by-2
-    ordering used:                    amd on A+A'
-    modify Q during factorization:    no
-    prefer diagonal pivoting:         yes
-    pivots with zero Markowitz cost:               29
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    4
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    154
-        symmetry of nonzero pattern:               0.446860
-        nz in S+S' (excl. diagonal):               1286
-        nz on diagonal of matrix S:                154
-        fraction of nz on diagonal:                1.000000
-    2-by-2 pivoting to place large entries on diagonal:
-        # of small diagonal entries of S:          7
-        # unmatched:                               7
-        symmetry of P2*S:                          0.446860
-        nz in P2*S+(P2*S)' (excl. diag.):          1286
-        nz on diagonal of P2*S:                    154
-        fraction of nz on diag of P2*S:            1.000000
-    AMD statistics, for strict diagonal pivoting:
-        est. flops for LU factorization:           1.78450e+04
-        est. nz in L+U (incl. diagonal):           2080
-        est. largest front (# entries):            400
-        est. max nz in any column of L:            20
-        number of "dense" rows/columns in S+S':    0
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 4959
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         766
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    matrix scaled: yes (divided each row by sum of abs values in each row)
-    minimum sum (abs (rows of A)):              1.84689e-01
-    maximum sum (abs (rows of A)):              8.73139e+08
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                    4558                 4376    96%
-        peak size (Units)                      26357                11140    42%
-        final size (Units)                     17822                 2107    12%
-    Numeric final size (Units)                 19049                 3243    17%
-    Numeric final size (MBytes)                  0.1                  0.0    17%
-    peak memory usage (Units)                  29795                14578    49%
-    peak memory usage (MBytes)                   0.2                  0.1    49%
-    numeric factorization flops          3.51312e+05          1.19670e+04     3%
-    nz in L (incl diagonal)                     2633                 1136    43%
-    nz in U (incl diagonal)                    10968                  870     8%
-    nz in L+U (incl diagonal)                  13418                 1823    14%
-    largest front (# entries)                   3220                  728    23%
-    largest # rows in front                       25                   20    80%
-    largest # columns in front                   140                   58    41%
-
-    initial allocation ratio used:                 0.282
-    # of forced updates due to frontal growth:     2
-    number of off-diagonal pivots:                 3
-    nz in L (incl diagonal), if none dropped       1136
-    nz in U (incl diagonal), if none dropped       870
-    number of small entries dropped                0
-    nonzeros on diagonal of U:                     183
-    min abs. value on diagonal of U:               2.30e-09
-    max abs. value on diagonal of U:               1.00e+00
-    estimate of reciprocal of condition number:    2.30e-09
-    indices in compressed pattern:                 741
-    numerical values stored in Numeric object:     1781
-    numeric factorization defragmentations:        1
-    numeric factorization reallocations:           1
-    costly numeric factorization reallocations:    1
-    numeric factorization CPU time (sec):          0.00
-    numeric factorization wallclock time (sec):    0.00
-    symbolic + numeric CPU time (sec):             0.00
-    symbolic + numeric wall clock time (sec):      0.00
-
-    solve flops:                                   2.00240e+04
-    iterative refinement steps taken:              1
-    iterative refinement steps attempted:          1
-    sparse backward error omega1:                  2.21e-16
-    sparse backward error omega2:                  0.00e+00
-    solve CPU time (sec):                          0.00
-    solve wall clock time (sec):                   0.00
-
-    total symbolic + numeric + solve flops:        3.19910e+04
-    total symbolic + numeric + solve CPU time:     0.00
-    total symbolic+numeric+solve wall clock time:  0.00
-
-
-UMFPACK V4.4 (Jan. 28, 2005): OK
-
-dense vector, n = 183. OK
-
-relative maxnorm of residual, ||Ax-b||/||b||: 1.94586e-16
-relative maxnorm of error, ||x-xtrue||/||xtrue||: 1.22537e-06
-
-Writing tmp/x
-Writing tmp/info.umf4
-umf4 done, strategy: 0
-
-
-===========================================================
-=== AMD ===================================================
-===========================================================
-
-
-------- Now trying the AMD ordering.  This not part of
-the UMFPACK analysis or factorization, above, but a separate
-test of just the AMD ordering routine.
-
-amd:  approximate minimum degree ordering, parameters:
-    dense row parameter: 10
-    (rows with more than max (10 * sqrt (n), 16) entries are
-    considered "dense", and placed last in output permutation)
-    aggressive absorption:  yes
-
-AMD ordering time: cpu       0.01 wall       0.00
-
-amd:  approximate minimum degree ordering, results:
-    status: OK
-    n, dimension of A:                                  183
-    nz, number of nonzeros in A:                        1069
-    symmetry of A:                                      0.4176
-    number of nonzeros on diagonal:                     183
-    nonzeros in pattern of A+A' (excl. diagonal):       1402
-    # dense rows/columns of A+A':                       0
-    memory used, in bytes:                              13316
-    # of memory compactions:                            1
-
-    The following approximate statistics are for a subsequent
-    factorization of A(P,P) + A(P,P)'.  They are slight upper
-    bounds if there are no dense rows/columns in A+A', and become
-    looser if dense rows/columns exist.
-
-    nonzeros in L (excluding diagonal):                 1072
-    nonzeros in L (including diagonal):                 1255
-    # divide operations for LDL' or LU:                 1072
-    # multiply-subtract operations for LDL':            5320
-    # multiply-subtract operations for LU:              9568
-    max nz. in any column of L (incl. diagonal):        21
-
-    chol flop count for real A, sqrt counted as 1 flop: 11895
-    LDL' flop count for real A:                         11712
-    LDL' flop count for complex A:                      52208
-    LU flop count for real A (with no pivoting):        20208
-    LU flop count for complex A (with no pivoting):     86192
-
-AMD test done
-./readhb         < HB/arc130.rua > tmp/A
-Matrix key: ARC130  
-./readhb_size    < HB/arc130.rua > tmp/Asize
-./umf4
-
-===========================================================
-=== UMFPACK v4.4 ==========================================
-===========================================================
-
-UMFPACK V4.4 (Jan. 28, 2005), Control:
-
-    Matrix entry defined as: double
-    Int (generic integer) defined as: int
-
-    0: print level: 3
-    1: dense row parameter:    0.2
-        "dense" rows have    > max (16, (0.2)*16*sqrt(n_col) entries)
-    2: dense column parameter: 0.2
-        "dense" columns have > max (16, (0.2)*16*sqrt(n_row) entries)
-    3: pivot tolerance: 0.1
-    4: block size for dense matrix kernels: 32
-    5: strategy: 0 (auto)
-    6: initial allocation ratio: 0.7
-    7: max iterative refinement steps: 2
-    12: 2-by-2 pivot tolerance: 0.01
-    13: Q fixed during numerical factorization: 0 (auto)
-    14: AMD dense row/col parameter:    10
-       "dense" rows/columns have > max (16, (10)*sqrt(n)) entries
-        Only used if the AMD ordering is used.
-    15: diagonal pivot tolerance: 0.001
-        Only used if diagonal pivoting is attempted.
-    16: scaling: 1 (divide each row by sum of abs. values in each row)
-    17: frontal matrix allocation ratio: 0.5
-    18: drop tolerance: 0
-    19: AMD and COLAMD aggressive absorption: 1 (yes)
-
-    The following options can only be changed at compile-time:
-    8: BLAS library used:  none.  UMFPACK will be slow.
-    9: compiled for ANSI C (uses malloc, free, realloc, and printf)
-    10: CPU timer is POSIX times ( ) routine.
-    11: compiled for normal operation (debugging disabled)
-    computer/operating system: Linux
-    size of int: 4 long: 4 Int: 4 pointer: 4 double: 8 Entry: 8 (in bytes)
-
-File: tmp/A
-File: tmp/Asize
-n 130 nrow 130 ncol 130 nz 1282
-triplet-form matrix, n_row = 130, n_col = 130 nz = 1282. OK
-
-triplet-to-col time: wall 0 cpu 0
-column-form matrix, n_row 130 n_col 130, nz = 1282. OK
-
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double
-    Int (generic integer) defined as: int
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       130
-    number of columns in matrix A:    130
-    entries in matrix A:              1282
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          8 bytes
-
-    strategy used:                    symmetric
-    ordering used:                    amd on A+A'
-    modify Q during factorization:    no
-    prefer diagonal pivoting:         yes
-    pivots with zero Markowitz cost:               6
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    7
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    124
-        symmetry of nonzero pattern:               0.841193
-        nz in S+S' (excl. diagonal):               1204
-        nz on diagonal of matrix S:                124
-        fraction of nz on diagonal:                1.000000
-    AMD statistics, for strict diagonal pivoting:
-        est. flops for LU factorization:           8.27000e+03
-        est. nz in L+U (incl. diagonal):           1336
-        est. largest front (# entries):            324
-        est. max nz in any column of L:            18
-        number of "dense" rows/columns in S+S':    2
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 4759
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         637
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                    4599                    -      -
-        peak size (Units)                      25036                    -      -
-        final size (Units)                     12837                    -      -
-    Numeric final size (Units)                 13724                    -      -
-    Numeric final size (MBytes)                  0.1                    -      -
-    peak memory usage (Units)                  27681                    -      -
-    peak memory usage (MBytes)                   0.2                    -      -
-    numeric factorization flops          9.41610e+04                    -      -
-    nz in L (incl diagonal)                     1009                    -      -
-    nz in U (incl diagonal)                     7849                    -      -
-    nz in L+U (incl diagonal)                   8728                    -      -
-    largest front (# entries)                   2337                    -      -
-    largest # rows in front                       19                    -      -
-    largest # columns in front                   123                    -      -
-
-Symbolic object: OK
-
-Numeric object:  OK
-
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double
-    Int (generic integer) defined as: int
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       130
-    number of columns in matrix A:    130
-    entries in matrix A:              1282
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          8 bytes
-
-    strategy used:                    symmetric
-    ordering used:                    amd on A+A'
-    modify Q during factorization:    no
-    prefer diagonal pivoting:         yes
-    pivots with zero Markowitz cost:               6
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    7
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    124
-        symmetry of nonzero pattern:               0.841193
-        nz in S+S' (excl. diagonal):               1204
-        nz on diagonal of matrix S:                124
-        fraction of nz on diagonal:                1.000000
-    AMD statistics, for strict diagonal pivoting:
-        est. flops for LU factorization:           8.27000e+03
-        est. nz in L+U (incl. diagonal):           1336
-        est. largest front (# entries):            324
-        est. max nz in any column of L:            18
-        number of "dense" rows/columns in S+S':    2
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 4759
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         637
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    matrix scaled: yes (divided each row by sum of abs values in each row)
-    minimum sum (abs (rows of A)):              7.94859e-01
-    maximum sum (abs (rows of A)):              1.08460e+06
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                    4599                 4452    97%
-        peak size (Units)                      25036                 6478    26%
-        final size (Units)                     12837                 1054     8%
-    Numeric final size (Units)                 13724                 1876    14%
-    Numeric final size (MBytes)                  0.1                  0.0    14%
-    peak memory usage (Units)                  27681                 9123    33%
-    peak memory usage (MBytes)                   0.2                  0.1    33%
-    numeric factorization flops          9.41610e+04          4.20900e+03     4%
-    nz in L (incl diagonal)                     1009                  417    41%
-    nz in U (incl diagonal)                     7849                  787    10%
-    nz in L+U (incl diagonal)                   8728                 1074    12%
-    largest front (# entries)                   2337                  270    12%
-    largest # rows in front                       19                   18    95%
-    largest # columns in front                   123                   15    12%
-
-    initial allocation ratio used:                 0.36
-    # of forced updates due to frontal growth:     0
-    number of off-diagonal pivots:                 0
-    nz in L (incl diagonal), if none dropped       417
-    nz in U (incl diagonal), if none dropped       796
-    number of small entries dropped                9
-    nonzeros on diagonal of U:                     130
-    min abs. value on diagonal of U:               9.22e-07
-    max abs. value on diagonal of U:               1.00e+00
-    estimate of reciprocal of condition number:    9.22e-07
-    indices in compressed pattern:                 79
-    numerical values stored in Numeric object:     977
-    numeric factorization defragmentations:        1
-    numeric factorization reallocations:           1
-    costly numeric factorization reallocations:    0
-    numeric factorization CPU time (sec):          0.00
-    numeric factorization wallclock time (sec):    0.00
-    symbolic + numeric CPU time (sec):             0.00
-    symbolic + numeric wall clock time (sec):      0.00
-
-    solve flops:                                   1.80440e+04
-    iterative refinement steps taken:              1
-    iterative refinement steps attempted:          1
-    sparse backward error omega1:                  8.47e-17
-    sparse backward error omega2:                  0.00e+00
-    solve CPU time (sec):                          0.00
-    solve wall clock time (sec):                   0.00
-
-    total symbolic + numeric + solve flops:        2.22530e+04
-    total symbolic + numeric + solve CPU time:     0.00
-    total symbolic+numeric+solve wall clock time:  0.00
-
-
-UMFPACK V4.4 (Jan. 28, 2005): OK
-
-dense vector, n = 130. OK
-
-relative maxnorm of residual, ||Ax-b||/||b||: 1.37368e-16
-relative maxnorm of error, ||x-xtrue||/||xtrue||: 1.74277e-10
-
-Writing tmp/x
-Writing tmp/info.umf4
-umf4 done, strategy: 0
-
-
-===========================================================
-=== AMD ===================================================
-===========================================================
-
-
-------- Now trying the AMD ordering.  This not part of
-the UMFPACK analysis or factorization, above, but a separate
-test of just the AMD ordering routine.
-
-amd:  approximate minimum degree ordering, parameters:
-    dense row parameter: 10
-    (rows with more than max (10 * sqrt (n), 16) entries are
-    considered "dense", and placed last in output permutation)
-    aggressive absorption:  yes
-
-AMD ordering time: cpu       0.00 wall       0.00
-
-amd:  approximate minimum degree ordering, results:
-    status: OK
-    n, dimension of A:                                  130
-    nz, number of nonzeros in A:                        1282
-    symmetry of A:                                      0.7587
-    number of nonzeros on diagonal:                     130
-    nonzeros in pattern of A+A' (excl. diagonal):       1430
-    # dense rows/columns of A+A':                       2
-    memory used, in bytes:                              11544
-    # of memory compactions:                            0
-
-    The following approximate statistics are for a subsequent
-    factorization of A(P,P) + A(P,P)'.  They are slight upper
-    bounds if there are no dense rows/columns in A+A', and become
-    looser if dense rows/columns exist.
-
-    nonzeros in L (excluding diagonal):                 756
-    nonzeros in L (including diagonal):                 886
-    # divide operations for LDL' or LU:                 756
-    # multiply-subtract operations for LDL':            2959
-    # multiply-subtract operations for LU:              5162
-    max nz. in any column of L (incl. diagonal):        18
-
-    chol flop count for real A, sqrt counted as 1 flop: 6804
-    LDL' flop count for real A:                         6674
-    LDL' flop count for complex A:                      30476
-    LU flop count for real A (with no pivoting):        11080
-    LU flop count for complex A (with no pivoting):     48100
-
-AMD test done
-./readhb_nozeros < HB/arc130.rua > tmp/A
-Matrix key: ARC130  
-./readhb_size    < HB/arc130.rua > tmp/Asize
-./umf4
-
-===========================================================
-=== UMFPACK v4.4 ==========================================
-===========================================================
-
-UMFPACK V4.4 (Jan. 28, 2005), Control:
-
-    Matrix entry defined as: double
-    Int (generic integer) defined as: int
-
-    0: print level: 3
-    1: dense row parameter:    0.2
-        "dense" rows have    > max (16, (0.2)*16*sqrt(n_col) entries)
-    2: dense column parameter: 0.2
-        "dense" columns have > max (16, (0.2)*16*sqrt(n_row) entries)
-    3: pivot tolerance: 0.1
-    4: block size for dense matrix kernels: 32
-    5: strategy: 0 (auto)
-    6: initial allocation ratio: 0.7
-    7: max iterative refinement steps: 2
-    12: 2-by-2 pivot tolerance: 0.01
-    13: Q fixed during numerical factorization: 0 (auto)
-    14: AMD dense row/col parameter:    10
-       "dense" rows/columns have > max (16, (10)*sqrt(n)) entries
-        Only used if the AMD ordering is used.
-    15: diagonal pivot tolerance: 0.001
-        Only used if diagonal pivoting is attempted.
-    16: scaling: 1 (divide each row by sum of abs. values in each row)
-    17: frontal matrix allocation ratio: 0.5
-    18: drop tolerance: 0
-    19: AMD and COLAMD aggressive absorption: 1 (yes)
-
-    The following options can only be changed at compile-time:
-    8: BLAS library used:  none.  UMFPACK will be slow.
-    9: compiled for ANSI C (uses malloc, free, realloc, and printf)
-    10: CPU timer is POSIX times ( ) routine.
-    11: compiled for normal operation (debugging disabled)
-    computer/operating system: Linux
-    size of int: 4 long: 4 Int: 4 pointer: 4 double: 8 Entry: 8 (in bytes)
-
-File: tmp/A
-File: tmp/Asize
-n 130 nrow 130 ncol 130 nz 1037
-triplet-form matrix, n_row = 130, n_col = 130 nz = 1037. OK
-
-triplet-to-col time: wall 0 cpu 0
-column-form matrix, n_row 130 n_col 130, nz = 1037. OK
-
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double
-    Int (generic integer) defined as: int
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       130
-    number of columns in matrix A:    130
-    entries in matrix A:              1037
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          8 bytes
-
-    strategy used:                    symmetric
-    ordering used:                    amd on A+A'
-    modify Q during factorization:    no
-    prefer diagonal pivoting:         yes
-    pivots with zero Markowitz cost:               54
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    5
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    76
-        symmetry of nonzero pattern:               0.733224
-        nz in S+S' (excl. diagonal):               774
-        nz on diagonal of matrix S:                76
-        fraction of nz on diagonal:                1.000000
-    AMD statistics, for strict diagonal pivoting:
-        est. flops for LU factorization:           5.81700e+03
-        est. nz in L+U (incl. diagonal):           858
-        est. largest front (# entries):            289
-        est. max nz in any column of L:            17
-        number of "dense" rows/columns in S+S':    0
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 4111
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         527
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                    3196                    -      -
-        peak size (Units)                       9801                    -      -
-        final size (Units)                      4259                    -      -
-    Numeric final size (Units)                  5146                    -      -
-    Numeric final size (MBytes)                  0.0                    -      -
-    peak memory usage (Units)                  12135                    -      -
-    peak memory usage (MBytes)                   0.1                    -      -
-    numeric factorization flops          2.47640e+04                    -      -
-    nz in L (incl diagonal)                      606                    -      -
-    nz in U (incl diagonal)                     2537                    -      -
-    nz in L+U (incl diagonal)                   3013                    -      -
-    largest front (# entries)                    459                    -      -
-    largest # rows in front                       17                    -      -
-    largest # columns in front                    48                    -      -
-
-Symbolic object: OK
-
-Numeric object:  OK
-
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double
-    Int (generic integer) defined as: int
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       130
-    number of columns in matrix A:    130
-    entries in matrix A:              1037
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          8 bytes
-
-    strategy used:                    symmetric
-    ordering used:                    amd on A+A'
-    modify Q during factorization:    no
-    prefer diagonal pivoting:         yes
-    pivots with zero Markowitz cost:               54
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    5
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    76
-        symmetry of nonzero pattern:               0.733224
-        nz in S+S' (excl. diagonal):               774
-        nz on diagonal of matrix S:                76
-        fraction of nz on diagonal:                1.000000
-    AMD statistics, for strict diagonal pivoting:
-        est. flops for LU factorization:           5.81700e+03
-        est. nz in L+U (incl. diagonal):           858
-        est. largest front (# entries):            289
-        est. max nz in any column of L:            17
-        number of "dense" rows/columns in S+S':    0
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 4111
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         527
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    matrix scaled: yes (divided each row by sum of abs values in each row)
-    minimum sum (abs (rows of A)):              7.94859e-01
-    maximum sum (abs (rows of A)):              1.08460e+06
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                    3196                 3062    96%
-        peak size (Units)                       9801                 6376    65%
-        final size (Units)                      4259                 1141    27%
-    Numeric final size (Units)                  5146                 1963    38%
-    Numeric final size (MBytes)                  0.0                  0.0    38%
-    peak memory usage (Units)                  12135                 8710    72%
-    peak memory usage (MBytes)                   0.1                  0.1    72%
-    numeric factorization flops          2.47640e+04          4.10700e+03    17%
-    nz in L (incl diagonal)                      606                  409    67%
-    nz in U (incl diagonal)                     2537                  792    31%
-    nz in L+U (incl diagonal)                   3013                 1071    36%
-    largest front (# entries)                    459                  240    52%
-    largest # rows in front                       17                   16    94%
-    largest # columns in front                    48                   15    31%
-
-    initial allocation ratio used:                 0.755
-    # of forced updates due to frontal growth:     0
-    number of off-diagonal pivots:                 0
-    nz in L (incl diagonal), if none dropped       409
-    nz in U (incl diagonal), if none dropped       792
-    number of small entries dropped                0
-    nonzeros on diagonal of U:                     130
-    min abs. value on diagonal of U:               9.22e-07
-    max abs. value on diagonal of U:               1.00e+00
-    estimate of reciprocal of condition number:    9.22e-07
-    indices in compressed pattern:                 70
-    numerical values stored in Numeric object:     782
-    numeric factorization defragmentations:        1
-    numeric factorization reallocations:           1
-    costly numeric factorization reallocations:    0
-    numeric factorization CPU time (sec):          0.00
-    numeric factorization wallclock time (sec):    0.00
-    symbolic + numeric CPU time (sec):             0.00
-    symbolic + numeric wall clock time (sec):      0.00
-
-    solve flops:                                   1.58270e+04
-    iterative refinement steps taken:              1
-    iterative refinement steps attempted:          1
-    sparse backward error omega1:                  7.18e-17
-    sparse backward error omega2:                  0.00e+00
-    solve CPU time (sec):                          0.00
-    solve wall clock time (sec):                   0.00
-
-    total symbolic + numeric + solve flops:        1.99340e+04
-    total symbolic + numeric + solve CPU time:     0.00
-    total symbolic+numeric+solve wall clock time:  0.00
-
-
-UMFPACK V4.4 (Jan. 28, 2005): OK
-
-dense vector, n = 130. OK
-
-relative maxnorm of residual, ||Ax-b||/||b||: 1.37368e-16
-relative maxnorm of error, ||x-xtrue||/||xtrue||: 1.74255e-10
-
-Writing tmp/x
-Writing tmp/info.umf4
-umf4 done, strategy: 0
-
-
-===========================================================
-=== AMD ===================================================
-===========================================================
-
-
-------- Now trying the AMD ordering.  This not part of
-the UMFPACK analysis or factorization, above, but a separate
-test of just the AMD ordering routine.
-
-amd:  approximate minimum degree ordering, parameters:
-    dense row parameter: 10
-    (rows with more than max (10 * sqrt (n), 16) entries are
-    considered "dense", and placed last in output permutation)
-    aggressive absorption:  yes
-
-AMD ordering time: cpu       0.00 wall       0.00
-
-amd:  approximate minimum degree ordering, results:
-    status: OK
-    n, dimension of A:                                  130
-    nz, number of nonzeros in A:                        1037
-    symmetry of A:                                      0.4939
-    number of nonzeros on diagonal:                     130
-    nonzeros in pattern of A+A' (excl. diagonal):       1366
-    # dense rows/columns of A+A':                       2
-    memory used, in bytes:                              11236
-    # of memory compactions:                            0
-
-    The following approximate statistics are for a subsequent
-    factorization of A(P,P) + A(P,P)'.  They are slight upper
-    bounds if there are no dense rows/columns in A+A', and become
-    looser if dense rows/columns exist.
-
-    nonzeros in L (excluding diagonal):                 725
-    nonzeros in L (including diagonal):                 855
-    # divide operations for LDL' or LU:                 725
-    # multiply-subtract operations for LDL':            2742
-    # multiply-subtract operations for LU:              4759
-    max nz. in any column of L (incl. diagonal):        18
-
-    chol flop count for real A, sqrt counted as 1 flop: 6339
-    LDL' flop count for real A:                         6209
-    LDL' flop count for complex A:                      28461
-    LU flop count for real A (with no pivoting):        10243
-    LU flop count for complex A (with no pivoting):     44597
-
-AMD test done
-./readhb_nozeros < HB/arc130.rua > tmp/A
-Matrix key: ARC130  
-./readhb_size    < HB/arc130.rua > tmp/Asize
-./umf4 a 1e-6
-
-===========================================================
-=== UMFPACK v4.4 ==========================================
-===========================================================
-droptol 1e-06
-
-UMFPACK V4.4 (Jan. 28, 2005), Control:
-
-    Matrix entry defined as: double
-    Int (generic integer) defined as: int
-
-    0: print level: 3
-    1: dense row parameter:    0.2
-        "dense" rows have    > max (16, (0.2)*16*sqrt(n_col) entries)
-    2: dense column parameter: 0.2
-        "dense" columns have > max (16, (0.2)*16*sqrt(n_row) entries)
-    3: pivot tolerance: 0.1
-    4: block size for dense matrix kernels: 32
-    5: strategy: 0 (auto)
-    6: initial allocation ratio: 0.7
-    7: max iterative refinement steps: 2
-    12: 2-by-2 pivot tolerance: 0.01
-    13: Q fixed during numerical factorization: 0 (auto)
-    14: AMD dense row/col parameter:    10
-       "dense" rows/columns have > max (16, (10)*sqrt(n)) entries
-        Only used if the AMD ordering is used.
-    15: diagonal pivot tolerance: 0.001
-        Only used if diagonal pivoting is attempted.
-    16: scaling: 1 (divide each row by sum of abs. values in each row)
-    17: frontal matrix allocation ratio: 0.5
-    18: drop tolerance: 1e-06
-    19: AMD and COLAMD aggressive absorption: 1 (yes)
-
-    The following options can only be changed at compile-time:
-    8: BLAS library used:  none.  UMFPACK will be slow.
-    9: compiled for ANSI C (uses malloc, free, realloc, and printf)
-    10: CPU timer is POSIX times ( ) routine.
-    11: compiled for normal operation (debugging disabled)
-    computer/operating system: Linux
-    size of int: 4 long: 4 Int: 4 pointer: 4 double: 8 Entry: 8 (in bytes)
-
-File: tmp/A
-File: tmp/Asize
-n 130 nrow 130 ncol 130 nz 1037
-triplet-form matrix, n_row = 130, n_col = 130 nz = 1037. OK
-
-triplet-to-col time: wall 0 cpu 0
-column-form matrix, n_row 130 n_col 130, nz = 1037. OK
-
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double
-    Int (generic integer) defined as: int
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       130
-    number of columns in matrix A:    130
-    entries in matrix A:              1037
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          8 bytes
-
-    strategy used:                    symmetric
-    ordering used:                    amd on A+A'
-    modify Q during factorization:    no
-    prefer diagonal pivoting:         yes
-    pivots with zero Markowitz cost:               54
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    5
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    76
-        symmetry of nonzero pattern:               0.733224
-        nz in S+S' (excl. diagonal):               774
-        nz on diagonal of matrix S:                76
-        fraction of nz on diagonal:                1.000000
-    AMD statistics, for strict diagonal pivoting:
-        est. flops for LU factorization:           5.81700e+03
-        est. nz in L+U (incl. diagonal):           858
-        est. largest front (# entries):            289
-        est. max nz in any column of L:            17
-        number of "dense" rows/columns in S+S':    0
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 4111
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         527
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                    3196                    -      -
-        peak size (Units)                       9801                    -      -
-        final size (Units)                      4259                    -      -
-    Numeric final size (Units)                  5146                    -      -
-    Numeric final size (MBytes)                  0.0                    -      -
-    peak memory usage (Units)                  12135                    -      -
-    peak memory usage (MBytes)                   0.1                    -      -
-    numeric factorization flops          2.47640e+04                    -      -
-    nz in L (incl diagonal)                      606                    -      -
-    nz in U (incl diagonal)                     2537                    -      -
-    nz in L+U (incl diagonal)                   3013                    -      -
-    largest front (# entries)                    459                    -      -
-    largest # rows in front                       17                    -      -
-    largest # columns in front                    48                    -      -
-
-Symbolic object: OK
-
-Numeric object:  OK
-
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double
-    Int (generic integer) defined as: int
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       130
-    number of columns in matrix A:    130
-    entries in matrix A:              1037
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          8 bytes
-
-    strategy used:                    symmetric
-    ordering used:                    amd on A+A'
-    modify Q during factorization:    no
-    prefer diagonal pivoting:         yes
-    pivots with zero Markowitz cost:               54
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    5
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    76
-        symmetry of nonzero pattern:               0.733224
-        nz in S+S' (excl. diagonal):               774
-        nz on diagonal of matrix S:                76
-        fraction of nz on diagonal:                1.000000
-    AMD statistics, for strict diagonal pivoting:
-        est. flops for LU factorization:           5.81700e+03
-        est. nz in L+U (incl. diagonal):           858
-        est. largest front (# entries):            289
-        est. max nz in any column of L:            17
-        number of "dense" rows/columns in S+S':    0
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 4111
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         527
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    matrix scaled: yes (divided each row by sum of abs values in each row)
-    minimum sum (abs (rows of A)):              7.94859e-01
-    maximum sum (abs (rows of A)):              1.08460e+06
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                    3196                 2762    86%
-        peak size (Units)                       9801                 5323    54%
-        final size (Units)                      4259                  457    11%
-    Numeric final size (Units)                  5146                 1279    25%
-    Numeric final size (MBytes)                  0.0                  0.0    25%
-    peak memory usage (Units)                  12135                 7657    63%
-    peak memory usage (MBytes)                   0.1                  0.1    63%
-    numeric factorization flops          2.47640e+04          4.10700e+03    17%
-    nz in L (incl diagonal)                      606                  318    52%
-    nz in U (incl diagonal)                     2537                  285    11%
-    nz in L+U (incl diagonal)                   3013                  473    16%
-    largest front (# entries)                    459                  240    52%
-    largest # rows in front                       17                   16    94%
-    largest # columns in front                    48                   15    31%
-
-    initial allocation ratio used:                 0.755
-    # of forced updates due to frontal growth:     0
-    number of off-diagonal pivots:                 0
-    nz in L (incl diagonal), if none dropped       409
-    nz in U (incl diagonal), if none dropped       792
-    number of small entries dropped                598
-    nonzeros on diagonal of U:                     130
-    min abs. value on diagonal of U:               9.22e-07
-    max abs. value on diagonal of U:               1.00e+00
-    estimate of reciprocal of condition number:    9.22e-07
-    indices in compressed pattern:                 82
-    numerical values stored in Numeric object:     386
-    numeric factorization defragmentations:        1
-    numeric factorization reallocations:           1
-    costly numeric factorization reallocations:    0
-    numeric factorization CPU time (sec):          0.00
-    numeric factorization wallclock time (sec):    0.00
-    symbolic + numeric CPU time (sec):             0.00
-    symbolic + numeric wall clock time (sec):      0.00
-
-    solve flops:                                   2.06060e+04
-    iterative refinement steps taken:              2
-    iterative refinement steps attempted:          2
-    sparse backward error omega1:                  1.30e-16
-    sparse backward error omega2:                  0.00e+00
-    solve CPU time (sec):                          0.00
-    solve wall clock time (sec):                   0.00
-
-    total symbolic + numeric + solve flops:        2.47130e+04
-    total symbolic + numeric + solve CPU time:     0.00
-    total symbolic+numeric+solve wall clock time:  0.00
-
-
-UMFPACK V4.4 (Jan. 28, 2005): OK
-
-dense vector, n = 130. OK
-
-relative maxnorm of residual, ||Ax-b||/||b||: 1.37368e-16
-relative maxnorm of error, ||x-xtrue||/||xtrue||: 1.94084e-10
-
-Writing tmp/x
-Writing tmp/info.umf4
-umf4 done, strategy: 0
-
-
-===========================================================
-=== AMD ===================================================
-===========================================================
-
-
-------- Now trying the AMD ordering.  This not part of
-the UMFPACK analysis or factorization, above, but a separate
-test of just the AMD ordering routine.
-
-amd:  approximate minimum degree ordering, parameters:
-    dense row parameter: 10
-    (rows with more than max (10 * sqrt (n), 16) entries are
-    considered "dense", and placed last in output permutation)
-    aggressive absorption:  yes
-
-AMD ordering time: cpu       0.00 wall       0.00
-
-amd:  approximate minimum degree ordering, results:
-    status: OK
-    n, dimension of A:                                  130
-    nz, number of nonzeros in A:                        1037
-    symmetry of A:                                      0.4939
-    number of nonzeros on diagonal:                     130
-    nonzeros in pattern of A+A' (excl. diagonal):       1366
-    # dense rows/columns of A+A':                       2
-    memory used, in bytes:                              11236
-    # of memory compactions:                            0
-
-    The following approximate statistics are for a subsequent
-    factorization of A(P,P) + A(P,P)'.  They are slight upper
-    bounds if there are no dense rows/columns in A+A', and become
-    looser if dense rows/columns exist.
-
-    nonzeros in L (excluding diagonal):                 725
-    nonzeros in L (including diagonal):                 855
-    # divide operations for LDL' or LU:                 725
-    # multiply-subtract operations for LDL':            2742
-    # multiply-subtract operations for LU:              4759
-    max nz. in any column of L (incl. diagonal):        18
-
-    chol flop count for real A, sqrt counted as 1 flop: 6339
-    LDL' flop count for real A:                         6209
-    LDL' flop count for complex A:                      28461
-    LU flop count for real A (with no pivoting):        10243
-    LU flop count for complex A (with no pivoting):     44597
-
-AMD test done
--- a/liboctave/UMFPACK/UMFPACK/Demo/umf4_f77wrapper.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,505 +0,0 @@
-/* ========================================================================== */
-/* === umf4_f77wrapper ====================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/* FORTRAN interface for the C-callable UMFPACK library (double / int version
- * only and double / long versions only).  This is HIGHLY non-portable.  You
- * will need to modify this depending on how your FORTRAN and C compilers
- * behave.  This has been tested in Linux, Sun Solaris, SGI IRIX, and IBM AIX,
- * with various compilers.  It has not been exhaustively tested on all possible
- * combinations of C and FORTRAN compilers.  The long version works on
- * Solaris, SGI IRIX, and IBM AIX when the UMFPACK library is compiled in
- * 64-bit mode.
- *
- * Only a subset of UMFPACK's capabilities are provided.  Refer to the UMFPACK
- * User Guide for details.
- *
- * For some C and FORTRAN compilers, the FORTRAN compiler appends a single
- * underscore ("_") after each routine name.  C doesn't do this, so the
- * translation is made here.  Other FORTRAN compilers treat underscores
- * differently.  For example, a FORTRAN call to a_b gets translated to a call
- * to a_b__ by g77, and to a_b_ by most other FORTRAN compilers.  Thus, the
- * FORTRAN names here do not use underscores.  The xlf compiler in IBM AIX
- * doesn't add an underscore.
- *
- * The matrix A is passed to UMFPACK in compressed column form, with 0-based
- * indices.  In FORTRAN, for an m-by-n matrix A with nz entries, the row
- * indices of the first column (column 1) are in Ai (Ap (1) + 1 ... Ap (2)),
- * with values in Ax (Ap (1) + 1 ... Ap (2)).  The last column (column n) is
- * in Ai (Ap (n) + 1 ... Ap (n+1)) and Ax (Ap (n) + 1 ... Ap (n+1)).  The row
- * indices in Ai are in the range 0 to m-1.  They must be sorted, with no
- * duplicate entries allowed.  Refer to umfpack_di_triplet_to_col for a more
- * flexible format for the input matrix.  The following defintions apply
- * for each of the routines in this file:
- *
- *	integer m, n, Ap (n+1), Ai (nz), symbolic, numeric, filenum, status
- *	double precision Ax (nz), control (20), info (90), x (n), b (n)
- *
- * UMFPACK's status is returned in either a status argument, or in info (1).
- * It is zero if everything is OK, 1 if the matrix is singular (this is a
- * warning, not an error), and negative if an error occurred.  See umfpack.h
- * for more details on the contents of the control and info arrays, and the
- * value of the sys argument.
- *
- * For the Numeric and Symbolic handles, it's probably safe to assume that a
- * FORTRAN integer is sufficient to store a C pointer.  If that doesn't work,
- * try defining numeric and symbolic as integer arrays of size 2, or as
- * integer*8, in the FORTRAN routine that calls these wrapper routines.
- * The latter is required on Solaris, SGI IRIX, and IBM AIX when UMFPACK is
- * compiled in 64-bit mode.
- *
- * If you want to use 64-bit integers, try compiling this file with the -DDLONG
- * compiler option (via "make fortran64").  First modify your Make/Make.include
- * and Make/Make.<arch> files to compile UMFPACK in LP64 mode (see the User
- * Guide for details).  Your FORTRAN code should use integer*8.  See umf4hb64.f
- * for an example.
- *
- * Tested with the following compilers:
- *	* Solaris with cc and f77 from Sun WorkShop 6 update 1
- *	    (32-bit and 64-bit modes)
- *	* SGI Irix with MIPSpro cc and f77 compilers version 7.4
- *	    (32-bit and 64-bit modes)
- *	* Linux with GNU gcc and Intel's icc, and GNU g77 and Intel's
- *	    ifc FORTRAN compiler.  See the comments above about g77 and
- *	    underscores.  Only supports 32-bit mode.
- *	* IBM AIX xlc and xlf compilers.
- *	    (32-bit and 64-bit modes)
- */
-
-#include "umfpack.h"
-#include <ctype.h>
-#include <stdio.h>
-#ifdef NULL
-#undef NULL
-#endif
-#define NULL 0
-#define LEN 200
-
-/* -------------------------------------------------------------------------- */
-/* integer type: int or long */
-/* -------------------------------------------------------------------------- */
-
-#if defined (DLONG)
-
-#define Int long
-#define UMFPACK_defaults	 umfpack_dl_defaults
-#define UMFPACK_free_numeric	 umfpack_dl_free_numeric
-#define UMFPACK_free_symbolic	 umfpack_dl_free_symbolic
-#define UMFPACK_numeric		 umfpack_dl_numeric
-#define UMFPACK_report_control	 umfpack_dl_report_control
-#define UMFPACK_report_info	 umfpack_dl_report_info
-#define UMFPACK_save_numeric	 umfpack_dl_save_numeric
-#define UMFPACK_save_symbolic	 umfpack_dl_save_symbolic
-#define UMFPACK_load_numeric	 umfpack_dl_load_numeric
-#define UMFPACK_load_symbolic	 umfpack_dl_load_symbolic
-#define UMFPACK_scale		 umfpack_dl_scale
-#define UMFPACK_solve		 umfpack_dl_solve
-#define UMFPACK_symbolic	 umfpack_dl_symbolic
-
-#else
-
-#define Int int
-#define UMFPACK_defaults	 umfpack_di_defaults
-#define UMFPACK_free_numeric	 umfpack_di_free_numeric
-#define UMFPACK_free_symbolic	 umfpack_di_free_symbolic
-#define UMFPACK_numeric		 umfpack_di_numeric
-#define UMFPACK_report_control	 umfpack_di_report_control
-#define UMFPACK_report_info	 umfpack_di_report_info
-#define UMFPACK_save_numeric	 umfpack_di_save_numeric
-#define UMFPACK_save_symbolic	 umfpack_di_save_symbolic
-#define UMFPACK_load_numeric	 umfpack_di_load_numeric
-#define UMFPACK_load_symbolic	 umfpack_di_load_symbolic
-#define UMFPACK_scale		 umfpack_di_scale
-#define UMFPACK_solve		 umfpack_di_solve
-#define UMFPACK_symbolic	 umfpack_di_symbolic
-
-#endif
-
-/* -------------------------------------------------------------------------- */
-/* construct a file name from a file number (not user-callable) */
-/* -------------------------------------------------------------------------- */
-
-static void make_filename (Int filenum, char *prefix, char *filename)
-{
-    char *psrc, *pdst ;
-#ifdef DLONG
-    sprintf (filename, "%s%ld.umf", prefix, filenum) ;
-#else
-    sprintf (filename, "%s%d.umf", prefix, filenum) ;
-#endif
-    /* remove any spaces in the filename */
-    pdst = filename ;
-    for (psrc = filename ; *psrc ; psrc++)
-    {
-	if (!isspace (*psrc)) *pdst++ = *psrc ;
-    }
-    *pdst = '\0' ;
-}
-
-/* ========================================================================== */
-/* === with underscore ====================================================== */
-/* ========================================================================== */
-
-/* Solaris, Linux, and SGI IRIX.  Probably Compaq Alpha as well. */
-
-/* -------------------------------------------------------------------------- */
-/* umf4def: set default control parameters */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4def (control) */
-
-void umf4def_ (double Control [UMFPACK_CONTROL])
-{
-    UMFPACK_defaults (Control) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4pcon: print control parameters */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4pcon (control) */
-
-void umf4pcon_ (double Control [UMFPACK_CONTROL])
-{
-    fflush (stdout) ;
-    UMFPACK_report_control (Control) ;
-    fflush (stdout) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4sym: pre-ordering and symbolic factorization */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4sym (m, n, Ap, Ai, Ax, symbolic, control, info) */
-
-void umf4sym_ (Int *m, Int *n, Int Ap [ ], Int Ai [ ],
-    double Ax [ ], void **Symbolic,
-    double Control [UMFPACK_CONTROL], double Info [UMFPACK_INFO])
-{
-    (void) UMFPACK_symbolic (*m, *n, Ap, Ai, Ax, Symbolic, Control, Info) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4num: numeric factorization */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4num (Ap, Ai, Ax, symbolic, numeric, control, info) */
-
-void umf4num_ (Int Ap [ ], Int Ai [ ], double Ax [ ],
-    void **Symbolic, void **Numeric,
-    double Control [UMFPACK_CONTROL], double Info [UMFPACK_INFO])
-{
-    (void) UMFPACK_numeric (Ap, Ai, Ax, *Symbolic, Numeric, Control, Info);
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4solr: solve a linear system with iterative refinement */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4solr (sys, Ap, Ai, Ax, x, b, numeric, control, info) */
-
-void umf4solr_ (Int *sys, Int Ap [ ], Int Ai [ ], double Ax [ ],
-    double x [ ], double b [ ], void **Numeric,
-    double Control [UMFPACK_CONTROL], double Info [UMFPACK_INFO])
-{
-    (void) UMFPACK_solve (*sys, Ap, Ai, Ax, x, b, *Numeric, Control, Info) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4sol: solve a linear system without iterative refinement */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4sol (sys, x, b, numeric, control, info) */
-
-void umf4sol_ (Int *sys, double x [ ], double b [ ], void **Numeric,
-    double Control [UMFPACK_CONTROL], double Info [UMFPACK_INFO])
-{
-    Control [UMFPACK_IRSTEP] = 0 ;
-    (void) UMFPACK_solve (*sys, (Int *) NULL, (Int *) NULL, (double *) NULL,
-	x, b, *Numeric, Control, Info) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4scal: scale a vector using UMFPACK's scale factors */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4scal (x, b, numeric, status) */
-
-void umf4scal_ (double x [ ], double b [ ], void **Numeric, Int *status)
-{
-    *status = UMFPACK_scale (x, b, *Numeric) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4pinf: print info */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4pinf (control) */
-
-void umf4pinf_ (double Control [UMFPACK_CONTROL], double Info [UMFPACK_INFO])
-{
-    fflush (stdout) ;
-    UMFPACK_report_info (Control, Info) ;
-    fflush (stdout) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4fnum: free the Numeric object */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4fnum (numeric) */
-
-void umf4fnum_ (void **Numeric)
-{
-    UMFPACK_free_numeric (Numeric) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4fsym: free the Symbolic object */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4fsym (symbolic) */
-
-void umf4fsym_ (void **Symbolic)
-{
-    UMFPACK_free_symbolic (Symbolic) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4snum: save the Numeric object to a file */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4snum (numeric, filenum, status) */
-
-void umf4snum_ (void **Numeric, Int *filenum, Int *status)
-{
-    char filename [LEN] ;
-    make_filename (*filenum, "n", filename) ;
-    *status = UMFPACK_save_numeric (*Numeric, filename) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4ssym: save the Symbolic object to a file */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4ssym (symbolic, filenum, status) */
-
-void umf4ssym_ (void **Symbolic, Int *filenum, Int *status)
-{
-    char filename [LEN] ;
-    make_filename (*filenum, "s", filename) ;
-    *status = UMFPACK_save_symbolic (*Symbolic, filename) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4lnum: load the Numeric object from a file */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4lnum (numeric, filenum, status) */
-
-void umf4lnum_ (void **Numeric, Int *filenum, Int *status)
-{
-    char filename [LEN] ;
-    make_filename (*filenum, "n", filename) ;
-    *status = UMFPACK_load_numeric (Numeric, filename) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4lsym: load the Symbolic object from a file */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4lsym (symbolic, filenum, status) */
-
-void umf4lsym_ (void **Symbolic, Int *filenum, Int *status)
-{
-    char filename [LEN] ;
-    make_filename (*filenum, "s", filename) ;
-    *status = UMFPACK_load_symbolic (Symbolic, filename) ;
-}
-
-/* ========================================================================== */
-/* === with no underscore =================================================== */
-/* ========================================================================== */
-
-/* IBM AIX.  Probably Microsoft Windows and HP Unix as well.  */
-
-/* -------------------------------------------------------------------------- */
-/* umf4def: set default control parameters */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4def (control) */
-
-void umf4def (double Control [UMFPACK_CONTROL])
-{
-    UMFPACK_defaults (Control) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4pcon: print control parameters */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4pcon (control) */
-
-void umf4pcon (double Control [UMFPACK_CONTROL])
-{
-    fflush (stdout) ;
-    UMFPACK_report_control (Control) ;
-    fflush (stdout) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4sym: pre-ordering and symbolic factorization */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4sym (m, n, Ap, Ai, Ax, symbolic, control, info) */
-
-void umf4sym (Int *m, Int *n, Int Ap [ ], Int Ai [ ],
-    double Ax [ ], void **Symbolic,
-    double Control [UMFPACK_CONTROL], double Info [UMFPACK_INFO])
-{
-    (void) UMFPACK_symbolic (*m, *n, Ap, Ai, Ax, Symbolic, Control, Info) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4num: numeric factorization */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4num (Ap, Ai, Ax, symbolic, numeric, control, info) */
-
-void umf4num (Int Ap [ ], Int Ai [ ], double Ax [ ],
-    void **Symbolic, void **Numeric,
-    double Control [UMFPACK_CONTROL], double Info [UMFPACK_INFO])
-{
-    (void) UMFPACK_numeric (Ap, Ai, Ax, *Symbolic, Numeric, Control, Info);
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4solr: solve a linear system with iterative refinement */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4solr (sys, Ap, Ai, Ax, x, b, numeric, control, info) */
-
-void umf4solr (Int *sys, Int Ap [ ], Int Ai [ ], double Ax [ ],
-    double x [ ], double b [ ], void **Numeric,
-    double Control [UMFPACK_CONTROL], double Info [UMFPACK_INFO])
-{
-    (void) UMFPACK_solve (*sys, Ap, Ai, Ax, x, b, *Numeric, Control, Info) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4sol: solve a linear system without iterative refinement */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4sol (sys, x, b, numeric, control, info) */
-
-void umf4sol (Int *sys, double x [ ], double b [ ], void **Numeric,
-    double Control [UMFPACK_CONTROL], double Info [UMFPACK_INFO])
-{
-    Control [UMFPACK_IRSTEP] = 0 ;
-    (void) UMFPACK_solve (*sys, (Int *) NULL, (Int *) NULL, (double *) NULL,
-	x, b, *Numeric, Control, Info) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4scal: scale a vector using UMFPACK's scale factors */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4scal (x, b, numeric, status) */
-
-void umf4scal (double x [ ], double b [ ], void **Numeric, Int *status)
-{
-    *status = UMFPACK_scale (x, b, *Numeric) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4pinf: print info */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4pinf (control) */
-
-void umf4pinf (double Control [UMFPACK_CONTROL], double Info [UMFPACK_INFO])
-{
-    fflush (stdout) ;
-    UMFPACK_report_info (Control, Info) ;
-    fflush (stdout) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4fnum: free the Numeric object */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4fnum (numeric) */
-
-void umf4fnum (void **Numeric)
-{
-    UMFPACK_free_numeric (Numeric) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4fsym: free the Symbolic object */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4fsym (symbolic) */
-
-void umf4fsym (void **Symbolic)
-{
-    UMFPACK_free_symbolic (Symbolic) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4snum: save the Numeric object to a file */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4snum (numeric, filenum, status) */
-
-void umf4snum (void **Numeric, Int *filenum, Int *status)
-{
-    char filename [LEN] ;
-    make_filename (*filenum, "n", filename) ;
-    *status = UMFPACK_save_numeric (*Numeric, filename) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4ssym: save the Symbolic object to a file */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4ssym (symbolic, filenum, status) */
-
-void umf4ssym (void **Symbolic, Int *filenum, Int *status)
-{
-    char filename [LEN] ;
-    make_filename (*filenum, "s", filename) ;
-    *status = UMFPACK_save_symbolic (*Symbolic, filename) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4lnum: load the Numeric object from a file */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4lnum (numeric, filenum, status) */
-
-void umf4lnum (void **Numeric, Int *filenum, Int *status)
-{
-    char filename [LEN] ;
-    make_filename (*filenum, "n", filename) ;
-    *status = UMFPACK_load_numeric (Numeric, filename) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4lsym: load the Symbolic object from a file */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4lsym (symbolic, filenum, status) */
-
-void umf4lsym (void **Symbolic, Int *filenum, Int *status)
-{
-    char filename [LEN] ;
-    make_filename (*filenum, "s", filename) ;
-    *status = UMFPACK_load_symbolic (Symbolic, filename) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Demo/umf4_f77zwrapper.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,462 +0,0 @@
-/* ========================================================================== */
-/* === umf4_f77zwrapper ===================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/* FORTRAN interface for the C-callable UMFPACK library (complex / int version
- * only and complex / long versions only).  This is HIGHLY non-portable.  You
- * will need to modify this depending on how your FORTRAN and C compilers
- * behave.
- *
- * See umf4z_f77wrapper.c for more information.
- *
- * The complex values are provided in two separate arrays.  Ax contains the
- * real part and Az contains the imaginary part.  The solution vector is in
- * x (the real part) and xz (the imaginary part.  b is the real part of the
- * right-hand-side and bz is the imaginary part.  Does not support the
- * packed complex type.
- */
-
-#include "umfpack.h"
-#include <ctype.h>
-#include <stdio.h>
-#ifdef NULL
-#undef NULL
-#endif
-#define NULL 0
-#define LEN 200
-
-/* -------------------------------------------------------------------------- */
-/* integer type: int or long */
-/* -------------------------------------------------------------------------- */
-
-#if defined (ZLONG)
-
-#define Int long
-#define UMFPACK_defaults	 umfpack_zl_defaults
-#define UMFPACK_free_numeric	 umfpack_zl_free_numeric
-#define UMFPACK_free_symbolic	 umfpack_zl_free_symbolic
-#define UMFPACK_numeric		 umfpack_zl_numeric
-#define UMFPACK_report_control	 umfpack_zl_report_control
-#define UMFPACK_report_info	 umfpack_zl_report_info
-#define UMFPACK_save_numeric	 umfpack_zl_save_numeric
-#define UMFPACK_save_symbolic	 umfpack_zl_save_symbolic
-#define UMFPACK_load_numeric	 umfpack_zl_load_numeric
-#define UMFPACK_load_symbolic	 umfpack_zl_load_symbolic
-#define UMFPACK_scale		 umfpack_zl_scale
-#define UMFPACK_solve		 umfpack_zl_solve
-#define UMFPACK_symbolic	 umfpack_zl_symbolic
-
-#else
-
-#define Int int
-#define UMFPACK_defaults	 umfpack_zi_defaults
-#define UMFPACK_free_numeric	 umfpack_zi_free_numeric
-#define UMFPACK_free_symbolic	 umfpack_zi_free_symbolic
-#define UMFPACK_numeric		 umfpack_zi_numeric
-#define UMFPACK_report_control	 umfpack_zi_report_control
-#define UMFPACK_report_info	 umfpack_zi_report_info
-#define UMFPACK_save_numeric	 umfpack_zi_save_numeric
-#define UMFPACK_save_symbolic	 umfpack_zi_save_symbolic
-#define UMFPACK_load_numeric	 umfpack_zi_load_numeric
-#define UMFPACK_load_symbolic	 umfpack_zi_load_symbolic
-#define UMFPACK_scale		 umfpack_zi_scale
-#define UMFPACK_solve		 umfpack_zi_solve
-#define UMFPACK_symbolic	 umfpack_zi_symbolic
-
-#endif
-
-/* -------------------------------------------------------------------------- */
-/* construct a file name from a file number (not user-callable) */
-/* -------------------------------------------------------------------------- */
-
-static void make_filename (Int filenum, char *prefix, char *filename)
-{
-    char *psrc, *pdst ;
-#ifdef ZLONG
-    sprintf (filename, "%s%ld.umf", prefix, filenum) ;
-#else
-    sprintf (filename, "%s%d.umf", prefix, filenum) ;
-#endif
-    /* remove any spaces in the filename */
-    pdst = filename ;
-    for (psrc = filename ; *psrc ; psrc++)
-    {
-	if (!isspace (*psrc)) *pdst++ = *psrc ;
-    }
-    *pdst = '\0' ;
-}
-
-/* ========================================================================== */
-/* === with underscore ====================================================== */
-/* ========================================================================== */
-
-/* Solaris, Linux, and SGI IRIX.  Probably Compaq Alpha as well. */
-
-/* -------------------------------------------------------------------------- */
-/* umf4zdef: set default control parameters */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4zdef (control) */
-
-void umf4zdef_ (double Control [UMFPACK_CONTROL])
-{
-    UMFPACK_defaults (Control) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4zpcon: print control parameters */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4zpcon (control) */
-
-void umf4zpcon_ (double Control [UMFPACK_CONTROL])
-{
-    fflush (stdout) ;
-    UMFPACK_report_control (Control) ;
-    fflush (stdout) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4zsym: pre-ordering and symbolic factorization */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4zsym (m, n, Ap, Ai, Ax, Az, symbolic, control, info) */
-
-void umf4zsym_ (Int *m, Int *n, Int Ap [ ], Int Ai [ ],
-    double Ax [ ], double Az [ ], void **Symbolic,
-    double Control [UMFPACK_CONTROL], double Info [UMFPACK_INFO])
-{
-    (void) UMFPACK_symbolic (*m, *n, Ap, Ai, Ax, Az, Symbolic, Control, Info) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4znum: numeric factorization */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4znum (Ap, Ai, Ax, Az, symbolic, numeric, control, info) */
-
-void umf4znum_ (Int Ap [ ], Int Ai [ ], double Ax [ ], double Az [ ],
-    void **Symbolic, void **Numeric,
-    double Control [UMFPACK_CONTROL], double Info [UMFPACK_INFO])
-{
-    (void) UMFPACK_numeric (Ap, Ai, Ax, Az, *Symbolic, Numeric, Control, Info);
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4zsolr: solve a linear system with iterative refinement */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4zsolr (sys, Ap, Ai, Ax, Az, x, xz, b, bz, numeric, control, info) */
-
-void umf4zsolr_ (Int *sys, Int Ap [ ], Int Ai [ ], double Ax [ ], double Az [ ],
-    double x [ ], double xz [ ], double b [ ], double bz [ ], void **Numeric,
-    double Control [UMFPACK_CONTROL], double Info [UMFPACK_INFO])
-{
-    (void) UMFPACK_solve (*sys, Ap, Ai, Ax, Az, x, xz, b, bz,
-	*Numeric, Control, Info) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4zsol: solve a linear system without iterative refinement */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4zsol (sys, x, xz, b, bz, numeric, control, info) */
-
-void umf4zsol_ (Int *sys, double x [ ], double xz [ ], double b [ ],
-    double bz [ ], void **Numeric,
-    double Control [UMFPACK_CONTROL], double Info [UMFPACK_INFO])
-{
-    Control [UMFPACK_IRSTEP] = 0 ;
-    (void) UMFPACK_solve (*sys, (Int *) NULL, (Int *) NULL, (double *) NULL,
-	(double *) NULL, x, xz, b, bz, *Numeric, Control, Info) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4zscal: scale a vector using UMFPACK's scale factors */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4zscal (x, xz, b, bz, numeric, status) */
-
-void umf4zscal_ (double x [ ], double xz [ ], double b [ ], double bz [ ],
-    void **Numeric, Int *status)
-{
-    *status = UMFPACK_scale (x, xz, b, bz, *Numeric) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4zpinf: print info */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4zpinf (control) */
-
-void umf4zpinf_ (double Control [UMFPACK_CONTROL], double Info [UMFPACK_INFO])
-{
-    fflush (stdout) ;
-    UMFPACK_report_info (Control, Info) ;
-    fflush (stdout) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4zfnum: free the Numeric object */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4zfnum (numeric) */
-
-void umf4zfnum_ (void **Numeric)
-{
-    UMFPACK_free_numeric (Numeric) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4zfsym: free the Symbolic object */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4zfsym (symbolic) */
-
-void umf4zfsym_ (void **Symbolic)
-{
-    UMFPACK_free_symbolic (Symbolic) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4zsnum: save the Numeric object to a file */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4zsnum (numeric, filenum, status) */
-
-void umf4zsnum_ (void **Numeric, Int *filenum, Int *status)
-{
-    char filename [LEN] ;
-    make_filename (*filenum, "n", filename) ;
-    *status = UMFPACK_save_numeric (*Numeric, filename) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4zssym: save the Symbolic object to a file */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4zssym (symbolic, filenum, status) */
-
-void umf4zssym_ (void **Symbolic, Int *filenum, Int *status)
-{
-    char filename [LEN] ;
-    make_filename (*filenum, "s", filename) ;
-    *status = UMFPACK_save_symbolic (*Symbolic, filename) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4zlnum: load the Numeric object from a file */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4zlnum (numeric, filenum, status) */
-
-void umf4zlnum_ (void **Numeric, Int *filenum, Int *status)
-{
-    char filename [LEN] ;
-    make_filename (*filenum, "n", filename) ;
-    *status = UMFPACK_load_numeric (Numeric, filename) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4zlsym: load the Symbolic object from a file */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4zlsym (symbolic, filenum, status) */
-
-void umf4zlsym_ (void **Symbolic, Int *filenum, Int *status)
-{
-    char filename [LEN] ;
-    make_filename (*filenum, "s", filename) ;
-    *status = UMFPACK_load_symbolic (Symbolic, filename) ;
-}
-
-/* ========================================================================== */
-/* === with no underscore =================================================== */
-/* ========================================================================== */
-
-/* IBM AIX.  Probably Microsoft Windows and HP Unix as well.  */
-
-/* -------------------------------------------------------------------------- */
-/* umf4zdef: set default control parameters */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4zdef (control) */
-
-void umf4zdef (double Control [UMFPACK_CONTROL])
-{
-    UMFPACK_defaults (Control) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4zpcon: print control parameters */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4zpcon (control) */
-
-void umf4zpcon (double Control [UMFPACK_CONTROL])
-{
-    fflush (stdout) ;
-    UMFPACK_report_control (Control) ;
-    fflush (stdout) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4zsym: pre-ordering and symbolic factorization */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4zsym (m, n, Ap, Ai, Ax, Az, symbolic, control, info) */
-
-void umf4zsym (Int *m, Int *n, Int Ap [ ], Int Ai [ ],
-    double Ax [ ], double Az [ ], void **Symbolic,
-    double Control [UMFPACK_CONTROL], double Info [UMFPACK_INFO])
-{
-    (void) UMFPACK_symbolic (*m, *n, Ap, Ai, Ax, Az, Symbolic, Control, Info) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4znum: numeric factorization */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4znum (Ap, Ai, Ax, Az, symbolic, numeric, control, info) */
-
-void umf4znum (Int Ap [ ], Int Ai [ ], double Ax [ ], double Az [ ],
-    void **Symbolic, void **Numeric,
-    double Control [UMFPACK_CONTROL], double Info [UMFPACK_INFO])
-{
-    (void) UMFPACK_numeric (Ap, Ai, Ax, Az, *Symbolic, Numeric, Control, Info);
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4zsolr: solve a linear system with iterative refinement */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4zsolr (sys, Ap, Ai, Ax, Az, x, xz, b, bz, numeric, control, info) */
-
-void umf4zsolr (Int *sys, Int Ap [ ], Int Ai [ ], double Ax [ ], double Az [ ],
-    double x [ ], double xz [ ], double b [ ], double bz [ ], void **Numeric,
-    double Control [UMFPACK_CONTROL], double Info [UMFPACK_INFO])
-{
-    (void) UMFPACK_solve (*sys, Ap, Ai, Ax, Az, x, xz, b, bz,
-	*Numeric, Control, Info) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4zsol: solve a linear system without iterative refinement */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4zsol (sys, x, xz, b, bz, numeric, control, info) */
-
-void umf4zsol (Int *sys, double x [ ], double xz [ ], double b [ ],
-    double bz [ ], void **Numeric,
-    double Control [UMFPACK_CONTROL], double Info [UMFPACK_INFO])
-{
-    Control [UMFPACK_IRSTEP] = 0 ;
-    (void) UMFPACK_solve (*sys, (Int *) NULL, (Int *) NULL, (double *) NULL,
-	(double *) NULL, x, xz, b, bz, *Numeric, Control, Info) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4zscal: scale a vector using UMFPACK's scale factors */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4zscal (x, xz, b, bz, numeric, status) */
-
-void umf4zscal (double x [ ], double xz [ ], double b [ ], double bz [ ],
-    void **Numeric, Int *status)
-{
-    *status = UMFPACK_scale (x, xz, b, bz, *Numeric) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4zpinf: print info */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4zpinf (control) */
-
-void umf4zpinf (double Control [UMFPACK_CONTROL], double Info [UMFPACK_INFO])
-{
-    fflush (stdout) ;
-    UMFPACK_report_info (Control, Info) ;
-    fflush (stdout) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4zfnum: free the Numeric object */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4zfnum (numeric) */
-
-void umf4zfnum (void **Numeric)
-{
-    UMFPACK_free_numeric (Numeric) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4zfsym: free the Symbolic object */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4zfsym (symbolic) */
-
-void umf4zfsym (void **Symbolic)
-{
-    UMFPACK_free_symbolic (Symbolic) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4zsnum: save the Numeric object to a file */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4zsnum (numeric, filenum, status) */
-
-void umf4zsnum (void **Numeric, Int *filenum, Int *status)
-{
-    char filename [LEN] ;
-    make_filename (*filenum, "n", filename) ;
-    *status = UMFPACK_save_numeric (*Numeric, filename) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4zssym: save the Symbolic object to a file */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4zssym (symbolic, filenum, status) */
-
-void umf4zssym (void **Symbolic, Int *filenum, Int *status)
-{
-    char filename [LEN] ;
-    make_filename (*filenum, "s", filename) ;
-    *status = UMFPACK_save_symbolic (*Symbolic, filename) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4zlnum: load the Numeric object from a file */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4zlnum (numeric, filenum, status) */
-
-void umf4zlnum (void **Numeric, Int *filenum, Int *status)
-{
-    char filename [LEN] ;
-    make_filename (*filenum, "n", filename) ;
-    *status = UMFPACK_load_numeric (Numeric, filename) ;
-}
-
-/* -------------------------------------------------------------------------- */
-/* umf4zlsym: load the Symbolic object from a file */
-/* -------------------------------------------------------------------------- */
-
-/* call umf4zlsym (symbolic, filenum, status) */
-
-void umf4zlsym (void **Symbolic, Int *filenum, Int *status)
-{
-    char filename [LEN] ;
-    make_filename (*filenum, "s", filename) ;
-    *status = UMFPACK_load_symbolic (Symbolic, filename) ;
-}
-
--- a/liboctave/UMFPACK/UMFPACK/Demo/umf4hb.f	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,353 +0,0 @@
-c=======================================================================
-c== umf4hb =============================================================
-c=======================================================================
-
-c-----------------------------------------------------------------------
-c UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE
-c Dept, Univ. of Florida.  All Rights Reserved.  See ../Doc/License for
-c License.  web: http://www.cise.ufl.edu/research/sparse/umfpack
-c-----------------------------------------------------------------------
-
-c umf4hb:
-c       read a sparse matrix in the Harwell/Boeing format, factorizes
-c       it, and solves Ax=b.  Also saves and loads the factors to/from a
-c       file.  Saving to a file is not required, it's just here to
-c       demonstrate how to use this feature of UMFPACK.  This program
-c       only works on square RUA-type matrices.
-c
-c       This is HIGHLY non-portable.  It may not work with your C and
-c       FORTRAN compilers.  See umf4_f77wrapper.c for more details.
-c
-c usage (for example):
-c
-c       in a Unix shell:
-c       umf4hb < HB/arc130.rua
-
-        integer
-     $          nzmax, nmax
-        parameter (nzmax = 5000000, nmax = 160000)
-        integer
-     $          Ap (nmax), Ai (nzmax), n, nz, totcrd, ptrcrd, i, j, p,
-     $          indcrd, valcrd, rhscrd, ncol, nrow, nrhs, nzrhs, nel,
-     $          numeric, symbolic, status, sys, filenum
-
-        character title*72, key*30, type*3, ptrfmt*16,
-     $          indfmt*16, valfmt*20, rhsfmt*20
-        double precision Ax (nzmax), x (nmax), b (nmax), aij, xj,
-     $          r (nmax), control (20), info (90)
-        character rhstyp*3
-
-c       ----------------------------------------------------------------
-c       read the Harwell/Boeing matrix
-c       ----------------------------------------------------------------
-
-        read (5, 10, err = 998)
-     $          title, key,
-     $          totcrd, ptrcrd, indcrd, valcrd, rhscrd,
-     $          type, nrow, ncol, nz, nel,
-     $          ptrfmt, indfmt, valfmt, rhsfmt
-        if (rhscrd .gt. 0) then
-c          new Harwell/Boeing format:
-           read (5, 20, err = 998) rhstyp, nrhs, nzrhs
-           endif
-10      format (a72, a8 / 5i14 / a3, 11x, 4i14 / 2a16, 2a20)
-20      format (a3, 11x, 2i14)
-
-        print *, 'Matrix key: ', key
-
-        n = nrow
-        if (type .ne. 'RUA' .or. nrow .ne. ncol) then
-           print *, 'Error: can only handle square RUA matrices'
-           stop
-        endif
-        if (n .ge. nmax .or. nz .gt. nzmax) then
-           print *, ' Matrix too big!'
-           stop
-        endif
-
-c       read the matrix (1-based)
-        read (5, ptrfmt, err = 998) (Ap (p), p = 1, ncol+1)
-        read (5, indfmt, err = 998) (Ai (p), p = 1, nz)
-        read (5, valfmt, err = 998) (Ax (p), p = 1, nz)
-
-c       ----------------------------------------------------------------
-c       create the right-hand-side, assume x (i) = 1 + i/n
-c       ----------------------------------------------------------------
-
-        do 30 i = 1,n
-            b (i) = 0
-30      continue
-c       b = A*x
-        do 50 j = 1,n
-            xj = j
-            xj = 1 + xj / n
-            do 40 p = Ap (j), Ap (j+1)-1
-                i = Ai (p)
-                aij = Ax (p)
-                b (i) = b (i) + aij * xj
-40          continue
-50      continue
-
-c       ----------------------------------------------------------------
-c       convert from 1-based to 0-based
-c       ----------------------------------------------------------------
-
-        do 60 j = 1, n+1
-            Ap (j) = Ap (j) - 1
-60      continue
-        do 70 p = 1, nz
-            Ai (p) = Ai (p) - 1
-70      continue
-
-c       ----------------------------------------------------------------
-c       factor the matrix and save to a file
-c       ----------------------------------------------------------------
-
-c       set default parameters
-        call umf4def (control)
-
-c       print control parameters.  set control (1) to 1 to print
-c       error messages only
-        control (1) = 2
-        call umf4pcon (control)
-
-c       pre-order and symbolic analysis
-        call umf4sym (n, n, Ap, Ai, Ax, symbolic, control, info)
-
-c       print statistics computed so far
-c       call umf4pinf (control, info) could also be done.
-        print 80, info (1), info (16),
-     $      (info (21) * info (4)) / 2**20,
-     $      (info (22) * info (4)) / 2**20,
-     $      info (23), info (24), info (25)
-80      format ('symbolic analysis:',/,
-     $      '   status:  ', f5.0, /,
-     $      '   time:    ', e10.2, ' (sec)'/,
-     $      '   estimates (upper bound) for numeric LU:', /,
-     $      '   size of LU:    ', f10.2, ' (MB)', /,
-     $      '   memory needed: ', f10.2, ' (MB)', /,
-     $      '   flop count:    ', e10.2, /
-     $      '   nnz (L):       ', f10.0, /
-     $      '   nnz (U):       ', f10.0)
-
-c       check umf4sym error condition
-        if (info (1) .lt. 0) then
-            print *, 'Error occurred in umf4sym: ', info (1)
-            stop
-        endif
-
-c       numeric factorization
-        call umf4num (Ap, Ai, Ax, symbolic, numeric, control, info)
-
-c       print statistics for the numeric factorization
-c       call umf4pinf (control, info) could also be done.
-        print 90, info (1), info (66),
-     $      (info (41) * info (4)) / 2**20,
-     $      (info (42) * info (4)) / 2**20,
-     $      info (43), info (44), info (45)
-90      format ('numeric factorization:',/,
-     $      '   status:  ', f5.0, /,
-     $      '   time:    ', e10.2, /,
-     $      '   actual numeric LU statistics:', /,
-     $      '   size of LU:    ', f10.2, ' (MB)', /,
-     $      '   memory needed: ', f10.2, ' (MB)', /,
-     $      '   flop count:    ', e10.2, /
-     $      '   nnz (L):       ', f10.0, /
-     $      '   nnz (U):       ', f10.0)
-
-c       check umf4num error condition
-        if (info (1) .lt. 0) then
-            print *, 'Error occurred in umf4num: ', info (1)
-            stop
-        endif
-
-c       save the symbolic analysis to the file s0.umf
-c       note that this is not needed until another matrix is
-c       factorized, below.
-	filenum = 0
-        call umf4ssym (symbolic, filenum, status)
-        if (status .lt. 0) then
-            print *, 'Error occurred in umf4ssym: ', status
-            stop
-        endif
-
-c       save the LU factors to the file n0.umf
-        call umf4snum (numeric, filenum, status)
-        if (status .lt. 0) then
-            print *, 'Error occurred in umf4snum: ', status
-            stop
-        endif
-
-c       free the symbolic analysis
-        call umf4fsym (symbolic)
-
-c       free the numeric factorization
-        call umf4fnum (numeric)
-
-c       No LU factors (symbolic or numeric) are in memory at this point.
-
-c       ----------------------------------------------------------------
-c       load the LU factors back in, and solve the system
-c       ----------------------------------------------------------------
-
-c       At this point the program could terminate and load the LU
-C       factors (numeric) from the n0.umf file, and solve the
-c       system (see below).  Note that the symbolic object is not
-c       required.
-
-c       load the numeric factorization back in (filename: n0.umf)
-        call umf4lnum (numeric, filenum, status)
-        if (status .lt. 0) then
-            print *, 'Error occurred in umf4lnum: ', status
-            stop
-        endif
-
-c       solve Ax=b, without iterative refinement
-        sys = 0
-        call umf4sol (sys, x, b, numeric, control, info)
-        if (info (1) .lt. 0) then
-            print *, 'Error occurred in umf4sol: ', info (1)
-            stop
-        endif
-
-c       free the numeric factorization
-        call umf4fnum (numeric)
-
-c       No LU factors (symbolic or numeric) are in memory at this point.
-
-c       print final statistics
-        call umf4pinf (control, info)
-
-c       print the residual.  x (i) should be 1 + i/n
-        call resid (n, nz, Ap, Ai, Ax, x, b, r)
-
-c       ----------------------------------------------------------------
-c       load the symbolic analysis back in, and factorize a new matrix
-c       ----------------------------------------------------------------
-
-c       Again, the program could terminate here, recreate the matrix,
-c       and refactorize.  Note that umf4sym is not called.
-
-c       load the symbolic factorization back in (filename: s0.umf)
-        call umf4lsym (symbolic, filenum, status)
-        if (status .lt. 0) then
-            print *, 'Error occurred in umf4lsym: ', status
-            stop
-        endif
-
-c       arbitrarily change the values of the matrix but not the pattern
-        do 100 p = 1, nz
-            Ax (p) = Ax (p) + 3.14159 / 100.0
-100     continue
-
-c       numeric factorization of the modified matrix
-        call umf4num (Ap, Ai, Ax, symbolic, numeric, control, info)
-        if (info (1) .lt. 0) then
-            print *, 'Error occurred in umf4num: ', info (1)
-            stop
-        endif
-
-c       free the symbolic analysis
-        call umf4fsym (symbolic)
-
-c       create a new right-hand-side, assume x (i) = 7 - i/n
-        do 110 i = 1,n
-            b (i) = 0
-110     continue
-c       b = A*x, with the modified matrix A (note that A is now 0-based)
-        do 130 j = 1,n
-            xj = j
-            xj = 7 - xj / n
-            do 120 p = Ap (j) + 1, Ap (j+1)
-                i = Ai (p) + 1
-                aij = Ax (p)
-                b (i) = b (i) + aij * xj
-120         continue
-130     continue
-
-c       ----------------------------------------------------------------
-c       solve Ax=b, with iterative refinement
-c       ----------------------------------------------------------------
-
-        sys = 0
-        call umf4solr (sys, Ap, Ai, Ax, x, b, numeric, control, info)
-        if (info (1) .lt. 0) then
-            print *, 'Error occurred in umf4solr: ', info (1)
-            stop
-        endif
-
-c       print the residual.  x (i) should be 7 - i/n
-        call resid (n, nz, Ap, Ai, Ax, x, b, r)
-
-c       ----------------------------------------------------------------
-c       solve Ax=b, without iterative refinement, broken into steps
-c       ----------------------------------------------------------------
-
-c       the factorization is PAQ=LU, PRAQ=LU, or P(R\A)Q=LU.
-
-c       x = R*b (or x=R\b, or x=b, as appropriate)
-        call umf4scal (x, b, numeric, status)
-        if (status .lt. 0) then
-            print *, 'Error occurred in umf4scal: ', status
-            stop
-        endif
-
-c       solve P'Lr=x for r (using r as workspace)
-        sys = 3
-        call umf4sol (sys, r, x, numeric, control, info)
-        if (info (1) .lt. 0) then
-            print *, 'Error occurred in umf4sol: ', info (1)
-            stop
-        endif
-
-c       solve UQ'x=r for x
-        sys = 9
-        call umf4sol (sys, x, r, numeric, control, info)
-        if (info (1) .lt. 0) then
-            print *, 'Error occurred in umf4sol: ', info (1)
-            stop
-        endif
-
-c       free the numeric factorization
-        call umf4fnum (numeric)
-
-c       print the residual.  x (i) should be 7 - i/n
-        call resid (n, nz, Ap, Ai, Ax, x, b, r)
-
-        stop
-998     print *, 'Read error: Harwell/Boeing matrix'
-        stop
-        end
-
-c=======================================================================
-c== resid ==============================================================
-c=======================================================================
-
-c Compute the residual, r = Ax-b, its max-norm, and print the max-norm
-C Note that A is zero-based.
-
-        subroutine resid (n, nz, Ap, Ai, Ax, x, b, r)
-        integer
-     $      n, nz, Ap (n+1), Ai (n), j, i, p
-        double precision Ax (nz), x (n), b (n), r (n), rmax, aij
-
-        do 10 i = 1, n
-            r (i) = -b (i)
-10      continue
-
-        do 30 j = 1,n
-            do 20 p = Ap (j) + 1, Ap (j+1)
-                i = Ai (p) + 1
-                aij = Ax (p)
-                r (i) = r (i) + aij * x (j)
-20          continue
-30      continue
-
-        rmax = 0
-        do 40 i = 1, n
-            rmax = max (rmax, r (i))
-40      continue
-
-        print *, 'norm (A*x-b): ', rmax
-        return
-        end
--- a/liboctave/UMFPACK/UMFPACK/Demo/umf4hb.out	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,143 +0,0 @@
- Matrix key: WEST0067                      
-
-UMFPACK V4.4 (Jan. 28, 2005), Control:
-
-    Matrix entry defined as: double
-    Int (generic integer) defined as: int
-
-    0: print level: 2
-    1: dense row parameter:    0.2
-        "dense" rows have    > max (16, (0.2)*16*sqrt(n_col) entries)
-    2: dense column parameter: 0.2
-        "dense" columns have > max (16, (0.2)*16*sqrt(n_row) entries)
-    3: pivot tolerance: 0.1
-    4: block size for dense matrix kernels: 32
-    5: strategy: 0 (auto)
-    6: initial allocation ratio: 0.7
-    7: max iterative refinement steps: 2
-    12: 2-by-2 pivot tolerance: 0.01
-    13: Q fixed during numerical factorization: 0 (auto)
-    14: AMD dense row/col parameter:    10
-       "dense" rows/columns have > max (16, (10)*sqrt(n)) entries
-        Only used if the AMD ordering is used.
-    15: diagonal pivot tolerance: 0.001
-        Only used if diagonal pivoting is attempted.
-    16: scaling: 1 (divide each row by sum of abs. values in each row)
-    17: frontal matrix allocation ratio: 0.5
-    18: drop tolerance: 0
-    19: AMD and COLAMD aggressive absorption: 1 (yes)
-
-    The following options can only be changed at compile-time:
-    8: BLAS library used:  none.  UMFPACK will be slow.
-    9: compiled for ANSI C (uses malloc, free, realloc, and printf)
-    10: CPU timer is POSIX times ( ) routine.
-    11: compiled for normal operation (debugging disabled)
-    computer/operating system: Linux
-    size of int: 4 long: 4 Int: 4 pointer: 4 double: 8 Entry: 8 (in bytes)
-
-symbolic analysis:
-   status:     0.
-   time:      0.00E+00 (sec)
-   estimates (upper bound) for numeric LU:
-   size of LU:          0.02 (MB)
-   memory needed:       0.06 (MB)
-   flop count:      0.14E+05
-   nnz (L):             542.
-   nnz (U):             902.
-numeric factorization:
-   status:     0.
-   time:      0.00E+00
-   actual numeric LU statistics:
-   size of LU:          0.01 (MB)
-   memory needed:       0.04 (MB)
-   flop count:      0.26E+04
-   nnz (L):             329.
-   nnz (U):             340.
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double
-    Int (generic integer) defined as: int
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       67
-    number of columns in matrix A:    67
-    entries in matrix A:              294
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          8 bytes
-
-    strategy used:                    unsymmetric
-    ordering used:                    colamd on A
-    modify Q during factorization:    yes
-    prefer diagonal pivoting:         no
-    pivots with zero Markowitz cost:               1
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    0
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S not square or diagonal not preserved
-    symbolic factorization defragmentations:       1
-    symbolic memory usage (Units):                 1632
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         245
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    matrix scaled: yes (divided each row by sum of abs values in each row)
-    minimum sum (abs (rows of A)):              1.00000e+00
-    maximum sum (abs (rows of A)):              6.59006e+00
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                    1643                 1574    96%
-        peak size (Units)                       6115                 3581    59%
-        final size (Units)                      1628                  685    42%
-    Numeric final size (Units)                  2101                 1125    54%
-    Numeric final size (MBytes)                  0.0                  0.0    54%
-    peak memory usage (Units)                   7462                 4928    66%
-    peak memory usage (MBytes)                   0.1                  0.0    66%
-    numeric factorization flops          1.41920e+04          2.58700e+03    18%
-    nz in L (incl diagonal)                      542                  329    61%
-    nz in U (incl diagonal)                      902                  340    38%
-    nz in L+U (incl diagonal)                   1377                  602    44%
-    largest front (# entries)                    483                   80    17%
-    largest # rows in front                       21                   10    48%
-    largest # columns in front                    23                   11    48%
-
-    initial allocation ratio used:                 0.7
-    # of forced updates due to frontal growth:     0
-    nz in L (incl diagonal), if none dropped       329
-    nz in U (incl diagonal), if none dropped       340
-    number of small entries dropped                0
-    nonzeros on diagonal of U:                     67
-    min abs. value on diagonal of U:               2.74e-02
-    max abs. value on diagonal of U:               2.28e+00
-    estimate of reciprocal of condition number:    1.20e-02
-    indices in compressed pattern:                 256
-    numerical values stored in Numeric object:     605
-    numeric factorization defragmentations:        1
-    numeric factorization reallocations:           1
-    costly numeric factorization reallocations:    0
-    numeric factorization CPU time (sec):          0.00
-    numeric factorization wallclock time (sec):    0.00
-    symbolic + numeric CPU time (sec):             0.00
-    symbolic + numeric wall clock time (sec):      0.00
-
-    solve flops:                                   1.20400e+03
-    iterative refinement steps taken:              0
-    iterative refinement steps attempted:          0
-    solve CPU time (sec):                          0.00
-    solve wall clock time (sec):                   0.00
-
-    total symbolic + numeric + solve flops:        3.79100e+03
-    total symbolic + numeric + solve CPU time:     0.00
-    total symbolic+numeric+solve wall clock time:  0.00
-
- norm (A*x-b):   2.22044605E-15
- norm (A*x-b):   1.05076538E-14
- norm (A*x-b):   1.05076538E-14
--- a/liboctave/UMFPACK/UMFPACK/Demo/umf4hb64.f	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,353 +0,0 @@
-c=======================================================================
-c== umf4hb =============================================================
-c=======================================================================
-
-c-----------------------------------------------------------------------
-c UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE
-c Dept, Univ. of Florida.  All Rights Reserved.  See ../Doc/License for
-c License.  web: http://www.cise.ufl.edu/research/sparse/umfpack
-c-----------------------------------------------------------------------
-
-c umf4hb64:
-c       read a sparse matrix in the Harwell/Boeing format, factorizes
-c       it, and solves Ax=b.  Also saves and loads the factors to/from a
-c       file.  Saving to a file is not required, it's just here to
-c       demonstrate how to use this feature of UMFPACK.  This program
-c       only works on square RUA-type matrices.
-c
-c       This is HIGHLY non-portable.  It may not work with your C and
-c       FORTRAN compilers.  See umf4_f77wrapper.c for more details.
-c
-c usage (for example):
-c
-c       in a Unix shell:
-c       umf4hb64 < HB/arc130.rua
-
-        integer*8
-     $          nzmax, nmax
-        parameter (nzmax = 5000000, nmax = 160000)
-        integer*8
-     $          Ap (nmax), Ai (nzmax), n, nz, totcrd, ptrcrd, i, j, p,
-     $          indcrd, valcrd, rhscrd, ncol, nrow, nrhs, nzrhs, nel,
-     $          numeric, symbolic, status, sys, filenum
-
-        character title*72, key*30, type*3, ptrfmt*16,
-     $          indfmt*16, valfmt*20, rhsfmt*20
-        double precision Ax (nzmax), x (nmax), b (nmax), aij, xj,
-     $          r (nmax), control (20), info (90)
-        character rhstyp*3
-
-c       ----------------------------------------------------------------
-c       read the Harwell/Boeing matrix
-c       ----------------------------------------------------------------
-
-        read (5, 10, err = 998)
-     $          title, key,
-     $          totcrd, ptrcrd, indcrd, valcrd, rhscrd,
-     $          type, nrow, ncol, nz, nel,
-     $          ptrfmt, indfmt, valfmt, rhsfmt
-        if (rhscrd .gt. 0) then
-c          new Harwell/Boeing format:
-           read (5, 20, err = 998) rhstyp, nrhs, nzrhs
-           endif
-10      format (a72, a8 / 5i14 / a3, 11x, 4i14 / 2a16, 2a20)
-20      format (a3, 11x, 2i14)
-
-        print *, 'Matrix key: ', key
-
-        n = nrow
-        if (type .ne. 'RUA' .or. nrow .ne. ncol) then
-           print *, 'Error: can only handle square RUA matrices'
-           stop
-        endif
-        if (n .ge. nmax .or. nz .gt. nzmax) then
-           print *, ' Matrix too big!'
-           stop
-        endif
-
-c       read the matrix (1-based)
-        read (5, ptrfmt, err = 998) (Ap (p), p = 1, ncol+1)
-        read (5, indfmt, err = 998) (Ai (p), p = 1, nz)
-        read (5, valfmt, err = 998) (Ax (p), p = 1, nz)
-
-c       ----------------------------------------------------------------
-c       create the right-hand-side, assume x (i) = 1 + i/n
-c       ----------------------------------------------------------------
-
-        do 30 i = 1,n
-            b (i) = 0
-30      continue
-c       b = A*x
-        do 50 j = 1,n
-            xj = j
-            xj = 1 + xj / n
-            do 40 p = Ap (j), Ap (j+1)-1
-                i = Ai (p)
-                aij = Ax (p)
-                b (i) = b (i) + aij * xj
-40          continue
-50      continue
-
-c       ----------------------------------------------------------------
-c       convert from 1-based to 0-based
-c       ----------------------------------------------------------------
-
-        do 60 j = 1, n+1
-            Ap (j) = Ap (j) - 1
-60      continue
-        do 70 p = 1, nz
-            Ai (p) = Ai (p) - 1
-70      continue
-
-c       ----------------------------------------------------------------
-c       factor the matrix and save to a file
-c       ----------------------------------------------------------------
-
-c       set default parameters
-        call umf4def (control)
-
-c       print control parameters.  set control (1) to 1 to print
-c       error messages only
-        control (1) = 2
-        call umf4pcon (control)
-
-c       pre-order and symbolic analysis
-        call umf4sym (n, n, Ap, Ai, Ax, symbolic, control, info)
-
-c       print statistics computed so far
-c       call umf4pinf (control, info) could also be done.
-        print 80, info (1), info (16),
-     $      (info (21) * info (4)) / 2**20,
-     $      (info (22) * info (4)) / 2**20,
-     $      info (23), info (24), info (25)
-80      format ('symbolic analysis:',/,
-     $      '   status:  ', f5.0, /,
-     $      '   time:    ', e10.2, ' (sec)'/,
-     $      '   estimates (upper bound) for numeric LU:', /,
-     $      '   size of LU:    ', f10.2, ' (MB)', /,
-     $      '   memory needed: ', f10.2, ' (MB)', /,
-     $      '   flop count:    ', e10.2, /
-     $      '   nnz (L):       ', f10.0, /
-     $      '   nnz (U):       ', f10.0)
-
-c       check umf4sym error condition
-        if (info (1) .lt. 0) then
-            print *, 'Error occurred in umf4sym: ', info (1)
-            stop
-        endif
-
-c       numeric factorization
-        call umf4num (Ap, Ai, Ax, symbolic, numeric, control, info)
-
-c       print statistics for the numeric factorization
-c       call umf4pinf (control, info) could also be done.
-        print 90, info (1), info (66),
-     $      (info (41) * info (4)) / 2**20,
-     $      (info (42) * info (4)) / 2**20,
-     $      info (43), info (44), info (45)
-90      format ('numeric factorization:',/,
-     $      '   status:  ', f5.0, /,
-     $      '   time:    ', e10.2, /,
-     $      '   actual numeric LU statistics:', /,
-     $      '   size of LU:    ', f10.2, ' (MB)', /,
-     $      '   memory needed: ', f10.2, ' (MB)', /,
-     $      '   flop count:    ', e10.2, /
-     $      '   nnz (L):       ', f10.0, /
-     $      '   nnz (U):       ', f10.0)
-
-c       check umf4num error condition
-        if (info (1) .lt. 0) then
-            print *, 'Error occurred in umf4num: ', info (1)
-            stop
-        endif
-
-c       save the symbolic analysis to the file s0.umf
-c       note that this is not needed until another matrix is
-c       factorized, below.
-	filenum = 0
-        call umf4ssym (symbolic, filenum, status)
-        if (status .lt. 0) then
-            print *, 'Error occurred in umf4ssym: ', status
-            stop
-        endif
-
-c       save the LU factors to the file n0.umf
-        call umf4snum (numeric, filenum, status)
-        if (status .lt. 0) then
-            print *, 'Error occurred in umf4snum: ', status
-            stop
-        endif
-
-c       free the symbolic analysis
-        call umf4fsym (symbolic)
-
-c       free the numeric factorization
-        call umf4fnum (numeric)
-
-c       No LU factors (symbolic or numeric) are in memory at this point.
-
-c       ----------------------------------------------------------------
-c       load the LU factors back in, and solve the system
-c       ----------------------------------------------------------------
-
-c       At this point the program could terminate and load the LU
-C       factors (numeric) from the n0.umf file, and solve the
-c       system (see below).  Note that the symbolic object is not
-c       required.
-
-c       load the numeric factorization back in (filename: n0.umf)
-        call umf4lnum (numeric, filenum, status)
-        if (status .lt. 0) then
-            print *, 'Error occurred in umf4lnum: ', status
-            stop
-        endif
-
-c       solve Ax=b, without iterative refinement
-        sys = 0
-        call umf4sol (sys, x, b, numeric, control, info)
-        if (info (1) .lt. 0) then
-            print *, 'Error occurred in umf4sol: ', info (1)
-            stop
-        endif
-
-c       free the numeric factorization
-        call umf4fnum (numeric)
-
-c       No LU factors (symbolic or numeric) are in memory at this point.
-
-c       print final statistics
-        call umf4pinf (control, info)
-
-c       print the residual.  x (i) should be 1 + i/n
-        call resid (n, nz, Ap, Ai, Ax, x, b, r)
-
-c       ----------------------------------------------------------------
-c       load the symbolic analysis back in, and factorize a new matrix
-c       ----------------------------------------------------------------
-
-c       Again, the program could terminate here, recreate the matrix,
-c       and refactorize.  Note that umf4sym is not called.
-
-c       load the symbolic factorization back in (filename: s0.umf)
-        call umf4lsym (symbolic, filenum, status)
-        if (status .lt. 0) then
-            print *, 'Error occurred in umf4lsym: ', status
-            stop
-        endif
-
-c       arbitrarily change the values of the matrix but not the pattern
-        do 100 p = 1, nz
-            Ax (p) = Ax (p) + 3.14159 / 100.0
-100     continue
-
-c       numeric factorization of the modified matrix
-        call umf4num (Ap, Ai, Ax, symbolic, numeric, control, info)
-        if (info (1) .lt. 0) then
-            print *, 'Error occurred in umf4num: ', info (1)
-            stop
-        endif
-
-c       free the symbolic analysis
-        call umf4fsym (symbolic)
-
-c       create a new right-hand-side, assume x (i) = 7 - i/n
-        do 110 i = 1,n
-            b (i) = 0
-110     continue
-c       b = A*x, with the modified matrix A (note that A is now 0-based)
-        do 130 j = 1,n
-            xj = j
-            xj = 7 - xj / n
-            do 120 p = Ap (j) + 1, Ap (j+1)
-                i = Ai (p) + 1
-                aij = Ax (p)
-                b (i) = b (i) + aij * xj
-120         continue
-130     continue
-
-c       ----------------------------------------------------------------
-c       solve Ax=b, with iterative refinement
-c       ----------------------------------------------------------------
-
-        sys = 0
-        call umf4solr (sys, Ap, Ai, Ax, x, b, numeric, control, info)
-        if (info (1) .lt. 0) then
-            print *, 'Error occurred in umf4solr: ', info (1)
-            stop
-        endif
-
-c       print the residual.  x (i) should be 7 - i/n
-        call resid (n, nz, Ap, Ai, Ax, x, b, r)
-
-c       ----------------------------------------------------------------
-c       solve Ax=b, without iterative refinement, broken into steps
-c       ----------------------------------------------------------------
-
-c       the factorization is PAQ=LU, PRAQ=LU, or P(R\A)Q=LU.
-
-c       x = R*b (or x=R\b, or x=b, as appropriate)
-        call umf4scal (x, b, numeric, status)
-        if (status .lt. 0) then
-            print *, 'Error occurred in umf4scal: ', status
-            stop
-        endif
-
-c       solve P'Lr=x for r (using r as workspace)
-        sys = 3
-        call umf4sol (sys, r, x, numeric, control, info)
-        if (info (1) .lt. 0) then
-            print *, 'Error occurred in umf4sol: ', info (1)
-            stop
-        endif
-
-c       solve UQ'x=r for x
-        sys = 9
-        call umf4sol (sys, x, r, numeric, control, info)
-        if (info (1) .lt. 0) then
-            print *, 'Error occurred in umf4sol: ', info (1)
-            stop
-        endif
-
-c       free the numeric factorization
-        call umf4fnum (numeric)
-
-c       print the residual.  x (i) should be 7 - i/n
-        call resid (n, nz, Ap, Ai, Ax, x, b, r)
-
-        stop
-998     print *, 'Read error: Harwell/Boeing matrix'
-        stop
-        end
-
-c=======================================================================
-c== resid ==============================================================
-c=======================================================================
-
-c Compute the residual, r = Ax-b, its max-norm, and print the max-norm
-C Note that A is zero-based.
-
-        subroutine resid (n, nz, Ap, Ai, Ax, x, b, r)
-        integer*8
-     $      n, nz, Ap (n+1), Ai (n), j, i, p
-        double precision Ax (nz), x (n), b (n), r (n), rmax, aij
-
-        do 10 i = 1, n
-            r (i) = -b (i)
-10      continue
-
-        do 30 j = 1,n
-            do 20 p = Ap (j) + 1, Ap (j+1)
-                i = Ai (p) + 1
-                aij = Ax (p)
-                r (i) = r (i) + aij * x (j)
-20          continue
-30      continue
-
-        rmax = 0
-        do 40 i = 1, n
-            rmax = max (rmax, r (i))
-40      continue
-
-        print *, 'norm (A*x-b): ', rmax
-        return
-        end
--- a/liboctave/UMFPACK/UMFPACK/Demo/umf4zhb.f	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,279 +0,0 @@
-c=======================================================================
-c== umf4zhb ============================================================
-c=======================================================================
-
-c-----------------------------------------------------------------------
-c UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE
-c Dept, Univ. of Florida.  All Rights Reserved.  See ../Doc/License for
-c License.  web: http://www.cise.ufl.edu/research/sparse/umfpack
-c-----------------------------------------------------------------------
-
-c umf4zhb:
-c       read a sparse matrix in the Harwell/Boeing format, factorizes
-c       it, and solves Ax=b.  Also saves and loads the factors to/from a
-c       file.  Saving to a file is not required, it's just here to
-c       demonstrate how to use this feature of UMFPACK.  This program
-c       only works on square CUA-type matrices.
-c
-c       This is HIGHLY non-portable.  It may not work with your C and
-c       FORTRAN compilers.  See umf4z_f77wrapper.c for more details.
-c
-c usage (for example):
-c
-c       in a Unix shell:
-c       umf4zhb < HB/arc130.cua
-
-        integer
-     $          nzmax, nmax
-        parameter (nzmax = 5000000, nmax = 160000)
-        integer
-     $          Ap (nmax), Ai (nzmax), n, nz, totcrd, ptrcrd, i, j, p,
-     $          indcrd, valcrd, rhscrd, ncol, nrow, nrhs, nzrhs, nel,
-     $          numeric, symbolic, status, sys, filenum
-
-        character title*72, key*30, type*3, ptrfmt*16,
-     $          indfmt*16, valfmt*20, rhsfmt*20
-        double precision Ax (nzmax), x (nmax), b (nmax),
-     $          control (20), info (90)
-	complex*16 AA (nzmax), XX (nmax), BB (nmax), r (nmax), aij, xj
-	double precision Az (nmax), xz (nmax), bz (nmax), xi, xr
-        character rhstyp*3
-
-c       ----------------------------------------------------------------
-c       read the Harwell/Boeing matrix
-c       ----------------------------------------------------------------
-
-        read (5, 10, err = 998)
-     $          title, key,
-     $          totcrd, ptrcrd, indcrd, valcrd, rhscrd,
-     $          type, nrow, ncol, nz, nel,
-     $          ptrfmt, indfmt, valfmt, rhsfmt
-        if (rhscrd .gt. 0) then
-c          new Harwell/Boeing format:
-           read (5, 20, err = 998) rhstyp, nrhs, nzrhs
-           endif
-10      format (a72, a8 / 5i14 / a3, 11x, 4i14 / 2a16, 2a20)
-20      format (a3, 11x, 2i14)
-
-        print *, 'Matrix key: ', key
-
-        n = nrow
-        if (type .ne. 'CUA' .or. nrow .ne. ncol) then
-           print *, 'Error: can only handle square CUA matrices'
-           stop
-        endif
-        if (n .ge. nmax .or. nz .gt. nzmax) then
-           print *, ' Matrix too big!'
-           stop
-        endif
-
-c       read the matrix (1-based)
-        read (5, ptrfmt, err = 998) (Ap (p), p = 1, ncol+1)
-        read (5, indfmt, err = 998) (Ai (p), p = 1, nz)
-        read (5, valfmt, err = 998) (AA (p), p = 1, nz)
-
-	do 15 p = 1, nz
-	    Ax (p) = dble (AA (p))
-	    Az (p) = imag (AA (p))
-15	continue
-
-c       ----------------------------------------------------------------
-c       create the right-hand-side, assume
-c	x (i) = (1 + i/n), (n + i/100)
-c       ----------------------------------------------------------------
-
-        do 30 i = 1,n
-            BB (i) = 0
-30      continue
-c       b = A*x
-        do 50 j = 1,n
-            xr = j
-	    xi = n
-	    xi = xi + xr/100
-	    xr = 1 + xr / n
-            xj = dcmplx (xr, xi)
-            do 40 p = Ap (j), Ap (j+1)-1
-                i = Ai (p)
-                aij = AA (p)
-                BB (i) = BB (i) + aij * xj
-40          continue
-50      continue
-        do 32 i = 1,n
-            b  (i) = dble (BB (i))
-            bz (i) = imag (BB (i))
-32      continue
-
-c       ----------------------------------------------------------------
-c       convert from 1-based to 0-based
-c       ----------------------------------------------------------------
-
-        do 60 j = 1, n+1
-            Ap (j) = Ap (j) - 1
-60      continue
-        do 70 p = 1, nz
-            Ai (p) = Ai (p) - 1
-70      continue
-
-c       ----------------------------------------------------------------
-c       factor the matrix and save to a file
-c       ----------------------------------------------------------------
-
-c       set default parameters
-        call umf4zdef (control)
-
-c       print control parameters.  set control (1) to 1 to print
-c       error messages only
-        control (1) = 2
-        call umf4zpcon (control)
-
-c       pre-order and symbolic analysis
-        call umf4zsym (n, n, Ap, Ai, Ax, Az, symbolic, control, info)
-
-c       print statistics computed so far
-c       call umf4zpinf (control, info) could also be done.
-        print 80, info (1), info (16),
-     $      (info (21) * info (4)) / 2**20,
-     $      (info (22) * info (4)) / 2**20,
-     $      info (23), info (24), info (25)
-80      format ('symbolic analysis:',/,
-     $      '   status:  ', f5.0, /,
-     $      '   time:    ', e10.2, ' (sec)'/,
-     $      '   estimates (upper bound) for numeric LU:', /,
-     $      '   size of LU:    ', f10.2, ' (MB)', /,
-     $      '   memory needed: ', f10.2, ' (MB)', /,
-     $      '   flop count:    ', e10.2, /
-     $      '   nnz (L):       ', f10.0, /
-     $      '   nnz (U):       ', f10.0)
-
-c       check umf4zsym error condition
-        if (info (1) .lt. 0) then
-            print *, 'Error occurred in umf4zsym: ', info (1)
-            stop
-        endif
-
-c       numeric factorization
-        call umf4znum (Ap, Ai, Ax, Az, symbolic, numeric, control, info)
-
-c       print statistics for the numeric factorization
-c       call umf4zpinf (control, info) could also be done.
-        print 90, info (1), info (66),
-     $      (info (41) * info (4)) / 2**20,
-     $      (info (42) * info (4)) / 2**20,
-     $      info (43), info (44), info (45)
-90      format ('numeric factorization:',/,
-     $      '   status:  ', f5.0, /,
-     $      '   time:    ', e10.2, /,
-     $      '   actual numeric LU statistics:', /,
-     $      '   size of LU:    ', f10.2, ' (MB)', /,
-     $      '   memory needed: ', f10.2, ' (MB)', /,
-     $      '   flop count:    ', e10.2, /
-     $      '   nnz (L):       ', f10.0, /
-     $      '   nnz (U):       ', f10.0)
-
-c       check umf4znum error condition
-        if (info (1) .lt. 0) then
-            print *, 'Error occurred in umf4znum: ', info (1)
-            stop
-        endif
-
-c       save the symbolic analysis to the file s42.umf
-c       note that this is not needed until another matrix is
-c       factorized, below.
-	filenum = 42
-        call umf4zssym (symbolic, filenum, status)
-        if (status .lt. 0) then
-            print *, 'Error occurred in umf4zssym: ', status
-            stop
-        endif
-
-c       save the LU factors to the file n0.umf
-        call umf4zsnum (numeric, filenum, status)
-        if (status .lt. 0) then
-            print *, 'Error occurred in umf4zsnum: ', status
-            stop
-        endif
-
-c       free the symbolic analysis
-        call umf4zfsym (symbolic)
-
-c       free the numeric factorization
-        call umf4zfnum (numeric)
-
-c       No LU factors (symbolic or numeric) are in memory at this point.
-
-c       ----------------------------------------------------------------
-c       load the LU factors back in, and solve the system
-c       ----------------------------------------------------------------
-
-c       At this point the program could terminate and load the LU
-C       factors (numeric) from the n0.umf file, and solve the
-c       system (see below).  Note that the symbolic object is not
-c       required.
-
-c       load the numeric factorization back in (filename: n0.umf)
-        call umf4zlnum (numeric, filenum, status)
-        if (status .lt. 0) then
-            print *, 'Error occurred in umf4zlnum: ', status
-            stop
-        endif
-
-c       solve Ax=b, without iterative refinement
-        sys = 0
-        call umf4zsol (sys, x, xz, b, bz, numeric, control, info)
-        if (info (1) .lt. 0) then
-            print *, 'Error occurred in umf4zsol: ', info (1)
-            stop
-        endif
-        do 33 i = 1,n
-            XX (i) = dcmplx (x (i), xz (i))
-33      continue
-
-c       free the numeric factorization
-        call umf4zfnum (numeric)
-
-c       No LU factors (symbolic or numeric) are in memory at this point.
-
-c       print final statistics
-        call umf4zpinf (control, info)
-
-c       print the residual.  x (i) should be 1 + i/n
-        call resid (n, nz, Ap, Ai, AA, XX, BB, r)
-
-        stop
-998     print *, 'Read error: Harwell/Boeing matrix'
-        stop
-        end
-
-c=======================================================================
-c== resid ==============================================================
-c=======================================================================
-
-c Compute the residual, r = Ax-b, its max-norm, and print the max-norm
-C Note that A is zero-based.
-
-        subroutine resid (n, nz, Ap, Ai, A, x, b, r)
-        integer
-     $      n, nz, Ap (n+1), Ai (n), j, i, p
-        complex*16 A (nz), x (n), b (n), r (n), aij
-	double precision rmax
-
-        do 10 i = 1, n
-            r (i) = -b (i)
-10      continue
-
-        do 30 j = 1,n
-            do 20 p = Ap (j) + 1, Ap (j+1)
-                i = Ai (p) + 1
-                aij = A (p)
-                r (i) = r (i) + aij * x (j)
-20          continue
-30      continue
-
-        rmax = 0
-        do 40 i = 1, n
-            rmax = max (rmax, abs (r (i)))
-40      continue
-
-        print *, 'norm (A*x-b): ', rmax
-        return
-        end
--- a/liboctave/UMFPACK/UMFPACK/Demo/umf4zhb.out	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
- Matrix key: QC324                         
-
-UMFPACK V4.4 (Jan. 28, 2005), Control:
-
-    Matrix entry defined as: double complex
-    Int (generic integer) defined as: int
-
-    0: print level: 2
-    1: dense row parameter:    0.2
-        "dense" rows have    > max (16, (0.2)*16*sqrt(n_col) entries)
-    2: dense column parameter: 0.2
-        "dense" columns have > max (16, (0.2)*16*sqrt(n_row) entries)
-    3: pivot tolerance: 0.1
-    4: block size for dense matrix kernels: 32
-    5: strategy: 0 (auto)
-    6: initial allocation ratio: 0.7
-    7: max iterative refinement steps: 2
-    12: 2-by-2 pivot tolerance: 0.01
-    13: Q fixed during numerical factorization: 0 (auto)
-    14: AMD dense row/col parameter:    10
-       "dense" rows/columns have > max (16, (10)*sqrt(n)) entries
-        Only used if the AMD ordering is used.
-    15: diagonal pivot tolerance: 0.001
-        Only used if diagonal pivoting is attempted.
-    16: scaling: 1 (divide each row by sum of abs. values in each row)
-    17: frontal matrix allocation ratio: 0.5
-    18: drop tolerance: 0
-    19: AMD and COLAMD aggressive absorption: 1 (yes)
-
-    The following options can only be changed at compile-time:
-    8: BLAS library used:  none.  UMFPACK will be slow.
-    9: compiled for ANSI C (uses malloc, free, realloc, and printf)
-    10: CPU timer is POSIX times ( ) routine.
-    11: compiled for normal operation (debugging disabled)
-    computer/operating system: Linux
-    size of int: 4 long: 4 Int: 4 pointer: 4 double: 8 Entry: 16 (in bytes)
-
-symbolic analysis:
-   status:     0.
-   time:      0.10E-01 (sec)
-   estimates (upper bound) for numeric LU:
-   size of LU:          1.17 (MB)
-   memory needed:       2.40 (MB)
-   flop count:      0.26E+08
-   nnz (L):           24027.
-   nnz (U):           39609.
-numeric factorization:
-   status:     0.
-   time:      0.10E-01
-   actual numeric LU statistics:
-   size of LU:          0.72 (MB)
-   memory needed:       1.14 (MB)
-   flop count:      0.14E+08
-   nnz (L):           23247.
-   nnz (U):           23247.
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double complex
-    Int (generic integer) defined as: int
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       324
-    number of columns in matrix A:    324
-    entries in matrix A:              26730
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          16 bytes
-
-    strategy used:                    symmetric
-    ordering used:                    amd on A+A'
-    modify Q during factorization:    no
-    prefer diagonal pivoting:         yes
-    pivots with zero Markowitz cost:               0
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    324
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    324
-        symmetry of nonzero pattern:               1.000000
-        nz in S+S' (excl. diagonal):               26406
-        nz on diagonal of matrix S:                324
-        fraction of nz on diagonal:                1.000000
-    AMD statistics, for strict diagonal pivoting:
-        est. flops for LU factorization:           1.55342e+07
-        est. nz in L+U (incl. diagonal):           47730
-        est. largest front (# entries):            14641
-        est. max nz in any column of L:            121
-        number of "dense" rows/columns in S+S':    0
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 63466
-    symbolic memory usage (MBytes):                0.5
-    Symbolic size (Units):                         1418
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.01
-    symbolic factorization wallclock time(sec):    0.00
-
-    matrix scaled: yes (divided each row by sum of abs values in each row)
-    minimum sum (abs (rows of A)):              2.55982e-01
-    maximum sum (abs (rows of A)):              1.82217e+00
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                   98017                97692   100%
-        peak size (Units)                     307744               142557    46%
-        final size (Units)                    150384                92058    61%
-    Numeric final size (Units)                153181                94693    62%
-    Numeric final size (MBytes)                  1.2                  0.7    62%
-    peak memory usage (Units)                 314850               149663    48%
-    peak memory usage (MBytes)                   2.4                  1.1    48%
-    numeric factorization flops          2.56313e+07          1.43519e+07    56%
-    nz in L (incl diagonal)                    24027                23247    97%
-    nz in U (incl diagonal)                    39609                23247    59%
-    nz in L+U (incl diagonal)                  63312                46170    73%
-    largest front (# entries)                  19723                 6724    34%
-    largest # rows in front                      121                   82    68%
-    largest # columns in front                   163                   82    50%
-
-    initial allocation ratio used:                 1.2
-    # of forced updates due to frontal growth:     0
-    number of off-diagonal pivots:                 0
-    nz in L (incl diagonal), if none dropped       23247
-    nz in U (incl diagonal), if none dropped       23247
-    number of small entries dropped                0
-    nonzeros on diagonal of U:                     324
-    min abs. value on diagonal of U:               5.47e-03
-    max abs. value on diagonal of U:               8.25e-01
-    estimate of reciprocal of condition number:    6.63e-03
-    indices in compressed pattern:                 485
-    numerical values stored in Numeric object:     46170
-    numeric factorization defragmentations:        0
-    numeric factorization reallocations:           0
-    costly numeric factorization reallocations:    0
-    numeric factorization CPU time (sec):          0.01
-    numeric factorization wallclock time (sec):    0.02
-    numeric factorization mflops (CPU time):       1435.19
-    numeric factorization mflops (wallclock):      717.60
-    symbolic + numeric CPU time (sec):             0.02
-    symbolic + numeric mflops (CPU time):          717.60
-    symbolic + numeric wall clock time (sec):      0.02
-    symbolic + numeric mflops (wall clock):        717.60
-
-    solve flops:                                   3.70332e+05
-    iterative refinement steps taken:              0
-    iterative refinement steps attempted:          0
-    solve CPU time (sec):                          0.00
-    solve wall clock time (sec):                   0.00
-
-    total symbolic + numeric + solve flops:        1.47223e+07
-    total symbolic + numeric + solve CPU time:     0.02
-    total symbolic + numeric + solve mflops (CPU): 736.11
-    total symbolic+numeric+solve wall clock time:  0.02
-    total symbolic+numeric+solve mflops(wallclock) 736.11
-
- norm (A*x-b):   2.96487174E-13
--- a/liboctave/UMFPACK/UMFPACK/Demo/umfpack_di_demo.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,759 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_di_demo ====================================================== */
-/* ========================================================================== */
-
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-  A demo of UMFPACK:   umfpack_di_* version.
-
-  First, factor and solve a 5-by-5 system, Ax=b, using default parameters.
-  Then solve A'x=b using the factors of A.   Modify one entry (A (1,4) = 0,
-  where the row and column indices range from 0 to 4.  The pattern of A
-  has not changed (it has explicitly zero entry), so a reanalysis with
-  umfpack_di_symbolic does not need to be done.  Refactorize (with
-  umfpack_di_numeric), and solve Ax=b.  Note that the pivot ordering has
-  changed.  Next, change all of the entries in A, but not the pattern.
-
-  Finally, compute C = A', and do the symbolic and numeric factorization of C.
-  Factorizing A' can sometimes be better than factorizing A itself (less work
-  and memory usage).  Solve C'x=b twice; the solution is the same as the
-  solution to Ax=b.
-
-  A note about zero-sized arrays:  UMFPACK uses many user-provided arrays of
-  size n (order of the matrix), and of size nz (the number of nonzeros in a
-  matrix).  n cannot be zero; UMFPACK does not handle zero-dimensioned arrays.
-  However, nz can be zero.  If you attempt to malloc an array of size nz = 0,
-  however, malloc will return a null pointer which UMFPACK will report as a
-  "missing argument."  Thus, nz1 in this code is set to MAX (nz,1), and
-  similarly for lnz and unz.  Lnz can never be zero, however, since L is always
-  unit diagonal.
-*/
-
-/* -------------------------------------------------------------------------- */
-/* definitions */
-/* -------------------------------------------------------------------------- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include "umfpack.h"
-
-#define ABS(x) ((x) >= 0 ? (x) : -(x))
-
-#define MAX(a,b) (((a) > (b)) ? (a) : (b))
-#ifndef TRUE
-#define TRUE (1)
-#endif
-#ifndef FALSE
-#define FALSE (0)
-#endif
-
-/* -------------------------------------------------------------------------- */
-/* triplet form of the matrix.  The triplets can be in any order. */
-/* -------------------------------------------------------------------------- */
-
-static int    n = 5, nz = 12 ;
-static int    Arow [ ] = { 0,  4,  1,  1,   2,   2,  0,  1,  2,  3,  4,  4} ;
-static int    Acol [ ] = { 0,  4,  0,  2,   1,   2,  1,  4,  3,  2,  1,  2} ;
-static double Aval [ ] = {2., 1., 3., 4., -1., -3., 3., 6., 2., 1., 4., 2.} ;
-static double b [ ] = {8., 45., -3., 3., 19.}, x [5], r [5] ;
-
-
-/* -------------------------------------------------------------------------- */
-/* error: print a message and exit */
-/* -------------------------------------------------------------------------- */
-
-static void error
-(
-    char *message
-)
-{
-    printf ("\n\n====== error: %s =====\n\n", message) ;
-    exit (1) ;
-}
-
-
-/* -------------------------------------------------------------------------- */
-/* resid: compute the residual, r = Ax-b or r = A'x=b and return maxnorm (r) */
-/* -------------------------------------------------------------------------- */
-
-static double resid
-(
-    int transpose,
-    int Ap [ ],
-    int Ai [ ],
-    double Ax [ ]
-)
-{
-    int i, j, p ;
-    double norm ;
-
-    for (i = 0 ; i < n ; i++)
-    {
-	r [i] = -b [i] ;
-    }
-    if (transpose)
-    {
-	for (j = 0 ; j < n ; j++)
-	{
-	    for (p = Ap [j] ; p < Ap [j+1] ; p++)
-	    {
-		i = Ai [p] ;
-		r [j] += Ax [p] * x [i] ;
-	    }
-	}
-    }
-    else
-    {
-	for (j = 0 ; j < n ; j++)
-	{
-	    for (p = Ap [j] ; p < Ap [j+1] ; p++)
-	    {
-		i = Ai [p] ;
-		r [i] += Ax [p] * x [j] ;
-	    }
-	}
-    }
-    norm = 0. ;
-    for (i = 0 ; i < n ; i++)
-    {
-	norm = MAX (ABS (r [i]), norm) ;
-    }
-    return (norm) ;
-}
-
-
-/* -------------------------------------------------------------------------- */
-/* main program */
-/* -------------------------------------------------------------------------- */
-
-int main (int argc, char **argv)
-{
-    double Info [UMFPACK_INFO], Control [UMFPACK_CONTROL], *Ax, *Cx, *Lx, *Ux,
-	*W, t [2], *Dx, rnorm, *Rb, *y, *Rs ;
-    int *Ap, *Ai, *Cp, *Ci, row, col, p, lnz, unz, nr, nc, *Lp, *Li, *Ui, *Up,
-	*P, *Q, *Lj, i, j, k, anz, nfr, nchains, *Qinit, fnpiv, lnz1, unz1, nz1,
-	status, *Front_npivcol, *Front_parent, *Chain_start, *Wi, *Pinit, n1,
-	*Chain_maxrows, *Chain_maxcols, *Front_1strow, *Front_leftmostdesc,
-	nzud, do_recip ;
-    void *Symbolic, *Numeric ;
-
-    /* ---------------------------------------------------------------------- */
-    /* initializations */
-    /* ---------------------------------------------------------------------- */
-
-    umfpack_tic (t) ;
-
-    printf ("\n%s demo: _di_ version\n", UMFPACK_VERSION) ;
-
-    /* get the default control parameters */
-    umfpack_di_defaults (Control) ;
-
-    /* change the default print level for this demo */
-    /* (otherwise, nothing will print) */
-    Control [UMFPACK_PRL] = 6 ;
-
-    /* print the license agreement */
-    umfpack_di_report_status (Control, UMFPACK_OK) ;
-    Control [UMFPACK_PRL] = 5 ;
-
-    /* print the control parameters */
-    umfpack_di_report_control (Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* print A and b, and convert A to column-form */
-    /* ---------------------------------------------------------------------- */
-
-    /* print the right-hand-side */
-    printf ("\nb: ") ;
-    (void) umfpack_di_report_vector (n, b, Control) ;
-
-    /* print the triplet form of the matrix */
-    printf ("\nA: ") ;
-    (void) umfpack_di_report_triplet (n, n, nz, Arow, Acol, Aval,
-	Control) ;
-
-    /* convert to column form */
-    nz1 = MAX (nz,1) ;	/* ensure arrays are not of size zero. */
-    Ap = (int *) malloc ((n+1) * sizeof (int)) ;
-    Ai = (int *) malloc (nz1 * sizeof (int)) ;
-    Ax = (double *) malloc (nz1 * sizeof (double)) ;
-    if (!Ap || !Ai || !Ax)
-    {
-	error ("out of memory") ;
-    }
-
-    status = umfpack_di_triplet_to_col (n, n, nz, Arow, Acol, Aval,
-	Ap, Ai, Ax, (int *) NULL) ;
-
-    if (status < 0)
-    {
-	umfpack_di_report_status (Control, status) ;
-	error ("umfpack_di_triplet_to_col failed") ;
-    }
-
-    /* print the column-form of A */
-    printf ("\nA: ") ;
-    (void) umfpack_di_report_matrix (n, n, Ap, Ai, Ax, 1, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* symbolic factorization */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_di_symbolic (n, n, Ap, Ai, Ax, &Symbolic,
-	Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_di_report_info (Control, Info) ;
-	umfpack_di_report_status (Control, status) ;
-	error ("umfpack_di_symbolic failed") ;
-    }
-
-    /* print the symbolic factorization */
-
-    printf ("\nSymbolic factorization of A: ") ;
-    (void) umfpack_di_report_symbolic (Symbolic, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* numeric factorization */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_di_numeric (Ap, Ai, Ax, Symbolic, &Numeric,
-	Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_di_report_info (Control, Info) ;
-	umfpack_di_report_status (Control, status) ;
-	error ("umfpack_di_numeric failed") ;
-    }
-
-    /* print the numeric factorization */
-    printf ("\nNumeric factorization of A: ") ;
-    (void) umfpack_di_report_numeric (Numeric, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve Ax=b */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_di_solve (UMFPACK_A, Ap, Ai, Ax, x, b,
-	Numeric, Control, Info) ;
-    umfpack_di_report_info (Control, Info) ;
-    umfpack_di_report_status (Control, status) ;
-    if (status < 0)
-    {
-	error ("umfpack_di_solve failed") ;
-    }
-    printf ("\nx (solution of Ax=b): ") ;
-    (void) umfpack_di_report_vector (n, x, Control) ;
-    rnorm = resid (FALSE, Ap, Ai, Ax) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* compute the determinant */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_di_get_determinant (x, r, Numeric, Info) ;
-    umfpack_di_report_status (Control, status) ;
-    if (status < 0)
-    {
-	error ("umfpack_di_get_determinant failed") ;
-    }
-    printf ("determinant: (%g", x [0]) ;
-    printf (") * 10^(%g)\n", r [0]) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve Ax=b, broken down into steps */
-    /* ---------------------------------------------------------------------- */
-
-    /* Rb = R*b */
-    Rb  = (double *) malloc (n * sizeof (double)) ;
-    y   = (double *) malloc (n * sizeof (double)) ;
-    if (!Rb || !y) error ("out of memory") ;
-
-    status = umfpack_di_scale (Rb, b, Numeric) ;
-    if (status < 0) error ("umfpack_di_scale failed") ;
-    /* solve Ly = P*(Rb) */
-    status = umfpack_di_solve (UMFPACK_Pt_L, Ap, Ai, Ax, y, Rb,
-	Numeric, Control, Info) ;
-    if (status < 0) error ("umfpack_di_solve failed") ;
-    /* solve UQ'x=y */
-    status = umfpack_di_solve (UMFPACK_U_Qt, Ap, Ai, Ax, x, y,
-	Numeric, Control, Info) ;
-    if (status < 0) error ("umfpack_di_solve failed") ;
-    printf ("\nx (solution of Ax=b, solve is split into 3 steps): ") ;
-    (void) umfpack_di_report_vector (n, x, Control) ;
-    rnorm = resid (FALSE, Ap, Ai, Ax) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    free (Rb) ;
-    free (y) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve A'x=b */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_di_solve (UMFPACK_At, Ap, Ai, Ax, x, b,
-	Numeric, Control, Info) ;
-    umfpack_di_report_info (Control, Info) ;
-    if (status < 0)
-    {
-	error ("umfpack_di_solve failed") ;
-    }
-    printf ("\nx (solution of A'x=b): ") ;
-    (void) umfpack_di_report_vector (n, x, Control) ;
-    rnorm = resid (TRUE, Ap, Ai, Ax) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* modify one numerical value in the column-form of A */
-    /* ---------------------------------------------------------------------- */
-
-    /* change A (1,4), look for row index 1 in column 4. */
-    row = 1 ;
-    col = 4 ;
-    for (p = Ap [col] ; p < Ap [col+1] ; p++)
-    {
-	if (row == Ai [p])
-	{
-	    printf ("\nchanging A (%d,%d) to zero\n", row, col) ;
-	    Ax [p] = 0.0 ;
-	    break ;
-	}
-    }
-    printf ("\nmodified A: ") ;
-    (void) umfpack_di_report_matrix (n, n, Ap, Ai, Ax, 1, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* redo the numeric factorization */
-    /* ---------------------------------------------------------------------- */
-
-    /* The pattern (Ap and Ai) hasn't changed, so the symbolic factorization */
-    /* doesn't have to be redone, no matter how much we change Ax. */
-
-    /* We don't need the Numeric object any more, so free it. */
-    umfpack_di_free_numeric (&Numeric) ;
-
-    /* Note that a memory leak would have occurred if the old Numeric */
-    /* had not been free'd with umfpack_di_free_numeric above. */
-    status = umfpack_di_numeric (Ap, Ai, Ax, Symbolic, &Numeric,
-	Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_di_report_info (Control, Info) ;
-	umfpack_di_report_status (Control, status) ;
-	error ("umfpack_di_numeric failed") ;
-    }
-    printf ("\nNumeric factorization of modified A: ") ;
-    (void) umfpack_di_report_numeric (Numeric, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve Ax=b, with the modified A */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_di_solve (UMFPACK_A, Ap, Ai, Ax, x, b,
-	Numeric, Control, Info) ;
-    umfpack_di_report_info (Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_di_report_status (Control, status) ;
-	error ("umfpack_di_solve failed") ;
-    }
-    printf ("\nx (with modified A): ") ;
-    (void) umfpack_di_report_vector (n, x, Control) ;
-    rnorm = resid (FALSE, Ap, Ai, Ax) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* modify all of the numerical values of A, but not the pattern */
-    /* ---------------------------------------------------------------------- */
-
-    for (col = 0 ; col < n ; col++)
-    {
-	for (p = Ap [col] ; p < Ap [col+1] ; p++)
-	{
-	    row = Ai [p] ;
-	    printf ("changing ") ;
-	    printf ("A (%d,%d) from %g", row, col, Ax [p]) ;
-	    Ax [p] = Ax [p] + col*10 - row ;
-	    printf (" to %g\n", Ax [p]) ;
-	}
-    }
-    printf ("\ncompletely modified A (same pattern): ") ;
-    (void) umfpack_di_report_matrix (n, n, Ap, Ai, Ax, 1, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* save the Symbolic object to file, free it, and load it back in */
-    /* ---------------------------------------------------------------------- */
-
-    /* use the default filename, "symbolic.umf" */
-    printf ("\nSaving symbolic object:\n") ;
-    status = umfpack_di_save_symbolic (Symbolic, (char *) NULL) ;
-    if (status < 0)
-    {
-	umfpack_di_report_status (Control, status) ;
-	error ("umfpack_di_save_symbolic failed") ;
-    }
-    printf ("\nFreeing symbolic object:\n") ;
-    umfpack_di_free_symbolic (&Symbolic) ;
-    printf ("\nLoading symbolic object:\n") ;
-    status = umfpack_di_load_symbolic (&Symbolic, (char *) NULL) ;
-    if (status < 0)
-    {
-	umfpack_di_report_status (Control, status) ;
-	error ("umfpack_di_load_symbolic failed") ;
-    }
-    printf ("\nDone loading symbolic object\n") ;
-
-    /* ---------------------------------------------------------------------- */
-    /* redo the numeric factorization */
-    /* ---------------------------------------------------------------------- */
-
-    umfpack_di_free_numeric (&Numeric) ;
-    status = umfpack_di_numeric (Ap, Ai, Ax, Symbolic, &Numeric,
-	Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_di_report_info (Control, Info) ;
-	umfpack_di_report_status (Control, status) ;
-	error ("umfpack_di_numeric failed") ;
-    }
-    printf ("\nNumeric factorization of completely modified A: ") ;
-    (void) umfpack_di_report_numeric (Numeric, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve Ax=b, with the modified A */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_di_solve (UMFPACK_A, Ap, Ai, Ax, x, b,
-	Numeric, Control, Info) ;
-    umfpack_di_report_info (Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_di_report_status (Control, status) ;
-	error ("umfpack_di_solve failed") ;
-    }
-    printf ("\nx (with completely modified A): ") ;
-    (void) umfpack_di_report_vector (n, x, Control) ;
-    rnorm = resid (FALSE, Ap, Ai, Ax) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* free the symbolic and numeric factorization */
-    /* ---------------------------------------------------------------------- */
-
-    umfpack_di_free_symbolic (&Symbolic) ;
-    umfpack_di_free_numeric (&Numeric) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* C = transpose of A */
-    /* ---------------------------------------------------------------------- */
-
-    Cp = (int *) malloc ((n+1) * sizeof (int)) ;
-    Ci = (int *) malloc (nz1 * sizeof (int)) ;
-    Cx = (double *) malloc (nz1 * sizeof (double)) ;
-    if (!Cp || !Ci || !Cx)
-    {
-	error ("out of memory") ;
-    }
-    status = umfpack_di_transpose (n, n, Ap, Ai, Ax,
-	(int *) NULL, (int *) NULL, Cp, Ci, Cx) ;
-    if (status < 0)
-    {
-	umfpack_di_report_status (Control, status) ;
-	error ("umfpack_di_transpose failed: ") ;
-    }
-    printf ("\nC (transpose of A): ") ;
-    (void) umfpack_di_report_matrix (n, n, Cp, Ci, Cx, 1, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* symbolic factorization of C */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_di_symbolic (n, n, Cp, Ci, Cx, &Symbolic,
-	Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_di_report_info (Control, Info) ;
-	umfpack_di_report_status (Control, status) ;
-	error ("umfpack_di_symbolic failed") ;
-    }
-    printf ("\nSymbolic factorization of C: ") ;
-    (void) umfpack_di_report_symbolic (Symbolic, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* copy the contents of Symbolic into user arrays print them */
-    /* ---------------------------------------------------------------------- */
-
-    printf ("\nGet the contents of the Symbolic object for C:\n") ;
-    printf ("(compare with umfpack_di_report_symbolic output, above)\n") ;
-    Pinit = (int *) malloc ((n+1) * sizeof (int)) ;
-    Qinit = (int *) malloc ((n+1) * sizeof (int)) ;
-    Front_npivcol = (int *) malloc ((n+1) * sizeof (int)) ;
-    Front_1strow = (int *) malloc ((n+1) * sizeof (int)) ;
-    Front_leftmostdesc = (int *) malloc ((n+1) * sizeof (int)) ;
-    Front_parent = (int *) malloc ((n+1) * sizeof (int)) ;
-    Chain_start = (int *) malloc ((n+1) * sizeof (int)) ;
-    Chain_maxrows = (int *) malloc ((n+1) * sizeof (int)) ;
-    Chain_maxcols = (int *) malloc ((n+1) * sizeof (int)) ;
-    if (!Pinit || !Qinit || !Front_npivcol || !Front_parent || !Chain_start ||
-	!Chain_maxrows || !Chain_maxcols || !Front_1strow ||
-	!Front_leftmostdesc)
-    {
-	error ("out of memory") ;
-    }
-
-    status = umfpack_di_get_symbolic (&nr, &nc, &n1, &anz, &nfr, &nchains,
-	Pinit, Qinit, Front_npivcol, Front_parent, Front_1strow,
-	Front_leftmostdesc, Chain_start, Chain_maxrows, Chain_maxcols,
-	Symbolic) ;
-
-    if (status < 0)
-    {
-	error ("symbolic factorization invalid") ;
-    }
-
-    printf ("From the Symbolic object, C is of dimension %d-by-%d\n", nr, nc);
-    printf ("   with nz = %d, number of fronts = %d,\n", nz, nfr) ;
-    printf ("   number of frontal matrix chains = %d\n", nchains) ;
-
-    printf ("\nPivot columns in each front, and parent of each front:\n") ;
-    k = 0 ;
-    for (i = 0 ; i < nfr ; i++)
-    {
-	fnpiv = Front_npivcol [i] ;
-	printf ("    Front %d: parent front: %d number of pivot cols: %d\n",
-		i, Front_parent [i], fnpiv) ;
-	for (j = 0 ; j < fnpiv ; j++)
-	{
-	    col = Qinit [k] ;
-	    printf (
-	    "        %d-th pivot column is column %d in original matrix\n",
-		k, col) ;
-	    k++ ;
-	}
-    }
-
-    printf ("\nNote that the column ordering, above, will be refined\n") ;
-    printf ("in the numeric factorization below.  The assignment of pivot\n") ;
-    printf ("columns to frontal matrices will always remain unchanged.\n") ;
-
-    printf ("\nTotal number of pivot columns in frontal matrices: %d\n", k) ;
-
-    printf ("\nFrontal matrix chains:\n") ;
-    for (j = 0 ; j < nchains ; j++)
-    {
-	printf ("   Frontal matrices %d to %d are factorized in a single\n",
-	    Chain_start [j], Chain_start [j+1] - 1) ;
-	printf ("        working array of size %d-by-%d\n",
-	    Chain_maxrows [j], Chain_maxcols [j]) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* numeric factorization of C */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_di_numeric (Cp, Ci, Cx, Symbolic, &Numeric,
-	Control, Info) ;
-    if (status < 0)
-    {
-	error ("umfpack_di_numeric failed") ;
-    }
-    printf ("\nNumeric factorization of C: ") ;
-    (void) umfpack_di_report_numeric (Numeric, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* extract the LU factors of C and print them */
-    /* ---------------------------------------------------------------------- */
-
-    if (umfpack_di_get_lunz (&lnz, &unz, &nr, &nc, &nzud, Numeric) < 0)
-    {
-	error ("umfpack_di_get_lunz failed") ;
-    }
-    /* ensure arrays are not of zero size */
-    lnz1 = MAX (lnz,1) ;
-    unz1 = MAX (unz,1) ;
-    Lp = (int *) malloc ((n+1) * sizeof (int)) ;
-    Lj = (int *) malloc (lnz1 * sizeof (int)) ;
-    Lx = (double *) malloc (lnz1 * sizeof (double)) ;
-    Up = (int *) malloc ((n+1) * sizeof (int)) ;
-    Ui = (int *) malloc (unz1 * sizeof (int)) ;
-    Ux = (double *) malloc (unz1 * sizeof (double)) ;
-    P = (int *) malloc (n * sizeof (int)) ;
-    Q = (int *) malloc (n * sizeof (int)) ;
-    Dx = (double *) NULL ;	/* D vector not requested */
-    Rs  = (double *) malloc (n * sizeof (double)) ;
-    if (!Lp || !Lj || !Lx || !Up || !Ui || !Ux || !P || !Q || !Rs)
-    {
-	error ("out of memory") ;
-    }
-    status = umfpack_di_get_numeric (Lp, Lj, Lx, Up, Ui, Ux,
-	P, Q, Dx, &do_recip, Rs, Numeric) ;
-    if (status < 0)
-    {
-	error ("umfpack_di_get_numeric failed") ;
-    }
-
-    printf ("\nL (lower triangular factor of C): ") ;
-    (void) umfpack_di_report_matrix (n, n, Lp, Lj, Lx, 0, Control) ;
-    printf ("\nU (upper triangular factor of C): ") ;
-    (void) umfpack_di_report_matrix (n, n, Up, Ui, Ux, 1, Control) ;
-    printf ("\nP: ") ;
-    (void) umfpack_di_report_perm (n, P, Control) ;
-    printf ("\nQ: ") ;
-    (void) umfpack_di_report_perm (n, Q, Control) ;
-    printf ("\nScale factors: row i of A is to be ") ;
-    if (do_recip)
-    {
-	printf ("multiplied by the ith scale factor\n") ;
-    }
-    else
-    {
-	printf ("divided by the ith scale factor\n") ;
-    }
-    for (i = 0 ; i < n ; i++) printf ("%d: %g\n", i, Rs [i]) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* convert L to triplet form and print it */
-    /* ---------------------------------------------------------------------- */
-
-    /* Note that L is in row-form, so it is the row indices that are created */
-    /* by umfpack_di_col_to_triplet. */
-
-    printf ("\nConverting L to triplet form, and printing it:\n") ;
-    Li = (int *) malloc (lnz1 * sizeof (int)) ;
-    if (!Li)
-    {
-	error ("out of memory") ;
-    }
-    if (umfpack_di_col_to_triplet (n, Lp, Li) < 0)
-    {
-	error ("umfpack_di_col_to_triplet failed") ;
-    }
-    printf ("\nL, in triplet form: ") ;
-    (void) umfpack_di_report_triplet (n, n, lnz, Li, Lj, Lx, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* save the Numeric object to file, free it, and load it back in */
-    /* ---------------------------------------------------------------------- */
-
-    /* use the default filename, "numeric.umf" */
-    printf ("\nSaving numeric object:\n") ;
-    status = umfpack_di_save_numeric (Numeric, (char *) NULL) ;
-    if (status < 0)
-    {
-	umfpack_di_report_status (Control, status) ;
-	error ("umfpack_di_save_numeric failed") ;
-    }
-    printf ("\nFreeing numeric object:\n") ;
-    umfpack_di_free_numeric (&Numeric) ;
-    printf ("\nLoading numeric object:\n") ;
-    status = umfpack_di_load_numeric (&Numeric, (char *) NULL) ;
-    if (status < 0)
-    {
-	umfpack_di_report_status (Control, status) ;
-	error ("umfpack_di_load_numeric failed") ;
-    }
-    printf ("\nDone loading numeric object\n") ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve C'x=b */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_di_solve (UMFPACK_At, Cp, Ci, Cx, x, b,
-	Numeric, Control, Info) ;
-    umfpack_di_report_info (Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_di_report_status (Control, status) ;
-	error ("umfpack_di_solve failed") ;
-    }
-    printf ("\nx (solution of C'x=b): ") ;
-    (void) umfpack_di_report_vector (n, x, Control) ;
-    rnorm = resid (TRUE, Cp, Ci, Cx) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve C'x=b again, using umfpack_di_wsolve instead */
-    /* ---------------------------------------------------------------------- */
-
-    printf ("\nSolving C'x=b again, using umfpack_di_wsolve instead:\n") ;
-    Wi = (int *) malloc (n * sizeof (int)) ;
-    W = (double *) malloc (5*n * sizeof (double)) ;
-    if (!Wi || !W)
-    {
-	error ("out of memory") ;
-    }
-
-    status = umfpack_di_wsolve (UMFPACK_At, Cp, Ci, Cx, x, b,
-	Numeric, Control, Info, Wi, W) ;
-    umfpack_di_report_info (Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_di_report_status (Control, status) ;
-	error ("umfpack_di_wsolve failed") ;
-    }
-    printf ("\nx (solution of C'x=b): ") ;
-    (void) umfpack_di_report_vector (n, x, Control) ;
-    rnorm = resid (TRUE, Cp, Ci, Cx) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* free everything */
-    /* ---------------------------------------------------------------------- */
-
-    /* This is not strictly required since the process is exiting and the */
-    /* system will reclaim the memory anyway.  It's useful, though, just as */
-    /* a list of what is currently malloc'ed by this program.  Plus, it's */
-    /* always a good habit to explicitly free whatever you malloc. */
-
-    free (Ap) ;
-    free (Ai) ;
-    free (Ax) ;
-
-    free (Cp) ;
-    free (Ci) ;
-    free (Cx) ;
-
-    free (Pinit) ;
-    free (Qinit) ;
-    free (Front_npivcol) ;
-    free (Front_1strow) ;
-    free (Front_leftmostdesc) ;
-    free (Front_parent) ;
-    free (Chain_start) ;
-    free (Chain_maxrows) ;
-    free (Chain_maxcols) ;
-
-    free (Lp) ;
-    free (Lj) ;
-    free (Lx) ;
-
-    free (Up) ;
-    free (Ui) ;
-    free (Ux) ;
-
-    free (P) ;
-    free (Q) ;
-
-    free (Li) ;
-
-    free (Wi) ;
-    free (W) ;
-
-    umfpack_di_free_symbolic (&Symbolic) ;
-    umfpack_di_free_numeric (&Numeric) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* print the total time spent in this demo */
-    /* ---------------------------------------------------------------------- */
-
-    umfpack_toc (t) ;
-    printf ("\numfpack_di_demo complete.\nTotal time: %5.2f seconds"
-	" (CPU time), %5.2f seconds (wallclock time)\n", t [1], t [0]) ;
-    return (0) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Demo/umfpack_di_demo.out	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1541 +0,0 @@
-
-UMFPACK V4.4 (Jan. 28, 2005) demo: _di_ version
-
-UMFPACK:  Copyright (c) 2005 by Timothy A. Davis.  All Rights Reserved.
-
-
-UMFPACK License:
-
-   Your use or distribution of UMFPACK or any modified version of
-   UMFPACK implies that you agree to this License.
-
-   THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
-   EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
-
-   Permission is hereby granted to use or copy this program, provided
-   that the Copyright, this License, and the Availability of the original
-   version is retained on all copies.  User documentation of any code that
-   uses UMFPACK or any modified version of UMFPACK code must cite the
-   Copyright, this License, the Availability note, and "Used by permission."
-   Permission to modify the code and to distribute modified code is granted,
-   provided the Copyright, this License, and the Availability note are
-   retained, and a notice that the code was modified is included.  This
-   software was developed with support from the National Science Foundation,
-   and is provided to you free of charge.
-
-Availability: http://www.cise.ufl.edu/research/sparse/umfpack
-
-UMFPACK V4.4 (Jan. 28, 2005): OK
-
-
-UMFPACK V4.4 (Jan. 28, 2005), Control:
-
-    Matrix entry defined as: double
-    Int (generic integer) defined as: int
-
-    0: print level: 5
-    1: dense row parameter:    0.2
-        "dense" rows have    > max (16, (0.2)*16*sqrt(n_col) entries)
-    2: dense column parameter: 0.2
-        "dense" columns have > max (16, (0.2)*16*sqrt(n_row) entries)
-    3: pivot tolerance: 0.1
-    4: block size for dense matrix kernels: 32
-    5: strategy: 0 (auto)
-    6: initial allocation ratio: 0.7
-    7: max iterative refinement steps: 2
-    12: 2-by-2 pivot tolerance: 0.01
-    13: Q fixed during numerical factorization: 0 (auto)
-    14: AMD dense row/col parameter:    10
-       "dense" rows/columns have > max (16, (10)*sqrt(n)) entries
-        Only used if the AMD ordering is used.
-    15: diagonal pivot tolerance: 0.001
-        Only used if diagonal pivoting is attempted.
-    16: scaling: 1 (divide each row by sum of abs. values in each row)
-    17: frontal matrix allocation ratio: 0.5
-    18: drop tolerance: 0
-    19: AMD and COLAMD aggressive absorption: 1 (yes)
-
-    The following options can only be changed at compile-time:
-    8: BLAS library used:  none.  UMFPACK will be slow.
-    9: compiled for ANSI C (uses malloc, free, realloc, and printf)
-    10: CPU timer is POSIX times ( ) routine.
-    11: compiled for normal operation (debugging disabled)
-    computer/operating system: Linux
-    size of int: 4 long: 4 Int: 4 pointer: 4 double: 8 Entry: 8 (in bytes)
-
-
-b: dense vector, n = 5. 
-    0 : (8)
-    1 : (45)
-    2 : (-3)
-    3 : (3)
-    4 : (19)
-    dense vector OK
-
-
-A: triplet-form matrix, n_row = 5, n_col = 5 nz = 12. 
-    0 : 0 0  (2)
-    1 : 4 4  (1)
-    2 : 1 0  (3)
-    3 : 1 2  (4)
-    4 : 2 1  (-1)
-    5 : 2 2  (-3)
-    6 : 0 1  (3)
-    7 : 1 4  (6)
-    8 : 2 3  (2)
-    9 : 3 2  (1)
-    10 : 4 1  (4)
-    11 : 4 2  (2)
-    triplet-form matrix OK
-
-
-A: column-form matrix, n_row 5 n_col 5, nz = 12. 
-
-    column 0: start: 0 end: 1 entries: 2
-	row 0 : (2)
-	row 1 : (3)
-
-    column 1: start: 2 end: 4 entries: 3
-	row 0 : (3)
-	row 2 : (-1)
-	row 4 : (4)
-
-    column 2: start: 5 end: 8 entries: 4
-	row 1 : (4)
-	row 2 : (-3)
-	row 3 : (1)
-	row 4 : (2)
-
-    column 3: start: 9 end: 9 entries: 1
-	row 2 : (2)
-
-    column 4: start: 10 end: 11 entries: 2
-	row 1 : (6)
-	row 4 : (1)
-    column-form matrix OK
-
-
-Symbolic factorization of A: Symbolic object: 
-    matrix to be factorized:
-	n_row: 5 n_col: 5
-	number of entries: 12
-    block size used for dense matrix kernels:   32
-    strategy used:                              unsymmetric
-    ordering used:                              colamd on A
-
-    performn column etree postorder:            yes
-    prefer diagonal pivoting (attempt P=Q):     no
-    variable-size part of Numeric object:
-	minimum initial size (Units): 74  (MBytes): 0.0
-	estimated peak size (Units):  1301  (MBytes): 0.0
-	estimated final size (Units): 15  (MBytes): 0.0
-    symbolic factorization memory usage (Units): 144  (MBytes): 0.0
-    frontal matrices / supercolumns:
-	number of frontal chains: 1
-	number of frontal matrices: 1
-	largest frontal matrix row dimension: 3
-	largest frontal matrix column dimension: 3
-
-    Frontal chain: 0.  Frontal matrices 0 to 0
-	Largest frontal matrix in Frontal chain: 3-by-3
-	Front: 0  pivot cols: 3 (pivot columns 0 to 2)
-	    pivot row candidates: 2 to 4
-	    leftmost descendant: 0
-	    1st new candidate row : 2
-	    parent: (none)
-
-Initial column permutation, Q1: permutation vector, n = 5. 
-    0 : 3 
-    1 : 2 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-Initial row permutation, P1: permutation vector, n = 5. 
-    0 : 2 
-    1 : 3 
-    2 : 0 
-    3 : 1 
-    4 : 4 
-    permutation vector OK
-
-    Symbolic object:  OK
-
-
-Numeric factorization of A: Numeric object:  
-    n_row: 5  n_col: 5
-    relative pivot tolerance used:              0.1
-    relative symmetric pivot tolerance used:    0.001
-    matrix scaled: yes (divided each row by sum abs value in each row)
-    minimum sum (abs (rows of A)):              1.00000e+00
-    maximum sum (abs (rows of A)):              1.30000e+01
-    initial allocation parameter used:          0.7
-    frontal matrix allocation parameter used:   0.5
-    final total size of Numeric object (Units): 80
-    final total size of Numeric object (MBytes): 0.0
-    peak size of variable-size part (Units):    1292
-    peak size of variable-size part (MBytes):   0.0
-    largest actual frontal matrix size:         4
-    memory defragmentations:                    1
-    memory reallocations:                       1
-    costly memory reallocations:                0
-    entries in compressed pattern (L and U):    2
-    number of nonzeros in L (excl diag):        4
-    number of entries stored in L (excl diag):  2
-    number of nonzeros in U (excl diag):        4
-    number of entries stored in U (excl diag):  2
-    factorization floating-point operations:    6
-    number of nonzeros on diagonal of U:        5
-    min abs. value on diagonal of U:            1.42857e-01
-    max abs. value on diagonal of U:            2.19231e+00
-    reciprocal condition number estimate:       6.52e-02
-
-Scale factors applied via multiplication
-Scale factors, Rs: dense vector, n = 5. 
-    0 : (0.2)
-    1 : (0.0769231)
-    2 : (0.166667)
-    3 : (1)
-    4 : (0.142857)
-    dense vector OK
-
-
-P: row permutation vector, n = 5. 
-    0 : 2 
-    1 : 3 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-Q: column permutation vector, n = 5. 
-    0 : 3 
-    1 : 2 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-L in Numeric object, in column-oriented compressed-pattern form:
-    Diagonal entries are all equal to 1.0 (not stored)
-
-    column 0:  length 0.
-
-    column 1:  length 2.
-	row 4 :  (0.307692)
-	row 3 :  (0.285714)
-
-    column 2:  add 1 entries.  length 1.  Start of Lchain.
-	row 4 :  (0.576923)
-
-    column 3:  length 1.
-	row 4 :  (3.23077)
-
-    column 4:  length 0.  Start of Lchain.
-
-
-U in Numeric object, in row-oriented compressed-pattern form:
-    Diagonal is stored separately.
-
-    row 4:  length 0.  End of Uchain.
-
-    row 3:  length 1.  End of Uchain.
-	col 4 : (0.571429)
-
-    row 2:  length 1.
-	col 4 : (0.6)
-
-    row 1:  length 0.  End of Uchain.
-
-    row 1:  length 0.
-
-    row 0:  length 2.
-	col 1 :  (-0.5)
-	col 4 :  (-0.166667)
-
-
-diagonal of U: dense vector, n = 5. 
-    0 : (0.333333)
-    1 : (1)
-    2 : (0.4)
-    3 : (0.142857)
-    4 : (-2.19231)
-    dense vector OK
-
-    Numeric object:  OK
-
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double
-    Int (generic integer) defined as: int
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       5
-    number of columns in matrix A:    5
-    entries in matrix A:              12
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          8 bytes
-
-    strategy used:                    unsymmetric
-    ordering used:                    colamd on A
-    modify Q during factorization:    yes
-    prefer diagonal pivoting:         no
-    pivots with zero Markowitz cost:               2
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    0
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    3
-        symmetry of nonzero pattern:               1.000000
-        nz in S+S' (excl. diagonal):               4
-        nz on diagonal of matrix S:                2
-        fraction of nz on diagonal:                0.666667
-    2-by-2 pivoting to place large entries on diagonal:
-        # of small diagonal entries of S:          1
-        # unmatched:                               0
-        symmetry of P2*S:                          0.000000
-        nz in P2*S+(P2*S)' (excl. diag.):          6
-        nz on diagonal of P2*S:                    3
-        fraction of nz on diag of P2*S:            1.000000
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 144
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         45
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    matrix scaled: yes (divided each row by sum of abs values in each row)
-    minimum sum (abs (rows of A)):              1.00000e+00
-    maximum sum (abs (rows of A)):              1.30000e+01
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                      74                   69    93%
-        peak size (Units)                       1301                 1292    99%
-        final size (Units)                        15                   13    87%
-    Numeric final size (Units)                    85                   81    95%
-    Numeric final size (MBytes)                  0.0                  0.0    95%
-    peak memory usage (Units)                   1473                 1464    99%
-    peak memory usage (MBytes)                   0.0                  0.0    99%
-    numeric factorization flops          1.30000e+01          6.00000e+00    46%
-    nz in L (incl diagonal)                       10                    9    90%
-    nz in U (incl diagonal)                       10                    9    90%
-    nz in L+U (incl diagonal)                     15                   13    87%
-    largest front (# entries)                      9                    4    44%
-    largest # rows in front                        3                    2    67%
-    largest # columns in front                     3                    2    67%
-
-    initial allocation ratio used:                 0.7
-    # of forced updates due to frontal growth:     0
-    nz in L (incl diagonal), if none dropped       9
-    nz in U (incl diagonal), if none dropped       9
-    number of small entries dropped                0
-    nonzeros on diagonal of U:                     5
-    min abs. value on diagonal of U:               1.43e-01
-    max abs. value on diagonal of U:               2.19e+00
-    estimate of reciprocal of condition number:    6.52e-02
-    indices in compressed pattern:                 2
-    numerical values stored in Numeric object:     9
-    numeric factorization defragmentations:        1
-    numeric factorization reallocations:           1
-    costly numeric factorization reallocations:    0
-    numeric factorization CPU time (sec):          0.00
-    numeric factorization wallclock time (sec):    0.00
-    symbolic + numeric CPU time (sec):             0.00
-    symbolic + numeric wall clock time (sec):      0.00
-
-    solve flops:                                   1.19000e+02
-    iterative refinement steps taken:              0
-    iterative refinement steps attempted:          0
-    sparse backward error omega1:                  4.67e-17
-    sparse backward error omega2:                  0.00e+00
-    solve CPU time (sec):                          0.00
-    solve wall clock time (sec):                   0.00
-
-    total symbolic + numeric + solve flops:        1.25000e+02
-    total symbolic + numeric + solve CPU time:     0.00
-    total symbolic+numeric+solve wall clock time:  0.00
-
-
-UMFPACK:  Copyright (c) 2005 by Timothy A. Davis.  All Rights Reserved.
-
-UMFPACK V4.4 (Jan. 28, 2005): OK
-
-
-x (solution of Ax=b): dense vector, n = 5. 
-    0 : (1)
-    1 : (2)
-    2 : (3)
-    3 : (4)
-    4 : (5)
-    dense vector OK
-
-maxnorm of residual: 1.77636e-15
-
-
-UMFPACK:  Copyright (c) 2005 by Timothy A. Davis.  All Rights Reserved.
-
-UMFPACK V4.4 (Jan. 28, 2005): OK
-
-determinant: (1.14) * 10^(2)
-
-x (solution of Ax=b, solve is split into 3 steps): dense vector, n = 5. 
-    0 : (1)
-    1 : (2)
-    2 : (3)
-    3 : (4)
-    4 : (5)
-    dense vector OK
-
-maxnorm of residual: 1.77636e-15
-
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double
-    Int (generic integer) defined as: int
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       5
-    number of columns in matrix A:    5
-    entries in matrix A:              12
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          8 bytes
-
-    strategy used:                    unsymmetric
-    ordering used:                    colamd on A
-    modify Q during factorization:    yes
-    prefer diagonal pivoting:         no
-    pivots with zero Markowitz cost:               2
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    0
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    3
-        symmetry of nonzero pattern:               1.000000
-        nz in S+S' (excl. diagonal):               4
-        nz on diagonal of matrix S:                2
-        fraction of nz on diagonal:                0.666667
-    2-by-2 pivoting to place large entries on diagonal:
-        # of small diagonal entries of S:          1
-        # unmatched:                               0
-        symmetry of P2*S:                          0.000000
-        nz in P2*S+(P2*S)' (excl. diag.):          6
-        nz on diagonal of P2*S:                    3
-        fraction of nz on diag of P2*S:            1.000000
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 144
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         45
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    matrix scaled: yes (divided each row by sum of abs values in each row)
-    minimum sum (abs (rows of A)):              1.00000e+00
-    maximum sum (abs (rows of A)):              1.30000e+01
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                      74                   69    93%
-        peak size (Units)                       1301                 1292    99%
-        final size (Units)                        15                   13    87%
-    Numeric final size (Units)                    85                   81    95%
-    Numeric final size (MBytes)                  0.0                  0.0    95%
-    peak memory usage (Units)                   1473                 1464    99%
-    peak memory usage (MBytes)                   0.0                  0.0    99%
-    numeric factorization flops          1.30000e+01          6.00000e+00    46%
-    nz in L (incl diagonal)                       10                    9    90%
-    nz in U (incl diagonal)                       10                    9    90%
-    nz in L+U (incl diagonal)                     15                   13    87%
-    largest front (# entries)                      9                    4    44%
-    largest # rows in front                        3                    2    67%
-    largest # columns in front                     3                    2    67%
-
-    initial allocation ratio used:                 0.7
-    # of forced updates due to frontal growth:     0
-    nz in L (incl diagonal), if none dropped       9
-    nz in U (incl diagonal), if none dropped       9
-    number of small entries dropped                0
-    nonzeros on diagonal of U:                     5
-    min abs. value on diagonal of U:               1.43e-01
-    max abs. value on diagonal of U:               2.19e+00
-    estimate of reciprocal of condition number:    6.52e-02
-    indices in compressed pattern:                 2
-    numerical values stored in Numeric object:     9
-    numeric factorization defragmentations:        1
-    numeric factorization reallocations:           1
-    costly numeric factorization reallocations:    0
-    numeric factorization CPU time (sec):          0.00
-    numeric factorization wallclock time (sec):    0.00
-    symbolic + numeric CPU time (sec):             0.00
-    symbolic + numeric wall clock time (sec):      0.00
-
-    solve flops:                                   1.11000e+02
-    iterative refinement steps taken:              0
-    iterative refinement steps attempted:          0
-    sparse backward error omega1:                  5.84e-17
-    sparse backward error omega2:                  0.00e+00
-    solve CPU time (sec):                          0.00
-    solve wall clock time (sec):                   0.00
-
-    total symbolic + numeric + solve flops:        1.17000e+02
-    total symbolic + numeric + solve CPU time:     0.00
-    total symbolic+numeric+solve wall clock time:  0.00
-
-
-x (solution of A'x=b): dense vector, n = 5. 
-    0 : (1.81579)
-    1 : (1.45614)
-    2 : (1.5)
-    3 : (-24.8509)
-    4 : (10.2632)
-    dense vector OK
-
-maxnorm of residual: 7.10543e-15
-
-
-changing A (1,4) to zero
-
-modified A: column-form matrix, n_row 5 n_col 5, nz = 12. 
-
-    column 0: start: 0 end: 1 entries: 2
-	row 0 : (2)
-	row 1 : (3)
-
-    column 1: start: 2 end: 4 entries: 3
-	row 0 : (3)
-	row 2 : (-1)
-	row 4 : (4)
-
-    column 2: start: 5 end: 8 entries: 4
-	row 1 : (4)
-	row 2 : (-3)
-	row 3 : (1)
-	row 4 : (2)
-
-    column 3: start: 9 end: 9 entries: 1
-	row 2 : (2)
-
-    column 4: start: 10 end: 11 entries: 2
-	row 1 : (0)
-	row 4 : (1)
-    column-form matrix OK
-
-
-Numeric factorization of modified A: Numeric object:  
-    n_row: 5  n_col: 5
-    relative pivot tolerance used:              0.1
-    relative symmetric pivot tolerance used:    0.001
-    matrix scaled: yes (divided each row by sum abs value in each row)
-    minimum sum (abs (rows of A)):              1.00000e+00
-    maximum sum (abs (rows of A)):              7.00000e+00
-    initial allocation parameter used:          0.7
-    frontal matrix allocation parameter used:   0.5
-    final total size of Numeric object (Units): 79
-    final total size of Numeric object (MBytes): 0.0
-    peak size of variable-size part (Units):    1292
-    peak size of variable-size part (MBytes):   0.0
-    largest actual frontal matrix size:         4
-    memory defragmentations:                    1
-    memory reallocations:                       1
-    costly memory reallocations:                0
-    entries in compressed pattern (L and U):    2
-    number of nonzeros in L (excl diag):        4
-    number of entries stored in L (excl diag):  2
-    number of nonzeros in U (excl diag):        3
-    number of entries stored in U (excl diag):  1
-    factorization floating-point operations:    4
-    number of nonzeros on diagonal of U:        5
-    min abs. value on diagonal of U:            1.50000e-01
-    max abs. value on diagonal of U:            1.00000e+00
-    reciprocal condition number estimate:       1.50e-01
-
-Scale factors applied via multiplication
-Scale factors, Rs: dense vector, n = 5. 
-    0 : (0.2)
-    1 : (0.142857)
-    2 : (0.166667)
-    3 : (1)
-    4 : (0.142857)
-    dense vector OK
-
-
-P: row permutation vector, n = 5. 
-    0 : 2 
-    1 : 3 
-    2 : 1 
-    3 : 4 
-    4 : 0 
-    permutation vector OK
-
-
-Q: column permutation vector, n = 5. 
-    0 : 3 
-    1 : 2 
-    2 : 0 
-    3 : 1 
-    4 : 4 
-    permutation vector OK
-
-
-L in Numeric object, in column-oriented compressed-pattern form:
-    Diagonal entries are all equal to 1.0 (not stored)
-
-    column 0:  length 0.
-
-    column 1:  length 2.
-	row 2 :  (0.571429)
-	row 3 :  (0.285714)
-
-    column 2:  add 1 entries.  length 1.  Start of Lchain.
-	row 4 :  (0.933333)
-
-    column 3:  length 1.
-	row 4 :  (1.05)
-
-    column 4:  length 0.  Start of Lchain.
-
-
-U in Numeric object, in row-oriented compressed-pattern form:
-    Diagonal is stored separately.
-
-    row 4:  length 0.  End of Uchain.
-
-    row 3:  length 1.  End of Uchain.
-	col 4 : (0.142857)
-
-    row 2:  length 0.  End of Uchain.
-
-    row 1:  length 0.  End of Uchain.
-
-    row 1:  length 0.
-
-    row 0:  length 2.
-	col 1 :  (-0.5)
-	col 3 :  (-0.166667)
-
-
-diagonal of U: dense vector, n = 5. 
-    0 : (0.333333)
-    1 : (1)
-    2 : (0.428571)
-    3 : (0.571429)
-    4 : (-0.15)
-    dense vector OK
-
-    Numeric object:  OK
-
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double
-    Int (generic integer) defined as: int
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       5
-    number of columns in matrix A:    5
-    entries in matrix A:              12
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          8 bytes
-
-    strategy used:                    unsymmetric
-    ordering used:                    colamd on A
-    modify Q during factorization:    yes
-    prefer diagonal pivoting:         no
-    pivots with zero Markowitz cost:               2
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    0
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    3
-        symmetry of nonzero pattern:               1.000000
-        nz in S+S' (excl. diagonal):               4
-        nz on diagonal of matrix S:                2
-        fraction of nz on diagonal:                0.666667
-    2-by-2 pivoting to place large entries on diagonal:
-        # of small diagonal entries of S:          1
-        # unmatched:                               0
-        symmetry of P2*S:                          0.000000
-        nz in P2*S+(P2*S)' (excl. diag.):          6
-        nz on diagonal of P2*S:                    3
-        fraction of nz on diag of P2*S:            1.000000
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 144
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         45
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    matrix scaled: yes (divided each row by sum of abs values in each row)
-    minimum sum (abs (rows of A)):              1.00000e+00
-    maximum sum (abs (rows of A)):              7.00000e+00
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                      74                   69    93%
-        peak size (Units)                       1301                 1292    99%
-        final size (Units)                        15                   12    80%
-    Numeric final size (Units)                    85                   80    94%
-    Numeric final size (MBytes)                  0.0                  0.0    94%
-    peak memory usage (Units)                   1473                 1464    99%
-    peak memory usage (MBytes)                   0.0                  0.0    99%
-    numeric factorization flops          1.30000e+01          4.00000e+00    31%
-    nz in L (incl diagonal)                       10                    9    90%
-    nz in U (incl diagonal)                       10                    8    80%
-    nz in L+U (incl diagonal)                     15                   12    80%
-    largest front (# entries)                      9                    4    44%
-    largest # rows in front                        3                    2    67%
-    largest # columns in front                     3                    2    67%
-
-    initial allocation ratio used:                 0.7
-    # of forced updates due to frontal growth:     0
-    nz in L (incl diagonal), if none dropped       9
-    nz in U (incl diagonal), if none dropped       8
-    number of small entries dropped                0
-    nonzeros on diagonal of U:                     5
-    min abs. value on diagonal of U:               1.50e-01
-    max abs. value on diagonal of U:               1.00e+00
-    estimate of reciprocal of condition number:    1.50e-01
-    indices in compressed pattern:                 2
-    numerical values stored in Numeric object:     8
-    numeric factorization defragmentations:        1
-    numeric factorization reallocations:           1
-    costly numeric factorization reallocations:    0
-    numeric factorization CPU time (sec):          0.00
-    numeric factorization wallclock time (sec):    0.00
-    symbolic + numeric CPU time (sec):             0.00
-    symbolic + numeric wall clock time (sec):      0.00
-
-    solve flops:                                   1.17000e+02
-    iterative refinement steps taken:              0
-    iterative refinement steps attempted:          0
-    sparse backward error omega1:                  5.92e-17
-    sparse backward error omega2:                  0.00e+00
-    solve CPU time (sec):                          0.00
-    solve wall clock time (sec):                   0.00
-
-    total symbolic + numeric + solve flops:        1.21000e+02
-    total symbolic + numeric + solve CPU time:     0.00
-    total symbolic+numeric+solve wall clock time:  0.00
-
-
-x (with modified A): dense vector, n = 5. 
-    0 : (11)
-    1 : (-4.66667)
-    2 : (3)
-    3 : (0.666667)
-    4 : (31.6667)
-    dense vector OK
-
-maxnorm of residual: 5.32907e-15
-
-changing A (0,0) from 2 to 2
-changing A (1,0) from 3 to 2
-changing A (0,1) from 3 to 13
-changing A (2,1) from -1 to 7
-changing A (4,1) from 4 to 10
-changing A (1,2) from 4 to 23
-changing A (2,2) from -3 to 15
-changing A (3,2) from 1 to 18
-changing A (4,2) from 2 to 18
-changing A (2,3) from 2 to 30
-changing A (1,4) from 0 to 39
-changing A (4,4) from 1 to 37
-
-completely modified A (same pattern): column-form matrix, n_row 5 n_col 5, nz = 12. 
-
-    column 0: start: 0 end: 1 entries: 2
-	row 0 : (2)
-	row 1 : (2)
-
-    column 1: start: 2 end: 4 entries: 3
-	row 0 : (13)
-	row 2 : (7)
-	row 4 : (10)
-
-    column 2: start: 5 end: 8 entries: 4
-	row 1 : (23)
-	row 2 : (15)
-	row 3 : (18)
-	row 4 : (18)
-
-    column 3: start: 9 end: 9 entries: 1
-	row 2 : (30)
-
-    column 4: start: 10 end: 11 entries: 2
-	row 1 : (39)
-	row 4 : (37)
-    column-form matrix OK
-
-
-Saving symbolic object:
-
-Freeing symbolic object:
-
-Loading symbolic object:
-
-Done loading symbolic object
-
-Numeric factorization of completely modified A: Numeric object:  
-    n_row: 5  n_col: 5
-    relative pivot tolerance used:              0.1
-    relative symmetric pivot tolerance used:    0.001
-    matrix scaled: yes (divided each row by sum abs value in each row)
-    minimum sum (abs (rows of A)):              1.50000e+01
-    maximum sum (abs (rows of A)):              6.50000e+01
-    initial allocation parameter used:          0.7
-    frontal matrix allocation parameter used:   0.5
-    final total size of Numeric object (Units): 80
-    final total size of Numeric object (MBytes): 0.0
-    peak size of variable-size part (Units):    1292
-    peak size of variable-size part (MBytes):   0.0
-    largest actual frontal matrix size:         4
-    memory defragmentations:                    1
-    memory reallocations:                       1
-    costly memory reallocations:                0
-    entries in compressed pattern (L and U):    2
-    number of nonzeros in L (excl diag):        4
-    number of entries stored in L (excl diag):  2
-    number of nonzeros in U (excl diag):        4
-    number of entries stored in U (excl diag):  2
-    factorization floating-point operations:    6
-    number of nonzeros on diagonal of U:        5
-    min abs. value on diagonal of U:            1.33333e-01
-    max abs. value on diagonal of U:            1.00000e+00
-    reciprocal condition number estimate:       1.33e-01
-
-Scale factors applied via multiplication
-Scale factors, Rs: dense vector, n = 5. 
-    0 : (0.0666667)
-    1 : (0.015625)
-    2 : (0.0192308)
-    3 : (0.0555556)
-    4 : (0.0153846)
-    dense vector OK
-
-
-P: row permutation vector, n = 5. 
-    0 : 2 
-    1 : 3 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-Q: column permutation vector, n = 5. 
-    0 : 3 
-    1 : 2 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-L in Numeric object, in column-oriented compressed-pattern form:
-    Diagonal entries are all equal to 1.0 (not stored)
-
-    column 0:  length 0.
-
-    column 1:  length 2.
-	row 4 :  (0.359375)
-	row 3 :  (0.276923)
-
-    column 2:  add 1 entries.  length 1.  Start of Lchain.
-	row 4 :  (0.234375)
-
-    column 3:  length 1.
-	row 4 :  (1.07052)
-
-    column 4:  length 0.  Start of Lchain.
-
-
-U in Numeric object, in row-oriented compressed-pattern form:
-    Diagonal is stored separately.
-
-    row 4:  length 0.  End of Uchain.
-
-    row 3:  length 1.  End of Uchain.
-	col 4 : (0.153846)
-
-    row 2:  length 1.
-	col 4 : (0.866667)
-
-    row 1:  length 0.  End of Uchain.
-
-    row 1:  length 0.
-
-    row 0:  length 2.
-	col 1 :  (0.288462)
-	col 4 :  (0.134615)
-
-
-diagonal of U: dense vector, n = 5. 
-    0 : (0.576923)
-    1 : (1)
-    2 : (0.133333)
-    3 : (0.569231)
-    4 : (-0.367821)
-    dense vector OK
-
-    Numeric object:  OK
-
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double
-    Int (generic integer) defined as: int
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       5
-    number of columns in matrix A:    5
-    entries in matrix A:              12
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          8 bytes
-
-    strategy used:                    unsymmetric
-    ordering used:                    colamd on A
-    modify Q during factorization:    yes
-    prefer diagonal pivoting:         no
-    pivots with zero Markowitz cost:               2
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    0
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    3
-        symmetry of nonzero pattern:               1.000000
-        nz in S+S' (excl. diagonal):               4
-        nz on diagonal of matrix S:                2
-        fraction of nz on diagonal:                0.666667
-    2-by-2 pivoting to place large entries on diagonal:
-        # of small diagonal entries of S:          1
-        # unmatched:                               0
-        symmetry of P2*S:                          0.000000
-        nz in P2*S+(P2*S)' (excl. diag.):          6
-        nz on diagonal of P2*S:                    3
-        fraction of nz on diag of P2*S:            1.000000
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 144
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         45
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    matrix scaled: yes (divided each row by sum of abs values in each row)
-    minimum sum (abs (rows of A)):              1.50000e+01
-    maximum sum (abs (rows of A)):              6.50000e+01
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                      74                   69    93%
-        peak size (Units)                       1301                 1292    99%
-        final size (Units)                        15                   13    87%
-    Numeric final size (Units)                    85                   81    95%
-    Numeric final size (MBytes)                  0.0                  0.0    95%
-    peak memory usage (Units)                   1473                 1464    99%
-    peak memory usage (MBytes)                   0.0                  0.0    99%
-    numeric factorization flops          1.30000e+01          6.00000e+00    46%
-    nz in L (incl diagonal)                       10                    9    90%
-    nz in U (incl diagonal)                       10                    9    90%
-    nz in L+U (incl diagonal)                     15                   13    87%
-    largest front (# entries)                      9                    4    44%
-    largest # rows in front                        3                    2    67%
-    largest # columns in front                     3                    2    67%
-
-    initial allocation ratio used:                 0.7
-    # of forced updates due to frontal growth:     0
-    nz in L (incl diagonal), if none dropped       9
-    nz in U (incl diagonal), if none dropped       9
-    number of small entries dropped                0
-    nonzeros on diagonal of U:                     5
-    min abs. value on diagonal of U:               1.33e-01
-    max abs. value on diagonal of U:               1.00e+00
-    estimate of reciprocal of condition number:    1.33e-01
-    indices in compressed pattern:                 2
-    numerical values stored in Numeric object:     9
-    numeric factorization defragmentations:        1
-    numeric factorization reallocations:           1
-    costly numeric factorization reallocations:    0
-    numeric factorization CPU time (sec):          0.00
-    numeric factorization wallclock time (sec):    0.00
-    symbolic + numeric CPU time (sec):             0.00
-    symbolic + numeric wall clock time (sec):      0.00
-
-    solve flops:                                   1.19000e+02
-    iterative refinement steps taken:              0
-    iterative refinement steps attempted:          0
-    sparse backward error omega1:                  3.70e-17
-    sparse backward error omega2:                  0.00e+00
-    solve CPU time (sec):                          0.00
-    solve wall clock time (sec):                   0.00
-
-    total symbolic + numeric + solve flops:        1.25000e+02
-    total symbolic + numeric + solve CPU time:     0.00
-    total symbolic+numeric+solve wall clock time:  0.00
-
-
-x (with completely modified A): dense vector, n = 5. 
-    0 : (8.50124)
-    1 : (-0.692499)
-    2 : (0.166667)
-    3 : (-0.0217502)
-    4 : (0.619594)
-    dense vector OK
-
-maxnorm of residual: 3.33067e-15
-
-
-C (transpose of A): column-form matrix, n_row 5 n_col 5, nz = 12. 
-
-    column 0: start: 0 end: 1 entries: 2
-	row 0 : (2)
-	row 1 : (13)
-
-    column 1: start: 2 end: 4 entries: 3
-	row 0 : (2)
-	row 2 : (23)
-	row 4 : (39)
-
-    column 2: start: 5 end: 7 entries: 3
-	row 1 : (7)
-	row 2 : (15)
-	row 3 : (30)
-
-    column 3: start: 8 end: 8 entries: 1
-	row 2 : (18)
-
-    column 4: start: 9 end: 11 entries: 3
-	row 1 : (10)
-	row 2 : (18)
-	row 4 : (37)
-    column-form matrix OK
-
-
-Symbolic factorization of C: Symbolic object: 
-    matrix to be factorized:
-	n_row: 5 n_col: 5
-	number of entries: 12
-    block size used for dense matrix kernels:   32
-    strategy used:                              unsymmetric
-    ordering used:                              colamd on A
-
-    performn column etree postorder:            yes
-    prefer diagonal pivoting (attempt P=Q):     no
-    variable-size part of Numeric object:
-	minimum initial size (Units): 75  (MBytes): 0.0
-	estimated peak size (Units):  1302  (MBytes): 0.0
-	estimated final size (Units): 16  (MBytes): 0.0
-    symbolic factorization memory usage (Units): 144  (MBytes): 0.0
-    frontal matrices / supercolumns:
-	number of frontal chains: 1
-	number of frontal matrices: 1
-	largest frontal matrix row dimension: 3
-	largest frontal matrix column dimension: 3
-
-    Frontal chain: 0.  Frontal matrices 0 to 0
-	Largest frontal matrix in Frontal chain: 3-by-3
-	Front: 0  pivot cols: 3 (pivot columns 0 to 2)
-	    pivot row candidates: 2 to 4
-	    leftmost descendant: 0
-	    1st new candidate row : 2
-	    parent: (none)
-
-Initial column permutation, Q1: permutation vector, n = 5. 
-    0 : 3 
-    1 : 2 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-Initial row permutation, P1: permutation vector, n = 5. 
-    0 : 2 
-    1 : 3 
-    2 : 0 
-    3 : 1 
-    4 : 4 
-    permutation vector OK
-
-    Symbolic object:  OK
-
-
-Get the contents of the Symbolic object for C:
-(compare with umfpack_di_report_symbolic output, above)
-From the Symbolic object, C is of dimension 5-by-5
-   with nz = 12, number of fronts = 1,
-   number of frontal matrix chains = 1
-
-Pivot columns in each front, and parent of each front:
-    Front 0: parent front: -1 number of pivot cols: 3
-        0-th pivot column is column 3 in original matrix
-        1-th pivot column is column 2 in original matrix
-        2-th pivot column is column 0 in original matrix
-
-Note that the column ordering, above, will be refined
-in the numeric factorization below.  The assignment of pivot
-columns to frontal matrices will always remain unchanged.
-
-Total number of pivot columns in frontal matrices: 3
-
-Frontal matrix chains:
-   Frontal matrices 0 to 0 are factorized in a single
-        working array of size 3-by-3
-
-Numeric factorization of C: Numeric object:  
-    n_row: 5  n_col: 5
-    relative pivot tolerance used:              0.1
-    relative symmetric pivot tolerance used:    0.001
-    matrix scaled: yes (divided each row by sum abs value in each row)
-    minimum sum (abs (rows of A)):              4.00000e+00
-    maximum sum (abs (rows of A)):              7.60000e+01
-    initial allocation parameter used:          0.7
-    frontal matrix allocation parameter used:   0.5
-    final total size of Numeric object (Units): 81
-    final total size of Numeric object (MBytes): 0.0
-    peak size of variable-size part (Units):    1293
-    peak size of variable-size part (MBytes):   0.0
-    largest actual frontal matrix size:         4
-    memory defragmentations:                    1
-    memory reallocations:                       1
-    costly memory reallocations:                0
-    entries in compressed pattern (L and U):    2
-    number of nonzeros in L (excl diag):        3
-    number of entries stored in L (excl diag):  2
-    number of nonzeros in U (excl diag):        5
-    number of entries stored in U (excl diag):  2
-    factorization floating-point operations:    6
-    number of nonzeros on diagonal of U:        5
-    min abs. value on diagonal of U:            2.43243e-01
-    max abs. value on diagonal of U:            1.00000e+00
-    reciprocal condition number estimate:       2.43e-01
-
-Scale factors applied via multiplication
-Scale factors, Rs: dense vector, n = 5. 
-    0 : (0.25)
-    1 : (0.0333333)
-    2 : (0.0135135)
-    3 : (0.0333333)
-    4 : (0.0131579)
-    dense vector OK
-
-
-P: row permutation vector, n = 5. 
-    0 : 2 
-    1 : 3 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-Q: column permutation vector, n = 5. 
-    0 : 3 
-    1 : 2 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-L in Numeric object, in column-oriented compressed-pattern form:
-    Diagonal entries are all equal to 1.0 (not stored)
-
-    column 0:  length 0.
-
-    column 1:  length 1.
-	row 4 :  (0.233333)
-
-    column 2:  add 1 entries.  length 1.  Start of Lchain.
-	row 4 :  (0.866667)
-
-    column 3:  length 1.
-	row 4 :  (0.684685)
-
-    column 4:  length 0.  Start of Lchain.
-
-
-U in Numeric object, in row-oriented compressed-pattern form:
-    Diagonal is stored separately.
-
-    row 4:  length 0.  End of Uchain.
-
-    row 3:  length 1.  End of Uchain.
-	col 4 : (0.513158)
-
-    row 2:  length 1.
-	col 4 : (0.5)
-
-    row 1:  length 0.  End of Uchain.
-
-    row 1:  length 0.
-
-    row 0:  length 3.
-	col 1 :  (0.202703)
-	col 3 :  (0.243243)
-	col 4 :  (0.310811)
-
-
-diagonal of U: dense vector, n = 5. 
-    0 : (0.243243)
-    1 : (1)
-    2 : (0.5)
-    3 : (0.486842)
-    4 : (-0.784685)
-    dense vector OK
-
-    Numeric object:  OK
-
-
-L (lower triangular factor of C): row-form matrix, n_row 5 n_col 5, nz = 8. 
-
-    row 0: start: 0 end: 0 entries: 1
-	column 0 : (1)
-
-    row 1: start: 1 end: 1 entries: 1
-	column 1 : (1)
-
-    row 2: start: 2 end: 2 entries: 1
-	column 2 : (1)
-
-    row 3: start: 3 end: 3 entries: 1
-	column 3 : (1)
-
-    row 4: start: 4 end: 7 entries: 4
-	column 1 : (0.233333)
-	column 2 : (0.866667)
-	column 3 : (0.684685)
-	column 4 : (1)
-    row-form matrix OK
-
-
-U (upper triangular factor of C): column-form matrix, n_row 5 n_col 5, nz = 10. 
-
-    column 0: start: 0 end: 0 entries: 1
-	row 0 : (0.243243)
-
-    column 1: start: 1 end: 2 entries: 2
-	row 0 : (0.202703)
-	row 1 : (1)
-
-    column 2: start: 3 end: 3 entries: 1
-	row 2 : (0.5)
-
-    column 3: start: 4 end: 5 entries: 2
-	row 0 : (0.243243)
-	row 3 : (0.486842)
-
-    column 4: start: 6 end: 9 entries: 4
-	row 0 : (0.310811)
-	row 2 : (0.5)
-	row 3 : (0.513158)
-	row 4 : (-0.784685)
-    column-form matrix OK
-
-
-P: permutation vector, n = 5. 
-    0 : 2 
-    1 : 3 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-Q: permutation vector, n = 5. 
-    0 : 3 
-    1 : 2 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-Scale factors: row i of A is to be multiplied by the ith scale factor
-0: 0.25
-1: 0.0333333
-2: 0.0135135
-3: 0.0333333
-4: 0.0131579
-
-Converting L to triplet form, and printing it:
-
-L, in triplet form: triplet-form matrix, n_row = 5, n_col = 5 nz = 8. 
-    0 : 0 0  (1)
-    1 : 1 1  (1)
-    2 : 2 2  (1)
-    3 : 3 3  (1)
-    4 : 4 1  (0.233333)
-    5 : 4 2  (0.866667)
-    6 : 4 3  (0.684685)
-    7 : 4 4  (1)
-    triplet-form matrix OK
-
-
-Saving numeric object:
-
-Freeing numeric object:
-
-Loading numeric object:
-
-Done loading numeric object
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double
-    Int (generic integer) defined as: int
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       5
-    number of columns in matrix A:    5
-    entries in matrix A:              12
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          8 bytes
-
-    strategy used:                    unsymmetric
-    ordering used:                    colamd on A
-    modify Q during factorization:    yes
-    prefer diagonal pivoting:         no
-    pivots with zero Markowitz cost:               2
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    0
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    3
-        symmetry of nonzero pattern:               1.000000
-        nz in S+S' (excl. diagonal):               4
-        nz on diagonal of matrix S:                2
-        fraction of nz on diagonal:                0.666667
-    2-by-2 pivoting to place large entries on diagonal:
-        # of small diagonal entries of S:          1
-        # unmatched:                               0
-        symmetry of P2*S:                          0.000000
-        nz in P2*S+(P2*S)' (excl. diag.):          6
-        nz on diagonal of P2*S:                    3
-        fraction of nz on diag of P2*S:            1.000000
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 144
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         45
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    matrix scaled: yes (divided each row by sum of abs values in each row)
-    minimum sum (abs (rows of A)):              4.00000e+00
-    maximum sum (abs (rows of A)):              7.60000e+01
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                      75                   70    93%
-        peak size (Units)                       1302                 1293    99%
-        final size (Units)                        16                   14    88%
-    Numeric final size (Units)                    86                   82    95%
-    Numeric final size (MBytes)                  0.0                  0.0    95%
-    peak memory usage (Units)                   1474                 1465    99%
-    peak memory usage (MBytes)                   0.0                  0.0    99%
-    numeric factorization flops          1.30000e+01          6.00000e+00    46%
-    nz in L (incl diagonal)                        9                    8    89%
-    nz in U (incl diagonal)                       11                   10    91%
-    nz in L+U (incl diagonal)                     15                   13    87%
-    largest front (# entries)                      9                    4    44%
-    largest # rows in front                        3                    2    67%
-    largest # columns in front                     3                    2    67%
-
-    initial allocation ratio used:                 0.7
-    # of forced updates due to frontal growth:     0
-    nz in L (incl diagonal), if none dropped       8
-    nz in U (incl diagonal), if none dropped       10
-    number of small entries dropped                0
-    nonzeros on diagonal of U:                     5
-    min abs. value on diagonal of U:               2.43e-01
-    max abs. value on diagonal of U:               1.00e+00
-    estimate of reciprocal of condition number:    2.43e-01
-    indices in compressed pattern:                 2
-    numerical values stored in Numeric object:     9
-    numeric factorization defragmentations:        1
-    numeric factorization reallocations:           1
-    costly numeric factorization reallocations:    0
-    numeric factorization CPU time (sec):          0.00
-    numeric factorization wallclock time (sec):    0.00
-    symbolic + numeric CPU time (sec):             0.00
-    symbolic + numeric wall clock time (sec):      0.00
-
-    solve flops:                                   1.11000e+02
-    iterative refinement steps taken:              0
-    iterative refinement steps attempted:          0
-    sparse backward error omega1:                  7.60e-17
-    sparse backward error omega2:                  0.00e+00
-    solve CPU time (sec):                          0.00
-    solve wall clock time (sec):                   0.00
-
-    total symbolic + numeric + solve flops:        1.17000e+02
-    total symbolic + numeric + solve CPU time:     0.00
-    total symbolic+numeric+solve wall clock time:  0.00
-
-
-x (solution of C'x=b): dense vector, n = 5. 
-    0 : (8.50124)
-    1 : (-0.692499)
-    2 : (0.166667)
-    3 : (-0.0217502)
-    4 : (0.619594)
-    dense vector OK
-
-maxnorm of residual: 4.77396e-15
-
-
-Solving C'x=b again, using umfpack_di_wsolve instead:
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double
-    Int (generic integer) defined as: int
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       5
-    number of columns in matrix A:    5
-    entries in matrix A:              12
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          8 bytes
-
-    strategy used:                    unsymmetric
-    ordering used:                    colamd on A
-    modify Q during factorization:    yes
-    prefer diagonal pivoting:         no
-    pivots with zero Markowitz cost:               2
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    0
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    3
-        symmetry of nonzero pattern:               1.000000
-        nz in S+S' (excl. diagonal):               4
-        nz on diagonal of matrix S:                2
-        fraction of nz on diagonal:                0.666667
-    2-by-2 pivoting to place large entries on diagonal:
-        # of small diagonal entries of S:          1
-        # unmatched:                               0
-        symmetry of P2*S:                          0.000000
-        nz in P2*S+(P2*S)' (excl. diag.):          6
-        nz on diagonal of P2*S:                    3
-        fraction of nz on diag of P2*S:            1.000000
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 144
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         45
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    matrix scaled: yes (divided each row by sum of abs values in each row)
-    minimum sum (abs (rows of A)):              4.00000e+00
-    maximum sum (abs (rows of A)):              7.60000e+01
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                      75                   70    93%
-        peak size (Units)                       1302                 1293    99%
-        final size (Units)                        16                   14    88%
-    Numeric final size (Units)                    86                   82    95%
-    Numeric final size (MBytes)                  0.0                  0.0    95%
-    peak memory usage (Units)                   1474                 1465    99%
-    peak memory usage (MBytes)                   0.0                  0.0    99%
-    numeric factorization flops          1.30000e+01          6.00000e+00    46%
-    nz in L (incl diagonal)                        9                    8    89%
-    nz in U (incl diagonal)                       11                   10    91%
-    nz in L+U (incl diagonal)                     15                   13    87%
-    largest front (# entries)                      9                    4    44%
-    largest # rows in front                        3                    2    67%
-    largest # columns in front                     3                    2    67%
-
-    initial allocation ratio used:                 0.7
-    # of forced updates due to frontal growth:     0
-    nz in L (incl diagonal), if none dropped       8
-    nz in U (incl diagonal), if none dropped       10
-    number of small entries dropped                0
-    nonzeros on diagonal of U:                     5
-    min abs. value on diagonal of U:               2.43e-01
-    max abs. value on diagonal of U:               1.00e+00
-    estimate of reciprocal of condition number:    2.43e-01
-    indices in compressed pattern:                 2
-    numerical values stored in Numeric object:     9
-    numeric factorization defragmentations:        1
-    numeric factorization reallocations:           1
-    costly numeric factorization reallocations:    0
-    numeric factorization CPU time (sec):          0.00
-    numeric factorization wallclock time (sec):    0.00
-    symbolic + numeric CPU time (sec):             0.00
-    symbolic + numeric wall clock time (sec):      0.00
-
-    solve flops:                                   1.11000e+02
-    iterative refinement steps taken:              0
-    iterative refinement steps attempted:          0
-    sparse backward error omega1:                  7.60e-17
-    sparse backward error omega2:                  0.00e+00
-    solve CPU time (sec):                          0.00
-    solve wall clock time (sec):                   0.00
-
-    total symbolic + numeric + solve flops:        1.17000e+02
-    total symbolic + numeric + solve CPU time:     0.00
-    total symbolic+numeric+solve wall clock time:  0.00
-
-
-x (solution of C'x=b): dense vector, n = 5. 
-    0 : (8.50124)
-    1 : (-0.692499)
-    2 : (0.166667)
-    3 : (-0.0217502)
-    4 : (0.619594)
-    dense vector OK
-
-maxnorm of residual: 4.77396e-15
-
-
-umfpack_di_demo complete.
-Total time:  0.00 seconds (CPU time),  0.00 seconds (wallclock time)
--- a/liboctave/UMFPACK/UMFPACK/Demo/umfpack_di_demo.sed	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/::/d
-1,$s/_xx_/_di_/g
-1,$s/Int/int/g
-1,$s/WSIZE/5/
-1,$s/%ld/%d/g
-/define ABS/ {
-	s/ABS/ABS(x) ((x) >= 0 ? (x) : -(x))/
-	}
-/, rz \[i\]/ {
-	s/, rz \[i\]//
-	}
-/, Avalz/ {
-	s/, Avalz//
-	}
-/, rz/ {
-	s/, rz//
-	}
-/, bz/ {
-	s/, bz//
-	}
-/, xz/ {
-	s/, xz//
-	}
-
-/, Lz/ {
-	s/, Lz//
-	}
-/, Uz/ {
-	s/, Uz//
-	}
-/, Dz/ {
-	s/, Dz//
-	}
-/, Az/ {
-	s/, Az//
-	}
-/, Cz, TRUE/ {
-	s/, Cz, TRUE//
-	}
-/, Cz/ {
-	s/, Cz//
-	}
-/, Rbz/ {
-	s/, Rbz//
-	}
-/, yz/ {
-	s/, yz//
-	}
-
-/ || !Lz/ {
-	s/ || !Lz//
-	}
-/ || !Uz/ {
-	s/ || !Uz//
-	}
-/ || !Dz/ {
-	s/ || !Dz//
-	}
-/ || !Az/ {
-	s/ || !Az//
-	}
-/ || !Cz/ {
-	s/ || !Cz//
-	}
-
-/rz/d
-/Rbz/d
-/yz/d
-/Avalz/d
-/Az/d
-/Cz/d
-/bz/d
-/xz/d
-/Lz/d
-/Uz/d
-/Dz/d
-/complex/d
-
--- a/liboctave/UMFPACK/UMFPACK/Demo/umfpack_dl_demo.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,759 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_dl_demo ====================================================== */
-/* ========================================================================== */
-
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-  A demo of UMFPACK:   umfpack_dl_* version.
-
-  First, factor and solve a 5-by-5 system, Ax=b, using default parameters.
-  Then solve A'x=b using the factors of A.   Modify one entry (A (1,4) = 0,
-  where the row and column indices range from 0 to 4.  The pattern of A
-  has not changed (it has explicitly zero entry), so a reanalysis with
-  umfpack_dl_symbolic does not need to be done.  Refactorize (with
-  umfpack_dl_numeric), and solve Ax=b.  Note that the pivot ordering has
-  changed.  Next, change all of the entries in A, but not the pattern.
-
-  Finally, compute C = A', and do the symbolic and numeric factorization of C.
-  Factorizing A' can sometimes be better than factorizing A itself (less work
-  and memory usage).  Solve C'x=b twice; the solution is the same as the
-  solution to Ax=b.
-
-  A note about zero-sized arrays:  UMFPACK uses many user-provided arrays of
-  size n (order of the matrix), and of size nz (the number of nonzeros in a
-  matrix).  n cannot be zero; UMFPACK does not handle zero-dimensioned arrays.
-  However, nz can be zero.  If you attempt to malloc an array of size nz = 0,
-  however, malloc will return a null pointer which UMFPACK will report as a
-  "missing argument."  Thus, nz1 in this code is set to MAX (nz,1), and
-  similarly for lnz and unz.  Lnz can never be zero, however, since L is always
-  unit diagonal.
-*/
-
-/* -------------------------------------------------------------------------- */
-/* definitions */
-/* -------------------------------------------------------------------------- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include "umfpack.h"
-
-#define ABS(x) ((x) >= 0 ? (x) : -(x))
-
-#define MAX(a,b) (((a) > (b)) ? (a) : (b))
-#ifndef TRUE
-#define TRUE (1)
-#endif
-#ifndef FALSE
-#define FALSE (0)
-#endif
-
-/* -------------------------------------------------------------------------- */
-/* triplet form of the matrix.  The triplets can be in any order. */
-/* -------------------------------------------------------------------------- */
-
-static long    n = 5, nz = 12 ;
-static long    Arow [ ] = { 0,  4,  1,  1,   2,   2,  0,  1,  2,  3,  4,  4} ;
-static long    Acol [ ] = { 0,  4,  0,  2,   1,   2,  1,  4,  3,  2,  1,  2} ;
-static double Aval [ ] = {2., 1., 3., 4., -1., -3., 3., 6., 2., 1., 4., 2.} ;
-static double b [ ] = {8., 45., -3., 3., 19.}, x [5], r [5] ;
-
-
-/* -------------------------------------------------------------------------- */
-/* error: print a message and exit */
-/* -------------------------------------------------------------------------- */
-
-static void error
-(
-    char *message
-)
-{
-    printf ("\n\n====== error: %s =====\n\n", message) ;
-    exit (1) ;
-}
-
-
-/* -------------------------------------------------------------------------- */
-/* resid: compute the residual, r = Ax-b or r = A'x=b and return maxnorm (r) */
-/* -------------------------------------------------------------------------- */
-
-static double resid
-(
-    long transpose,
-    long Ap [ ],
-    long Ai [ ],
-    double Ax [ ]
-)
-{
-    long i, j, p ;
-    double norm ;
-
-    for (i = 0 ; i < n ; i++)
-    {
-	r [i] = -b [i] ;
-    }
-    if (transpose)
-    {
-	for (j = 0 ; j < n ; j++)
-	{
-	    for (p = Ap [j] ; p < Ap [j+1] ; p++)
-	    {
-		i = Ai [p] ;
-		r [j] += Ax [p] * x [i] ;
-	    }
-	}
-    }
-    else
-    {
-	for (j = 0 ; j < n ; j++)
-	{
-	    for (p = Ap [j] ; p < Ap [j+1] ; p++)
-	    {
-		i = Ai [p] ;
-		r [i] += Ax [p] * x [j] ;
-	    }
-	}
-    }
-    norm = 0. ;
-    for (i = 0 ; i < n ; i++)
-    {
-	norm = MAX (ABS (r [i]), norm) ;
-    }
-    return (norm) ;
-}
-
-
-/* -------------------------------------------------------------------------- */
-/* main program */
-/* -------------------------------------------------------------------------- */
-
-int main (int argc, char **argv)
-{
-    double Info [UMFPACK_INFO], Control [UMFPACK_CONTROL], *Ax, *Cx, *Lx, *Ux,
-	*W, t [2], *Dx, rnorm, *Rb, *y, *Rs ;
-    long *Ap, *Ai, *Cp, *Ci, row, col, p, lnz, unz, nr, nc, *Lp, *Li, *Ui, *Up,
-	*P, *Q, *Lj, i, j, k, anz, nfr, nchains, *Qinit, fnpiv, lnz1, unz1, nz1,
-	status, *Front_npivcol, *Front_parent, *Chain_start, *Wi, *Pinit, n1,
-	*Chain_maxrows, *Chain_maxcols, *Front_1strow, *Front_leftmostdesc,
-	nzud, do_recip ;
-    void *Symbolic, *Numeric ;
-
-    /* ---------------------------------------------------------------------- */
-    /* initializations */
-    /* ---------------------------------------------------------------------- */
-
-    umfpack_tic (t) ;
-
-    printf ("\n%s demo: _dl_ version\n", UMFPACK_VERSION) ;
-
-    /* get the default control parameters */
-    umfpack_dl_defaults (Control) ;
-
-    /* change the default print level for this demo */
-    /* (otherwise, nothing will print) */
-    Control [UMFPACK_PRL] = 6 ;
-
-    /* print the license agreement */
-    umfpack_dl_report_status (Control, UMFPACK_OK) ;
-    Control [UMFPACK_PRL] = 5 ;
-
-    /* print the control parameters */
-    umfpack_dl_report_control (Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* print A and b, and convert A to column-form */
-    /* ---------------------------------------------------------------------- */
-
-    /* print the right-hand-side */
-    printf ("\nb: ") ;
-    (void) umfpack_dl_report_vector (n, b, Control) ;
-
-    /* print the triplet form of the matrix */
-    printf ("\nA: ") ;
-    (void) umfpack_dl_report_triplet (n, n, nz, Arow, Acol, Aval,
-	Control) ;
-
-    /* convert to column form */
-    nz1 = MAX (nz,1) ;	/* ensure arrays are not of size zero. */
-    Ap = (long *) malloc ((n+1) * sizeof (long)) ;
-    Ai = (long *) malloc (nz1 * sizeof (long)) ;
-    Ax = (double *) malloc (nz1 * sizeof (double)) ;
-    if (!Ap || !Ai || !Ax)
-    {
-	error ("out of memory") ;
-    }
-
-    status = umfpack_dl_triplet_to_col (n, n, nz, Arow, Acol, Aval,
-	Ap, Ai, Ax, (long *) NULL) ;
-
-    if (status < 0)
-    {
-	umfpack_dl_report_status (Control, status) ;
-	error ("umfpack_dl_triplet_to_col failed") ;
-    }
-
-    /* print the column-form of A */
-    printf ("\nA: ") ;
-    (void) umfpack_dl_report_matrix (n, n, Ap, Ai, Ax, 1, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* symbolic factorization */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_dl_symbolic (n, n, Ap, Ai, Ax, &Symbolic,
-	Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_dl_report_info (Control, Info) ;
-	umfpack_dl_report_status (Control, status) ;
-	error ("umfpack_dl_symbolic failed") ;
-    }
-
-    /* print the symbolic factorization */
-
-    printf ("\nSymbolic factorization of A: ") ;
-    (void) umfpack_dl_report_symbolic (Symbolic, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* numeric factorization */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_dl_numeric (Ap, Ai, Ax, Symbolic, &Numeric,
-	Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_dl_report_info (Control, Info) ;
-	umfpack_dl_report_status (Control, status) ;
-	error ("umfpack_dl_numeric failed") ;
-    }
-
-    /* print the numeric factorization */
-    printf ("\nNumeric factorization of A: ") ;
-    (void) umfpack_dl_report_numeric (Numeric, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve Ax=b */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_dl_solve (UMFPACK_A, Ap, Ai, Ax, x, b,
-	Numeric, Control, Info) ;
-    umfpack_dl_report_info (Control, Info) ;
-    umfpack_dl_report_status (Control, status) ;
-    if (status < 0)
-    {
-	error ("umfpack_dl_solve failed") ;
-    }
-    printf ("\nx (solution of Ax=b): ") ;
-    (void) umfpack_dl_report_vector (n, x, Control) ;
-    rnorm = resid (FALSE, Ap, Ai, Ax) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* compute the determinant */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_dl_get_determinant (x, r, Numeric, Info) ;
-    umfpack_dl_report_status (Control, status) ;
-    if (status < 0)
-    {
-	error ("umfpack_dl_get_determinant failed") ;
-    }
-    printf ("determinant: (%g", x [0]) ;
-    printf (") * 10^(%g)\n", r [0]) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve Ax=b, broken down into steps */
-    /* ---------------------------------------------------------------------- */
-
-    /* Rb = R*b */
-    Rb  = (double *) malloc (n * sizeof (double)) ;
-    y   = (double *) malloc (n * sizeof (double)) ;
-    if (!Rb || !y) error ("out of memory") ;
-
-    status = umfpack_dl_scale (Rb, b, Numeric) ;
-    if (status < 0) error ("umfpack_dl_scale failed") ;
-    /* solve Ly = P*(Rb) */
-    status = umfpack_dl_solve (UMFPACK_Pt_L, Ap, Ai, Ax, y, Rb,
-	Numeric, Control, Info) ;
-    if (status < 0) error ("umfpack_dl_solve failed") ;
-    /* solve UQ'x=y */
-    status = umfpack_dl_solve (UMFPACK_U_Qt, Ap, Ai, Ax, x, y,
-	Numeric, Control, Info) ;
-    if (status < 0) error ("umfpack_dl_solve failed") ;
-    printf ("\nx (solution of Ax=b, solve is split into 3 steps): ") ;
-    (void) umfpack_dl_report_vector (n, x, Control) ;
-    rnorm = resid (FALSE, Ap, Ai, Ax) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    free (Rb) ;
-    free (y) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve A'x=b */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_dl_solve (UMFPACK_At, Ap, Ai, Ax, x, b,
-	Numeric, Control, Info) ;
-    umfpack_dl_report_info (Control, Info) ;
-    if (status < 0)
-    {
-	error ("umfpack_dl_solve failed") ;
-    }
-    printf ("\nx (solution of A'x=b): ") ;
-    (void) umfpack_dl_report_vector (n, x, Control) ;
-    rnorm = resid (TRUE, Ap, Ai, Ax) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* modify one numerical value in the column-form of A */
-    /* ---------------------------------------------------------------------- */
-
-    /* change A (1,4), look for row index 1 in column 4. */
-    row = 1 ;
-    col = 4 ;
-    for (p = Ap [col] ; p < Ap [col+1] ; p++)
-    {
-	if (row == Ai [p])
-	{
-	    printf ("\nchanging A (%ld,%ld) to zero\n", row, col) ;
-	    Ax [p] = 0.0 ;
-	    break ;
-	}
-    }
-    printf ("\nmodified A: ") ;
-    (void) umfpack_dl_report_matrix (n, n, Ap, Ai, Ax, 1, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* redo the numeric factorization */
-    /* ---------------------------------------------------------------------- */
-
-    /* The pattern (Ap and Ai) hasn't changed, so the symbolic factorization */
-    /* doesn't have to be redone, no matter how much we change Ax. */
-
-    /* We don't need the Numeric object any more, so free it. */
-    umfpack_dl_free_numeric (&Numeric) ;
-
-    /* Note that a memory leak would have occurred if the old Numeric */
-    /* had not been free'd with umfpack_dl_free_numeric above. */
-    status = umfpack_dl_numeric (Ap, Ai, Ax, Symbolic, &Numeric,
-	Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_dl_report_info (Control, Info) ;
-	umfpack_dl_report_status (Control, status) ;
-	error ("umfpack_dl_numeric failed") ;
-    }
-    printf ("\nNumeric factorization of modified A: ") ;
-    (void) umfpack_dl_report_numeric (Numeric, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve Ax=b, with the modified A */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_dl_solve (UMFPACK_A, Ap, Ai, Ax, x, b,
-	Numeric, Control, Info) ;
-    umfpack_dl_report_info (Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_dl_report_status (Control, status) ;
-	error ("umfpack_dl_solve failed") ;
-    }
-    printf ("\nx (with modified A): ") ;
-    (void) umfpack_dl_report_vector (n, x, Control) ;
-    rnorm = resid (FALSE, Ap, Ai, Ax) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* modify all of the numerical values of A, but not the pattern */
-    /* ---------------------------------------------------------------------- */
-
-    for (col = 0 ; col < n ; col++)
-    {
-	for (p = Ap [col] ; p < Ap [col+1] ; p++)
-	{
-	    row = Ai [p] ;
-	    printf ("changing ") ;
-	    printf ("A (%ld,%ld) from %g", row, col, Ax [p]) ;
-	    Ax [p] = Ax [p] + col*10 - row ;
-	    printf (" to %g\n", Ax [p]) ;
-	}
-    }
-    printf ("\ncompletely modified A (same pattern): ") ;
-    (void) umfpack_dl_report_matrix (n, n, Ap, Ai, Ax, 1, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* save the Symbolic object to file, free it, and load it back in */
-    /* ---------------------------------------------------------------------- */
-
-    /* use the default filename, "symbolic.umf" */
-    printf ("\nSaving symbolic object:\n") ;
-    status = umfpack_dl_save_symbolic (Symbolic, (char *) NULL) ;
-    if (status < 0)
-    {
-	umfpack_dl_report_status (Control, status) ;
-	error ("umfpack_dl_save_symbolic failed") ;
-    }
-    printf ("\nFreeing symbolic object:\n") ;
-    umfpack_dl_free_symbolic (&Symbolic) ;
-    printf ("\nLoading symbolic object:\n") ;
-    status = umfpack_dl_load_symbolic (&Symbolic, (char *) NULL) ;
-    if (status < 0)
-    {
-	umfpack_dl_report_status (Control, status) ;
-	error ("umfpack_dl_load_symbolic failed") ;
-    }
-    printf ("\nDone loading symbolic object\n") ;
-
-    /* ---------------------------------------------------------------------- */
-    /* redo the numeric factorization */
-    /* ---------------------------------------------------------------------- */
-
-    umfpack_dl_free_numeric (&Numeric) ;
-    status = umfpack_dl_numeric (Ap, Ai, Ax, Symbolic, &Numeric,
-	Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_dl_report_info (Control, Info) ;
-	umfpack_dl_report_status (Control, status) ;
-	error ("umfpack_dl_numeric failed") ;
-    }
-    printf ("\nNumeric factorization of completely modified A: ") ;
-    (void) umfpack_dl_report_numeric (Numeric, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve Ax=b, with the modified A */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_dl_solve (UMFPACK_A, Ap, Ai, Ax, x, b,
-	Numeric, Control, Info) ;
-    umfpack_dl_report_info (Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_dl_report_status (Control, status) ;
-	error ("umfpack_dl_solve failed") ;
-    }
-    printf ("\nx (with completely modified A): ") ;
-    (void) umfpack_dl_report_vector (n, x, Control) ;
-    rnorm = resid (FALSE, Ap, Ai, Ax) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* free the symbolic and numeric factorization */
-    /* ---------------------------------------------------------------------- */
-
-    umfpack_dl_free_symbolic (&Symbolic) ;
-    umfpack_dl_free_numeric (&Numeric) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* C = transpose of A */
-    /* ---------------------------------------------------------------------- */
-
-    Cp = (long *) malloc ((n+1) * sizeof (long)) ;
-    Ci = (long *) malloc (nz1 * sizeof (long)) ;
-    Cx = (double *) malloc (nz1 * sizeof (double)) ;
-    if (!Cp || !Ci || !Cx)
-    {
-	error ("out of memory") ;
-    }
-    status = umfpack_dl_transpose (n, n, Ap, Ai, Ax,
-	(long *) NULL, (long *) NULL, Cp, Ci, Cx) ;
-    if (status < 0)
-    {
-	umfpack_dl_report_status (Control, status) ;
-	error ("umfpack_dl_transpose failed: ") ;
-    }
-    printf ("\nC (transpose of A): ") ;
-    (void) umfpack_dl_report_matrix (n, n, Cp, Ci, Cx, 1, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* symbolic factorization of C */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_dl_symbolic (n, n, Cp, Ci, Cx, &Symbolic,
-	Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_dl_report_info (Control, Info) ;
-	umfpack_dl_report_status (Control, status) ;
-	error ("umfpack_dl_symbolic failed") ;
-    }
-    printf ("\nSymbolic factorization of C: ") ;
-    (void) umfpack_dl_report_symbolic (Symbolic, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* copy the contents of Symbolic into user arrays print them */
-    /* ---------------------------------------------------------------------- */
-
-    printf ("\nGet the contents of the Symbolic object for C:\n") ;
-    printf ("(compare with umfpack_dl_report_symbolic output, above)\n") ;
-    Pinit = (long *) malloc ((n+1) * sizeof (long)) ;
-    Qinit = (long *) malloc ((n+1) * sizeof (long)) ;
-    Front_npivcol = (long *) malloc ((n+1) * sizeof (long)) ;
-    Front_1strow = (long *) malloc ((n+1) * sizeof (long)) ;
-    Front_leftmostdesc = (long *) malloc ((n+1) * sizeof (long)) ;
-    Front_parent = (long *) malloc ((n+1) * sizeof (long)) ;
-    Chain_start = (long *) malloc ((n+1) * sizeof (long)) ;
-    Chain_maxrows = (long *) malloc ((n+1) * sizeof (long)) ;
-    Chain_maxcols = (long *) malloc ((n+1) * sizeof (long)) ;
-    if (!Pinit || !Qinit || !Front_npivcol || !Front_parent || !Chain_start ||
-	!Chain_maxrows || !Chain_maxcols || !Front_1strow ||
-	!Front_leftmostdesc)
-    {
-	error ("out of memory") ;
-    }
-
-    status = umfpack_dl_get_symbolic (&nr, &nc, &n1, &anz, &nfr, &nchains,
-	Pinit, Qinit, Front_npivcol, Front_parent, Front_1strow,
-	Front_leftmostdesc, Chain_start, Chain_maxrows, Chain_maxcols,
-	Symbolic) ;
-
-    if (status < 0)
-    {
-	error ("symbolic factorization invalid") ;
-    }
-
-    printf ("From the Symbolic object, C is of dimension %ld-by-%ld\n", nr, nc);
-    printf ("   with nz = %ld, number of fronts = %ld,\n", nz, nfr) ;
-    printf ("   number of frontal matrix chains = %ld\n", nchains) ;
-
-    printf ("\nPivot columns in each front, and parent of each front:\n") ;
-    k = 0 ;
-    for (i = 0 ; i < nfr ; i++)
-    {
-	fnpiv = Front_npivcol [i] ;
-	printf ("    Front %ld: parent front: %ld number of pivot cols: %ld\n",
-		i, Front_parent [i], fnpiv) ;
-	for (j = 0 ; j < fnpiv ; j++)
-	{
-	    col = Qinit [k] ;
-	    printf (
-	    "        %ld-th pivot column is column %ld in original matrix\n",
-		k, col) ;
-	    k++ ;
-	}
-    }
-
-    printf ("\nNote that the column ordering, above, will be refined\n") ;
-    printf ("in the numeric factorization below.  The assignment of pivot\n") ;
-    printf ("columns to frontal matrices will always remain unchanged.\n") ;
-
-    printf ("\nTotal number of pivot columns in frontal matrices: %ld\n", k) ;
-
-    printf ("\nFrontal matrix chains:\n") ;
-    for (j = 0 ; j < nchains ; j++)
-    {
-	printf ("   Frontal matrices %ld to %ld are factorized in a single\n",
-	    Chain_start [j], Chain_start [j+1] - 1) ;
-	printf ("        working array of size %ld-by-%ld\n",
-	    Chain_maxrows [j], Chain_maxcols [j]) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* numeric factorization of C */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_dl_numeric (Cp, Ci, Cx, Symbolic, &Numeric,
-	Control, Info) ;
-    if (status < 0)
-    {
-	error ("umfpack_dl_numeric failed") ;
-    }
-    printf ("\nNumeric factorization of C: ") ;
-    (void) umfpack_dl_report_numeric (Numeric, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* extract the LU factors of C and print them */
-    /* ---------------------------------------------------------------------- */
-
-    if (umfpack_dl_get_lunz (&lnz, &unz, &nr, &nc, &nzud, Numeric) < 0)
-    {
-	error ("umfpack_dl_get_lunz failed") ;
-    }
-    /* ensure arrays are not of zero size */
-    lnz1 = MAX (lnz,1) ;
-    unz1 = MAX (unz,1) ;
-    Lp = (long *) malloc ((n+1) * sizeof (long)) ;
-    Lj = (long *) malloc (lnz1 * sizeof (long)) ;
-    Lx = (double *) malloc (lnz1 * sizeof (double)) ;
-    Up = (long *) malloc ((n+1) * sizeof (long)) ;
-    Ui = (long *) malloc (unz1 * sizeof (long)) ;
-    Ux = (double *) malloc (unz1 * sizeof (double)) ;
-    P = (long *) malloc (n * sizeof (long)) ;
-    Q = (long *) malloc (n * sizeof (long)) ;
-    Dx = (double *) NULL ;	/* D vector not requested */
-    Rs  = (double *) malloc (n * sizeof (double)) ;
-    if (!Lp || !Lj || !Lx || !Up || !Ui || !Ux || !P || !Q || !Rs)
-    {
-	error ("out of memory") ;
-    }
-    status = umfpack_dl_get_numeric (Lp, Lj, Lx, Up, Ui, Ux,
-	P, Q, Dx, &do_recip, Rs, Numeric) ;
-    if (status < 0)
-    {
-	error ("umfpack_dl_get_numeric failed") ;
-    }
-
-    printf ("\nL (lower triangular factor of C): ") ;
-    (void) umfpack_dl_report_matrix (n, n, Lp, Lj, Lx, 0, Control) ;
-    printf ("\nU (upper triangular factor of C): ") ;
-    (void) umfpack_dl_report_matrix (n, n, Up, Ui, Ux, 1, Control) ;
-    printf ("\nP: ") ;
-    (void) umfpack_dl_report_perm (n, P, Control) ;
-    printf ("\nQ: ") ;
-    (void) umfpack_dl_report_perm (n, Q, Control) ;
-    printf ("\nScale factors: row i of A is to be ") ;
-    if (do_recip)
-    {
-	printf ("multiplied by the ith scale factor\n") ;
-    }
-    else
-    {
-	printf ("divided by the ith scale factor\n") ;
-    }
-    for (i = 0 ; i < n ; i++) printf ("%ld: %g\n", i, Rs [i]) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* convert L to triplet form and print it */
-    /* ---------------------------------------------------------------------- */
-
-    /* Note that L is in row-form, so it is the row indices that are created */
-    /* by umfpack_dl_col_to_triplet. */
-
-    printf ("\nConverting L to triplet form, and printing it:\n") ;
-    Li = (long *) malloc (lnz1 * sizeof (long)) ;
-    if (!Li)
-    {
-	error ("out of memory") ;
-    }
-    if (umfpack_dl_col_to_triplet (n, Lp, Li) < 0)
-    {
-	error ("umfpack_dl_col_to_triplet failed") ;
-    }
-    printf ("\nL, in triplet form: ") ;
-    (void) umfpack_dl_report_triplet (n, n, lnz, Li, Lj, Lx, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* save the Numeric object to file, free it, and load it back in */
-    /* ---------------------------------------------------------------------- */
-
-    /* use the default filename, "numeric.umf" */
-    printf ("\nSaving numeric object:\n") ;
-    status = umfpack_dl_save_numeric (Numeric, (char *) NULL) ;
-    if (status < 0)
-    {
-	umfpack_dl_report_status (Control, status) ;
-	error ("umfpack_dl_save_numeric failed") ;
-    }
-    printf ("\nFreeing numeric object:\n") ;
-    umfpack_dl_free_numeric (&Numeric) ;
-    printf ("\nLoading numeric object:\n") ;
-    status = umfpack_dl_load_numeric (&Numeric, (char *) NULL) ;
-    if (status < 0)
-    {
-	umfpack_dl_report_status (Control, status) ;
-	error ("umfpack_dl_load_numeric failed") ;
-    }
-    printf ("\nDone loading numeric object\n") ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve C'x=b */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_dl_solve (UMFPACK_At, Cp, Ci, Cx, x, b,
-	Numeric, Control, Info) ;
-    umfpack_dl_report_info (Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_dl_report_status (Control, status) ;
-	error ("umfpack_dl_solve failed") ;
-    }
-    printf ("\nx (solution of C'x=b): ") ;
-    (void) umfpack_dl_report_vector (n, x, Control) ;
-    rnorm = resid (TRUE, Cp, Ci, Cx) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve C'x=b again, using umfpack_dl_wsolve instead */
-    /* ---------------------------------------------------------------------- */
-
-    printf ("\nSolving C'x=b again, using umfpack_dl_wsolve instead:\n") ;
-    Wi = (long *) malloc (n * sizeof (long)) ;
-    W = (double *) malloc (5*n * sizeof (double)) ;
-    if (!Wi || !W)
-    {
-	error ("out of memory") ;
-    }
-
-    status = umfpack_dl_wsolve (UMFPACK_At, Cp, Ci, Cx, x, b,
-	Numeric, Control, Info, Wi, W) ;
-    umfpack_dl_report_info (Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_dl_report_status (Control, status) ;
-	error ("umfpack_dl_wsolve failed") ;
-    }
-    printf ("\nx (solution of C'x=b): ") ;
-    (void) umfpack_dl_report_vector (n, x, Control) ;
-    rnorm = resid (TRUE, Cp, Ci, Cx) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* free everything */
-    /* ---------------------------------------------------------------------- */
-
-    /* This is not strictly required since the process is exiting and the */
-    /* system will reclaim the memory anyway.  It's useful, though, just as */
-    /* a list of what is currently malloc'ed by this program.  Plus, it's */
-    /* always a good habit to explicitly free whatever you malloc. */
-
-    free (Ap) ;
-    free (Ai) ;
-    free (Ax) ;
-
-    free (Cp) ;
-    free (Ci) ;
-    free (Cx) ;
-
-    free (Pinit) ;
-    free (Qinit) ;
-    free (Front_npivcol) ;
-    free (Front_1strow) ;
-    free (Front_leftmostdesc) ;
-    free (Front_parent) ;
-    free (Chain_start) ;
-    free (Chain_maxrows) ;
-    free (Chain_maxcols) ;
-
-    free (Lp) ;
-    free (Lj) ;
-    free (Lx) ;
-
-    free (Up) ;
-    free (Ui) ;
-    free (Ux) ;
-
-    free (P) ;
-    free (Q) ;
-
-    free (Li) ;
-
-    free (Wi) ;
-    free (W) ;
-
-    umfpack_dl_free_symbolic (&Symbolic) ;
-    umfpack_dl_free_numeric (&Numeric) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* print the total time spent in this demo */
-    /* ---------------------------------------------------------------------- */
-
-    umfpack_toc (t) ;
-    printf ("\numfpack_dl_demo complete.\nTotal time: %5.2f seconds"
-	" (CPU time), %5.2f seconds (wallclock time)\n", t [1], t [0]) ;
-    return (0) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Demo/umfpack_dl_demo.out	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1541 +0,0 @@
-
-UMFPACK V4.4 (Jan. 28, 2005) demo: _dl_ version
-
-UMFPACK:  Copyright (c) 2005 by Timothy A. Davis.  All Rights Reserved.
-
-
-UMFPACK License:
-
-   Your use or distribution of UMFPACK or any modified version of
-   UMFPACK implies that you agree to this License.
-
-   THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
-   EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
-
-   Permission is hereby granted to use or copy this program, provided
-   that the Copyright, this License, and the Availability of the original
-   version is retained on all copies.  User documentation of any code that
-   uses UMFPACK or any modified version of UMFPACK code must cite the
-   Copyright, this License, the Availability note, and "Used by permission."
-   Permission to modify the code and to distribute modified code is granted,
-   provided the Copyright, this License, and the Availability note are
-   retained, and a notice that the code was modified is included.  This
-   software was developed with support from the National Science Foundation,
-   and is provided to you free of charge.
-
-Availability: http://www.cise.ufl.edu/research/sparse/umfpack
-
-UMFPACK V4.4 (Jan. 28, 2005): OK
-
-
-UMFPACK V4.4 (Jan. 28, 2005), Control:
-
-    Matrix entry defined as: double
-    Int (generic integer) defined as: long
-
-    0: print level: 5
-    1: dense row parameter:    0.2
-        "dense" rows have    > max (16, (0.2)*16*sqrt(n_col) entries)
-    2: dense column parameter: 0.2
-        "dense" columns have > max (16, (0.2)*16*sqrt(n_row) entries)
-    3: pivot tolerance: 0.1
-    4: block size for dense matrix kernels: 32
-    5: strategy: 0 (auto)
-    6: initial allocation ratio: 0.7
-    7: max iterative refinement steps: 2
-    12: 2-by-2 pivot tolerance: 0.01
-    13: Q fixed during numerical factorization: 0 (auto)
-    14: AMD dense row/col parameter:    10
-       "dense" rows/columns have > max (16, (10)*sqrt(n)) entries
-        Only used if the AMD ordering is used.
-    15: diagonal pivot tolerance: 0.001
-        Only used if diagonal pivoting is attempted.
-    16: scaling: 1 (divide each row by sum of abs. values in each row)
-    17: frontal matrix allocation ratio: 0.5
-    18: drop tolerance: 0
-    19: AMD and COLAMD aggressive absorption: 1 (yes)
-
-    The following options can only be changed at compile-time:
-    8: BLAS library used:  none.  UMFPACK will be slow.
-    9: compiled for ANSI C (uses malloc, free, realloc, and printf)
-    10: CPU timer is POSIX times ( ) routine.
-    11: compiled for normal operation (debugging disabled)
-    computer/operating system: Linux
-    size of int: 4 long: 4 Int: 4 pointer: 4 double: 8 Entry: 8 (in bytes)
-
-
-b: dense vector, n = 5. 
-    0 : (8)
-    1 : (45)
-    2 : (-3)
-    3 : (3)
-    4 : (19)
-    dense vector OK
-
-
-A: triplet-form matrix, n_row = 5, n_col = 5 nz = 12. 
-    0 : 0 0  (2)
-    1 : 4 4  (1)
-    2 : 1 0  (3)
-    3 : 1 2  (4)
-    4 : 2 1  (-1)
-    5 : 2 2  (-3)
-    6 : 0 1  (3)
-    7 : 1 4  (6)
-    8 : 2 3  (2)
-    9 : 3 2  (1)
-    10 : 4 1  (4)
-    11 : 4 2  (2)
-    triplet-form matrix OK
-
-
-A: column-form matrix, n_row 5 n_col 5, nz = 12. 
-
-    column 0: start: 0 end: 1 entries: 2
-	row 0 : (2)
-	row 1 : (3)
-
-    column 1: start: 2 end: 4 entries: 3
-	row 0 : (3)
-	row 2 : (-1)
-	row 4 : (4)
-
-    column 2: start: 5 end: 8 entries: 4
-	row 1 : (4)
-	row 2 : (-3)
-	row 3 : (1)
-	row 4 : (2)
-
-    column 3: start: 9 end: 9 entries: 1
-	row 2 : (2)
-
-    column 4: start: 10 end: 11 entries: 2
-	row 1 : (6)
-	row 4 : (1)
-    column-form matrix OK
-
-
-Symbolic factorization of A: Symbolic object: 
-    matrix to be factorized:
-	n_row: 5 n_col: 5
-	number of entries: 12
-    block size used for dense matrix kernels:   32
-    strategy used:                              unsymmetric
-    ordering used:                              colamd on A
-
-    performn column etree postorder:            yes
-    prefer diagonal pivoting (attempt P=Q):     no
-    variable-size part of Numeric object:
-	minimum initial size (Units): 74  (MBytes): 0.0
-	estimated peak size (Units):  1301  (MBytes): 0.0
-	estimated final size (Units): 15  (MBytes): 0.0
-    symbolic factorization memory usage (Units): 144  (MBytes): 0.0
-    frontal matrices / supercolumns:
-	number of frontal chains: 1
-	number of frontal matrices: 1
-	largest frontal matrix row dimension: 3
-	largest frontal matrix column dimension: 3
-
-    Frontal chain: 0.  Frontal matrices 0 to 0
-	Largest frontal matrix in Frontal chain: 3-by-3
-	Front: 0  pivot cols: 3 (pivot columns 0 to 2)
-	    pivot row candidates: 2 to 4
-	    leftmost descendant: 0
-	    1st new candidate row : 2
-	    parent: (none)
-
-Initial column permutation, Q1: permutation vector, n = 5. 
-    0 : 3 
-    1 : 2 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-Initial row permutation, P1: permutation vector, n = 5. 
-    0 : 2 
-    1 : 3 
-    2 : 0 
-    3 : 1 
-    4 : 4 
-    permutation vector OK
-
-    Symbolic object:  OK
-
-
-Numeric factorization of A: Numeric object:  
-    n_row: 5  n_col: 5
-    relative pivot tolerance used:              0.1
-    relative symmetric pivot tolerance used:    0.001
-    matrix scaled: yes (divided each row by sum abs value in each row)
-    minimum sum (abs (rows of A)):              1.00000e+00
-    maximum sum (abs (rows of A)):              1.30000e+01
-    initial allocation parameter used:          0.7
-    frontal matrix allocation parameter used:   0.5
-    final total size of Numeric object (Units): 80
-    final total size of Numeric object (MBytes): 0.0
-    peak size of variable-size part (Units):    1292
-    peak size of variable-size part (MBytes):   0.0
-    largest actual frontal matrix size:         4
-    memory defragmentations:                    1
-    memory reallocations:                       1
-    costly memory reallocations:                0
-    entries in compressed pattern (L and U):    2
-    number of nonzeros in L (excl diag):        4
-    number of entries stored in L (excl diag):  2
-    number of nonzeros in U (excl diag):        4
-    number of entries stored in U (excl diag):  2
-    factorization floating-point operations:    6
-    number of nonzeros on diagonal of U:        5
-    min abs. value on diagonal of U:            1.42857e-01
-    max abs. value on diagonal of U:            2.19231e+00
-    reciprocal condition number estimate:       6.52e-02
-
-Scale factors applied via multiplication
-Scale factors, Rs: dense vector, n = 5. 
-    0 : (0.2)
-    1 : (0.0769231)
-    2 : (0.166667)
-    3 : (1)
-    4 : (0.142857)
-    dense vector OK
-
-
-P: row permutation vector, n = 5. 
-    0 : 2 
-    1 : 3 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-Q: column permutation vector, n = 5. 
-    0 : 3 
-    1 : 2 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-L in Numeric object, in column-oriented compressed-pattern form:
-    Diagonal entries are all equal to 1.0 (not stored)
-
-    column 0:  length 0.
-
-    column 1:  length 2.
-	row 4 :  (0.307692)
-	row 3 :  (0.285714)
-
-    column 2:  add 1 entries.  length 1.  Start of Lchain.
-	row 4 :  (0.576923)
-
-    column 3:  length 1.
-	row 4 :  (3.23077)
-
-    column 4:  length 0.  Start of Lchain.
-
-
-U in Numeric object, in row-oriented compressed-pattern form:
-    Diagonal is stored separately.
-
-    row 4:  length 0.  End of Uchain.
-
-    row 3:  length 1.  End of Uchain.
-	col 4 : (0.571429)
-
-    row 2:  length 1.
-	col 4 : (0.6)
-
-    row 1:  length 0.  End of Uchain.
-
-    row 1:  length 0.
-
-    row 0:  length 2.
-	col 1 :  (-0.5)
-	col 4 :  (-0.166667)
-
-
-diagonal of U: dense vector, n = 5. 
-    0 : (0.333333)
-    1 : (1)
-    2 : (0.4)
-    3 : (0.142857)
-    4 : (-2.19231)
-    dense vector OK
-
-    Numeric object:  OK
-
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double
-    Int (generic integer) defined as: long
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       5
-    number of columns in matrix A:    5
-    entries in matrix A:              12
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          8 bytes
-
-    strategy used:                    unsymmetric
-    ordering used:                    colamd on A
-    modify Q during factorization:    yes
-    prefer diagonal pivoting:         no
-    pivots with zero Markowitz cost:               2
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    0
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    3
-        symmetry of nonzero pattern:               1.000000
-        nz in S+S' (excl. diagonal):               4
-        nz on diagonal of matrix S:                2
-        fraction of nz on diagonal:                0.666667
-    2-by-2 pivoting to place large entries on diagonal:
-        # of small diagonal entries of S:          1
-        # unmatched:                               0
-        symmetry of P2*S:                          0.000000
-        nz in P2*S+(P2*S)' (excl. diag.):          6
-        nz on diagonal of P2*S:                    3
-        fraction of nz on diag of P2*S:            1.000000
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 144
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         45
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    matrix scaled: yes (divided each row by sum of abs values in each row)
-    minimum sum (abs (rows of A)):              1.00000e+00
-    maximum sum (abs (rows of A)):              1.30000e+01
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                      74                   69    93%
-        peak size (Units)                       1301                 1292    99%
-        final size (Units)                        15                   13    87%
-    Numeric final size (Units)                    85                   81    95%
-    Numeric final size (MBytes)                  0.0                  0.0    95%
-    peak memory usage (Units)                   1473                 1464    99%
-    peak memory usage (MBytes)                   0.0                  0.0    99%
-    numeric factorization flops          1.30000e+01          6.00000e+00    46%
-    nz in L (incl diagonal)                       10                    9    90%
-    nz in U (incl diagonal)                       10                    9    90%
-    nz in L+U (incl diagonal)                     15                   13    87%
-    largest front (# entries)                      9                    4    44%
-    largest # rows in front                        3                    2    67%
-    largest # columns in front                     3                    2    67%
-
-    initial allocation ratio used:                 0.7
-    # of forced updates due to frontal growth:     0
-    nz in L (incl diagonal), if none dropped       9
-    nz in U (incl diagonal), if none dropped       9
-    number of small entries dropped                0
-    nonzeros on diagonal of U:                     5
-    min abs. value on diagonal of U:               1.43e-01
-    max abs. value on diagonal of U:               2.19e+00
-    estimate of reciprocal of condition number:    6.52e-02
-    indices in compressed pattern:                 2
-    numerical values stored in Numeric object:     9
-    numeric factorization defragmentations:        1
-    numeric factorization reallocations:           1
-    costly numeric factorization reallocations:    0
-    numeric factorization CPU time (sec):          0.00
-    numeric factorization wallclock time (sec):    0.00
-    symbolic + numeric CPU time (sec):             0.00
-    symbolic + numeric wall clock time (sec):      0.00
-
-    solve flops:                                   1.19000e+02
-    iterative refinement steps taken:              0
-    iterative refinement steps attempted:          0
-    sparse backward error omega1:                  4.67e-17
-    sparse backward error omega2:                  0.00e+00
-    solve CPU time (sec):                          0.00
-    solve wall clock time (sec):                   0.00
-
-    total symbolic + numeric + solve flops:        1.25000e+02
-    total symbolic + numeric + solve CPU time:     0.00
-    total symbolic+numeric+solve wall clock time:  0.00
-
-
-UMFPACK:  Copyright (c) 2005 by Timothy A. Davis.  All Rights Reserved.
-
-UMFPACK V4.4 (Jan. 28, 2005): OK
-
-
-x (solution of Ax=b): dense vector, n = 5. 
-    0 : (1)
-    1 : (2)
-    2 : (3)
-    3 : (4)
-    4 : (5)
-    dense vector OK
-
-maxnorm of residual: 1.77636e-15
-
-
-UMFPACK:  Copyright (c) 2005 by Timothy A. Davis.  All Rights Reserved.
-
-UMFPACK V4.4 (Jan. 28, 2005): OK
-
-determinant: (1.14) * 10^(2)
-
-x (solution of Ax=b, solve is split into 3 steps): dense vector, n = 5. 
-    0 : (1)
-    1 : (2)
-    2 : (3)
-    3 : (4)
-    4 : (5)
-    dense vector OK
-
-maxnorm of residual: 1.77636e-15
-
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double
-    Int (generic integer) defined as: long
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       5
-    number of columns in matrix A:    5
-    entries in matrix A:              12
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          8 bytes
-
-    strategy used:                    unsymmetric
-    ordering used:                    colamd on A
-    modify Q during factorization:    yes
-    prefer diagonal pivoting:         no
-    pivots with zero Markowitz cost:               2
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    0
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    3
-        symmetry of nonzero pattern:               1.000000
-        nz in S+S' (excl. diagonal):               4
-        nz on diagonal of matrix S:                2
-        fraction of nz on diagonal:                0.666667
-    2-by-2 pivoting to place large entries on diagonal:
-        # of small diagonal entries of S:          1
-        # unmatched:                               0
-        symmetry of P2*S:                          0.000000
-        nz in P2*S+(P2*S)' (excl. diag.):          6
-        nz on diagonal of P2*S:                    3
-        fraction of nz on diag of P2*S:            1.000000
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 144
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         45
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    matrix scaled: yes (divided each row by sum of abs values in each row)
-    minimum sum (abs (rows of A)):              1.00000e+00
-    maximum sum (abs (rows of A)):              1.30000e+01
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                      74                   69    93%
-        peak size (Units)                       1301                 1292    99%
-        final size (Units)                        15                   13    87%
-    Numeric final size (Units)                    85                   81    95%
-    Numeric final size (MBytes)                  0.0                  0.0    95%
-    peak memory usage (Units)                   1473                 1464    99%
-    peak memory usage (MBytes)                   0.0                  0.0    99%
-    numeric factorization flops          1.30000e+01          6.00000e+00    46%
-    nz in L (incl diagonal)                       10                    9    90%
-    nz in U (incl diagonal)                       10                    9    90%
-    nz in L+U (incl diagonal)                     15                   13    87%
-    largest front (# entries)                      9                    4    44%
-    largest # rows in front                        3                    2    67%
-    largest # columns in front                     3                    2    67%
-
-    initial allocation ratio used:                 0.7
-    # of forced updates due to frontal growth:     0
-    nz in L (incl diagonal), if none dropped       9
-    nz in U (incl diagonal), if none dropped       9
-    number of small entries dropped                0
-    nonzeros on diagonal of U:                     5
-    min abs. value on diagonal of U:               1.43e-01
-    max abs. value on diagonal of U:               2.19e+00
-    estimate of reciprocal of condition number:    6.52e-02
-    indices in compressed pattern:                 2
-    numerical values stored in Numeric object:     9
-    numeric factorization defragmentations:        1
-    numeric factorization reallocations:           1
-    costly numeric factorization reallocations:    0
-    numeric factorization CPU time (sec):          0.00
-    numeric factorization wallclock time (sec):    0.00
-    symbolic + numeric CPU time (sec):             0.00
-    symbolic + numeric wall clock time (sec):      0.00
-
-    solve flops:                                   1.11000e+02
-    iterative refinement steps taken:              0
-    iterative refinement steps attempted:          0
-    sparse backward error omega1:                  5.84e-17
-    sparse backward error omega2:                  0.00e+00
-    solve CPU time (sec):                          0.00
-    solve wall clock time (sec):                   0.00
-
-    total symbolic + numeric + solve flops:        1.17000e+02
-    total symbolic + numeric + solve CPU time:     0.00
-    total symbolic+numeric+solve wall clock time:  0.00
-
-
-x (solution of A'x=b): dense vector, n = 5. 
-    0 : (1.81579)
-    1 : (1.45614)
-    2 : (1.5)
-    3 : (-24.8509)
-    4 : (10.2632)
-    dense vector OK
-
-maxnorm of residual: 7.10543e-15
-
-
-changing A (1,4) to zero
-
-modified A: column-form matrix, n_row 5 n_col 5, nz = 12. 
-
-    column 0: start: 0 end: 1 entries: 2
-	row 0 : (2)
-	row 1 : (3)
-
-    column 1: start: 2 end: 4 entries: 3
-	row 0 : (3)
-	row 2 : (-1)
-	row 4 : (4)
-
-    column 2: start: 5 end: 8 entries: 4
-	row 1 : (4)
-	row 2 : (-3)
-	row 3 : (1)
-	row 4 : (2)
-
-    column 3: start: 9 end: 9 entries: 1
-	row 2 : (2)
-
-    column 4: start: 10 end: 11 entries: 2
-	row 1 : (0)
-	row 4 : (1)
-    column-form matrix OK
-
-
-Numeric factorization of modified A: Numeric object:  
-    n_row: 5  n_col: 5
-    relative pivot tolerance used:              0.1
-    relative symmetric pivot tolerance used:    0.001
-    matrix scaled: yes (divided each row by sum abs value in each row)
-    minimum sum (abs (rows of A)):              1.00000e+00
-    maximum sum (abs (rows of A)):              7.00000e+00
-    initial allocation parameter used:          0.7
-    frontal matrix allocation parameter used:   0.5
-    final total size of Numeric object (Units): 79
-    final total size of Numeric object (MBytes): 0.0
-    peak size of variable-size part (Units):    1292
-    peak size of variable-size part (MBytes):   0.0
-    largest actual frontal matrix size:         4
-    memory defragmentations:                    1
-    memory reallocations:                       1
-    costly memory reallocations:                0
-    entries in compressed pattern (L and U):    2
-    number of nonzeros in L (excl diag):        4
-    number of entries stored in L (excl diag):  2
-    number of nonzeros in U (excl diag):        3
-    number of entries stored in U (excl diag):  1
-    factorization floating-point operations:    4
-    number of nonzeros on diagonal of U:        5
-    min abs. value on diagonal of U:            1.50000e-01
-    max abs. value on diagonal of U:            1.00000e+00
-    reciprocal condition number estimate:       1.50e-01
-
-Scale factors applied via multiplication
-Scale factors, Rs: dense vector, n = 5. 
-    0 : (0.2)
-    1 : (0.142857)
-    2 : (0.166667)
-    3 : (1)
-    4 : (0.142857)
-    dense vector OK
-
-
-P: row permutation vector, n = 5. 
-    0 : 2 
-    1 : 3 
-    2 : 1 
-    3 : 4 
-    4 : 0 
-    permutation vector OK
-
-
-Q: column permutation vector, n = 5. 
-    0 : 3 
-    1 : 2 
-    2 : 0 
-    3 : 1 
-    4 : 4 
-    permutation vector OK
-
-
-L in Numeric object, in column-oriented compressed-pattern form:
-    Diagonal entries are all equal to 1.0 (not stored)
-
-    column 0:  length 0.
-
-    column 1:  length 2.
-	row 2 :  (0.571429)
-	row 3 :  (0.285714)
-
-    column 2:  add 1 entries.  length 1.  Start of Lchain.
-	row 4 :  (0.933333)
-
-    column 3:  length 1.
-	row 4 :  (1.05)
-
-    column 4:  length 0.  Start of Lchain.
-
-
-U in Numeric object, in row-oriented compressed-pattern form:
-    Diagonal is stored separately.
-
-    row 4:  length 0.  End of Uchain.
-
-    row 3:  length 1.  End of Uchain.
-	col 4 : (0.142857)
-
-    row 2:  length 0.  End of Uchain.
-
-    row 1:  length 0.  End of Uchain.
-
-    row 1:  length 0.
-
-    row 0:  length 2.
-	col 1 :  (-0.5)
-	col 3 :  (-0.166667)
-
-
-diagonal of U: dense vector, n = 5. 
-    0 : (0.333333)
-    1 : (1)
-    2 : (0.428571)
-    3 : (0.571429)
-    4 : (-0.15)
-    dense vector OK
-
-    Numeric object:  OK
-
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double
-    Int (generic integer) defined as: long
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       5
-    number of columns in matrix A:    5
-    entries in matrix A:              12
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          8 bytes
-
-    strategy used:                    unsymmetric
-    ordering used:                    colamd on A
-    modify Q during factorization:    yes
-    prefer diagonal pivoting:         no
-    pivots with zero Markowitz cost:               2
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    0
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    3
-        symmetry of nonzero pattern:               1.000000
-        nz in S+S' (excl. diagonal):               4
-        nz on diagonal of matrix S:                2
-        fraction of nz on diagonal:                0.666667
-    2-by-2 pivoting to place large entries on diagonal:
-        # of small diagonal entries of S:          1
-        # unmatched:                               0
-        symmetry of P2*S:                          0.000000
-        nz in P2*S+(P2*S)' (excl. diag.):          6
-        nz on diagonal of P2*S:                    3
-        fraction of nz on diag of P2*S:            1.000000
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 144
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         45
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    matrix scaled: yes (divided each row by sum of abs values in each row)
-    minimum sum (abs (rows of A)):              1.00000e+00
-    maximum sum (abs (rows of A)):              7.00000e+00
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                      74                   69    93%
-        peak size (Units)                       1301                 1292    99%
-        final size (Units)                        15                   12    80%
-    Numeric final size (Units)                    85                   80    94%
-    Numeric final size (MBytes)                  0.0                  0.0    94%
-    peak memory usage (Units)                   1473                 1464    99%
-    peak memory usage (MBytes)                   0.0                  0.0    99%
-    numeric factorization flops          1.30000e+01          4.00000e+00    31%
-    nz in L (incl diagonal)                       10                    9    90%
-    nz in U (incl diagonal)                       10                    8    80%
-    nz in L+U (incl diagonal)                     15                   12    80%
-    largest front (# entries)                      9                    4    44%
-    largest # rows in front                        3                    2    67%
-    largest # columns in front                     3                    2    67%
-
-    initial allocation ratio used:                 0.7
-    # of forced updates due to frontal growth:     0
-    nz in L (incl diagonal), if none dropped       9
-    nz in U (incl diagonal), if none dropped       8
-    number of small entries dropped                0
-    nonzeros on diagonal of U:                     5
-    min abs. value on diagonal of U:               1.50e-01
-    max abs. value on diagonal of U:               1.00e+00
-    estimate of reciprocal of condition number:    1.50e-01
-    indices in compressed pattern:                 2
-    numerical values stored in Numeric object:     8
-    numeric factorization defragmentations:        1
-    numeric factorization reallocations:           1
-    costly numeric factorization reallocations:    0
-    numeric factorization CPU time (sec):          0.00
-    numeric factorization wallclock time (sec):    0.00
-    symbolic + numeric CPU time (sec):             0.00
-    symbolic + numeric wall clock time (sec):      0.00
-
-    solve flops:                                   1.17000e+02
-    iterative refinement steps taken:              0
-    iterative refinement steps attempted:          0
-    sparse backward error omega1:                  5.92e-17
-    sparse backward error omega2:                  0.00e+00
-    solve CPU time (sec):                          0.00
-    solve wall clock time (sec):                   0.00
-
-    total symbolic + numeric + solve flops:        1.21000e+02
-    total symbolic + numeric + solve CPU time:     0.00
-    total symbolic+numeric+solve wall clock time:  0.00
-
-
-x (with modified A): dense vector, n = 5. 
-    0 : (11)
-    1 : (-4.66667)
-    2 : (3)
-    3 : (0.666667)
-    4 : (31.6667)
-    dense vector OK
-
-maxnorm of residual: 5.32907e-15
-
-changing A (0,0) from 2 to 2
-changing A (1,0) from 3 to 2
-changing A (0,1) from 3 to 13
-changing A (2,1) from -1 to 7
-changing A (4,1) from 4 to 10
-changing A (1,2) from 4 to 23
-changing A (2,2) from -3 to 15
-changing A (3,2) from 1 to 18
-changing A (4,2) from 2 to 18
-changing A (2,3) from 2 to 30
-changing A (1,4) from 0 to 39
-changing A (4,4) from 1 to 37
-
-completely modified A (same pattern): column-form matrix, n_row 5 n_col 5, nz = 12. 
-
-    column 0: start: 0 end: 1 entries: 2
-	row 0 : (2)
-	row 1 : (2)
-
-    column 1: start: 2 end: 4 entries: 3
-	row 0 : (13)
-	row 2 : (7)
-	row 4 : (10)
-
-    column 2: start: 5 end: 8 entries: 4
-	row 1 : (23)
-	row 2 : (15)
-	row 3 : (18)
-	row 4 : (18)
-
-    column 3: start: 9 end: 9 entries: 1
-	row 2 : (30)
-
-    column 4: start: 10 end: 11 entries: 2
-	row 1 : (39)
-	row 4 : (37)
-    column-form matrix OK
-
-
-Saving symbolic object:
-
-Freeing symbolic object:
-
-Loading symbolic object:
-
-Done loading symbolic object
-
-Numeric factorization of completely modified A: Numeric object:  
-    n_row: 5  n_col: 5
-    relative pivot tolerance used:              0.1
-    relative symmetric pivot tolerance used:    0.001
-    matrix scaled: yes (divided each row by sum abs value in each row)
-    minimum sum (abs (rows of A)):              1.50000e+01
-    maximum sum (abs (rows of A)):              6.50000e+01
-    initial allocation parameter used:          0.7
-    frontal matrix allocation parameter used:   0.5
-    final total size of Numeric object (Units): 80
-    final total size of Numeric object (MBytes): 0.0
-    peak size of variable-size part (Units):    1292
-    peak size of variable-size part (MBytes):   0.0
-    largest actual frontal matrix size:         4
-    memory defragmentations:                    1
-    memory reallocations:                       1
-    costly memory reallocations:                0
-    entries in compressed pattern (L and U):    2
-    number of nonzeros in L (excl diag):        4
-    number of entries stored in L (excl diag):  2
-    number of nonzeros in U (excl diag):        4
-    number of entries stored in U (excl diag):  2
-    factorization floating-point operations:    6
-    number of nonzeros on diagonal of U:        5
-    min abs. value on diagonal of U:            1.33333e-01
-    max abs. value on diagonal of U:            1.00000e+00
-    reciprocal condition number estimate:       1.33e-01
-
-Scale factors applied via multiplication
-Scale factors, Rs: dense vector, n = 5. 
-    0 : (0.0666667)
-    1 : (0.015625)
-    2 : (0.0192308)
-    3 : (0.0555556)
-    4 : (0.0153846)
-    dense vector OK
-
-
-P: row permutation vector, n = 5. 
-    0 : 2 
-    1 : 3 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-Q: column permutation vector, n = 5. 
-    0 : 3 
-    1 : 2 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-L in Numeric object, in column-oriented compressed-pattern form:
-    Diagonal entries are all equal to 1.0 (not stored)
-
-    column 0:  length 0.
-
-    column 1:  length 2.
-	row 4 :  (0.359375)
-	row 3 :  (0.276923)
-
-    column 2:  add 1 entries.  length 1.  Start of Lchain.
-	row 4 :  (0.234375)
-
-    column 3:  length 1.
-	row 4 :  (1.07052)
-
-    column 4:  length 0.  Start of Lchain.
-
-
-U in Numeric object, in row-oriented compressed-pattern form:
-    Diagonal is stored separately.
-
-    row 4:  length 0.  End of Uchain.
-
-    row 3:  length 1.  End of Uchain.
-	col 4 : (0.153846)
-
-    row 2:  length 1.
-	col 4 : (0.866667)
-
-    row 1:  length 0.  End of Uchain.
-
-    row 1:  length 0.
-
-    row 0:  length 2.
-	col 1 :  (0.288462)
-	col 4 :  (0.134615)
-
-
-diagonal of U: dense vector, n = 5. 
-    0 : (0.576923)
-    1 : (1)
-    2 : (0.133333)
-    3 : (0.569231)
-    4 : (-0.367821)
-    dense vector OK
-
-    Numeric object:  OK
-
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double
-    Int (generic integer) defined as: long
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       5
-    number of columns in matrix A:    5
-    entries in matrix A:              12
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          8 bytes
-
-    strategy used:                    unsymmetric
-    ordering used:                    colamd on A
-    modify Q during factorization:    yes
-    prefer diagonal pivoting:         no
-    pivots with zero Markowitz cost:               2
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    0
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    3
-        symmetry of nonzero pattern:               1.000000
-        nz in S+S' (excl. diagonal):               4
-        nz on diagonal of matrix S:                2
-        fraction of nz on diagonal:                0.666667
-    2-by-2 pivoting to place large entries on diagonal:
-        # of small diagonal entries of S:          1
-        # unmatched:                               0
-        symmetry of P2*S:                          0.000000
-        nz in P2*S+(P2*S)' (excl. diag.):          6
-        nz on diagonal of P2*S:                    3
-        fraction of nz on diag of P2*S:            1.000000
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 144
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         45
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    matrix scaled: yes (divided each row by sum of abs values in each row)
-    minimum sum (abs (rows of A)):              1.50000e+01
-    maximum sum (abs (rows of A)):              6.50000e+01
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                      74                   69    93%
-        peak size (Units)                       1301                 1292    99%
-        final size (Units)                        15                   13    87%
-    Numeric final size (Units)                    85                   81    95%
-    Numeric final size (MBytes)                  0.0                  0.0    95%
-    peak memory usage (Units)                   1473                 1464    99%
-    peak memory usage (MBytes)                   0.0                  0.0    99%
-    numeric factorization flops          1.30000e+01          6.00000e+00    46%
-    nz in L (incl diagonal)                       10                    9    90%
-    nz in U (incl diagonal)                       10                    9    90%
-    nz in L+U (incl diagonal)                     15                   13    87%
-    largest front (# entries)                      9                    4    44%
-    largest # rows in front                        3                    2    67%
-    largest # columns in front                     3                    2    67%
-
-    initial allocation ratio used:                 0.7
-    # of forced updates due to frontal growth:     0
-    nz in L (incl diagonal), if none dropped       9
-    nz in U (incl diagonal), if none dropped       9
-    number of small entries dropped                0
-    nonzeros on diagonal of U:                     5
-    min abs. value on diagonal of U:               1.33e-01
-    max abs. value on diagonal of U:               1.00e+00
-    estimate of reciprocal of condition number:    1.33e-01
-    indices in compressed pattern:                 2
-    numerical values stored in Numeric object:     9
-    numeric factorization defragmentations:        1
-    numeric factorization reallocations:           1
-    costly numeric factorization reallocations:    0
-    numeric factorization CPU time (sec):          0.00
-    numeric factorization wallclock time (sec):    0.00
-    symbolic + numeric CPU time (sec):             0.00
-    symbolic + numeric wall clock time (sec):      0.00
-
-    solve flops:                                   1.19000e+02
-    iterative refinement steps taken:              0
-    iterative refinement steps attempted:          0
-    sparse backward error omega1:                  3.70e-17
-    sparse backward error omega2:                  0.00e+00
-    solve CPU time (sec):                          0.00
-    solve wall clock time (sec):                   0.00
-
-    total symbolic + numeric + solve flops:        1.25000e+02
-    total symbolic + numeric + solve CPU time:     0.00
-    total symbolic+numeric+solve wall clock time:  0.00
-
-
-x (with completely modified A): dense vector, n = 5. 
-    0 : (8.50124)
-    1 : (-0.692499)
-    2 : (0.166667)
-    3 : (-0.0217502)
-    4 : (0.619594)
-    dense vector OK
-
-maxnorm of residual: 3.33067e-15
-
-
-C (transpose of A): column-form matrix, n_row 5 n_col 5, nz = 12. 
-
-    column 0: start: 0 end: 1 entries: 2
-	row 0 : (2)
-	row 1 : (13)
-
-    column 1: start: 2 end: 4 entries: 3
-	row 0 : (2)
-	row 2 : (23)
-	row 4 : (39)
-
-    column 2: start: 5 end: 7 entries: 3
-	row 1 : (7)
-	row 2 : (15)
-	row 3 : (30)
-
-    column 3: start: 8 end: 8 entries: 1
-	row 2 : (18)
-
-    column 4: start: 9 end: 11 entries: 3
-	row 1 : (10)
-	row 2 : (18)
-	row 4 : (37)
-    column-form matrix OK
-
-
-Symbolic factorization of C: Symbolic object: 
-    matrix to be factorized:
-	n_row: 5 n_col: 5
-	number of entries: 12
-    block size used for dense matrix kernels:   32
-    strategy used:                              unsymmetric
-    ordering used:                              colamd on A
-
-    performn column etree postorder:            yes
-    prefer diagonal pivoting (attempt P=Q):     no
-    variable-size part of Numeric object:
-	minimum initial size (Units): 75  (MBytes): 0.0
-	estimated peak size (Units):  1302  (MBytes): 0.0
-	estimated final size (Units): 16  (MBytes): 0.0
-    symbolic factorization memory usage (Units): 144  (MBytes): 0.0
-    frontal matrices / supercolumns:
-	number of frontal chains: 1
-	number of frontal matrices: 1
-	largest frontal matrix row dimension: 3
-	largest frontal matrix column dimension: 3
-
-    Frontal chain: 0.  Frontal matrices 0 to 0
-	Largest frontal matrix in Frontal chain: 3-by-3
-	Front: 0  pivot cols: 3 (pivot columns 0 to 2)
-	    pivot row candidates: 2 to 4
-	    leftmost descendant: 0
-	    1st new candidate row : 2
-	    parent: (none)
-
-Initial column permutation, Q1: permutation vector, n = 5. 
-    0 : 3 
-    1 : 2 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-Initial row permutation, P1: permutation vector, n = 5. 
-    0 : 2 
-    1 : 3 
-    2 : 0 
-    3 : 1 
-    4 : 4 
-    permutation vector OK
-
-    Symbolic object:  OK
-
-
-Get the contents of the Symbolic object for C:
-(compare with umfpack_dl_report_symbolic output, above)
-From the Symbolic object, C is of dimension 5-by-5
-   with nz = 12, number of fronts = 1,
-   number of frontal matrix chains = 1
-
-Pivot columns in each front, and parent of each front:
-    Front 0: parent front: -1 number of pivot cols: 3
-        0-th pivot column is column 3 in original matrix
-        1-th pivot column is column 2 in original matrix
-        2-th pivot column is column 0 in original matrix
-
-Note that the column ordering, above, will be refined
-in the numeric factorization below.  The assignment of pivot
-columns to frontal matrices will always remain unchanged.
-
-Total number of pivot columns in frontal matrices: 3
-
-Frontal matrix chains:
-   Frontal matrices 0 to 0 are factorized in a single
-        working array of size 3-by-3
-
-Numeric factorization of C: Numeric object:  
-    n_row: 5  n_col: 5
-    relative pivot tolerance used:              0.1
-    relative symmetric pivot tolerance used:    0.001
-    matrix scaled: yes (divided each row by sum abs value in each row)
-    minimum sum (abs (rows of A)):              4.00000e+00
-    maximum sum (abs (rows of A)):              7.60000e+01
-    initial allocation parameter used:          0.7
-    frontal matrix allocation parameter used:   0.5
-    final total size of Numeric object (Units): 81
-    final total size of Numeric object (MBytes): 0.0
-    peak size of variable-size part (Units):    1293
-    peak size of variable-size part (MBytes):   0.0
-    largest actual frontal matrix size:         4
-    memory defragmentations:                    1
-    memory reallocations:                       1
-    costly memory reallocations:                0
-    entries in compressed pattern (L and U):    2
-    number of nonzeros in L (excl diag):        3
-    number of entries stored in L (excl diag):  2
-    number of nonzeros in U (excl diag):        5
-    number of entries stored in U (excl diag):  2
-    factorization floating-point operations:    6
-    number of nonzeros on diagonal of U:        5
-    min abs. value on diagonal of U:            2.43243e-01
-    max abs. value on diagonal of U:            1.00000e+00
-    reciprocal condition number estimate:       2.43e-01
-
-Scale factors applied via multiplication
-Scale factors, Rs: dense vector, n = 5. 
-    0 : (0.25)
-    1 : (0.0333333)
-    2 : (0.0135135)
-    3 : (0.0333333)
-    4 : (0.0131579)
-    dense vector OK
-
-
-P: row permutation vector, n = 5. 
-    0 : 2 
-    1 : 3 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-Q: column permutation vector, n = 5. 
-    0 : 3 
-    1 : 2 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-L in Numeric object, in column-oriented compressed-pattern form:
-    Diagonal entries are all equal to 1.0 (not stored)
-
-    column 0:  length 0.
-
-    column 1:  length 1.
-	row 4 :  (0.233333)
-
-    column 2:  add 1 entries.  length 1.  Start of Lchain.
-	row 4 :  (0.866667)
-
-    column 3:  length 1.
-	row 4 :  (0.684685)
-
-    column 4:  length 0.  Start of Lchain.
-
-
-U in Numeric object, in row-oriented compressed-pattern form:
-    Diagonal is stored separately.
-
-    row 4:  length 0.  End of Uchain.
-
-    row 3:  length 1.  End of Uchain.
-	col 4 : (0.513158)
-
-    row 2:  length 1.
-	col 4 : (0.5)
-
-    row 1:  length 0.  End of Uchain.
-
-    row 1:  length 0.
-
-    row 0:  length 3.
-	col 1 :  (0.202703)
-	col 3 :  (0.243243)
-	col 4 :  (0.310811)
-
-
-diagonal of U: dense vector, n = 5. 
-    0 : (0.243243)
-    1 : (1)
-    2 : (0.5)
-    3 : (0.486842)
-    4 : (-0.784685)
-    dense vector OK
-
-    Numeric object:  OK
-
-
-L (lower triangular factor of C): row-form matrix, n_row 5 n_col 5, nz = 8. 
-
-    row 0: start: 0 end: 0 entries: 1
-	column 0 : (1)
-
-    row 1: start: 1 end: 1 entries: 1
-	column 1 : (1)
-
-    row 2: start: 2 end: 2 entries: 1
-	column 2 : (1)
-
-    row 3: start: 3 end: 3 entries: 1
-	column 3 : (1)
-
-    row 4: start: 4 end: 7 entries: 4
-	column 1 : (0.233333)
-	column 2 : (0.866667)
-	column 3 : (0.684685)
-	column 4 : (1)
-    row-form matrix OK
-
-
-U (upper triangular factor of C): column-form matrix, n_row 5 n_col 5, nz = 10. 
-
-    column 0: start: 0 end: 0 entries: 1
-	row 0 : (0.243243)
-
-    column 1: start: 1 end: 2 entries: 2
-	row 0 : (0.202703)
-	row 1 : (1)
-
-    column 2: start: 3 end: 3 entries: 1
-	row 2 : (0.5)
-
-    column 3: start: 4 end: 5 entries: 2
-	row 0 : (0.243243)
-	row 3 : (0.486842)
-
-    column 4: start: 6 end: 9 entries: 4
-	row 0 : (0.310811)
-	row 2 : (0.5)
-	row 3 : (0.513158)
-	row 4 : (-0.784685)
-    column-form matrix OK
-
-
-P: permutation vector, n = 5. 
-    0 : 2 
-    1 : 3 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-Q: permutation vector, n = 5. 
-    0 : 3 
-    1 : 2 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-Scale factors: row i of A is to be multiplied by the ith scale factor
-0: 0.25
-1: 0.0333333
-2: 0.0135135
-3: 0.0333333
-4: 0.0131579
-
-Converting L to triplet form, and printing it:
-
-L, in triplet form: triplet-form matrix, n_row = 5, n_col = 5 nz = 8. 
-    0 : 0 0  (1)
-    1 : 1 1  (1)
-    2 : 2 2  (1)
-    3 : 3 3  (1)
-    4 : 4 1  (0.233333)
-    5 : 4 2  (0.866667)
-    6 : 4 3  (0.684685)
-    7 : 4 4  (1)
-    triplet-form matrix OK
-
-
-Saving numeric object:
-
-Freeing numeric object:
-
-Loading numeric object:
-
-Done loading numeric object
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double
-    Int (generic integer) defined as: long
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       5
-    number of columns in matrix A:    5
-    entries in matrix A:              12
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          8 bytes
-
-    strategy used:                    unsymmetric
-    ordering used:                    colamd on A
-    modify Q during factorization:    yes
-    prefer diagonal pivoting:         no
-    pivots with zero Markowitz cost:               2
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    0
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    3
-        symmetry of nonzero pattern:               1.000000
-        nz in S+S' (excl. diagonal):               4
-        nz on diagonal of matrix S:                2
-        fraction of nz on diagonal:                0.666667
-    2-by-2 pivoting to place large entries on diagonal:
-        # of small diagonal entries of S:          1
-        # unmatched:                               0
-        symmetry of P2*S:                          0.000000
-        nz in P2*S+(P2*S)' (excl. diag.):          6
-        nz on diagonal of P2*S:                    3
-        fraction of nz on diag of P2*S:            1.000000
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 144
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         45
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    matrix scaled: yes (divided each row by sum of abs values in each row)
-    minimum sum (abs (rows of A)):              4.00000e+00
-    maximum sum (abs (rows of A)):              7.60000e+01
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                      75                   70    93%
-        peak size (Units)                       1302                 1293    99%
-        final size (Units)                        16                   14    88%
-    Numeric final size (Units)                    86                   82    95%
-    Numeric final size (MBytes)                  0.0                  0.0    95%
-    peak memory usage (Units)                   1474                 1465    99%
-    peak memory usage (MBytes)                   0.0                  0.0    99%
-    numeric factorization flops          1.30000e+01          6.00000e+00    46%
-    nz in L (incl diagonal)                        9                    8    89%
-    nz in U (incl diagonal)                       11                   10    91%
-    nz in L+U (incl diagonal)                     15                   13    87%
-    largest front (# entries)                      9                    4    44%
-    largest # rows in front                        3                    2    67%
-    largest # columns in front                     3                    2    67%
-
-    initial allocation ratio used:                 0.7
-    # of forced updates due to frontal growth:     0
-    nz in L (incl diagonal), if none dropped       8
-    nz in U (incl diagonal), if none dropped       10
-    number of small entries dropped                0
-    nonzeros on diagonal of U:                     5
-    min abs. value on diagonal of U:               2.43e-01
-    max abs. value on diagonal of U:               1.00e+00
-    estimate of reciprocal of condition number:    2.43e-01
-    indices in compressed pattern:                 2
-    numerical values stored in Numeric object:     9
-    numeric factorization defragmentations:        1
-    numeric factorization reallocations:           1
-    costly numeric factorization reallocations:    0
-    numeric factorization CPU time (sec):          0.00
-    numeric factorization wallclock time (sec):    0.00
-    symbolic + numeric CPU time (sec):             0.00
-    symbolic + numeric wall clock time (sec):      0.00
-
-    solve flops:                                   1.11000e+02
-    iterative refinement steps taken:              0
-    iterative refinement steps attempted:          0
-    sparse backward error omega1:                  7.60e-17
-    sparse backward error omega2:                  0.00e+00
-    solve CPU time (sec):                          0.00
-    solve wall clock time (sec):                   0.00
-
-    total symbolic + numeric + solve flops:        1.17000e+02
-    total symbolic + numeric + solve CPU time:     0.00
-    total symbolic+numeric+solve wall clock time:  0.00
-
-
-x (solution of C'x=b): dense vector, n = 5. 
-    0 : (8.50124)
-    1 : (-0.692499)
-    2 : (0.166667)
-    3 : (-0.0217502)
-    4 : (0.619594)
-    dense vector OK
-
-maxnorm of residual: 4.77396e-15
-
-
-Solving C'x=b again, using umfpack_dl_wsolve instead:
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double
-    Int (generic integer) defined as: long
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       5
-    number of columns in matrix A:    5
-    entries in matrix A:              12
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          8 bytes
-
-    strategy used:                    unsymmetric
-    ordering used:                    colamd on A
-    modify Q during factorization:    yes
-    prefer diagonal pivoting:         no
-    pivots with zero Markowitz cost:               2
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    0
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    3
-        symmetry of nonzero pattern:               1.000000
-        nz in S+S' (excl. diagonal):               4
-        nz on diagonal of matrix S:                2
-        fraction of nz on diagonal:                0.666667
-    2-by-2 pivoting to place large entries on diagonal:
-        # of small diagonal entries of S:          1
-        # unmatched:                               0
-        symmetry of P2*S:                          0.000000
-        nz in P2*S+(P2*S)' (excl. diag.):          6
-        nz on diagonal of P2*S:                    3
-        fraction of nz on diag of P2*S:            1.000000
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 144
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         45
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    matrix scaled: yes (divided each row by sum of abs values in each row)
-    minimum sum (abs (rows of A)):              4.00000e+00
-    maximum sum (abs (rows of A)):              7.60000e+01
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                      75                   70    93%
-        peak size (Units)                       1302                 1293    99%
-        final size (Units)                        16                   14    88%
-    Numeric final size (Units)                    86                   82    95%
-    Numeric final size (MBytes)                  0.0                  0.0    95%
-    peak memory usage (Units)                   1474                 1465    99%
-    peak memory usage (MBytes)                   0.0                  0.0    99%
-    numeric factorization flops          1.30000e+01          6.00000e+00    46%
-    nz in L (incl diagonal)                        9                    8    89%
-    nz in U (incl diagonal)                       11                   10    91%
-    nz in L+U (incl diagonal)                     15                   13    87%
-    largest front (# entries)                      9                    4    44%
-    largest # rows in front                        3                    2    67%
-    largest # columns in front                     3                    2    67%
-
-    initial allocation ratio used:                 0.7
-    # of forced updates due to frontal growth:     0
-    nz in L (incl diagonal), if none dropped       8
-    nz in U (incl diagonal), if none dropped       10
-    number of small entries dropped                0
-    nonzeros on diagonal of U:                     5
-    min abs. value on diagonal of U:               2.43e-01
-    max abs. value on diagonal of U:               1.00e+00
-    estimate of reciprocal of condition number:    2.43e-01
-    indices in compressed pattern:                 2
-    numerical values stored in Numeric object:     9
-    numeric factorization defragmentations:        1
-    numeric factorization reallocations:           1
-    costly numeric factorization reallocations:    0
-    numeric factorization CPU time (sec):          0.00
-    numeric factorization wallclock time (sec):    0.00
-    symbolic + numeric CPU time (sec):             0.00
-    symbolic + numeric wall clock time (sec):      0.00
-
-    solve flops:                                   1.11000e+02
-    iterative refinement steps taken:              0
-    iterative refinement steps attempted:          0
-    sparse backward error omega1:                  7.60e-17
-    sparse backward error omega2:                  0.00e+00
-    solve CPU time (sec):                          0.00
-    solve wall clock time (sec):                   0.00
-
-    total symbolic + numeric + solve flops:        1.17000e+02
-    total symbolic + numeric + solve CPU time:     0.00
-    total symbolic+numeric+solve wall clock time:  0.00
-
-
-x (solution of C'x=b): dense vector, n = 5. 
-    0 : (8.50124)
-    1 : (-0.692499)
-    2 : (0.166667)
-    3 : (-0.0217502)
-    4 : (0.619594)
-    dense vector OK
-
-maxnorm of residual: 4.77396e-15
-
-
-umfpack_dl_demo complete.
-Total time:  0.00 seconds (CPU time),  0.00 seconds (wallclock time)
--- a/liboctave/UMFPACK/UMFPACK/Demo/umfpack_dl_demo.sed	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/::/d
-1,$s/_xx_/_dl_/g
-1,$s/Int/long/g
-1,$s/WSIZE/5/
-/define ABS/ {
-	s/ABS/ABS(x) ((x) >= 0 ? (x) : -(x))/
-	}
-/, rz \[i\]/ {
-	s/, rz \[i\]//
-	}
-/, Avalz/ {
-	s/, Avalz//
-	}
-/, rz/ {
-	s/, rz//
-	}
-/, bz/ {
-	s/, bz//
-	}
-/, xz/ {
-	s/, xz//
-	}
-
-/, Lz/ {
-	s/, Lz//
-	}
-/, Uz/ {
-	s/, Uz//
-	}
-/, Dz/ {
-	s/, Dz//
-	}
-/, Az/ {
-	s/, Az//
-	}
-/, Cz, TRUE/ {
-	s/, Cz, TRUE//
-	}
-/, Cz/ {
-	s/, Cz//
-	}
-/, Rbz/ {
-	s/, Rbz//
-	}
-/, yz/ {
-	s/, yz//
-	}
-
-/ || !Lz/ {
-	s/ || !Lz//
-	}
-/ || !Uz/ {
-	s/ || !Uz//
-	}
-/ || !Dz/ {
-	s/ || !Dz//
-	}
-/ || !Az/ {
-	s/ || !Az//
-	}
-/ || !Cz/ {
-	s/ || !Cz//
-	}
-
-/rz/d
-/Rbz/d
-/yz/d
-/Avalz/d
-/Az/d
-/Cz/d
-/bz/d
-/xz/d
-/Lz/d
-/Uz/d
-/Dz/d
-/complex/d
-
--- a/liboctave/UMFPACK/UMFPACK/Demo/umfpack_simple.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-#include <stdio.h>
-#include "umfpack.h"
-
-int    n = 5 ;
-int    Ap [ ] = {0, 2, 5, 9, 10, 12} ;
-int    Ai [ ] = { 0,  1,  0,   2,  4,  1,  2,  3,   4,  2,  1,  4} ;
-double Ax [ ] = {2., 3., 3., -1., 4., 4., -3., 1., 2., 2., 6., 1.} ;
-double b [ ] = {8., 45., -3., 3., 19.} ;
-double x [5] ;
-
-int main (void)
-{
-    double *null = (double *) NULL ;
-    int i ;
-    void *Symbolic, *Numeric ;
-    (void) umfpack_di_symbolic (n, n, Ap, Ai, Ax, &Symbolic, null, null) ;
-    (void) umfpack_di_numeric (Ap, Ai, Ax, Symbolic, &Numeric, null, null) ;
-    umfpack_di_free_symbolic (&Symbolic) ;
-    (void) umfpack_di_solve (UMFPACK_A, Ap, Ai, Ax, x, b, Numeric, null, null) ;
-    umfpack_di_free_numeric (&Numeric) ;
-    for (i = 0 ; i < n ; i++) printf ("x [%d] = %g\n", i, x [i]) ;
-    return (0) ;
-}
-
--- a/liboctave/UMFPACK/UMFPACK/Demo/umfpack_xx_demo.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,810 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_xx_demo ====================================================== */
-/* ========================================================================== */
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: Do not attempt to compile this file!  It is processed via sed scripts into
-:: four different C demo programs:
-::
-:: umfpack_di_demo.c:  double precision, int integers
-:: umfpack_dl_demo.c:  double precision, long integers
-:: umfpack_zi_demo.c:  complex double precision, int integers
-:: umfpack_zl_demo.c:  complex double precision, long integers
-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-  A demo of UMFPACK:   umfpack_xx_* version.
-
-  First, factor and solve a 5-by-5 system, Ax=b, using default parameters.
-  Then solve A'x=b using the factors of A.   Modify one entry (A (1,4) = 0,
-  where the row and column indices range from 0 to 4.  The pattern of A
-  has not changed (it has explicitly zero entry), so a reanalysis with
-  umfpack_xx_symbolic does not need to be done.  Refactorize (with
-  umfpack_xx_numeric), and solve Ax=b.  Note that the pivot ordering has
-  changed.  Next, change all of the entries in A, but not the pattern.
-
-  Finally, compute C = A', and do the symbolic and numeric factorization of C.
-  Factorizing A' can sometimes be better than factorizing A itself (less work
-  and memory usage).  Solve C'x=b twice; the solution is the same as the
-  solution to Ax=b.
-
-  A note about zero-sized arrays:  UMFPACK uses many user-provided arrays of
-  size n (order of the matrix), and of size nz (the number of nonzeros in a
-  matrix).  n cannot be zero; UMFPACK does not handle zero-dimensioned arrays.
-  However, nz can be zero.  If you attempt to malloc an array of size nz = 0,
-  however, malloc will return a null pointer which UMFPACK will report as a
-  "missing argument."  Thus, nz1 in this code is set to MAX (nz,1), and
-  similarly for lnz and unz.  Lnz can never be zero, however, since L is always
-  unit diagonal.
-*/
-
-/* -------------------------------------------------------------------------- */
-/* definitions */
-/* -------------------------------------------------------------------------- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include "umfpack.h"
-
-/* use a cheap approximate absolute value for complex numbers: */
-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: ABS is |xreal|+|ximag| for the complex case, and |x| for the real case.
-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-#define ABS
-
-#define MAX(a,b) (((a) > (b)) ? (a) : (b))
-#ifndef TRUE
-#define TRUE (1)
-#endif
-#ifndef FALSE
-#define FALSE (0)
-#endif
-
-/* -------------------------------------------------------------------------- */
-/* triplet form of the matrix.  The triplets can be in any order. */
-/* -------------------------------------------------------------------------- */
-
-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: Int is either int or long:
-::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-static Int    n = 5, nz = 12 ;
-static Int    Arow [ ] = { 0,  4,  1,  1,   2,   2,  0,  1,  2,  3,  4,  4} ;
-static Int    Acol [ ] = { 0,  4,  0,  2,   1,   2,  1,  4,  3,  2,  1,  2} ;
-static double Aval [ ] = {2., 1., 3., 4., -1., -3., 3., 6., 2., 1., 4., 2.} ;
-static double Avalz[ ] = {1., .4, .1, .2, -1., -.2, 0., 6., 3., 0., .3, .3} ;
-static double b [ ] = {8., 45., -3., 3., 19.}, x [5], r [5] ;
-static double bz[ ] = {1., -5., -2., 0., 2.2}, xz[5], rz[5] ;
-
-/* Avalz, bz:  imaginary part of A and b */
-
-/* -------------------------------------------------------------------------- */
-/* error: print a message and exit */
-/* -------------------------------------------------------------------------- */
-
-static void error
-(
-    char *message
-)
-{
-    printf ("\n\n====== error: %s =====\n\n", message) ;
-    exit (1) ;
-}
-
-
-/* -------------------------------------------------------------------------- */
-/* resid: compute the residual, r = Ax-b or r = A'x=b and return maxnorm (r) */
-/* A' is the complex conjugate transpose, not the array transpose */
-/* -------------------------------------------------------------------------- */
-
-static double resid
-(
-    Int transpose,
-    Int Ap [ ],
-    Int Ai [ ],
-    double Ax [ ]
-    , double Az [ ]
-)
-{
-    Int i, j, p ;
-    double norm ;
-
-    for (i = 0 ; i < n ; i++)
-    {
-	r [i] = -b [i] ;
-	rz[i] = -bz[i] ;
-    }
-    if (transpose)
-    {
-	for (j = 0 ; j < n ; j++)
-	{
-	    for (p = Ap [j] ; p < Ap [j+1] ; p++)
-	    {
-		i = Ai [p] ;
-		/* complex: r(j) += conj (Aij) * x (i) */
-		r [j] += Ax [p] * x [i] ;
-		r [j] += Az [p] * xz[i] ;
-		rz[j] -= Az [p] * x [i] ;
-		rz[j] += Ax [p] * xz[i] ;
-	    }
-	}
-    }
-    else
-    {
-	for (j = 0 ; j < n ; j++)
-	{
-	    for (p = Ap [j] ; p < Ap [j+1] ; p++)
-	    {
-		i = Ai [p] ;
-		r [i] += Ax [p] * x [j] ;
-		r [i] -= Az [p] * xz[j] ;
-		rz[i] += Az [p] * x [j] ;
-		rz[i] += Ax [p] * xz[j] ;
-	    }
-	}
-    }
-    norm = 0. ;
-    for (i = 0 ; i < n ; i++)
-    {
-	norm = MAX (ABS (r [i], rz [i]), norm) ;
-    }
-    return (norm) ;
-}
-
-
-/* -------------------------------------------------------------------------- */
-/* main program */
-/* -------------------------------------------------------------------------- */
-
-int main (int argc, char **argv)
-{
-    double Info [UMFPACK_INFO], Control [UMFPACK_CONTROL], *Ax, *Cx, *Lx, *Ux,
-	*W, t [2], *Dx, rnorm, *Rb, *y, *Rs ;
-    double *Az, *Lz, *Uz, *Dz, *Cz, *Rbz, *yz ;
-    Int *Ap, *Ai, *Cp, *Ci, row, col, p, lnz, unz, nr, nc, *Lp, *Li, *Ui, *Up,
-	*P, *Q, *Lj, i, j, k, anz, nfr, nchains, *Qinit, fnpiv, lnz1, unz1, nz1,
-	status, *Front_npivcol, *Front_parent, *Chain_start, *Wi, *Pinit, n1,
-	*Chain_maxrows, *Chain_maxcols, *Front_1strow, *Front_leftmostdesc,
-	nzud, do_recip ;
-    void *Symbolic, *Numeric ;
-
-    /* ---------------------------------------------------------------------- */
-    /* initializations */
-    /* ---------------------------------------------------------------------- */
-
-    umfpack_tic (t) ;
-
-    printf ("\n%s demo: _xx_ version\n", UMFPACK_VERSION) ;
-
-    /* get the default control parameters */
-    umfpack_xx_defaults (Control) ;
-
-    /* change the default print level for this demo */
-    /* (otherwise, nothing will print) */
-    Control [UMFPACK_PRL] = 6 ;
-
-    /* print the license agreement */
-    umfpack_xx_report_status (Control, UMFPACK_OK) ;
-    Control [UMFPACK_PRL] = 5 ;
-
-    /* print the control parameters */
-    umfpack_xx_report_control (Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* print A and b, and convert A to column-form */
-    /* ---------------------------------------------------------------------- */
-
-    /* print the right-hand-side */
-    printf ("\nb: ") ;
-    (void) umfpack_xx_report_vector (n, b, bz, Control) ;
-
-    /* print the triplet form of the matrix */
-    printf ("\nA: ") ;
-    (void) umfpack_xx_report_triplet (n, n, nz, Arow, Acol, Aval, Avalz,
-	Control) ;
-
-    /* convert to column form */
-    nz1 = MAX (nz,1) ;	/* ensure arrays are not of size zero. */
-    Ap = (Int *) malloc ((n+1) * sizeof (Int)) ;
-    Ai = (Int *) malloc (nz1 * sizeof (Int)) ;
-    Ax = (double *) malloc (nz1 * sizeof (double)) ;
-    Az = (double *) malloc (nz1 * sizeof (double)) ;
-    if (!Ap || !Ai || !Ax || !Az)
-    {
-	error ("out of memory") ;
-    }
-
-    status = umfpack_xx_triplet_to_col (n, n, nz, Arow, Acol, Aval, Avalz,
-	Ap, Ai, Ax, Az, (Int *) NULL) ;
-
-    if (status < 0)
-    {
-	umfpack_xx_report_status (Control, status) ;
-	error ("umfpack_xx_triplet_to_col failed") ;
-    }
-
-    /* print the column-form of A */
-    printf ("\nA: ") ;
-    (void) umfpack_xx_report_matrix (n, n, Ap, Ai, Ax, Az, 1, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* symbolic factorization */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_xx_symbolic (n, n, Ap, Ai, Ax, Az, &Symbolic,
-	Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_xx_report_info (Control, Info) ;
-	umfpack_xx_report_status (Control, status) ;
-	error ("umfpack_xx_symbolic failed") ;
-    }
-
-    /* print the symbolic factorization */
-
-    printf ("\nSymbolic factorization of A: ") ;
-    (void) umfpack_xx_report_symbolic (Symbolic, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* numeric factorization */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_xx_numeric (Ap, Ai, Ax, Az, Symbolic, &Numeric,
-	Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_xx_report_info (Control, Info) ;
-	umfpack_xx_report_status (Control, status) ;
-	error ("umfpack_xx_numeric failed") ;
-    }
-
-    /* print the numeric factorization */
-    printf ("\nNumeric factorization of A: ") ;
-    (void) umfpack_xx_report_numeric (Numeric, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve Ax=b */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_xx_solve (UMFPACK_A, Ap, Ai, Ax, Az, x, xz, b, bz,
-	Numeric, Control, Info) ;
-    umfpack_xx_report_info (Control, Info) ;
-    umfpack_xx_report_status (Control, status) ;
-    if (status < 0)
-    {
-	error ("umfpack_xx_solve failed") ;
-    }
-    printf ("\nx (solution of Ax=b): ") ;
-    (void) umfpack_xx_report_vector (n, x, xz, Control) ;
-    rnorm = resid (FALSE, Ap, Ai, Ax, Az) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* compute the determinant */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_xx_get_determinant (x, xz, r, Numeric, Info) ;
-    umfpack_xx_report_status (Control, status) ;
-    if (status < 0)
-    {
-	error ("umfpack_xx_get_determinant failed") ;
-    }
-    printf ("determinant: (%g", x [0]) ;
-    printf ("+ (%g)i", xz [0]) ; /* complex */
-    printf (") * 10^(%g)\n", r [0]) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve Ax=b, broken down into steps */
-    /* ---------------------------------------------------------------------- */
-
-    /* Rb = R*b */
-    Rb  = (double *) malloc (n * sizeof (double)) ;
-    Rbz = (double *) malloc (n * sizeof (double)) ;
-    y   = (double *) malloc (n * sizeof (double)) ;
-    yz  = (double *) malloc (n * sizeof (double)) ;
-    if (!Rb || !y) error ("out of memory") ;
-    if (!Rbz || !yz) error ("out of memory") ;
-
-    status = umfpack_xx_scale (Rb, Rbz, b, bz, Numeric) ;
-    if (status < 0) error ("umfpack_xx_scale failed") ;
-    /* solve Ly = P*(Rb) */
-    status = umfpack_xx_solve (UMFPACK_Pt_L, Ap, Ai, Ax, Az, y, yz, Rb, Rbz,
-	Numeric, Control, Info) ;
-    if (status < 0) error ("umfpack_xx_solve failed") ;
-    /* solve UQ'x=y */
-    status = umfpack_xx_solve (UMFPACK_U_Qt, Ap, Ai, Ax, Az, x, xz, y, yz,
-	Numeric, Control, Info) ;
-    if (status < 0) error ("umfpack_xx_solve failed") ;
-    printf ("\nx (solution of Ax=b, solve is split into 3 steps): ") ;
-    (void) umfpack_xx_report_vector (n, x, xz, Control) ;
-    rnorm = resid (FALSE, Ap, Ai, Ax, Az) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    free (Rb) ;
-    free (Rbz) ;
-    free (y) ;
-    free (yz) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve A'x=b */
-    /* ---------------------------------------------------------------------- */
-
-    /* note that this is the complex conjugate transpose, A' */
-    status = umfpack_xx_solve (UMFPACK_At, Ap, Ai, Ax, Az, x, xz, b, bz,
-	Numeric, Control, Info) ;
-    umfpack_xx_report_info (Control, Info) ;
-    if (status < 0)
-    {
-	error ("umfpack_xx_solve failed") ;
-    }
-    printf ("\nx (solution of A'x=b): ") ;
-    (void) umfpack_xx_report_vector (n, x, xz, Control) ;
-    rnorm = resid (TRUE, Ap, Ai, Ax, Az) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* modify one numerical value in the column-form of A */
-    /* ---------------------------------------------------------------------- */
-
-    /* change A (1,4), look for row index 1 in column 4. */
-    row = 1 ;
-    col = 4 ;
-    for (p = Ap [col] ; p < Ap [col+1] ; p++)
-    {
-	if (row == Ai [p])
-	{
-	    printf ("\nchanging A (%ld,%ld) to zero\n", row, col) ;
-	    Ax [p] = 0.0 ;
-	    Az [p] = 0.0 ;
-	    break ;
-	}
-    }
-    printf ("\nmodified A: ") ;
-    (void) umfpack_xx_report_matrix (n, n, Ap, Ai, Ax, Az, 1, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* redo the numeric factorization */
-    /* ---------------------------------------------------------------------- */
-
-    /* The pattern (Ap and Ai) hasn't changed, so the symbolic factorization */
-    /* doesn't have to be redone, no matter how much we change Ax. */
-
-    /* We don't need the Numeric object any more, so free it. */
-    umfpack_xx_free_numeric (&Numeric) ;
-
-    /* Note that a memory leak would have occurred if the old Numeric */
-    /* had not been free'd with umfpack_xx_free_numeric above. */
-    status = umfpack_xx_numeric (Ap, Ai, Ax, Az, Symbolic, &Numeric,
-	Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_xx_report_info (Control, Info) ;
-	umfpack_xx_report_status (Control, status) ;
-	error ("umfpack_xx_numeric failed") ;
-    }
-    printf ("\nNumeric factorization of modified A: ") ;
-    (void) umfpack_xx_report_numeric (Numeric, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve Ax=b, with the modified A */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_xx_solve (UMFPACK_A, Ap, Ai, Ax, Az, x, xz, b, bz,
-	Numeric, Control, Info) ;
-    umfpack_xx_report_info (Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_xx_report_status (Control, status) ;
-	error ("umfpack_xx_solve failed") ;
-    }
-    printf ("\nx (with modified A): ") ;
-    (void) umfpack_xx_report_vector (n, x, xz, Control) ;
-    rnorm = resid (FALSE, Ap, Ai, Ax, Az) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* modify all of the numerical values of A, but not the pattern */
-    /* ---------------------------------------------------------------------- */
-
-    for (col = 0 ; col < n ; col++)
-    {
-	for (p = Ap [col] ; p < Ap [col+1] ; p++)
-	{
-	    row = Ai [p] ;
-	    printf ("changing ") ;
-	    /* complex: */ printf ("real part of ") ;
-	    printf ("A (%ld,%ld) from %g", row, col, Ax [p]) ;
-	    Ax [p] = Ax [p] + col*10 - row ;
-	    printf (" to %g\n", Ax [p]) ;
-	}
-    }
-    printf ("\ncompletely modified A (same pattern): ") ;
-    (void) umfpack_xx_report_matrix (n, n, Ap, Ai, Ax, Az, 1, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* save the Symbolic object to file, free it, and load it back in */
-    /* ---------------------------------------------------------------------- */
-
-    /* use the default filename, "symbolic.umf" */
-    printf ("\nSaving symbolic object:\n") ;
-    status = umfpack_xx_save_symbolic (Symbolic, (char *) NULL) ;
-    if (status < 0)
-    {
-	umfpack_xx_report_status (Control, status) ;
-	error ("umfpack_xx_save_symbolic failed") ;
-    }
-    printf ("\nFreeing symbolic object:\n") ;
-    umfpack_xx_free_symbolic (&Symbolic) ;
-    printf ("\nLoading symbolic object:\n") ;
-    status = umfpack_xx_load_symbolic (&Symbolic, (char *) NULL) ;
-    if (status < 0)
-    {
-	umfpack_xx_report_status (Control, status) ;
-	error ("umfpack_xx_load_symbolic failed") ;
-    }
-    printf ("\nDone loading symbolic object\n") ;
-
-    /* ---------------------------------------------------------------------- */
-    /* redo the numeric factorization */
-    /* ---------------------------------------------------------------------- */
-
-    umfpack_xx_free_numeric (&Numeric) ;
-    status = umfpack_xx_numeric (Ap, Ai, Ax, Az, Symbolic, &Numeric,
-	Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_xx_report_info (Control, Info) ;
-	umfpack_xx_report_status (Control, status) ;
-	error ("umfpack_xx_numeric failed") ;
-    }
-    printf ("\nNumeric factorization of completely modified A: ") ;
-    (void) umfpack_xx_report_numeric (Numeric, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve Ax=b, with the modified A */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_xx_solve (UMFPACK_A, Ap, Ai, Ax, Az, x, xz, b, bz,
-	Numeric, Control, Info) ;
-    umfpack_xx_report_info (Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_xx_report_status (Control, status) ;
-	error ("umfpack_xx_solve failed") ;
-    }
-    printf ("\nx (with completely modified A): ") ;
-    (void) umfpack_xx_report_vector (n, x, xz, Control) ;
-    rnorm = resid (FALSE, Ap, Ai, Ax, Az) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* free the symbolic and numeric factorization */
-    /* ---------------------------------------------------------------------- */
-
-    umfpack_xx_free_symbolic (&Symbolic) ;
-    umfpack_xx_free_numeric (&Numeric) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* C = transpose of A */
-    /* ---------------------------------------------------------------------- */
-
-    Cp = (Int *) malloc ((n+1) * sizeof (Int)) ;
-    Ci = (Int *) malloc (nz1 * sizeof (Int)) ;
-    Cx = (double *) malloc (nz1 * sizeof (double)) ;
-    Cz = (double *) malloc (nz1 * sizeof (double)) ;
-    if (!Cp || !Ci || !Cx || !Cz)
-    {
-	error ("out of memory") ;
-    }
-    status = umfpack_xx_transpose (n, n, Ap, Ai, Ax, Az,
-	(Int *) NULL, (Int *) NULL, Cp, Ci, Cx, Cz, TRUE) ;
-    if (status < 0)
-    {
-	umfpack_xx_report_status (Control, status) ;
-	error ("umfpack_xx_transpose failed: ") ;
-    }
-    printf ("\nC (transpose of A): ") ;
-    (void) umfpack_xx_report_matrix (n, n, Cp, Ci, Cx, Cz, 1, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* symbolic factorization of C */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_xx_symbolic (n, n, Cp, Ci, Cx, Cz, &Symbolic,
-	Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_xx_report_info (Control, Info) ;
-	umfpack_xx_report_status (Control, status) ;
-	error ("umfpack_xx_symbolic failed") ;
-    }
-    printf ("\nSymbolic factorization of C: ") ;
-    (void) umfpack_xx_report_symbolic (Symbolic, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* copy the contents of Symbolic into user arrays print them */
-    /* ---------------------------------------------------------------------- */
-
-    printf ("\nGet the contents of the Symbolic object for C:\n") ;
-    printf ("(compare with umfpack_xx_report_symbolic output, above)\n") ;
-    Pinit = (Int *) malloc ((n+1) * sizeof (Int)) ;
-    Qinit = (Int *) malloc ((n+1) * sizeof (Int)) ;
-    Front_npivcol = (Int *) malloc ((n+1) * sizeof (Int)) ;
-    Front_1strow = (Int *) malloc ((n+1) * sizeof (Int)) ;
-    Front_leftmostdesc = (Int *) malloc ((n+1) * sizeof (Int)) ;
-    Front_parent = (Int *) malloc ((n+1) * sizeof (Int)) ;
-    Chain_start = (Int *) malloc ((n+1) * sizeof (Int)) ;
-    Chain_maxrows = (Int *) malloc ((n+1) * sizeof (Int)) ;
-    Chain_maxcols = (Int *) malloc ((n+1) * sizeof (Int)) ;
-    if (!Pinit || !Qinit || !Front_npivcol || !Front_parent || !Chain_start ||
-	!Chain_maxrows || !Chain_maxcols || !Front_1strow ||
-	!Front_leftmostdesc)
-    {
-	error ("out of memory") ;
-    }
-
-    status = umfpack_xx_get_symbolic (&nr, &nc, &n1, &anz, &nfr, &nchains,
-	Pinit, Qinit, Front_npivcol, Front_parent, Front_1strow,
-	Front_leftmostdesc, Chain_start, Chain_maxrows, Chain_maxcols,
-	Symbolic) ;
-
-    if (status < 0)
-    {
-	error ("symbolic factorization invalid") ;
-    }
-
-    printf ("From the Symbolic object, C is of dimension %ld-by-%ld\n", nr, nc);
-    printf ("   with nz = %ld, number of fronts = %ld,\n", nz, nfr) ;
-    printf ("   number of frontal matrix chains = %ld\n", nchains) ;
-
-    printf ("\nPivot columns in each front, and parent of each front:\n") ;
-    k = 0 ;
-    for (i = 0 ; i < nfr ; i++)
-    {
-	fnpiv = Front_npivcol [i] ;
-	printf ("    Front %ld: parent front: %ld number of pivot cols: %ld\n",
-		i, Front_parent [i], fnpiv) ;
-	for (j = 0 ; j < fnpiv ; j++)
-	{
-	    col = Qinit [k] ;
-	    printf (
-	    "        %ld-th pivot column is column %ld in original matrix\n",
-		k, col) ;
-	    k++ ;
-	}
-    }
-
-    printf ("\nNote that the column ordering, above, will be refined\n") ;
-    printf ("in the numeric factorization below.  The assignment of pivot\n") ;
-    printf ("columns to frontal matrices will always remain unchanged.\n") ;
-
-    printf ("\nTotal number of pivot columns in frontal matrices: %ld\n", k) ;
-
-    printf ("\nFrontal matrix chains:\n") ;
-    for (j = 0 ; j < nchains ; j++)
-    {
-	printf ("   Frontal matrices %ld to %ld are factorized in a single\n",
-	    Chain_start [j], Chain_start [j+1] - 1) ;
-	printf ("        working array of size %ld-by-%ld\n",
-	    Chain_maxrows [j], Chain_maxcols [j]) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* numeric factorization of C */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_xx_numeric (Cp, Ci, Cx, Cz, Symbolic, &Numeric,
-	Control, Info) ;
-    if (status < 0)
-    {
-	error ("umfpack_xx_numeric failed") ;
-    }
-    printf ("\nNumeric factorization of C: ") ;
-    (void) umfpack_xx_report_numeric (Numeric, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* extract the LU factors of C and print them */
-    /* ---------------------------------------------------------------------- */
-
-    if (umfpack_xx_get_lunz (&lnz, &unz, &nr, &nc, &nzud, Numeric) < 0)
-    {
-	error ("umfpack_xx_get_lunz failed") ;
-    }
-    /* ensure arrays are not of zero size */
-    lnz1 = MAX (lnz,1) ;
-    unz1 = MAX (unz,1) ;
-    Lp = (Int *) malloc ((n+1) * sizeof (Int)) ;
-    Lj = (Int *) malloc (lnz1 * sizeof (Int)) ;
-    Lx = (double *) malloc (lnz1 * sizeof (double)) ;
-    Lz = (double *) malloc (lnz1 * sizeof (double)) ;
-    Up = (Int *) malloc ((n+1) * sizeof (Int)) ;
-    Ui = (Int *) malloc (unz1 * sizeof (Int)) ;
-    Ux = (double *) malloc (unz1 * sizeof (double)) ;
-    Uz = (double *) malloc (unz1 * sizeof (double)) ;
-    P = (Int *) malloc (n * sizeof (Int)) ;
-    Q = (Int *) malloc (n * sizeof (Int)) ;
-    Dx = (double *) NULL ;	/* D vector not requested */
-    Dz = (double *) NULL ;
-    Rs  = (double *) malloc (n * sizeof (double)) ;
-    if (!Lp || !Lj || !Lx || !Lz || !Up || !Ui || !Ux || !Uz || !P || !Q || !Rs)
-    {
-	error ("out of memory") ;
-    }
-    status = umfpack_xx_get_numeric (Lp, Lj, Lx, Lz, Up, Ui, Ux, Uz,
-	P, Q, Dx, Dz, &do_recip, Rs, Numeric) ;
-    if (status < 0)
-    {
-	error ("umfpack_xx_get_numeric failed") ;
-    }
-
-    printf ("\nL (lower triangular factor of C): ") ;
-    (void) umfpack_xx_report_matrix (n, n, Lp, Lj, Lx, Lz, 0, Control) ;
-    printf ("\nU (upper triangular factor of C): ") ;
-    (void) umfpack_xx_report_matrix (n, n, Up, Ui, Ux, Uz, 1, Control) ;
-    printf ("\nP: ") ;
-    (void) umfpack_xx_report_perm (n, P, Control) ;
-    printf ("\nQ: ") ;
-    (void) umfpack_xx_report_perm (n, Q, Control) ;
-    printf ("\nScale factors: row i of A is to be ") ;
-    if (do_recip)
-    {
-	printf ("multiplied by the ith scale factor\n") ;
-    }
-    else
-    {
-	printf ("divided by the ith scale factor\n") ;
-    }
-    for (i = 0 ; i < n ; i++) printf ("%ld: %g\n", i, Rs [i]) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* convert L to triplet form and print it */
-    /* ---------------------------------------------------------------------- */
-
-    /* Note that L is in row-form, so it is the row indices that are created */
-    /* by umfpack_xx_col_to_triplet. */
-
-    printf ("\nConverting L to triplet form, and printing it:\n") ;
-    Li = (Int *) malloc (lnz1 * sizeof (Int)) ;
-    if (!Li)
-    {
-	error ("out of memory") ;
-    }
-    if (umfpack_xx_col_to_triplet (n, Lp, Li) < 0)
-    {
-	error ("umfpack_xx_col_to_triplet failed") ;
-    }
-    printf ("\nL, in triplet form: ") ;
-    (void) umfpack_xx_report_triplet (n, n, lnz, Li, Lj, Lx, Lz, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* save the Numeric object to file, free it, and load it back in */
-    /* ---------------------------------------------------------------------- */
-
-    /* use the default filename, "numeric.umf" */
-    printf ("\nSaving numeric object:\n") ;
-    status = umfpack_xx_save_numeric (Numeric, (char *) NULL) ;
-    if (status < 0)
-    {
-	umfpack_xx_report_status (Control, status) ;
-	error ("umfpack_xx_save_numeric failed") ;
-    }
-    printf ("\nFreeing numeric object:\n") ;
-    umfpack_xx_free_numeric (&Numeric) ;
-    printf ("\nLoading numeric object:\n") ;
-    status = umfpack_xx_load_numeric (&Numeric, (char *) NULL) ;
-    if (status < 0)
-    {
-	umfpack_xx_report_status (Control, status) ;
-	error ("umfpack_xx_load_numeric failed") ;
-    }
-    printf ("\nDone loading numeric object\n") ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve C'x=b */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_xx_solve (UMFPACK_At, Cp, Ci, Cx, Cz, x, xz, b, bz,
-	Numeric, Control, Info) ;
-    umfpack_xx_report_info (Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_xx_report_status (Control, status) ;
-	error ("umfpack_xx_solve failed") ;
-    }
-    printf ("\nx (solution of C'x=b): ") ;
-    (void) umfpack_xx_report_vector (n, x, xz, Control) ;
-    rnorm = resid (TRUE, Cp, Ci, Cx, Cz) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve C'x=b again, using umfpack_xx_wsolve instead */
-    /* ---------------------------------------------------------------------- */
-
-    printf ("\nSolving C'x=b again, using umfpack_xx_wsolve instead:\n") ;
-    Wi = (Int *) malloc (n * sizeof (Int)) ;
-    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-    :: WSIZE is 5 for the real case, 10 for complex.
-    ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-    W = (double *) malloc (WSIZE*n * sizeof (double)) ;
-    if (!Wi || !W)
-    {
-	error ("out of memory") ;
-    }
-
-    status = umfpack_xx_wsolve (UMFPACK_At, Cp, Ci, Cx, Cz, x, xz, b, bz,
-	Numeric, Control, Info, Wi, W) ;
-    umfpack_xx_report_info (Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_xx_report_status (Control, status) ;
-	error ("umfpack_xx_wsolve failed") ;
-    }
-    printf ("\nx (solution of C'x=b): ") ;
-    (void) umfpack_xx_report_vector (n, x, xz, Control) ;
-    rnorm = resid (TRUE, Cp, Ci, Cx, Cz) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* free everything */
-    /* ---------------------------------------------------------------------- */
-
-    /* This is not strictly required since the process is exiting and the */
-    /* system will reclaim the memory anyway.  It's useful, though, just as */
-    /* a list of what is currently malloc'ed by this program.  Plus, it's */
-    /* always a good habit to explicitly free whatever you malloc. */
-
-    free (Ap) ;
-    free (Ai) ;
-    free (Ax) ;
-    free (Az) ;
-
-    free (Cp) ;
-    free (Ci) ;
-    free (Cx) ;
-    free (Cz) ;
-
-    free (Pinit) ;
-    free (Qinit) ;
-    free (Front_npivcol) ;
-    free (Front_1strow) ;
-    free (Front_leftmostdesc) ;
-    free (Front_parent) ;
-    free (Chain_start) ;
-    free (Chain_maxrows) ;
-    free (Chain_maxcols) ;
-
-    free (Lp) ;
-    free (Lj) ;
-    free (Lx) ;
-    free (Lz) ;
-
-    free (Up) ;
-    free (Ui) ;
-    free (Ux) ;
-    free (Uz) ;
-
-    free (P) ;
-    free (Q) ;
-
-    free (Li) ;
-
-    free (Wi) ;
-    free (W) ;
-
-    umfpack_xx_free_symbolic (&Symbolic) ;
-    umfpack_xx_free_numeric (&Numeric) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* print the total time spent in this demo */
-    /* ---------------------------------------------------------------------- */
-
-    umfpack_toc (t) ;
-    printf ("\numfpack_xx_demo complete.\nTotal time: %5.2f seconds"
-	" (CPU time), %5.2f seconds (wallclock time)\n", t [1], t [0]) ;
-    return (0) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Demo/umfpack_zi_demo.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,791 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_zi_demo ====================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-  A demo of UMFPACK:   umfpack_zi_* version.
-
-  First, factor and solve a 5-by-5 system, Ax=b, using default parameters.
-  Then solve A'x=b using the factors of A.   Modify one entry (A (1,4) = 0,
-  where the row and column indices range from 0 to 4.  The pattern of A
-  has not changed (it has explicitly zero entry), so a reanalysis with
-  umfpack_zi_symbolic does not need to be done.  Refactorize (with
-  umfpack_zi_numeric), and solve Ax=b.  Note that the pivot ordering has
-  changed.  Next, change all of the entries in A, but not the pattern.
-
-  Finally, compute C = A', and do the symbolic and numeric factorization of C.
-  Factorizing A' can sometimes be better than factorizing A itself (less work
-  and memory usage).  Solve C'x=b twice; the solution is the same as the
-  solution to Ax=b.
-
-  A note about zero-sized arrays:  UMFPACK uses many user-provided arrays of
-  size n (order of the matrix), and of size nz (the number of nonzeros in a
-  matrix).  n cannot be zero; UMFPACK does not handle zero-dimensioned arrays.
-  However, nz can be zero.  If you attempt to malloc an array of size nz = 0,
-  however, malloc will return a null pointer which UMFPACK will report as a
-  "missing argument."  Thus, nz1 in this code is set to MAX (nz,1), and
-  similarly for lnz and unz.  Lnz can never be zero, however, since L is always
-  unit diagonal.
-*/
-
-/* -------------------------------------------------------------------------- */
-/* definitions */
-/* -------------------------------------------------------------------------- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include "umfpack.h"
-
-/* use a cheap approximate absolute value for complex numbers: */
-#define ABS(x,z) ((x) >= 0 ? (x) : -(x)) + ((z) >= 0 ? (z) : -(z))
-
-#define MAX(a,b) (((a) > (b)) ? (a) : (b))
-#ifndef TRUE
-#define TRUE (1)
-#endif
-#ifndef FALSE
-#define FALSE (0)
-#endif
-
-/* -------------------------------------------------------------------------- */
-/* triplet form of the matrix.  The triplets can be in any order. */
-/* -------------------------------------------------------------------------- */
-
-static int    n = 5, nz = 12 ;
-static int    Arow [ ] = { 0,  4,  1,  1,   2,   2,  0,  1,  2,  3,  4,  4} ;
-static int    Acol [ ] = { 0,  4,  0,  2,   1,   2,  1,  4,  3,  2,  1,  2} ;
-static double Aval [ ] = {2., 1., 3., 4., -1., -3., 3., 6., 2., 1., 4., 2.} ;
-static double Avalz[ ] = {1., .4, .1, .2, -1., -.2, 0., 6., 3., 0., .3, .3} ;
-static double b [ ] = {8., 45., -3., 3., 19.}, x [5], r [5] ;
-static double bz[ ] = {1., -5., -2., 0., 2.2}, xz[5], rz[5] ;
-
-/* Avalz, bz:  imaginary part of A and b */
-
-/* -------------------------------------------------------------------------- */
-/* error: print a message and exit */
-/* -------------------------------------------------------------------------- */
-
-static void error
-(
-    char *message
-)
-{
-    printf ("\n\n====== error: %s =====\n\n", message) ;
-    exit (1) ;
-}
-
-
-/* -------------------------------------------------------------------------- */
-/* resid: compute the residual, r = Ax-b or r = A'x=b and return maxnorm (r) */
-/* A' is the complex conjugate transpose, not the array transpose */
-/* -------------------------------------------------------------------------- */
-
-static double resid
-(
-    int transpose,
-    int Ap [ ],
-    int Ai [ ],
-    double Ax [ ]
-    , double Az [ ]
-)
-{
-    int i, j, p ;
-    double norm ;
-
-    for (i = 0 ; i < n ; i++)
-    {
-	r [i] = -b [i] ;
-	rz[i] = -bz[i] ;
-    }
-    if (transpose)
-    {
-	for (j = 0 ; j < n ; j++)
-	{
-	    for (p = Ap [j] ; p < Ap [j+1] ; p++)
-	    {
-		i = Ai [p] ;
-		/* complex: r(j) += conj (Aij) * x (i) */
-		r [j] += Ax [p] * x [i] ;
-		r [j] += Az [p] * xz[i] ;
-		rz[j] -= Az [p] * x [i] ;
-		rz[j] += Ax [p] * xz[i] ;
-	    }
-	}
-    }
-    else
-    {
-	for (j = 0 ; j < n ; j++)
-	{
-	    for (p = Ap [j] ; p < Ap [j+1] ; p++)
-	    {
-		i = Ai [p] ;
-		r [i] += Ax [p] * x [j] ;
-		r [i] -= Az [p] * xz[j] ;
-		rz[i] += Az [p] * x [j] ;
-		rz[i] += Ax [p] * xz[j] ;
-	    }
-	}
-    }
-    norm = 0. ;
-    for (i = 0 ; i < n ; i++)
-    {
-	norm = MAX (ABS (r [i], rz [i]), norm) ;
-    }
-    return (norm) ;
-}
-
-
-/* -------------------------------------------------------------------------- */
-/* main program */
-/* -------------------------------------------------------------------------- */
-
-int main (int argc, char **argv)
-{
-    double Info [UMFPACK_INFO], Control [UMFPACK_CONTROL], *Ax, *Cx, *Lx, *Ux,
-	*W, t [2], *Dx, rnorm, *Rb, *y, *Rs ;
-    double *Az, *Lz, *Uz, *Dz, *Cz, *Rbz, *yz ;
-    int *Ap, *Ai, *Cp, *Ci, row, col, p, lnz, unz, nr, nc, *Lp, *Li, *Ui, *Up,
-	*P, *Q, *Lj, i, j, k, anz, nfr, nchains, *Qinit, fnpiv, lnz1, unz1, nz1,
-	status, *Front_npivcol, *Front_parent, *Chain_start, *Wi, *Pinit, n1,
-	*Chain_maxrows, *Chain_maxcols, *Front_1strow, *Front_leftmostdesc,
-	nzud, do_recip ;
-    void *Symbolic, *Numeric ;
-
-    /* ---------------------------------------------------------------------- */
-    /* initializations */
-    /* ---------------------------------------------------------------------- */
-
-    umfpack_tic (t) ;
-
-    printf ("\n%s demo: _zi_ version\n", UMFPACK_VERSION) ;
-
-    /* get the default control parameters */
-    umfpack_zi_defaults (Control) ;
-
-    /* change the default print level for this demo */
-    /* (otherwise, nothing will print) */
-    Control [UMFPACK_PRL] = 6 ;
-
-    /* print the license agreement */
-    umfpack_zi_report_status (Control, UMFPACK_OK) ;
-    Control [UMFPACK_PRL] = 5 ;
-
-    /* print the control parameters */
-    umfpack_zi_report_control (Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* print A and b, and convert A to column-form */
-    /* ---------------------------------------------------------------------- */
-
-    /* print the right-hand-side */
-    printf ("\nb: ") ;
-    (void) umfpack_zi_report_vector (n, b, bz, Control) ;
-
-    /* print the triplet form of the matrix */
-    printf ("\nA: ") ;
-    (void) umfpack_zi_report_triplet (n, n, nz, Arow, Acol, Aval, Avalz,
-	Control) ;
-
-    /* convert to column form */
-    nz1 = MAX (nz,1) ;	/* ensure arrays are not of size zero. */
-    Ap = (int *) malloc ((n+1) * sizeof (int)) ;
-    Ai = (int *) malloc (nz1 * sizeof (int)) ;
-    Ax = (double *) malloc (nz1 * sizeof (double)) ;
-    Az = (double *) malloc (nz1 * sizeof (double)) ;
-    if (!Ap || !Ai || !Ax || !Az)
-    {
-	error ("out of memory") ;
-    }
-
-    status = umfpack_zi_triplet_to_col (n, n, nz, Arow, Acol, Aval, Avalz,
-	Ap, Ai, Ax, Az, (int *) NULL) ;
-
-    if (status < 0)
-    {
-	umfpack_zi_report_status (Control, status) ;
-	error ("umfpack_zi_triplet_to_col failed") ;
-    }
-
-    /* print the column-form of A */
-    printf ("\nA: ") ;
-    (void) umfpack_zi_report_matrix (n, n, Ap, Ai, Ax, Az, 1, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* symbolic factorization */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_zi_symbolic (n, n, Ap, Ai, Ax, Az, &Symbolic,
-	Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_zi_report_info (Control, Info) ;
-	umfpack_zi_report_status (Control, status) ;
-	error ("umfpack_zi_symbolic failed") ;
-    }
-
-    /* print the symbolic factorization */
-
-    printf ("\nSymbolic factorization of A: ") ;
-    (void) umfpack_zi_report_symbolic (Symbolic, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* numeric factorization */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_zi_numeric (Ap, Ai, Ax, Az, Symbolic, &Numeric,
-	Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_zi_report_info (Control, Info) ;
-	umfpack_zi_report_status (Control, status) ;
-	error ("umfpack_zi_numeric failed") ;
-    }
-
-    /* print the numeric factorization */
-    printf ("\nNumeric factorization of A: ") ;
-    (void) umfpack_zi_report_numeric (Numeric, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve Ax=b */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_zi_solve (UMFPACK_A, Ap, Ai, Ax, Az, x, xz, b, bz,
-	Numeric, Control, Info) ;
-    umfpack_zi_report_info (Control, Info) ;
-    umfpack_zi_report_status (Control, status) ;
-    if (status < 0)
-    {
-	error ("umfpack_zi_solve failed") ;
-    }
-    printf ("\nx (solution of Ax=b): ") ;
-    (void) umfpack_zi_report_vector (n, x, xz, Control) ;
-    rnorm = resid (FALSE, Ap, Ai, Ax, Az) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* compute the determinant */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_zi_get_determinant (x, xz, r, Numeric, Info) ;
-    umfpack_zi_report_status (Control, status) ;
-    if (status < 0)
-    {
-	error ("umfpack_zi_get_determinant failed") ;
-    }
-    printf ("determinant: (%g", x [0]) ;
-    printf ("+ (%g)i", xz [0]) ; /* complex */
-    printf (") * 10^(%g)\n", r [0]) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve Ax=b, broken down into steps */
-    /* ---------------------------------------------------------------------- */
-
-    /* Rb = R*b */
-    Rb  = (double *) malloc (n * sizeof (double)) ;
-    Rbz = (double *) malloc (n * sizeof (double)) ;
-    y   = (double *) malloc (n * sizeof (double)) ;
-    yz  = (double *) malloc (n * sizeof (double)) ;
-    if (!Rb || !y) error ("out of memory") ;
-    if (!Rbz || !yz) error ("out of memory") ;
-
-    status = umfpack_zi_scale (Rb, Rbz, b, bz, Numeric) ;
-    if (status < 0) error ("umfpack_zi_scale failed") ;
-    /* solve Ly = P*(Rb) */
-    status = umfpack_zi_solve (UMFPACK_Pt_L, Ap, Ai, Ax, Az, y, yz, Rb, Rbz,
-	Numeric, Control, Info) ;
-    if (status < 0) error ("umfpack_zi_solve failed") ;
-    /* solve UQ'x=y */
-    status = umfpack_zi_solve (UMFPACK_U_Qt, Ap, Ai, Ax, Az, x, xz, y, yz,
-	Numeric, Control, Info) ;
-    if (status < 0) error ("umfpack_zi_solve failed") ;
-    printf ("\nx (solution of Ax=b, solve is split into 3 steps): ") ;
-    (void) umfpack_zi_report_vector (n, x, xz, Control) ;
-    rnorm = resid (FALSE, Ap, Ai, Ax, Az) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    free (Rb) ;
-    free (Rbz) ;
-    free (y) ;
-    free (yz) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve A'x=b */
-    /* ---------------------------------------------------------------------- */
-
-    /* note that this is the complex conjugate transpose, A' */
-    status = umfpack_zi_solve (UMFPACK_At, Ap, Ai, Ax, Az, x, xz, b, bz,
-	Numeric, Control, Info) ;
-    umfpack_zi_report_info (Control, Info) ;
-    if (status < 0)
-    {
-	error ("umfpack_zi_solve failed") ;
-    }
-    printf ("\nx (solution of A'x=b): ") ;
-    (void) umfpack_zi_report_vector (n, x, xz, Control) ;
-    rnorm = resid (TRUE, Ap, Ai, Ax, Az) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* modify one numerical value in the column-form of A */
-    /* ---------------------------------------------------------------------- */
-
-    /* change A (1,4), look for row index 1 in column 4. */
-    row = 1 ;
-    col = 4 ;
-    for (p = Ap [col] ; p < Ap [col+1] ; p++)
-    {
-	if (row == Ai [p])
-	{
-	    printf ("\nchanging A (%d,%d) to zero\n", row, col) ;
-	    Ax [p] = 0.0 ;
-	    Az [p] = 0.0 ;
-	    break ;
-	}
-    }
-    printf ("\nmodified A: ") ;
-    (void) umfpack_zi_report_matrix (n, n, Ap, Ai, Ax, Az, 1, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* redo the numeric factorization */
-    /* ---------------------------------------------------------------------- */
-
-    /* The pattern (Ap and Ai) hasn't changed, so the symbolic factorization */
-    /* doesn't have to be redone, no matter how much we change Ax. */
-
-    /* We don't need the Numeric object any more, so free it. */
-    umfpack_zi_free_numeric (&Numeric) ;
-
-    /* Note that a memory leak would have occurred if the old Numeric */
-    /* had not been free'd with umfpack_zi_free_numeric above. */
-    status = umfpack_zi_numeric (Ap, Ai, Ax, Az, Symbolic, &Numeric,
-	Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_zi_report_info (Control, Info) ;
-	umfpack_zi_report_status (Control, status) ;
-	error ("umfpack_zi_numeric failed") ;
-    }
-    printf ("\nNumeric factorization of modified A: ") ;
-    (void) umfpack_zi_report_numeric (Numeric, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve Ax=b, with the modified A */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_zi_solve (UMFPACK_A, Ap, Ai, Ax, Az, x, xz, b, bz,
-	Numeric, Control, Info) ;
-    umfpack_zi_report_info (Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_zi_report_status (Control, status) ;
-	error ("umfpack_zi_solve failed") ;
-    }
-    printf ("\nx (with modified A): ") ;
-    (void) umfpack_zi_report_vector (n, x, xz, Control) ;
-    rnorm = resid (FALSE, Ap, Ai, Ax, Az) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* modify all of the numerical values of A, but not the pattern */
-    /* ---------------------------------------------------------------------- */
-
-    for (col = 0 ; col < n ; col++)
-    {
-	for (p = Ap [col] ; p < Ap [col+1] ; p++)
-	{
-	    row = Ai [p] ;
-	    printf ("changing ") ;
-	    /* complex: */ printf ("real part of ") ;
-	    printf ("A (%d,%d) from %g", row, col, Ax [p]) ;
-	    Ax [p] = Ax [p] + col*10 - row ;
-	    printf (" to %g\n", Ax [p]) ;
-	}
-    }
-    printf ("\ncompletely modified A (same pattern): ") ;
-    (void) umfpack_zi_report_matrix (n, n, Ap, Ai, Ax, Az, 1, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* save the Symbolic object to file, free it, and load it back in */
-    /* ---------------------------------------------------------------------- */
-
-    /* use the default filename, "symbolic.umf" */
-    printf ("\nSaving symbolic object:\n") ;
-    status = umfpack_zi_save_symbolic (Symbolic, (char *) NULL) ;
-    if (status < 0)
-    {
-	umfpack_zi_report_status (Control, status) ;
-	error ("umfpack_zi_save_symbolic failed") ;
-    }
-    printf ("\nFreeing symbolic object:\n") ;
-    umfpack_zi_free_symbolic (&Symbolic) ;
-    printf ("\nLoading symbolic object:\n") ;
-    status = umfpack_zi_load_symbolic (&Symbolic, (char *) NULL) ;
-    if (status < 0)
-    {
-	umfpack_zi_report_status (Control, status) ;
-	error ("umfpack_zi_load_symbolic failed") ;
-    }
-    printf ("\nDone loading symbolic object\n") ;
-
-    /* ---------------------------------------------------------------------- */
-    /* redo the numeric factorization */
-    /* ---------------------------------------------------------------------- */
-
-    umfpack_zi_free_numeric (&Numeric) ;
-    status = umfpack_zi_numeric (Ap, Ai, Ax, Az, Symbolic, &Numeric,
-	Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_zi_report_info (Control, Info) ;
-	umfpack_zi_report_status (Control, status) ;
-	error ("umfpack_zi_numeric failed") ;
-    }
-    printf ("\nNumeric factorization of completely modified A: ") ;
-    (void) umfpack_zi_report_numeric (Numeric, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve Ax=b, with the modified A */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_zi_solve (UMFPACK_A, Ap, Ai, Ax, Az, x, xz, b, bz,
-	Numeric, Control, Info) ;
-    umfpack_zi_report_info (Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_zi_report_status (Control, status) ;
-	error ("umfpack_zi_solve failed") ;
-    }
-    printf ("\nx (with completely modified A): ") ;
-    (void) umfpack_zi_report_vector (n, x, xz, Control) ;
-    rnorm = resid (FALSE, Ap, Ai, Ax, Az) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* free the symbolic and numeric factorization */
-    /* ---------------------------------------------------------------------- */
-
-    umfpack_zi_free_symbolic (&Symbolic) ;
-    umfpack_zi_free_numeric (&Numeric) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* C = transpose of A */
-    /* ---------------------------------------------------------------------- */
-
-    Cp = (int *) malloc ((n+1) * sizeof (int)) ;
-    Ci = (int *) malloc (nz1 * sizeof (int)) ;
-    Cx = (double *) malloc (nz1 * sizeof (double)) ;
-    Cz = (double *) malloc (nz1 * sizeof (double)) ;
-    if (!Cp || !Ci || !Cx || !Cz)
-    {
-	error ("out of memory") ;
-    }
-    status = umfpack_zi_transpose (n, n, Ap, Ai, Ax, Az,
-	(int *) NULL, (int *) NULL, Cp, Ci, Cx, Cz, TRUE) ;
-    if (status < 0)
-    {
-	umfpack_zi_report_status (Control, status) ;
-	error ("umfpack_zi_transpose failed: ") ;
-    }
-    printf ("\nC (transpose of A): ") ;
-    (void) umfpack_zi_report_matrix (n, n, Cp, Ci, Cx, Cz, 1, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* symbolic factorization of C */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_zi_symbolic (n, n, Cp, Ci, Cx, Cz, &Symbolic,
-	Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_zi_report_info (Control, Info) ;
-	umfpack_zi_report_status (Control, status) ;
-	error ("umfpack_zi_symbolic failed") ;
-    }
-    printf ("\nSymbolic factorization of C: ") ;
-    (void) umfpack_zi_report_symbolic (Symbolic, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* copy the contents of Symbolic into user arrays print them */
-    /* ---------------------------------------------------------------------- */
-
-    printf ("\nGet the contents of the Symbolic object for C:\n") ;
-    printf ("(compare with umfpack_zi_report_symbolic output, above)\n") ;
-    Pinit = (int *) malloc ((n+1) * sizeof (int)) ;
-    Qinit = (int *) malloc ((n+1) * sizeof (int)) ;
-    Front_npivcol = (int *) malloc ((n+1) * sizeof (int)) ;
-    Front_1strow = (int *) malloc ((n+1) * sizeof (int)) ;
-    Front_leftmostdesc = (int *) malloc ((n+1) * sizeof (int)) ;
-    Front_parent = (int *) malloc ((n+1) * sizeof (int)) ;
-    Chain_start = (int *) malloc ((n+1) * sizeof (int)) ;
-    Chain_maxrows = (int *) malloc ((n+1) * sizeof (int)) ;
-    Chain_maxcols = (int *) malloc ((n+1) * sizeof (int)) ;
-    if (!Pinit || !Qinit || !Front_npivcol || !Front_parent || !Chain_start ||
-	!Chain_maxrows || !Chain_maxcols || !Front_1strow ||
-	!Front_leftmostdesc)
-    {
-	error ("out of memory") ;
-    }
-
-    status = umfpack_zi_get_symbolic (&nr, &nc, &n1, &anz, &nfr, &nchains,
-	Pinit, Qinit, Front_npivcol, Front_parent, Front_1strow,
-	Front_leftmostdesc, Chain_start, Chain_maxrows, Chain_maxcols,
-	Symbolic) ;
-
-    if (status < 0)
-    {
-	error ("symbolic factorization invalid") ;
-    }
-
-    printf ("From the Symbolic object, C is of dimension %d-by-%d\n", nr, nc);
-    printf ("   with nz = %d, number of fronts = %d,\n", nz, nfr) ;
-    printf ("   number of frontal matrix chains = %d\n", nchains) ;
-
-    printf ("\nPivot columns in each front, and parent of each front:\n") ;
-    k = 0 ;
-    for (i = 0 ; i < nfr ; i++)
-    {
-	fnpiv = Front_npivcol [i] ;
-	printf ("    Front %d: parent front: %d number of pivot cols: %d\n",
-		i, Front_parent [i], fnpiv) ;
-	for (j = 0 ; j < fnpiv ; j++)
-	{
-	    col = Qinit [k] ;
-	    printf (
-	    "        %d-th pivot column is column %d in original matrix\n",
-		k, col) ;
-	    k++ ;
-	}
-    }
-
-    printf ("\nNote that the column ordering, above, will be refined\n") ;
-    printf ("in the numeric factorization below.  The assignment of pivot\n") ;
-    printf ("columns to frontal matrices will always remain unchanged.\n") ;
-
-    printf ("\nTotal number of pivot columns in frontal matrices: %d\n", k) ;
-
-    printf ("\nFrontal matrix chains:\n") ;
-    for (j = 0 ; j < nchains ; j++)
-    {
-	printf ("   Frontal matrices %d to %d are factorized in a single\n",
-	    Chain_start [j], Chain_start [j+1] - 1) ;
-	printf ("        working array of size %d-by-%d\n",
-	    Chain_maxrows [j], Chain_maxcols [j]) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* numeric factorization of C */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_zi_numeric (Cp, Ci, Cx, Cz, Symbolic, &Numeric,
-	Control, Info) ;
-    if (status < 0)
-    {
-	error ("umfpack_zi_numeric failed") ;
-    }
-    printf ("\nNumeric factorization of C: ") ;
-    (void) umfpack_zi_report_numeric (Numeric, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* extract the LU factors of C and print them */
-    /* ---------------------------------------------------------------------- */
-
-    if (umfpack_zi_get_lunz (&lnz, &unz, &nr, &nc, &nzud, Numeric) < 0)
-    {
-	error ("umfpack_zi_get_lunz failed") ;
-    }
-    /* ensure arrays are not of zero size */
-    lnz1 = MAX (lnz,1) ;
-    unz1 = MAX (unz,1) ;
-    Lp = (int *) malloc ((n+1) * sizeof (int)) ;
-    Lj = (int *) malloc (lnz1 * sizeof (int)) ;
-    Lx = (double *) malloc (lnz1 * sizeof (double)) ;
-    Lz = (double *) malloc (lnz1 * sizeof (double)) ;
-    Up = (int *) malloc ((n+1) * sizeof (int)) ;
-    Ui = (int *) malloc (unz1 * sizeof (int)) ;
-    Ux = (double *) malloc (unz1 * sizeof (double)) ;
-    Uz = (double *) malloc (unz1 * sizeof (double)) ;
-    P = (int *) malloc (n * sizeof (int)) ;
-    Q = (int *) malloc (n * sizeof (int)) ;
-    Dx = (double *) NULL ;	/* D vector not requested */
-    Dz = (double *) NULL ;
-    Rs  = (double *) malloc (n * sizeof (double)) ;
-    if (!Lp || !Lj || !Lx || !Lz || !Up || !Ui || !Ux || !Uz || !P || !Q || !Rs)
-    {
-	error ("out of memory") ;
-    }
-    status = umfpack_zi_get_numeric (Lp, Lj, Lx, Lz, Up, Ui, Ux, Uz,
-	P, Q, Dx, Dz, &do_recip, Rs, Numeric) ;
-    if (status < 0)
-    {
-	error ("umfpack_zi_get_numeric failed") ;
-    }
-
-    printf ("\nL (lower triangular factor of C): ") ;
-    (void) umfpack_zi_report_matrix (n, n, Lp, Lj, Lx, Lz, 0, Control) ;
-    printf ("\nU (upper triangular factor of C): ") ;
-    (void) umfpack_zi_report_matrix (n, n, Up, Ui, Ux, Uz, 1, Control) ;
-    printf ("\nP: ") ;
-    (void) umfpack_zi_report_perm (n, P, Control) ;
-    printf ("\nQ: ") ;
-    (void) umfpack_zi_report_perm (n, Q, Control) ;
-    printf ("\nScale factors: row i of A is to be ") ;
-    if (do_recip)
-    {
-	printf ("multiplied by the ith scale factor\n") ;
-    }
-    else
-    {
-	printf ("divided by the ith scale factor\n") ;
-    }
-    for (i = 0 ; i < n ; i++) printf ("%d: %g\n", i, Rs [i]) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* convert L to triplet form and print it */
-    /* ---------------------------------------------------------------------- */
-
-    /* Note that L is in row-form, so it is the row indices that are created */
-    /* by umfpack_zi_col_to_triplet. */
-
-    printf ("\nConverting L to triplet form, and printing it:\n") ;
-    Li = (int *) malloc (lnz1 * sizeof (int)) ;
-    if (!Li)
-    {
-	error ("out of memory") ;
-    }
-    if (umfpack_zi_col_to_triplet (n, Lp, Li) < 0)
-    {
-	error ("umfpack_zi_col_to_triplet failed") ;
-    }
-    printf ("\nL, in triplet form: ") ;
-    (void) umfpack_zi_report_triplet (n, n, lnz, Li, Lj, Lx, Lz, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* save the Numeric object to file, free it, and load it back in */
-    /* ---------------------------------------------------------------------- */
-
-    /* use the default filename, "numeric.umf" */
-    printf ("\nSaving numeric object:\n") ;
-    status = umfpack_zi_save_numeric (Numeric, (char *) NULL) ;
-    if (status < 0)
-    {
-	umfpack_zi_report_status (Control, status) ;
-	error ("umfpack_zi_save_numeric failed") ;
-    }
-    printf ("\nFreeing numeric object:\n") ;
-    umfpack_zi_free_numeric (&Numeric) ;
-    printf ("\nLoading numeric object:\n") ;
-    status = umfpack_zi_load_numeric (&Numeric, (char *) NULL) ;
-    if (status < 0)
-    {
-	umfpack_zi_report_status (Control, status) ;
-	error ("umfpack_zi_load_numeric failed") ;
-    }
-    printf ("\nDone loading numeric object\n") ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve C'x=b */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_zi_solve (UMFPACK_At, Cp, Ci, Cx, Cz, x, xz, b, bz,
-	Numeric, Control, Info) ;
-    umfpack_zi_report_info (Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_zi_report_status (Control, status) ;
-	error ("umfpack_zi_solve failed") ;
-    }
-    printf ("\nx (solution of C'x=b): ") ;
-    (void) umfpack_zi_report_vector (n, x, xz, Control) ;
-    rnorm = resid (TRUE, Cp, Ci, Cx, Cz) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve C'x=b again, using umfpack_zi_wsolve instead */
-    /* ---------------------------------------------------------------------- */
-
-    printf ("\nSolving C'x=b again, using umfpack_zi_wsolve instead:\n") ;
-    Wi = (int *) malloc (n * sizeof (int)) ;
-    W = (double *) malloc (10*n * sizeof (double)) ;
-    if (!Wi || !W)
-    {
-	error ("out of memory") ;
-    }
-
-    status = umfpack_zi_wsolve (UMFPACK_At, Cp, Ci, Cx, Cz, x, xz, b, bz,
-	Numeric, Control, Info, Wi, W) ;
-    umfpack_zi_report_info (Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_zi_report_status (Control, status) ;
-	error ("umfpack_zi_wsolve failed") ;
-    }
-    printf ("\nx (solution of C'x=b): ") ;
-    (void) umfpack_zi_report_vector (n, x, xz, Control) ;
-    rnorm = resid (TRUE, Cp, Ci, Cx, Cz) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* free everything */
-    /* ---------------------------------------------------------------------- */
-
-    /* This is not strictly required since the process is exiting and the */
-    /* system will reclaim the memory anyway.  It's useful, though, just as */
-    /* a list of what is currently malloc'ed by this program.  Plus, it's */
-    /* always a good habit to explicitly free whatever you malloc. */
-
-    free (Ap) ;
-    free (Ai) ;
-    free (Ax) ;
-    free (Az) ;
-
-    free (Cp) ;
-    free (Ci) ;
-    free (Cx) ;
-    free (Cz) ;
-
-    free (Pinit) ;
-    free (Qinit) ;
-    free (Front_npivcol) ;
-    free (Front_1strow) ;
-    free (Front_leftmostdesc) ;
-    free (Front_parent) ;
-    free (Chain_start) ;
-    free (Chain_maxrows) ;
-    free (Chain_maxcols) ;
-
-    free (Lp) ;
-    free (Lj) ;
-    free (Lx) ;
-    free (Lz) ;
-
-    free (Up) ;
-    free (Ui) ;
-    free (Ux) ;
-    free (Uz) ;
-
-    free (P) ;
-    free (Q) ;
-
-    free (Li) ;
-
-    free (Wi) ;
-    free (W) ;
-
-    umfpack_zi_free_symbolic (&Symbolic) ;
-    umfpack_zi_free_numeric (&Numeric) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* print the total time spent in this demo */
-    /* ---------------------------------------------------------------------- */
-
-    umfpack_toc (t) ;
-    printf ("\numfpack_zi_demo complete.\nTotal time: %5.2f seconds"
-	" (CPU time), %5.2f seconds (wallclock time)\n", t [1], t [0]) ;
-    return (0) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Demo/umfpack_zi_demo.out	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1542 +0,0 @@
-
-UMFPACK V4.4 (Jan. 28, 2005) demo: _zi_ version
-
-UMFPACK:  Copyright (c) 2005 by Timothy A. Davis.  All Rights Reserved.
-
-
-UMFPACK License:
-
-   Your use or distribution of UMFPACK or any modified version of
-   UMFPACK implies that you agree to this License.
-
-   THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
-   EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
-
-   Permission is hereby granted to use or copy this program, provided
-   that the Copyright, this License, and the Availability of the original
-   version is retained on all copies.  User documentation of any code that
-   uses UMFPACK or any modified version of UMFPACK code must cite the
-   Copyright, this License, the Availability note, and "Used by permission."
-   Permission to modify the code and to distribute modified code is granted,
-   provided the Copyright, this License, and the Availability note are
-   retained, and a notice that the code was modified is included.  This
-   software was developed with support from the National Science Foundation,
-   and is provided to you free of charge.
-
-Availability: http://www.cise.ufl.edu/research/sparse/umfpack
-
-UMFPACK V4.4 (Jan. 28, 2005): OK
-
-
-UMFPACK V4.4 (Jan. 28, 2005), Control:
-
-    Matrix entry defined as: double complex
-    Int (generic integer) defined as: int
-
-    0: print level: 5
-    1: dense row parameter:    0.2
-        "dense" rows have    > max (16, (0.2)*16*sqrt(n_col) entries)
-    2: dense column parameter: 0.2
-        "dense" columns have > max (16, (0.2)*16*sqrt(n_row) entries)
-    3: pivot tolerance: 0.1
-    4: block size for dense matrix kernels: 32
-    5: strategy: 0 (auto)
-    6: initial allocation ratio: 0.7
-    7: max iterative refinement steps: 2
-    12: 2-by-2 pivot tolerance: 0.01
-    13: Q fixed during numerical factorization: 0 (auto)
-    14: AMD dense row/col parameter:    10
-       "dense" rows/columns have > max (16, (10)*sqrt(n)) entries
-        Only used if the AMD ordering is used.
-    15: diagonal pivot tolerance: 0.001
-        Only used if diagonal pivoting is attempted.
-    16: scaling: 1 (divide each row by sum of abs. values in each row)
-    17: frontal matrix allocation ratio: 0.5
-    18: drop tolerance: 0
-    19: AMD and COLAMD aggressive absorption: 1 (yes)
-
-    The following options can only be changed at compile-time:
-    8: BLAS library used:  none.  UMFPACK will be slow.
-    9: compiled for ANSI C (uses malloc, free, realloc, and printf)
-    10: CPU timer is POSIX times ( ) routine.
-    11: compiled for normal operation (debugging disabled)
-    computer/operating system: Linux
-    size of int: 4 long: 4 Int: 4 pointer: 4 double: 8 Entry: 16 (in bytes)
-
-
-b: dense vector, n = 5. 
-    0 : (8 + 1i)
-    1 : (45 - 5i)
-    2 : (-3 - 2i)
-    3 : (3 + 0i)
-    4 : (19 + 2.2i)
-    dense vector OK
-
-
-A: triplet-form matrix, n_row = 5, n_col = 5 nz = 12. 
-    0 : 0 0  (2 + 1i)
-    1 : 4 4  (1 + 0.4i)
-    2 : 1 0  (3 + 0.1i)
-    3 : 1 2  (4 + 0.2i)
-    4 : 2 1  (-1 - 1i)
-    5 : 2 2  (-3 - 0.2i)
-    6 : 0 1  (3 + 0i)
-    7 : 1 4  (6 + 6i)
-    8 : 2 3  (2 + 3i)
-    9 : 3 2  (1 + 0i)
-    10 : 4 1  (4 + 0.3i)
-    11 : 4 2  (2 + 0.3i)
-    triplet-form matrix OK
-
-
-A: column-form matrix, n_row 5 n_col 5, nz = 12. 
-
-    column 0: start: 0 end: 1 entries: 2
-	row 0 : (2 + 1i)
-	row 1 : (3 + 0.1i)
-
-    column 1: start: 2 end: 4 entries: 3
-	row 0 : (3 + 0i)
-	row 2 : (-1 - 1i)
-	row 4 : (4 + 0.3i)
-
-    column 2: start: 5 end: 8 entries: 4
-	row 1 : (4 + 0.2i)
-	row 2 : (-3 - 0.2i)
-	row 3 : (1 + 0i)
-	row 4 : (2 + 0.3i)
-
-    column 3: start: 9 end: 9 entries: 1
-	row 2 : (2 + 3i)
-
-    column 4: start: 10 end: 11 entries: 2
-	row 1 : (6 + 6i)
-	row 4 : (1 + 0.4i)
-    column-form matrix OK
-
-
-Symbolic factorization of A: Symbolic object: 
-    matrix to be factorized:
-	n_row: 5 n_col: 5
-	number of entries: 12
-    block size used for dense matrix kernels:   32
-    strategy used:                              unsymmetric
-    ordering used:                              colamd on A
-
-    performn column etree postorder:            yes
-    prefer diagonal pivoting (attempt P=Q):     no
-    variable-size part of Numeric object:
-	minimum initial size (Units): 84  (MBytes): 0.0
-	estimated peak size (Units):  2542  (MBytes): 0.0
-	estimated final size (Units): 25  (MBytes): 0.0
-    symbolic factorization memory usage (Units): 144  (MBytes): 0.0
-    frontal matrices / supercolumns:
-	number of frontal chains: 1
-	number of frontal matrices: 1
-	largest frontal matrix row dimension: 3
-	largest frontal matrix column dimension: 3
-
-    Frontal chain: 0.  Frontal matrices 0 to 0
-	Largest frontal matrix in Frontal chain: 3-by-3
-	Front: 0  pivot cols: 3 (pivot columns 0 to 2)
-	    pivot row candidates: 2 to 4
-	    leftmost descendant: 0
-	    1st new candidate row : 2
-	    parent: (none)
-
-Initial column permutation, Q1: permutation vector, n = 5. 
-    0 : 3 
-    1 : 2 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-Initial row permutation, P1: permutation vector, n = 5. 
-    0 : 2 
-    1 : 3 
-    2 : 0 
-    3 : 1 
-    4 : 4 
-    permutation vector OK
-
-    Symbolic object:  OK
-
-
-Numeric factorization of A: Numeric object:  
-    n_row: 5  n_col: 5
-    relative pivot tolerance used:              0.1
-    relative symmetric pivot tolerance used:    0.001
-    matrix scaled: yes (divided each row by sum abs value in each row)
-    minimum sum (abs (rows of A)):              1.00000e+00
-    maximum sum (abs (rows of A)):              1.93000e+01
-    initial allocation parameter used:          0.7
-    frontal matrix allocation parameter used:   0.5
-    final total size of Numeric object (Units): 99
-    final total size of Numeric object (MBytes): 0.0
-    peak size of variable-size part (Units):    2527
-    peak size of variable-size part (MBytes):   0.0
-    largest actual frontal matrix size:         4
-    memory defragmentations:                    1
-    memory reallocations:                       1
-    costly memory reallocations:                0
-    entries in compressed pattern (L and U):    2
-    number of nonzeros in L (excl diag):        4
-    number of entries stored in L (excl diag):  2
-    number of nonzeros in U (excl diag):        4
-    number of entries stored in U (excl diag):  2
-    factorization floating-point operations:    34
-    number of nonzeros on diagonal of U:        5
-    min abs. value on diagonal of U:            1.34629e-01
-    max abs. value on diagonal of U:            1.77313e+00
-    reciprocal condition number estimate:       7.59e-02
-
-Scale factors applied via multiplication
-Scale factors, Rs: dense vector, n = 5. 
-    0 : (0.166667)
-    1 : (0.0518135)
-    2 : (0.0980392)
-    3 : (1)
-    4 : (0.125)
-    dense vector OK
-
-
-P: row permutation vector, n = 5. 
-    0 : 2 
-    1 : 3 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-Q: column permutation vector, n = 5. 
-    0 : 3 
-    1 : 2 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-L in Numeric object, in column-oriented compressed-pattern form:
-    Diagonal entries are all equal to 1.0 (not stored)
-
-    column 0:  length 0.
-
-    column 1:  length 2.
-	row 4 :  (0.207254 + 0.0103627i)
-	row 3 :  (0.25 + 0.0375i)
-
-    column 2:  add 1 entries.  length 1.  Start of Lchain.
-	row 4 :  (0.379275 - 0.174093i)
-
-    column 3:  length 1.
-	row 4 :  (3.00161 + 1.2864i)
-
-    column 4:  length 0.  Start of Lchain.
-
-
-U in Numeric object, in row-oriented compressed-pattern form:
-    Diagonal is stored separately.
-
-    row 4:  length 0.  End of Uchain.
-
-    row 3:  length 1.  End of Uchain.
-	col 4 : (0.5 + 0.0375i)
-
-    row 2:  length 1.
-	col 4 : (0.5 + 0i)
-
-    row 1:  length 0.  End of Uchain.
-
-    row 1:  length 0.
-
-    row 0:  length 2.
-	col 1 :  (-0.294118 - 0.0196078i)
-	col 4 :  (-0.0980392 - 0.0980392i)
-
-
-diagonal of U: dense vector, n = 5. 
-    0 : (0.196078 + 0.294118i)
-    1 : (1 + 0i)
-    2 : (0.333333 + 0.166667i)
-    3 : (0.125 + 0.05i)
-    4 : (-1.6422 - 0.668715i)
-    dense vector OK
-
-    Numeric object:  OK
-
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double complex
-    Int (generic integer) defined as: int
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       5
-    number of columns in matrix A:    5
-    entries in matrix A:              12
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          16 bytes
-
-    strategy used:                    unsymmetric
-    ordering used:                    colamd on A
-    modify Q during factorization:    yes
-    prefer diagonal pivoting:         no
-    pivots with zero Markowitz cost:               2
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    0
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    3
-        symmetry of nonzero pattern:               1.000000
-        nz in S+S' (excl. diagonal):               4
-        nz on diagonal of matrix S:                2
-        fraction of nz on diagonal:                0.666667
-    2-by-2 pivoting to place large entries on diagonal:
-        # of small diagonal entries of S:          1
-        # unmatched:                               0
-        symmetry of P2*S:                          0.000000
-        nz in P2*S+(P2*S)' (excl. diag.):          6
-        nz on diagonal of P2*S:                    3
-        fraction of nz on diag of P2*S:            1.000000
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 144
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         45
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    matrix scaled: yes (divided each row by sum of abs values in each row)
-    minimum sum (abs (rows of A)):              1.00000e+00
-    maximum sum (abs (rows of A)):              1.93000e+01
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                      84                   79    94%
-        peak size (Units)                       2542                 2527    99%
-        final size (Units)                        25                   21    84%
-    Numeric final size (Units)                   106                  100    94%
-    Numeric final size (MBytes)                  0.0                  0.0    94%
-    peak memory usage (Units)                   2737                 2722    99%
-    peak memory usage (MBytes)                   0.0                  0.0    99%
-    numeric factorization flops          6.70000e+01          3.40000e+01    51%
-    nz in L (incl diagonal)                       10                    9    90%
-    nz in U (incl diagonal)                       10                    9    90%
-    nz in L+U (incl diagonal)                     15                   13    87%
-    largest front (# entries)                      9                    4    44%
-    largest # rows in front                        3                    2    67%
-    largest # columns in front                     3                    2    67%
-
-    initial allocation ratio used:                 0.7
-    # of forced updates due to frontal growth:     0
-    nz in L (incl diagonal), if none dropped       9
-    nz in U (incl diagonal), if none dropped       9
-    number of small entries dropped                0
-    nonzeros on diagonal of U:                     5
-    min abs. value on diagonal of U:               1.35e-01
-    max abs. value on diagonal of U:               1.77e+00
-    estimate of reciprocal of condition number:    7.59e-02
-    indices in compressed pattern:                 2
-    numerical values stored in Numeric object:     9
-    numeric factorization defragmentations:        1
-    numeric factorization reallocations:           1
-    costly numeric factorization reallocations:    0
-    numeric factorization CPU time (sec):          0.00
-    numeric factorization wallclock time (sec):    0.00
-    symbolic + numeric CPU time (sec):             0.00
-    symbolic + numeric wall clock time (sec):      0.00
-
-    solve flops:                                   5.23000e+02
-    iterative refinement steps taken:              0
-    iterative refinement steps attempted:          0
-    sparse backward error omega1:                  7.87e-17
-    sparse backward error omega2:                  0.00e+00
-    solve CPU time (sec):                          0.00
-    solve wall clock time (sec):                   0.00
-
-    total symbolic + numeric + solve flops:        5.57000e+02
-    total symbolic + numeric + solve CPU time:     0.00
-    total symbolic+numeric+solve wall clock time:  0.00
-
-
-UMFPACK:  Copyright (c) 2005 by Timothy A. Davis.  All Rights Reserved.
-
-UMFPACK V4.4 (Jan. 28, 2005): OK
-
-
-x (solution of Ax=b): dense vector, n = 5. 
-    0 : (0.121188 - 0.561001i)
-    1 : (2.39887 + 0.666938i)
-    2 : (3 + 0i)
-    3 : (1.57395 - 1.52801i)
-    4 : (2.3876 - 3.04245i)
-    dense vector OK
-
-maxnorm of residual: 6.21725e-15
-
-
-UMFPACK:  Copyright (c) 2005 by Timothy A. Davis.  All Rights Reserved.
-
-UMFPACK V4.4 (Jan. 28, 2005): OK
-
-determinant: (-1.7814+ (2.3784)i) * 10^(2)
-
-x (solution of Ax=b, solve is split into 3 steps): dense vector, n = 5. 
-    0 : (0.121188 - 0.561001i)
-    1 : (2.39887 + 0.666938i)
-    2 : (3 + 0i)
-    3 : (1.57395 - 1.52801i)
-    4 : (2.3876 - 3.04245i)
-    dense vector OK
-
-maxnorm of residual: 6.21725e-15
-
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double complex
-    Int (generic integer) defined as: int
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       5
-    number of columns in matrix A:    5
-    entries in matrix A:              12
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          16 bytes
-
-    strategy used:                    unsymmetric
-    ordering used:                    colamd on A
-    modify Q during factorization:    yes
-    prefer diagonal pivoting:         no
-    pivots with zero Markowitz cost:               2
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    0
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    3
-        symmetry of nonzero pattern:               1.000000
-        nz in S+S' (excl. diagonal):               4
-        nz on diagonal of matrix S:                2
-        fraction of nz on diagonal:                0.666667
-    2-by-2 pivoting to place large entries on diagonal:
-        # of small diagonal entries of S:          1
-        # unmatched:                               0
-        symmetry of P2*S:                          0.000000
-        nz in P2*S+(P2*S)' (excl. diag.):          6
-        nz on diagonal of P2*S:                    3
-        fraction of nz on diag of P2*S:            1.000000
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 144
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         45
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    matrix scaled: yes (divided each row by sum of abs values in each row)
-    minimum sum (abs (rows of A)):              1.00000e+00
-    maximum sum (abs (rows of A)):              1.93000e+01
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                      84                   79    94%
-        peak size (Units)                       2542                 2527    99%
-        final size (Units)                        25                   21    84%
-    Numeric final size (Units)                   106                  100    94%
-    Numeric final size (MBytes)                  0.0                  0.0    94%
-    peak memory usage (Units)                   2737                 2722    99%
-    peak memory usage (MBytes)                   0.0                  0.0    99%
-    numeric factorization flops          6.70000e+01          3.40000e+01    51%
-    nz in L (incl diagonal)                       10                    9    90%
-    nz in U (incl diagonal)                       10                    9    90%
-    nz in L+U (incl diagonal)                     15                   13    87%
-    largest front (# entries)                      9                    4    44%
-    largest # rows in front                        3                    2    67%
-    largest # columns in front                     3                    2    67%
-
-    initial allocation ratio used:                 0.7
-    # of forced updates due to frontal growth:     0
-    nz in L (incl diagonal), if none dropped       9
-    nz in U (incl diagonal), if none dropped       9
-    number of small entries dropped                0
-    nonzeros on diagonal of U:                     5
-    min abs. value on diagonal of U:               1.35e-01
-    max abs. value on diagonal of U:               1.77e+00
-    estimate of reciprocal of condition number:    7.59e-02
-    indices in compressed pattern:                 2
-    numerical values stored in Numeric object:     9
-    numeric factorization defragmentations:        1
-    numeric factorization reallocations:           1
-    costly numeric factorization reallocations:    0
-    numeric factorization CPU time (sec):          0.00
-    numeric factorization wallclock time (sec):    0.00
-    symbolic + numeric CPU time (sec):             0.00
-    symbolic + numeric wall clock time (sec):      0.00
-
-    solve flops:                                   4.80000e+02
-    iterative refinement steps taken:              0
-    iterative refinement steps attempted:          0
-    sparse backward error omega1:                  6.06e-17
-    sparse backward error omega2:                  0.00e+00
-    solve CPU time (sec):                          0.00
-    solve wall clock time (sec):                   0.00
-
-    total symbolic + numeric + solve flops:        5.14000e+02
-    total symbolic + numeric + solve CPU time:     0.00
-    total symbolic+numeric+solve wall clock time:  0.00
-
-
-x (solution of A'x=b): dense vector, n = 5. 
-    0 : (3.39246 + 0.13257i)
-    1 : (0.31463 + 1.38626i)
-    2 : (0.461538 + 0.692308i)
-    3 : (-20.9089 - 1.55801i)
-    4 : (9.04015 - 0.613724i)
-    dense vector OK
-
-maxnorm of residual: 7.68703e-15
-
-
-changing A (1,4) to zero
-
-modified A: column-form matrix, n_row 5 n_col 5, nz = 12. 
-
-    column 0: start: 0 end: 1 entries: 2
-	row 0 : (2 + 1i)
-	row 1 : (3 + 0.1i)
-
-    column 1: start: 2 end: 4 entries: 3
-	row 0 : (3 + 0i)
-	row 2 : (-1 - 1i)
-	row 4 : (4 + 0.3i)
-
-    column 2: start: 5 end: 8 entries: 4
-	row 1 : (4 + 0.2i)
-	row 2 : (-3 - 0.2i)
-	row 3 : (1 + 0i)
-	row 4 : (2 + 0.3i)
-
-    column 3: start: 9 end: 9 entries: 1
-	row 2 : (2 + 3i)
-
-    column 4: start: 10 end: 11 entries: 2
-	row 1 : (0 + 0i)
-	row 4 : (1 + 0.4i)
-    column-form matrix OK
-
-
-Numeric factorization of modified A: Numeric object:  
-    n_row: 5  n_col: 5
-    relative pivot tolerance used:              0.1
-    relative symmetric pivot tolerance used:    0.001
-    matrix scaled: yes (divided each row by sum abs value in each row)
-    minimum sum (abs (rows of A)):              1.00000e+00
-    maximum sum (abs (rows of A)):              1.02000e+01
-    initial allocation parameter used:          0.7
-    frontal matrix allocation parameter used:   0.5
-    final total size of Numeric object (Units): 97
-    final total size of Numeric object (MBytes): 0.0
-    peak size of variable-size part (Units):    2527
-    peak size of variable-size part (MBytes):   0.0
-    largest actual frontal matrix size:         4
-    memory defragmentations:                    1
-    memory reallocations:                       1
-    costly memory reallocations:                0
-    entries in compressed pattern (L and U):    2
-    number of nonzeros in L (excl diag):        3
-    number of entries stored in L (excl diag):  1
-    number of nonzeros in U (excl diag):        4
-    number of entries stored in U (excl diag):  2
-    factorization floating-point operations:    17
-    number of nonzeros on diagonal of U:        5
-    min abs. value on diagonal of U:            1.34629e-01
-    max abs. value on diagonal of U:            1.00000e+00
-    reciprocal condition number estimate:       1.35e-01
-
-Scale factors applied via multiplication
-Scale factors, Rs: dense vector, n = 5. 
-    0 : (0.166667)
-    1 : (0.136986)
-    2 : (0.0980392)
-    3 : (1)
-    4 : (0.125)
-    dense vector OK
-
-
-P: row permutation vector, n = 5. 
-    0 : 2 
-    1 : 3 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-Q: column permutation vector, n = 5. 
-    0 : 3 
-    1 : 2 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-L in Numeric object, in column-oriented compressed-pattern form:
-    Diagonal entries are all equal to 1.0 (not stored)
-
-    column 0:  length 0.
-
-    column 1:  length 2.
-	row 4 :  (0.547945 + 0.0273973i)
-	row 3 :  (0.25 + 0.0375i)
-
-    column 2:  add 1 entries.  length 1.  Start of Lchain.
-	row 4 :  (1.00274 - 0.460274i)
-
-    column 3:  length 0.  Start of Lchain.
-
-    column 4:  length 0.  Start of Lchain.
-
-
-U in Numeric object, in row-oriented compressed-pattern form:
-    Diagonal is stored separately.
-
-    row 4:  length 0.  End of Uchain.
-
-    row 3:  length 1.  End of Uchain.
-	col 4 : (0.5 + 0.0375i)
-
-    row 2:  length 1.
-	col 4 : (0.5 + 0i)
-
-    row 1:  length 0.  End of Uchain.
-
-    row 1:  length 0.
-
-    row 0:  length 2.
-	col 1 :  (-0.294118 - 0.0196078i)
-	col 4 :  (-0.0980392 - 0.0980392i)
-
-
-diagonal of U: dense vector, n = 5. 
-    0 : (0.196078 + 0.294118i)
-    1 : (1 + 0i)
-    2 : (0.333333 + 0.166667i)
-    3 : (0.125 + 0.05i)
-    4 : (-0.50137 + 0.230137i)
-    dense vector OK
-
-    Numeric object:  OK
-
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double complex
-    Int (generic integer) defined as: int
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       5
-    number of columns in matrix A:    5
-    entries in matrix A:              12
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          16 bytes
-
-    strategy used:                    unsymmetric
-    ordering used:                    colamd on A
-    modify Q during factorization:    yes
-    prefer diagonal pivoting:         no
-    pivots with zero Markowitz cost:               2
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    0
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    3
-        symmetry of nonzero pattern:               1.000000
-        nz in S+S' (excl. diagonal):               4
-        nz on diagonal of matrix S:                2
-        fraction of nz on diagonal:                0.666667
-    2-by-2 pivoting to place large entries on diagonal:
-        # of small diagonal entries of S:          1
-        # unmatched:                               0
-        symmetry of P2*S:                          0.000000
-        nz in P2*S+(P2*S)' (excl. diag.):          6
-        nz on diagonal of P2*S:                    3
-        fraction of nz on diag of P2*S:            1.000000
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 144
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         45
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    matrix scaled: yes (divided each row by sum of abs values in each row)
-    minimum sum (abs (rows of A)):              1.00000e+00
-    maximum sum (abs (rows of A)):              1.02000e+01
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                      84                   79    94%
-        peak size (Units)                       2542                 2527    99%
-        final size (Units)                        25                   19    76%
-    Numeric final size (Units)                   106                   98    92%
-    Numeric final size (MBytes)                  0.0                  0.0    92%
-    peak memory usage (Units)                   2737                 2722    99%
-    peak memory usage (MBytes)                   0.0                  0.0    99%
-    numeric factorization flops          6.70000e+01          1.70000e+01    25%
-    nz in L (incl diagonal)                       10                    8    80%
-    nz in U (incl diagonal)                       10                    9    90%
-    nz in L+U (incl diagonal)                     15                   12    80%
-    largest front (# entries)                      9                    4    44%
-    largest # rows in front                        3                    2    67%
-    largest # columns in front                     3                    2    67%
-
-    initial allocation ratio used:                 0.7
-    # of forced updates due to frontal growth:     0
-    nz in L (incl diagonal), if none dropped       8
-    nz in U (incl diagonal), if none dropped       9
-    number of small entries dropped                0
-    nonzeros on diagonal of U:                     5
-    min abs. value on diagonal of U:               1.35e-01
-    max abs. value on diagonal of U:               1.00e+00
-    estimate of reciprocal of condition number:    1.35e-01
-    indices in compressed pattern:                 2
-    numerical values stored in Numeric object:     8
-    numeric factorization defragmentations:        1
-    numeric factorization reallocations:           1
-    costly numeric factorization reallocations:    0
-    numeric factorization CPU time (sec):          0.00
-    numeric factorization wallclock time (sec):    0.00
-    symbolic + numeric CPU time (sec):             0.00
-    symbolic + numeric wall clock time (sec):      0.00
-
-    solve flops:                                   5.15000e+02
-    iterative refinement steps taken:              0
-    iterative refinement steps attempted:          0
-    sparse backward error omega1:                  7.33e-17
-    sparse backward error omega2:                  0.00e+00
-    solve CPU time (sec):                          0.00
-    solve wall clock time (sec):                   0.01
-    solve mflops (wall clock time):                0.05
-
-    total symbolic + numeric + solve flops:        5.32000e+02
-    total symbolic + numeric + solve CPU time:     0.00
-    total symbolic+numeric+solve wall clock time:  0.00
-
-
-x (with modified A): dense vector, n = 5. 
-    0 : (10.9256 - 2.23085i)
-    1 : (-5.36071 - 1.82131i)
-    2 : (3 + 0i)
-    3 : (-1.60191 - 1.88814i)
-    4 : (32.7361 - 2.90097i)
-    dense vector OK
-
-maxnorm of residual: 3.9968e-15
-
-changing real part of A (0,0) from 2 to 2
-changing real part of A (1,0) from 3 to 2
-changing real part of A (0,1) from 3 to 13
-changing real part of A (2,1) from -1 to 7
-changing real part of A (4,1) from 4 to 10
-changing real part of A (1,2) from 4 to 23
-changing real part of A (2,2) from -3 to 15
-changing real part of A (3,2) from 1 to 18
-changing real part of A (4,2) from 2 to 18
-changing real part of A (2,3) from 2 to 30
-changing real part of A (1,4) from 0 to 39
-changing real part of A (4,4) from 1 to 37
-
-completely modified A (same pattern): column-form matrix, n_row 5 n_col 5, nz = 12. 
-
-    column 0: start: 0 end: 1 entries: 2
-	row 0 : (2 + 1i)
-	row 1 : (2 + 0.1i)
-
-    column 1: start: 2 end: 4 entries: 3
-	row 0 : (13 + 0i)
-	row 2 : (7 - 1i)
-	row 4 : (10 + 0.3i)
-
-    column 2: start: 5 end: 8 entries: 4
-	row 1 : (23 + 0.2i)
-	row 2 : (15 - 0.2i)
-	row 3 : (18 + 0i)
-	row 4 : (18 + 0.3i)
-
-    column 3: start: 9 end: 9 entries: 1
-	row 2 : (30 + 3i)
-
-    column 4: start: 10 end: 11 entries: 2
-	row 1 : (39 + 0i)
-	row 4 : (37 + 0.4i)
-    column-form matrix OK
-
-
-Saving symbolic object:
-
-Freeing symbolic object:
-
-Loading symbolic object:
-
-Done loading symbolic object
-
-Numeric factorization of completely modified A: Numeric object:  
-    n_row: 5  n_col: 5
-    relative pivot tolerance used:              0.1
-    relative symmetric pivot tolerance used:    0.001
-    matrix scaled: yes (divided each row by sum abs value in each row)
-    minimum sum (abs (rows of A)):              1.60000e+01
-    maximum sum (abs (rows of A)):              6.60000e+01
-    initial allocation parameter used:          0.7
-    frontal matrix allocation parameter used:   0.5
-    final total size of Numeric object (Units): 99
-    final total size of Numeric object (MBytes): 0.0
-    peak size of variable-size part (Units):    2527
-    peak size of variable-size part (MBytes):   0.0
-    largest actual frontal matrix size:         4
-    memory defragmentations:                    1
-    memory reallocations:                       1
-    costly memory reallocations:                0
-    entries in compressed pattern (L and U):    2
-    number of nonzeros in L (excl diag):        4
-    number of entries stored in L (excl diag):  2
-    number of nonzeros in U (excl diag):        4
-    number of entries stored in U (excl diag):  2
-    factorization floating-point operations:    34
-    number of nonzeros on diagonal of U:        5
-    min abs. value on diagonal of U:            1.39754e-01
-    max abs. value on diagonal of U:            1.00000e+00
-    reciprocal condition number estimate:       1.40e-01
-
-Scale factors applied via multiplication
-Scale factors, Rs: dense vector, n = 5. 
-    0 : (0.0625)
-    1 : (0.0155521)
-    2 : (0.0177936)
-    3 : (0.0555556)
-    4 : (0.0151515)
-    dense vector OK
-
-
-P: row permutation vector, n = 5. 
-    0 : 2 
-    1 : 3 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-Q: column permutation vector, n = 5. 
-    0 : 3 
-    1 : 2 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-L in Numeric object, in column-oriented compressed-pattern form:
-    Diagonal entries are all equal to 1.0 (not stored)
-
-    column 0:  length 0.
-
-    column 1:  length 2.
-	row 4 :  (0.357698 + 0.00311042i)
-	row 3 :  (0.272727 + 0.00454545i)
-
-    column 2:  add 1 entries.  length 1.  Start of Lchain.
-	row 4 :  (0.204044 - 0.0895801i)
-
-    column 3:  length 1.
-	row 4 :  (1.0818 - 0.0116951i)
-
-    column 4:  length 0.  Start of Lchain.
-
-
-U in Numeric object, in row-oriented compressed-pattern form:
-    Diagonal is stored separately.
-
-    row 4:  length 0.  End of Uchain.
-
-    row 3:  length 1.  End of Uchain.
-	col 4 : (0.151515 + 0.00454545i)
-
-    row 2:  length 1.
-	col 4 : (0.8125 + 0i)
-
-    row 1:  length 0.  End of Uchain.
-
-    row 1:  length 0.
-
-    row 0:  length 2.
-	col 1 :  (0.266904 - 0.00355872i)
-	col 4 :  (0.124555 - 0.0177936i)
-
-
-diagonal of U: dense vector, n = 5. 
-    0 : (0.533808 + 0.0533808i)
-    1 : (1 + 0i)
-    2 : (0.125 + 0.0625i)
-    3 : (0.560606 + 0.00606061i)
-    4 : (-0.329747 + 0.0696386i)
-    dense vector OK
-
-    Numeric object:  OK
-
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double complex
-    Int (generic integer) defined as: int
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       5
-    number of columns in matrix A:    5
-    entries in matrix A:              12
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          16 bytes
-
-    strategy used:                    unsymmetric
-    ordering used:                    colamd on A
-    modify Q during factorization:    yes
-    prefer diagonal pivoting:         no
-    pivots with zero Markowitz cost:               2
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    0
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    3
-        symmetry of nonzero pattern:               1.000000
-        nz in S+S' (excl. diagonal):               4
-        nz on diagonal of matrix S:                2
-        fraction of nz on diagonal:                0.666667
-    2-by-2 pivoting to place large entries on diagonal:
-        # of small diagonal entries of S:          1
-        # unmatched:                               0
-        symmetry of P2*S:                          0.000000
-        nz in P2*S+(P2*S)' (excl. diag.):          6
-        nz on diagonal of P2*S:                    3
-        fraction of nz on diag of P2*S:            1.000000
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 144
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         45
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    matrix scaled: yes (divided each row by sum of abs values in each row)
-    minimum sum (abs (rows of A)):              1.60000e+01
-    maximum sum (abs (rows of A)):              6.60000e+01
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                      84                   79    94%
-        peak size (Units)                       2542                 2527    99%
-        final size (Units)                        25                   21    84%
-    Numeric final size (Units)                   106                  100    94%
-    Numeric final size (MBytes)                  0.0                  0.0    94%
-    peak memory usage (Units)                   2737                 2722    99%
-    peak memory usage (MBytes)                   0.0                  0.0    99%
-    numeric factorization flops          6.70000e+01          3.40000e+01    51%
-    nz in L (incl diagonal)                       10                    9    90%
-    nz in U (incl diagonal)                       10                    9    90%
-    nz in L+U (incl diagonal)                     15                   13    87%
-    largest front (# entries)                      9                    4    44%
-    largest # rows in front                        3                    2    67%
-    largest # columns in front                     3                    2    67%
-
-    initial allocation ratio used:                 0.7
-    # of forced updates due to frontal growth:     0
-    nz in L (incl diagonal), if none dropped       9
-    nz in U (incl diagonal), if none dropped       9
-    number of small entries dropped                0
-    nonzeros on diagonal of U:                     5
-    min abs. value on diagonal of U:               1.40e-01
-    max abs. value on diagonal of U:               1.00e+00
-    estimate of reciprocal of condition number:    1.40e-01
-    indices in compressed pattern:                 2
-    numerical values stored in Numeric object:     9
-    numeric factorization defragmentations:        1
-    numeric factorization reallocations:           1
-    costly numeric factorization reallocations:    0
-    numeric factorization CPU time (sec):          0.00
-    numeric factorization wallclock time (sec):    0.00
-    symbolic + numeric CPU time (sec):             0.00
-    symbolic + numeric wall clock time (sec):      0.00
-
-    solve flops:                                   5.23000e+02
-    iterative refinement steps taken:              0
-    iterative refinement steps attempted:          0
-    sparse backward error omega1:                  4.75e-17
-    sparse backward error omega2:                  0.00e+00
-    solve CPU time (sec):                          0.00
-    solve wall clock time (sec):                   0.00
-
-    total symbolic + numeric + solve flops:        5.57000e+02
-    total symbolic + numeric + solve CPU time:     0.00
-    total symbolic+numeric+solve wall clock time:  0.00
-
-
-x (with completely modified A): dense vector, n = 5. 
-    0 : (7.56307 - 3.68974i)
-    1 : (-0.831991 + 0.0627998i)
-    2 : (0.166667 + 0i)
-    3 : (-0.00206892 - 0.107735i)
-    4 : (0.658245 + 0.0407649i)
-    dense vector OK
-
-maxnorm of residual: 5.92582e-15
-
-
-C (transpose of A): column-form matrix, n_row 5 n_col 5, nz = 12. 
-
-    column 0: start: 0 end: 1 entries: 2
-	row 0 : (2 - 1i)
-	row 1 : (13 + 0i)
-
-    column 1: start: 2 end: 4 entries: 3
-	row 0 : (2 - 0.1i)
-	row 2 : (23 - 0.2i)
-	row 4 : (39 + 0i)
-
-    column 2: start: 5 end: 7 entries: 3
-	row 1 : (7 + 1i)
-	row 2 : (15 + 0.2i)
-	row 3 : (30 - 3i)
-
-    column 3: start: 8 end: 8 entries: 1
-	row 2 : (18 + 0i)
-
-    column 4: start: 9 end: 11 entries: 3
-	row 1 : (10 - 0.3i)
-	row 2 : (18 - 0.3i)
-	row 4 : (37 - 0.4i)
-    column-form matrix OK
-
-
-Symbolic factorization of C: Symbolic object: 
-    matrix to be factorized:
-	n_row: 5 n_col: 5
-	number of entries: 12
-    block size used for dense matrix kernels:   32
-    strategy used:                              unsymmetric
-    ordering used:                              colamd on A
-
-    performn column etree postorder:            yes
-    prefer diagonal pivoting (attempt P=Q):     no
-    variable-size part of Numeric object:
-	minimum initial size (Units): 85  (MBytes): 0.0
-	estimated peak size (Units):  2543  (MBytes): 0.0
-	estimated final size (Units): 26  (MBytes): 0.0
-    symbolic factorization memory usage (Units): 144  (MBytes): 0.0
-    frontal matrices / supercolumns:
-	number of frontal chains: 1
-	number of frontal matrices: 1
-	largest frontal matrix row dimension: 3
-	largest frontal matrix column dimension: 3
-
-    Frontal chain: 0.  Frontal matrices 0 to 0
-	Largest frontal matrix in Frontal chain: 3-by-3
-	Front: 0  pivot cols: 3 (pivot columns 0 to 2)
-	    pivot row candidates: 2 to 4
-	    leftmost descendant: 0
-	    1st new candidate row : 2
-	    parent: (none)
-
-Initial column permutation, Q1: permutation vector, n = 5. 
-    0 : 3 
-    1 : 2 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-Initial row permutation, P1: permutation vector, n = 5. 
-    0 : 2 
-    1 : 3 
-    2 : 0 
-    3 : 1 
-    4 : 4 
-    permutation vector OK
-
-    Symbolic object:  OK
-
-
-Get the contents of the Symbolic object for C:
-(compare with umfpack_zi_report_symbolic output, above)
-From the Symbolic object, C is of dimension 5-by-5
-   with nz = 12, number of fronts = 1,
-   number of frontal matrix chains = 1
-
-Pivot columns in each front, and parent of each front:
-    Front 0: parent front: -1 number of pivot cols: 3
-        0-th pivot column is column 3 in original matrix
-        1-th pivot column is column 2 in original matrix
-        2-th pivot column is column 0 in original matrix
-
-Note that the column ordering, above, will be refined
-in the numeric factorization below.  The assignment of pivot
-columns to frontal matrices will always remain unchanged.
-
-Total number of pivot columns in frontal matrices: 3
-
-Frontal matrix chains:
-   Frontal matrices 0 to 0 are factorized in a single
-        working array of size 3-by-3
-
-Numeric factorization of C: Numeric object:  
-    n_row: 5  n_col: 5
-    relative pivot tolerance used:              0.1
-    relative symmetric pivot tolerance used:    0.001
-    matrix scaled: yes (divided each row by sum abs value in each row)
-    minimum sum (abs (rows of A)):              5.10000e+00
-    maximum sum (abs (rows of A)):              7.64000e+01
-    initial allocation parameter used:          0.7
-    frontal matrix allocation parameter used:   0.5
-    final total size of Numeric object (Units): 100
-    final total size of Numeric object (MBytes): 0.0
-    peak size of variable-size part (Units):    2528
-    peak size of variable-size part (MBytes):   0.0
-    largest actual frontal matrix size:         4
-    memory defragmentations:                    1
-    memory reallocations:                       1
-    costly memory reallocations:                0
-    entries in compressed pattern (L and U):    2
-    number of nonzeros in L (excl diag):        3
-    number of entries stored in L (excl diag):  2
-    number of nonzeros in U (excl diag):        5
-    number of entries stored in U (excl diag):  2
-    factorization floating-point operations:    34
-    number of nonzeros on diagonal of U:        5
-    min abs. value on diagonal of U:            2.40964e-01
-    max abs. value on diagonal of U:            9.13625e-01
-    reciprocal condition number estimate:       2.64e-01
-
-Scale factors applied via multiplication
-Scale factors, Rs: dense vector, n = 5. 
-    0 : (0.196078)
-    1 : (0.0319489)
-    2 : (0.0133869)
-    3 : (0.030303)
-    4 : (0.013089)
-    dense vector OK
-
-
-P: row permutation vector, n = 5. 
-    0 : 2 
-    1 : 3 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-Q: column permutation vector, n = 5. 
-    0 : 3 
-    1 : 2 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-L in Numeric object, in column-oriented compressed-pattern form:
-    Diagonal entries are all equal to 1.0 (not stored)
-
-    column 0:  length 0.
-
-    column 1:  length 1.
-	row 4 :  (0.240091 + 0.0591529i)
-
-    column 2:  add 1 entries.  length 1.  Start of Lchain.
-	row 4 :  (0.847284 + 0.423642i)
-
-    column 3:  length 1.
-	row 4 :  (0.659838 - 0.0126577i)
-
-    column 4:  length 0.  Start of Lchain.
-
-
-U in Numeric object, in row-oriented compressed-pattern form:
-    Diagonal is stored separately.
-
-    row 4:  length 0.  End of Uchain.
-
-    row 3:  length 1.  End of Uchain.
-	col 4 : (0.510471 + 0i)
-
-    row 2:  length 1.
-	col 4 : (0.392157 - 0.0196078i)
-
-    row 1:  length 0.  End of Uchain.
-
-    row 1:  length 0.
-
-    row 0:  length 3.
-	col 1 :  (0.200803 + 0.00267738i)
-	col 3 :  (0.240964 - 0.00401606i)
-	col 4 :  (0.307898 - 0.00267738i)
-
-
-diagonal of U: dense vector, n = 5. 
-    0 : (0.240964 + 0i)
-    1 : (0.909091 - 0.0909091i)
-    2 : (0.392157 - 0.196078i)
-    3 : (0.484293 - 0.0052356i)
-    4 : (-0.677403 - 0.143059i)
-    dense vector OK
-
-    Numeric object:  OK
-
-
-L (lower triangular factor of C): row-form matrix, n_row 5 n_col 5, nz = 8. 
-
-    row 0: start: 0 end: 0 entries: 1
-	column 0 : (1 + 0i)
-
-    row 1: start: 1 end: 1 entries: 1
-	column 1 : (1 + 0i)
-
-    row 2: start: 2 end: 2 entries: 1
-	column 2 : (1 + 0i)
-
-    row 3: start: 3 end: 3 entries: 1
-	column 3 : (1 + 0i)
-
-    row 4: start: 4 end: 7 entries: 4
-	column 1 : (0.240091 + 0.0591529i)
-	column 2 : (0.847284 + 0.423642i)
-	column 3 : (0.659838 - 0.0126577i)
-	column 4 : (1 + 0i)
-    row-form matrix OK
-
-
-U (upper triangular factor of C): column-form matrix, n_row 5 n_col 5, nz = 10. 
-
-    column 0: start: 0 end: 0 entries: 1
-	row 0 : (0.240964 + 0i)
-
-    column 1: start: 1 end: 2 entries: 2
-	row 0 : (0.200803 + 0.00267738i)
-	row 1 : (0.909091 - 0.0909091i)
-
-    column 2: start: 3 end: 3 entries: 1
-	row 2 : (0.392157 - 0.196078i)
-
-    column 3: start: 4 end: 5 entries: 2
-	row 0 : (0.240964 - 0.00401606i)
-	row 3 : (0.484293 - 0.0052356i)
-
-    column 4: start: 6 end: 9 entries: 4
-	row 0 : (0.307898 - 0.00267738i)
-	row 2 : (0.392157 - 0.0196078i)
-	row 3 : (0.510471 + 0i)
-	row 4 : (-0.677403 - 0.143059i)
-    column-form matrix OK
-
-
-P: permutation vector, n = 5. 
-    0 : 2 
-    1 : 3 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-Q: permutation vector, n = 5. 
-    0 : 3 
-    1 : 2 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-Scale factors: row i of A is to be multiplied by the ith scale factor
-0: 0.196078
-1: 0.0319489
-2: 0.0133869
-3: 0.030303
-4: 0.013089
-
-Converting L to triplet form, and printing it:
-
-L, in triplet form: triplet-form matrix, n_row = 5, n_col = 5 nz = 8. 
-    0 : 0 0  (1 + 0i)
-    1 : 1 1  (1 + 0i)
-    2 : 2 2  (1 + 0i)
-    3 : 3 3  (1 + 0i)
-    4 : 4 1  (0.240091 + 0.0591529i)
-    5 : 4 2  (0.847284 + 0.423642i)
-    6 : 4 3  (0.659838 - 0.0126577i)
-    7 : 4 4  (1 + 0i)
-    triplet-form matrix OK
-
-
-Saving numeric object:
-
-Freeing numeric object:
-
-Loading numeric object:
-
-Done loading numeric object
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double complex
-    Int (generic integer) defined as: int
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       5
-    number of columns in matrix A:    5
-    entries in matrix A:              12
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          16 bytes
-
-    strategy used:                    unsymmetric
-    ordering used:                    colamd on A
-    modify Q during factorization:    yes
-    prefer diagonal pivoting:         no
-    pivots with zero Markowitz cost:               2
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    0
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    3
-        symmetry of nonzero pattern:               1.000000
-        nz in S+S' (excl. diagonal):               4
-        nz on diagonal of matrix S:                2
-        fraction of nz on diagonal:                0.666667
-    2-by-2 pivoting to place large entries on diagonal:
-        # of small diagonal entries of S:          1
-        # unmatched:                               0
-        symmetry of P2*S:                          0.000000
-        nz in P2*S+(P2*S)' (excl. diag.):          6
-        nz on diagonal of P2*S:                    3
-        fraction of nz on diag of P2*S:            1.000000
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 144
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         45
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    matrix scaled: yes (divided each row by sum of abs values in each row)
-    minimum sum (abs (rows of A)):              5.10000e+00
-    maximum sum (abs (rows of A)):              7.64000e+01
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                      85                   80    94%
-        peak size (Units)                       2543                 2528    99%
-        final size (Units)                        26                   22    85%
-    Numeric final size (Units)                   107                  101    94%
-    Numeric final size (MBytes)                  0.0                  0.0    94%
-    peak memory usage (Units)                   2738                 2723    99%
-    peak memory usage (MBytes)                   0.0                  0.0    99%
-    numeric factorization flops          6.70000e+01          3.40000e+01    51%
-    nz in L (incl diagonal)                        9                    8    89%
-    nz in U (incl diagonal)                       11                   10    91%
-    nz in L+U (incl diagonal)                     15                   13    87%
-    largest front (# entries)                      9                    4    44%
-    largest # rows in front                        3                    2    67%
-    largest # columns in front                     3                    2    67%
-
-    initial allocation ratio used:                 0.7
-    # of forced updates due to frontal growth:     0
-    nz in L (incl diagonal), if none dropped       8
-    nz in U (incl diagonal), if none dropped       10
-    number of small entries dropped                0
-    nonzeros on diagonal of U:                     5
-    min abs. value on diagonal of U:               2.41e-01
-    max abs. value on diagonal of U:               9.14e-01
-    estimate of reciprocal of condition number:    2.64e-01
-    indices in compressed pattern:                 2
-    numerical values stored in Numeric object:     9
-    numeric factorization defragmentations:        1
-    numeric factorization reallocations:           1
-    costly numeric factorization reallocations:    0
-    numeric factorization CPU time (sec):          0.00
-    numeric factorization wallclock time (sec):    0.00
-    symbolic + numeric CPU time (sec):             0.00
-    symbolic + numeric wall clock time (sec):      0.00
-
-    solve flops:                                   4.80000e+02
-    iterative refinement steps taken:              0
-    iterative refinement steps attempted:          0
-    sparse backward error omega1:                  8.89e-17
-    sparse backward error omega2:                  0.00e+00
-    solve CPU time (sec):                          0.00
-    solve wall clock time (sec):                   0.00
-
-    total symbolic + numeric + solve flops:        5.14000e+02
-    total symbolic + numeric + solve CPU time:     0.00
-    total symbolic+numeric+solve wall clock time:  0.00
-
-
-x (solution of C'x=b): dense vector, n = 5. 
-    0 : (7.56307 - 3.68974i)
-    1 : (-0.831991 + 0.0627998i)
-    2 : (0.166667 + 0i)
-    3 : (-0.00206892 - 0.107735i)
-    4 : (0.658245 + 0.0407649i)
-    dense vector OK
-
-maxnorm of residual: 5.6552e-15
-
-
-Solving C'x=b again, using umfpack_zi_wsolve instead:
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double complex
-    Int (generic integer) defined as: int
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       5
-    number of columns in matrix A:    5
-    entries in matrix A:              12
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          16 bytes
-
-    strategy used:                    unsymmetric
-    ordering used:                    colamd on A
-    modify Q during factorization:    yes
-    prefer diagonal pivoting:         no
-    pivots with zero Markowitz cost:               2
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    0
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    3
-        symmetry of nonzero pattern:               1.000000
-        nz in S+S' (excl. diagonal):               4
-        nz on diagonal of matrix S:                2
-        fraction of nz on diagonal:                0.666667
-    2-by-2 pivoting to place large entries on diagonal:
-        # of small diagonal entries of S:          1
-        # unmatched:                               0
-        symmetry of P2*S:                          0.000000
-        nz in P2*S+(P2*S)' (excl. diag.):          6
-        nz on diagonal of P2*S:                    3
-        fraction of nz on diag of P2*S:            1.000000
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 144
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         45
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    matrix scaled: yes (divided each row by sum of abs values in each row)
-    minimum sum (abs (rows of A)):              5.10000e+00
-    maximum sum (abs (rows of A)):              7.64000e+01
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                      85                   80    94%
-        peak size (Units)                       2543                 2528    99%
-        final size (Units)                        26                   22    85%
-    Numeric final size (Units)                   107                  101    94%
-    Numeric final size (MBytes)                  0.0                  0.0    94%
-    peak memory usage (Units)                   2738                 2723    99%
-    peak memory usage (MBytes)                   0.0                  0.0    99%
-    numeric factorization flops          6.70000e+01          3.40000e+01    51%
-    nz in L (incl diagonal)                        9                    8    89%
-    nz in U (incl diagonal)                       11                   10    91%
-    nz in L+U (incl diagonal)                     15                   13    87%
-    largest front (# entries)                      9                    4    44%
-    largest # rows in front                        3                    2    67%
-    largest # columns in front                     3                    2    67%
-
-    initial allocation ratio used:                 0.7
-    # of forced updates due to frontal growth:     0
-    nz in L (incl diagonal), if none dropped       8
-    nz in U (incl diagonal), if none dropped       10
-    number of small entries dropped                0
-    nonzeros on diagonal of U:                     5
-    min abs. value on diagonal of U:               2.41e-01
-    max abs. value on diagonal of U:               9.14e-01
-    estimate of reciprocal of condition number:    2.64e-01
-    indices in compressed pattern:                 2
-    numerical values stored in Numeric object:     9
-    numeric factorization defragmentations:        1
-    numeric factorization reallocations:           1
-    costly numeric factorization reallocations:    0
-    numeric factorization CPU time (sec):          0.00
-    numeric factorization wallclock time (sec):    0.00
-    symbolic + numeric CPU time (sec):             0.00
-    symbolic + numeric wall clock time (sec):      0.00
-
-    solve flops:                                   4.80000e+02
-    iterative refinement steps taken:              0
-    iterative refinement steps attempted:          0
-    sparse backward error omega1:                  8.89e-17
-    sparse backward error omega2:                  0.00e+00
-    solve CPU time (sec):                          0.00
-    solve wall clock time (sec):                   0.00
-
-    total symbolic + numeric + solve flops:        5.14000e+02
-    total symbolic + numeric + solve CPU time:     0.00
-    total symbolic+numeric+solve wall clock time:  0.00
-
-
-x (solution of C'x=b): dense vector, n = 5. 
-    0 : (7.56307 - 3.68974i)
-    1 : (-0.831991 + 0.0627998i)
-    2 : (0.166667 + 0i)
-    3 : (-0.00206892 - 0.107735i)
-    4 : (0.658245 + 0.0407649i)
-    dense vector OK
-
-maxnorm of residual: 5.6552e-15
-
-
-umfpack_zi_demo complete.
-Total time:  0.00 seconds (CPU time),  0.01 seconds (wallclock time)
--- a/liboctave/UMFPACK/UMFPACK/Demo/umfpack_zi_demo.sed	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-/::/d
-1,$s/_xx_/_zi_/g
-1,$s/Int/int/g
-1,$s/WSIZE/10/
-1,$s/%ld/%d/g
-/define ABS/ {
-	s/ABS/ABS(x,z) ((x) >= 0 ? (x) : -(x)) + ((z) >= 0 ? (z) : -(z))/
-	}
--- a/liboctave/UMFPACK/UMFPACK/Demo/umfpack_zl_demo.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,791 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_zl_demo ====================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-  A demo of UMFPACK:   umfpack_zl_* version.
-
-  First, factor and solve a 5-by-5 system, Ax=b, using default parameters.
-  Then solve A'x=b using the factors of A.   Modify one entry (A (1,4) = 0,
-  where the row and column indices range from 0 to 4.  The pattern of A
-  has not changed (it has explicitly zero entry), so a reanalysis with
-  umfpack_zl_symbolic does not need to be done.  Refactorize (with
-  umfpack_zl_numeric), and solve Ax=b.  Note that the pivot ordering has
-  changed.  Next, change all of the entries in A, but not the pattern.
-
-  Finally, compute C = A', and do the symbolic and numeric factorization of C.
-  Factorizing A' can sometimes be better than factorizing A itself (less work
-  and memory usage).  Solve C'x=b twice; the solution is the same as the
-  solution to Ax=b.
-
-  A note about zero-sized arrays:  UMFPACK uses many user-provided arrays of
-  size n (order of the matrix), and of size nz (the number of nonzeros in a
-  matrix).  n cannot be zero; UMFPACK does not handle zero-dimensioned arrays.
-  However, nz can be zero.  If you attempt to malloc an array of size nz = 0,
-  however, malloc will return a null pointer which UMFPACK will report as a
-  "missing argument."  Thus, nz1 in this code is set to MAX (nz,1), and
-  similarly for lnz and unz.  Lnz can never be zero, however, since L is always
-  unit diagonal.
-*/
-
-/* -------------------------------------------------------------------------- */
-/* definitions */
-/* -------------------------------------------------------------------------- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include "umfpack.h"
-
-/* use a cheap approximate absolute value for complex numbers: */
-#define ABS(x,z) ((x) >= 0 ? (x) : -(x)) + ((z) >= 0 ? (z) : -(z))
-
-#define MAX(a,b) (((a) > (b)) ? (a) : (b))
-#ifndef TRUE
-#define TRUE (1)
-#endif
-#ifndef FALSE
-#define FALSE (0)
-#endif
-
-/* -------------------------------------------------------------------------- */
-/* triplet form of the matrix.  The triplets can be in any order. */
-/* -------------------------------------------------------------------------- */
-
-static long    n = 5, nz = 12 ;
-static long    Arow [ ] = { 0,  4,  1,  1,   2,   2,  0,  1,  2,  3,  4,  4} ;
-static long    Acol [ ] = { 0,  4,  0,  2,   1,   2,  1,  4,  3,  2,  1,  2} ;
-static double Aval [ ] = {2., 1., 3., 4., -1., -3., 3., 6., 2., 1., 4., 2.} ;
-static double Avalz[ ] = {1., .4, .1, .2, -1., -.2, 0., 6., 3., 0., .3, .3} ;
-static double b [ ] = {8., 45., -3., 3., 19.}, x [5], r [5] ;
-static double bz[ ] = {1., -5., -2., 0., 2.2}, xz[5], rz[5] ;
-
-/* Avalz, bz:  imaginary part of A and b */
-
-/* -------------------------------------------------------------------------- */
-/* error: print a message and exit */
-/* -------------------------------------------------------------------------- */
-
-static void error
-(
-    char *message
-)
-{
-    printf ("\n\n====== error: %s =====\n\n", message) ;
-    exit (1) ;
-}
-
-
-/* -------------------------------------------------------------------------- */
-/* resid: compute the residual, r = Ax-b or r = A'x=b and return maxnorm (r) */
-/* A' is the complex conjugate transpose, not the array transpose */
-/* -------------------------------------------------------------------------- */
-
-static double resid
-(
-    long transpose,
-    long Ap [ ],
-    long Ai [ ],
-    double Ax [ ]
-    , double Az [ ]
-)
-{
-    long i, j, p ;
-    double norm ;
-
-    for (i = 0 ; i < n ; i++)
-    {
-	r [i] = -b [i] ;
-	rz[i] = -bz[i] ;
-    }
-    if (transpose)
-    {
-	for (j = 0 ; j < n ; j++)
-	{
-	    for (p = Ap [j] ; p < Ap [j+1] ; p++)
-	    {
-		i = Ai [p] ;
-		/* complex: r(j) += conj (Aij) * x (i) */
-		r [j] += Ax [p] * x [i] ;
-		r [j] += Az [p] * xz[i] ;
-		rz[j] -= Az [p] * x [i] ;
-		rz[j] += Ax [p] * xz[i] ;
-	    }
-	}
-    }
-    else
-    {
-	for (j = 0 ; j < n ; j++)
-	{
-	    for (p = Ap [j] ; p < Ap [j+1] ; p++)
-	    {
-		i = Ai [p] ;
-		r [i] += Ax [p] * x [j] ;
-		r [i] -= Az [p] * xz[j] ;
-		rz[i] += Az [p] * x [j] ;
-		rz[i] += Ax [p] * xz[j] ;
-	    }
-	}
-    }
-    norm = 0. ;
-    for (i = 0 ; i < n ; i++)
-    {
-	norm = MAX (ABS (r [i], rz [i]), norm) ;
-    }
-    return (norm) ;
-}
-
-
-/* -------------------------------------------------------------------------- */
-/* main program */
-/* -------------------------------------------------------------------------- */
-
-int main (int argc, char **argv)
-{
-    double Info [UMFPACK_INFO], Control [UMFPACK_CONTROL], *Ax, *Cx, *Lx, *Ux,
-	*W, t [2], *Dx, rnorm, *Rb, *y, *Rs ;
-    double *Az, *Lz, *Uz, *Dz, *Cz, *Rbz, *yz ;
-    long *Ap, *Ai, *Cp, *Ci, row, col, p, lnz, unz, nr, nc, *Lp, *Li, *Ui, *Up,
-	*P, *Q, *Lj, i, j, k, anz, nfr, nchains, *Qinit, fnpiv, lnz1, unz1, nz1,
-	status, *Front_npivcol, *Front_parent, *Chain_start, *Wi, *Pinit, n1,
-	*Chain_maxrows, *Chain_maxcols, *Front_1strow, *Front_leftmostdesc,
-	nzud, do_recip ;
-    void *Symbolic, *Numeric ;
-
-    /* ---------------------------------------------------------------------- */
-    /* initializations */
-    /* ---------------------------------------------------------------------- */
-
-    umfpack_tic (t) ;
-
-    printf ("\n%s demo: _zl_ version\n", UMFPACK_VERSION) ;
-
-    /* get the default control parameters */
-    umfpack_zl_defaults (Control) ;
-
-    /* change the default print level for this demo */
-    /* (otherwise, nothing will print) */
-    Control [UMFPACK_PRL] = 6 ;
-
-    /* print the license agreement */
-    umfpack_zl_report_status (Control, UMFPACK_OK) ;
-    Control [UMFPACK_PRL] = 5 ;
-
-    /* print the control parameters */
-    umfpack_zl_report_control (Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* print A and b, and convert A to column-form */
-    /* ---------------------------------------------------------------------- */
-
-    /* print the right-hand-side */
-    printf ("\nb: ") ;
-    (void) umfpack_zl_report_vector (n, b, bz, Control) ;
-
-    /* print the triplet form of the matrix */
-    printf ("\nA: ") ;
-    (void) umfpack_zl_report_triplet (n, n, nz, Arow, Acol, Aval, Avalz,
-	Control) ;
-
-    /* convert to column form */
-    nz1 = MAX (nz,1) ;	/* ensure arrays are not of size zero. */
-    Ap = (long *) malloc ((n+1) * sizeof (long)) ;
-    Ai = (long *) malloc (nz1 * sizeof (long)) ;
-    Ax = (double *) malloc (nz1 * sizeof (double)) ;
-    Az = (double *) malloc (nz1 * sizeof (double)) ;
-    if (!Ap || !Ai || !Ax || !Az)
-    {
-	error ("out of memory") ;
-    }
-
-    status = umfpack_zl_triplet_to_col (n, n, nz, Arow, Acol, Aval, Avalz,
-	Ap, Ai, Ax, Az, (long *) NULL) ;
-
-    if (status < 0)
-    {
-	umfpack_zl_report_status (Control, status) ;
-	error ("umfpack_zl_triplet_to_col failed") ;
-    }
-
-    /* print the column-form of A */
-    printf ("\nA: ") ;
-    (void) umfpack_zl_report_matrix (n, n, Ap, Ai, Ax, Az, 1, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* symbolic factorization */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_zl_symbolic (n, n, Ap, Ai, Ax, Az, &Symbolic,
-	Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_zl_report_info (Control, Info) ;
-	umfpack_zl_report_status (Control, status) ;
-	error ("umfpack_zl_symbolic failed") ;
-    }
-
-    /* print the symbolic factorization */
-
-    printf ("\nSymbolic factorization of A: ") ;
-    (void) umfpack_zl_report_symbolic (Symbolic, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* numeric factorization */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_zl_numeric (Ap, Ai, Ax, Az, Symbolic, &Numeric,
-	Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_zl_report_info (Control, Info) ;
-	umfpack_zl_report_status (Control, status) ;
-	error ("umfpack_zl_numeric failed") ;
-    }
-
-    /* print the numeric factorization */
-    printf ("\nNumeric factorization of A: ") ;
-    (void) umfpack_zl_report_numeric (Numeric, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve Ax=b */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_zl_solve (UMFPACK_A, Ap, Ai, Ax, Az, x, xz, b, bz,
-	Numeric, Control, Info) ;
-    umfpack_zl_report_info (Control, Info) ;
-    umfpack_zl_report_status (Control, status) ;
-    if (status < 0)
-    {
-	error ("umfpack_zl_solve failed") ;
-    }
-    printf ("\nx (solution of Ax=b): ") ;
-    (void) umfpack_zl_report_vector (n, x, xz, Control) ;
-    rnorm = resid (FALSE, Ap, Ai, Ax, Az) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* compute the determinant */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_zl_get_determinant (x, xz, r, Numeric, Info) ;
-    umfpack_zl_report_status (Control, status) ;
-    if (status < 0)
-    {
-	error ("umfpack_zl_get_determinant failed") ;
-    }
-    printf ("determinant: (%g", x [0]) ;
-    printf ("+ (%g)i", xz [0]) ; /* complex */
-    printf (") * 10^(%g)\n", r [0]) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve Ax=b, broken down into steps */
-    /* ---------------------------------------------------------------------- */
-
-    /* Rb = R*b */
-    Rb  = (double *) malloc (n * sizeof (double)) ;
-    Rbz = (double *) malloc (n * sizeof (double)) ;
-    y   = (double *) malloc (n * sizeof (double)) ;
-    yz  = (double *) malloc (n * sizeof (double)) ;
-    if (!Rb || !y) error ("out of memory") ;
-    if (!Rbz || !yz) error ("out of memory") ;
-
-    status = umfpack_zl_scale (Rb, Rbz, b, bz, Numeric) ;
-    if (status < 0) error ("umfpack_zl_scale failed") ;
-    /* solve Ly = P*(Rb) */
-    status = umfpack_zl_solve (UMFPACK_Pt_L, Ap, Ai, Ax, Az, y, yz, Rb, Rbz,
-	Numeric, Control, Info) ;
-    if (status < 0) error ("umfpack_zl_solve failed") ;
-    /* solve UQ'x=y */
-    status = umfpack_zl_solve (UMFPACK_U_Qt, Ap, Ai, Ax, Az, x, xz, y, yz,
-	Numeric, Control, Info) ;
-    if (status < 0) error ("umfpack_zl_solve failed") ;
-    printf ("\nx (solution of Ax=b, solve is split into 3 steps): ") ;
-    (void) umfpack_zl_report_vector (n, x, xz, Control) ;
-    rnorm = resid (FALSE, Ap, Ai, Ax, Az) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    free (Rb) ;
-    free (Rbz) ;
-    free (y) ;
-    free (yz) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve A'x=b */
-    /* ---------------------------------------------------------------------- */
-
-    /* note that this is the complex conjugate transpose, A' */
-    status = umfpack_zl_solve (UMFPACK_At, Ap, Ai, Ax, Az, x, xz, b, bz,
-	Numeric, Control, Info) ;
-    umfpack_zl_report_info (Control, Info) ;
-    if (status < 0)
-    {
-	error ("umfpack_zl_solve failed") ;
-    }
-    printf ("\nx (solution of A'x=b): ") ;
-    (void) umfpack_zl_report_vector (n, x, xz, Control) ;
-    rnorm = resid (TRUE, Ap, Ai, Ax, Az) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* modify one numerical value in the column-form of A */
-    /* ---------------------------------------------------------------------- */
-
-    /* change A (1,4), look for row index 1 in column 4. */
-    row = 1 ;
-    col = 4 ;
-    for (p = Ap [col] ; p < Ap [col+1] ; p++)
-    {
-	if (row == Ai [p])
-	{
-	    printf ("\nchanging A (%ld,%ld) to zero\n", row, col) ;
-	    Ax [p] = 0.0 ;
-	    Az [p] = 0.0 ;
-	    break ;
-	}
-    }
-    printf ("\nmodified A: ") ;
-    (void) umfpack_zl_report_matrix (n, n, Ap, Ai, Ax, Az, 1, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* redo the numeric factorization */
-    /* ---------------------------------------------------------------------- */
-
-    /* The pattern (Ap and Ai) hasn't changed, so the symbolic factorization */
-    /* doesn't have to be redone, no matter how much we change Ax. */
-
-    /* We don't need the Numeric object any more, so free it. */
-    umfpack_zl_free_numeric (&Numeric) ;
-
-    /* Note that a memory leak would have occurred if the old Numeric */
-    /* had not been free'd with umfpack_zl_free_numeric above. */
-    status = umfpack_zl_numeric (Ap, Ai, Ax, Az, Symbolic, &Numeric,
-	Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_zl_report_info (Control, Info) ;
-	umfpack_zl_report_status (Control, status) ;
-	error ("umfpack_zl_numeric failed") ;
-    }
-    printf ("\nNumeric factorization of modified A: ") ;
-    (void) umfpack_zl_report_numeric (Numeric, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve Ax=b, with the modified A */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_zl_solve (UMFPACK_A, Ap, Ai, Ax, Az, x, xz, b, bz,
-	Numeric, Control, Info) ;
-    umfpack_zl_report_info (Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_zl_report_status (Control, status) ;
-	error ("umfpack_zl_solve failed") ;
-    }
-    printf ("\nx (with modified A): ") ;
-    (void) umfpack_zl_report_vector (n, x, xz, Control) ;
-    rnorm = resid (FALSE, Ap, Ai, Ax, Az) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* modify all of the numerical values of A, but not the pattern */
-    /* ---------------------------------------------------------------------- */
-
-    for (col = 0 ; col < n ; col++)
-    {
-	for (p = Ap [col] ; p < Ap [col+1] ; p++)
-	{
-	    row = Ai [p] ;
-	    printf ("changing ") ;
-	    /* complex: */ printf ("real part of ") ;
-	    printf ("A (%ld,%ld) from %g", row, col, Ax [p]) ;
-	    Ax [p] = Ax [p] + col*10 - row ;
-	    printf (" to %g\n", Ax [p]) ;
-	}
-    }
-    printf ("\ncompletely modified A (same pattern): ") ;
-    (void) umfpack_zl_report_matrix (n, n, Ap, Ai, Ax, Az, 1, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* save the Symbolic object to file, free it, and load it back in */
-    /* ---------------------------------------------------------------------- */
-
-    /* use the default filename, "symbolic.umf" */
-    printf ("\nSaving symbolic object:\n") ;
-    status = umfpack_zl_save_symbolic (Symbolic, (char *) NULL) ;
-    if (status < 0)
-    {
-	umfpack_zl_report_status (Control, status) ;
-	error ("umfpack_zl_save_symbolic failed") ;
-    }
-    printf ("\nFreeing symbolic object:\n") ;
-    umfpack_zl_free_symbolic (&Symbolic) ;
-    printf ("\nLoading symbolic object:\n") ;
-    status = umfpack_zl_load_symbolic (&Symbolic, (char *) NULL) ;
-    if (status < 0)
-    {
-	umfpack_zl_report_status (Control, status) ;
-	error ("umfpack_zl_load_symbolic failed") ;
-    }
-    printf ("\nDone loading symbolic object\n") ;
-
-    /* ---------------------------------------------------------------------- */
-    /* redo the numeric factorization */
-    /* ---------------------------------------------------------------------- */
-
-    umfpack_zl_free_numeric (&Numeric) ;
-    status = umfpack_zl_numeric (Ap, Ai, Ax, Az, Symbolic, &Numeric,
-	Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_zl_report_info (Control, Info) ;
-	umfpack_zl_report_status (Control, status) ;
-	error ("umfpack_zl_numeric failed") ;
-    }
-    printf ("\nNumeric factorization of completely modified A: ") ;
-    (void) umfpack_zl_report_numeric (Numeric, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve Ax=b, with the modified A */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_zl_solve (UMFPACK_A, Ap, Ai, Ax, Az, x, xz, b, bz,
-	Numeric, Control, Info) ;
-    umfpack_zl_report_info (Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_zl_report_status (Control, status) ;
-	error ("umfpack_zl_solve failed") ;
-    }
-    printf ("\nx (with completely modified A): ") ;
-    (void) umfpack_zl_report_vector (n, x, xz, Control) ;
-    rnorm = resid (FALSE, Ap, Ai, Ax, Az) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* free the symbolic and numeric factorization */
-    /* ---------------------------------------------------------------------- */
-
-    umfpack_zl_free_symbolic (&Symbolic) ;
-    umfpack_zl_free_numeric (&Numeric) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* C = transpose of A */
-    /* ---------------------------------------------------------------------- */
-
-    Cp = (long *) malloc ((n+1) * sizeof (long)) ;
-    Ci = (long *) malloc (nz1 * sizeof (long)) ;
-    Cx = (double *) malloc (nz1 * sizeof (double)) ;
-    Cz = (double *) malloc (nz1 * sizeof (double)) ;
-    if (!Cp || !Ci || !Cx || !Cz)
-    {
-	error ("out of memory") ;
-    }
-    status = umfpack_zl_transpose (n, n, Ap, Ai, Ax, Az,
-	(long *) NULL, (long *) NULL, Cp, Ci, Cx, Cz, TRUE) ;
-    if (status < 0)
-    {
-	umfpack_zl_report_status (Control, status) ;
-	error ("umfpack_zl_transpose failed: ") ;
-    }
-    printf ("\nC (transpose of A): ") ;
-    (void) umfpack_zl_report_matrix (n, n, Cp, Ci, Cx, Cz, 1, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* symbolic factorization of C */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_zl_symbolic (n, n, Cp, Ci, Cx, Cz, &Symbolic,
-	Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_zl_report_info (Control, Info) ;
-	umfpack_zl_report_status (Control, status) ;
-	error ("umfpack_zl_symbolic failed") ;
-    }
-    printf ("\nSymbolic factorization of C: ") ;
-    (void) umfpack_zl_report_symbolic (Symbolic, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* copy the contents of Symbolic into user arrays print them */
-    /* ---------------------------------------------------------------------- */
-
-    printf ("\nGet the contents of the Symbolic object for C:\n") ;
-    printf ("(compare with umfpack_zl_report_symbolic output, above)\n") ;
-    Pinit = (long *) malloc ((n+1) * sizeof (long)) ;
-    Qinit = (long *) malloc ((n+1) * sizeof (long)) ;
-    Front_npivcol = (long *) malloc ((n+1) * sizeof (long)) ;
-    Front_1strow = (long *) malloc ((n+1) * sizeof (long)) ;
-    Front_leftmostdesc = (long *) malloc ((n+1) * sizeof (long)) ;
-    Front_parent = (long *) malloc ((n+1) * sizeof (long)) ;
-    Chain_start = (long *) malloc ((n+1) * sizeof (long)) ;
-    Chain_maxrows = (long *) malloc ((n+1) * sizeof (long)) ;
-    Chain_maxcols = (long *) malloc ((n+1) * sizeof (long)) ;
-    if (!Pinit || !Qinit || !Front_npivcol || !Front_parent || !Chain_start ||
-	!Chain_maxrows || !Chain_maxcols || !Front_1strow ||
-	!Front_leftmostdesc)
-    {
-	error ("out of memory") ;
-    }
-
-    status = umfpack_zl_get_symbolic (&nr, &nc, &n1, &anz, &nfr, &nchains,
-	Pinit, Qinit, Front_npivcol, Front_parent, Front_1strow,
-	Front_leftmostdesc, Chain_start, Chain_maxrows, Chain_maxcols,
-	Symbolic) ;
-
-    if (status < 0)
-    {
-	error ("symbolic factorization invalid") ;
-    }
-
-    printf ("From the Symbolic object, C is of dimension %ld-by-%ld\n", nr, nc);
-    printf ("   with nz = %ld, number of fronts = %ld,\n", nz, nfr) ;
-    printf ("   number of frontal matrix chains = %ld\n", nchains) ;
-
-    printf ("\nPivot columns in each front, and parent of each front:\n") ;
-    k = 0 ;
-    for (i = 0 ; i < nfr ; i++)
-    {
-	fnpiv = Front_npivcol [i] ;
-	printf ("    Front %ld: parent front: %ld number of pivot cols: %ld\n",
-		i, Front_parent [i], fnpiv) ;
-	for (j = 0 ; j < fnpiv ; j++)
-	{
-	    col = Qinit [k] ;
-	    printf (
-	    "        %ld-th pivot column is column %ld in original matrix\n",
-		k, col) ;
-	    k++ ;
-	}
-    }
-
-    printf ("\nNote that the column ordering, above, will be refined\n") ;
-    printf ("in the numeric factorization below.  The assignment of pivot\n") ;
-    printf ("columns to frontal matrices will always remain unchanged.\n") ;
-
-    printf ("\nTotal number of pivot columns in frontal matrices: %ld\n", k) ;
-
-    printf ("\nFrontal matrix chains:\n") ;
-    for (j = 0 ; j < nchains ; j++)
-    {
-	printf ("   Frontal matrices %ld to %ld are factorized in a single\n",
-	    Chain_start [j], Chain_start [j+1] - 1) ;
-	printf ("        working array of size %ld-by-%ld\n",
-	    Chain_maxrows [j], Chain_maxcols [j]) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* numeric factorization of C */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_zl_numeric (Cp, Ci, Cx, Cz, Symbolic, &Numeric,
-	Control, Info) ;
-    if (status < 0)
-    {
-	error ("umfpack_zl_numeric failed") ;
-    }
-    printf ("\nNumeric factorization of C: ") ;
-    (void) umfpack_zl_report_numeric (Numeric, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* extract the LU factors of C and print them */
-    /* ---------------------------------------------------------------------- */
-
-    if (umfpack_zl_get_lunz (&lnz, &unz, &nr, &nc, &nzud, Numeric) < 0)
-    {
-	error ("umfpack_zl_get_lunz failed") ;
-    }
-    /* ensure arrays are not of zero size */
-    lnz1 = MAX (lnz,1) ;
-    unz1 = MAX (unz,1) ;
-    Lp = (long *) malloc ((n+1) * sizeof (long)) ;
-    Lj = (long *) malloc (lnz1 * sizeof (long)) ;
-    Lx = (double *) malloc (lnz1 * sizeof (double)) ;
-    Lz = (double *) malloc (lnz1 * sizeof (double)) ;
-    Up = (long *) malloc ((n+1) * sizeof (long)) ;
-    Ui = (long *) malloc (unz1 * sizeof (long)) ;
-    Ux = (double *) malloc (unz1 * sizeof (double)) ;
-    Uz = (double *) malloc (unz1 * sizeof (double)) ;
-    P = (long *) malloc (n * sizeof (long)) ;
-    Q = (long *) malloc (n * sizeof (long)) ;
-    Dx = (double *) NULL ;	/* D vector not requested */
-    Dz = (double *) NULL ;
-    Rs  = (double *) malloc (n * sizeof (double)) ;
-    if (!Lp || !Lj || !Lx || !Lz || !Up || !Ui || !Ux || !Uz || !P || !Q || !Rs)
-    {
-	error ("out of memory") ;
-    }
-    status = umfpack_zl_get_numeric (Lp, Lj, Lx, Lz, Up, Ui, Ux, Uz,
-	P, Q, Dx, Dz, &do_recip, Rs, Numeric) ;
-    if (status < 0)
-    {
-	error ("umfpack_zl_get_numeric failed") ;
-    }
-
-    printf ("\nL (lower triangular factor of C): ") ;
-    (void) umfpack_zl_report_matrix (n, n, Lp, Lj, Lx, Lz, 0, Control) ;
-    printf ("\nU (upper triangular factor of C): ") ;
-    (void) umfpack_zl_report_matrix (n, n, Up, Ui, Ux, Uz, 1, Control) ;
-    printf ("\nP: ") ;
-    (void) umfpack_zl_report_perm (n, P, Control) ;
-    printf ("\nQ: ") ;
-    (void) umfpack_zl_report_perm (n, Q, Control) ;
-    printf ("\nScale factors: row i of A is to be ") ;
-    if (do_recip)
-    {
-	printf ("multiplied by the ith scale factor\n") ;
-    }
-    else
-    {
-	printf ("divided by the ith scale factor\n") ;
-    }
-    for (i = 0 ; i < n ; i++) printf ("%ld: %g\n", i, Rs [i]) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* convert L to triplet form and print it */
-    /* ---------------------------------------------------------------------- */
-
-    /* Note that L is in row-form, so it is the row indices that are created */
-    /* by umfpack_zl_col_to_triplet. */
-
-    printf ("\nConverting L to triplet form, and printing it:\n") ;
-    Li = (long *) malloc (lnz1 * sizeof (long)) ;
-    if (!Li)
-    {
-	error ("out of memory") ;
-    }
-    if (umfpack_zl_col_to_triplet (n, Lp, Li) < 0)
-    {
-	error ("umfpack_zl_col_to_triplet failed") ;
-    }
-    printf ("\nL, in triplet form: ") ;
-    (void) umfpack_zl_report_triplet (n, n, lnz, Li, Lj, Lx, Lz, Control) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* save the Numeric object to file, free it, and load it back in */
-    /* ---------------------------------------------------------------------- */
-
-    /* use the default filename, "numeric.umf" */
-    printf ("\nSaving numeric object:\n") ;
-    status = umfpack_zl_save_numeric (Numeric, (char *) NULL) ;
-    if (status < 0)
-    {
-	umfpack_zl_report_status (Control, status) ;
-	error ("umfpack_zl_save_numeric failed") ;
-    }
-    printf ("\nFreeing numeric object:\n") ;
-    umfpack_zl_free_numeric (&Numeric) ;
-    printf ("\nLoading numeric object:\n") ;
-    status = umfpack_zl_load_numeric (&Numeric, (char *) NULL) ;
-    if (status < 0)
-    {
-	umfpack_zl_report_status (Control, status) ;
-	error ("umfpack_zl_load_numeric failed") ;
-    }
-    printf ("\nDone loading numeric object\n") ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve C'x=b */
-    /* ---------------------------------------------------------------------- */
-
-    status = umfpack_zl_solve (UMFPACK_At, Cp, Ci, Cx, Cz, x, xz, b, bz,
-	Numeric, Control, Info) ;
-    umfpack_zl_report_info (Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_zl_report_status (Control, status) ;
-	error ("umfpack_zl_solve failed") ;
-    }
-    printf ("\nx (solution of C'x=b): ") ;
-    (void) umfpack_zl_report_vector (n, x, xz, Control) ;
-    rnorm = resid (TRUE, Cp, Ci, Cx, Cz) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* solve C'x=b again, using umfpack_zl_wsolve instead */
-    /* ---------------------------------------------------------------------- */
-
-    printf ("\nSolving C'x=b again, using umfpack_zl_wsolve instead:\n") ;
-    Wi = (long *) malloc (n * sizeof (long)) ;
-    W = (double *) malloc (10*n * sizeof (double)) ;
-    if (!Wi || !W)
-    {
-	error ("out of memory") ;
-    }
-
-    status = umfpack_zl_wsolve (UMFPACK_At, Cp, Ci, Cx, Cz, x, xz, b, bz,
-	Numeric, Control, Info, Wi, W) ;
-    umfpack_zl_report_info (Control, Info) ;
-    if (status < 0)
-    {
-	umfpack_zl_report_status (Control, status) ;
-	error ("umfpack_zl_wsolve failed") ;
-    }
-    printf ("\nx (solution of C'x=b): ") ;
-    (void) umfpack_zl_report_vector (n, x, xz, Control) ;
-    rnorm = resid (TRUE, Cp, Ci, Cx, Cz) ;
-    printf ("maxnorm of residual: %g\n\n", rnorm) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* free everything */
-    /* ---------------------------------------------------------------------- */
-
-    /* This is not strictly required since the process is exiting and the */
-    /* system will reclaim the memory anyway.  It's useful, though, just as */
-    /* a list of what is currently malloc'ed by this program.  Plus, it's */
-    /* always a good habit to explicitly free whatever you malloc. */
-
-    free (Ap) ;
-    free (Ai) ;
-    free (Ax) ;
-    free (Az) ;
-
-    free (Cp) ;
-    free (Ci) ;
-    free (Cx) ;
-    free (Cz) ;
-
-    free (Pinit) ;
-    free (Qinit) ;
-    free (Front_npivcol) ;
-    free (Front_1strow) ;
-    free (Front_leftmostdesc) ;
-    free (Front_parent) ;
-    free (Chain_start) ;
-    free (Chain_maxrows) ;
-    free (Chain_maxcols) ;
-
-    free (Lp) ;
-    free (Lj) ;
-    free (Lx) ;
-    free (Lz) ;
-
-    free (Up) ;
-    free (Ui) ;
-    free (Ux) ;
-    free (Uz) ;
-
-    free (P) ;
-    free (Q) ;
-
-    free (Li) ;
-
-    free (Wi) ;
-    free (W) ;
-
-    umfpack_zl_free_symbolic (&Symbolic) ;
-    umfpack_zl_free_numeric (&Numeric) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* print the total time spent in this demo */
-    /* ---------------------------------------------------------------------- */
-
-    umfpack_toc (t) ;
-    printf ("\numfpack_zl_demo complete.\nTotal time: %5.2f seconds"
-	" (CPU time), %5.2f seconds (wallclock time)\n", t [1], t [0]) ;
-    return (0) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Demo/umfpack_zl_demo.out	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1541 +0,0 @@
-
-UMFPACK V4.4 (Jan. 28, 2005) demo: _zl_ version
-
-UMFPACK:  Copyright (c) 2005 by Timothy A. Davis.  All Rights Reserved.
-
-
-UMFPACK License:
-
-   Your use or distribution of UMFPACK or any modified version of
-   UMFPACK implies that you agree to this License.
-
-   THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
-   EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
-
-   Permission is hereby granted to use or copy this program, provided
-   that the Copyright, this License, and the Availability of the original
-   version is retained on all copies.  User documentation of any code that
-   uses UMFPACK or any modified version of UMFPACK code must cite the
-   Copyright, this License, the Availability note, and "Used by permission."
-   Permission to modify the code and to distribute modified code is granted,
-   provided the Copyright, this License, and the Availability note are
-   retained, and a notice that the code was modified is included.  This
-   software was developed with support from the National Science Foundation,
-   and is provided to you free of charge.
-
-Availability: http://www.cise.ufl.edu/research/sparse/umfpack
-
-UMFPACK V4.4 (Jan. 28, 2005): OK
-
-
-UMFPACK V4.4 (Jan. 28, 2005), Control:
-
-    Matrix entry defined as: double complex
-    Int (generic integer) defined as: long
-
-    0: print level: 5
-    1: dense row parameter:    0.2
-        "dense" rows have    > max (16, (0.2)*16*sqrt(n_col) entries)
-    2: dense column parameter: 0.2
-        "dense" columns have > max (16, (0.2)*16*sqrt(n_row) entries)
-    3: pivot tolerance: 0.1
-    4: block size for dense matrix kernels: 32
-    5: strategy: 0 (auto)
-    6: initial allocation ratio: 0.7
-    7: max iterative refinement steps: 2
-    12: 2-by-2 pivot tolerance: 0.01
-    13: Q fixed during numerical factorization: 0 (auto)
-    14: AMD dense row/col parameter:    10
-       "dense" rows/columns have > max (16, (10)*sqrt(n)) entries
-        Only used if the AMD ordering is used.
-    15: diagonal pivot tolerance: 0.001
-        Only used if diagonal pivoting is attempted.
-    16: scaling: 1 (divide each row by sum of abs. values in each row)
-    17: frontal matrix allocation ratio: 0.5
-    18: drop tolerance: 0
-    19: AMD and COLAMD aggressive absorption: 1 (yes)
-
-    The following options can only be changed at compile-time:
-    8: BLAS library used:  none.  UMFPACK will be slow.
-    9: compiled for ANSI C (uses malloc, free, realloc, and printf)
-    10: CPU timer is POSIX times ( ) routine.
-    11: compiled for normal operation (debugging disabled)
-    computer/operating system: Linux
-    size of int: 4 long: 4 Int: 4 pointer: 4 double: 8 Entry: 16 (in bytes)
-
-
-b: dense vector, n = 5. 
-    0 : (8 + 1i)
-    1 : (45 - 5i)
-    2 : (-3 - 2i)
-    3 : (3 + 0i)
-    4 : (19 + 2.2i)
-    dense vector OK
-
-
-A: triplet-form matrix, n_row = 5, n_col = 5 nz = 12. 
-    0 : 0 0  (2 + 1i)
-    1 : 4 4  (1 + 0.4i)
-    2 : 1 0  (3 + 0.1i)
-    3 : 1 2  (4 + 0.2i)
-    4 : 2 1  (-1 - 1i)
-    5 : 2 2  (-3 - 0.2i)
-    6 : 0 1  (3 + 0i)
-    7 : 1 4  (6 + 6i)
-    8 : 2 3  (2 + 3i)
-    9 : 3 2  (1 + 0i)
-    10 : 4 1  (4 + 0.3i)
-    11 : 4 2  (2 + 0.3i)
-    triplet-form matrix OK
-
-
-A: column-form matrix, n_row 5 n_col 5, nz = 12. 
-
-    column 0: start: 0 end: 1 entries: 2
-	row 0 : (2 + 1i)
-	row 1 : (3 + 0.1i)
-
-    column 1: start: 2 end: 4 entries: 3
-	row 0 : (3 + 0i)
-	row 2 : (-1 - 1i)
-	row 4 : (4 + 0.3i)
-
-    column 2: start: 5 end: 8 entries: 4
-	row 1 : (4 + 0.2i)
-	row 2 : (-3 - 0.2i)
-	row 3 : (1 + 0i)
-	row 4 : (2 + 0.3i)
-
-    column 3: start: 9 end: 9 entries: 1
-	row 2 : (2 + 3i)
-
-    column 4: start: 10 end: 11 entries: 2
-	row 1 : (6 + 6i)
-	row 4 : (1 + 0.4i)
-    column-form matrix OK
-
-
-Symbolic factorization of A: Symbolic object: 
-    matrix to be factorized:
-	n_row: 5 n_col: 5
-	number of entries: 12
-    block size used for dense matrix kernels:   32
-    strategy used:                              unsymmetric
-    ordering used:                              colamd on A
-
-    performn column etree postorder:            yes
-    prefer diagonal pivoting (attempt P=Q):     no
-    variable-size part of Numeric object:
-	minimum initial size (Units): 84  (MBytes): 0.0
-	estimated peak size (Units):  2542  (MBytes): 0.0
-	estimated final size (Units): 25  (MBytes): 0.0
-    symbolic factorization memory usage (Units): 144  (MBytes): 0.0
-    frontal matrices / supercolumns:
-	number of frontal chains: 1
-	number of frontal matrices: 1
-	largest frontal matrix row dimension: 3
-	largest frontal matrix column dimension: 3
-
-    Frontal chain: 0.  Frontal matrices 0 to 0
-	Largest frontal matrix in Frontal chain: 3-by-3
-	Front: 0  pivot cols: 3 (pivot columns 0 to 2)
-	    pivot row candidates: 2 to 4
-	    leftmost descendant: 0
-	    1st new candidate row : 2
-	    parent: (none)
-
-Initial column permutation, Q1: permutation vector, n = 5. 
-    0 : 3 
-    1 : 2 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-Initial row permutation, P1: permutation vector, n = 5. 
-    0 : 2 
-    1 : 3 
-    2 : 0 
-    3 : 1 
-    4 : 4 
-    permutation vector OK
-
-    Symbolic object:  OK
-
-
-Numeric factorization of A: Numeric object:  
-    n_row: 5  n_col: 5
-    relative pivot tolerance used:              0.1
-    relative symmetric pivot tolerance used:    0.001
-    matrix scaled: yes (divided each row by sum abs value in each row)
-    minimum sum (abs (rows of A)):              1.00000e+00
-    maximum sum (abs (rows of A)):              1.93000e+01
-    initial allocation parameter used:          0.7
-    frontal matrix allocation parameter used:   0.5
-    final total size of Numeric object (Units): 99
-    final total size of Numeric object (MBytes): 0.0
-    peak size of variable-size part (Units):    2527
-    peak size of variable-size part (MBytes):   0.0
-    largest actual frontal matrix size:         4
-    memory defragmentations:                    1
-    memory reallocations:                       1
-    costly memory reallocations:                0
-    entries in compressed pattern (L and U):    2
-    number of nonzeros in L (excl diag):        4
-    number of entries stored in L (excl diag):  2
-    number of nonzeros in U (excl diag):        4
-    number of entries stored in U (excl diag):  2
-    factorization floating-point operations:    34
-    number of nonzeros on diagonal of U:        5
-    min abs. value on diagonal of U:            1.34629e-01
-    max abs. value on diagonal of U:            1.77313e+00
-    reciprocal condition number estimate:       7.59e-02
-
-Scale factors applied via multiplication
-Scale factors, Rs: dense vector, n = 5. 
-    0 : (0.166667)
-    1 : (0.0518135)
-    2 : (0.0980392)
-    3 : (1)
-    4 : (0.125)
-    dense vector OK
-
-
-P: row permutation vector, n = 5. 
-    0 : 2 
-    1 : 3 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-Q: column permutation vector, n = 5. 
-    0 : 3 
-    1 : 2 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-L in Numeric object, in column-oriented compressed-pattern form:
-    Diagonal entries are all equal to 1.0 (not stored)
-
-    column 0:  length 0.
-
-    column 1:  length 2.
-	row 4 :  (0.207254 + 0.0103627i)
-	row 3 :  (0.25 + 0.0375i)
-
-    column 2:  add 1 entries.  length 1.  Start of Lchain.
-	row 4 :  (0.379275 - 0.174093i)
-
-    column 3:  length 1.
-	row 4 :  (3.00161 + 1.2864i)
-
-    column 4:  length 0.  Start of Lchain.
-
-
-U in Numeric object, in row-oriented compressed-pattern form:
-    Diagonal is stored separately.
-
-    row 4:  length 0.  End of Uchain.
-
-    row 3:  length 1.  End of Uchain.
-	col 4 : (0.5 + 0.0375i)
-
-    row 2:  length 1.
-	col 4 : (0.5 + 0i)
-
-    row 1:  length 0.  End of Uchain.
-
-    row 1:  length 0.
-
-    row 0:  length 2.
-	col 1 :  (-0.294118 - 0.0196078i)
-	col 4 :  (-0.0980392 - 0.0980392i)
-
-
-diagonal of U: dense vector, n = 5. 
-    0 : (0.196078 + 0.294118i)
-    1 : (1 + 0i)
-    2 : (0.333333 + 0.166667i)
-    3 : (0.125 + 0.05i)
-    4 : (-1.6422 - 0.668715i)
-    dense vector OK
-
-    Numeric object:  OK
-
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double complex
-    Int (generic integer) defined as: long
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       5
-    number of columns in matrix A:    5
-    entries in matrix A:              12
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          16 bytes
-
-    strategy used:                    unsymmetric
-    ordering used:                    colamd on A
-    modify Q during factorization:    yes
-    prefer diagonal pivoting:         no
-    pivots with zero Markowitz cost:               2
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    0
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    3
-        symmetry of nonzero pattern:               1.000000
-        nz in S+S' (excl. diagonal):               4
-        nz on diagonal of matrix S:                2
-        fraction of nz on diagonal:                0.666667
-    2-by-2 pivoting to place large entries on diagonal:
-        # of small diagonal entries of S:          1
-        # unmatched:                               0
-        symmetry of P2*S:                          0.000000
-        nz in P2*S+(P2*S)' (excl. diag.):          6
-        nz on diagonal of P2*S:                    3
-        fraction of nz on diag of P2*S:            1.000000
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 144
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         45
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    matrix scaled: yes (divided each row by sum of abs values in each row)
-    minimum sum (abs (rows of A)):              1.00000e+00
-    maximum sum (abs (rows of A)):              1.93000e+01
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                      84                   79    94%
-        peak size (Units)                       2542                 2527    99%
-        final size (Units)                        25                   21    84%
-    Numeric final size (Units)                   106                  100    94%
-    Numeric final size (MBytes)                  0.0                  0.0    94%
-    peak memory usage (Units)                   2737                 2722    99%
-    peak memory usage (MBytes)                   0.0                  0.0    99%
-    numeric factorization flops          6.70000e+01          3.40000e+01    51%
-    nz in L (incl diagonal)                       10                    9    90%
-    nz in U (incl diagonal)                       10                    9    90%
-    nz in L+U (incl diagonal)                     15                   13    87%
-    largest front (# entries)                      9                    4    44%
-    largest # rows in front                        3                    2    67%
-    largest # columns in front                     3                    2    67%
-
-    initial allocation ratio used:                 0.7
-    # of forced updates due to frontal growth:     0
-    nz in L (incl diagonal), if none dropped       9
-    nz in U (incl diagonal), if none dropped       9
-    number of small entries dropped                0
-    nonzeros on diagonal of U:                     5
-    min abs. value on diagonal of U:               1.35e-01
-    max abs. value on diagonal of U:               1.77e+00
-    estimate of reciprocal of condition number:    7.59e-02
-    indices in compressed pattern:                 2
-    numerical values stored in Numeric object:     9
-    numeric factorization defragmentations:        1
-    numeric factorization reallocations:           1
-    costly numeric factorization reallocations:    0
-    numeric factorization CPU time (sec):          0.00
-    numeric factorization wallclock time (sec):    0.00
-    symbolic + numeric CPU time (sec):             0.00
-    symbolic + numeric wall clock time (sec):      0.00
-
-    solve flops:                                   5.23000e+02
-    iterative refinement steps taken:              0
-    iterative refinement steps attempted:          0
-    sparse backward error omega1:                  7.87e-17
-    sparse backward error omega2:                  0.00e+00
-    solve CPU time (sec):                          0.00
-    solve wall clock time (sec):                   0.00
-
-    total symbolic + numeric + solve flops:        5.57000e+02
-    total symbolic + numeric + solve CPU time:     0.00
-    total symbolic+numeric+solve wall clock time:  0.00
-
-
-UMFPACK:  Copyright (c) 2005 by Timothy A. Davis.  All Rights Reserved.
-
-UMFPACK V4.4 (Jan. 28, 2005): OK
-
-
-x (solution of Ax=b): dense vector, n = 5. 
-    0 : (0.121188 - 0.561001i)
-    1 : (2.39887 + 0.666938i)
-    2 : (3 + 0i)
-    3 : (1.57395 - 1.52801i)
-    4 : (2.3876 - 3.04245i)
-    dense vector OK
-
-maxnorm of residual: 6.21725e-15
-
-
-UMFPACK:  Copyright (c) 2005 by Timothy A. Davis.  All Rights Reserved.
-
-UMFPACK V4.4 (Jan. 28, 2005): OK
-
-determinant: (-1.7814+ (2.3784)i) * 10^(2)
-
-x (solution of Ax=b, solve is split into 3 steps): dense vector, n = 5. 
-    0 : (0.121188 - 0.561001i)
-    1 : (2.39887 + 0.666938i)
-    2 : (3 + 0i)
-    3 : (1.57395 - 1.52801i)
-    4 : (2.3876 - 3.04245i)
-    dense vector OK
-
-maxnorm of residual: 6.21725e-15
-
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double complex
-    Int (generic integer) defined as: long
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       5
-    number of columns in matrix A:    5
-    entries in matrix A:              12
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          16 bytes
-
-    strategy used:                    unsymmetric
-    ordering used:                    colamd on A
-    modify Q during factorization:    yes
-    prefer diagonal pivoting:         no
-    pivots with zero Markowitz cost:               2
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    0
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    3
-        symmetry of nonzero pattern:               1.000000
-        nz in S+S' (excl. diagonal):               4
-        nz on diagonal of matrix S:                2
-        fraction of nz on diagonal:                0.666667
-    2-by-2 pivoting to place large entries on diagonal:
-        # of small diagonal entries of S:          1
-        # unmatched:                               0
-        symmetry of P2*S:                          0.000000
-        nz in P2*S+(P2*S)' (excl. diag.):          6
-        nz on diagonal of P2*S:                    3
-        fraction of nz on diag of P2*S:            1.000000
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 144
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         45
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    matrix scaled: yes (divided each row by sum of abs values in each row)
-    minimum sum (abs (rows of A)):              1.00000e+00
-    maximum sum (abs (rows of A)):              1.93000e+01
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                      84                   79    94%
-        peak size (Units)                       2542                 2527    99%
-        final size (Units)                        25                   21    84%
-    Numeric final size (Units)                   106                  100    94%
-    Numeric final size (MBytes)                  0.0                  0.0    94%
-    peak memory usage (Units)                   2737                 2722    99%
-    peak memory usage (MBytes)                   0.0                  0.0    99%
-    numeric factorization flops          6.70000e+01          3.40000e+01    51%
-    nz in L (incl diagonal)                       10                    9    90%
-    nz in U (incl diagonal)                       10                    9    90%
-    nz in L+U (incl diagonal)                     15                   13    87%
-    largest front (# entries)                      9                    4    44%
-    largest # rows in front                        3                    2    67%
-    largest # columns in front                     3                    2    67%
-
-    initial allocation ratio used:                 0.7
-    # of forced updates due to frontal growth:     0
-    nz in L (incl diagonal), if none dropped       9
-    nz in U (incl diagonal), if none dropped       9
-    number of small entries dropped                0
-    nonzeros on diagonal of U:                     5
-    min abs. value on diagonal of U:               1.35e-01
-    max abs. value on diagonal of U:               1.77e+00
-    estimate of reciprocal of condition number:    7.59e-02
-    indices in compressed pattern:                 2
-    numerical values stored in Numeric object:     9
-    numeric factorization defragmentations:        1
-    numeric factorization reallocations:           1
-    costly numeric factorization reallocations:    0
-    numeric factorization CPU time (sec):          0.00
-    numeric factorization wallclock time (sec):    0.00
-    symbolic + numeric CPU time (sec):             0.00
-    symbolic + numeric wall clock time (sec):      0.00
-
-    solve flops:                                   4.80000e+02
-    iterative refinement steps taken:              0
-    iterative refinement steps attempted:          0
-    sparse backward error omega1:                  6.06e-17
-    sparse backward error omega2:                  0.00e+00
-    solve CPU time (sec):                          0.00
-    solve wall clock time (sec):                   0.00
-
-    total symbolic + numeric + solve flops:        5.14000e+02
-    total symbolic + numeric + solve CPU time:     0.00
-    total symbolic+numeric+solve wall clock time:  0.00
-
-
-x (solution of A'x=b): dense vector, n = 5. 
-    0 : (3.39246 + 0.13257i)
-    1 : (0.31463 + 1.38626i)
-    2 : (0.461538 + 0.692308i)
-    3 : (-20.9089 - 1.55801i)
-    4 : (9.04015 - 0.613724i)
-    dense vector OK
-
-maxnorm of residual: 7.68703e-15
-
-
-changing A (1,4) to zero
-
-modified A: column-form matrix, n_row 5 n_col 5, nz = 12. 
-
-    column 0: start: 0 end: 1 entries: 2
-	row 0 : (2 + 1i)
-	row 1 : (3 + 0.1i)
-
-    column 1: start: 2 end: 4 entries: 3
-	row 0 : (3 + 0i)
-	row 2 : (-1 - 1i)
-	row 4 : (4 + 0.3i)
-
-    column 2: start: 5 end: 8 entries: 4
-	row 1 : (4 + 0.2i)
-	row 2 : (-3 - 0.2i)
-	row 3 : (1 + 0i)
-	row 4 : (2 + 0.3i)
-
-    column 3: start: 9 end: 9 entries: 1
-	row 2 : (2 + 3i)
-
-    column 4: start: 10 end: 11 entries: 2
-	row 1 : (0 + 0i)
-	row 4 : (1 + 0.4i)
-    column-form matrix OK
-
-
-Numeric factorization of modified A: Numeric object:  
-    n_row: 5  n_col: 5
-    relative pivot tolerance used:              0.1
-    relative symmetric pivot tolerance used:    0.001
-    matrix scaled: yes (divided each row by sum abs value in each row)
-    minimum sum (abs (rows of A)):              1.00000e+00
-    maximum sum (abs (rows of A)):              1.02000e+01
-    initial allocation parameter used:          0.7
-    frontal matrix allocation parameter used:   0.5
-    final total size of Numeric object (Units): 97
-    final total size of Numeric object (MBytes): 0.0
-    peak size of variable-size part (Units):    2527
-    peak size of variable-size part (MBytes):   0.0
-    largest actual frontal matrix size:         4
-    memory defragmentations:                    1
-    memory reallocations:                       1
-    costly memory reallocations:                0
-    entries in compressed pattern (L and U):    2
-    number of nonzeros in L (excl diag):        3
-    number of entries stored in L (excl diag):  1
-    number of nonzeros in U (excl diag):        4
-    number of entries stored in U (excl diag):  2
-    factorization floating-point operations:    17
-    number of nonzeros on diagonal of U:        5
-    min abs. value on diagonal of U:            1.34629e-01
-    max abs. value on diagonal of U:            1.00000e+00
-    reciprocal condition number estimate:       1.35e-01
-
-Scale factors applied via multiplication
-Scale factors, Rs: dense vector, n = 5. 
-    0 : (0.166667)
-    1 : (0.136986)
-    2 : (0.0980392)
-    3 : (1)
-    4 : (0.125)
-    dense vector OK
-
-
-P: row permutation vector, n = 5. 
-    0 : 2 
-    1 : 3 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-Q: column permutation vector, n = 5. 
-    0 : 3 
-    1 : 2 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-L in Numeric object, in column-oriented compressed-pattern form:
-    Diagonal entries are all equal to 1.0 (not stored)
-
-    column 0:  length 0.
-
-    column 1:  length 2.
-	row 4 :  (0.547945 + 0.0273973i)
-	row 3 :  (0.25 + 0.0375i)
-
-    column 2:  add 1 entries.  length 1.  Start of Lchain.
-	row 4 :  (1.00274 - 0.460274i)
-
-    column 3:  length 0.  Start of Lchain.
-
-    column 4:  length 0.  Start of Lchain.
-
-
-U in Numeric object, in row-oriented compressed-pattern form:
-    Diagonal is stored separately.
-
-    row 4:  length 0.  End of Uchain.
-
-    row 3:  length 1.  End of Uchain.
-	col 4 : (0.5 + 0.0375i)
-
-    row 2:  length 1.
-	col 4 : (0.5 + 0i)
-
-    row 1:  length 0.  End of Uchain.
-
-    row 1:  length 0.
-
-    row 0:  length 2.
-	col 1 :  (-0.294118 - 0.0196078i)
-	col 4 :  (-0.0980392 - 0.0980392i)
-
-
-diagonal of U: dense vector, n = 5. 
-    0 : (0.196078 + 0.294118i)
-    1 : (1 + 0i)
-    2 : (0.333333 + 0.166667i)
-    3 : (0.125 + 0.05i)
-    4 : (-0.50137 + 0.230137i)
-    dense vector OK
-
-    Numeric object:  OK
-
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double complex
-    Int (generic integer) defined as: long
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       5
-    number of columns in matrix A:    5
-    entries in matrix A:              12
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          16 bytes
-
-    strategy used:                    unsymmetric
-    ordering used:                    colamd on A
-    modify Q during factorization:    yes
-    prefer diagonal pivoting:         no
-    pivots with zero Markowitz cost:               2
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    0
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    3
-        symmetry of nonzero pattern:               1.000000
-        nz in S+S' (excl. diagonal):               4
-        nz on diagonal of matrix S:                2
-        fraction of nz on diagonal:                0.666667
-    2-by-2 pivoting to place large entries on diagonal:
-        # of small diagonal entries of S:          1
-        # unmatched:                               0
-        symmetry of P2*S:                          0.000000
-        nz in P2*S+(P2*S)' (excl. diag.):          6
-        nz on diagonal of P2*S:                    3
-        fraction of nz on diag of P2*S:            1.000000
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 144
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         45
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    matrix scaled: yes (divided each row by sum of abs values in each row)
-    minimum sum (abs (rows of A)):              1.00000e+00
-    maximum sum (abs (rows of A)):              1.02000e+01
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                      84                   79    94%
-        peak size (Units)                       2542                 2527    99%
-        final size (Units)                        25                   19    76%
-    Numeric final size (Units)                   106                   98    92%
-    Numeric final size (MBytes)                  0.0                  0.0    92%
-    peak memory usage (Units)                   2737                 2722    99%
-    peak memory usage (MBytes)                   0.0                  0.0    99%
-    numeric factorization flops          6.70000e+01          1.70000e+01    25%
-    nz in L (incl diagonal)                       10                    8    80%
-    nz in U (incl diagonal)                       10                    9    90%
-    nz in L+U (incl diagonal)                     15                   12    80%
-    largest front (# entries)                      9                    4    44%
-    largest # rows in front                        3                    2    67%
-    largest # columns in front                     3                    2    67%
-
-    initial allocation ratio used:                 0.7
-    # of forced updates due to frontal growth:     0
-    nz in L (incl diagonal), if none dropped       8
-    nz in U (incl diagonal), if none dropped       9
-    number of small entries dropped                0
-    nonzeros on diagonal of U:                     5
-    min abs. value on diagonal of U:               1.35e-01
-    max abs. value on diagonal of U:               1.00e+00
-    estimate of reciprocal of condition number:    1.35e-01
-    indices in compressed pattern:                 2
-    numerical values stored in Numeric object:     8
-    numeric factorization defragmentations:        1
-    numeric factorization reallocations:           1
-    costly numeric factorization reallocations:    0
-    numeric factorization CPU time (sec):          0.00
-    numeric factorization wallclock time (sec):    0.00
-    symbolic + numeric CPU time (sec):             0.00
-    symbolic + numeric wall clock time (sec):      0.00
-
-    solve flops:                                   5.15000e+02
-    iterative refinement steps taken:              0
-    iterative refinement steps attempted:          0
-    sparse backward error omega1:                  7.33e-17
-    sparse backward error omega2:                  0.00e+00
-    solve CPU time (sec):                          0.00
-    solve wall clock time (sec):                   0.00
-
-    total symbolic + numeric + solve flops:        5.32000e+02
-    total symbolic + numeric + solve CPU time:     0.00
-    total symbolic+numeric+solve wall clock time:  0.00
-
-
-x (with modified A): dense vector, n = 5. 
-    0 : (10.9256 - 2.23085i)
-    1 : (-5.36071 - 1.82131i)
-    2 : (3 + 0i)
-    3 : (-1.60191 - 1.88814i)
-    4 : (32.7361 - 2.90097i)
-    dense vector OK
-
-maxnorm of residual: 3.9968e-15
-
-changing real part of A (0,0) from 2 to 2
-changing real part of A (1,0) from 3 to 2
-changing real part of A (0,1) from 3 to 13
-changing real part of A (2,1) from -1 to 7
-changing real part of A (4,1) from 4 to 10
-changing real part of A (1,2) from 4 to 23
-changing real part of A (2,2) from -3 to 15
-changing real part of A (3,2) from 1 to 18
-changing real part of A (4,2) from 2 to 18
-changing real part of A (2,3) from 2 to 30
-changing real part of A (1,4) from 0 to 39
-changing real part of A (4,4) from 1 to 37
-
-completely modified A (same pattern): column-form matrix, n_row 5 n_col 5, nz = 12. 
-
-    column 0: start: 0 end: 1 entries: 2
-	row 0 : (2 + 1i)
-	row 1 : (2 + 0.1i)
-
-    column 1: start: 2 end: 4 entries: 3
-	row 0 : (13 + 0i)
-	row 2 : (7 - 1i)
-	row 4 : (10 + 0.3i)
-
-    column 2: start: 5 end: 8 entries: 4
-	row 1 : (23 + 0.2i)
-	row 2 : (15 - 0.2i)
-	row 3 : (18 + 0i)
-	row 4 : (18 + 0.3i)
-
-    column 3: start: 9 end: 9 entries: 1
-	row 2 : (30 + 3i)
-
-    column 4: start: 10 end: 11 entries: 2
-	row 1 : (39 + 0i)
-	row 4 : (37 + 0.4i)
-    column-form matrix OK
-
-
-Saving symbolic object:
-
-Freeing symbolic object:
-
-Loading symbolic object:
-
-Done loading symbolic object
-
-Numeric factorization of completely modified A: Numeric object:  
-    n_row: 5  n_col: 5
-    relative pivot tolerance used:              0.1
-    relative symmetric pivot tolerance used:    0.001
-    matrix scaled: yes (divided each row by sum abs value in each row)
-    minimum sum (abs (rows of A)):              1.60000e+01
-    maximum sum (abs (rows of A)):              6.60000e+01
-    initial allocation parameter used:          0.7
-    frontal matrix allocation parameter used:   0.5
-    final total size of Numeric object (Units): 99
-    final total size of Numeric object (MBytes): 0.0
-    peak size of variable-size part (Units):    2527
-    peak size of variable-size part (MBytes):   0.0
-    largest actual frontal matrix size:         4
-    memory defragmentations:                    1
-    memory reallocations:                       1
-    costly memory reallocations:                0
-    entries in compressed pattern (L and U):    2
-    number of nonzeros in L (excl diag):        4
-    number of entries stored in L (excl diag):  2
-    number of nonzeros in U (excl diag):        4
-    number of entries stored in U (excl diag):  2
-    factorization floating-point operations:    34
-    number of nonzeros on diagonal of U:        5
-    min abs. value on diagonal of U:            1.39754e-01
-    max abs. value on diagonal of U:            1.00000e+00
-    reciprocal condition number estimate:       1.40e-01
-
-Scale factors applied via multiplication
-Scale factors, Rs: dense vector, n = 5. 
-    0 : (0.0625)
-    1 : (0.0155521)
-    2 : (0.0177936)
-    3 : (0.0555556)
-    4 : (0.0151515)
-    dense vector OK
-
-
-P: row permutation vector, n = 5. 
-    0 : 2 
-    1 : 3 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-Q: column permutation vector, n = 5. 
-    0 : 3 
-    1 : 2 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-L in Numeric object, in column-oriented compressed-pattern form:
-    Diagonal entries are all equal to 1.0 (not stored)
-
-    column 0:  length 0.
-
-    column 1:  length 2.
-	row 4 :  (0.357698 + 0.00311042i)
-	row 3 :  (0.272727 + 0.00454545i)
-
-    column 2:  add 1 entries.  length 1.  Start of Lchain.
-	row 4 :  (0.204044 - 0.0895801i)
-
-    column 3:  length 1.
-	row 4 :  (1.0818 - 0.0116951i)
-
-    column 4:  length 0.  Start of Lchain.
-
-
-U in Numeric object, in row-oriented compressed-pattern form:
-    Diagonal is stored separately.
-
-    row 4:  length 0.  End of Uchain.
-
-    row 3:  length 1.  End of Uchain.
-	col 4 : (0.151515 + 0.00454545i)
-
-    row 2:  length 1.
-	col 4 : (0.8125 + 0i)
-
-    row 1:  length 0.  End of Uchain.
-
-    row 1:  length 0.
-
-    row 0:  length 2.
-	col 1 :  (0.266904 - 0.00355872i)
-	col 4 :  (0.124555 - 0.0177936i)
-
-
-diagonal of U: dense vector, n = 5. 
-    0 : (0.533808 + 0.0533808i)
-    1 : (1 + 0i)
-    2 : (0.125 + 0.0625i)
-    3 : (0.560606 + 0.00606061i)
-    4 : (-0.329747 + 0.0696386i)
-    dense vector OK
-
-    Numeric object:  OK
-
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double complex
-    Int (generic integer) defined as: long
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       5
-    number of columns in matrix A:    5
-    entries in matrix A:              12
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          16 bytes
-
-    strategy used:                    unsymmetric
-    ordering used:                    colamd on A
-    modify Q during factorization:    yes
-    prefer diagonal pivoting:         no
-    pivots with zero Markowitz cost:               2
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    0
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    3
-        symmetry of nonzero pattern:               1.000000
-        nz in S+S' (excl. diagonal):               4
-        nz on diagonal of matrix S:                2
-        fraction of nz on diagonal:                0.666667
-    2-by-2 pivoting to place large entries on diagonal:
-        # of small diagonal entries of S:          1
-        # unmatched:                               0
-        symmetry of P2*S:                          0.000000
-        nz in P2*S+(P2*S)' (excl. diag.):          6
-        nz on diagonal of P2*S:                    3
-        fraction of nz on diag of P2*S:            1.000000
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 144
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         45
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    matrix scaled: yes (divided each row by sum of abs values in each row)
-    minimum sum (abs (rows of A)):              1.60000e+01
-    maximum sum (abs (rows of A)):              6.60000e+01
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                      84                   79    94%
-        peak size (Units)                       2542                 2527    99%
-        final size (Units)                        25                   21    84%
-    Numeric final size (Units)                   106                  100    94%
-    Numeric final size (MBytes)                  0.0                  0.0    94%
-    peak memory usage (Units)                   2737                 2722    99%
-    peak memory usage (MBytes)                   0.0                  0.0    99%
-    numeric factorization flops          6.70000e+01          3.40000e+01    51%
-    nz in L (incl diagonal)                       10                    9    90%
-    nz in U (incl diagonal)                       10                    9    90%
-    nz in L+U (incl diagonal)                     15                   13    87%
-    largest front (# entries)                      9                    4    44%
-    largest # rows in front                        3                    2    67%
-    largest # columns in front                     3                    2    67%
-
-    initial allocation ratio used:                 0.7
-    # of forced updates due to frontal growth:     0
-    nz in L (incl diagonal), if none dropped       9
-    nz in U (incl diagonal), if none dropped       9
-    number of small entries dropped                0
-    nonzeros on diagonal of U:                     5
-    min abs. value on diagonal of U:               1.40e-01
-    max abs. value on diagonal of U:               1.00e+00
-    estimate of reciprocal of condition number:    1.40e-01
-    indices in compressed pattern:                 2
-    numerical values stored in Numeric object:     9
-    numeric factorization defragmentations:        1
-    numeric factorization reallocations:           1
-    costly numeric factorization reallocations:    0
-    numeric factorization CPU time (sec):          0.00
-    numeric factorization wallclock time (sec):    0.00
-    symbolic + numeric CPU time (sec):             0.00
-    symbolic + numeric wall clock time (sec):      0.00
-
-    solve flops:                                   5.23000e+02
-    iterative refinement steps taken:              0
-    iterative refinement steps attempted:          0
-    sparse backward error omega1:                  4.75e-17
-    sparse backward error omega2:                  0.00e+00
-    solve CPU time (sec):                          0.00
-    solve wall clock time (sec):                   0.00
-
-    total symbolic + numeric + solve flops:        5.57000e+02
-    total symbolic + numeric + solve CPU time:     0.00
-    total symbolic+numeric+solve wall clock time:  0.00
-
-
-x (with completely modified A): dense vector, n = 5. 
-    0 : (7.56307 - 3.68974i)
-    1 : (-0.831991 + 0.0627998i)
-    2 : (0.166667 + 0i)
-    3 : (-0.00206892 - 0.107735i)
-    4 : (0.658245 + 0.0407649i)
-    dense vector OK
-
-maxnorm of residual: 5.92582e-15
-
-
-C (transpose of A): column-form matrix, n_row 5 n_col 5, nz = 12. 
-
-    column 0: start: 0 end: 1 entries: 2
-	row 0 : (2 - 1i)
-	row 1 : (13 + 0i)
-
-    column 1: start: 2 end: 4 entries: 3
-	row 0 : (2 - 0.1i)
-	row 2 : (23 - 0.2i)
-	row 4 : (39 + 0i)
-
-    column 2: start: 5 end: 7 entries: 3
-	row 1 : (7 + 1i)
-	row 2 : (15 + 0.2i)
-	row 3 : (30 - 3i)
-
-    column 3: start: 8 end: 8 entries: 1
-	row 2 : (18 + 0i)
-
-    column 4: start: 9 end: 11 entries: 3
-	row 1 : (10 - 0.3i)
-	row 2 : (18 - 0.3i)
-	row 4 : (37 - 0.4i)
-    column-form matrix OK
-
-
-Symbolic factorization of C: Symbolic object: 
-    matrix to be factorized:
-	n_row: 5 n_col: 5
-	number of entries: 12
-    block size used for dense matrix kernels:   32
-    strategy used:                              unsymmetric
-    ordering used:                              colamd on A
-
-    performn column etree postorder:            yes
-    prefer diagonal pivoting (attempt P=Q):     no
-    variable-size part of Numeric object:
-	minimum initial size (Units): 85  (MBytes): 0.0
-	estimated peak size (Units):  2543  (MBytes): 0.0
-	estimated final size (Units): 26  (MBytes): 0.0
-    symbolic factorization memory usage (Units): 144  (MBytes): 0.0
-    frontal matrices / supercolumns:
-	number of frontal chains: 1
-	number of frontal matrices: 1
-	largest frontal matrix row dimension: 3
-	largest frontal matrix column dimension: 3
-
-    Frontal chain: 0.  Frontal matrices 0 to 0
-	Largest frontal matrix in Frontal chain: 3-by-3
-	Front: 0  pivot cols: 3 (pivot columns 0 to 2)
-	    pivot row candidates: 2 to 4
-	    leftmost descendant: 0
-	    1st new candidate row : 2
-	    parent: (none)
-
-Initial column permutation, Q1: permutation vector, n = 5. 
-    0 : 3 
-    1 : 2 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-Initial row permutation, P1: permutation vector, n = 5. 
-    0 : 2 
-    1 : 3 
-    2 : 0 
-    3 : 1 
-    4 : 4 
-    permutation vector OK
-
-    Symbolic object:  OK
-
-
-Get the contents of the Symbolic object for C:
-(compare with umfpack_zl_report_symbolic output, above)
-From the Symbolic object, C is of dimension 5-by-5
-   with nz = 12, number of fronts = 1,
-   number of frontal matrix chains = 1
-
-Pivot columns in each front, and parent of each front:
-    Front 0: parent front: -1 number of pivot cols: 3
-        0-th pivot column is column 3 in original matrix
-        1-th pivot column is column 2 in original matrix
-        2-th pivot column is column 0 in original matrix
-
-Note that the column ordering, above, will be refined
-in the numeric factorization below.  The assignment of pivot
-columns to frontal matrices will always remain unchanged.
-
-Total number of pivot columns in frontal matrices: 3
-
-Frontal matrix chains:
-   Frontal matrices 0 to 0 are factorized in a single
-        working array of size 3-by-3
-
-Numeric factorization of C: Numeric object:  
-    n_row: 5  n_col: 5
-    relative pivot tolerance used:              0.1
-    relative symmetric pivot tolerance used:    0.001
-    matrix scaled: yes (divided each row by sum abs value in each row)
-    minimum sum (abs (rows of A)):              5.10000e+00
-    maximum sum (abs (rows of A)):              7.64000e+01
-    initial allocation parameter used:          0.7
-    frontal matrix allocation parameter used:   0.5
-    final total size of Numeric object (Units): 100
-    final total size of Numeric object (MBytes): 0.0
-    peak size of variable-size part (Units):    2528
-    peak size of variable-size part (MBytes):   0.0
-    largest actual frontal matrix size:         4
-    memory defragmentations:                    1
-    memory reallocations:                       1
-    costly memory reallocations:                0
-    entries in compressed pattern (L and U):    2
-    number of nonzeros in L (excl diag):        3
-    number of entries stored in L (excl diag):  2
-    number of nonzeros in U (excl diag):        5
-    number of entries stored in U (excl diag):  2
-    factorization floating-point operations:    34
-    number of nonzeros on diagonal of U:        5
-    min abs. value on diagonal of U:            2.40964e-01
-    max abs. value on diagonal of U:            9.13625e-01
-    reciprocal condition number estimate:       2.64e-01
-
-Scale factors applied via multiplication
-Scale factors, Rs: dense vector, n = 5. 
-    0 : (0.196078)
-    1 : (0.0319489)
-    2 : (0.0133869)
-    3 : (0.030303)
-    4 : (0.013089)
-    dense vector OK
-
-
-P: row permutation vector, n = 5. 
-    0 : 2 
-    1 : 3 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-Q: column permutation vector, n = 5. 
-    0 : 3 
-    1 : 2 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-L in Numeric object, in column-oriented compressed-pattern form:
-    Diagonal entries are all equal to 1.0 (not stored)
-
-    column 0:  length 0.
-
-    column 1:  length 1.
-	row 4 :  (0.240091 + 0.0591529i)
-
-    column 2:  add 1 entries.  length 1.  Start of Lchain.
-	row 4 :  (0.847284 + 0.423642i)
-
-    column 3:  length 1.
-	row 4 :  (0.659838 - 0.0126577i)
-
-    column 4:  length 0.  Start of Lchain.
-
-
-U in Numeric object, in row-oriented compressed-pattern form:
-    Diagonal is stored separately.
-
-    row 4:  length 0.  End of Uchain.
-
-    row 3:  length 1.  End of Uchain.
-	col 4 : (0.510471 + 0i)
-
-    row 2:  length 1.
-	col 4 : (0.392157 - 0.0196078i)
-
-    row 1:  length 0.  End of Uchain.
-
-    row 1:  length 0.
-
-    row 0:  length 3.
-	col 1 :  (0.200803 + 0.00267738i)
-	col 3 :  (0.240964 - 0.00401606i)
-	col 4 :  (0.307898 - 0.00267738i)
-
-
-diagonal of U: dense vector, n = 5. 
-    0 : (0.240964 + 0i)
-    1 : (0.909091 - 0.0909091i)
-    2 : (0.392157 - 0.196078i)
-    3 : (0.484293 - 0.0052356i)
-    4 : (-0.677403 - 0.143059i)
-    dense vector OK
-
-    Numeric object:  OK
-
-
-L (lower triangular factor of C): row-form matrix, n_row 5 n_col 5, nz = 8. 
-
-    row 0: start: 0 end: 0 entries: 1
-	column 0 : (1 + 0i)
-
-    row 1: start: 1 end: 1 entries: 1
-	column 1 : (1 + 0i)
-
-    row 2: start: 2 end: 2 entries: 1
-	column 2 : (1 + 0i)
-
-    row 3: start: 3 end: 3 entries: 1
-	column 3 : (1 + 0i)
-
-    row 4: start: 4 end: 7 entries: 4
-	column 1 : (0.240091 + 0.0591529i)
-	column 2 : (0.847284 + 0.423642i)
-	column 3 : (0.659838 - 0.0126577i)
-	column 4 : (1 + 0i)
-    row-form matrix OK
-
-
-U (upper triangular factor of C): column-form matrix, n_row 5 n_col 5, nz = 10. 
-
-    column 0: start: 0 end: 0 entries: 1
-	row 0 : (0.240964 + 0i)
-
-    column 1: start: 1 end: 2 entries: 2
-	row 0 : (0.200803 + 0.00267738i)
-	row 1 : (0.909091 - 0.0909091i)
-
-    column 2: start: 3 end: 3 entries: 1
-	row 2 : (0.392157 - 0.196078i)
-
-    column 3: start: 4 end: 5 entries: 2
-	row 0 : (0.240964 - 0.00401606i)
-	row 3 : (0.484293 - 0.0052356i)
-
-    column 4: start: 6 end: 9 entries: 4
-	row 0 : (0.307898 - 0.00267738i)
-	row 2 : (0.392157 - 0.0196078i)
-	row 3 : (0.510471 + 0i)
-	row 4 : (-0.677403 - 0.143059i)
-    column-form matrix OK
-
-
-P: permutation vector, n = 5. 
-    0 : 2 
-    1 : 3 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-Q: permutation vector, n = 5. 
-    0 : 3 
-    1 : 2 
-    2 : 0 
-    3 : 4 
-    4 : 1 
-    permutation vector OK
-
-
-Scale factors: row i of A is to be multiplied by the ith scale factor
-0: 0.196078
-1: 0.0319489
-2: 0.0133869
-3: 0.030303
-4: 0.013089
-
-Converting L to triplet form, and printing it:
-
-L, in triplet form: triplet-form matrix, n_row = 5, n_col = 5 nz = 8. 
-    0 : 0 0  (1 + 0i)
-    1 : 1 1  (1 + 0i)
-    2 : 2 2  (1 + 0i)
-    3 : 3 3  (1 + 0i)
-    4 : 4 1  (0.240091 + 0.0591529i)
-    5 : 4 2  (0.847284 + 0.423642i)
-    6 : 4 3  (0.659838 - 0.0126577i)
-    7 : 4 4  (1 + 0i)
-    triplet-form matrix OK
-
-
-Saving numeric object:
-
-Freeing numeric object:
-
-Loading numeric object:
-
-Done loading numeric object
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double complex
-    Int (generic integer) defined as: long
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       5
-    number of columns in matrix A:    5
-    entries in matrix A:              12
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          16 bytes
-
-    strategy used:                    unsymmetric
-    ordering used:                    colamd on A
-    modify Q during factorization:    yes
-    prefer diagonal pivoting:         no
-    pivots with zero Markowitz cost:               2
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    0
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    3
-        symmetry of nonzero pattern:               1.000000
-        nz in S+S' (excl. diagonal):               4
-        nz on diagonal of matrix S:                2
-        fraction of nz on diagonal:                0.666667
-    2-by-2 pivoting to place large entries on diagonal:
-        # of small diagonal entries of S:          1
-        # unmatched:                               0
-        symmetry of P2*S:                          0.000000
-        nz in P2*S+(P2*S)' (excl. diag.):          6
-        nz on diagonal of P2*S:                    3
-        fraction of nz on diag of P2*S:            1.000000
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 144
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         45
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    matrix scaled: yes (divided each row by sum of abs values in each row)
-    minimum sum (abs (rows of A)):              5.10000e+00
-    maximum sum (abs (rows of A)):              7.64000e+01
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                      85                   80    94%
-        peak size (Units)                       2543                 2528    99%
-        final size (Units)                        26                   22    85%
-    Numeric final size (Units)                   107                  101    94%
-    Numeric final size (MBytes)                  0.0                  0.0    94%
-    peak memory usage (Units)                   2738                 2723    99%
-    peak memory usage (MBytes)                   0.0                  0.0    99%
-    numeric factorization flops          6.70000e+01          3.40000e+01    51%
-    nz in L (incl diagonal)                        9                    8    89%
-    nz in U (incl diagonal)                       11                   10    91%
-    nz in L+U (incl diagonal)                     15                   13    87%
-    largest front (# entries)                      9                    4    44%
-    largest # rows in front                        3                    2    67%
-    largest # columns in front                     3                    2    67%
-
-    initial allocation ratio used:                 0.7
-    # of forced updates due to frontal growth:     0
-    nz in L (incl diagonal), if none dropped       8
-    nz in U (incl diagonal), if none dropped       10
-    number of small entries dropped                0
-    nonzeros on diagonal of U:                     5
-    min abs. value on diagonal of U:               2.41e-01
-    max abs. value on diagonal of U:               9.14e-01
-    estimate of reciprocal of condition number:    2.64e-01
-    indices in compressed pattern:                 2
-    numerical values stored in Numeric object:     9
-    numeric factorization defragmentations:        1
-    numeric factorization reallocations:           1
-    costly numeric factorization reallocations:    0
-    numeric factorization CPU time (sec):          0.00
-    numeric factorization wallclock time (sec):    0.00
-    symbolic + numeric CPU time (sec):             0.00
-    symbolic + numeric wall clock time (sec):      0.00
-
-    solve flops:                                   4.80000e+02
-    iterative refinement steps taken:              0
-    iterative refinement steps attempted:          0
-    sparse backward error omega1:                  8.89e-17
-    sparse backward error omega2:                  0.00e+00
-    solve CPU time (sec):                          0.00
-    solve wall clock time (sec):                   0.00
-
-    total symbolic + numeric + solve flops:        5.14000e+02
-    total symbolic + numeric + solve CPU time:     0.00
-    total symbolic+numeric+solve wall clock time:  0.00
-
-
-x (solution of C'x=b): dense vector, n = 5. 
-    0 : (7.56307 - 3.68974i)
-    1 : (-0.831991 + 0.0627998i)
-    2 : (0.166667 + 0i)
-    3 : (-0.00206892 - 0.107735i)
-    4 : (0.658245 + 0.0407649i)
-    dense vector OK
-
-maxnorm of residual: 5.6552e-15
-
-
-Solving C'x=b again, using umfpack_zl_wsolve instead:
-
-UMFPACK V4.4 (Jan. 28, 2005), Info:
-    matrix entry defined as:          double complex
-    Int (generic integer) defined as: long
-    BLAS library used:                none.  UMFPACK will be slow.
-    MATLAB:                           no.
-    CPU timer:                        POSIX times ( ) routine.
-    number of rows in matrix A:       5
-    number of columns in matrix A:    5
-    entries in matrix A:              12
-    memory usage reported in:         8-byte Units
-    size of int:                      4 bytes
-    size of long:                     4 bytes
-    size of pointer:                  4 bytes
-    size of numerical entry:          16 bytes
-
-    strategy used:                    unsymmetric
-    ordering used:                    colamd on A
-    modify Q during factorization:    yes
-    prefer diagonal pivoting:         no
-    pivots with zero Markowitz cost:               2
-    submatrix S after removing zero-cost pivots:
-        number of "dense" rows:                    0
-        number of "dense" columns:                 0
-        number of empty rows:                      0
-        number of empty columns                    0
-        submatrix S square and diagonal preserved
-    pattern of square submatrix S:
-        number rows and columns                    3
-        symmetry of nonzero pattern:               1.000000
-        nz in S+S' (excl. diagonal):               4
-        nz on diagonal of matrix S:                2
-        fraction of nz on diagonal:                0.666667
-    2-by-2 pivoting to place large entries on diagonal:
-        # of small diagonal entries of S:          1
-        # unmatched:                               0
-        symmetry of P2*S:                          0.000000
-        nz in P2*S+(P2*S)' (excl. diag.):          6
-        nz on diagonal of P2*S:                    3
-        fraction of nz on diag of P2*S:            1.000000
-    symbolic factorization defragmentations:       0
-    symbolic memory usage (Units):                 144
-    symbolic memory usage (MBytes):                0.0
-    Symbolic size (Units):                         45
-    Symbolic size (MBytes):                        0
-    symbolic factorization CPU time (sec):         0.00
-    symbolic factorization wallclock time(sec):    0.00
-
-    matrix scaled: yes (divided each row by sum of abs values in each row)
-    minimum sum (abs (rows of A)):              5.10000e+00
-    maximum sum (abs (rows of A)):              7.64000e+01
-
-    symbolic/numeric factorization:      upper bound               actual      %
-    variable-sized part of Numeric object:
-        initial size (Units)                      85                   80    94%
-        peak size (Units)                       2543                 2528    99%
-        final size (Units)                        26                   22    85%
-    Numeric final size (Units)                   107                  101    94%
-    Numeric final size (MBytes)                  0.0                  0.0    94%
-    peak memory usage (Units)                   2738                 2723    99%
-    peak memory usage (MBytes)                   0.0                  0.0    99%
-    numeric factorization flops          6.70000e+01          3.40000e+01    51%
-    nz in L (incl diagonal)                        9                    8    89%
-    nz in U (incl diagonal)                       11                   10    91%
-    nz in L+U (incl diagonal)                     15                   13    87%
-    largest front (# entries)                      9                    4    44%
-    largest # rows in front                        3                    2    67%
-    largest # columns in front                     3                    2    67%
-
-    initial allocation ratio used:                 0.7
-    # of forced updates due to frontal growth:     0
-    nz in L (incl diagonal), if none dropped       8
-    nz in U (incl diagonal), if none dropped       10
-    number of small entries dropped                0
-    nonzeros on diagonal of U:                     5
-    min abs. value on diagonal of U:               2.41e-01
-    max abs. value on diagonal of U:               9.14e-01
-    estimate of reciprocal of condition number:    2.64e-01
-    indices in compressed pattern:                 2
-    numerical values stored in Numeric object:     9
-    numeric factorization defragmentations:        1
-    numeric factorization reallocations:           1
-    costly numeric factorization reallocations:    0
-    numeric factorization CPU time (sec):          0.00
-    numeric factorization wallclock time (sec):    0.00
-    symbolic + numeric CPU time (sec):             0.00
-    symbolic + numeric wall clock time (sec):      0.00
-
-    solve flops:                                   4.80000e+02
-    iterative refinement steps taken:              0
-    iterative refinement steps attempted:          0
-    sparse backward error omega1:                  8.89e-17
-    sparse backward error omega2:                  0.00e+00
-    solve CPU time (sec):                          0.00
-    solve wall clock time (sec):                   0.00
-
-    total symbolic + numeric + solve flops:        5.14000e+02
-    total symbolic + numeric + solve CPU time:     0.00
-    total symbolic+numeric+solve wall clock time:  0.00
-
-
-x (solution of C'x=b): dense vector, n = 5. 
-    0 : (7.56307 - 3.68974i)
-    1 : (-0.831991 + 0.0627998i)
-    2 : (0.166667 + 0i)
-    3 : (-0.00206892 - 0.107735i)
-    4 : (0.658245 + 0.0407649i)
-    dense vector OK
-
-maxnorm of residual: 5.6552e-15
-
-
-umfpack_zl_demo complete.
-Total time:  0.00 seconds (CPU time),  0.01 seconds (wallclock time)
--- a/liboctave/UMFPACK/UMFPACK/Demo/umfpack_zl_demo.sed	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-/::/d
-1,$s/_xx_/_zl_/g
-1,$s/Int/long/g
-1,$s/WSIZE/10/
-/define ABS/ {
-	s/ABS/ABS(x,z) ((x) >= 0 ? (x) : -(x)) + ((z) >= 0 ? (z) : -(z))/
-	}
--- a/liboctave/UMFPACK/UMFPACK/Doc/ChangeLog	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,385 +0,0 @@
-Jan. 28, 2005: v4.4 released
-
-    * bug fix:  when Qinit is provided to umfpack_*_qsymbolic,
-	only the symmetric and unsymmetric strategies are now permitted.
-	The auto and 2-by-2 strategies are not allowed.  In v4.3 and
-	earlier, providing Qinit and requesting the symmetric strategy
-	did not always work (you got the unsymmetric strategy instead).
-	This does not affect umfpack_*_symbolic, which computes its own
-	ordering and can use all 4 strategies (auto, symmetric, unsymmetric,
-	and 2-by-2).
-
-    * umfpack_get_determinant added.
-
-    * packed complex case added for all routines (previously only used in
-	umfpack_report_vector).  This allows arrays of ANSI C/C++ complex
-	type to be passed directly to UMFPACK.
-
-    * added umf_multicomple.c to assist in the compilation of UMFPACK
-	in Microsoft Visual Studio, which does not have the required
-	flexibility of the Unix "make" command.
-
-    * local variable declarations reordered to encourage double-word
-	alignment of double's and Entry's, for better performance.
-
-    * note that with the exception of the behavior when a user-provided
-	ordering is passed to umfpack_*_qsymbolic, versions 4.1 through 4.4
-	have comparable performance (ordering quality, memory usage,
-	and run time).  v4.1 is much better than v4.0 in performance.
-
-Jan. 11, 2005: v4.3.1 released
-
-    * bug fix in umf_solve.  This bug is only the 4th one found in the C
-	versions of UMFPACK to date (Version 3.0 to 4.3.1, from March 2001 to
-	Jan. 2005, excluding workarounds for quirky compilers).  No bugs have
-	been reported in the last Fortran version of UMFPACK (MA38, or UMFPACK
-	V2.2.1) since its release in Jan. 1998.
-
-	In Version 4.3, a bug in umf_solve caused iterative refinement
-	to be disabled when solving A'x=b or A.'x=b after factorizing A.
-	Modified the umfpack mexFunction to factorize A and then solve A'x=b
-	when performing the operation x=b/A (as "umfpack(b,'/',A).  Note that
-	this has no effect on the use of UMFPACK in MATLAB itself, since MATLAB
-	does not use the umfpack mexFunction for x=b/A.  When computing x=b/A,
-	MATLAB factorizes A' and computes x=(A'\b')' instead. The following
-	source code files changed:
-
-	    UMFPACK/MATLAB/umfpackmex.c	 (see above)
-	    UMFPACK/Source/umf_solve.c	 (see source code: 2 lines changed)
-	    UMFPACK/Include/umfpack.h    (version and date changed)
-	    UMFPACK/MATLAB/umfpack_test.m   (new file)
-
-Jan. 16, 2004: v4.3 released.
-
-    * user interface of v4.3 is upwardly-compatible with v4.2 and v4.1.
-	No bugs found in v4.1 (except for one workaround for an old compiler).
-	These changes add features only.
-
-    * Note that v4.0 has a bug in umf_scale_column.c.  The bug was patched
-	in that version on Jan. 12, 2004.  The bug does not appear in v4.1
-	and later.  The bug is thus present in MATLAB 6.5, but it occurs
-	very rarely, fortunately.  It can occur when dividing a nonzero entry
-	in the pivot column by the pivot value results in an underflow.
-
-    * <float.h> added to umfpackmex.c, for DBL_EPSILON.  Some non-standard
-	compilers (Microsoft Visual C++) require this.
-
-    * #pragma added to umf_analyze.c, as a workaround around a bug in an
-	old Intel compiler.
-
-    * mexFunction interface to MATLAB modified.  Call to mexCallMATLAB removed,
-	which can be slow.  In V4.1 it was used only to get MATLAB's
-	spparms ('spumoni') value.
-
-    * The AMD mexFunction was also modified in the same way (v1.1), with
-	the call to mexCallMATLAB removed.  Note that UMFPACK v4.1 through
-	v4.3 can use either AMD v1.0 or AMD v1.1.
-
-    * -DNO_DIVIDE_BY_ZERO option added.  If this non-default option is enabled
-	at compile time, and if the pivot value is zero, then no division
-	occurs (zeros on the diagonal of U are treated as if they were equal
-	to one).  By default, the division by zero does occur.
-
-    * -DNO_TIMER option added.  If this non-default option is enabled at
-	compile time, then no timers (times ( ), clock ( ), getrusage ( ))
-	are used.
-
-V4.2:  A special release for COMSOL, Inc., only (FEMLAB)
-
-    * drop tolerance added.  A few new parameters in the Control array are used,
-	and a few new Info entries.
-
-May 6, 2003:  V4.1 released.
-
-    * No bugs were found in the prior version, Version 4.0.  New features
-	added only.  Major changes throughout the code.  User interface
-	nearly unchanged, however.
-
-    * Version 4.1 is upward-compatible with Version 4.0.  The calling
-	sequence of some user-callable routines in Version 4.0 have changed
-	in this version.  The routines umfpack_*_symbolic, umfpack_*_qsymbolic,
-	umfpack_*_get_symbolic, and umfpack_*_get_numeric have new arguments
-	added to them.  The new arguments are optional.  If you want to use
-	a calling sequence similar to v4.0, simply pass NULL pointers in
-	place of the new arguments.  There are two new timing routines,
-	umfpack_tic and umfpack_toc.  A new user-callable routine, 
-	umfpack_*_scale, has been added.
-
-    *	"auto", "unsymmetric", "symmetric", and "2-by-2" strategies added.
-	The symmetric strategy uses AMD on A+A' as the column preordering,
-	followed by a postorder of the assembly tree of A+A'.  Column ordering
-	refinement is turned off, and diagonal entries are prefered as pivots.
-	V4.0 only had the unsymmetric strategy.  The 2-by-2 strategy does row
-	permutations and attempts to find a zero-free diagonal while at the
-	same time maintaining structural symmetry, and then uses the 
-	symmetric strategy on the permuted matrix.
-
-    * row-scaling added.  The default is to divide each row by the sum of
-	the absolute values of each row.  Other options are no scaling,
-	and to divide each row by the max abs value in each row.
-
-    * Matrices with upper bound memory usage greater than the maximum integer
-	(2GB for 32-bit int's) can now be factorized (assuming the actual
-	memory usage is still less than the maximum integer).  With this change,
-	the UMFPACK_ERROR_problem_too_large error code is no longer returned.
-
-    * The current frontal matrix (Work->Fx) is no longer allocated as a
-	static size, via malloc.  It can grow and shrink, and is allocated
-	from Numeric->Memory.
-
-    * The AMD (Version 1.0) package is now required.  It is available
-	separately.  To compile UMFPACK, it must appear as ../AMD if you are
-	in the main UMFPACK directory.
-
-    * The UMFPACK mexFunction now uses the internal utMalloc, utRealloc,
-	and utFree routines, by default (except on Windows).
-
-    * Three control parameters for modifying relaxed amalgamation removed.
-	These values are now fixed at compile-time.
-
-    * Many new statistics added to Info, and new control parameters added.
-
-    * The umfpack mexFunction now returns permutation matrices for P and Q,
-	not permutation vectors.  It also returns the scale factors as a
-	diagonal matrix.  The factorization is now L*U = P*(R\A)*Q.
-
-    * Option added for controlling the initial allocation of the workspace for
-	the current frontal matrix.
-
-    * pivot tolerance of zero treated differently.  symmetric pivot tolerance
-	added.
-
-    * Makefile and GNUmakefile changed.  umf_* routines with no double or
-	complex values are now compiled just twice (int and long versions)
-	rather than 4 times.
-
-    * New routines added to save and load the Numeric and Symbolic objects
-	to/from binary files.
-
-    * Simple Fortran interface added.
-
-Apr 11, 2002:
-
-    * Version 4.0 released.
-
-    * bug fix:  the Microsoft compiler doesn't handle NaN's properly.
-	utIsNaN, and other ut* routines, added for MathWorks version
-	to handle this properly.
-
-Apr 1, 2002:
-
-    * bug fix:  if a column was all NaN's, then UMFPACK would fail
-	to find a pivot row.  umf_row_search.c and umf_internal.h
-	modified to fix this problem.
-
-Mar 9, 2002:  V4.0beta released
-
-    * Map argument added to umfpack_*_triplet_to_col.  New files
-	(umf_triplet.[ch]) added.
-    * minor changes made so that UMFPACK can be compiled with g++ 
-    * additional error checking added to umfpack_*_numeric, for
-	detecting more changes in pattern (Ap, Ai) since last
-	call to umfpack_*_symbolic
-
-Feb 21, 2002:
-
-    * User Guide explains the Makefile vs. GNUmakefile
-
-    * umf_config.h modified, so that the complex SCSL C-BLAS uses
-	(void *) arguments instead of (scsl_zomplex *).  gcc generates
-	some spurious warnings (cc doesn't complain).  Affects the SGI
-	IRIX only.
-
-    * ported to Compaq Alpha
-
-Feb 20, 2002: V4.0 (alpha) released.
-
-    * V4.0 not yet ported to the Compaq Alpha (V3.2 was ported).
-
-Feb 6 to Feb 19, 2002:
-
-    * Relaxed restrictions on sizes of arrays for umfpack_*_transpose and
-	umfpack_*_triplet_to_col.  Size of "max(n,nz)" now just size nz.
-
-    * workspace for umfpack_*_wsolve increased in size.
-
-    * two user arrays for umfpack_*_get_symbolic increased in size,
-	by 1 (Chain_maxrows, Chain_maxcols).
-
-    * lu_normest.m added.
-
-Jan 18 to Feb 5, 2002:
-
-    * The matrix A can be complex, singular, and/or rectangular.
-	The solve step that uses the LU factors can only handle
-	matrices that are complex or real, singuluar or non-singular, 
-	and *** square ***, however.
-
-    * Estimate of the condition number computed:
-	(min (abs (diag (U))) / (max (abs (diag (U)))))
-
-    * Forward/backsolves can solve with A.' as well as A'.
-
-    * char * arguments removed from user-callable routines to make it
-	easier for Fortran to call UMFPACK.  No Fortran interface is (yet)
-	provided, however.
-
-	The solve codes for umfpack_*_*solve changed to #define'd
-	integers:
-
-	    UMFPACK_A       Ax=b
-	    UMFPACK_At      A'x=b
-	    UMFPACK_Aat     A.'x=b
-	    UMFPACK_Pt_L    P'Lx=b
-	    UMFPACK_L       Lx=b
-	    UMFPACK_Lt_P    L'Px=b
-	    UMFPACK_Lat_P   L.'Px=b
-	    UMFPACK_Lt      L'x=b
-	    UMFPACK_U_Qt    UQ'x=b
-	    UMFPACK_U       Ux=b
-	    UMFPACK_Q_Ut    QU'x=b
-	    UMFPACK_Q_Uat   QU.'x=b
-	    UMFPACK_Ut      U'x=b
-	    UMFPACK_Uat     U.'x=b
-
-	All arguments are now either int, long scalars (pass by value),
-	or int, long, double arrays (pass by reference), or void * pointers
-	(pass by value or reference).  A void * pointer is of size 32 or 64
-	bits on most machines.  There is no need for the caller (C or Fortran)
-	to dereference the void * pointers, so these can be treated as
-	integer*4 or integer*8 in Fortran.  A Fortran interface would have to
-	have all arguments passed by reference.
-
-    * All user-callable routine names changed.  The four sets are now:
-	umfpack_di_*	real (double precision), int's as integers
-	umfpack_dl_*	real (double precision), longs's as integers
-	umfpack_zi_*	real (double precision), int's as integers
-	umfpack_zl_*	real (double precision), longs's as integers
-
-    * Ptree (row preordering) and info on pivotal rows for each front
-	added to Symbolic object (extracted by umfpack_*_get_symbolic).
-	Ptree added as output argument to "umfpack (A, 'symbolic')"
-	mexFunction.
-
-    * umfpack_*_transpose can do A' or A.'
-
-    * umfpack_wsolve.c file removed (now generated from umfpack_solve.c).
-
-    * Can now extract just the diagonal of U with umfpack_*_get_numeric,
-	without having to extract the entire matrix U.
-
-    * UMFPACK_ERROR_singular_matrix (-2) removed.
-
-    * UMFPACK_WARNING_singular_matrix (1) added.
-
-    * Control [UMFPACK_PIVOT_OPTION] removed.  No longer any symmetric
-	pivot option (conflicts with the handling of singular and
-	rectangular matrices).
-
-    * Iterative refinement can do Ax=b, A'x=b, or A.'x=b.
-
-    * Most floating-point operations done in macros, to support the complex
-	versions.
-
-    * Info [UMFPACK_N] is now Info [UMFPACK_NROW]
-
-    * Info [UMFPACK_NCOL], Info [UMFPACK_UDIAG_NZ], Info [UMFPACK_UDIAG_NZ]
-	added.
-
-    * umfpack_* routines with "n" as input now use two arguments,
-	n_row and n_col.
-
-    * umfpack mexFunction now explicitly transposes A for b/A.  It computes
-	it using the array transpose as (A.'\b.').'
-
-January 1, 2002:  UMFPACK Version 3.2 released.  Submitted to ACM Trans.
-	on Mathematical Software.
-
-    * The umfpack mexFunction now returns the Info array when the matrix
-	is singular.  Returned an empty array prior to this change.
-
-    * Renamed variable that conflicted with system library routines
-    	(system and j1).
-
-    * Added a #ifdef MATHWORKS definition, so the built-in UMFPACK routine
-	(in a future release of MATLAB) can use the internal ut* memory
-	allocation routines, ut* assertion routine, and utPrintf.
-
-    * MAX and MIN are not defined if they are already defined.
-
-    * A bug fix in umf_kernel_init (a variable was not properly initialized).
-
-    * Removed unused variables.
-
-October 8, 2001:  UMFPACK Version 3.1 released.
-
-August-October, 2001:
-
-    * added umfpack_btf M-file.
-
-    * modified the BLAS update in the frontal matrix.  If there are only
-	a few pivots in remaining in the current front, then the BLAS3 update
-	is delayed to include pivots in the next front.
-
-    * Removed the special-case handling of dense columns from the numerical
-	factorization (kept it in the colamd preordering).  This improves the
-	performance of UMFPACK on dense matrices by a factor of 5 or so, and
-	simplifies the code.
-
-    * Added a symmetric-preference pivoting option.  The option slightly
-	(but uniformly) improves the ordering when factorizing matrices with
-	symmetric nonzero pattern.  That class of matrix is better handled by
-	the symmetric-pattern multifrontal method (MA41 in the Harwell
-	Subroutine Library), however.
-
-    * Fixed the detection of integer overflow.  The 32-bit version cannot
-	make use of more than 2GB of main memory (use the 64-bit version
-	in that case, instead).  The 32-bit version did not correctly detect
-	when it was trying to factorize too large of a matrix.
-
-May 4, 2001:
-
-    * SGI port extended.  It can now call the SCSL Scientific Library, with
-	64-bit BLAS.  Make.sgi and umf_config.h modified.
-
-April 30, 2001:  UMFPACK Version 3.0 released.  Changes since 3.0Beta release:
-
-    * Long integer version added (umfpack_l_* user-callable routines).
-
-    * Peak memory usage in the numerical factorization reduced by a total of
-	12n integers (8n temporary workspace used during numerical factorization,
-	and 4n for the permanent LU factors which was allocated
-	at the beginning of factorization).
-
-    * Ported to the IBM RS 6000 and Compaq Alpha, with help from Anshul Gupta
-	and Friedrich Grund, respectively.
-
-    * 64-bit version added.  Uses dgemm_64, dgemv_64, and dger_64 in the Sun
-	Performance Library.  64-bit versions with the BLAS might not work on
-	any other platform, because they take int's as their integer input
-	arguments instead of long's.  Unfortunately, the proposed ANSI
-	definition of the C-BLAS also uses int's as input integer arguments.
-	It ought to use long's, or include a version that uses long's, just
-	like the Sun Performance Library BLAS.
-
-    * Additional statistics returned in Info:
-	Info [UMFPACK_SIZE_OF_INT]	sizeof (int)
-	Info [UMFPACK_SIZE_OF_LONG]	sizeof (long)
-	Info [UMFPACK_SIZE_OF_POINTER]	sizeof (void *)
-	Info [UMFPACK_SIZE_OF_ENTRY]	(was Info [UMFPACK_WORD])
-	Info [UMFPACK_MAX_FRONT_SIZE_ESTIMATE]	est. front matrix size
-	Info [UMFPACK_MAX_FRONT_SIZE]	actual max frontal matrix size.
-	Contents of Info rearranged.
-
-    * UMFPACK_ERROR_bad_configurution error code replaced with
-	UMFPACK_ERROR_problem_too_large error code.  The "bad configuration"
-	error occured when sizeof (int) < sizeof (size_t).  Now, the int
-	version of UMFPACK can use 32-bit int's and 64-bit pointers, and the
-	long version can use 64-bit long's and 64-bit pointers.  Both versions
-	check to see if the array sizes allocated are larger than what can be
-	accessed by an integer index variable (int or long, depending on the
-	version), and returns UMFPACK_ERROR_problem_too_large if they become
-	too large.
-
-March 15, 2001:  UMFPACK Version 3.0Beta released.
-
--- a/liboctave/UMFPACK/UMFPACK/Doc/License	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-UMFPACK Version 4.4 (Jan. 28, 2005), Copyright (c) 2005 by Timothy A.
-Davis.  All Rights Reserved.
-
-UMFPACK License:
-
-    Your use or distribution of UMFPACK or any modified version of
-    UMFPACK implies that you agree to this License.
-
-    THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
-    EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
-
-    Permission is hereby granted to use or copy this program, provided
-    that the Copyright, this License, and the Availability of the original
-    version is retained on all copies.  User documentation of any code that
-    uses UMFPACK or any modified version of UMFPACK code must cite the
-    Copyright, this License, the Availability note, and "Used by permission."
-    Permission to modify the code and to distribute modified code is granted,
-    provided the Copyright, this License, and the Availability note are
-    retained, and a notice that the code was modified is included.  This
-    software was developed with support from the National Science Foundation,
-    and is provided to you free of charge.
-
-Availability:
-
-    http://www.cise.ufl.edu/research/sparse/umfpack
-
---------------------------------------------------------------------------------
-
-AMD Version 1.1 (Jan. 10, 2004),  Copyright (c) 2004 by Timothy A.
-Davis, Patrick R. Amestoy, and Iain S. Duff.  All Rights Reserved.
-
-AMD License:
-
-    Your use or distribution of AMD or any modified version of
-    AMD implies that you agree to this License.
-
-    THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
-    EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
-
-    Permission is hereby granted to use or copy this program, provided
-    that the Copyright, this License, and the Availability of the original
-    version is retained on all copies.  User documentation of any code that
-    uses AMD or any modified version of AMD code must cite the
-    Copyright, this License, the Availability note, and "Used by permission."
-    Permission to modify the code and to distribute modified code is granted,
-    provided the Copyright, this License, and the Availability note are
-    retained, and a notice that the code was modified is included.  This
-    software was developed with support from the National Science Foundation,
-    and is provided to you free of charge.
-
-Availability:
-
-    http://www.cise.ufl.edu/research/sparse/amd
--- a/liboctave/UMFPACK/UMFPACK/Doc/Makefile	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-#-------------------------------------------------------------------------------
-# UMFPACK Makefile for compiling on Unix systems (for GNU or original make)
-#-------------------------------------------------------------------------------
-
-# UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.
-# All Rights Reserved.  See ../Doc/License for License.
-
-all: dist
-
-include ../Make/Make.include
-
-#-------------------------------------------------------------------------------
-# Remove all but the files in the original distribution
-#-------------------------------------------------------------------------------
-
-# Note that UserGuide.tex is created from UserGuide.stex, the files in 
-# the ../Include directory, and the ../Demo/umfpack_simple.c file.
-purge: clean
-	- $(RM) *.aux *.bbl *.blg *.log *.toc
-	- $(RM) UserGuide.tex
-
-#-------------------------------------------------------------------------------
-# Create the User Guide and Quick Start Guide
-#-------------------------------------------------------------------------------
-
-UMFPACK = umfpack_col_to_triplet umfpack_defaults umfpack_free_numeric \
-	umfpack_free_symbolic umfpack_get_numeric umfpack_get_lunz \
-	umfpack_get_determinant \
-	umfpack_get_symbolic umfpack_numeric umfpack_qsymbolic \
-	umfpack_report_control umfpack_report_info umfpack_report_matrix \
-	umfpack_report_numeric umfpack_report_perm umfpack_report_status \
-	umfpack_report_symbolic umfpack_report_triplet \
-	umfpack_report_vector umfpack_solve umfpack_symbolic \
-	umfpack_transpose umfpack_triplet_to_col umfpack_scale
-
-UMFPACKW = umfpack_wsolve
-
-USER = $(UMFPACKW) $(UMFPACK)
-
-SRC = $(addprefix ../Include/, $(addsuffix .h,$(USER))) ../Demo/umfpack_simple.c
-
-UserGuide.pdf:  UserGuide.stex UserGuide.sed1 UserGuide.sed2 $(SRC)
-	sed -f UserGuide.sed1 < UserGuide.stex | sed -f UserGuide.sed2 \
-	    | expand -8 > UserGuide.tex
-	pdflatex UserGuide
-	bibtex UserGuide
-	pdflatex UserGuide
-	pdflatex UserGuide
-
-QuickStart.pdf: QuickStart.tex
-	pdflatex QuickStart
-	pdflatex QuickStart
-
-dist:  QuickStart.pdf UserGuide.pdf
-	- $(RM) *.aux *.bbl *.blg *.log *.toc
-	- $(RM) UserGuide.tex
Binary file liboctave/UMFPACK/UMFPACK/Doc/QuickStart.pdf has changed
--- a/liboctave/UMFPACK/UMFPACK/Doc/QuickStart.tex	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1029 +0,0 @@
-%-------------------------------------------------------------------------------
-% The QuickStart.tex file.
-%-------------------------------------------------------------------------------
-
-\documentclass[11pt]{article}
-
-\newcommand{\m}[1]{{\bf{#1}}}       % for matrices and vectors
-\newcommand{\tr}{^{\sf T}}          % transpose
-
-\topmargin 0in
-\textheight 9in
-\oddsidemargin 0pt
-\evensidemargin 0pt
-\textwidth 6.5in
-
-\begin{document}
-
-\author{Timothy A. Davis \\
-Dept. of Computer and Information Science and Engineering \\
-Univ. of Florida, Gainesville, FL}
-\title{UMFPACK Version 4.4 Quick Start Guide}
-\date{Jan. 28, 2005}
-\maketitle
-
-%-------------------------------------------------------------------------------
-\begin{abstract}
-    UMFPACK is a set of routines for solving unsymmetric sparse linear
-    systems, $\m{Ax}=\m{b}$, using the Unsymmetric-pattern MultiFrontal method
-    and direct sparse LU factorization.  It is written in ANSI/ISO C, with a
-    MATLAB interface.  UMFPACK relies on the Level-3
-    Basic Linear Algebra Subprograms (dense matrix multiply) for its
-    performance.  This code works on Windows and many versions of Unix (Sun
-    Solaris, Red Hat Linux, IBM AIX, SGI IRIX, and Compaq Alpha).
-    This is a ``quick start'' guide for Unix users of the C interface.
-\end{abstract}
-%-------------------------------------------------------------------------------
-
-UMFPACK Version 4.4 (Jan. 28, 2005), Copyright\copyright 2005 by Timothy A.
-Davis.  All Rights Reserved.  Refer to the UMFPACK User Guide
-for the License. See \newline
-http://www.cise.ufl.edu/research/sparse/umfpack
-for the code and full documentation.
-
-%-------------------------------------------------------------------------------
-\section{Overview}
-%-------------------------------------------------------------------------------
-
-UMFPACK is a set of routines for solving systems of linear
-equations, $\m{Ax}=\m{b}$, when $\m{A}$ is sparse and unsymmetric.
-The sparse matrix $\m{A}$ can be square or rectangular, singular
-or non-singular, and real or complex (or any combination).  Only square
-matrices $\m{A}$ can be used to solve $\m{Ax}=\m{b}$ or related systems.
-Rectangular matrices can only be factorized.
-
-UMFPACK Version 4.3 is a built-in routine in MATLAB 7.1, used by the forward and
-backslash operator, and the {\tt lu} routine.  MATLAB 6.5 used Version 4.0.
-The following is a short
-introduction to Unix users of the C interface of UMFPACK.
-
-%-------------------------------------------------------------------------------
-
-The C-callable UMFPACK library consists of 32 user-callable routines and one
-include file.  Twenty-eight of the routines come in four versions, with
-different sizes of integers and for real or complex floating-point numbers.
-This Quick Start Guide assumes you are working with real matrices
-(not complex) and with {\tt int}'s as integers (not {\tt long}'s).
-Refer to the User Guide for information about the complex and
-long integer versions.  The include file {\tt umfpack.h}
-must be included in any C program that uses UMFPACK.
-
-For more details, see:
-{\em A column pre-ordering strategy for the unsymmetric-pattern multifrontal method},
-Davis, T. A.,
-ACM Trans. Math. Software, vol 30. no 2, 2004, pp. 165-195, and
-{\em Algorithm 832:  {UMFPACK}, an unsymmetric-pattern multifrontal method},
-same issue, pp. 196-199.
-
-%-------------------------------------------------------------------------------
-\section{Primary routines, and a simple example}
-%-------------------------------------------------------------------------------
-
-Five primary UMFPACK routines are required to factorize $\m{A}$ or
-solve $\m{Ax}=\m{b}$.  An overview of the primary features of the routines
-is given in Section~\ref{Primary}.
-Additional routines are available for passing a different column ordering
-to UMFPACK, changing default parameters, manipulating sparse matrices,
-getting the LU factors, save and loading the LU factors from a file,
-computing the determinant,
-and reporting results.  See the User Guide for more information.
-
-\begin{itemize}
-\item {\tt umfpack\_di\_symbolic}:
-
-    Pre-orders the columns of $\m{A}$ to reduce fill-in and performs a
-    symbolic analysis.
-    Returns an opaque {\tt Symbolic} object as a {\tt void *}
-    pointer.  The object contains the symbolic analysis and is needed for the
-    numerical factorization.
-
-\item {\tt umfpack\_di\_numeric}:
-
-    Numerically scales and then factorizes a sparse matrix
-    $\m{PAQ}$, $\m{PRAQ}$, or $\m{PR}^{-1}\m{AQ}$ into the product $\m{LU}$,
-    where
-    $\m{P}$ and $\m{Q}$ are permutation matrices, $\m{R}$ is a diagonal
-    matrix of scale factors, $\m{L}$ is lower triangular with unit diagonal,
-    and $\m{U}$ is upper triangular.  Requires the
-    symbolic ordering and analysis computed by {\tt umfpack\_di\_symbolic}.
-    Returns an opaque {\tt Numeric} object as a
-    {\tt void *} pointer.  The object contains the numerical factorization and
-    is used by {\tt umfpack\_di\_solve}.
-
-\item {\tt umfpack\_di\_solve}:
-
-    Solves a sparse linear system ($\m{Ax}=\m{b}$, $\m{A}\tr\m{x}=\m{b}$, or
-    systems involving just $\m{L}$ or $\m{U}$), using the numeric factorization
-    computed by {\tt umfpack\_di\_numeric}.
-
-\item {\tt umfpack\_di\_free\_symbolic}:
-
-    Frees the {\tt Symbolic} object created by {\tt umfpack\_di\_symbolic}.
-
-\item {\tt umfpack\_di\_free\_numeric}:
-
-    Frees the {\tt Numeric} object created by {\tt umfpack\_di\_numeric}.
-
-\end{itemize}
-
-The matrix $\m{A}$ is represented in compressed column form, which is
-identical to the sparse matrix representation used by MATLAB.  It consists
-of three arrays, where the matrix is {\tt m}-by-{\tt n},
-with {\tt nz} entries:
-
-{\footnotesize
-\begin{verbatim}
-     int Ap [n+1] ;
-     int Ai [nz] ;
-     double Ax [nz] ;
-\end{verbatim}
-}
-
-All nonzeros are entries, but an entry may be numerically zero.  The row indices
-of entries in column {\tt j} are stored in
-    {\tt Ai[Ap[j]} ... {\tt Ap[j+1]-1]}.
-The corresponding numerical values are stored in
-    {\tt Ax[Ap[j]} ... {\tt Ap[j+1]-1]}.
-
-No duplicate row indices may be present, and the row indices in any given
-column must be sorted in ascending order.  The first entry {\tt Ap[0]} must be
-zero.  The total number of entries in the matrix is thus {\tt nz = Ap[n]}.
-Except for the fact that extra zero entries can be included, there is thus a
-unique compressed column representation of any given matrix $\m{A}$.
-
-Here is a simple main program, {\tt umfpack\_simple.c}, that illustrates the
-basic usage of UMFPACK.
-
-{\footnotesize
-\begin{verbatim}
-    #include <stdio.h>
-    #include "umfpack.h"
-
-    int    n = 5 ;
-    int    Ap [ ] = {0, 2, 5, 9, 10, 12} ;
-    int    Ai [ ] = { 0,  1,  0,   2,  4,  1,  2,  3,   4,  2,  1,  4} ;
-    double Ax [ ] = {2., 3., 3., -1., 4., 4., -3., 1., 2., 2., 6., 1.} ;
-    double b [ ] = {8., 45., -3., 3., 19.} ;
-    double x [5] ;
-
-    int main (void)
-    {
-        double *null = (double *) NULL ;
-        int i ;
-        void *Symbolic, *Numeric ;
-        (void) umfpack_di_symbolic (n, n, Ap, Ai, Ax, &Symbolic, null, null) ;
-        (void) umfpack_di_numeric (Ap, Ai, Ax, Symbolic, &Numeric, null, null) ;
-        umfpack_di_free_symbolic (&Symbolic) ;
-        (void) umfpack_di_solve (UMFPACK_A, Ap, Ai, Ax, x, b, Numeric, null, null) ;
-        umfpack_di_free_numeric (&Numeric) ;
-        for (i = 0 ; i < n ; i++) printf ("x [%d] = %g\n", i, x [i]) ;
-        return (0) ;
-    }
-\end{verbatim}
-}
-
-The {\tt Ap}, {\tt Ai}, and {\tt Ax} arrays represent the matrix
-\[
-\m{A} = \left[
-\begin{array}{rrrrr}
- 2 &  3 &  0 &  0 &  0 \\
- 3 &  0 &  4 &  0 &  6 \\
- 0 & -1 & -3 &  2 &  0 \\
- 0 &  0 &  1 &  0 &  0 \\
- 0 &  4 &  2 &  0 &  1 \\
-\end{array}
-\right].
-\]
-and the solution is $\m{x} = [1 \, 2 \, 3 \, 4 \, 5]\tr$.  The program uses
-default control settings and does not return any statistics about the ordering,
-factorization, or solution ({\tt Control} and {\tt Info} are both
-{\tt (double *) NULL}).
-
-For routines to manipulate a simpler ``triplet-form'' data structure for your
-sparse matrix $\m{A}$, refer to the UMFPACK User Guide.
-
-%-------------------------------------------------------------------------------
-\section{Synopsis of primary C-callable routines}
-\label{Synopsis}
-%-------------------------------------------------------------------------------
-
-The matrix $\m{A}$ is {\tt m}-by-{\tt n} with {\tt nz} entries.
-The optional {\tt umfpack\_di\_defaults} routine loads the default control
-parameters into the {\tt Control} array.  The settings can then be modified
-before passing the array to the other routines.  Refer to Section~\ref{Primary}
-for more details.
-
-{\footnotesize
-\begin{verbatim}
-    #include "umfpack.h"
-    int status, sys, n, m, nz, Ap [n+1], Ai [nz] ;
-    double Control [UMFPACK_CONTROL], Info [UMFPACK_INFO], Ax [nz], X [n], B [n] ;
-    void *Symbolic, *Numeric ;
-
-    status = umfpack_di_symbolic (m, n, Ap, Ai, Ax, &Symbolic, Control, Info) ;
-    status = umfpack_di_numeric (Ap, Ai, Ax, Symbolic, &Numeric, Control, Info) ;
-    status = umfpack_di_solve (sys, Ap, Ai, Ax, X, B, Numeric, Control, Info) ;
-    umfpack_di_free_symbolic (&Symbolic) ;
-    umfpack_di_free_numeric (&Numeric) ;
-    umfpack_di_defaults (Control) ;
-\end{verbatim}
-}
-
-%-------------------------------------------------------------------------------
-\section{Installation}
-\label{Install}
-%-------------------------------------------------------------------------------
-
-You will need to install both UMFPACK v4.4 and AMD v1.1 (or AMD v1.0) to use UMFPACK.
-The {\tt UMFPACK} and {\tt AMD} subdirectories must be placed side-by-side
-within the same parent directory.  AMD is a stand-alone package that
-is required by UMFPACK.  UMFPACK can be compiled without the
-BLAS but your performance will be much less than what it should be.
-
-System-dependent configurations are in the {\tt AMD/Make}
-and {\tt UMFPACK/Make} directories
-(Note that {\tt UMFPACK/Make} is a symbolic link to {\tt AMD/Make}).
-You can edit the {\tt Make.include}
-file in those directories to customize the compilation.  The default
-settings will work on most systems, except that UMFPACK will be compiled so
-that it does not use the BLAS.  Sample configuration files are provided
-for Linux, Sun Solaris, SGI IRIX, IBM AIX, and the DEC/Compaq Alpha.
-
-To compile and install both packages,
-go to the UMFPACK directory and type {\tt make}.  This will compile the
-libraries ({\tt AMD/Lib/libamd.a} and {\tt UMFPACK/Lib/libumfpack.a}).
-A demo of the AMD ordering routine will be compiled and tested in
-the {\tt AMD/Demo} directory, and five demo programs will then be
-compiled and tested in the {\tt UMFPACK/Demo} directory.
-The outputs of these demo programs will then be compared with output
-files in the distribution.  Expect to see a few differences, such as
-residual norms, compile-time control settings, and perhaps memory usage
-differences.  The AMD and MATLAB mexFunctions for
-use in MATLAB will also be compiled.  If you do not have MATLAB,
-type {\tt make lib} instead.
-
-If you compile UMFPACK and AMD and then later change the {\tt Make.include}
-file or your system-specific configuration file such as {\tt Make.linux},
-then you should type {\tt make purge} and then {\tt make} to recompile.
-
-Here are the various parameters that you can control in your
-{\tt Make.include} file:
-
-\begin{itemize}
-\item {\tt CC = } your C compiler, such as {\tt cc}.
-\item {\tt RANLIB = } your system's {\tt ranlib} program, if needed.
-\item {\tt CFLAGS = } optimization flags, such as {\tt -O}.
-\item {\tt CONFIG = } configuration settings, for the BLAS, memory allocation
-    routines, and timing routines.
-\item {\tt LIB = } your libraries, such as {\tt -lm} or {\tt -lblas}.
-\item {\tt RM =} the command to delete a file.
-\item {\tt MV =} the command to rename a file.
-\item {\tt MEX =} the command to compile a MATLAB mexFunction.
-\item {\tt F77 =} the command to compile a Fortran program (optional).
-\item {\tt F77FLAGS =} the Fortran compiler flags (optional).
-\item {\tt F77LIB =} the Fortran libraries (optional).
-\end{itemize}
-
-The {\tt CONFIG} string can include combinations of the following;
-most deal with how the BLAS are called:
-\begin{itemize}
-\item {\tt -DNBLAS} if you do not have any BLAS at all.
-\item {\tt -DCBLAS} if you have the C-BLAS.
-\item {\tt -DNSUNPERF} if you are on Solaris but do not have the Sun
-    Performance Library.
-\item {\tt -DNSCSL} if you on SGI IRIX but do not have the SCSL BLAS library.
-\item {\tt -DLONGBLAS} if your BLAS can take {\tt long} integer input
-    arguments.
-\item Options for controlling how C calls the Fortran BLAS:
-    {\tt -DBLAS\_BY\_VALUE}, {\tt -DBLAS\_NO\_UNDERSCORE},
-    and {\tt -DBLAS\_CHAR\_ARG}.  These are set automatically for Windows,
-    Sun Solaris, SGI Irix, Red Hat Linux, Compaq Alpha, and
-    AIX (the IBM RS 6000).
-\item {\tt -DGETRUSAGE} if you have the {\tt getrusage} function.
-\item {\tt -DLP64} if you are compiling in the LP64 model (32 bit {\tt int}'s,
-    64 bit {\tt long}'s, and 64 bit pointers).
-\item {\tt -DNUTIL} if you wish to compile the MATLAB-callable
-    UMFPACK mexFunction with the {\tt mxMalloc}, {\tt mxRealloc}
-    and {\tt mxFree} routines, instead of the undocumented (but
-    superior) {\tt utMalloc}, {\tt utRealloc}, and {\tt utFree}
-    routines.
-\item {\tt -DNPOSIX} if you do not have the POSIX-compliant
-    {\tt sysconf} and {\tt times} routines.
-\item {\tt -DNRECIPROCAL} controls a trade-off between speed and accuracy.
-    This is off by default (speed preferred over accuracy) except when
-    compiling for MATLAB.
-\end{itemize}
-
-When you compile your program that uses the C-callable UMFPACK library,
-you need to add the both {\tt UMFPACK/Lib/libumfpack.a} and
-{\tt AMD/Lib/libamd.a}
-libraries, and you need to tell your compiler to look in the
-directories {\tt UMFPACK/Include} and {\tt AMD/Include} for include
-files.  See {\tt UMFPACK/Demo/Makefile} for an example.
-You do not need to directly include any AMD include files in your
-program, unless you directly call AMD routines.  You only need the
-\begin{verbatim}
-#include "umfpack.h"
-\end{verbatim}
-statement, as described in Section~\ref{Synopsis}.
-
-%-------------------------------------------------------------------------------
-\newpage
-\section{The primary UMFPACK routines}
-\label{Primary}
-%-------------------------------------------------------------------------------
-
-\subsection{umfpack\_di\_symbolic}
-
-{\footnotesize
-\begin{verbatim}
-int umfpack_di_symbolic
-(
-    int n_row,
-    int n_col,
-    const int Ap [ ],
-    const int Ai [ ],
-    const double Ax [ ],
-    void **Symbolic,
-    const double Control [UMFPACK_CONTROL],
-    double Info [UMFPACK_INFO]
-) ;
-
-Purpose:
-
-    Given nonzero pattern of a sparse matrix A in column-oriented form,
-    umfpack_di_symbolic performs a column pre-ordering to reduce fill-in
-    (using COLAMD or AMD) and a symbolic factorization.  This is required
-    before the matrix can be numerically factorized with umfpack_di_numeric.
-
-    For the following discussion, let S be the submatrix of A obtained after
-    eliminating all pivots of zero Markowitz cost.  S has dimension
-    (n_row-n1-nempty_row) -by- (n_col-n1-nempty_col), where
-    n1 = Info [UMFPACK_COL_SINGLETONS] + Info [UMFPACK_ROW_SINGLETONS],
-    nempty_row = Info [UMFPACK_NEMPTY_ROW] and
-    nempty_col = Info [UMFPACK_NEMPTY_COL].
-
-Returns:
-
-    The status code is returned.  See Info [UMFPACK_STATUS], below.
-
-Arguments:
-
-    Int n_row ;         Input argument, not modified.
-    Int n_col ;         Input argument, not modified.
-
-        A is an n_row-by-n_col matrix.  Restriction: n_row > 0 and n_col > 0.
-
-    Int Ap [n_col+1] ;  Input argument, not modified.
-
-        Ap is an integer array of size n_col+1.  On input, it holds the
-        "pointers" for the column form of the sparse matrix A.  Column j of
-        the matrix A is held in Ai [(Ap [j]) ... (Ap [j+1]-1)].  The first
-        entry, Ap [0], must be zero, and Ap [j] <= Ap [j+1] must hold for all
-        j in the range 0 to n_col-1.  The value nz = Ap [n_col] is thus the
-        total number of entries in the pattern of the matrix A.  nz must be
-        greater than or equal to zero.
-
-    Int Ai [nz] ;       Input argument, not modified, of size nz = Ap [n_col].
-
-        The nonzero pattern (row indices) for column j is stored in
-        Ai [(Ap [j]) ... (Ap [j+1]-1)].  The row indices in a given column j
-        must be in ascending order, and no duplicate row indices may be present.
-        Row indices must be in the range 0 to n_row-1 (the matrix is 0-based).
-
-    double Ax [nz] ;    Optional input argument, not modified.
-
-        The numerical values of the sparse matrix A.  The nonzero pattern (row
-        indices) for column j is stored in Ai [(Ap [j]) ... (Ap [j+1]-1)], and
-        the corresponding numerical values are stored in
-        Ax [(Ap [j]) ... (Ap [j+1]-1)].  Used only by the 2-by-2 strategy to
-        determine whether entries are "large" or "small".  You do not have to
-        pass the same numerical values to umfpack_di_numeric.  If Ax is not
-        present (a (double *) NULL pointer), then any entry in A is assumed to
-        be "large".
-
-    void **Symbolic ;   Output argument.
-
-        **Symbolic is the address of a (void *) pointer variable in the user's
-        calling routine (see Syntax, above).  On input, the contents of this
-        variable are not defined.  On output, this variable holds a (void *)
-        pointer to the Symbolic object (if successful), or (void *) NULL if
-        a failure occurred.
-
-    double Control [UMFPACK_CONTROL] ;  Input argument, not modified.
-
-        If a (double *) NULL pointer is passed, then the default control
-        settings are used.  Only the primary parameters are listed below:
-
-        Control [UMFPACK_STRATEGY]:  This is the most important control
-            parameter.  It determines what kind of ordering and pivoting
-            strategy that UMFPACK should use.  It is new to Version 4.1
-            There are 4 options:
-
-            UMFPACK_STRATEGY_AUTO:  This is the default.  The input matrix is
-                analyzed to determine how symmetric the nonzero pattern is, and
-                how many entries there are on the diagonal.  It then selects one
-                of the following strategies.  Refer to the User Guide for a
-                description of how the strategy is automatically selected.
-
-            UMFPACK_STRATEGY_UNSYMMETRIC:  Use the unsymmetric strategy.  COLAMD
-                is used to order the columns of A, followed by a postorder of
-                the column elimination tree.  No attempt is made to perform
-                diagonal pivoting.  The column ordering is refined during
-                factorization.  This strategy was the only one provided with
-                UMFPACK V4.0.
-
-                In the numerical factorization, the
-                Control [UMFPACK_SYM_PIVOT_TOLERANCE] parameter is ignored.  A
-                pivot is selected if its magnitude is >=
-                Control [UMFPACK_PIVOT_TOLERANCE] (default 0.1) times the
-                largest entry in its column.
-
-            UMFPACK_STRATEGY_SYMMETRIC:  Use the symmetric strategy (new to
-                Version 4.1).  In this method, the approximate minimum degree
-                ordering (AMD) is applied to A+A', followed by a postorder of
-                the elimination tree of A+A'.  UMFPACK attempts to perform
-                diagonal pivoting during numerical factorization.  No refinement
-                of the column preordering is performed during factorization.
-
-                In the numerical factorization, a nonzero entry on the diagonal
-                is selected as the pivot if its magnitude is >= Control
-                [UMFPACK_SYM_PIVOT_TOLERANCE] (default 0.001) times the largest
-                entry in its column.  If this is not acceptable, then an
-                off-diagonal pivot is selected with magnitude >= Control
-                [UMFPACK_PIVOT_TOLERANCE] (default 0.1) times the largest entry
-                in its column.
-
-            UMFPACK_STRATEGY_2BY2:  a row permutation P2 is found that places
-                large entries on the diagonal.  The matrix P2*A is then
-                factorized using the symmetric strategy, described above.
-                Refer to the User Guide for more information.
-
-        Control [UMFPACK_2BY2_TOLERANCE]:  a diagonal entry S (k,k) is
-            considered "small" if it is < tol * max (abs (S (:,k))), where S a
-            submatrix of the scaled input matrix, with pivots of zero Markowitz
-            cost removed.
-
-        Control [UMFPACK_SCALE]:  This parameter is new to V4.1.  See
-            umfpack_numeric.h for a description.  Only affects the 2-by-2
-            strategy.  Default: UMFPACK_SCALE_SUM.
-
-    double Info [UMFPACK_INFO] ;        Output argument, not defined on input.
-
-        Contains statistics about the symbolic analysis.  If a (double *) NULL
-        pointer is passed, then no statistics are returned in Info (this is not
-        an error condition).  The entire Info array is cleared (all entries set
-        to -1) and then the following statistics are computed (only the
-        primary statistics are listed):
-
-        Info [UMFPACK_STATUS]: status code.  This is also the return value,
-            whether or not Info is present.
-
-            UMFPACK_OK
-
-                Each column of the input matrix contained row indices
-                in increasing order, with no duplicates.  Only in this case
-                does umfpack_di_symbolic compute a valid symbolic factorization.
-                For the other cases below, no Symbolic object is created
-                (*Symbolic is (void *) NULL).
-
-            UMFPACK_ERROR_n_nonpositive
-
-                n is less than or equal to zero.
-
-            UMFPACK_ERROR_invalid_matrix
-
-                Number of entries in the matrix is negative, Ap [0] is nonzero,
-                a column has a negative number of entries, a row index is out of
-                bounds, or the columns of input matrix were jumbled (unsorted
-                columns or duplicate entries).
-
-            UMFPACK_ERROR_out_of_memory
-
-                Insufficient memory to perform the symbolic analysis.  If the
-                analysis requires more than 2GB of memory and you are using
-                the 32-bit ("int") version of UMFPACK, then you are guaranteed
-                to run out of memory.  Try using the 64-bit version of UMFPACK.
-
-            UMFPACK_ERROR_argument_missing
-
-                One or more required arguments is missing.
-
-            UMFPACK_ERROR_internal_error
-
-                Something very serious went wrong.  This is a bug.
-                Please contact the author (davis@cise.ufl.edu).
-
-        Info [UMFPACK_SIZE_OF_UNIT]:  the number of bytes in a Unit,
-            for memory usage statistics below.
-
-        Info [UMFPACK_SYMBOLIC_PEAK_MEMORY]:  the amount of memory (in Units)
-            required for umfpack_di_symbolic to complete.  This count includes
-            the size of the Symbolic object itself, which is also reported in
-            Info [UMFPACK_SYMBOLIC_SIZE].
-
-        Info [UMFPACK_NUMERIC_SIZE_ESTIMATE]:  an estimate of the final size (in
-            Units) of the entire Numeric object (both fixed-size and variable-
-            sized parts), which holds the LU factorization (including the L, U,
-            P and Q matrices).
-
-        Info [UMFPACK_PEAK_MEMORY_ESTIMATE]:  an estimate of the total amount of
-            memory (in Units) required by umfpack_di_symbolic and
-            umfpack_di_numeric to perform both the symbolic and numeric
-            factorization.  This is the larger of the amount of memory needed
-            in umfpack_di_numeric itself, and the amount of memory needed in
-            umfpack_di_symbolic (Info [UMFPACK_SYMBOLIC_PEAK_MEMORY]).  The
-            count includes the size of both the Symbolic and Numeric objects
-            themselves.  It can be a very loose upper bound, particularly when
-            the symmetric or 2-by-2 strategies are used.
-
-        Info [UMFPACK_FLOPS_ESTIMATE]:  an estimate of the total floating-point
-            operations required to factorize the matrix.  This is a "true"
-            theoretical estimate of the number of flops that would be performed
-            by a flop-parsimonious sparse LU algorithm.  It assumes that no
-            extra flops are performed except for what is strictly required to
-            compute the LU factorization.  It ignores, for example, the flops
-            performed by umfpack_di_numeric to add contribution blocks of
-            frontal matrices together.  If L and U are the upper bound on the
-            pattern of the factors, then this flop count estimate can be
-            represented in MATLAB (for real matrices, not complex) as:
-
-                Lnz = full (sum (spones (L))) - 1 ;     % nz in each col of L
-                Unz = full (sum (spones (U')))' - 1 ;   % nz in each row of U
-                flops = 2*Lnz*Unz + sum (Lnz) ;
-
-            The actual "true flop" count found by umfpack_di_numeric will be
-            less than this estimate.
-
-        Info [UMFPACK_LNZ_ESTIMATE]:  an estimate of the number of nonzeros in
-            L, including the diagonal.  Since L is unit-diagonal, the diagonal
-            of L is not stored.  This estimate is a strict upper bound on the
-            actual nonzeros in L to be computed by umfpack_di_numeric.
-
-        Info [UMFPACK_UNZ_ESTIMATE]:  an estimate of the number of nonzeros in
-            U, including the diagonal.  This estimate is a strict upper bound on
-            the actual nonzeros in U to be computed by umfpack_di_numeric.
-
-        Info [UMFPACK_SYMBOLIC_TIME]:  The CPU time taken, in seconds.
-
-        Info [UMFPACK_STRATEGY_USED]: The ordering strategy used:
-            UMFPACK_STRATEGY_SYMMETRIC, UMFPACK_STRATEGY_UNSYMMETRIC, or
-            UMFPACK_STRATEGY_2BY2.
-\end{verbatim}
-}
-
-
-%-------------------------------------------------------------------------------
-\newpage
-\subsection{umfpack\_di\_numeric}
-
-{\footnotesize
-\begin{verbatim}
-int umfpack_di_numeric
-(
-    const int Ap [ ],
-    const int Ai [ ],
-    const double Ax [ ],
-    void *Symbolic,
-    void **Numeric,
-    const double Control [UMFPACK_CONTROL],
-    double Info [UMFPACK_INFO]
-) ;
-
-Purpose:
-
-    Given a sparse matrix A in column-oriented form, and a symbolic analysis
-    computed by umfpack_di_symbolic, the umfpack_di_numeric routine performs the
-    numerical factorization, PAQ=LU, PRAQ=LU, or P(R\A)Q=LU, where P and Q are
-    permutation matrices (represented as permutation vectors), R is the row
-    scaling, L is unit-lower triangular, and U is upper triangular.  This is
-    required before the system Ax=b (or other related linear systems) can be
-    solved.  umfpack_di_numeric can be called multiple times for each call to
-    umfpack_di_symbolic, to factorize a sequence of matrices with identical
-    nonzero pattern.  Simply compute the Symbolic object once, with
-    umfpack_di_symbolic, and reuse it for subsequent matrices.
-    umfpack_di_numeric safely detects if the pattern changes, and sets an
-    appropriate error code.
-
-Returns:
-
-    The status code is returned.  See Info [UMFPACK_STATUS], below.
-
-Arguments:
-
-    Int Ap [n_col+1] ;  Input argument, not modified.
-
-        This must be identical to the Ap array passed to umfpack_di_symbolic.
-        The value of n_col is what was passed to umfpack_di_symbolic (this is
-        held in the Symbolic object).
-
-    Int Ai [nz] ;       Input argument, not modified, of size nz = Ap [n_col].
-
-        This must be identical to the Ai array passed to umfpack_di_symbolic.
-
-    double Ax [nz] ;    Input argument, not modified, of size nz = Ap [n_col].
-
-        The numerical values of the sparse matrix A.  The nonzero pattern (row
-        indices) for column j is stored in Ai [(Ap [j]) ... (Ap [j+1]-1)], and
-        the corresponding numerical values are stored in
-        Ax [(Ap [j]) ... (Ap [j+1]-1)].
-
-    void *Symbolic ;    Input argument, not modified.
-
-        The Symbolic object, which holds the symbolic factorization computed by
-        umfpack_di_symbolic.  The Symbolic object is not modified by
-        umfpack_di_numeric.
-
-    void **Numeric ;    Output argument.
-
-        **Numeric is the address of a (void *) pointer variable in the user's
-        calling routine (see Syntax, above).  On input, the contents of this
-        variable are not defined.  On output, this variable holds a (void *)
-        pointer to the Numeric object (if successful), or (void *) NULL if
-        a failure occurred.
-
-    double Control [UMFPACK_CONTROL] ;   Input argument, not modified.
-
-        If a (double *) NULL pointer is passed, then the default control
-        settings are used.  Only the primary parameters are listed below:
-
-        Control [UMFPACK_PIVOT_TOLERANCE]:  relative pivot tolerance for
-            threshold partial pivoting with row interchanges.  In any given
-            column, an entry is numerically acceptable if its absolute value is
-            greater than or equal to Control [UMFPACK_PIVOT_TOLERANCE] times
-            the largest absolute value in the column.  A value of 1.0 gives true
-            partial pivoting.  If less than or equal to zero, then any nonzero
-            entry is numerically acceptable as a pivot (this is changed from
-            Version 4.0).  Default: 0.1.
-
-            Smaller values tend to lead to sparser LU factors, but the solution
-            to the linear system can become inaccurate.  Larger values can lead
-            to a more accurate solution (but not always), and usually an
-            increase in the total work.
-
-        Control [UMFPACK_SYM_PIVOT_TOLERANCE]:  This parameter is new to V4.1.
-            If diagonal pivoting is attempted (the symmetric or symmetric-2by2
-            strategies are used) then this parameter is used to control when the
-            diagonal entry is selected in a given pivot column.  The absolute
-            value of the entry must be >= Control [UMFPACK_SYM_PIVOT_TOLERANCE]
-            times the largest absolute value in the column.  A value of zero
-            will ensure that no off-diagonal pivoting is performed, except that
-            zero diagonal entries are not selected if there are any off-diagonal
-            nonzero entries.
-
-            If an off-diagonal pivot is selected, an attempt is made to restore
-            symmetry later on.  Suppose A (i,j) is selected, where i != j.
-            If column i has not yet been selected as a pivot column, then
-            the entry A (j,i) is redefined as a "diagonal" entry, except that
-            the tighter tolerance (Control [UMFPACK_PIVOT_TOLERANCE]) is
-            applied.  This strategy has an effect similar to 2-by-2 pivoting
-            for symmetric indefinite matrices.  If a 2-by-2 block pivot with
-            nonzero structure
-
-                       i j
-                    i: 0 x
-                    j: x 0
-
-            is selected in a symmetric indefinite factorization method, the
-            2-by-2 block is inverted and a rank-2 update is applied.  In
-            UMFPACK, this 2-by-2 block would be reordered as
-
-                       j i
-                    i: x 0
-                    j: 0 x
-
-            In both cases, the symmetry of the Schur complement is preserved.
-
-        Control [UMFPACK_SCALE]:  This parameter is new to V4.1.  Version 4.0
-            did not scale the matrix.  Note that the user's input matrix is
-            never modified, only an internal copy is scaled.
-
-            There are three valid settings for this parameter.  If any other
-            value is provided, the default is used.
-
-            UMFPACK_SCALE_NONE:  no scaling is performed.
-
-            UMFPACK_SCALE_SUM:  each row of the input matrix A is divided by
-                the sum of the absolute values of the entries in that row.
-                The scaled matrix has an infinity norm of 1.
-
-            UMFPACK_SCALE_MAX:  each row of the input matrix A is divided by
-                the maximum the absolute values of the entries in that row.
-                In the scaled matrix the largest entry in each row has
-                a magnitude exactly equal to 1.
-
-            Scaling is very important for the "symmetric" strategy when
-            diagonal pivoting is attempted.  It also improves the performance
-            of the "unsymmetric" strategy.
-
-            Default: UMFPACK_SCALE_SUM.
-
-    double Info [UMFPACK_INFO] ;        Output argument.
-
-        Contains statistics about the numeric factorization.  If a
-        (double *) NULL pointer is passed, then no statistics are returned in
-        Info (this is not an error condition).  The following statistics are
-        computed in umfpack_di_numeric (only the primary statistics are listed):
-
-        Info [UMFPACK_STATUS]: status code.  This is also the return value,
-            whether or not Info is present.
-
-            UMFPACK_OK
-
-                Numeric factorization was successful.  umfpack_di_numeric
-                computed a valid numeric factorization.
-
-            UMFPACK_WARNING_singular_matrix
-
-                Numeric factorization was successful, but the matrix is
-                singular.  umfpack_di_numeric computed a valid numeric
-                factorization, but you will get a divide by zero in
-                umfpack_di_solve.  For the other cases below, no Numeric object
-                is created (*Numeric is (void *) NULL).
-
-            UMFPACK_ERROR_out_of_memory
-
-                Insufficient memory to complete the numeric factorization.
-
-            UMFPACK_ERROR_argument_missing
-
-                One or more required arguments are missing.
-
-            UMFPACK_ERROR_invalid_Symbolic_object
-
-                Symbolic object provided as input is invalid.
-
-            UMFPACK_ERROR_different_pattern
-
-                The pattern (Ap and/or Ai) has changed since the call to
-                umfpack_di_symbolic which produced the Symbolic object.
-
-        Info [UMFPACK_NUMERIC_SIZE]:  the actual final size (in Units) of the
-            entire Numeric object, including the final size of the variable
-            part of the object.  Info [UMFPACK_NUMERIC_SIZE_ESTIMATE],
-            an estimate, was computed by umfpack_di_symbolic.  The estimate is
-            normally an upper bound on the actual final size, but this is not
-            guaranteed.
-
-        Info [UMFPACK_PEAK_MEMORY]:  the actual peak memory usage (in Units) of
-            both umfpack_di_symbolic and umfpack_di_numeric.  An estimate,
-            Info [UMFPACK_PEAK_MEMORY_ESTIMATE], was computed by
-            umfpack_di_symbolic.  The estimate is normally an upper bound on the
-            actual peak usage, but this is not guaranteed.  With testing on
-            hundreds of matrix arising in real applications, I have never
-            observed a matrix where this estimate or the Numeric size estimate
-            was less than the actual result, but this is theoretically possible.
-            Please send me one if you find such a matrix.
-
-        Info [UMFPACK_FLOPS]:  the actual count of the (useful) floating-point
-            operations performed.  An estimate, Info [UMFPACK_FLOPS_ESTIMATE],
-            was computed by umfpack_di_symbolic.  The estimate is guaranteed to
-            be an upper bound on this flop count.  The flop count excludes
-            "useless" flops on zero values, flops performed during the pivot
-            search (for tentative updates and assembly of candidate columns),
-            and flops performed to add frontal matrices together.
-
-        Info [UMFPACK_LNZ]: the actual nonzero entries in final factor L,
-            including the diagonal.  This excludes any zero entries in L,
-            although some of these are stored in the Numeric object.  The
-            Info [UMFPACK_LU_ENTRIES] statistic does account for all
-            explicitly stored zeros, however.  Info [UMFPACK_LNZ_ESTIMATE],
-            an estimate, was computed by umfpack_di_symbolic.  The estimate is
-            guaranteed to be an upper bound on Info [UMFPACK_LNZ].
-
-        Info [UMFPACK_UNZ]: the actual nonzero entries in final factor U,
-            including the diagonal.  This excludes any zero entries in U,
-            although some of these are stored in the Numeric object.  The
-            Info [UMFPACK_LU_ENTRIES] statistic does account for all
-            explicitly stored zeros, however.  Info [UMFPACK_UNZ_ESTIMATE],
-            an estimate, was computed by umfpack_di_symbolic.  The estimate is
-            guaranteed to be an upper bound on Info [UMFPACK_UNZ].
-
-        Info [UMFPACK_NUMERIC_TIME]:  The CPU time taken, in seconds.
-\end{verbatim}
-}
-
-%-------------------------------------------------------------------------------
-\newpage
-\subsection{umfpack\_di\_solve}
-
-{\footnotesize
-\begin{verbatim}
-int umfpack_di_solve
-(
-    int sys,
-    const int Ap [ ],
-    const int Ai [ ],
-    const double Ax [ ],
-    double X [ ],
-    const double B [ ],
-    void *Numeric,
-    const double Control [UMFPACK_CONTROL],
-    double Info [UMFPACK_INFO]
-) ;
-
-Purpose:
-
-    Given LU factors computed by umfpack_di_numeric (PAQ=LU, PRAQ=LU, or
-    P(R\A)Q=LU) and the right-hand-side, B, solve a linear system for the
-    solution X.  Iterative refinement is optionally performed.  Only square
-    systems are handled.  Singular matrices result in a divide-by-zero for all
-    systems except those involving just the matrix L.  Iterative refinement is
-    not performed for singular matrices.
-
-    In the discussion below, n is equal to n_row and n_col, because only
-    square systems are handled.
-
-Returns:
-
-    The status code is returned.  See Info [UMFPACK_STATUS], below.
-
-Arguments:
-
-    Int sys ;           Input argument, not modified.
-
-        Defines which system to solve.  (') is the linear algebraic transpose.
-
-            sys value       system solved
-
-            UMFPACK_A       Ax=b
-            UMFPACK_At      A'x=b
-            UMFPACK_Pt_L    P'Lx=b
-            UMFPACK_L       Lx=b
-            UMFPACK_Lt_P    L'Px=b
-            UMFPACK_Lt      L'x=b
-            UMFPACK_U_Qt    UQ'x=b
-            UMFPACK_U       Ux=b
-            UMFPACK_Q_Ut    QU'x=b
-            UMFPACK_Ut      U'x=b
-
-        Iterative refinement can be optionally performed when sys is any of
-        the following:
-
-            UMFPACK_A       Ax=b
-            UMFPACK_At      A'x=b
-
-        For the other values of the sys argument, iterative refinement is not
-        performed (Control [UMFPACK_IRSTEP], Ap, Ai, and Ax are ignored).
-
-    Int Ap [n+1] ;      Input argument, not modified.
-    Int Ai [nz] ;       Input argument, not modified.
-    double Ax [nz] ;    Input argument, not modified.
-
-        If iterative refinement is requested (Control [UMFPACK_IRSTEP] >= 1,
-        Ax=b or A'x=b is being solved, and A is nonsingular), then
-        these arrays must be identical to the same ones passed to
-        umfpack_di_numeric.  The umfpack_di_solve routine does not check the
-        contents of these arguments, so the results are undefined if Ap, Ai, Ax,
-        are modified between the calls the umfpack_di_numeric and
-        umfpack_di_solve.  These three arrays do not need to be present (NULL
-        pointers can be passed) if Control [UMFPACK_IRSTEP] is zero, or if a
-        system other than Ax=b or A'x=b is being solved, or if A is
-        singular, since in each of these cases A is not accessed.
-
-    double X [n] ;      Output argument.
-
-        The solution to the linear system, where n = n_row = n_col is the
-        dimension of the matrices A, L, and U.
-
-    double B [n] ;      Input argument, not modified.
-
-        The right-hand side vector, b, stored as a conventional array of size n
-        (or two arrays of size n for complex versions).  This routine does not
-        solve for multiple right-hand-sides, nor does it allow b to be stored in
-        a sparse-column form.
-
-    void *Numeric ;             Input argument, not modified.
-
-        Numeric must point to a valid Numeric object, computed by
-        umfpack_di_numeric.
-
-    double Control [UMFPACK_CONTROL] ;  Input argument, not modified.
-
-        If a (double *) NULL pointer is passed, then the default control
-        settings are used.
-
-        Control [UMFPACK_IRSTEP]:  The maximum number of iterative refinement
-            steps to attempt.  A value less than zero is treated as zero.  If
-            less than 1, or if Ax=b or A'x=b is not being solved, or
-            if A is singular, then the Ap, Ai, and Ax arguments are not
-            accessed.  Default: 2.
-
-    double Info [UMFPACK_INFO] ;        Output argument.
-
-        Contains statistics about the solution factorization.  If a
-        (double *) NULL pointer is passed, then no statistics are returned in
-        Info (this is not an error condition).  The following statistics are
-        computed in umfpack_di_solve (only the primary statistics are listed):
-
-        Info [UMFPACK_STATUS]: status code.  This is also the return value,
-            whether or not Info is present.
-
-            UMFPACK_OK
-
-                The linear system was successfully solved.
-
-            UMFPACK_WARNING_singular_matrix
-
-                A divide-by-zero occurred.  Your solution will contain Inf's
-                and/or NaN's.  Some parts of the solution may be valid.  For
-                example, solving Ax=b with
-
-                A = [2 0]  b = [ 1 ]  returns x = [ 0.5 ]
-                    [0 0]      [ 0 ]              [ Inf ]
-
-            UMFPACK_ERROR_out_of_memory
-
-                Insufficient memory to solve the linear system.
-
-            UMFPACK_ERROR_argument_missing
-
-                One or more required arguments are missing.  The B and X
-                arguments are always required.  Info and Control are not
-                required.  Ap, Ai and Ax are required if Ax=b or
-                A'x=b is to be solved, the (default) iterative
-                refinement is requested, and the matrix A is nonsingular.
-
-            UMFPACK_ERROR_invalid_system
-
-                The sys argument is not valid, or the matrix A is not square.
-
-            UMFPACK_ERROR_invalid_Numeric_object
-
-                The Numeric object is not valid.
-
-        Info [UMFPACK_SOLVE_FLOPS]:  the number of floating point operations
-            performed to solve the linear system.  This includes the work
-            taken for all iterative refinement steps, including the backtrack
-            (if any).
-
-        Info [UMFPACK_SOLVE_TIME]:  The time taken, in seconds.
-\end{verbatim}
-}
-
-
-%-------------------------------------------------------------------------------
-\newpage
-
-\subsection{umfpack\_di\_free\_symbolic}
-{\footnotesize
-\begin{verbatim}
-void umfpack_di_free_symbolic
-(
-    void **Symbolic
-) ;
-
-Purpose:
-
-    Deallocates the Symbolic object and sets the Symbolic handle to NULL.
-
-Arguments:
-
-    void **Symbolic ;           Input argument, deallocated and Symbolic is
-                                set to (void *) NULL on output.
-\end{verbatim}
-}
-
-%-------------------------------------------------------------------------------
-\subsection{umfpack\_di\_free\_numeric}
-
-{\footnotesize
-\begin{verbatim}
-void umfpack_di_free_numeric
-(
-    void **Numeric
-) ;
-
-Purpose:
-
-    Deallocates the Numeric object and sets the Numeric handle to NULL.
-
-Arguments:
-
-    void **Numeric ;            Input argument, deallocated and Numeric is
-                                set to (void *) NULL on output.
-\end{verbatim}
-}
-
-%-------------------------------------------------------------------------------
-\subsection{umfpack\_di\_defaults}
-
-{\footnotesize
-\begin{verbatim}
-void umfpack_di_defaults
-(
-    double Control [UMFPACK_CONTROL]
-) ;
-
-Purpose:
-
-    Sets the default control parameter settings.
-
-Arguments:
-
-    double Control [UMFPACK_CONTROL] ;  Output argument.
-
-        Control is set to the default control parameter settings.
-\end{verbatim}
-}
-\end{document}
--- a/liboctave/UMFPACK/UMFPACK/Doc/UserGuide.bib	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,322 +0,0 @@
-@string{TOMS = "ACM Trans. Math. Softw."}
-@string{SIMAX = "SIAM J. Matrix Anal. Applic."}
-@string{SINUM = "SIAM J. Numer. Anal."}
-@string{SIAMJSC = "SIAM J. Sci. Comput."}
-@string{SIAMJSSC = "SIAM J. Sci. Statist. Comput."}
-@string{IJNME = "Internat. J. Numer. Methods Eng."}
-@string{SIAMJADM = "SIAM J. Alg. Disc. Meth."}
-
-@article{AmestoyDavisDuff96,
-	author={Amestoy, P. R. and Davis, T. A. and Duff, I. S.},
-	title={An approximate minimum degree ordering algorithm},
-	journal=SIMAX,
-	year={1996}
-	,volume={17}
-	,number={4}
-	,pages={886-905}}
-
-@article{AmestoyDavisDuff03,
-	author={Amestoy, P. R. and Davis, T. A. and Duff, I. S.},
-	title={Algorithm 837: {AMD}, an approximate minimum degree ordering algorithm},
-	journal=TOMS,
-	year={2004}
-	,volume={30}
-	,number={3}
-	,pages={381-388}}
-
-@techreport{AmestoyDavisDuff03_user,
-	author={Amestoy, P. R. and Davis, T. A. and Duff, I. S.},
-	title={{AMD} Version 1.0 User Guide},
-	institution={CISE Dept., Univ. of Florida},
-	year={2003}
-	,number={TR-03-011}
-	,address={Gainesville, FL}
-	,note={www.cise.ufl.edu/tech-reports.}
-	}
-
-@article{Davis03,
-	author={Davis, T. A.},
-	title={A column pre-ordering strategy for the unsymmetric-pattern multifrontal method},
-	journal=TOMS,
-	year={2004}
-	,volume={30}
-	,number={2}
-	,pages={165-195}}
-
-@article{Davis03_algo,
-	author={Davis, T. A.},
-	title={Algorithm 832:  {UMFPACK}, an unsymmetric-pattern multifrontal method},
-	journal=TOMS,
-	year={2004}
-	,volume={30}
-	,number={2}
-	,pages={196-199}}
-
-@techreport{Davis03_umf,
-	author={Davis, T. A.},
-	title={{UMFPACK} Version 4.4 User Guide},
-	institution={Univ. of Florida, CISE Dept.},
-	year={2004}
-	,number={TR-04-003}
-	,address={Gainesville, FL}
-	,note={(www.cise.ufl.edu/tech-reports)}
-	}
-
-@techreport{Davis03_umfquick,
-	author={Davis, T. A.},
-	title={{UMFPACK} Version 4.4 Quick Start Guide},
-	institution={Univ. of Florida, CISE Dept.},
-	year={2004}
-	,number={TR-04-005}
-	,address={Gainesville, FL}
-	,note={(www.cise.ufl.edu/tech-reports)}
-	}
-
-@article{DavisDuff97,
-	author={Davis, T. A. and Duff, I. S.},
-	title={An unsymmetric-pattern multifrontal method for sparse {LU} factorization},
-	journal=SIMAX,
-	year={1997}
-	,volume={18}
-	,number={1}
-	,pages={140-158}}
-
-@article{DavisDuff99,
-	author={Davis, T. A. and Duff, I. S.},
-	title={A combined unifrontal/multifrontal method for unsymmetric sparse matrices},
-	journal=TOMS,
-	volume={25},
-	number={1},
-	pages={1-19},
-	year={1999}}
-
-@article{SuperLU99,
-	author={Demmel, J. W. and Eisenstat, S. C. and Gilbert, J. R. and Li, X. S. and Liu, J. W. H.},
-	title={A supernodal approach to sparse partial pivoting},
-	journal=SIMAX,
-	year={1999}
-	,volume={20}
-	,number={3}
-	,pages={720-755}
-	,note={www.netlib.org}
-	}
-
-@article{ACM679a,
-	author={Dongarra, J. J. and Du Croz, J. and Duff, I. S. and Hammarling, S.},
-	title={A set of level-3 basic linear algebra subprograms},
-	journal=TOMS,
-	year={1990}
-	,volume={16}
-	,number={1}
-	,pages={1--17}}
-
-@article{netlib,
-	author={Dongarra, J. J. and Grosse, E.},
-	title={Distribution of mathematical software via electronic mail},
-	journal={Comm. ACM},
-	year={1987}
-	,volume={30}
-	,pages={403-407}
-	,note={www.netlib.org}
-	}
-
-@article{Duff78b,
-	author={Duff, I. S. and Reid, J. K.},
-	year={1978},
-	title={Algorithm 529: Permutations to Block Triangular Form},
-	journal=TOMS,
-	volume={4},
-	annote={f},
-	number={2},
-	pages={189-192},
-	keywords={102 ordering block triangular form}}
-
-@article{Duff81b,
-	author={Duff, I. S.},
-	year={1981},
-	title={Algorithm 575: Permutations for a Zero-Free Diagonal},
-	journal=TOMS,
-	annote={f},
-	volume={7},
-	pages={387-390},
-	keywords={ordering, zero-free diagonal}}
-
-@techreport{GotoVandeGeijn02,
-	author = {Goto, K. and van de Geijn, R.},
-	title = {On Reducing {TLB} Misses in Matrix Multiplication, {FLAME} Working Note 9},
-	institution={The University of Texas at Austin, Department of Computer Sciences},
-	number={TR-2002-55},
-	month={Nov.},
-	year={2002}}
-
-@article{GeorgeNg85,
-	author={George, A. and Ng, E. G.},
-	year={1985},
-	title={An Implementation of {G}aussian Elimination with
-		Partial Pivoting for Sparse Systems},
-	journal=SIAMJSSC,
-	volume={6},
-	number={2},
-	pages={390-409}}
-
-@article{GeorgeNg87,
-	author={George, A. and Ng, E. G.},
-	year={1987},
-	title={Symbolic Factorization for Sparse {G}aussian Elimination
-		with Partial Pivoting},
-	journal={SIAM J. Sci. Statist. Comput.},
-	volume={8},
-	number={6},
-	pages={877-898}}
-
-@article{GilbertMolerSchreiber,
-	author={Gilbert, J. R. and Moler, C. and Schreiber, R.},
-	title={Sparse matrices in {MATLAB}:  design and implementation},
-	journal=SIMAX,
-	year={1992}
-	,volume={13}
-	,number={1}
-	,pages={333-356}}
-
-@article{GilbertPeierls88,
-	author={Gilbert, J. R. and Peierls, T.},
-	year={1988},
-	title={Sparse Partial Pivoting in Time Proportional to Arithmetic Operations},
-	journal={SIAM J. Sci. Statist. Comput.},
-	volume={9},
-	pages={862-874}}
-
-@article{Gustavson78,
-	author={Gustavson, F. G.},
-	year={1978},
-	title={Two Fast Algorithms for Sparse Matrices: Multiplication and Permuted Transposition},
-	journal=TOMS,
-	volume={4},
-	number={3},
-	pages={250-269}}
-
-@techreport{Larimore98,
-	author={Larimore, S. I.},
-	title={An approximate minimum degree column ordering algorithm},
-	institution={Univ. of Florida, CISE Dept.},
-	year={1998}
-	,number={TR-98-016}
-	,address={Gainesville, FL}
-	,note={www.cise.ufl.edu/tech-reports}}
-
-@article{DavisGilbertLarimoreNg00,
-	author={Davis, T. A. and Gilbert, J. R. and Larimore, S. I. and Ng, E. G.},
-	title={A column approximate minimum degree ordering algorithm},
-	journal=TOMS,
-	year={2004}
-	,volume={30}
-	,number={3}
-	,pages={353-376}}
-
-@article{DavisGilbertLarimoreNg00_algo,
-	author={Davis, T. A. and Gilbert, J. R. and Larimore, S. I. and Ng, E. G.},
-	title={Algorithm 836:  {COLAMD}, a column approximate minimum degree ordering algorithm},
-	journal=TOMS,
-	year={2004}
-	,volume={30}
-	,number={3}
-	,pages={377-380}}
-
-@INCOLLECTION{GilbertNg93,
-  author = {J. R. Gilbert and E. G. Ng},
-  editor = {A. George and J. R. Gilbert and J. W.H. Liu},
-  year = 1993,
-  title = {Predicting Structure in Nonsymmetric Sparse Matrix Factorizations},
-  booktitle = {Graph Theory and Sparse Matrix Computation},
-  series = {Volume 56 of the {IMA} Volumes in Mathematics and its Applications},
-  pages = {107-139},
-  publisher = {Springer-Verlag}
-}
-
-
-@techreport{ATLAS,
-	author={Whaley, R. C and Petitet, A. and Dongarra, J. J.},
-	title={Automated Emperical Optimization of Software and the {ATLAS} Project},
-	institution={Computer Science Department, The University of Tennessee},
-	year={2000}
-	,number={LAPACK Working Note 147}
-	,month={September}
-	,note={www.netlib.org/atlas}
-	}
-
-@article{DaydeDuff99,
-	author = "M. J. Dayd\'{e} and I. S. Duff",
-	title = "The {RISC} {BLAS}: A Blocked Implementation of Level 3 {BLAS} for {RISC} Processors",
-	journal = TOMS,
-	volume = "25",
-	number = "3",
-	month = {Sept.},
-	year ="1999"
-	}
-
-
-@article{ardd:89,
-   author = {M. Arioli and J. W. Demmel and I. S. Duff},
-   year = "1989",
-   title = {Solving sparse linear systems with sparse backward error},
-   journal = SIMAX,
-   volume  = {10},
-   pages   = {165-190}
-}
-
-
-@article{DavisHager99,
-	author={Davis, T. A. and Hager, W. W.},
-	title={Modifying a sparse {C}holesky factorization},
-	journal=SIMAX,
-	year={1999}
-	,volume={20}
-	,number={3}
-	,pages={606-627}
-	}
-
-
-@article{dusc:96,
-	author = {I. S. Duff and J. A. Scott},
-	title = {The design of a new frontal code for solving sparse unsymmetric systems},
-	journal = TOMS,
-	year = "1996",
-	volume = "22",
-	number = "1",
-	pages = "30-45"
-	}
-
-
-@article{Duff78a,
-	author={Duff, I. S. and Reid, J. K.},
-	year={1978},
-	title={An Implementation of {T}arjan's Algorithm for the Block Triangularization of a Matrix},
-	journal=TOMS,
-	volume={4},
-	number={2},
-	pages={137-147}
-	}
-
-@book{GeorgeLiu,
-	author={George, A. and Liu, J. W. H.},
-	year={1981},
-	title={Computer Solution of Large Sparse Positive Definite Systems},
-	publisher={Englewood Cliffs, New Jersey:  Prentice-Hall}
-	}
-
-@article{GilbertNgPeyton94,
-	author={Gilbert, J. R. and Ng, E. G. and Peyton, B. W.},
-	title={An efficient algorithm to compute row and column counts for sparse {C}holesky factorization},
-	journal=SIMAX,
-	year={1994}
-	,volume={15}
-	,number={4}
-	,pages={1075-1091}
-	}
-
-@techreport{DuffGrimesLewis87b,
-	author={Duff, I. S. and Grimes, R. G. and Lewis, J. G.},
-	year={1987},
-	title={Users' Guide for the Harwell-Boeing Sparse Matrix Test Collection},
-	institution={AERE Harwell Laboratory, United Kingdom Atomic Energy Authority}}
-
Binary file liboctave/UMFPACK/UMFPACK/Doc/UserGuide.pdf has changed
--- a/liboctave/UMFPACK/UMFPACK/Doc/UserGuide.sed1	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/INCLUDE umfpack_col_to_triplet.h/r ../Include/umfpack_col_to_triplet.h
-/INCLUDE umfpack_defaults.h/r ../Include/umfpack_defaults.h
-/INCLUDE umfpack_free_numeric.h/r ../Include/umfpack_free_numeric.h
-/INCLUDE umfpack_free_symbolic.h/r ../Include/umfpack_free_symbolic.h
-/INCLUDE umfpack_get_lunz.h/r ../Include/umfpack_get_lunz.h
-/INCLUDE umfpack_get_numeric.h/r ../Include/umfpack_get_numeric.h
-/INCLUDE umfpack_get_symbolic.h/r ../Include/umfpack_get_symbolic.h
-/INCLUDE umfpack_get_scale.h/r ../Include/umfpack_get_scale.h
-/INCLUDE umfpack_numeric.h/r ../Include/umfpack_numeric.h
-/INCLUDE umfpack_qsymbolic.h/r ../Include/umfpack_qsymbolic.h
-/INCLUDE umfpack_report_control.h/r ../Include/umfpack_report_control.h
-/INCLUDE umfpack_report_info.h/r ../Include/umfpack_report_info.h
-/INCLUDE umfpack_report_matrix.h/r ../Include/umfpack_report_matrix.h
-/INCLUDE umfpack_report_numeric.h/r ../Include/umfpack_report_numeric.h
-/INCLUDE umfpack_report_perm.h/r ../Include/umfpack_report_perm.h
-/INCLUDE umfpack_report_status.h/r ../Include/umfpack_report_status.h
-/INCLUDE umfpack_report_symbolic.h/r ../Include/umfpack_report_symbolic.h
-/INCLUDE umfpack_report_triplet.h/r ../Include/umfpack_report_triplet.h
-/INCLUDE umfpack_report_vector.h/r ../Include/umfpack_report_vector.h
-/INCLUDE umfpack_simple.c/r ../Demo/umfpack_simple.c
-/INCLUDE umfpack_solve.h/r ../Include/umfpack_solve.h
-/INCLUDE umfpack_scale.h/r ../Include/umfpack_scale.h
-/INCLUDE umfpack_symbolic.h/r ../Include/umfpack_symbolic.h
-/INCLUDE umfpack_timer.h/r ../Include/umfpack_timer.h
-/INCLUDE umfpack_tictoc.h/r ../Include/umfpack_tictoc.h
-/INCLUDE umfpack_transpose.h/r ../Include/umfpack_transpose.h
-/INCLUDE umfpack_triplet_to_col.h/r ../Include/umfpack_triplet_to_col.h
-/INCLUDE umfpack_wsolve.h/r ../Include/umfpack_wsolve.h
-/INCLUDE umfpack_load_numeric.h/r ../Include/umfpack_load_numeric.h
-/INCLUDE umfpack_load_symbolic.h/r ../Include/umfpack_load_symbolic.h
-/INCLUDE umfpack_save_numeric.h/r ../Include/umfpack_save_numeric.h
-/INCLUDE umfpack_save_symbolic.h/r ../Include/umfpack_save_symbolic.h
-/INCLUDE umfpack_get_determinant.h/r ../Include/umfpack_get_determinant.h
--- a/liboctave/UMFPACK/UMFPACK/Doc/UserGuide.sed2	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-/[/][*]/d
-/[*][/]/d
-/INCLUDE umfpack/d
--- a/liboctave/UMFPACK/UMFPACK/Doc/UserGuide.stex	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2673 +0,0 @@
-%-------------------------------------------------------------------------------
-% The UserGuide.stex file.  Processed into UserGuide.tex via sed.
-%-------------------------------------------------------------------------------
-
-\documentclass[11pt]{article}
-
-\newcommand{\m}[1]{{\bf{#1}}}       % for matrices and vectors
-\newcommand{\tr}{^{\sf T}}          % transpose
-\newcommand{\he}{^{\sf H}}          % complex conjugate transpose
-\newcommand{\implies}{\rightarrow}
-
-\topmargin 0in
-\textheight 9in
-\oddsidemargin 0pt
-\evensidemargin 0pt
-\textwidth 6.5in
-
-\begin{document}
-
-\author{Timothy A. Davis \\
-Dept. of Computer and Information Science and Engineering \\
-Univ. of Florida, Gainesville, FL}
-\title{UMFPACK Version 4.4 User Guide}
-\date{Jan. 28, 2005}
-\maketitle
-
-%-------------------------------------------------------------------------------
-\begin{abstract}
-    UMFPACK is a set of routines for solving unsymmetric sparse linear
-    systems, $\m{Ax}=\m{b}$, using the Unsymmetric MultiFrontal method
-    and direct sparse LU factorization.  It is written in ANSI/ISO C, with a
-    MATLAB interface.  UMFPACK relies on the Level-3 Basic
-    Linear Algebra Subprograms (dense matrix multiply) for its performance.
-    This code works on Windows and many versions of Unix (Sun Solaris,
-    Red Hat Linux, IBM AIX, SGI IRIX, and Compaq Alpha).
-\end{abstract}
-%-------------------------------------------------------------------------------
-
-Technical Report TR-04-003 (revised)
-
-UMFPACK Version 4.4 (Jan. 28, 2005), Copyright\copyright 2005 by Timothy A.
-Davis.  All Rights Reserved.
-
-{\bf UMFPACK License:}
-    Your use or distribution of UMFPACK or any modified version of
-    UMFPACK implies that you agree to this License.
-
-    THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
-    EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
-
-    Permission is hereby granted to use or copy this program, provided
-    that the Copyright, this License, and the Availability of the original
-    version is retained on all copies.  User documentation of any code that
-    uses UMFPACK or any modified version of UMFPACK code must cite the
-    Copyright, this License, the Availability note, and ``Used by permission.''
-    Permission to modify the code and to distribute modified code is granted,
-    provided the Copyright, this License, and the Availability note are
-    retained, and a notice that the code was modified is included.  This
-    software was developed with support from the National Science Foundation,
-    and is provided to you free of charge.
-
-{\bf Availability:}
-    http://www.cise.ufl.edu/research/sparse/umfpack
-
-{\bf Acknowledgments:}
-
-    This work was supported by the National Science Foundation, under
-    grants DMS-9504974, DMS-9803599, and CCR-0203270.
-    The upgrade to Version 4.1 and the inclusion of the
-    symmetric and 2-by-2 pivoting strategies
-    were done while the author was on sabbatical at
-    Stanford University and Lawrence Berkeley National Laboratory.
-
-%-------------------------------------------------------------------------------
-\newpage
-%-------------------------------------------------------------------------------
-
-\tableofcontents
-
-%-------------------------------------------------------------------------------
-\newpage
-\section{Overview}
-%-------------------------------------------------------------------------------
-
-UMFPACK\footnote{Pronounced with two syllables: umph-pack}
-Version 4.4 is a set of routines for solving systems of linear
-equations, $\m{Ax}=\m{b}$, when $\m{A}$ is sparse and unsymmetric.  It is based
-on the Unsymmetric-pattern MultiFrontal method \cite{DavisDuff97,DavisDuff99}.
-UMFPACK factorizes
-$\m{PAQ}$, $\m{PRAQ}$, or $\m{PR}^{-1}\m{AQ}$ into the product $\m{LU}$,
-where $\m{L}$ and $\m{U}$
-are lower and upper triangular, respectively, $\m{P}$ and $\m{Q}$ are
-permutation matrices, and $\m{R}$ is a diagonal matrix of row scaling factors
-(or $\m{R}=\m{I}$ if row-scaling is not used).  Both $\m{P}$ and $\m{Q}$ are
-chosen to reduce fill-in (new nonzeros in $\m{L}$ and $\m{U}$ that are not
-present in $\m{A}$).  The permutation $\m{P}$ has the dual role of reducing
-fill-in and maintaining numerical accuracy (via relaxed partial pivoting
-and row interchanges).
-
-The sparse matrix $\m{A}$ can be square or rectangular, singular
-or non-singular, and real or complex (or any combination).  Only square
-matrices $\m{A}$ can be used to solve $\m{Ax}=\m{b}$ or related systems.
-Rectangular matrices can only be factorized.
-
-UMFPACK first finds a column pre-ordering that reduces fill-in, without regard
-to numerical values.  It scales and analyzes the matrix, and then automatically
-selects one of three strategies for pre-ordering the rows and columns:
-{\em unsymmetric},
-{\em 2-by-2}, and
-{\em symmetric}.  These strategies are described below.
-
-First, all pivots with zero Markowitz cost are eliminated and placed in the
-LU factors.  The remaining submatrix $\m{S}$ is then analyzed.
-The following rules are applied, and the first one that matches defines
-the strategy.
-
-\begin{itemize}
-\item Rule 1: $\m{A}$ rectangular $\implies$ unsymmetric.
-\item Rule 2:
-    If the zero-Markowitz elimination results in a rectangular $\m{S}$,
-    or an $\m{S}$ whose diagonal has not been preserved, the
-    unsymmetric strategy is used.
-\item The symmetry $\sigma_1$ of $\m{S}$ is computed.  It is defined as
-    the number of {\em matched} off-diagonal entries, divided by the
-    total number of off-diagonal entries.  An entry $s_{ij}$ is matched
-    if $s_{ji}$ is also an entry.  They need not be numerically equal.
-    An {\em entry} is a value in $\m{A}$ which is present
-    in the input data structure.  All nonzeros are entries, but some entries
-    may be numerically zero.
-    Rule 3: $\sigma_1 < 0.1 \implies$ unsymmetric.
-    The matrix is very unsymmetric.
-\item Let $d$ be the number of nonzero entries on the diagonal of $\m{S}$.
-    Let $\m{S}$ be $\nu$-by-$\nu$.
-    Rule 4: $(\sigma_1 \ge 0.7) \:\wedge\: (d = \nu) \implies$ symmetric.
-    The matrix has a nearly symmetric nonzero pattern, and a zero-free
-    diagonal.
-\end{itemize}
-
-If the strategy has not yet been determined,
-the 2-by-2 strategy is attempted.  A row permutation $\m{P}_2$
-is found which attempts to reduce the number of small
-diagonal entries of $\m{P}_2 \m{S}$.
-An entry $s_{ij}$ is determined to be small if
-$|s_{ij}| < 0.01 \max |s_{*j}|$, or large otherwise.
-If $s_{ii}$ is numerically small, the method attempts to swap
-two rows $i$ and $j$, such that both $s_{ij}$ and $s_{ji}$ are large.
-Once these rows are swapped,
-they remain in place.  Let $\sigma_2$ be the symmetry of $\m{P}_2 \m{S}$,
-and let $d_2$ be the number of nonzero entries (either small or large)
-on the diagonal of $\m{P}_2 \m{S}$.
-
-\begin{itemize}
-\item Rule 5:
-    ($\sigma_2 > 1.1 \sigma_1) \:\wedge\: (d_2 > 0.9 \nu) \implies$ 2-by-2.
-    The 2-by-2 permutation has made the matrix significantly more symmetric.
-\item Rule 6: $\sigma_2 < 0.7 \sigma_1 \implies$ unsymmetric.
-    The 2-by-2 strategy has significantly deteriorated the symmetry,
-\item Rule 7: $\sigma_2 < 0.25 \implies$ unsymmetric.
-    The matrix is still very unsymmetric.
-\item Rule 8: $\sigma_2 \ge 0.51 \implies$ 2-by-2.
-    The matrix is roughly symmetric.
-\item Rule 9: $\sigma_2 \ge 0.999 \sigma_1 \implies$ 2-by-2.
-    The 2-by-2 permutation has preserved symmetry, or made it only
-    slightly worse.
-\item Rule 10: if no rule has yet triggered, use the unsymmetric strategy.
-\end{itemize}
-
-Each strategy is described below:
-\begin{itemize}
-\item {\em unsymmetric}:
-The column pre-ordering of $\m{S}$ is computed by a modified version of COLAMD
-\cite{DavisGilbertLarimoreNg00_algo,DavisGilbertLarimoreNg00,Larimore98}.
-The method finds a symmetric permutation $\m{Q}$ of the matrix $\m{S}\tr\m{S}$
-(without forming $\m{S}\tr\m{S}$ explicitly).  This is a good choice for
-$\m{Q}$, since the Cholesky factors of $\m{(SQ)\tr(SQ)}$ are an upper bound (in
-terms of nonzero pattern) of the factor $\m{U}$ for the unsymmetric LU
-factorization ($\m{PSQ}=\m{LU}$) regardless of the choice of $\m{P}$
-\cite{GeorgeNg85,GeorgeNg87,GilbertNg93}.  This modified version of
-COLAMD also computes the column elimination tree and post-orders the
-tree.  It finds the upper bound on the number of nonzeros in L and U.
-It also has a different threshold for determining dense rows and columns.
-During factorization, the column pre-ordering can be modified.
-Columns within a single super-column can be reshuffled, to reduce fill-in.
-Threshold partial pivoting is used with no preference given to the diagonal
-entry.  Within a given pivot column $j$, an entry $a_{ij}$ can be chosen if
-$|a_{ij}| \ge 0.1 \max |a_{*j}|$.  Among those numerically acceptable
-entries, the sparsest row $i$ is chosen as the pivot row.
-
-\item {\em 2-by-2}:
-The symmetric strategy (see below) is applied to the matrix $\m{P}_2 \m{S}$,
-rather than $\m{S}$.
-
-\item {\em symmetric}:
-The column ordering is computed from AMD
-\cite{AmestoyDavisDuff96,AmestoyDavisDuff03},
-applied to the pattern of $\m{S}+\m{S}\tr$
-followed by a post-ordering of the supernodal elimination
-tree of $\m{S}+\m{S}\tr$.
-No modification of the column pre-ordering is made during numerical
-factorization.  Threshold partial pivoting is used, with a strong
-preference given to the diagonal entry.  The diagonal entry is chosen if
-$a_{jj} \ge 0.001 \max |a_{*j}|$.  Otherwise, a sparse row is selected,
-using the same method used by the unsymmetric strategy.
-
-\end{itemize}
-
-The symmetric and 2-by-2 strategies, and their automatic selection,
-are new to Version 4.1.  Version 4.0 only used the unsymmetric strategy.
-
-Once the strategy is selected,
-the factorization of the matrix $\m{A}$ is broken down into the factorization
-of a sequence of dense rectangular frontal matrices.  The frontal matrices are
-related to each other by a supernodal column elimination tree, in which each
-node in the tree represents one frontal matrix.  This analysis phase also
-determines upper bounds on the memory usage, the floating-point operation count,
-and the number of nonzeros in the LU factors.
-
-UMFPACK factorizes each {\em chain} of frontal matrices in a single working
-array, similar to how the unifrontal method \cite{dusc:96} factorizes the whole
-matrix.  A chain of frontal matrices is a sequence of fronts where the parent
-of front $i$ is $i$+1 in the supernodal column elimination tree.  For the
-nonsingular matrices factorized with the unsymmetric strategy, there are
-exactly the same number of chains as there are leaves in the supernodal
-column elimination tree.  UMFPACK is an
-outer-product based, right-looking method.  At the $k$-th step of Gaussian
-elimination, it represents the updated submatrix $\m{A}_k$ as an implicit
-summation of a set of dense sub-matrices (referred to as {\em elements},
-borrowing a phrase from finite-element methods) that arise when the frontal
-matrices are factorized and their pivot rows and columns eliminated.
-
-Each frontal matrix represents the elimination of one or more columns;
-each column of $\m{A}$ will be eliminated in a specific frontal matrix,
-and which frontal matrix will be used for which column is determined by
-the pre-analysis phase.  The pre-analysis phase also determines the worst-case
-size of each frontal matrix so that they can hold any candidate pivot column
-and any candidate pivot row.  From the perspective of the analysis phase, any
-candidate pivot column in the frontal matrix is identical (in terms of nonzero
-pattern), and so is any row.  However, the numeric factorization phase has
-more information than the analysis phase.  It uses this information to reorder
-the columns within each frontal matrix to reduce fill-in.  Similarly, since
-the number of nonzeros in each row and column are maintained (more precisely,
-COLMMD-style approximate degrees \cite{GilbertMolerSchreiber}), a pivot row can
-be selected based on sparsity-preserving criteria (low degree) as well as
-numerical considerations (relaxed threshold partial pivoting).
-
-When the symmetric or 2-by-2 strategies are used,
-the column preordering is not refined during numeric factorization.
-Row pivoting for sparsity and numerical accuracy is performed if the
-diagonal entry is too small.
-
-More details of the method, including experimental results, are
-described in \cite{Davis03,Davis03_algo}, available at
-http://www.cise.ufl.edu/tech-reports.
-
-%-------------------------------------------------------------------------------
-\section{Availability}
-%-------------------------------------------------------------------------------
-
-In addition to appearing as a Collected Algorithm of the ACM,
-UMFPACK Version 4.4 is available at http://www.cise.ufl.edu/research/sparse.
-Version 4.3 is included as a built-in routine in MATLAB
-7.1.  Version 4.0 (in MATLAB 6.5)
-does not have the symmetric or 2-by-2 strategies and it takes
-less advantage of the level-3
-BLAS \cite{DaydeDuff99,ACM679a,ATLAS,GotoVandeGeijn02}.
-Version 4.4 (and v4.3 through v4.1) tend to be much faster than Version 4.0,
-particularly on unsymmetric matrices with mostly symmetric
-nonzero pattern (such as finite element and circuit simulation matrices).
-Version 3.0 and following make
-use of a modified version of COLAMD V2.0 by Timothy A.~Davis, Stefan
-Larimore, John Gilbert, and Esmond Ng.  The original COLAMD V2.1 is available in
-as a built-in routine in MATLAB V6.0 (or later), and at
-http://www.cise.ufl.edu/research/sparse.
-These codes are also available in Netlib \cite{netlib} at
-http://www.netlib.org.
-UMFPACK Versions 2.2.1 and earlier, co-authored with Iain Duff,
-are available at http://www.cise.ufl.edu/research/sparse and as
-MA38 (functionally equivalent to Version 2.2.1) in the Harwell
-Subroutine Library.
-
-%-------------------------------------------------------------------------------
-\section{Primary changes from prior versions}
-%-------------------------------------------------------------------------------
-
-A detailed list of changes is in the {\tt ChangeLog} file.
-
-%-------------------------------------------------------------------------------
-\subsection{Version 4.4}
-%-------------------------------------------------------------------------------
-
-Bug fix in strategy selection in {\tt umfpack\_*\_qsymbolic}.
-Added packed complex case for all complex input/output arguments.
-Added {\tt umfpack\_get\_determinant}.
-Added minimal support for Microsoft Visual Studio
-(the {\tt umf\_multicompile.c} file).
-
-%-------------------------------------------------------------------------------
-\subsection{Version 4.3.1}
-%-------------------------------------------------------------------------------
-
-Minor bug fix in the forward/backsolve.  This bug had the effect of turning
-off iterative refinement when solving $\m{A}\tr\m{x}=\m{b}$ after factorizing
-$\m{A}$.  UMFPACK mexFunction now factorizes $\m{A}\tr$ in its forward-slash
-operation.
-
-%-------------------------------------------------------------------------------
-\subsection{Version 4.3}
-%-------------------------------------------------------------------------------
-
-No changes are visible to the C or MATLAB user, except the presence of
-one new control parameter in the {\tt Control} array,
-and three new statistics in the {\tt Info} array.
-The primary change is the addition of an (optional) drop tolerance.
-
-%-------------------------------------------------------------------------------
-\subsection{Version 4.1}
-%-------------------------------------------------------------------------------
-
-The following is a summary of the main changes that are visible to the C
-or MATLAB user:
-
-\begin{enumerate}
-
-\item New ordering strategies added.  No changes are required in user code
-    (either C or MATLAB) to use the new default strategy, which is an automatic
-    selection of the unsymmetric, symmetric, or 2-by-2 strategies.
-
-\item Row scaling added.  This is only visible to the MATLAB caller when using
-    the form {\tt [L,U,P,Q,R] = umfpack (A)}, to retrieve the LU factors.
-    Likewise, it is only visible to the C caller when the LU factors are
-    retrieved, or when solving systems with just $\m{L}$ or $\m{U}$.
-    New C-callable and MATLAB-callable routines are included to get and to
-    apply the scale factors computed by UMFPACK.  Row scaling is enabled by
-    default, but can be disabled.  Row scaling usually leads to a better
-    factorization, particularly when the symmetric strategy is used.
-
-\item Error code {\tt UMFPACK\_ERROR\_problem\_to\_large} removed.
-    Version 4.0 would generate this error when the upper bound memory usage
-    exceeded 2GB (for the {\tt int} version), even when the actual memory
-    usage was less than this.  The new version properly handles this case,
-    and can successfully factorize the matrix if sufficient memory is
-    available.
-
-\item New control parameters and statistics provided.
-
-\item The AMD symmetric approximate minimum degree ordering routine added
-    \cite{AmestoyDavisDuff96,AmestoyDavisDuff03}.
-    It is used by UMFPACK, and can also be called independently from C or
-    MATLAB.
-
-\item The {\tt umfpack} mexFunction now returns permutation matrices, not
-    permutation vectors, when using the form {\tt [L,U,P,Q] = umfpack (A)}
-    or the new form {\tt [L,U,P,Q,R] = umfpack (A)}.
-
-\item New arguments added to the user-callable routines
-    {\tt umfpack\_*\_symbolic},
-    {\tt umfpack\_*\_qsymbolic},
-    {\tt umfpack\_*\_get\_numeric}, and
-    {\tt umfpack\_*\_get\_symbolic}.
-    The symbolic analysis now makes use of the numerical values of the matrix
-    $\m{A}$, to guide the 2-by-2 strategy.  The subsequent matrix passed to
-    the numeric factorization step does not have to have the same numerical
-    values.  All of the new arguments are optional.  If you do not wish to
-    include them, simply pass {\tt NULL} pointers instead.  The 2-by-2 strategy
-    will assume all entries are numerically large, for example.
-
-\item New routines added to save and load the {\tt Numeric} and {\tt Symbolic}
-    objects to and from a binary file.
-
-\item A Fortran interface added.  It provides access to a subset of
-    UMFPACK's features.
-
-\item You can compute an incomplete LU factorization, by dropping small
-    entries from $\m{L}$ and $\m{U}$.  By default, no nonzero entry is
-    dropped, no matter how small in absolute value.  This feature is new
-    to Version 4.3.
-
-\end{enumerate}
-
-%-------------------------------------------------------------------------------
-\section{Using UMFPACK in MATLAB}
-%-------------------------------------------------------------------------------
-
-The easiest way to use UMFPACK is within MATLAB.  Version 4.3 is a built-in
-routine in MATLAB 7.1, and is used in {\tt x = A}$\backslash${\tt b} when
-{\tt A} is sparse, square, unsymmetric (or symmetric but not positive definite),
-and with nonzero entries that are not confined in a narrow band.
-It is also used for the {\tt [L,U,P,Q] = lu (A)} usage of {\tt lu}.
-Type {\tt help lu} in MATLAB 6.5 or later for more details.
-
-To use the UMFPACK mexFunction, you must download and compile it,
-since the mexFunction itself is not part of MATLAB.
-The following discussion assumes that
-you have MATLAB Version 6.0 or later (which includes the BLAS, and the
-{\tt colamd} ordering routine).  To compile both the UMFPACK and AMD
-mexFunctions, just type {\tt make} in the Unix system shell,
-while in the {\tt UMFPACK} directory.
-You can also type {\tt umfpack\_make} in MATLAB, if you are in the
-{\tt UMFPACK/MATLAB} directory, or if that directory is in your MATLAB path.
-This works on any system with MATLAB, including Windows.
-See Section~\ref{Install} for more details on how to install UMFPACK.
-Once installed, the UMFPACK mexFunction can analyze, factor, and solve linear
-systems.  Table~\ref{matlab} summarizes some of the more common uses
-of the UMFPACK mexFunction within MATLAB.
-
-An optional input argument can be used to modify the control parameters for
-UMFPACK, and an optional output argument provides statistics on the 
-factorization.
-
-Refer to the AMD User Guide for more details about the AMD mexFunction.
-
-\begin{table}
-\caption{Using UMFPACK's MATLAB interface}
-\label{matlab}
-\vspace{0.1in}
-{\footnotesize
-\begin{tabular}{l|l|l}
-\hline
-Function & Using UMFPACK & MATLAB 6.0 equivalent \\
-\hline
- & & \\
-\begin{minipage}[t]{1.5in}
-Solve $\m{Ax}=\m{b}$.
-\end{minipage}
-&
-\begin{minipage}[t]{2.2in}
-\begin{verbatim}
-x = umfpack (A,'\',b) ;
-\end{verbatim}
-\end{minipage}
-&
-\begin{minipage}[t]{2.2in}
-\begin{verbatim}
-x = A \ b ;
-\end{verbatim}
-\end{minipage}
- \\
- & & \\
-\hline
- & & \\
-\begin{minipage}[t]{1.5in}
-Solve $\m{Ax}=\m{b}$ using a different row and column pre-ordering
-(symmetric ordering).
-\end{minipage}
-&
-\begin{minipage}[t]{2.2in}
-\begin{verbatim}
-S = spones (A) ;
-Q = symamd (S+S') ;
-Control = umfpack ;
-Control (6) = 3 ;
-x = umfpack (A,Q,'\',b,Control) ;
-\end{verbatim}
-\end{minipage}
-&
-\begin{minipage}[t]{2.2in}
-\begin{verbatim}
-spparms ('autommd',0) ;
-S = spones (A) ;
-Q = symamd (S+S') ;
-x = A (Q,Q) \ b (Q) ;
-x (Q) = x ;
-spparms ('autommd',1) ;
-\end{verbatim}
-\end{minipage}
- \\
- & & \\
-\hline
- & & \\
-\begin{minipage}[t]{1.5in}
-Solve $\m{A}\tr\m{x}\tr = \m{b}\tr$.
-\end{minipage}
-&
-\begin{minipage}[t]{2.2in}
-\begin{verbatim}
-x = umfpack (b,'/',A) ;
-\end{verbatim}
-Note: $\m{A}$ is factorized.
-\end{minipage}
-&
-\begin{minipage}[t]{2.2in}
-\begin{verbatim}
-x = b / A ;
-\end{verbatim}
-Note: $\m{A}\tr$ is factorized.
-\end{minipage}
- \\
- & & \\
-\hline
- & & \\
-\begin{minipage}[t]{1.5in}
-Scale and factorize $\m{A}$, then solve $\m{Ax}=\m{b}$.
-\end{minipage}
-&
-\begin{minipage}[t]{2.2in}
-\begin{verbatim}
-[L,U,P,Q,R] = umfpack (A) ;
-c = P * (R \ b) ;
-x = Q * (U \ (L \ c)) ;
-\end{verbatim}
-\end{minipage}
-&
-\begin{minipage}[t]{2.2in}
-\begin{verbatim}
-[m n] = size (A) ;
-r = full (sum (abs (A), 2)) ;
-r (find (r == 0)) = 1 ;
-R = spdiags (r, 0, m, m) ;
-I = speye (n) ;
-Q = I (:, colamd (A)) ;
-[L,U,P] = lu ((R\A)*Q) ;
-c = P * (R \ b) ;
-x = Q * (U \ (L \ c)) ;
-\end{verbatim}
-\end{minipage}
- \\
- & & \\
-\hline
-\end{tabular}
-}
-\end{table}
-
-Note: in MATLAB 6.5 or later, use {\tt spparms ('autoamd',0)} in addition to
-{\tt spparms ('autommd',0)}, in Table~\ref{matlab}, to turn off MATLAB's
-default reordering.
-
-UMFPACK requires
-{\tt b} to be a dense vector (real or complex) of the appropriate dimension.
-This is more restrictive than what you can do with MATLAB's
-backslash or forward slash.  See {\tt umfpack\_solve} for an M-file that
-removes this restriction.
-This restriction does not apply to the built-in backslash operator
-in MATLAB 6.5 or later, which uses UMFPACK to factorize the matrix.
-You can do this yourself in MATLAB:
-
-{\footnotesize
-\begin{verbatim}
-    [L,U,P,Q,R] = umfpack (A) ;
-    x = Q * (U \ (L \ (P * (R \ b)))) ;
-\end{verbatim}
-}
-
-or, with no row scaling:
-
-{\footnotesize
-\begin{verbatim}
-    [L,U,P,Q] = umfpack (A) ;
-    x = Q * (U \ (L \ (P * b))) ;
-\end{verbatim}
-}
-
-The above examples do not make use of the iterative refinement
-that is built into
-{\tt x = }{\tt umfpack (A,'}$\backslash${\tt ',b)}
-however.
-
-MATLAB's {\tt [L,U,P] = lu(A)} returns a lower triangular {\tt L}, an upper
-triangular {\tt U}, and a permutation matrix {\tt P} such that {\tt P*A} is
-equal to {\tt L*U}.  UMFPACK behaves differently.  By default, it scales
-the rows of {\tt A} and reorders the columns of {\tt A} prior to
-factorization, so that {\tt L*U} is equal to {\tt P*(R}$\backslash${\tt A)*Q},
-where {\tt R} is a diagonal sparse matrix of scale factors for the rows
-of {\tt A}.  The scale factors {\tt R} are applied to {\tt A} via the MATLAB
-expression {\tt R}$\backslash${\tt A} to avoid multiplying by
-the reciprocal, which can be numerically inaccurate.
-
-There are more options; you can provide your own column pre-ordering (in which
-case UMFPACK does not call COLAMD or AMD), you can modify other control settings
-(similar to the {\tt spparms} in MATLAB), and you can get various statistics on
-the analysis, factorization, and solution of the linear system.  Type
-{\tt umfpack\_details} and {\tt umfpack\_report} in MATLAB for more
-information.  Two demo M-files are provided.   Just type {\tt umfpack\_simple}
-and {\tt umfpack\_demo} to run them.
-The output of these two programs should be about the same
-as the files {\tt umfpack\_simple.m.out} and {\tt umfpack\_demo.m.out}
-that are provided.
-
-Factorizing {\tt A'} (or {\tt A.'}) and using the transposed factors can
-sometimes be faster than factorizing {\tt A}.  It can also be preferable to
-factorize {\tt A'} if {\tt A} is rectangular.  UMFPACK pre-orders the columns
-to maintain sparsity; the row ordering is not determined until the matrix
-is factorized.  Thus, if {\tt A} is {\tt m} by {\tt n} with rank {\tt m}
-and {\tt m} $<$ {\tt n}, then {\tt umfpack} might not find a factor
-{\tt U} with a zero-free diagonal.  Unless the matrix ill-conditioned or
-poorly scaled, factorizing {\tt A'} in this case will guarantee that both
-factors will have zero-free diagonals.  Here's how you can factorize {\tt A'}
-and get the factors of {\tt A} instead:
-
-\begin{verbatim}
-    [l,u,p,q] = umfpack (A') ;
-    L = u' ;
-    U = l' ;
-    P = q ;
-    Q = p ;
-    clear l u p q
-\end{verbatim}
-
-This is an alternative to {\tt [L,U,P,Q]=umfpack(A)}.
-
-A simple M-file ({\tt umfpack\_btf}) is provided that first permutes the matrix
-to upper block triangular form, using MATLAB's {\tt dmperm} routine, and then
-solves each block.  The LU factors are not returned.  Its usage is simple:
-{\tt x = umfpack\_btf(A,b)}.  Type {\tt help umfpack\_btf} for more options.
-An estimate of the 1-norm of {\tt L*U-P*A*Q} can be computed in MATLAB
-as {\tt lu\_normest(P*A*Q,L,U)}, using the {\tt lu\_normest.m} M-file
-by Hager and Davis \cite{DavisHager99} that is included with the
-UMFPACK distribution.  With row scaling enabled, use
-{\tt lu\_normest(P*(R}$\backslash${\tt A)*Q,L,U)} instead.
-
-One issue you may encounter is how UMFPACK allocates its memory when being used
-in a mexFunction.  One part of its working space is of variable size.   The
-symbolic analysis phase determines an upper bound on the size of this memory,
-but not all of this memory will typically be used in the numerical
-factorization.  UMFPACK tries to allocate a decent amount of working space.
-This is 70\% of the upper bound, by default, for the unsymmetric strategy.
-For the symmetric strategy, the fraction of the upper bound is computed
-automatically (assuming a best-case scenario with no numerical pivoting
-required during numeric factorization).
-If this initial allocation fails, it reduces its request
-and uses less memory.   If the space is not large enough during factorization,
-it is increased via {\tt mxRealloc}.
-
-However, {\tt mxMalloc} and {\tt mxRealloc} abort the {\tt umfpack} mexFunction
-if they fail, so this strategy does not work in MATLAB.  The strategy works fine
-when {\tt malloc} or the internal memory allocator {\tt utMalloc} are used
-instead, since those routines return {\tt NULL} on failure, and do not terminate
-the mexFunction.  The {\tt umfpack} mexFunction can be compiled to use
-{\tt utMalloc}, but this is an internal undocumented utility routine in MATLAB,
-and thus using {\tt utMalloc} might not always be successful.
-To use the documented {\tt mxMalloc} routine instead, compile the
-mexFunction with the {\tt -DNUTIL} flag enabled.
-
-To compute the determinant with UMFPACK:
-
-\begin{verbatim}
-    d = umfpack (A, 'det') ;
-    [d e] = umfpack (A, 'det') ;
-\end{verbatim}
-
-The first case is identical to MATLAB's {\tt det}.
-The second case returns the determinant in the form
-$d \times 10^e$, which avoids overflow if $e$ is large.
-
-%-------------------------------------------------------------------------------
-\section{Using UMFPACK in a C program}
-\label{C}
-%-------------------------------------------------------------------------------
-
-The C-callable UMFPACK library consists of 32 user-callable routines and one
-include file.  All but three of the routines come in four versions, with
-different sizes of integers and for real or complex floating-point numbers:
-\begin{enumerate}
-\item {\tt umfpack\_di\_*}: real double precision, {\tt int} integers.
-\item {\tt umfpack\_dl\_*}: real double precision, {\tt long} integers.
-\item {\tt umfpack\_zi\_*}: complex double precision, {\tt int} integers.
-\item {\tt umfpack\_zl\_*}: complex double precision, {\tt long} integers.
-\end{enumerate}
-where {\tt *} denotes the specific name of one of the routines.
-Routine names beginning with {\tt umf\_} are internal to the package,
-and should not be called by the user.  The include file {\tt umfpack.h}
-must be included in any C program that uses UMFPACK.
-The other three routines are the same for all four versions.
-
-In addition, the C-callable AMD library distributed with UMFPACK
-includes 4 user-callable routines (in two versions with {\tt int} and
-{\tt long} integers) and one include file.  Refer to the AMD documentation
-for more details.
-
-Use only one version for any one problem; do not attempt to use one version
-to analyze the matrix and another version to factorize the matrix, for example.
-
-The notation {\tt umfpack\_di\_*} refers to all user-callable routines
-for the real double precision and {\tt int} integer case.  The notation
-{\tt umfpack\_*\_numeric}, for example, refers all four versions
-(real/complex, int/long) of a single operation
-(in this case numeric factorization).
-
-%-------------------------------------------------------------------------------
-\subsection{The size of an integer}
-%-------------------------------------------------------------------------------
-
-The {\tt umfpack\_di\_*} and {\tt umfpack\_zi\_*} routines use {\tt int} integer
-arguments; those starting with {\tt umfpack\_dl\_} or {\tt umfpack\_zl\_}
-use {\tt long} integer arguments.  If you compile UMFPACK in the standard
-ILP32 mode (32-bit {\tt int}'s, {\tt long}'s, and pointers) then the versions
-are essentially identical.  You will be able to solve problems using up to 2GB
-of memory.  If you compile UMFPACK in the standard LP64 mode, the size of an
-{\tt int} remains 32-bits, but the size of a {\tt long} and a pointer both get
-promoted to 64-bits.  In the LP64 mode, the {\tt umfpack\_dl\_*}
-and {\tt umfpack\_zl\_*} routines can solve huge
-problems (not limited to 2GB), limited of course by the amount of available
-memory.  The only drawback to the 64-bit mode is that not all BLAS libraries
-support 64-bit integers.  This limits the performance you will obtain.
-Those that do support 64-bit integers are specific to particular
-architectures, and are not portable.  UMFPACK and AMD should be compiled
-in the same mode.
-If you compile UMFPACK and AMD in the LP64 mode,
-be sure to add {\tt -DLP64} to the compilation command.  See the examples in
-{\tt Make.alpha}, {\tt Make.sgi}, and {\tt Make.solaris}.
-
-%-------------------------------------------------------------------------------
-\subsection{Real and complex floating-point}
-%-------------------------------------------------------------------------------
-
-The {\tt umfpack\_di\_*} and {\tt umfpack\_dl\_*} routines take (real) double
-precision arguments, and return double precision arguments.  In the
-{\tt umfpack\_zi\_*} and {\tt umfpack\_zl\_*} routines, these same arguments
-hold the real part of the matrices; and second double precision arrays hold
-the imaginary part of the input and output matrices.  Internally, complex
-numbers are stored in arrays with their real and imaginary parts interleaved,
-as required by the BLAS (``packed'' complex form).
-
-New to Version 4.4 is the option of providing input/output arguments
-in packed complex form.
-
-%-------------------------------------------------------------------------------
-\subsection{Primary routines, and a simple example}
-%-------------------------------------------------------------------------------
-
-Five primary UMFPACK routines are required to factorize $\m{A}$ or
-solve $\m{Ax}=\m{b}$.  They are fully described in Section~\ref{Primary}:
-
-\begin{itemize}
-\item {\tt umfpack\_*\_symbolic}:
-
-    Pre-orders the columns of $\m{A}$ to reduce fill-in.
-    Returns an opaque {\tt Symbolic} object as a {\tt void *}
-    pointer.  The object contains the symbolic analysis and is needed for the
-    numeric factorization.  This routine requires only $O(|\m{A}|)$ space,
-    where $|\m{A}|$ is the number of nonzero entries in the matrix.  It computes
-    upper bounds on the nonzeros in $\m{L}$ and $\m{U}$, the floating-point
-    operations required, and the memory usage of {\tt umfpack\_*\_numeric}.  The
-    {\tt Symbolic} object is small; it contains just the column pre-ordering,
-    the supernodal column elimination tree, and information about each frontal
-    matrix. It is no larger than about $13n$ integers if $\m{A}$ is
-    $n$-by-$n$.
-
-\item {\tt umfpack\_*\_numeric}:
-
-    Numerically scales and then factorizes a sparse matrix into
-    $\m{PAQ}$, $\m{PRAQ}$, or $\m{PR}^{-1}\m{AQ}$ into the product $\m{LU}$,
-    where
-    $\m{P}$ and $\m{Q}$ are permutation matrices, $\m{R}$ is a diagonal
-    matrix of scale factors, $\m{L}$ is lower triangular with unit diagonal,
-    and $\m{U}$ is upper triangular.  Requires the
-    symbolic ordering and analysis computed by {\tt umfpack\_*\_symbolic}
-    or {\tt umfpack\_*\_qsymbolic}.
-    Returns an opaque {\tt Numeric} object as a
-    {\tt void *} pointer.  The object contains the numerical factorization and
-    is used by {\tt umfpack\_*\_solve}.  You can factorize a new matrix with a
-    different values (but identical pattern) as the matrix analyzed by
-    {\tt umfpack\_*\_symbolic} or {\tt umfpack\_*\_qsymbolic} by re-using the
-    {\tt Symbolic} object (this feature is available when using UMFPACK in a
-    C or Fortran program, but not in MATLAB).
-    The matrix
-    $\m{U}$ will have zeros on the diagonal if $\m{A}$ is singular; this
-    produces a warning, but the factorization is still valid.
-
-\item {\tt umfpack\_*\_solve}:
-
-    Solves a sparse linear system ($\m{Ax}=\m{b}$, $\m{A}\tr\m{x}=\m{b}$, or
-    systems involving just $\m{L}$ or $\m{U}$), using the numeric factorization
-    computed by {\tt umfpack\_*\_numeric}.  Iterative refinement with sparse
-    backward error \cite{ardd:89} is used by default.  The matrix $\m{A}$ must
-    be square.  If it is singular, then a divide-by-zero will occur, and your
-    solution with contain IEEE Inf's or NaN's in the appropriate places.
-
-\item {\tt umfpack\_*\_free\_symbolic}:
-
-    Frees the {\tt Symbolic} object created by {\tt umfpack\_*\_symbolic}
-    or {\tt umfpack\_*\_qsymbolic}.
-
-\item {\tt umfpack\_*\_free\_numeric}:
-
-    Frees the {\tt Numeric} object created by {\tt umfpack\_*\_numeric}.
-
-\end{itemize}
-
-Be careful not to free a {\tt Symbolic} object with
-{\tt umfpack\_*\_free\_numeric}.  Nor should you attempt to free a {\tt Numeric}
-object with {\tt umfpack\_*\_free\_symbolic}.
-Failure to free these objects will lead to memory leaks.
-
-The matrix $\m{A}$ is represented in compressed column form, which is
-identical to the sparse matrix representation used by MATLAB.  It consists
-of three or four arrays, where the matrix is {\tt m}-by-{\tt n},
-with {\tt nz} entries.  For the {\tt int} version of UMFPACK:
-
-{\footnotesize
-\begin{verbatim}
-     int Ap [n+1] ;
-     int Ai [nz] ;
-     double Ax [nz] ;
-\end{verbatim}
-}
-
-For the {\tt long} version of UMFPACK:
-
-{\footnotesize
-\begin{verbatim}
-     long Ap [n+1] ;
-     long Ai [nz] ;
-     double Ax [nz] ;
-\end{verbatim}
-}
-
-The complex versions add another array for the imaginary part:
-
-{\footnotesize
-\begin{verbatim}
-     double Az [nz] ;
-\end{verbatim}
-}
-
-Alternatively, if {\tt Az} is {\tt NULL},
-the real part of the $k$th entry is located in
-{\tt Ax[2*k]} and the imaginary part is located in
-{\tt Ax[2*k+1]}, and the {\tt Ax} array is of size {\tt 2*nz}.
-
-All nonzeros are entries, but an entry may be numerically zero.  The row indices
-of entries in column {\tt j} are stored in
-    {\tt Ai[Ap[j]} \ldots {\tt Ap[j+1]-1]}.
-The corresponding numerical values are stored in
-    {\tt Ax[Ap[j]} \ldots {\tt Ap[j+1]-1]}.
-The imaginary part, for the complex versions, is stored in
-    {\tt Az[Ap[j]} \ldots {\tt Ap[j+1]-1]}
-    (see above for the packed complex case).
-
-No duplicate row indices may be present, and the row indices in any given
-column must be sorted in ascending order.  The first entry {\tt Ap[0]} must be
-zero.  The total number of entries in the matrix is thus {\tt nz = Ap[n]}.
-Except for the fact that extra zero entries can be included, there is thus a
-unique compressed column representation of any given matrix $\m{A}$.
-For a more flexible method for providing an input matrix to UMFPACK,
-see Section~\ref{triplet}.
-
-Here is a simple main program, {\tt umfpack\_simple.c}, that illustrates the
-basic usage of UMFPACK.  See Section~\ref{Synopsis} for a short description
-of each calling sequence, including a list of options for the first
-argument of {\tt umfpack\_di\_solve}.
-
-{\footnotesize
-\begin{verbatim}
-INCLUDE umfpack_simple.c via sed
-\end{verbatim}
-}
-
-The {\tt Ap}, {\tt Ai}, and {\tt Ax} arrays represent the matrix
-\[
-\m{A} = \left[
-\begin{array}{rrrrr}
- 2 &  3 &  0 &  0 &  0 \\
- 3 &  0 &  4 &  0 &  6 \\
- 0 & -1 & -3 &  2 &  0 \\
- 0 &  0 &  1 &  0 &  0 \\
- 0 &  4 &  2 &  0 &  1 \\
-\end{array}
-\right].
-\]
-and the solution to $\m{Ax}=\m{b}$ is $\m{x} = [1 \, 2 \, 3 \, 4 \, 5]\tr$.
-The program uses default control settings and does not return any statistics
-about the ordering, factorization, or solution ({\tt Control} and {\tt Info}
-are both {\tt (double *) NULL}).  It also ignores the status value returned by
-most user-callable UMFPACK routines.
-
-%-------------------------------------------------------------------------------
-\subsection{A note about zero-sized arrays}
-%-------------------------------------------------------------------------------
-
-UMFPACK uses many user-provided arrays of
-size {\tt m} or {\tt n} (the order of the matrix), and of size
-{\tt nz} (the number of nonzeros in a matrix).  UMFPACK does not handle
-zero-dimensioned arrays;
-it returns an error code if {\tt m} or {\tt n}
-are zero.  However, {\tt nz} can be zero, since all singular matrices are
-handled correctly.  If you attempt to {\tt malloc} an array of size {\tt nz}
-= 0, however, {\tt malloc} will return a null pointer which UMFPACK will report
-as a missing argument.  If you {\tt malloc} an array of
-size {\tt nz} to pass to UMFPACK, make sure that you handle the {\tt nz} = 0
-case correctly (use a size equal to the maximum of {\tt nz} and 1, or use a
-size of {\tt nz+1}).
-
-%-------------------------------------------------------------------------------
-\subsection{Alternative routines}
-%-------------------------------------------------------------------------------
-
-Three alternative routines are provided that modify UMFPACK's default
-behavior.  They are fully described in Section~\ref{Alternative}:
-
-\begin{itemize}
-\item {\tt umfpack\_*\_defaults}:
-
-    Sets the default control parameters in the {\tt Control} array.  These can
-    then be modified as desired before passing the array to the other UMFPACK
-    routines.  Control parameters are summarized in Section~\ref{control_param}.
-    Three particular parameters deserve special notice.
-    UMFPACK uses relaxed partial pivoting, where a candidate pivot entry is
-    numerically acceptable if its magnitude is greater than or equal to a
-    tolerance parameter times the magnitude of the largest entry in the same
-    column.  The parameter {\tt Control [UMFPACK\_PIVOT\_TOLERANCE]} has a
-    default value of 0.1, and is used for the unsymmetric strategy.
-    For complex matrices, a cheap approximation of the absolute value is
-    used for the threshold pivoting test
-    ($|a| \approx |a_{\mbox{real}}|+|a_{\mbox{imag}}|$).
-
-    For the symmetric strategy, a second tolerance is used for diagonal
-    entries: \newline {\tt Control [UMFPACK\_SYM\_PIVOT\_TOLERANCE]}, with
-    a default value of 0.001.  The first parameter (with a default of 0.1)
-    is used for any off-diagonal candidate pivot entries.
-
-    These two parameters may be too small for some matrices, particularly for
-    ill-conditioned or poorly scaled ones.  With the default pivot tolerances
-    and default iterative refinement,
-        {\tt x = umfpack (A,'}$\backslash${\tt ',b)}
-    is just as accurate as (or more accurate) than
-        {\tt x = A}$\backslash${\tt b}
-    in MATLAB 6.1 for nearly all matrices.
-
-    If {\tt Control [UMFPACK\_PIVOT\_TOLERANCE]} is zero, than any
-    nonzero entry is acceptable as a pivot (this is changed from Version 4.0,
-    which treated a value of 0.0 the same as 1.0).  If the symmetric strategy is
-    used, and {\tt Control [UMFPACK\_SYM\_PIVOT\_TOLERANCE]} is zero, then any
-    nonzero entry on the diagonal is accepted as a pivot.  Off-diagonal pivoting
-    will still occur if the diagonal entry is exactly zero.  The
-    {\tt Control [UMFPACK\_SYM\_PIVOT\_TOLERANCE]} parameter is new to Version
-    4.1.  It is similar in function to the pivot tolerance for left-looking
-    methods (the MATLAB {\tt THRESH} option in {\tt [L,U,P] = lu (A, THRESH)},
-    and the pivot tolerance parameter in SuperLU).
-
-    The parameter {\tt Control [UMFPACK\_STRATEGY]} can be used to bypass
-    UMFPACK's automatic strategy selection.  The automatic strategy nearly
-    always selects the best method.  When it does not, the different methods
-    nearly always give about the same quality of results.  There may be
-    cases where the automatic strategy fails to pick a good strategy. Also,
-    you can save some computing time if you know the right strategy for your
-    set of matrix problems.
-
-\item {\tt umfpack\_*\_qsymbolic}:
-
-    An alternative to {\tt umfpack\_*\_symbolic}.  Allows the user to specify
-    his or her own column pre-ordering, rather than using the default COLAMD
-    or AMD pre-orderings.  For example, a graph partitioning-based order
-    of $\m{A}\tr\m{A}$ would be suitable for UMFPACK's unsymmetric strategy.
-    A partitioning of $\m{A}+\m{A}\tr$ would be suitable for UMFPACK's
-    symmetric or 2-by-2 strategies.
-
-\item {\tt umfpack\_*\_wsolve}:
-
-    An alternative to {\tt umfpack\_*\_solve} which does not dynamically
-    allocate any memory.  Requires the user to pass two additional work
-    arrays.
-
-\end{itemize}
-
-%-------------------------------------------------------------------------------
-\subsection{Matrix manipulation routines}
-\label{triplet}
-%-------------------------------------------------------------------------------
-
-The compressed column data structure is compact, and simplifies the UMFPACK
-routines that operate on the sparse matrix $\m{A}$.  However, it can be
-inconvenient for the user to generate.  Section~\ref{Manipulate} presents the
-details of routines for manipulating sparse matrices in {\em triplet} form,
-compressed column form, and compressed row form (the transpose of the
-compressed column form).  The triplet form of a matrix consists of three or
-four arrays.  For the {\tt int} version of UMFPACK:
-
-{\footnotesize
-\begin{verbatim}
-     int Ti [nz] ;
-     int Tj [nz] ;
-     double Tx [nz] ;
-\end{verbatim}
-}
-
-For the {\tt long} version:
-
-{\footnotesize
-\begin{verbatim}
-     long Ti [nz] ;
-     long Tj [nz] ;
-     double Tx [nz] ;
-\end{verbatim}
-}
-
-The complex versions use another array to hold the imaginary part:
-
-{\footnotesize
-\begin{verbatim}
-     double Tz [nz] ;
-\end{verbatim}
-}
-
-The {\tt k}-th triplet is $(i,j,a_{ij})$, where $i =$ {\tt Ti[k]},
-$j =$ {\tt Tj[k]}, and $a_{ij} =$ {\tt Tx[k]}.  For the complex versions,
-{\tt Tx[k]} is the real part of $a_{ij}$ and
-{\tt Tz[k]} is the imaginary part.
-The triplets can be in any
-order in the {\tt Ti}, {\tt Tj}, and {\tt Tx} arrays (and {\tt Tz} for
-the complex versions), and duplicate entries may
-exist.  
-If {\tt Tz} is NULL, then the array {\tt Tx} becomes of size {\tt 2*nz},
-and the real and imaginary parts of the
-{\tt k}-th triplet are located in {\tt Tx[2*k]} and {\tt Tx[2*k+1]},
-respectively.
-Any duplicate entries are summed when the triplet form is converted to
-compressed column form.  This is a convenient way to create a matrix arising in
-finite-element methods, for example.
-
-Four routines are provided for manipulating sparse matrices:
-
-\begin{itemize}
-\item {\tt umfpack\_*\_triplet\_to\_col}:
-
-    Converts a triplet form of a matrix to compressed column form (ready for
-    input to \newline
-    {\tt umfpack\_*\_symbolic}, {\tt umfpack\_*\_qsymbolic}, and
-    {\tt umfpack\_*\_numeric}).  Identical to {\tt A = spconvert(i,j,x)} in
-    MATLAB, except that zero entries are not removed, so that the pattern of
-    entries in the compressed column form of $\m{A}$ are fully under user
-    control.  This is important if you want to factorize a new matrix with the
-    {\tt Symbolic} object from a prior matrix with the same pattern as the new
-    one.
-
-\item {\tt umfpack\_*\_col\_to\_triplet}:
-
-    The opposite of {\tt umfpack\_*\_triplet\_to\_col}.  Identical to
-    {\tt [i,j,x] = find(A)} in MATLAB, except that numerically zero entries
-    may be included.
-
-\item {\tt umfpack\_*\_transpose}:
-
-    Transposes and optionally permutes a column form matrix \cite{Gustavson78}.
-    Identical to
-    {\tt R = A(P,Q)'} (linear algebraic transpose, using the complex conjugate)
-    or {\tt R = A(P,Q).'} (the array transpose)
-    in MATLAB, except for the presence of numerically zero entries.
-
-    Factorizing $\m{A}\tr$ and then solving $\m{Ax}=\m{b}$ with the transposed
-    factors can sometimes be much faster or much slower than factorizing
-    $\m{A}$.  It is highly dependent on your particular matrix.
-
-\item {\tt umfpack\_*\_scale}:
-
-    Applies the row scale factors to a user-provided vector.  This is not
-    required to solve the sparse linear system $\m{Ax}=\m{b}$ or
-    $\m{A}\tr\m{x}=\m{b}$, since {\tt umfpack\_*\_solve} applies the scale
-    factors for those systems.
-
-\end{itemize}
-
-It is quite easy to add matrices in triplet form, subtract them, transpose
-them, permute them, construct a submatrix, and multiply a triplet-form matrix
-times a vector.  UMFPACK does not provide code for these basic operations,
-however.  Refer to the discussion of
-{\tt umfpack\_*\_triplet\_to\_col} in Section~\ref{Manipulate} for more details
-on how to compute these operations in your own code.
-The only primary matrix operation not provided by UMFPACK is the
-multiplication of two sparse matrices \cite{Gustavson78}.
-A future package under development (as of Jan. 2005), CHOLMOD,
-will provide many of these matrix operations, which
-can then be used in conjunction with UMFPACK.
-Watch my web page for details.
-
-%-------------------------------------------------------------------------------
-\subsection{Getting the contents of opaque objects}
-%-------------------------------------------------------------------------------
-
-There are cases where you may wish to do more with the LU factorization
-of a matrix than solve a linear system.  The opaque {\tt Symbolic} and
-{\tt Numeric} objects are just that - opaque.  You cannot do anything with them
-except to pass them back to subsequent calls to UMFPACK.  Three routines
-are provided for copying their contents into user-provided arrays using simpler
-data structures.  Four routines are provided for saving and loading the
-{\tt Numeric} and {\tt Symbolic} objects to/from binary files.
-An additional routine is provided that computes the determinant.
-They are fully described in Section~\ref{Get}:
-
-\begin{itemize}
-\item {\tt umfpack\_*\_get\_lunz}:
-
-    Returns the number of nonzeros in $\m{L}$ and $\m{U}$.
-
-\item {\tt umfpack\_*\_get\_numeric}:
-
-    Copies $\m{L}$, $\m{U}$, $\m{P}$, $\m{Q}$, and $\m{R}$
-    from the {\tt Numeric} object
-    into arrays provided by the user.  The matrix $\m{L}$ is returned in
-    compressed row form (with the column indices in each row sorted in ascending
-    order).  The matrix $\m{U}$ is returned in compressed column form (with
-    sorted columns).  There are no explicit zero entries in $\m{L}$ and $\m{U}$,
-    but such entries may exist in the {\tt Numeric} object.  The permutations
-    $\m{P}$ and $\m{Q}$ are represented as permutation vectors, where
-    {\tt P[k] = i} means that row {\tt i} of the original matrix is the
-    the {\tt k}-th row of $\m{PAQ}$, and where
-    {\tt Q[k] = j} means that column {\tt j} of the original matrix is the
-    {\tt k}-th column of $\m{PAQ}$.  This is identical to how MATLAB uses
-    permutation vectors (type {\tt help colamd} in MATLAB 6.1 or later).
-
-\item {\tt umfpack\_*\_get\_symbolic}:
-
-    Copies the contents of the {\tt Symbolic} object (the initial row and column
-    preordering, supernodal column elimination tree, and information
-    about each frontal matrix) into arrays provided by the user.
-
-\item {\tt umfpack\_*\_get\_determinant}:
-
-    Computes the determinant from the diagonal of $\m{U}$ and the permutations
-    $\m{P}$ and $\m{Q}$.  This is mostly of theoretical interest.
-    It is not a good test to determine if your matrix is singular or not.
-
-\item {\tt umfpack\_*\_save\_numeric}:
-
-    Saves a copy of the {\tt Numeric} object to a file, in binary format.
-
-\item {\tt umfpack\_*\_load\_numeric}:
-
-    Creates a {\tt Numeric} object by loading it from a file created
-    by {\tt umfpack\_*\_save\_numeric}.
-
-\item {\tt umfpack\_*\_save\_symbolic}:
-
-    Saves a copy of the {\tt Symbolic} object to a file, in binary format.
-
-\item {\tt umfpack\_*\_load\_symbolic}:
-
-    Creates a {\tt Symbolic} object by loading it from a file created
-    by {\tt umfpack\_*\_save\_symbolic}.
-
-\end{itemize}
-
-UMFPACK itself does not make use of these routines;
-they are provided solely for returning the contents of the opaque
-{\tt Symbolic} and {\tt Numeric} objects to the user, and saving/loading
-them to/from a binary file.  None of them do any computation, except for
-{\tt umfpack\_*\_get\_determinant}.
-
-%-------------------------------------------------------------------------------
-\subsection{Reporting routines}
-\label{Reporting}
-%-------------------------------------------------------------------------------
-
-None of the UMFPACK routines discussed so far prints anything, even when an
-error occurs.  UMFPACK provides you with nine routines for printing the input
-and output arguments (including the {\tt Control} settings and {\tt Info}
-statistics) of UMFPACK routines discussed above.  They are fully described in
-Section~\ref{Report}:
-
-\begin{itemize}
-\item {\tt umfpack\_*\_report\_status}:
-
-    Prints the status (return value) of other {\tt umfpack\_*} routines.
-
-\item {\tt umfpack\_*\_report\_info}:
-
-    Prints the statistics returned in the {\tt Info} array by
-    {\tt umfpack\_*\_*symbolic},
-    {\tt umfpack\_*\_numeric}, and {\tt umfpack\_*\_*solve}.
-
-\item {\tt umfpack\_*\_report\_control}:
-
-    Prints the {\tt Control} settings.
-
-\item {\tt umfpack\_*\_report\_matrix}:
-
-    Verifies and prints a compressed column-form or compressed row-form sparse
-    matrix.
-
-\item {\tt umfpack\_*\_report\_triplet}:
-
-    Verifies and prints a matrix in triplet form.
-
-\item {\tt umfpack\_*\_report\_symbolic}:
-
-    Verifies and prints a {\tt Symbolic} object.
-
-\item {\tt umfpack\_*\_report\_numeric}:
-
-    Verifies and prints a {\tt Numeric} object.
-
-\item {\tt umfpack\_*\_report\_perm}:
-
-    Verifies and prints a permutation vector.
-
-\item {\tt umfpack\_*\_report\_vector}:
-
-    Verifies and prints a real or complex vector.
-
-\end{itemize}
-
-The {\tt umfpack\_*\_report\_*} routines behave slightly differently when
-compiled
-into the C-callable UMFPACK library than when used in the MATLAB mexFunction.
-MATLAB stores its sparse matrices using the same compressed column data
-structure discussed above, where row and column indices of an $m$-by-$n$
-matrix are in the range 0 to $m-1$ or $n-1$, respectively\footnote{Complex
-matrices in MATLAB use the split array form, with one {\tt double} array
-for the real part and another array for the imaginary part.  UMFPACK
-supports that format, as well as the packed complex format (new to Version 4.4).}
-It prints them as if they are in the range 1 to $m$ or $n$.
-The UMFPACK mexFunction behaves the same way.
-
-You can control how much the {\tt umfpack\_*\_report\_*} routines print by
-modifying the {\tt Control [UMFPACK\_PRL]} parameter.  Its default value is 1.
-Here is a summary of how the routines use this print level parameter:
-
-\begin{itemize}
-\item {\tt umfpack\_*\_report\_status}:
-
-    No output if the print level is 0 or less, even when an error occurs.
-    If 1, then error messages are printed, and nothing is printed if
-    the status is {\tt UMFPACK\_OK}.  A warning message is printed if
-    the matrix is singular.  If 2 or more, then the status is always
-    printed.  If 4 or more, then the UMFPACK Copyright is printed.
-    If 6 or more, then the UMFPACK License is printed.  See also the first page
-    of this User Guide for the Copyright and License.
-
-\item {\tt umfpack\_*\_report\_control}:
-
-    No output if the print level is 1 or less.  If 2 or more, all of
-    {\tt Control} is printed.
-
-\item {\tt umfpack\_*\_report\_info}:
-
-    No output if the print level is 1 or less.  If 2 or more, all of
-    {\tt Info} is printed.
-
-\item all other {\tt umfpack\_*\_report\_*} routines:
-
-    If the print level is 2 or less, then these routines return silently without
-    checking their inputs.  If 3 or more, the inputs are fully verified and a
-    short status summary is printed.  If 4, then the first few entries of the
-    input arguments are printed.  If 5, then all of the input arguments are
-    printed.
-
-\end{itemize}
-
-This print level parameter has an additional effect on the MATLAB mexFunction.
-If zero, then no warnings of singular or nearly singular matrices are
-printed (similar to the MATLAB commands
-{\tt warning off MATLAB:singularMatrix} and
-{\tt warning off MATLAB:nearlySingularMatrix}).
-
-%-------------------------------------------------------------------------------
-\subsection{Utility routines}
-%-------------------------------------------------------------------------------
-
-UMFPACK v4.0 included a routine that returns the time used by the process,
-{\tt umfpack\_timer}.  The routine uses either {\tt getrusage} (which is
-preferred), or the ANSI C {\tt clock} routine if that is not available.
-It is fully described in Section~\ref{Utility}.  It is still available in
-UMFPACK v4.1 and following, but not used internally.
-Two new timing routines are provided in UMFPACK Version 4.1 and following,
-{\tt umfpack\_tic} and {\tt umfpack\_toc}.  They use POSIX-compliant
-{\tt sysconf} and {\tt times} routines to find both the CPU time
-and wallclock time.
-These three routines are the only user-callable
-routine that is identical in all four {\tt int}/{\tt long}, real/complex
-versions (there is no {\tt umfpack\_di\_timer} routine, for example).
-
-%-------------------------------------------------------------------------------
-\subsection{Control parameters}
-\label{control_param}
-%-------------------------------------------------------------------------------
-
-UMFPACK uses an optional {\tt double} array (currently of size 20)
-to modify its control parameters.  If you pass {\tt (double *) NULL} instead
-of a {\tt Control} array, then defaults are used.  These defaults provide
-nearly optimal performance (both speed, memory usage, and numerical accuracy)
-for a wide range of matrices from real applications.
-
-This array will almost certainly grow in size in future releases,
-so be sure to dimension your {\tt Control} array to be of size
-{\tt UMFPACK\_CONTROL}.  That constant is currently defined to be 20,
-but may increase in future versions, since all 20 entries are in use.
-
-The contents of this array may be modified by the user
-(see {\tt umfpack\_*\_defaults}).  Each
-user-callable routine includes a complete description of how each control
-setting modifies its behavior.  Table~\ref{control} summarizes the entire
-contents of the {\tt Control} array.
-Note that ANSI C uses 0-based indexing, while MATLAB uses 1-based
-indexing.  Thus, {\tt Control(1)} in MATLAB is the same as
-{\tt Control[0]} or {\tt Control[UMFPACK\_PRL]} in ANSI C.
-
-\begin{table}
-\caption{UMFPACK Control parameters}
-\label{control}
-{\footnotesize
-\begin{tabular}{llll}
-\hline
-
-MATLAB & ANSI C & default & description \\
-\hline
-{\tt Control(1)}  & {\tt Control[UMFPACK\_PRL]} & 1 & printing level \\
-{\tt Control(2)}  & {\tt Control[UMFPACK\_DENSE\_ROW]} & 0.2 & dense row parameter \\
-{\tt Control(3)}  & {\tt Control[UMFPACK\_DENSE\_COL]} & 0.2 & dense column parameter \\
-{\tt Control(4)}  & {\tt Control[UMFPACK\_PIVOT\_TOLERANCE]} & 0.1 & partial pivoting tolerance \\
-{\tt Control(5)}  & {\tt Control[UMFPACK\_BLOCK\_SIZE]} & 32 & BLAS block size \\
-{\tt Control(6)}  & {\tt Control[UMFPACK\_STRATEGY]} & 0 (auto) & select strategy \\
-{\tt Control(7)}  & {\tt Control[UMFPACK\_ALLOC\_INIT]} & 0.7 & initial memory allocation  \\
-{\tt Control(8)}  & {\tt Control[UMFPACK\_IRSTEP]} & 2 & max iter. refinement steps \\
-{\tt Control(13)} & {\tt Control[UMFPACK\_2BY2\_TOLERANCE]} & 0.01 & defines ``large'' entries \\
-{\tt Control(14)} & {\tt Control[UMFPACK\_FIXQ]} & 0 (auto) & fix or modify Q \\
-{\tt Control(15)} & {\tt Control[UMFPACK\_AMD\_DENSE]} & 10 & AMD dense row/column parameter \\
-{\tt Control(16)} & {\tt Control[UMFPACK\_SYM\_PIVOT\_TOLERANCE]} & 0.001 & for diagonal entries \\
-{\tt Control(17)} & {\tt Control[UMFPACK\_SCALE]} & 1 (sum) & row scaling (none, sum, or max) \\
-{\tt Control(18)} & {\tt Control[UMFPACK\_FRONT\_ALLOC\_INIT]} & 0.5 & frontal matrix allocation ratio \\
-{\tt Control(19)} & {\tt Control[UMFPACK\_DROPTOL]} & 0 & drop tolerance \\
-{\tt Control(20)} & {\tt Control[UMFPACK\_AGGRESSIVE]} & 1 (yes) & aggressive absorption \\
- & & & in AMD and COLAMD \\
-%
-\hline
-\multicolumn{4}{l}{Can only be changed at compile time:} \\
-{\tt Control(9)}  & {\tt Control[UMFPACK\_COMPILED\_WITH\_BLAS]} & - & true if BLAS is used \\
-{\tt Control(10)} & {\tt Control[UMFPACK\_COMPILED\_FOR\_MATLAB]} & - & true for mexFunction \\
-{\tt Control(11)} & {\tt Control[UMFPACK\_COMPILED\_WITH\_GETRUSAGE]} & - & 1 if {\tt getrusage} used \\
-{\tt Control(12)} & {\tt Control[UMFPACK\_COMPILED\_IN\_DEBUG\_MODE]} & - & true if debug mode enabled \\
-\hline
-\end{tabular}
-}
-\end{table}
-
-Let $\alpha_r = ${\tt Control [UMFPACK\_DENSE\_ROW]},
-    $\alpha_c = ${\tt Control [UMFPACK\_DENSE\_COL]}, and
-    $\alpha = ${\tt Control [UMFPACK\_AMD\_DENSE]}.
-Suppose the submatrix $\m{S}$, obtained after eliminating pivots with
-zero Markowitz cost, is $m$-by-$n$.
-Then a row is considered ``dense'' if it has more than
-$\max (16, 16 \alpha_r \sqrt{n})$ entries.
-A column is considered ``dense'' if it has more than
-$\max (16, 16 \alpha_c \sqrt{m})$ entries.
-These rows and columns are treated different in COLAMD and during numerical
-factorization.   In COLAMD, dense columns are placed last in their natural
-order, and dense rows are ignored.  During numerical factorization, dense
-rows are stored differently.
-In AMD, a row/column of the square matrix $\m{S}+\m{S}\tr$ is
-considered ``dense'' if it has more than $\max (16, \alpha \sqrt{n})$ entries.
-These rows/columns are placed last in AMD's output ordering.
-For more details on the control parameters, refer to the documentation of
-{\tt umfpack\_*\_qsymbolic}, {\tt umfpack\_*\_numeric}, {\tt umfpack\_*\_solve},
-and the {\tt umfpack\_*\_report\_*} routines,
-in Sections~\ref{Primary}~through~\ref{Report}, below.
-
-%-------------------------------------------------------------------------------
-\subsection{Error codes}
-\label{error_codes}
-%-------------------------------------------------------------------------------
-
-Many of the routines return a {\tt status} value.
-This is also returned as the first entry in the {\tt Info} array, for
-those routines with that argument.  The following list summarizes
-all of the error codes in UMFPACK.  Each error code is given a
-specific name in the {\tt umfpack.h} include file, so you can use
-those constants instead of hard-coded values in your program.
-Future versions may report additional error codes.
-
-A value of zero means everything was successful, and the matrix is
-non-singular.  A value greater than zero means the routine was successful,
-but a warning occurred.
-A negative value means the routine was not successful.
-In this case, no {\tt Symbolic} or {\tt Numeric} object was created.
-
-\begin{itemize}
-\item {\tt UMFPACK\_OK},  (0):  UMFPACK was successful.
-
-\item {\tt UMFPACK\_WARNING\_singular\_matrix},  (1):  Matrix is singular.
-    There are exact zeros on the diagonal of $\m{U}$.
-
-\item {\tt UMFPACK\_WARNING\_determinant\_underflow}, (2):
-    The determinant is nonzero, but smaller in magnitude than
-    the smallest positive floating-point number.
-
-\item {\tt UMFPACK\_WARNING\_determinant\_overflow}, (3):
-    The determinant is larger in magnitude than
-    the largest positive floating-point number (IEEE Inf).
-
-\item {\tt UMFPACK\_ERROR\_out\_of\_memory},  (-1):  Not enough memory.
-    The ANSI C {\tt malloc} or {\tt realloc} routine failed.
-
-\item {\tt UMFPACK\_ERROR\_invalid\_Numeric\_object},  (-3):  
-    Routines that take a {\tt Numeric} object as input (or load it
-    from a file) check this object and return this error code if it is
-    invalid.  This can be caused by a memory leak or overrun in your
-    program, which can overwrite part of the Numeric object.  It can also
-    be caused by passing a Symbolic object by mistake, or some other pointer.
-    If you try to factorize a matrix using one version of UMFPACK and
-    then use the factors in another version, this error code will trigger as
-    well.  You cannot factor your matrix using
-    version 4.0 and then solve with version 4.1, for example.\footnote{
-    Exception: v4.3, v4.3.1, and v4.4 use identical data structures
-    for the {\tt Numeric} and {\tt Symbolic} objects}.
-    You cannot use different precisions of the same version
-    (real and complex, for example).
-    It is possible for the {\tt Numeric} object to be corrupted by your
-    program in subtle ways that are not detectable by this quick check.
-    In this case, you may see an
-    {\tt UMFPACK\_ERROR\_different\_pattern} error code, or even an
-    {\tt UMFPACK\_ERROR\_internal\_error}.
-
-\item {\tt UMFPACK\_ERROR\_invalid\_Symbolic\_object},  (-4):  
-    Routines that take a {\tt Symbolic} object as input (or load it
-    from a file) check this object and return this error code if it is
-    invalid.  The causes of this error are analogous to the
-    {\tt UMFPACK\_ERROR\_invalid\_Numeric\_object} error described above.
-
-\item {\tt UMFPACK\_ERROR\_argument\_missing},  (-5):  
-    Some arguments of some are optional (you can pass a {\tt NULL} pointer
-    instead of an array).  This error code occurs if you pass a {\tt NULL}
-    pointer when that argument is required to be present.
-
-\item {\tt UMFPACK\_ERROR\_n\_nonpositive}  (-6):  
-    The number of rows or columns of the matrix must be greater than zero.
-
-\item {\tt UMFPACK\_ERROR\_invalid\_matrix}  (-8):  
-    The matrix is invalid.  For the column-oriented input, this error
-    code will occur if the contents of {\tt Ap} and/or {\tt Ai} are invalid.
-
-    {\tt Ap} is an integer array of size {\tt n\_col+1}.
-    On input, it holds the
-    ``pointers'' for the column form of the sparse matrix $\m{A}$.
-    Column {\tt j} of
-    the matrix A is held in {\tt Ai [(Ap [j])} \ldots {\tt (Ap [j+1]-1)]}.
-    The first entry, {\tt Ap [0]}, must be zero,
-    and {\tt Ap [j]} $\le$ {\tt Ap [j+1]} must hold for all
-    {\tt j} in the range 0 to {\tt n\_col-1}.
-    The value {\tt nz = Ap [n\_col]} is thus the
-    total number of entries in the pattern of the matrix A.
-    {\tt nz} must be greater than or equal to zero.
-
-    The nonzero pattern (row indices) for column {\tt j} is stored in
-    {\tt Ai [(Ap [j])} \ldots {\tt (Ap [j+1]-1)]}.  The row indices in a given
-    column {\tt j}
-    must be in ascending order, and no duplicate row indices may be present.
-    Row indices must be in the range 0 to {\tt n\_row-1}
-    (the matrix is 0-based).
-
-    Some routines take a triplet-form input, with arguments
-    {\tt nz}, {\tt Ti}, and {\tt Tj}.  This error code is returned
-    if {\tt nz} is less than zero,
-    if any row    index in {\tt Ti} is outside the range 0 to {\tt n\_col-1}, or
-    if any column index in {\tt Tj} is outside the range 0 to {\tt n\_row-1}.
-
-\item {\tt UMFPACK\_ERROR\_different\_pattern},  (-11):  
-    The most common cause of this error is that the pattern of the
-    matrix has changed between the symbolic and numeric factorization.
-    It can also occur if the {\tt Numeric} or {\tt Symbolic} object has
-    been subtly corrupted by your program.
-
-\item {\tt UMFPACK\_ERROR\_invalid\_system},  (-13):  
-    The {\tt sys} argument provided to one of the solve routines is invalid.
-
-\item {\tt UMFPACK\_ERROR\_invalid\_permutation},  (-15):  
-    The permutation vector provided as input is invalid.
-
-\item {\tt UMFPACK\_ERROR\_file\_IO},  (-17):  
-    This error code is returned by the routines that save and load
-    the {\tt Numeric} or {\tt Symbolic} objects to/from a file, if a
-    file I/O error has occurred.  The file may not exist or may not be readable,
-    you may be trying to create a file that you don't have permission to create,
-    or you may be out of disk space.  The file you are trying to read might
-    be the wrong one, and an earlier end-of-file condition would then result
-    in this error.
-
-\item {\tt UMFPACK\_ERROR\_internal\_error},  (-911):  
-    An internal error has occurred, of unknown cause.  This is either a bug
-    in UMFPACK, or the result of a memory overrun from your program.
-    Try modifying the file {\tt AMD/Source/amd\_internal.h} and adding
-    the statement {\tt \#undef NDEBUG}, to enable the debugging mode.
-    Recompile UMFPACK and rerun your program.
-    A failed assertion might occur which
-    can give you a better indication as to what is going wrong.  Be aware that
-    UMFPACK will be extraordinarily slow when running in debug mode.
-    If all else fails, contact the developer (davis@cise.ufl.edu) with
-    as many details as possible.
-
-\end{itemize}
-
-%-------------------------------------------------------------------------------
-\subsection{Larger examples}
-%-------------------------------------------------------------------------------
-
-Full examples of all user-callable UMFPACK routines
-are available in four stand-alone C main programs, {\tt umfpack\_*\_demo.c}.
-Another example is
-the UMFPACK mexFunction, {\tt umfpackmex.c}.  The mexFunction accesses only the
-user-callable C interface to UMFPACK.  The only features that it does not use
-are the support for the triplet form (MATLAB's sparse arrays are already in the
-compressed column form) and the ability to reuse the {\tt Symbolic} object to
-numerically factorize a matrix whose pattern is the same as a prior matrix
-analyzed by {\tt umfpack\_*\_symbolic} or {\tt umfpack\_*\_qsymbolic}.  The
-latter is an important feature, but the mexFunction does not return its opaque
-{\tt Symbolic} and {\tt Numeric} objects to MATLAB.  Instead, it gets the
-contents of these objects after extracting them via the {\tt umfpack\_*\_get\_*}
-routines, and returns them as MATLAB sparse matrices.
-
-The {\tt umf4.c} program for reading matrices in Harwell/Boeing format
-\cite{DuffGrimesLewis87b} is provided.  It requires three Fortran 77 programs
-({\tt readhb.f}, {\tt readhb\_nozeros.f}, and {\tt readhb\_size.f})
-for reading in the sample Harwell/Boeing files in the {\tt UMFPACK/Demo/HB}
-directory.  More matrices are available at
-http://www.cise.ufl.edu/research/sparse/matrices.
-Type {\tt make hb} in the {\tt UMFPACK/Demo/HB} directory
-to compile and run this demo.  This program was used for the experimental
-results in \cite{Davis03}.
-
-%-------------------------------------------------------------------------------
-\section{Synopsis of C-callable routines}
-\label{Synopsis}
-%-------------------------------------------------------------------------------
-
-Each subsection, below, summarizes the input variables, output variables, return
-values, and calling sequences of the routines in one category.  Variables with
-the same name as those already listed in a prior category have the same size
-and type.
-
-The real, {\tt long} integer {\tt umfpack\_dl\_*} routines are
-identical to the real, {\tt int} routines, except that {\tt \_di\_} is replaced
-with {\tt \_dl\_} in the name, and all {\tt int} arguments become {\tt long}.
-Similarly, the complex, {\tt long} integer {\tt umfpack\_zl\_*} routines are
-identical to the complex, {\tt int} routines, except that {\tt \_zi\_} is
-replaced
-with {\tt \_zl\_} in the name, and all {\tt int} arguments become {\tt long}.
-Only the real and complex {\tt int} versions are listed in the synopsis below.
-
-The matrix $\m{A}$ is {\tt m}-by-{\tt n} with {\tt nz} entries.
-
-The {\tt sys} argument of {\tt umfpack\_*\_solve}
-is an integer in the range 0 to 14 which defines which linear system is
-to be solved.
-\footnote{Integer values for {\tt sys} are used instead of strings (as in LINPACK
-and LAPACK) to avoid C-to-Fortran portability issues.}
-Valid values are listed in Table~\ref{sys}.
-The notation $\m{A}\he$ refers to the matrix transpose, which is the
-complex conjugate transpose for complex matrices ({\tt A'} in MATLAB).
-The array transpose is $\m{A}\tr$, which is {\tt A.'} in MATLAB.
-
-\begin{table}
-\begin{center}
-\caption{UMFPACK {\tt sys} parameter}
-\label{sys}
-{\footnotesize
-\begin{tabular}{ll|l}
-\hline
-Value & & system \\
-\hline
-& & \\
-{\tt UMFPACK\_A}      &  (0) & $\m{Ax}=\m{b}$ \\
-{\tt UMFPACK\_At}     &  (1) & $\m{A}\he\m{x}=\m{b}$ \\
-{\tt UMFPACK\_Aat}    &  (2) & $\m{A}\tr\m{x}=\m{b}$ \\
-& & \\
-\hline
-& & \\
-{\tt UMFPACK\_Pt\_L}  &  (3) & $\m{P}\tr\m{Lx}=\m{b}$ \\
-{\tt UMFPACK\_L}      &  (4) & $\m{Lx}=\m{b}$ \\
-{\tt UMFPACK\_Lt\_P}  &  (5) & $\m{L}\he\m{Px}=\m{b}$ \\
-{\tt UMFPACK\_Lat\_P} &  (6) & $\m{L}\tr\m{Px}=\m{b}$ \\
-{\tt UMFPACK\_Lt}     &  (7) & $\m{L}\he\m{x}=\m{b}$ \\
-{\tt UMFPACK\_Lat}    &  (8) & $\m{L}\tr\m{x}=\m{b}$ \\
-& & \\
-\hline
-& & \\
-{\tt UMFPACK\_U\_Qt}  &  (9) & $\m{UQ}\tr\m{x}=\m{b}$ \\
-{\tt UMFPACK\_U}      & (10) & $\m{Ux}=\m{b}$ \\
-{\tt UMFPACK\_Q\_Ut}  & (11) & $\m{QU}\he\m{x}=\m{b}$ \\
-{\tt UMFPACK\_Q\_Uat} & (12) & $\m{QU}\tr\m{x}=\m{b}$ \\
-{\tt UMFPACK\_Ut}     & (13) & $\m{U}\he\m{x}=\m{b}$ \\
-{\tt UMFPACK\_Uat}    & (14) & $\m{U}\tr\m{x}=\m{b}$ \\
-& & \\
-\hline
-\end{tabular}
-}
-\end{center}
-\end{table}
-
-%-------------------------------------------------------------------------------
-\subsection{Primary routines: real/{\tt int}}
-%-------------------------------------------------------------------------------
-
-{\footnotesize
-\begin{verbatim}
-#include "umfpack.h"
-int status, sys, n, m, nz, Ap [n+1], Ai [nz] ;
-double Control [UMFPACK_CONTROL], Info [UMFPACK_INFO], Ax [nz], X [n], B [n] ;
-void *Symbolic, *Numeric ;
-
-status = umfpack_di_symbolic (m, n, Ap, Ai, Ax, &Symbolic, Control, Info) ;
-status = umfpack_di_numeric (Ap, Ai, Ax, Symbolic, &Numeric, Control, Info) ;
-status = umfpack_di_solve (sys, Ap, Ai, Ax, X, B, Numeric, Control, Info) ;
-umfpack_di_free_symbolic (&Symbolic) ;
-umfpack_di_free_numeric (&Numeric) ;
-\end{verbatim}
-}
-
-%-------------------------------------------------------------------------------
-\subsection{Alternative routines: real/{\tt int}}
-%-------------------------------------------------------------------------------
-
-{\footnotesize
-\begin{verbatim}
-int Qinit [n], Wi [n] ;
-double W [5*n] ;
-
-umfpack_di_defaults (Control) ;
-status = umfpack_di_qsymbolic (m, n, Ap, Ai, Ax, Qinit, &Symbolic, Control, Info) ;
-status = umfpack_di_wsolve (sys, Ap, Ai, Ax, X, B, Numeric, Control, Info, Wi, W) ;
-\end{verbatim}
-}
-
-%-------------------------------------------------------------------------------
-\subsection{Matrix manipulation routines: real/{\tt int}}
-%-------------------------------------------------------------------------------
-
-{\footnotesize
-\begin{verbatim}
-int Ti [nz], Tj [nz], P [m], Q [n], Rp [m+1], Ri [nz], Map [nz] ;
-double Tx [nz], Rx [nz], Y [m], Z [m] ;
-
-status = umfpack_di_col_to_triplet (n, Ap, Tj) ;
-status = umfpack_di_triplet_to_col (m, n, nz, Ti, Tj, Tx, Ap, Ai, Ax, Map) ;
-status = umfpack_di_transpose (m, n, Ap, Ai, Ax, P, Q, Rp, Ri, Rx) ;
-status = umfpack_di_scale (Y, Z, Numeric) ;
-\end{verbatim}
-}
-
-%-------------------------------------------------------------------------------
-\subsection{Getting the contents of opaque objects: real/{\tt int}}
-%-------------------------------------------------------------------------------
-
-The {\tt filename} string should be large enough to hold the name of a file.
-
-{\footnotesize
-\begin{verbatim}
-int lnz, unz, Lp [m+1], Lj [lnz], Up [n+1], Ui [unz], do_recip ;
-double Lx [lnz], Ux [unz], D [min (m,n)], Rs [m], Mx [1], Ex [1] ;
-int nfr, nchains, P1 [m], Q1 [n], Front_npivcol [n+1], Front_parent [n+1], Front_1strow [n+1],
-    Front_leftmostdesc [n+1], Chain_start [n+1], Chain_maxrows [n+1], Chain_maxcols [n+1] ;
-char filename [100] ;
-
-status = umfpack_di_get_lunz (&lnz, &unz, &m, &n, &nz_udiag, Numeric) ;
-status = umfpack_di_get_numeric (Lp, Lj, Lx, Up, Ui, Ux, P, Q, D,
-    &do_recip, Rs, Numeric) ;
-status = umfpack_di_get_symbolic (&m, &n, &n1, &nz, &nfr, &nchains, P1, Q1,
-    Front_npivcol, Front_parent, Front_1strow, Front_leftmostdesc,
-    Chain_start, Chain_maxrows, Chain_maxcols, Symbolic) ;
-status = umfpack_di_load_numeric (&Numeric, filename) ;
-status = umfpack_di_save_numeric (Numeric, filename) ;
-status = umfpack_di_load_symbolic (&Symbolic, filename) ;
-status = umfpack_di_save_symbolic (Symbolic, filename) ;
-status = umfapck_di_get_determinant (Mx, Ex, Numeric, Info) ;
-\end{verbatim}
-}
-
-%-------------------------------------------------------------------------------
-\subsection{Reporting routines: real/{\tt int}}
-%-------------------------------------------------------------------------------
-
-{\footnotesize
-\begin{verbatim}
-
-umfpack_di_report_status (Control, status) ;
-umfpack_di_report_control (Control) ;
-umfpack_di_report_info (Control, Info) ;
-status = umfpack_di_report_matrix (m, n, Ap, Ai, Ax, 1, Control) ;
-status = umfpack_di_report_matrix (m, n, Rp, Ri, Rx, 0, Control) ;
-status = umfpack_di_report_numeric (Numeric, Control) ;
-status = umfpack_di_report_perm (m, P, Control) ;
-status = umfpack_di_report_perm (n, Q, Control) ;
-status = umfpack_di_report_symbolic (Symbolic, Control) ;
-status = umfpack_di_report_triplet (m, n, nz, Ti, Tj, Tx, Control) ;
-status = umfpack_di_report_vector (n, X, Control) ;
-\end{verbatim}
-}
-
-
-
-
-
-
-%-------------------------------------------------------------------------------
-\subsection{Primary routines: complex/{\tt int}}
-%-------------------------------------------------------------------------------
-
-{\footnotesize
-\begin{verbatim}
-double Az [nz], Xx [n], Xz [n], Bx [n], Bz [n] ;
-
-status = umfpack_zi_symbolic (m, n, Ap, Ai, Ax, Az, &Symbolic, Control, Info) ;
-status = umfpack_zi_numeric (Ap, Ai, Ax, Az, Symbolic, &Numeric, Control, Info) ;
-status = umfpack_zi_solve (sys, Ap, Ai, Ax, Az, Xx, Xz, Bx, Bz, Numeric, Control, Info) ;
-umfpack_zi_free_symbolic (&Symbolic) ;
-umfpack_zi_free_numeric (&Numeric) ;
-\end{verbatim}
-}
-
-The arrays {\tt Ax}, {\tt Bx}, and {\tt Xx} double in size if
-any imaginary argument ({\tt Az}, {\tt Xz}, or {\tt Bz}) is {\tt NULL}.
-
-%-------------------------------------------------------------------------------
-\subsection{Alternative routines: complex/{\tt int}}
-%-------------------------------------------------------------------------------
-
-{\footnotesize
-\begin{verbatim}
-double Wz [10*n] ;
-
-umfpack_zi_defaults (Control) ;
-status = umfpack_zi_qsymbolic (m, n, Ap, Ai, Ax, Az, Qinit, &Symbolic, Control, Info) ;
-status = umfpack_zi_wsolve (sys, Ap, Ai, Ax, Az, Xx, Xz, Bx, Bz, Numeric, Control, Info, Wi, Wz) ;
-\end{verbatim}
-}
-
-%-------------------------------------------------------------------------------
-\subsection{Matrix manipulation routines: complex/{\tt int}}
-%-------------------------------------------------------------------------------
-
-{\footnotesize
-\begin{verbatim}
-double Tz [nz], Rz [nz], Yx [m], Yz [m], Zx [m], Zz [m] ;
-
-status = umfpack_zi_col_to_triplet (n, Ap, Tj) ;
-status = umfpack_zi_triplet_to_col (m, n, nz, Ti, Tj, Tx, Tz, Ap, Ai, Ax, Az, Map) ;
-status = umfpack_zi_transpose (m, n, Ap, Ai, Ax, Az, P, Q, Rp, Ri, Rx, Rz, 1) ;
-status = umfpack_zi_transpose (m, n, Ap, Ai, Ax, Az, P, Q, Rp, Ri, Rx, Rz, 0) ;
-status = umfpack_zi_scale (Yx, Yz, Zx, Zz, Numeric) ;
-\end{verbatim}
-}
-
-The arrays {\tt Tx}, {\tt Rx}, {\tt Yx}, and {\tt Zx} double in size if
-any imaginary argument ({\tt Tz}, {\tt Rz}, {\tt Yz}, or {\tt Zz}) is {\tt NULL}.
-
-%-------------------------------------------------------------------------------
-\subsection{Getting the contents of opaque objects: complex/{\tt int}}
-%-------------------------------------------------------------------------------
-
-{\footnotesize
-\begin{verbatim}
-double Lz [lnz], Uz [unz], Dx [min (m,n)], Dz [min (m,n)], Mz [1] ;
-
-status = umfpack_zi_get_lunz (&lnz, &unz, &m, &n, &nz_udiag, Numeric) ;
-status = umfpack_zi_get_numeric (Lp, Lj, Lx, Lz, Up, Ui, Ux, Uz, P, Q, Dx, Dz,
-    &do_recip, Rs, Numeric) ;
-status = umfpack_zi_get_symbolic (&m, &n, &n1, &nz, &nfr, &nchains, P1, Q1,
-    Front_npivcol, Front_parent, Front_1strow, Front_leftmostdesc,
-    Chain_start, Chain_maxrows, Chain_maxcols, Symbolic) ;
-status = umfpack_zi_load_numeric (&Numeric, filename) ;
-status = umfpack_zi_save_numeric (Numeric, filename) ;
-status = umfpack_zi_load_symbolic (&Symbolic, filename) ;
-status = umfpack_zi_save_symbolic (Symbolic, filename) ;
-status = umfapck_zi_get_determinant (Mx, Mz, Ex, Numeric, Info) ;
-\end{verbatim}
-}
-
-The arrays {\tt Lx}, {\tt Ux}, {\tt Dx}, and {\tt Mx} double in size if
-any imaginary argument ({\tt Lz}, {\tt Uz}, {\tt Dz}, or {\tt Mz}) is {\tt NULL}.
-
-%-------------------------------------------------------------------------------
-\subsection{Reporting routines: complex/{\tt int}}
-%-------------------------------------------------------------------------------
-
-{\footnotesize
-\begin{verbatim}
-
-umfpack_zi_report_status (Control, status) ;
-umfpack_zi_report_control (Control) ;
-umfpack_zi_report_info (Control, Info) ;
-status = umfpack_zi_report_matrix (m, n, Ap, Ai, Ax, Az, 1, Control) ;
-status = umfpack_zi_report_matrix (m, n, Rp, Ri, Rx, Rz, 0, Control) ;
-status = umfpack_zi_report_numeric (Numeric, Control) ;
-status = umfpack_zi_report_perm (m, P, Control) ;
-status = umfpack_zi_report_perm (n, Q, Control) ;
-status = umfpack_zi_report_symbolic (Symbolic, Control) ;
-status = umfpack_zi_report_triplet (m, n, nz, Ti, Tj, Tx, Tz, Control) ;
-status = umfpack_zi_report_vector (n, Xx, Xz, Control) ;
-\end{verbatim}
-}
-
-The arrays {\tt Ax}, {\tt Rx}, {\tt Tx}, and {\tt Xx} double in size if
-any imaginary argument ({\tt Az}, {\tt Rz}, {\tt Tz}, or {\tt Xz}) is {\tt NULL}.
-
-
-
-
-%-------------------------------------------------------------------------------
-\subsection{Utility routines}
-%-------------------------------------------------------------------------------
-
-These routines are the same in all four versions of UMFPACK.
-
-{\footnotesize
-\begin{verbatim}
-double t, s [2] ;
-
-t = umfpack_timer ( ) ;
-umfpack_tic (s) ;
-umfpack_toc (s) ;
-
-\end{verbatim}
-}
-
-%-------------------------------------------------------------------------------
-\subsection{AMD ordering routines}
-%-------------------------------------------------------------------------------
-
-UMFPACK makes use of the AMD ordering package for its symmetric ordering
-strategy.  You may also use these four user-callable routines in your own C
-programs.  You need to include the {\tt amd.h} file only if you make direct
-calls to the AMD routines themselves.  The {\tt int} versions are summarized
-below; {\tt long} versions are also available.  Refer to the AMD User Guide
-for more information, or to the file {\tt amd.h} which documents these routines.
-
-{\footnotesize
-\begin{verbatim}
-#include "amd.h"
-double amd_control [AMD_CONTROL], amd_info [AMD_INFO] ;
-
-amd_defaults (amd_control) ;
-status = amd_order (n, Ap, Ai, P, amd_control, amd_info) ;
-amd_control (amd_control) ;
-amd_info (amd_info) ;
-
-\end{verbatim}
-}
-
-%-------------------------------------------------------------------------------
-\section{Using UMFPACK in a Fortran program}
-%-------------------------------------------------------------------------------
-
-UMFPACK includes a basic Fortran 77 interface to some of the C-callable
-UMFPACK routines.
-Since interfacing C and Fortran programs is not portable, this interface might
-not work with all C and Fortran compilers.  Refer to Section~\ref{Install} for
-more details.  The following Fortran routines are provided.
-The list includes the C-callable routines that the Fortran interface
-routine calls.  Refer to the corresponding C routines in Section~\ref{C} for
-more details on what the Fortran routine does.
-
-\begin{itemize}
-\item {\tt umf4def}: sets the default control parameters
-    ({\tt umfpack\_di\_defaults}).
-
-\item {\tt umf4sym}: pre-ordering and symbolic factorization
-    ({\tt umfpack\_di\_symbolic}).
-
-\item {\tt umf4num}: numeric factorization
-    ({\tt umfpack\_di\_numeric}).
-
-\item {\tt umf4solr}: solve a linear system with iterative refinement
-    ({\tt umfpack\_di\_solve}).
-
-\item {\tt umf4sol}: solve a linear system without iterative refinement
-    ({\tt umfpack\_di\_solve}).  Sets {\tt Control [UMFPACK\_IRSTEP]}
-    to zero, and does not require the matrix $\m{A}$.
-
-\item {\tt umf4scal}: scales a vector using UMFPACK's scale factors
-    ({\tt umfpack\_di\_scale}).
-
-\item {\tt umf4fnum}: free the {\tt Numeric} object
-    ({\tt umfpack\_di\_free\_numeric}).
-
-\item {\tt umf4fsym}: free the {\tt Symbolic} object
-    ({\tt umfpack\_di\_free\_symbolic}).
-
-\item {\tt umf4pcon}: prints the control parameters
-    ({\tt umfpack\_di\_report\_control}).
-
-\item {\tt umf4pinf}: print statistics
-    ({\tt umfpack\_di\_report\_info}).
-
-\item {\tt umf4snum}: save the {\tt Numeric} object to a file
-    ({\tt umfpack\_di\_save\_numeric}).
-
-\item {\tt umf4ssym}: save the {\tt Symbolic} object to a file
-    ({\tt umfpack\_di\_save\_symbolic}).
-
-\item {\tt umf4lnum}: load the {\tt Numeric} object from a file
-    ({\tt umfpack\_di\_load\_numeric}).
-
-\item {\tt umf4lsym}: load the {\tt Symbolic} object from a file
-    ({\tt umfpack\_di\_load\_symbolic}).
-\end{itemize}
-
-The matrix $\m{A}$ is passed to UMFPACK in compressed column form, with 0-based
-indices.  In Fortran, for an {\tt m}-by-{\tt n} matrix $\m{A}$ with {\tt nz}
-entries, the row indices of the first column (column 1) are in
-{\tt Ai (Ap(1)+1} \ldots {\tt Ap(2))}, with values in
-{\tt Ax (Ap(1)+1} \ldots {\tt Ap(2))}.  The last column (column {\tt n}) is in
-{\tt Ai (Ap(n)+1} \ldots {\tt Ap(n+1))} and
-{\tt Ax (Ap(n)+1} \ldots {\tt Ap(n+1))}.
-The number of entries in the matrix is thus {\tt nz = Ap (n+1)}.
-The row indices in {\tt Ai} are in the range 0 to {\tt m}-1.  They must be
-sorted, with no duplicate entries allowed.  None of the UMFPACK routines
-modify the input matrix $\m{A}$.
-The following definitions apply for the Fortran routines:
-
-{\footnotesize
-\begin{verbatim}
-    integer m, n, Ap (n+1), Ai (nz), symbolic, numeric, filenum, status
-    double precision Ax (nz), control (20), info (90), x (n), b (n)
-\end{verbatim}
-}
-
-UMFPACK's status is returned in either a {\tt status} argument, or in
-{\tt info (1)}.
-It is zero if UMFPACK was successful, 1 if the matrix is singular (this is a
-warning, not an error), and negative if an error occurred.
-Section~\ref{error_codes} summarizes the possible values of {\tt status}
-and {\tt info (1)}.
-See Table~\ref{sys} for a list of the values of the {\tt sys} argument.
-See Table~\ref{control} for a list of the control parameters (the
-Fortran usage is the same as the MATLAB usage for this array).
-
-For the {\tt Numeric} and {\tt Symbolic} handles, it is probably safe to
-assume that a Fortran {\tt integer} is sufficient to store a C pointer.  If
-that does not work, try defining {\tt numeric} and {\tt symbolic} in your
-Fortran program as integer arrays of size 2.  You will need to define them
-as {\tt integer*8} if you compile UMFPACK in the 64-bit mode.
-
-To avoid passing strings between C and Fortran in the load/save routines,
-a file number is passed instead, and the C interface constructs a file name
-(if {\tt filenum} is 42, the {\tt Numeric} file name is {\tt n42.umf}, and
-the {\tt Symbolic} file name is {\tt s42.umf}).
-
-The following is a summary of the calling sequence of each Fortran
-interface routine.  An example of their use is in the {\tt Demo/umf4hb.f}
-file.  That routine also includes an example of how to convert a 1-based
-sparse matrix into 0-based form.  For more details on the arguments of each
-routine, refer to the arguments of the same name in the corresponding
-C-callable routine, in Sections~\ref{Primary}~through~\ref{Utility}.
-The only exception is the {\tt control} argument of {\tt umf4sol},
-which sets {\tt control (8)} to zero to disable iterative refinement.
-Note that the solve routines do not overwrite {\tt b} with the solution,
-but return their solution in a different array, {\tt x}.
-
-{\footnotesize
-\begin{verbatim}
-    call umf4def (control)
-    call umf4sym (m, n, Ap, Ai, Ax, symbolic, control, info)
-    call umf4num (Ap, Ai, Ax, symbolic, numeric, control, info)
-    call umf4solr (sys, Ap, Ai, Ax, x, b, numeric, control, info)
-    call umf4sol (sys, x, b, numeric, control, info)
-    call umf4scal (x, b, numeric, status)
-    call umf4fnum (numeric)
-    call umf4fsym (symbolic)
-    call umf4pcon (control)
-    call umf4pinf (control)
-    call umf4snum (numeric, filenum, status)
-    call umf4ssym (symbolic, filenum, status)
-    call umf4lnum (numeric, filenum, status)
-    call umf4lsym (symbolic, filenum, status)
-\end{verbatim}
-}
-
-Access to the complex routines in UMFPACK is provided by the interface
-routines in {\tt umf4\_f77zwrapper.c}.  The following is a synopsis
-of each routine.  All the arguments are the same as the real versions,
-except {\tt Az}, {\tt xz}, and {\tt bz} are the imaginary parts of
-the matrix, solution, and right-hand-side, respectively.  The
-{\tt Ax}, {\tt x}, and {\tt b} are the real parts.
-
-{\footnotesize
-\begin{verbatim}
-    call umf4zdef (control)
-    call umf4zsym (m, n, Ap, Ai, Ax, Az, symbolic, control, info)
-    call umf4znum (Ap, Ai, Ax, Az, symbolic, numeric, control, info)
-    call umf4zsolr (sys, Ap, Ai, Ax, Az, x, xz, b, bz, numeric, control, info)
-    call umf4zsol (sys, x, xz, b, bz, numeric, control, info)
-    call umf4zscal (x, xz, b, bz, numeric, status)
-    call umf4zfnum (numeric)
-    call umf4zfsym (symbolic)
-    call umf4zpcon (control)
-    call umf4zpinf (control)
-    call umf4zsnum (numeric, filenum, status)
-    call umf4zssym (symbolic, filenum, status)
-    call umf4zlnum (numeric, filenum, status)
-    call umf4zlsym (symbolic, filenum, status)
-\end{verbatim}
-}
-
-The Fortran interface does not support the packed complex case.
-
-%-------------------------------------------------------------------------------
-\section{Installation}
-\label{Install}
-%-------------------------------------------------------------------------------
-
-%-------------------------------------------------------------------------------
-\subsection{Installing the C library}
-%-------------------------------------------------------------------------------
-
-The following discussion assumes you have the {\tt make} program, either in
-Unix, or in Windows with Cygwin\footnote{www.cygwin.com}.
-You can skip this section and go to next one if all you want to use is
-the UMFPACK and AMD mexFunctions in MATLAB.
-
-You will need to install both UMFPACK v4.4 and AMD v1.1 (or AMD v1.0) to use UMFPACK.
-The {\tt UMFPACK} and {\tt AMD} subdirectories must be placed side-by-side
-within the same directory.  AMD is a stand-alone package that
-is required by UMFPACK.  UMFPACK can be compiled without the
-BLAS \cite{DaydeDuff99,ACM679a,ATLAS,GotoVandeGeijn02},
-but your performance will be much less than what it should be.
-
-System-dependent configurations are in the {\tt AMD/Make}
-and {\tt UMFPACK/Make} directories (the \newline
-{\tt UMFPACK/Make} directory is actually
-just a symbolic link to {\tt AMD/Make}\footnote{Windows might not extract
-the symbolic link {\tt UMFPACK/Make} correctly.  If it doesn't, simply
-create the {\tt UMFPACK/Make} folder by copying it from {\tt AMD/Make}.}).
-You can edit the {\tt Make.include}
-files in either of those directories to customize the compilation.  The default
-settings will work on most systems, except that UMFPACK will be compiled so
-that it does not use the BLAS.  Sample configuration files are provided
-for Linux, Sun Solaris, SGI IRIX, IBM AIX, and the DEC/Compaq Alpha.
-
-To compile and install both packages,
-go to the {\tt UMFPACK} directory and type {\tt make}.  This will compile the
-libraries ({\tt AMD/Lib/libamd.a} and {\tt UMFPACK/Lib/libumfpack.a}).
-A demo of the AMD ordering routine will be compiled and tested in
-the {\tt AMD/Demo} directory, and five demo programs will then be
-compiled and tested in the {\tt UMFPACK/Demo} directory.
-The outputs of these demo programs will then be compared with output
-files in the distribution.  Expect to see a few differences, such as
-residual norms, compile-time control settings, and perhaps memory usage
-differences.  The AMD and UMFPACK mexFunctions for
-use in MATLAB will also be compiled.  If you do not have MATLAB 6.0 or
-later, type {\tt make lib} instead.
-
-If you have the GNU version of {\tt make}, the {\tt Source/GNUmakefile} and
-{\tt MATLAB/GNUmakefile} files are used.  These are much more concise than
-what the ``old'' version of {\tt make} can handle.  If you do not have
-GNU {\tt make}, the {\tt Source/Makefile} and {\tt MATLAB/Makefile} files
-are used instead.  Each UMFPACK source file is compiled into four
-versions ({\tt double} / complex, and {\tt int} / {\tt long}).  A proper
-old-style {\tt Makefile} is cumbersome in this case, so these two
-{\tt Makefile}'s have been constructed by brute force.  They ignore
-dependencies, and simply compile everything.  I highly recommend using GNU
-{\tt make} if you wish to modify UMFPACK.
-
-If you compile UMFPACK and AMD and then later change the {\tt Make.include}
-file or your system-specific configuration file such as {\tt Make.linux},
-then you should type {\tt make purge} and then {\tt make} to recompile.
-
-Here are the various parameters that you can control in your
-{\tt Make.include} file:
-
-\begin{itemize}
-\item {\tt CC = } your C compiler, such as {\tt cc}.
-\item {\tt RANLIB = } your system's {\tt ranlib} program, if needed.
-\item {\tt CFLAGS = } optimization flags, such as {\tt -O}.
-    Add {\tt -DLP64} if you are compiling in 64-bit mode
-    (32 bit {\tt int}'s, 64 bit {\tt long}'s, and 64 bit pointers).
-\item {\tt CONFIG = } configuration settings for the BLAS, memory allocation
-    routines, and timing routines.
-\item {\tt LIB = } your libraries, such as {\tt -lm} or {\tt -lblas}.
-\item {\tt RM =} the command to delete a file.
-\item {\tt MV =} the command to rename a file.
-\item {\tt MEX =} the command to compile a MATLAB mexFunction.
-    If you are using MATLAB 5, you need to add {\tt -DNBLAS} and
-    {\tt -DNUTIL} to this command.  An example is provided in
-    the {\tt Make/Make.include} file.
-\item {\tt F77 =} the command to compile a Fortran program (optional).
-\item {\tt F77FLAGS =} the Fortran compiler flags (optional).
-\item {\tt F77LIB =} the Fortran libraries (optional).
-\end{itemize}
-
-The {\tt CONFIG} string can include combinations of the following;
-most deal with how the BLAS are called:
-\begin{itemize}
-\item {\tt -DNBLAS} if you do not have any BLAS at all.
-\item {\tt -DCBLAS} if you have the C-BLAS \cite{ATLAS}.
-\item {\tt -DNSUNPERF} if you are on Solaris but do not have the Sun
-    Performance Library (for the BLAS).
-\item {\tt -DNSCSL} if you on SGI IRIX but do not have the SCSL BLAS library.
-\item {\tt -DLONGBLAS} if your BLAS can take {\tt long} integer input
-    arguments.  If not defined, then the {\tt umfpack\_*l\_*} versions of
-    UMFPACK that use {\tt long} integers do not call the BLAS.
-    This flag is set internally when using the Sun Performance BLAS
-    or SGI's SCSL BLAS (both have 64-bit versions of the BLAS).
-\item Options for controlling how C calls the Fortran BLAS:
-    {\tt -DBLAS\_BY\_VALUE}, {\tt -DBLAS\_NO\_UNDERSCORE},
-    and {\tt -DBLAS\_CHAR\_ARG}.  These are set automatically for Windows,
-    Sun Solaris, SGI Irix, Red Hat Linux, Compaq Alpha, and
-    AIX (the IBM RS 6000).  They are ignored if you are using
-    the C-BLAS interface to the BLAS.
-\item {\tt -DGETRUSAGE} if you have the {\tt getrusage} function.
-\item {\tt -DNUTIL} if you wish to compile the MATLAB-callable
-    UMFPACK mexFunction with the {\tt mxMalloc}, {\tt mxRealloc}
-    and {\tt mxFree} routines, instead of the undocumented (but
-    superior) {\tt utMalloc}, {\tt utRealloc}, and {\tt utFree}
-    routines.  The default is to use the {\tt ut*} routines on
-    Unix, and the {\tt mx*} routines on Windows.
-\item {\tt -DNPOSIX} if you do not have the POSIX-compliant
-    {\tt sysconf} and {\tt times} routines used by
-    {\tt umfpack\_tic} and {\tt umfpack\_toc}.
-\item {\tt -DNRECIPROCAL} controls a trade-off between speed and accuracy.
-    If defined (or if the pivot value itself is less than $10^{-12}$),
-    then the pivot column is divided by the pivot value during numeric
-    factorization.  Otherwise, it is multiplied by the reciprocal of the
-    pivot, which is faster but can be less accurate.  The default is
-    to multiply by the reciprocal unless the pivot value is small.
-    This option also modifies how the rows of the matrix $\m{A}$ are
-    scaled.  If {\tt -DNRECIPROCAL} is defined (or if any scale factor is
-    less than $10^{-12}$), entries in the rows of $\m{A}$ are divided
-    by the scale factors.  Otherwise, they are multiplied by the reciprocal.
-    When compiling the complex routines with the GNU {\tt gcc} compiler, the
-    pivot column is always divided by the pivot entry, because of a
-    numerical accuracy issue encountered with {\tt gcc} version 3.2 with a
-    few complex matrices on a Pentium 4M (running Linux).  You can still
-    use {\tt -DNRECIPROCAL} to control how the scale factors
-    for the rows of $\m{A}$ are applied.
-\item {\tt -DNO\_DIVIDE\_BY\_ZERO} controls how UMFPACK treats zeros
-    on the diagonal of $\m{U}$, for a singular matrix $\m{A}$.
-    If defined, then no division by
-    zero is performed (a zero entry on the diagonal of $\m{U}$ is
-    treated as if it were equal to one).  By default,
-    UMFPACK will divide by zero.
-\item {\tt -DNO\_TIMER} controls whether or not timing routines
-    are to be called.  If defined, no timers are used.
-    Timers are included by default.
-\end{itemize}
-
-If a Fortran BLAS package is used you may see compiler warnings.  The BLAS
-routines
-{\tt dgemm}, {\tt dgemv}, {\tt dger}, {\tt dtrsm}, {\tt dtrsv}, {\tt dscal}
-and their corresponding complex versions are used.
-Header files are not provided for the Fortran
-BLAS.  You may safely ignore all of these warnings.
-
-I highly recommend the recent BLAS by Goto and van de Geijn
-\cite{GotoVandeGeijn02}.  Using this BLAS increased the performance
-of UMFPACK by up to 50\% on a Dell Latitude C840 laptop (2GHz Pentium 4M,
-512K L2 cache, 1GB main memory).  The peak performance of
-{\tt umfpack\_di\_numeric} with Goto and van de Geijn's BLAS is 1.6 Gflops
-on this computer.  In MATLAB, the peak performance of UMFPACK on
-a dense matrix (stored in sparse format) is 900 Mflops, as compared to
-1 Gflop for {\tt x = A}$\backslash${\tt b}
-when {\tt A} is stored as a regular full matrix.
-
-When you compile your program that uses the C-callable UMFPACK library,
-you need to link your program with both libraries
-({\tt UMFPACK/Lib/libumfpack.a} and {\tt AMD/Lib/libamd.a})
-and you need to tell your compiler to look in the
-directories {\tt UMFPACK/Include} and {\tt AMD/Include} for include
-files.  See {\tt UMFPACK/Demo/Makefile} for an example.
-You do not need to directly include any AMD include files in your
-program, unless you directly call AMD routines.  You only need the
-\begin{verbatim}
-#include "umfpack.h"
-\end{verbatim}
-statement, as described in Section~\ref{Synopsis}.
-
-If you would like to compile both 32-bit and 64-bit versions of the libraries,
-you will need to do it in two steps.  Modify your {\tt Make/Make.<arch>}
-file, and select the 32-bit option.  Type {\tt make} in the {\tt UMFPACK}
-directory, which creates the {\tt UMFPACK/Lib/libumfpack.a} and
-{\tt AMD/Lib/libamd.a} libraries.  Rename those two files.  Edit your
-{\tt Make/Make.<arch>} and select the 64-bit option.   Type {\tt make purge},
-and then {\tt make}, and you will create the 64-bit libraries.
-You can use the same {\tt umfpack.h} include file for both 32-bit and
-64-bit versions.  Simply link your program with the appropriate 32-bit
-or 64-bit compiled version of the UMFPACK and AMD libraries.
-
-Type {\tt make hb} in the {\tt UMFPACK/Demo/HB} directory
-to compile and run a C program that reads in and factorizes
-Harwell/Boeing matrices.  Note that this uses a stand-alone Fortran
-program to read in the Fortran-formatted Harwell/Boeing matrices and
-write them to a file which can be read by a C program.
-
-The {\tt umf\_multicompile.c} file has been added to assist in the
-compilation of UMFPACK in Microsoft Visual Studio, for Windows.
-
-%-------------------------------------------------------------------------------
-\subsection{Installing the MATLAB interface}
-%-------------------------------------------------------------------------------
-
-If all you want to do is use the UMFPACK mexFunction in MATLAB, you can skip
-the use of the {\tt make} command described above.  Simply type
-{\tt umfpack\_make} in MATLAB while in the {\tt UMFPACK/MATLAB} directory.
-You can also type {\tt amd\_make} in the {\tt AMD/MATLAB} directory
-to compile the stand-alone AMD mexFunction (this is not required to
-compile the UMFPACK mexFunction).  This works on any computer with MATLAB,
-including Windows.
-
-You will be prompted to select several configuration options, including
-whether or not to use the BLAS.
-MATLAB 5.3 (or earlier) does not include the BLAS, so you either have to
-compile UMFPACK without the BLAS (UMFPACK will be slow), or modify your
-{\tt <matlab>/bin/mexopts.sh} by adding your BLAS library
-to the {\tt CLIBS} string,
-where {\tt <matlab>} is the directory in which MATLAB is installed.
-
-If you are using Windows and the {\tt lcc} compiler bundled with
-MATLAB 6.1, then you may need to copy the
-{\tt UMFPACK}$\backslash${\tt MATLAB}$\backslash${\tt lcc\_lib}$\backslash${\tt libmwlapack.lib}
-file into the
-{\tt <matlab>}$\backslash${\tt extern}$\backslash${\tt lib}$\backslash${\tt win32}$\backslash${\tt lcc}$\backslash$
-directory.
-Next, type {\tt mex -setup}
-at the MATLAB prompt, and ask MATLAB to select the {\tt lcc} compiler.
-MATLAB 6.1 has built-in BLAS, but in that version of MATLAB the BLAS
-cannot be accessed by a mexFunction compiled by {\tt lcc} without first copying
-this file to the location listed above.
-If you have MATLAB 6.5 or later, you can probably skip this step.
-
-%-------------------------------------------------------------------------------
-\subsection{Installing the Fortran interface}
-%-------------------------------------------------------------------------------
-
-Once the 32-bit C-callable UMFPACK library is compiled, you can also compile
-the Fortran interface, by typing {\tt make fortran}.  This will create
-the {\tt umf4hb} program, test it, and compare the output with the
-file {\tt umf4hb.out} in the distribution.
-If you compiled UMFPACK in 64-bit mode, you need to use {\tt make fortran64}
-instead, which compiles the {\tt umf4hb64} program and compares its output
-with the file {\tt umf4hb64.out}.
-Refer to the comments in the {\tt Demo/umf4\_f77wrapper.c} file
-for more details.
-
-This interface is {\bf highly} non-portable, since it depends
-on how C and Fortran are interfaced.
-Because of this issue, the interface is included in the {\tt Demo} directory,
-and not as a primary part of the UMFPACK library.  The interface routines are
-not included in the compiled {\tt UMFPACK/Lib/libumfpack.a} library, but left
-as stand-alone compiled files ({\tt umf4\_f77wrapper.o} and
-{\tt umf4\_f77wrapper64.o} in the {\tt Demo} directory).
-You may need to modify the interface routines in the file
-{\tt umf4\_f77wrapper.c} if you are using compilers for which this interface
-has not been tested.
-
-%-------------------------------------------------------------------------------
-\subsection{Known Issues}
-%-------------------------------------------------------------------------------
-
-The Microsoft C or C++ compilers on a Pentium badly break the IEEE 754 standard,
-and do not treat NaN's properly.  According to IEEE 754, the expression
-{\tt (x != x)} is supposed to be true if and only if {\tt x} is NaN.  For
-non-compliant compilers in Windows that expression is always false, and another
-test must be used: {\tt (x < x)} is true if and only if {\tt x}
-is NaN.  For compliant compilers, {\tt (x < x)} is always false, for any
-value of {\tt x} (including NaN).
-To cover both cases, UMFPACK when running under Microsoft Windows
-defines the following macro, which is true if and only if {\tt x} is NaN,
-regardless of whether your compiler is compliant or not:
-
-\begin{verbatim}
-#define SCALAR_IS_NAN(x) (((x) != (x)) || ((x) < (x)))
-\end{verbatim}
-
-If your compiler breaks this test, then UMFPACK will fail catastrophically
-if it encounters a NaN.  You will not just see NaN's in your output; UMFPACK
-will probably crash with a segmentation fault.  In that case, you might try to
-see if the common (but non-ANSI C) routine {\tt isnan} is available, and modify
-the macro {\tt SCALAR\_IS\_NAN} in {\tt umf\_version.h} accordingly.  The
-simpler (and IEEE 754-compliant) test {\tt (x != x)} is always true with Linux
-on a PC, and on every Unix compiler I have tested.
-
-Some compilers will complain about the Fortran BLAS being defined implicitly.
-C prototypes for the BLAS are not used, except the C-BLAS.  Some compilers
-will complain about unrecognized {\tt \#pragma}'s.  You may safely ignore
-all of these warnings.
-
-%-------------------------------------------------------------------------------
-\section{Future work}
-\label{Future}
-%-------------------------------------------------------------------------------
-
-Here are a few features that are not in UMFPACK Version 4.4, in no particular
-order.  They may appear in a future release of UMFPACK.  If you are interested,
-let me know and I could consider including them:
-
-\begin{enumerate}
-
-\item Future versions may have different default {\tt Control} parameters.
-    Future versions may return more statistics in the {\tt Info} array, and
-    they may use more entries in the {\tt Control} array.
-    These two arrays will probably become larger, since there are very few
-    unused entries.  If they change in size, the constants
-    {\tt UMFPACK\_CONTROL} and {\tt UMFPACK\_INFO} defined in {\tt umfpack.h}
-    will be changed to reflect their new size.  Your C program should use
-    these constants when declaring the size of these two arrays.  Do not
-    define them as {\tt Control [20]} and {\tt Info [90]}.
-
-\item Forward/back solvers for the conventional row or column-form data
-    structure for $\m{L}$ and $\m{U}$ (the output of
-    {\tt umfpack\_*\_di\_get\_numeric}).  This would enable a separate
-    solver that could be used to write a MATLAB mexFunction
-    {\tt x = lu\_refine (A, b, L, U, P, Q, R)} that gives MATLAB access
-    to the iterative refinement algorithm with sparse backward error
-    analysis.  It would also be easier to handle sparse right-hand-sides
-    in this data structure, and end up with good asymptotic run-time
-    in this case
-    (particularly for $\m{Lx}=\m{b}$; see \cite{GilbertPeierls88}).
-
-\item Complex absolute value computations could be
-    based on FDLIBM (see \newline
-    http://www.netlib.org/fdlibm),
-    using the {\tt hypot(x,y)} routine.
-
-\item When using iterative refinement, the residual $\m{Ax}-\m{b}$ could be
-    returned by {\tt umfpack\_solve}.
-
-\item The solve routines could handle multiple right-hand sides, and sparse
-    right-hand sides.  See {\tt umfpack\_solve} for the MATLAB version
-    of this feature.
-
-\item An option to redirect the error and diagnostic output.
-
-\item Permutation to block-triangular-form \cite{Duff78a} for the C-callable
-    interface.  There are two routines in the ACM Collected
-    Algorithms (529 and 575) \cite{Duff81b,Duff78b}
-    that could be translated from Fortran
-    to C and included in UMFPACK.  This would result in better performance
-    for matrices from circuit simulation and
-    chemical process engineering.  See {\tt umfpack\_btf.m} for the MATLAB
-    version of this feature.  An upcoming package (KLU) will include
-    this feature.
-
-\item The ability to use user-provided {\tt malloc}, {\tt free}, and
-    {\tt realloc} memory allocation routines.  Note that UMFPACK makes very
-    few calls to these routines.  You can do this at compile-time by
-    modifying the definitions of {\tt ALLOCATE}, {\tt FREE}, and
-    {\tt REALLOCATE} in the file {\tt umf\_internal.h}.  Be sure to document
-    your changes carefully when you change UMFPACK source code.
-
-\item The ability to use user-provided work arrays, so that {\tt malloc},
-    {\tt free}, and {\tt realloc} realloc are not called.  The
-    {\tt umfpack\_*\_wsolve} routine is one example.
-
-\item A method that takes time proportional to the number of nonzeros in
-    $\m{A}$ to compute the symbolic factorization \cite{GilbertNgPeyton94}.
-    This would improve the performance of the symmetric and 2-by-2 strategies,
-    and the unsymmetric strategy when dense rows are present.
-    The current method takes
-    time proportional to the number of nonzeros in the upper bound of $\m{U}$.
-    The method used in UMFPACK exploits super-columns, however, so this
-    bound is rarely reached.
-
-\item Other basic sparse matrix operations, such as sparse matrix
-    multiplication, could be included.
-
-\item A more complete Fortran interface.
-
-\item A C++ interface.
-
-\item A parallel version using MPI.  This would require a large amount
-    of effort.
-
-\end{enumerate}
-
-
-%-------------------------------------------------------------------------------
-\newpage
-\section{The primary UMFPACK routines}
-\label{Primary}
-%-------------------------------------------------------------------------------
-
-The include files are the same for all four versions of
-UMFPACK.  The generic integer type is {\tt Int}, which is an {\tt int} or
-{\tt long}, depending on which version of UMFPACK you are using.
-
-\subsection{umfpack\_*\_symbolic}
-
-{\footnotesize
-\begin{verbatim}
-INCLUDE umfpack_symbolic.h via sed
-\end{verbatim}
-}
-
-\newpage
-\subsection{umfpack\_*\_numeric}
-
-{\footnotesize
-\begin{verbatim}
-INCLUDE umfpack_numeric.h via sed
-\end{verbatim}
-}
-
-\newpage
-\subsection{umfpack\_*\_solve}
-
-{\footnotesize
-\begin{verbatim}
-INCLUDE umfpack_solve.h via sed
-\end{verbatim}
-}
-
-\newpage
-\subsection{umfpack\_*\_free\_symbolic}
-
-{\footnotesize
-\begin{verbatim}
-INCLUDE umfpack_free_symbolic.h via sed
-\end{verbatim}
-}
-
-\newpage
-\subsection{umfpack\_*\_free\_numeric}
-
-{\footnotesize
-\begin{verbatim}
-INCLUDE umfpack_free_numeric.h via sed
-\end{verbatim}
-}
-
-%-------------------------------------------------------------------------------
-\newpage
-\section{Alternative routines}
-\label{Alternative}
-%-------------------------------------------------------------------------------
-
-\subsection{umfpack\_*\_defaults}
-
-{\footnotesize
-\begin{verbatim}
-INCLUDE umfpack_defaults.h via sed
-\end{verbatim}
-}
-
-\newpage
-\subsection{umfpack\_*\_qsymbolic}
-
-{\footnotesize
-\begin{verbatim}
-INCLUDE umfpack_qsymbolic.h via sed
-\end{verbatim}
-}
-
-\newpage
-\subsection{umfpack\_*\_wsolve}
-
-{\footnotesize
-\begin{verbatim}
-INCLUDE umfpack_wsolve.h via sed
-\end{verbatim}
-}
-
-%-------------------------------------------------------------------------------
-\newpage
-\section{Matrix manipulation routines}
-\label{Manipulate}
-%-------------------------------------------------------------------------------
-
-\subsection{umfpack\_*\_col\_to\_triplet}
-
-{\footnotesize
-\begin{verbatim}
-INCLUDE umfpack_col_to_triplet.h via sed
-\end{verbatim}
-}
-
-\newpage
-\subsection{umfpack\_*\_triplet\_to\_col}
-
-{\footnotesize
-\begin{verbatim}
-INCLUDE umfpack_triplet_to_col.h via sed
-\end{verbatim}
-}
-
-\newpage
-\subsection{umfpack\_*\_transpose}
-
-{\footnotesize
-\begin{verbatim}
-INCLUDE umfpack_transpose.h via sed
-\end{verbatim}
-}
-
-\newpage
-\subsection{umfpack\_*\_scale}
-
-{\footnotesize
-\begin{verbatim}
-INCLUDE umfpack_scale.h via sed
-\end{verbatim}
-}
-
-%-------------------------------------------------------------------------------
-\newpage
-\section{Getting the contents of opaque objects}
-\label{Get}
-%-------------------------------------------------------------------------------
-
-\subsection{umfpack\_*\_get\_lunz}
-
-{\footnotesize
-\begin{verbatim}
-INCLUDE umfpack_get_lunz.h via sed
-\end{verbatim}
-}
-
-\newpage
-\subsection{umfpack\_*\_get\_numeric}
-
-{\footnotesize
-\begin{verbatim}
-INCLUDE umfpack_get_numeric.h via sed
-\end{verbatim}
-}
-
-\newpage
-\subsection{umfpack\_*\_get\_symbolic}
-
-{\footnotesize
-\begin{verbatim}
-INCLUDE umfpack_get_symbolic.h via sed
-\end{verbatim}
-}
-
-\newpage
-\subsection{umfpack\_*\_save\_numeric}
-
-{\footnotesize
-\begin{verbatim}
-INCLUDE umfpack_save_numeric.h via sed
-\end{verbatim}
-}
-
-\newpage
-\subsection{umfpack\_*\_load\_numeric}
-
-{\footnotesize
-\begin{verbatim}
-INCLUDE umfpack_load_numeric.h via sed
-\end{verbatim}
-}
-
-\newpage
-\subsection{umfpack\_*\_save\_symbolic}
-
-{\footnotesize
-\begin{verbatim}
-INCLUDE umfpack_save_symbolic.h via sed
-\end{verbatim}
-}
-
-\newpage
-\subsection{umfpack\_*\_load\_symbolic}
-
-{\footnotesize
-\begin{verbatim}
-INCLUDE umfpack_load_symbolic.h via sed
-\end{verbatim}
-}
-
-\newpage
-\subsection{umfpack\_*\_get\_determinant}
-
-{\footnotesize
-\begin{verbatim}
-INCLUDE umfpack_get_determinant.h via sed
-\end{verbatim}
-}
-
-%-------------------------------------------------------------------------------
-\newpage
-\section{Reporting routines}
-\label{Report}
-%-------------------------------------------------------------------------------
-
-\subsection{umfpack\_*\_report\_status}
-
-{\footnotesize
-\begin{verbatim}
-INCLUDE umfpack_report_status.h via sed
-\end{verbatim}
-}
-
-\newpage
-\subsection{umfpack\_*\_report\_control}
-
-{\footnotesize
-\begin{verbatim}
-INCLUDE umfpack_report_control.h via sed
-\end{verbatim}
-}
-
-\newpage
-\subsection{umfpack\_*\_report\_info}
-
-{\footnotesize
-\begin{verbatim}
-INCLUDE umfpack_report_info.h via sed
-\end{verbatim}
-}
-
-\newpage
-\subsection{umfpack\_*\_report\_matrix}
-
-{\footnotesize
-\begin{verbatim}
-INCLUDE umfpack_report_matrix.h via sed
-\end{verbatim}
-}
-
-\newpage
-\subsection{umfpack\_*\_report\_numeric}
-
-{\footnotesize
-\begin{verbatim}
-INCLUDE umfpack_report_numeric.h via sed
-\end{verbatim}
-}
-
-\newpage
-\subsection{umfpack\_*\_report\_perm}
-
-{\footnotesize
-\begin{verbatim}
-INCLUDE umfpack_report_perm.h via sed
-\end{verbatim}
-}
-
-\newpage
-\subsection{umfpack\_*\_report\_symbolic}
-
-{\footnotesize
-\begin{verbatim}
-INCLUDE umfpack_report_symbolic.h via sed
-\end{verbatim}
-}
-
-\newpage
-\subsection{umfpack\_*\_report\_triplet}
-
-{\footnotesize
-\begin{verbatim}
-INCLUDE umfpack_report_triplet.h via sed
-\end{verbatim}
-}
-
-\newpage
-\subsection{umfpack\_*\_report\_vector}
-
-{\footnotesize
-\begin{verbatim}
-INCLUDE umfpack_report_vector.h via sed
-\end{verbatim}
-}
-
-%-------------------------------------------------------------------------------
-\newpage
-\section{Utility routines}
-\label{Utility}
-%-------------------------------------------------------------------------------
-
-\subsection{umfpack\_timer}
-
-{\footnotesize
-\begin{verbatim}
-INCLUDE umfpack_timer.h via sed
-\end{verbatim}
-}
-
-\newpage
-\subsection{umfpack\_tic and umfpack\_toc}
-
-{\footnotesize
-\begin{verbatim}
-INCLUDE umfpack_tictoc.h via sed
-\end{verbatim}
-}
-
-
-%-------------------------------------------------------------------------------
-\newpage
-% References
-%-------------------------------------------------------------------------------
-
-\bibliographystyle{plain}
-\bibliography{UserGuide}
-
-\end{document}
--- a/liboctave/UMFPACK/UMFPACK/Include/umfpack.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,374 +0,0 @@
-/* ========================================================================== */
-/* === umfpack.h ============================================================ */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    This is the umfpack.h include file, and should be included in all user code
-    that uses UMFPACK.  Do not include any of the umf_* header files in user
-    code.  All routines in UMFPACK starting with "umfpack_" are user-callable.
-    All other routines are prefixed "umf_XY_", (where X is d or z, and Y is
-    i or l) and are not user-callable.
-*/
-
-#ifndef UMFPACK_H
-#define UMFPACK_H
-
-/* -------------------------------------------------------------------------- */
-/* size of Info and Control arrays */
-/* -------------------------------------------------------------------------- */
-
-/* These might be larger in future versions, since there are only 3 unused
- * entries in Info, and no unused entries in Control. */
-
-#define UMFPACK_INFO 90
-#define UMFPACK_CONTROL 20
-
-/* -------------------------------------------------------------------------- */
-/* User-callable routines */
-/* -------------------------------------------------------------------------- */
-
-/* Primary routines: */
-#include "umfpack_symbolic.h"
-#include "umfpack_numeric.h"
-#include "umfpack_solve.h"
-#include "umfpack_free_symbolic.h"
-#include "umfpack_free_numeric.h"
-
-/* Alternative routines: */
-#include "umfpack_defaults.h"
-#include "umfpack_qsymbolic.h"
-#include "umfpack_wsolve.h"
-
-/* Matrix manipulation routines: */
-#include "umfpack_triplet_to_col.h"
-#include "umfpack_col_to_triplet.h"
-#include "umfpack_transpose.h"
-#include "umfpack_scale.h"
-
-/* Getting the contents of the Symbolic and Numeric opaque objects: */
-#include "umfpack_get_lunz.h"
-#include "umfpack_get_numeric.h"
-#include "umfpack_get_symbolic.h"
-#include "umfpack_save_numeric.h"
-#include "umfpack_load_numeric.h"
-#include "umfpack_save_symbolic.h"
-#include "umfpack_load_symbolic.h"
-#include "umfpack_get_determinant.h"
-
-/* Reporting routines (the above 14 routines print nothing): */
-#include "umfpack_report_status.h"
-#include "umfpack_report_info.h"
-#include "umfpack_report_control.h"
-#include "umfpack_report_matrix.h"
-#include "umfpack_report_triplet.h"
-#include "umfpack_report_vector.h"
-#include "umfpack_report_symbolic.h"
-#include "umfpack_report_numeric.h"
-#include "umfpack_report_perm.h"
-
-/* Utility routines: */
-#include "umfpack_timer.h"
-#include "umfpack_tictoc.h"
-
-/* -------------------------------------------------------------------------- */
-/* Version, copyright, and license */
-/* -------------------------------------------------------------------------- */
-
-#define UMFPACK_VERSION "UMFPACK V4.4 (Jan. 28, 2005)"
-
-#define UMFPACK_COPYRIGHT \
-"UMFPACK:  Copyright (c) 2005 by Timothy A. Davis.  All Rights Reserved.\n"
-
-#define UMFPACK_LICENSE_PART1 \
-"\nUMFPACK License:\n" \
-"\n" \
-"   Your use or distribution of UMFPACK or any modified version of\n" \
-"   UMFPACK implies that you agree to this License.\n" \
-"\n" \
-"   THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY\n" \
-"   EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.\n"
-#define UMFPACK_LICENSE_PART2 \
-"\n" \
-"   Permission is hereby granted to use or copy this program, provided\n" \
-"   that the Copyright, this License, and the Availability of the original\n" \
-"   version is retained on all copies.  User documentation of any code that\n" \
-"   uses UMFPACK or any modified version of UMFPACK code must cite the\n" \
-"   Copyright, this License, the Availability note, and \"Used by permission.\"\n"
-#define UMFPACK_LICENSE_PART3 \
-"   Permission to modify the code and to distribute modified code is granted,\n" \
-"   provided the Copyright, this License, and the Availability note are\n" \
-"   retained, and a notice that the code was modified is included.  This\n" \
-"   software was developed with support from the National Science Foundation,\n" \
-"   and is provided to you free of charge.\n" \
-"\n" \
-"Availability: http://www.cise.ufl.edu/research/sparse/umfpack\n" \
-"\n"
-
-/* -------------------------------------------------------------------------- */
-/* contents of Info */
-/* -------------------------------------------------------------------------- */
-
-/* Note that umfpack_report.m must coincide with these definitions.  S is
- * the submatrix of A after removing row/col singletons and empty rows/cols. */
-
-/* returned by all routines that use Info: */
-#define UMFPACK_STATUS 0	/* UMFPACK_OK, or other result */
-#define UMFPACK_NROW 1		/* n_row input value */
-#define UMFPACK_NCOL 16		/* n_col input value */
-#define UMFPACK_NZ 2		/* # of entries in A */
-
-/* computed in UMFPACK_*symbolic and UMFPACK_numeric: */
-#define UMFPACK_SIZE_OF_UNIT 3		/* sizeof (Unit) */
-
-/* computed in UMFPACK_*symbolic: */
-#define UMFPACK_SIZE_OF_INT 4		/* sizeof (int) */
-#define UMFPACK_SIZE_OF_LONG 5		/* sizeof (long) */
-#define UMFPACK_SIZE_OF_POINTER 6	/* sizeof (void *) */
-#define UMFPACK_SIZE_OF_ENTRY 7		/* sizeof (Entry), real or complex */
-#define UMFPACK_NDENSE_ROW 8		/* number of dense rows */
-#define UMFPACK_NEMPTY_ROW 9		/* number of empty rows */
-#define UMFPACK_NDENSE_COL 10		/* number of dense rows */
-#define UMFPACK_NEMPTY_COL 11		/* number of empty rows */
-#define UMFPACK_SYMBOLIC_DEFRAG 12	/* # of memory compactions */
-#define UMFPACK_SYMBOLIC_PEAK_MEMORY 13	/* memory used by symbolic analysis */
-#define UMFPACK_SYMBOLIC_SIZE 14	/* size of Symbolic object, in Units */
-#define UMFPACK_SYMBOLIC_TIME 15	/* time (sec.) for symbolic analysis */
-#define UMFPACK_SYMBOLIC_WALLTIME 17	/* wall clock time for sym. analysis */
-#define UMFPACK_STRATEGY_USED 18	/* strategy used: sym, unsym, 2by2 */
-#define UMFPACK_ORDERING_USED 19	/* ordering used: colamd, amd, given */
-#define UMFPACK_QFIXED 31		/* whether Q is fixed or refined */
-#define UMFPACK_DIAG_PREFERRED 32	/* whether diagonal pivoting attempted*/
-#define UMFPACK_PATTERN_SYMMETRY 33	/* symmetry of pattern of S */
-#define UMFPACK_NZ_A_PLUS_AT 34		/* nnz (S+S'), excl. diagonal */
-#define UMFPACK_NZDIAG 35		/* nnz (diag (S)) */
-
-/* AMD statistics, computed in UMFPACK_*symbolic: */
-#define UMFPACK_SYMMETRIC_LUNZ 36	/* nz in L+U, if AMD ordering used */
-#define UMFPACK_SYMMETRIC_FLOPS 37	/* flops for LU, if AMD ordering used */
-#define UMFPACK_SYMMETRIC_NDENSE 38	/* # of "dense" rows/cols in S+S' */
-#define UMFPACK_SYMMETRIC_DMAX 39	/* max nz in cols of L, for AMD */
-
-/* statistics for 2-by-2 strategy */
-#define UMFPACK_2BY2_NWEAK 51		    /* number of weak diagonal entries*/
-#define UMFPACK_2BY2_UNMATCHED 52	    /* # of weak diagonals not matched*/
-#define UMFPACK_2BY2_PATTERN_SYMMETRY 53    /* symmetry of pattern of P*S */
-#define UMFPACK_2BY2_NZ_PA_PLUS_PAT 54	    /* nz in PS+(PS)' */
-#define UMFPACK_2BY2_NZDIAG 55		    /* nz on diagonal of PS+(PS)' */
-
-/* statistcs for singleton pruning */
-#define UMFPACK_COL_SINGLETONS 56	/* # of column singletons */
-#define UMFPACK_ROW_SINGLETONS 57	/* # of row singletons */
-#define UMFPACK_N2 58			/* size of S */
-#define UMFPACK_S_SYMMETRIC 59		/* 1 if S square and symmetricly perm.*/
-
-/* estimates computed in UMFPACK_*symbolic: */
-#define UMFPACK_NUMERIC_SIZE_ESTIMATE 20    /* final size of Numeric->Memory */
-#define UMFPACK_PEAK_MEMORY_ESTIMATE 21	    /* for symbolic & numeric */
-#define UMFPACK_FLOPS_ESTIMATE 22	    /* flop count */
-#define UMFPACK_LNZ_ESTIMATE 23		    /* nz in L, incl. diagonal */
-#define UMFPACK_UNZ_ESTIMATE 24		    /* nz in U, incl. diagonal */
-#define UMFPACK_VARIABLE_INIT_ESTIMATE 25   /* initial size of Numeric->Memory*/
-#define UMFPACK_VARIABLE_PEAK_ESTIMATE 26   /* peak size of Numeric->Memory */
-#define UMFPACK_VARIABLE_FINAL_ESTIMATE 27  /* final size of Numeric->Memory */
-#define UMFPACK_MAX_FRONT_SIZE_ESTIMATE 28  /* max frontal matrix size */
-#define UMFPACK_MAX_FRONT_NROWS_ESTIMATE 29 /* max # rows in any front */
-#define UMFPACK_MAX_FRONT_NCOLS_ESTIMATE 30 /* max # columns in any front */
-
-/* exact values, (estimates shown above) computed in UMFPACK_numeric: */
-#define UMFPACK_NUMERIC_SIZE 40		    /* final size of Numeric->Memory */
-#define UMFPACK_PEAK_MEMORY 41		    /* for symbolic & numeric */
-#define UMFPACK_FLOPS 42		    /* flop count */
-#define UMFPACK_LNZ 43			    /* nz in L, incl. diagonal */
-#define UMFPACK_UNZ 44			    /* nz in U, incl. diagonal */
-#define UMFPACK_VARIABLE_INIT 45	    /* initial size of Numeric->Memory*/
-#define UMFPACK_VARIABLE_PEAK 46	    /* peak size of Numeric->Memory */
-#define UMFPACK_VARIABLE_FINAL 47	    /* final size of Numeric->Memory */
-#define UMFPACK_MAX_FRONT_SIZE 48	    /* max frontal matrix size */
-#define UMFPACK_MAX_FRONT_NROWS 49	    /* max # rows in any front */
-#define UMFPACK_MAX_FRONT_NCOLS 50	    /* max # columns in any front */
-
-/* computed in UMFPACK_numeric: */
-#define UMFPACK_NUMERIC_DEFRAG 60	    /* # of garbage collections */
-#define UMFPACK_NUMERIC_REALLOC 61	    /* # of memory reallocations */
-#define UMFPACK_NUMERIC_COSTLY_REALLOC 62   /* # of costlly memory realloc's */
-#define UMFPACK_COMPRESSED_PATTERN 63	    /* # of integers in LU pattern */
-#define UMFPACK_LU_ENTRIES 64		    /* # of reals in LU factors */
-#define UMFPACK_NUMERIC_TIME 65		    /* numeric factorization time */
-#define UMFPACK_UDIAG_NZ 66		    /* nz on diagonal of U */
-#define UMFPACK_RCOND 67		    /* est. reciprocal condition # */
-#define UMFPACK_WAS_SCALED 68		    /* none, max row, or sum row */
-#define UMFPACK_RSMIN 69		    /* min (max row) or min (sum row) */
-#define UMFPACK_RSMAX 70		    /* max (max row) or max (sum row) */
-#define UMFPACK_UMIN 71			    /* min abs diagonal entry of U */
-#define UMFPACK_UMAX 72			    /* max abs diagonal entry of U */
-#define UMFPACK_ALLOC_INIT_USED 73	    /* alloc_init parameter used */
-#define UMFPACK_FORCED_UPDATES 74	    /* # of forced updates */
-#define UMFPACK_NUMERIC_WALLTIME 75	    /* numeric wall clock time */
-#define UMFPACK_NOFF_DIAG 76		    /* number of off-diagonal pivots */
-
-#define UMFPACK_ALL_LNZ 77		    /* nz in L, if no dropped entries */
-#define UMFPACK_ALL_UNZ 78		    /* nz in U, if no dropped entries */
-#define UMFPACK_NZDROPPED 79		    /* # of dropped small entries */
-
-/* computed in UMFPACK_solve: */
-#define UMFPACK_IR_TAKEN 80	    /* # of iterative refinement steps taken */
-#define UMFPACK_IR_ATTEMPTED 81	    /* # of iter. refinement steps attempted */
-#define UMFPACK_OMEGA1 82	    /* omega1, sparse backward error estimate */
-#define UMFPACK_OMEGA2 83	    /* omega2, sparse backward error estimate */
-#define UMFPACK_SOLVE_FLOPS 84	    /* flop count for solve */
-#define UMFPACK_SOLVE_TIME 85	    /* solve time (seconds) */
-#define UMFPACK_SOLVE_WALLTIME 86   /* solve time (wall clock, seconds) */
-
-/* Info [87, 88, 89] unused */
-
-/* Unused parts of Info may be used in future versions of UMFPACK. */
-
-/* -------------------------------------------------------------------------- */
-
-/* Info [UMFPACK_ORDERING_USED] is one of the following: */
-#define UMFPACK_ORDERING_COLAMD 0	/* COLAMD(A) */
-#define UMFPACK_ORDERING_AMD 1		/* AMD(A+A') */
-#define UMFPACK_ORDERING_GIVEN 2	/* Q is provided on input */
-
-/* -------------------------------------------------------------------------- */
-/* contents of Control */
-/* -------------------------------------------------------------------------- */
-
-/* used in all UMFPACK_report_* routines: */
-#define UMFPACK_PRL 0			/* print level */
-
-/* used in UMFPACK_*symbolic only: */
-#define UMFPACK_DENSE_ROW 1		/* dense row parameter */
-#define UMFPACK_DENSE_COL 2		/* dense col parameter */
-#define UMFPACK_BLOCK_SIZE 4		/* BLAS-3 block size */
-#define UMFPACK_STRATEGY 5		/* auto, symmetric, unsym., or 2by2 */
-#define UMFPACK_2BY2_TOLERANCE 12	/* 2-by-2 pivot tolerance */
-#define UMFPACK_FIXQ 13			/* -1: no fixQ, 0: default, 1: fixQ */
-#define UMFPACK_AMD_DENSE 14		/* for AMD ordering */
-#define UMFPACK_AGGRESSIVE 19		/* whether or not to use aggressive
-					 * absorption in AMD and COLAMD */
-
-/* used in UMFPACK_numeric only: */
-#define UMFPACK_PIVOT_TOLERANCE 3	/* threshold partial pivoting setting */
-#define UMFPACK_ALLOC_INIT 6		/* initial allocation ratio */
-#define UMFPACK_SYM_PIVOT_TOLERANCE 15	/* threshold, only for diag. entries */
-#define UMFPACK_SCALE 16		/* what row scaling to do */
-#define UMFPACK_FRONT_ALLOC_INIT 17	/* frontal matrix allocation ratio */
-#define UMFPACK_DROPTOL 18		/* drop tolerance for entries in L,U */
-
-/* used in UMFPACK_*solve only: */
-#define UMFPACK_IRSTEP 7		/* max # of iterative refinements */
-
-/* compile-time settings - Control [8..11] cannot be changed at run time: */
-#define UMFPACK_COMPILED_WITH_BLAS 8	    /* uses the BLAS */
-#define UMFPACK_COMPILED_FOR_MATLAB 9	    /* 1 if MATLAB mexFunction, etc. */
-#define UMFPACK_COMPILED_WITH_GETRUSAGE 10  /* uses getrusage timer, or not */
-#define UMFPACK_COMPILED_IN_DEBUG_MODE 11   /* debugging enabled (very slow!) */
-
-/* -------------------------------------------------------------------------- */
-
-/* Control [UMFPACK_STRATEGY] is one of the following: */
-#define UMFPACK_STRATEGY_AUTO 0		/* use sym. or unsym. strategy */
-#define UMFPACK_STRATEGY_UNSYMMETRIC 1	/* COLAMD(A), coletree postorder,
-					   not prefer diag*/
-#define UMFPACK_STRATEGY_2BY2 2		/* AMD(PA+PA'), no coletree postorder,
-					   prefer diag(PA) where P is pseudo
-					   max transversal */
-#define UMFPACK_STRATEGY_SYMMETRIC 3	/* AMD(A+A'), no coletree postorder,
-					   prefer diagonal */
-
-/* Control [UMFPACK_SCALE] is one of the following: */
-#define UMFPACK_SCALE_NONE 0	/* no scaling */
-#define UMFPACK_SCALE_SUM 1	/* default: divide each row by sum (abs (row))*/
-#define UMFPACK_SCALE_MAX 2	/* divide each row by max (abs (row)) */
-
-/* -------------------------------------------------------------------------- */
-/* default values of Control: */
-/* -------------------------------------------------------------------------- */
-
-#define UMFPACK_DEFAULT_PRL 1
-#define UMFPACK_DEFAULT_DENSE_ROW 0.2
-#define UMFPACK_DEFAULT_DENSE_COL 0.2
-#define UMFPACK_DEFAULT_PIVOT_TOLERANCE 0.1
-#define UMFPACK_DEFAULT_2BY2_TOLERANCE 0.01
-#define UMFPACK_DEFAULT_SYM_PIVOT_TOLERANCE 0.001
-#define UMFPACK_DEFAULT_BLOCK_SIZE 32
-#define UMFPACK_DEFAULT_ALLOC_INIT 0.7
-#define UMFPACK_DEFAULT_FRONT_ALLOC_INIT 0.5
-#define UMFPACK_DEFAULT_IRSTEP 2
-#define UMFPACK_DEFAULT_SCALE UMFPACK_SCALE_SUM
-#define UMFPACK_DEFAULT_STRATEGY UMFPACK_STRATEGY_AUTO
-#define UMFPACK_DEFAULT_AMD_DENSE AMD_DEFAULT_DENSE
-#define UMFPACK_DEFAULT_FIXQ 0
-#define UMFPACK_DEFAULT_AGGRESSIVE 1
-#define UMFPACK_DEFAULT_DROPTOL 0
-
-/* default values of Control may change in future versions of UMFPACK. */
-
-/* -------------------------------------------------------------------------- */
-/* status codes */
-/* -------------------------------------------------------------------------- */
-
-#define UMFPACK_OK (0)
-
-/* status > 0 means a warning, but the method was successful anyway. */
-/* A Symbolic or Numeric object was still created. */
-#define UMFPACK_WARNING_singular_matrix (1)
-
-/* The following warnings were added in umfpack_*_get_determinant */
-#define UMFPACK_WARNING_determinant_underflow (2)
-#define UMFPACK_WARNING_determinant_overflow (3)
-
-/* status < 0 means an error, and the method was not successful. */
-/* No Symbolic of Numeric object was created. */
-#define UMFPACK_ERROR_out_of_memory (-1)
-#define UMFPACK_ERROR_invalid_Numeric_object (-3)
-#define UMFPACK_ERROR_invalid_Symbolic_object (-4)
-#define UMFPACK_ERROR_argument_missing (-5)
-#define UMFPACK_ERROR_n_nonpositive (-6)
-#define UMFPACK_ERROR_invalid_matrix (-8)
-#define UMFPACK_ERROR_different_pattern (-11)
-#define UMFPACK_ERROR_invalid_system (-13)
-#define UMFPACK_ERROR_invalid_permutation (-15)
-#define UMFPACK_ERROR_internal_error (-911) /* yes, call me if you get this! */
-#define UMFPACK_ERROR_file_IO (-17)
-
-/* -------------------------------------------------------------------------- */
-/* solve codes */
-/* -------------------------------------------------------------------------- */
-
-/* Solve the system ( )x=b, where ( ) is defined below.  "t" refers to the */
-/* linear algebraic transpose (complex conjugate if A is complex), or the (') */
-/* operator in MATLAB.  "at" refers to the array transpose, or the (.') */
-/* operator in MATLAB. */
-
-#define UMFPACK_A	(0)	/* Ax=b    */
-#define UMFPACK_At	(1)	/* A'x=b   */
-#define UMFPACK_Aat	(2)	/* A.'x=b  */
-
-#define UMFPACK_Pt_L	(3)	/* P'Lx=b  */
-#define UMFPACK_L	(4)	/* Lx=b    */
-#define UMFPACK_Lt_P	(5)	/* L'Px=b  */
-#define UMFPACK_Lat_P	(6)	/* L.'Px=b */
-#define UMFPACK_Lt	(7)	/* L'x=b   */
-#define UMFPACK_Lat	(8)	/* L.'x=b  */
-
-#define UMFPACK_U_Qt	(9)	/* UQ'x=b  */
-#define UMFPACK_U	(10)	/* Ux=b    */
-#define UMFPACK_Q_Ut	(11)	/* QU'x=b  */
-#define UMFPACK_Q_Uat	(12)	/* QU.'x=b */
-#define UMFPACK_Ut	(13)	/* U'x=b   */
-#define UMFPACK_Uat	(14)	/* U.'x=b  */
-
-/* -------------------------------------------------------------------------- */
-
-/* Integer constants are used for status and solve codes instead of enum */
-/* to make it easier for a Fortran code to call UMFPACK. */
-
-#endif /* UMFPACK_H */
--- a/liboctave/UMFPACK/UMFPACK/Include/umfpack_col_to_triplet.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_col_to_triplet =============================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-int umfpack_di_col_to_triplet
-(
-    int n_col,
-    const int Ap [ ],
-    int Tj [ ]
-) ;
-
-long umfpack_dl_col_to_triplet
-(
-    long n_col,
-    const long Ap [ ],
-    long Tj [ ]
-) ;
-
-int umfpack_zi_col_to_triplet
-(
-    int n_col,
-    const int Ap [ ],
-    int Tj [ ]
-) ;
-
-long umfpack_zl_col_to_triplet
-(
-    long n_col,
-    const long Ap [ ],
-    long Tj [ ]
-) ;
-
-/*
-double int Syntax:
-
-    #include "umfpack.h"
-    int n_col, *Tj, *Ap, status ;
-    status = umfpack_di_col_to_triplet (n_col, Ap, Tj) ;
-
-double long Syntax:
-
-    #include "umfpack.h"
-    long n_col, *Tj, *Ap, status ;
-    status = umfpack_dl_col_to_triplet (n_col, Ap, Tj) ;
-
-complex int Syntax:
-
-    #include "umfpack.h"
-    int n_col, *Tj, *Ap, status ;
-    status = umfpack_zi_col_to_triplet (n_col, Ap, Tj) ;
-
-complex long Syntax:
-
-    #include "umfpack.h"
-    long n_col, *Tj, *Ap, status ;
-    status = umfpack_zl_col_to_triplet (n_col, Ap, Tj) ;
-
-Purpose:
-
-    Converts a column-oriented matrix to a triplet form.  Only the column
-    pointers, Ap, are required, and only the column indices of the triplet form
-    are constructed.   This routine is the opposite of umfpack_*_triplet_to_col.
-    The matrix may be singular and/or rectangular.  Analogous to [i, Tj, x] =
-    find (A) in MATLAB, except that zero entries present in the column-form of
-    A are present in the output, and i and x are not created (those are just Ai
-    and Ax+Az*1i, respectively, for a column-form matrix A).
-
-Returns:
-
-    UMFPACK_OK if successful
-    UMFPACK_ERROR_argument_missing if Ap or Tj is missing
-    UMFPACK_ERROR_n_nonpositive if n_col <= 0
-    UMFPACK_ERROR_invalid_matrix if Ap [n_col] < 0, Ap [0] != 0, or
-	Ap [j] > Ap [j+1] for any j in the range 0 to n-1.
-    Unsorted columns and duplicate entries do not cause an error (these would
-    only be evident by examining Ai).  Empty rows and columns are OK.
-
-Arguments:
-
-    Int n_col ;		Input argument, not modified.
-
-	A is an n_row-by-n_col matrix.  Restriction: n_col > 0.
-	(n_row is not required)
-
-    Int Ap [n_col+1] ;	Input argument, not modified.
-
-	The column pointers of the column-oriented form of the matrix.  See
-	umfpack_*_*symbolic for a description.  The number of entries in
-	the matrix is nz = Ap [n_col].  Restrictions on Ap are the same as those
-	for umfpack_*_transpose.  Ap [0] must be zero, nz must be >= 0, and
-	Ap [j] <= Ap [j+1] and Ap [j] <= Ap [n_col] must be true for all j in
-	the range 0 to n_col-1.  Empty columns are OK (that is, Ap [j] may equal
-	Ap [j+1] for any j in the range 0 to n_col-1).
-
-    Int Tj [nz] ;	Output argument.
-
-	Tj is an integer array of size nz on input, where nz = Ap [n_col].
-	Suppose the column-form of the matrix is held in Ap, Ai, Ax, and Az
-	(see umfpack_*_*symbolic for a description).  Then on output, the
-	triplet form of the same matrix is held in Ai (row indices), Tj (column
-	indices), and Ax (numerical values).  Note, however, that this routine
-	does not require Ai and Ax (or Az for the complex version) in order to
-	do the conversion.
-*/
--- a/liboctave/UMFPACK/UMFPACK/Include/umfpack_defaults.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_defaults ===================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-void umfpack_di_defaults
-(
-    double Control [UMFPACK_CONTROL]
-) ;
-
-void umfpack_dl_defaults
-(
-    double Control [UMFPACK_CONTROL]
-) ;
-
-void umfpack_zi_defaults
-(
-    double Control [UMFPACK_CONTROL]
-) ;
-
-void umfpack_zl_defaults
-(
-    double Control [UMFPACK_CONTROL]
-) ;
-
-/*
-double int Syntax:
-
-    #include "umfpack.h"
-    double Control [UMFPACK_CONTROL] ;
-    umfpack_di_defaults (Control) ;
-
-double long Syntax:
-
-    #include "umfpack.h"
-    double Control [UMFPACK_CONTROL] ;
-    umfpack_dl_defaults (Control) ;
-
-complex int Syntax:
-
-    #include "umfpack.h"
-    double Control [UMFPACK_CONTROL] ;
-    umfpack_zi_defaults (Control) ;
-
-complex long Syntax:
-
-    #include "umfpack.h"
-    double Control [UMFPACK_CONTROL] ;
-    umfpack_zl_defaults (Control) ;
-
-Purpose:
-
-    Sets the default control parameter settings.
-
-Arguments:
-
-    double Control [UMFPACK_CONTROL] ;	Output argument.
-
-	Control is set to the default control parameter settings.  You can
-	then modify individual settings by changing specific entries in the
-	Control array.  If Control is a (double *) NULL pointer, then
-	umfpack_*_defaults returns silently (no error is generated, since
-	passing a NULL pointer for Control to any UMFPACK routine is valid).
-*/
--- a/liboctave/UMFPACK/UMFPACK/Include/umfpack_free_numeric.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_free_numeric ================================================= */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-void umfpack_di_free_numeric
-(
-    void **Numeric
-) ;
-
-void umfpack_dl_free_numeric
-(
-    void **Numeric
-) ;
-
-void umfpack_zi_free_numeric
-(
-    void **Numeric
-) ;
-
-void umfpack_zl_free_numeric
-(
-    void **Numeric
-) ;
-
-/*
-double int Syntax:
-
-    #include "umfpack.h"
-    void *Numeric ;
-    umfpack_di_free_numeric (&Numeric) ;
-
-double long Syntax:
-
-    #include "umfpack.h"
-    void *Numeric ;
-    umfpack_dl_free_numeric (&Numeric) ;
-
-complex int Syntax:
-
-    #include "umfpack.h"
-    void *Numeric ;
-    umfpack_zi_free_numeric (&Numeric) ;
-
-complex long Syntax:
-
-    #include "umfpack.h"
-    void *Numeric ;
-    umfpack_zl_free_numeric (&Numeric) ;
-
-Purpose:
-
-    Deallocates the Numeric object and sets the Numeric handle to NULL.  This
-    routine is the only valid way of destroying the Numeric object.
-
-Arguments:
-
-    void **Numeric ;	    Input argument, set to (void *) NULL on output.
-
-	Numeric points to a valid Numeric object, computed by umfpack_*_numeric.
-	No action is taken if Numeric is a (void *) NULL pointer.
-*/
--- a/liboctave/UMFPACK/UMFPACK/Include/umfpack_free_symbolic.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,67 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_free_symbolic ================================================ */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-void umfpack_di_free_symbolic
-(
-    void **Symbolic
-) ;
-
-void umfpack_dl_free_symbolic
-(
-    void **Symbolic
-) ;
-
-void umfpack_zi_free_symbolic
-(
-    void **Symbolic
-) ;
-
-void umfpack_zl_free_symbolic
-(
-    void **Symbolic
-) ;
-
-/*
-double int Syntax:
-
-    #include "umfpack.h"
-    void *Symbolic ;
-    umfpack_di_free_symbolic (&Symbolic) ;
-
-double long Syntax:
-
-    #include "umfpack.h"
-    void *Symbolic ;
-    umfpack_dl_free_symbolic (&Symbolic) ;
-
-complex int Syntax:
-
-    #include "umfpack.h"
-    void *Symbolic ;
-    umfpack_zi_free_symbolic (&Symbolic) ;
-
-complex long Syntax:
-
-    #include "umfpack.h"
-    void *Symbolic ;
-    umfpack_zl_free_symbolic (&Symbolic) ;
-
-Purpose:
-
-    Deallocates the Symbolic object and sets the Symbolic handle to NULL.  This
-    routine is the only valid way of destroying the Symbolic object.
-
-Arguments:
-
-    void **Symbolic ;	    Input argument, set to (void *) NULL on output.
-
-	Points to a valid Symbolic object computed by umfpack_*_symbolic.
-	No action is taken if Symbolic is a (void *) NULL pointer.
-*/
--- a/liboctave/UMFPACK/UMFPACK/Include/umfpack_get_determinant.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,192 +0,0 @@
-/* ========================================================================== */
-/* === UMFPACK_get_determinant ============================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-int umfpack_di_get_determinant
-(
-    double *Mx,
-    double *Ex,
-    void *NumericHandle,
-    double User_Info [UMFPACK_INFO]
-) ;
-
-long umfpack_dl_get_determinant
-(
-    double *Mx,
-    double *Ex,
-    void *NumericHandle,
-    double User_Info [UMFPACK_INFO]
-) ;
-
-int umfpack_zi_get_determinant
-(
-    double *Mx,
-    double *Mz,
-    double *Ex,
-    void *NumericHandle,
-    double User_Info [UMFPACK_INFO]
-) ;
-
-long umfpack_zl_get_determinant
-(
-    double *Mx,
-    double *Mz,
-    double *Ex,
-    void *NumericHandle,
-    double User_Info [UMFPACK_INFO]
-) ;
-
-/*
-double int Syntax:
-
-    #include "umfpack.h"
-    void *Numeric ;
-    int status ;
-    double Mx, Ex, Info [UMFPACK_INFO] ;
-    status = umfpack_di_get_determinant (&Mx, &Ex, Numeric, Info) ;
-
-double long Syntax:
-
-    #include "umfpack.h"
-    void *Numeric ;
-    long status ;
-    double Mx, Ex, Info [UMFPACK_INFO] ;
-    status = umfpack_dl_get_determinant (&Mx, &Ex, Numeric, Info) ;
-
-complex int Syntax:
-
-    #include "umfpack.h"
-    void *Numeric ;
-    int status ;
-    double Mx, Mz, Ex, Info [UMFPACK_INFO] ;
-    status = umfpack_zi_get_determinant (&Mx, &Mz, &Ex, Numeric, Info) ;
-
-complex int Syntax:
-
-    #include "umfpack.h"
-    void *Numeric ;
-    long status ;
-    double *Mx, *Mz, *Ex, Info [UMFPACK_INFO] ;
-    status = umfpack_zl_get_determinant (&Mx, &Mz, &Ex, Numeric, Info) ;
-
-packed complex int Syntax:
-
-    Same as above, except Mz is NULL.
-
-Purpose:
-
-    Using the LU factors and the permutation vectors contained in the Numeric
-    object, calculate the determinant of the matrix A.
-
-    The value of the determinant can be returned in two forms, depending on
-    whether Ex is NULL or not.  If Ex is NULL then the value of the determinant
-    is returned on Mx and Mz for the real and imaginary parts.  However, to
-    avoid over- or underflows, the determinant can be split into a mantissa
-    and exponent, and the parts returned separately, in which case Ex is not
-    NULL.  The actual determinant is then given by
-
-      double det ;
-      det = Mx * pow (10.0, Ex) ;
-
-    for the double case, or
-
-      double det [2] ;
-      det [0] = Mx * pow (10.0, Ex) ;	    // real part
-      det [1] = Mz * pow (10.0, Ex) ;	    // imaginary part
-
-    for the complex case.  Information on if the determinant will or has
-    over or under-flowed is given by Info [UMFPACK_STATUS].
-
-    In the "packed complex" syntax, Mx [0] holds the real part and Mx [1]
-    holds the imaginary part.  Mz is not used (it is NULL).
-
-Returns:
-
-    Returns UMFPACK_OK if sucessful.  Returns UMFPACK_ERROR_out_of_memory if
-    insufficient memory is available for the n_row integer workspace that
-    umfpack_*_get_determinant allocates to construct pivots from the
-    permutation vectors.  Returns UMFPACK_ERROR_invalid_Numeric_object if the
-    Numeric object provided as input is invalid.  Returns
-    UMFPACK_WARNING_singular_matrix if the determinant is zero.  Returns
-    UMFPACK_WARNING_determinant_underflow or
-    UMFPACK_WARNING_determinant_overflow if the determinant has underflowed
-    overflowed (for the case when Ex is NULL), or will overflow if Ex is not
-    NULL and det is computed (see above) in the user program.
-
-Arguments:
-
-    double *Mx ;   Output argument (array of size 1, or size 2 if Mz is NULL)
-    double *Mz ;   Output argument (optional)
-    double *Ex ;   Output argument (optional)
-
-        The determinant returned in mantissa/exponent form, as discussed above.
-	If Mz is NULL, then both the original and imaginary parts will be
-	returned in Mx. If Ex is NULL then the determinant is returned directly
-	in Mx and Mz (or Mx [0] and Mx [1] if Mz is NULL), rather than in
-	mantissa/exponent form.
-
-    void *Numeric ;	Input argument, not modified.
-
-	Numeric must point to a valid Numeric object, computed by
-	umfpack_*_numeric.
-
-    double Info [UMFPACK_INFO] ;	Output argument.
-
-	Contains information about the calculation of the determinant. If a
-	(double *) NULL pointer is passed, then no statistics are returned in
-	Info (this is not an error condition).  The following statistics are
-	computed in umfpack_*_determinant:
-
-	Info [UMFPACK_STATUS]: status code.  This is also the return value,
-	    whether or not Info is present.
-
-	    UMFPACK_OK
-
-	        The determinant was successfully found.
-
-	    UMFPACK_ERROR_out_of_memory
-
-		Insufficient memory to solve the linear system.
-
-	    UMFPACK_ERROR_argument_missing
-
-		Mx is missing (NULL).
-
-	    UMFPACK_ERROR_invalid_Numeric_object
-
-		The Numeric object is not valid.
-
-	    UMFPACK_ERROR_invalid_system
-
-		The matrix is rectangular.  Only square systems can be
-		handled.
-
-	    UMFPACK_WARNING_singluar_matrix
-
-		The determinant is zero or NaN.  The matrix is singular.
-
-	    UMFPACK_WARNING_determinant_underflow
-
-	        When passing from mantissa/exponent form to the determinant
-		an underflow has or will occur.  If the mantissa/exponent from
-		of obtaining the determinant is used, the underflow will occur
-		in the user program.  If the single argument method of
-		obtaining the determinant is used, the underflow has already
-		occurred.
-
-	    UMFPACK_WARNING_determinant_overflow
-
-	        When passing from mantissa/exponent form to the determinant
-		an overflow has or will occur.  If the mantissa/exponent from
-		of obtaining the determinant is used, the overflow will occur
-		in the user program.  If the single argument method of
-		obtaining the determinant is used, the overflow has already
-		occurred.
-
-*/
--- a/liboctave/UMFPACK/UMFPACK/Include/umfpack_get_lunz.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_get_lunz ===================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-int umfpack_di_get_lunz
-(
-    int *lnz,
-    int *unz,
-    int *n_row,
-    int *n_col,
-    int *nz_udiag,
-    void *Numeric
-) ;
-
-long umfpack_dl_get_lunz
-(
-    long *lnz,
-    long *unz,
-    long *n_row,
-    long *n_col,
-    long *nz_udiag,
-    void *Numeric
-) ;
-
-int umfpack_zi_get_lunz
-(
-    int *lnz,
-    int *unz,
-    int *n_row,
-    int *n_col,
-    int *nz_udiag,
-    void *Numeric
-) ;
-
-long umfpack_zl_get_lunz
-(
-    long *lnz,
-    long *unz,
-    long *n_row,
-    long *n_col,
-    long *nz_udiag,
-    void *Numeric
-) ;
-
-/*
-double int Syntax:
-
-    #include "umfpack.h"
-    void *Numeric ;
-    int status, lnz, unz, n_row, n_col ;
-    status = umfpack_di_get_lunz (&lnz, &unz, &n_row, &n_col, Numeric) ;
-
-double long Syntax:
-
-    #include "umfpack.h"
-    void *Numeric ;
-    long status, lnz, unz, n_row, n_col ;
-    status = umfpack_dl_get_lunz (&lnz, &unz, &n_row, &n_col, Numeric) ;
-
-complex int Syntax:
-
-    #include "umfpack.h"
-    void *Numeric ;
-    int status, lnz, unz, n_row, n_col ;
-    status = umfpack_zi_get_lunz (&lnz, &unz, &n_row, &n_col, Numeric) ;
-
-complex long Syntax:
-
-    #include "umfpack.h"
-    void *Numeric ;
-    long status, lnz, unz, n_row, n_col ;
-    status = umfpack_zl_get_lunz (&lnz, &unz, &n_row, &n_col, Numeric) ;
-
-Purpose:
-
-    Determines the size and number of nonzeros in the LU factors held by the
-    Numeric object.  These are also the sizes of the output arrays required
-    by umfpack_*_get_numeric.
-
-    The matrix L is n_row -by- min(n_row,n_col), with lnz nonzeros, including
-    the entries on the unit diagonal of L.
-
-    The matrix U is min(n_row,n_col) -by- n_col, with unz nonzeros, including
-    nonzeros on the diagonal of U.
-
-Returns:
-
-    UMFPACK_OK if successful.
-    UMFPACK_ERROR_invalid_Numeric_object if Numeric is not a valid object.
-    UMFPACK_ERROR_argument_missing if any other argument is (Int *) NULL.
-
-Arguments:
-
-    Int *lnz ;		Output argument.
-
-	The number of nonzeros in L, including the diagonal (which is all
-	one's).  This value is the required size of the Lj and Lx arrays as
-	computed by umfpack_*_get_numeric.  The value of lnz is identical to
-	Info [UMFPACK_LNZ], if that value was returned by umfpack_*_numeric.
-
-    Int *unz ;		Output argument.
-
-	The number of nonzeros in U, including the diagonal.  This value is the
-	required size of the Ui and Ux arrays as computed by
-	umfpack_*_get_numeric.  The value of unz is identical to
-	Info [UMFPACK_UNZ], if that value was returned by umfpack_*_numeric.
-
-    Int *n_row ;	Output argument.
-    Int *n_col ;	Output argument.
-
-	The order of the L and U matrices.  L is n_row -by- min(n_row,n_col)
-	and U is min(n_row,n_col) -by- n_col.
-
-    Int *nz_udiag ;	Output argument.
-
-	The number of numerically nonzero values on the diagonal of U.  The
-	matrix is singular if nz_diag < min(n_row,n_col).  A divide-by-zero
-	will occur if nz_diag < n_row == n_col when solving a sparse system
-	involving the matrix U in umfpack_*_*solve.  The value of nz_udiag is
-	identical to Info [UMFPACK_UDIAG_NZ] if that value was returned by
-	umfpack_*_numeric.
-
-    void *Numeric ;	Input argument, not modified.
-
-	Numeric must point to a valid Numeric object, computed by
-	umfpack_*_numeric.
-*/
--- a/liboctave/UMFPACK/UMFPACK/Include/umfpack_get_numeric.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,252 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_get_numeric ================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-int umfpack_di_get_numeric
-(
-    int Lp [ ],
-    int Lj [ ],
-    double Lx [ ],
-    int Up [ ],
-    int Ui [ ],
-    double Ux [ ],
-    int P [ ],
-    int Q [ ],
-    double Dx [ ],
-    int *do_recip,
-    double Rs [ ],
-    void *Numeric
-) ;
-
-long umfpack_dl_get_numeric
-(
-    long Lp [ ],
-    long Lj [ ],
-    double Lx [ ],
-    long Up [ ],
-    long Ui [ ],
-    double Ux [ ],
-    long P [ ],
-    long Q [ ],
-    double Dx [ ],
-    long *do_recip,
-    double Rs [ ],
-    void *Numeric
-) ;
-
-int umfpack_zi_get_numeric
-(
-    int Lp [ ],
-    int Lj [ ],
-    double Lx [ ], double Lz [ ],
-    int Up [ ],
-    int Ui [ ],
-    double Ux [ ], double Uz [ ],
-    int P [ ],
-    int Q [ ],
-    double Dx [ ], double Dz [ ],
-    int *do_recip,
-    double Rs [ ],
-    void *Numeric
-) ;
-
-long umfpack_zl_get_numeric
-(
-    long Lp [ ],
-    long Lj [ ],
-    double Lx [ ], double Lz [ ],
-    long Up [ ],
-    long Ui [ ],
-    double Ux [ ], double Uz [ ],
-    long P [ ],
-    long Q [ ],
-    double Dx [ ], double Dz [ ],
-    long *do_recip,
-    double Rs [ ],
-    void *Numeric
-) ;
-
-/*
-double int Syntax:
-
-    #include "umfpack.h"
-    void *Numeric ;
-    int *Lp, *Lj, *Up, *Ui, *P, *Q, status, do_recip ;
-    double *Lx, *Ux, *Dx, *Rs ;
-    status = umfpack_di_get_numeric (Lp, Lj, Lx, Up, Ui, Ux, P, Q, Dx,
-	&do_recip, Rs, Numeric) ;
-
-double long Syntax:
-
-    #include "umfpack.h"
-    void *Numeric ;
-    long *Lp, *Lj, *Up, *Ui, *P, *Q, status, do_recip ;
-    double *Lx, *Ux, *Dx, *Rs ;
-    status = umfpack_dl_get_numeric (Lp, Lj, Lx, Up, Ui, Ux, P, Q, Dx,
-	&do_recip, Rs, Numeric) ;
-
-complex int Syntax:
-
-    #include "umfpack.h"
-    void *Numeric ;
-    int *Lp, *Lj, *Up, *Ui, *P, *Q, status, do_recip ;
-    double *Lx, *Lz, *Ux, *Uz, *Dx, *Dz, *Rs ;
-    status = umfpack_zi_get_numeric (Lp, Lj, Lx, Lz, Up, Ui, Ux, Uz, P, Q,
-	Dx, Dz, &do_recip, Rs, Numeric) ;
-
-complex long Syntax:
-
-    #include "umfpack.h"
-    void *Numeric ;
-    long *Lp, *Lj, *Up, *Ui, *P, *Q, status, do_recip ;
-    double *Lx, *Lz, *Ux, *Uz, *Dx, *Dz, *Rs ;
-    status = umfpack_zl_get_numeric (Lp, Lj, Lx, Lz, Up, Ui, Ux, Uz, P, Q,
-	Dx, Dz, &do_recip, Rs, Numeric) ;
-
-packed complex int/long Syntax:
-
-    Same as above, except Lz, Uz, and Dz are all NULL.
-
-Purpose:
-
-    This routine copies the LU factors and permutation vectors from the Numeric
-    object into user-accessible arrays.  This routine is not needed to solve a
-    linear system.  Note that the output arrays Lp, Lj, Lx, Up, Ui, Ux, P, Q,
-    Dx, and Rs are not allocated by umfpack_*_get_numeric; they must exist on
-    input.
-
-    All output arguments are optional.  If any of them are NULL
-    on input, then that part of the LU factorization is not copied.  You can
-    use this routine to extract just the parts of the LU factorization that
-    you want.  For example, to retrieve just the column permutation Q, use:
-
-    #define noD (double *) NULL
-    #define noI (int *) NULL
-    status = umfpack_di_get_numeric (noI, noI, noD, noI, noI, noD, noI,
-	Q, noD, noI, noD, Numeric) ;
-
-Returns:
-
-    Returns UMFPACK_OK if successful.  Returns UMFPACK_ERROR_out_of_memory
-    if insufficient memory is available for the 2*max(n_row,n_col) integer
-    workspace that umfpack_*_get_numeric allocates to construct L and/or U.
-    Returns UMFPACK_ERROR_invalid_Numeric_object if the Numeric object provided
-    as input is invalid.
-
-Arguments:
-
-    Int Lp [n_row+1] ;	Output argument.
-    Int Lj [lnz] ;	Output argument.
-    double Lx [lnz] ;	Output argument.  Size 2*lnz for packed complex case.
-    double Lz [lnz] ;	Output argument for complex versions.
-
-	The n_row-by-min(n_row,n_col) matrix L is returned in compressed-row
-	form.  The column indices of row i and corresponding numerical values
-	are in:
-
-	    Lj [Lp [i] ... Lp [i+1]-1]
-	    Lx [Lp [i] ... Lp [i+1]-1]	real part
-	    Lz [Lp [i] ... Lp [i+1]-1]	imaginary part (complex versions)
-
-	respectively.  Each row is stored in sorted order, from low column
-	indices to higher.  The last entry in each row is the diagonal, which
-	is numerically equal to one.  The sizes of Lp, Lj, Lx, and Lz are
-	returned by umfpack_*_get_lunz.    If Lp, Lj, or Lx are not present,
-	then the matrix L is not returned.  This is not an error condition.
-	The L matrix can be printed if n_row, Lp, Lj, Lx (and Lz for the split
-	complex case) are passed to umfpack_*_report_matrix (using the
-	"row" form).
-
-	If Lx is present and Lz is NULL, then both real
-	and imaginary parts are returned in Lx[0..2*lnz-1], with Lx[2*k]
-	and Lx[2*k+1] being the real and imaginary part of the kth entry.
-
-    Int Up [n_col+1] ;	Output argument.
-    Int Ui [unz] ;	Output argument.
-    double Ux [unz] ;	Output argument. Size 2*unz for packed complex case.
-    double Uz [unz] ;	Output argument for complex versions.
-
-	The min(n_row,n_col)-by-n_col matrix U is returned in compressed-column
-	form.  The row indices of column j and corresponding numerical values
-	are in
-
-	    Ui [Up [j] ... Up [j+1]-1]
-	    Ux [Up [j] ... Up [j+1]-1]	real part
-	    Uz [Up [j] ... Up [j+1]-1]	imaginary part (complex versions)
-
-	respectively.  Each column is stored in sorted order, from low row
-	indices to higher.  The last entry in each column is the diagonal
-	(assuming that it is nonzero).  The sizes of Up, Ui, Ux, and Uz are
-	returned by umfpack_*_get_lunz.  If Up, Ui, or Ux are not present,
-	then the matrix U is not returned.  This is not an error condition.
-	The U matrix can be printed if n_col, Up, Ui, Ux (and Uz for the
-	split complex case) are passed to umfpack_*_report_matrix (using the
-	"column" form).
-
-	If Ux is present and Uz is NULL, then both real
-	and imaginary parts are returned in Ux[0..2*unz-1], with Ux[2*k]
-	and Ux[2*k+1] being the real and imaginary part of the kth entry.
-
-    Int P [n_row] ;		Output argument.
-
-	The permutation vector P is defined as P [k] = i, where the original
-	row i of A is the kth pivot row in PAQ.  If you do not want the P vector
-	to be returned, simply pass (Int *) NULL for P.  This is not an error
-	condition.  You can print P and Q with umfpack_*_report_perm.
-
-    Int Q [n_col] ;		Output argument.
-
-	The permutation vector Q is defined as Q [k] = j, where the original
-	column j of A is the kth pivot column in PAQ.  If you not want the Q
-	vector to be returned, simply pass (Int *) NULL for Q.  This is not
-	an error condition.  Note that Q is not necessarily identical to
-	Qtree, the column pre-ordering held in the Symbolic object.  Refer to
-	the description of Qtree and Front_npivcol in umfpack_*_get_symbolic for
-	details.
-
-    double Dx [min(n_row,n_col)] ;	Output argument.  Size 2*n for
-					the packed complex case.
-    double Dz [min(n_row,n_col)] ;	Output argument for complex versions.
-
-	The diagonal of U is also returned in Dx and Dz.  You can extract the
-	diagonal of U without getting all of U by passing a non-NULL Dx (and
-	Dz for the complex version) and passing Up, Ui, and Ux as NULL.  Dx is
-	the real part of the diagonal, and Dz is the imaginary part.
-
-	If Dx is present and Dz is NULL, then both real
-	and imaginary parts are returned in Dx[0..2*min(n_row,n_col)-1],
-	with Dx[2*k] and Dx[2*k+1] being the real and imaginary part of the kth
-	entry.
-
-    Int *do_recip ;		Output argument.
-
-	If do_recip is returned as zero (false), then the scale factors Rs [i]
-	are to be used by multiplying row i by Rs [i].  Otherwise, the entries
-	in row i are to be divided by Rs [i].
-
-	If UMFPACK has been compiled with gcc, or for MATLAB as either a
-	built-in routine or as a mexFunction, then the NRECIPROCAL flag is
-	set, and do_recip will always be zero (false).
-
-    double Rs [n_row] ;		Output argument.
-
-	The row scale factors are returned in Rs [0..n_row-1].  Row i of A is
-	scaled by dividing or multiplying its values by Rs [i].  If default
-	scaling is in use, Rs [i] is the sum of the absolute values of row i
-	(or its reciprocal).  If max row scaling is in use, then Rs [i] is the
-	maximum absolute value in row i (or its reciprocal).
-	Otherwise, Rs [i] = 1.  If row i is all zero, Rs [i] = 1 as well.  For
-	the complex version, an approximate absolute value is used
-	(|x_real|+|x_imag|).
-
-    void *Numeric ;	Input argument, not modified.
-
-	Numeric must point to a valid Numeric object, computed by
-	umfpack_*_numeric.
-*/
--- a/liboctave/UMFPACK/UMFPACK/Include/umfpack_get_symbolic.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,339 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_get_symbolic ================================================= */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-int umfpack_di_get_symbolic
-(
-    int *n_row,
-    int *n_col,
-    int *n1,
-    int *nz,
-    int *nfr,
-    int *nchains,
-    int P [ ],
-    int Q [ ],
-    int Front_npivcol [ ],
-    int Front_parent [ ],
-    int Front_1strow [ ],
-    int Front_leftmostdesc [ ],
-    int Chain_start [ ],
-    int Chain_maxrows [ ],
-    int Chain_maxcols [ ],
-    void *Symbolic
-) ;
-
-long umfpack_dl_get_symbolic
-(
-    long *n_row,
-    long *n_col,
-    long *n1,
-    long *nz,
-    long *nfr,
-    long *nchains,
-    long P [ ],
-    long Q [ ],
-    long Front_npivcol [ ],
-    long Front_parent [ ],
-    long Front_1strow [ ],
-    long Front_leftmostdesc [ ],
-    long Chain_start [ ],
-    long Chain_maxrows [ ],
-    long Chain_maxcols [ ],
-    void *Symbolic
-) ;
-
-int umfpack_zi_get_symbolic
-(
-    int *n_row,
-    int *n_col,
-    int *n1,
-    int *nz,
-    int *nfr,
-    int *nchains,
-    int P [ ],
-    int Q [ ],
-    int Front_npivcol [ ],
-    int Front_parent [ ],
-    int Front_1strow [ ],
-    int Front_leftmostdesc [ ],
-    int Chain_start [ ],
-    int Chain_maxrows [ ],
-    int Chain_maxcols [ ],
-    void *Symbolic
-) ;
-
-long umfpack_zl_get_symbolic
-(
-    long *n_row,
-    long *n_col,
-    long *n1,
-    long *nz,
-    long *nfr,
-    long *nchains,
-    long P [ ],
-    long Q [ ],
-    long Front_npivcol [ ],
-    long Front_parent [ ],
-    long Front_1strow [ ],
-    long Front_leftmostdesc [ ],
-    long Chain_start [ ],
-    long Chain_maxrows [ ],
-    long Chain_maxcols [ ],
-    void *Symbolic
-) ;
-
-/*
-
-double int Syntax:
-
-    #include "umfpack.h"
-    int status, n_row, n_col, nz, nfr, nchains, *P, *Q,
-	*Front_npivcol, *Front_parent, *Front_1strow, *Front_leftmostdesc,
-	*Chain_start, *Chain_maxrows, *Chain_maxcols ;
-    void *Symbolic ;
-    status = umfpack_di_get_symbolic (&n_row, &n_col, &nz, &nfr, &nchains,
-	P, Q, Front_npivcol, Front_parent, Front_1strow,
-	Front_leftmostdesc, Chain_start, Chain_maxrows, Chain_maxcols,
-	Symbolic) ;
-
-double long Syntax:
-
-    #include "umfpack.h"
-    long status, n_row, n_col, nz, nfr, nchains, *P, *Q,
-	*Front_npivcol, *Front_parent, *Front_1strow, *Front_leftmostdesc,
-	*Chain_start, *Chain_maxrows, *Chain_maxcols ;
-    void *Symbolic ;
-    status = umfpack_dl_get_symbolic (&n_row, &n_col, &nz, &nfr, &nchains,
-	P, Q, Front_npivcol, Front_parent, Front_1strow,
-	Front_leftmostdesc, Chain_start, Chain_maxrows, Chain_maxcols,
-	Symbolic) ;
-
-complex int Syntax:
-
-    #include "umfpack.h"
-    int status, n_row, n_col, nz, nfr, nchains, *P, *Q,
-	*Front_npivcol, *Front_parent, *Front_1strow, *Front_leftmostdesc,
-	*Chain_start, *Chain_maxrows, *Chain_maxcols ;
-    void *Symbolic ;
-    status = umfpack_zi_get_symbolic (&n_row, &n_col, &nz, &nfr, &nchains,
-	P, Q, Front_npivcol, Front_parent, Front_1strow,
-	Front_leftmostdesc, Chain_start, Chain_maxrows, Chain_maxcols,
-	Symbolic) ;
-
-complex long Syntax:
-
-    #include "umfpack.h"
-    long status, n_row, n_col, nz, nfr, nchains, *P, *Q,
-	*Front_npivcol, *Front_parent, *Front_1strow, *Front_leftmostdesc,
-	*Chain_start, *Chain_maxrows, *Chain_maxcols ;
-    void *Symbolic ;
-    status = umfpack_zl_get_symbolic (&n_row, &n_col, &nz, &nfr, &nchains,
-	P, Q, Front_npivcol, Front_parent, Front_1strow,
-	Front_leftmostdesc, Chain_start, Chain_maxrows, Chain_maxcols,
-	Symbolic) ;
-
-Purpose:
-
-    Copies the contents of the Symbolic object into simple integer arrays
-    accessible to the user.  This routine is not needed to factorize and/or
-    solve a sparse linear system using UMFPACK.  Note that the output arrays
-    P, Q, Front_npivcol, Front_parent, Front_1strow, Front_leftmostdesc,
-    Chain_start, Chain_maxrows, and Chain_maxcols are not allocated by
-    umfpack_*_get_symbolic; they must exist on input.
-
-    All output arguments are optional.  If any of them are NULL
-    on input, then that part of the symbolic analysis is not copied.  You can
-    use this routine to extract just the parts of the symbolic analysis that
-    you want.  For example, to retrieve just the column permutation Q, use:
-
-    #define noI (int *) NULL
-    status = umfpack_di_get_symbolic (noI, noI, noI, noI, noI, noI, noI,
-	    Q, noI, noI, noI, noI, noI, noI, noI, Symbolic) ;
-
-    The only required argument the last one, the pointer to the Symbolic object.
-
-    The Symbolic object is small.  Its size for an n-by-n square matrix varies
-    from 4*n to 13*n, depending on the matrix.  The object holds the initial
-    column permutation, the supernodal column elimination tree, and information
-    about each frontal matrix.  You can print it with umfpack_*_report_symbolic.
-
-Returns:
-
-    Returns UMFPACK_OK if successful, UMFPACK_ERROR_invalid_Symbolic_object
-    if Symbolic is an invalid object.
-
-Arguments:
-
-    Int *n_row ;	Output argument.
-    Int *n_col ;	Output argument.
-
-	The dimensions of the matrix A analyzed by the call to
-	umfpack_*_symbolic that generated the Symbolic object.
-
-    Int *n1 ;		Output argument.
-
-	The number of pivots with zero Markowitz cost (they have just one entry
-	in the pivot row, or the pivot column, or both).  These appear first in
-	the output permutations P and Q.
-
-    Int *nz ;		Output argument.
-
-	The number of nonzeros in A.
-
-    Int *nfr ;	Output argument.
-
-	The number of frontal matrices that will be used by umfpack_*_numeric
-	to factorize the matrix A.  It is in the range 0 to n_col.
-
-    Int *nchains ;	Output argument.
-
-	The frontal matrices are related to one another by the supernodal
-	column elimination tree.  Each node in this tree is one frontal matrix.
-	The tree is partitioned into a set of disjoint paths, and a frontal
-	matrix chain is one path in this tree.  Each chain is factorized using
-	a unifrontal technique, with a single working array that holds each
-	frontal matrix in the chain, one at a time.  nchains is in the range
-	0 to nfr.
-
-    Int P [n_row] ;	Output argument.
-
-	The initial row permutation.  If P [k] = i, then this means that
-	row i is the kth row in the pre-ordered matrix.  In general, this P is
-	not the same as the final row permutation computed by umfpack_*_numeric.
-
-	For the unsymmetric strategy, P defines the row-merge order.  Let j be
-	the column index of the leftmost nonzero entry in row i of A*Q.  Then
-	P defines a sort of the rows according to this value.  A row can appear
-	earlier in this ordering if it is aggressively absorbed before it can
-	become a pivot row.  If P [k] = i, row i typically will not be the kth
-	pivot row.
-
-	For the symmetric strategy, P = Q.  For the 2-by-2 strategy, P is the
-	row permutation that places large entries on the diagonal of P*A*Q.
-	If no pivoting occurs during numerical factorization, P [k] = i also
-	defines the final permutation of umfpack_*_numeric, for either the
-	symmetric or 2-by-2 strategies.
-
-    Int Q [n_col] ;	Output argument.
-
-	The initial column permutation.  If Q [k] = j, then this means that
-	column j is the kth pivot column in the pre-ordered matrix.  Q is
-	not necessarily the same as the final column permutation Q, computed by
-	umfpack_*_numeric.  The numeric factorization may reorder the pivot
-	columns within each frontal matrix to reduce fill-in.  If the matrix is
-	structurally singular, and if the symmetric or 2-by-2 strategies or
-	used (or if Control [UMFPACK_FIXQ] > 0), then this Q will be the same
-	as the final column permutation computed in umfpack_*_numeric.
-
-    Int Front_npivcol [n_col+1] ;	Output argument.
-
-	This array should be of size at least n_col+1, in order to guarantee
-	that it will be large enough to hold the output.  Only the first nfr+1
-	entries are used, however.
-
-	The kth frontal matrix holds Front_npivcol [k] pivot columns.  Thus, the
-	first frontal matrix, front 0, is used to factorize the first
-	Front_npivcol [0] columns; these correspond to the original columns
-	Q [0] through Q [Front_npivcol [0]-1].  The next frontal matrix
-	is used to factorize the next Front_npivcol [1] columns, which are thus
-	the original columns Q [Front_npivcol [0]] through
-	Q [Front_npivcol [0] + Front_npivcol [1] - 1], and so on.  Columns
-	with no entries at all are put in a placeholder "front",
-	Front_npivcol [nfr].  The sum of Front_npivcol [0..nfr] is equal to
-	n_col.
-
-	Any modifications that umfpack_*_numeric makes to the initial column
-	permutation are constrained to within each frontal matrix.  Thus, for
-	the first frontal matrix, Q [0] through Q [Front_npivcol [0]-1] is some
-	permutation of the columns Q [0] through
-	Q [Front_npivcol [0]-1].  For second frontal matrix,
-	Q [Front_npivcol [0]] through Q [Front_npivcol [0] + Front_npivcol[1]-1]
-	is some permutation of the same portion of Q, and so on.  All pivot
-	columns are numerically factorized within the frontal matrix originally
-	determined by the symbolic factorization; there is no delayed pivoting
-	across frontal matrices.
-
-    Int Front_parent [n_col+1] ;	Output argument.
-
-	This array should be of size at least n_col+1, in order to guarantee
-	that it will be large enough to hold the output.  Only the first nfr+1
-	entries are used, however.
-
-	Front_parent [0..nfr] holds the supernodal column elimination tree
-	(including the placeholder front nfr, which may be empty).  Each node in
-	the tree corresponds to a single frontal matrix.  The parent of node f
-	is Front_parent [f].
-
-    Int Front_1strow [n_col+1] ;	Output argument.
-
-	This array should be of size at least n_col+1, in order to guarantee
-	that it will be large enough to hold the output.  Only the first nfr+1
-	entries are used, however.
-
-	Front_1strow [k] is the row index of the first row in A (P,Q)
-	whose leftmost entry is in a pivot column for the kth front.  This is
-	necessary only to properly factorize singular matrices.  Rows in the
-	range Front_1strow [k] to Front_1strow [k+1]-1 first become pivot row
-	candidates at the kth front.  Any rows not eliminated in the kth front
-	may be selected as pivot rows in the parent of k (Front_parent [k])
-	and so on up the tree.
-
-    Int Front_leftmostdesc [n_col+1] ;	Output argument.
-
-	This array should be of size at least n_col+1, in order to guarantee
-	that it will be large enough to hold the output.  Only the first nfr+1
-	entries are used, however.
-
-	Front_leftmostdesc [k] is the leftmost descendant of front k, or k
-	if the front has no children in the tree.  Since the rows and columns
-	(P and Q) have been post-ordered via a depth-first-search of
-	the tree, rows in the range Front_1strow [Front_leftmostdesc [k]] to
-	Front_1strow [k+1]-1 form the entire set of candidate pivot rows for
-	the kth front (some of these will typically have already been selected
-	by fronts in the range Front_leftmostdesc [k] to front k-1, before
-	the factorization reaches front k).
-
-    Chain_start [n_col+1] ;	Output argument.
-
-	This array should be of size at least n_col+1, in order to guarantee
-	that it will be large enough to hold the output.  Only the first
-	nchains+1 entries are used, however.
-
-	The kth frontal matrix chain consists of frontal matrices Chain_start[k]
-	through Chain_start [k+1]-1.  Thus, Chain_start [0] is always 0, and
-	Chain_start [nchains] is the total number of frontal matrices, nfr.  For
-	two adjacent fronts f and f+1 within a single chain, f+1 is always the
-	parent of f (that is, Front_parent [f] = f+1).
-
-    Int Chain_maxrows [n_col+1] ;	Output argument.
-    Int Chain_maxcols [n_col+1] ;	Output argument.
-
-	These arrays should be of size at least n_col+1, in order to guarantee
-	that they will be large enough to hold the output.  Only the first
-	nchains entries are used, however.
-
-	The kth frontal matrix chain requires a single working array of
-	dimension Chain_maxrows [k] by Chain_maxcols [k], for the unifrontal
-	technique that factorizes the frontal matrix chain.  Since the symbolic
-	factorization only provides an upper bound on the size of each frontal
-	matrix, not all of the working array is necessarily used during the
-	numerical factorization.
-
-	Note that the upper bound on the number of rows and columns of each
-	frontal matrix is computed by umfpack_*_symbolic, but all that is
-	required by umfpack_*_numeric is the maximum of these two sets of
-	values for each frontal matrix chain.  Thus, the size of each
-	individual frontal matrix is not preserved in the Symbolic object.
-
-    void *Symbolic ;			Input argument, not modified.
-
-	The Symbolic object, which holds the symbolic factorization computed by
-	umfpack_*_symbolic.  The Symbolic object is not modified by
-	umfpack_*_get_symbolic.
-*/
--- a/liboctave/UMFPACK/UMFPACK/Include/umfpack_load_numeric.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_load_numeric ================================================= */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-int umfpack_di_load_numeric
-(
-    void **Numeric,
-    char *filename
-) ;
-
-long umfpack_dl_load_numeric
-(
-    void **Numeric,
-    char *filename
-) ;
-
-int umfpack_zi_load_numeric
-(
-    void **Numeric,
-    char *filename
-) ;
-
-long umfpack_zl_load_numeric
-(
-    void **Numeric,
-    char *filename
-) ;
-
-/*
-double int Syntax:
-
-    #include "umfpack.h"
-    int status ;
-    char *filename ;
-    void *Numeric ;
-    status = umfpack_di_load_numeric (&Numeric, filename) ;
-
-double long Syntax:
-
-    #include "umfpack.h"
-    long status ;
-    char *filename ;
-    void *Numeric ;
-    status = umfpack_dl_load_numeric (&Numeric, filename) ;
-
-complex int Syntax:
-
-    #include "umfpack.h"
-    int status ;
-    char *filename ;
-    void *Numeric ;
-    status = umfpack_zi_load_numeric (&Numeric, filename) ;
-
-complex long Syntax:
-
-    #include "umfpack.h"
-    long status ;
-    char *filename ;
-    void *Numeric ;
-    status = umfpack_zl_load_numeric (&Numeric, filename) ;
-
-Purpose:
-
-    Loads a Numeric object from a file created by umfpack_*_save_numeric.  The
-    Numeric handle passed to this routine is overwritten with the new object.
-    If that object exists prior to calling this routine, a memory leak will
-    occur.  The contents of Numeric are ignored on input.
-
-Returns:
-
-    UMFPACK_OK if successful.
-    UMFPACK_ERROR_out_of_memory if not enough memory is available.
-    UMFPACK_ERROR_file_IO if an I/O error occurred.
-
-Arguments:
-
-    void **Numeric ;	    Output argument.
-
-	**Numeric is the address of a (void *) pointer variable in the user's
-	calling routine (see Syntax, above).  On input, the contents of this
-	variable are not defined.  On output, this variable holds a (void *)
-	pointer to the Numeric object (if successful), or (void *) NULL if
-	a failure occurred.
-
-    char *filename ;	    Input argument, not modified.
-
-	A string that contains the filename from which to read the Numeric
-	object.
-*/
--- a/liboctave/UMFPACK/UMFPACK/Include/umfpack_load_symbolic.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_load_symbolic ================================================ */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-int umfpack_di_load_symbolic
-(
-    void **Symbolic,
-    char *filename
-) ;
-
-long umfpack_dl_load_symbolic
-(
-    void **Symbolic,
-    char *filename
-) ;
-
-int umfpack_zi_load_symbolic
-(
-    void **Symbolic,
-    char *filename
-) ;
-
-long umfpack_zl_load_symbolic
-(
-    void **Symbolic,
-    char *filename
-) ;
-
-/*
-double int Syntax:
-
-    #include "umfpack.h"
-    int status ;
-    char *filename ;
-    void *Symbolic ;
-    status = umfpack_di_load_symbolic (&Symbolic, filename) ;
-
-double long Syntax:
-
-    #include "umfpack.h"
-    long status ;
-    char *filename ;
-    void *Symbolic ;
-    status = umfpack_dl_load_symbolic (&Symbolic, filename) ;
-
-complex int Syntax:
-
-    #include "umfpack.h"
-    int status ;
-    char *filename ;
-    void *Symbolic ;
-    status = umfpack_zi_load_symbolic (&Symbolic, filename) ;
-
-complex long Syntax:
-
-    #include "umfpack.h"
-    long status ;
-    char *filename ;
-    void *Symbolic ;
-    status = umfpack_zl_load_symbolic (&Symbolic, filename) ;
-
-Purpose:
-
-    Loads a Symbolic object from a file created by umfpack_*_save_symbolic. The
-    Symbolic handle passed to this routine is overwritten with the new object.
-    If that object exists prior to calling this routine, a memory leak will
-    occur.  The contents of Symbolic are ignored on input.
-
-Returns:
-
-    UMFPACK_OK if successful.
-    UMFPACK_ERROR_out_of_memory if not enough memory is available.
-    UMFPACK_ERROR_file_IO if an I/O error occurred.
-
-Arguments:
-
-    void **Symbolic ;	    Output argument.
-
-	**Symbolic is the address of a (void *) pointer variable in the user's
-	calling routine (see Syntax, above).  On input, the contents of this
-	variable are not defined.  On output, this variable holds a (void *)
-	pointer to the Symbolic object (if successful), or (void *) NULL if
-	a failure occurred.
-
-    char *filename ;	    Input argument, not modified.
-
-	A string that contains the filename from which to read the Symbolic
-	object.
-*/
--- a/liboctave/UMFPACK/UMFPACK/Include/umfpack_numeric.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,546 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_numeric ====================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-int umfpack_di_numeric
-(
-    const int Ap [ ],
-    const int Ai [ ],
-    const double Ax [ ],
-    void *Symbolic,
-    void **Numeric,
-    const double Control [UMFPACK_CONTROL],
-    double Info [UMFPACK_INFO]
-) ;
-
-long umfpack_dl_numeric
-(
-    const long Ap [ ],
-    const long Ai [ ],
-    const double Ax [ ],
-    void *Symbolic,
-    void **Numeric,
-    const double Control [UMFPACK_CONTROL],
-    double Info [UMFPACK_INFO]
-) ;
-
-int umfpack_zi_numeric
-(
-    const int Ap [ ],
-    const int Ai [ ],
-    const double Ax [ ], const double Az [ ],
-    void *Symbolic,
-    void **Numeric,
-    const double Control [UMFPACK_CONTROL],
-    double Info [UMFPACK_INFO]
-) ;
-
-long umfpack_zl_numeric
-(
-    const long Ap [ ],
-    const long Ai [ ],
-    const double Ax [ ], const double Az [ ],
-    void *Symbolic,
-    void **Numeric,
-    const double Control [UMFPACK_CONTROL],
-    double Info [UMFPACK_INFO]
-) ;
-
-/*
-double int Syntax:
-
-    #include "umfpack.h"
-    void *Symbolic, *Numeric ;
-    int *Ap, *Ai, status ;
-    double *Ax, Control [UMFPACK_CONTROL], Info [UMFPACK_INFO] ;
-    status = umfpack_di_numeric (Ap, Ai, Ax, Symbolic, &Numeric, Control, Info);
-
-double long Syntax:
-
-    #include "umfpack.h"
-    void *Symbolic, *Numeric ;
-    long *Ap, *Ai, status ;
-    double *Ax, Control [UMFPACK_CONTROL], Info [UMFPACK_INFO] ;
-    status = umfpack_dl_numeric (Ap, Ai, Ax, Symbolic, &Numeric, Control, Info);
-
-complex int Syntax:
-
-    #include "umfpack.h"
-    void *Symbolic, *Numeric ;
-    int *Ap, *Ai, status ;
-    double *Ax, *Az, Control [UMFPACK_CONTROL], Info [UMFPACK_INFO] ;
-    status = umfpack_zi_numeric (Ap, Ai, Ax, Az, Symbolic, &Numeric,
-	Control, Info) ;
-
-complex long Syntax:
-
-    #include "umfpack.h"
-    void *Symbolic, *Numeric ;
-    long *Ap, *Ai, status ;
-    double *Ax, *Az, Control [UMFPACK_CONTROL], Info [UMFPACK_INFO] ;
-    status = umfpack_zl_numeric (Ap, Ai, Ax, Az, Symbolic, &Numeric,
-	Control, Info) ;
-
-packed complex Syntax:
-
-    Same as above, except that Az is NULL.
-
-Purpose:
-
-    Given a sparse matrix A in column-oriented form, and a symbolic analysis
-    computed by umfpack_*_*symbolic, the umfpack_*_numeric routine performs the
-    numerical factorization, PAQ=LU, PRAQ=LU, or P(R\A)Q=LU, where P and Q are
-    permutation matrices (represented as permutation vectors), R is the row
-    scaling, L is unit-lower triangular, and U is upper triangular.  This is
-    required before the system Ax=b (or other related linear systems) can be
-    solved.  umfpack_*_numeric can be called multiple times for each call to
-    umfpack_*_*symbolic, to factorize a sequence of matrices with identical
-    nonzero pattern.  Simply compute the Symbolic object once, with
-    umfpack_*_*symbolic, and reuse it for subsequent matrices.  This routine
-    safely detects if the pattern changes, and sets an appropriate error code.
-
-Returns:
-
-    The status code is returned.  See Info [UMFPACK_STATUS], below.
-
-Arguments:
-
-    Int Ap [n_col+1] ;	Input argument, not modified.
-
-	This must be identical to the Ap array passed to umfpack_*_*symbolic.
-	The value of n_col is what was passed to umfpack_*_*symbolic (this is
-	held in the Symbolic object).
-
-    Int Ai [nz] ;	Input argument, not modified, of size nz = Ap [n_col].
-
-	This must be identical to the Ai array passed to umfpack_*_*symbolic.
-
-    double Ax [nz] ;	Input argument, not modified, of size nz = Ap [n_col].
-			Size 2*nz for packed complex case.
-
-	The numerical values of the sparse matrix A.  The nonzero pattern (row
-	indices) for column j is stored in Ai [(Ap [j]) ... (Ap [j+1]-1)], and
-	the corresponding numerical values are stored in
-	Ax [(Ap [j]) ... (Ap [j+1]-1)].
-
-    double Az [nz] ;	Input argument, not modified, for complex versions.
-
-	For the complex versions, this holds the imaginary part of A.  The
-	imaginary part of column j is held in Az [(Ap [j]) ... (Ap [j+1]-1)].
-
-	If Az is NULL, then both real
-	and imaginary parts are contained in Ax[0..2*nz-1], with Ax[2*k]
-	and Ax[2*k+1] being the real and imaginary part of the kth entry.
-
-    void *Symbolic ;	Input argument, not modified.
-
-	The Symbolic object, which holds the symbolic factorization computed by
-	umfpack_*_*symbolic.  The Symbolic object is not modified by
-	umfpack_*_numeric.
-
-    void **Numeric ;	Output argument.
-
-	**Numeric is the address of a (void *) pointer variable in the user's
-	calling routine (see Syntax, above).  On input, the contents of this
-	variable are not defined.  On output, this variable holds a (void *)
-	pointer to the Numeric object (if successful), or (void *) NULL if
-	a failure occurred.
-
-    double Control [UMFPACK_CONTROL] ;   Input argument, not modified.
-
-	If a (double *) NULL pointer is passed, then the default control
-	settings are used.  Otherwise, the settings are determined from the
-	Control array.  See umfpack_*_defaults on how to fill the Control
-	array with the default settings.  If Control contains NaN's, the
-	defaults are used.  The following Control parameters are used:
-
-	Control [UMFPACK_PIVOT_TOLERANCE]:  relative pivot tolerance for
-	    threshold partial pivoting with row interchanges.  In any given
-	    column, an entry is numerically acceptable if its absolute value is
-	    greater than or equal to Control [UMFPACK_PIVOT_TOLERANCE] times
-	    the largest absolute value in the column.  A value of 1.0 gives true
-	    partial pivoting.  If less than or equal to zero, then any nonzero
-	    entry is numerically acceptable as a pivot.  Default: 0.1.
-
-	    Smaller values tend to lead to sparser LU factors, but the solution
-	    to the linear system can become inaccurate.  Larger values can lead
-	    to a more accurate solution (but not always), and usually an
-	    increase in the total work.
-
-	    For complex matrices, a cheap approximate of the absolute value
-	    is used for the threshold partial pivoting test (|a_real| + |a_imag|
-	    instead of the more expensive-to-compute exact absolute value
-	    sqrt (a_real^2 + a_imag^2)).
-
-	Control [UMFPACK_SYM_PIVOT_TOLERANCE]:
-	    If diagonal pivoting is attempted (the symmetric or symmetric-2by2
-	    strategies are used) then this parameter is used to control when the
-	    diagonal entry is selected in a given pivot column.  The absolute
-	    value of the entry must be >= Control [UMFPACK_SYM_PIVOT_TOLERANCE]
-	    times the largest absolute value in the column.  A value of zero
-	    will ensure that no off-diagonal pivoting is performed, except that
-	    zero diagonal entries are not selected if there are any off-diagonal
-	    nonzero entries.
-
-	    If an off-diagonal pivot is selected, an attempt is made to restore
-	    symmetry later on.  Suppose A (i,j) is selected, where i != j.
-	    If column i has not yet been selected as a pivot column, then
-	    the entry A (j,i) is redefined as a "diagonal" entry, except that
-	    the tighter tolerance (Control [UMFPACK_PIVOT_TOLERANCE]) is
-	    applied.  This strategy has an effect similar to 2-by-2 pivoting
-	    for symmetric indefinite matrices.  If a 2-by-2 block pivot with
-	    nonzero structure
-
-		       i j
-		    i: 0 x
-		    j: x 0
-
-	    is selected in a symmetric indefinite factorization method, the
-	    2-by-2 block is inverted and a rank-2 update is applied.  In
-	    UMFPACK, this 2-by-2 block would be reordered as
-
-		       j i
-		    i: x 0
-		    j: 0 x
-
-	    In both cases, the symmetry of the Schur complement is preserved.
-
-	Control [UMFPACK_SCALE]:  Note that the user's input matrix is
-	    never modified, only an internal copy is scaled.
-
-	    There are three valid settings for this parameter.  If any other
-	    value is provided, the default is used.
-
-	    UMFPACK_SCALE_NONE:  no scaling is performed.
-
-	    UMFPACK_SCALE_SUM:  each row of the input matrix A is divided by
-		the sum of the absolute values of the entries in that row.
-		The scaled matrix has an infinity norm of 1.
-
-	    UMFPACK_SCALE_MAX:  each row of the input matrix A is divided by
-		the maximum the absolute values of the entries in that row.
-		In the scaled matrix the largest entry in each row has
-		a magnitude exactly equal to 1.
-
-	    Note that for complex matrices, a cheap approximate absolute value
-	    is used, |a_real| + |a_imag|, instead of the exact absolute value
-	    sqrt ((a_real)^2 + (a_imag)^2).
-
-	    Scaling is very important for the "symmetric" strategy when
-	    diagonal pivoting is attempted.  It also improves the performance
-	    of the "unsymmetric" strategy.
-
-	    Default: UMFPACK_SCALE_SUM.
-
-	Control [UMFPACK_ALLOC_INIT]:
-
-	    When umfpack_*_numeric starts, it allocates memory for the Numeric
-	    object.  Part of this is of fixed size (approximately n double's +
-	    12*n integers).  The remainder is of variable size, which grows to
-	    hold the LU factors and the frontal matrices created during
-	    factorization.  A estimate of the upper bound is computed by
-	    umfpack_*_*symbolic, and returned by umfpack_*_*symbolic in
-	    Info [UMFPACK_VARIABLE_PEAK_ESTIMATE] (in Units).
-
-	    If Control [UMFPACK_ALLOC_INIT] is >= 0, umfpack_*_numeric initially
-	    allocates space for the variable-sized part equal to this estimate
-	    times Control [UMFPACK_ALLOC_INIT].  Typically, for matrices for
-	    which the "unsymmetric" strategy applies, umfpack_*_numeric needs
-	    only about half the estimated memory space, so a setting of 0.5 or
-	    0.6 often provides enough memory for umfpack_*_numeric to factorize
-	    the matrix with no subsequent increases in the size of this block.
-
-	    If the matrix is ordered via AMD, then this non-negative parameter
-	    is ignored.  The initial allocation ratio computed automatically,
-	    as 1.2 * (nz + Info [UMFPACK_SYMMETRIC_LUNZ]) /
-	    (Info [UMFPACK_LNZ_ESTIMATE] + Info [UMFPACK_UNZ_ESTIMATE] -
-	    min (n_row, n_col)).
-
-	    If Control [UMFPACK_ALLOC_INIT] is negative, then umfpack_*_numeric
-	    allocates a space with initial size (in Units) equal to
-	    (-Control [UMFPACK_ALLOC_INIT]).
-
-	    Regardless of the value of this parameter, a space equal to or
-	    greater than the the bare minimum amount of memory needed to start
-	    the factorization is always initially allocated.  The bare initial
-	    memory required is returned by umfpack_*_*symbolic in
-	    Info [UMFPACK_VARIABLE_INIT_ESTIMATE] (an exact value, not an
-	    estimate).
-
-	    If the variable-size part of the Numeric object is found to be too
-	    small sometime after numerical factorization has started, the memory
-	    is increased in size by a factor of 1.2.   If this fails, the
-	    request is reduced by a factor of 0.95 until it succeeds, or until
-	    it determines that no increase in size is possible.  Garbage
-	    collection then occurs.
-
-	    The strategy of attempting to "malloc" a working space, and
-	    re-trying with a smaller space, may not work under MATLAB, since
-	    mxMalloc aborts the mexFunction if it fails.  The built-in umfpack
-	    routine in MATLAB 6.5 uses utMalloc instead, which
-	    avoids this problem.  As a mexFunction, utMalloc is used unless
-	    -DNUTIL is defined at compile time.  The utMalloc routine, and
-	    utFree and utRealloc, are not documented.  If the mexFunction
-	    doesn't work, then compile it with -DNUTIL instead.
-
-	    If you are using the umfpack mexFunction, decrease the magnitude of
-	    Control [UMFPACK_ALLOC_INIT] if you run out of memory in MATLAB.
-
-	    Default initial allocation size: 0.7.  Thus, with the default
-	    control settings and the "unsymmetric" strategy, the upper-bound is
-	    reached after two reallocations (0.7 * 1.2 * 1.2 = 1.008).
-
-	    Changing this parameter has little effect on fill-in or operation
-	    count.  It has a small impact on run-time (the extra time required
-	    to do the garbage collection and memory reallocation).
-
-	Control [UMFPACK_FRONT_ALLOC_INIT]:
-
-	    When UMFPACK starts the factorization of each "chain" of frontal
-	    matrices, it allocates a working array to hold the frontal matrices
-	    as they are factorized.  The symbolic factorization computes the
-	    size of the largest possible frontal matrix that could occur during
-	    the factorization of each chain.
-
-	    If Control [UMFPACK_FRONT_ALLOC_INIT] is >= 0, the following
-	    strategy is used.  If the AMD ordering was used, this non-negative
-	    parameter is ignored.  A front of size (d+2)*(d+2) is allocated,
-	    where d = Info [UMFPACK_SYMMETRIC_DMAX].  Otherwise, a front of
-	    size Control [UMFPACK_FRONT_ALLOC_INIT] times the largest front
-	    possible for this chain is allocated.
-
-	    If Control [UMFPACK_FRONT_ALLOC_INIT] is negative, then a front of
-	    size (-Control [UMFPACK_FRONT_ALLOC_INIT]) is allocated (where the
-	    size is in terms of the number of numerical entries).  This is done
-	    regardless of the ordering method or ordering strategy used.
-
-	    Default: 0.5.
-
-	Control [UMFPACK_DROPTOL]:
-
-	    Entries in L and U with absolute value less than or equal to the
-	    drop tolerance are removed from the data structures (unless leaving
-	    them there reduces memory usage by reducing the space required
-	    for the nonzero pattern of L and U).
-
-	    Default: 0.0.
-
-    double Info [UMFPACK_INFO] ;	Output argument.
-
-	Contains statistics about the numeric factorization.  If a
-	(double *) NULL pointer is passed, then no statistics are returned in
-	Info (this is not an error condition).  The following statistics are
-	computed in umfpack_*_numeric:
-
-	Info [UMFPACK_STATUS]: status code.  This is also the return value,
-	    whether or not Info is present.
-
-	    UMFPACK_OK
-
-		Numeric factorization was successful.  umfpack_*_numeric
-		computed a valid numeric factorization.
-
-	    UMFPACK_WARNING_singular_matrix
-
-		Numeric factorization was successful, but the matrix is
-		singular.  umfpack_*_numeric computed a valid numeric
-		factorization, but you will get a divide by zero in
-		umfpack_*_*solve.  For the other cases below, no Numeric object
-		is created (*Numeric is (void *) NULL).
-
-	    UMFPACK_ERROR_out_of_memory
-
-		Insufficient memory to complete the numeric factorization.
-
-	    UMFPACK_ERROR_argument_missing
-
-		One or more required arguments are missing.
-
-	    UMFPACK_ERROR_invalid_Symbolic_object
-
-		Symbolic object provided as input is invalid.
-
-	    UMFPACK_ERROR_different_pattern
-
-		The pattern (Ap and/or Ai) has changed since the call to
-		umfpack_*_*symbolic which produced the Symbolic object.
-
-	Info [UMFPACK_NROW]:  the value of n_row stored in the Symbolic object.
-
-	Info [UMFPACK_NCOL]:  the value of n_col stored in the Symbolic object.
-
-	Info [UMFPACK_NZ]:  the number of entries in the input matrix.
-	    This value is obtained from the Symbolic object.
-
-	Info [UMFPACK_SIZE_OF_UNIT]:  the number of bytes in a Unit, for memory
-	    usage statistics below.
-
-	Info [UMFPACK_VARIABLE_INIT]: the initial size (in Units) of the
-	    variable-sized part of the Numeric object.  If this differs from
-	    Info [UMFPACK_VARIABLE_INIT_ESTIMATE], then the pattern (Ap and/or
-	    Ai) has changed since the last call to umfpack_*_*symbolic, which is
-	    an error condition.
-
-	Info [UMFPACK_VARIABLE_PEAK]: the peak size (in Units) of the
-	    variable-sized part of the Numeric object.  This size is the amount
-	    of space actually used inside the block of memory, not the space
-	    allocated via UMF_malloc.  You can reduce UMFPACK's memory
-	    requirements by setting Control [UMFPACK_ALLOC_INIT] to the ratio
-	    Info [UMFPACK_VARIABLE_PEAK] / Info[UMFPACK_VARIABLE_PEAK_ESTIMATE].
-	    This will ensure that no memory reallocations occur (you may want to
-	    add 0.001 to make sure that integer roundoff does not lead to a
-	    memory size that is 1 Unit too small; otherwise, garbage collection
-	    and reallocation will occur).
-
-	Info [UMFPACK_VARIABLE_FINAL]: the final size (in Units) of the
-	    variable-sized part of the Numeric object.  It holds just the
-	    sparse LU factors.
-
-	Info [UMFPACK_NUMERIC_SIZE]:  the actual final size (in Units) of the
-	    entire Numeric object, including the final size of the variable
-	    part of the object.  Info [UMFPACK_NUMERIC_SIZE_ESTIMATE],
-	    an estimate, was computed by umfpack_*_*symbolic.  The estimate is
-	    normally an upper bound on the actual final size, but this is not
-	    guaranteed.
-
-	Info [UMFPACK_PEAK_MEMORY]:  the actual peak memory usage (in Units) of
-	    both umfpack_*_*symbolic and umfpack_*_numeric.  An estimate,
-	    Info [UMFPACK_PEAK_MEMORY_ESTIMATE], was computed by
-	    umfpack_*_*symbolic.  The estimate is normally an upper bound on the
-	    actual peak usage, but this is not guaranteed.  With testing on
-	    hundreds of matrix arising in real applications, I have never
-	    observed a matrix where this estimate or the Numeric size estimate
-	    was less than the actual result, but this is theoretically possible.
-	    Please send me one if you find such a matrix.
-
-	Info [UMFPACK_FLOPS]:  the actual count of the (useful) floating-point
-	    operations performed.  An estimate, Info [UMFPACK_FLOPS_ESTIMATE],
-	    was computed by umfpack_*_*symbolic.  The estimate is guaranteed to
-	    be an upper bound on this flop count.  The flop count excludes
-	    "useless" flops on zero values, flops performed during the pivot
-	    search (for tentative updates and assembly of candidate columns),
-	    and flops performed to add frontal matrices together.
-
-	    For the real version, only (+ - * /) are counted.  For the complex
-	    version, the following counts are used:
-
-		operation	flops
-	    	c = 1/b		6
-		c = a*b		6
-		c -= a*b	8
-
-	Info [UMFPACK_LNZ]: the actual nonzero entries in final factor L,
-	    including the diagonal.  This excludes any zero entries in L,
-	    although some of these are stored in the Numeric object.  The
-	    Info [UMFPACK_LU_ENTRIES] statistic does account for all
-	    explicitly stored zeros, however.  Info [UMFPACK_LNZ_ESTIMATE],
-	    an estimate, was computed by umfpack_*_*symbolic.  The estimate is
-	    guaranteed to be an upper bound on Info [UMFPACK_LNZ].
-
-	Info [UMFPACK_UNZ]: the actual nonzero entries in final factor U,
-	    including the diagonal.  This excludes any zero entries in U,
-	    although some of these are stored in the Numeric object.  The
-	    Info [UMFPACK_LU_ENTRIES] statistic does account for all
-	    explicitly stored zeros, however.  Info [UMFPACK_UNZ_ESTIMATE],
-	    an estimate, was computed by umfpack_*_*symbolic.  The estimate is
-	    guaranteed to be an upper bound on Info [UMFPACK_UNZ].
-
-	Info [UMFPACK_NUMERIC_DEFRAG]:  The number of garbage collections
-	    performed during umfpack_*_numeric, to compact the contents of the
-	    variable-sized workspace used by umfpack_*_numeric.  No estimate was
-	    computed by umfpack_*_*symbolic.  In the current version of UMFPACK,
-	    garbage collection is performed and then the memory is reallocated,
-	    so this statistic is the same as Info [UMFPACK_NUMERIC_REALLOC],
-	    below.  It may differ in future releases.
-
-	Info [UMFPACK_NUMERIC_REALLOC]:  The number of times that the Numeric
-	    object was increased in size from its initial size.  A rough upper
-	    bound on the peak size of the Numeric object was computed by
-	    umfpack_*_*symbolic, so reallocations should be rare.  However, if
-	    umfpack_*_numeric is unable to allocate that much storage, it
-	    reduces its request until either the allocation succeeds, or until
-	    it gets too small to do anything with.  If the memory that it
-	    finally got was small, but usable, then the reallocation count
-	    could be high.  No estimate of this count was computed by
-	    umfpack_*_*symbolic.
-
-	Info [UMFPACK_NUMERIC_COSTLY_REALLOC]:  The number of times that the
-	    system realloc library routine (or mxRealloc for the mexFunction)
-	    had to move the workspace.  Realloc can sometimes increase the size
-	    of a block of memory without moving it, which is much faster.  This
-	    statistic will always be <= Info [UMFPACK_NUMERIC_REALLOC].  If your
-	    memory space is fragmented, then the number of "costly" realloc's
-	    will be equal to Info [UMFPACK_NUMERIC_REALLOC].
-
-	Info [UMFPACK_COMPRESSED_PATTERN]:  The number of integers used to
-	    represent the pattern of L and U.
-
-	Info [UMFPACK_LU_ENTRIES]:  The total number of numerical values that
-	    are stored for the LU factors.  Some of the values may be explicitly
-	    zero in order to save space (allowing for a smaller compressed
-	    pattern).
-
-	Info [UMFPACK_NUMERIC_TIME]:  The CPU time taken, in seconds.
-
-	Info [UMFPACK_RCOND]:  A rough estimate of the condition number, equal
-	    to min (abs (diag (U))) / max (abs (diag (U))), or zero if the
-	    diagonal of U is all zero.
-
-	Info [UMFPACK_UDIAG_NZ]:  The number of numerically nonzero values on
-	    the diagonal of U.
-
-	Info [UMFPACK_UMIN]:  the smallest absolute value on the diagonal of U.
-
-	Info [UMFPACK_UMAX]:  the smallest absolute value on the diagonal of U.
-
-	Info [UMFPACK_MAX_FRONT_SIZE]: the size of the
-	    largest frontal matrix (number of entries).
-
-	Info [UMFPACK_NUMERIC_WALLTIME]:  The wallclock time taken, in seconds.
-
-	Info [UMFPACK_MAX_FRONT_NROWS]: the max number of
-	    rows in any frontal matrix.
-
-	Info [UMFPACK_MAX_FRONT_NCOLS]: the max number of
-	    columns in any frontal matrix.
-
-	Info [UMFPACK_WAS_SCALED]:  the scaling used, either UMFPACK_SCALE_NONE,
-	    UMFPACK_SCALE_SUM, or UMFPACK_SCALE_MAX.
-
-	Info [UMFPACK_RSMIN]: if scaling is performed, the smallest scale factor
-	    for any row (either the smallest sum of absolute entries, or the
-	    smallest maximum of absolute entries).
-
-	Info [UMFPACK_RSMAX]: if scaling is performed, the largest scale factor
-	    for any row (either the largest sum of absolute entries, or the
-	    largest maximum of absolute entries).
-
-	Info [UMFPACK_ALLOC_INIT_USED]:  the initial allocation parameter used.
-
-	Info [UMFPACK_FORCED_UPDATES]:  the number of BLAS-3 updates to the
-	    frontal matrices that were required because the frontal matrix
-	    grew larger than its current working array.
-
-	Info [UMFPACK_NOFF_DIAG]: number of off-diagonal pivots selected, if the
-	    symmetric or 2-by-2 strategies are used.
-
-	Info [UMFPACK_NZDROPPED]: the number of entries smaller in absolute
-	    value than Control [UMFPACK_DROPTOL] that were dropped from L and U.
-	    Note that entries on the diagonal of U are never dropped.
-
-	Info [UMFPACK_ALL_LNZ]: the number of entries in L, including the
-	    diagonal, if no small entries are dropped.
-
-	Info [UMFPACK_ALL_UNZ]: the number of entries in U, including the
-	    diagonal, if no small entries are dropped.
-
-	Only the above listed Info [...] entries are accessed.  The remaining
-	entries of Info are not accessed or modified by umfpack_*_numeric.
-	Future versions might modify different parts of Info.
-*/
--- a/liboctave/UMFPACK/UMFPACK/Include/umfpack_qsymbolic.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,150 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_qsymbolic ==================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-int umfpack_di_qsymbolic
-(
-    int n_row,
-    int n_col,
-    const int Ap [ ],
-    const int Ai [ ],
-    const double Ax [ ],
-    const int Qinit [ ],
-    void **Symbolic,
-    const double Control [UMFPACK_CONTROL],
-    double Info [UMFPACK_INFO]
-) ;
-
-long umfpack_dl_qsymbolic
-(
-    long n_row,
-    long n_col,
-    const long Ap [ ],
-    const long Ai [ ],
-    const double Ax [ ],
-    const long Qinit [ ],
-    void **Symbolic,
-    const double Control [UMFPACK_CONTROL],
-    double Info [UMFPACK_INFO]
-) ;
-
-int umfpack_zi_qsymbolic
-(
-    int n_row,
-    int n_col,
-    const int Ap [ ],
-    const int Ai [ ],
-    const double Ax [ ], const double Az [ ],
-    const int Qinit [ ],
-    void **Symbolic,
-    const double Control [UMFPACK_CONTROL],
-    double Info [UMFPACK_INFO]
-) ;
-
-long umfpack_zl_qsymbolic
-(
-    long n_row,
-    long n_col,
-    const long Ap [ ],
-    const long Ai [ ],
-    const double Ax [ ], const double Az [ ],
-    const long Qinit [ ],
-    void **Symbolic,
-    const double Control [UMFPACK_CONTROL],
-    double Info [UMFPACK_INFO]
-) ;
-
-/*
-double int Syntax:
-
-    #include "umfpack.h"
-    void *Symbolic ;
-    int n_row, n_col, *Ap, *Ai, *Qinit, status ;
-    double Control [UMFPACK_CONTROL], Info [UMFPACK_INFO], *Ax ;
-    status = umfpack_di_qsymbolic (n_row, n_col, Ap, Ai, Ax, Qinit,
-	&Symbolic, Control, Info) ;
-
-double long Syntax:
-
-    #include "umfpack.h"
-    void *Symbolic ;
-    long n_row, n_col, *Ap, *Ai, *Qinit, status ;
-    double Control [UMFPACK_CONTROL], Info [UMFPACK_INFO], *Ax ;
-    status = umfpack_dl_qsymbolic (n_row, n_col, Ap, Ai, Ax, Qinit,
-	&Symbolic, Control, Info) ;
-
-complex int Syntax:
-
-    #include "umfpack.h"
-    void *Symbolic ;
-    int n_row, n_col, *Ap, *Ai, *Qinit, status ;
-    double Control [UMFPACK_CONTROL], Info [UMFPACK_INFO], *Ax, *Az ;
-    status = umfpack_zi_qsymbolic (n_row, n_col, Ap, Ai, Ax, Az, Qinit,
-	&Symbolic, Control, Info) ;
-
-complex long Syntax:
-
-    #include "umfpack.h"
-    void *Symbolic ;
-    long n_row, n_col, *Ap, *Ai, *Qinit, status ;
-    double Control [UMFPACK_CONTROL], Info [UMFPACK_INFO], *Ax, *Az ;
-    status = umfpack_zl_qsymbolic (n_row, n_col, Ap, Ai, Ax, Az, Qinit,
-	&Symbolic, Control, Info) ;
-
-packed complex Syntax:
-
-    Same as above, except Az is NULL.
-
-Purpose:
-
-    Given the nonzero pattern of a sparse matrix A in column-oriented form, and
-    a sparsity preserving column pre-ordering Qinit, umfpack_*_qsymbolic
-    performs the symbolic factorization of A*Qinit (or A (:,Qinit) in MATLAB
-    notation).  This is identical to umfpack_*_symbolic, except that neither
-    COLAMD nor AMD are called and the user input column order Qinit is used
-    instead.  Note that in general, the Qinit passed to umfpack_*_qsymbolic
-    can differ from the final Q found in umfpack_*_numeric.  The unsymmetric
-    strategy will perform a column etree postordering done in
-    umfpack_*_qsymbolic and sparsity-preserving modifications are made within
-    each frontal matrix during umfpack_*_numeric.  The symmetric and 2-by-2
-    strategies will preserve Qinit, unless the matrix is structurally singular.
-
-    See umfpack_*_symbolic for more information.
-
-    *** WARNING ***  A poor choice of Qinit can easily cause umfpack_*_numeric
-    to use a huge amount of memory and do a lot of work.  The "default" symbolic
-    analysis method is umfpack_*_symbolic, not this routine.  If you use this
-    routine, the performance of UMFPACK is your responsibility;  UMFPACK will
-    not try to second-guess a poor choice of Qinit.
-
-Returns:
-
-    The value of Info [UMFPACK_STATUS]; see umfpack_*_symbolic.
-    Also returns UMFPACK_ERROR_invalid_permuation if Qinit is not a valid
-    permutation vector.
-
-Arguments:
-
-    All arguments are the same as umfpack_*_symbolic, except for the following:
-
-    Int Qinit [n_col] ;		Input argument, not modified.
-
-	The user's fill-reducing initial column pre-ordering.  This must be a
-	permutation of 0..n_col-1.  If Qinit [k] = j, then column j is the kth
-	column of the matrix A (:,Qinit) to be factorized.  If Qinit is an
-	(Int *) NULL pointer, then COLAMD or AMD are called instead.
-
-    double Control [UMFPACK_CONTROL] ;	Input argument, not modified.
-
-	If Qinit is not NULL, then only two strategies are recognized:
-	the unsymmetric strategy and the symmetric strategy.
-	If Control [UMFPACK_STRATEGY] is UMFPACK_STRATEGY_SYMMETRIC,
-	then the symmetric strategy is used.  Otherwise the unsymmetric
-	strategy is used.
-*/
--- a/liboctave/UMFPACK/UMFPACK/Include/umfpack_report_control.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_report_control =============================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-void umfpack_di_report_control
-(
-    const double Control [UMFPACK_CONTROL]
-) ;
-
-void umfpack_dl_report_control
-(
-    const double Control [UMFPACK_CONTROL]
-) ;
-
-void umfpack_zi_report_control
-(
-    const double Control [UMFPACK_CONTROL]
-) ;
-
-void umfpack_zl_report_control
-(
-    const double Control [UMFPACK_CONTROL]
-) ;
-
-/*
-double int Syntax:
-
-    #include "umfpack.h"
-    double Control [UMFPACK_CONTROL] ;
-    umfpack_di_report_control (Control) ;
-
-double long Syntax:
-
-    #include "umfpack.h"
-    double Control [UMFPACK_CONTROL] ;
-    umfpack_dl_report_control (Control) ;
-
-complex int Syntax:
-
-    #include "umfpack.h"
-    double Control [UMFPACK_CONTROL] ;
-    umfpack_zi_report_control (Control) ;
-
-double long Syntax:
-
-    #include "umfpack.h"
-    double Control [UMFPACK_CONTROL] ;
-    umfpack_zl_report_control (Control) ;
-
-Purpose:
-
-    Prints the current control settings.  Note that with the default print
-    level, nothing is printed.  Does nothing if Control is (double *) NULL.
-
-Arguments:
-
-    double Control [UMFPACK_CONTROL] ;   Input argument, not modified.
-
-	If a (double *) NULL pointer is passed, then the default control
-	settings are used.  Otherwise, the settings are determined from the
-	Control array.  See umfpack_*_defaults on how to fill the Control
-	array with the default settings.  If Control contains NaN's, the
-	defaults are used.  The following Control parameters are used:
-
-	Control [UMFPACK_PRL]:  printing level.
-
-	    1 or less: no output
-	    2 or more: print all of Control
-	    Default: 1
-*/
--- a/liboctave/UMFPACK/UMFPACK/Include/umfpack_report_info.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_report_info ================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-void umfpack_di_report_info
-(
-    const double Control [UMFPACK_CONTROL],
-    const double Info [UMFPACK_INFO]
-) ;
-
-void umfpack_dl_report_info
-(
-    const double Control [UMFPACK_CONTROL],
-    const double Info [UMFPACK_INFO]
-) ;
-
-void umfpack_zi_report_info
-(
-    const double Control [UMFPACK_CONTROL],
-    const double Info [UMFPACK_INFO]
-) ;
-
-void umfpack_zl_report_info
-(
-    const double Control [UMFPACK_CONTROL],
-    const double Info [UMFPACK_INFO]
-) ;
-
-/*
-double int Syntax:
-
-    #include "umfpack.h"
-    double Control [UMFPACK_CONTROL], Info [UMFPACK_INFO] ;
-    umfpack_di_report_info (Control, Info) ;
-
-double long Syntax:
-
-    #include "umfpack.h"
-    double Control [UMFPACK_CONTROL], Info [UMFPACK_INFO] ;
-    umfpack_dl_report_info (Control, Info) ;
-
-complex int Syntax:
-
-    #include "umfpack.h"
-    double Control [UMFPACK_CONTROL], Info [UMFPACK_INFO] ;
-    umfpack_zi_report_info (Control, Info) ;
-
-complex long Syntax:
-
-    #include "umfpack.h"
-    double Control [UMFPACK_CONTROL], Info [UMFPACK_INFO] ;
-    umfpack_zl_report_info (Control, Info) ;
-
-Purpose:
-
-    Reports statistics from the umfpack_*_*symbolic, umfpack_*_numeric, and
-    umfpack_*_*solve routines.
-
-Arguments:
-
-    double Control [UMFPACK_CONTROL] ;   Input argument, not modified.
-
-	If a (double *) NULL pointer is passed, then the default control
-	settings are used.  Otherwise, the settings are determined from the
-	Control array.  See umfpack_*_defaults on how to fill the Control
-	array with the default settings.  If Control contains NaN's, the
-	defaults are used.  The following Control parameters are used:
-
-	Control [UMFPACK_PRL]:  printing level.
-
-	    0 or less: no output, even when an error occurs
-	    1: error messages only
-	    2 or more: error messages, and print all of Info
-	    Default: 1
-
-    double Info [UMFPACK_INFO] ;		Input argument, not modified.
-
-	Info is an output argument of several UMFPACK routines.
-	The contents of Info are printed on standard output.
-*/
--- a/liboctave/UMFPACK/UMFPACK/Include/umfpack_report_matrix.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,203 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_report_matrix ================================================ */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-int umfpack_di_report_matrix
-(
-    int n_row,
-    int n_col,
-    const int Ap [ ],
-    const int Ai [ ],
-    const double Ax [ ],
-    int col_form,
-    const double Control [UMFPACK_CONTROL]
-) ;
-
-long umfpack_dl_report_matrix
-(
-    long n_row,
-    long n_col,
-    const long Ap [ ],
-    const long Ai [ ],
-    const double Ax [ ],
-    long col_form,
-    const double Control [UMFPACK_CONTROL]
-) ;
-
-int umfpack_zi_report_matrix
-(
-    int n_row,
-    int n_col,
-    const int Ap [ ],
-    const int Ai [ ],
-    const double Ax [ ], const double Az [ ],
-    int col_form,
-    const double Control [UMFPACK_CONTROL]
-) ;
-
-long umfpack_zl_report_matrix
-(
-    long n_row,
-    long n_col,
-    const long Ap [ ],
-    const long Ai [ ],
-    const double Ax [ ], const double Az [ ],
-    long col_form,
-    const double Control [UMFPACK_CONTROL]
-) ;
-
-/*
-double int Syntax:
-
-    #include "umfpack.h"
-    int n_row, n_col, *Ap, *Ai, status ;
-    double *Ax, Control [UMFPACK_CONTROL] ;
-    status = umfpack_di_report_matrix (n_row, n_col, Ap, Ai, Ax, 1, Control) ;
-or:
-    status = umfpack_di_report_matrix (n_row, n_col, Ap, Ai, Ax, 0, Control) ;
-
-double long Syntax:
-
-    #include "umfpack.h"
-    long n_row, n_col, *Ap, *Ai, status ;
-    double *Ax, Control [UMFPACK_CONTROL] ;
-    status = umfpack_dl_report_matrix (n_row, n_col, Ap, Ai, Ax, 1, Control) ;
-or:
-    status = umfpack_dl_report_matrix (n_row, n_col, Ap, Ai, Ax, 0, Control) ;
-
-complex int Syntax:
-
-    #include "umfpack.h"
-    int n_row, n_col, *Ap, *Ai, status ;
-    double *Ax, *Az, Control [UMFPACK_CONTROL] ;
-    status = umfpack_zi_report_matrix (n_row, n_col, Ap, Ai, Ax, Az, 1,
-        Control) ;
-or:
-    status = umfpack_zi_report_matrix (n_row, n_col, Ap, Ai, Ax, Az, 0,
-        Control) ;
-
-complex long Syntax:
-
-    #include "umfpack.h"
-    long n_row, n_col, *Ap, *Ai, status ;
-    double *Ax, Control [UMFPACK_CONTROL] ;
-    status = umfpack_zl_report_matrix (n_row, n_col, Ap, Ai, Ax, Az, 1,
-	Control) ;
-or:
-    status = umfpack_zl_report_matrix (n_row, n_col, Ap, Ai, Ax, Az, 0,
-	Control) ;
-
-packed complex Syntax:
-
-    Same as above, except Az is NULL.
-
-Purpose:
-
-    Verifies and prints a row or column-oriented sparse matrix.
-
-Returns:
-
-    UMFPACK_OK if Control [UMFPACK_PRL] <= 2 (the input is not checked).
-
-    Otherwise (where n is n_col for the column form and n_row for row
-    and let ni be n_row for the column form and n_col for row):
-
-    UMFPACK_OK if the matrix is valid.
-
-    UMFPACK_ERROR_n_nonpositive if n_row <= 0 or n_col <= 0.
-    UMFPACK_ERROR_argument_missing if Ap and/or Ai are missing.
-    UMFPACK_ERROR_invalid_matrix if Ap [n] < 0, if Ap [0] is not zero,
-	if Ap [j+1] < Ap [j] for any j in the range 0 to n-1,
-	if any row index in Ai is not in the range 0 to ni-1, or
-	if the row indices in any column are not in
-	ascending order, or contain duplicates.
-    UMFPACK_ERROR_out_of_memory if out of memory.
-
-Arguments:
-
-    Int n_row ;		Input argument, not modified.
-    Int n_col ;		Input argument, not modified.
-
-	A is an n_row-by-n_row matrix.  Restriction: n_row > 0 and n_col > 0.
-
-    Int Ap [n+1] ;	Input argument, not modified.
-
-	n is n_row for a row-form matrix, and n_col for a column-form matrix.
-
-	Ap is an integer array of size n+1.  If col_form is true (nonzero),
-	then on input, it holds the "pointers" for the column form of the
-	sparse matrix A.  The row indices of column j of the matrix A are held
-	in Ai [(Ap [j]) ... (Ap [j+1]-1)].  Otherwise, Ap holds the
-	row pointers, and the column indices of row j of the matrix are held
-	in Ai [(Ap [j]) ... (Ap [j+1]-1)].
-
-	The first entry, Ap [0], must be zero, and Ap [j] <= Ap [j+1] must hold
-	for all j in the range 0 to n-1.  The value nz = Ap [n] is thus the
-	total number of entries in the pattern of the matrix A.
-
-    Int Ai [nz] ;	Input argument, not modified, of size nz = Ap [n].
-
-	If col_form is true (nonzero), then the nonzero pattern (row indices)
-	for column j is stored in Ai [(Ap [j]) ... (Ap [j+1]-1)].  Row indices
-	must be in the range 0 to n_row-1 (the matrix is 0-based).
-
-	Otherwise, the nonzero pattern (column indices) for row j is stored in
-	Ai [(Ap [j]) ... (Ap [j+1]-1)]. Column indices must be in the range 0
-	to n_col-1 (the matrix is 0-based).
-
-    double Ax [nz] ;	Input argument, not modified, of size nz = Ap [n].
-			Size 2*nz for packed complex case.
-
-	The numerical values of the sparse matrix A.
-
-	If col_form is true (nonzero), then the nonzero pattern (row indices)
-	for column j is stored in Ai [(Ap [j]) ... (Ap [j+1]-1)], and the
-	corresponding (real) numerical values are stored in
-	Ax [(Ap [j]) ... (Ap [j+1]-1)].  The imaginary parts are stored in
-	Az [(Ap [j]) ... (Ap [j+1]-1)], for the complex versions
-	(see below if Az is NULL).
-
-	Otherwise, the nonzero pattern (column indices) for row j
-	is stored in Ai [(Ap [j]) ... (Ap [j+1]-1)], and the corresponding
-	(real) numerical values are stored in Ax [(Ap [j]) ... (Ap [j+1]-1)].
-	The imaginary parts are stored in Az [(Ap [j]) ... (Ap [j+1]-1)],
-	for the complex versions (see below if Az is NULL).
-
-	No numerical values are printed if Ax is NULL.
-
-    double Az [nz] ;	Input argument, not modified, for complex versions.
-
-	The imaginary values of the sparse matrix A.   See the description
-	of Ax, above.
-
-	If Az is NULL, then both real
-	and imaginary parts are contained in Ax[0..2*nz-1], with Ax[2*k]
-	and Ax[2*k+1] being the real and imaginary part of the kth entry.
-
-    Int col_form ;	Input argument, not modified.
-
-	The matrix is in row-oriented form if form is col_form is false (0).
-	Otherwise, the matrix is in column-oriented form.
-
-    double Control [UMFPACK_CONTROL] ;	Input argument, not modified.
-
-	If a (double *) NULL pointer is passed, then the default control
-	settings are used.  Otherwise, the settings are determined from the
-	Control array.  See umfpack_*_defaults on how to fill the Control
-	array with the default settings.  If Control contains NaN's, the
-	defaults are used.  The following Control parameters are used:
-
-	Control [UMFPACK_PRL]:  printing level.
-
-	    2 or less: no output.  returns silently without checking anything.
-	    3: fully check input, and print a short summary of its status
-	    4: as 3, but print first few entries of the input
-	    5: as 3, but print all of the input
-	    Default: 1
-*/
--- a/liboctave/UMFPACK/UMFPACK/Include/umfpack_report_numeric.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_report_numeric =============================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-int umfpack_di_report_numeric
-(
-    void *Numeric,
-    const double Control [UMFPACK_CONTROL]
-) ;
-
-long umfpack_dl_report_numeric
-(
-    void *Numeric,
-    const double Control [UMFPACK_CONTROL]
-) ;
-
-int umfpack_zi_report_numeric
-(
-    void *Numeric,
-    const double Control [UMFPACK_CONTROL]
-) ;
-
-long umfpack_zl_report_numeric
-(
-    void *Numeric,
-    const double Control [UMFPACK_CONTROL]
-) ;
-
-/*
-double int Syntax:
-
-    #include "umfpack.h"
-    void *Numeric ;
-    double Control [UMFPACK_CONTROL] ;
-    int status ;
-    status = umfpack_di_report_numeric (Numeric, Control) ;
-
-double long Syntax:
-
-    #include "umfpack.h"
-    void *Numeric ;
-    double Control [UMFPACK_CONTROL] ;
-    long status ;
-    status = umfpack_dl_report_numeric (Numeric, Control) ;
-
-complex int Syntax:
-
-    #include "umfpack.h"
-    void *Numeric ;
-    double Control [UMFPACK_CONTROL] ;
-    int status ;
-    status = umfpack_zi_report_numeric (Numeric, Control) ;
-
-complex long Syntax:
-
-    #include "umfpack.h"
-    void *Numeric ;
-    double Control [UMFPACK_CONTROL] ;
-    long status ;
-    status = umfpack_zl_report_numeric (Numeric, Control) ;
-
-Purpose:
-
-    Verifies and prints a Numeric object (the LU factorization, both its pattern
-    numerical values, and permutation vectors P and Q).  This routine checks the
-    object more carefully than the computational routines.  Normally, this check
-    is not required, since umfpack_*_numeric either returns (void *) NULL, or a
-    valid Numeric object.  However, if you suspect that your own code has
-    corrupted the Numeric object (by overruning memory bounds, for example),
-    then this routine might be able to detect a corrupted Numeric object.  Since
-    this is a complex object, not all such user-generated errors are guaranteed
-    to be caught by this routine.
-
-Returns:
-
-    UMFPACK_OK if Control [UMFPACK_PRL] <= 2 (the input is not checked).
-
-    Otherwise:
-
-    UMFPACK_OK if the Numeric object is valid.
-    UMFPACK_ERROR_invalid_Numeric_object if the Numeric object is invalid.
-    UMFPACK_ERROR_out_of_memory if out of memory.
-
-Arguments:
-
-    void *Numeric ;			Input argument, not modified.
-
-	The Numeric object, which holds the numeric factorization computed by
-	umfpack_*_numeric.
-
-    double Control [UMFPACK_CONTROL] ;	Input argument, not modified.
-
-	If a (double *) NULL pointer is passed, then the default control
-	settings are used.  Otherwise, the settings are determined from the
-	Control array.  See umfpack_*_defaults on how to fill the Control
-	array with the default settings.  If Control contains NaN's, the
-	defaults are used.  The following Control parameters are used:
-
-	Control [UMFPACK_PRL]:  printing level.
-
-	    2 or less: no output.  returns silently without checking anything.
-	    3: fully check input, and print a short summary of its status
-	    4: as 3, but print first few entries of the input
-	    5: as 3, but print all of the input
-	    Default: 1
-*/
--- a/liboctave/UMFPACK/UMFPACK/Include/umfpack_report_perm.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_report_perm ================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-int umfpack_di_report_perm
-(
-    int np,
-    const int Perm [ ],
-    const double Control [UMFPACK_CONTROL]
-) ;
-
-long umfpack_dl_report_perm
-(
-    long np,
-    const long Perm [ ],
-    const double Control [UMFPACK_CONTROL]
-) ;
-
-int umfpack_zi_report_perm
-(
-    int np,
-    const int Perm [ ],
-    const double Control [UMFPACK_CONTROL]
-) ;
-
-long umfpack_zl_report_perm
-(
-    long np,
-    const long Perm [ ],
-    const double Control [UMFPACK_CONTROL]
-) ;
-
-/*
-double int Syntax:
-
-    #include "umfpack.h"
-    int np, *Perm, status ;
-    double Control [UMFPACK_CONTROL] ;
-    status = umfpack_di_report_perm (np, Perm, Control) ;
-
-double long Syntax:
-
-    #include "umfpack.h"
-    long np, *Perm, status ;
-    double Control [UMFPACK_CONTROL] ;
-    status = umfpack_dl_report_perm (np, Perm, Control) ;
-
-complex int Syntax:
-
-    #include "umfpack.h"
-    int np, *Perm, status ;
-    double Control [UMFPACK_CONTROL] ;
-    status = umfpack_zi_report_perm (np, Perm, Control) ;
-
-complex long Syntax:
-
-    #include "umfpack.h"
-    long np, *Perm, status ;
-    double Control [UMFPACK_CONTROL] ;
-    status = umfpack_zl_report_perm (np, Perm, Control) ;
-
-Purpose:
-
-    Verifies and prints a permutation vector.
-
-Returns:
-
-    UMFPACK_OK if Control [UMFPACK_PRL] <= 2 (the input is not checked).
-
-    Otherwise:
-    UMFPACK_OK if the permutation vector is valid (this includes that case
-	when Perm is (Int *) NULL, which is not an error condition).
-    UMFPACK_ERROR_n_nonpositive if np <= 0.
-    UMFPACK_ERROR_out_of_memory if out of memory.
-    UMFPACK_ERROR_invalid_permutation if Perm is not a valid permutation vector.
-
-Arguments:
-
-    Int np ;		Input argument, not modified.
-
-	Perm is an integer vector of size np.  Restriction: np > 0.
-
-    Int Perm [np] ;	Input argument, not modified.
-
-	A permutation vector of size np.  If Perm is not present (an (Int *)
-	NULL pointer), then it is assumed to be the identity permutation.  This
-	is consistent with its use as an input argument to umfpack_*_qsymbolic,
-	and is not an error condition.  If Perm is present, the entries in Perm
-	must range between 0 and np-1, and no duplicates may exist.
-
-    double Control [UMFPACK_CONTROL] ;	Input argument, not modified.
-
-	If a (double *) NULL pointer is passed, then the default control
-	settings are used.  Otherwise, the settings are determined from the
-	Control array.  See umfpack_*_defaults on how to fill the Control
-	array with the default settings.  If Control contains NaN's, the
-	defaults are used.  The following Control parameters are used:
-
-	Control [UMFPACK_PRL]:  printing level.
-
-	    2 or less: no output.  returns silently without checking anything.
-	    3: fully check input, and print a short summary of its status
-	    4: as 3, but print first few entries of the input
-	    5: as 3, but print all of the input
-	    Default: 1
-*/
--- a/liboctave/UMFPACK/UMFPACK/Include/umfpack_report_status.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_report_status ================================================ */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-void umfpack_di_report_status
-(
-    const double Control [UMFPACK_CONTROL],
-    int status
-) ;
-
-void umfpack_dl_report_status
-(
-    const double Control [UMFPACK_CONTROL],
-    long status
-) ;
-
-void umfpack_zi_report_status
-(
-    const double Control [UMFPACK_CONTROL],
-    int status
-) ;
-
-void umfpack_zl_report_status
-(
-    const double Control [UMFPACK_CONTROL],
-    long status
-) ;
-
-/*
-double int Syntax:
-
-    #include "umfpack.h"
-    double Control [UMFPACK_CONTROL] ;
-    int status ;
-    umfpack_di_report_status (Control, status) ;
-
-double long Syntax:
-
-    #include "umfpack.h"
-    double Control [UMFPACK_CONTROL] ;
-    long status ;
-    umfpack_dl_report_status (Control, status) ;
-
-complex int Syntax:
-
-    #include "umfpack.h"
-    double Control [UMFPACK_CONTROL] ;
-    int status ;
-    umfpack_zi_report_status (Control, status) ;
-
-complex long Syntax:
-
-    #include "umfpack.h"
-    double Control [UMFPACK_CONTROL] ;
-    long status ;
-    umfpack_zl_report_status (Control, status) ;
-
-Purpose:
-
-    Prints the status (return value) of other umfpack_* routines.
-
-Arguments:
-
-    double Control [UMFPACK_CONTROL] ;   Input argument, not modified.
-
-	If a (double *) NULL pointer is passed, then the default control
-	settings are used.  Otherwise, the settings are determined from the
-	Control array.  See umfpack_*_defaults on how to fill the Control
-	array with the default settings.  If Control contains NaN's, the
-	defaults are used.  The following Control parameters are used:
-
-	Control [UMFPACK_PRL]:  printing level.
-
-	    0 or less: no output, even when an error occurs
-	    1: error messages only
-	    2 or more: print status, whether or not an error occurred
-	    4 or more: also print the UMFPACK Copyright
-	    6 or more: also print the UMFPACK License
-	    Default: 1
-
-    Int status ;			Input argument, not modified.
-
-	The return value from another umfpack_* routine.
-*/
--- a/liboctave/UMFPACK/UMFPACK/Include/umfpack_report_symbolic.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_report_symbolic ============================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-int umfpack_di_report_symbolic
-(
-    void *Symbolic,
-    const double Control [UMFPACK_CONTROL]
-) ;
-
-long umfpack_dl_report_symbolic
-(
-    void *Symbolic,
-    const double Control [UMFPACK_CONTROL]
-) ;
-
-int umfpack_zi_report_symbolic
-(
-    void *Symbolic,
-    const double Control [UMFPACK_CONTROL]
-) ;
-
-long umfpack_zl_report_symbolic
-(
-    void *Symbolic,
-    const double Control [UMFPACK_CONTROL]
-) ;
-
-/*
-double int Syntax:
-
-    #include "umfpack.h"
-    void *Symbolic ;
-    double Control [UMFPACK_CONTROL] ;
-    int status ;
-    status = umfpack_di_report_symbolic (Symbolic, Control) ;
-
-double long Syntax:
-
-    #include "umfpack.h"
-    void *Symbolic ;
-    double Control [UMFPACK_CONTROL] ;
-    long status ;
-    status = umfpack_dl_report_symbolic (Symbolic, Control) ;
-
-complex int Syntax:
-
-    #include "umfpack.h"
-    void *Symbolic ;
-    double Control [UMFPACK_CONTROL] ;
-    int status ;
-    status = umfpack_zi_report_symbolic (Symbolic, Control) ;
-
-complex long Syntax:
-
-    #include "umfpack.h"
-    void *Symbolic ;
-    double Control [UMFPACK_CONTROL] ;
-    long status ;
-    status = umfpack_zl_report_symbolic (Symbolic, Control) ;
-
-Purpose:
-
-    Verifies and prints a Symbolic object.  This routine checks the object more
-    carefully than the computational routines.  Normally, this check is not
-    required, since umfpack_*_*symbolic either returns (void *) NULL, or a valid
-    Symbolic object.  However, if you suspect that your own code has corrupted
-    the Symbolic object (by overruning memory bounds, for example), then this
-    routine might be able to detect a corrupted Symbolic object.  Since this is
-    a complex object, not all such user-generated errors are guaranteed to be
-    caught by this routine.
-
-Returns:
-
-    UMFPACK_OK if Control [UMFPACK_PRL] is <= 2 (no inputs are checked).
-
-    Otherwise:
-
-    UMFPACK_OK if the Symbolic object is valid.
-    UMFPACK_ERROR_invalid_Symbolic_object if the Symbolic object is invalid.
-    UMFPACK_ERROR_out_of_memory if out of memory.
-
-Arguments:
-
-    void *Symbolic ;			Input argument, not modified.
-
-	The Symbolic object, which holds the symbolic factorization computed by
-	umfpack_*_*symbolic.
-
-    double Control [UMFPACK_CONTROL] ;	Input argument, not modified.
-
-	If a (double *) NULL pointer is passed, then the default control
-	settings are used.  Otherwise, the settings are determined from the
-	Control array.  See umfpack_*_defaults on how to fill the Control
-	array with the default settings.  If Control contains NaN's, the
-	defaults are used.  The following Control parameters are used:
-
-	Control [UMFPACK_PRL]:  printing level.
-
-	    2 or less: no output.  returns silently without checking anything.
-	    3: fully check input, and print a short summary of its status
-	    4: as 3, but print first few entries of the input
-	    5: as 3, but print all of the input
-	    Default: 1
-*/
--- a/liboctave/UMFPACK/UMFPACK/Include/umfpack_report_triplet.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,153 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_report_triplet =============================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-int umfpack_di_report_triplet
-(
-    int n_row,
-    int n_col,
-    int nz,
-    const int Ti [ ],
-    const int Tj [ ],
-    const double Tx [ ],
-    const double Control [UMFPACK_CONTROL]
-) ;
-
-long umfpack_dl_report_triplet
-(
-    long n_row,
-    long n_col,
-    long nz,
-    const long Ti [ ],
-    const long Tj [ ],
-    const double Tx [ ],
-    const double Control [UMFPACK_CONTROL]
-) ;
-
-int umfpack_zi_report_triplet
-(
-    int n_row,
-    int n_col,
-    int nz,
-    const int Ti [ ],
-    const int Tj [ ],
-    const double Tx [ ], const double Tz [ ],
-    const double Control [UMFPACK_CONTROL]
-) ;
-
-long umfpack_zl_report_triplet
-(
-    long n_row,
-    long n_col,
-    long nz,
-    const long Ti [ ],
-    const long Tj [ ],
-    const double Tx [ ], const double Tz [ ],
-    const double Control [UMFPACK_CONTROL]
-) ;
-
-/*
-double int Syntax:
-
-    #include "umfpack.h"
-    int n_row, n_col, nz, *Ti, *Tj, status ;
-    double *Tx, Control [UMFPACK_CONTROL] ;
-    status = umfpack_di_report_triplet (n_row, n_col, nz, Ti, Tj, Tx, Control) ;
-
-double long Syntax:
-
-    #include "umfpack.h"
-    long n_row, n_col, nz, *Ti, *Tj, status ;
-    double *Tx, Control [UMFPACK_CONTROL] ;
-    status = umfpack_dl_report_triplet (n_row, n_col, nz, Ti, Tj, Tx, Control) ;
-
-complex int Syntax:
-
-    #include "umfpack.h"
-    int n_row, n_col, nz, *Ti, *Tj, status ;
-    double *Tx, *Tz, Control [UMFPACK_CONTROL] ;
-    status = umfpack_zi_report_triplet (n_row, n_col, nz, Ti, Tj, Tx, Tz,
-	Control) ;
-
-complex long Syntax:
-
-    #include "umfpack.h"
-    long n_row, n_col, nz, *Ti, *Tj, status ;
-    double *Tx, *Tz, Control [UMFPACK_CONTROL] ;
-    status = umfpack_zl_report_triplet (n_row, n_col, nz, Ti, Tj, Tx, Tz,
-	Control) ;
-
-packed complex Syntax:
-
-    Same as above, except Tz is NULL.
-
-Purpose:
-
-    Verifies and prints a matrix in triplet form.
-
-Returns:
-
-    UMFPACK_OK if Control [UMFPACK_PRL] <= 2 (the input is not checked).
-
-    Otherwise:
-
-    UMFPACK_OK if the Triplet matrix is OK.
-    UMFPACK_ERROR_argument_missing if Ti and/or Tj are missing.
-    UMFPACK_ERROR_n_nonpositive if n_row <= 0 or n_col <= 0.
-    UMFPACK_ERROR_invalid_matrix if nz < 0, or
-	if any row or column index in Ti and/or Tj
-	is not in the range 0 to n_row-1 or 0 to n_col-1, respectively.
-
-Arguments:
-
-    Int n_row ;		Input argument, not modified.
-    Int n_col ;		Input argument, not modified.
-
-	A is an n_row-by-n_col matrix.
-
-    Int nz ;		Input argument, not modified.
-
-	The number of entries in the triplet form of the matrix.
-
-    Int Ti [nz] ;	Input argument, not modified.
-    Int Tj [nz] ;	Input argument, not modified.
-    double Tx [nz] ;	Input argument, not modified.
-			Size 2*nz for packed complex case.
-    double Tz [nz] ;	Input argument, not modified, for complex versions.
-
-	Ti, Tj, Tx (and Tz for complex versions) hold the "triplet" form of a
-	sparse matrix.  The kth nonzero entry is in row i = Ti [k], column
-	j = Tj [k], the real numerical value of a_ij is Tx [k], and the
-	imaginary part of a_ij is Tz [k] (for complex versions).  The row and
-	column indices i and j must be in the range 0 to n_row-1 or 0 to
-	n_col-1, respectively.  Duplicate entries may be present.  The
-	"triplets" may be in any order.  Tx and Tz are optional; if Tx is
-	not present ((double *) NULL), then the numerical values are
-	not printed.
-
-	If Tx is present and Tz is NULL, then both real
-	and imaginary parts are contained in Tx[0..2*nz-1], with Tx[2*k]
-	and Tx[2*k+1] being the real and imaginary part of the kth entry.
-
-    double Control [UMFPACK_CONTROL] ;	Input argument, not modified.
-
-	If a (double *) NULL pointer is passed, then the default control
-	settings are used.  Otherwise, the settings are determined from the
-	Control array.  See umfpack_*_defaults on how to fill the Control
-	array with the default settings.  If Control contains NaN's, the
-	defaults are used.  The following Control parameters are used:
-
-	Control [UMFPACK_PRL]:  printing level.
-
-	    2 or less: no output.  returns silently without checking anything.
-	    3: fully check input, and print a short summary of its status
-	    4: as 3, but print first few entries of the input
-	    5: as 3, but print all of the input
-	    Default: 1
-*/
--- a/liboctave/UMFPACK/UMFPACK/Include/umfpack_report_vector.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_report_vector ================================================ */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-int umfpack_di_report_vector
-(
-    int n,
-    const double X [ ],
-    const double Control [UMFPACK_CONTROL]
-) ;
-
-long umfpack_dl_report_vector
-(
-    long n,
-    const double X [ ],
-    const double Control [UMFPACK_CONTROL]
-) ;
-
-int umfpack_zi_report_vector
-(
-    int n,
-    const double Xx [ ], const double Xz [ ],
-    const double Control [UMFPACK_CONTROL]
-) ;
-
-long umfpack_zl_report_vector
-(
-    long n,
-    const double Xx [ ], const double Xz [ ],
-    const double Control [UMFPACK_CONTROL]
-) ;
-
-/*
-double int Syntax:
-
-    #include "umfpack.h"
-    int n, status ;
-    double *X, Control [UMFPACK_CONTROL] ;
-    status = umfpack_di_report_vector (n, X, Control) ;
-
-double long Syntax:
-
-    #include "umfpack.h"
-    long n, status ;
-    double *X, Control [UMFPACK_CONTROL] ;
-    status = umfpack_dl_report_vector (n, X, Control) ;
-
-complex int Syntax:
-
-    #include "umfpack.h"
-    int n, status ;
-    double *Xx, *Xz, Control [UMFPACK_CONTROL] ;
-    status = umfpack_zi_report_vector (n, Xx, Xz, Control) ;
-
-complex long Syntax:
-
-    #include "umfpack.h"
-    long n, status ;
-    double *Xx, *Xz, Control [UMFPACK_CONTROL] ;
-    status = umfpack_zl_report_vector (n, Xx, Xz, Control) ;
-
-Purpose:
-
-    Verifies and prints a dense vector.
-
-Returns:
-
-    UMFPACK_OK if Control [UMFPACK_PRL] <= 2 (the input is not checked).
-
-    Otherwise:
-
-    UMFPACK_OK if the vector is valid.
-    UMFPACK_ERROR_argument_missing if X or Xx is missing.
-    UMFPACK_ERROR_n_nonpositive if n <= 0.
-
-Arguments:
-
-    Int n ;		Input argument, not modified.
-
-	X is a real or complex vector of size n.  Restriction: n > 0.
-
-    double X [n] ;	Input argument, not modified.  For real versions.
-
-	A real vector of size n.  X must not be (double *) NULL.
-
-    double Xx [n or 2*n] ; Input argument, not modified.  For complex versions.
-    double Xz [n or 0] ;   Input argument, not modified.  For complex versions.
-
-	A complex vector of size n, in one of two storage formats.
-	Xx must not be (double *) NULL.
-
-	If Xz is not (double *) NULL, then Xx [i] is the real part of X (i) and
-	Xz [i] is the imaginary part of X (i).  Both vectors are of length n.
-	This is the "split" form of the complex vector X.
-
-	If Xz is (double *) NULL, then Xx holds both real and imaginary parts,
-	where Xx [2*i] is the real part of X (i) and Xx [2*i+1] is the imaginary
-	part of X (i).  Xx is of length 2*n doubles.  If you have an ANSI C99
-	compiler with the intrinsic double _Complex type, then Xx can be of
-	type double _Complex in the calling routine and typecast to (double *)
-	when passed to umfpack_*_report_vector (this is untested, however).
-	This is the "merged" form of the complex vector X.
-
-	Note that all complex routines in UMFPACK V4.4 use this same
-	strategy for their complex arguments.  The split format is useful for
-	MATLAB, which holds its real and imaginary parts in seperate arrays.
-	The packed format is compatible with the intrinsic double _Complex
-	type in ANSI C99, and is also compatible with SuperLU's method of
-	storing complex matrices.  In Version 4.3, this routine was the only
-	one that allowed for packed complex arguments.
-
-    double Control [UMFPACK_CONTROL] ;	Input argument, not modified.
-
-	If a (double *) NULL pointer is passed, then the default control
-	settings are used.  Otherwise, the settings are determined from the
-	Control array.  See umfpack_*_defaults on how to fill the Control
-	array with the default settings.  If Control contains NaN's, the
-	defaults are used.  The following Control parameters are used:
-
-	Control [UMFPACK_PRL]:  printing level.
-
-	    2 or less: no output.  returns silently without checking anything.
-	    3: fully check input, and print a short summary of its status
-	    4: as 3, but print first few entries of the input
-	    5: as 3, but print all of the input
-	    Default: 1
-*/
--- a/liboctave/UMFPACK/UMFPACK/Include/umfpack_save_numeric.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_save_numeric ================================================= */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-int umfpack_di_save_numeric
-(
-    void *Numeric,
-    char *filename
-) ;
-
-long umfpack_dl_save_numeric
-(
-    void *Numeric,
-    char *filename
-) ;
-
-int umfpack_zi_save_numeric
-(
-    void *Numeric,
-    char *filename
-) ;
-
-long umfpack_zl_save_numeric
-(
-    void *Numeric,
-    char *filename
-) ;
-
-/*
-double int Syntax:
-
-    #include "umfpack.h"
-    int status ;
-    char *filename ;
-    void *Numeric ;
-    status = umfpack_di_save_numeric (Numeric, filename) ;
-
-double long Syntax:
-
-    #include "umfpack.h"
-    long status ;
-    char *filename ;
-    void *Numeric ;
-    status = umfpack_dl_save_numeric (Numeric, filename) ;
-
-complex int Syntax:
-
-    #include "umfpack.h"
-    int status ;
-    char *filename ;
-    void *Numeric ;
-    status = umfpack_zi_save_numeric (Numeric, filename) ;
-
-complex long Syntax:
-
-    #include "umfpack.h"
-    long status ;
-    char *filename ;
-    void *Numeric ;
-    status = umfpack_zl_save_numeric (Numeric, filename) ;
-
-Purpose:
-
-    Saves a Numeric object to a file, which can later be read by
-    umfpack_*_load_numeric.  The Numeric object is not modified.
-
-Returns:
-
-    UMFPACK_OK if successful.
-    UMFPACK_ERROR_invalid_Numeric_object if Numeric is not valid.
-    UMFPACK_ERROR_file_IO if an I/O error occurred.
-
-Arguments:
-
-    void *Numeric ;	    Input argument, not modified.
-
-	Numeric must point to a valid Numeric object, computed by
-	umfpack_*_numeric or loaded by umfpack_*_load_numeric.
-
-    char *filename ;	    Input argument, not modified.
-
-	A string that contains the filename to which the Numeric
-	object is written.
-*/
--- a/liboctave/UMFPACK/UMFPACK/Include/umfpack_save_symbolic.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_save_symbolic================================================= */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-int umfpack_di_save_symbolic
-(
-    void *Symbolic,
-    char *filename
-) ;
-
-long umfpack_dl_save_symbolic
-(
-    void *Symbolic,
-    char *filename
-) ;
-
-int umfpack_zi_save_symbolic
-(
-    void *Symbolic,
-    char *filename
-) ;
-
-long umfpack_zl_save_symbolic
-(
-    void *Symbolic,
-    char *filename
-) ;
-
-/*
-double int Syntax:
-
-    #include "umfpack.h"
-    int status ;
-    char *filename ;
-    void *Symbolic ;
-    status = umfpack_di_save_symbolic (Symbolic, filename) ;
-
-double long Syntax:
-
-    #include "umfpack.h"
-    long status ;
-    char *filename ;
-    void *Symbolic ;
-    status = umfpack_dl_save_symbolic (Symbolic, filename) ;
-
-complex int Syntax:
-
-    #include "umfpack.h"
-    int status ;
-    char *filename ;
-    void *Symbolic ;
-    status = umfpack_zi_save_symbolic (Symbolic, filename) ;
-
-complex long Syntax:
-
-    #include "umfpack.h"
-    long status ;
-    char *filename ;
-    void *Symbolic ;
-    status = umfpack_zl_save_symbolic (Symbolic, filename) ;
-
-Purpose:
-
-    Saves a Symbolic object to a file, which can later be read by
-    umfpack_*_load_symbolic.  The Symbolic object is not modified.
-
-Returns:
-
-    UMFPACK_OK if successful.
-    UMFPACK_ERROR_invalid_Symbolic_object if Symbolic is not valid.
-    UMFPACK_ERROR_file_IO if an I/O error occurred.
-
-Arguments:
-
-    void *Symbolic ;	    Input argument, not modified.
-
-	Symbolic must point to a valid Symbolic object, computed by
-	umfpack_*_symbolic or loaded by umfpack_*_load_symbolic.
-
-    char *filename ;	    Input argument, not modified.
-
-	A string that contains the filename to which the Symbolic
-	object is written.
-*/
--- a/liboctave/UMFPACK/UMFPACK/Include/umfpack_scale.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_scale ======================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-int umfpack_di_scale
-(
-    double X [ ],
-    const double B [ ],
-    void *Numeric
-) ;
-
-long umfpack_dl_scale
-(
-    double X [ ],
-    const double B [ ],
-    void *Numeric
-) ;
-
-int umfpack_zi_scale
-(
-    double Xx [ ],	 double Xz [ ],
-    const double Bx [ ], const double Bz [ ],
-    void *Numeric
-) ;
-
-long umfpack_zl_scale
-(
-    double Xx [ ],	 double Xz [ ],
-    const double Bx [ ], const double Bz [ ],
-    void *Numeric
-) ;
-
-/*
-double int Syntax:
-
-    #include "umfpack.h"
-    void *Numeric ;
-    double *B, *X ;
-    status = umfpack_di_scale (X, B, Numeric) ;
-
-double long Syntax:
-
-    #include "umfpack.h"
-    void *Numeric ;
-    double *B, *X ;
-    status = umfpack_dl_scale (X, B, Numeric) ;
-
-complex int Syntax:
-
-    #include "umfpack.h"
-    void *Numeric ;
-    double *Bx, *Bz, *Xx, *Xz ;
-    status = umfpack_zi_scale (Xx, Xz, Bx, Bz, Numeric) ;
-
-complex long Syntax:
-
-    #include "umfpack.h"
-    void *Numeric ;
-    double *Bx, *Bz, *Xx, *Xz ;
-    status = umfpack_zl_scale (Xx, Xz, Bx, Bz, Numeric) ;
-
-packed complex Syntax:
-
-    Same as above, except both Xz and Bz are NULL.
-
-Purpose:
-
-    Given LU factors computed by umfpack_*_numeric (PAQ=LU, PRAQ=LU, or
-    P(R\A)Q=LU), and a vector B, this routine computes X = B, X = R*B, or
-    X = R\B, as appropriate.  X and B must be vectors equal in length to the
-    number of rows of A.
-
-Returns:
-
-    The status code is returned.  UMFPACK_OK is returned if successful.
-    UMFPACK_ERROR_invalid_Numeric_object is returned in the Numeric
-    object is invalid.  UMFPACK_ERROR_argument_missing is returned if
-    any of the input vectors are missing (X and B for the real version,
-    and Xx and Bx for the complex version).
-
-Arguments:
-
-    double X [n_row] ;	Output argument.
-    or:
-    double Xx [n_row] ;	Output argument, real part.
-			Size 2*n_row for packed complex case.
-    double Xz [n_row] ;	Output argument, imaginary part.
-
-	The output vector X.  If either Xz or Bz are NULL, the vector
-	X is in packed complex form, with the kth entry in Xx [2*k] and
-	Xx [2*k+1], and likewise for B.
-
-    double B [n_row] ;	Input argument, not modified.
-    or:
-    double Bx [n_row] ;	Input argument, not modified, real part.
-			Size 2*n_row for packed complex case.
-    double Bz [n_row] ;	Input argument, not modified, imaginary part.
-
-	The input vector B.  See above if either Xz or Bz are NULL.
-
-    void *Numeric ;		Input argument, not modified.
-
-	Numeric must point to a valid Numeric object, computed by
-	umfpack_*_numeric.
-
-*/
--- a/liboctave/UMFPACK/UMFPACK/Include/umfpack_solve.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,301 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_solve ======================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-int umfpack_di_solve
-(
-    int sys,
-    const int Ap [ ],
-    const int Ai [ ],
-    const double Ax [ ],
-    double X [ ],
-    const double B [ ],
-    void *Numeric,
-    const double Control [UMFPACK_CONTROL],
-    double Info [UMFPACK_INFO]
-) ;
-
-long umfpack_dl_solve
-(
-    long sys,
-    const long Ap [ ],
-    const long Ai [ ],
-    const double Ax [ ],
-    double X [ ],
-    const double B [ ],
-    void *Numeric,
-    const double Control [UMFPACK_CONTROL],
-    double Info [UMFPACK_INFO]
-) ;
-
-int umfpack_zi_solve
-(
-    int sys,
-    const int Ap [ ],
-    const int Ai [ ],
-    const double Ax [ ], const double Az [ ],
-    double Xx [ ],	 double Xz [ ],
-    const double Bx [ ], const double Bz [ ],
-    void *Numeric,
-    const double Control [UMFPACK_CONTROL],
-    double Info [UMFPACK_INFO]
-) ;
-
-long umfpack_zl_solve
-(
-    long sys,
-    const long Ap [ ],
-    const long Ai [ ],
-    const double Ax [ ], const double Az [ ],
-    double Xx [ ],	 double Xz [ ],
-    const double Bx [ ], const double Bz [ ],
-    void *Numeric,
-    const double Control [UMFPACK_CONTROL],
-    double Info [UMFPACK_INFO]
-) ;
-
-/*
-double int Syntax:
-
-    #include "umfpack.h"
-    void *Numeric ;
-    int status, *Ap, *Ai, sys ;
-    double *B, *X, *Ax, Info [UMFPACK_INFO], Control [UMFPACK_CONTROL] ;
-    status = umfpack_di_solve (sys, Ap, Ai, Ax, X, B, Numeric, Control, Info) ;
-
-double long Syntax:
-
-    #include "umfpack.h"
-    void *Numeric ;
-    long status, *Ap, *Ai, sys ;
-    double *B, *X, *Ax, Info [UMFPACK_INFO], Control [UMFPACK_CONTROL] ;
-    status = umfpack_dl_solve (sys, Ap, Ai, Ax, X, B, Numeric, Control, Info) ;
-
-complex int Syntax:
-
-    #include "umfpack.h"
-    void *Numeric ;
-    int status, *Ap, *Ai, sys ;
-    double *Bx, *Bz, *Xx, *Xz, *Ax, *Az, Info [UMFPACK_INFO],
-	Control [UMFPACK_CONTROL] ;
-    status = umfpack_zi_solve (sys, Ap, Ai, Ax, Az, Xx, Xz, Bx, Bz, Numeric,
-	Control, Info) ;
-
-complex long Syntax:
-
-    #include "umfpack.h"
-    void *Numeric ;
-    long status, *Ap, *Ai, sys ;
-    double *Bx, *Bz, *Xx, *Xz, *Ax, *Az, Info [UMFPACK_INFO],
-	Control [UMFPACK_CONTROL] ;
-    status = umfpack_zl_solve (sys, Ap, Ai, Ax, Az, Xx, Xz, Bx, Bz, Numeric,
-	Control, Info) ;
-
-packed complex Syntax:
-
-    Same as above, Xz, Bz, and Az are NULL.
-
-Purpose:
-
-    Given LU factors computed by umfpack_*_numeric (PAQ=LU, PRAQ=LU, or
-    P(R\A)Q=LU) and the right-hand-side, B, solve a linear system for the
-    solution X.  Iterative refinement is optionally performed.  Only square
-    systems are handled.  Singular matrices result in a divide-by-zero for all
-    systems except those involving just the matrix L.  Iterative refinement is
-    not performed for singular matrices.  In the discussion below, n is equal
-    to n_row and n_col, because only square systems are handled.
-
-Returns:
-
-    The status code is returned.  See Info [UMFPACK_STATUS], below.
-
-Arguments:
-
-    Int sys ;		Input argument, not modified.
-
-	Defines which system to solve.  (') is the linear algebraic transpose
-	(complex conjugate if A is complex), and (.') is the array transpose.
-
-	    sys value	    system solved
-	    UMFPACK_A       Ax=b
-	    UMFPACK_At      A'x=b
-	    UMFPACK_Aat     A.'x=b
-	    UMFPACK_Pt_L    P'Lx=b
-	    UMFPACK_L       Lx=b
-	    UMFPACK_Lt_P    L'Px=b
-	    UMFPACK_Lat_P   L.'Px=b
-	    UMFPACK_Lt      L'x=b
-	    UMFPACK_U_Qt    UQ'x=b
-	    UMFPACK_U       Ux=b
-	    UMFPACK_Q_Ut    QU'x=b
-	    UMFPACK_Q_Uat   QU.'x=b
-	    UMFPACK_Ut      U'x=b
-	    UMFPACK_Uat     U.'x=b
-
-	Iterative refinement can be optionally performed when sys is any of
-	the following:
-
-	    UMFPACK_A       Ax=b
-	    UMFPACK_At      A'x=b
-	    UMFPACK_Aat     A.'x=b
-
-	For the other values of the sys argument, iterative refinement is not
-	performed (Control [UMFPACK_IRSTEP], Ap, Ai, Ax, and Az are ignored).
-
-    Int Ap [n+1] ;	Input argument, not modified.
-    Int Ai [nz] ;	Input argument, not modified.
-    double Ax [nz] ;	Input argument, not modified.
-			Size 2*nz for packed complex case.
-    double Az [nz] ;	Input argument, not modified, for complex versions.
-
-	If iterative refinement is requested (Control [UMFPACK_IRSTEP] >= 1,
-	Ax=b, A'x=b, or A.'x=b is being solved, and A is nonsingular), then
-	these arrays must be identical to the same ones passed to
-	umfpack_*_numeric.  The umfpack_*_solve routine does not check the
-	contents of these arguments, so the results are undefined if Ap, Ai, Ax,
-	and/or Az are modified between the calls the umfpack_*_numeric and
-	umfpack_*_solve.  These three arrays do not need to be present (NULL
-	pointers can be passed) if Control [UMFPACK_IRSTEP] is zero, or if a
-	system other than Ax=b, A'x=b, or A.'x=b is being solved, or if A is
-	singular, since in each of these cases A is not accessed.
-
-	If Az, Xz, or Bz are NULL, then both real
-	and imaginary parts are contained in Ax[0..2*nz-1], with Ax[2*k]
-	and Ax[2*k+1] being the real and imaginary part of the kth entry.
-
-    double X [n] ;	Output argument.
-    or:
-    double Xx [n] ;	Output argument, real part
-			Size 2*n for packed complex case.
-    double Xz [n] ;	Output argument, imaginary part.
-
-	The solution to the linear system, where n = n_row = n_col is the
-	dimension of the matrices A, L, and U.
-
-	If Az, Xz, or Bz are NULL, then both real
-	and imaginary parts are returned in Xx[0..2*n-1], with Xx[2*k] and
-	Xx[2*k+1] being the real and imaginary part of the kth entry.
-
-    double B [n] ;	Input argument, not modified.
-    or:
-    double Bx [n] ;	Input argument, not modified, real part.
-			Size 2*n for packed complex case.
-    double Bz [n] ;	Input argument, not modified, imaginary part.
-
-	The right-hand side vector, b, stored as a conventional array of size n
-	(or two arrays of size n for complex versions).  This routine does not
-	solve for multiple right-hand-sides, nor does it allow b to be stored in
-	a sparse-column form.
-
-	If Az, Xz, or Bz are NULL, then both real
-	and imaginary parts are contained in Bx[0..2*n-1], with Bx[2*k]
-	and Bx[2*k+1] being the real and imaginary part of the kth entry.
-
-    void *Numeric ;		Input argument, not modified.
-
-	Numeric must point to a valid Numeric object, computed by
-	umfpack_*_numeric.
-
-    double Control [UMFPACK_CONTROL] ;	Input argument, not modified.
-
-	If a (double *) NULL pointer is passed, then the default control
-	settings are used.  Otherwise, the settings are determined from the
-	Control array.  See umfpack_*_defaults on how to fill the Control
-	array with the default settings.  If Control contains NaN's, the
-	defaults are used.  The following Control parameters are used:
-
-	Control [UMFPACK_IRSTEP]:  The maximum number of iterative refinement
-	    steps to attempt.  A value less than zero is treated as zero.  If
-	    less than 1, or if Ax=b, A'x=b, or A.'x=b is not being solved, or
-	    if A is singular, then the Ap, Ai, Ax, and Az arguments are not
-	    accessed.  Default: 2.
-
-    double Info [UMFPACK_INFO] ;	Output argument.
-
-	Contains statistics about the solution factorization.  If a
-	(double *) NULL pointer is passed, then no statistics are returned in
-	Info (this is not an error condition).  The following statistics are
-	computed in umfpack_*_solve:
-
-	Info [UMFPACK_STATUS]: status code.  This is also the return value,
-	    whether or not Info is present.
-
-	    UMFPACK_OK
-
-		The linear system was successfully solved.
-
-	    UMFPACK_WARNING_singular_matrix
-
-		A divide-by-zero occurred.  Your solution will contain Inf's
-		and/or NaN's.  Some parts of the solution may be valid.  For
-		example, solving Ax=b with
-
-		A = [2 0]  b = [ 1 ]  returns x = [ 0.5 ]
-		    [0 0]      [ 0 ]              [ Inf ]
-
-	    UMFPACK_ERROR_out_of_memory
-
-		Insufficient memory to solve the linear system.
-
-	    UMFPACK_ERROR_argument_missing
-
-		One or more required arguments are missing.  The B, X, (or
-		Bx and Xx for the complex versions) arguments
-		are always required.  Info and Control are not required.  Ap,
-		Ai, Ax are required if Ax=b,
-		A'x=b, A.'x=b is to be solved, the (default) iterative
-		refinement is requested, and the matrix A is nonsingular.
-
-	    UMFPACK_ERROR_invalid_system
-
-		The sys argument is not valid, or the matrix A is not square.
-
-	    UMFPACK_ERROR_invalid_Numeric_object
-
-		The Numeric object is not valid.
-
-	Info [UMFPACK_NROW], Info [UMFPACK_NCOL]:
-		The dimensions of the matrix A (L is n_row-by-n_inner and
-		U is n_inner-by-n_col, with n_inner = min(n_row,n_col)).
-
-	Info [UMFPACK_NZ]:  the number of entries in the input matrix, Ap [n],
-	    if iterative refinement is requested (Ax=b, A'x=b, or A.'x=b is
-	    being solved, Control [UMFPACK_IRSTEP] >= 1, and A is nonsingular).
-
-	Info [UMFPACK_IR_TAKEN]:  The number of iterative refinement steps
-	    effectively taken.  The number of steps attempted may be one more
-	    than this; the refinement algorithm backtracks if the last
-	    refinement step worsens the solution.
-
-	Info [UMFPACK_IR_ATTEMPTED]:   The number of iterative refinement steps
-	    attempted.  The number of times a linear system was solved is one
-	    more than this (once for the initial Ax=b, and once for each Ay=r
-	    solved for each iterative refinement step attempted).
-
-	Info [UMFPACK_OMEGA1]:  sparse backward error estimate, omega1, if
-	    iterative refinement was performed, or -1 if iterative refinement
-	    not performed.
-
-	Info [UMFPACK_OMEGA2]:  sparse backward error estimate, omega2, if
-	    iterative refinement was performed, or -1 if iterative refinement
-	    not performed.
-
-	Info [UMFPACK_SOLVE_FLOPS]:  the number of floating point operations
-	    performed to solve the linear system.  This includes the work
-	    taken for all iterative refinement steps, including the backtrack
-	    (if any).
-
-	Info [UMFPACK_SOLVE_TIME]:  The time taken, in seconds.
-
-        Info [UMFPACK_SOLVE_WALLTIME]:  The wallclock time taken, in seconds.
-
-	Only the above listed Info [...] entries are accessed.  The remaining
-	entries of Info are not accessed or modified by umfpack_*_solve.
-	Future versions might modify different parts of Info.
-*/
--- a/liboctave/UMFPACK/UMFPACK/Include/umfpack_symbolic.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,536 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_symbolic ===================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-int umfpack_di_symbolic
-(
-    int n_row,
-    int n_col,
-    const int Ap [ ],
-    const int Ai [ ],
-    const double Ax [ ],
-    void **Symbolic,
-    const double Control [UMFPACK_CONTROL],
-    double Info [UMFPACK_INFO]
-) ;
-
-long umfpack_dl_symbolic
-(
-    long n_row,
-    long n_col,
-    const long Ap [ ],
-    const long Ai [ ],
-    const double Ax [ ],
-    void **Symbolic,
-    const double Control [UMFPACK_CONTROL],
-    double Info [UMFPACK_INFO]
-) ;
-
-int umfpack_zi_symbolic
-(
-    int n_row,
-    int n_col,
-    const int Ap [ ],
-    const int Ai [ ],
-    const double Ax [ ], const double Az [ ],
-    void **Symbolic,
-    const double Control [UMFPACK_CONTROL],
-    double Info [UMFPACK_INFO]
-) ;
-
-long umfpack_zl_symbolic
-(
-    long n_row,
-    long n_col,
-    const long Ap [ ],
-    const long Ai [ ],
-    const double Ax [ ], const double Az [ ],
-    void **Symbolic,
-    const double Control [UMFPACK_CONTROL],
-    double Info [UMFPACK_INFO]
-) ;
-
-/*
-double int Syntax:
-
-    #include "umfpack.h"
-    void *Symbolic ;
-    int n_row, n_col, *Ap, *Ai, status ;
-    double Control [UMFPACK_CONTROL], Info [UMFPACK_INFO], *Ax ;
-    status = umfpack_di_symbolic (n_row, n_col, Ap, Ai, Ax,
-	&Symbolic, Control, Info) ;
-
-double long Syntax:
-
-    #include "umfpack.h"
-    void *Symbolic ;
-    long n_row, n_col, *Ap, *Ai, status ;
-    double Control [UMFPACK_CONTROL], Info [UMFPACK_INFO], *Ax ;
-    status = umfpack_dl_symbolic (n_row, n_col, Ap, Ai, Ax,
-	&Symbolic, Control, Info) ;
-
-complex int Syntax:
-
-    #include "umfpack.h"
-    void *Symbolic ;
-    int n_row, n_col, *Ap, *Ai, status ;
-    double Control [UMFPACK_CONTROL], Info [UMFPACK_INFO], *Ax, *Az ;
-    status = umfpack_zi_symbolic (n_row, n_col, Ap, Ai, Ax, Az,
-	&Symbolic, Control, Info) ;
-
-complex long Syntax:
-
-    #include "umfpack.h"
-    void *Symbolic ;
-    long n_row, n_col, *Ap, *Ai, status ;
-    double Control [UMFPACK_CONTROL], Info [UMFPACK_INFO], *Ax, *Az ;
-    status = umfpack_zl_symbolic (n_row, n_col, Ap, Ai, Ax, Az,
-	&Symbolic, Control, Info) ;
-
-packed complex Syntax:
-
-    Same as above, except Az is NULL.
-
-Purpose:
-
-    Given nonzero pattern of a sparse matrix A in column-oriented form,
-    umfpack_*_symbolic performs a column pre-ordering to reduce fill-in
-    (using COLAMD or AMD) and a symbolic factorization.  This is required
-    before the matrix can be numerically factorized with umfpack_*_numeric.
-    If you wish to bypass the COLAMD or AMD pre-ordering and provide your own
-    ordering, use umfpack_*_qsymbolic instead.
-
-    Since umfpack_*_symbolic and umfpack_*_qsymbolic are very similar, options
-    for both routines are discussed below.
-
-    For the following discussion, let S be the submatrix of A obtained after
-    eliminating all pivots of zero Markowitz cost.  S has dimension
-    (n_row-n1-nempty_row) -by- (n_col-n1-nempty_col), where
-    n1 = Info [UMFPACK_COL_SINGLETONS] + Info [UMFPACK_ROW_SINGLETONS],
-    nempty_row = Info [UMFPACK_NEMPTY_ROW] and
-    nempty_col = Info [UMFPACK_NEMPTY_COL].
-
-Returns:
-
-    The status code is returned.  See Info [UMFPACK_STATUS], below.
-
-Arguments:
-
-    Int n_row ;		Input argument, not modified.
-    Int n_col ;		Input argument, not modified.
-
-	A is an n_row-by-n_col matrix.  Restriction: n_row > 0 and n_col > 0.
-
-    Int Ap [n_col+1] ;	Input argument, not modified.
-
-	Ap is an integer array of size n_col+1.  On input, it holds the
-	"pointers" for the column form of the sparse matrix A.  Column j of
-	the matrix A is held in Ai [(Ap [j]) ... (Ap [j+1]-1)].  The first
-	entry, Ap [0], must be zero, and Ap [j] <= Ap [j+1] must hold for all
-	j in the range 0 to n_col-1.  The value nz = Ap [n_col] is thus the
-	total number of entries in the pattern of the matrix A.  nz must be
-	greater than or equal to zero.
-
-    Int Ai [nz] ;	Input argument, not modified, of size nz = Ap [n_col].
-
-	The nonzero pattern (row indices) for column j is stored in
-	Ai [(Ap [j]) ... (Ap [j+1]-1)].  The row indices in a given column j
-	must be in ascending order, and no duplicate row indices may be present.
-	Row indices must be in the range 0 to n_row-1 (the matrix is 0-based).
-	See umfpack_*_triplet_to_col for how to sort the columns of a matrix
-	and sum up the duplicate entries.  See umfpack_*_report_matrix for how
-	to print the matrix A.
-
-    double Ax [nz] ;	Optional input argument, not modified.
-			Size 2*nz for packed complex case.
-
-	The numerical values of the sparse matrix A.  The nonzero pattern (row
-	indices) for column j is stored in Ai [(Ap [j]) ... (Ap [j+1]-1)], and
-	the corresponding numerical values are stored in
-	Ax [(Ap [j]) ... (Ap [j+1]-1)].  Used only by the 2-by-2 strategy to
-	determine whether entries are "large" or "small".  You do not have to
-	pass the same numerical values to umfpack_*_numeric.  If Ax is not
-	present (a (double *) NULL pointer), then any entry in A is assumed to
-	be "large".
-
-    double Az [nz] ;	Optional input argument, not modified, for complex
-			versions.
-
-	For the complex versions, this holds the imaginary part of A.  The
-	imaginary part of column j is held in Az [(Ap [j]) ... (Ap [j+1]-1)].
-
-	If Az is NULL, then both real
-	and imaginary parts are contained in Ax[0..2*nz-1], with Ax[2*k]
-	and Ax[2*k+1] being the real and imaginary part of the kth entry.
-
-	Used by the 2-by-2 strategy only.  See the description of Ax, above.
-
-    void **Symbolic ;	Output argument.
-
-	**Symbolic is the address of a (void *) pointer variable in the user's
-	calling routine (see Syntax, above).  On input, the contents of this
-	variable are not defined.  On output, this variable holds a (void *)
-	pointer to the Symbolic object (if successful), or (void *) NULL if
-	a failure occurred.
-
-    double Control [UMFPACK_CONTROL] ;	Input argument, not modified.
-
-	If a (double *) NULL pointer is passed, then the default control
-	settings are used (the defaults are suitable for all matrices,
-	ranging from those with highly unsymmetric nonzero pattern, to
-	symmetric matrices).  Otherwise, the settings are determined from the
-	Control array.  See umfpack_*_defaults on how to fill the Control
-	array with the default settings.  If Control contains NaN's, the
-	defaults are used.  The following Control parameters are used:
-
-	Control [UMFPACK_STRATEGY]:  This is the most important control
-	    parameter.  It determines what kind of ordering and pivoting
-	    strategy that UMFPACK should use.  There are 4 options:
-
-	    UMFPACK_STRATEGY_AUTO:  This is the default.  The input matrix is
-		analyzed to determine how symmetric the nonzero pattern is, and
-		how many entries there are on the diagonal.  It then selects one
-		of the following strategies.  Refer to the User Guide for a
-		description of how the strategy is automatically selected.
-
-	    UMFPACK_STRATEGY_UNSYMMETRIC:  Use the unsymmetric strategy.  COLAMD
-		is used to order the columns of A, followed by a postorder of
-		the column elimination tree.  No attempt is made to perform
-		diagonal pivoting.  The column ordering is refined during
-		factorization.
-
-		In the numerical factorization, the
-		Control [UMFPACK_SYM_PIVOT_TOLERANCE] parameter is ignored.  A
-		pivot is selected if its magnitude is >=
-		Control [UMFPACK_PIVOT_TOLERANCE] (default 0.1) times the
-		largest entry in its column.
-
-	    UMFPACK_STRATEGY_SYMMETRIC:  Use the symmetric strategy
-		In this method, the approximate minimum degree
-		ordering (AMD) is applied to A+A', followed by a postorder of
-		the elimination tree of A+A'.  UMFPACK attempts to perform
-		diagonal pivoting during numerical factorization.  No refinement
-		of the column pre-ordering is performed during factorization.
-
-		In the numerical factorization, a nonzero entry on the diagonal
-		is selected as the pivot if its magnitude is >= Control
-		[UMFPACK_SYM_PIVOT_TOLERANCE] (default 0.001) times the largest
-		entry in its column.  If this is not acceptable, then an
-		off-diagonal pivot is selected with magnitude >= Control
-		[UMFPACK_PIVOT_TOLERANCE] (default 0.1) times the largest entry
-		in its column.
-
-	    UMFPACK_STRATEGY_2BY2:  a row permutation P2 is found that places
-		large entries on the diagonal.  The matrix P2*A is then
-		factorized using the symmetric strategy, described above.
-		Refer to the User Guide for more information.
-
-	Control [UMFPACK_DENSE_COL]:
-	    If COLAMD is used, columns with more than
-	    max (16, Control [UMFPACK_DENSE_COL] * 16 * sqrt (n_row)) entries
-	    are placed placed last in the column pre-ordering.  Default: 0.2.
-
-	Control [UMFPACK_DENSE_ROW]:
-	    Rows with more than max (16, Control [UMFPACK_DENSE_ROW] * 16 *
-	    sqrt (n_col)) entries are treated differently in the COLAMD
-	    pre-ordering, and in the internal data structures during the
-	    subsequent numeric factorization.  Default: 0.2.
-
-	Control [UMFPACK_AMD_DENSE]:  rows/columns in A+A' with more than
-	    max (16, Control [UMFPACK_AMD_DENSE] * sqrt (n)) entries
-	    (where n = n_row = n_col) are ignored in the AMD pre-ordering.
-	    Default: 10.
-
-	Control [UMFPACK_BLOCK_SIZE]:  the block size to use for Level-3 BLAS
-	    in the subsequent numerical factorization (umfpack_*_numeric).
-	    A value less than 1 is treated as 1.  Default: 32.  Modifying this
-	    parameter affects when updates are applied to the working frontal
-	    matrix, and can indirectly affect fill-in and operation count.
-	    As long as the block size is large enough (8 or so), this parameter
-	    has a modest effect on performance.
-
-	Control [UMFPACK_2BY2_TOLERANCE]:  a diagonal entry S (k,k) is
-	    considered "small" if it is < tol * max (abs (S (:,k))), where S a
-	    submatrix of the scaled input matrix, with pivots of zero Markowitz
-	    cost removed.
-
-	Control [UMFPACK_SCALE]:  See umfpack_numeric.h for a description.
-	    Only affects the 2-by-2 strategy.  Default: UMFPACK_SCALE_SUM.
-
-	Control [UMFPACK_FIXQ]:  If > 0, then the pre-ordering Q is not modified
-	    during numeric factorization.  If < 0, then Q may be modified.  If
-	    zero, then this is controlled automatically (the unsymmetric
-	    strategy modifies Q, the others do not).  Default: 0.
-
-	Control [UMFPACK_AGGRESSIVE]:  If nonzero, aggressive absorption is used
-	    in COLAMD and AMD.  Default: 1.
-
-    double Info [UMFPACK_INFO] ;	Output argument, not defined on input.
-
-	Contains statistics about the symbolic analysis.  If a (double *) NULL
-	pointer is passed, then no statistics are returned in Info (this is not
-	an error condition).  The entire Info array is cleared (all entries set
-	to -1) and then the following statistics are computed:
-
-	Info [UMFPACK_STATUS]: status code.  This is also the return value,
-	    whether or not Info is present.
-
-	    UMFPACK_OK
-
-		Each column of the input matrix contained row indices
-		in increasing order, with no duplicates.  Only in this case
-		does umfpack_*_symbolic compute a valid symbolic factorization.
-		For the other cases below, no Symbolic object is created
-		(*Symbolic is (void *) NULL).
-
-	    UMFPACK_ERROR_n_nonpositive
-
-		n is less than or equal to zero.
-
-	    UMFPACK_ERROR_invalid_matrix
-
-		Number of entries in the matrix is negative, Ap [0] is nonzero,
-		a column has a negative number of entries, a row index is out of
-		bounds, or the columns of input matrix were jumbled (unsorted
-		columns or duplicate entries).
-
-	    UMFPACK_ERROR_out_of_memory
-
-		Insufficient memory to perform the symbolic analysis.  If the
-		analysis requires more than 2GB of memory and you are using
-		the 32-bit ("int") version of UMFPACK, then you are guaranteed
-		to run out of memory.  Try using the 64-bit version of UMFPACK.
-
-	    UMFPACK_ERROR_argument_missing
-
-		One or more required arguments is missing.
-
-	    UMFPACK_ERROR_internal_error
-
-		Something very serious went wrong.  This is a bug.
-		Please contact the author (davis@cise.ufl.edu).
-
-	Info [UMFPACK_NROW]:  the value of the input argument n_row.
-
-	Info [UMFPACK_NCOL]:  the value of the input argument n_col.
-
-	Info [UMFPACK_NZ]:  the number of entries in the input matrix
-	    (Ap [n_col]).
-
-	Info [UMFPACK_SIZE_OF_UNIT]:  the number of bytes in a Unit,
-	    for memory usage statistics below.
-
-	Info [UMFPACK_SIZE_OF_INT]:  the number of bytes in an int.
-
-	Info [UMFPACK_SIZE_OF_LONG]:  the number of bytes in a long.
-
-	Info [UMFPACK_SIZE_OF_POINTER]:  the number of bytes in a void *
-	    pointer.
-
-	Info [UMFPACK_SIZE_OF_ENTRY]:  the number of bytes in a numerical entry.
-
-	Info [UMFPACK_NDENSE_ROW]:  number of "dense" rows in A.  These rows are
-	    ignored when the column pre-ordering is computed in COLAMD.  They
-	    are also treated differently during numeric factorization.  If > 0,
-	    then the matrix had to be re-analyzed by UMF_analyze, which does
-	    not ignore these rows.
-
-	Info [UMFPACK_NEMPTY_ROW]:  number of "empty" rows in A, as determined
-	    These are rows that either have no entries, or whose entries are
-	    all in pivot columns of zero-Markowitz-cost pivots.
-
-	Info [UMFPACK_NDENSE_COL]:  number of "dense" columns in A.  COLAMD
-	    orders these columns are ordered last in the factorization, but
-	    before "empty" columns.
-
-	Info [UMFPACK_NEMPTY_COL]:  number of "empty" columns in A.  These are
-	    columns that either have no entries, or whose entries are all in
-	    pivot rows of zero-Markowitz-cost pivots.  These columns are
-	    ordered last in the factorization, to the right of "dense" columns.
-
-	Info [UMFPACK_SYMBOLIC_DEFRAG]:  number of garbage collections
-	    performed during ordering and symbolic pre-analysis.
-
-	Info [UMFPACK_SYMBOLIC_PEAK_MEMORY]:  the amount of memory (in Units)
-	    required for umfpack_*_symbolic to complete.  This count includes
-	    the size of the Symbolic object itself, which is also reported in
-	    Info [UMFPACK_SYMBOLIC_SIZE].
-
-	Info [UMFPACK_SYMBOLIC_SIZE]: the final size of the Symbolic object (in
-	    Units).  This is fairly small, roughly 2*n to 13*n integers,
-	    depending on the matrix.
-
-	Info [UMFPACK_VARIABLE_INIT_ESTIMATE]: the Numeric object contains two
-	    parts.  The first is fixed in size (O (n_row+n_col)).  The
-	    second part holds the sparse LU factors and the contribution blocks
-	    from factorized frontal matrices.  This part changes in size during
-	    factorization.  Info [UMFPACK_VARIABLE_INIT_ESTIMATE] is the exact
-	    size (in Units) required for this second variable-sized part in
-	    order for the numerical factorization to start.
-
-	Info [UMFPACK_VARIABLE_PEAK_ESTIMATE]: the estimated peak size (in
-	    Units) of the variable-sized part of the Numeric object.  This is
-	    usually an upper bound, but that is not guaranteed.
-
-	Info [UMFPACK_VARIABLE_FINAL_ESTIMATE]: the estimated final size (in
-	    Units) of the variable-sized part of the Numeric object.  This is
-	    usually an upper bound, but that is not guaranteed.  It holds just
-	    the sparse LU factors.
-
-	Info [UMFPACK_NUMERIC_SIZE_ESTIMATE]:  an estimate of the final size (in
-	    Units) of the entire Numeric object (both fixed-size and variable-
-	    sized parts), which holds the LU factorization (including the L, U,
-	    P and Q matrices).
-
-	Info [UMFPACK_PEAK_MEMORY_ESTIMATE]:  an estimate of the total amount of
-	    memory (in Units) required by umfpack_*_symbolic and
-	    umfpack_*_numeric to perform both the symbolic and numeric
-	    factorization.  This is the larger of the amount of memory needed
-	    in umfpack_*_numeric itself, and the amount of memory needed in
-	    umfpack_*_symbolic (Info [UMFPACK_SYMBOLIC_PEAK_MEMORY]).  The
-	    count includes the size of both the Symbolic and Numeric objects
-	    themselves.  It can be a very loose upper bound, particularly when
-	    the symmetric or 2-by-2 strategies are used.
-
-	Info [UMFPACK_FLOPS_ESTIMATE]:  an estimate of the total floating-point
-	    operations required to factorize the matrix.  This is a "true"
-	    theoretical estimate of the number of flops that would be performed
-	    by a flop-parsimonious sparse LU algorithm.  It assumes that no
-	    extra flops are performed except for what is strictly required to
-	    compute the LU factorization.  It ignores, for example, the flops
-            performed by umfpack_di_numeric to add contribution blocks of
-	    frontal matrices together.  If L and U are the upper bound on the
-	    pattern of the factors, then this flop count estimate can be
-	    represented in MATLAB (for real matrices, not complex) as:
-
-		Lnz = full (sum (spones (L))) - 1 ;	% nz in each col of L
-		Unz = full (sum (spones (U')))' - 1 ;	% nz in each row of U
-		flops = 2*Lnz*Unz + sum (Lnz) ;
-
-	    The actual "true flop" count found by umfpack_*_numeric will be
-	    less than this estimate.
-
-	    For the real version, only (+ - * /) are counted.  For the complex
-	    version, the following counts are used:
-
-		operation	flops
-	    	c = 1/b		6
-		c = a*b		6
-		c -= a*b	8
-
-	Info [UMFPACK_LNZ_ESTIMATE]:  an estimate of the number of nonzeros in
-	    L, including the diagonal.  Since L is unit-diagonal, the diagonal
-	    of L is not stored.  This estimate is a strict upper bound on the
-	    actual nonzeros in L to be computed by umfpack_*_numeric.
-
-	Info [UMFPACK_UNZ_ESTIMATE]:  an estimate of the number of nonzeros in
-	    U, including the diagonal.  This estimate is a strict upper bound on
-	    the actual nonzeros in U to be computed by umfpack_*_numeric.
-
-	Info [UMFPACK_MAX_FRONT_SIZE_ESTIMATE]: estimate of the size of the
-	    largest frontal matrix (# of entries), for arbitrary partial
-	    pivoting during numerical factorization.
-
-	Info [UMFPACK_SYMBOLIC_TIME]:  The CPU time taken, in seconds.
-
-	Info [UMFPACK_SYMBOLIC_WALLTIME]:  The wallclock time taken, in seconds.
-
-	Info [UMFPACK_STRATEGY_USED]: The ordering strategy used:
-	    UMFPACK_STRATEGY_SYMMETRIC, UMFPACK_STRATEGY_UNSYMMETRIC, or
-	    UMFPACK_STRATEGY_2BY2.
-
-	Info [UMFPACK_ORDERING_USED]:  The ordering method used:
-	    UMFPACK_ORDERING_COLAMD or UMFPACK_ORDERING_AMD.  It can be
-	    UMFPACK_ORDERING_GIVEN for umfpack_*_qsymbolic.
-
-	Info [UMFPACK_QFIXED]: 1 if the column pre-ordering will be refined
-	    during numerical factorization, 0 if not.
-
-	Info [UMFPACK_DIAG_PREFERED]: 1 if diagonal pivoting will be attempted,
-	    0 if not.
-
-	Info [UMFPACK_COL_SINGLETONS]:  the matrix A is analyzed by first
-	    eliminating all pivots with zero Markowitz cost.  This count is the
-	    number of these pivots with exactly one nonzero in their pivot
-	    column.
-
-	Info [UMFPACK_ROW_SINGLETONS]:  the number of zero-Markowitz-cost
-	    pivots with exactly one nonzero in their pivot row.
-
-	Info [UMFPACK_PATTERN_SYMMETRY]: the symmetry of the pattern of S.
-
-	Info [UMFPACK_NZ_A_PLUS_AT]: the number of off-diagonal entries in S+S'.
-
-	Info [UMFPACK_NZDIAG]:  the number of entries on the diagonal of S.
-
-	Info [UMFPACK_N2]:  if S is square, and nempty_row = nempty_col, this
-	    is equal to n_row - n1 - nempty_row.
-
-	Info [UMFPACK_S_SYMMETRIC]: 1 if S is square and its diagonal has been
-	    preserved, 0 otherwise.
-
-
-	Info [UMFPACK_MAX_FRONT_NROWS_ESTIMATE]: estimate of the max number of
-	    rows in any frontal matrix, for arbitrary partial pivoting.
-
-	Info [UMFPACK_MAX_FRONT_NCOLS_ESTIMATE]: estimate of the max number of
-	    columns in any frontal matrix, for arbitrary partial pivoting.
-
-	------------------------------------------------------------------------
-	The next four statistics are computed only if AMD is used:
-	------------------------------------------------------------------------
-
-	Info [UMFPACK_SYMMETRIC_LUNZ]: The number of nonzeros in L and U,
-	    assuming no pivoting during numerical factorization, and assuming a
-	    zero-free diagonal of U.  Excludes the entries on the diagonal of
-	    L.  If the matrix has a purely symmetric nonzero pattern, this is
-	    often a lower bound on the nonzeros in the actual L and U computed
-	    in the numerical factorization, for matrices that fit the criteria
-	    for the "symmetric" strategy.
-
-	Info [UMFPACK_SYMMETRIC_FLOPS]: The floating-point operation count in
-	    the numerical factorization phase, assuming no pivoting.  If the
-	    pattern of the matrix is symmetric, this is normally a lower bound
-	    on the floating-point operation count in the actual numerical
-	    factorization, for matrices that fit the criteria for the symmetric
-	    or 2-by-2 strategies
-
-	Info [UMFPACK_SYMMETRIC_NDENSE]: The number of "dense" rows/columns of
-	    S+S' that were ignored during the AMD ordering.  These are placed
-	    last in the output order.  If > 0, then the
-	    Info [UMFPACK_SYMMETRIC_*] statistics, above are rough upper bounds.
-
-	Info [UMFPACK_SYMMETRIC_DMAX]: The maximum number of nonzeros in any
-	    column of L, if no pivoting is performed during numerical
-	    factorization.  Excludes the part of the LU factorization for
-	    pivots with zero Markowitz cost.
-
-	------------------------------------------------------------------------
-	The following statistics are computed only if the 2-by-2 strategy is
-	used or attempted:
-	------------------------------------------------------------------------
-
-	Info [UMFPACK_2BY2_NWEAK]: the number of small diagonal entries in S.
-
-	Info [UMFPACK_2BY2_UNMATCHED]: the number of small diagonal entries
-	    in P2*S.
-
-	Info [UMFPACK_2BY2_PATTERN_SYMMETRY]: the symmetry of P2*S.
-
-	Info [UMFPACK_2BY2_NZ_PA_PLUS_AT]:  the number of off-diagonal entries
-	    in (P2*S)+(P2*S)'.
-
-	Info [UMFPACK_2BY2_NZDIAG]:  the number of nonzero entries on the
-	    diagonal of P2*S.
-
-
-	At the start of umfpack_*_symbolic, all of Info is set of -1, and then
-	after that only the above listed Info [...] entries are accessed.
-	Future versions might modify different parts of Info.
-*/
--- a/liboctave/UMFPACK/UMFPACK/Include/umfpack_tictoc.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_tictoc ======================================================= */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-void umfpack_tic (double stats [2]) ;
-
-void umfpack_toc (double stats [2]) ;
-
-
-/*
-Syntax (for all versions: di, dl, zi, and zl):
-
-    #include "umfpack.h"
-    double stats [2] ;
-    umfpack_tic (stats) ;
-    ...
-    umfpack_toc (stats) ;
-
-Purpose:
-
-    umfpack_tic returns the CPU time and wall clock time used by the process.
-    The CPU time includes both "user" and "system" time (the latter is time
-    spent by the system on behalf of the process, and is thus charged to the
-    process).  umfpack_toc returns the CPU time and wall clock time since the
-    last call to umfpack_tic with the same stats array.
-
-    Typical usage:
-
-	umfpack_tic (stats) ;
-	... do some work ...
-	umfpack_toc (stats) ;
-
-    then stats [1] contains the time in seconds used by the code between
-    umfpack_tic and umfpack_toc, and stats [0] contains the wall clock time
-    elapsed between the umfpack_tic and umfpack_toc.  These two routines act
-    just like tic and toc in MATLAB, except that the both process time and
-    wall clock time are returned.
-
-    This routine normally uses the sysconf and times routines in the POSIX
-    standard.  If -DNPOSIX is defined at compile time, then the ANSI C clock
-    routine is used instead, and only the CPU time is returned (stats [0]
-    is set to zero).
-
-    umfpack_tic and umfpack_toc are the routines used internally in UMFPACK
-    to time the symbolic analysis, numerical factorization, and the forward/
-    backward solve.
-
-Arguments:
-
-    double stats [2]:
-
-	stats [0]:  wall clock time, in seconds
-	stats [1]:  CPU time, in seconds
-*/
--- a/liboctave/UMFPACK/UMFPACK/Include/umfpack_timer.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_timer ======================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-double umfpack_timer ( void ) ;
-
-/*
-Syntax (for all versions: di, dl, zi, and zl):
-
-    #include "umfpack.h"
-    double t ;
-    t = umfpack_timer ( ) ;
-
-Purpose:
-
-    Returns the CPU time used by the process.  Includes both "user" and "system"
-    time (the latter is time spent by the system on behalf of the process, and
-    is thus charged to the process).  It does not return the wall clock time.
-    See umfpack_tic and umfpack_toc (the file umfpack_tictoc.h) for the timer
-    used internally by UMFPACK.
-
-    This routine uses the Unix getrusage routine, if available.  It is less
-    subject to overflow than the ANSI C clock routine.  If getrusage is not
-    available, the portable ANSI C clock routine is used instead.
-    Unfortunately, clock ( ) overflows if the CPU time exceeds 2147 seconds
-    (about 36 minutes) when sizeof (clock_t) is 4 bytes.  If you have getrusage,
-    be sure to compile UMFPACK with the -DGETRUSAGE flag set; see umf_config.h
-    and the User Guide for details.  Even the getrusage routine can overlow.
-
-Arguments:
-
-    None.
-*/
--- a/liboctave/UMFPACK/UMFPACK/Include/umfpack_transpose.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,216 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_transpose ==================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-int umfpack_di_transpose
-(
-    int n_row,
-    int n_col,
-    const int Ap [ ],
-    const int Ai [ ],
-    const double Ax [ ],
-    const int P [ ],
-    const int Q [ ],
-    int Rp [ ],
-    int Ri [ ],
-    double Rx [ ]
-) ;
-
-long umfpack_dl_transpose
-(
-    long n_row,
-    long n_col,
-    const long Ap [ ],
-    const long Ai [ ],
-    const double Ax [ ],
-    const long P [ ],
-    const long Q [ ],
-    long Rp [ ],
-    long Ri [ ],
-    double Rx [ ]
-) ;
-
-int umfpack_zi_transpose
-(
-    int n_row,
-    int n_col,
-    const int Ap [ ],
-    const int Ai [ ],
-    const double Ax [ ], const double Az [ ],
-    const int P [ ],
-    const int Q [ ],
-    int Rp [ ],
-    int Ri [ ],
-    double Rx [ ], double Rz [ ],
-    int do_conjugate
-) ;
-
-long umfpack_zl_transpose
-(
-    long n_row,
-    long n_col,
-    const long Ap [ ],
-    const long Ai [ ],
-    const double Ax [ ], const double Az [ ],
-    const long P [ ],
-    const long Q [ ],
-    long Rp [ ],
-    long Ri [ ],
-    double Rx [ ], double Rz [ ],
-    long do_conjugate
-) ;
-
-/*
-double int Syntax:
-
-    #include "umfpack.h"
-    int n_row, n_col, status, *Ap, *Ai, *P, *Q, *Rp, *Ri ;
-    double *Ax, *Rx ;
-    status = umfpack_di_transpose (n_row, n_col, Ap, Ai, Ax, P, Q, Rp, Ri, Rx) ;
-
-double long Syntax:
-
-    #include "umfpack.h"
-    long n_row, n_col, status, *Ap, *Ai, *P, *Q, *Rp, *Ri ;
-    double *Ax, *Rx ;
-    status = umfpack_dl_transpose (n_row, n_col, Ap, Ai, Ax, P, Q, Rp, Ri, Rx) ;
-
-complex int Syntax:
-
-    #include "umfpack.h"
-    int n_row, n_col, status, *Ap, *Ai, *P, *Q, *Rp, *Ri, do_conjugate ;
-    double *Ax, *Az, *Rx, *Rz ;
-    status = umfpack_zi_transpose (n_row, n_col, Ap, Ai, Ax, Az, P, Q,
-	Rp, Ri, Rx, Rz, do_conjugate) ;
-
-complex long Syntax:
-
-    #include "umfpack.h"
-    long n_row, n_col, status, *Ap, *Ai, *P, *Q, *Rp, *Ri, do_conjugate ;
-    double *Ax, *Az, *Rx, *Rz ;
-    status = umfpack_zl_transpose (n_row, n_col, Ap, Ai, Ax, Az, P, Q,
-	Rp, Ri, Rx, Rz, do_conjugate) ;
-
-packed complex Syntax:
-
-    Same as above, except Az are Rz are NULL.
-
-Purpose:
-
-    Transposes and optionally permutes a sparse matrix in row or column-form,
-    R = (PAQ)'.  In MATLAB notation, R = (A (P,Q))' or R = (A (P,Q)).' doing
-    either the linear algebraic transpose or the array transpose. Alternatively,
-    this routine can be viewed as converting A (P,Q) from column-form to
-    row-form, or visa versa (for the array transpose).  Empty rows and columns
-    may exist.  The matrix A may be singular and/or rectangular.
-
-    umfpack_*_transpose is useful if you want to factorize A' or A.' instead of
-    A.  Factorizing A' or A.' instead of A can be much better, particularly if
-    AA' is much sparser than A'A.  You can still solve Ax=b if you factorize
-    A' or A.', by solving with the sys argument UMFPACK_At or UMFPACK_Aat,
-    respectively, in umfpack_*_*solve.
-
-Returns:
-
-    UMFPACK_OK if successful.
-    UMFPACK_ERROR_out_of_memory if umfpack_*_transpose fails to allocate a
-	size-max (n_row,n_col) workspace.
-    UMFPACK_ERROR_argument_missing if Ai, Ap, Ri, and/or Rp are missing.
-    UMFPACK_ERROR_n_nonpositive if n_row <= 0 or n_col <= 0
-    UMFPACK_ERROR_invalid_permutation if P and/or Q are invalid.
-    UMFPACK_ERROR_invalid_matrix if Ap [n_col] < 0, if Ap [0] != 0,
-	if Ap [j] > Ap [j+1] for any j in the range 0 to n_col-1,
-	if any row index i is < 0 or >= n_row, or if the row indices
-	in any column are not in ascending order.
-
-Arguments:
-
-    Int n_row ;		Input argument, not modified.
-    Int n_col ;		Input argument, not modified.
-
-	A is an n_row-by-n_col matrix.  Restriction: n_row > 0 and n_col > 0.
-
-    Int Ap [n_col+1] ;	Input argument, not modified.
-
-	The column pointers of the column-oriented form of the matrix A.  See
-	umfpack_*_symbolic for a description.  The number of entries in
-	the matrix is nz = Ap [n_col].  Ap [0] must be zero, Ap [n_col] must be
-	=> 0, and Ap [j] <= Ap [j+1] and Ap [j] <= Ap [n_col] must be true for
-	all j in the range 0 to n_col-1.  Empty columns are OK (that is, Ap [j]
-	may equal Ap [j+1] for any j in the range 0 to n_col-1).
-
-    Int Ai [nz] ;	Input argument, not modified, of size nz = Ap [n_col].
-
-	The nonzero pattern (row indices) for column j is stored in
-	Ai [(Ap [j]) ... (Ap [j+1]-1)].  The row indices in a given column j
-	must be in ascending order, and no duplicate row indices may be present.
-	Row indices must be in the range 0 to n_row-1 (the matrix is 0-based).
-
-    double Ax [nz] ;	Input argument, not modified, of size nz = Ap [n_col].
-			Size 2*nz if Az or Rz are NULL.
-    double Az [nz] ;	Input argument, not modified, for complex versions.
-
-	If present, these are the numerical values of the sparse matrix A.
-	The nonzero pattern (row indices) for column j is stored in
-	Ai [(Ap [j]) ... (Ap [j+1]-1)], and the corresponding real numerical
-	values are stored in Ax [(Ap [j]) ... (Ap [j+1]-1)].  The imaginary
-	values are stored in Az [(Ap [j]) ... (Ap [j+1]-1)].  The values are
-	transposed only if Ax and Rx are present.
-	This is not an error conditions; you are able to transpose
-	and permute just the pattern of a matrix.
-
-	If Az or Rz are NULL, then both real
-	and imaginary parts are contained in Ax[0..2*nz-1], with Ax[2*k]
-	and Ax[2*k+1] being the real and imaginary part of the kth entry.
-
-    Int P [n_row] ;		Input argument, not modified.
-
-	The permutation vector P is defined as P [k] = i, where the original
-	row i of A is the kth row of PAQ.  If you want to use the identity
-	permutation for P, simply pass (Int *) NULL for P.  This is not an error
-	condition.  P is a complete permutation of all the rows of A; this
-	routine does not support the creation of a transposed submatrix of A
-	(R = A (1:3,:)' where A has more than 3 rows, for example, cannot be
-	done; a future version might support this operation).
-
-    Int Q [n_col] ;		Input argument, not modified.
-
-	The permutation vector Q is defined as Q [k] = j, where the original
-	column j of A is the kth column of PAQ.  If you want to use the identity
-	permutation for Q, simply pass (Int *) NULL for Q.  This is not an error
-	condition.  Q is a complete permutation of all the columns of A; this
-	routine does not support the creation of a transposed submatrix of A.
-
-    Int Rp [n_row+1] ;	Output argument.
-
-	The column pointers of the matrix R = (A (P,Q))' or (A (P,Q)).', in the
-	same form as the column pointers Ap for the matrix A.
-
-    Int Ri [nz] ;	Output argument.
-
-	The row indices of the matrix R = (A (P,Q))' or (A (P,Q)).' , in the
-	same form as the row indices Ai for the matrix A.
-
-    double Rx [nz] ;	Output argument.
-			Size 2*nz if Az or Rz are NULL.
-    double Rz [nz] ;	Output argument, imaginary part for complex versions.
-
-	If present, these are the numerical values of the sparse matrix R,
-	in the same form as the values Ax and Az of the matrix A.
-
-	If Az or Rz are NULL, then both real
-	and imaginary parts are contained in Rx[0..2*nz-1], with Rx[2*k]
-	and Rx[2*k+1] being the real and imaginary part of the kth entry.
-
-    Int do_conjugate ;	Input argument for complex versions only.
-
-	If true, and if Ax and Rx are present, then the linear
-	algebraic transpose is computed (complex conjugate).  If false, the
-	array transpose is computed instead.
-*/
--- a/liboctave/UMFPACK/UMFPACK/Include/umfpack_triplet_to_col.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,263 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_triplet_to_col =============================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-int umfpack_di_triplet_to_col
-(
-    int n_row,
-    int n_col,
-    int nz,
-    const int Ti [ ],
-    const int Tj [ ],
-    const double Tx [ ],
-    int Ap [ ],
-    int Ai [ ],
-    double Ax [ ],
-    int Map [ ]
-) ;
-
-long umfpack_dl_triplet_to_col
-(
-    long n_row,
-    long n_col,
-    long nz,
-    const long Ti [ ],
-    const long Tj [ ],
-    const double Tx [ ],
-    long Ap [ ],
-    long Ai [ ],
-    double Ax [ ],
-    long Map [ ]
-) ;
-
-int umfpack_zi_triplet_to_col
-(
-    int n_row,
-    int n_col,
-    int nz,
-    const int Ti [ ],
-    const int Tj [ ],
-    const double Tx [ ], const double Tz [ ],
-    int Ap [ ],
-    int Ai [ ],
-    double Ax [ ], double Az [ ],
-    int Map [ ]
-) ;
-
-long umfpack_zl_triplet_to_col
-(
-    long n_row,
-    long n_col,
-    long nz,
-    const long Ti [ ],
-    const long Tj [ ],
-    const double Tx [ ], const double Tz [ ],
-    long Ap [ ],
-    long Ai [ ],
-    double Ax [ ], double Az [ ],
-    long Map [ ]
-) ;
-
-/*
-double int Syntax:
-
-    #include "umfpack.h"
-    int n_row, n_col, nz, *Ti, *Tj, *Ap, *Ai, status, *Map ;
-    double *Tx, *Ax ;
-    status = umfpack_di_triplet_to_col (n_row, n_col, nz, Ti, Tj, Tx,
-	Ap, Ai, Ax, Map) ;
-
-double long Syntax:
-
-    #include "umfpack.h"
-    long n_row, n_col, nz, *Ti, *Tj, *Ap, *Ai, status, *Map ;
-    double *Tx, *Ax ;
-    status = umfpack_dl_triplet_to_col (n_row, n_col, nz, Ti, Tj, Tx,
-	Ap, Ai, Ax, Map) ;
-
-complex int Syntax:
-
-    #include "umfpack.h"
-    int n_row, n_col, nz, *Ti, *Tj, *Ap, *Ai, status, *Map ;
-    double *Tx, *Tz, *Ax, *Az ;
-    status = umfpack_zi_triplet_to_col (n_row, n_col, nz, Ti, Tj, Tx, Tz,
-	Ap, Ai, Ax, Az, Map) ;
-
-long Syntax:
-
-    #include "umfpack.h"
-    long n_row, n_col, nz, *Ti, *Tj, *Ap, *Ai, status, *Map ;
-    double *Tx, *Tz, *Ax, *Az ;
-    status = umfpack_zl_triplet_to_col (n_row, n_col, nz, Ti, Tj, Tx, Tz,
-	Ap, Ai, Ax, Az, Map) ;
-
-packed complex Syntax:
-
-    Same as above, except Tz and Az are NULL.
-
-Purpose:
-
-    Converts a sparse matrix from "triplet" form to compressed-column form.
-    Analogous to A = spconvert (Ti, Tj, Tx + Tz*1i) in MATLAB, except that
-    zero entries present in the triplet form are present in A.
-
-    The triplet form of a matrix is a very simple data structure for basic
-    sparse matrix operations.  For example, suppose you wish to factorize a
-    matrix A coming from a finite element method, in which A is a sum of
-    dense submatrices, A = E1 + E2 + E3 + ... .  The entries in each element
-    matrix Ei can be concatenated together in the three triplet arrays, and
-    any overlap between the elements will be correctly summed by
-    umfpack_*_triplet_to_col.
-
-    Transposing a matrix in triplet form is simple; just interchange the
-    use of Ti and Tj.  You can construct the complex conjugate transpose by
-    negating Tz, for the complex versions.
-
-    Permuting a matrix in triplet form is also simple.  If you want the matrix
-    PAQ, or A (P,Q) in MATLAB notation, where P [k] = i means that row i of
-    A is the kth row of PAQ and Q [k] = j means that column j of A is the kth
-    column of PAQ, then do the following.  First, create inverse permutations
-    Pinv and Qinv such that Pinv [i] = k if P [k] = i and Qinv [j] = k if
-    Q [k] = j.  Next, for the mth triplet (Ti [m], Tj [m], Tx [m], Tz [m]),
-    replace Ti [m] with Pinv [Ti [m]] and replace Tj [m] with Qinv [Tj [m]].
-
-    If you have a column-form matrix with duplicate entries or unsorted
-    columns, you can sort it and sum up the duplicates by first converting it
-    to triplet form with umfpack_*_col_to_triplet, and then converting it back
-    with umfpack_*_triplet_to_col.
-
-    Constructing a submatrix is also easy.  Just scan the triplets and remove
-    those entries outside the desired subset of 0...n_row-1 and 0...n_col-1,
-    and renumber the indices according to their position in the subset.
-
-    You can do all these operations on a column-form matrix by first
-    converting it to triplet form with umfpack_*_col_to_triplet, doing the
-    operation on the triplet form, and then converting it back with
-    umfpack_*_triplet_to_col.
-
-    The only operation not supported easily in the triplet form is the
-    multiplication of two sparse matrices (UMFPACK does not provide this
-    operation).
-
-    You can print the input triplet form with umfpack_*_report_triplet, and
-    the output matrix with umfpack_*_report_matrix.
-
-    The matrix may be singular (nz can be zero, and empty rows and/or columns
-    may exist).  It may also be rectangular and/or complex.
-
-Returns:
-
-    UMFPACK_OK if successful.
-    UMFPACK_ERROR_argument_missing if Ap, Ai, Ti, and/or Tj are missing.
-    UMFPACK_ERROR_n_nonpositive if n_row <= 0 or n_col <= 0.
-    UMFPACK_ERROR_invalid_matrix if nz < 0, or if for any k, Ti [k] and/or
-	Tj [k] are not in the range 0 to n_row-1 or 0 to n_col-1, respectively.
-    UMFPACK_ERROR_out_of_memory if unable to allocate sufficient workspace.
-
-Arguments:
-
-    Int n_row ;		Input argument, not modified.
-    Int n_col ;		Input argument, not modified.
-
-	A is an n_row-by-n_col matrix.  Restriction: n_row > 0 and n_col > 0.
-	All row and column indices in the triplet form must be in the range
-	0 to n_row-1 and 0 to n_col-1, respectively.
-
-    Int nz ;		Input argument, not modified.
-
-	The number of entries in the triplet form of the matrix.  Restriction:
-	nz >= 0.
-
-    Int Ti [nz] ;	Input argument, not modified.
-    Int Tj [nz] ;	Input argument, not modified.
-    double Tx [nz] ;	Input argument, not modified.
-			Size 2*nz if Tz or Az are NULL.
-    double Tz [nz] ;	Input argument, not modified, for complex versions.
-
-	Ti, Tj, Tx, and Tz hold the "triplet" form of a sparse matrix.  The kth
-	nonzero entry is in row i = Ti [k], column j = Tj [k], and the real part
-	of a_ij is Tx [k].  The imaginary part of a_ij is Tz [k], for complex
-	versions.  The row and column indices i and j must be in the range 0 to
-	n_row-1 and 0 to n_col-1, respectively.  Duplicate entries may be
-	present; they are summed in the output matrix.  This is not an error
-	condition.  The "triplets" may be in any order.  Tx, Tz, Ax, and Az
-	are optional.  Ax is computed only if both Ax and Tx are present
-	(not (double *) NULL).  This is not error condition; the routine can
-	create just the pattern of the output matrix from the pattern of the
-	triplets.
-
-	If Az or Tz are NULL, then both real
-	and imaginary parts are contained in Tx[0..2*nz-1], with Tx[2*k]
-	and Tx[2*k+1] being the real and imaginary part of the kth entry.
-
-    Int Ap [n_col+1] ;	Output argument.
-
-	Ap is an integer array of size n_col+1 on input.  On output, Ap holds
-	the "pointers" for the column form of the sparse matrix A.  Column j of
-	the matrix A is held in Ai [(Ap [j]) ... (Ap [j+1]-1)].  The first
-	entry, Ap [0], is zero, and Ap [j] <= Ap [j+1] holds for all j in the
-	range 0 to n_col-1.  The value nz2 = Ap [n_col] is thus the total
-	number of entries in the pattern of the matrix A.  Equivalently, the
-	number of duplicate triplets is nz - Ap [n_col].
-
-    Int Ai [nz] ;	Output argument.
-
-	Ai is an integer array of size nz on input.  Note that only the first
-	Ap [n_col] entries are used.
-
-	The nonzero pattern (row indices) for column j is stored in
-	Ai [(Ap [j]) ... (Ap [j+1]-1)].  The row indices in a given column j
-	are in ascending order, and no duplicate row indices are present.
-	Row indices are in the range 0 to n_col-1 (the matrix is 0-based).
-
-    double Ax [nz] ;	Output argument.  Size 2*nz if Tz or Az are NULL.
-    double Az [nz] ;	Output argument for complex versions.
-
-	Ax and Az (for the complex versions) are double arrays of size nz on
-	input.  Note that only the first Ap [n_col] entries are used
-	in both arrays.
-
-	Ax is optional; if Tx and/or Ax are not present (a (double *) NULL
-	pointer), then Ax is not computed.  If present, Ax holds the
-	numerical values of the the real part of the sparse matrix A and Az
-	holds the imaginary parts.  The nonzero pattern (row indices) for
-	column j is stored in Ai [(Ap [j]) ... (Ap [j+1]-1)], and the
-	corresponding numerical values are stored in
-	Ax [(Ap [j]) ... (Ap [j+1]-1)].  The imaginary parts are stored in
-	Az [(Ap [j]) ... (Ap [j+1]-1)], for the complex versions.
-
-	If Az or Tz are NULL, then both real
-	and imaginary parts are returned in Ax[0..2*nz2-1], with Ax[2*k]
-	and Ax[2*k+1] being the real and imaginary part of the kth entry.
-
-    int Map [nz] ;	Optional output argument.
-
-	If Map is present (a non-NULL pointer to an Int array of size nz), then
-	on output it holds the position of the triplets in the column-form
-	matrix.  That is, suppose p = Map [k], and the k-th triplet is i=Ti[k],
-	j=Tj[k], and aij=Tx[k].  Then i=Ai[p], and aij will have been summed
-	into Ax[p] (or simply aij=Ax[p] if there were no duplicate entries also
-	in row i and column j).  Also, Ap[j] <= p < Ap[j+1].  The Map array is
-	not computed if it is (Int *) NULL.  The Map array is useful for
-	converting a subsequent triplet form matrix with the same pattern as the
-	first one, without calling this routine.  If Ti and Tj do not change,
-	then Ap, and Ai can be reused from the prior call to
-	umfpack_*_triplet_to_col.  You only need to recompute Ax (and Az for the
-	split complex version).  This code excerpt properly sums up all
-	duplicate values (for the real version):
-
-	    for (p = 0 ; p < Ap [n_col] ; p++) Ax [p] = 0 ;
-	    for (k = 0 ; k < nz ; k++) Ax [Map [k]] += Tx [k] ;
-
-	This feature is useful (along with the reuse of the Symbolic object) if
-	you need to factorize a sequence of triplet matrices with identical
-	nonzero pattern (the order of the triplets in the Ti,Tj,Tx arrays must
-	also remain unchanged).  It is faster than calling this routine for
-	each matrix, and requires no workspace.
-*/
--- a/liboctave/UMFPACK/UMFPACK/Include/umfpack_wsolve.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,172 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_wsolve ======================================================= */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-int umfpack_di_wsolve
-(
-    int sys,
-    const int Ap [ ],
-    const int Ai [ ],
-    const double Ax [ ],
-    double X [ ],
-    const double B [ ],
-    void *Numeric,
-    const double Control [UMFPACK_CONTROL],
-    double Info [UMFPACK_INFO],
-    int Wi [ ],
-    double W [ ]
-) ;
-
-long umfpack_dl_wsolve
-(
-    long sys,
-    const long Ap [ ],
-    const long Ai [ ],
-    const double Ax [ ],
-    double X [ ],
-    const double B [ ],
-    void *Numeric,
-    const double Control [UMFPACK_CONTROL],
-    double Info [UMFPACK_INFO],
-    long Wi [ ],
-    double W [ ]
-) ;
-
-int umfpack_zi_wsolve
-(
-    int sys,
-    const int Ap [ ],
-    const int Ai [ ],
-    const double Ax [ ], const double Az [ ],
-    double Xx [ ],	 double Xz [ ],
-    const double Bx [ ], const double Bz [ ],
-    void *Numeric,
-    const double Control [UMFPACK_CONTROL],
-    double Info [UMFPACK_INFO],
-    int Wi [ ],
-    double W [ ]
-) ;
-
-long umfpack_zl_wsolve
-(
-    long sys,
-    const long Ap [ ],
-    const long Ai [ ],
-    const double Ax [ ], const double Az [ ],
-    double Xx [ ],	 double Xz [ ],
-    const double Bx [ ], const double Bz [ ],
-    void *Numeric,
-    const double Control [UMFPACK_CONTROL],
-    double Info [UMFPACK_INFO],
-    long Wi [ ],
-    double W [ ]
-) ;
-
-/*
-double int Syntax:
-
-    #include "umfpack.h"
-    void *Numeric ;
-    int status, *Ap, *Ai, *Wi, sys ;
-    double *B, *X, *Ax, *W, Info [UMFPACK_INFO], Control [UMFPACK_CONTROL] ;
-    status = umfpack_di_wsolve (sys, Ap, Ai, Ax, X, B, Numeric,
-	Control, Info, Wi, W) ;
-
-double long Syntax:
-
-    #include "umfpack.h"
-    void *Numeric ;
-    long status, *Ap, *Ai, *Wi, sys ;
-    double *B, *X, *Ax, *W, Info [UMFPACK_INFO], Control [UMFPACK_CONTROL] ;
-    status = umfpack_dl_wsolve (sys, Ap, Ai, Ax, X, B, Numeric,
-	Control, Info, Wi, W) ;
-
-complex int Syntax:
-
-    #include "umfpack.h"
-    void *Numeric ;
-    int status, *Ap, *Ai, *Wi, sys ;
-    double *Bx, *Bz, *Xx, *Xz, *Ax, *Az, *W,
-	Info [UMFPACK_INFO], Control [UMFPACK_CONTROL] ;
-    status = umfpack_zi_wsolve (sys, Ap, Ai, Ax, Az, Xx, Xz, Bx, Bz, Numeric,
-	Control, Info, Wi, W) ;
-
-complex long Syntax:
-
-    #include "umfpack.h"
-    void *Numeric ;
-    long status, *Ap, *Ai, *Wi, sys ;
-    double *Bx, *Bz, *Xx, *Xz, *Ax, *Az, *W,
-	Info [UMFPACK_INFO], Control [UMFPACK_CONTROL] ;
-    status = umfpack_zl_wsolve (sys, Ap, Ai, Ax, Az, Xx, Xz, Bx, Bz, Numeric,
-	Control, Info, Wi, W) ;
-
-packed complex Syntax:
-
-    Same as above, except Az, Xz, and Bz are NULL.
-
-Purpose:
-
-    Given LU factors computed by umfpack_*_numeric (PAQ=LU) and the
-    right-hand-side, B, solve a linear system for the solution X.  Iterative
-    refinement is optionally performed.  This routine is identical to
-    umfpack_*_solve, except that it does not dynamically allocate any workspace.
-    When you have many linear systems to solve, this routine is faster than
-    umfpack_*_solve, since the workspace (Wi, W) needs to be allocated only
-    once, prior to calling umfpack_*_wsolve.
-
-Returns:
-
-    The status code is returned.  See Info [UMFPACK_STATUS], below.
-
-Arguments:
-
-    Int sys ;		Input argument, not modified.
-    Int Ap [n+1] ;	Input argument, not modified.
-    Int Ai [nz] ;	Input argument, not modified.
-    double Ax [nz] ;	Input argument, not modified.
-			Size 2*nz in packed complex case.
-    double X [n] ;	Output argument.
-    double B [n] ;	Input argument, not modified.
-    void *Numeric ;	Input argument, not modified.
-    double Control [UMFPACK_CONTROL] ;	Input argument, not modified.
-    double Info [UMFPACK_INFO] ;	Output argument.
-
-    for complex versions:
-    double Az [nz] ;	Input argument, not modified, imaginary part
-    double Xx [n] ;	Output argument, real part.
-			Size 2*n in packed complex case.
-    double Xz [n] ;	Output argument, imaginary part
-    double Bx [n] ;	Input argument, not modified, real part.
-			Size 2*n in packed complex case.
-    double Bz [n] ;	Input argument, not modified, imaginary part
-
-	The above arguments are identical to umfpack_*_solve, except that the
-	error code UMFPACK_ERROR_out_of_memory will not be returned in
-	Info [UMFPACK_STATUS], since umfpack_*_wsolve does not allocate any
-	memory.
-
-    Int Wi [n] ;		Workspace.
-    double W [c*n] ;		Workspace, where c is defined below.
-
-	The Wi and W arguments are workspace used by umfpack_*_wsolve.  They
-	need not be initialized on input, and their contents are undefined on
-	output.  The size of W depends on whether or not iterative refinement is
-	used, and which version (real or complex) is called.  Iterative
-	refinement is performed if Ax=b, A'x=b, or A.'x=b is being solved,
-	Control [UMFPACK_IRSTEP] > 0, and A is nonsingular.  The size of W is
-	given below:
-
-				no iter.	with iter.
-				refinement	refinement
-	umfpack_di_wsolve	n		5*n
-	umfpack_dl_wsolve	n		5*n
-	umfpack_zi_wsolve	4*n		10*n
-	umfpack_zl_wsolve	4*n		10*n
-*/
--- a/liboctave/UMFPACK/UMFPACK/Lib/libumfpack.def	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-LIBRARY libumfpack.dll
-EXPORTS
-umfpack_di_col_to_triplet
-umfpack_di_defaults
-umfpack_di_free_numeric
-umfpack_di_free_symbolic
-umfpack_di_get_numeric
-umfpack_di_get_lunz
-umfpack_di_get_symbolic
-umfpack_di_get_determinant
-umfpack_di_numeric
-umfpack_di_qsymbolic
-umfpack_di_report_control
-umfpack_di_report_info
-umfpack_di_report_matrix
-umfpack_di_report_numeric
-umfpack_di_report_perm
-umfpack_di_report_status
-umfpack_di_report_symbolic
-umfpack_di_report_triplet
-umfpack_di_report_vector
-umfpack_di_solve
-umfpack_di_wsolve
-umfpack_di_symbolic
-umfpack_di_transpose
-umfpack_di_triplet_to_col
-umfpack_di_scale
-umfpack_dl_col_to_triplet
-umfpack_dl_defaults
-umfpack_dl_free_numeric
-umfpack_dl_free_symbolic
-umfpack_dl_get_numeric
-umfpack_dl_get_lunz
-umfpack_dl_get_symbolic
-umfpack_dl_get_determinant
-umfpack_dl_numeric
-umfpack_dl_qsymbolic
-umfpack_dl_report_control
-umfpack_dl_report_info
-umfpack_dl_report_matrix
-umfpack_dl_report_numeric
-umfpack_dl_report_perm
-umfpack_dl_report_status
-umfpack_dl_report_symbolic
-umfpack_dl_report_triplet
-umfpack_dl_report_vector
-umfpack_dl_solve
-umfpack_dl_wsolve
-umfpack_dl_symbolic
-umfpack_dl_transpose
-umfpack_dl_triplet_to_col
-umfpack_dl_scale
-umfpack_zi_col_to_triplet
-umfpack_zi_defaults
-umfpack_zi_free_numeric
-umfpack_zi_free_symbolic
-umfpack_zi_get_numeric
-umfpack_zi_get_lunz
-umfpack_zi_get_symbolic
-umfpack_zi_get_determinant
-umfpack_zi_numeric
-umfpack_zi_qsymbolic
-umfpack_zi_report_control
-umfpack_zi_report_info
-umfpack_zi_report_matrix
-umfpack_zi_report_numeric
-umfpack_zi_report_perm
-umfpack_zi_report_status
-umfpack_zi_report_symbolic
-umfpack_zi_report_triplet
-umfpack_zi_report_vector
-umfpack_zi_solve
-umfpack_zi_wsolve
-umfpack_zi_symbolic
-umfpack_zi_transpose
-umfpack_zi_triplet_to_col
-umfpack_zi_scale
-umfpack_zl_col_to_triplet
-umfpack_zl_defaults
-umfpack_zl_free_numeric
-umfpack_zl_free_symbolic
-umfpack_zl_get_numeric
-umfpack_zl_get_lunz
-umfpack_zl_get_symbolic
-umfpack_zl_get_determinant
-umfpack_zl_numeric
-umfpack_zl_qsymbolic
-umfpack_zl_report_control
-umfpack_zl_report_info
-umfpack_zl_report_matrix
-umfpack_zl_report_numeric
-umfpack_zl_report_perm
-umfpack_zl_report_status
-umfpack_zl_report_symbolic
-umfpack_zl_report_triplet
-umfpack_zl_report_vector
-umfpack_zl_solve
-umfpack_zl_wsolve
-umfpack_zl_symbolic
-umfpack_zl_transpose
-umfpack_zl_triplet_to_col
-umfpack_zl_scale
-umfpack_timer
-umfpack_tic
-umfpack_toc
--- a/liboctave/UMFPACK/UMFPACK/MATLAB/Contents.m	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-%Contents of the UMFPACK sparse matrix toolbox:
-%
-% umfpack           computes x=A\b, x=A/b, or lu (A) for a sparse matrix A
-% umfpack_make      to compile umfpack for use in MATLAB
-% umfpack_details   details on all the options for using umfpack in MATLAB
-% umfpack_report    prints optional control settings and statistics
-% umfpack_demo      a long demo
-% umfpack_simple    a simple demo
-% umfpack_btf       factorize A using a block triangular form
-% umfpack_solve     x = A\b or x = b/A
-% lu_normest        estimates norm (L*U-A, 1) without forming L*U-A
-% luflop	    given L and U, computes # of flops required to compute them
-% umfpack_test	    for testing umfpack (requires UFget interface to UF sparse
-%			matrix collection)
-%
-% See also:
-% amd		    symmetric minimum degree ordering
-% colamd            unsymmetric column approx minimum degree ordering
-% symamd            symmetric approx minimum degree ordering, based on colamd
-%
-% UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.
-% All Rights Reserved.  Type umfpack_details for License.
-
-help Contents
--- a/liboctave/UMFPACK/UMFPACK/MATLAB/GNUmakefile	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,229 +0,0 @@
-#-------------------------------------------------------------------------------
-# UMFPACK GNUmakefile for the UMFPACK MATLAB mexFunction (GNU "make" only)
-#-------------------------------------------------------------------------------
-
-all: umfpack luflop
-
-include ../Make/Make.include
-
-MX = $(MEX) -I../Include -I../Source -I../../AMD/Include -I../../AMD/Source
-
-#-------------------------------------------------------------------------------
-# source files
-#-------------------------------------------------------------------------------
-
-# non-user-callable umf_*.[ch] files:
-UMFCH = umf_assemble umf_blas3_update \
-	umf_build_tuples umf_create_element \
-	umf_dump umf_extend_front umf_garbage_collection \
-	umf_get_memory umf_init_front umf_kernel \
-	umf_kernel_init umf_kernel_wrapup \
-	umf_local_search umf_lsolve umf_ltsolve \
-	umf_mem_alloc_element umf_mem_alloc_head_block \
-	umf_mem_alloc_tail_block umf_mem_free_tail_block \
-	umf_mem_init_memoryspace \
-	umf_report_vector umf_row_search umf_scale_column \
-	umf_set_stats umf_solve umf_symbolic_usage umf_transpose \
-	umf_tuple_lengths umf_usolve umf_utsolve umf_valid_numeric \
-	umf_valid_symbolic umf_grow_front umf_start_front umf_2by2 \
-	umf_store_lu umf_scale
-
-# non-user-callable umf_*.[ch] files, int/long versions only (no real/complex):
-UMFINT = umf_analyze umf_apply_order umf_colamd umf_free umf_fsize \
-	umf_is_permutation umf_malloc umf_realloc umf_report_perm \
-	umf_singletons
-
-# non-user-callable and user-callable amd_*.[ch] files (int/long versions only):
-AMD = amd_aat amd_1 amd_2 amd_dump amd_postorder amd_post_tree amd_defaults \
-	amd_order amd_control amd_info amd_valid amd_preprocess
-
-# non-user-callable, created from umf_ltsolve.c, umf_utsolve.c,
-# umf_triplet.c, and umf_assemble.c , with int/long and real/complex versions:
-UMF_CREATED = umf_lhsolve umf_uhsolve umf_triplet_map_nox \
-	umf_triplet_nomap_x umf_triplet_nomap_nox umf_triplet_map_x \
-	umf_assemble_fixq umf_store_lu_drop
-
-# non-user-callable, int/long and real/complex versions:
-UMF = $(UMF_CREATED) $(UMFCH)
-
-# user-callable umfpack_*.[ch] files (int/long and real/complex):
-UMFPACK = umfpack_col_to_triplet umfpack_defaults umfpack_free_numeric \
-	umfpack_free_symbolic umfpack_get_numeric umfpack_get_lunz \
-	umfpack_get_symbolic umfpack_get_determinant umfpack_numeric \
-	umfpack_qsymbolic umfpack_report_control umfpack_report_info \
-	umfpack_report_matrix umfpack_report_numeric umfpack_report_perm \
-	umfpack_report_status umfpack_report_symbolic umfpack_report_triplet \
-	umfpack_report_vector umfpack_solve umfpack_symbolic \
-	umfpack_transpose umfpack_triplet_to_col umfpack_scale \
-	umfpack_load_numeric umfpack_save_numeric \
-	umfpack_load_symbolic umfpack_save_symbolic
-
-# user-callable, created from umfpack_solve.c (umfpack_wsolve.h exists, though):
-# with int/long and real/complex versions:
-UMFPACKW = umfpack_wsolve
-
-USER = $(UMFPACKW) $(UMFPACK)
-
-# user-callable, only one version for int/long, real/complex, *.[ch] files:
-GENERIC = umfpack_timer umfpack_tictoc
-
-#-------------------------------------------------------------------------------
-# include files:
-#-------------------------------------------------------------------------------
-
-AMDH = ../../AMD/Source/amd_internal.h ../../AMD/Include/amd.h
-
-INC1 = umf_config.h umf_version.h umf_internal.h umf_triplet.h
-
-INC = ../Include/umfpack.h \
-	$(addprefix ../Source/, $(INC1)) \
-	$(addprefix ../Source/, $(addsuffix .h,$(UMFCH))) \
-	$(addprefix ../Source/, $(addsuffix .h,$(UMFINT))) \
-	$(addprefix ../Include/, $(addsuffix .h,$(USER))) \
-	$(addprefix ../Include/, $(addsuffix .h,$(GENERIC))) \
-	$(AMDH)
-
-#-------------------------------------------------------------------------------
-# Create the umfpack and amd mexFunctions for MATLAB (int versions only)
-#-------------------------------------------------------------------------------
-
-MEXI   = $(addsuffix .o, $(subst umf_,umf_m_,$(UMFINT)))
-MEXDI  = $(addsuffix .o, $(subst umf_,umf_md_,$(UMF)) $(subst umfpack_,umfpack_md_,$(USER)))
-MEXZI  = $(addsuffix .o, $(subst umf_,umf_mz_,$(UMF)) $(subst umfpack_,umfpack_mz_,$(USER)) )
-MEXAMD = $(addsuffix .o, $(subst amd_,amd_m_,$(AMD)))
-MEXGN  = $(addsuffix .o, $(subst umfpack_,umfpack_m_,$(GENERIC)))
-
-MEXUMFPACK = $(MEXI) $(MEXDI) $(MEXZI) $(MEXGN)
-
-# Note that mex has no "-o" option, thus the need for $(MV) commands.
-# If it did, then the rules would be much simpler:
-#	$(MX) -DDINT -c $< -o $@
-
-#----------------------------------------
-# integer-only routines (no real/complex):
-#----------------------------------------
-
-amd_m_%.o: ../../AMD/Source/amd_%.c $(AMDH)
-	$(MX) -DDINT -c $<
-	- $(MV) amd_$*.o $@
-
-umf_m_%.o: ../Source/umf_%.c $(INC)
-	$(MX) -DDINT -c $<
-	- $(MV) umf_$*.o $@
-
-#----------------------------------------
-# Double precision, int version, for MATLAB
-#----------------------------------------
-
-umf_md_%.o: ../Source/umf_%.c $(INC)
-	$(MX) -DDINT -c $<
-	- $(MV) umf_$*.o $@
-
-umf_md_%hsolve.o: ../Source/umf_%tsolve.c $(INC)
-	$(MX) -DDINT -DCONJUGATE_SOLVE -c $<
-	- $(MV) umf_$*tsolve.o $@
-
-umf_md_triplet_map_x.o: ../Source/umf_triplet.c $(INC)
-	$(MX) -DDINT -DDO_MAP -DDO_VALUES -c $<
-	- $(MV) umf_triplet.o $@
-
-umf_md_triplet_map_nox.o: ../Source/umf_triplet.c $(INC)
-	$(MX) -DDINT -DDO_MAP -c $<
-	- $(MV) umf_triplet.o $@
-
-umf_md_triplet_nomap_x.o: ../Source/umf_triplet.c $(INC)
-	$(MX) -DDINT -DDO_VALUES -c $<
-	- $(MV) umf_triplet.o $@
-
-umf_md_triplet_nomap_nox.o: ../Source/umf_triplet.c $(INC)
-	$(MX) -DDINT -c $<
-	- $(MV) umf_triplet.o $@
-
-umf_md_assemble_fixq.o: ../Source/umf_assemble.c $(INC)
-	$(MX) -DDINT -DFIXQ -c $<
-	- $(MV) umf_assemble.o $@
-
-umf_md_store_lu_drop.o: ../Source/umf_store_lu.c $(INC)
-	$(MX) -DDINT -DDROP -c $<
-	- $(MV) umf_store_lu.o $@
-
-umfpack_md_wsolve.o: ../Source/umfpack_solve.c $(INC)
-	$(MX) -DDINT -DWSOLVE -c $<
-	- $(MV) umfpack_solve.o $@
-
-umfpack_md_%.o: ../Source/umfpack_%.c $(INC)
-	$(MX) -DDINT -c $<
-	- $(MV) umfpack_$*.o $@
-
-#----------------------------------------
-# Complex double precision, int version, for MATLAB
-#----------------------------------------
-
-umf_mz_%.o: ../Source/umf_%.c $(INC)
-	$(MX) -DZINT -c $<
-	- $(MV) umf_$*.o $@
-
-umf_mz_%hsolve.o: ../Source/umf_%tsolve.c $(INC)
-	$(MX) -DZINT -DCONJUGATE_SOLVE -c $<
-	- $(MV) umf_$*tsolve.o $@
-
-umf_mz_triplet_map_x.o: ../Source/umf_triplet.c $(INC)
-	$(MX) -DZINT -DDO_MAP -DDO_VALUES -c $<
-	- $(MV) umf_triplet.o $@
-
-umf_mz_triplet_map_nox.o: ../Source/umf_triplet.c $(INC)
-	$(MX) -DZINT -DDO_MAP -c $<
-	- $(MV) umf_triplet.o $@
-
-umf_mz_triplet_nomap_x.o: ../Source/umf_triplet.c $(INC)
-	$(MX) -DZINT -DDO_VALUES -c $<
-	- $(MV) umf_triplet.o $@
-
-umf_mz_triplet_nomap_nox.o: ../Source/umf_triplet.c $(INC)
-	$(MX) -DZINT -c $<
-	- $(MV) umf_triplet.o $@
-
-umf_mz_assemble_fixq.o: ../Source/umf_assemble.c $(INC)
-	$(MX) -DZINT -DFIXQ -c $<
-	- $(MV) umf_assemble.o $@
-
-umf_mz_store_lu_drop.o: ../Source/umf_store_lu.c $(INC)
-	$(MX) -DZINT -DDROP -c $<
-	- $(MV) umf_store_lu.o $@
-
-umfpack_mz_wsolve.o: ../Source/umfpack_solve.c $(INC)
-	$(MX) -DZINT -DWSOLVE -c $<
-	- $(MV) umfpack_solve.o $@
-
-umfpack_mz_%.o: ../Source/umfpack_%.c $(INC)
-	$(MX) -DZINT -c $<
-	- $(MV) umfpack_$*.o $@
-
-#----------------------------------------
-# Generic routines for MATLAB
-#----------------------------------------
-
-umfpack_m_timer.o: ../Source/umfpack_timer.c $(INC)
-	$(MX) -c $<
-	- $(MV) umfpack_timer.o $@
-
-umfpack_m_tictoc.o: ../Source/umfpack_tictoc.c $(INC)
-	$(MX) -c $<
-	- $(MV) umfpack_tictoc.o $@
-
-#----------------------------------------
-# umfpack mexFunction
-#----------------------------------------
-
-umfpack: umfpackmex.c $(MEXUMFPACK) $(MEXAMD)
-	$(MX) -output umfpack umfpackmex.c $(MEXUMFPACK) $(MEXAMD)
-
-luflop: luflopmex.c
-	$(MX) -output luflop luflopmex.c
-
-#-------------------------------------------------------------------------------
-# Remove all but the files in the original distribution
-#-------------------------------------------------------------------------------
-
-purge: clean
-	- $(RM) *.mex* *.dll
--- a/liboctave/UMFPACK/UMFPACK/MATLAB/Makefile	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,439 +0,0 @@
-#-------------------------------------------------------------------------------
-# UMFPACK Makefile for the UMFPACK MATLAB mexFunction (old "make" only)
-#-------------------------------------------------------------------------------
-
-# This is a very ugly Makefile, and is only provided for those who do not
-# have GNU make.  Note that it is not used if you have GNU make.  It ignores
-# dependency checking and just compiles everything.  It was created
-# automatically, via make -n using the GNUmakefile.  That way, I don't have
-# maintain two Makefiles.
-
-all: umfpack luflop
-
-include ../Make/Make.include
-
-MX = $(MEX) -I../Include -I../Source -I../../AMD/Include -I../../AMD/Source
-
-umfpack:
-	$(MX) -DDINT -c ../Source/umf_analyze.c
-	$(MV) -f umf_analyze.o umf_m_analyze.o
-	$(MX) -DDINT -c ../Source/umf_apply_order.c
-	$(MV) -f umf_apply_order.o umf_m_apply_order.o
-	$(MX) -DDINT -c ../Source/umf_colamd.c
-	$(MV) -f umf_colamd.o umf_m_colamd.o
-	$(MX) -DDINT -c ../Source/umf_free.c
-	$(MV) -f umf_free.o umf_m_free.o
-	$(MX) -DDINT -c ../Source/umf_fsize.c
-	$(MV) -f umf_fsize.o umf_m_fsize.o
-	$(MX) -DDINT -c ../Source/umf_is_permutation.c
-	$(MV) -f umf_is_permutation.o umf_m_is_permutation.o
-	$(MX) -DDINT -c ../Source/umf_malloc.c
-	$(MV) -f umf_malloc.o umf_m_malloc.o
-	$(MX) -DDINT -c ../Source/umf_realloc.c
-	$(MV) -f umf_realloc.o umf_m_realloc.o
-	$(MX) -DDINT -c ../Source/umf_report_perm.c
-	$(MV) -f umf_report_perm.o umf_m_report_perm.o
-	$(MX) -DDINT -c ../Source/umf_singletons.c
-	$(MV) -f umf_singletons.o umf_m_singletons.o
-	$(MX) -DDINT -DCONJUGATE_SOLVE -c ../Source/umf_ltsolve.c
-	$(MV) -f umf_ltsolve.o umf_md_lhsolve.o
-	$(MX) -DDINT -DCONJUGATE_SOLVE -c ../Source/umf_utsolve.c
-	$(MV) -f umf_utsolve.o umf_md_uhsolve.o
-	$(MX) -DDINT -DDO_MAP -c ../Source/umf_triplet.c
-	$(MV) -f umf_triplet.o umf_md_triplet_map_nox.o
-	$(MX) -DDINT -DDO_VALUES -c ../Source/umf_triplet.c
-	$(MV) -f umf_triplet.o umf_md_triplet_nomap_x.o
-	$(MX) -DDINT -c ../Source/umf_triplet.c
-	$(MV) -f umf_triplet.o umf_md_triplet_nomap_nox.o
-	$(MX) -DDINT -DDO_MAP -DDO_VALUES -c ../Source/umf_triplet.c
-	$(MV) -f umf_triplet.o umf_md_triplet_map_x.o
-	$(MX) -DDINT -DFIXQ -c ../Source/umf_assemble.c
-	$(MV) -f umf_assemble.o umf_md_assemble_fixq.o
-	$(MX) -DDINT -DDROP -c ../Source/umf_store_lu.c
-	$(MV) -f umf_store_lu.o umf_md_store_lu_drop.o
-	$(MX) -DDINT -c ../Source/umf_assemble.c
-	$(MV) -f umf_assemble.o umf_md_assemble.o
-	$(MX) -DDINT -c ../Source/umf_blas3_update.c
-	$(MV) -f umf_blas3_update.o umf_md_blas3_update.o
-	$(MX) -DDINT -c ../Source/umf_build_tuples.c
-	$(MV) -f umf_build_tuples.o umf_md_build_tuples.o
-	$(MX) -DDINT -c ../Source/umf_create_element.c
-	$(MV) -f umf_create_element.o umf_md_create_element.o
-	$(MX) -DDINT -c ../Source/umf_dump.c
-	$(MV) -f umf_dump.o umf_md_dump.o
-	$(MX) -DDINT -c ../Source/umf_extend_front.c
-	$(MV) -f umf_extend_front.o umf_md_extend_front.o
-	$(MX) -DDINT -c ../Source/umf_garbage_collection.c
-	$(MV) -f umf_garbage_collection.o umf_md_garbage_collection.o
-	$(MX) -DDINT -c ../Source/umf_get_memory.c
-	$(MV) -f umf_get_memory.o umf_md_get_memory.o
-	$(MX) -DDINT -c ../Source/umf_init_front.c
-	$(MV) -f umf_init_front.o umf_md_init_front.o
-	$(MX) -DDINT -c ../Source/umf_kernel.c
-	$(MV) -f umf_kernel.o umf_md_kernel.o
-	$(MX) -DDINT -c ../Source/umf_kernel_init.c
-	$(MV) -f umf_kernel_init.o umf_md_kernel_init.o
-	$(MX) -DDINT -c ../Source/umf_kernel_wrapup.c
-	$(MV) -f umf_kernel_wrapup.o umf_md_kernel_wrapup.o
-	$(MX) -DDINT -c ../Source/umf_local_search.c
-	$(MV) -f umf_local_search.o umf_md_local_search.o
-	$(MX) -DDINT -c ../Source/umf_lsolve.c
-	$(MV) -f umf_lsolve.o umf_md_lsolve.o
-	$(MX) -DDINT -c ../Source/umf_ltsolve.c
-	$(MV) -f umf_ltsolve.o umf_md_ltsolve.o
-	$(MX) -DDINT -c ../Source/umf_mem_alloc_element.c
-	$(MV) -f umf_mem_alloc_element.o umf_md_mem_alloc_element.o
-	$(MX) -DDINT -c ../Source/umf_mem_alloc_head_block.c
-	$(MV) -f umf_mem_alloc_head_block.o umf_md_mem_alloc_head_block.o
-	$(MX) -DDINT -c ../Source/umf_mem_alloc_tail_block.c
-	$(MV) -f umf_mem_alloc_tail_block.o umf_md_mem_alloc_tail_block.o
-	$(MX) -DDINT -c ../Source/umf_mem_free_tail_block.c
-	$(MV) -f umf_mem_free_tail_block.o umf_md_mem_free_tail_block.o
-	$(MX) -DDINT -c ../Source/umf_mem_init_memoryspace.c
-	$(MV) -f umf_mem_init_memoryspace.o umf_md_mem_init_memoryspace.o
-	$(MX) -DDINT -c ../Source/umf_report_vector.c
-	$(MV) -f umf_report_vector.o umf_md_report_vector.o
-	$(MX) -DDINT -c ../Source/umf_row_search.c
-	$(MV) -f umf_row_search.o umf_md_row_search.o
-	$(MX) -DDINT -c ../Source/umf_scale_column.c
-	$(MV) -f umf_scale_column.o umf_md_scale_column.o
-	$(MX) -DDINT -c ../Source/umf_set_stats.c
-	$(MV) -f umf_set_stats.o umf_md_set_stats.o
-	$(MX) -DDINT -c ../Source/umf_solve.c
-	$(MV) -f umf_solve.o umf_md_solve.o
-	$(MX) -DDINT -c ../Source/umf_symbolic_usage.c
-	$(MV) -f umf_symbolic_usage.o umf_md_symbolic_usage.o
-	$(MX) -DDINT -c ../Source/umf_transpose.c
-	$(MV) -f umf_transpose.o umf_md_transpose.o
-	$(MX) -DDINT -c ../Source/umf_tuple_lengths.c
-	$(MV) -f umf_tuple_lengths.o umf_md_tuple_lengths.o
-	$(MX) -DDINT -c ../Source/umf_usolve.c
-	$(MV) -f umf_usolve.o umf_md_usolve.o
-	$(MX) -DDINT -c ../Source/umf_utsolve.c
-	$(MV) -f umf_utsolve.o umf_md_utsolve.o
-	$(MX) -DDINT -c ../Source/umf_valid_numeric.c
-	$(MV) -f umf_valid_numeric.o umf_md_valid_numeric.o
-	$(MX) -DDINT -c ../Source/umf_valid_symbolic.c
-	$(MV) -f umf_valid_symbolic.o umf_md_valid_symbolic.o
-	$(MX) -DDINT -c ../Source/umf_grow_front.c
-	$(MV) -f umf_grow_front.o umf_md_grow_front.o
-	$(MX) -DDINT -c ../Source/umf_start_front.c
-	$(MV) -f umf_start_front.o umf_md_start_front.o
-	$(MX) -DDINT -c ../Source/umf_2by2.c
-	$(MV) -f umf_2by2.o umf_md_2by2.o
-	$(MX) -DDINT -c ../Source/umf_store_lu.c
-	$(MV) -f umf_store_lu.o umf_md_store_lu.o
-	$(MX) -DDINT -c ../Source/umf_scale.c
-	$(MV) -f umf_scale.o umf_md_scale.o
-	$(MX) -DDINT -DWSOLVE -c ../Source/umfpack_solve.c
-	$(MV) -f umfpack_solve.o umfpack_md_wsolve.o
-	$(MX) -DDINT -c ../Source/umfpack_col_to_triplet.c
-	$(MV) -f umfpack_col_to_triplet.o umfpack_md_col_to_triplet.o
-	$(MX) -DDINT -c ../Source/umfpack_defaults.c
-	$(MV) -f umfpack_defaults.o umfpack_md_defaults.o
-	$(MX) -DDINT -c ../Source/umfpack_free_numeric.c
-	$(MV) -f umfpack_free_numeric.o umfpack_md_free_numeric.o
-	$(MX) -DDINT -c ../Source/umfpack_free_symbolic.c
-	$(MV) -f umfpack_free_symbolic.o umfpack_md_free_symbolic.o
-	$(MX) -DDINT -c ../Source/umfpack_get_numeric.c
-	$(MV) -f umfpack_get_numeric.o umfpack_md_get_numeric.o
-	$(MX) -DDINT -c ../Source/umfpack_get_lunz.c
-	$(MV) -f umfpack_get_lunz.o umfpack_md_get_lunz.o
-	$(MX) -DDINT -c ../Source/umfpack_get_symbolic.c
-	$(MV) -f umfpack_get_symbolic.o umfpack_md_get_symbolic.o
-	$(MX) -DDINT -c ../Source/umfpack_get_determinant.c
-	$(MV) -f umfpack_get_determinant.o umfpack_md_get_determinant.o
-	$(MX) -DDINT -c ../Source/umfpack_numeric.c
-	$(MV) -f umfpack_numeric.o umfpack_md_numeric.o
-	$(MX) -DDINT -c ../Source/umfpack_qsymbolic.c
-	$(MV) -f umfpack_qsymbolic.o umfpack_md_qsymbolic.o
-	$(MX) -DDINT -c ../Source/umfpack_report_control.c
-	$(MV) -f umfpack_report_control.o umfpack_md_report_control.o
-	$(MX) -DDINT -c ../Source/umfpack_report_info.c
-	$(MV) -f umfpack_report_info.o umfpack_md_report_info.o
-	$(MX) -DDINT -c ../Source/umfpack_report_matrix.c
-	$(MV) -f umfpack_report_matrix.o umfpack_md_report_matrix.o
-	$(MX) -DDINT -c ../Source/umfpack_report_numeric.c
-	$(MV) -f umfpack_report_numeric.o umfpack_md_report_numeric.o
-	$(MX) -DDINT -c ../Source/umfpack_report_perm.c
-	$(MV) -f umfpack_report_perm.o umfpack_md_report_perm.o
-	$(MX) -DDINT -c ../Source/umfpack_report_status.c
-	$(MV) -f umfpack_report_status.o umfpack_md_report_status.o
-	$(MX) -DDINT -c ../Source/umfpack_report_symbolic.c
-	$(MV) -f umfpack_report_symbolic.o umfpack_md_report_symbolic.o
-	$(MX) -DDINT -c ../Source/umfpack_report_triplet.c
-	$(MV) -f umfpack_report_triplet.o umfpack_md_report_triplet.o
-	$(MX) -DDINT -c ../Source/umfpack_report_vector.c
-	$(MV) -f umfpack_report_vector.o umfpack_md_report_vector.o
-	$(MX) -DDINT -c ../Source/umfpack_solve.c
-	$(MV) -f umfpack_solve.o umfpack_md_solve.o
-	$(MX) -DDINT -c ../Source/umfpack_symbolic.c
-	$(MV) -f umfpack_symbolic.o umfpack_md_symbolic.o
-	$(MX) -DDINT -c ../Source/umfpack_transpose.c
-	$(MV) -f umfpack_transpose.o umfpack_md_transpose.o
-	$(MX) -DDINT -c ../Source/umfpack_triplet_to_col.c
-	$(MV) -f umfpack_triplet_to_col.o umfpack_md_triplet_to_col.o
-	$(MX) -DDINT -c ../Source/umfpack_scale.c
-	$(MV) -f umfpack_scale.o umfpack_md_scale.o
-	$(MX) -DDINT -c ../Source/umfpack_load_numeric.c
-	$(MV) -f umfpack_load_numeric.o umfpack_md_load_numeric.o
-	$(MX) -DDINT -c ../Source/umfpack_save_numeric.c
-	$(MV) -f umfpack_save_numeric.o umfpack_md_save_numeric.o
-	$(MX) -DDINT -c ../Source/umfpack_load_symbolic.c
-	$(MV) -f umfpack_load_symbolic.o umfpack_md_load_symbolic.o
-	$(MX) -DDINT -c ../Source/umfpack_save_symbolic.c
-	$(MV) -f umfpack_save_symbolic.o umfpack_md_save_symbolic.o
-	$(MX) -DZINT -DCONJUGATE_SOLVE -c ../Source/umf_ltsolve.c
-	$(MV) -f umf_ltsolve.o umf_mz_lhsolve.o
-	$(MX) -DZINT -DCONJUGATE_SOLVE -c ../Source/umf_utsolve.c
-	$(MV) -f umf_utsolve.o umf_mz_uhsolve.o
-	$(MX) -DZINT -DDO_MAP -c ../Source/umf_triplet.c
-	$(MV) -f umf_triplet.o umf_mz_triplet_map_nox.o
-	$(MX) -DZINT -DDO_VALUES -c ../Source/umf_triplet.c
-	$(MV) -f umf_triplet.o umf_mz_triplet_nomap_x.o
-	$(MX) -DZINT -c ../Source/umf_triplet.c
-	$(MV) -f umf_triplet.o umf_mz_triplet_nomap_nox.o
-	$(MX) -DZINT -DDO_MAP -DDO_VALUES -c ../Source/umf_triplet.c
-	$(MV) -f umf_triplet.o umf_mz_triplet_map_x.o
-	$(MX) -DZINT -DFIXQ -c ../Source/umf_assemble.c
-	$(MV) -f umf_assemble.o umf_mz_assemble_fixq.o
-	$(MX) -DZINT -DDROP -c ../Source/umf_store_lu.c
-	$(MV) -f umf_store_lu.o umf_mz_store_lu_drop.o
-	$(MX) -DZINT -c ../Source/umf_assemble.c
-	$(MV) -f umf_assemble.o umf_mz_assemble.o
-	$(MX) -DZINT -c ../Source/umf_blas3_update.c
-	$(MV) -f umf_blas3_update.o umf_mz_blas3_update.o
-	$(MX) -DZINT -c ../Source/umf_build_tuples.c
-	$(MV) -f umf_build_tuples.o umf_mz_build_tuples.o
-	$(MX) -DZINT -c ../Source/umf_create_element.c
-	$(MV) -f umf_create_element.o umf_mz_create_element.o
-	$(MX) -DZINT -c ../Source/umf_dump.c
-	$(MV) -f umf_dump.o umf_mz_dump.o
-	$(MX) -DZINT -c ../Source/umf_extend_front.c
-	$(MV) -f umf_extend_front.o umf_mz_extend_front.o
-	$(MX) -DZINT -c ../Source/umf_garbage_collection.c
-	$(MV) -f umf_garbage_collection.o umf_mz_garbage_collection.o
-	$(MX) -DZINT -c ../Source/umf_get_memory.c
-	$(MV) -f umf_get_memory.o umf_mz_get_memory.o
-	$(MX) -DZINT -c ../Source/umf_init_front.c
-	$(MV) -f umf_init_front.o umf_mz_init_front.o
-	$(MX) -DZINT -c ../Source/umf_kernel.c
-	$(MV) -f umf_kernel.o umf_mz_kernel.o
-	$(MX) -DZINT -c ../Source/umf_kernel_init.c
-	$(MV) -f umf_kernel_init.o umf_mz_kernel_init.o
-	$(MX) -DZINT -c ../Source/umf_kernel_wrapup.c
-	$(MV) -f umf_kernel_wrapup.o umf_mz_kernel_wrapup.o
-	$(MX) -DZINT -c ../Source/umf_local_search.c
-	$(MV) -f umf_local_search.o umf_mz_local_search.o
-	$(MX) -DZINT -c ../Source/umf_lsolve.c
-	$(MV) -f umf_lsolve.o umf_mz_lsolve.o
-	$(MX) -DZINT -c ../Source/umf_ltsolve.c
-	$(MV) -f umf_ltsolve.o umf_mz_ltsolve.o
-	$(MX) -DZINT -c ../Source/umf_mem_alloc_element.c
-	$(MV) -f umf_mem_alloc_element.o umf_mz_mem_alloc_element.o
-	$(MX) -DZINT -c ../Source/umf_mem_alloc_head_block.c
-	$(MV) -f umf_mem_alloc_head_block.o umf_mz_mem_alloc_head_block.o
-	$(MX) -DZINT -c ../Source/umf_mem_alloc_tail_block.c
-	$(MV) -f umf_mem_alloc_tail_block.o umf_mz_mem_alloc_tail_block.o
-	$(MX) -DZINT -c ../Source/umf_mem_free_tail_block.c
-	$(MV) -f umf_mem_free_tail_block.o umf_mz_mem_free_tail_block.o
-	$(MX) -DZINT -c ../Source/umf_mem_init_memoryspace.c
-	$(MV) -f umf_mem_init_memoryspace.o umf_mz_mem_init_memoryspace.o
-	$(MX) -DZINT -c ../Source/umf_report_vector.c
-	$(MV) -f umf_report_vector.o umf_mz_report_vector.o
-	$(MX) -DZINT -c ../Source/umf_row_search.c
-	$(MV) -f umf_row_search.o umf_mz_row_search.o
-	$(MX) -DZINT -c ../Source/umf_scale_column.c
-	$(MV) -f umf_scale_column.o umf_mz_scale_column.o
-	$(MX) -DZINT -c ../Source/umf_set_stats.c
-	$(MV) -f umf_set_stats.o umf_mz_set_stats.o
-	$(MX) -DZINT -c ../Source/umf_solve.c
-	$(MV) -f umf_solve.o umf_mz_solve.o
-	$(MX) -DZINT -c ../Source/umf_symbolic_usage.c
-	$(MV) -f umf_symbolic_usage.o umf_mz_symbolic_usage.o
-	$(MX) -DZINT -c ../Source/umf_transpose.c
-	$(MV) -f umf_transpose.o umf_mz_transpose.o
-	$(MX) -DZINT -c ../Source/umf_tuple_lengths.c
-	$(MV) -f umf_tuple_lengths.o umf_mz_tuple_lengths.o
-	$(MX) -DZINT -c ../Source/umf_usolve.c
-	$(MV) -f umf_usolve.o umf_mz_usolve.o
-	$(MX) -DZINT -c ../Source/umf_utsolve.c
-	$(MV) -f umf_utsolve.o umf_mz_utsolve.o
-	$(MX) -DZINT -c ../Source/umf_valid_numeric.c
-	$(MV) -f umf_valid_numeric.o umf_mz_valid_numeric.o
-	$(MX) -DZINT -c ../Source/umf_valid_symbolic.c
-	$(MV) -f umf_valid_symbolic.o umf_mz_valid_symbolic.o
-	$(MX) -DZINT -c ../Source/umf_grow_front.c
-	$(MV) -f umf_grow_front.o umf_mz_grow_front.o
-	$(MX) -DZINT -c ../Source/umf_start_front.c
-	$(MV) -f umf_start_front.o umf_mz_start_front.o
-	$(MX) -DZINT -c ../Source/umf_2by2.c
-	$(MV) -f umf_2by2.o umf_mz_2by2.o
-	$(MX) -DZINT -c ../Source/umf_store_lu.c
-	$(MV) -f umf_store_lu.o umf_mz_store_lu.o
-	$(MX) -DZINT -c ../Source/umf_scale.c
-	$(MV) -f umf_scale.o umf_mz_scale.o
-	$(MX) -DZINT -DWSOLVE -c ../Source/umfpack_solve.c
-	$(MV) -f umfpack_solve.o umfpack_mz_wsolve.o
-	$(MX) -DZINT -c ../Source/umfpack_col_to_triplet.c
-	$(MV) -f umfpack_col_to_triplet.o umfpack_mz_col_to_triplet.o
-	$(MX) -DZINT -c ../Source/umfpack_defaults.c
-	$(MV) -f umfpack_defaults.o umfpack_mz_defaults.o
-	$(MX) -DZINT -c ../Source/umfpack_free_numeric.c
-	$(MV) -f umfpack_free_numeric.o umfpack_mz_free_numeric.o
-	$(MX) -DZINT -c ../Source/umfpack_free_symbolic.c
-	$(MV) -f umfpack_free_symbolic.o umfpack_mz_free_symbolic.o
-	$(MX) -DZINT -c ../Source/umfpack_get_numeric.c
-	$(MV) -f umfpack_get_numeric.o umfpack_mz_get_numeric.o
-	$(MX) -DZINT -c ../Source/umfpack_get_lunz.c
-	$(MV) -f umfpack_get_lunz.o umfpack_mz_get_lunz.o
-	$(MX) -DZINT -c ../Source/umfpack_get_symbolic.c
-	$(MV) -f umfpack_get_symbolic.o umfpack_mz_get_symbolic.o
-	$(MX) -DZINT -c ../Source/umfpack_get_determinant.c
-	$(MV) -f umfpack_get_determinant.o umfpack_mz_get_determinant.o
-	$(MX) -DZINT -c ../Source/umfpack_numeric.c
-	$(MV) -f umfpack_numeric.o umfpack_mz_numeric.o
-	$(MX) -DZINT -c ../Source/umfpack_qsymbolic.c
-	$(MV) -f umfpack_qsymbolic.o umfpack_mz_qsymbolic.o
-	$(MX) -DZINT -c ../Source/umfpack_report_control.c
-	$(MV) -f umfpack_report_control.o umfpack_mz_report_control.o
-	$(MX) -DZINT -c ../Source/umfpack_report_info.c
-	$(MV) -f umfpack_report_info.o umfpack_mz_report_info.o
-	$(MX) -DZINT -c ../Source/umfpack_report_matrix.c
-	$(MV) -f umfpack_report_matrix.o umfpack_mz_report_matrix.o
-	$(MX) -DZINT -c ../Source/umfpack_report_numeric.c
-	$(MV) -f umfpack_report_numeric.o umfpack_mz_report_numeric.o
-	$(MX) -DZINT -c ../Source/umfpack_report_perm.c
-	$(MV) -f umfpack_report_perm.o umfpack_mz_report_perm.o
-	$(MX) -DZINT -c ../Source/umfpack_report_status.c
-	$(MV) -f umfpack_report_status.o umfpack_mz_report_status.o
-	$(MX) -DZINT -c ../Source/umfpack_report_symbolic.c
-	$(MV) -f umfpack_report_symbolic.o umfpack_mz_report_symbolic.o
-	$(MX) -DZINT -c ../Source/umfpack_report_triplet.c
-	$(MV) -f umfpack_report_triplet.o umfpack_mz_report_triplet.o
-	$(MX) -DZINT -c ../Source/umfpack_report_vector.c
-	$(MV) -f umfpack_report_vector.o umfpack_mz_report_vector.o
-	$(MX) -DZINT -c ../Source/umfpack_solve.c
-	$(MV) -f umfpack_solve.o umfpack_mz_solve.o
-	$(MX) -DZINT -c ../Source/umfpack_symbolic.c
-	$(MV) -f umfpack_symbolic.o umfpack_mz_symbolic.o
-	$(MX) -DZINT -c ../Source/umfpack_transpose.c
-	$(MV) -f umfpack_transpose.o umfpack_mz_transpose.o
-	$(MX) -DZINT -c ../Source/umfpack_triplet_to_col.c
-	$(MV) -f umfpack_triplet_to_col.o umfpack_mz_triplet_to_col.o
-	$(MX) -DZINT -c ../Source/umfpack_scale.c
-	$(MV) -f umfpack_scale.o umfpack_mz_scale.o
-	$(MX) -DZINT -c ../Source/umfpack_load_numeric.c
-	$(MV) -f umfpack_load_numeric.o umfpack_mz_load_numeric.o
-	$(MX) -DZINT -c ../Source/umfpack_save_numeric.c
-	$(MV) -f umfpack_save_numeric.o umfpack_mz_save_numeric.o
-	$(MX) -DZINT -c ../Source/umfpack_load_symbolic.c
-	$(MV) -f umfpack_load_symbolic.o umfpack_mz_load_symbolic.o
-	$(MX) -DZINT -c ../Source/umfpack_save_symbolic.c
-	$(MV) -f umfpack_save_symbolic.o umfpack_mz_save_symbolic.o
-	$(MX) -c ../Source/umfpack_timer.c
-	$(MV) -f umfpack_timer.o umfpack_m_timer.o
-	$(MX) -c ../Source/umfpack_tictoc.c
-	$(MV) -f umfpack_tictoc.o umfpack_m_tictoc.o
-	$(MX) -DDINT -c ../../AMD/Source/amd_aat.c
-	$(MV) -f amd_aat.o amd_m_aat.o
-	$(MX) -DDINT -c ../../AMD/Source/amd_1.c
-	$(MV) -f amd_1.o amd_m_1.o
-	$(MX) -DDINT -c ../../AMD/Source/amd_2.c
-	$(MV) -f amd_2.o amd_m_2.o
-	$(MX) -DDINT -c ../../AMD/Source/amd_dump.c
-	$(MV) -f amd_dump.o amd_m_dump.o
-	$(MX) -DDINT -c ../../AMD/Source/amd_postorder.c
-	$(MV) -f amd_postorder.o amd_m_postorder.o
-	$(MX) -DDINT -c ../../AMD/Source/amd_post_tree.c
-	$(MV) -f amd_post_tree.o amd_m_post_tree.o
-	$(MX) -DDINT -c ../../AMD/Source/amd_defaults.c
-	$(MV) -f amd_defaults.o amd_m_defaults.o
-	$(MX) -DDINT -c ../../AMD/Source/amd_order.c
-	$(MV) -f amd_order.o amd_m_order.o
-	$(MX) -DDINT -c ../../AMD/Source/amd_control.c
-	$(MV) -f amd_control.o amd_m_control.o
-	$(MX) -DDINT -c ../../AMD/Source/amd_info.c
-	$(MV) -f amd_info.o amd_m_info.o
-	$(MX) -DDINT -c ../../AMD/Source/amd_valid.c
-	$(MV) -f amd_valid.o amd_m_valid.o
-	$(MX) -output umfpack umfpackmex.c \
-	    umf_m_analyze.o umf_m_apply_order.o umf_m_colamd.o umf_m_free.o \
-	    umf_m_fsize.o umf_m_is_permutation.o umf_m_malloc.o \
-	    umf_m_realloc.o umf_m_report_perm.o umf_m_singletons.o \
-	    umf_md_lhsolve.o umf_md_uhsolve.o umf_md_triplet_map_nox.o \
-	    umf_md_triplet_nomap_x.o umf_md_triplet_nomap_nox.o \
-	    umf_md_triplet_map_x.o umf_md_assemble_fixq.o \
-	    umf_md_store_lu_drop.o umf_md_assemble.o umf_md_blas3_update.o \
-	    umf_md_build_tuples.o umf_md_create_element.o umf_md_dump.o \
-	    umf_md_extend_front.o umf_md_garbage_collection.o \
-	    umf_md_get_memory.o umf_md_init_front.o umf_md_kernel.o \
-	    umf_md_kernel_init.o umf_md_kernel_wrapup.o umf_md_local_search.o \
-	    umf_md_lsolve.o umf_md_ltsolve.o umf_md_mem_alloc_element.o \
-	    umf_md_mem_alloc_head_block.o umf_md_mem_alloc_tail_block.o \
-	    umf_md_mem_free_tail_block.o umf_md_mem_init_memoryspace.o \
-	    umf_md_report_vector.o umf_md_row_search.o umf_md_scale_column.o \
-	    umf_md_set_stats.o umf_md_solve.o umf_md_symbolic_usage.o \
-	    umf_md_transpose.o umf_md_tuple_lengths.o umf_md_usolve.o \
-	    umf_md_utsolve.o umf_md_valid_numeric.o umf_md_valid_symbolic.o \
-	    umf_md_grow_front.o umf_md_start_front.o umf_md_2by2.o \
-	    umf_md_store_lu.o umf_md_scale.o umfpack_md_wsolve.o \
-	    umfpack_md_col_to_triplet.o umfpack_md_defaults.o \
-	    umfpack_md_free_numeric.o umfpack_md_free_symbolic.o \
-	    umfpack_md_get_numeric.o umfpack_md_get_lunz.o \
-	    umfpack_md_get_symbolic.o umfpack_md_get_determinant.o \
-	    umfpack_md_numeric.o \
-	    umfpack_md_qsymbolic.o umfpack_md_report_control.o \
-	    umfpack_md_report_info.o umfpack_md_report_matrix.o \
-	    umfpack_md_report_numeric.o umfpack_md_report_perm.o \
-	    umfpack_md_report_status.o umfpack_md_report_symbolic.o \
-	    umfpack_md_report_triplet.o umfpack_md_report_vector.o \
-	    umfpack_md_solve.o umfpack_md_symbolic.o umfpack_md_transpose.o \
-	    umfpack_md_triplet_to_col.o umfpack_md_scale.o \
-	    umfpack_md_load_numeric.o umfpack_md_save_numeric.o \
-	    umfpack_md_load_symbolic.o umfpack_md_save_symbolic.o \
-	    umf_mz_lhsolve.o umf_mz_uhsolve.o umf_mz_triplet_map_nox.o \
-	    umf_mz_triplet_nomap_x.o umf_mz_triplet_nomap_nox.o \
-	    umf_mz_triplet_map_x.o umf_mz_assemble_fixq.o \
-	    umf_mz_store_lu_drop.o umf_mz_assemble.o umf_mz_blas3_update.o \
-	    umf_mz_build_tuples.o umf_mz_create_element.o umf_mz_dump.o \
-	    umf_mz_extend_front.o umf_mz_garbage_collection.o \
-	    umf_mz_get_memory.o umf_mz_init_front.o umf_mz_kernel.o \
-	    umf_mz_kernel_init.o umf_mz_kernel_wrapup.o umf_mz_local_search.o \
-	    umf_mz_lsolve.o umf_mz_ltsolve.o umf_mz_mem_alloc_element.o \
-	    umf_mz_mem_alloc_head_block.o umf_mz_mem_alloc_tail_block.o \
-	    umf_mz_mem_free_tail_block.o umf_mz_mem_init_memoryspace.o \
-	    umf_mz_report_vector.o umf_mz_row_search.o umf_mz_scale_column.o \
-	    umf_mz_set_stats.o umf_mz_solve.o umf_mz_symbolic_usage.o \
-	    umf_mz_transpose.o umf_mz_tuple_lengths.o umf_mz_usolve.o \
-	    umf_mz_utsolve.o umf_mz_valid_numeric.o umf_mz_valid_symbolic.o \
-	    umf_mz_grow_front.o umf_mz_start_front.o umf_mz_2by2.o \
-	    umf_mz_store_lu.o umf_mz_scale.o umfpack_mz_wsolve.o \
-	    umfpack_mz_col_to_triplet.o umfpack_mz_defaults.o \
-	    umfpack_mz_free_numeric.o umfpack_mz_free_symbolic.o \
-	    umfpack_mz_get_numeric.o umfpack_mz_get_lunz.o \
-	    umfpack_mz_get_symbolic.o umfpack_mz_get_determinant.o \
-	    umfpack_mz_numeric.o \
-	    umfpack_mz_qsymbolic.o umfpack_mz_report_control.o \
-	    umfpack_mz_report_info.o umfpack_mz_report_matrix.o \
-	    umfpack_mz_report_numeric.o umfpack_mz_report_perm.o \
-	    umfpack_mz_report_status.o umfpack_mz_report_symbolic.o \
-	    umfpack_mz_report_triplet.o umfpack_mz_report_vector.o \
-	    umfpack_mz_solve.o umfpack_mz_symbolic.o umfpack_mz_transpose.o \
-	    umfpack_mz_triplet_to_col.o umfpack_mz_scale.o \
-	    umfpack_mz_load_numeric.o umfpack_mz_save_numeric.o \
-	    umfpack_mz_load_symbolic.o umfpack_mz_save_symbolic.o \
-	    umfpack_m_timer.o umfpack_m_tictoc.o \
-	    amd_m_aat.o amd_m_1.o amd_m_2.o amd_m_dump.o \
-	    amd_m_postorder.o amd_m_post_tree.o amd_m_defaults.o amd_m_order.o \
-	    amd_m_control.o amd_m_info.o amd_m_valid.o
-
-luflop: luflopmex.c
-	$(MX) -output luflop luflopmex.c
-
-#-------------------------------------------------------------------------------
-# Remove all but the files in the original distribution
-#-------------------------------------------------------------------------------
-
-purge: clean
-	- $(RM) *.mex* *.dll
--- a/liboctave/UMFPACK/UMFPACK/MATLAB/lcc_lib/lapacksyms.def	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,718 +0,0 @@
-LIBRARY liblapack.dll
-EXPORTS
-dasum
-daxpy
-dbdsdc
-dbdsqr
-dcopy
-ddisna
-ddot
-dgbbrd
-dgbcon
-dgbequ
-dgbmv
-dgbrfs
-dgbsv
-dgbsvx
-dgbtf2
-dgbtrf
-dgbtrs
-dgebak
-dgebal
-dgebd2
-dgebrd
-dgecon
-dgeequ
-dgees
-dgeesx
-dgeev
-dgeevx
-dgegs
-dgegv
-dgehd2
-dgehrd
-dgelq2
-dgelqf
-dgels
-dgelsd
-dgelss
-dgelsx
-dgelsy
-dgemm
-dgemv
-dgeql2
-dgeqlf
-dgeqp3
-dgeqpf
-dgeqr2
-dgeqrf
-dger
-dgerfs
-dgerq2
-dgerqf
-dgesc2
-dgesdd
-dgesv
-dgesvd
-dgesvx
-dgetc2
-dgetf2
-dgetrf
-dgetri
-dgetrs
-dggbak
-dggbal
-dgges
-dggesx
-dggev
-dggevx
-dggglm
-dgghrd
-dgglse
-dggqrf
-dggrqf
-dggsvd
-dggsvp
-dgtcon
-dgtrfs
-dgtsv
-dgtsvx
-dgttrf
-dgttrs
-dgtts2
-dhgeqz
-dhsein
-dhseqr
-dlabad
-dlabrd
-dlacon
-dlacpy
-dladiv
-dlae2
-dlaebz
-dlaed0
-dlaed1
-dlaed2
-dlaed3
-dlaed4
-dlaed5
-dlaed6
-dlaed7
-dlaed8
-dlaed9
-dlaeda
-dlaein
-dlaev2
-dlaexc
-dlag2
-dlags2
-dlagtf
-dlagtm
-dlagts
-dlagv2
-dlahqr
-dlahrd
-dlaic1
-dlaln2
-dlals0
-dlalsa
-dlalsd
-dlamch
-dlamrg
-dlangb
-dlange
-dlangt
-dlanhs
-dlansb
-dlansp
-dlanst
-dlansy
-dlantb
-dlantp
-dlantr
-dlanv2
-dlapll
-dlapmt
-dlapy2
-dlapy3
-dlaqgb
-dlaqge
-dlaqp2
-dlaqps
-dlaqsb
-dlaqsp
-dlaqsy
-dlaqtr
-dlar1v
-dlar2v
-dlarf
-dlarfb
-dlarfg
-dlarft
-dlarfx
-dlargv
-dlarnv
-dlarrb
-dlarre
-dlarrf
-dlarrv
-dlartg
-dlartv
-dlaruv
-dlarz
-dlarzb
-dlarzt
-dlas2
-dlascl
-dlasd0
-dlasd1
-dlasd2
-dlasd3
-dlasd4
-dlasd5
-dlasd6
-dlasd7
-dlasd8
-dlasd9
-dlasda
-dlasdq
-dlasdt
-dlaset
-dlasq1
-dlasq2
-dlasq3
-dlasq4
-dlasq5
-dlasq6
-dlasr
-dlasrt
-dlassq
-dlasv2
-dlaswp
-dlasy2
-dlasyf
-dlatbs
-dlatdf
-dlatps
-dlatrd
-dlatrs
-dlatrz
-dlatzm
-dlauu2
-dlauum
-dnrm2
-dopgtr
-dopmtr
-dorg2l
-dorg2r
-dorgbr
-dorghr
-dorgl2
-dorglq
-dorgql
-dorgqr
-dorgr2
-dorgrq
-dorgtr
-dorm2l
-dorm2r
-dormbr
-dormhr
-dorml2
-dormlq
-dormql
-dormqr
-dormr2
-dormr3
-dormrq
-dormrz
-dormtr
-dpbcon
-dpbequ
-dpbrfs
-dpbstf
-dpbsv
-dpbsvx
-dpbtf2
-dpbtrf
-dpbtrs
-dpocon
-dpoequ
-dporfs
-dposv
-dposvx
-dpotf2
-dpotrf
-dpotri
-dpotrs
-dppcon
-dppequ
-dpprfs
-dppsv
-dppsvx
-dpptrf
-dpptri
-dpptrs
-dptcon
-dpteqr
-dptrfs
-dptsv
-dptsvx
-dpttrf
-dpttrs
-dptts2
-drot
-drotg
-drscl
-dsbev
-dsbevd
-dsbevx
-dsbgst
-dsbgv
-dsbgvd
-dsbgvx
-dsbmv
-dsbtrd
-dscal
-dspcon
-dspev
-dspevd
-dspevx
-dspgst
-dspgv
-dspgvd
-dspgvx
-dspmv
-dspr
-dspr2
-dsprfs
-dspsv
-dspsvx
-dsptrd
-dsptrf
-dsptri
-dsptrs
-dstebz
-dstedc
-dstegr
-dstein
-dsteqr
-dsterf
-dstev
-dstevd
-dstevr
-dstevx
-dswap
-dsycon
-dsyev
-dsyevd
-dsyevr
-dsyevx
-dsygs2
-dsygst
-dsygv
-dsygvd
-dsygvx
-dsymm
-dsymv
-dsyr
-dsyr2
-dsyr2k
-dsyrfs
-dsyrk
-dsysv
-dsysvx
-dsytd2
-dsytf2
-dsytrd
-dsytrf
-dsytri
-dsytrs
-dtbcon
-dtbmv
-dtbrfs
-dtbsv
-dtbtrs
-dtgevc
-dtgex2
-dtgexc
-dtgsen
-dtgsja
-dtgsna
-dtgsy2
-dtgsyl
-dtpcon
-dtpmv
-dtprfs
-dtpsv
-dtptri
-dtptrs
-dtrcon
-dtrevc
-dtrexc
-dtrmm
-dtrmv
-dtrrfs
-dtrsen
-dtrsm
-dtrsna
-dtrsv
-dtrsyl
-dtrti2
-dtrtri
-dtrtrs
-dtzrqf
-dtzrzf
-dzasum
-dznrm2
-dzsum1
-idamax
-ieeeck
-ilaenv
-izamax
-izmax1
-lsame
-lsamen
-xerbla
-zaxpy
-zbdsqr
-zcopy
-zdotc
-zdotu
-zdrot
-zdrscl
-zdscal
-zgbbrd
-zgbcon
-zgbequ
-zgbmv
-zgbrfs
-zgbsv
-zgbsvx
-zgbtf2
-zgbtrf
-zgbtrs
-zgebak
-zgebal
-zgebd2
-zgebrd
-zgecon
-zgeequ
-zgees
-zgeesx
-zgeev
-zgeevx
-zgegs
-zgegv
-zgehd2
-zgehrd
-zgelq2
-zgelqf
-zgels
-zgelsd
-zgelss
-zgelsx
-zgelsy
-zgemm
-zgemv
-zgeql2
-zgeqlf
-zgeqp3
-zgeqpf
-zgeqr2
-zgeqrf
-zgerc
-zgerfs
-zgerq2
-zgerqf
-zgeru
-zgesc2
-zgesdd
-zgesv
-zgesvd
-zgesvx
-zgetc2
-zgetf2
-zgetrf
-zgetri
-zgetrs
-zggbak
-zggbal
-zgges
-zggesx
-zggev
-zggevx
-zggglm
-zgghrd
-zgglse
-zggqrf
-zggrqf
-zggsvd
-zggsvp
-zgtcon
-zgtrfs
-zgtsv
-zgtsvx
-zgttrf
-zgttrs
-zgtts2
-zhbev
-zhbevd
-zhbevx
-zhbgst
-zhbgv
-zhbgvd
-zhbgvx
-zhbmv
-zhbtrd
-zhecon
-zheev
-zheevd
-zheevr
-zheevx
-zhegs2
-zhegst
-zhegv
-zhegvd
-zhegvx
-zhemm
-zhemv
-zher
-zher2
-zher2k
-zherfs
-zherk
-zhesv
-zhesvx
-zhetd2
-zhetf2
-zhetrd
-zhetrf
-zhetri
-zhetrs
-zhgeqz
-zhpcon
-zhpev
-zhpevd
-zhpevx
-zhpgst
-zhpgv
-zhpgvd
-zhpgvx
-zhpmv
-zhpr
-zhpr2
-zhprfs
-zhpsv
-zhpsvx
-zhptrd
-zhptrf
-zhptri
-zhptrs
-zhsein
-zhseqr
-zlabrd
-zlacgv
-zlacon
-zlacp2
-zlacpy
-zlacrm
-zlacrt
-zladiv
-zlaed0
-zlaed7
-zlaed8
-zlaein
-zlaesy
-zlaev2
-zlags2
-zlagtm
-zlahef
-zlahqr
-zlahrd
-zlaic1
-zlals0
-zlalsa
-zlalsd
-zlangb
-zlange
-zlangt
-zlanhb
-zlanhe
-zlanhp
-zlanhs
-zlanht
-zlansb
-zlansp
-zlansy
-zlantb
-zlantp
-zlantr
-zlapll
-zlapmt
-zlaqgb
-zlaqge
-zlaqhb
-zlaqhe
-zlaqhp
-zlaqp2
-zlaqps
-zlaqsb
-zlaqsp
-zlaqsy
-zlar1v
-zlar2v
-zlarcm
-zlarf
-zlarfb
-zlarfg
-zlarft
-zlarfx
-zlargv
-zlarnv
-zlarrv
-zlartg
-zlartv
-zlarz
-zlarzb
-zlarzt
-zlascl
-zlaset
-zlasr
-zlassq
-zlaswp
-zlasyf
-zlatbs
-zlatdf
-zlatps
-zlatrd
-zlatrs
-zlatrz
-zlatzm
-zlauu2
-zlauum
-zpbcon
-zpbequ
-zpbrfs
-zpbstf
-zpbsv
-zpbsvx
-zpbtf2
-zpbtrf
-zpbtrs
-zpocon
-zpoequ
-zporfs
-zposv
-zposvx
-zpotf2
-zpotrf
-zpotri
-zpotrs
-zppcon
-zppequ
-zpprfs
-zppsv
-zppsvx
-zpptrf
-zpptri
-zpptrs
-zptcon
-zpteqr
-zptrfs
-zptsv
-zptsvx
-zpttrf
-zpttrs
-zptts2
-zrot
-zrotg
-zscal
-zspcon
-zspmv
-zspr
-zsprfs
-zspsv
-zspsvx
-zsptrf
-zsptri
-zsptrs
-zstedc
-zstegr
-zstein
-zsteqr
-zswap
-zsycon
-zsymm
-zsymv
-zsyr
-zsyr2k
-zsyrfs
-zsyrk
-zsysv
-zsysvx
-zsytf2
-zsytrf
-zsytri
-zsytrs
-ztbcon
-ztbmv
-ztbrfs
-ztbsv
-ztbtrs
-ztgevc
-ztgex2
-ztgexc
-ztgsen
-ztgsja
-ztgsna
-ztgsy2
-ztgsyl
-ztpcon
-ztpmv
-ztprfs
-ztpsv
-ztptri
-ztptrs
-ztrcon
-ztrevc
-ztrexc
-ztrmm
-ztrmv
-ztrrfs
-ztrsen
-ztrsm
-ztrsna
-ztrsv
-ztrsyl
-ztrti2
-ztrtri
-ztrtrs
-ztzrqf
-ztzrzf
-zung2l
-zung2r
-zungbr
-zunghr
-zungl2
-zunglq
-zungql
-zungqr
-zungr2
-zungrq
-zungtr
-zunm2l
-zunm2r
-zunmbr
-zunmhr
-zunml2
-zunmlq
-zunmql
-zunmqr
-zunmr2
-zunmr3
-zunmrq
-zunmrz
-zunmtr
-zupgtr
-zupmtr
Binary file liboctave/UMFPACK/UMFPACK/MATLAB/lcc_lib/libmwlapack.lib has changed
--- a/liboctave/UMFPACK/UMFPACK/MATLAB/lu_normest.m	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-function rho = lu_normest (A, L, U)
-% LU_NORMEST:  estimate the 1-norm of A-L*U without computing L*U
-%
-% Usage:
-%
-%       rho = lu_normest (A, L, U)
-%
-% which estimates the computation of the 1-norm:
-%
-%       rho = norm (A-L*U, 1)
-%
-% Authors:  William W. Hager, Math Dept., Univ. of Florida
-%       Timothy A. Davis, CISE Dept., Univ. of Florida
-%       Gainesville, FL, 32611, USA.
-%       based on normest1, contributed on November, 1997
-%
-% This code can be quite easily adapted to estimate the 1-norm of any
-% matrix E, where E itself is dense or not explicitly represented, but the
-% computation of E (and E') times a vector is easy.  In this case, our matrix
-% of interest is:
-%
-%       E = A-L*U
-%
-% That is, L*U is the LU factorization of A, where A, L and U
-% are sparse.  This code works for dense matrices A and L too,
-% but it would not be needed in that case, since E is easy to compute
-% explicitly.  For sparse A, L, and U, computing E explicitly would be quite
-% expensive, and thus normest (A-L*U) would be prohibitive.
-%
-% For a detailed description, see Davis, T. A. and Hager, W. W.,
-% Modifying a sparse Cholesky factorization, SIAM J. Matrix Analysis and
-% Applications, 1999, vol. 20, no. 3, 606-627.
-
-% The three places that the matrix-vector multiply E*x is used are highlighted.
-% Note that E is never formed explicity.
-
-[m n] = size (A) ;
-
-if (m ~= n)
-    % pad A, L, and U with zeros so that they are all square
-    if (m < n)
-        U = [ U ; (sparse (n-m,n)) ] ;
-        L = [ L , (sparse (m,n-m)) ; (sparse (n-m,n)) ] ;
-        A = [ A ; (sparse (n-m,n)) ] ;
-    else
-        U = [ U , (sparse (n,m-n)) ; (sparse (m-n,m)) ] ;
-        L = [ L , (sparse (m,m-n)) ] ;
-        A = [ A , (sparse (m,m-n)) ] ;
-    end
-end
-
-[m n] = size (A) ;
-
-notvisited = ones (m, 1) ;  % nonvisited(j) is zero if j is visited, 1 otherwise
-rho = 0 ;    % the global rho
-
-At = A' ;
-Lt = L' ;
-
-for trial = 1:3 % {
-
-   x = notvisited ./ sum (notvisited) ;
-   rho1 = 0 ;    % the current rho for this trial
-
-   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-   %%% COMPUTE Ex1 = E*x EFFICIENTLY: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-   Ex1 = (A*x) - L*(U*x) ;
-   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-   rho2 = norm (Ex1, 1) ;
-
-   while rho2 > rho1 % {
-
-        rho1 = rho2 ;
-        y = 2*(Ex1 >= 0) - 1 ;
-
-        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-        %%% COMPUTE z = E'*y EFFICIENTLY: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-        z = (A'*y) - U'*(L'*y) ;
-        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-        [zj, j] = max (abs (z .* notvisited)) ;
-        j = j (1) ;
-        if (abs (z (j)) > z'*x) % {
-            x = zeros (m, 1) ;
-            x (j) = 1 ;
-            notvisited (j) = 0 ;
-        else % } {
-            break ;
-        end % }
-
-        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-        %%% COMPUTE Ex1 = E*x EFFICIENTLY: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-        Ex1 = (A*x) - L*(U*x) ;
-        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-        rho2 = norm (Ex1, 1) ;
-
-    end % }
-
-    rho = max (rho, rho1) ;
-
-end % }
--- a/liboctave/UMFPACK/UMFPACK/MATLAB/luflop.m	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-function f = luflop (L, U)
-%LUFLOP
-%
-% f = luflop (L, U)
-%
-% Given an LU factorization, compute how many flops took to compute it.  This
-% is the same as (assuming U has a zero-free diagonal):
-%
-%   Lnz = full (sum (spones (L))) - 1 ;
-%   Unz = full (sum (spones (U')))' - 1 ;
-%   f = 2*Lnz*Unz + sum (Lnz) ;
-%
-% except that no extra workspace is allocated for spones (L) and spones (U).
-% L and U must be sparse.
-%
-% Note: the above expression has a subtle undercount when exact numerical
-% cancelation occurs.  Try [L,U,P] = lu (sparse (ones (10))) and then
-% luflop (L,U).
-
-% UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.
-% All Rights Reserved.  Type umfpack_details for License.
-
-help luflop
-error ('luflop mexFunction not found!  Use umfpack_make to compile luflop.') ;
--- a/liboctave/UMFPACK/UMFPACK/MATLAB/luflopmex.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +0,0 @@
-/* ========================================================================== */
-/* === luflop  mexFunction ================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    f = luflop (L, U) ;
-
-    Given L and U, compute:
-
-        Lnz = full (sum (spones (L))) - 1 ;
-        Unz = full (sum (spones (U')))' - 1 ;
-        f = 2*Lnz*Unz + sum (Lnz) ;
-
-    without allocating O (lunz) space.
-
-*/
-
-#include "mex.h"
-#include "matrix.h"
-
-#ifndef TRUE
-#define TRUE (1)
-#endif
-#ifndef FALSE
-#define FALSE (0)
-#endif
-
-void mexFunction
-(
-    int nlhs,			/* number of left-hand sides */
-    mxArray *plhs [ ],		/* left-hand side matrices */
-    int nrhs,			/* number of right--hand sides */
-    const mxArray *prhs [ ]	/* right-hand side matrices */
-)
-{
-
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    double flop_count ;
-    double *pflop ;
-    int *Lp, *Li, *Up, *Ui, *Unz, n, k, row, col, p, Lnz_k, Unz_k ;
-    mxArray *Lmatrix, *Umatrix ;
-
-    /* ---------------------------------------------------------------------- */
-    /* get inputs L, U */
-    /* ---------------------------------------------------------------------- */
-
-    if (nrhs != 2)
-    {
-	mexErrMsgTxt ("Usage:  f = luflop (L, U)") ;
-    }
-
-    Lmatrix = (mxArray *) prhs [0] ;
-    Umatrix = (mxArray *) prhs [1] ;
-
-    n = mxGetM (Lmatrix) ;
-    if (n != mxGetN (Lmatrix) || n != mxGetM (Umatrix) || n != mxGetN (Umatrix))
-    {
-	mexErrMsgTxt ("Usage:  f = luflop (L, U) ;  L and U must be square") ;
-    }
-
-    if (!mxIsSparse (Lmatrix) || !mxIsSparse (Umatrix))
-    {
-	mexErrMsgTxt ("Usage:  f = luflop (L, U) ;  L and U must be sparse") ;
-    }
-
-    Lp = mxGetJc (Lmatrix) ;
-    Li = mxGetIr (Lmatrix) ;
-
-    Up = mxGetJc (Umatrix) ;
-    Ui = mxGetIr (Umatrix) ;
-
-    Unz = (int *) mxMalloc (n * sizeof (int)) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* count the nonzeros in each row of U */
-    /* ---------------------------------------------------------------------- */
-
-    for (row = 0 ; row < n ; row++)
-    {
-	Unz [row] = 0 ;
-    }
-    for (col = 0 ; col < n ; col++)
-    {
-	for (p = Up [col] ; p < Up [col+1] ; p++)
-	{
-	    row = Ui [p] ;
-	    Unz [row]++ ;
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* count the flops */
-    /* ---------------------------------------------------------------------- */
-
-    flop_count = 0.0 ;
-    for (k = 0 ; k < n ; k++)
-    {
-	/* off-diagonal nonzeros in column k of L: */
-	Lnz_k = Lp [k+1] - Lp [k] - 1 ;
-	Unz_k = Unz [k] - 1 ;
-	flop_count += (2 * Lnz_k * Unz_k) + Lnz_k ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* return the result */
-    /* ---------------------------------------------------------------------- */
-
-    plhs [0] = mxCreateDoubleMatrix (1, 1, mxREAL) ;
-    pflop = mxGetPr (plhs [0]) ;
-    pflop [0] = flop_count ;
-}
-
--- a/liboctave/UMFPACK/UMFPACK/MATLAB/umfpack.m	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-function [out1, out2, out3, out4, out5] = umfpack (in1, in2, in3, in4, in5)
-% UMFPACK v4.4 is a MATLAB mexFunction for solving sparse linear systems.
-%
-% UMFPACK v4.4:                       |  MATLAB approximate equivalent:
-% ---------------------------------------------------------------------
-% x = umfpack (A, '\', b) ;           |  x = A \ b
-%                                     |
-% x = umfpack (b, '/', A) ;           |  x = b / A
-%                                     |
-% [L,U,P,Q] = umfpack (A) ;           |  [m,n] = size (A) ;
-%                                     |  I = speye (n) ;
-%                                     |  Q = I (:, colamd (A)) ;
-%                                     |  [L,U,P] = lu (A*Q) ;
-%                                     |
-% [L,U,P,Q,R] = umfpack (A) ;         |  [m,n] = size (A) ;
-%                                     |  I = speye (n) ;
-%                                     |  Q = I (:, colamd (A)) ;
-%                                     |  r = full (sum (abs (A), 2)) ;
-%                                     |  r (find (r == 0)) = 1 ;
-%                                     |  R = spdiags (r, 0, m, m) ;
-%                                     |  [L,U,P] = lu ((R\A)*Q) ;
-%                                     |
-% [P,Q,F,C] = umfpack (A, 'symbolic') |  [m,n] = size (A) ;
-%                                     |  I = speye (n) ;
-%                                     |  Q = I (:, colamd (A)) ;
-%                                     |  [count,h,parent,post] = ...
-%                                     |  symbfact (A*Q, 'col') ;
-%
-% A must be sparse.  It can be complex, singular, and/or rectangular.  A must be
-% square for '/' or '\'.  b must be a full real or complex vector.  For
-% [L,U,P,Q,R] = umfpack (A), the factorization is L*U = P*(R\A)*Q.  If A has a
-% mostly symmetric nonzero pattern, then replace "colamd" with "amd" in the
-% MATLAB-equivalent column in the table above.  Type umfpack_details for more
-% information.
-%
-% See also: lu_normest, colamd, amd.
-% To use UMFPACK for an arbitrary b, see umfpack_solve.
-
-% UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.
-% All Rights Reserved.  Type umfpack_details for License.
-
-help umfpack
-error ('umfpack mexFunction not found!  Use umfpack_make to compile umfpack.') ;
-
--- a/liboctave/UMFPACK/UMFPACK/MATLAB/umfpack_btf.m	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +0,0 @@
-function x = umfpack_btf (A, b, Control)
-% UMFPACK_BTF
-%
-% x = umfpack_btf (A, b, Control)
-%
-% solve Ax=b by first permuting the matrix A to block triangular form via dmperm
-% and then using UMFPACK to factorize each diagonal block.  Adjacent 1-by-1
-% blocks are merged into a single upper triangular block, and solved via
-% MATLAB's \ operator.  The Control parameter is optional (Type umfpack_details
-% and umfpack_report for details on its use).  A must be square.
-%
-% See also:  umfpack, umfpack_factorize, umfpack_details, dmperm
-
-% UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.
-% All Rights Reserved.  Type umfpack_details for License.
-
-if (nargin < 2)
-    help umfpack_btf
-    error ('Usage: x = umfpack_btf (A, b, Control)') ;
-end
-
-[m n] = size (A) ;
-if (m ~= n)
-    help umfpack_btf
-    error ('umfpack_btf:  A must be square') ;
-end
-[m1 n1] = size (b) ;
-if (m1 ~= n)
-    help umfpack_btf
-    error ('umfpack_btf:  b has the wrong dimensions') ;
-end
-
-if (nargin < 3)
-    Control = umfpack ;
-end
-
-%-------------------------------------------------------------------------------
-% find the block triangular form
-%-------------------------------------------------------------------------------
-
-[p,q,r] = dmperm (A) ;
-nblocks = length (r) - 1 ;
-
-%-------------------------------------------------------------------------------
-% solve the system
-%-------------------------------------------------------------------------------
-
-if (nblocks == 1 | sprank (A) < n)
-
-    %---------------------------------------------------------------------------
-    % matrix is irreducible or structurally singular
-    %---------------------------------------------------------------------------
-
-    x = umfpack_solve (A, '\', b, Control) ;
-
-else
-
-    %---------------------------------------------------------------------------
-    % A (p,q) is in block triangular form
-    %---------------------------------------------------------------------------
-
-    b = b (p,:) ;
-    A = A (p,q) ;
-    x = zeros (size (b)) ;
-
-    %---------------------------------------------------------------------------
-    % merge adjacent singletons into a single upper triangular block
-    %---------------------------------------------------------------------------
-
-    [r, nblocks, is_triangular] = merge_singletons (r) ;
-
-    %---------------------------------------------------------------------------
-    % solve the system: x (q) = A\b
-    %---------------------------------------------------------------------------
-
-    for k = nblocks:-1:1
-
-	% get the kth block
-        k1 = r (k) ;
-        k2 = r (k+1) - 1 ;
-
-	% solve the system
-	x (k1:k2,:) = solver (A (k1:k2, k1:k2), b (k1:k2,:), ...
-	    is_triangular (k), Control) ;
-
-        % off-diagonal block back substitution
-        b (1:k1-1,:) = b (1:k1-1,:) - A (1:k1-1, k1:k2) * x (k1:k2,:) ;
-
-    end
-
-    x (q,:) = x ;
-
-end
-
-%-------------------------------------------------------------------------------
-% merge_singletons
-%-------------------------------------------------------------------------------
-
-function [r, nblocks, is_triangular] = merge_singletons (r)
-%
-% Given r from [p,q,r] = dmperm (A), where A is square, return a modified r that
-% reflects the merger of adjacent singletons into a single upper triangular
-% block.  is_triangular (k) is 1 if the kth block is upper triangular.  nblocks
-% is the number of new blocks.
-
-nblocks = length (r) - 1 ;
-bsize = r (2:nblocks+1) - r (1:nblocks) ;
-t = [0 (bsize == 1)] ;
-z = (t (1:nblocks) == 0 & t (2:nblocks+1) == 1) | t (2:nblocks+1) == 0 ;
-y = [(find (z)) nblocks+1] ;
-r = r (y) ;
-nblocks = length (y) - 1 ;
-is_triangular = y (2:nblocks+1) - y (1:nblocks) > 1 ;
-
-%-------------------------------------------------------------------------------
-% solve Ax=b, but check for small and/or triangular systems
-%-------------------------------------------------------------------------------
-
-function x = solver (A, b, is_triangular, Control)
-if (is_triangular)
-    % back substitution only
-    x = A \ b ;
-elseif (size (A,1) < 4)
-    % a very small matrix, solve it as a dense linear system
-    x = full (A) \ b ;
-else
-    % solve it as a sparse linear system
-    x = umfpack_solve (A, '\', b, Control) ;
-end
--- a/liboctave/UMFPACK/UMFPACK/MATLAB/umfpack_demo.m	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,202 +0,0 @@
-function umfpack_demo
-% UMFPACK DEMO
-%
-% A demo of UMFPACK for MATLAB.
-%
-% See also umfpack, umfpack_make, umfpack_details, umfpack_report,
-% and umfpack_simple.
-
-% UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.
-% All Rights Reserved.  Type umfpack_details for License.
-
-%-------------------------------------------------------------------------------
-% get default control parameters
-%-------------------------------------------------------------------------------
-
-control = umfpack ;
-fprintf ('\nEnter the printing level for UMFPACK''s output statistics:\n') ;
-fprintf ('0: none, 1: errors only, 2: statistics, 4: print some of outputs\n') ;
-c = input ('5: print all output [default is 1]: ') ;
-if (isempty (c))
-    c = 1 ;
-end
-control (1) = c ;
-
-%-------------------------------------------------------------------------------
-% solve a simple system
-%-------------------------------------------------------------------------------
-
-fprintf ('\n--------------------------------------------------------------\n') ;
-fprintf ('Factor and solve a small system, Ax=b, using default parameters\n') ;
-if (control (1) > 1)
-    fprintf ('(except for verbose printing enabled)\n') ;
-end
-
-load west0067
-A = Problem.A ;
-n = size (A, 1) ;
-b = rand (n, 1) ;
-
-fprintf ('Solving Ax=b via UMFPACK:\n') ;
-[xu, info] = umfpack (A, '\', b, control) ;
-x = xu ;
-
-fprintf ('Solving Ax=b via MATLAB:\n') ;
-xm = A\b ;
-x = xm ;
-
-fprintf ('Difference between UMFPACK and MATLAB solution: %g\n', ...
-    norm (xu - xm, Inf)) ;
-
-%-------------------------------------------------------------------------------
-% spy the results
-%-------------------------------------------------------------------------------
-
-figure (1)
-clf
-
-subplot (2,3,1)
-spy (A)
-title ('The matrix A') ;
-
-subplot (2,3,2)
-[P1, Q1, Fr, Ch, Info] = umfpack (A, 'symbolic') ;
-treeplot (Fr (1:end-1,2)') ;
-title ('Supernodal column elimination tree') ;
-
-subplot (2,3,3)
-spy (P1 * A * Q1)
-title ('A, with initial row and column order') ;
-
-subplot (2,3,4)
-fprintf ('\n--------------------------------------------------------------\n') ;
-fprintf ('\nFactorizing [L, U, P, Q, R] = umfpack (A)\n') ;
-[L, U, P, Q, R] = umfpack (A) ;
-spy (P*A*Q)
-title ('A, with final row/column order') ;
-
-fprintf ('\nP * (R\\A) * Q - L*U should be zero:\n') ;
-fprintf ('norm (P*(R\\A)*Q - L*U, 1) = %g (exact) %g (estimated)\n', ...
-    norm (P * (R\A) * Q - L*U, 1), lu_normest (P * (R\A) * Q,  L, U)) ;
-
-fprintf ('\nSolution to Ax=b via UMFPACK factorization:\n') ;
-fprintf ('x = Q * (U \\ (L \\ (P * (R \\ b))))\n') ;
-xu = Q * (U \ (L \ (P * (R \ b)))) ;
-x = xu ;
-
-fprintf ('\nUMFPACK flop count: %d\n', luflop (L, U)) ;
-
-subplot (2,3,5)
-spy (spones (L) + spones (U))
-title ('UMFPACK LU factors') ;
-
-subplot (2,3,6)
-fprintf ('\nFactorizing [L, U, P] = lu (A (:, q))\n') ;
-fprintf ('If you are using a version of MATLAB prior to V6.0, then the\n') ;
-fprintf ('following statement (q = colamd (A)) may fail.  Either download\n');
-fprintf ('colamd from http://www.cise.ufl.edu/research/sparse, upgrade to\n') ;
-fprintf ('MATLAB V6.0 or later, or replace the statement with\n') ;
-fprintf ('q = colmmd (A) ;\n') ;
-try
-    q = colamd (A) ;
-catch
-    fprintf ('\n *** colamd not found, using colmmd instead *** \n') ;
-    q = colmmd (A) ;
-end
-[L, U, P] = lu (A (:,q)) ;
-spy (spones (L) + spones (U))
-title ('MATLAB LU factors') ;
-
-fprintf ('\nSolution to Ax=b via MATLAB factorization:\n') ;
-fprintf ('x = U \\ (L \\ (P * b)) ; x (q) = x ;\n') ;
-xm = U \ (L \ (P * b)) ;
-xm (q) = xm ;
-
-fprintf ('Difference between UMFPACK and MATLAB solution: %g\n', ...
-    norm (xu - xm, Inf)) ;
-
-fprintf ('\nMATLAB LU flop count: %d\n', luflop (L, U)) ;
-
-%-------------------------------------------------------------------------------
-% solve A'x=b
-%-------------------------------------------------------------------------------
-
-fprintf ('\n--------------------------------------------------------------\n') ;
-fprintf ('Solve A''x=b:\n') ;
-
-fprintf ('Solving A''x=b via UMFPACK:\n') ;
-[xu, info] = umfpack (b', '/', A, control) ;
-xu = xu' ;
-
-fprintf ('Solving A''x=b via MATLAB:\n') ;
-xm = (b'/A)' ;
-x = xm ;
-
-fprintf ('Difference between UMFPACK and MATLAB solution: %g\n', ...
-    norm (xu - xm, Inf)) ;
-
-%-------------------------------------------------------------------------------
-% factor A' and then solve Ax=b using the factors of A'
-%-------------------------------------------------------------------------------
-
-fprintf ('\n--------------------------------------------------------------\n') ;
-fprintf ('Compute C = A'', and compute the LU factorization of C.\n') ;
-fprintf ('Factorizing A'' can sometimes be better than factorizing A itself\n');
-fprintf ('(less work and memory usage).  Solve C''x=b; the solution is the\n') ;
-fprintf ('same as the solution to Ax=b for the original A.\n');
-
-C = A' ;
-
-% factorize C (P,Q) = L*U
-[L, U, P, Q, R, info] = umfpack (C, control) ;
-
-fprintf ('\nP * (R\\C) * Q - L*U should be zero:\n') ;
-fprintf ('norm (P*(R\\C)*Q - L*U, 1) = %g (exact) %g (estimated)\n', ...
-    norm (P * (R\C) * Q - L*U, 1), lu_normest (P * (R\C) * Q,  L, U)) ;
-
-fprintf ('\nSolution to Ax=b via UMFPACK, using the factors of C:\n') ;
-fprintf ('x = R \\ (P'' * (L'' \\ (U'' \\ (Q'' * b)))) ;\n') ;
-xu = R \ (P' * (L' \ (U' \ (Q' * b)))) ;
-x = xu ;
-
-fprintf ('Solution to Ax=b via MATLAB:\n') ;
-xm = A\b ;
-x = xm ;
-
-fprintf ('Difference between UMFPACK and MATLAB solution: %g\n', ...
-    norm (xu - xm, Inf)) ;
-
-%-------------------------------------------------------------------------------
-% solve Ax=B
-%-------------------------------------------------------------------------------
-
-fprintf ('\n--------------------------------------------------------------\n') ;
-fprintf ('\nSolve AX=B, where B is n-by-10, and sparse\n') ;
-B = sprandn (n, 10, 0.05) ;
-XU = umfpack_solve (A, '\', B, control) ;
-XM = A\B ;
-
-fprintf ('Difference between UMFPACK and MATLAB solution: %g\n', ...
-    norm (XU - XM, Inf)) ;
-
-fprintf ('\n--------------------------------------------------------------\n') ;
-fprintf ('\nSolve AX=B, where B is n-by-10, and sparse, using umfpack_btf\n') ;
-XU = umfpack_btf (A, B, control) ;
-
-fprintf ('Difference between UMFPACK and MATLAB solution: %g\n', ...
-    norm (XU - XM, Inf)) ;
-
-fprintf ('\n--------------------------------------------------------------\n') ;
-fprintf ('\nSolve A''X=B, where B is n-by-10, and sparse\n') ;
-XU = umfpack_solve (B', '/', A, control) ;
-XM = B'/A ;
-
-fprintf ('Difference between UMFPACK and MATLAB solution: %g\n', ...
-    norm (XU - XM, Inf)) ;
-
-%-------------------------------------------------------------------------------
-% compute the determinant
-%-------------------------------------------------------------------------------
-
-fprintf ('\n--------------------------------------------------------------\n') ;
-fprintf ('det(A): %g  UMFPACK determinant: %g\n', det (A), umfpack (A, 'det')) ;
--- a/liboctave/UMFPACK/UMFPACK/MATLAB/umfpack_demo.m.out	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
->> umfpack_demo
-
-Enter the printing level for UMFPACK's output statistics:
-0: none, 1: errors only, 2: statistics, 4: print some of outputs
-5: print all output [default is 1]: 
-
---------------------------------------------------------------
-Factor and solve a small system, Ax=b, using default parameters
-Solving Ax=b via UMFPACK:
-Solving Ax=b via MATLAB:
-Difference between UMFPACK and MATLAB solution: 0
-
---------------------------------------------------------------
-
-Factorizing [L, U, P, Q, R] = umfpack (A)
-
-P * (R\A) * Q - L*U should be zero:
-norm (P*(R\A)*Q - L*U, 1) = 6.80012e-16 (exact) 6.80012e-16 (estimated)
-
-Solution to Ax=b via UMFPACK factorization:
-x = Q * (U \ (L \ (P * (R \ b))))
-
-UMFPACK flop count: 2354
-
-Factorizing [L, U, P] = lu (A (:, q))
-If you are using a version of MATLAB prior to V6.0, then the
-following statement (q = colamd (A)) may fail.  Either download
-colamd from http://www.cise.ufl.edu/research/sparse, upgrade to
-MATLAB V6.0 or later, or replace the statement with
-q = colmmd (A) ;
-
-Solution to Ax=b via MATLAB factorization:
-x = U \ (L \ (P * b)) ; x (q) = x ;
-Difference between UMFPACK and MATLAB solution: 7.10543e-15
-
-MATLAB LU flop count: 3164
-
---------------------------------------------------------------
-Solve A'x=b:
-Solving A'x=b via UMFPACK:
-Solving A'x=b via MATLAB:
-Difference between UMFPACK and MATLAB solution: 2.66454e-15
-
---------------------------------------------------------------
-Compute C = A', and compute the LU factorization of C.
-Factorizing A' can sometimes be better than factorizing A itself
-(less work and memory usage).  Solve C'x=b; the solution is the
-same as the solution to Ax=b for the original A.
-
-P * (R\C) * Q - L*U should be zero:
-norm (P*(R\C)*Q - L*U, 1) = 1.94289e-16 (exact) 5.55112e-17 (estimated)
-
-Solution to Ax=b via UMFPACK, using the factors of C:
-x = R \ (P' * (L' \ (U' \ (Q' * b)))) ;
-Solution to Ax=b via MATLAB:
-Difference between UMFPACK and MATLAB solution: 7.10543e-15
-
---------------------------------------------------------------
-
-Solve AX=B, where B is n-by-10, and sparse
-Difference between UMFPACK and MATLAB solution: 6.72949e-14
-
---------------------------------------------------------------
-
-Solve AX=B, where B is n-by-10, and sparse, using umfpack_btf
-Difference between UMFPACK and MATLAB solution: 8.51541e-14
-
---------------------------------------------------------------
-
-Solve A'X=B, where B is n-by-10, and sparse
-Difference between UMFPACK and MATLAB solution: 7.99291e-14
-
---------------------------------------------------------------
-det(A): -4.07453e-05  UMFPACK determinant: -4.07453e-05
->> 
->> diary off
--- a/liboctave/UMFPACK/UMFPACK/MATLAB/umfpack_details.m	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +0,0 @@
-function [out1, out2, out3, out4, out5] = umfpack (in1, in2, in3, in4, in5)
-% UMFPACK v4.4:  details on each usage.
-%
-% Factor or solve a sparse linear system, returning either the solution x to
-% Ax=b or A'x'=b', the factorization LU=PAQ, or LU=P(R\A)Q.  A must be sparse.
-% For the solve, A must be square and b must be a dense n-by-1 vector.  For LU
-% factorization, A can be rectangular.  In both cases, A and/or b can be real
-% or complex.
-%
-% UMFPACK analyzes the matrix and selects one of three strategies to factorize
-% the matrix.  It first finds a set of k initial pivot entries of zero Markowitz
-% cost.  This forms the first k rows and columns of L and U.  The remaining
-% submatrix S is then analyzed, based on the symmetry of the nonzero pattern of
-% the submatrix and the values on the diagaonal.  The strategies include:
-%
-%	(1) unsymmetric:  use a COLAMD pre-ordering, a column elimination tree
-%	    post-ordering, refine the column ordering during factorization,
-%	    and make no effort at selecting pivots on the diagonal.
-%	(2) 2-by-2:  like the symmetric strategy (see below), except that local
-%	    row permutations are first made to attempt to place large entries
-%	    on the diagonal.
-%	(3) symmetric:  use an AMD pre-ordering on the matrix S+S', an
-%	    elimination tree post-ordering, do not refine the column ordering
-%	    during factorization, and attempt to select pivots on the diagonal.
-%
-% Each of the following uses of umfpack (except for "Control = umfpack") is
-% stand-alone.  That is, no call to umfpack is required for any subsequent
-% call.  In each usage, the Info output argument is optional.
-%
-% Usage:
-%
-% [x, Info] = umfpack (A, '\', b) ;
-% [x, Info] = umfpack (A, '\', b, Control) ;
-% [x, Info] = umfpack (A, Qinit, '\', b, Control) ;
-% [x, Info] = umfpack (A, Qinit, '\', b) ;
-%
-%       Solves Ax=b (similar to x = A\b in MATLAB).
-%
-% [x, Info] = umfpack (b, '/', A) ;
-% [x, Info] = umfpack (b, '/', A, Control) ;
-% [x, Info] = umfpack (b, '/', A, Qinit) ;
-% [x, Info] = umfpack (b, '/', A, Qinit, Control) ;
-%
-%       Solves A'x'=b' (similar to x = b/A in MATLAB).
-%
-% [L, U, P, Q, R, Info] = umfpack (A) ;
-% [L, U, P, Q, R, Info] = umfpack (A, Control) ;
-% [L, U, P, Q, R, Info] = umfpack (A, Qinit) ;
-% [L, U, P, Q, R, Info] = umfpack (A, Qinit, Control) ;
-%
-%       Returns the LU factorization of A.  P and Q are returned as permutation
-%       matrices.  R is a diagonal sparse matrix of scale factors for the rows
-%	of A, L is lower triangular, and U is upper triangular.  The
-%	factorization is L*U = P*(R\A)*Q.  You can turn off scaling by setting
-%	Control (17) to zero (in which case R = speye (m)), or by using the
-%	following syntaxes (in which case Control (17) is ignored):
-%
-% [L, U, P, Q] = umfpack (A) ;
-% [L, U, P, Q] = umfpack (A, Control) ;
-% [L, U, P, Q] = umfpack (A, Qinit) ;
-% [L, U, P, Q] = umfpack (A, Qinit, Control) ;
-%
-%       Same as above, except that no row scaling is performed.  The Info array
-%	is not returned, either.
-%
-% [P1, Q1, Fr, Ch, Info] = umfpack (A, 'symbolic') ;
-% [P1, Q1, Fr, Ch, Info] = umfpack (A, 'symbolic', Control) ;
-% [P1, Q1, Fr, Ch, Info] = umfpack (A, Qinit, 'symbolic') ;
-% [P1, Q1, Fr, Ch, Info] = umfpack (A, Qinit, 'symbolic', Control);
-%
-%       Performs only the fill-reducing column pre-ordering (including the
-%       elimination tree post-ordering) and symbolic factorization.  Q1 is the
-%	initial column permutation (either from colamd, amd, or the input
-%	ordering Qinit), possibly followed by a column elimination tree post-
-%	ordering or a symmetric elimination tree post-ordering, depending on
-%	the strategy used.
-%
-%	For the unsymmetric strategy, P1 is the row ordering induced by Q1
-%	(row-merge order). For the 2-by-2 strategy, P1 is the row ordering that
-%	places large entries on the diagonal of P1*A*Q1.  For the symmetric
-%	strategy, P1 = Q1.
-%
-%       Fr is a (nfr+1)-by-4 array containing information about each frontal
-%       matrix, where nfr <= n is the number of frontal matrices.  Fr (:,1) is
-%       the number of pivot columns in each front, and Fr (:,2) is the parent
-%       of each front in the supercolumn elimination tree.  Fr (k,2) is zero if
-%       k is a root.  The first Fr (1,1) columns of P1*A*Q1 are the pivot
-%       columns for the first front, the next Fr (2,1) columns of P1*A*Q1
-%       are the pivot columns for the second front, and so on.
-%
-%	For the unsymmetric strategy, Fr (:,3) is the row index of the first
-%	row in P1*A*Q1 whose leftmost nonzero entry is in a pivot column for
-%	the kth front.  Fr (:,4) is the leftmost descendent of the kth front.
-%	Rows in the range Fr (Fr (k,4),3) to Fr (k+1,3)-1 form the entire set
-%	of candidate pivot rows for the kth front (some of these will typically
-%	have been selected as pivot rows of fronts Fr (k,3) to k-1, before the
-%	factorization reaches the kth front.  If front k is a leaf node, then
-%	Fr (k,4) is k.
-%
-%       Ch is a (nchains+1)-by-3 array containing information about each "chain"
-%       (unifrontal sequence) of frontal matrices, and where nchains <= nfr
-%       is the number of chains.  The ith chain consists of frontal matrices.
-%       Chain (i,1) to Chain (i+1,1)-1, and the largest front in chain i is
-%       Chain (i,2)-by-Chain (i,3).
-%
-%       This use of umfpack is not required to factor or solve a linear system
-%       in MATLAB.  It analyzes the matrix A and provides information only.
-%       The MATLAB statement "treeplot (Fr (:,2)')" plots the column elimination
-%       tree.
-%
-% Control = umfpack ;
-%
-%       Returns a 20-by-1 vector of default parameter settings for umfpack.
-%
-% umfpack_report (Control, Info) ;
-%
-%       Prints the current Control settings, and Info
-%
-% det = umfpack (A, 'det') ;
-% [det dexp] = umfpack (A, 'det') ;
-%
-%	Computes the determinant of A.  The 2nd form returns the determinant
-%	in the form det*10^dexp, where det is in the range +/- 1 to 10,
-%	which helps to avoid overflow/underflow when dexp is out of range of
-%	normal floating-point numbers.
-%
-% If present, Qinit is a user-supplied 1-by-n permutation vector.  It is an
-% initial fill-reducing column pre-ordering for A; if not present, then colamd
-% or amd are used instead.  If present, Control is a user-supplied 20-by-1
-% array.   Control and Info are optional; if Control is not present, defaults
-% are used.  If a Control entry is NaN, then the default is used for that entry.
-%
-%
-% UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.
-% All Rights Reserved.  Type umfpack_details for License.
-%
-% UMFPACK License:
-%
-%     Your use or distribution of UMFPACK or any modified version of
-%     UMFPACK implies that you agree to this License.
-%
-%     THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
-%     EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
-%
-%     Permission is hereby granted to use or copy this program, provided
-%     that the Copyright, this License, and the Availability of the original
-%     version is retained on all copies.  User documentation of any code that
-%     uses UMFPACK or any modified version of UMFPACK code must cite the
-%     Copyright, this License, the Availability note, and "Used by permission."
-%     Permission to modify the code and to distribute modified code is granted,
-%     provided the Copyright, this License, and the Availability note are
-%     retained, and a notice that the code was modified is included.  This
-%     software was developed with support from the National Science Foundation,
-%     and is provided to you free of charge.
-%
-% Availability: http://www.cise.ufl.edu/research/sparse/umfpack
-%
-% See also umfpack, umfpack_make, umfpack_report,
-%    umfpack_demo, and umfpack_simple.
-
-more on
-help umfpack_details
-more off
-
--- a/liboctave/UMFPACK/UMFPACK/MATLAB/umfpack_make.m	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,356 +0,0 @@
-function umfpack_make
-% UMFPACK_MAKE
-%
-% Compiles the UMFPACK mexFunction and then runs a simple demo.
-%
-% See also: umfpack, umfpack_details, umfpack_report, umfpack_demo, and
-% umfpack_simple.
-%
-% UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.
-% All Rights Reserved.  Type umfpack_details for License.
-
-help umfpack_make
-
-fprintf ('\n--------------------------------------------------------------\n') ;
-fprintf ('Now compiling the UMFPACK and AMD mexFunctions.\n') ;
-fprintf ('--------------------------------------------------------------\n') ;
-
-try
-    % ispc does not appear in MATLAB 5.3
-    pc = ispc ;
-catch
-    % if ispc fails, assume we aren't on a Windows PC.
-    pc = 0 ;
-end
-
-obj = 'o' ;
-blas_lib = '' ;
-if (pc)
-    obj = 'obj' ;
-end
-
-%-------------------------------------------------------------------------------
-% BLAS option
-%-------------------------------------------------------------------------------
-
-msg = [ ...
-    '\nUsing the BLAS is faster, but might not compile correctly.\n', ...
-    'If you get an error stating that dgemm, dgemv, dger, zgemm,\n', ...
-    'zgemv, and/or zger are not defined, then recompile without the\n', ...
-    'BLAS.  You can ignore warnings that these routines are implicitly\n', ...
-    'declared.\n\nPlease select one of the following options: \n', ...
-    '   1:  attempt to compile with the BLAS (default)\n', ...
-    '   2:  do not use the BLAS\n'] ;
-fprintf (msg) ;
-blas = input (': ') ;
-if (isempty (blas))
-    blas = 1 ;
-end
-if (blas == 1)
-    % try to link to MATLAB's built-in BLAS
-    blas = '' ;
-    if (pc)
-        % the default lcc compiler needs this library to access the BLAS
-        blas_lib = ' libmwlapack.lib' ;
-        msg = [ ...
-        '\nCheck to see if you have a file called libmwlapack.lib in the\n', ...
-        '<matlab>\\extern\\lib\\win32\\lcc\\ directory, where <matlab> is ', ...
-        'the\ndirectory where MATLAB is installed.  If a file of that ', ...
-        'name is already\nthere, then you don''t have to do anything.  ', ...
-        'Otherwise, you must first\ncopy the libmwlapack.lib file from ', ...
-        'the umfpack\\lcc_lib\\ directory to the\n', ...
-        '<matlab>\\extern\\lib\\win32\\lcc\\ directory.  Next, type\n\n', ...
-        '    mex -setup\n\n', ...
-        'at the MATLAB prompt, and ask MATLAB to select the lcc compiler.  ',...
-        'You can skip\nall of this if you have already done it, or have ', ...
-        'configured mex to use\na different compiler.  If you are using ', ...
-        'Norton anti-virus software on Windows\n98SE, then you need to ', ...
-        'exit MATLAB, turn off virus checking, and restart MATLAB\n', ...
-        'before you can use the mex command or compile UMFPACK.\n', ...
-        'You may also need to turn off virus checking in other cases.\n', ...
-        '\nHit enter to continue, or type control-C if you do not wish to '] ;
-        fprintf (msg) ;
-        input ('proceed: ') ;
-    end
-    fprintf ('\nUsing the BLAS (recommended).\n') ;
-else
-    % No BLAS
-    fprintf ('\nNot using the BLAS.  UMFPACK will be slow.\n') ;
-    blas = ' -DNBLAS' ;
-end
-
-%-------------------------------------------------------------------------------
-% -DNUTIL option (using utMalloc or mxMalloc)
-%-------------------------------------------------------------------------------
-
-utils = '' ;
-
-if (~pc)
-    msg = [ ...
-    '--------------------------------------------------------------\n', ...
-    '\nUMFPACK uses MATLAB''s memory allocation routines.  The internal', ...
-    '\nutMalloc, utFree, and utRealloc allow for better use of memory,', ...
-    '\nbut they are internal utility routines that are not documented.\n', ...
-    'Thus, they might not always work.  Using mxMalloc, mxFree, and\n', ...
-    'mxRealloc works, but UMFPACK might run out of memory when solving\n', ...
-    'problems that it could otherwise solve.  Try using the default.\n', ...
-    'If you get an error stating that utMalloc, utFree, and/or\n', ...
-    'utRealloc are not defined, then recompile with the mx* routines.\n', ...
-    '\nPlease select one of the following options:\n', ...
-    '    1:  attempt to use the ut* routines (default)\n', ...
-    '    2:  use the standard mx* routines\n'] ;
-    fprintf (msg) ;
-    utils = input (': ') ;
-    if (isempty (utils))
-	utils = 1 ;
-    end
-    if (utils == 2)
-        fprintf ('\nNot using utMalloc, utFree, or utRealloc\n') ;
-        utils = ' -DNUTIL' ;
-    else
-        fprintf ('\nUsing utMalloc, utFree, and utRealloc\n') ;
-        utils = '' ;
-    end
-end
-
-%-------------------------------------------------------------------------------
-% -DNPOSIX option (for sysconf and times timer routines)
-%-------------------------------------------------------------------------------
-
-posix = '' ;
-
-if (~pc)
-    msg = [ ...
-    '--------------------------------------------------------------\n', ...
-    '\nUMFPACK can use the POSIX routines sysconf () and times ()\n', ...
-    'to provide CPU time and wallclock time statistics.  If you do not\n', ...
-    'have a POSIX-compliant operating system, then UMFPACK won''t\n', ...
-    'compile.  If you don''t know which option to pick, try the\n', ...
-    'default.  If you get an error saying that sysconf and/or times\n', ...
-    'are not defined, then recompile with the non-POSIX option.\n', ...
-    '\nPlease select one of the following options:\n', ...
-    '    1:  use POSIX sysconf and times routines (default)\n', ...
-    '    2:  do not use POSIX routines\n'] ;
-    fprintf (msg) ;
-    posix = input (': ') ;
-    if (isempty (posix))
-	posix = 1 ;
-    end
-    if (posix == 2)
-        fprintf ('\nNot using POSIX sysconf and times routines.\n') ;
-        posix = ' -DNPOSIX' ;
-    else
-        fprintf ('\nUsing POSIX sysconf and times routines.\n') ;
-        posix = '' ;
-    end
-end
-
-%-------------------------------------------------------------------------------
-% mex command
-%-------------------------------------------------------------------------------
-
-umfdir = sprintf ('..%sSource%s', filesep, filesep) ;
-amddir = sprintf ('..%s..%sAMD%sSource%s', filesep, filesep, filesep, filesep) ;
-incdir = sprintf ( ...
-' -I..%sInclude -I..%sSource -I..%s..%sAMD%sInclude -I..%s..%sAMD%sSource', ...
-filesep,filesep,  filesep, filesep, filesep, filesep, filesep, filesep) ;
-
-mx = sprintf ('mex -inline -O%s%s%s%s', blas, utils, posix, incdir) ;
-msg = [ ...
-    '--------------------------------------------------------------\n', ...
-    '\nCompile options:\n%s\nNow compiling.  Please wait.\n'] ;
-fprintf (msg, mx) ;
-
-% The following is adapted from GNUmakefile
-
-%-------------------------------------------------------------------------------
-% source files
-%-------------------------------------------------------------------------------
-
-% non-user-callable umf_*.[ch] files:
-umfch = { 'assemble', 'blas3_update', ...
-        'build_tuples', 'create_element', ...
-        'dump', 'extend_front', 'garbage_collection', ...
-        'get_memory', 'init_front', 'kernel', ...
-        'kernel_init', 'kernel_wrapup', ...
-        'local_search', 'lsolve', 'ltsolve', ...
-        'mem_alloc_element', 'mem_alloc_head_block', ...
-        'mem_alloc_tail_block', 'mem_free_tail_block', ...
-        'mem_init_memoryspace', ...
-        'report_vector', 'row_search', 'scale_column', ...
-        'set_stats', 'solve', 'symbolic_usage', 'transpose', ...
-        'tuple_lengths', 'usolve', 'utsolve', 'valid_numeric', ...
-        'valid_symbolic', 'grow_front', 'start_front', '2by2', ...
-	'store_lu', 'scale' } ;
-
-% non-user-callable umf_*.[ch] files, int versions only (no real/complex):
-umfint = { 'analyze', 'apply_order', 'colamd', 'free', 'fsize', ...
-        'is_permutation', 'malloc', 'realloc', 'report_perm', ...
-	'singletons' } ;
-
-% non-user-callable and user-callable amd_*.[ch] files (int versions only):
-amd = { 'aat', '1', '2', 'dump', 'postorder', 'post_tree', 'defaults', ...
-        'order', 'control', 'info', 'valid', 'preprocess' } ;
-
-% user-callable umfpack_*.[ch] files (real/complex):
-user = { 'col_to_triplet', 'defaults', 'free_numeric', ...
-        'free_symbolic', 'get_numeric', 'get_lunz', ...
-        'get_symbolic', 'get_determinant', 'numeric', 'qsymbolic', ...
-        'report_control', 'report_info', 'report_matrix', ...
-        'report_numeric', 'report_perm', 'report_status', ...
-        'report_symbolic', 'report_triplet', ...
-        'report_vector', 'solve', 'symbolic', ...
-        'transpose', 'triplet_to_col', 'scale' ...
-	'load_numeric', 'save_numeric', 'load_symbolic', 'save_symbolic' } ;
-
-% user-callable umfpack_*.[ch], only one version
-generic = { 'timer', 'tictoc' } ;
-
-M = cell (0) ;
-
-%-------------------------------------------------------------------------------
-% Create the umfpack and amd mexFunctions for MATLAB (int versions only)
-%-------------------------------------------------------------------------------
-
-for k = 1:length(umfint)
-    M = make (M, '%s -DDINT -c %sumf_%s.c', 'umf_%s.%s', 'umf_%s_%s.%s', ...
-        mx, umfint {k}, umfint {k}, 'm', obj, umfdir) ;
-end
-
-rules = { [mx ' -DDINT'] , [mx ' -DZINT'] } ;
-kinds = { 'md', 'mz' } ;
-
-for what = 1:2
-
-    rule = rules {what} ;
-    kind = kinds {what} ;
-
-    M = make (M, '%s -DCONJUGATE_SOLVE -c %sumf_%s.c', 'umf_%s.%s', ...
-        'umf_%s_%s.%s', rule, 'ltsolve', 'lhsolve', kind, obj, umfdir) ;
-
-    M = make (M, '%s -DCONJUGATE_SOLVE -c %sumf_%s.c', 'umf_%s.%s', ...
-        'umf_%s_%s.%s', rule, 'utsolve', 'uhsolve', kind, obj, umfdir) ;
-
-    M = make (M, '%s -DDO_MAP -c %sumf_%s.c', 'umf_%s.%s', ...
-        'umf_%s_%s_map_nox.%s', rule, 'triplet', 'triplet', kind, obj, umfdir) ;
-
-    M = make (M, '%s -DDO_VALUES -c %sumf_%s.c', 'umf_%s.%s', ...
-        'umf_%s_%s_nomap_x.%s', rule, 'triplet', 'triplet', kind, obj, umfdir) ;
-
-    M = make (M, '%s -c %sumf_%s.c', 'umf_%s.%s',  ...
-        'umf_%s_%s_nomap_nox.%s', rule, 'triplet', 'triplet', kind, obj, ...
-	umfdir) ;
-
-    M = make (M, '%s -DDO_MAP -DDO_VALUES -c %sumf_%s.c', 'umf_%s.%s', ...
-        'umf_%s_%s_map_x.%s', rule, 'triplet', 'triplet', kind, obj, umfdir) ;
-
-    M = make (M, '%s -DFIXQ -c %sumf_%s.c', 'umf_%s.%s', ...
-	'umf_%s_%s_fixq.%s', rule, 'assemble', 'assemble', kind, obj, umfdir) ;
-
-    M = make (M, '%s -DDROP -c %sumf_%s.c', 'umf_%s.%s', ...
-	'umf_%s_%s_drop.%s', rule, 'store_lu', 'store_lu', kind, obj, umfdir) ;
-
-    for k = 1:length(umfch)
-        M = make (M, '%s -c %sumf_%s.c', 'umf_%s.%s', 'umf_%s_%s.%s', ...
-            rule, umfch {k}, umfch {k}, kind, obj, umfdir) ;
-    end
-
-    M = make (M, '%s -DWSOLVE -c %sumfpack_%s.c', 'umfpack_%s.%s', ...
-        'umfpack_%s_w%s.%s', rule, 'solve', 'solve', kind, obj, umfdir) ;
-
-    for k = 1:length(user)
-        M = make (M, '%s -c %sumfpack_%s.c', 'umfpack_%s.%s', ...
-            'umfpack_%s_%s.%s', rule, user {k}, user {k}, kind, obj, umfdir) ;
-    end
-end
-
-for k = 1:length(generic)
-    M = make (M, '%s -c %sumfpack_%s.c', 'umfpack_%s.%s', ...
-	'umfpack_%s_%s.%s', mx, generic {k}, generic {k}, 'm', obj, umfdir) ;
-end
-
-%----------------------------------------
-% AMD routines (int only)
-%----------------------------------------
-
-for k = 1:length(amd)
-    M = make (M, '%s -DDINT -c %samd_%s.c', 'amd_%s.%s', 'amd_%s_%s.%s', ...
-        mx, amd {k}, amd {k}, 'm', obj, amddir) ;
-end
-
-%----------------------------------------
-% compile the umfpack mexFunction
-%----------------------------------------
-
-C = sprintf ('%s -output umfpack umfpackmex.c', mx) ;
-for i = 1:length (M)
-    C = [C ' ' (M {i})] ;
-end
-C = [C ' ' blas_lib] ;
-cmd (C) ;
-
-%----------------------------------------
-% delete the object files
-%----------------------------------------
-
-for i = 1:length (M)
-    rmfile (M {i}) ;
-end
-
-%----------------------------------------
-% compile the luflop mexFunction
-%----------------------------------------
-
-cmd (sprintf ('%s -output luflop luflopmex.c', mx)) ;
-
-fprintf ('\n\nCompilation has completed.  Now trying the umfpack_simple demo.\n');
-umfpack_simple
-
-%-------------------------------------------------------------------------------
-% rmfile:  delete a file, but only if it exists
-%-------------------------------------------------------------------------------
-
-function rmfile (file)
-if (length (dir (file)) > 0)
-    delete (file) ;
-end
-
-%-------------------------------------------------------------------------------
-% cpfile:  copy the src file to the filename dst, overwriting dst if it exists
-%-------------------------------------------------------------------------------
-
-function cpfile (src, dst)
-rmfile (dst)
-if (length (dir (src)) == 0)
-    help umfpack_make
-    error (sprintf ('File does not exist: %s\n', src)) ;
-end
-copyfile (src, dst) ;
-
-%-------------------------------------------------------------------------------
-% mvfile:  move the src file to the filename dst, overwriting dst if it exists
-%-------------------------------------------------------------------------------
-
-function mvfile (src, dst)
-cpfile (src, dst) ;
-rmfile (src) ;
-
-%-------------------------------------------------------------------------------
-% cmd:  display and execute a command
-%-------------------------------------------------------------------------------
-
-function cmd (s)
-fprintf ('.') ;
-eval (s) ;
-
-%-------------------------------------------------------------------------------
-% make:  execute a "make" command for a source file
-%-------------------------------------------------------------------------------
-
-function M = make (M, s, src, dst, rule, file1, file2, kind, obj, srcdir)
-cmd (sprintf (s, rule, srcdir, file1)) ;
-src = sprintf (src, file1, obj) ;
-dst = sprintf (dst, kind, file2, obj) ;
-mvfile (src, dst) ;
-M {end + 1} = dst ;
-
--- a/liboctave/UMFPACK/UMFPACK/MATLAB/umfpack_report.m	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,346 +0,0 @@
-function umfpack_report (Control, Info)
-% UMFPACK_REPORT
-%
-%       umfpack_report (Control, Info) ;
-%
-% Prints the current Control settings for umfpack, and the statistical
-% information returned by umfpack in the Info array.  If Control is
-% an empty matrix, then the default control settings are printed.
-%
-% Control is 20-by-1, and Info is 90-by-1.  Not all entries are used.
-%
-% Alternative usages:
-%
-%       umfpack_report ([ ], Info) ;    print the default control parameters
-%                                       and the Info array.
-%       umfpack_report (Control) ;      print the control parameters only.
-%       umfpack_report ;                print the default control parameters
-%                                       and an empty Info array.
-%
-% See also umfpack, umfpack_make, umfpack_details,
-% umfpack_demo, and umfpack_simple.
-
-% UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.
-% All Rights Reserved.  Type umfpack_details for License.
-
-%-------------------------------------------------------------------------------
-% get inputs, use defaults if input arguments not present
-%-------------------------------------------------------------------------------
-
-% The contents of Control and Info are defined in umfpack.h
-if (nargin < 1)
-    Control = [] ;
-end
-if (nargin < 2)
-    Info = [] ;
-end
-if (isempty (Control))
-    Control = umfpack ;
-end
-if (isempty (Info))
-    Info = [ 0 (-ones (1, 89)) ] ;
-end
-
-%-------------------------------------------------------------------------------
-% control settings
-%-------------------------------------------------------------------------------
-
-fprintf ('\nUMFPACK Version 4.4:  Control settings:\n\n') ;
-fprintf ('    Control (1): print level: %d\n', Control (1)) ;
-fprintf ('    Control (2): dense row parameter:    %g\n', Control (2)) ;
-fprintf ('       "dense" rows have    > max (16, (%g)*16*sqrt(n_col)) entries\n', Control (2)) ;
-fprintf ('    Control (3): dense column parameter: %g\n', Control (3)) ;
-fprintf ('       "dense" columns have > max (16, (%g)*16*sqrt(n_row)) entries\n', Control (3)) ;
-fprintf ('    Control (4): pivot tolerance: %g\n', Control (4)) ;
-fprintf ('    Control (5): max block size for dense matrix kernels: %d\n', Control (5)) ;
-prstrat ('    Control (6): strategy: %g ', Control (6)) ;
-fprintf ('    Control (7): initial allocation ratio: %g\n', Control (7)) ;
-fprintf ('    Control (8): max iterative refinement steps: %d\n', Control (8)) ;
-fprintf ('    Control (13): 2-by-2 pivot tolerance: %g\n', Control (13)) ;
-fprintf ('    Control (14): Q fixed during numeric factorization: %g ', Control (14)) ;
-if (Control (14) > 0)
-    fprintf ('(yes)\n') ;
-elseif (Control (14) < 0)
-    fprintf ('(no)\n') ;
-else
-    fprintf ('(auto)\n') ;
-end
-fprintf ('    Control (15): AMD dense row/column parameter: %g\n', Control (15)) ;
-fprintf ('       "dense" rows/columns in A+A'' have > max (16, (%g)*sqrt(n)) entries.\n', Control (15)) ;
-fprintf ('        Only used if the AMD ordering is used.\n') ;
-fprintf ('    Control (16): diagonal pivot tolerance: %g\n', Control (16)) ;
-fprintf ('        Only used if diagonal pivoting is attempted.\n') ;
-
-fprintf ('    Control (17): scaling option: %g ', Control (17)) ;
-if (Control (17) == 0)
-    fprintf ('(none)\n') ;
-elseif (Control (17) == 2)
-    fprintf ('(scale the matrix by\n') ;
-    fprintf ('        dividing each row by max. abs. value in each row)\n') ;
-else
-    fprintf ('(scale the matrix by\n') ;
-    fprintf ('        dividing each row by sum of abs. values in each row)\n') ;
-end
-
-fprintf ('    Control (18): frontal matrix allocation ratio: %g\n', Control (18)) ;
-fprintf ('    Control (19): drop tolerance: %g\n', Control (19)) ;
-fprintf ('    Control (20): AMD and COLAMD aggressive absorption: %g ', Control (20)) ;
-yes_no (Control (20)) ;
-
-% compile-time options:
-
-fprintf ('\n  The following options can only be changed at compile-time:\n') ;
-
-if (Control (9) == 1)
-    fprintf ('    Control (9): compiled to use the BLAS\n') ;
-else
-    fprintf ('    Control (9): compiled without the BLAS\n') ;
-    fprintf ('        (you will not get the best possible performance)\n') ;
-end
-
-if (Control (10) == 1)
-    fprintf ('    Control (10): compiled for MATLAB\n') ;
-elseif (Control (10) == 2)
-    fprintf ('    Control (10): compiled for MATLAB\n') ;
-    fprintf ('        Uses internal utMalloc, utFree, utRealloc, utPrintf\n') ;
-    fprintf ('        utDivideComplex, and utFdlibm_hypot routines.\n') ;
-else
-    fprintf ('    Control (10): not compiled for MATLAB\n') ;
-    fprintf ('        Uses ANSI C malloc, free, realloc, and printf\n') ;
-    fprintf ('        instead of mxMalloc, mxFree, mxRealloc, and mexPrintf.\n') ;
-    fprintf ('        Printing will be in terms of 0-based matrix indexing,\n') ;
-    fprintf ('        not 1-based as is expected in MATLAB.  Diary output may\n') ;
-    fprintf ('        not be properly recorded.\n') ;
-end
-
-if (Control (11) == 2)
-    fprintf ('    Control (11): uses POSIX times ( ) to get CPU time and wallclock time.\n') ;
-elseif (Control (11) == 1)
-    fprintf ('    Control (11): uses getrusage to get CPU time.\n') ;
-else
-    fprintf ('    Control (11): uses ANSI C clock to get CPU time.\n') ;
-    fprintf ('        The CPU time may wrap around, type "help cputime".\n') ;
-end
-
-if (Control (12) == 1)
-    fprintf ('    Control (12): compiled with debugging enabled\n') ;
-    fprintf ('        ###########################################\n') ;
-    fprintf ('        ### This will be exceedingly slow! ########\n') ;
-    fprintf ('        ###########################################\n') ;
-    if (Control (10) == 1)
-        fprintf ('        Uses mxAssert.\n') ;
-    elseif (Control (10) == 2)
-        fprintf ('        Uses utAssert.\n') ;
-    else
-        fprintf ('        Uses ANSI C assert instead of mxAssert.\n') ;
-    end
-else
-    fprintf ('    Control (12): compiled for normal operation (no debugging)\n') ;
-end
-
-%-------------------------------------------------------------------------------
-% Info:
-%-------------------------------------------------------------------------------
-
-if (nargin == 1)
-    return
-end
-
-status = Info (1) ;
-fprintf ('\nUMFPACK status:  Info (1): %d, ', status) ;
-
-if (status == 0)
-    fprintf ('OK\n') ;
-elseif (status == 1)
-    fprintf ('WARNING  matrix is singular\n') ;
-elseif (status == -1)
-    fprintf ('ERROR    out of memory\n') ;
-elseif (status == -3)
-    fprintf ('ERROR    numeric LU factorization is invalid\n') ;
-elseif (status == -4)
-    fprintf ('ERROR    symbolic LU factorization is invalid\n') ;
-elseif (status == -5)
-    fprintf ('ERROR    required argument is missing\n') ;
-elseif (status == -6)
-    fprintf ('ERROR    n <= 0\n') ;
-elseif (status <= -7 & status >= -12 | status == -14)
-    fprintf ('ERROR    matrix A is corrupted\n') ;
-elseif (status == -13)
-    fprintf ('ERROR    invalid system\n') ;
-elseif (status == -15)
-    fprintf ('ERROR    invalid permutation\n') ;
-elseif (status == -911)
-    fprintf ('ERROR    internal error!\n') ;
-    fprintf ('Please report this error to Tim Davis (davis@cise.ufl.edu)\n') ;
-else
-    fprintf ('ERROR    unrecognized error.  Info array corrupted\n') ;
-end
-
-fprintf ('    (a -1 means the entry has not been computed):\n') ;
-
-fprintf ('\n  Basic statistics:\n') ;
-fprintf ('    Info (2):  %d, # of rows of A\n', Info (2)) ;
-fprintf ('    Info (17): %d, # of columns of A\n', Info (17)) ;
-fprintf ('    Info (3): %d, nnz (A)\n', Info (3)) ;
-fprintf ('    Info (4): %d, Unit size, in bytes, for memory usage reported below\n', Info (4)) ;
-fprintf ('    Info (5): %d, size of int (in bytes)\n', Info (5)) ;
-fprintf ('    Info (6): %d, size of long (in bytes)\n', Info (6)) ;
-fprintf ('    Info (7): %d, size of pointer (in bytes)\n', Info (7)) ;
-fprintf ('    Info (8): %d, size of numerical entry (in bytes)\n', Info (8)) ;
-
-fprintf ('\n  Pivots with zero Markowitz cost removed to obtain submatrix S:\n') ;
-fprintf ('    Info (57): %d, # of pivots with one entry in pivot column\n', Info (57)) ;
-fprintf ('    Info (58): %d, # of pivots with one entry in pivot row\n', Info (58)) ;
-fprintf ('    Info (59): %d, # of rows/columns in submatrix S (if square)\n', Info (59)) ;
-fprintf ('    Info (60): %d ') ;
-if (Info (60) > 0)
-    fprintf ('submatrix S square and diagonal preserved\n') ;
-elseif (Info  (60) == 0)
-    fprintf ('submatrix S not square or diagonal not preserved\n') ;
-else
-    fprintf ('\n') ;
-end
-fprintf ('    Info (9):  %d, # of "dense" rows in S\n', Info (9)) ;
-fprintf ('    Info (10): %d, # of empty rows in S\n', Info (10)) ;
-fprintf ('    Info (11): %d, # of "dense" columns in S\n', Info (11)) ;
-fprintf ('    Info (12): %d, # of empty columns in S\n', Info (12)) ;
-fprintf ('    Info (34): %g, symmetry of pattern of S\n', Info (34)) ;
-fprintf ('    Info (35): %d, # of off-diagonal nonzeros in S+S''\n', Info (35)) ;
-fprintf ('    Info (36): %d, nnz (diag (S))\n', Info (36)) ;
-
-fprintf ('\n  2-by-2 pivoting to place large entries on diagonal:\n') ;
-fprintf ('    Info (52): %d, # of small diagonal entries of S\n', Info (52)) ;
-fprintf ('    Info (53): %d, # of unmatched small diagonal entries\n', Info (53)) ;
-fprintf ('    Info (54): %g, symmetry of P2*S\n', Info (54)) ;
-fprintf ('    Info (55): %d, # of off-diagonal entries in (P2*S)+(P2*S)''\n', Info (55)) ;
-fprintf ('    Info (56): %d, nnz (diag (P2*S))\n', Info (56)) ;
-
-fprintf ('\n  AMD results, for strict diagonal pivoting:\n') ;
-fprintf ('    Info (37): %d, est. nz in L and U\n', Info (37)) ;
-fprintf ('    Info (38): %g, est. flop count\n', Info (38)) ;
-fprintf ('    Info (39): %g, # of "dense" rows in S+S''\n', Info (39)) ;
-fprintf ('    Info (40): %g, est. max. nz in any column of L\n', Info (40)) ;
-
-fprintf ('\n  Final strategy selection, based on the analysis above:\n') ;
-prstrat ('    Info (19): %d, strategy used ', Info (19)) ;
-fprintf ('    Info (20): %d, ordering used ', Info (20)) ;
-if (Info (20) == 0)
-    fprintf ('(COLAMD on A)\n') ;
-elseif (Info (20) == 1)
-    fprintf ('(AMD on A+A'')\n') ;
-elseif (Info (20) == 2)
-    fprintf ('(provided by user)\n') ;
-else
-    fprintf ('(undefined ordering option)\n') ;
-end
-fprintf ('    Info (32): %d, Q fixed during numeric factorization: ', Info (32)) ;
-yes_no (Info (32)) ;
-fprintf ('    Info (33): %d, prefer diagonal pivoting: ', Info (33)) ;
-yes_no (Info (33)) ;
-
-fprintf ('\n  symbolic analysis time and memory usage:\n') ;
-fprintf ('    Info (13): %d, defragmentations during symbolic analysis\n', Info (13)) ;
-fprintf ('    Info (14): %d, memory used during symbolic analysis (Units)\n', Info (14)) ;
-fprintf ('    Info (15): %d, final size of symbolic factors (Units)\n', Info (15)) ;
-fprintf ('    Info (16): %.2f, symbolic analysis CPU time (seconds)\n', Info (16)) ;
-fprintf ('    Info (18): %.2f, symbolic analysis wall clock time (seconds)\n', Info (18)) ;
-
-fprintf ('\n  Estimates computed in the symbolic analysis:\n') ;
-fprintf ('    Info (21): %d, est. size of LU factors (Units)\n', Info (21)) ;
-fprintf ('    Info (22): %d, est. total peak memory usage (Units)\n', Info (22)) ;
-fprintf ('    Info (23): %d, est. factorization flop count\n', Info (23)) ;
-fprintf ('    Info (24): %d, est. nnz (L)\n', Info (24)) ;
-fprintf ('    Info (25): %d, est. nnz (U)\n', Info (25)) ;
-fprintf ('    Info (26): %d, est. initial size, variable-part of LU (Units)\n', Info (26)) ;
-fprintf ('    Info (27): %d, est. peak size, of variable-part of LU (Units)\n', Info (27)) ;
-fprintf ('    Info (28): %d, est. final size, of variable-part of LU (Units)\n', Info (28)) ;
-fprintf ('    Info (29): %d, est. max frontal matrix size (# of entries)\n', Info (29)) ;
-fprintf ('    Info (30): %d, est. max # of rows in frontal matrix\n', Info (30)) ;
-fprintf ('    Info (31): %d, est. max # of columns in frontal matrix\n', Info (31)) ;
-
-fprintf ('\n  Computed in the numeric factorization (estimates shown above):\n') ;
-fprintf ('    Info (41): %d, size of LU factors (Units)\n', Info (41)) ;
-fprintf ('    Info (42): %d, total peak memory usage (Units)\n', Info (42)) ;
-fprintf ('    Info (43): %d, factorization flop count\n', Info (43)) ;
-fprintf ('    Info (44): %d, nnz (L)\n', Info (44)) ;
-fprintf ('    Info (45): %d, nnz (U)\n', Info (45)) ;
-fprintf ('    Info (46): %d, initial size of variable-part of LU (Units)\n', Info (46)) ;
-fprintf ('    Info (47): %d, peak size of variable-part of LU (Units)\n', Info (47)) ;
-fprintf ('    Info (48): %d, final size of variable-part of LU (Units)\n', Info (48)) ;
-fprintf ('    Info (49): %d, max frontal matrix size (# of numerical entries)\n', Info (49)) ;
-fprintf ('    Info (50): %d, max # of rows in frontal matrix\n', Info (50)) ;
-fprintf ('    Info (51): %d, max # of columns in frontal matrix\n', Info (51)) ;
-
-fprintf ('\n  Computed in the numeric factorization (no estimates computed a priori):\n') ;
-fprintf ('    Info (61): %d, defragmentations during numeric factorization\n', Info (61)) ;
-fprintf ('    Info (62): %d, reallocations during numeric factorization\n', Info (62)) ;
-fprintf ('    Info (63): %d, costly reallocations during numeric factorization\n', Info (63)) ;
-fprintf ('    Info (64): %d, integer indices in compressed pattern of L and U\n', Info (64)) ;
-fprintf ('    Info (65): %d, numerical values stored in L and U\n', Info (65)) ;
-fprintf ('    Info (66): %.2f, numeric factorization CPU time (seconds)\n', Info (66)) ;
-fprintf ('    Info (76): %.2f, numeric factorization wall clock time (seconds)\n', Info (76)) ;
-if (Info (66) > 0.05 & Info (43) > 0)
-fprintf ('    mflops in numeric factorization phase: %.2f\n', 1e-6 * Info (43) / Info (66)) ;
-end
-fprintf ('    Info (67): %d, nnz (diag (U))\n', Info (67)) ;
-fprintf ('    Info (68): %g, reciprocal condition number estimate\n', Info (68)) ;
-fprintf ('    Info (69): %g, matrix was ', Info (69)) ;
-if (Info (69) == 0)
-    fprintf ('not scaled\n') ;
-elseif (Info (69) == 2)
-    fprintf ('scaled (row max)\n') ;
-else
-    fprintf ('scaled (row sum)\n') ;
-end
-fprintf ('    Info (70): %g, min. scale factor of rows of A\n', Info (70)) ;
-fprintf ('    Info (71): %g, max. scale factor of rows of A\n', Info (71)) ;
-fprintf ('    Info (72): %g, min. abs. on diagonal of U\n', Info (72)) ;
-fprintf ('    Info (73): %g, max. abs. on diagonal of U\n', Info (73)) ;
-fprintf ('    Info (74): %g, initial allocation parameter used\n', Info (74)) ;
-fprintf ('    Info (75): %g, # of forced updates due to frontal growth\n', Info (75)) ;
-fprintf ('    Info (77): %d, # of off-diaogonal pivots\n', Info (77)) ;
-fprintf ('    Info (78): %d, nnz (L), if no small entries dropped\n', Info (78)) ;
-fprintf ('    Info (79): %d, nnz (U), if no small entries dropped\n', Info (79)) ;
-fprintf ('    Info (80): %d, # of small entries dropped\n', Info (80)) ;
-
-fprintf ('\n  Computed in the solve step:\n') ;
-fprintf ('    Info (81): %d, iterative refinement steps taken\n', Info (81)) ;
-fprintf ('    Info (82): %d, iterative refinement steps attempted\n', Info (82)) ;
-fprintf ('    Info (83): %g, omega(1), sparse-backward error estimate\n', Info (83)) ;
-fprintf ('    Info (84): %g, omega(2), sparse-backward error estimate\n', Info (84)) ;
-fprintf ('    Info (85): %d, solve flop count\n', Info (85)) ;
-fprintf ('    Info (86): %.2f, solve CPU time (seconds)\n', Info (86)) ;
-fprintf ('    Info (87): %.2f, solve wall clock time (seconds)\n', Info (87)) ;
-
-fprintf ('\n    Info (88:90): unused\n\n') ;
-
-%-------------------------------------------------------------------------------
-
-function prstrat (fmt, strategy)
-fprintf (fmt, strategy) ;
-if (strategy == 1)
-    fprintf ('(unsymmetric)\n') ;
-    fprintf ('        Q = COLAMD (A), Q refined during numerical\n') ;
-    fprintf ('        factorization, and no attempt at diagonal pivoting.\n') ;
-elseif (strategy == 2)
-    fprintf ('(symmetric, with 2-by-2 pivoting)\n') ;
-    fprintf ('        P2 = row permutation to place large values on the diagonal\n') ;
-    fprintf ('        Q = AMD (P2*A+(P2*A)''), Q not refined during numeric factorization,\n') ;
-    fprintf ('        and diagonal pivoting attempted.\n') ;
-elseif (strategy == 3)
-    fprintf ('(symmetric)\n') ;
-    fprintf ('        Q = AMD (A+A''), Q not refined during numeric factorization,\n') ;
-    fprintf ('        and diagonal pivoting (P=Q'') attempted.\n') ;
-else
-    strategy = 0 ;
-    fprintf ('(auto)\n') ;
-end
-
-%-------------------------------------------------------------------------------
-
-function yes_no (s)
-if (s == 0)
-    fprintf ('(no)\n') ;
-else
-    fprintf ('(yes)\n') ;
-end
--- a/liboctave/UMFPACK/UMFPACK/MATLAB/umfpack_simple.m	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-% umfpack_simple:  a simple demo of UMFPACK
-%
-% UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.
-% All Rights Reserved.  Type umfpack_details for License.
-%
-% UMFPACK License:
-%
-%     Your use or distribution of UMFPACK or any modified version of
-%     UMFPACK implies that you agree to this License.
-%
-%     THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
-%     EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
-%
-%     Permission is hereby granted to use or copy this program, provided
-%     that the Copyright, this License, and the Availability of the original
-%     version is retained on all copies.  User documentation of any code that
-%     uses UMFPACK or any modified version of UMFPACK code must cite the
-%     Copyright, this License, the Availability note, and "Used by permission."
-%     Permission to modify the code and to distribute modified code is granted,
-%     provided the Copyright, this License, and the Availability note are
-%     retained, and a notice that the code was modified is included.  This
-%     software was developed with support from the National Science Foundation,
-%     and is provided to you free of charge.
-%
-% Availability: http://www.cise.ufl.edu/research/sparse/umfpack
-%
-% See also: umfpack, umfpack_details
-
-help umfpack_simple
-i = input ('Hit enter to agree to the above License: ', 's') ;
-if (~isempty (i))
-    error ('terminating') ;
-end
-
-format short
-
-A = [
- 2  3  0  0  0
- 3  0  4  0  6
- 0 -1 -3  2  0
- 0  0  1  0  0
- 0  4  2  0  1
-]
-
-A = sparse (A) ;
-
-b = [8 45 -3 3 19]'
-
-fprintf ('Solution to Ax=b via UMFPACK:\n') ;
-fprintf ('x1 = umfpack (A, ''\\'', b)\n') ;
-
-x1 = umfpack (A, '\', b)
-
-fprintf ('Solution to Ax=b via MATLAB:\n') ;
-fprintf ('x2 = A\\b\n') ;
-
-x2 = A\b
-
-fprintf ('norm (x1-x2) should be small: %g\n', norm (x1-x2)) ;
-
-fprintf ('Type ''umfpack_demo'' for a full demo of UMFPACK\n') ;
--- a/liboctave/UMFPACK/UMFPACK/MATLAB/umfpack_simple.m.out	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
->> umfpack_simple
-  umfpack_simple:  a simple demo of UMFPACK
- 
-  UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.
-  All Rights Reserved.  Type umfpack_details for License.
- 
-  UMFPACK License:
- 
-      Your use or distribution of UMFPACK or any modified version of
-      UMFPACK implies that you agree to this License.
- 
-      THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
-      EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
- 
-      Permission is hereby granted to use or copy this program, provided
-      that the Copyright, this License, and the Availability of the original
-      version is retained on all copies.  User documentation of any code that
-      uses UMFPACK or any modified version of UMFPACK code must cite the
-      Copyright, this License, the Availability note, and "Used by permission."
-      Permission to modify the code and to distribute modified code is granted,
-      provided the Copyright, this License, and the Availability note are
-      retained, and a notice that the code was modified is included.  This
-      software was developed with support from the National Science Foundation,
-      and is provided to you free of charge.
- 
-  Availability: http://www.cise.ufl.edu/research/sparse/umfpack
- 
-  See also: umfpack, umfpack_details
-
-
-
-Hit enter to agree to the above License: 
-
-A =
-
-     2     3     0     0     0
-     3     0     4     0     6
-     0    -1    -3     2     0
-     0     0     1     0     0
-     0     4     2     0     1
-
-
-b =
-
-     8
-    45
-    -3
-     3
-    19
-
-Solution to Ax=b via UMFPACK:
-x1 = umfpack (A, '\', b)
-
-x1 =
-
-    1.0000
-    2.0000
-    3.0000
-    4.0000
-    5.0000
-
-Solution to Ax=b via MATLAB:
-x2 = A\b
-
-x2 =
-
-    1.0000
-    2.0000
-    3.0000
-    4.0000
-    5.0000
-
-norm (x1-x2) should be small: 1.28037e-15
-Type 'umfpack_demo' for a full demo of UMFPACK
->> diary off
--- a/liboctave/UMFPACK/UMFPACK/MATLAB/umfpack_solve.m	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-function x = umfpack_solve (arg1, op, arg2, Control)
-% UMFPACK_SOLVE
-%
-% x = umfpack_solve (A, '\', b, Control)
-% x = umfpack_solve (b, '/', A, Control)
-%
-% Computes x = A\b, or b/A, where A is square.  Uses UMFPACK if A is sparse.
-% The Control argument is optional.
-%
-% See also umfpack, umfpack_make, umfpack_details, umfpack_report,
-% and umfpack_simple.
-
-% UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.
-% All Rights Reserved.  Type umfpack_details for License.
-
-%-------------------------------------------------------------------------------
-% check inputs and get default control parameters
-%-------------------------------------------------------------------------------
-
-if (op == '\')
-    A = arg1 ;
-    b = arg2 ;
-elseif (op == '/')
-    A = arg2 ;
-    b = arg1 ;
-else
-    help umfack_solve
-    error ('umfpack_solve:  unrecognized operator') ;
-end
-
-[m n] = size (A) ;
-if (m ~= n)
-    help umfpack_solve
-    error ('umfpack_solve:  A must be square') ;
-end
-
-[m1 n1] = size (b) ;
-if ((op == '\' & n ~= m1) | (op == '/' & n1 ~= m))
-    help umfpack_solve
-    error ('umfpack_solve:  b has the wrong dimensions') ;
-end
-
-if (nargin < 4)
-    Control = umfpack ;
-end
-
-%-------------------------------------------------------------------------------
-% solve the system
-%-------------------------------------------------------------------------------
-
-if (op == '\')
-
-    if (~issparse (A))
-
-	% A is not sparse, so just use MATLAB
-	x = A\b ;
-
-    elseif (n1 == 1 & ~issparse (b))
-
-	% the UMFPACK '\' requires b to be a dense column vector
-	x = umfpack (A, '\', b, Control) ;
-
-    else
-
-	% factorize with UMFPACK and do the forward/back solves in MATLAB
-	[L, U, P, Q, R] = umfpack (A, Control) ;
-	x = Q * (U \ (L \ (P * (R \ b)))) ;
-
-    end
-
-else
-
-    if (~issparse (A))
-
-	% A is not sparse, so just use MATLAB
-	x = b/A ;
-
-    elseif (m1 == 1 & ~issparse (b))
-
-	% the UMFPACK '\' requires b to be a dense column vector
-	x = umfpack (b, '/', A, Control) ;
-
-    else
-
-	% factorize with UMFPACK and do the forward/back solves in MATLAB
-	% this mimics the behavior of x = b/A, except for the row scaling
-	[L, U, P, Q, R] = umfpack (A.', Control) ;
-	x = (Q * (U \ (L \ (P * (R \ (b.')))))).' ;
-
-	% an alternative method:
-	% [L, U, P, Q, r] = umfpack (A, Control) ;
-	% x = (R \ (P' * (L.' \ (U.' \ (Q' * b.'))))).' ;
-
-    end
-
-end
--- a/liboctave/UMFPACK/UMFPACK/MATLAB/umfpack_test.m	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,152 +0,0 @@
-% UMFPACK_TEST: test UMFPACK solve: b/A, A\b with iterative refinement
-% Requires the UFsparse package for downloading matrices from the UF
-% sparse matrix library.
-%
-% UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.
-% All Rights Reserved.  Type umfpack_details for License.
-
-index = UFget ;
-
-f = find (index.nrows == index.ncols) ;
-[ignore, i] = sort (index.nrows (f)) ;
-f = f (i) ;
-
-Control = umfpack ;
-Control (1) = 0 ;
-
-warning ('off', 'all') ;
-figure (1)
-clf
-
-
-for i = f
-
-    fprintf ('\nmatrix: %s %s %d\n', index.Group{i}, index.Name{i}, index.nrows(i)) ;
-
-    Prob = UFget (i) ;
-    A = Prob.A ;
-    n = size (A,1) ;
-
-    b = rand (1,n) ;
-    c = b' ;
-
-    try
-
-	%-----------------------------------------------------------------------
-	% symbolic factorization
-	%-----------------------------------------------------------------------
-
-	[P1, Q1, Fr, Ch, Info] = umfpack (A, 'symbolic') ;
-	subplot (2,2,1)
-	spy (A)
-	title ('A')
-
-	subplot (2,2,2)
-	treeplot (Fr (1:end-1,2)') ;
-	title ('supercolumn etree')
-
-	%-----------------------------------------------------------------------
-	% P(R\A)Q = LU
-	%-----------------------------------------------------------------------
-
-	[L,U,P,Q,R,Info] = umfpack (A) ;
-	err = lu_normest (P*(R\A)*Q, L, U) ;
-	fprintf ('norm est PR\\AQ-LU: %g relative: %g\n', ...
-	    err, err / norm (A,1)) ;
-
-	subplot (2,2,3)
-	spy (P*A*Q)
-	title ('PAQ') ;
-
-	cs = Info (57) ;
-	rs = Info (58) ;
-
-	subplot (2,2,4)
-	hold off
-	spy (L|U)
-	hold on
-	if (cs > 0)
-	    plot ([0 cs n n 0] + .5, [0 cs cs 0 0]+.5, 'c') ;
-	end
-	if (rs > 0)
-	    plot ([0 rs rs 0 0] + cs +.5, [cs cs+rs n n cs]+.5, 'r') ;
-	end
-
-	title ('LU factors')
-	drawnow
-
-	%-----------------------------------------------------------------------
-	% PAQ = LU
-	%-----------------------------------------------------------------------
-
-	[L,U,P,Q] = umfpack (A) ;
-	err = lu_normest (P*A*Q, L, U) ;
-	fprintf ('norm est PAQ-LU:   %g relative: %g\n', ...
-	    err, err / norm (A,1)) ;
-
-	%-----------------------------------------------------------------------
-	% solve
-	%-----------------------------------------------------------------------
-
-	x1 = b/A ;
-	y1 = A\c ;
-	m1 = norm (b-x1*A) ;
-	m2 = norm (A*y1-c) ;
-
-	% factor the transpose
-	Control (8) = 2 ;
-	[x, info] = umfpack (A', '\', c, Control) ;
-	lunz0 = info (44) + info (45) - info (67) ;
-	r = norm (A'*x-c) ;
-
-	fprintf (':: %8.2e  matlab: %8.2e %8.2e\n',  r, m1, m2) ;
-
-	% factor the original matrix and solve xA=b
-	for ir = 0:4
-	    Control (8) = ir ;
-	    [x, info] = umfpack (b, '/', A, Control) ;
-	    r = norm (b-x*A) ;
-	    if (ir == 0)
-		lunz1 = info (44) + info (45) - info (67) ;
-	    end
-	    fprintf ('%d: %8.2e %d %d\n', ir, r, info (81), info (82)) ;
-	end
-
-	% factor the original matrix and solve Ax=b
-	for ir = 0:4
-	    Control (8) = ir ;
-	    [x, info] = umfpack (A, '\', c, Control) ;
-	    r = norm (A*x-c) ;
-	    fprintf ('%d: %8.2e %d %d\n', ir, r, info (81), info (82)) ;
-	end
-
-	fprintf ('lunz trans %12d    no trans: %12d  trans/notrans: %10.4f\n', ...
-	    lunz0, lunz1, lunz0 / lunz1) ;
-
-	%-----------------------------------------------------------------------
-	% get the determinant
-	%-----------------------------------------------------------------------
-
-	det1 = det (A) ;
-	det2 = umfpack (A, 'det') ;
-	[det3 dexp3] = umfpack (A, 'det') ;
-	err = abs (det1-det2) ;
-	err3 = abs (det1 - (det3 * 10^dexp3)) ;
-	denom = det1 ;
-	if (denom == 0)
-	    denom = 1 ;
-	end
-	err = err / denom ;
-	err3 = err3 / denom ;
-	fprintf ('det:  %24.16e + (%24.16e)i MATLAB\n', real(det1), imag(det1)) ;
-	fprintf ('det:  %24.16e + (%24.16e)i umfpack\n',real(det2), imag(det2)) ;
-	fprintf ('det: (%24.16e + (%24.16e)i) * 10^(%g) umfpack\n', real(det3), imag(det3), dexp3) ;
-	fprintf ('diff %g %g\n', err, err3) ;
-
-    catch
-	fprintf ('failed\n') ;
-    end
-
-%   pause
-
-end
--- a/liboctave/UMFPACK/UMFPACK/MATLAB/umfpackmex.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1364 +0,0 @@
-/* ========================================================================== */
-/* === UMFPACK mexFunction ================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    MATLAB interface for umfpack.
-
-    Factor or solve a sparse linear system, returning either the solution
-    x to Ax=b or A'x'=b', or the factorization LU=P(R\A)Q or LU=PAQ.  A must be
-    sparse, with nonzero dimensions, but it may be complex, singular, and/or
-    rectangular.  b must be a dense n-by-1 vector (real or complex).
-    L is unit lower triangular, U is upper triangular, and R is diagonal.
-    P and Q are permutation matrices (permutations of an identity matrix).
-
-    The matrix A is scaled, by default.  Each row i is divided by r (i), where
-    r (i) is the sum of the absolute values of the entries in that row.  The
-    scaled matrix has an infinity norm of 1.  The scale factors r (i) are
-    returned in a diagonal sparse matrix.  If the factorization is:
-
-	[L, U, P, Q, R] = umfpack (A) ;
-
-    then the factorization is
-
-	L*U = P * (R \ A) * Q
-
-    This is safer than returning a matrix R such that L*U = P*R*A*Q, because
-    it avoids the division by small entries.  If r(i) is subnormal, multiplying
-    by 1/r(i) would result in an IEEE Infinity, but dividing by r(i) is safe.
-
-    The factorization
-
-	[L, U, P, Q] = umfpack (A) ;
-
-    returns LU factors such that L*U = P*A*Q, with no scaling.
-
-    See umfpack.m, umfpack_details.m, and umfpack.h for details.
-
-    Note that this mexFunction accesses only the user-callable UMFPACK routines.
-    Thus, is also provides another example of how user C code can access
-    UMFPACK.
-
-    If NO_TRANSPOSE_FORWARD_SLASH is not defined at compile time, then the
-    forward slash (/) operator acts almost like x = b/A in MATLAB 6.1.  It is
-    solved by factorizing the array transpose, and then x = (A.'\b.').' is
-    solved.  This is the default behavior (for historical reasons), since
-    factorizing A can behave perform much differently than factorizing its
-    transpose.
-
-    If NO_TRANSPOSE_FORWARD_SLASH is defined at compile time, then the forward
-    slash operator does not act like x=b/A in MATLAB 6.1.  It is solved by
-    factorizing A, and then solving via the transposed L and U matrices.
-    The solution is still x = (A.'\b.').', except that A is factorized instead
-    of A.'.
-
-    Modified for v4.3.1, Jan 10, 2005: default has been changed to
-    NO_TRANSPOSE_FORWARD_SLASH, to test iterative refinement for b/A.
-    v4.4: added method for computing the determinant.
-*/
-#define NO_TRANSPOSE_FORWARD_SLASH  /* default has changed for v4.3.1 */
-
-#include "umfpack.h"
-#include "mex.h"
-#include "matrix.h"
-#include <string.h>
-#include <math.h>
-#include <float.h>
-
-#define MIN(a,b) (((a) < (b)) ? (a) : (b))
-#define MAX(a,b) (((a) > (b)) ? (a) : (b))
-#define STRING_MATCH(s1,s2) (strcmp ((s1), (s2)) == 0)
-#ifndef TRUE
-#define TRUE (1)
-#endif
-#ifndef FALSE
-#define FALSE (0)
-#endif
-
-/* ========================================================================== */
-/* === error ================================================================ */
-/* ========================================================================== */
-
-/* Return an error message */
-
-static void error
-(
-    char *s,
-    int A_is_complex,
-    int nargout,
-    mxArray *pargout [ ],
-    double Control [UMFPACK_CONTROL],
-    double Info [UMFPACK_INFO],
-    int status,
-    int do_info
-)
-{
-    int i ;
-    double *OutInfo ;
-    if (A_is_complex)
-    {
-	umfpack_zi_report_status (Control, status) ;
-	umfpack_zi_report_info (Control, Info) ;
-    }
-    else
-    {
-	umfpack_di_report_status (Control, status) ;
-	umfpack_di_report_info (Control, Info) ;
-    }
-    if (do_info > 0)
-    {
-	/* return Info */
-	pargout [do_info] = mxCreateDoubleMatrix (1, UMFPACK_INFO, mxREAL) ;
-	OutInfo = mxGetPr (pargout [do_info]) ;
-	for (i = 0 ; i < UMFPACK_INFO ; i++)
-	{
-	    OutInfo [i] = Info [i] ;
-	}
-    }
-    mexErrMsgTxt (s) ;
-}
-
-
-/* ========================================================================== */
-/* === UMFPACK ============================================================== */
-/* ========================================================================== */
-
-void mexFunction
-(
-    int nargout,		/* number of outputs */
-    mxArray *pargout [ ],	/* output arguments */
-    int nargin,			/* number of inputs */
-    const mxArray *pargin [ ]	/* input arguments */
-)
-{
-
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    double Info [UMFPACK_INFO], Control [UMFPACK_CONTROL], dx, dz, dexp ;
-    double *Lx, *Lz, *Ux, *Uz, *Ax, *Az, *Bx, *Bz, *Xx, *Xz, *User_Control,
-	*p, *q, *OutInfo, *p1, *p2, *p3, *p4, *Ltx, *Ltz, *Rs, *Px, *Qx ;
-    void *Symbolic, *Numeric ;
-    int *Lp, *Li, *Up, *Ui, *Ap, *Ai, *P, *Q, do_solve, lnz, unz, nn, i,
-	transpose, size, do_info, do_numeric, *Front_npivcol, op, k, *Rp, *Ri,
-	*Front_parent, *Chain_start, *Chain_maxrows, *Chain_maxcols, nz, status,
-	nfronts, nchains, *Ltp, *Ltj, *Qinit, print_level, status2, no_scale,
-	*Front_1strow, *Front_leftmostdesc, n_row, n_col, n_inner, sys,
-	ignore1, ignore2, ignore3, A_is_complex, B_is_complex, X_is_complex,
-	*Pp, *Pi, *Qp, *Qi, do_recip, do_det ;
-    mxArray *Amatrix, *Bmatrix, *User_Control_matrix, *User_Qinit ;
-    char *operator, *operation ;
-    mxComplexity Atype, Xtype ;
-    char warning [200] ;
-
-#ifndef NO_TRANSPOSE_FORWARD_SLASH
-    int *Cp, *Ci ;
-    double *Cx, *Cz ;
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* get inputs A, b, and the operation to perform */
-    /* ---------------------------------------------------------------------- */
-
-    User_Control_matrix = (mxArray *) NULL ;
-    User_Qinit = (mxArray *) NULL ;
-
-    do_info = 0 ;
-    do_solve = FALSE ;
-    do_numeric = TRUE ;
-    transpose = FALSE ;
-    no_scale = FALSE ;
-    do_det = FALSE ;
-
-    /* find the operator */
-    op = 0 ;
-    for (i = 0 ; i < nargin ; i++)
-    {
-	if (mxIsChar (pargin [i]))
-	{
-	    op = i ;
-	    break ;
-	}
-    }
-
-    if (op > 0)
-    {
-	operator = mxArrayToString (pargin [op]) ;
-
-	if (STRING_MATCH (operator, "\\"))
-	{
-
-	    /* -------------------------------------------------------------- */
-	    /* matrix left divide, x = A\b */
-	    /* -------------------------------------------------------------- */
-
-	    /*
-		[x, Info] = umfpack (A, '\', b) ;
-		[x, Info] = umfpack (A, '\', b, Control) ;
-		[x, Info] = umfpack (A, Qinit, '\', b, Control) ;
-		[x, Info] = umfpack (A, Qinit, '\', b) ;
-	    */
-
-	    operation = "x = A\\b" ;
-	    do_solve = TRUE ;
-	    Amatrix = (mxArray *) pargin [0] ;
-	    Bmatrix = (mxArray *) pargin [op+1] ;
-
-	    if (nargout == 2)
-	    {
-		do_info = 1 ;
-	    }
-	    if (op == 2)
-	    {
-		User_Qinit = (mxArray *) pargin [1] ;
-	    }
-	    if ((op == 1 && nargin == 4) || (op == 2 && nargin == 5))
-	    {
-		User_Control_matrix = (mxArray *) pargin [nargin-1] ;
-	    }
-	    if (nargin < 3 || nargin > 5 || nargout > 2)
-	    {
-		mexErrMsgTxt ("wrong number of arguments") ;
-	    }
-
-	}
-	else if (STRING_MATCH (operator, "/"))
-	{
-
-	    /* -------------------------------------------------------------- */
-	    /* matrix right divide, x = b/A */
-	    /* -------------------------------------------------------------- */
-
-	    /*
-		[x, Info] = umfpack (b, '/', A) ;
-		[x, Info] = umfpack (b, '/', A, Control) ;
-		[x, Info] = umfpack (b, '/', A, Qinit) ;
-		[x, Info] = umfpack (b, '/', A, Qinit, Control) ;
-	    */
-
-	    operation = "x = b/A" ;
-	    do_solve = TRUE ;
-	    transpose = TRUE ;
-	    Amatrix = (mxArray *) pargin [2] ;
-	    Bmatrix = (mxArray *) pargin [0] ;
-
-	    if (nargout == 2)
-	    {
-		do_info = 1 ;
-	    }
-	    if (nargin == 5)
-	    {
-		User_Qinit = (mxArray *) pargin [3] ;
-		User_Control_matrix = (mxArray *) pargin [4] ;
-	    }
-	    else if (nargin == 4)
-	    {
-		/* Control is k-by-1 where k > 1, Qinit is 1-by-n */
-		if (mxGetM (pargin [3]) == 1)
-		{
-		    User_Qinit = (mxArray *) pargin [3] ;
-		}
-		else
-		{
-		    User_Control_matrix = (mxArray *) pargin [3] ;
-		}
-	    }
-	    else if (nargin < 3 || nargin > 5 || nargout > 2)
-	    {
-		mexErrMsgTxt ("wrong number of arguments") ;
-	    }
-
-	}
-	else if (STRING_MATCH (operator, "symbolic"))
-	{
-
-	    /* -------------------------------------------------------------- */
-	    /* symbolic factorization only */
-	    /* -------------------------------------------------------------- */
-
-	    /*
-	    [P Q Fr Ch Info] = umfpack (A, 'symbolic') ;
-	    [P Q Fr Ch Info] = umfpack (A, 'symbolic', Control) ;
-	    [P Q Fr Ch Info] = umfpack (A, Qinit, 'symbolic') ;
-	    [P Q Fr Ch Info] = umfpack (A, Qinit, 'symbolic', Control) ;
-	    */
-
-	    operation = "symbolic factorization" ;
-	    do_numeric = FALSE ;
-	    Amatrix = (mxArray *) pargin [0] ;
-
-	    if (nargout == 5)
-	    {
-		do_info = 4 ;
-	    }
-	    if (op == 2)
-	    {
-		User_Qinit = (mxArray *) pargin [1] ;
-	    }
-	    if ((op == 1 && nargin == 3) || (op == 2 && nargin == 4))
-	    {
-		User_Control_matrix = (mxArray *) pargin [nargin-1] ;
-	    }
-	    if (nargin < 2 || nargin > 4 || nargout > 5 || nargout < 4)
-	    {
-		mexErrMsgTxt ("wrong number of arguments") ;
-	    }
-
-	}
-	else if (STRING_MATCH (operator, "det"))
-	{
-
-	    /* -------------------------------------------------------------- */
-	    /* compute the determinant */
-	    /* -------------------------------------------------------------- */
-
-	    /*
-	     * [det] = umfpack (A, 'det') ;
-	     * [dmantissa dexp] = umfpack (A, 'det') ;
-	     */
-
-	    operation = "determinant" ;
-	    do_det = TRUE ;
-	    Amatrix = (mxArray *) pargin [0] ;
-	    if (nargin > 2 || nargout > 2)
-	    {
-		mexErrMsgTxt ("wrong number of arguments") ;
-	    }
-
-	}
-	else
-	{
-	    mexErrMsgTxt ("operator must be '/', '\\', or 'symbolic'") ;
-	}
-	mxFree (operator) ;
-
-    }
-    else if (nargin > 0)
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* LU factorization */
-	/* ------------------------------------------------------------------ */
-
-	/*
-	    with scaling:
-	    [L, U, P, Q, R, Info] = umfpack (A) ;
-	    [L, U, P, Q, R, Info] = umfpack (A, Qinit) ;
-
-	    scaling determined by Control settings:
-	    [L, U, P, Q, R, Info] = umfpack (A, Control) ;
-	    [L, U, P, Q, R, Info] = umfpack (A, Qinit, Control) ;
-
-	    with no scaling:
-	    [L, U, P, Q] = umfpack (A) ;
-	    [L, U, P, Q] = umfpack (A, Control) ;
-	    [L, U, P, Q] = umfpack (A, Qinit) ;
-	    [L, U, P, Q] = umfpack (A, Qinit, Control) ;
-	*/
-
-	operation = "numeric factorization" ;
-	Amatrix = (mxArray *) pargin [0] ;
-
-	no_scale = nargout <= 4 ;
-
-	if (nargout == 6)
-	{
-	    do_info = 5 ;
-	}
-	if (nargin == 3)
-	{
-	    User_Qinit = (mxArray *) pargin [1] ;
-	    User_Control_matrix = (mxArray *) pargin [2] ;
-	}
-	else if (nargin == 2)
-	{
-	    /* Control is k-by-1 where k > 1, Qinit is 1-by-n */
-	    if (mxGetM (pargin [1]) == 1)
-	    {
-		User_Qinit = (mxArray *) pargin [1] ;
-	    }
-	    else
-	    {
-		User_Control_matrix = (mxArray *) pargin [1] ;
-	    }
-	}
-	else if (nargin > 3 || nargout > 6 || nargout < 4)
-	{
-	    mexErrMsgTxt ("wrong number of arguments") ;
-	}
-
-    }
-    else
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* return default control settings */
-	/* ------------------------------------------------------------------ */
-
-	/*
-	    Control = umfpack ;
-	    umfpack ;
-	*/
-
-	if (nargout > 1)
-	{
-	    mexErrMsgTxt ("wrong number of arguments") ;
-	}
-
-	pargout [0] = mxCreateDoubleMatrix (UMFPACK_CONTROL, 1, mxREAL) ;
-	User_Control = mxGetPr (pargout [0]) ;
-	umfpack_di_defaults (User_Control) ;
-
-	return ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* check inputs */
-    /* ---------------------------------------------------------------------- */
-
-    if (mxGetNumberOfDimensions (Amatrix) != 2)
-    {
-	mexErrMsgTxt ("input matrix A must be 2-dimensional") ;
-    }
-    n_row = mxGetM (Amatrix) ;
-    n_col = mxGetN (Amatrix) ;
-    nn = MAX (n_row, n_col) ;
-    n_inner = MIN (n_row, n_col) ;
-    if (do_solve && n_row != n_col)
-    {
-	mexErrMsgTxt ("input matrix A must square for '\\' or '/'") ;
-    }
-    if (!mxIsSparse (Amatrix))
-    {
-	mexErrMsgTxt ("input matrix A must be sparse") ;
-    }
-    if (n_row == 0 || n_col == 0)
-    {
-	mexErrMsgTxt ("input matrix A cannot have zero rows or zero columns") ;
-    }
-
-    /* The real/complex status of A determines which version to use, */
-    /* (umfpack_di_* or umfpack_zi_*). */
-    A_is_complex = mxIsComplex (Amatrix) ;
-    Atype = A_is_complex ? mxCOMPLEX : mxREAL ;
-    Ap = mxGetJc (Amatrix) ;
-    Ai = mxGetIr (Amatrix) ;
-    Ax = mxGetPr (Amatrix) ;
-    Az = mxGetPi (Amatrix) ;
-
-    if (do_solve)
-    {
-
-	if (n_row != n_col)
-	{
-	    mexErrMsgTxt ("A must be square for \\ or /") ;
-	}
-	if (transpose)
-	{
-	    if (mxGetM (Bmatrix) != 1 || mxGetN (Bmatrix) != nn)
-	    {
-		mexErrMsgTxt ("b has the wrong dimensions") ;
-	    }
-	}
-	else
-	{
-	    if (mxGetM (Bmatrix) != nn || mxGetN (Bmatrix) != 1)
-	    {
-		mexErrMsgTxt ("b has the wrong dimensions") ;
-	    }
-	}
-	if (mxGetNumberOfDimensions (Bmatrix) != 2)
-	{
-	    mexErrMsgTxt ("input matrix b must be 2-dimensional") ;
-	}
-	if (mxIsSparse (Bmatrix))
-	{
-	    mexErrMsgTxt ("input matrix b cannot be sparse") ;
-	}
-	if (mxGetClassID (Bmatrix) != mxDOUBLE_CLASS)
-	{
-	    mexErrMsgTxt ("input matrix b must double precision matrix") ;
-	}
-
-	B_is_complex = mxIsComplex (Bmatrix) ;
-	Bx = mxGetPr (Bmatrix) ;
-	Bz = mxGetPi (Bmatrix) ;
-
-	X_is_complex = A_is_complex || B_is_complex ;
-	Xtype = X_is_complex ? mxCOMPLEX : mxREAL ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* set the Control parameters */
-    /* ---------------------------------------------------------------------- */
-
-    if (A_is_complex)
-    {
-	umfpack_zi_defaults (Control) ;
-    }
-    else
-    {
-	umfpack_di_defaults (Control) ;
-    }
-    if (User_Control_matrix)
-    {
-	if (mxGetClassID (User_Control_matrix) != mxDOUBLE_CLASS ||
-	    mxIsSparse (User_Control_matrix))
-	{
-	    mexErrMsgTxt ("Control must be a dense real matrix") ;
-	}
-	size = UMFPACK_CONTROL ;
-	size = MIN (size, mxGetNumberOfElements (User_Control_matrix)) ;
-	User_Control = mxGetPr (User_Control_matrix) ;
-	for (i = 0 ; i < size ; i++)
-	{
-	    Control [i] = User_Control [i] ;
-	}
-    }
-
-    if (no_scale)
-    {
-	/* turn off scaling for [L, U, P, Q] = umfpack (A) ;
-	 * ignoring the input value of Control (24) for the usage
-	 * [L, U, P, Q] = umfpack (A, Control) ; */
-	Control [UMFPACK_SCALE] = UMFPACK_SCALE_NONE ;
-    }
-
-    if (mxIsNaN (Control [UMFPACK_PRL]))
-    {
-	print_level = UMFPACK_DEFAULT_PRL ;
-    }
-    else
-    {
-	print_level = (int) Control [UMFPACK_PRL] ;
-    }
-
-    Control [UMFPACK_PRL] = print_level ;
-
-    /* ---------------------------------------------------------------------- */
-    /* get Qinit, if present */
-    /* ---------------------------------------------------------------------- */
-
-    if (User_Qinit)
-    {
-	if (mxGetM (User_Qinit) != 1 || mxGetN (User_Qinit) != n_col)
-	{
-	    mexErrMsgTxt ("Qinit must be 1-by-n_col") ;
-	}
-	if (mxGetNumberOfDimensions (User_Qinit) != 2)
-	{
-	    mexErrMsgTxt ("input Qinit must be 2-dimensional") ;
-	}
-	if (mxIsComplex (User_Qinit))
-	{
-	    mexErrMsgTxt ("input Qinit must not be complex") ;
-	}
-	if (mxGetClassID (User_Qinit) != mxDOUBLE_CLASS)
-	{
-	    mexErrMsgTxt ("input Qinit must be a double matrix") ;
-	}
-	if (mxIsSparse (User_Qinit))
-	{
-	    mexErrMsgTxt ("input Qinit must be dense") ;
-	}
-	Qinit = (int *) mxMalloc (n_col * sizeof (int)) ;
-	p = mxGetPr (User_Qinit) ;
-	for (k = 0 ; k < n_col ; k++)
-	{
-	    /* convert from 1-based to 0-based indexing */
-	    Qinit [k] = ((int) (p [k])) - 1 ;
-	}
-
-    }
-    else
-    {
-	/* umfpack_*_qsymbolic will call colamd to get Qinit. This is the */
-	/* same as calling umfpack_*_symbolic with Qinit set to NULL*/
-	Qinit = (int *) NULL ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* report the inputs A and Qinit */
-    /* ---------------------------------------------------------------------- */
-
-    if (print_level >= 2)
-    {
-	/* print the operation */
-	mexPrintf ("\numfpack: %s\n", operation) ;
-    }
-
-    if (A_is_complex)
-    {
-	umfpack_zi_report_control (Control) ;
-	if (print_level >= 3) mexPrintf ("\nA: ") ;
-	(void) umfpack_zi_report_matrix (n_row, n_col, Ap, Ai, Ax, Az,
-	    1, Control) ;
-	if (Qinit)
-	{
-	    if (print_level >= 3) mexPrintf ("\nQinit: ") ;
-	    (void) umfpack_zi_report_perm (n_col, Qinit, Control) ;
-	}
-    }
-    else
-    {
-	umfpack_di_report_control (Control) ;
-	if (print_level >= 3) mexPrintf ("\nA: ") ;
-	(void) umfpack_di_report_matrix (n_row, n_col, Ap, Ai, Ax,
-	    1, Control) ;
-	if (Qinit)
-	{
-	    if (print_level >= 3) mexPrintf ("\nQinit: ") ;
-	    (void) umfpack_di_report_perm (n_col, Qinit, Control) ;
-	}
-    }
-
-#ifndef NO_TRANSPOSE_FORWARD_SLASH
-    /* ---------------------------------------------------------------------- */
-    /* create the array transpose for x = b/A */
-    /* ---------------------------------------------------------------------- */
-
-    if (transpose)
-    {
-	/* note that in this case A will be square (nn = n_row = n_col) */
-	/* x = (A.'\b.').' will be computed */
-
-	/* make sure Ci and Cx exist, avoid malloc of zero-sized arrays. */
-	nz = MAX (Ap [nn], 1) ;
-
-	Cp = (int *) mxMalloc ((nn+1) * sizeof (int)) ;
-	Ci = (int *) mxMalloc (nz * sizeof (int)) ;
-	Cx = (double *) mxMalloc (nz * sizeof (double)) ;
-	if (A_is_complex)
-	{
-	    Cz = (double *) mxMalloc (nz * sizeof (double)) ;
-	    status = umfpack_zi_transpose (nn, nn, Ap, Ai, Ax, Az,
-	        (int *) NULL, (int *) NULL, Cp, Ci, Cx, Cz, FALSE) ;
-	}
-	else
-	{
-	    status = umfpack_di_transpose (nn, nn, Ap, Ai, Ax,
-	        (int *) NULL, (int *) NULL, Cp, Ci, Cx) ;
-	}
-
-	if (status != UMFPACK_OK)
-	{
-	    error ("transpose of A failed", A_is_complex, nargout, pargout,
-		Control, Info, status, do_info);
-	    return ;
-	}
-
-	/* modify pointers so that C will be factorized and solved, not A */
-	Ap = Cp ;
-	Ai = Ci ;
-	Ax = Cx ;
-	if (A_is_complex)
-	{
-	    Az = Cz ;
-	}
-    }
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* perform the symbolic factorization */
-    /* ---------------------------------------------------------------------- */
-
-    if (A_is_complex)
-    {
-	status = umfpack_zi_qsymbolic (n_row, n_col, Ap, Ai, Ax, Az,
-	    Qinit, &Symbolic, Control, Info) ;
-    }
-    else
-    {
-	status = umfpack_di_qsymbolic (n_row, n_col, Ap, Ai, Ax,
-	    Qinit, &Symbolic, Control, Info) ;
-    }
-
-    if (Qinit)
-    {
-	mxFree (Qinit) ;
-    }
-
-    if (status < 0)
-    {
-	error ("symbolic factorization failed", A_is_complex, nargout, pargout,
-	    Control, Info, status, do_info) ;
-	return ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* report the Symbolic object */
-    /* ---------------------------------------------------------------------- */
-
-    if (A_is_complex)
-    {
-	(void) umfpack_zi_report_symbolic (Symbolic, Control) ;
-    }
-    else
-    {
-	(void) umfpack_di_report_symbolic (Symbolic, Control) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* perform numeric factorization, or just return symbolic factorization */
-    /* ---------------------------------------------------------------------- */
-
-    if (do_numeric)
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* perform the numeric factorization */
-	/* ------------------------------------------------------------------ */
-
-	if (A_is_complex)
-	{
-	    status = umfpack_zi_numeric (Ap, Ai, Ax, Az, Symbolic, &Numeric,
-		Control, Info) ;
-	}
-	else
-	{
-	    status = umfpack_di_numeric (Ap, Ai, Ax, Symbolic, &Numeric,
-		Control, Info) ;
-	}
-
-	/* ------------------------------------------------------------------ */
-	/* free the symbolic factorization */
-	/* ------------------------------------------------------------------ */
-
-	if (A_is_complex)
-	{
-	    umfpack_zi_free_symbolic (&Symbolic) ;
-	}
-	else
-	{
-	    umfpack_di_free_symbolic (&Symbolic) ;
-	}
-
-	/* ------------------------------------------------------------------ */
-	/* report the Numeric object */
-	/* ------------------------------------------------------------------ */
-
-	if (status < 0)
-	{
-	    error ("numeric factorization failed", A_is_complex, nargout,
-		pargout, Control, Info, status, do_info);
-	    return ;
-	}
-
-	if (A_is_complex)
-	{
-	    (void) umfpack_zi_report_numeric (Numeric, Control) ;
-	}
-	else
-	{
-	    (void) umfpack_di_report_numeric (Numeric, Control) ;
-	}
-
-	/* ------------------------------------------------------------------ */
-	/* return the solution, determinant, or the factorization */
-	/* ------------------------------------------------------------------ */
-
-	if (do_solve)
-	{
-	    /* -------------------------------------------------------------- */
-	    /* solve Ax=b or A'x'=b', and return just the solution x */
-	    /* -------------------------------------------------------------- */
-
-#ifndef NO_TRANSPOSE_FORWARD_SLASH
-	    if (transpose)
-	    {
-		/* A.'x.'=b.' gives the same x=b/A as solving A'x'=b' */
-		/* since C=A.' was factorized, solve with sys = UMFPACK_A */
-		/* since x and b are vectors, x.' and b.' are implicit */
-		pargout [0] = mxCreateDoubleMatrix (1, nn, Xtype) ;
-	    }
-	    else
-	    {
-		pargout [0] = mxCreateDoubleMatrix (nn, 1, Xtype) ;
-	    }
-	    sys = UMFPACK_A ;
-#else
-	    if (transpose)
-	    {
-		/* If A is real, A'x=b is the same as A.'x=b. */
-		/* x and b are vectors, so x and b are the same as x' and b'. */
-		/* If A is complex, then A.'x.'=b.' gives the same solution x */
-		/* as the complex conjugate transpose.  If we used the A'x=b */
-		/* option in umfpack_*_solve, we would have to form b' on */
-		/* input and x' on output (negating the imaginary part). */
-		/* We can save this work by just using the A.'x=b option in */
-		/* umfpack_*_solve.  Then, forming x.' and b.' is implicit, */
-		/* since x and b are just vectors anyway. */
-		/* In both cases, the system to solve is A.'x=b */
-		pargout [0] = mxCreateDoubleMatrix (1, nn, Xtype) ;
-		sys = UMFPACK_Aat ;
-	    }
-	    else
-	    {
-		pargout [0] = mxCreateDoubleMatrix (nn, 1, Xtype) ;
-		sys = UMFPACK_A ;
-	    }
-#endif
-
-	    /* -------------------------------------------------------------- */
-	    /* print the right-hand-side, B */
-	    /* -------------------------------------------------------------- */
-
-	    if (print_level >= 3) mexPrintf ("\nright-hand side, b: ") ;
-	    if (B_is_complex)
-	    {
-		(void) umfpack_zi_report_vector (nn, Bx, Bz, Control) ;
-	    }
-	    else
-	    {
-		(void) umfpack_di_report_vector (nn, Bx, Control) ;
-	    }
-
-	    /* -------------------------------------------------------------- */
-	    /* solve the system */
-	    /* -------------------------------------------------------------- */
-
-	    Xx = mxGetPr (pargout [0]) ;
-	    Xz = mxGetPi (pargout [0]) ;
-	    status2 = UMFPACK_OK ;
-
-	    if (A_is_complex)
-	    {
-		if (!B_is_complex)
-		{
-		    /* umfpack_zi_solve expects a complex B */
-		    Bz = (double *) mxCalloc (nn, sizeof (double)) ;
-		}
-		status = umfpack_zi_solve (sys, Ap, Ai, Ax, Az, Xx, Xz, Bx, Bz,
-		    Numeric, Control, Info) ;
-		if (!B_is_complex)
-		{
-		    mxFree (Bz) ;
-		}
-	    }
-	    else
-	    {
-		if (B_is_complex)
-		{
-		    /* Ax=b when b is complex and A is sparse can be split */
-		    /* into two systems, A*xr=br and A*xi=bi, where r denotes */
-		    /* the real part and i the imaginary part of x and b. */
-		    status2 = umfpack_di_solve (sys, Ap, Ai, Ax, Xz, Bz,
-		    Numeric, Control, Info) ;
-		}
-		status = umfpack_di_solve (sys, Ap, Ai, Ax, Xx, Bx,
-		    Numeric, Control, Info) ;
-	    }
-
-#ifndef NO_TRANSPOSE_FORWARD_SLASH
-	    /* -------------------------------------------------------------- */
-	    /* free the transposed matrix C */
-	    /* -------------------------------------------------------------- */
-
-	    if (transpose)
-	    {
-	        mxFree (Cp) ;
-	        mxFree (Ci) ;
-	        mxFree (Cx) ;
-	        if (A_is_complex)
-	        {
-	            mxFree (Cz) ;
-	        }
-	    }
-#endif
-
-	    /* -------------------------------------------------------------- */
-	    /* free the Numeric object */
-	    /* -------------------------------------------------------------- */
-
-	    if (A_is_complex)
-	    {
-		umfpack_zi_free_numeric (&Numeric) ;
-	    }
-	    else
-	    {
-		umfpack_di_free_numeric (&Numeric) ;
-	    }
-
-	    /* -------------------------------------------------------------- */
-	    /* check error status */
-	    /* -------------------------------------------------------------- */
-
-	    if (status < 0 || status2 < 0)
-	    {
-		mxDestroyArray (pargout [0]) ;
-		error ("solve failed", A_is_complex, nargout, pargout, Control,
-			Info, status, do_info) ;
-		return ;
-	    }
-
-	    /* -------------------------------------------------------------- */
-	    /* print the solution, X */
-	    /* -------------------------------------------------------------- */
-
-	    if (print_level >= 3) mexPrintf ("\nsolution, x: ") ;
-	    if (X_is_complex)
-	    {
-		(void) umfpack_zi_report_vector (nn, Xx, Xz, Control) ;
-	    }
-	    else
-	    {
-		(void) umfpack_di_report_vector (nn, Xx, Control) ;
-	    }
-
-	    /* -------------------------------------------------------------- */
-	    /* warn about singular or near-singular matrices */
-	    /* -------------------------------------------------------------- */
-
-	    /* no warning is given if Control (1) is zero */
-
-	    if (Control [UMFPACK_PRL] >= 1)
-	    {
-		if (status == UMFPACK_WARNING_singular_matrix)
-		{
-		    sprintf (warning, "matrix is singular\n"
-			"Try increasing Control (%d) and Control (%d).\n"
-			"(Suppress this warning with Control (%d) = 0.)\n",
-			1+UMFPACK_PIVOT_TOLERANCE,
-			1+UMFPACK_SYM_PIVOT_TOLERANCE,
-			1+UMFPACK_PRL) ;
-		    mexWarnMsgTxt (warning) ;
-		}
-		else if (Info [UMFPACK_RCOND] < DBL_EPSILON)
-		{
-		    sprintf (warning, "matrix is nearly singular, rcond = %g\n"
-			"Try increasing Control (%d) and Control (%d).\n"
-			"(Suppress this warning with Control (%d) = 0.)\n",
-			Info [UMFPACK_RCOND],
-			1+UMFPACK_PIVOT_TOLERANCE,
-			1+UMFPACK_SYM_PIVOT_TOLERANCE,
-			1+UMFPACK_PRL) ;
-		    mexWarnMsgTxt (warning) ;
-		}
-	    }
-
-	}
-	else if (do_det)
-	{
-
-	    /* -------------------------------------------------------------- */
-	    /* get the determinant */
-	    /* -------------------------------------------------------------- */
-
-	    if (nargout == 2)
-	    {
-		/* [det dexp] = umfpack (A, 'det') ;
-		 * return determinant in the form det * 10^dexp */
-		p = &dexp ;
-	    }
-	    else
-	    {
-		/* [det] = umfpack (A, 'det') ;
-		 * return determinant as a single scalar (overflow or
-		 * underflow is much more likely) */
-		p = (double *) NULL ;
-	    }
-	    if (A_is_complex)
-	    {
-		status = umfpack_zi_get_determinant (&dx, &dz, p,
-			Numeric, Info) ;
-		umfpack_zi_free_numeric (&Numeric) ;
-	    }
-	    else
-	    {
-		status = umfpack_di_get_determinant (&dx, p,
-			Numeric, Info) ;
-		umfpack_di_free_numeric (&Numeric) ;
-		dz = 0 ;
-	    }
-	    if (status < 0)
-	    {
-		error ("extracting LU factors failed", A_is_complex, nargout,
-		    pargout, Control, Info, status, do_info) ;
-	    }
-	    if (A_is_complex)
-	    {
-		pargout [0] = mxCreateDoubleMatrix (1, 1, mxCOMPLEX) ;
-		p = mxGetPr (pargout [0]) ;
-		*p = dx ;
-		p = mxGetPi (pargout [0]) ;
-		*p = dz ;
-	    }
-	    else
-	    {
-		pargout [0] = mxCreateDoubleMatrix (1, 1, mxREAL) ;
-		p = mxGetPr (pargout [0]) ;
-		*p = dx ;
-	    }
-	    if (nargout == 2)
-	    {
-		pargout [1] = mxCreateDoubleMatrix (1, 1, mxREAL) ;
-		p = mxGetPr (pargout [1]) ;
-		*p = dexp ;
-	    }
-
-	}
-	else
-	{
-
-	    /* -------------------------------------------------------------- */
-	    /* get L, U, P, Q, and r */
-	    /* -------------------------------------------------------------- */
-
-	    if (A_is_complex)
-	    {
-	        status = umfpack_zi_get_lunz (&lnz, &unz, &ignore1, &ignore2,
-		    &ignore3, Numeric) ;
-	    }
-	    else
-	    {
-	        status = umfpack_di_get_lunz (&lnz, &unz, &ignore1, &ignore2,
-		    &ignore3, Numeric) ;
-	    }
-
-	    if (status < 0)
-	    {
-		if (A_is_complex)
-		{
-		    umfpack_zi_free_numeric (&Numeric) ;
-		}
-		else
-		{
-		    umfpack_di_free_numeric (&Numeric) ;
-		}
-		error ("extracting LU factors failed", A_is_complex, nargout,
-		    pargout, Control, Info, status, do_info) ;
-		return ;
-	    }
-
-	    /* avoid malloc of zero-sized arrays */
-	    lnz = MAX (lnz, 1) ;
-	    unz = MAX (unz, 1) ;
-
-	    /* get temporary space, for the *** ROW *** form of L */
-	    Ltp = (int *) mxMalloc ((n_row+1) * sizeof (int)) ;
-	    Ltj = (int *) mxMalloc (lnz * sizeof (int)) ;
-	    Ltx = (double *) mxMalloc (lnz * sizeof (double)) ;
-	    if (A_is_complex)
-	    {
-	        Ltz = (double *) mxMalloc (lnz * sizeof (double)) ;
-	    }
-	    else
-	    {
-	        Ltz = (double *) NULL ;
-	    }
-
-	    /* create permanent copy of the output matrix U */
-	    pargout [1] = mxCreateSparse (n_inner, n_col, unz, Atype) ;
-	    Up = mxGetJc (pargout [1]) ;
-	    Ui = mxGetIr (pargout [1]) ;
-	    Ux = mxGetPr (pargout [1]) ;
-	    Uz = mxGetPi (pargout [1]) ;
-
-	    /* temporary space for the integer permutation vectors */
-	    P = (int *) mxMalloc (n_row * sizeof (int)) ;
-	    Q = (int *) mxMalloc (n_col * sizeof (int)) ;
-
-	    /* get scale factors, if requested */
-	    status2 = UMFPACK_OK ;
-	    if (!no_scale)
-	    {
-		/* create a diagonal sparse matrix for the scale factors */
-		pargout [4] = mxCreateSparse (n_row, n_row, n_row, mxREAL) ;
-		Rp = mxGetJc (pargout [4]) ;
-		Ri = mxGetIr (pargout [4]) ;
-		for (i = 0 ; i < n_row ; i++)
-		{
-		    Rp [i] = i ;
-		    Ri [i] = i ;
-		}
-		Rp [n_row] = n_row ;
-		Rs = mxGetPr (pargout [4]) ;
-	    }
-	    else
-	    {
-		Rs = (double *) NULL ;
-	    }
-
-	    /* get Lt, U, P, Q, and Rs from the numeric object */
-	    if (A_is_complex)
-	    {
-		status = umfpack_zi_get_numeric (Ltp, Ltj, Ltx, Ltz, Up, Ui, Ux,
-		    Uz, P, Q, (double *) NULL, (double *) NULL,
-		    &do_recip, Rs, Numeric) ;
-		umfpack_zi_free_numeric (&Numeric) ;
-	    }
-	    else
-	    {
-		status = umfpack_di_get_numeric (Ltp, Ltj, Ltx, Up, Ui,
-		    Ux, P, Q, (double *) NULL,
-		    &do_recip, Rs, Numeric) ;
-		umfpack_di_free_numeric (&Numeric) ;
-	    }
-
-	    /* for the mexFunction, -DNRECIPROCAL must be set,
-	     * so do_recip must be FALSE */
-
-	    if (status < 0 || status2 < 0 || do_recip)
-	    {
-		mxFree (Ltp) ;
-		mxFree (Ltj) ;
-		mxFree (Ltx) ;
-		if (Ltz) mxFree (Ltz) ;
-		mxFree (P) ;
-		mxFree (Q) ;
-		mxDestroyArray (pargout [1]) ;
-		error ("extracting LU factors failed", A_is_complex, nargout,
-		    pargout, Control, Info, status, do_info) ;
-		return ;
-	    }
-
-	    /* create sparse permutation matrix for P */
-	    pargout [2] = mxCreateSparse (n_row, n_row, n_row, mxREAL) ;
-	    Pp = mxGetJc (pargout [2]) ;
-	    Pi = mxGetIr (pargout [2]) ;
-	    Px = mxGetPr (pargout [2]) ;
-	    for (k = 0 ; k < n_row ; k++)
-	    {
-		Pp [k] = k ;
-		Px [k] = 1 ;
-		Pi [P [k]] = k ;
-	    }
-	    Pp [n_row] = n_row ;
-
-	    /* create sparse permutation matrix for Q */
-	    pargout [3] = mxCreateSparse (n_col, n_col, n_col, mxREAL) ;
-	    Qp = mxGetJc (pargout [3]) ;
-	    Qi = mxGetIr (pargout [3]) ;
-	    Qx = mxGetPr (pargout [3]) ;
-	    for (k = 0 ; k < n_col ; k++)
-	    {
-		Qp [k] = k ;
-		Qx [k] = 1 ;
-		Qi [k] = Q [k] ;
-	    }
-	    Qp [n_col] = n_col ;
-
-	    /* permanent copy of L */
-	    pargout [0] = mxCreateSparse (n_row, n_inner, lnz, Atype) ;
-	    Lp = mxGetJc (pargout [0]) ;
-	    Li = mxGetIr (pargout [0]) ;
-	    Lx = mxGetPr (pargout [0]) ;
-	    Lz = mxGetPi (pargout [0]) ;
-
-	    /* convert L from row form to column form */
-	    if (A_is_complex)
-	    {
-		/* non-conjugate array transpose */
-	        status = umfpack_zi_transpose (n_inner, n_row, Ltp, Ltj, Ltx,
-		    Ltz, (int *) NULL, (int *) NULL, Lp, Li, Lx, Lz, FALSE) ;
-	    }
-	    else
-	    {
-	        status = umfpack_di_transpose (n_inner, n_row, Ltp, Ltj, Ltx,
-		    (int *) NULL, (int *) NULL, Lp, Li, Lx) ;
-	    }
-
-	    mxFree (Ltp) ;
-	    mxFree (Ltj) ;
-	    mxFree (Ltx) ;
-	    if (Ltz) mxFree (Ltz) ;
-
-	    if (status < 0)
-	    {
-		mxFree (P) ;
-		mxFree (Q) ;
-		mxDestroyArray (pargout [0]) ;
-		mxDestroyArray (pargout [1]) ;
-		mxDestroyArray (pargout [2]) ;
-		mxDestroyArray (pargout [3]) ;
-		error ("constructing L failed", A_is_complex, nargout, pargout,
-		    Control, Info, status, do_info) ;
-		return ;
-	    }
-
-	    /* -------------------------------------------------------------- */
-	    /* print L, U, P, and Q */
-	    /* -------------------------------------------------------------- */
-
-	    if (A_is_complex)
-	    {
-		if (print_level >= 3) mexPrintf ("\nL: ") ;
-	        (void) umfpack_zi_report_matrix (n_row, n_inner, Lp, Li,
-		    Lx, Lz, 1, Control) ;
-		if (print_level >= 3) mexPrintf ("\nU: ") ;
-	        (void) umfpack_zi_report_matrix (n_inner, n_col,  Up, Ui,
-		    Ux, Uz, 1, Control) ;
-		if (print_level >= 3) mexPrintf ("\nP: ") ;
-	        (void) umfpack_zi_report_perm (n_row, P, Control) ;
-		if (print_level >= 3) mexPrintf ("\nQ: ") ;
-	        (void) umfpack_zi_report_perm (n_col, Q, Control) ;
-	    }
-	    else
-	    {
-		if (print_level >= 3) mexPrintf ("\nL: ") ;
-	        (void) umfpack_di_report_matrix (n_row, n_inner, Lp, Li,
-		    Lx, 1, Control) ;
-		if (print_level >= 3) mexPrintf ("\nU: ") ;
-	        (void) umfpack_di_report_matrix (n_inner, n_col,  Up, Ui,
-		    Ux, 1, Control) ;
-		if (print_level >= 3) mexPrintf ("\nP: ") ;
-	        (void) umfpack_di_report_perm (n_row, P, Control) ;
-		if (print_level >= 3) mexPrintf ("\nQ: ") ;
-	        (void) umfpack_di_report_perm (n_col, Q, Control) ;
-	    }
-
-	    mxFree (P) ;
-	    mxFree (Q) ;
-
-	}
-
-    }
-    else
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* return the symbolic factorization */
-	/* ------------------------------------------------------------------ */
-
-	Q = (int *) mxMalloc (n_col * sizeof (int)) ;
-	P = (int *) mxMalloc (n_row * sizeof (int)) ;
-	Front_npivcol = (int *) mxMalloc ((nn+1) * sizeof (int)) ;
-	Front_parent = (int *) mxMalloc ((nn+1) * sizeof (int)) ;
-	Front_1strow = (int *) mxMalloc ((nn+1) * sizeof (int)) ;
-	Front_leftmostdesc = (int *) mxMalloc ((nn+1) * sizeof (int)) ;
-	Chain_start = (int *) mxMalloc ((nn+1) * sizeof (int)) ;
-	Chain_maxrows = (int *) mxMalloc ((nn+1) * sizeof (int)) ;
-	Chain_maxcols = (int *) mxMalloc ((nn+1) * sizeof (int)) ;
-
-	if (A_is_complex)
-	{
-	    status = umfpack_zi_get_symbolic (&ignore1, &ignore2, &ignore3,
-	        &nz, &nfronts, &nchains, P, Q, Front_npivcol,
-	        Front_parent, Front_1strow, Front_leftmostdesc,
-	        Chain_start, Chain_maxrows, Chain_maxcols, Symbolic) ;
-	    umfpack_zi_free_symbolic (&Symbolic) ;
-	}
-	else
-	{
-	    status = umfpack_di_get_symbolic (&ignore1, &ignore2, &ignore3,
-	        &nz, &nfronts, &nchains, P, Q, Front_npivcol,
-	        Front_parent, Front_1strow, Front_leftmostdesc,
-	        Chain_start, Chain_maxrows, Chain_maxcols, Symbolic) ;
-	    umfpack_di_free_symbolic (&Symbolic) ;
-	}
-
-	if (status < 0)
-	{
-	    mxFree (P) ;
-	    mxFree (Q) ;
-	    mxFree (Front_npivcol) ;
-	    mxFree (Front_parent) ;
-	    mxFree (Front_1strow) ;
-	    mxFree (Front_leftmostdesc) ;
-	    mxFree (Chain_start) ;
-	    mxFree (Chain_maxrows) ;
-	    mxFree (Chain_maxcols) ;
-	    error ("extracting symbolic factors failed", A_is_complex, nargout,
-		pargout, Control, Info, status, do_info) ;
-	    return ;
-	}
-
-	/* create sparse permutation matrix for P */
-	pargout [0] = mxCreateSparse (n_row, n_row, n_row, mxREAL) ;
-	Pp = mxGetJc (pargout [0]) ;
-	Pi = mxGetIr (pargout [0]) ;
-	Px = mxGetPr (pargout [0]) ;
-	for (k = 0 ; k < n_row ; k++)
-	{
-	    Pp [k] = k ;
-	    Px [k] = 1 ;
-	    Pi [P [k]] = k ;
-	}
-	Pp [n_row] = n_row ;
-
-	/* create sparse permutation matrix for Q */
-	pargout [1] = mxCreateSparse (n_col, n_col, n_col, mxREAL) ;
-	Qp = mxGetJc (pargout [1]) ;
-	Qi = mxGetIr (pargout [1]) ;
-	Qx = mxGetPr (pargout [1]) ;
-	for (k = 0 ; k < n_col ; k++)
-	{
-	    Qp [k] = k ;
-	    Qx [k] = 1 ;
-	    Qi [k] = Q [k] ;
-	}
-	Qp [n_col] = n_col ;
-
-	/* create Fr */
-	pargout [2] = mxCreateDoubleMatrix (nfronts+1, 4, mxREAL) ;
-
-	p1 = mxGetPr (pargout [2]) ;
-	p2 = p1 + nfronts + 1 ;
-	p3 = p2 + nfronts + 1 ;
-	p4 = p3 + nfronts + 1 ;
-	for (i = 0 ; i <= nfronts ; i++)
-	{
-	    /* convert parent, 1strow, and leftmostdesc to 1-based */
-	    p1 [i] = (double) (Front_npivcol [i]) ;
-	    p2 [i] = (double) (Front_parent [i] + 1) ;
-	    p3 [i] = (double) (Front_1strow [i] + 1) ;
-	    p4 [i] = (double) (Front_leftmostdesc [i] + 1) ;
-	}
-
-	/* create Ch */
-	pargout [3] = mxCreateDoubleMatrix (nchains+1, 3, mxREAL) ;
-	p1 = mxGetPr (pargout [3]) ;
-	p2 = p1 + nchains + 1 ;
-	p3 = p2 + nchains + 1 ;
-	for (i = 0 ; i < nchains ; i++)
-	{
-	    p1 [i] = (double) (Chain_start [i] + 1) ;	/* convert to 1-based */
-	    p2 [i] = (double) (Chain_maxrows [i]) ;
-	    p3 [i] = (double) (Chain_maxcols [i]) ;
-	}
-	p1 [nchains] = Chain_start [nchains] + 1 ;
-	p2 [nchains] = 0 ;
-	p3 [nchains] = 0 ;
-
-	mxFree (P) ;
-	mxFree (Q) ;
-	mxFree (Front_npivcol) ;
-	mxFree (Front_parent) ;
-	mxFree (Front_1strow) ;
-	mxFree (Front_leftmostdesc) ;
-	mxFree (Chain_start) ;
-	mxFree (Chain_maxrows) ;
-	mxFree (Chain_maxcols) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* report Info */
-    /* ---------------------------------------------------------------------- */
-
-    if (A_is_complex)
-    {
-	umfpack_zi_report_info (Control, Info) ;
-    }
-    else
-    {
-	umfpack_di_report_info (Control, Info) ;
-    }
-
-    if (do_info > 0)
-    {
-	/* return Info */
-	pargout [do_info] = mxCreateDoubleMatrix (1, UMFPACK_INFO, mxREAL) ;
-	OutInfo = mxGetPr (pargout [do_info]) ;
-	for (i = 0 ; i < UMFPACK_INFO ; i++)
-	{
-	    OutInfo [i] = Info [i] ;
-	}
-    }
-}
Binary file liboctave/UMFPACK/UMFPACK/MATLAB/west0067.mat has changed
--- a/liboctave/UMFPACK/UMFPACK/Makefile	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-#-------------------------------------------------------------------------------
-# UMFPACK makefile (for GNU make or original make)
-#-------------------------------------------------------------------------------
-
-# UMFPACK requires the AMD package to be in ../AMD
-
-# compile everything (except hb, fortran, and fortran64), including AMD and the
-# MATLAB mexFunctions
-all:
-	( cd ../AMD ; make )
-	( cd Source ; make )
-	( cd Demo   ; make )
-	( cd MATLAB ; make )
-	- cat Doc/License
-
-# compile just the C-callable libraries and demo programs (not mexFunctions)
-lib:
-	( cd ../AMD ; make lib )
-	( cd Source ; make )
-	( cd Demo   ; make )
-	- cat Doc/License
-
-# compile the FORTRAN interface and demo program
-fortran:
-	( cd Demo   ; make fortran )
-
-# compile the 64-bit FORTRAN interface and demo program
-fortran64:
-	( cd Demo   ; make fortran64 )
-
-# compile the Harwell/Boeing demo program
-hb:
-	( cd Demo   ; make hb )
-
-# compile a Octave version
-# (not compiled by "make all")
-octave:
-	( cd OCTAVE ; make )
-	- cat Doc/License
-
-# remove object files, but keep the compiled programs and library archives
-clean:
-	( cd ../AMD ; make clean )
-	( cd Source ; make clean )
-	( cd Demo   ; make clean )
-	( cd MATLAB ; make clean )
-	( cd OCTAVE ; make clean )
-	( cd Doc    ; make clean )
-
-# clean, and then remove compiled programs and library archives
-purge:
-	( cd ../AMD ; make purge )
-	( cd Source ; make purge )
-	( cd Demo   ; make purge )
-	( cd MATLAB ; make purge )
-	( cd OCTAVE ; make purge )
-	( cd Doc    ; make purge )
-
-# create PDF documents for the original distribution
-doc:
-	( cd ../AMD ; make doc )
-	( cd Doc    ; make )
-
-# get ready for distribution
-dist: purge
-	( cd ../AMD ; make dist )
-	( cd Demo   ; make dist )
-	( cd Doc    ; make )
--- a/liboctave/UMFPACK/UMFPACK/OCTAVE/Contents.m	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,21 +0,0 @@
-%Contents of the UMFPACK sparse matrix toolbox:
-%
-% umfpack           computes x=A\b, x=A/b, or lu (A) for a sparse matrix A
-% umfpack_make      to compile umfpack for use in MATLAB
-% umfpack_report    prints optional control settings and statistics
-% umfpack_demo      a long demo
-% umfpack_simple    a simple demo
-% umfpack_btf       factorize A using a block triangular form
-% umfpack_solve     x = A\b or x = b/A 
-% lu_normest        estimates norm (L*U-A, 1) without forming L*U-A
-% luflop	    given L and U, computes # of flops required to compute them
-%
-% See also:
-% amd		    symmetric minimum degree ordering
-% colamd            unsymmetric column approx minimum degree ordering
-% symamd            symmetric approx minimum degree ordering, based on colamd
-%
-% UMFPACK Version 4.3 (Jan. 16, 2004),  Copyright (c) 2004 by Timothy A.
-% Davis.  All Rights Reserved.  Type umfpack_details for License.
-
-help Contents
--- a/liboctave/UMFPACK/UMFPACK/OCTAVE/GNUmakefile	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,248 +0,0 @@
-#-------------------------------------------------------------------------------
-# UMFPACK GNUmakefile for the UMFPACK OCTAVE oct-file (GNU "make" only)
-#-------------------------------------------------------------------------------
-
-.PRECIOUS: %.o
-
-# UMFPACK Version 4.3 (Jan. 16, 2004), Copyright (c) 2004 by Timothy A.
-# Davis.  All Rights Reserved.  See ../README for License.
-
-all: umfpack luflop
-
-include ../Make/Make.include
-
-MKOCT = mkoctfile $(CONFIG) -DNRECIPROCAL -I/usr/include/atlas -I../Include -I../Source -I../../AMD/Include -I../../AMD/Source
-
-OCT_SPARSE_INC = -I../../../
-
-
-#-------------------------------------------------------------------------------
-# source files
-#-------------------------------------------------------------------------------
-
-# non-user-callable umf_*.[ch] files:
-UMFCH = umf_assemble umf_blas3_update \
-	umf_build_tuples umf_create_element \
-	umf_dump umf_extend_front umf_garbage_collection \
-	umf_get_memory umf_init_front umf_kernel \
-	umf_kernel_init umf_kernel_wrapup \
-	umf_local_search umf_lsolve umf_ltsolve \
-	umf_mem_alloc_element umf_mem_alloc_head_block \
-	umf_mem_alloc_tail_block umf_mem_free_tail_block \
-	umf_mem_init_memoryspace \
-	umf_report_vector umf_row_search umf_scale_column \
-	umf_set_stats umf_solve umf_symbolic_usage umf_transpose \
-	umf_tuple_lengths umf_usolve umf_utsolve umf_valid_numeric \
-	umf_valid_symbolic umf_grow_front umf_start_front umf_2by2 \
-	umf_store_lu umf_scale
-
-# non-user-callable umf_*.[ch] files, int/long versions only (no real/complex):
-UMFINT = umf_analyze umf_apply_order umf_colamd umf_free umf_fsize \
-	umf_is_permutation umf_malloc umf_realloc umf_report_perm \
-	umf_singletons
-
-# non-user-callable and user-callable amd_*.[ch] files (int/long versions only):
-AMD = amd_aat amd_1 amd_2 amd_dump amd_postorder amd_post_tree amd_defaults \
-	amd_order amd_control amd_info amd_valid
-
-# non-user-callable, created from umf_ltsolve.c, umf_utsolve.c,
-# umf_triplet.c, and umf_assemble.c , with int/long and real/complex versions:
-UMF_CREATED = umf_lhsolve umf_uhsolve umf_triplet_map_nox \
-	umf_triplet_nomap_x umf_triplet_nomap_nox umf_triplet_map_x \
-	umf_assemble_fixq umf_store_lu_drop
-
-# non-user-callable, int/long and real/complex versions:
-UMF = $(UMF_CREATED) $(UMFCH)
-
-# user-callable umfpack_*.[ch] files (int/long and real/complex):
-UMFPACK = umfpack_col_to_triplet umfpack_defaults umfpack_free_numeric \
-	umfpack_free_symbolic umfpack_get_numeric umfpack_get_lunz \
-	umfpack_get_symbolic umfpack_get_determinant umfpack_numeric \
-	umfpack_qsymbolic umfpack_report_control umfpack_report_info \
-	umfpack_report_matrix umfpack_report_numeric umfpack_report_perm \
-	umfpack_report_status umfpack_report_symbolic umfpack_report_triplet \
-	umfpack_report_vector umfpack_solve umfpack_symbolic \
-	umfpack_transpose umfpack_triplet_to_col umfpack_scale \
-	umfpack_load_numeric umfpack_save_numeric \
-	umfpack_load_symbolic umfpack_save_symbolic
-
-# user-callable, created from umfpack_solve.c (umfpack_wsolve.h exists, though):
-# with int/long and real/complex versions:
-UMFPACKW = umfpack_wsolve
-
-USER = $(UMFPACKW) $(UMFPACK)
-
-# user-callable, only one version for int/long, real/complex, *.[ch] files:
-GENERIC = umfpack_timer umfpack_tictoc
-
-#-------------------------------------------------------------------------------
-# include files:
-#-------------------------------------------------------------------------------
-
-AMDH = ../../AMD/Source/amd_internal.h ../../AMD/Include/amd.h
-
-INC1 = umf_config.h umf_version.h umf_internal.h umf_triplet.h
-
-INC = ../Include/umfpack.h \
-	$(addprefix ../Source/, $(INC1)) \
-	$(addprefix ../Source/, $(addsuffix .h,$(UMFCH))) \
-	$(addprefix ../Source/, $(addsuffix .h,$(UMFINT))) \
-	$(addprefix ../Include/, $(addsuffix .h,$(USER))) \
-	$(addprefix ../Include/, $(addsuffix .h,$(GENERIC))) \
-	$(AMDH)
-
-#-------------------------------------------------------------------------------
-# Create the umfpack and amd oct-file for OCTAVE (int versions only)
-#-------------------------------------------------------------------------------
-
-OCTI   = $(addsuffix .o, $(subst umf_,umf_o_,$(UMFINT)))
-OCTDI  = $(addsuffix .o, $(subst umf_,umf_od_,$(UMF)) $(subst umfpack_,umfpack_od_,$(USER)))
-OCTZI  = $(addsuffix .o, $(subst umf_,umf_oz_,$(UMF)) $(subst umfpack_,umfpack_oz_,$(USER)) )
-OCTAMD = $(addsuffix .o, $(subst amd_,amd_o_,$(AMD)))
-OCTGN  = $(addsuffix .o, $(subst umfpack_,umfpack_o_,$(GENERIC)))
-
-OCTUMFPACK = $(OCTI) $(OCTDI) $(OCTZI) $(OCTGN)
-
-OCTUMFPACK_LIB = umfpack_octave.o
-
-# Note that mkoctfile has an "-o" option, but it doesn't work in conjunction
-# with the "-c" option, thus the need for $(MV) commands.
-# If it did, then the rules would be much simpler:
-#	$(MKOCT) -DDINT -c $< -o $@
-
-#----------------------------------------
-# integer-only routines (no real/complex):
-#----------------------------------------
-
-amd_o_%.o: ../../AMD/Source/amd_%.c $(AMDH)
-	$(MKOCT) -DDINT -c $<
-	- $(MV) ../../AMD/Source/amd_$*.o $@
-
-
-umf_o_%.o: ../Source/umf_%.c $(INC)
-	$(MKOCT) -DDINT -c $<
-	- $(MV) ../Source/umf_$*.o $@
-
-#----------------------------------------
-# Double precision, int version, for OCTAVE
-#----------------------------------------
-
-umf_od_%.o: ../Source/umf_%.c $(INC)
-	$(MKOCT) -DDINT -c $<
-	- $(MV) ../Source/umf_$*.o $@
-
-umf_od_%hsolve.o: ../Source/umf_%tsolve.c $(INC)
-	$(MKOCT) -DDINT -DCONJUGATE_SOLVE -c $<
-	- $(MV) ../Source/umf_$*tsolve.o $@
-
-umf_od_triplet_map_x.o: ../Source/umf_triplet.c $(INC)
-	$(MKOCT) -DDINT -DDO_MAP -DDO_VALUES -c $<
-	- $(MV) ../Source/umf_triplet.o $@
-
-umf_od_triplet_map_nox.o: ../Source/umf_triplet.c $(INC)
-	$(MKOCT) -DDINT -DDO_MAP -c $<
-	- $(MV) ../Source/umf_triplet.o $@
-
-umf_od_triplet_nomap_x.o: ../Source/umf_triplet.c $(INC)
-	$(MKOCT) -DDINT -DDO_VALUES -c $<
-	- $(MV) ../Source/umf_triplet.o $@
-
-umf_od_triplet_nomap_nox.o: ../Source/umf_triplet.c $(INC)
-	$(MKOCT) -DDINT -c $<
-	- $(MV) ../Source/umf_triplet.o $@
-
-umf_od_assemble_fixq.o: ../Source/umf_assemble.c $(INC)
-	$(MKOCT) -DDINT -DFIXQ -c $<
-	- $(MV) ../Source/umf_assemble.o $@
-
-umf_od_store_lu_drop.o: ../Source/umf_store_lu.c $(INC)
-	$(MKOCT) -DDINT -DDROP -c $<
-	- $(MV) ../Source/umf_store_lu.o $@
-
-umfpack_od_wsolve.o: ../Source/umfpack_solve.c $(INC)
-	$(MKOCT) -DDINT -DWSOLVE -c $<
-	- $(MV) ../Source/umfpack_solve.o $@
-
-umfpack_od_%.o: ../Source/umfpack_%.c $(INC)
-	$(MKOCT) -DDINT -c $<
-	- $(MV) ../Source/umfpack_$*.o $@
-
-#----------------------------------------
-# Complex double precision, int version, for OCTAVE
-#----------------------------------------
-
-umf_oz_%.o: ../Source/umf_%.c $(INC)
-	$(MKOCT) -DZINT -c $<
-	- $(MV) ../Source/umf_$*.o $@
-
-umf_oz_%hsolve.o: ../Source/umf_%tsolve.c $(INC)
-	$(MKOCT) -DZINT -DCONJUGATE_SOLVE -c $<
-	- $(MV) ../Source/umf_$*tsolve.o $@
-
-umf_oz_triplet_map_x.o: ../Source/umf_triplet.c $(INC)
-	$(MKOCT) -DZINT -DDO_MAP -DDO_VALUES -c $<
-	- $(MV) ../Source/umf_triplet.o $@
-
-umf_oz_triplet_map_nox.o: ../Source/umf_triplet.c $(INC)
-	$(MKOCT) -DZINT -DDO_MAP -c $<
-	- $(MV) ../Source/umf_triplet.o $@
-
-umf_oz_triplet_nomap_x.o: ../Source/umf_triplet.c $(INC)
-	$(MKOCT) -DZINT -DDO_VALUES -c $<
-	- $(MV) ../Source/umf_triplet.o $@
-
-umf_oz_triplet_nomap_nox.o: ../Source/umf_triplet.c $(INC)
-	$(MKOCT) -DZINT -c $<
-	- $(MV) ../Source/umf_triplet.o $@
-
-umf_oz_assemble_fixq.o: ../Source/umf_assemble.c $(INC)
-	$(MKOCT) -DZINT -DFIXQ -c $<
-	- $(MV) ../Source/umf_assemble.o $@
-
-umf_oz_store_lu_drop.o: ../Source/umf_store_lu.c $(INC)
-	$(MKOCT) -DZINT -DDROP -c $<
-	- $(MV) ../Source/umf_store_lu.o $@
-
-umfpack_oz_wsolve.o: ../Source/umfpack_solve.c $(INC)
-	$(MKOCT) -DZINT -DWSOLVE -c $<
-	- $(MV) ../Source/umfpack_solve.o $@
-
-umfpack_oz_%.o: ../Source/umfpack_%.c $(INC)
-	$(MKOCT) -DZINT -c $<
-	- $(MV) ../Source/umfpack_$*.o $@
-
-#----------------------------------------
-# Generic routines for OCTAVE
-#----------------------------------------
-
-umfpack_o_timer.o: ../Source/umfpack_timer.c $(INC)
-	$(MKOCT) -c $<
-	- $(MV) ../Source/umfpack_timer.o $@
-
-umfpack_o_tictoc.o: ../Source/umfpack_tictoc.c $(INC)
-	$(MKOCT) -c $<
-	- $(MV) ../Source/umfpack_tictoc.o $@
-
-#----------------------------------------
-# umfpack oct-files
-#----------------------------------------
-
-umfpack: umfpack.cc $(OCTUMFPACK) $(OCTAMD)
-	$(MKOCT) $(OCT_SPARSE_INC) umfpack.cc $(OCTUMFPACK) $(OCTAMD)  -o umfpack.oct 
-
-luflop: luflop.cc
-	$(MKOCT) $(OCT_SPARSE_INC) luflop.cc -o luflop.oct
-
-#----------------------------------------
-# umfpack library to link with octave
-#----------------------------------------
-
-octave: $(OCTUMFPACK) $(OCTAMD)
-	ld -r $(OCTUMFPACK) $(OCTAMD) -o ../../../$(OCTUMFPACK_LIB)
-
-#-------------------------------------------------------------------------------
-# Remove all but the files in the original distribution
-#-------------------------------------------------------------------------------
-
-purge: clean
-	- $(RM) *.oct *.so
--- a/liboctave/UMFPACK/UMFPACK/OCTAVE/Makefile	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,517 +0,0 @@
-#-------------------------------------------------------------------------------
-# UMFPACK Makefile for the UMFPACK MATLAB mexFunction (old "make" only)
-#-------------------------------------------------------------------------------
-
-# UMFPACK Version 4.3 (Jan. 16, 2004), Copyright (c) 2004 by Timothy A.
-# Davis.  All Rights Reserved.  See ../README for License.
-
-# This is a very ugly Makefile, and is only provided for those who do not
-# have GNU make.  Note that it is not used if you have GNU make.  It ignores
-# dependency checking and just compiles everything.  It was created
-# automatically, via make -n using the GNUmakefile.  That way, I don't have
-# maintain two Makefiles.
-
-all: umfpack luflop
-
-include ../Make/Make.include
-
-MKOCT = mkoctfile $(CONFIG) -DNRECIPROCAL -I/usr/include/atlas -I../Include -I../Source -I../../AMD/Include -I../../AMD/Source 
-
-OCT_SPARSE_INC = -I../../../
-OCTUMFPACK_LIB = umfpack_octave.o
-
-umfpack:
-	$(MKOCT) -DDINT -c ../Source/umf_analyze.c
-	$(MV) -f ../Source/umf_analyze.o umf_m_analyze.o
-	$(MKOCT) -DDINT -c ../Source/umf_apply_order.c
-	$(MV) -f ../Source/umf_apply_order.o umf_m_apply_order.o
-	$(MKOCT) -DDINT -c ../Source/umf_colamd.c
-	$(MV) -f ../Source/umf_colamd.o umf_m_colamd.o
-	$(MKOCT) -DDINT -c ../Source/umf_free.c
-	$(MV) -f ../Source/umf_free.o umf_m_free.o
-	$(MKOCT) -DDINT -c ../Source/umf_fsize.c
-	$(MV) -f ../Source/umf_fsize.o umf_m_fsize.o
-	$(MKOCT) -DDINT -c ../Source/umf_is_permutation.c
-	$(MV) -f ../Source/umf_is_permutation.o umf_m_is_permutation.o
-	$(MKOCT) -DDINT -c ../Source/umf_malloc.c
-	$(MV) -f ../Source/umf_malloc.o umf_m_malloc.o
-	$(MKOCT) -DDINT -c ../Source/umf_realloc.c
-	$(MV) -f ../Source/umf_realloc.o umf_m_realloc.o
-	$(MKOCT) -DDINT -c ../Source/umf_report_perm.c
-	$(MV) -f ../Source/umf_report_perm.o umf_m_report_perm.o
-	$(MKOCT) -DDINT -c ../Source/umf_singletons.c
-	$(MV) -f ../Source/umf_singletons.o umf_m_singletons.o
-	$(MKOCT) -DDINT -DCONJUGATE_SOLVE -c ../Source/umf_ltsolve.c
-	$(MV) -f ../Source/umf_ltsolve.o umf_od_lhsolve.o
-	$(MKOCT) -DDINT -DCONJUGATE_SOLVE -c ../Source/umf_utsolve.c
-	$(MV) -f ../Source/umf_utsolve.o umf_od_uhsolve.o
-	$(MKOCT) -DDINT -DDO_MAP -c ../Source/umf_triplet.c
-	$(MV) -f ../Source/umf_triplet.o umf_od_triplet_map_nox.o
-	$(MKOCT) -DDINT -DDO_VALUES -c ../Source/umf_triplet.c
-	$(MV) -f ../Source/umf_triplet.o umf_od_triplet_nomap_x.o
-	$(MKOCT) -DDINT -c ../Source/umf_triplet.c
-	$(MV) -f ../Source/umf_triplet.o umf_od_triplet_nomap_nox.o
-	$(MKOCT) -DDINT -DDO_MAP -DDO_VALUES -c ../Source/umf_triplet.c
-	$(MV) -f ../Source/umf_triplet.o umf_od_triplet_map_x.o
-	$(MKOCT) -DDINT -DFIXQ -c ../Source/umf_assemble.c
-	$(MV) -f ../Source/umf_assemble.o umf_od_assemble_fixq.o
-	$(MKOCT) -DDINT -DDROP -c ../Source/umf_store_lu.c
-	$(MV) -f ../Source/umf_store_lu.o umf_od_store_lu_drop.o
-	$(MKOCT) -DDINT -c ../Source/umf_assemble.c
-	$(MV) -f ../Source/umf_assemble.o umf_od_assemble.o
-	$(MKOCT) -DDINT -c ../Source/umf_blas3_update.c
-	$(MV) -f ../Source/umf_blas3_update.o umf_od_blas3_update.o
-	$(MKOCT) -DDINT -c ../Source/umf_build_tuples.c
-	$(MV) -f ../Source/umf_build_tuples.o umf_od_build_tuples.o
-	$(MKOCT) -DDINT -c ../Source/umf_create_element.c
-	$(MV) -f ../Source/umf_create_element.o umf_od_create_element.o
-	$(MKOCT) -DDINT -c ../Source/umf_dump.c
-	$(MV) -f ../Source/umf_dump.o umf_od_dump.o
-	$(MKOCT) -DDINT -c ../Source/umf_extend_front.c
-	$(MV) -f ../Source/umf_extend_front.o umf_od_extend_front.o
-	$(MKOCT) -DDINT -c ../Source/umf_garbage_collection.c
-	$(MV) -f ../Source/umf_garbage_collection.o umf_od_garbage_collection.o
-	$(MKOCT) -DDINT -c ../Source/umf_get_memory.c
-	$(MV) -f ../Source/umf_get_memory.o umf_od_get_memory.o
-	$(MKOCT) -DDINT -c ../Source/umf_init_front.c
-	$(MV) -f ../Source/umf_init_front.o umf_od_init_front.o
-	$(MKOCT) -DDINT -c ../Source/umf_kernel.c
-	$(MV) -f ../Source/umf_kernel.o umf_od_kernel.o
-	$(MKOCT) -DDINT -c ../Source/umf_kernel_init.c
-	$(MV) -f ../Source/umf_kernel_init.o umf_od_kernel_init.o
-	$(MKOCT) -DDINT -c ../Source/umf_kernel_wrapup.c
-	$(MV) -f ../Source/umf_kernel_wrapup.o umf_od_kernel_wrapup.o
-	$(MKOCT) -DDINT -c ../Source/umf_local_search.c
-	$(MV) -f ../Source/umf_local_search.o umf_od_local_search.o
-	$(MKOCT) -DDINT -c ../Source/umf_lsolve.c
-	$(MV) -f ../Source/umf_lsolve.o umf_od_lsolve.o
-	$(MKOCT) -DDINT -c ../Source/umf_ltsolve.c
-	$(MV) -f ../Source/umf_ltsolve.o umf_od_ltsolve.o
-	$(MKOCT) -DDINT -c ../Source/umf_mem_alloc_element.c
-	$(MV) -f ../Source/umf_mem_alloc_element.o umf_od_mem_alloc_element.o
-	$(MKOCT) -DDINT -c ../Source/umf_mem_alloc_head_block.c
-	$(MV) -f ../Source/umf_mem_alloc_head_block.o umf_od_mem_alloc_head_block.o
-	$(MKOCT) -DDINT -c ../Source/umf_mem_alloc_tail_block.c
-	$(MV) -f ../Source/umf_mem_alloc_tail_block.o umf_od_mem_alloc_tail_block.o
-	$(MKOCT) -DDINT -c ../Source/umf_mem_free_tail_block.c
-	$(MV) -f ../Source/umf_mem_free_tail_block.o umf_od_mem_free_tail_block.o
-	$(MKOCT) -DDINT -c ../Source/umf_mem_init_memoryspace.c
-	$(MV) -f ../Source/umf_mem_init_memoryspace.o umf_od_mem_init_memoryspace.o
-	$(MKOCT) -DDINT -c ../Source/umf_report_vector.c
-	$(MV) -f ../Source/umf_report_vector.o umf_od_report_vector.o
-	$(MKOCT) -DDINT -c ../Source/umf_row_search.c
-	$(MV) -f ../Source/umf_row_search.o umf_od_row_search.o
-	$(MKOCT) -DDINT -c ../Source/umf_scale_column.c
-	$(MV) -f ../Source/umf_scale_column.o umf_od_scale_column.o
-	$(MKOCT) -DDINT -c ../Source/umf_set_stats.c
-	$(MV) -f ../Source/umf_set_stats.o umf_od_set_stats.o
-	$(MKOCT) -DDINT -c ../Source/umf_solve.c
-	$(MV) -f ../Source/umf_solve.o umf_od_solve.o
-	$(MKOCT) -DDINT -c ../Source/umf_symbolic_usage.c
-	$(MV) -f ../Source/umf_symbolic_usage.o umf_od_symbolic_usage.o
-	$(MKOCT) -DDINT -c ../Source/umf_transpose.c
-	$(MV) -f ../Source/umf_transpose.o umf_od_transpose.o
-	$(MKOCT) -DDINT -c ../Source/umf_tuple_lengths.c
-	$(MV) -f ../Source/umf_tuple_lengths.o umf_od_tuple_lengths.o
-	$(MKOCT) -DDINT -c ../Source/umf_usolve.c
-	$(MV) -f ../Source/umf_usolve.o umf_od_usolve.o
-	$(MKOCT) -DDINT -c ../Source/umf_utsolve.c
-	$(MV) -f ../Source/umf_utsolve.o umf_od_utsolve.o
-	$(MKOCT) -DDINT -c ../Source/umf_valid_numeric.c
-	$(MV) -f ../Source/umf_valid_numeric.o umf_od_valid_numeric.o
-	$(MKOCT) -DDINT -c ../Source/umf_valid_symbolic.c
-	$(MV) -f ../Source/umf_valid_symbolic.o umf_od_valid_symbolic.o
-	$(MKOCT) -DDINT -c ../Source/umf_grow_front.c
-	$(MV) -f ../Source/umf_grow_front.o umf_od_grow_front.o
-	$(MKOCT) -DDINT -c ../Source/umf_start_front.c
-	$(MV) -f ../Source/umf_start_front.o umf_od_start_front.o
-	$(MKOCT) -DDINT -c ../Source/umf_2by2.c
-	$(MV) -f ../Source/umf_2by2.o umf_od_2by2.o
-	$(MKOCT) -DDINT -c ../Source/umf_store_lu.c
-	$(MV) -f ../Source/umf_store_lu.o umf_od_store_lu.o
-	$(MKOCT) -DDINT -c ../Source/umf_scale.c
-	$(MV) -f ../Source/umf_scale.o umf_od_scale.o
-	$(MKOCT) -DDINT -DWSOLVE -c ../Source/umfpack_solve.c
-	$(MV) -f ../Source/umfpack_solve.o umfpack_od_wsolve.o
-	$(MKOCT) -DDINT -c ../Source/umfpack_col_to_triplet.c
-	$(MV) -f ../Source/umfpack_col_to_triplet.o umfpack_od_col_to_triplet.o
-	$(MKOCT) -DDINT -c ../Source/umfpack_defaults.c
-	$(MV) -f ../Source/umfpack_defaults.o umfpack_od_defaults.o
-	$(MKOCT) -DDINT -c ../Source/umfpack_free_numeric.c
-	$(MV) -f ../Source/umfpack_free_numeric.o umfpack_od_free_numeric.o
-	$(MKOCT) -DDINT -c ../Source/umfpack_free_symbolic.c
-	$(MV) -f ../Source/umfpack_free_symbolic.o umfpack_od_free_symbolic.o
-	$(MKOCT) -DDINT -c ../Source/umfpack_get_numeric.c
-	$(MV) -f ../Source/umfpack_get_numeric.o umfpack_od_get_numeric.o
-	$(MKOCT) -DDINT -c ../Source/umfpack_get_lunz.c
-	$(MV) -f ../Source/umfpack_get_lunz.o umfpack_od_get_lunz.o
-	$(MKOCT) -DDINT -c ../Source/umfpack_get_symbolic.c
-	$(MV) -f ../Source/umfpack_get_symbolic.o umfpack_od_get_symbolic.o
-	$(MKOCT) -DDINT -c ../Source/umfpack_get_determinant.c
-	$(MV) -f ../Source/umfpack_get_determinant.o umfpack_od_get_determinant.o
-	$(MKOCT) -DDINT -c ../Source/umfpack_numeric.c
-	$(MV) -f ../Source/umfpack_numeric.o umfpack_od_numeric.o
-	$(MKOCT) -DDINT -c ../Source/umfpack_qsymbolic.c
-	$(MV) -f ../Source/umfpack_qsymbolic.o umfpack_od_qsymbolic.o
-	$(MKOCT) -DDINT -c ../Source/umfpack_report_control.c
-	$(MV) -f ../Source/umfpack_report_control.o umfpack_od_report_control.o
-	$(MKOCT) -DDINT -c ../Source/umfpack_report_info.c
-	$(MV) -f ../Source/umfpack_report_info.o umfpack_od_report_info.o
-	$(MKOCT) -DDINT -c ../Source/umfpack_report_matrix.c
-	$(MV) -f ../Source/umfpack_report_matrix.o umfpack_od_report_matrix.o
-	$(MKOCT) -DDINT -c ../Source/umfpack_report_numeric.c
-	$(MV) -f ../Source/umfpack_report_numeric.o umfpack_od_report_numeric.o
-	$(MKOCT) -DDINT -c ../Source/umfpack_report_perm.c
-	$(MV) -f ../Source/umfpack_report_perm.o umfpack_od_report_perm.o
-	$(MKOCT) -DDINT -c ../Source/umfpack_report_status.c
-	$(MV) -f ../Source/umfpack_report_status.o umfpack_od_report_status.o
-	$(MKOCT) -DDINT -c ../Source/umfpack_report_symbolic.c
-	$(MV) -f ../Source/umfpack_report_symbolic.o umfpack_od_report_symbolic.o
-	$(MKOCT) -DDINT -c ../Source/umfpack_report_triplet.c
-	$(MV) -f ../Source/umfpack_report_triplet.o umfpack_od_report_triplet.o
-	$(MKOCT) -DDINT -c ../Source/umfpack_report_vector.c
-	$(MV) -f ../Source/umfpack_report_vector.o umfpack_od_report_vector.o
-	$(MKOCT) -DDINT -c ../Source/umfpack_solve.c
-	$(MV) -f ../Source/umfpack_solve.o umfpack_od_solve.o
-	$(MKOCT) -DDINT -c ../Source/umfpack_symbolic.c
-	$(MV) -f ../Source/umfpack_symbolic.o umfpack_od_symbolic.o
-	$(MKOCT) -DDINT -c ../Source/umfpack_transpose.c
-	$(MV) -f ../Source/umfpack_transpose.o umfpack_od_transpose.o
-	$(MKOCT) -DDINT -c ../Source/umfpack_triplet_to_col.c
-	$(MV) -f ../Source/umfpack_triplet_to_col.o umfpack_od_triplet_to_col.o
-	$(MKOCT) -DDINT -c ../Source/umfpack_scale.c
-	$(MV) -f ../Source/umfpack_scale.o umfpack_od_scale.o
-	$(MKOCT) -DDINT -c ../Source/umfpack_load_numeric.c
-	$(MV) -f ../Source/umfpack_load_numeric.o umfpack_od_load_numeric.o
-	$(MKOCT) -DDINT -c ../Source/umfpack_save_numeric.c
-	$(MV) -f ../Source/umfpack_save_numeric.o umfpack_od_save_numeric.o
-	$(MKOCT) -DDINT -c ../Source/umfpack_load_symbolic.c
-	$(MV) -f ../Source/umfpack_load_symbolic.o umfpack_od_load_symbolic.o
-	$(MKOCT) -DDINT -c ../Source/umfpack_save_symbolic.c
-	$(MV) -f ../Source/umfpack_save_symbolic.o umfpack_od_save_symbolic.o
-	$(MKOCT) -DZINT -DCONJUGATE_SOLVE -c ../Source/umf_ltsolve.c
-	$(MV) -f ../Source/umf_ltsolve.o umf_oz_lhsolve.o
-	$(MKOCT) -DZINT -DCONJUGATE_SOLVE -c ../Source/umf_utsolve.c
-	$(MV) -f ../Source/umf_utsolve.o umf_oz_uhsolve.o
-	$(MKOCT) -DZINT -DDO_MAP -c ../Source/umf_triplet.c
-	$(MV) -f ../Source/umf_triplet.o umf_oz_triplet_map_nox.o
-	$(MKOCT) -DZINT -DDO_VALUES -c ../Source/umf_triplet.c
-	$(MV) -f ../Source/umf_triplet.o umf_oz_triplet_nomap_x.o
-	$(MKOCT) -DZINT -c ../Source/umf_triplet.c
-	$(MV) -f ../Source/umf_triplet.o umf_oz_triplet_nomap_nox.o
-	$(MKOCT) -DZINT -DDO_MAP -DDO_VALUES -c ../Source/umf_triplet.c
-	$(MV) -f ../Source/umf_triplet.o umf_oz_triplet_map_x.o
-	$(MKOCT) -DZINT -DFIXQ -c ../Source/umf_assemble.c
-	$(MV) -f ../Source/umf_assemble.o umf_oz_assemble_fixq.o
-	$(MKOCT) -DZINT -DDROP -c ../Source/umf_store_lu.c
-	$(MV) -f ../Source/umf_store_lu.o umf_oz_store_lu_drop.o
-	$(MKOCT) -DZINT -c ../Source/umf_assemble.c
-	$(MV) -f ../Source/umf_assemble.o umf_oz_assemble.o
-	$(MKOCT) -DZINT -c ../Source/umf_blas3_update.c
-	$(MV) -f ../Source/umf_blas3_update.o umf_oz_blas3_update.o
-	$(MKOCT) -DZINT -c ../Source/umf_build_tuples.c
-	$(MV) -f ../Source/umf_build_tuples.o umf_oz_build_tuples.o
-	$(MKOCT) -DZINT -c ../Source/umf_create_element.c
-	$(MV) -f ../Source/umf_create_element.o umf_oz_create_element.o
-	$(MKOCT) -DZINT -c ../Source/umf_dump.c
-	$(MV) -f ../Source/umf_dump.o umf_oz_dump.o
-	$(MKOCT) -DZINT -c ../Source/umf_extend_front.c
-	$(MV) -f ../Source/umf_extend_front.o umf_oz_extend_front.o
-	$(MKOCT) -DZINT -c ../Source/umf_garbage_collection.c
-	$(MV) -f ../Source/umf_garbage_collection.o umf_oz_garbage_collection.o
-	$(MKOCT) -DZINT -c ../Source/umf_get_memory.c
-	$(MV) -f ../Source/umf_get_memory.o umf_oz_get_memory.o
-	$(MKOCT) -DZINT -c ../Source/umf_init_front.c
-	$(MV) -f ../Source/umf_init_front.o umf_oz_init_front.o
-	$(MKOCT) -DZINT -c ../Source/umf_kernel.c
-	$(MV) -f ../Source/umf_kernel.o umf_oz_kernel.o
-	$(MKOCT) -DZINT -c ../Source/umf_kernel_init.c
-	$(MV) -f ../Source/umf_kernel_init.o umf_oz_kernel_init.o
-	$(MKOCT) -DZINT -c ../Source/umf_kernel_wrapup.c
-	$(MV) -f ../Source/umf_kernel_wrapup.o umf_oz_kernel_wrapup.o
-	$(MKOCT) -DZINT -c ../Source/umf_local_search.c
-	$(MV) -f ../Source/umf_local_search.o umf_oz_local_search.o
-	$(MKOCT) -DZINT -c ../Source/umf_lsolve.c
-	$(MV) -f ../Source/umf_lsolve.o umf_oz_lsolve.o
-	$(MKOCT) -DZINT -c ../Source/umf_ltsolve.c
-	$(MV) -f ../Source/umf_ltsolve.o umf_oz_ltsolve.o
-	$(MKOCT) -DZINT -c ../Source/umf_mem_alloc_element.c
-	$(MV) -f ../Source/umf_mem_alloc_element.o umf_oz_mem_alloc_element.o
-	$(MKOCT) -DZINT -c ../Source/umf_mem_alloc_head_block.c
-	$(MV) -f ../Source/umf_mem_alloc_head_block.o umf_oz_mem_alloc_head_block.o
-	$(MKOCT) -DZINT -c ../Source/umf_mem_alloc_tail_block.c
-	$(MV) -f ../Source/umf_mem_alloc_tail_block.o umf_oz_mem_alloc_tail_block.o
-	$(MKOCT) -DZINT -c ../Source/umf_mem_free_tail_block.c
-	$(MV) -f ../Source/umf_mem_free_tail_block.o umf_oz_mem_free_tail_block.o
-	$(MKOCT) -DZINT -c ../Source/umf_mem_init_memoryspace.c
-	$(MV) -f ../Source/umf_mem_init_memoryspace.o umf_oz_mem_init_memoryspace.o
-	$(MKOCT) -DZINT -c ../Source/umf_report_vector.c
-	$(MV) -f ../Source/umf_report_vector.o umf_oz_report_vector.o
-	$(MKOCT) -DZINT -c ../Source/umf_row_search.c
-	$(MV) -f ../Source/umf_row_search.o umf_oz_row_search.o
-	$(MKOCT) -DZINT -c ../Source/umf_scale_column.c
-	$(MV) -f ../Source/umf_scale_column.o umf_oz_scale_column.o
-	$(MKOCT) -DZINT -c ../Source/umf_set_stats.c
-	$(MV) -f ../Source/umf_set_stats.o umf_oz_set_stats.o
-	$(MKOCT) -DZINT -c ../Source/umf_solve.c
-	$(MV) -f ../Source/umf_solve.o umf_oz_solve.o
-	$(MKOCT) -DZINT -c ../Source/umf_symbolic_usage.c
-	$(MV) -f ../Source/umf_symbolic_usage.o umf_oz_symbolic_usage.o
-	$(MKOCT) -DZINT -c ../Source/umf_transpose.c
-	$(MV) -f ../Source/umf_transpose.o umf_oz_transpose.o
-	$(MKOCT) -DZINT -c ../Source/umf_tuple_lengths.c
-	$(MV) -f ../Source/umf_tuple_lengths.o umf_oz_tuple_lengths.o
-	$(MKOCT) -DZINT -c ../Source/umf_usolve.c
-	$(MV) -f ../Source/umf_usolve.o umf_oz_usolve.o
-	$(MKOCT) -DZINT -c ../Source/umf_utsolve.c
-	$(MV) -f ../Source/umf_utsolve.o umf_oz_utsolve.o
-	$(MKOCT) -DZINT -c ../Source/umf_valid_numeric.c
-	$(MV) -f ../Source/umf_valid_numeric.o umf_oz_valid_numeric.o
-	$(MKOCT) -DZINT -c ../Source/umf_valid_symbolic.c
-	$(MV) -f ../Source/umf_valid_symbolic.o umf_oz_valid_symbolic.o
-	$(MKOCT) -DZINT -c ../Source/umf_grow_front.c
-	$(MV) -f ../Source/umf_grow_front.o umf_oz_grow_front.o
-	$(MKOCT) -DZINT -c ../Source/umf_start_front.c
-	$(MV) -f ../Source/umf_start_front.o umf_oz_start_front.o
-	$(MKOCT) -DZINT -c ../Source/umf_2by2.c
-	$(MV) -f ../Source/umf_2by2.o umf_oz_2by2.o
-	$(MKOCT) -DZINT -c ../Source/umf_store_lu.c
-	$(MV) -f ../Source/umf_store_lu.o umf_oz_store_lu.o
-	$(MKOCT) -DZINT -c ../Source/umf_scale.c
-	$(MV) -f ../Source/umf_scale.o umf_oz_scale.o
-	$(MKOCT) -DZINT -DWSOLVE -c ../Source/umfpack_solve.c
-	$(MV) -f ../Source/umfpack_solve.o umfpack_oz_wsolve.o
-	$(MKOCT) -DZINT -c ../Source/umfpack_col_to_triplet.c
-	$(MV) -f ../Source/umfpack_col_to_triplet.o umfpack_oz_col_to_triplet.o
-	$(MKOCT) -DZINT -c ../Source/umfpack_defaults.c
-	$(MV) -f ../Source/umfpack_defaults.o umfpack_oz_defaults.o
-	$(MKOCT) -DZINT -c ../Source/umfpack_free_numeric.c
-	$(MV) -f ../Source/umfpack_free_numeric.o umfpack_oz_free_numeric.o
-	$(MKOCT) -DZINT -c ../Source/umfpack_free_symbolic.c
-	$(MV) -f ../Source/umfpack_free_symbolic.o umfpack_oz_free_symbolic.o
-	$(MKOCT) -DZINT -c ../Source/umfpack_get_numeric.c
-	$(MV) -f ../Source/umfpack_get_numeric.o umfpack_oz_get_numeric.o
-	$(MKOCT) -DZINT -c ../Source/umfpack_get_lunz.c
-	$(MV) -f ../Source/umfpack_get_lunz.o umfpack_oz_get_lunz.o
-	$(MKOCT) -DZINT -c ../Source/umfpack_get_symbolic.c
-	$(MV) -f ../Source/umfpack_get_symbolic.o umfpack_oz_get_symbolic.o
-	$(MKOCT) -DZINT -c ../Source/umfpack_get_determinant.c
-	$(MV) -f ../Source/umfpack_get_determinant.o umfpack_oz_get_determinant.o
-	$(MKOCT) -DZINT -c ../Source/umfpack_numeric.c
-	$(MV) -f ../Source/umfpack_numeric.o umfpack_oz_numeric.o
-	$(MKOCT) -DZINT -c ../Source/umfpack_qsymbolic.c
-	$(MV) -f ../Source/umfpack_qsymbolic.o umfpack_oz_qsymbolic.o
-	$(MKOCT) -DZINT -c ../Source/umfpack_report_control.c
-	$(MV) -f ../Source/umfpack_report_control.o umfpack_oz_report_control.o
-	$(MKOCT) -DZINT -c ../Source/umfpack_report_info.c
-	$(MV) -f ../Source/umfpack_report_info.o umfpack_oz_report_info.o
-	$(MKOCT) -DZINT -c ../Source/umfpack_report_matrix.c
-	$(MV) -f ../Source/umfpack_report_matrix.o umfpack_oz_report_matrix.o
-	$(MKOCT) -DZINT -c ../Source/umfpack_report_numeric.c
-	$(MV) -f ../Source/umfpack_report_numeric.o umfpack_oz_report_numeric.o
-	$(MKOCT) -DZINT -c ../Source/umfpack_report_perm.c
-	$(MV) -f ../Source/umfpack_report_perm.o umfpack_oz_report_perm.o
-	$(MKOCT) -DZINT -c ../Source/umfpack_report_status.c
-	$(MV) -f ../Source/umfpack_report_status.o umfpack_oz_report_status.o
-	$(MKOCT) -DZINT -c ../Source/umfpack_report_symbolic.c
-	$(MV) -f ../Source/umfpack_report_symbolic.o umfpack_oz_report_symbolic.o
-	$(MKOCT) -DZINT -c ../Source/umfpack_report_triplet.c
-	$(MV) -f ../Source/umfpack_report_triplet.o umfpack_oz_report_triplet.o
-	$(MKOCT) -DZINT -c ../Source/umfpack_report_vector.c
-	$(MV) -f ../Source/umfpack_report_vector.o umfpack_oz_report_vector.o
-	$(MKOCT) -DZINT -c ../Source/umfpack_solve.c
-	$(MV) -f ../Source/umfpack_solve.o umfpack_oz_solve.o
-	$(MKOCT) -DZINT -c ../Source/umfpack_symbolic.c
-	$(MV) -f ../Source/umfpack_symbolic.o umfpack_oz_symbolic.o
-	$(MKOCT) -DZINT -c ../Source/umfpack_transpose.c
-	$(MV) -f ../Source/umfpack_transpose.o umfpack_oz_transpose.o
-	$(MKOCT) -DZINT -c ../Source/umfpack_triplet_to_col.c
-	$(MV) -f ../Source/umfpack_triplet_to_col.o umfpack_oz_triplet_to_col.o
-	$(MKOCT) -DZINT -c ../Source/umfpack_scale.c
-	$(MV) -f ../Source/umfpack_scale.o umfpack_oz_scale.o
-	$(MKOCT) -DZINT -c ../Source/umfpack_load_numeric.c
-	$(MV) -f ../Source/umfpack_load_numeric.o umfpack_oz_load_numeric.o
-	$(MKOCT) -DZINT -c ../Source/umfpack_save_numeric.c
-	$(MV) -f ../Source/umfpack_save_numeric.o umfpack_oz_save_numeric.o
-	$(MKOCT) -DZINT -c ../Source/umfpack_load_symbolic.c
-	$(MV) -f ../Source/umfpack_load_symbolic.o umfpack_oz_load_symbolic.o
-	$(MKOCT) -DZINT -c ../Source/umfpack_save_symbolic.c
-	$(MV) -f ../Source/umfpack_save_symbolic.o umfpack_oz_save_symbolic.o
-	$(MKOCT) -c ../Source/umfpack_timer.c
-	$(MV) -f ../Source/umfpack_timer.o umfpack_m_timer.o
-	$(MKOCT) -c ../Source/umfpack_tictoc.c
-	$(MV) -f ../Source/umfpack_tictoc.o umfpack_m_tictoc.o
-	$(MKOCT) -DDINT -c ../../AMD/Source/amd_aat.c
-	$(MV) -f ../../AMD/Source/amd_aat.o amd_m_aat.o
-	$(MKOCT) -DDINT -c ../../AMD/Source/amd_1.c
-	$(MV) -f ../../AMD/Source/amd_1.o amd_m_1.o
-	$(MKOCT) -DDINT -c ../../AMD/Source/amd_2.c
-	$(MV) -f ../../AMD/Source/amd_2.o amd_m_2.o
-	$(MKOCT) -DDINT -c ../../AMD/Source/amd_dump.c
-	$(MV) -f ../../AMD/Source/amd_dump.o amd_m_dump.o
-	$(MKOCT) -DDINT -c ../../AMD/Source/amd_postorder.c
-	$(MV) -f ../../AMD/Source/amd_postorder.o amd_m_postorder.o
-	$(MKOCT) -DDINT -c ../../AMD/Source/amd_post_tree.c
-	$(MV) -f ../../AMD/Source/amd_post_tree.o amd_m_post_tree.o
-	$(MKOCT) -DDINT -c ../../AMD/Source/amd_defaults.c
-	$(MV) -f ../../AMD/Source/amd_defaults.o amd_m_defaults.o
-	$(MKOCT) -DDINT -c ../../AMD/Source/amd_order.c
-	$(MV) -f ../../AMD/Source/amd_order.o amd_m_order.o
-	$(MKOCT) -DDINT -c ../../AMD/Source/amd_control.c
-	$(MV) -f ../../AMD/Source/amd_control.o amd_m_control.o
-	$(MKOCT) -DDINT -c ../../AMD/Source/amd_info.c
-	$(MV) -f ../../AMD/Source/amd_info.o amd_m_info.o
-	$(MKOCT) -DDINT -c ../../AMD/Source/amd_valid.c
-	$(MV) -f ../../AMD/Source/amd_valid.o amd_m_valid.o
-	$(MKOCT) -o umfpack.oct $(OCT_SPARSE_INC) umfpack.cc \
-	    umf_o_analyze.o umf_o_apply_order.o umf_o_colamd.o umf_o_free.o \
-	    umf_o_fsize.o umf_o_is_permutation.o umf_o_malloc.o \
-	    umf_o_realloc.o umf_o_report_perm.o umf_o_singletons.o \
-	    umf_od_lhsolve.o umf_od_uhsolve.o umf_od_triplet_map_nox.o \
-	    umf_od_triplet_nomap_x.o umf_od_triplet_nomap_nox.o \
-	    umf_od_triplet_map_x.o umf_od_assemble_fixq.o \
-	    umf_od_store_lu_drop.o umf_od_assemble.o umf_od_blas3_update.o \
-	    umf_od_build_tuples.o umf_od_create_element.o umf_od_dump.o \
-	    umf_od_extend_front.o umf_od_garbage_collection.o \
-	    umf_od_get_memory.o umf_od_init_front.o umf_od_kernel.o \
-	    umf_od_kernel_init.o umf_od_kernel_wrapup.o umf_od_local_search.o \
-	    umf_od_lsolve.o umf_od_ltsolve.o umf_od_mem_alloc_element.o \
-	    umf_od_mem_alloc_head_block.o umf_od_mem_alloc_tail_block.o \
-	    umf_od_mem_free_tail_block.o umf_od_mem_init_memoryspace.o \
-	    umf_od_report_vector.o umf_od_row_search.o umf_od_scale_column.o \
-	    umf_od_set_stats.o umf_od_solve.o umf_od_symbolic_usage.o \
-	    umf_od_transpose.o umf_od_tuple_lengths.o umf_od_usolve.o \
-	    umf_od_utsolve.o umf_od_valid_numeric.o umf_od_valid_symbolic.o \
-	    umf_od_grow_front.o umf_od_start_front.o umf_od_2by2.o \
-	    umf_od_store_lu.o umf_od_scale.o umfpack_od_wsolve.o \
-	    umfpack_od_col_to_triplet.o umfpack_od_defaults.o \
-	    umfpack_od_free_numeric.o umfpack_od_free_symbolic.o \
-	    umfpack_od_get_numeric.o umfpack_od_get_lunz.o \
-	    umfpack_od_get_symbolic.o umfpack_od_numeric.o \
-	    umfpack_od_qsymbolic.o umfpack_od_report_control.o \
-	    umfpack_od_report_info.o umfpack_od_report_matrix.o \
-	    umfpack_od_report_numeric.o umfpack_od_report_perm.o \
-	    umfpack_od_report_status.o umfpack_od_report_symbolic.o \
-	    umfpack_od_report_triplet.o umfpack_od_report_vector.o \
-	    umfpack_od_solve.o umfpack_od_symbolic.o umfpack_od_transpose.o \
-	    umfpack_od_triplet_to_col.o umfpack_od_scale.o \
-	    umfpack_od_load_numeric.o umfpack_od_save_numeric.o \
-	    umfpack_od_load_symbolic.o umfpack_od_save_symbolic.o \
-	    umf_oz_lhsolve.o umf_oz_uhsolve.o umf_oz_triplet_map_nox.o \
-	    umf_oz_triplet_nomap_x.o umf_oz_triplet_nomap_nox.o \
-	    umf_oz_triplet_map_x.o umf_oz_assemble_fixq.o \
-	    umf_oz_store_lu_drop.o umf_oz_assemble.o umf_oz_blas3_update.o \
-	    umf_oz_build_tuples.o umf_oz_create_element.o umf_oz_dump.o \
-	    umf_oz_extend_front.o umf_oz_garbage_collection.o \
-	    umf_oz_get_memory.o umf_oz_init_front.o umf_oz_kernel.o \
-	    umf_oz_kernel_init.o umf_oz_kernel_wrapup.o umf_oz_local_search.o \
-	    umf_oz_lsolve.o umf_oz_ltsolve.o umf_oz_mem_alloc_element.o \
-	    umf_oz_mem_alloc_head_block.o umf_oz_mem_alloc_tail_block.o \
-	    umf_oz_mem_free_tail_block.o umf_oz_mem_init_memoryspace.o \
-	    umf_oz_report_vector.o umf_oz_row_search.o umf_oz_scale_column.o \
-	    umf_oz_set_stats.o umf_oz_solve.o umf_oz_symbolic_usage.o \
-	    umf_oz_transpose.o umf_oz_tuple_lengths.o umf_oz_usolve.o \
-	    umf_oz_utsolve.o umf_oz_valid_numeric.o umf_oz_valid_symbolic.o \
-	    umf_oz_grow_front.o umf_oz_start_front.o umf_oz_2by2.o \
-	    umf_oz_store_lu.o umf_oz_scale.o umfpack_oz_wsolve.o \
-	    umfpack_oz_col_to_triplet.o umfpack_oz_defaults.o \
-	    umfpack_oz_free_numeric.o umfpack_oz_free_symbolic.o \
-	    umfpack_oz_get_numeric.o umfpack_oz_get_lunz.o \
-	    umfpack_oz_get_symbolic.o umfpack_oz_numeric.o \
-	    umfpack_oz_qsymbolic.o umfpack_oz_report_control.o \
-	    umfpack_oz_report_info.o umfpack_oz_report_matrix.o \
-	    umfpack_oz_report_numeric.o umfpack_oz_report_perm.o \
-	    umfpack_oz_report_status.o umfpack_oz_report_symbolic.o \
-	    umfpack_oz_report_triplet.o umfpack_oz_report_vector.o \
-	    umfpack_oz_solve.o umfpack_oz_symbolic.o umfpack_oz_transpose.o \
-	    umfpack_oz_triplet_to_col.o umfpack_oz_scale.o \
-	    umfpack_oz_load_numeric.o umfpack_oz_save_numeric.o \
-	    umfpack_oz_load_symbolic.o umfpack_oz_save_symbolic.o \
-	    umfpack_o_timer.o umfpack_o_tictoc.o \
-	    amd_o_aat.o amd_o_1.o amd_o_2.o amd_o_dump.o \
-	    amd_o_postorder.o amd_o_post_tree.o amd_o_defaults.o amd_o_order.o \
-	    amd_o_control.o amd_o_info.o amd_o_valid.o
-
-luflop: luflop.cc
-	$(MKOCT) luflop.cc -I$(OCT_SPARSE_INC) -o luflop.oct
-
-#----------------------------------------
-# umfpack library to link with octave
-#----------------------------------------
-
-octave: umfpack
-	ld -r -o ../../../$(OCTUMFPACK_LIB) \
-	    umf_o_analyze.o umf_o_apply_order.o umf_o_colamd.o umf_o_free.o \
-	    umf_o_fsize.o umf_o_is_permutation.o umf_o_malloc.o \
-	    umf_o_realloc.o umf_o_report_perm.o umf_o_singletons.o \
-	    umf_od_lhsolve.o umf_od_uhsolve.o umf_od_triplet_map_nox.o \
-	    umf_od_triplet_nomap_x.o umf_od_triplet_nomap_nox.o \
-	    umf_od_triplet_map_x.o umf_od_assemble_fixq.o \
-	    umf_od_store_lu_drop.o umf_od_assemble.o umf_od_blas3_update.o \
-	    umf_od_build_tuples.o umf_od_create_element.o umf_od_dump.o \
-	    umf_od_extend_front.o umf_od_garbage_collection.o \
-	    umf_od_get_memory.o umf_od_init_front.o umf_od_kernel.o \
-	    umf_od_kernel_init.o umf_od_kernel_wrapup.o umf_od_local_search.o \
-	    umf_od_lsolve.o umf_od_ltsolve.o umf_od_mem_alloc_element.o \
-	    umf_od_mem_alloc_head_block.o umf_od_mem_alloc_tail_block.o \
-	    umf_od_mem_free_tail_block.o umf_od_mem_init_memoryspace.o \
-	    umf_od_report_vector.o umf_od_row_search.o umf_od_scale_column.o \
-	    umf_od_set_stats.o umf_od_solve.o umf_od_symbolic_usage.o \
-	    umf_od_transpose.o umf_od_tuple_lengths.o umf_od_usolve.o \
-	    umf_od_utsolve.o umf_od_valid_numeric.o umf_od_valid_symbolic.o \
-	    umf_od_grow_front.o umf_od_start_front.o umf_od_2by2.o \
-	    umf_od_store_lu.o umf_od_scale.o umfpack_od_wsolve.o \
-	    umfpack_od_col_to_triplet.o umfpack_od_defaults.o \
-	    umfpack_od_free_numeric.o umfpack_od_free_symbolic.o \
-	    umfpack_od_get_numeric.o umfpack_od_get_lunz.o \
-	    umfpack_od_get_symbolic.o umfpack_od_numeric.o \
-	    umfpack_od_qsymbolic.o umfpack_od_report_control.o \
-	    umfpack_od_report_info.o umfpack_od_report_matrix.o \
-	    umfpack_od_report_numeric.o umfpack_od_report_perm.o \
-	    umfpack_od_report_status.o umfpack_od_report_symbolic.o \
-	    umfpack_od_report_triplet.o umfpack_od_report_vector.o \
-	    umfpack_od_solve.o umfpack_od_symbolic.o umfpack_od_transpose.o \
-	    umfpack_od_triplet_to_col.o umfpack_od_scale.o \
-	    umfpack_od_load_numeric.o umfpack_od_save_numeric.o \
-	    umfpack_od_load_symbolic.o umfpack_od_save_symbolic.o \
-	    umf_oz_lhsolve.o umf_oz_uhsolve.o umf_oz_triplet_map_nox.o \
-	    umf_oz_triplet_nomap_x.o umf_oz_triplet_nomap_nox.o \
-	    umf_oz_triplet_map_x.o umf_oz_assemble_fixq.o \
-	    umf_oz_store_lu_drop.o umf_oz_assemble.o umf_oz_blas3_update.o \
-	    umf_oz_build_tuples.o umf_oz_create_element.o umf_oz_dump.o \
-	    umf_oz_extend_front.o umf_oz_garbage_collection.o \
-	    umf_oz_get_memory.o umf_oz_init_front.o umf_oz_kernel.o \
-	    umf_oz_kernel_init.o umf_oz_kernel_wrapup.o umf_oz_local_search.o \
-	    umf_oz_lsolve.o umf_oz_ltsolve.o umf_oz_mem_alloc_element.o \
-	    umf_oz_mem_alloc_head_block.o umf_oz_mem_alloc_tail_block.o \
-	    umf_oz_mem_free_tail_block.o umf_oz_mem_init_memoryspace.o \
-	    umf_oz_report_vector.o umf_oz_row_search.o umf_oz_scale_column.o \
-	    umf_oz_set_stats.o umf_oz_solve.o umf_oz_symbolic_usage.o \
-	    umf_oz_transpose.o umf_oz_tuple_lengths.o umf_oz_usolve.o \
-	    umf_oz_utsolve.o umf_oz_valid_numeric.o umf_oz_valid_symbolic.o \
-	    umf_oz_grow_front.o umf_oz_start_front.o umf_oz_2by2.o \
-	    umf_oz_store_lu.o umf_oz_scale.o umfpack_oz_wsolve.o \
-	    umfpack_oz_col_to_triplet.o umfpack_oz_defaults.o \
-	    umfpack_oz_free_numeric.o umfpack_oz_free_symbolic.o \
-	    umfpack_oz_get_numeric.o umfpack_oz_get_lunz.o \
-	    umfpack_oz_get_symbolic.o umfpack_oz_numeric.o \
-	    umfpack_oz_qsymbolic.o umfpack_oz_report_control.o \
-	    umfpack_oz_report_info.o umfpack_oz_report_matrix.o \
-	    umfpack_oz_report_numeric.o umfpack_oz_report_perm.o \
-	    umfpack_oz_report_status.o umfpack_oz_report_symbolic.o \
-	    umfpack_oz_report_triplet.o umfpack_oz_report_vector.o \
-	    umfpack_oz_solve.o umfpack_oz_symbolic.o umfpack_oz_transpose.o \
-	    umfpack_oz_triplet_to_col.o umfpack_oz_scale.o \
-	    umfpack_oz_load_numeric.o umfpack_oz_save_numeric.o \
-	    umfpack_oz_load_symbolic.o umfpack_oz_save_symbolic.o \
-	    umfpack_o_timer.o umfpack_o_tictoc.o \
-	    amd_o_aat.o amd_o_1.o amd_o_2.o amd_o_dump.o \
-	    amd_o_postorder.o amd_o_post_tree.o amd_o_defaults.o amd_o_order.o \
-	    amd_o_control.o amd_o_info.o amd_o_valid.o
-
-#-------------------------------------------------------------------------------
-# Remove all but the files in the original distribution
-#-------------------------------------------------------------------------------
-
-purge: clean
-	- $(RM) *.oct* *.dll
--- a/liboctave/UMFPACK/UMFPACK/OCTAVE/lu_normest.m	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-function rho = lu_normest (A, L, U)
-% LU_NORMEST:  estimate the 1-norm of A-L*U without computing L*U
-%
-% Usage:
-%
-%       rho = lu_normest (A, L, U)
-%
-% which estimates the computation of the 1-norm:
-%
-%       rho = norm (A-L*U, 1) 
-%
-% Authors:  William W. Hager, Math Dept., Univ. of Florida
-%       Timothy A. Davis, CISE Dept., Univ. of Florida
-%       Gainesville, FL, 32611, USA.
-%       based on normest1, contributed on November, 1997
-%
-% This code can be quite easily adapted to estimate the 1-norm of any 
-% matrix E, where E itself is dense or not explicitly represented, but the
-% computation of E (and E') times a vector is easy.  In this case, our matrix
-% of interest is:
-%
-%       E = A-L*U
-%
-% That is, L*U is the LU factorization of A, where A, L and U
-% are sparse.  This code works for dense matrices A and L too,
-% but it would not be needed in that case, since E is easy to compute
-% explicitly.  For sparse A, L, and U, computing E explicitly would be quite
-% expensive, and thus normest (A-L*U) would be prohibitive.
-%
-% For a detailed description, see Davis, T. A. and Hager, W. W.,
-% Modifying a sparse Cholesky factorization, SIAM J. Matrix Analysis and
-% Applications, 1999, vol. 20, no. 3, 606-627.
-
-% The three places that the matrix-vector multiply E*x is used are highlighted.
-% Note that E is never formed explicity.
-
-[m n] = size (A) ;
-
-if (m ~= n)
-    % pad A, L, and U with zeros so that they are all square
-    if (m < n)
-        U = [ U ; (sparse (n-m,n)) ] ;
-        L = [ L , (sparse (m,n-m)) ; (sparse (n-m,n)) ] ;
-        A = [ A ; (sparse (n-m,n)) ] ;
-    else
-        U = [ U , (sparse (n,m-n)) ; (sparse (m-n,m)) ] ;
-        L = [ L , (sparse (m,m-n)) ] ;
-        A = [ A , (sparse (m,m-n)) ] ;
-    end
-end
-
-[m n] = size (A) ;
-
-notvisited = ones (m, 1) ;  % nonvisited(j) is zero if j is visited, 1 otherwise
-rho = 0 ;    % the global rho
-
-At = A' ;
-Lt = L' ;
-
-for trial = 1:3 % {
-
-   x = notvisited ./ sum (notvisited) ;
-   rho1 = 0 ;    % the current rho for this trial
-
-   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-   %%% COMPUTE Ex1 = E*x EFFICIENTLY: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-   Ex1 = (A*x) - L*(U*x) ;
-   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-   rho2 = norm (Ex1, 1) ;
-
-   while rho2 > rho1 % {
-
-        rho1 = rho2 ;
-        y = 2*(Ex1 >= 0) - 1 ;
-
-        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-        %%% COMPUTE z = E'*y EFFICIENTLY: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-        z = (A'*y) - U'*(L'*y) ;
-        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-        [zj, j] = max (abs (z .* notvisited)) ;
-        j = j (1) ;
-        if (abs (z (j)) > z'*x) % {
-            x = zeros (m, 1) ;
-            x (j) = 1 ;
-            notvisited (j) = 0 ;
-        else % } {
-            break ;
-        end % }
-
-        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-        %%% COMPUTE Ex1 = E*x EFFICIENTLY: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-        Ex1 = (A*x) - L*(U*x) ;
-        %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-        rho2 = norm (Ex1, 1) ;
-
-    end % }
-
-    rho = max (rho, rho1) ;
-
-end % }
--- a/liboctave/UMFPACK/UMFPACK/OCTAVE/luflop.cc	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,223 +0,0 @@
-/*
-
-Copyright (C) 2004 David Bateman
-
-This program is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option) any
-later version.
-
-This program is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; see the file COPYING.  If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-
-In addition to the terms of the GPL, you are permitted to link
-this program with any Open Source program, as defined by the
-Open Source Initiative (www.opensource.org)
-
-*/
-
-/*
-
-This is the Octave interface to the UMFPACK code, which bore the following
-copyright
-
-  UMFPACK Version 4.3 (Jan. 16, 2004), Copyright (c) 2004 by Timothy A.
-  Davis.  All Rights Reserved.  See ../README for License.
-  email: davis@cise.ufl.edu    CISE Department, Univ. of Florida.
-  web: http://www.cise.ufl.edu/research/sparse/umfpack
-
-*/
-
-
-#include <cstdlib>
-#include <string>
-
-#include <octave/config.h>
-#include <octave/ov.h>
-#include <octave/defun-dld.h>
-#include <octave/pager.h>
-#include <octave/ov-re-mat.h>
-
-#include "ov-re-sparse.h"
-#include "ov-cx-sparse.h"
-
-DEFUN_DLD (luflop, args, nargout,
-    "-*- texinfo -*-\n\
-@deftypefn {Loadable Function} {@var{f} =} luflup (@var{l}, @var{u})\n\
-\n\
-Given an LU factorization, compute how many flops took to compute it. This\n\
-is the same as (assuming U has a zero-free diagonal):\n\
-\n\
-@example\n\
-@group\n\
-  Lnz = full (sum (spones (L))) - 1 ;\n\
-  Unz = full (sum (spones (U')))' - 1 ;\n\
-  f = 2*Lnz*Unz + sum (Lnz) ;\n\
-@end group\n\
-@end example\n\
-\n\
-except that no extra workspace is allocated for spones (L) and spones (U).\n\
-L and U must be sparse.\n\
-\n\
-Note: the above expression has a subtle undercount when exact numerical\n\
-cancelation occurs.  Try [L,U,P] = lu (sparse (ones (10))) and then\n\
-luflop (L,U).\n\
-@end deftypefn")
-{
-  int nargin = args.length ();
-  octave_value retval;
-
-  // These are here only so that the C++ destructors don't prematurally
-  // remove the underlying data we are interested in
-  SparseMatrix Lmatrix, Umatrix;
-  SparseComplexMatrix CLmatrix, CUmatrix;
-  int *Lp, *Li, *Up, *Ui;
-  int Lm, Ln, Um, Un;
-
-  if (nargin != 2)
-    {
-      usage ("f = luflop (L, U)");
-      return retval;
-    }
-
-  if (args(0).class_name () == "sparse")
-    {
-      if (args(0).is_complex_type ())
-	{
-	  CLmatrix = 
-	    (((const octave_sparse_complex_matrix&) args(0).get_rep ())
-	     .sparse_complex_matrix_value ());
-	  Lp = CLmatrix.cidx ();
-	  Li = CLmatrix.ridx ();
-	  Lm = CLmatrix.rows ();
-	  Ln = CLmatrix.cols ();
-	}
-      else
-	{
-	  Lmatrix = (((const octave_sparse_matrix&) args(0).get_rep ())
-	     .sparse_matrix_value ());
-	  Lp = Lmatrix.cidx ();
-	  Li = Lmatrix.ridx ();
-	  Lm = Lmatrix.rows ();
-	  Ln = Lmatrix.cols ();
-	}
-    }
-  else
-    {
-      if (args(0).is_complex_type ())
-	{
-	  CLmatrix =  SparseComplexMatrix (args(0).complex_matrix_value ());
-	  Lp = CLmatrix.cidx ();
-	  Li = CLmatrix.ridx ();
-	  Lm = CLmatrix.rows ();
-	  Ln = CLmatrix.cols ();
-	}
-      else
-	{
-	  Lmatrix = SparseMatrix (args(0).matrix_value ());
-	  Lp = Lmatrix.cidx ();
-	  Li = Lmatrix.ridx ();
-	  Lm = Lmatrix.rows ();
-	  Ln = Lmatrix.cols ();
-	}
-    }
-
-
-  if (args(0).class_name () == "sparse")
-    {
-      if (args(1).is_complex_type ())
-	{
-	  CUmatrix = 
-	    (((const octave_sparse_complex_matrix&) args(1).get_rep ())
-	     .sparse_complex_matrix_value ());
-	  Up = CUmatrix.cidx ();
-	  Ui = CUmatrix.ridx ();
-	  Um = CUmatrix.rows ();
-	  Un = CUmatrix.cols ();
-	}
-      else
-	{
-	  Umatrix = 
-	    (((const octave_sparse_matrix&) args(1).get_rep ())
-	     .sparse_matrix_value ());
-	  Up = Umatrix.cidx ();
-	  Ui = Umatrix.ridx ();
-	  Um = Umatrix.rows ();
-	  Un = Umatrix.cols ();
-	}
-    }
-  else
-    {
-      if (args(1).is_complex_type ())
-	{
-	  CUmatrix = SparseComplexMatrix (args(1).complex_matrix_value ());
-	  Up = CUmatrix.cidx ();
-	  Ui = CUmatrix.ridx ();
-	  Um = CUmatrix.rows ();
-	  Un = CUmatrix.cols ();
-	}
-      else
-	{
-	  Umatrix = SparseMatrix (args(1).matrix_value ());
-	  Up = Umatrix.cidx ();
-	  Ui = Umatrix.ridx ();
-	  Um = Umatrix.rows ();
-	  Un = Umatrix.cols ();
-	}
-    }
-
-
-  if (error_state)
-    return retval;
-
-      
-  int n = Lm;
-      
-  if (n != Ln || n != Um || n != Un)
-    error ("luflop: L and U must be square");
-  else
-    {
-	
-      OCTAVE_LOCAL_BUFFER (int, Unz, n);
-
-      // count the nonzeros in each row of U
-      for (int row = 0 ; row < n ; row++)
-	Unz [row] = 0 ;
-
-      for (int col = 0 ; col < n ; col++)
-	{
-	  for (int p = Up [col] ; p < Up [col+1] ; p++)
-	    {
-	      int row = Ui [p] ;
-	      Unz [row]++ ;
-	    }
-	}
-
-      // count the flops
-      double flop_count = 0.0 ;
-      for (int k = 0 ; k < n ; k++)
-	{
-	  /* off-diagonal nonzeros in column k of L: */
-	  int Lnz_k = Lp [k+1] - Lp [k] - 1 ;
-	  int Unz_k = Unz [k] - 1 ;
-	  flop_count += (2 * Lnz_k * Unz_k) + Lnz_k ;
-	}
-
-      // return the result
-      retval = flop_count;
-    }
-
-  return retval;
-}
-
-/*
-;;; Local Variables: ***
-;;; mode: C++ ***
-;;; End: ***
-*/
--- a/liboctave/UMFPACK/UMFPACK/OCTAVE/umfpack.cc	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1399 +0,0 @@
-/*
-
-Copyright (C) 2004 David Bateman
-
-This program is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option) any
-later version.
-
-This program is distributed in the hope that it will be useful, but WITHOUT
-ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; see the file COPYING.  If not, write to the Free
-Software Foundation, 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-
-In addition to the terms of the GPL, you are permitted to link
-this program with any Open Source program, as defined by the
-Open Source Initiative (www.opensource.org)
-
-*/
-
-/*
-
-This is the Octave interface to the UMFPACK code, which bore the following
-copyright
-
-  UMFPACK Version 4.3 (Jan. 16, 2004), Copyright (c) 2004 by Timothy A.
-  Davis.  All Rights Reserved.  See ../README for License.
-  email: davis@cise.ufl.edu    CISE Department, Univ. of Florida.
-  web: http://www.cise.ufl.edu/research/sparse/umfpack
-
-*/
-
-#include <cfloat>
-#include <cstdlib>
-#include <string>
-
-#include <octave/config.h>
-#include <octave/ov.h>
-#include <octave/defun-dld.h>
-#include <octave/pager.h>
-#include <octave/ov-re-mat.h>
-
-#include "ov-re-sparse.h"
-#include "ov-cx-sparse.h"
-
-// External UMFPACK functions in C
-extern "C" {
-#include "umfpack.h"
-}
-
-#define MIN(a,b) (((a) < (b)) ? (a) : (b))
-#define MAX(a,b) (((a) > (b)) ? (a) : (b))
-
-// Return an error message
-static 
-void umfpack_error (const char *s, int A_is_complex, int nargout,
-		    octave_value_list retval, NDArray Control, 
-		    NDArray Info, int status, int do_info)
-{
-  if (A_is_complex)
-    {
-      umfpack_zi_report_status (Control.fortran_vec (), status) ;
-      umfpack_zi_report_info (Control.fortran_vec (), Info.fortran_vec ()) ;
-    }
-  else
-    {
-      umfpack_di_report_status (Control.fortran_vec (), status) ;
-      umfpack_di_report_info (Control.fortran_vec (), Info.fortran_vec ()) ;
-    }
-  if (do_info > 0)
-    // return Info
-    retval (do_info) = octave_value (Info);
-
-  error (s);
-}
-
-DEFUN_DLD (umfpack, args, nargout,
-    "-*- texinfo -*-\n\
-@deftypefn {Loadable Function} {[@var{x}, @var{Info}] =} umfpack (@var{a}, '\\', @var{b})\n\
-@deftypefnx {Loadable Function} {[@var{x}, @var{Info}] =} umfpack (@var{a}, '\\', @var{b}, @var{Control})\n\
-@deftypefnx {Loadable Function} {[@var{x}, @var{Info}] =} umfpack (@var{a}, @var{Qinit}, '\\', @var{b}, @var{Control})\n\
-@deftypefnx {Loadable Function} {[@var{x}, @var{Info}] =} umfpack (@var{a}, @var{Qinit}, '\\', b)\n\
-@deftypefnx {Loadable Function} {[@var{x}, @var{Info}] =} umfpack (@var{b}, '/', A) ;\n\
-@deftypefnx {Loadable Function} {[@var{x}, @var{Info}] =} umfpack (@var{b}, '/', @var{a}, @var{Control}) ;\n\
-@deftypefnx {Loadable Function} {[@var{x}, @var{Info}] =} umfpack (@var{b}, '/', @var{a}, @var{Qinit}) ;\n\
-@deftypefnx {Loadable Function} {[@var{x}, @var{Info}] =} umfpack (@var{b}, '/', @var{a}, @var{Qinit}, @var{Control}) ;\n\
-@deftypefnx {Loadable Function} {[@var{l}, @var{u}, @var{p}, @var{q}, @var{r}, @var{Info}] =} umfpack (@var{a}) ;\n\
-@deftypefnx {Loadable Function} {[@var{l}, @var{u}, @var{p}, @var{q}, @var{r}, @var{Info}] =} umfpack (@var{a}, @var{Control}) ;\n\
-@deftypefnx {Loadable Function} {[@var{l}, @var{u}, @var{p}, @var{q}, @var{r}, @var{Info}] =} umfpack (@var{a}, @var{Qinit}) ;\n\
-@deftypefnx {Loadable Function} {[@var{l}, @var{u}, @var{p}, @var{q}, @var{r}, @var{Info}] =} umfpack (@var{a}, @var{Qinit}, @var{Control}) ;\n\
-@deftypefnx {Loadable Function} {[@var{l}, @var{u}, @var{p}, @var{q}] =} umfpack (@var{a}) ;\n\
-@deftypefnx {Loadable Function} {[@var{l}, @var{u}, @var{p}, @var{q}] =} umfpack (@var{a}, @var{Control}) ;\n\
-@deftypefnx {Loadable Function} {[@var{l}, @var{u}, @var{p}, @var{q}] =} umfpack (@var{a}, @var{Qinit}) ;\n\
-@deftypefnx {Loadable Function} {[@var{l}, @var{u}, @var{p}, @var{q}] =} umfpack (@var{a}, @var{Qinit}, @var{Control}) ;\n\
-@deftypefnx {Loadable Function} {[P1, Q1, Fr, Ch, Info] =} umfpack (@var{a}, 'symbolic') ;\n\
-@deftypefnx {Loadable Function} {[P1, Q1, Fr, Ch, Info] =} umfpack (@var{a}, 'symbolic', @var{Control}) ;\n\
-@deftypefnx {Loadable Function} {[P1, Q1, Fr, Ch, Info] =} umfpack (@var{a}, @var{Qinit}, 'symbolic') ;\n\
-@deftypefnx {Loadable Function} {[P1, Q1, Fr, Ch, Info] =} umfpack (@var{a}, @var{Qinit}, 'symbolic', @var{Control});\n\
-@deftypefnx {Loadable Function} {@var{Control} =} umfpack ;\n\
-\n\
-UMFPACK v4.3 is a Octave oct-file for solving sparse linear systems.\n\
-\n\
-@iftex\n\
-@tex\n\
-\\vskip 2ex\n\
-\\hfil\\vbox{\n\
-\\offinterlineskip\n\
-\\tabskip=0pt\n\
-\\halign{\n\
-\\vrule height1.75ex depth1.25ex width 0.6pt #\\tabskip=1em &\n\
-\\hfil #\\hfil &\\vrule # & \n\
-\\hfil #\\hfil &\\vrule # width 0.6pt \\tabskip=0pt\\cr\n\
-\\noalign{\\hrule height 0.6pt}\n\
-&     UMFPACK v4.3                  && OCTAVE approximate equivalent  &\\cr\n\
-\\noalign{\\hrule} \n\
-& x = umfpack (A, '\\', b) ;        &&  x = A \\ b                    &\\cr\n\
-&                                   &&                                &\\cr\n\
-&x = umfpack (b, '/', A) ;          &&  x = b / A                     &\\cr\n\
-&                                   &&                                &\\cr\n\
-&[L,U,P,Q] = umfpack (A) ;          &&  [m,n] = size (A) ;            &\\cr\n\
-&                                   &&  I = speye (n) ;               &\\cr\n\
-&                                   &&  Q = I (:, colamd (A)) ;       &\\cr\n\
-&                                   &&  [L,U,P] = lu (A*Q) ;          &\\cr\n\
-&                                   &&                                &\\cr\n\
-&[L,U,P,Q,R] = umfpack (A) ;        &&  [m,n] = size (A) ;            &\\cr\n\
-&                                   &&  I = speye (n) ;               &\\cr\n\
-&                                   &&  Q = I (:, colamd (A)) ;       &\\cr\n\
-&                                   &&  r = full (sum (abs (A), 2)) ; &\\cr\n\
-&                                   &&  r (find (r == 0)) = 1 ;       &\\cr\n\
-&                                   &&  R = spdiags (r, 0, m, m) ;    &\\cr\n\
-&                                   &&  [L,U,P] = lu ((R\\A)*Q) ;     &\\cr\n\
-&                                   &&                                &\\cr\n\
-&[P,Q,F,C] = umfpack (A, 'symbolic')&&  [m,n] = size (A) ;            &\\cr\n\
-&                                   &&  I = speye (n) ;               &\\cr\n\
-&                                   &&  Q = I (:, colamd (A)) ;       &\\cr\n\
-&                                   &&  [count,h,parent,post] = ...   &\\cr\n\
-&                                   &&  symbfact (A*Q, 'col') ;       &\\cr\n\
-\\noalign{\\hrule height 0.6pt}\n\
-}}\\hfil\n\
-\\vskip 1ex\n\
-@end tex\n\
-@end iftex\n\
-@ifinfo\n\
-@multitable @columnfractions 0.43 .02 .43\n\
-@item UMFPACK v4.3:                       @tab | \n\
-@tab OCTAVE approx. equivalent\n\
-@item -------------------------------     @tab | \n\
-@tab --------------------------------\n\
-@item x = umfpack (A, '\\', b) ;          @tab | \n\
-@tab x = A \\ b\n\
-@item                                     @tab | \n\
-@tab\n\
-@item x = umfpack (b, '/', A) ;           @tab | \n\
-@tab  x = b / A\n\
-@item                                     @tab | \n\
-@tab\n\
-@item [L,U,P,Q] = umfpack (A) ;           @tab | \n\
-@tab  [m,n] = size (A) ;\n\
-@item                                     @tab | \n\
-@tab  I = speye (n) ;\n\
-@item                                     @tab | \n\
-@tab  Q = I (:, colamd (A)) ;\n\
-@item                                     @tab | \n\
-@tab  [L,U,P] = lu (A*Q) ;\n\
-@item                                     @tab | \n\
-@tab\n\
-@item [L,U,P,Q,R] = umfpack (A) ;         @tab | \n\
-@tab  [m,n] = size (A) ;\n\
-@item                                     @tab | \n\
-@tab  I = speye (n) ;\n\
-@item                                     @tab | \n\
-@tab  Q = I (:, colamd (A)) ;\n\
-@item                                     @tab | \n\
-@tab  r = full (sum (abs (A), 2)) ;\n\
-@item                                     @tab | \n\
-@tab  r (find (r == 0)) = 1 ;\n\
-@item                                     @tab | \n\
-@tab  R = spdiags (r, 0, m, m) ;\n\
-@item                                     @tab | \n\
-@tab  [L,U,P] = lu ((R\\A)*Q) ;\n\
-@item                                     @tab | \n\
-@tab\n\
-@item [P,Q,F,C] = umfpack (A, 'symbolic') @tab | \n\
-@tab  [m,n] = size (A) ; \n\
-@item                                     @tab | \n\
-@tab  I = speye (n) ;\n\
-@item                                     @tab | \n\
-@tab  Q = I (:, colamd (A)) ;\n\
-@item                                     @tab | \n\
-@tab  [count,h,parent,post] = ...\n\
-@item                                     @tab | \n\
-@tab  symbfact (A*Q, 'col') ;\n\
-@end multitable\n\
-@end ifinfo\n\
-\n\
-A must be sparse.  It can be complex, singular, and/or rectangular.\n\
-A must be square for '/' or '\\'.  b must be a full real or complex\n\
-vector.  For @code{[@var{l}, @var{u}, @var{p}, @var{q}, @var{r}] =\n\
-umfpack (@var{a})}, the factorization is @code{@var{l} * @var{u} =\n\
-@var{p} * (@var{r} \\ @var{a}) * @var{q}}. If @var{a} has a mostly\n\
-symmetric nonzero pattern, then replace @dfn{colamd} with @dfn{amd}\n\
-in the OCTAVE-equivalent column in the table above.\n\
-\n\
-Factor or solve a sparse linear system, returning either the solution\n\
-@var{x} to @code{@var{A} * @var{x} = @var{b}} or @code{@var{A}' * @var{x}'\n\
-= @var{b}'}, the factorization LU=PAQ, or LU=P(R\\A)Q.  A must be sparse.\n\
-For the solve, A must be square and b must be a dense n-by-1 vector.  For LU\n\
-factorization, A can be rectangular.  In both cases, A and/or b can be real\n\
-or complex.\n\
-\n\
-UMFPACK analyzes the matrix and selects one of three strategies to factorize\n\
-the matrix. It first finds a set of k initial pivot entries of zero\n\
-Markowitz cost. This forms the first k rows and columns of L and U. The\n\
-remaining submatrix S is then analyzed, based on the symmetry of the nonzero\n\
-pattern of the submatrix and the values on the diagaonal.  The strategies\n\
-include:\n\
-\n\
-@table @asis\n\
-@item unsymmetric\n\
-Use a COLAMD pre-ordering, a column elimination tree\n\
-post-ordering, refine the column ordering during factorization,\n\
-and make no effort at selecting pivots on the diagonal.\n\
-@item 2-by-2\n\
-Like the symmetric strategy (see below), except that local\n\
-row permutations are first made to attempt to place large entries\n\
-on the diagonal.\n\
-@item symmetric\n\
-Use an AMD pre-ordering on the matrix @code{@var{s} + @var{s}'}, an\n\
-elimination tree post-ordering, do not refine the column ordering during\n\
-factorization, and attempt to select pivots on the diagonal.\n\
-@end table\n\
-\n\
-Each of the following uses of umfpack (except for 'Control = umfpack') is\n\
-stand-alone.  That is, no call to umfpack is required for any subsequent\n\
-call. In each usage, the Info output argument is optional.\n\
-\n\
-Usage:\n\
-\n\
-[x, Info] = umfpack (A, '\\', b) ;\n\
-[x, Info] = umfpack (A, '\\', b, Control) ;\n\
-[x, Info] = umfpack (A, Qinit, '\\', b, Control) ;\n\
-[x, Info] = umfpack (A, Qinit, '\\', b) ;\n\
-\n\
-     Solves Ax=b (similar to x = A\\b in OCTAVE).\n\
-\n\
-[x, Info] = umfpack (b, '/', A) ;\n\
-[x, Info] = umfpack (b, '/', A, Control) ;\n\
-[x, Info] = umfpack (b, '/', A, Qinit) ;\n\
-[x, Info] = umfpack (b, '/', A, Qinit, Control) ;\n\
-\n\
-     Solves A'x'=b' (similar to x = b/A in OCTAVE).\n\
-\n\
-[L, U, P, Q, R, Info] = umfpack (A) ;\n\
-[L, U, P, Q, R, Info] = umfpack (A, Control) ;\n\
-[L, U, P, Q, R, Info] = umfpack (A, Qinit) ;\n\
-[L, U, P, Q, R, Info] = umfpack (A, Qinit, Control) ;\n\
-\n\
-     Returns the LU factorization of A.  P and Q are returned as permutation\n\
-     matrices.  R is a diagonal sparse matrix of scale factors for the rows\n\
-     of A, L is lower triangular, and U is upper triangular.  The\n\
-     factorization is L*U = P*(R\\A)*Q.  You can turn off scaling by setting\n\
-     Control (17) to zero (in which case R = speye (m)), or by using the\n\
-     following syntaxes (in which case Control (17) is ignored):\n\
-\n\
-[L, U, P, Q] = umfpack (A) ;\n\
-[L, U, P, Q] = umfpack (A, Control) ;\n\
-[L, U, P, Q] = umfpack (A, Qinit) ;\n\
-[L, U, P, Q] = umfpack (A, Qinit, Control) ;\n\
-\n\
-     Same as above, except that no row scaling is performed.  The Info array\n\
-     is not returned, either.\n\
-\n\
-[P1, Q1, Fr, Ch, Info] = umfpack (A, 'symbolic') ;\n\
-[P1, Q1, Fr, Ch, Info] = umfpack (A, 'symbolic', Control) ;\n\
-[P1, Q1, Fr, Ch, Info] = umfpack (A, Qinit, 'symbolic') ;\n\
-[P1, Q1, Fr, Ch, Info] = umfpack (A, Qinit, 'symbolic', Control);\n\
-\n\
-     Performs only the fill-reducing column pre-ordering (including the\n\
-     elimination tree post-ordering) and symbolic factorization.  Q1 is the\n\
-     initial column permutation (either from colamd, amd, or the input\n\
-     ordering Qinit), possibly followed by a column elimination tree post-\n\
-     ordering or a symmetric elimination tree post-ordering, depending on\n\
-     the strategy used.\n\
-\n\
-     For the unsymmetric strategy, P1 is the row ordering induced by Q1\n\
-     (row-merge order). For the 2-by-2 strategy, P1 is the row ordering that\n\
-     places large entries on the diagonal of P1*A*Q1.  For the symmetric\n\
-     strategy, P1 = Q1.\n\
-\n\
-     Fr is a (nfr+1)-by-4 array containing information about each frontal\n\
-     matrix, where nfr <= n is the number of frontal matrices.  Fr (:,1) is\n\
-     the number of pivot columns in each front, and Fr (:,2) is the parent\n\
-     of each front in the supercolumn elimination tree.  Fr (k,2) is zero if\n\
-     k is a root.  The first Fr (1,1) columns of P1*A*Q1 are the pivot\n\
-     columns for the first front, the next Fr (2,1) columns of P1*A*Q1\n\
-     are the pivot columns for the second front, and so on.\n\
-\n\
-     For the unsymmetric strategy, Fr (:,3) is the row index of the first\n\
-     row in P1*A*Q1 whose leftmost nonzero entry is in a pivot column for\n\
-     the kth front.  Fr (:,4) is the leftmost descendent of the kth front.\n\
-     Rows in the range Fr (Fr (k,4),3) to Fr (k+1,3)-1 form the entire set\n\
-     of candidate pivot rows for the kth front (some of these will typically\n\
-     have been selected as pivot rows of fronts Fr (k,3) to k-1, before the\n\
-     factorization reaches the kth front.  If front k is a leaf node, then\n\
-     Fr (k,4) is k.\n\
-\n\
-     Ch is a (nchains+1)-by-3 array containing information about each\n\
-     'chain' (unifrontal sequence) of frontal matrices, and where\n\
-      nchains <= nfr is the number of chains. The ith chain consists of\n\
-     frontal matrices. Chain (i,1) to Chain (i+1,1)-1, and the largest\n\
-     front in chain i is Chain (i,2)-by-Chain (i,3).\n\
-\n\
-     This use of umfpack is not required to factor or solve a linear system\n\
-     in OCTAVE.  It analyzes the matrix A and provides information only.\n\
-     The OCTAVE statement @code{treeplot (Fr (:,2)')} plots the column\n\
-     elimination tree.\n\
-\n\
-Control = umfpack ;\n\
-\n\
-      Returns a 20-by-1 vector of default parameter settings for umfpack.\n\
-\n\
-umfpack_report (Control, Info) ;\n\
-\n\
-      Prints the current Control settings, and Info\n\
-\n\
-If present, Qinit is a user-supplied 1-by-n permutation vector.  It is an\n\
-initial fill-reducing column pre-ordering for A; if not present, then colamd\n\
-or amd are used instead.  If present, Control is a user-supplied 20-by-1\n\
-array.   Control and Info are optional; if Control is not present, defaults\n\
-are used.  If a Control entry is NaN, then the default is used for that entry.\n\
-\n\
-UMFPACK Version 4.3 (Jan. 16, 2004), Copyright @copyright{} 2004 by\n\
-Timothy A. Davis.  All Rights Reserved.\n\
-\n\
-UMFPACK License:\n\
-\n\
-@example\n\
-Your use or distribution of UMFPACK or any modified version of\n\
-UMFPACK implies that you agree to this License.\n\
-\n\
-THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY\n\
-EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.\n\
-\n\
-Permission is hereby granted to use or copy this program, provided\n\
-that the Copyright, this License, and the Availability of the original\n\
-version is retained on all copies.  User documentation of any code that\n\
-uses UMFPACK or any modified version of UMFPACK code must cite the\n\
-Copyright, this License, the Availability note, and 'Used by permission.'\n\
-Permission to modify the code and to distribute modified code is granted,\n\
-provided the Copyright, this License, and the Availability note are\n\
-retained, and a notice that the code was modified is included.  This\n\
-software was developed with support from the National Science Foundation,\n\
-and is provided to you free of charge.\n\
-@end example\n\
-\n\
-Availability: http://www.cise.ufl.edu/research/sparse/umfpack\n\
-@end deftypefn\n\
-@seealso{lu_normtest, colamd, amd, umfpack_solve}")
-{
-  octave_value_list retval;
-  int nargin = args.length ();
-  int op = 0;
-  std::string operation;
-  bool do_solve = false;
-  int do_info = 0;
-
-  ColumnVector User_Qinit;
-  SparseComplexMatrix CAmatrix;
-  ComplexMatrix CBmatrix;
-  SparseMatrix Amatrix;
-  Matrix Bmatrix;
-  NDArray User_Control_matrix;
-
-  bool A_is_complex = false;
-  bool B_is_complex = false;
-  bool X_is_complex = false;
-  bool transpose = false;
-  bool have_User_Qinit  = false;
-  bool have_User_Control_matrix = false;
-  bool do_numeric = true;
-  bool no_scale = false;
-
-  // find the operator
-  for (int i = 0 ; i < nargin ; i++)
-    {
-      if (args(i).is_string ())
-	{
-	  op = i;
-	  break;
-	}
-    }
-
-  if (op > 0)
-    {
-      std::string op_type = args (op).string_value ();
-
-      if (op_type == "\\")
-	{
-
-	  // matrix left divide, x = A\b 
-	  
-	  //  [x, Info] = umfpack (A, '\', b) ;
-	  //  [x, Info] = umfpack (A, '\', b, Control) ;
-	  //  [x, Info] = umfpack (A, Qinit, '\', b, Control) ;
-	  //  [x, Info] = umfpack (A, Qinit, '\', b) ;
-
-	  do_solve = true;
-	  operation = "x = A\\b";
-
-	  if (args(0).class_name () != "sparse")
-	    {
-	      error ("umfpack: input matrix A must be sparse");
-	      return retval;
-	    }
-	  
-	  if (args(0).is_complex_type ())
-	    {
-	      CAmatrix = args(0).sparse_complex_matrix_value ();
-	      A_is_complex = true;
-	    }
-	  else
-	    Amatrix = args(0).sparse_matrix_value ();
-
-
-	  if (args(op+1).is_complex_type ())
-	    {
-	      CBmatrix = args(op+1).complex_matrix_value ();
-	      B_is_complex = true;
-	    }
-	  else
-	    Bmatrix = args(op+1).matrix_value ();
-
-	  if (nargout == 2)
-	    do_info = 1;
-
-	  if (op == 2)
-	    {
-	      User_Qinit = args(1).column_vector_value ();
-	      have_User_Qinit = true;
-	    }
-
-	  if ((op == 1 && nargin == 4) || (op == 2 && nargin == 5))
-	    {
-	      User_Control_matrix = args(nargin-1).array_value ();
-	      have_User_Control_matrix = true;
-	    }
-
-	  if (error_state)
-	    {
-	      error ("umfpack: incorrect argument type");
-	      return retval;
-	    }
-
-	  if (nargin < 3 || nargin > 5 || nargout > 2)
-	    {
-	      error ("umfpack: wrong number of arguments");
-	      return retval;
-	    }
-
-	}
-      else if (op_type == "/")
-	{
-	  // matrix right divide, x = b/A
-
-	  // [x, Info] = umfpack (b, '/', A) ;
-	  // [x, Info] = umfpack (b, '/', A, Control) ;
-	  // [x, Info] = umfpack (b, '/', A, Qinit) ;
-	  // [x, Info] = umfpack (b, '/', A, Qinit, Control) ;
-
-	  do_solve = true;
-	  operation = "x = b/A" ;
-
-	  transpose = true;
-
-	  if (args(2).class_name () != "sparse")
-	    {
-	      error ("umfpack: input matrix A must be sparse");
-	      return retval;
-	    }
-
-	  if (args(2).is_complex_type ())
-	    {
-	      CAmatrix = args(2).sparse_complex_matrix_value ();
-	      A_is_complex = true;
-	    }
-	  else
-	    Amatrix = args(2).sparse_matrix_value ();
-
-	  if (args(0).is_complex_type ())
-	    {
-	      CBmatrix = args(0).complex_matrix_value ();
-	      B_is_complex = true;
-	    }
-	  else
-	    Bmatrix = args(0).matrix_value ();
-
-	  if (nargout == 2)
-	    do_info = 1;
-
-	  if (nargin == 5)
-	    {
-	      User_Qinit = args(3).column_vector_value ();
-	      User_Control_matrix = args(4).array_value ();
-	      have_User_Qinit = true;
-	      have_User_Control_matrix = true;
-	    }
-	  else if (nargin == 4)
-	    {
-	      User_Control_matrix = args(3).array_value ();
-
-	      if (User_Control_matrix.rows () == 1)
-		{
-		  User_Qinit = args(3).column_vector_value ();
-		  have_User_Qinit = true;
-		}
-	      else
-		have_User_Control_matrix = true;
-	    }
-	  else if (nargin < 3 || nargin > 5 || nargout > 2)
-	    {
-	      error ("umfpack: wrong number of arguments");
-	      return retval;
-	    }
-
-	  if (error_state)
-	    {
-	      error ("umfpack: incorrect argument type");
-	      return retval;
-	    }
-	}
-      else if (op_type == "symbolic")
-	{
-	  // symbolic factorization only
-
-	  // [P Q Fr Ch Info] = umfpack (A, 'symbolic') ;
-	  // [P Q Fr Ch Info] = umfpack (A, 'symbolic', Control) ;
-	  // [P Q Fr Ch Info] = umfpack (A, Qinit, 'symbolic') ;
-	  // [P Q Fr Ch Info] = umfpack (A, Qinit, 'symbolic', Control) ;
-
-	  operation = "symbolic factorization";
-	  do_numeric = false;
-
-	  if (args(0).class_name () != "sparse")
-	    {
-	      error ("umfpack: input matrix A must be sparse");
-	      return retval;
-	    }
-
-	  if (args(0).is_complex_type ())
-	    {
-	      CAmatrix = args(0).sparse_complex_matrix_value ();
-	      A_is_complex = true;
-	    }
-	  else
-	    Amatrix = args(0).sparse_matrix_value ();
-
-	  if (nargout == 5)
-	    do_info = 4 ;
-	  
-	  if (op == 2)
-	    {
-	      User_Qinit = args(1).column_vector_value ();
-	      have_User_Qinit = true;
-	    }
-	  if ((op == 1 && nargin == 3) || (op == 2 && nargin == 4))
-	    {
-	      User_Control_matrix = args(nargin-1).array_value ();
-	      have_User_Control_matrix = true;
-	    }
-
-	  if (error_state)
-	    {
-	      error ("umfpack: incorrect argument type");
-	      return retval;
-	    }
-
-	  if (nargin < 2 || nargin > 4 || nargout > 5 || nargout < 4)
-	    {
-	      error ("umfpack: wrong number of arguments") ;
-	      return retval;
-	    }
-	}
-      else
-	{
-	  error ("operator must be '/', '\\', or 'symbolic'") ;
-	  return retval;
-	}
-    }
-  else if (nargin > 0)
-    {
-      // LU factorization
-
-      // with scaling:
-      //   [L, U, P, Q, R, Info] = umfpack (A) ;
-      //   [L, U, P, Q, R, Info] = umfpack (A, Qinit) ;
-      //
-      // scaling determined by Control settings:
-      //   [L, U, P, Q, R, Info] = umfpack (A, Control) ;
-      //   [L, U, P, Q, R, Info] = umfpack (A, Qinit, Control) ;
-      //
-      // with no scaling:
-      //   [L, U, P, Q] = umfpack (A) ;
-      //   [L, U, P, Q] = umfpack (A, Control) ;
-      //   [L, U, P, Q] = umfpack (A, Qinit) ;
-      //   [L, U, P, Q] = umfpack (A, Qinit, Control) ;
-
-      operation = "numeric factorization" ;
-
-      if (args(0).is_complex_type ())
-	{
-	  CAmatrix = args(0).sparse_complex_matrix_value ();
-	  A_is_complex = true;
-	}
-      else
-	Amatrix = args(0).sparse_matrix_value ();
-
-      no_scale = nargout <= 4 ;
-
-      if (nargout == 6)
-	    do_info = 5 ;
-
-      if (nargin == 3)
-	{
-	  User_Qinit = args(1).column_vector_value ();
-	  User_Control_matrix = args(2).array_value ();
-	  have_User_Qinit = true;
-	  have_User_Control_matrix = true;
-	}
-      else if (nargin == 2)
-	{
-	  User_Control_matrix = args(1).array_value ();
-	  
-	  if (User_Control_matrix.rows () == 1)
-	    {
-	      User_Qinit = args(1).column_vector_value ();
-	      have_User_Qinit = true;
-	    }
-	  else
-	    have_User_Control_matrix = true;
-	}
-      else if (nargin > 3 || nargout > 6 || nargout < 4)
-	{
-	  error ("umfpack: wrong number of arguments") ;
-	  return retval;
-	}
-    }
-  else
-    {
-      // return default control settings
-
-      // Control = umfpack ;
-      // umfpack ;
-
-      if (nargout > 1)
-	{
-	  error ("umfpack: wrong number of arguments") ;
-	  return retval;
-	}
-      
-      NDArray user_control (dim_vector (UMFPACK_CONTROL, 1));
-      double *user_control_ptr = user_control.fortran_vec ();
-      umfpack_di_defaults (user_control_ptr);
-      retval(0) = user_control;
-      return retval;
-    }
-
-  // check inputs
-  
-  int n_row = Amatrix.rows ();
-  int n_col = Amatrix.cols ();
-  int nn = MAX (n_row, n_col) ;
-  int n_inner = MIN (n_row, n_col) ;
-  if (do_solve && n_row != n_col)
-    {
-      error ("umfpack: input matrix A must square for '\\' or '/'") ;
-      return retval;
-    }
-  if (n_row == 0 || n_col == 0)
-    {
-      error ("umfpack: input matrix A cannot have zero rows or zero columns") ;
-      return retval;
-    }
-
-  /* The real/complex status of A determines which version to use, */
-  /* (umfpack_di_* or umfpack_zi_*). */
-  const int *Ap;
-  const int *Ai;
-  const double *Ax;
-  const double *Bx;
-  
-  if (A_is_complex)
-    {
-      Ap = CAmatrix.cidx ();
-      Ai = CAmatrix.ridx ();
-      Ax = X_CAST (const double *, CAmatrix.data ());
-    }
-  else
-    {
-      Ap = Amatrix.cidx ();
-      Ai = Amatrix.ridx ();
-      Ax = Amatrix.data ();
-    }
-
-  if (B_is_complex)
-    Bx = X_CAST (const double *, CBmatrix.fortran_vec ());
-  else
-    Bx = Bmatrix.fortran_vec ();
-
-  if (do_solve)
-    {
-      int b_row = Bmatrix.rows ();
-      int b_col = Bmatrix.cols ();
-
-      if (!((transpose && b_row == 1 && b_col == nn) ||  
-	     (!transpose && b_row == nn && b_col == 1)))  
-	{
-	  error ("umfpack: b has the wrong dimensions") ;
-	  return retval;
-	}
-
-      X_is_complex = A_is_complex || B_is_complex ;
-    }
-
-  // set the Control parameters
-  NDArray Control (dim_vector (UMFPACK_CONTROL, 1));
-  double *Control_ptr = Control.fortran_vec ();
-  if (A_is_complex)
-    umfpack_zi_defaults (Control_ptr) ;
-  else
-    umfpack_di_defaults (Control_ptr) ;
-
-  if (have_User_Control_matrix)
-    {
-      int size = MIN (UMFPACK_CONTROL, User_Control_matrix.length ());
-      for (int i = 0 ; i < size ; i++)
-	Control (i) = User_Control_matrix (i) ;
-    }
-  
-  if (no_scale)
-    {
-      // turn off scaling for [L, U, P, Q] = umfpack (A) ;
-      // ignoring the input value of Control (24) for the usage
-      // [L, U, P, Q] = umfpack (A, Control) ;
-      Control (UMFPACK_SCALE) = UMFPACK_SCALE_NONE ;
-    }
-
-  int print_level;
-  if (xisnan (Control (UMFPACK_PRL)))
-    print_level = UMFPACK_DEFAULT_PRL ;
-  else
-    print_level = int (Control (UMFPACK_PRL)) ;
-
-  Control (UMFPACK_PRL) = print_level ;
-
-  // check Qinit, if present
-  int *Qinit = NULL;
-  if (have_User_Qinit)
-    {
-      if(User_Qinit.rows () != 1 || User_Qinit.cols () != n_col)
-	{
-	  error ("umfpack: Qinit must be 1-by-n_col") ;
-	  return retval;
-	}
-
-      Qinit = new int [n_col];
-      for (int i = 0; i < n_col; i++)
-	Qinit[i] = static_cast<int> (User_Qinit (i));
-    }
-
-  // report the inputs A and Qinit
-
-  if (print_level >= 2)
-    // print the operation
-    octave_stdout << "\numfpack: " << operation;
-
-  if (A_is_complex)
-    {
-      umfpack_zi_report_control (Control_ptr) ;
-
-      if (print_level >= 3) 
-	octave_stdout << "\nA: " ;
-
-      umfpack_zi_report_matrix (n_row, n_col, Ap, Ai, Ax, NULL,
-				1, Control_ptr) ;
-      if (have_User_Qinit)
-	{
-	  if (print_level >= 3) 
-	    octave_stdout << "\nQinit: " ;
-
-	  umfpack_zi_report_perm (n_col, Qinit, Control_ptr) ;
-	}
-    }
-  else
-    {
-      umfpack_di_report_control (Control_ptr) ;
-
-      if (print_level >= 3) 
-	octave_stdout << "\nA: " ;
-
-       umfpack_di_report_matrix (n_row, n_col, Ap, Ai, Ax,
-				 1, Control_ptr) ;
-       if (have_User_Qinit)
-	 {
-	   if (print_level >= 3) 
-	     octave_stdout << "\nQinit: " ;
-
-	   umfpack_di_report_perm (n_col, Qinit, Control_ptr) ;
-	 }
-    }
-
-#ifndef NO_TRANSPOSE_FORWARD_SLASH
-  // create the array transpose for x = b/A
-  if (transpose)
-    if (A_is_complex)
-      {
-	CAmatrix = CAmatrix.transpose ();
-	Ap = Amatrix.cidx ();
-	Ai = Amatrix.ridx ();
-	Ax = X_CAST (const double *, CAmatrix.data ());
-      }
-    else
-      {
-	Amatrix = Amatrix.transpose ();
-	Ap = Amatrix.cidx ();
-	Ai = Amatrix.ridx ();
-	Ax = Amatrix.data ();
-      }
-#endif
-
-  // perform the symbolic factorization
-  
-  NDArray InfoOut (dim_vector (1, UMFPACK_INFO));
-  double * Info = InfoOut.fortran_vec ();
-  void *Symbolic;
-  int status, status2;
-  if (A_is_complex)
-    status = umfpack_zi_qsymbolic (n_row, n_col, Ap, Ai, Ax, NULL,
-				   Qinit, &Symbolic, Control_ptr, 
-				   Info);
-  else
-    status = umfpack_di_qsymbolic (n_row, n_col, Ap, Ai, Ax,
-				   Qinit, &Symbolic, Control_ptr, 
-				   Info);
-  
-  if (status < 0)
-    {
-      umfpack_error ("symbolic factorization failed", A_is_complex, 
-		     nargout, retval, Control, InfoOut, status, do_info) ;
-      return retval;
-    }
-
-  if (have_User_Qinit)
-    delete [] Qinit;
-
-  // report the Symbolic object
-
-  if (A_is_complex)
-    umfpack_zi_report_symbolic (Symbolic, Control_ptr) ;
-  else
-    umfpack_di_report_symbolic (Symbolic, Control_ptr) ;
-
-  // perform numeric factorization, or just return symbolic factorization
-
-  if (do_numeric)
-    {
-      // perform the numeric factorization
-      void *Numeric;
-
-      if (A_is_complex)
-	status = umfpack_zi_numeric (Ap, Ai, Ax, NULL, Symbolic, &Numeric,
-				     Control_ptr, Info) ;
-      else
-	status = umfpack_di_numeric (Ap, Ai, Ax, Symbolic, &Numeric,
-				     Control_ptr, Info) ;
-
-      // free the symbolic factorization
-      if (A_is_complex)
-	umfpack_zi_free_symbolic (&Symbolic) ;
-      else
-	umfpack_di_free_symbolic (&Symbolic) ;
-
-      // report the Numeric object
-      if (status < 0)
-	{
-	  umfpack_error ("numeric factorization failed", A_is_complex, 
-			 nargout, retval, Control, InfoOut, status, do_info);
-	  return retval;
-	}
-
-      if (A_is_complex)
-	(void) umfpack_zi_report_numeric (Numeric, Control_ptr) ;
-      else
-	(void) umfpack_di_report_numeric (Numeric, Control_ptr) ;
-
-      // return the solution or the factorization
-
-      if (do_solve)
-	{
-	  int sys;
-	  ComplexNDArray Xcmplx;
-	  NDArray Xreal;
-
-	  // solve Ax=b or A'x'=b', and return just the solution x
-
-#ifndef NO_TRANSPOSE_FORWARD_SLASH
-	  if (transpose)
-	    {
-	      // A.'x.'=b.' gives the same x=b/A as solving A'x'=b'
-	      // since C=A.' was factorized, solve with sys = UMFPACK_A 
-	      // since x and b are vectors, x.' and b.' are implicit 
-	      if (X_is_complex)
-		Xcmplx.resize (dim_vector (1, nn));
-	      else
-		Xreal.resize (dim_vector (1, nn));
-	    }
-	  else
-	    {
-	      if (X_is_complex)
-		Xcmplx.resize (dim_vector (nn, 1));
-	      else
-		Xreal.resize (dim_vector (nn, 1));
-	    }
-
-	  sys = UMFPACK_A ;
-#else
-	  if (transpose)
-	    {
-	      // If A is real, A'x=b is the same as A.'x=b. 
-	      // x and b are vectors, so x and b are the same as x' and b'. 
-	      // If A is complex, then A.'x.'=b.' gives the same solution x 
-	      // as the complex conjugate transpose.  If we used the A'x=b 
-	      // option in umfpack_*_solve, we would have to form b' on 
-	      // input and x' on output (negating the imaginary part). 
-	      // We can save this work by just using the A.'x=b option in 
-	      // umfpack_*_solve.  Then, forming x.' and b.' is implicit, 
-	      // since x and b are just vectors anyway. 
-	      // In both cases, the system to solve is A.'x=b
-	      if (X_is_complex)
-		Xcmplx.resize (dim_vector (1, nn));
-	      else
-		Xreal.resize (dim_vector (1, nn));
-
-	      sys = UMFPACK_Aat ;
-	    }
-	  else
-	    {
-	      if (X_is_complex)
-		Xcmplx.resize (dim_vector (nn, 1));
-	      else
-		Xreal.resize (dim_vector (nn, 1));
-	      sys = UMFPACK_A ;
-	    }
-#endif
-
-	  // print the right-hand-side, B
-	  if (print_level >= 3) 
-	    octave_stdout << "\nright-hand side, b: ";
-
-	  if (B_is_complex)
-	    (void) umfpack_zi_report_vector (nn, Bx, NULL, Control_ptr) ;
-	  else
-	    (void) umfpack_di_report_vector (nn, Bx, Control_ptr) ;
-
-	  // solve the system
-	  double * Xx;
-	  if (X_is_complex)
-	    Xx = X_CAST (double *, Xcmplx.fortran_vec ());
-	  else
-	    Xx = Xreal.fortran_vec ();
-	  status2 = UMFPACK_OK ;
-
-	  if (A_is_complex)
-	    {
-	      if (!B_is_complex)
-		{
-		  OCTAVE_LOCAL_BUFFER (double, Bz, nn);
-		  for (int i = 0; i < nn; i++)
-		    Bz[i] = 0.;
-
-		  status = umfpack_zi_solve (sys, Ap, Ai, Ax, NULL, Xx, NULL, 
-					     Bx, Bz, Numeric, Control_ptr, 
-					     Info);
-		}
-	      else
-		status = umfpack_zi_solve (sys, Ap, Ai, Ax, NULL, Xx, NULL, 
-					   Bx, NULL, Numeric, Control_ptr, 
-					   Info);
-	    }
-	  else
-	    {
-	      if (B_is_complex)
-		{
-		  // Ax=b when b is complex and A is sparse can be split
-		  // into two systems, A*xr=br and A*xi=bi, where r denotes
-		  // the real part and i the imaginary part of x and b.
-		  OCTAVE_LOCAL_BUFFER (double, Tx, nn);
-		  OCTAVE_LOCAL_BUFFER (double, Tz, nn);
-
-		  status = umfpack_di_solve (sys, Ap, Ai, Ax, Tx, Bx,
-					     Numeric, Control_ptr, Info);
-		  status2 = umfpack_di_solve (sys, Ap, Ai, Ax, Tz, Bx,
-					      Numeric, Control_ptr, Info) ;
-
-		  for (int i = 0; i < nn; i++)
-		    Xcmplx (i) = Complex (Tx[i], Tz[i]);
-		}
-	      else
-		status = umfpack_di_solve (sys, Ap, Ai, Ax, Xx, Bx,
-					   Numeric, Control_ptr, Info);
-	    }
-	  
-	  // free the Numeric object
-	  if (A_is_complex)
-	    umfpack_zi_free_numeric (&Numeric) ;
-	  else
-	    umfpack_di_free_numeric (&Numeric) ;
-	  
-	  // check error status
-	  if (status < 0 || status2 < 0)
-	    {
-	      umfpack_error ("solve failed", A_is_complex, nargout, 
-			     retval, Control, InfoOut, status, do_info) ;
-	      return retval;
-	    }
-
-	  // print the solution, X
-	  if (print_level >= 3) 
-	    octave_stdout << "\nsolution, x: ";
-
-	  if (X_is_complex)
-	    (void) umfpack_zi_report_vector (nn, Xx, NULL, Control_ptr);
-	  else
-	    (void) umfpack_di_report_vector (nn, Xx, Control_ptr);
-
-	  // warn about singular or near-singular matrices
-	  // no warning is given if Control (1) is zero
-	  if (Control (UMFPACK_PRL) >= 1)
-	    {
-	      if (status == UMFPACK_WARNING_singular_matrix)
-		{
-		  warning ("matrix is singular");
-		  warning ("Try increasing Control (%d) and Control (%d).",
-			   1+UMFPACK_PIVOT_TOLERANCE, 
-			   1+UMFPACK_SYM_PIVOT_TOLERANCE);
-		  warning ("(Suppress this warning with Control (%d) = 0.)",
-			   1+UMFPACK_PRL);
-		}
-	      else if (InfoOut (UMFPACK_RCOND) < DBL_EPSILON)
-		{
-		  warning ("matrix is nearly singular, rcond = %g",
-			   InfoOut (UMFPACK_RCOND));
-		  warning ("Try increasing Control (%d) and Control (%d).",
-			   1+UMFPACK_PIVOT_TOLERANCE,
-			   1+UMFPACK_SYM_PIVOT_TOLERANCE);
-		  warning ("(Suppress this warning with Control (%d) = 0.)",
-			   1+UMFPACK_PRL);
-		}
-	    }
-
-	  // Setup the return value
-	  if (X_is_complex)
-	    retval (0) = octave_value (Xcmplx);
-	  else
-	    retval (0) = octave_value (Xreal);
-	}
-      else
-	{
-	  // get L, U, P, Q, and r
-	  int lnz, unz, ignore1, ignore2, ignore3;
-
-	  if (A_is_complex)
-	    status = umfpack_zi_get_lunz (&lnz, &unz, &ignore1, &ignore2,
-					  &ignore3, Numeric) ;
-	  else
-	    status = umfpack_di_get_lunz (&lnz, &unz, &ignore1, &ignore2,
-					  &ignore3, Numeric) ;
-
-	  if (status < 0)
-	    {
-	      if (A_is_complex)
-		umfpack_zi_free_numeric (&Numeric) ;
-	      else
-		umfpack_di_free_numeric (&Numeric) ;
-
-	      umfpack_error ("extracting LU factors failed", A_is_complex, 
-			     nargout, retval, Control, InfoOut, status, 
-			     do_info);
-	      return retval;
-	    }
-
-	  // avoid malloc of zero-sized arrays
-	  lnz = MAX (lnz, 1) ;
-	  unz = MAX (unz, 1) ;
-
-	  // get space for the *** ROW *** form of L
-	  SparseMatrix Lreal;
-	  SparseComplexMatrix Limag;
-	  int *Ltp, *Ltj;
-	  double *Ltx;
-	  if (A_is_complex)
-	    {
-	      Limag = SparseComplexMatrix (n_inner, n_row, lnz);
-	      Ltp = Limag.cidx ();
-	      Ltj = Limag.ridx ();
-	      Ltx = X_CAST (double *, Limag.data ());
-	    }
-	  else
-	    {
-	      Lreal = SparseMatrix (n_inner, n_row, lnz);
-	      Ltp = Lreal.cidx ();
-	      Ltj = Lreal.ridx ();
-	      Ltx = Lreal.data ();
-	    }
-
-	  // create permanent copy of the output matrix U
-	  int *Up, *Ui;
-	  double *Ux;
-	  SparseMatrix Ureal;
-	  SparseComplexMatrix Uimag;
-
-	  if (A_is_complex)
-	    {
-	      Uimag = SparseComplexMatrix (n_inner, n_col, unz);
-	      Up = Uimag.cidx ();
-	      Ui = Uimag.ridx ();
-	      Ux = X_CAST (double *, Uimag.data ());
-	    }
-	  else
-	    {
-	      Ureal = SparseMatrix (n_inner, n_col, unz);
-	      Up = Ureal.cidx ();
-	      Ui = Ureal.ridx ();
-	      Ux = Ureal.data ();
-	    }
-
-	  // temporary space for the integer permutation vectors
-	  OCTAVE_LOCAL_BUFFER (int, P, n_row);
-	  OCTAVE_LOCAL_BUFFER (int, Q, n_col);
-
-	  // get scale factors, if requested 
-	  status2 = UMFPACK_OK ;
-	  SparseMatrix Rsout;
-	  double * Rs;
-	  if (!no_scale)
-	    {
-	      // create a diagonal sparse matrix for the scale factors 
-	      Rsout = SparseMatrix (n_row, n_row, n_row);
-	      for (int i = 0 ; i < n_row ; i++)
-		{
-		  Rsout.cidx (i) = i;
-		  Rsout.ridx (i) = i;
-		}
-	      Rsout.cidx (n_row) = n_row;
-	      Rs = Rsout.data ();
-	    }
-	  else
-	    Rs = (double *) NULL ;
-
-	  // get Lt, U, P, Q, and Rs from the numeric object
-	  int do_recip;
-	  if (A_is_complex)
-	    {
-	      status = umfpack_zi_get_numeric (Ltp, Ltj, Ltx, NULL, Up, Ui, 
-					       Ux, NULL, P, Q, 
-					       (double *) NULL, 
-					       (double *) NULL,
-					       &do_recip, Rs, Numeric) ;
-	      umfpack_zi_free_numeric (&Numeric) ;
-	    }
-	  else
-	    {
-	      status = umfpack_di_get_numeric (Ltp, Ltj, Ltx, Up, Ui,
-					       Ux, P, Q, (double *) NULL,
-					       &do_recip, Rs, Numeric) ;
-	      umfpack_di_free_numeric (&Numeric) ;
-	    }
-
-	  if (!no_scale)
-	    retval (4) = octave_vale (Rsout);
-
-	  // for the oct-file, -DNRECIPROCAL must be set,
-	  // so do_recip must be FALSE
-
-	  if (status < 0 || status2 < 0 || do_recip)
-	    {
-	      umfpack_error ("extracting LU factors failed", A_is_complex, 
-			     nargout, retval, Control, InfoOut, status, 
-			     do_info);
-	      return retval;
-	    }
-
-	  if (A_is_complex)
-	    retval (1) = octave_value (Uimag);
-	  else
-	    retval (1) = octave_valye (Ureal);
-	  
-	  // create sparse permutation matrix for P 
-	  SparseMatrix Pout (n_row, n_row, n_row);
-	  for (int k = 0 ; k < n_row ; k++)
-	    {
-	      Pout.cidx (k) = k ;
-	      Pout.ridx (P [k]) = k;
-	      Pout.data (k) = 1;
-	    }
-	  Pout.cidx (n_row) = n_row;
-	  retval (2) = octave_value (Pout);
-
-	  // create sparse permutation matrix for Q 
-	  SparseMatrix Qout (n_col, n_col, n_col);
-	  for (int k = 0 ; k < n_col ; k++)
-	    {
-	      Qout.cidx (k) = k ;
-	      Qout.ridx (k) = Q[k];
-	      Qout.data (k) = 1;
-	    }
-	  Qout.cidx (n_col) = n_col;
-	  retval (3) = octave_value (Qout);
-	  
-	  // permanent copy of L 
-	  if (A_is_complex)
-	    retval (0) = octave_value (Limag.transpose());
-	  else
-	    retval (0) = octave_value (Lreal.transpose());
-
-	  if (status < 0)
-	    {
-	      umfpack_error ("constructing L failed", A_is_complex, 
-			     nargout, retval, Control, InfoOut, status, 
-			     do_info) ;
-	      return octave_value ();
-	    }
-
-	  // print L, U, P, and Q
-	  if (A_is_complex)
-	    {
-	      if (print_level >= 3) 
-		{
-		  octave_stdout << "\nL: ";
-		  int *Lp = Limag.cidx ();
-		  int *Li = Limag.ridx ();
-		  double *Lx = X_CAST (double *, Limag.data ());
-
-		  (void) umfpack_zi_report_matrix (n_row, n_inner, Lp, Li,
-						   Lx, NULL, 1, Control_ptr) ;
-		}
-
-	      if (print_level >= 3) 
-		octave_stdout << "\nU: ";
-	      (void) umfpack_zi_report_matrix (n_inner, n_col, Up, Ui,
-					       Ux, NULL, 1, Control_ptr) ;
-	      if (print_level >= 3)
-		octave_stdout << "\nP: ";
-	      (void) umfpack_zi_report_perm (n_row, P, Control_ptr);
-	      if (print_level >= 3) 
-		octave_stdout << "\nQ: ";
-	      (void) umfpack_zi_report_perm (n_col, Q, Control_ptr);
-	    }
-	  else
-	    {
-	      if (print_level >= 3) 
-		{
-		  int *Lp = Lreal.cidx ();
-		  int *Li = Lreal.ridx ();
-		  double *Lx = Lreal.data ();
-		  octave_stdout << "\nL: ";
-		  (void) umfpack_di_report_matrix (n_row, n_inner, Lp, Li,
-						   Lx, 1, Control_ptr);
-		}
-
-	      if (print_level >= 3) 
-		octave_stdout << "\nU: ";
-	      (void) umfpack_di_report_matrix (n_inner, n_col, Up, Ui,
-					       Ux, 1, Control_ptr);
-	      if (print_level >= 3) 
-		octave_stdout << "\nP: ";
-	      (void) umfpack_di_report_perm (n_row, P, Control_ptr);
-	      if (print_level >= 3) 
-		octave_stdout << "\nQ: ";
-	      (void) umfpack_di_report_perm (n_col, Q, Control_ptr);
-	    }
-	}
-    }
-  else
-    {
-      // return the symbolic factorization
-      int ignore1, ignore2, ignore3;
-      OCTAVE_LOCAL_BUFFER (int, Q, n_col);
-      OCTAVE_LOCAL_BUFFER (int, P, n_row);
-      OCTAVE_LOCAL_BUFFER (int, Front_npivcol, nn + 1);
-      OCTAVE_LOCAL_BUFFER (int, Front_parent, nn + 1);
-      OCTAVE_LOCAL_BUFFER (int, Front_1strow, nn + 1);
-      OCTAVE_LOCAL_BUFFER (int, Front_leftmostdesc, nn + 1);
-      OCTAVE_LOCAL_BUFFER (int, Chain_start, nn + 1);
-      OCTAVE_LOCAL_BUFFER (int, Chain_maxrows, nn + 1);
-      OCTAVE_LOCAL_BUFFER (int, Chain_maxcols, nn + 1);
-
-      int nz, nfronts, nchains;
-
-      if (A_is_complex)
-	{
-	  status = umfpack_zi_get_symbolic (&ignore1, &ignore2, &ignore3,
-					    &nz, &nfronts, &nchains, P, Q, 
-					    Front_npivcol, Front_parent, 
-					    Front_1strow, 
-					    Front_leftmostdesc,
-					    Chain_start, Chain_maxrows, 
-					    Chain_maxcols, Symbolic) ;
-	  umfpack_zi_free_symbolic (&Symbolic) ;
-	}
-      else
-	{
-	  status = umfpack_di_get_symbolic (&ignore1, &ignore2, &ignore3,
-					    &nz, &nfronts, &nchains, P, Q, 
-					    Front_npivcol, Front_parent, 
-					    Front_1strow, 
-					    Front_leftmostdesc,
-					    Chain_start, Chain_maxrows, 
-					    Chain_maxcols, Symbolic) ;
-	  umfpack_di_free_symbolic (&Symbolic) ;
-	}
-
-      if (status < 0)
-	{
-	  umfpack_error ("extracting symbolic factors failed", 
-			 A_is_complex, nargout, retval, Control, 
-			 InfoOut, status, do_info) ;
-	  return retval;
-	}
-      
-      // create sparse permutation matrix for P
-      SparseMatrix Pout (n_row, n_row, n_row);
-      for (int k = 0 ; k < n_row ; k++)
-	{
-	  Pout.cidx (k) = k;
-	  Pout.ridx (P [k]) = k;
-	  Pout.data (k) = 1;
-	}
-      Pout.cidx (n_row) = n_row;
-      retval (0) = octave_value (Pout);
-
-      // create sparse permutation matrix for Q 
-      SparseMatrix Qout (n_col, n_col, n_col);
-      for (int k = 0 ; k < n_col ; k++)
-	{
-	  Qout.cidx (k) = k;
-	  Qout.ridx (k) = Q[k];
-	  Qout.data (k) = 1;
-	}
-      Qout.cidx (n_col) = n_col;
-      retval (1) = octave_value (Qout);
-      
-      // create Fr 
-      Matrix Frout (nfronts + 1, 4);
-      for (int i = 0 ; i <= nfronts ; i++)
-	{
-	  // convert parent, 1strow, and leftmostdesc to 1-based 
-	  Frout (i, 0) = (double) (Front_npivcol [i]) ;
-	  Frout (i, 1) = (double) (Front_parent [i] + 1) ;
-	  Frout (i, 2) = (double) (Front_1strow [i] + 1) ;
-	  Frout (i, 3) = (double) (Front_leftmostdesc [i] + 1) ;
-	}
-      retval (2) = octave_value (Frout);
-      
-      // create Ch 
-      Matrix Chout (nchains + 1, 3);
-      for (int i = 0 ; i <= nchains ; i++)
-	{
-	  // convert to 1-based 
-	  Chout (i, 0) = (double) (Chain_start [i] + 1) ;
-	  Chout (i, 1) = (double) (Chain_maxrows [i]) ;
-	  Chout (i, 2) = (double) (Chain_maxcols [i]) ;
-	}
-      Chout (0, nchains) = (double) Chain_start [nchains] + 1 ;
-      Chout (1, nchains) = 0.;
-      Chout (2, nchains) = 0.;
-      retval (3) = octave_value (Chout);
-    }
-
-  // report Info
-  if (A_is_complex)
-    umfpack_zi_report_info (Control_ptr, Info);
-  else
-    umfpack_di_report_info (Control_ptr, Info);
-
-  if (do_info > 0)
-    retval (do_info) = InfoOut;
-
-  return retval;
-}
-
-/*
-;;; Local Variables: ***
-;;; mode: C++ ***
-;;; End: ***
-*/
--- a/liboctave/UMFPACK/UMFPACK/OCTAVE/umfpack_btf.m	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +0,0 @@
-function x = umfpack_btf (A, b, Control)
-% UMFPACK_BTF
-%
-% x = umfpack_btf (A, b, Control)
-%
-% solve Ax=b by first permuting the matrix A to block triangular form via dmperm
-% and then using UMFPACK to factorize each diagonal block.  Adjacent 1-by-1
-% blocks are merged into a single upper triangular block, and solved via
-% MATLAB's \ operator.  The Control parameter is optional (Type umfpack_details
-% and umfpack_report for details on its use).  A must be square.
-%
-% See also:  umfpack, umfpack_factorize, umfpack_details, dmperm
-
-% UMFPACK Version 4.3 (Jan. 16, 2004), Copyright (c) 2004 by Timothy A.
-% Davis.  All Rights Reserved.  Type umfpack_details for License.
-
-if (nargin < 2)
-    help umfpack_btf
-    error ('Usage: x = umfpack_btf (A, b, Control)') ;
-end
-
-[m n] = size (A) ;
-if (m ~= n)
-    help umfpack_btf
-    error ('umfpack_btf:  A must be square') ;
-end
-[m1 n1] = size (b) ;
-if (m1 ~= n)
-    help umfpack_btf
-    error ('umfpack_btf:  b has the wrong dimensions') ;
-end
-
-if (nargin < 3)
-    Control = umfpack ;
-end
-
-%-------------------------------------------------------------------------------
-% find the block triangular form
-%-------------------------------------------------------------------------------
-
-[p,q,r] = dmperm (A) ;
-nblocks = length (r) - 1 ;
-
-%-------------------------------------------------------------------------------
-% solve the system
-%-------------------------------------------------------------------------------
-
-if (nblocks == 1 | sprank (A) < n)
-
-    %---------------------------------------------------------------------------
-    % matrix is irreducible or structurally singular
-    %---------------------------------------------------------------------------
-
-    x = umfpack_solve (A, '\\', b, Control) ;
-
-else
-
-    %---------------------------------------------------------------------------
-    % A (p,q) is in block triangular form
-    %---------------------------------------------------------------------------
-
-    b = b (p,:) ;
-    A = A (p,q) ;
-    x = zeros (size (b)) ;
-
-    %---------------------------------------------------------------------------
-    % merge adjacent singletons into a single upper triangular block
-    %---------------------------------------------------------------------------
-
-    [r, nblocks, is_triangular] = merge_singletons (r) ;
-
-    %---------------------------------------------------------------------------
-    % solve the system: x (q) = A\b
-    %---------------------------------------------------------------------------
-
-    for k = nblocks:-1:1
-
-	% get the kth block
-        k1 = r (k) ;
-        k2 = r (k+1) - 1 ;
-
-	% solve the system
-	x (k1:k2,:) = solver (A (k1:k2, k1:k2), b (k1:k2,:), ...
-	    is_triangular (k), Control) ;
-
-        % off-diagonal block back substitution
-        b (1:k1-1,:) = b (1:k1-1,:) - A (1:k1-1, k1:k2) * x (k1:k2,:) ;
-
-    end
-
-    x (q,:) = x ;
-
-end
-
-%-------------------------------------------------------------------------------
-% merge_singletons
-%-------------------------------------------------------------------------------
-
-function [r, nblocks, is_triangular] = merge_singletons (r)
-%
-% Given r from [p,q,r] = dmperm (A), where A is square, return a modified r that
-% reflects the merger of adjacent singletons into a single upper triangular
-% block.  is_triangular (k) is 1 if the kth block is upper triangular.  nblocks
-% is the number of new blocks.
-
-nblocks = length (r) - 1 ;
-bsize = r (2:nblocks+1) - r (1:nblocks) ;
-t = [0 (bsize == 1)] ;
-z = (t (1:nblocks) == 0 & t (2:nblocks+1) == 1) | t (2:nblocks+1) == 0 ;
-y = [(find (z)) nblocks+1] ;
-r = r (y) ;
-nblocks = length (y) - 1 ;
-is_triangular = y (2:nblocks+1) - y (1:nblocks) > 1 ;
-
-%-------------------------------------------------------------------------------
-% solve Ax=b, but check for small and/or triangular systems
-%-------------------------------------------------------------------------------
-
-function x = solver (A, b, is_triangular, Control)
-if (is_triangular)
-    % back substitution only
-    x = A \ b ;
-elseif (size (A,1) < 4)
-    % a very small matrix, solve it as a dense linear system
-    x = full (A) \ b ;
-else
-    % solve it as a sparse linear system
-    x = umfpack_solve (A, '\\', b, Control) ;
-end
--- a/liboctave/UMFPACK/UMFPACK/OCTAVE/umfpack_demo.m	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,191 +0,0 @@
-function umfpack_demo
-% UMFPACK DEMO
-%
-% A demo of UMFPACK for OCTAVE.
-%
-% See also umfpack, umfpack_make, umfpack_details, umfpack_report,
-% and umfpack_simple.
-
-% UMFPACK Version 4.3 (Jan. 16, 2004), Copyright (c) 2004 by Timothy A.
-% Davis.  All Rights Reserved.  Type umfpack_details for License.
-
-%-------------------------------------------------------------------------------
-% get default control parameters
-%-------------------------------------------------------------------------------
-
-control = umfpack ;
-fprintf ('\nEnter the printing level for UMFPACK''s output statistics:\n') ;
-fprintf ('0: none, 1: errors only, 2: statistics, 4: print some of outputs\n') ;
-c = input ('5: print all output [default is 1]: ') ;
-if (isempty (c))
-    c = 1 ;
-end
-control (1) = c ;
-
-%-------------------------------------------------------------------------------
-% solve a simple system
-%-------------------------------------------------------------------------------
-
-fprintf ('\n--------------------------------------------------------------\n') ;
-fprintf ('Factor and solve a small system, Ax=b, using default parameters\n') ;
-if (control (1) > 1)
-    fprintf ('(except for verbose printing enabled)\n') ;
-end
-
-load west0067 ;
-A = Problem.A ;
-n = size (A, 1) ;
-b = rand (n, 1) ;
-
-fprintf ('Solving Ax=b via UMFPACK:\n') ;
-[xu, info] = umfpack (A, '\\', b, control) ;
-x = xu ;
-
-fprintf ('Solving Ax=b via OCTAVE:\n') ;
-xm = A\b ;
-x = xm ;
-
-fprintf ('Difference between UMFPACK and OCTAVE solution: %g\n', ...
-    norm (xu - xm, Inf)) ;
-
-%-------------------------------------------------------------------------------
-% spy the results
-%-------------------------------------------------------------------------------
-
-figure (1) ;
-clf
-
-subplot (2,3,1)
-title ('The matrix A') ;
-spy (A)
-
-subplot (2,3,2)
-[P1, Q1, Fr, Ch, Info] = umfpack (A, 'symbolic') ;
-title ('Supernodal column elimination tree') ;
-%% Disable for now !!
-%% treeplot (Fr (1:end-1,2)') ;
-
-subplot (2,3,3)
-title ('A, with initial row and column order') ;
-spy (P1 * A * Q1)
-
-subplot (2,3,4)
-fprintf ('\n--------------------------------------------------------------\n') ;
-fprintf ('\nFactorizing [L, U, P, Q, R] = umfpack (A)\n') ;
-[L, U, P, Q, R] = umfpack (A) ;
-title ('A, with final row/column order') ;
-spy (P*A*Q)
-
-fprintf ('\nP * (R\\A) * Q - L*U should be zero:\n') ;
-fprintf ('norm (P*(R\\A)*Q - L*U, 1) = %g (exact) %g (estimated)\n', ...
-    norm (P * (R\A) * Q - L*U, 1), lu_normest (P * (R\A) * Q,  L, U)) ;
-
-fprintf ('\nSolution to Ax=b via UMFPACK factorization:\n') ;
-fprintf ('x = Q * (U \\ (L \\ (P * (R \\ b))))\n') ;
-xu = Q * (U \ (L \ (P * (R \ b)))) ;
-x = xu ;
-
-fprintf ('\nUMFPACK flop count: %d\n', luflop (L, U)) ;
-
-subplot (2,3,5)
-title ('UMFPACK LU factors') ;
-spy (spones (L) + spones (U))
-
-subplot (2,3,6)
-fprintf ('\nFactorizing [L, U, P] = lu (A (:, q))\n') ;
-try
-    q = colamd (A) ;
-catch
-    fprintf ('\n *** colamd not found, using colmmd instead *** \n') ;
-    q = colmmd (A) ;
-end
-[L, U, P] = lu (A (:,q)) ;
-title ('OCTAVE LU factors') ;
-spy (spones (L) + spones (U))
-
-fprintf ('\nSolution to Ax=b via OCTAVE factorization:\n') ;
-fprintf ('x = U \\ (L \\ (P * b)) ; x (q) = x ;\n') ;
-xm = U \ (L \ (P * b)) ;
-xm (q) = xm ;
-
-fprintf ('Difference between UMFPACK and OCTAVE solution: %g\n', ...
-    norm (xu - xm, Inf)) ;
-
-fprintf ('\nOCTAVE LU flop count: %d\n', luflop (L, U)) ;
-
-%-------------------------------------------------------------------------------
-% solve A'x=b
-%-------------------------------------------------------------------------------
-
-fprintf ('\n--------------------------------------------------------------\n') ;
-fprintf ('Solve A''x=b:\n') ;
-
-fprintf ('Solving A''x=b via UMFPACK:\n') ;
-[xu, info] = umfpack (b', '/', A, control) ;
-xu = xu' ;
-
-fprintf ('Solving A''x=b via OCTAVE:\n') ;
-xm = (b'/A)' ;
-x = xm ;
-
-fprintf ('Difference between UMFPACK and OCTAVE solution: %g\n', ...
-    norm (xu - xm, Inf)) ;
-
-%-------------------------------------------------------------------------------
-% factor A' and then solve Ax=b using the factors of A'
-%-------------------------------------------------------------------------------
-
-fprintf ('\n--------------------------------------------------------------\n') ;
-fprintf ('Compute C = A'', and compute the LU factorization of C.\n') ;
-fprintf ('Factorizing A'' can sometimes be better than factorizing A itself\n');
-fprintf ('(less work and memory usage).  Solve C''x=b; the solution is the\n') ;
-fprintf ('same as the solution to Ax=b for the original A.\n');
-
-C = A' ;
-
-% factorize C (P,Q) = L*U
-[L, U, P, Q, R, info] = umfpack (C, control) ;
-
-fprintf ('\nP * (R\\C) * Q - L*U should be zero:\n') ;
-fprintf ('norm (P*(R\\C)*Q - L*U, 1) = %g (exact) %g (estimated)\n', ...
-    norm (P * (R\C) * Q - L*U, 1), lu_normest (P * (R\C) * Q,  L, U)) ;
-
-fprintf ('\nSolution to Ax=b via UMFPACK, using the factors of C:\n') ;
-fprintf ('x = R \\ (P'' * (L'' \\ (U'' \\ (Q'' * b)))) ;\n') ;
-xu = R \ (P' * (L' \ (U' \ (Q' * b)))) ;
-x = xu ;
-
-fprintf ('Solution to Ax=b via OCTAVE:\n') ;
-xm = A\b ;
-x = xm ;
-
-fprintf ('Difference between UMFPACK and OCTAVE solution: %g\n', ...
-    norm (xu - xm, Inf)) ;
-
-%-------------------------------------------------------------------------------
-% solve Ax=B
-%-------------------------------------------------------------------------------
-
-fprintf ('\n--------------------------------------------------------------\n') ;
-fprintf ('\nSolve AX=B, where B is n-by-10, and sparse\n') ;
-B = sprandn (n, 10, 0.05) ;
-XU = umfpack_solve (A, '\\', B, control) ;
-XM = A\B ;
-
-fprintf ('Difference between UMFPACK and OCTAVE solution: %g\n', ...
-    norm (XU - XM, Inf)) ;
-
-fprintf ('\n--------------------------------------------------------------\n') ;
-fprintf ('\nSolve AX=B, where B is n-by-10, and sparse, using umfpack_btf\n') ;
-XU = umfpack_btf (A, B, control) ;
-
-fprintf ('Difference between UMFPACK and OCTAVE solution: %g\n', ...
-    norm (XU - XM, Inf)) ;
-
-fprintf ('\n--------------------------------------------------------------\n') ;
-fprintf ('\nSolve A''X=B, where B is n-by-10, and sparse\n') ;
-XU = umfpack_solve (B', '/', A, control) ;
-XM = B'/A ;
-
-fprintf ('Difference between UMFPACK and OCTAVE solution: %g\n', ...
-    norm (XU - XM, Inf)) ;
--- a/liboctave/UMFPACK/UMFPACK/OCTAVE/umfpack_demo.m.out	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
->> umfpack_demo
-
-Enter the printing level for UMFPACK's output statistics:
-0: none, 1: errors only, 2: statistics, 4: print some of outputs
-5: print all output [default is 1]: 
-
---------------------------------------------------------------
-Factor and solve a small system, Ax=b, using default parameters
-Solving Ax=b via UMFPACK:
-Solving Ax=b via MATLAB:
-Difference between UMFPACK and MATLAB solution: 1.24345e-14
-
---------------------------------------------------------------
-
-Factorizing [L, U, P, Q, R] = umfpack (A)
-
-P * (R\A) * Q - L*U should be zero:
-norm (P*(R\A)*Q - L*U, 1) = 4.2068e-16 (exact) 3.74627e-16 (estimated)
-
-Solution to Ax=b via UMFPACK factorization:
-x = Q * (U \ (L \ (P * (R \ b))))
-
-UMFPACK flop count: 2362
-
-Factorizing [L, U, P] = lu (A (:, q))
-If you are using a version of MATLAB prior to V6.0, then the
-following statement (q = colamd (A)) may fail.  Either download
-colamd from http://www.cise.ufl.edu/research/sparse, upgrade to
-MATLAB V6.0 or later, or replace the statement with
-q = colmmd (A) ;
-
-Solution to Ax=b via MATLAB factorization:
-x = U \ (L \ (P * b)) ; x (q) = x ;
-Difference between UMFPACK and MATLAB solution: 1.37668e-14
-
-MATLAB LU flop count: 3164
-
---------------------------------------------------------------
-Solve A'x=b:
-Solving A'x=b via UMFPACK:
-Solving A'x=b via MATLAB:
-Difference between UMFPACK and MATLAB solution: 3.10862e-15
-
---------------------------------------------------------------
-Compute C = A', and compute the LU factorization of C.
-Factorizing A' can sometimes be better than factorizing A itself
-(less work and memory usage).  Solve C'x=b; the solution is the
-same as the solution to Ax=b for the original A.
-
-P * (R\C) * Q - L*U should be zero:
-norm (P*(R\C)*Q - L*U, 1) = 1.31839e-16 (exact) 6.41848e-17 (estimated)
-
-Solution to Ax=b via UMFPACK, using the factors of C:
-x = R \ (P' * (L' \ (U' \ (Q' * b)))) ;
-Solution to Ax=b via MATLAB:
-Difference between UMFPACK and MATLAB solution: 1.77636e-14
-
---------------------------------------------------------------
-
-Solve AX=B, where B is n-by-10, and sparse
-Difference between UMFPACK and MATLAB solution: 2.88198e-14
-
---------------------------------------------------------------
-
-Solve AX=B, where B is n-by-10, and sparse, using umfpack_btf
-Difference between UMFPACK and MATLAB solution: 9.79736e-14
-
---------------------------------------------------------------
-
-Solve A'X=B, where B is n-by-10, and sparse
-Difference between UMFPACK and MATLAB solution: 1.05244e-13
->> diary off
--- a/liboctave/UMFPACK/UMFPACK/OCTAVE/umfpack_make.m	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,356 +0,0 @@
-function umfpack_make
-% UMFPACK_MAKE
-%
-% Compiles the UMFPACK mexFunction and then runs a simple demo.
-%
-% UMFPACK Version 4.3 (Jan. 16, 2004), Copyright (c) 2004 by Timothy A.
-% Davis.  All Rights Reserved.  Type umfpack_details for License.
-%
-% See also: umfpack, umfpack_details, umfpack_report, umfpack_demo, and
-% umfpack_simple.
-
-help umfpack_make
-
-fprintf ('\n--------------------------------------------------------------\n') ;
-fprintf ('Now compiling the UMFPACK and AMD mexFunctions.\n') ;
-fprintf ('--------------------------------------------------------------\n') ;
-
-try
-    % ispc does not appear in MATLAB 5.3
-    pc = ispc ;
-catch
-    % if ispc fails, assume we aren't on a Windows PC.
-    pc = 0 ;
-end
-
-obj = 'o' ;
-blas_lib = '' ;
-if (pc)
-    obj = 'obj' ;
-end
-
-%-------------------------------------------------------------------------------
-% BLAS option
-%-------------------------------------------------------------------------------
-
-msg = [ ...
-    '\nUsing the BLAS is faster, but might not compile correctly.\n', ...
-    'If you get an error stating that dgemm, dgemv, dger, zgemm,\n', ...
-    'zgemv, and/or zger are not defined, then recompile without the\n', ...
-    'BLAS.  You can ignore warnings that these routines are implicitly\n', ...
-    'declared.\n\nPlease select one of the following options: \n', ...
-    '   1:  attempt to compile with the BLAS (default)\n', ...
-    '   2:  do not use the BLAS\n'] ;
-fprintf (msg) ;
-blas = input (': ') ;
-if (isempty (blas))
-    blas = 1 ;
-end
-if (blas == 1)
-    % try to link to MATLAB's built-in BLAS
-    blas = '' ;
-    if (pc)
-        % the default lcc compiler needs this library to access the BLAS
-        blas_lib = ' libmwlapack.lib' ;
-        msg = [ ...
-        '\nCheck to see if you have a file called libmwlapack.lib in the\n', ...
-        '<matlab>\\extern\\lib\\win32\\lcc\\ directory, where <matlab> is ', ...
-        'the\ndirectory where MATLAB is installed.  If a file of that ', ...
-        'name is already\nthere, then you don''t have to do anything.  ', ...
-        'Otherwise, you must first\ncopy the libmwlapack.lib file from ', ...
-        'the umfpack\\lcc_lib\\ directory to the\n', ...
-        '<matlab>\\extern\\lib\\win32\\lcc\\ directory.  Next, type\n\n', ...
-        '    mex -setup\n\n', ...
-        'at the MATLAB prompt, and ask MATLAB to select the lcc compiler.  ',...
-        'You can skip\nall of this if you have already done it, or have ', ...
-        'configured mex to use\na different compiler.  If you are using ', ...
-        'Norton anti-virus software on Windows\n98SE, then you need to ', ...
-        'exit MATLAB, turn off virus checking, and restart MATLAB\n', ...
-        'before you can use the mex command or compile UMFPACK.\n', ...
-        'You may also need to turn off virus checking in other cases.\n', ...
-        '\nHit enter to continue, or type control-C if you do not wish to '] ;
-        fprintf (msg) ;
-        input ('proceed: ') ;
-    end
-    fprintf ('\nUsing the BLAS (recommended).\n') ;
-else
-    % No BLAS
-    fprintf ('\nNot using the BLAS.  UMFPACK will be slow.\n') ;
-    blas = ' -DNBLAS' ;
-end
-
-%-------------------------------------------------------------------------------
-% -DNUTIL option (using utMalloc or mxMalloc)
-%-------------------------------------------------------------------------------
-
-utils = '' ;
-
-if (~pc)
-    msg = [ ...
-    '--------------------------------------------------------------\n', ...
-    '\nUMFPACK uses MATLAB''s memory allocation routines.  The internal', ...
-    '\nutMalloc, utFree, and utRealloc allow for better use of memory,', ...
-    '\nbut they are internal utility routines that are not documented.\n', ...
-    'Thus, they might not always work.  Using mxMalloc, mxFree, and\n', ...
-    'mxRealloc works, but UMFPACK might run out of memory when solving\n', ...
-    'problems that it could otherwise solve.  Try using the default.\n', ...
-    'If you get an error stating that utMalloc, utFree, and/or\n', ...
-    'utRealloc are not defined, then recompile with the mx* routines.\n', ...
-    '\nPlease select one of the following options:\n', ...
-    '    1:  attempt to use the ut* routines (default)\n', ...
-    '    2:  use the standard mx* routines\n'] ;
-    fprintf (msg) ;
-    utils = input (': ') ;
-    if (isempty (utils))
-	utils = 1 ;
-    end
-    if (utils == 2)
-        fprintf ('\nNot using utMalloc, utFree, or utRealloc\n') ;
-        utils = ' -DNUTIL' ;
-    else
-        fprintf ('\nUsing utMalloc, utFree, and utRealloc\n') ;
-        utils = '' ;
-    end
-end
-
-%-------------------------------------------------------------------------------
-% -DNPOSIX option (for sysconf and times timer routines)
-%-------------------------------------------------------------------------------
-
-posix = '' ;
-
-if (~pc)
-    msg = [ ...
-    '--------------------------------------------------------------\n', ...
-    '\nUMFPACK can use the POSIX routines sysconf () and times ()\n', ...
-    'to provide CPU time and wallclock time statistics.  If you do not\n', ...
-    'have a POSIX-compliant operating system, then UMFPACK won''t\n', ...
-    'compile.  If you don''t know which option to pick, try the\n', ...
-    'default.  If you get an error saying that sysconf and/or times\n', ...
-    'are not defined, then recompile with the non-POSIX option.\n', ...
-    '\nPlease select one of the following options:\n', ...
-    '    1:  use POSIX sysconf and times routines (default)\n', ...
-    '    2:  do not use POSIX routines\n'] ;
-    fprintf (msg) ;
-    posix = input (': ') ;
-    if (isempty (posix))
-	posix = 1 ;
-    end
-    if (posix == 2)
-        fprintf ('\nNot using POSIX sysconf and times routines.\n') ;
-        posix = ' -DNPOSIX' ;
-    else
-        fprintf ('\nUsing POSIX sysconf and times routines.\n') ;
-        posix = '' ;
-    end
-end
-
-%-------------------------------------------------------------------------------
-% mex command
-%-------------------------------------------------------------------------------
-
-umfdir = sprintf ('..%sSource%s', filesep, filesep) ;
-amddir = sprintf ('..%s..%sAMD%sSource%s', filesep, filesep, filesep, filesep) ;
-incdir = sprintf ( ...
-' -I..%sInclude -I..%sSource -I..%s..%sAMD%sInclude -I..%s..%sAMD%sSource', ...
-filesep,filesep,  filesep, filesep, filesep, filesep, filesep, filesep) ;
-
-mx = sprintf ('mex -inline -O%s%s%s%s', blas, utils, posix, incdir) ;
-msg = [ ...
-    '--------------------------------------------------------------\n', ...
-    '\nCompile options:\n%s\nNow compiling.  Please wait.\n'] ;
-fprintf (msg, mx) ;
-
-% The following is adapted from GNUmakefile
-
-%-------------------------------------------------------------------------------
-% source files
-%-------------------------------------------------------------------------------
-
-% non-user-callable umf_*.[ch] files:
-umfch = { 'assemble', 'blas3_update', ...
-        'build_tuples', 'create_element', ...
-        'dump', 'extend_front', 'garbage_collection', ...
-        'get_memory', 'init_front', 'kernel', ...
-        'kernel_init', 'kernel_wrapup', ...
-        'local_search', 'lsolve', 'ltsolve', ...
-        'mem_alloc_element', 'mem_alloc_head_block', ...
-        'mem_alloc_tail_block', 'mem_free_tail_block', ...
-        'mem_init_memoryspace', ...
-        'report_vector', 'row_search', 'scale_column', ...
-        'set_stats', 'solve', 'symbolic_usage', 'transpose', ...
-        'tuple_lengths', 'usolve', 'utsolve', 'valid_numeric', ...
-        'valid_symbolic', 'grow_front', 'start_front', '2by2', ...
-	'store_lu', 'scale' } ;
-
-% non-user-callable umf_*.[ch] files, int versions only (no real/complex):
-umfint = { 'analyze', 'apply_order', 'colamd', 'free', 'fsize', ...
-        'is_permutation', 'malloc', 'realloc', 'report_perm', ...
-	'singletons' } ;
-
-% non-user-callable and user-callable amd_*.[ch] files (int versions only):
-amd = { 'aat', '1', '2', 'dump', 'postorder', 'post_tree', 'defaults', ...
-        'order', 'control', 'info', 'valid' } ;
-
-% user-callable umfpack_*.[ch] files (real/complex):
-user = { 'col_to_triplet', 'defaults', 'free_numeric', ...
-        'free_symbolic', 'get_numeric', 'get_lunz', ...
-        'get_symbolic', 'numeric', 'qsymbolic', ...
-        'report_control', 'report_info', 'report_matrix', ...
-        'report_numeric', 'report_perm', 'report_status', ...
-        'report_symbolic', 'report_triplet', ...
-        'report_vector', 'solve', 'symbolic', ...
-        'transpose', 'triplet_to_col', 'scale' ...
-	'load_numeric', 'save_numeric', 'load_symbolic', 'save_symbolic' } ;
-
-% user-callable umfpack_*.[ch], only one version
-generic = { 'timer', 'tictoc' } ;
-
-M = cell (0) ;
-
-%-------------------------------------------------------------------------------
-% Create the umfpack and amd mexFunctions for MATLAB (int versions only)
-%-------------------------------------------------------------------------------
-
-for k = 1:length(umfint)
-    M = make (M, '%s -DDINT -c %sumf_%s.c', 'umf_%s.%s', 'umf_%s_%s.%s', ...
-        mx, umfint {k}, umfint {k}, 'm', obj, umfdir) ;
-end
-
-rules = { [mx ' -DDINT'] , [mx ' -DZINT'] } ;
-kinds = { 'md', 'mz' } ;
-
-for what = 1:2 
-
-    rule = rules {what} ;
-    kind = kinds {what} ;
-
-    M = make (M, '%s -DCONJUGATE_SOLVE -c %sumf_%s.c', 'umf_%s.%s', ...
-        'umf_%s_%s.%s', rule, 'ltsolve', 'lhsolve', kind, obj, umfdir) ;
-
-    M = make (M, '%s -DCONJUGATE_SOLVE -c %sumf_%s.c', 'umf_%s.%s', ...
-        'umf_%s_%s.%s', rule, 'utsolve', 'uhsolve', kind, obj, umfdir) ;
-
-    M = make (M, '%s -DDO_MAP -c %sumf_%s.c', 'umf_%s.%s', ...
-        'umf_%s_%s_map_nox.%s', rule, 'triplet', 'triplet', kind, obj, umfdir) ;
-
-    M = make (M, '%s -DDO_VALUES -c %sumf_%s.c', 'umf_%s.%s', ...
-        'umf_%s_%s_nomap_x.%s', rule, 'triplet', 'triplet', kind, obj, umfdir) ;
-
-    M = make (M, '%s -c %sumf_%s.c', 'umf_%s.%s',  ...
-        'umf_%s_%s_nomap_nox.%s', rule, 'triplet', 'triplet', kind, obj, ...
-	umfdir) ;
-
-    M = make (M, '%s -DDO_MAP -DDO_VALUES -c %sumf_%s.c', 'umf_%s.%s', ...
-        'umf_%s_%s_map_x.%s', rule, 'triplet', 'triplet', kind, obj, umfdir) ;
-
-    M = make (M, '%s -DFIXQ -c %sumf_%s.c', 'umf_%s.%s', ...
-	'umf_%s_%s_fixq.%s', rule, 'assemble', 'assemble', kind, obj, umfdir) ;
-
-    M = make (M, '%s -DDROP -c %sumf_%s.c', 'umf_%s.%s', ...
-	'umf_%s_%s_drop.%s', rule, 'store_lu', 'store_lu', kind, obj, umfdir) ;
-
-    for k = 1:length(umfch)
-        M = make (M, '%s -c %sumf_%s.c', 'umf_%s.%s', 'umf_%s_%s.%s', ...
-            rule, umfch {k}, umfch {k}, kind, obj, umfdir) ;
-    end
-
-    M = make (M, '%s -DWSOLVE -c %sumfpack_%s.c', 'umfpack_%s.%s', ...
-        'umfpack_%s_w%s.%s', rule, 'solve', 'solve', kind, obj, umfdir) ;
-
-    for k = 1:length(user)
-        M = make (M, '%s -c %sumfpack_%s.c', 'umfpack_%s.%s', ...
-            'umfpack_%s_%s.%s', rule, user {k}, user {k}, kind, obj, umfdir) ;
-    end
-end
-
-for k = 1:length(generic)
-    M = make (M, '%s -c %sumfpack_%s.c', 'umfpack_%s.%s', ...
-	'umfpack_%s_%s.%s', mx, generic {k}, generic {k}, 'm', obj, umfdir) ;
-end
-
-%----------------------------------------
-% AMD routines (int only)
-%----------------------------------------
-
-for k = 1:length(amd)
-    M = make (M, '%s -DDINT -c %samd_%s.c', 'amd_%s.%s', 'amd_%s_%s.%s', ...
-        mx, amd {k}, amd {k}, 'm', obj, amddir) ;
-end
-
-%----------------------------------------
-% compile the umfpack mexFunction
-%----------------------------------------
-
-C = sprintf ('%s -output umfpack umfpackmex.c', mx) ;
-for i = 1:length (M)
-    C = [C ' ' (M {i})] ;
-end
-C = [C ' ' blas_lib] ;
-cmd (C) ;
-
-%----------------------------------------
-% delete the object files
-%----------------------------------------
-
-for i = 1:length (M)
-    rmfile (M {i}) ;
-end
-
-%----------------------------------------
-% compile the luflop mexFunction
-%----------------------------------------
-
-cmd (sprintf ('%s -output luflop luflopmex.c', mx)) ;
-
-fprintf ('\n\nCompilation has completed.  Now trying the umfpack_simple demo.\n');
-umfpack_simple
-
-%-------------------------------------------------------------------------------
-% rmfile:  delete a file, but only if it exists
-%-------------------------------------------------------------------------------
-
-function rmfile (file)
-if (length (dir (file)) > 0)
-    delete (file) ;
-end
-
-%-------------------------------------------------------------------------------
-% cpfile:  copy the src file to the filename dst, overwriting dst if it exists
-%-------------------------------------------------------------------------------
-
-function cpfile (src, dst)
-rmfile (dst)
-if (length (dir (src)) == 0)
-    help umfpack_make
-    error (sprintf ('File does not exist: %s\n', src)) ;
-end
-copyfile (src, dst) ;
-
-%-------------------------------------------------------------------------------
-% mvfile:  move the src file to the filename dst, overwriting dst if it exists
-%-------------------------------------------------------------------------------
-
-function mvfile (src, dst)
-cpfile (src, dst) ;
-rmfile (src) ;
-
-%-------------------------------------------------------------------------------
-% cmd:  display and execute a command
-%-------------------------------------------------------------------------------
-
-function cmd (s)
-fprintf ('.') ;
-eval (s) ;
-
-%-------------------------------------------------------------------------------
-% make:  execute a "make" command for a source file
-%-------------------------------------------------------------------------------
-
-function M = make (M, s, src, dst, rule, file1, file2, kind, obj, srcdir)
-cmd (sprintf (s, rule, srcdir, file1)) ;
-src = sprintf (src, file1, obj) ;
-dst = sprintf (dst, kind, file2, obj) ;
-mvfile (src, dst) ;
-M {end + 1} = dst ;
-
--- a/liboctave/UMFPACK/UMFPACK/OCTAVE/umfpack_report.m	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,346 +0,0 @@
-function umfpack_report (Control, Info)
-% UMFPACK_REPORT
-%
-%       umfpack_report (Control, Info) ;
-%
-% Prints the current Control settings for umfpack, and the statistical
-% information returned by umfpack in the Info array.  If Control is
-% an empty matrix, then the default control settings are printed.
-%
-% Control is 20-by-1, and Info is 90-by-1.  Not all entries are used.
-%
-% Alternative usages:
-%
-%       umfpack_report ([ ], Info) ;    print the default control parameters
-%                                       and the Info array.
-%       umfpack_report (Control) ;      print the control parameters only.
-%       umfpack_report ;                print the default control parameters
-%                                       and an empty Info array.
-%
-% See also umfpack, umfpack_make, umfpack_details,
-% umfpack_demo, and umfpack_simple.
-
-% UMFPACK Version 4.3 (Jan. 16, 2004), Copyright (c) 2004 by Timothy A.
-% Davis.  All Rights Reserved.  See ../README for License.
-
-%-------------------------------------------------------------------------------
-% get inputs, use defaults if input arguments not present
-%-------------------------------------------------------------------------------
-
-% The contents of Control and Info are defined in umfpack.h
-if (nargin < 1)
-    Control = [] ;
-end
-if (nargin < 2)
-    Info = [] ;
-end
-if (isempty (Control))
-    Control = umfpack ;
-end
-if (isempty (Info))
-    Info = [ 0 (-ones (1, 89)) ] ;
-end
-
-%-------------------------------------------------------------------------------
-% control settings
-%-------------------------------------------------------------------------------
-
-fprintf ('\nUMFPACK Version 4.3:  Control settings:\n\n') ;
-fprintf ('    Control (1): print level: %d\n', Control (1)) ;
-fprintf ('    Control (2): dense row parameter:    %g\n', Control (2)) ;
-fprintf ('       "dense" rows have    > max (16, (%g)*16*sqrt(n_col)) entries\n', Control (2)) ;
-fprintf ('    Control (3): dense column parameter: %g\n', Control (3)) ;
-fprintf ('       "dense" columns have > max (16, (%g)*16*sqrt(n_row)) entries\n', Control (3)) ;
-fprintf ('    Control (4): pivot tolerance: %g\n', Control (4)) ;
-fprintf ('    Control (5): max block size for dense matrix kernels: %d\n', Control (5)) ;
-prstrat ('    Control (6): strategy: %g ', Control (6)) ;
-fprintf ('    Control (7): initial allocation ratio: %g\n', Control (7)) ;
-fprintf ('    Control (8): max iterative refinement steps: %d\n', Control (8)) ;
-fprintf ('    Control (13): 2-by-2 pivot tolerance: %g\n', Control (13)) ;
-fprintf ('    Control (14): Q fixed during numeric factorization: %g ', Control (14)) ;
-if (Control (14) > 0)
-    fprintf ('(yes)\n') ;
-elseif (Control (14) < 0)
-    fprintf ('(no)\n') ;
-else
-    fprintf ('(auto)\n') ;
-end
-fprintf ('    Control (15): AMD dense row/column parameter: %g\n', Control (15)) ;
-fprintf ('       "dense" rows/columns in A+A'' have > max (16, (%g)*sqrt(n)) entries.\n', Control (15)) ;
-fprintf ('        Only used if the AMD ordering is used.\n') ;
-fprintf ('    Control (16): diagonal pivot tolerance: %g\n', Control (16)) ;
-fprintf ('        Only used if diagonal pivoting is attempted.\n') ;
-
-fprintf ('    Control (17): scaling option: %g ', Control (17)) ;
-if (Control (17) == 0)
-    fprintf ('(none)\n') ;
-elseif (Control (17) == 2)
-    fprintf ('(scale the matrix by\n') ;
-    fprintf ('        dividing each row by max. abs. value in each row)\n') ;
-else
-    fprintf ('(scale the matrix by\n') ;
-    fprintf ('        dividing each row by sum of abs. values in each row)\n') ;
-end
-
-fprintf ('    Control (18): frontal matrix allocation ratio: %g\n', Control (18)) ;
-fprintf ('    Control (19): drop tolerance: %g\n', Control (19)) ;
-fprintf ('    Control (20): AMD and COLAMD aggressive absorption: %g ', Control (20)) ;
-yes_no (Control (20)) ;
-
-% compile-time options:
-
-fprintf ('\n  The following options can only be changed at compile-time:\n') ;
-
-if (Control (9) == 1)
-    fprintf ('    Control (9): compiled to use the BLAS\n') ;
-else
-    fprintf ('    Control (9): compiled without the BLAS\n') ;
-    fprintf ('        (you will not get the best possible performance)\n') ;
-end
-
-if (Control (10) == 1)
-    fprintf ('    Control (10): compiled for MATLAB\n') ;
-elseif (Control (10) == 2)
-    fprintf ('    Control (10): compiled for MATLAB\n') ;
-    fprintf ('        Uses internal utMalloc, utFree, utRealloc, utPrintf\n') ;
-    fprintf ('        utDivideComplex, and utFdlibm_hypot routines.\n') ;
-else
-    fprintf ('    Control (10): not compiled for MATLAB\n') ;
-    fprintf ('        Uses ANSI C malloc, free, realloc, and printf\n') ;
-    fprintf ('        instead of mxMalloc, mxFree, mxRealloc, and mexPrintf.\n') ;
-    fprintf ('        Printing will be in terms of 0-based matrix indexing,\n') ;
-    fprintf ('        not 1-based as is expected in MATLAB.  Diary output may\n') ;
-    fprintf ('        not be properly recorded.\n') ;
-end
-
-if (Control (11) == 2)
-    fprintf ('    Control (11): uses POSIX times ( ) to get CPU time and wallclock time.\n') ;
-elseif (Control (11) == 1)
-    fprintf ('    Control (11): uses getrusage to get CPU time.\n') ;
-else
-    fprintf ('    Control (11): uses ANSI C clock to get CPU time.\n') ;
-    fprintf ('        The CPU time may wrap around, type "help cputime".\n') ;
-end
-
-if (Control (12) == 1)
-    fprintf ('    Control (12): compiled with debugging enabled\n') ;
-    fprintf ('        ###########################################\n') ;
-    fprintf ('        ### This will be exceedingly slow! ########\n') ;
-    fprintf ('        ###########################################\n') ;
-    if (Control (10) == 1)
-        fprintf ('        Uses mxAssert.\n') ;
-    elseif (Control (10) == 2)
-        fprintf ('        Uses utAssert.\n') ;
-    else
-        fprintf ('        Uses ANSI C assert instead of mxAssert.\n') ;
-    end
-else
-    fprintf ('    Control (12): compiled for normal operation (no debugging)\n') ;
-end
-
-%-------------------------------------------------------------------------------
-% Info:
-%-------------------------------------------------------------------------------
-
-if (nargin == 1)
-    return
-end
-
-status = Info (1) ;
-fprintf ('\nUMFPACK status:  Info (1): %d, ', status) ;
-
-if (status == 0)
-    fprintf ('OK\n') ;
-elseif (status == 1)
-    fprintf ('WARNING  matrix is singular\n') ;
-elseif (status == -1)
-    fprintf ('ERROR    out of memory\n') ;
-elseif (status == -3)
-    fprintf ('ERROR    numeric LU factorization is invalid\n') ;
-elseif (status == -4)
-    fprintf ('ERROR    symbolic LU factorization is invalid\n') ;
-elseif (status == -5)
-    fprintf ('ERROR    required argument is missing\n') ;
-elseif (status == -6)
-    fprintf ('ERROR    n <= 0\n') ;
-elseif (status <= -7 & status >= -12 | status == -14)
-    fprintf ('ERROR    matrix A is corrupted\n') ;
-elseif (status == -13)
-    fprintf ('ERROR    invalid system\n') ;
-elseif (status == -15)
-    fprintf ('ERROR    invalid permutation\n') ;
-elseif (status == -911)
-    fprintf ('ERROR    internal error!\n') ;
-    fprintf ('Please report this error to Tim Davis (davis@cise.ufl.edu)\n') ;
-else
-    fprintf ('ERROR    unrecognized error.  Info array corrupted\n') ;
-end
-
-fprintf ('    (a -1 means the entry has not been computed):\n') ;
-
-fprintf ('\n  Basic statistics:\n') ;
-fprintf ('    Info (2):  %d, # of rows of A\n', Info (2)) ;
-fprintf ('    Info (17): %d, # of columns of A\n', Info (17)) ;
-fprintf ('    Info (3): %d, nnz (A)\n', Info (3)) ;
-fprintf ('    Info (4): %d, Unit size, in bytes, for memory usage reported below\n', Info (4)) ;
-fprintf ('    Info (5): %d, size of int (in bytes)\n', Info (5)) ;
-fprintf ('    Info (6): %d, size of long (in bytes)\n', Info (6)) ;
-fprintf ('    Info (7): %d, size of pointer (in bytes)\n', Info (7)) ;
-fprintf ('    Info (8): %d, size of numerical entry (in bytes)\n', Info (8)) ;
-
-fprintf ('\n  Pivots with zero Markowitz cost removed to obtain submatrix S:\n') ;
-fprintf ('    Info (57): %d, # of pivots with one entry in pivot column\n', Info (57)) ;
-fprintf ('    Info (58): %d, # of pivots with one entry in pivot row\n', Info (58)) ;
-fprintf ('    Info (59): %d, # of rows/columns in submatrix S (if square)\n', Info (59)) ;
-fprintf ('    Info (60): %d ') ;
-if (Info (60) > 0)
-    fprintf ('submatrix S square and diagonal preserved\n') ;
-elseif (Info  (60) == 0)
-    fprintf ('submatrix S not square or diagonal not preserved\n') ;
-else
-    fprintf ('\n') ;
-end
-fprintf ('    Info (9):  %d, # of "dense" rows in S\n', Info (9)) ;
-fprintf ('    Info (10): %d, # of empty rows in S\n', Info (10)) ;
-fprintf ('    Info (11): %d, # of "dense" columns in S\n', Info (11)) ;
-fprintf ('    Info (12): %d, # of empty columns in S\n', Info (12)) ;
-fprintf ('    Info (34): %g, symmetry of pattern of S\n', Info (34)) ;
-fprintf ('    Info (35): %d, # of off-diagonal nonzeros in S+S''\n', Info (35)) ;
-fprintf ('    Info (36): %d, nnz (diag (S))\n', Info (36)) ;
-
-fprintf ('\n  2-by-2 pivoting to place large entries on diagonal:\n') ;
-fprintf ('    Info (52): %d, # of small diagonal entries of S\n', Info (52)) ;
-fprintf ('    Info (53): %d, # of unmatched small diagonal entries\n', Info (53)) ;
-fprintf ('    Info (54): %g, symmetry of P2*S\n', Info (54)) ;
-fprintf ('    Info (55): %d, # of off-diagonal entries in (P2*S)+(P2*S)''\n', Info (55)) ;
-fprintf ('    Info (56): %d, nnz (diag (P2*S))\n', Info (56)) ;
-
-fprintf ('\n  AMD results, for strict diagonal pivoting:\n') ;
-fprintf ('    Info (37): %d, est. nz in L and U\n', Info (37)) ;
-fprintf ('    Info (38): %g, est. flop count\n', Info (38)) ;
-fprintf ('    Info (39): %g, # of "dense" rows in S+S''\n', Info (39)) ;
-fprintf ('    Info (40): %g, est. max. nz in any column of L\n', Info (40)) ;
-
-fprintf ('\n  Final strategy selection, based on the analysis above:\n') ;
-prstrat ('    Info (19): %d, strategy used ', Info (19)) ;
-fprintf ('    Info (20): %d, ordering used ', Info (20)) ;
-if (Info (20) == 0)
-    fprintf ('(COLAMD on A)\n') ;
-elseif (Info (20) == 1)
-    fprintf ('(AMD on A+A'')\n') ;
-elseif (Info (20) == 2)
-    fprintf ('(provided by user)\n') ;
-else
-    fprintf ('(undefined ordering option)\n') ;
-end
-fprintf ('    Info (32): %d, Q fixed during numeric factorization: ', Info (32)) ;
-yes_no (Info (32)) ;
-fprintf ('    Info (33): %d, prefer diagonal pivoting: ', Info (33)) ;
-yes_no (Info (33)) ;
-
-fprintf ('\n  symbolic analysis time and memory usage:\n') ;
-fprintf ('    Info (13): %d, defragmentations during symbolic analysis\n', Info (13)) ;
-fprintf ('    Info (14): %d, memory used during symbolic analysis (Units)\n', Info (14)) ;
-fprintf ('    Info (15): %d, final size of symbolic factors (Units)\n', Info (15)) ;
-fprintf ('    Info (16): %.2f, symbolic analysis CPU time (seconds)\n', Info (16)) ;
-fprintf ('    Info (18): %.2f, symbolic analysis wall clock time (seconds)\n', Info (18)) ;
-
-fprintf ('\n  Estimates computed in the symbolic analysis:\n') ;
-fprintf ('    Info (21): %d, est. size of LU factors (Units)\n', Info (21)) ;
-fprintf ('    Info (22): %d, est. total peak memory usage (Units)\n', Info (22)) ;
-fprintf ('    Info (23): %d, est. factorization flop count\n', Info (23)) ;
-fprintf ('    Info (24): %d, est. nnz (L)\n', Info (24)) ;
-fprintf ('    Info (25): %d, est. nnz (U)\n', Info (25)) ;
-fprintf ('    Info (26): %d, est. initial size, variable-part of LU (Units)\n', Info (26)) ;
-fprintf ('    Info (27): %d, est. peak size, of variable-part of LU (Units)\n', Info (27)) ;
-fprintf ('    Info (28): %d, est. final size, of variable-part of LU (Units)\n', Info (28)) ;
-fprintf ('    Info (29): %d, est. max frontal matrix size (# of entries)\n', Info (29)) ;
-fprintf ('    Info (30): %d, est. max # of rows in frontal matrix\n', Info (30)) ;
-fprintf ('    Info (31): %d, est. max # of columns in frontal matrix\n', Info (31)) ;
-
-fprintf ('\n  Computed in the numeric factorization (estimates shown above):\n') ;
-fprintf ('    Info (41): %d, size of LU factors (Units)\n', Info (41)) ;
-fprintf ('    Info (42): %d, total peak memory usage (Units)\n', Info (42)) ;
-fprintf ('    Info (43): %d, factorization flop count\n', Info (43)) ;
-fprintf ('    Info (44): %d, nnz (L)\n', Info (44)) ;
-fprintf ('    Info (45): %d, nnz (U)\n', Info (45)) ;
-fprintf ('    Info (46): %d, initial size of variable-part of LU (Units)\n', Info (46)) ;
-fprintf ('    Info (47): %d, peak size of variable-part of LU (Units)\n', Info (47)) ;
-fprintf ('    Info (48): %d, final size of variable-part of LU (Units)\n', Info (48)) ;
-fprintf ('    Info (49): %d, max frontal matrix size (# of numerical entries)\n', Info (49)) ;
-fprintf ('    Info (50): %d, max # of rows in frontal matrix\n', Info (50)) ;
-fprintf ('    Info (51): %d, max # of columns in frontal matrix\n', Info (51)) ;
-
-fprintf ('\n  Computed in the numeric factorization (no estimates computed a priori):\n') ;
-fprintf ('    Info (61): %d, defragmentations during numeric factorization\n', Info (61)) ;
-fprintf ('    Info (62): %d, reallocations during numeric factorization\n', Info (62)) ;
-fprintf ('    Info (63): %d, costly reallocations during numeric factorization\n', Info (63)) ;
-fprintf ('    Info (64): %d, integer indices in compressed pattern of L and U\n', Info (64)) ;
-fprintf ('    Info (65): %d, numerical values stored in L and U\n', Info (65)) ;
-fprintf ('    Info (66): %.2f, numeric factorization CPU time (seconds)\n', Info (66)) ;
-fprintf ('    Info (76): %.2f, numeric factorization wall clock time (seconds)\n', Info (76)) ;
-if (Info (66) > 0.05 & Info (43) > 0)
-fprintf ('    mflops in numeric factorization phase: %.2f\n', 1e-6 * Info (43) / Info (66)) ;
-end
-fprintf ('    Info (67): %d, nnz (diag (U))\n', Info (67)) ;
-fprintf ('    Info (68): %g, reciprocal condition number estimate\n', Info (68)) ;
-fprintf ('    Info (69): %g, matrix was ', Info (69)) ;
-if (Info (69) == 0)
-    fprintf ('not scaled\n') ;
-elseif (Info (69) == 2)
-    fprintf ('scaled (row max)\n') ;
-else
-    fprintf ('scaled (row sum)\n') ;
-end
-fprintf ('    Info (70): %g, min. scale factor of rows of A\n', Info (70)) ;
-fprintf ('    Info (71): %g, max. scale factor of rows of A\n', Info (71)) ;
-fprintf ('    Info (72): %g, min. abs. on diagonal of U\n', Info (72)) ;
-fprintf ('    Info (73): %g, max. abs. on diagonal of U\n', Info (73)) ;
-fprintf ('    Info (74): %g, initial allocation parameter used\n', Info (74)) ;
-fprintf ('    Info (75): %g, # of forced updates due to frontal growth\n', Info (75)) ;
-fprintf ('    Info (77): %d, # of off-diaogonal pivots\n', Info (77)) ;
-fprintf ('    Info (78): %d, nnz (L), if no small entries dropped\n', Info (78)) ;
-fprintf ('    Info (79): %d, nnz (U), if no small entries dropped\n', Info (79)) ;
-fprintf ('    Info (80): %d, # of small entries dropped\n', Info (80)) ;
-
-fprintf ('\n  Computed in the solve step:\n') ;
-fprintf ('    Info (81): %d, iterative refinement steps taken\n', Info (81)) ;
-fprintf ('    Info (82): %d, iterative refinement steps attempted\n', Info (82)) ;
-fprintf ('    Info (83): %g, omega(1), sparse-backward error estimate\n', Info (83)) ;
-fprintf ('    Info (84): %g, omega(2), sparse-backward error estimate\n', Info (84)) ;
-fprintf ('    Info (85): %d, solve flop count\n', Info (85)) ;
-fprintf ('    Info (86): %.2f, solve CPU time (seconds)\n', Info (86)) ;
-fprintf ('    Info (87): %.2f, solve wall clock time (seconds)\n', Info (87)) ;
-
-fprintf ('\n    Info (88:90): unused\n\n') ;
-
-%-------------------------------------------------------------------------------
-
-function prstrat (fmt, strategy)
-fprintf (fmt, strategy) ;
-if (strategy == 1)
-    fprintf ('(unsymmetric)\n') ;
-    fprintf ('        Q = COLAMD (A), Q refined during numerical\n') ;
-    fprintf ('        factorization, and no attempt at diagonal pivoting.\n') ;
-elseif (strategy == 2)
-    fprintf ('(symmetric, with 2-by-2 pivoting)\n') ;
-    fprintf ('        P2 = row permutation to place large values on the diagonal\n') ;
-    fprintf ('        Q = AMD (P2*A+(P2*A)''), Q not refined during numeric factorization,\n') ;
-    fprintf ('        and diagonal pivoting attempted.\n') ;
-elseif (strategy == 3)
-    fprintf ('(symmetric)\n') ;
-    fprintf ('        Q = AMD (A+A''), Q not refined during numeric factorization,\n') ;
-    fprintf ('        and diagonal pivoting (P=Q'') attempted.\n') ;
-else
-    strategy = 0 ;
-    fprintf ('(auto)\n') ;
-end
-
-%-------------------------------------------------------------------------------
-
-function yes_no (s)
-if (s == 0)
-    fprintf ('(no)\n') ;
-else
-    fprintf ('(yes)\n') ;
-end
--- a/liboctave/UMFPACK/UMFPACK/OCTAVE/umfpack_simple.m	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-% umfpack_simple:  a simple demo of UMFPACK
-%
-% UMFPACK Version 4.3 (Jan. 16, 2004), Copyright (c) 2004 by Timothy A.
-% Davis.  All Rights Reserved.
-% 
-% UMFPACK License:
-% 
-%     Your use or distribution of UMFPACK or any modified version of
-%     UMFPACK implies that you agree to this License.
-% 
-%     THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
-%     EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
-% 
-%     Permission is hereby granted to use or copy this program, provided
-%     that the Copyright, this License, and the Availability of the original
-%     version is retained on all copies.  User documentation of any code that
-%     uses UMFPACK or any modified version of UMFPACK code must cite the
-%     Copyright, this License, the Availability note, and "Used by permission."
-%     Permission to modify the code and to distribute modified code is granted,
-%     provided the Copyright, this License, and the Availability note are
-%     retained, and a notice that the code was modified is included.  This
-%     software was developed with support from the National Science Foundation,
-%     and is provided to you free of charge.
-% 
-% Availability: http://www.cise.ufl.edu/research/sparse/umfpack
-%
-% See also: umfpack, umfpack_details
-
-help umfpack_simple
-i = input ('Hit enter to agree to the above License: ', 's') ;
-if (~isempty (i))
-    error ('terminating') ;
-end
-
-format short
-
-A = [
- 2  3  0  0  0
- 3  0  4  0  6
- 0 -1 -3  2  0
- 0  0  1  0  0
- 0  4  2  0  1
-]
-
-A = sparse (A) ;
-
-b = [8 45 -3 3 19]'
-
-fprintf ('Solution to Ax=b via UMFPACK:\n') ;
-fprintf ('x1 = umfpack (A, ''\\'', b)\n') ;
-
-x1 = umfpack (A, '\\', b)
-
-fprintf ('Solution to Ax=b via OCTAVE:\n') ;
-fprintf ('x2 = A\\b\n') ;
-
-x2 = A\b
-
-fprintf ('norm (x1-x2) should be small: %g\n', norm (x1-x2)) ;
-
-fprintf ('Type ''umfpack_demo'' for a full demo of UMFPACK\n') ;
--- a/liboctave/UMFPACK/UMFPACK/OCTAVE/umfpack_simple.m.out	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,79 +0,0 @@
-octave:4> umfpack_simple
-umfpack_simple is the file: /home/dbateman/octave/devel/octave-sparse/UMFPACKv4.3/UMFPACK/OCTAVE/umfpack_simple.m
-
-umfpack_simple:  a simple demo of UMFPACK
-
-UMFPACK Version 4.3 (Jan. 16, 2004), Copyright (c) 2004 by Timothy A.
-Davis.  All Rights Reserved.
-
-UMFPACK License:
-
-    Your use or distribution of UMFPACK or any modified version of
-    UMFPACK implies that you agree to this License.
-
-    THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
-    EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
-
-    Permission is hereby granted to use or copy this program, provided
-    that the Copyright, this License, and the Availability of the original
-    version is retained on all copies.  User documentation of any code that
-    uses UMFPACK or any modified version of UMFPACK code must cite the
-    Copyright, this License, the Availability note, and "Used by permission."
-    Permission to modify the code and to distribute modified code is granted,
-    provided the Copyright, this License, and the Availability note are
-    retained, and a notice that the code was modified is included.  This
-    software was developed with support from the National Science Foundation,
-    and is provided to you free of charge.
-
-Availability: http://www.cise.ufl.edu/research/sparse/umfpack
-
-See also: umfpack, umfpack_details
-
-
-Additional help for built-in functions, operators, and variables
-is available in the on-line version of the manual.  Use the command
-`help -i <topic>' to search the manual index.
-
-Help and information about Octave is also available on the WWW
-at http://www.octave.org and via the help@octave.org
-mailing list.
-Hit enter to agree to the above License: 
-A =
-
-   2   3   0   0   0
-   3   0   4   0   6
-   0  -1  -3   2   0
-   0   0   1   0   0
-   0   4   2   0   1
-
-b =
-
-    8
-   45
-   -3
-    3
-   19
-
-Solution to Ax=b via UMFPACK:
-x1 = umfpack (A, '\', b)
-x1 =
-
-  1.00000
-  2.00000
-  3.00000
-  4.00000
-  5.00000
-
-Solution to Ax=b via OCTAVE:
-x2 = A\b
-x2 =
-
-  1.00000
-  2.00000
-  3.00000
-  4.00000
-  5.00000
-
-norm (x1-x2) should be small: 0
-Type 'umfpack_demo' for a full demo of UMFPACK
-octave:5> diary off
--- a/liboctave/UMFPACK/UMFPACK/OCTAVE/umfpack_solve.m	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-function x = umfpack_solve (arg1, op, arg2, Control)
-% UMFPACK_SOLVE
-%
-% x = umfpack_solve (A, '\', b, Control)
-% x = umfpack_solve (b, '/', A, Control)
-%
-% Computes x = A\b, or b/A, where A is square.  Uses UMFPACK if A is sparse.
-% The Control argument is optional.
-%
-% See also umfpack, umfpack_make, umfpack_details, umfpack_report,
-% and umfpack_simple.
-
-% UMFPACK Version 4.3 (Jan. 16, 2004), Copyright (c) 2004 by Timothy A.
-% Davis.  All Rights Reserved.  Type umfpack_details for License.
-
-%-------------------------------------------------------------------------------
-% check inputs and get default control parameters
-%-------------------------------------------------------------------------------
-
-if (op == '\\')
-    A = arg1 ;
-    b = arg2 ;
-elseif (op == '/')
-    A = arg2 ;
-    b = arg1 ;
-else
-    help umfack_solve
-    error ('umfpack_solve:  unrecognized operator') ;
-end
-
-[m n] = size (A) ;
-if (m ~= n)
-    help umfpack_solve
-    error ('umfpack_solve:  A must be square') ;
-end
-
-[m1 n1] = size (b) ;
-if ((op == '\\' & n ~= m1) | (op == '/' & n1 ~= m))
-    help umfpack_solve
-    error ('umfpack_solve:  b has the wrong dimensions') ;
-end
-
-if (nargin < 4)
-    Control = umfpack ;
-end
-
-%-------------------------------------------------------------------------------
-% solve the system
-%-------------------------------------------------------------------------------
-
-if (op == '\\')
-
-    if (~issparse (A))
-
-	% A is not sparse, so just use MATLAB
-	x = A\b ;
-
-    elseif (n1 == 1 & ~issparse (b))
-
-	% the UMFPACK '\' requires b to be a dense column vector
-	x = umfpack (A, '\\', b, Control) ;
-
-    else
-
-	% factorize with UMFPACK and do the forward/back solves in MATLAB 
-	[L, U, P, Q, R] = umfpack (A, Control) ;
-	keyboard
-	x = Q * (U \ (L \ (P * (R \ b)))) ;
-
-    end
-
-else
-
-    if (~issparse (A))
-
-	% A is not sparse, so just use MATLAB
-	x = b/A ;
-
-    elseif (m1 == 1 & ~issparse (b))
-
-	% the UMFPACK '/' requires b to be a dense column vector
-	x = umfpack (b, '/', A, Control) ;
-
-    else
-
-	% factorize with UMFPACK and do the forward/back solves in MATLAB
-	% this mimics the behavior of x = b/A, except for the row scaling
-	[L, U, P, Q, R] = umfpack (A.', Control) ;
-	x = (Q * (U \ (L \ (P * (R \ (b.')))))).' ;
-
-	% an alternative method:
-	% [L, U, P, Q, r] = umfpack (A, Control) ;
-	% x = (R \ (P' * (L.' \ (U.' \ (Q' * b.'))))).' ;
-
-    end
-
-end
Binary file liboctave/UMFPACK/UMFPACK/OCTAVE/west0067.mat has changed
--- a/liboctave/UMFPACK/UMFPACK/README.txt	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,394 +0,0 @@
-UMFPACK Version 4.4:  a set of routines solving sparse linear systems via LU
-    factorization.  Requires two other packages:  the BLAS (dense matrix
-    operations) and AMD (sparse matrix minimum degree ordering).  Includes
-    a C-callable and MATLAB interface, and a basic FORTRAN 77 interface to
-    a subset of the C-callable routines.
-
-Quick start (Unix, or Windows with Cygwin):
-
-    To compile, test, and install both UMFPACK and AMD, the UMFPACK and AMD
-    directories must be in the same parent directory.  To configure, edit
-    UMFPACK/Make/Make.include and AMD/Make/Make.include (otherwise the BLAS
-    will not be used, and UMFPACK will be slow).  cd to this directory (UMFPACK)
-    and type "make" (or "make lib" if you do not have MATLAB).  To compile and
-    run a demo program for Harwell/Boeing matrices, type "make hb".  To compile
-    a FORTRAN main program that calls the 32-bit C-callable UMFPACK library,
-    type "make fortran".  When done, type "make clean" to remove unused *.o
-    files (keeps the compiled libraries and demo programs).  See the User Guide
-    (Doc/UserGuide.pdf), or UMFPACK/Make/Make.include, for more details
-    (including options for compiling 64-bit mode).
-
-Quick start (for MATLAB users):
-
-    To compile, test, and install the UMFPACK mexFunction, cd to the
-    UMFPACK/MATLAB directory and type umfpack_make at the MATLAB prompt.
-    This works on any system supported by MATLAB.
-
---------------------------------------------------------------------------------
-
-UMFPACK Version 4.4 (Jan. 28, 2005),  Copyright (c) 2005 by Timothy A.
-Davis.  All Rights Reserved.
-
-UMFPACK License:
-
-    Your use or distribution of UMFPACK or any modified version of
-    UMFPACK implies that you agree to this License.
-
-    THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY
-    EXPRESSED OR IMPLIED.  ANY USE IS AT YOUR OWN RISK.
-
-    Permission is hereby granted to use or copy this program, provided
-    that the Copyright, this License, and the Availability of the original
-    version is retained on all copies.  User documentation of any code that
-    uses UMFPACK or any modified version of UMFPACK code must cite the
-    Copyright, this License, the Availability note, and "Used by permission."
-    Permission to modify the code and to distribute modified code is granted,
-    provided the Copyright, this License, and the Availability note are
-    retained, and a notice that the code was modified is included.  This
-    software was developed with support from the National Science Foundation,
-    and is provided to you free of charge.
-
-Availability:
-
-    http://www.cise.ufl.edu/research/sparse/umfpack
-
-    UMFPACK (including versions 2.2.1 and earlier, in Fortran) is available at
-    http://www.cise.ufl.edu/research/sparse.  MA38 is available in the Harwell
-    Subroutine Library.  This version of UMFPACK includes a modified form of
-    COLAMD Version 2.0, originally released on Jan. 31, 2000, also available at
-    http://www.cise.ufl.edu/research/sparse.  COLAMD V2.0 is also incorporated
-    as a built-in function in MATLAB version 6.1, by The MathWorks, Inc.
-    (http://www.mathworks.com).  COLAMD V1.0 appears as a column-preordering
-    in SuperLU (SuperLU is available at http://www.netlib.org).
-    UMFPACK v4.0 is a built-in routine in MATLAB 6.5.
-    UMFPACK v4.3 is a built-in routine in MATLAB 7.1.
-
---------------------------------------------------------------------------------
-
-Refer to ../AMD/README for the License for AMD, which is a separate
-package for ordering sparse matrices that is required by UMFPACK.
-UMFPACK v4.4 can use either AMD v1.0 or v1.1.
-
---------------------------------------------------------------------------------
-
-This is the UMFPACK README.txt file.  It is a terse overview of UMFPACK.
-Refer to the User Guide (Doc/UserGuide.pdf) for how to install and use UMFPACK,
-or to the Quick Start Guide, QuickStart.pdf.
-
-Description:
-
-    UMFPACK is a set of routines for solving unsymmetric sparse linear systems,
-    Ax=b, using the Unsymmetric MultiFrontal method.  Written in ANSI/ISO C,
-    with a MATLAB (Version 6.0 or later) interface.
-
-    For best performance, UMFPACK requires an optimized BLAS library.  It can
-    also be compiled without any BLAS at all.  UMFPACK requires AMD Version 1.0
-    or Version 1.1
-
-Authors:
-
-    Timothy A. Davis (davis@cise.ufl.edu), University of Florida.
-
-    Includes a modified version of COLAMD V2.0, by Stefan I. Larimore and
-    Timothy A. Davis, University of Florida.  The COLAMD algorithm was developed
-    in collaboration with John Gilbert, Xerox Palo Alto Research Center, and
-    Esmond Ng, Lawrence Berkeley National Laboratory.
-
-    Includes AMD, by Timothy A. Davis, Patrick R. Amestoy, and Iain S. Duff.
-
-    UMFPACK Version 2.2.1 (MA38 in the Harwell Subroutine Library) is
-    co-authored with Iain S. Duff, Rutherford Appleton Laboratory.
-
-Acknowledgements:
-
-    This work was supported by the National Science Foundation, under
-    grants DMS-9504974, DMS-9803599, and CCR-0203270.
-
-    Portions of this work were done while on sabbatical at Stanford University
-    and Lawrence Berkeley National Laboratory (with funding from the SciDAC
-    program).  I would like to thank Gene Golub, Esmond Ng, and Horst Simon
-    for making this sabbatical possible.
-
-    I would also like to thank the many researchers who provided sparse
-    matrices from a wide range of domains and used earlier versions of UMFPACK/
-    MA38 in their applications, and thus assisted in the practical development
-    of the algorithm (see http://www.cise.ufl.edu/research/sparse, future
-    contributions of matrices are always welcome).
-
-    The MathWorks, Inc., provided a pre-release of MATLAB V6 which allowed me
-    to release the first umfpack mexFunction (v3.0) about 6 months earlier than
-    I had originally planned.  They also supported the extension of UMFPACK to
-    complex, singular, and rectangular matrices (UMFPACK v4.0).
-
-    Penny Anderson (The MathWorks, Inc.), Anshul Gupta (IBM), and Friedrich
-    Grund (WAIS) assisted in porting UMFPACK to different platforms.  Penny
-    Anderson also incorporated UMFPACK v4.0 into MATLAB, for lu, backslash (\),
-    and forward slash (/).
-
-    David Bateman (Motorola) wrote the initial version of the packed complex
-    input option, and umfpack_get_determinant.
-
---------------------------------------------------------------------------------
-Files and directories in the UMFPACK distribution:
---------------------------------------------------------------------------------
-
-    ----------------------------------------------------------------------------
-    Subdirectories of the UMFPACK directory:
-    ----------------------------------------------------------------------------
-
-    Doc		documentation
-    Make	for compiling UMFPACK (a symbolic link to ../AMD/Make)
-    Source	primary source code
-    Include	include files for use in your code that calls UMFPACK
-    Demo	demo programs.  also serves as test of the UMFPACK installation.
-    MATLAB	UMFPACK mexFunction for MATLAB, and supporting m-files
-    Lib		where the compiled C-callable UMFPACK library is placed.
-
-    ----------------------------------------------------------------------------
-    Files in the UMFPACK directory:
-    ----------------------------------------------------------------------------
-
-    Makefile	top-level Makefile for GNU make or original make.
-		Windows users would require Cygwin to use "make"
-
-    README.txt	this file
-
-    ----------------------------------------------------------------------------
-    Doc directory: documentation
-    ----------------------------------------------------------------------------
-
-    ChangeLog			change log
-    License			the UMFPACK License
-    Makefile			for creating the documentation
-    QuickStart.tex		Quick Start guide (source)
-    QuickStart.pdf		Quick Start guide (PDF)
-    UserGuide.bib		User Guide (references)
-    UserGuide.sed1		sed script for processing UserGuide.stex
-    UserGuide.sed2		sed script for processing UserGuide.stex
-    UserGuide.stex		User Guide (LaTeX)
-    UserGuide.pdf		User Guide (PDF)
-
-    ----------------------------------------------------------------------------
-    Make directory: for compiling the UMFPACK library (Lib/libumfpack.a)
-    ----------------------------------------------------------------------------
-
-    This is a symbolic link to the ../AMD/Make directory.  Refer to the
-    ../AMD/README file for a list of its contents.
-
-    ----------------------------------------------------------------------------
-    Source directory:
-    ----------------------------------------------------------------------------
-
-    GNUmakefile			a nice Makefile, for GNU make
-    Makefile			an ugly Unix Makefile (for older make's)
-
-    umfpack_col_to_triplet.c	convert col form to triplet
-    umfpack_defaults.c		set Control defaults
-    umfpack_free_numeric.c	free Numeric object
-    umfpack_free_symbolic.c	free Symbolic object
-    umfpack_get_determinant.c	compute determinant from Numeric object
-    umfpack_get_lunz.c		get nz's in L and U
-    umfpack_get_numeric.c	get Numeric object
-    umfpack_get_symbolic.c	get Symbolic object
-    umfpack_load_numeric.c	load Numeric object from file
-    umfpack_load_symbolic.c	load Symbolic object from file
-    umfpack_numeric.c		numeric factorization
-    umfpack_qsymbolic.c		symbolic factorization, user Q
-    umfpack_report_control.c	print Control settings
-    umfpack_report_info.c	print Info statistics
-    umfpack_report_matrix.c	print col or row-form sparse matrix
-    umfpack_report_numeric.c	print Numeric object
-    umfpack_report_perm.c	print permutation
-    umfpack_report_status.c	print return status
-    umfpack_report_symbolic.c	print Symbolic object
-    umfpack_report_triplet.c	print triplet matrix
-    umfpack_report_vector.c	print dense vector
-    umfpack_save_numeric.c	save Numeric object to file
-    umfpack_save_symbolic.c	save Symbolic object to file
-    umfpack_scale.c		scale a vector
-    umfpack_solve.c		solve a linear system
-    umfpack_symbolic.c		symbolic factorization
-    umfpack_tictoc.c		timer
-    umfpack_timer.c		timer
-    umfpack_transpose.c		transpose a matrix
-    umfpack_triplet_to_col.c	convert triplet to col form
-
-    umf_config.h		configuration file (BLAS, memory, timer)
-    umf_internal.h		definitions internal to UMFPACK
-    umf_version.h		version definitions (int/long, real/complex)
-
-    umf_2by2.[ch]
-    umf_analyze.[ch]		symbolic factorization of A'*A
-    umf_apply_order.[ch]	apply column etree postorder
-    umf_assemble.[ch]		assemble elements into current front
-    umf_blas3_update.[ch]	rank-k update.  Uses level-3 BLAS
-    umf_build_tuples.[ch]	construct tuples for elements
-    umf_colamd.[ch]		COLAMD pre-ordering, modified for UMFPACK
-    umf_create_element.[ch]	create a new element
-    umf_dump.[ch]		debugging routines, not normally active
-    umf_extend_front.[ch]	extend the current frontal matrix
-    umf_free.[ch]		free memory
-    umf_fsize.[ch]		determine largest front in each subtree
-    umf_garbage_collection.[ch]	compact Numeric->Memory
-    umf_get_memory.[ch]		make Numeric->Memory bigger
-    umf_grow_front.[ch]		make current frontal matrix bigger
-    umf_init_front.[ch]		initialize a new frontal matrix
-    umf_is_permutation.[ch]	checks the validity of a permutation vector
-    umf_kernel.[ch]		the main numeric factorization kernel
-    umf_kernel_init.[ch]	initializations for umf_kernel
-    umf_kernel_wrapup.[ch]	wrapup for umf_kernel
-    umf_local_search.[ch]	local row and column pivot search
-    umf_lsolve.[ch]		solve Lx=b
-    umf_ltsolve.[ch]		solve L'x=b and L.'x=b
-    umf_malloc.[ch]		malloc some memory
-    umf_mem_alloc_element.[ch]		allocate element in Numeric->Memory
-    umf_mem_alloc_head_block.[ch]	alloc. block at head of Numeric->Memory
-    umf_mem_alloc_tail_block.[ch]	alloc. block at tail of Numeric->Memory
-    umf_mem_free_tail_block.[ch]	free block at tail of Numeric->Memory
-    umf_mem_init_memoryspace.[ch]	initialize Numeric->Memory
-    umf_realloc.[ch]		realloc memory
-    umf_report_perm.[ch]	print a permutation vector
-    umf_report_vector.[ch]	print a double vector
-    umf_row_search.[ch]		look for a pivot row
-    umf_scale.[ch]		scale the pivot column
-    umf_scale_column.[ch]	move pivot row & column into place, log P and Q
-    umf_set_stats.[ch]		set statistics (final or estimates)
-    umf_singletons.[ch]		find all zero-cost pivots
-    umf_solve.[ch]		solve a linear system
-    umf_start_front.[ch]	start a new frontal matrix for one frontal chain
-    umf_store_lu.[ch]		store LU factors of current front
-    umf_symbolic_usage.[ch]	determine memory usage for Symbolic object
-    umf_transpose.[ch]		transpose a matrix in row or col form
-    umf_triplet.[ch]		convert triplet to column form
-    umf_tuple_lengths.[ch]	determine the tuple list lengths
-    umf_usolve.[ch]		solve Ux=b
-    umf_utsolve.[ch]		solve U'x=b and U.'x=b
-    umf_valid_numeric.[ch]	checks the validity of a Numeric object
-    umf_valid_symbolic.[ch]	check the validity of a Symbolic object
-
-    ----------------------------------------------------------------------------
-    Include directory:
-    ----------------------------------------------------------------------------
-
-    umfpack.h			include file for user programs.  Includes all of
-				the following files.  This serves are source-
-				code level documenation.  These files are also
-				used to construct the User Guide.
-
-    umfpack_col_to_triplet.h
-    umfpack_defaults.h
-    umfpack_free_numeric.h
-    umfpack_free_symbolic.h
-    umfpack_get_determinant.h
-    umfpack_get_lunz.h
-    umfpack_get_numeric.h
-    umfpack_get_symbolic.h
-    umfpack_load_numeric.h
-    umfpack_load_symbolic.h
-    umfpack_numeric.h
-    umfpack_qsymbolic.h
-    umfpack_report_control.h
-    umfpack_report_info.h
-    umfpack_report_matrix.h
-    umfpack_report_numeric.h
-    umfpack_report_perm.h
-    umfpack_report_status.h
-    umfpack_report_symbolic.h
-    umfpack_report_triplet.h
-    umfpack_report_vector.h
-    umfpack_save_numeric.h
-    umfpack_save_symbolic.h
-    umfpack_scale.h
-    umfpack_solve.h
-    umfpack_symbolic.h
-    umfpack_tictoc.h
-    umfpack_timer.h
-    umfpack_transpose.h
-    umfpack_triplet_to_col.h
-
-    umfpack_wsolve.h		note that there is no umfpack_wsolve.c.  The
-				umfpack_*_wsolve routines are created from the
-				umfpack_solve.c file.
-
-    ----------------------------------------------------------------------------
-    Demo directory:
-    ----------------------------------------------------------------------------
-
-    Makefile			for GNU make or original make
-
-    umfpack_simple.c		a simple demo
-    umpack_xx_demo.c		template to create the demo codes below
-
-    umfpack_di_demo.sed		for creating umfpack_di_demo.c
-    umfpack_dl_demo.sed		for creating umfpack_dl_demo.c
-    umfpack_zi_demo.sed		for creating umfpack_zi_demo.c
-    umfpack_zl_demo.sed		for creating umfpack_zl_demo.c
-
-    umfpack_di_demo.c		a full demo (real/int version)
-    umfpack_dl_demo.c		a full demo (real/long version)
-    umfpack_zi_demo.c		a full demo (complex/int version)
-    umfpack_zl_demo.c		a full demo (complex/long version)
-
-    umfpack_di_demo.out		umfpack_di_demo output, unmodified Make.include
-    umfpack_dl_demo.out		umfpack_dl_demo output, unmodified Make.include
-    umfpack_zi_demo.out		umfpack_zi_demo output, unmodified Make.include
-    umfpack_zl_demo.out		umfpack_zl_demo output, unmodified Make.include
-
-    umf4.c			a demo (real/int) for Harwell/Boeing matrices
-    umf4.out			output of "make hb", unmodified Make.include
-    HB				directory of sample Harwell/Boeing matrices
-    readhb.f			reads HB matrices, keeps zero entries
-    readhb_nozeros.f		reads HB matrices, removes zero entries
-    readhb_size.f		reads HB matrix dimension, nnz
-    tmp				empty directory for umf4.c demo
-
-    umf4_f77wrapper.c		a simple FORTRAN interface for UMFPACK.
-				compile with "make fortran"
-    umf4hb.f			a demo of the FORTRAN interface
-    umf4hb.out			output of "make fortran"
-
-    umf4_f77zwrapper.c		a simple FORTRAN interface for the complex
-				UMFPACK routines.  compile with "make fortran"
-    umf4zhb.f			a demo of the FORTRAN interface (complex)
-    umf4zhb.out			output of umf4zhb with HB/qc324.cua
-
-    umf4hb64.f			64-bit version of umf4hb.f
-
-    simple_compile		a single command that compiles the double/int
-				version of UMFPACK (useful prototype for
-				Microsoft Visual Studio project)
-
-    ----------------------------------------------------------------------------
-    MATLAB directory:
-    ----------------------------------------------------------------------------
-
-    Contents.m			for "help umfpack" listing of toolbox contents
-    GNUmakefile			a nice Makefile, for GNU make
-    Makefile			an ugly Unix Makefile (for older make's)
-
-    lu_normest.m		1-norm estimate of A-L*U (by Hager & Davis).
-    luflop.m			for "help luflop"
-    luflopmex.c			luflop mexFunction, for computing LU flop count
-    umfpack.m			for "help umfpack"
-    umfpack_btf.m		solve Ax=b using umfpack and dmperm
-    umfpack_demo.m		a full umfpack demo
-    umfpack_details.m		the details of how to use umfpack
-    umfpack_make.m		compile the umfpack mexFunction within MATLAB
-    umfpack_report.m		report statistics
-    umfpack_simple.m		a simple umfpack demo
-    umfpack_solve.m		x=A\b or b/A for arbitrary b
-    umfpack_test.m		extensive test, requires UF sparse matrices
-    umfpackmex.c		the umfpack mexFunction
-    west0067.mat		sparse matrix for umfpack_demo.m
-
-    umfpack_demo.m.out		output of umfpack_demo.m
-    umfpack_simple.m.out	output of umfpack_simple
-
-    lcc_lib/lapacksyms.def	LAPACK definitions for lcc compiler (Windows)
-    lcc_lib/libmwlapack.lib	LAPACK definitions for lcc compiler (Windows)
-
-    ----------------------------------------------------------------------------
-    Lib directory:  libumfpack.a library placed here
-    ----------------------------------------------------------------------------
-
-    libumfpack.def		UMPFACK definitions for Windows
--- a/liboctave/UMFPACK/UMFPACK/Source/GNUmakefile	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,253 +0,0 @@
-#-------------------------------------------------------------------------------
-# UMFPACK Makefile for compiling on Unix systems (for GNU Make)
-#-------------------------------------------------------------------------------
-
-all: ../Lib/libumfpack.a
-
-include ../Make/Make.include
-
-C = $(CC) $(CFLAGS) $(CONFIG) -I../Include -I../../AMD/Include -I../../AMD/Source
-
-#-------------------------------------------------------------------------------
-# source files
-#-------------------------------------------------------------------------------
-
-# non-user-callable umf_*.[ch] files:
-UMFCH = umf_assemble umf_blas3_update umf_build_tuples umf_create_element \
-	umf_dump umf_extend_front umf_garbage_collection umf_get_memory \
-	umf_init_front umf_kernel umf_kernel_init umf_kernel_wrapup \
-	umf_local_search umf_lsolve umf_ltsolve umf_mem_alloc_element \
-	umf_mem_alloc_head_block umf_mem_alloc_tail_block \
-	umf_mem_free_tail_block umf_mem_init_memoryspace \
-	umf_report_vector umf_row_search umf_scale_column \
-	umf_set_stats umf_solve umf_symbolic_usage umf_transpose \
-	umf_tuple_lengths umf_usolve umf_utsolve umf_valid_numeric \
-	umf_valid_symbolic umf_grow_front umf_start_front umf_2by2 \
-	umf_store_lu umf_scale
-
-# non-user-callable umf_*.[ch] files, int/long versions only (no real/complex):
-UMFINT = umf_analyze umf_apply_order umf_colamd umf_free umf_fsize \
-	umf_is_permutation umf_malloc umf_realloc umf_report_perm \
-	umf_singletons
-
-# non-user-callable, created from umf_ltsolve.c, umf_utsolve.c,
-# umf_triplet.c, and umf_assemble.c , with int/long and real/complex versions:
-UMF_CREATED = umf_lhsolve umf_uhsolve umf_triplet_map_nox \
-	umf_triplet_nomap_x umf_triplet_nomap_nox umf_triplet_map_x \
-	umf_assemble_fixq umf_store_lu_drop
-
-# non-user-callable, int/long and real/complex versions:
-UMF = $(UMF_CREATED) $(UMFCH)
-
-# user-callable umfpack_*.[ch] files (int/long and real/complex):
-UMFPACK = umfpack_col_to_triplet umfpack_defaults umfpack_free_numeric \
-	umfpack_free_symbolic umfpack_get_numeric umfpack_get_lunz \
-	umfpack_get_symbolic umfpack_get_determinant umfpack_numeric \
-	umfpack_qsymbolic umfpack_report_control umfpack_report_info \
-	umfpack_report_matrix umfpack_report_numeric umfpack_report_perm \
-	umfpack_report_status umfpack_report_symbolic umfpack_report_triplet \
-	umfpack_report_vector umfpack_solve umfpack_symbolic \
-	umfpack_transpose umfpack_triplet_to_col umfpack_scale \
-	umfpack_load_numeric umfpack_save_numeric \
-	umfpack_load_symbolic umfpack_save_symbolic
-
-# user-callable, created from umfpack_solve.c (umfpack_wsolve.h exists, though):
-# with int/long and real/complex versions:
-UMFPACKW = umfpack_wsolve
-
-USER = $(UMFPACKW) $(UMFPACK)
-
-# user-callable, only one version for int/long, real/complex, *.[ch] files:
-GENERIC = umfpack_timer umfpack_tictoc
-
-#-------------------------------------------------------------------------------
-# include files:
-#-------------------------------------------------------------------------------
-
-INC = ../Include/umfpack.h \
-	umf_config.h umf_version.h umf_internal.h umf_triplet.h \
-	$(addsuffix .h,$(UMFCH)) \
-	$(addsuffix .h,$(UMFINT)) \
-	$(addprefix ../Include/, $(addsuffix .h,$(USER))) \
-	$(addprefix ../Include/, $(addsuffix .h,$(GENERIC))) \
-	../../AMD/Source/amd_internal.h ../../AMD/Include/amd.h
-
-#-------------------------------------------------------------------------------
-# object files for each version
-#-------------------------------------------------------------------------------
-
-DI = $(addsuffix .o, $(subst umf_,umf_di_,$(UMF)) $(subst umfpack_,umfpack_di_,$(USER)))
-DL = $(addsuffix .o, $(subst umf_,umf_dl_,$(UMF)) $(subst umfpack_,umfpack_dl_,$(USER)))
-ZI = $(addsuffix .o, $(subst umf_,umf_zi_,$(UMF)) $(subst umfpack_,umfpack_zi_,$(USER)))
-ZL = $(addsuffix .o, $(subst umf_,umf_zl_,$(UMF)) $(subst umfpack_,umfpack_zl_,$(USER)))
-I  = $(addsuffix .o, $(subst umf_,umf_i_,$(UMFINT)))
-L  = $(addsuffix .o, $(subst umf_,umf_l_,$(UMFINT)))
-GN = $(addsuffix .o, $(subst umfpack_,umfpack_gn_,$(GENERIC)))
-
-#-------------------------------------------------------------------------------
-# compile each int and long routine (with no real/complex version)
-#-------------------------------------------------------------------------------
-
-umf_i_%.o: umf_%.c $(INC)
-	$(C) -DDINT -c $< -o $@
-
-umf_l_%.o: umf_%.c $(INC)
-	$(C) -DDLONG -c $< -o $@
-
-#-------------------------------------------------------------------------------
-# compile each routine in the DI version
-#-------------------------------------------------------------------------------
-
-umf_di_%.o: umf_%.c $(INC)
-	$(C) -DDINT -c $< -o $@
-
-umf_di_%hsolve.o: umf_%tsolve.c $(INC)
-	$(C) -DDINT -DCONJUGATE_SOLVE -c $< -o $@
-
-umf_di_triplet_map_x.o: umf_triplet.c $(INC)
-	$(C) -DDINT -DDO_MAP -DDO_VALUES -c $< -o $@
-
-umf_di_triplet_map_nox.o: umf_triplet.c $(INC)
-	$(C) -DDINT -DDO_MAP -c $< -o $@
-
-umf_di_triplet_nomap_x.o: umf_triplet.c $(INC)
-	$(C) -DDINT -DDO_VALUES -c $< -o $@
-
-umf_di_triplet_nomap_nox.o: umf_triplet.c $(INC)
-	$(C) -DDINT -c $< -o $@
-
-umf_di_assemble_fixq.o: umf_assemble.c $(INC)
-	$(C) -DDINT -DFIXQ -c $< -o $@
-
-umf_di_store_lu_drop.o: umf_store_lu.c $(INC)
-	$(C) -DDINT -DDROP -c $< -o $@
-
-umfpack_di_wsolve.o: umfpack_solve.c $(INC)
-	$(C) -DDINT -DWSOLVE -c $< -o $@
-
-umfpack_di_%.o: umfpack_%.c $(INC)
-	$(C) -DDINT -c $< -o $@
-
-#-------------------------------------------------------------------------------
-# compile each routine in the DL version
-#-------------------------------------------------------------------------------
-
-umf_dl_%.o: umf_%.c $(INC)
-	$(C) -DDLONG -c $< -o $@
-
-umf_dl_%hsolve.o: umf_%tsolve.c $(INC)
-	$(C) -DDLONG -DCONJUGATE_SOLVE -c $< -o $@
-
-umf_dl_triplet_map_x.o: umf_triplet.c $(INC)
-	$(C) -DDLONG -DDO_MAP -DDO_VALUES -c $< -o $@
-
-umf_dl_triplet_map_nox.o: umf_triplet.c $(INC)
-	$(C) -DDLONG -DDO_MAP -c $< -o $@
-
-umf_dl_triplet_nomap_x.o: umf_triplet.c $(INC)
-	$(C) -DDLONG -DDO_VALUES -c $< -o $@
-
-umf_dl_triplet_nomap_nox.o: umf_triplet.c $(INC)
-	$(C) -DDLONG -c $< -o $@
-
-umf_dl_assemble_fixq.o: umf_assemble.c $(INC)
-	$(C) -DDLONG -DFIXQ -c $< -o $@
-
-umf_dl_store_lu_drop.o: umf_store_lu.c $(INC)
-	$(C) -DDLONG -DDROP -c $< -o $@
-
-umfpack_dl_wsolve.o: umfpack_solve.c $(INC)
-	$(C) -DDLONG -DWSOLVE -c $< -o $@
-
-umfpack_dl_%.o: umfpack_%.c $(INC)
-	$(C) -DDLONG -c $< -o $@
-
-#-------------------------------------------------------------------------------
-# compile each routine in the ZI version
-#-------------------------------------------------------------------------------
-
-umf_zi_%.o: umf_%.c $(INC)
-	$(C) -DZINT -c $< -o $@
-
-umf_zi_%hsolve.o: umf_%tsolve.c $(INC)
-	$(C) -DZINT -DCONJUGATE_SOLVE -c $< -o $@
-
-umf_zi_triplet_map_x.o: umf_triplet.c $(INC)
-	$(C) -DZINT -DDO_MAP -DDO_VALUES -c $< -o $@
-
-umf_zi_triplet_map_nox.o: umf_triplet.c $(INC)
-	$(C) -DZINT -DDO_MAP -c $< -o $@
-
-umf_zi_triplet_nomap_x.o: umf_triplet.c $(INC)
-	$(C) -DZINT -DDO_VALUES -c $< -o $@
-
-umf_zi_triplet_nomap_nox.o: umf_triplet.c $(INC)
-	$(C) -DZINT -c $< -o $@
-
-umf_zi_assemble_fixq.o: umf_assemble.c $(INC)
-	$(C) -DZINT -DFIXQ -c $< -o $@
-
-umf_zi_store_lu_drop.o: umf_store_lu.c $(INC)
-	$(C) -DZINT -DDROP -c $< -o $@
-
-umfpack_zi_wsolve.o: umfpack_solve.c $(INC)
-	$(C) -DZINT -DWSOLVE -c $< -o $@
-
-umfpack_zi_%.o: umfpack_%.c $(INC)
-	$(C) -DZINT -c $< -o $@
-
-#-------------------------------------------------------------------------------
-# compile each routine in the ZL version
-#-------------------------------------------------------------------------------
-
-umf_zl_%.o: umf_%.c $(INC)
-	$(C) -DZLONG -c $< -o $@
-
-umf_zl_%hsolve.o: umf_%tsolve.c $(INC)
-	$(C) -DZLONG -DCONJUGATE_SOLVE -c $< -o $@
-
-umf_zl_triplet_map_x.o: umf_triplet.c $(INC)
-	$(C) -DZLONG -DDO_MAP -DDO_VALUES -c $< -o $@
-
-umf_zl_triplet_map_nox.o: umf_triplet.c $(INC)
-	$(C) -DZLONG -DDO_MAP -c $< -o $@
-
-umf_zl_triplet_nomap_x.o: umf_triplet.c $(INC)
-	$(C) -DZLONG -DDO_VALUES -c $< -o $@
-
-umf_zl_triplet_nomap_nox.o: umf_triplet.c $(INC)
-	$(C) -DZLONG -c $< -o $@
-
-umf_zl_assemble_fixq.o: umf_assemble.c $(INC)
-	$(C) -DZLONG -DFIXQ -c $< -o $@
-
-umf_zl_store_lu_drop.o: umf_store_lu.c $(INC)
-	$(C) -DZLONG -DDROP -c $< -o $@
-
-umfpack_zl_wsolve.o: umfpack_solve.c $(INC)
-	$(C) -DZLONG -DWSOLVE -c $< -o $@
-
-umfpack_zl_%.o: umfpack_%.c $(INC)
-	$(C) -DZLONG -c $< -o $@
-
-#-------------------------------------------------------------------------------
-# Create the generic routines (GN) using a generic rule
-#-------------------------------------------------------------------------------
-
-umfpack_gn_%.o: umfpack_%.c $(INC)
-	$(C) -c $< -o $@
-
-#-------------------------------------------------------------------------------
-# Create the libumfpack.a library
-#-------------------------------------------------------------------------------
-
-../Lib/libumfpack.a: $(I) $(L) $(GN) $(DI) $(DL) $(ZI) $(ZL)
-	$(AR) cr ../Lib/libumfpack.a $^
-	- $(RANLIB) ../Lib/libumfpack.a
-
-#-------------------------------------------------------------------------------
-# Remove all but the files in the original distribution
-#-------------------------------------------------------------------------------
-
-purge: clean
-	- $(RM) ../Lib/libumfpack.a
--- a/liboctave/UMFPACK/UMFPACK/Source/Makefile	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,479 +0,0 @@
-#-------------------------------------------------------------------------------
-# UMFPACK Makefile for compiling on Unix systems (for original make only)
-#-------------------------------------------------------------------------------
-
-# This is a very ugly Makefile, and is only provided for those who do not
-# have GNU make.  Note that it is not used if you have GNU make.  It ignores
-# dependency checking and just compiles everything.  It was created
-# automatically, via make -n using the GNUmakefile.  That way, I don't have
-# maintain two Makefiles.
-
-all: everything
-
-include ../Make/Make.include
-
-C = $(CC) $(CFLAGS) $(CONFIG) -I../Include -I../../AMD/Include -I../../AMD/Source
-
-everything:
-	$(C) -DDINT -c umf_analyze.c -o umf_i_analyze.o
-	$(C) -DDINT -c umf_apply_order.c -o umf_i_apply_order.o
-	$(C) -DDINT -c umf_colamd.c -o umf_i_colamd.o
-	$(C) -DDINT -c umf_free.c -o umf_i_free.o
-	$(C) -DDINT -c umf_fsize.c -o umf_i_fsize.o
-	$(C) -DDINT -c umf_is_permutation.c -o umf_i_is_permutation.o
-	$(C) -DDINT -c umf_malloc.c -o umf_i_malloc.o
-	$(C) -DDINT -c umf_realloc.c -o umf_i_realloc.o
-	$(C) -DDINT -c umf_report_perm.c -o umf_i_report_perm.o
-	$(C) -DDINT -c umf_singletons.c -o umf_i_singletons.o
-	$(C) -DDLONG -c umf_analyze.c -o umf_l_analyze.o
-	$(C) -DDLONG -c umf_apply_order.c -o umf_l_apply_order.o
-	$(C) -DDLONG -c umf_colamd.c -o umf_l_colamd.o
-	$(C) -DDLONG -c umf_free.c -o umf_l_free.o
-	$(C) -DDLONG -c umf_fsize.c -o umf_l_fsize.o
-	$(C) -DDLONG -c umf_is_permutation.c -o umf_l_is_permutation.o
-	$(C) -DDLONG -c umf_malloc.c -o umf_l_malloc.o
-	$(C) -DDLONG -c umf_realloc.c -o umf_l_realloc.o
-	$(C) -DDLONG -c umf_report_perm.c -o umf_l_report_perm.o
-	$(C) -DDLONG -c umf_singletons.c -o umf_l_singletons.o
-	$(C) -c umfpack_timer.c -o umfpack_gn_timer.o
-	$(C) -c umfpack_tictoc.c -o umfpack_gn_tictoc.o
-	$(C) -DDINT -DCONJUGATE_SOLVE -c umf_ltsolve.c -o umf_di_lhsolve.o
-	$(C) -DDINT -DCONJUGATE_SOLVE -c umf_utsolve.c -o umf_di_uhsolve.o
-	$(C) -DDINT -DDO_MAP -c umf_triplet.c -o umf_di_triplet_map_nox.o
-	$(C) -DDINT -DDO_VALUES -c umf_triplet.c -o umf_di_triplet_nomap_x.o
-	$(C) -DDINT -c umf_triplet.c -o umf_di_triplet_nomap_nox.o
-	$(C) -DDINT -DDO_MAP -DDO_VALUES -c umf_triplet.c -o umf_di_triplet_map_x.o
-	$(C) -DDINT -DFIXQ -c umf_assemble.c -o umf_di_assemble_fixq.o
-	$(C) -DDINT -DDROP -c umf_store_lu.c -o umf_di_store_lu_drop.o
-	$(C) -DDINT -c umf_assemble.c -o umf_di_assemble.o
-	$(C) -DDINT -c umf_blas3_update.c -o umf_di_blas3_update.o
-	$(C) -DDINT -c umf_build_tuples.c -o umf_di_build_tuples.o
-	$(C) -DDINT -c umf_create_element.c -o umf_di_create_element.o
-	$(C) -DDINT -c umf_dump.c -o umf_di_dump.o
-	$(C) -DDINT -c umf_extend_front.c -o umf_di_extend_front.o
-	$(C) -DDINT -c umf_garbage_collection.c -o umf_di_garbage_collection.o
-	$(C) -DDINT -c umf_get_memory.c -o umf_di_get_memory.o
-	$(C) -DDINT -c umf_init_front.c -o umf_di_init_front.o
-	$(C) -DDINT -c umf_kernel.c -o umf_di_kernel.o
-	$(C) -DDINT -c umf_kernel_init.c -o umf_di_kernel_init.o
-	$(C) -DDINT -c umf_kernel_wrapup.c -o umf_di_kernel_wrapup.o
-	$(C) -DDINT -c umf_local_search.c -o umf_di_local_search.o
-	$(C) -DDINT -c umf_lsolve.c -o umf_di_lsolve.o
-	$(C) -DDINT -c umf_ltsolve.c -o umf_di_ltsolve.o
-	$(C) -DDINT -c umf_mem_alloc_element.c -o umf_di_mem_alloc_element.o
-	$(C) -DDINT -c umf_mem_alloc_head_block.c -o umf_di_mem_alloc_head_block.o
-	$(C) -DDINT -c umf_mem_alloc_tail_block.c -o umf_di_mem_alloc_tail_block.o
-	$(C) -DDINT -c umf_mem_free_tail_block.c -o umf_di_mem_free_tail_block.o
-	$(C) -DDINT -c umf_mem_init_memoryspace.c -o umf_di_mem_init_memoryspace.o
-	$(C) -DDINT -c umf_report_vector.c -o umf_di_report_vector.o
-	$(C) -DDINT -c umf_row_search.c -o umf_di_row_search.o
-	$(C) -DDINT -c umf_scale_column.c -o umf_di_scale_column.o
-	$(C) -DDINT -c umf_set_stats.c -o umf_di_set_stats.o
-	$(C) -DDINT -c umf_solve.c -o umf_di_solve.o
-	$(C) -DDINT -c umf_symbolic_usage.c -o umf_di_symbolic_usage.o
-	$(C) -DDINT -c umf_transpose.c -o umf_di_transpose.o
-	$(C) -DDINT -c umf_tuple_lengths.c -o umf_di_tuple_lengths.o
-	$(C) -DDINT -c umf_usolve.c -o umf_di_usolve.o
-	$(C) -DDINT -c umf_utsolve.c -o umf_di_utsolve.o
-	$(C) -DDINT -c umf_valid_numeric.c -o umf_di_valid_numeric.o
-	$(C) -DDINT -c umf_valid_symbolic.c -o umf_di_valid_symbolic.o
-	$(C) -DDINT -c umf_grow_front.c -o umf_di_grow_front.o
-	$(C) -DDINT -c umf_start_front.c -o umf_di_start_front.o
-	$(C) -DDINT -c umf_2by2.c -o umf_di_2by2.o
-	$(C) -DDINT -c umf_store_lu.c -o umf_di_store_lu.o
-	$(C) -DDINT -c umf_scale.c -o umf_di_scale.o
-	$(C) -DDINT -DWSOLVE -c umfpack_solve.c -o umfpack_di_wsolve.o
-	$(C) -DDINT -c umfpack_col_to_triplet.c -o umfpack_di_col_to_triplet.o
-	$(C) -DDINT -c umfpack_defaults.c -o umfpack_di_defaults.o
-	$(C) -DDINT -c umfpack_free_numeric.c -o umfpack_di_free_numeric.o
-	$(C) -DDINT -c umfpack_free_symbolic.c -o umfpack_di_free_symbolic.o
-	$(C) -DDINT -c umfpack_get_numeric.c -o umfpack_di_get_numeric.o
-	$(C) -DDINT -c umfpack_get_lunz.c -o umfpack_di_get_lunz.o
-	$(C) -DDINT -c umfpack_get_symbolic.c -o umfpack_di_get_symbolic.o
-	$(C) -DDINT -c umfpack_get_determinant.c -o umfpack_di_get_determinant.o
-	$(C) -DDINT -c umfpack_numeric.c -o umfpack_di_numeric.o
-	$(C) -DDINT -c umfpack_qsymbolic.c -o umfpack_di_qsymbolic.o
-	$(C) -DDINT -c umfpack_report_control.c -o umfpack_di_report_control.o
-	$(C) -DDINT -c umfpack_report_info.c -o umfpack_di_report_info.o
-	$(C) -DDINT -c umfpack_report_matrix.c -o umfpack_di_report_matrix.o
-	$(C) -DDINT -c umfpack_report_numeric.c -o umfpack_di_report_numeric.o
-	$(C) -DDINT -c umfpack_report_perm.c -o umfpack_di_report_perm.o
-	$(C) -DDINT -c umfpack_report_status.c -o umfpack_di_report_status.o
-	$(C) -DDINT -c umfpack_report_symbolic.c -o umfpack_di_report_symbolic.o
-	$(C) -DDINT -c umfpack_report_triplet.c -o umfpack_di_report_triplet.o
-	$(C) -DDINT -c umfpack_report_vector.c -o umfpack_di_report_vector.o
-	$(C) -DDINT -c umfpack_solve.c -o umfpack_di_solve.o
-	$(C) -DDINT -c umfpack_symbolic.c -o umfpack_di_symbolic.o
-	$(C) -DDINT -c umfpack_transpose.c -o umfpack_di_transpose.o
-	$(C) -DDINT -c umfpack_triplet_to_col.c -o umfpack_di_triplet_to_col.o
-	$(C) -DDINT -c umfpack_scale.c -o umfpack_di_scale.o
-	$(C) -DDINT -c umfpack_load_numeric.c -o umfpack_di_load_numeric.o
-	$(C) -DDINT -c umfpack_save_numeric.c -o umfpack_di_save_numeric.o
-	$(C) -DDINT -c umfpack_load_symbolic.c -o umfpack_di_load_symbolic.o
-	$(C) -DDINT -c umfpack_save_symbolic.c -o umfpack_di_save_symbolic.o
-	$(C) -DDLONG -DCONJUGATE_SOLVE -c umf_ltsolve.c -o umf_dl_lhsolve.o
-	$(C) -DDLONG -DCONJUGATE_SOLVE -c umf_utsolve.c -o umf_dl_uhsolve.o
-	$(C) -DDLONG -DDO_MAP -c umf_triplet.c -o umf_dl_triplet_map_nox.o
-	$(C) -DDLONG -DDO_VALUES -c umf_triplet.c -o umf_dl_triplet_nomap_x.o
-	$(C) -DDLONG -c umf_triplet.c -o umf_dl_triplet_nomap_nox.o
-	$(C) -DDLONG -DDO_MAP -DDO_VALUES -c umf_triplet.c -o umf_dl_triplet_map_x.o
-	$(C) -DDLONG -DFIXQ -c umf_assemble.c -o umf_dl_assemble_fixq.o
-	$(C) -DDLONG -DDROP -c umf_store_lu.c -o umf_dl_store_lu_drop.o
-	$(C) -DDLONG -c umf_assemble.c -o umf_dl_assemble.o
-	$(C) -DDLONG -c umf_blas3_update.c -o umf_dl_blas3_update.o
-	$(C) -DDLONG -c umf_build_tuples.c -o umf_dl_build_tuples.o
-	$(C) -DDLONG -c umf_create_element.c -o umf_dl_create_element.o
-	$(C) -DDLONG -c umf_dump.c -o umf_dl_dump.o
-	$(C) -DDLONG -c umf_extend_front.c -o umf_dl_extend_front.o
-	$(C) -DDLONG -c umf_garbage_collection.c -o umf_dl_garbage_collection.o
-	$(C) -DDLONG -c umf_get_memory.c -o umf_dl_get_memory.o
-	$(C) -DDLONG -c umf_init_front.c -o umf_dl_init_front.o
-	$(C) -DDLONG -c umf_kernel.c -o umf_dl_kernel.o
-	$(C) -DDLONG -c umf_kernel_init.c -o umf_dl_kernel_init.o
-	$(C) -DDLONG -c umf_kernel_wrapup.c -o umf_dl_kernel_wrapup.o
-	$(C) -DDLONG -c umf_local_search.c -o umf_dl_local_search.o
-	$(C) -DDLONG -c umf_lsolve.c -o umf_dl_lsolve.o
-	$(C) -DDLONG -c umf_ltsolve.c -o umf_dl_ltsolve.o
-	$(C) -DDLONG -c umf_mem_alloc_element.c -o umf_dl_mem_alloc_element.o
-	$(C) -DDLONG -c umf_mem_alloc_head_block.c -o umf_dl_mem_alloc_head_block.o
-	$(C) -DDLONG -c umf_mem_alloc_tail_block.c -o umf_dl_mem_alloc_tail_block.o
-	$(C) -DDLONG -c umf_mem_free_tail_block.c -o umf_dl_mem_free_tail_block.o
-	$(C) -DDLONG -c umf_mem_init_memoryspace.c -o umf_dl_mem_init_memoryspace.o
-	$(C) -DDLONG -c umf_report_vector.c -o umf_dl_report_vector.o
-	$(C) -DDLONG -c umf_row_search.c -o umf_dl_row_search.o
-	$(C) -DDLONG -c umf_scale_column.c -o umf_dl_scale_column.o
-	$(C) -DDLONG -c umf_set_stats.c -o umf_dl_set_stats.o
-	$(C) -DDLONG -c umf_solve.c -o umf_dl_solve.o
-	$(C) -DDLONG -c umf_symbolic_usage.c -o umf_dl_symbolic_usage.o
-	$(C) -DDLONG -c umf_transpose.c -o umf_dl_transpose.o
-	$(C) -DDLONG -c umf_tuple_lengths.c -o umf_dl_tuple_lengths.o
-	$(C) -DDLONG -c umf_usolve.c -o umf_dl_usolve.o
-	$(C) -DDLONG -c umf_utsolve.c -o umf_dl_utsolve.o
-	$(C) -DDLONG -c umf_valid_numeric.c -o umf_dl_valid_numeric.o
-	$(C) -DDLONG -c umf_valid_symbolic.c -o umf_dl_valid_symbolic.o
-	$(C) -DDLONG -c umf_grow_front.c -o umf_dl_grow_front.o
-	$(C) -DDLONG -c umf_start_front.c -o umf_dl_start_front.o
-	$(C) -DDLONG -c umf_2by2.c -o umf_dl_2by2.o
-	$(C) -DDLONG -c umf_store_lu.c -o umf_dl_store_lu.o
-	$(C) -DDLONG -c umf_scale.c -o umf_dl_scale.o
-	$(C) -DDLONG -DWSOLVE -c umfpack_solve.c -o umfpack_dl_wsolve.o
-	$(C) -DDLONG -c umfpack_col_to_triplet.c -o umfpack_dl_col_to_triplet.o
-	$(C) -DDLONG -c umfpack_defaults.c -o umfpack_dl_defaults.o
-	$(C) -DDLONG -c umfpack_free_numeric.c -o umfpack_dl_free_numeric.o
-	$(C) -DDLONG -c umfpack_free_symbolic.c -o umfpack_dl_free_symbolic.o
-	$(C) -DDLONG -c umfpack_get_numeric.c -o umfpack_dl_get_numeric.o
-	$(C) -DDLONG -c umfpack_get_lunz.c -o umfpack_dl_get_lunz.o
-	$(C) -DDLONG -c umfpack_get_symbolic.c -o umfpack_dl_get_symbolic.o
-	$(C) -DDLONG -c umfpack_get_determinant.c -o umfpack_dl_get_determinant.o
-	$(C) -DDLONG -c umfpack_numeric.c -o umfpack_dl_numeric.o
-	$(C) -DDLONG -c umfpack_qsymbolic.c -o umfpack_dl_qsymbolic.o
-	$(C) -DDLONG -c umfpack_report_control.c -o umfpack_dl_report_control.o
-	$(C) -DDLONG -c umfpack_report_info.c -o umfpack_dl_report_info.o
-	$(C) -DDLONG -c umfpack_report_matrix.c -o umfpack_dl_report_matrix.o
-	$(C) -DDLONG -c umfpack_report_numeric.c -o umfpack_dl_report_numeric.o
-	$(C) -DDLONG -c umfpack_report_perm.c -o umfpack_dl_report_perm.o
-	$(C) -DDLONG -c umfpack_report_status.c -o umfpack_dl_report_status.o
-	$(C) -DDLONG -c umfpack_report_symbolic.c -o umfpack_dl_report_symbolic.o
-	$(C) -DDLONG -c umfpack_report_triplet.c -o umfpack_dl_report_triplet.o
-	$(C) -DDLONG -c umfpack_report_vector.c -o umfpack_dl_report_vector.o
-	$(C) -DDLONG -c umfpack_solve.c -o umfpack_dl_solve.o
-	$(C) -DDLONG -c umfpack_symbolic.c -o umfpack_dl_symbolic.o
-	$(C) -DDLONG -c umfpack_transpose.c -o umfpack_dl_transpose.o
-	$(C) -DDLONG -c umfpack_triplet_to_col.c -o umfpack_dl_triplet_to_col.o
-	$(C) -DDLONG -c umfpack_scale.c -o umfpack_dl_scale.o
-	$(C) -DDLONG -c umfpack_load_numeric.c -o umfpack_dl_load_numeric.o
-	$(C) -DDLONG -c umfpack_save_numeric.c -o umfpack_dl_save_numeric.o
-	$(C) -DDLONG -c umfpack_load_symbolic.c -o umfpack_dl_load_symbolic.o
-	$(C) -DDLONG -c umfpack_save_symbolic.c -o umfpack_dl_save_symbolic.o
-	$(C) -DZINT -DCONJUGATE_SOLVE -c umf_ltsolve.c -o umf_zi_lhsolve.o
-	$(C) -DZINT -DCONJUGATE_SOLVE -c umf_utsolve.c -o umf_zi_uhsolve.o
-	$(C) -DZINT -DDO_MAP -c umf_triplet.c -o umf_zi_triplet_map_nox.o
-	$(C) -DZINT -DDO_VALUES -c umf_triplet.c -o umf_zi_triplet_nomap_x.o
-	$(C) -DZINT -c umf_triplet.c -o umf_zi_triplet_nomap_nox.o
-	$(C) -DZINT -DDO_MAP -DDO_VALUES -c umf_triplet.c -o umf_zi_triplet_map_x.o
-	$(C) -DZINT -DFIXQ -c umf_assemble.c -o umf_zi_assemble_fixq.o
-	$(C) -DZINT -DDROP -c umf_store_lu.c -o umf_zi_store_lu_drop.o
-	$(C) -DZINT -c umf_assemble.c -o umf_zi_assemble.o
-	$(C) -DZINT -c umf_blas3_update.c -o umf_zi_blas3_update.o
-	$(C) -DZINT -c umf_build_tuples.c -o umf_zi_build_tuples.o
-	$(C) -DZINT -c umf_create_element.c -o umf_zi_create_element.o
-	$(C) -DZINT -c umf_dump.c -o umf_zi_dump.o
-	$(C) -DZINT -c umf_extend_front.c -o umf_zi_extend_front.o
-	$(C) -DZINT -c umf_garbage_collection.c -o umf_zi_garbage_collection.o
-	$(C) -DZINT -c umf_get_memory.c -o umf_zi_get_memory.o
-	$(C) -DZINT -c umf_init_front.c -o umf_zi_init_front.o
-	$(C) -DZINT -c umf_kernel.c -o umf_zi_kernel.o
-	$(C) -DZINT -c umf_kernel_init.c -o umf_zi_kernel_init.o
-	$(C) -DZINT -c umf_kernel_wrapup.c -o umf_zi_kernel_wrapup.o
-	$(C) -DZINT -c umf_local_search.c -o umf_zi_local_search.o
-	$(C) -DZINT -c umf_lsolve.c -o umf_zi_lsolve.o
-	$(C) -DZINT -c umf_ltsolve.c -o umf_zi_ltsolve.o
-	$(C) -DZINT -c umf_mem_alloc_element.c -o umf_zi_mem_alloc_element.o
-	$(C) -DZINT -c umf_mem_alloc_head_block.c -o umf_zi_mem_alloc_head_block.o
-	$(C) -DZINT -c umf_mem_alloc_tail_block.c -o umf_zi_mem_alloc_tail_block.o
-	$(C) -DZINT -c umf_mem_free_tail_block.c -o umf_zi_mem_free_tail_block.o
-	$(C) -DZINT -c umf_mem_init_memoryspace.c -o umf_zi_mem_init_memoryspace.o
-	$(C) -DZINT -c umf_report_vector.c -o umf_zi_report_vector.o
-	$(C) -DZINT -c umf_row_search.c -o umf_zi_row_search.o
-	$(C) -DZINT -c umf_scale_column.c -o umf_zi_scale_column.o
-	$(C) -DZINT -c umf_set_stats.c -o umf_zi_set_stats.o
-	$(C) -DZINT -c umf_solve.c -o umf_zi_solve.o
-	$(C) -DZINT -c umf_symbolic_usage.c -o umf_zi_symbolic_usage.o
-	$(C) -DZINT -c umf_transpose.c -o umf_zi_transpose.o
-	$(C) -DZINT -c umf_tuple_lengths.c -o umf_zi_tuple_lengths.o
-	$(C) -DZINT -c umf_usolve.c -o umf_zi_usolve.o
-	$(C) -DZINT -c umf_utsolve.c -o umf_zi_utsolve.o
-	$(C) -DZINT -c umf_valid_numeric.c -o umf_zi_valid_numeric.o
-	$(C) -DZINT -c umf_valid_symbolic.c -o umf_zi_valid_symbolic.o
-	$(C) -DZINT -c umf_grow_front.c -o umf_zi_grow_front.o
-	$(C) -DZINT -c umf_start_front.c -o umf_zi_start_front.o
-	$(C) -DZINT -c umf_2by2.c -o umf_zi_2by2.o
-	$(C) -DZINT -c umf_store_lu.c -o umf_zi_store_lu.o
-	$(C) -DZINT -c umf_scale.c -o umf_zi_scale.o
-	$(C) -DZINT -DWSOLVE -c umfpack_solve.c -o umfpack_zi_wsolve.o
-	$(C) -DZINT -c umfpack_col_to_triplet.c -o umfpack_zi_col_to_triplet.o
-	$(C) -DZINT -c umfpack_defaults.c -o umfpack_zi_defaults.o
-	$(C) -DZINT -c umfpack_free_numeric.c -o umfpack_zi_free_numeric.o
-	$(C) -DZINT -c umfpack_free_symbolic.c -o umfpack_zi_free_symbolic.o
-	$(C) -DZINT -c umfpack_get_numeric.c -o umfpack_zi_get_numeric.o
-	$(C) -DZINT -c umfpack_get_lunz.c -o umfpack_zi_get_lunz.o
-	$(C) -DZINT -c umfpack_get_symbolic.c -o umfpack_zi_get_symbolic.o
-	$(C) -DZINT -c umfpack_get_determinant.c -o umfpack_zi_get_determinant.o
-	$(C) -DZINT -c umfpack_numeric.c -o umfpack_zi_numeric.o
-	$(C) -DZINT -c umfpack_qsymbolic.c -o umfpack_zi_qsymbolic.o
-	$(C) -DZINT -c umfpack_report_control.c -o umfpack_zi_report_control.o
-	$(C) -DZINT -c umfpack_report_info.c -o umfpack_zi_report_info.o
-	$(C) -DZINT -c umfpack_report_matrix.c -o umfpack_zi_report_matrix.o
-	$(C) -DZINT -c umfpack_report_numeric.c -o umfpack_zi_report_numeric.o
-	$(C) -DZINT -c umfpack_report_perm.c -o umfpack_zi_report_perm.o
-	$(C) -DZINT -c umfpack_report_status.c -o umfpack_zi_report_status.o
-	$(C) -DZINT -c umfpack_report_symbolic.c -o umfpack_zi_report_symbolic.o
-	$(C) -DZINT -c umfpack_report_triplet.c -o umfpack_zi_report_triplet.o
-	$(C) -DZINT -c umfpack_report_vector.c -o umfpack_zi_report_vector.o
-	$(C) -DZINT -c umfpack_solve.c -o umfpack_zi_solve.o
-	$(C) -DZINT -c umfpack_symbolic.c -o umfpack_zi_symbolic.o
-	$(C) -DZINT -c umfpack_transpose.c -o umfpack_zi_transpose.o
-	$(C) -DZINT -c umfpack_triplet_to_col.c -o umfpack_zi_triplet_to_col.o
-	$(C) -DZINT -c umfpack_scale.c -o umfpack_zi_scale.o
-	$(C) -DZINT -c umfpack_load_numeric.c -o umfpack_zi_load_numeric.o
-	$(C) -DZINT -c umfpack_save_numeric.c -o umfpack_zi_save_numeric.o
-	$(C) -DZINT -c umfpack_load_symbolic.c -o umfpack_zi_load_symbolic.o
-	$(C) -DZINT -c umfpack_save_symbolic.c -o umfpack_zi_save_symbolic.o
-	$(C) -DZLONG -DCONJUGATE_SOLVE -c umf_ltsolve.c -o umf_zl_lhsolve.o
-	$(C) -DZLONG -DCONJUGATE_SOLVE -c umf_utsolve.c -o umf_zl_uhsolve.o
-	$(C) -DZLONG -DDO_MAP -c umf_triplet.c -o umf_zl_triplet_map_nox.o
-	$(C) -DZLONG -DDO_VALUES -c umf_triplet.c -o umf_zl_triplet_nomap_x.o
-	$(C) -DZLONG -c umf_triplet.c -o umf_zl_triplet_nomap_nox.o
-	$(C) -DZLONG -DDO_MAP -DDO_VALUES -c umf_triplet.c -o umf_zl_triplet_map_x.o
-	$(C) -DZLONG -DFIXQ -c umf_assemble.c -o umf_zl_assemble_fixq.o
-	$(C) -DZLONG -DDROP -c umf_store_lu.c -o umf_zl_store_lu_drop.o
-	$(C) -DZLONG -c umf_assemble.c -o umf_zl_assemble.o
-	$(C) -DZLONG -c umf_blas3_update.c -o umf_zl_blas3_update.o
-	$(C) -DZLONG -c umf_build_tuples.c -o umf_zl_build_tuples.o
-	$(C) -DZLONG -c umf_create_element.c -o umf_zl_create_element.o
-	$(C) -DZLONG -c umf_dump.c -o umf_zl_dump.o
-	$(C) -DZLONG -c umf_extend_front.c -o umf_zl_extend_front.o
-	$(C) -DZLONG -c umf_garbage_collection.c -o umf_zl_garbage_collection.o
-	$(C) -DZLONG -c umf_get_memory.c -o umf_zl_get_memory.o
-	$(C) -DZLONG -c umf_init_front.c -o umf_zl_init_front.o
-	$(C) -DZLONG -c umf_kernel.c -o umf_zl_kernel.o
-	$(C) -DZLONG -c umf_kernel_init.c -o umf_zl_kernel_init.o
-	$(C) -DZLONG -c umf_kernel_wrapup.c -o umf_zl_kernel_wrapup.o
-	$(C) -DZLONG -c umf_local_search.c -o umf_zl_local_search.o
-	$(C) -DZLONG -c umf_lsolve.c -o umf_zl_lsolve.o
-	$(C) -DZLONG -c umf_ltsolve.c -o umf_zl_ltsolve.o
-	$(C) -DZLONG -c umf_mem_alloc_element.c -o umf_zl_mem_alloc_element.o
-	$(C) -DZLONG -c umf_mem_alloc_head_block.c -o umf_zl_mem_alloc_head_block.o
-	$(C) -DZLONG -c umf_mem_alloc_tail_block.c -o umf_zl_mem_alloc_tail_block.o
-	$(C) -DZLONG -c umf_mem_free_tail_block.c -o umf_zl_mem_free_tail_block.o
-	$(C) -DZLONG -c umf_mem_init_memoryspace.c -o umf_zl_mem_init_memoryspace.o
-	$(C) -DZLONG -c umf_report_vector.c -o umf_zl_report_vector.o
-	$(C) -DZLONG -c umf_row_search.c -o umf_zl_row_search.o
-	$(C) -DZLONG -c umf_scale_column.c -o umf_zl_scale_column.o
-	$(C) -DZLONG -c umf_set_stats.c -o umf_zl_set_stats.o
-	$(C) -DZLONG -c umf_solve.c -o umf_zl_solve.o
-	$(C) -DZLONG -c umf_symbolic_usage.c -o umf_zl_symbolic_usage.o
-	$(C) -DZLONG -c umf_transpose.c -o umf_zl_transpose.o
-	$(C) -DZLONG -c umf_tuple_lengths.c -o umf_zl_tuple_lengths.o
-	$(C) -DZLONG -c umf_usolve.c -o umf_zl_usolve.o
-	$(C) -DZLONG -c umf_utsolve.c -o umf_zl_utsolve.o
-	$(C) -DZLONG -c umf_valid_numeric.c -o umf_zl_valid_numeric.o
-	$(C) -DZLONG -c umf_valid_symbolic.c -o umf_zl_valid_symbolic.o
-	$(C) -DZLONG -c umf_grow_front.c -o umf_zl_grow_front.o
-	$(C) -DZLONG -c umf_start_front.c -o umf_zl_start_front.o
-	$(C) -DZLONG -c umf_2by2.c -o umf_zl_2by2.o
-	$(C) -DZLONG -c umf_store_lu.c -o umf_zl_store_lu.o
-	$(C) -DZLONG -c umf_scale.c -o umf_zl_scale.o
-	$(C) -DZLONG -DWSOLVE -c umfpack_solve.c -o umfpack_zl_wsolve.o
-	$(C) -DZLONG -c umfpack_col_to_triplet.c -o umfpack_zl_col_to_triplet.o
-	$(C) -DZLONG -c umfpack_defaults.c -o umfpack_zl_defaults.o
-	$(C) -DZLONG -c umfpack_free_numeric.c -o umfpack_zl_free_numeric.o
-	$(C) -DZLONG -c umfpack_free_symbolic.c -o umfpack_zl_free_symbolic.o
-	$(C) -DZLONG -c umfpack_get_numeric.c -o umfpack_zl_get_numeric.o
-	$(C) -DZLONG -c umfpack_get_lunz.c -o umfpack_zl_get_lunz.o
-	$(C) -DZLONG -c umfpack_get_symbolic.c -o umfpack_zl_get_symbolic.o
-	$(C) -DZLONG -c umfpack_get_determinant.c -o umfpack_zl_get_determinant.o
-	$(C) -DZLONG -c umfpack_numeric.c -o umfpack_zl_numeric.o
-	$(C) -DZLONG -c umfpack_qsymbolic.c -o umfpack_zl_qsymbolic.o
-	$(C) -DZLONG -c umfpack_report_control.c -o umfpack_zl_report_control.o
-	$(C) -DZLONG -c umfpack_report_info.c -o umfpack_zl_report_info.o
-	$(C) -DZLONG -c umfpack_report_matrix.c -o umfpack_zl_report_matrix.o
-	$(C) -DZLONG -c umfpack_report_numeric.c -o umfpack_zl_report_numeric.o
-	$(C) -DZLONG -c umfpack_report_perm.c -o umfpack_zl_report_perm.o
-	$(C) -DZLONG -c umfpack_report_status.c -o umfpack_zl_report_status.o
-	$(C) -DZLONG -c umfpack_report_symbolic.c -o umfpack_zl_report_symbolic.o
-	$(C) -DZLONG -c umfpack_report_triplet.c -o umfpack_zl_report_triplet.o
-	$(C) -DZLONG -c umfpack_report_vector.c -o umfpack_zl_report_vector.o
-	$(C) -DZLONG -c umfpack_solve.c -o umfpack_zl_solve.o
-	$(C) -DZLONG -c umfpack_symbolic.c -o umfpack_zl_symbolic.o
-	$(C) -DZLONG -c umfpack_transpose.c -o umfpack_zl_transpose.o
-	$(C) -DZLONG -c umfpack_triplet_to_col.c -o umfpack_zl_triplet_to_col.o
-	$(C) -DZLONG -c umfpack_scale.c -o umfpack_zl_scale.o
-	$(C) -DZLONG -c umfpack_load_numeric.c -o umfpack_zl_load_numeric.o
-	$(C) -DZLONG -c umfpack_save_numeric.c -o umfpack_zl_save_numeric.o
-	$(C) -DZLONG -c umfpack_load_symbolic.c -o umfpack_zl_load_symbolic.o
-	$(C) -DZLONG -c umfpack_save_symbolic.c -o umfpack_zl_save_symbolic.o
-	$(AR) cr ../Lib/libumfpack.a \
-	    umf_i_analyze.o umf_i_apply_order.o umf_i_colamd.o umf_i_free.o \
-	    umf_i_fsize.o umf_i_is_permutation.o umf_i_malloc.o umf_i_realloc.o \
-	    umf_i_report_perm.o umf_i_singletons.o \
-	    umf_l_analyze.o umf_l_apply_order.o umf_l_colamd.o umf_l_free.o \
-	    umf_l_fsize.o umf_l_is_permutation.o umf_l_malloc.o umf_l_realloc.o \
-	    umf_l_report_perm.o umf_l_singletons.o \
-	    umfpack_gn_timer.o umfpack_gn_tictoc.o \
-	    umf_di_lhsolve.o \
-	    umf_di_uhsolve.o umf_di_triplet_map_nox.o umf_di_triplet_nomap_x.o \
-	    umf_di_triplet_nomap_nox.o umf_di_triplet_map_x.o \
-	    umf_di_assemble_fixq.o umf_di_store_lu_drop.o umf_di_assemble.o \
-	    umf_di_blas3_update.o umf_di_build_tuples.o \
-	    umf_di_create_element.o umf_di_dump.o umf_di_extend_front.o \
-	    umf_di_garbage_collection.o umf_di_get_memory.o \
-	    umf_di_init_front.o umf_di_kernel.o umf_di_kernel_init.o \
-	    umf_di_kernel_wrapup.o umf_di_local_search.o umf_di_lsolve.o \
-	    umf_di_ltsolve.o umf_di_mem_alloc_element.o \
-	    umf_di_mem_alloc_head_block.o umf_di_mem_alloc_tail_block.o \
-	    umf_di_mem_free_tail_block.o umf_di_mem_init_memoryspace.o \
-	    umf_di_report_vector.o umf_di_row_search.o umf_di_scale_column.o \
-	    umf_di_set_stats.o umf_di_solve.o umf_di_symbolic_usage.o \
-	    umf_di_transpose.o umf_di_tuple_lengths.o umf_di_usolve.o \
-	    umf_di_utsolve.o umf_di_valid_numeric.o umf_di_valid_symbolic.o \
-	    umf_di_grow_front.o umf_di_start_front.o umf_di_2by2.o \
-	    umf_di_store_lu.o umf_di_scale.o umfpack_di_wsolve.o \
-	    umfpack_di_col_to_triplet.o umfpack_di_defaults.o \
-	    umfpack_di_free_numeric.o umfpack_di_free_symbolic.o \
-	    umfpack_di_get_numeric.o umfpack_di_get_lunz.o \
-	    umfpack_di_get_symbolic.o umfpack_di_get_determinant.o \
-	    umfpack_di_numeric.o \
-	    umfpack_di_qsymbolic.o umfpack_di_report_control.o \
-	    umfpack_di_report_info.o umfpack_di_report_matrix.o \
-	    umfpack_di_report_numeric.o umfpack_di_report_perm.o \
-	    umfpack_di_report_status.o umfpack_di_report_symbolic.o \
-	    umfpack_di_report_triplet.o umfpack_di_report_vector.o \
-	    umfpack_di_solve.o umfpack_di_symbolic.o umfpack_di_transpose.o \
-	    umfpack_di_triplet_to_col.o umfpack_di_scale.o \
-	    umfpack_di_load_numeric.o umfpack_di_save_numeric.o \
-	    umfpack_di_load_symbolic.o umfpack_di_save_symbolic.o \
-	    umf_dl_lhsolve.o \
-	    umf_dl_uhsolve.o umf_dl_triplet_map_nox.o umf_dl_triplet_nomap_x.o \
-	    umf_dl_triplet_nomap_nox.o umf_dl_triplet_map_x.o \
-	    umf_dl_assemble_fixq.o umf_dl_store_lu_drop.o umf_dl_assemble.o \
-	    umf_dl_blas3_update.o umf_dl_build_tuples.o \
-	    umf_dl_create_element.o umf_dl_dump.o umf_dl_extend_front.o \
-	    umf_dl_garbage_collection.o umf_dl_get_memory.o \
-	    umf_dl_init_front.o umf_dl_kernel.o umf_dl_kernel_init.o \
-	    umf_dl_kernel_wrapup.o umf_dl_local_search.o umf_dl_lsolve.o \
-	    umf_dl_ltsolve.o umf_dl_mem_alloc_element.o \
-	    umf_dl_mem_alloc_head_block.o umf_dl_mem_alloc_tail_block.o \
-	    umf_dl_mem_free_tail_block.o umf_dl_mem_init_memoryspace.o \
-	    umf_dl_report_vector.o umf_dl_row_search.o umf_dl_scale_column.o \
-	    umf_dl_set_stats.o umf_dl_solve.o umf_dl_symbolic_usage.o \
-	    umf_dl_transpose.o umf_dl_tuple_lengths.o umf_dl_usolve.o \
-	    umf_dl_utsolve.o umf_dl_valid_numeric.o umf_dl_valid_symbolic.o \
-	    umf_dl_grow_front.o umf_dl_start_front.o umf_dl_2by2.o \
-	    umf_dl_store_lu.o umf_dl_scale.o umfpack_dl_wsolve.o \
-	    umfpack_dl_col_to_triplet.o umfpack_dl_defaults.o \
-	    umfpack_dl_free_numeric.o umfpack_dl_free_symbolic.o \
-	    umfpack_dl_get_numeric.o umfpack_dl_get_lunz.o \
-	    umfpack_dl_get_symbolic.o umfpack_dl_get_determinant.o \
-	    umfpack_dl_numeric.o \
-	    umfpack_dl_qsymbolic.o umfpack_dl_report_control.o \
-	    umfpack_dl_report_info.o umfpack_dl_report_matrix.o \
-	    umfpack_dl_report_numeric.o umfpack_dl_report_perm.o \
-	    umfpack_dl_report_status.o umfpack_dl_report_symbolic.o \
-	    umfpack_dl_report_triplet.o umfpack_dl_report_vector.o \
-	    umfpack_dl_solve.o umfpack_dl_symbolic.o umfpack_dl_transpose.o \
-	    umfpack_dl_triplet_to_col.o umfpack_dl_scale.o \
-	    umfpack_dl_load_numeric.o umfpack_dl_save_numeric.o \
-	    umfpack_dl_load_symbolic.o umfpack_dl_save_symbolic.o \
-	    umf_zi_lhsolve.o \
-	    umf_zi_uhsolve.o umf_zi_triplet_map_nox.o umf_zi_triplet_nomap_x.o \
-	    umf_zi_triplet_nomap_nox.o umf_zi_triplet_map_x.o \
-	    umf_zi_assemble_fixq.o umf_zi_store_lu_drop.o umf_zi_assemble.o \
-	    umf_zi_blas3_update.o umf_zi_build_tuples.o \
-	    umf_zi_create_element.o umf_zi_dump.o umf_zi_extend_front.o \
-	    umf_zi_garbage_collection.o umf_zi_get_memory.o \
-	    umf_zi_init_front.o umf_zi_kernel.o umf_zi_kernel_init.o \
-	    umf_zi_kernel_wrapup.o umf_zi_local_search.o umf_zi_lsolve.o \
-	    umf_zi_ltsolve.o umf_zi_mem_alloc_element.o \
-	    umf_zi_mem_alloc_head_block.o umf_zi_mem_alloc_tail_block.o \
-	    umf_zi_mem_free_tail_block.o umf_zi_mem_init_memoryspace.o \
-	    umf_zi_report_vector.o umf_zi_row_search.o umf_zi_scale_column.o \
-	    umf_zi_set_stats.o umf_zi_solve.o umf_zi_symbolic_usage.o \
-	    umf_zi_transpose.o umf_zi_tuple_lengths.o umf_zi_usolve.o \
-	    umf_zi_utsolve.o umf_zi_valid_numeric.o umf_zi_valid_symbolic.o \
-	    umf_zi_grow_front.o umf_zi_start_front.o umf_zi_2by2.o \
-	    umf_zi_store_lu.o umf_zi_scale.o umfpack_zi_wsolve.o \
-	    umfpack_zi_col_to_triplet.o umfpack_zi_defaults.o \
-	    umfpack_zi_free_numeric.o umfpack_zi_free_symbolic.o \
-	    umfpack_zi_get_numeric.o umfpack_zi_get_lunz.o \
-	    umfpack_zi_get_symbolic.o umfpack_zi_get_determinant.o \
-	    umfpack_zi_numeric.o \
-	    umfpack_zi_qsymbolic.o umfpack_zi_report_control.o \
-	    umfpack_zi_report_info.o umfpack_zi_report_matrix.o \
-	    umfpack_zi_report_numeric.o umfpack_zi_report_perm.o \
-	    umfpack_zi_report_status.o umfpack_zi_report_symbolic.o \
-	    umfpack_zi_report_triplet.o umfpack_zi_report_vector.o \
-	    umfpack_zi_solve.o umfpack_zi_symbolic.o umfpack_zi_transpose.o \
-	    umfpack_zi_triplet_to_col.o umfpack_zi_scale.o \
-	    umfpack_zi_load_numeric.o umfpack_zi_save_numeric.o \
-	    umfpack_zi_load_symbolic.o umfpack_zi_save_symbolic.o \
-	    umf_zl_lhsolve.o \
-	    umf_zl_uhsolve.o umf_zl_triplet_map_nox.o umf_zl_triplet_nomap_x.o \
-	    umf_zl_triplet_nomap_nox.o umf_zl_triplet_map_x.o \
-	    umf_zl_assemble_fixq.o umf_zl_store_lu_drop.o umf_zl_assemble.o \
-	    umf_zl_blas3_update.o umf_zl_build_tuples.o \
-	    umf_zl_create_element.o umf_zl_dump.o umf_zl_extend_front.o \
-	    umf_zl_garbage_collection.o umf_zl_get_memory.o \
-	    umf_zl_init_front.o umf_zl_kernel.o umf_zl_kernel_init.o \
-	    umf_zl_kernel_wrapup.o umf_zl_local_search.o umf_zl_lsolve.o \
-	    umf_zl_ltsolve.o umf_zl_mem_alloc_element.o \
-	    umf_zl_mem_alloc_head_block.o umf_zl_mem_alloc_tail_block.o \
-	    umf_zl_mem_free_tail_block.o umf_zl_mem_init_memoryspace.o \
-	    umf_zl_report_vector.o umf_zl_row_search.o umf_zl_scale_column.o \
-	    umf_zl_set_stats.o umf_zl_solve.o umf_zl_symbolic_usage.o \
-	    umf_zl_transpose.o umf_zl_tuple_lengths.o umf_zl_usolve.o \
-	    umf_zl_utsolve.o umf_zl_valid_numeric.o umf_zl_valid_symbolic.o \
-	    umf_zl_grow_front.o umf_zl_start_front.o umf_zl_2by2.o \
-	    umf_zl_store_lu.o umf_zl_scale.o umfpack_zl_wsolve.o \
-	    umfpack_zl_col_to_triplet.o umfpack_zl_defaults.o \
-	    umfpack_zl_free_numeric.o umfpack_zl_free_symbolic.o \
-	    umfpack_zl_get_numeric.o umfpack_zl_get_lunz.o \
-	    umfpack_zl_get_symbolic.o umfpack_zl_get_determinant.o \
-	    umfpack_zl_numeric.o \
-	    umfpack_zl_qsymbolic.o umfpack_zl_report_control.o \
-	    umfpack_zl_report_info.o umfpack_zl_report_matrix.o \
-	    umfpack_zl_report_numeric.o umfpack_zl_report_perm.o \
-	    umfpack_zl_report_status.o umfpack_zl_report_symbolic.o \
-	    umfpack_zl_report_triplet.o umfpack_zl_report_vector.o \
-	    umfpack_zl_solve.o umfpack_zl_symbolic.o umfpack_zl_transpose.o \
-	    umfpack_zl_triplet_to_col.o umfpack_zl_scale.o \
-	    umfpack_zl_load_numeric.o umfpack_zl_save_numeric.o \
-	    umfpack_zl_load_symbolic.o umfpack_zl_save_symbolic.o
-	- $(RANLIB) ../Lib/libumfpack.a
-
-#-------------------------------------------------------------------------------
-# Remove all but the files in the original distribution
-#-------------------------------------------------------------------------------
-
-purge: clean
-	- $(RM) ../Lib/libumfpack.a
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_2by2.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,859 +0,0 @@
-/* ========================================================================== */
-/* === UMF_2by2 ============================================================= */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*  Not user-callable.  Computes a row permutation P so that A (P,:) has a
- *  mostly zero-free diagonal, with large entries on the diagonal.  It does this
- *  by swapping pairs of rows.  Once a row is swapped it is not swapped again.
- *  This is a "cheap" assignment, not a complete max. transversal or
- *  bi-partite matching.  It is only a partial matching.  For most matrices
- *  for which this algorithm is used, however, the matching is complete (in
- *  UMFPACK this algorithm is used for matrices with roughly symmetric pattern,
- *  and these matrices typically have a mostly-zero-free diagonal to begin with.
- *  This algorithm is not meant to be used on arbitrary unsymmetric matrices
- *  (for those matrices, UMFPACK uses its unsymmetric strategy and does not
- *  use this algorithm).
- *
- *  Even if incomplete, the matching is usually good enough for UMFPACK's
- *  symmetric strategy, which can easily pivot off the diagonal during numerical
- *  factorization if it finds a weak diagonal entry.
- *
- *  The algorithms works as follows.  First, row scaling factors are computed,
- *  and weak diagonal entries are found.  A weak entry is a value A(k,k) whose
- *  absolute value is < tol * max (abs (A (:,k))).  For each weak diagonal k in
- *  increasing order of degree in A+A', the algorithm finds an index j such
- *  that A (k,j) and A (j,k) are "large" (greater than or equal to tol times
- *  the largest magnitude in their columns).  Row j must also not have already
- *  been swapped.  Rows j and k are then swapped.  If we come to a diagonal k
- *  that has already been swapped, then it is not modified.  This case occurs
- *  for "oxo" pivots:
- *
- *    k j
- *  k o x
- *  j x o
- *
- *  which are swapped once to obtain
- *
- *    k j
- *  j x o
- *  k o x
- *
- *  These two rows are then not modified any further (A (j,j) was weak, but
- *  after one swap the permuted the jth diagonal entry is strong.
- *
- *  This algorithm only works on square matrices (real, complex, or pattern-
- *  only).  The numerical values are optional.  If not present, each entry is
- *  treated as numerically acceptable (tol is ignored), and the algorithm
- *  operates by just using the pattern, not the values.  Each column of the
- *  input matrix A must be sorted, with no duplicate entries.  The matrix A
- *  can be optionally scaled prior to the numerical test.  The matrix A (:,P)
- *  has the same diagonal entries as A (:,P), except in different order.  So
- *  the output permutation P can also be used to swap the columns of A.
- */
-
-#include "umf_internal.h"
-
-#ifndef NDEBUG
-#include "umf_is_permutation.h"
-#endif
-
-/* x is "weak" if it is less than ctol.  If x or ctol are NaN, then define
- * x as not "weak".  This is a rather arbitrary choice, made to simplify the
- * computation.  On all but a PC with Microsoft C/C++, this test becomes
- * ((x) - ctol < 0). */
-#define WEAK(x,ctol) (SCALAR_IS_LTZERO ((x)-(ctol)))
-
-/* For flag value in Next [col] */
-#define IS_WEAK -2
-
-/* ========================================================================== */
-/* === two_by_two =========================================================== */
-/* ========================================================================== */
-
-PRIVATE Int two_by_two	    /* returns # unmatched weak diagonals */
-(
-    /* input, not modified */
-    Int n2,		/* C is n2-by-n2 */
-    Int Cp [ ],		/* size n2+1, column pointers for C */
-    Int Ci [ ],		/* size snz = Cp [n2], row indices for C */
-    Int Degree [ ],	/* Degree [i] = degree of row i of C+C' */
-
-    /* input, not defined on output */
-    Int Next [ ],	/* Next [k] == IS_WEAK if k is a weak diagonal */
-    Int Ri [ ],		/* Ri [i] is the length of row i in C */
-
-    /* output, not defined on input */
-    Int P [ ],
-
-    /* workspace, not defined on input or output */
-    Int Rp [ ],
-    Int Head [ ]
-)
-{
-    Int deg, newcol, row, col, p, p2, unmatched, k, j, j2, j_best, best, jdiff,
-	jdiff_best, jdeg, jdeg_best, cp, cp1, cp2, rp, rp1, rp2, maxdeg,
-	mindeg ;
-
-    /* ---------------------------------------------------------------------- */
-    /* place weak diagonals in the degree lists */
-    /* ---------------------------------------------------------------------- */
-
-    for (deg = 0 ; deg < n2 ; deg++)
-    {
-	Head [deg] = EMPTY ;
-    }
-
-    maxdeg = 0 ;
-    mindeg = Int_MAX ;
-    for (newcol = n2-1 ; newcol >= 0 ; newcol--)
-    {
-	if (Next [newcol] == IS_WEAK)
-	{
-	    /* add this column to the list of weak nodes */
-	    DEBUGm1 (("    newcol "ID" has a weak diagonal deg "ID"\n",
-		newcol, deg)) ;
-	    deg = Degree [newcol] ;
-	    ASSERT (deg >= 0 && deg < n2) ;
-	    Next [newcol] = Head [deg] ;
-	    Head [deg] = newcol ;
-	    maxdeg = MAX (maxdeg, deg) ;
-	    mindeg = MIN (mindeg, deg) ;
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* construct R = C' (C = strong entries in pruned submatrix) */
-    /* ---------------------------------------------------------------------- */
-
-    /* Ri [0..n2-1] is the length of each row of R */
-    /* use P as temporary pointer into the row form of R [ */
-    Rp [0] = 0 ;
-    for (row = 0 ; row < n2 ; row++)
-    {
-	Rp [row+1] = Rp [row] + Ri [row] ;
-	P [row] = Rp [row] ;
-    }
-    /* Ri no longer needed for row counts */
-
-    /* all entries in C are strong */
-    for (col = 0 ; col < n2 ; col++)
-    {
-	p2 = Cp [col+1] ;
-	for (p = Cp [col] ; p < p2 ; p++)
-	{
-	    /* place the column index in row = Ci [p] */
-	    Ri [P [Ci [p]]++] = col ;
-	}
-    }
-
-    /* contents of P no longer needed ] */
-
-#ifndef NDEBUG
-    DEBUG0 (("==================R: row form of strong entries in A:\n")) ;
-    UMF_dump_col_matrix ((double *) NULL,
-#ifdef COMPLEX
-	    (double *) NULL,
-#endif
-	    Ri, Rp, n2, n2, Rp [n2]) ;
-#endif
-    ASSERT (AMD_valid (n2, n2, Rp, Ri)) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* for each weak diagonal, find a pair of strong off-diagonal entries */
-    /* ---------------------------------------------------------------------- */
-
-    for (row = 0 ; row < n2 ; row++)
-    {
-	P [row] = EMPTY ;
-    }
-
-    unmatched = 0 ;
-    best = EMPTY ;
-    jdiff = EMPTY ;
-    jdeg = EMPTY ;
-
-    for (deg = mindeg ; deg <= maxdeg ; deg++)
-    {
-	/* find the next weak diagonal of lowest degree */
-	DEBUGm2 (("---------------------------------- Deg: "ID"\n", deg)) ;
-	for (k = Head [deg] ; k != EMPTY ; k = Next [k])
-	{
-	    DEBUGm2 (("k: "ID"\n", k)) ;
-	    if (P [k] == EMPTY)
-	    {
-		/* C (k,k) is a weak diagonal entry.  Find an index j != k such
-		 * that C (j,k) and C (k,j) are both strong, and also such
-		 * that Degree [j] is minimized.  In case of a tie, pick
-		 * the smallest index j.  C and R contain the pattern of
-		 * strong entries only.
-		 *
-		 * Note that row k of R and column k of C are both sorted. */
-
-		DEBUGm4 (("===== Weak diagonal k = "ID"\n", k)) ;
-		DEBUG1 (("Column k of C:\n")) ;
-		for (p = Cp [k] ; p < Cp [k+1] ; p++)
-		{
-		    DEBUG1 (("    "ID": deg "ID"\n", Ci [p], Degree [Ci [p]]));
-		}
-		DEBUG1 (("Row k of R (strong entries only):\n")) ;
-		for (p = Rp [k] ; p < Rp [k+1] ; p++)
-		{
-		    DEBUG1 (("    "ID": deg "ID"\n", Ri [p], Degree [Ri [p]]));
-		}
-
-		/* no (C (k,j), C (j,k)) pair exists yet */
-		j_best = EMPTY ;
-		jdiff_best = Int_MAX ;
-		jdeg_best = Int_MAX ;
-
-		/* pointers into column k (including values) */
-		cp1 = Cp [k] ;
-		cp2 = Cp [k+1] ;
-		cp = cp1 ;
-
-		/* pointers into row k (strong entries only, no values) */
-		rp1 = Rp [k] ;
-		rp2 = Rp [k+1] ;
-		rp = rp1 ;
-
-		/* while entries searched in column k and row k */
-		while (TRUE)
-		{
-
-		    if (cp >= cp2)
-		    {
-			/* no more entries in this column */
-			break ;
-		    }
-
-		    /* get C (j,k), which is strong */
-		    j = Ci [cp] ;
-
-		    if (rp >= rp2)
-		    {
-			/* no more entries in this column */
-			break ;
-		    }
-
-		    /* get R (k,j2), which is strong */
-		    j2 = Ri [rp] ;
-
-		    if (j < j2)
-		    {
-			/* C (j,k) is strong, but R (k,j) is not strong */
-			cp++ ;
-			continue ;
-		    }
-
-		    if (j2 < j)
-		    {
-			/* C (k,j2) is strong, but R (j2,k) is not strong */
-			rp++ ;
-			continue ;
-		    }
-
-		    /* j == j2: C (j,k) is strong and R (k,j) is strong */
-
-		    best = FALSE ;
-
-		    if (P [j] == EMPTY)
-		    {
-			/* j has not yet been matched */
-			jdeg = Degree [j] ;
-			jdiff = SCALAR_ABS (k-j) ;
-
-			DEBUG1 (("Try candidate j "ID" deg "ID" diff "ID
-				    "\n", j, jdeg, jdiff)) ;
-
-			if (j_best == EMPTY)
-			{
-			    /* this is the first candidate seen */
-			    DEBUG1 (("   first\n")) ;
-			    best = TRUE ;
-			}
-			else
-			{
-			    if (jdeg < jdeg_best)
-			    {
-				/* the degree of j is best seen so far. */
-				DEBUG1 (("   least degree\n")) ;
-				best = TRUE ;
-			    }
-			    else if (jdeg == jdeg_best)
-			    {
-				/* degree of j and j_best are the same */
-				/* tie break by nearest node number */
-				if (jdiff < jdiff_best)
-				{
-				    DEBUG1 (("   tie degree, closer\n")) ;
-				    best = TRUE ;
-				}
-				else if (jdiff == jdiff_best)
-				{
-				    /* |j-k| = |j_best-k|.  For any given k
-				     * and j_best there is only one other j
-				     * than can be just as close as j_best.
-				     * Tie break by picking the smaller of
-				     * j and j_best */
-				    DEBUG1 (("   tie degree, as close\n"));
-				    best = j < j_best ;
-				}
-			    }
-			    else
-			    {
-				/* j has higher degree than best so far */
-				best = FALSE ;
-			    }
-			}
-		    }
-
-		    if (best)
-		    {
-			/* j is best match for k */
-			/* found a strong pair, A (j,k) and A (k,j) */
-			DEBUG1 ((" --- Found pair k: "ID" j: " ID
-			    " jdeg: "ID" jdiff: "ID"\n",
-			    k, j, jdeg, jdiff)) ;
-			ASSERT (jdiff != EMPTY) ;
-			ASSERT (jdeg != EMPTY) ;
-			j_best = j ;
-			jdeg_best = jdeg ;
-			jdiff_best = jdiff ;
-		    }
-
-		    /* get the next entries in column k and row k */
-		    cp++ ;
-		    rp++ ;
-		}
-
-		/* save the pair (j,k), if we found one */
-		if (j_best != EMPTY)
-		{
-		    j = j_best ;
-		    DEBUGm4 ((" --- best pair j: "ID" for k: "ID"\n", j, k)) ;
-		    P [k] = j ;
-		    P [j] = k ;
-		}
-		else
-		{
-		    /* no match was found for k */
-		    unmatched++ ;
-		}
-	    }
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* finalize the row permutation, P */
-    /* ---------------------------------------------------------------------- */
-
-    for (k = 0 ; k < n2 ; k++)
-    {
-	if (P [k] == EMPTY)
-	{
-	    P [k] = k ;
-	}
-    }
-    ASSERT (UMF_is_permutation (P, Rp, n2, n2)) ;
-
-    return (unmatched) ;
-}
-
-
-/* ========================================================================== */
-/* === UMF_2by2 ============================================================= */
-/* ========================================================================== */
-
-GLOBAL void UMF_2by2
-(
-    /* input, not modified: */
-    Int n,		    /* A is n-by-n */
-    const Int Ap [ ],	    /* size n+1 */
-    const Int Ai [ ],	    /* size nz = Ap [n] */
-    const double Ax [ ],    /* size nz if present */
-#ifdef COMPLEX
-    const double Az [ ],    /* size nz if present */
-#endif
-    double tol,		/* tolerance for determining whether or not an
-			 * entry is numerically acceptable.  If tol <= 0
-			 * then all numerical values ignored. */
-    Int scale,		/* scaling to perform (none, sum, or max) */
-    Int Cperm1 [ ],	/* singleton permutations */
-#ifndef NDEBUG
-    Int Rperm1 [ ],	/* not needed, since Rperm1 = Cperm1 for submatrix S */
-#endif
-    Int InvRperm1 [ ],	/* inverse of Rperm1 */
-    Int n1,		/* number of singletons */
-    Int nempty,		/* number of empty rows/cols */
-
-    /* input, contents undefined on output: */
-    Int Degree [ ],	/* Degree [j] is the number of off-diagonal
-			 * entries in row/column j of S+S', where
-			 * where S = A (Cperm1 [n1..], Rperm1 [n1..]).
-			 * Note that S is not used, nor formed. */
-
-    /* output: */
-    Int P [ ],		/* P [k] = i means original row i is kth row in S(P,:)
-			 * where S = A (Cperm1 [n1..], Rperm1 [n1..]) */
-    Int *p_nweak,
-    Int *p_unmatched,
-
-    /* workspace (not defined on input or output): */
-    Int Ri [ ],		/* of size >= max (nz, n) */
-    Int Rp [ ],		/* of size n+1 */
-    double Rs [ ],	/* of size n if present.  Rs = sum (abs (A),2) or
-			 * max (abs (A),2), the sum or max of each row.  Unused
-			 * if scale is equal to UMFPACK_SCALE_NONE. */
-    Int Head [ ],	/* of size n.  Head pointers for bucket sort */
-    Int Next [ ],	/* of size n.  Next pointers for bucket sort */
-    Int Ci [ ],		/* size nz */
-    Int Cp [ ]		/* size n+1 */
-)
-{
-
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    Entry aij ;
-    double cmax, value, rs, ctol, dvalue ;
-    Int k, p, row, col, do_values, do_sum, do_max, do_scale, nweak, weak,
-	p1, p2, dfound, unmatched, n2, oldrow, newrow, oldcol, newcol, pp ;
-#ifdef COMPLEX
-    Int split = SPLIT (Az) ;
-#endif
-#ifndef NRECIPROCAL
-    Int do_recip = FALSE ;
-#endif
-
-#ifndef NDEBUG
-    /* UMF_debug += 99 ; */
-    DEBUGm3 (("\n ==================================UMF_2by2: tol %g\n", tol)) ;
-    ASSERT (AMD_valid (n, n, Ap, Ai)) ;
-    for (k = n1 ; k < n - nempty ; k++)
-    {
-	ASSERT (Cperm1 [k] == Rperm1 [k]) ;
-    }
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* determine scaling options */
-    /* ---------------------------------------------------------------------- */
-
-    /* use the values, but only if they are present */
-    /* ignore the values if tol <= 0 */
-    do_values = (tol > 0) && (Ax != (double *) NULL) ;
-    if (do_values && (Rs != (double *) NULL))
-    {
-	do_sum = (scale == UMFPACK_SCALE_SUM) ;
-	do_max = (scale == UMFPACK_SCALE_MAX) ;
-    }
-    else
-    {
-	/* no scaling */
-	do_sum = FALSE ;
-	do_max = FALSE ;
-    }
-    do_scale = do_max || do_sum ;
-    DEBUGm3 (("do_values "ID" do_sum "ID" do_max "ID" do_scale "ID"\n",
-	do_values, do_sum, do_max, do_scale)) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* compute the row scaling, if requested */
-    /* ---------------------------------------------------------------------- */
-
-    /* see also umf_kernel_init */
-
-    if (do_scale)
-    {
-#ifndef NRECIPROCAL
-	double rsmin ;
-#endif
-	for (row = 0 ; row < n ; row++)
-	{
-	    Rs [row] = 0.0 ;
-	}
-	for (col = 0 ; col < n ; col++)
-	{
-	    p2 = Ap [col+1] ;
-	    for (p = Ap [col] ; p < p2 ; p++)
-	    {
-		row = Ai [p] ;
-		ASSIGN (aij, Ax, Az, p, split) ;
-		APPROX_ABS (value, aij) ;
-		rs = Rs [row] ;
-		if (!SCALAR_IS_NAN (rs))
-		{
-		    if (SCALAR_IS_NAN (value))
-		    {
-			/* if any entry in a row is NaN, then the scale factor
-			 * for the row is NaN.  It will be set to 1 later. */
-			Rs [row] = value ;
-		    }
-		    else if (do_max)
-		    {
-			Rs [row] = MAX (rs, value) ;
-		    }
-		    else
-		    {
-			Rs [row] += value ;
-		    }
-		}
-	    }
-	}
-#ifndef NRECIPROCAL
-	rsmin = Rs [0] ;
-	if (SCALAR_IS_ZERO (rsmin) || SCALAR_IS_NAN (rsmin))
-	{
-	    rsmin = 1.0 ;
-	}
-#endif
-	for (row = 0 ; row < n ; row++)
-	{
-	    /* do not scale an empty row, or a row with a NaN */
-	    rs = Rs [row] ;
-	    if (SCALAR_IS_ZERO (rs) || SCALAR_IS_NAN (rs))
-	    {
-		Rs [row] = 1.0 ;
-	    }
-#ifndef NRECIPROCAL
-	    rsmin = MIN (rsmin, Rs [row]) ;
-#endif
-	}
-
-#ifndef NRECIPROCAL
-	/* multiply by the reciprocal if Rs is not too small */
-	do_recip = (rsmin >= RECIPROCAL_TOLERANCE) ;
-	if (do_recip)
-	{
-	    /* invert the scale factors */
-	    for (row = 0 ; row < n ; row++)
-	    {
-		Rs [row] = 1.0 / Rs [row] ;
-	    }
-	}
-#endif
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* compute the max in each column and find diagonal */
-    /* ---------------------------------------------------------------------- */
-
-    nweak = 0 ;
-
-#ifndef NDEBUG
-    for (k = 0 ; k < n ; k++)
-    {
-	ASSERT (Rperm1 [k] >= 0 && Rperm1 [k] < n) ;
-	ASSERT (InvRperm1 [Rperm1 [k]] == k) ;
-    }
-#endif
-
-    n2 = n - n1 - nempty ;
-
-    /* use Ri to count the number of strong entries in each row */
-    for (row = 0 ; row < n2 ; row++)
-    {
-	Ri [row] = 0 ;
-    }
-
-    pp = 0 ;
-    ctol = 0 ;
-    dvalue = 1 ;
-
-    /* construct C = pruned submatrix, strong values only, column form */
-
-    for (k = n1 ; k < n - nempty ; k++)
-    {
-	oldcol = Cperm1 [k] ;
-	newcol = k - n1 ;
-	Next [newcol] = EMPTY ;
-	DEBUGm1 (("Column "ID" newcol "ID" oldcol "ID"\n", k, newcol, oldcol)) ;
-
-	Cp [newcol] = pp ;
-
-	dfound = FALSE ;
-	p1 = Ap [oldcol] ;
-	p2 = Ap [oldcol+1] ;
-	if (do_values)
-	{
-	    cmax = 0 ;
-	    dvalue = 0 ;
-
-	    if (!do_scale)
-	    {
-		/* no scaling */
-		for (p = p1 ; p < p2 ; p++)
-		{
-		    oldrow = Ai [p] ;
-		    ASSERT (oldrow >= 0 && oldrow < n) ;
-		    newrow = InvRperm1 [oldrow] - n1 ;
-		    ASSERT (newrow >= -n1 && newrow < n2) ;
-		    if (newrow < 0) continue ;
-		    ASSIGN (aij, Ax, Az, p, split) ;
-		    APPROX_ABS (value, aij) ;
-		    /* if either cmax or value is NaN, define cmax as NaN */
-		    if (!SCALAR_IS_NAN (cmax))
-		    {
-			if (SCALAR_IS_NAN (value))
-			{
-			    cmax = value ;
-			}
-			else
-			{
-			    cmax = MAX (cmax, value) ;
-			}
-		    }
-		    if (oldrow == oldcol)
-		    {
-			/* we found the diagonal entry in this column */
-			dvalue = value ;
-			dfound = TRUE ;
-			ASSERT (newrow == newcol) ;
-		    }
-		}
-	    }
-#ifndef NRECIPROCAL
-	    else if (do_recip)
-	    {
-		/* multiply by the reciprocal */
-		for (p = p1 ; p < p2 ; p++)
-		{
-		    oldrow = Ai [p] ;
-		    ASSERT (oldrow >= 0 && oldrow < n) ;
-		    newrow = InvRperm1 [oldrow] - n1 ;
-		    ASSERT (newrow >= -n1 && newrow < n2) ;
-		    if (newrow < 0) continue ;
-		    ASSIGN (aij, Ax, Az, p, split) ;
-		    APPROX_ABS (value, aij) ;
-		    value *= Rs [oldrow] ;
-		    /* if either cmax or value is NaN, define cmax as NaN */
-		    if (!SCALAR_IS_NAN (cmax))
-		    {
-			if (SCALAR_IS_NAN (value))
-			{
-			    cmax = value ;
-			}
-			else
-			{
-			    cmax = MAX (cmax, value) ;
-			}
-		    }
-		    if (oldrow == oldcol)
-		    {
-			/* we found the diagonal entry in this column */
-			dvalue = value ;
-			dfound = TRUE ;
-			ASSERT (newrow == newcol) ;
-		    }
-		}
-	    }
-#endif
-	    else
-	    {
-		/* divide instead */
-		for (p = p1 ; p < p2 ; p++)
-		{
-		    oldrow = Ai [p] ;
-		    ASSERT (oldrow >= 0 && oldrow < n) ;
-		    newrow = InvRperm1 [oldrow] - n1 ;
-		    ASSERT (newrow >= -n1 && newrow < n2) ;
-		    if (newrow < 0) continue ;
-		    ASSIGN (aij, Ax, Az, p, split) ;
-		    APPROX_ABS (value, aij) ;
-		    value /= Rs [oldrow] ;
-		    /* if either cmax or value is NaN, define cmax as NaN */
-		    if (!SCALAR_IS_NAN (cmax))
-		    {
-			if (SCALAR_IS_NAN (value))
-			{
-			    cmax = value ;
-			}
-			else
-			{
-			    cmax = MAX (cmax, value) ;
-			}
-		    }
-		    if (oldrow == oldcol)
-		    {
-			/* we found the diagonal entry in this column */
-			dvalue = value ;
-			dfound = TRUE ;
-			ASSERT (newrow == newcol) ;
-		    }
-		}
-	    }
-
-	    ctol = tol * cmax ;
-	    DEBUGm1 (("    cmax col "ID" %g  ctol %g\n", oldcol, cmax, ctol)) ;
-	}
-	else
-	{
-	    for (p = p1 ; p < p2 ; p++)
-	    {
-		oldrow = Ai [p] ;
-		ASSERT (oldrow >= 0 && oldrow < n) ;
-		newrow = InvRperm1 [oldrow] - n1 ;
-		ASSERT (newrow >= -n1 && newrow < n2) ;
-		if (newrow < 0) continue ;
-		Ci [pp++] = newrow ;
-		if (oldrow == oldcol)
-		{
-		    /* we found the diagonal entry in this column */
-		    ASSERT (newrow == newcol) ;
-		    dfound = TRUE ;
-		}
-		/* count the entries in each column */
-		Ri [newrow]++ ;
-	    }
-	}
-
-	/* ------------------------------------------------------------------ */
-	/* flag the weak diagonals */
-	/* ------------------------------------------------------------------ */
-
-	if (!dfound)
-	{
-	    /* no diagonal entry present */
-	    weak = TRUE ;
-	}
-	else
-	{
-	    /* diagonal entry is present, check its value */
-	    weak = (do_values) ?  WEAK (dvalue, ctol) : FALSE ;
-	}
-	if (weak)
-	{
-	    /* flag this column as weak */
-	    DEBUG0 (("Weak!\n")) ;
-	    Next [newcol] = IS_WEAK ;
-	    nweak++ ;
-	}
-
-	/* ------------------------------------------------------------------ */
-	/* count entries in each row that are not numerically weak */
-	/* ------------------------------------------------------------------ */
-
-	if (do_values)
-	{
-	    if (!do_scale)
-	    {
-		/* no scaling */
-		for (p = p1 ; p < p2 ; p++)
-		{
-		    oldrow = Ai [p] ;
-		    newrow = InvRperm1 [oldrow] - n1 ;
-		    if (newrow < 0) continue ;
-		    ASSIGN (aij, Ax, Az, p, split) ;
-		    APPROX_ABS (value, aij) ;
-		    weak = WEAK (value, ctol) ;
-		    if (!weak)
-		    {
-			DEBUG0 (("    strong: row "ID": %g\n", oldrow, value)) ;
-			Ci [pp++] = newrow ;
-			Ri [newrow]++ ;
-		    }
-		}
-	    }
-#ifndef NRECIPROCAL
-	    else if (do_recip)
-	    {
-		/* multiply by the reciprocal */
-		for (p = p1 ; p < p2 ; p++)
-		{
-		    oldrow = Ai [p] ;
-		    newrow = InvRperm1 [oldrow] - n1 ;
-		    if (newrow < 0) continue ;
-		    ASSIGN (aij, Ax, Az, p, split) ;
-		    APPROX_ABS (value, aij) ;
-		    value *= Rs [oldrow] ;
-		    weak = WEAK (value, ctol) ;
-		    if (!weak)
-		    {
-			DEBUG0 (("    strong: row "ID": %g\n", oldrow, value)) ;
-			Ci [pp++] = newrow ;
-			Ri [newrow]++ ;
-		    }
-		}
-	    }
-#endif
-	    else
-	    {
-		/* divide instead */
-		for (p = p1 ; p < p2 ; p++)
-		{
-		    oldrow = Ai [p] ;
-		    newrow = InvRperm1 [oldrow] - n1 ;
-		    if (newrow < 0) continue ;
-		    ASSIGN (aij, Ax, Az, p, split) ;
-		    APPROX_ABS (value, aij) ;
-		    value /= Rs [oldrow] ;
-		    weak = WEAK (value, ctol) ;
-		    if (!weak)
-		    {
-			DEBUG0 (("    strong: row "ID": %g\n", oldrow, value)) ;
-			Ci [pp++] = newrow ;
-			Ri [newrow]++ ;
-		    }
-		}
-	    }
-	}
-    }
-    Cp [n2] = pp ;
-    ASSERT (AMD_valid (n2, n2, Cp, Ci)) ;
-
-    if (nweak == 0)
-    {
-	/* nothing to do, quick return */
-	DEBUGm2 (("\n =============================UMF_2by2: quick return\n")) ;
-	for (k = 0 ; k < n ; k++)
-	{
-	    P [k] = k ;
-	}
-	*p_nweak = 0 ;
-	*p_unmatched = 0 ;
-	return ;
-    }
-
-#ifndef NDEBUG
-    for (k = 0 ; k < n2 ; k++)
-    {
-	P [k] = EMPTY ;
-    }
-    for (k = 0 ; k < n2 ; k++)
-    {
-	ASSERT (Degree [k] >= 0 && Degree [k] < n2) ;
-    }
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* find the 2-by-2 permutation */
-    /* ---------------------------------------------------------------------- */
-
-    /* The matrix S is now mapped to the index range 0 to n2-1.  We have
-     * S = A (Rperm [n1 .. n-nempty-1], Cperm [n1 .. n-nempty-1]), and then
-     * C = pattern of strong entries in S.  A weak diagonal k in S is marked
-     * with Next [k] = IS_WEAK. */
-
-    unmatched = two_by_two (n2, Cp, Ci, Degree, Next, Ri, P, Rp, Head) ;
-
-    /* ---------------------------------------------------------------------- */
-
-    *p_nweak = nweak ;
-    *p_unmatched = unmatched ;
-
-#ifndef NDEBUG
-    DEBUGm4 (("UMF_2by2: weak "ID"  unmatched "ID"\n", nweak, unmatched)) ;
-    for (row = 0 ; row < n ; row++)
-    {
-	DEBUGm2 (("P ["ID"] = "ID"\n", row, P [row])) ;
-    }
-    DEBUGm2 (("\n =============================UMF_2by2: done\n\n")) ;
-#endif
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_2by2.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL void UMF_2by2
-(
-    Int n,
-    const Int Ap [ ],
-    const Int Ai [ ],
-    const double Ax [ ],
-#ifdef COMPLEX
-    const double Az [ ],
-#endif
-    double tol,
-    Int scale,
-    Int Cperm1 [ ],
-#ifndef NDEBUG
-    Int Rperm1 [ ],
-#endif
-    Int InvRperm [ ],
-    Int n1,
-    Int nempty,
-    Int Degree [ ],
-    Int P [ ],
-    Int *p_nweak,
-    Int *p_nmatched,
-    Int Ri [ ],
-    Int Rp [ ],
-    double Rs [ ],
-    Int Head [ ],
-    Int Next [ ],
-    Int Si [ ],
-    Int Sp [ ]
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_analyze.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,704 +0,0 @@
-/* ========================================================================== */
-/* === UMF_analyze ========================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    Symbolic LL' factorization of A'*A, to get upper bounds on the size of
-    L and U for LU = PAQ, and to determine the frontal matrices and
-    (supernodal) column elimination tree.  No fill-reducing column pre-ordering
-    is used.
-
-    Returns TRUE if successful, FALSE if out of memory.  UMF_analyze can only
-    run out of memory if anzmax (which is Ap [n_row]) is too small.
-
-    Uses workspace of size O(nonzeros in A).  On input, the matrix A is
-    stored in row-form at the tail end of Ai.  It is destroyed on output.
-    The rows of A must be sorted by increasing first column index.
-    The matrix is assumed to be valid.
-
-    Empty rows and columns have already been removed.
-
-*/
-
-#include "umf_internal.h"
-#include "umf_apply_order.h"
-#include "umf_fsize.h"
-
-/* ========================================================================== */
-
-GLOBAL Int UMF_analyze
-(
-    Int n_row,		/* A is n_row-by-n_col */
-    Int n_col,
-    Int Ai [ ],		/* Ai [Ap [0]..Ap[n_row]-1]: column indices */
-			/* destroyed on output.  Note that this is NOT the */
-			/* user's Ai that was passed to UMFPACK_*symbolic */
-			/* size of Ai, Ap [n_row] = anzmax >= anz + n_col */
-			/* Ap [0] must be => n_col.  The space to the */
-			/* front of Ai is used as workspace. */
-
-    Int Ap [ ],		/* of size MAX (n_row, n_col) + 1 */
-			/* Ap [0..n_row]: row pointers */
-			/* Row i is in Ai [Ap [i] ... Ap [i+1]-1] */
-
-			/* rows must have smallest col index first, or be */
-			/* in sorted form.  Used as workspace of size n_col */
-			/* and destroyed. */
-
-			/* Note that this is NOT the */
-			/* user's Ap that was passed to UMFPACK_*symbolic */
-
-    Int Up [ ],		/* workspace of size n_col, and output column perm.
-			 * for column etree postorder. */
-
-    Int fixQ,
-
-    /* temporary workspaces: */
-    Int W [ ],		/* W [0..n_col-1] */
-    Int Link [ ],	/* Link [0..n_col-1] */
-
-    /* output: information about each frontal matrix: */
-    Int Front_ncols [ ],	/* size n_col */
-    Int Front_nrows [ ],	/* of size n_col */
-    Int Front_npivcol [ ],	/* of size n_col */
-    Int Front_parent [ ],	/* of size n_col */
-    Int *nfr_out,
-
-    Int *p_ncompactions		/* number of compactions in UMF_analyze */
-)
-{
-    /* ====================================================================== */
-    /* ==== local variables ================================================= */
-    /* ====================================================================== */
-
-    Int j, j3, col, k, row, parent, j2, pdest, p, p2, thickness, npivots, nfr,
-	i, *Winv, kk, npiv, jnext, krow, knext, pfirst, jlast, ncompactions,
-	*Front_stack, *Front_order, *Front_child, *Front_sibling,
-	Wflag, npivcol, fallrows, fallcols, fpiv, frows, fcols, *Front_size ;
-
-    nfr = 0 ;
-    DEBUG0 (("UMF_analyze: anzmax "ID" anrow "ID" ancol "ID"\n",
-	Ap [n_row], n_row, n_col)) ;
-
-    /* ====================================================================== */
-    /* ==== initializations ================================================= */
-    /* ====================================================================== */
-
-#pragma ivdep
-    for (j = 0 ; j < n_col ; j++)
-    {
-	Link [j] = EMPTY ;
-	W [j] = EMPTY ;
-	Up [j] = EMPTY ;
-
-	/* Frontal matrix data structure: */
-	Front_npivcol [j] = 0 ;		/* number of pivot columns */
-	Front_nrows [j] = 0 ;		/* number of rows, incl. pivot rows */
-	Front_ncols [j] = 0 ;		/* number of cols, incl. pivot cols */
-	Front_parent [j] = EMPTY ;	/* parent front */
-	/* Note that only non-pivotal columns are stored in a front (a "row" */
-	/* of U) during elimination. */
-    }
-
-    /* the rows must be sorted by increasing min col */
-    krow = 0 ;
-    pfirst = Ap [0] ;
-    jlast = EMPTY ;
-    jnext = EMPTY ;
-    Wflag = 0 ;
-
-    /* this test requires the size of Ai to be >= n_col + nz */
-    ASSERT (pfirst >= n_col) ;	/* Ai must be large enough */
-
-    /* pdest points to the first free space in Ai */
-    pdest = 0 ;
-    ncompactions = 0 ;
-
-    /* ====================================================================== */
-    /* === compute symbolic LL' factorization (unsorted) ==================== */
-    /* ====================================================================== */
-
-    for (j = 0 ; j < n_col ; j = jnext)
-    {
-	DEBUG1 (("\n\n============Front "ID" starting. nfr = "ID"\n", j, nfr)) ;
-
-	/* ================================================================== */
-	/* === garbage collection =========================================== */
-	/* ================================================================== */
-
-	if (pdest + (n_col-j) > pfirst)
-	{
-	    /* we might run out ... compact the rows of U */
-
-#ifndef NDEBUG
-	    DEBUG0 (("UMF_analyze COMPACTION, j="ID" pfirst="ID"\n",
-		j, pfirst)) ;
-	    for (row = 0 ; row < j ; row++)
-	    {
-		if (Up [row] != EMPTY)
-		{
-		    /* this is a live row of U */
-		    DEBUG1 (("Live row: "ID" cols: ", row)) ;
-		    p = Up [row] ;
-		    ASSERT (Front_ncols [row] > Front_npivcol [row]) ;
-		    p2 = p + (Front_ncols [row] - Front_npivcol [row]) ;
-		    for ( ; p < p2 ; p++)
-		    {
-			DEBUG1 ((ID, Ai [p])) ;
-			ASSERT (p < pfirst) ;
-			ASSERT (Ai [p] > row && Ai [p] < n_col) ;
-		    }
-		    DEBUG1 (("\n")) ;
-		}
-	    }
-	    DEBUG1 (("\nStarting to compact:\n")) ;
-#endif
-
-	    pdest = 0 ;
-	    ncompactions++ ;
-	    for (row = 0 ; row < j ; row++)
-	    {
-		if (Up [row] != EMPTY)
-		{
-		    /* this is a live row of U */
-		    DEBUG1 (("Live row: "ID" cols: ", row)) ;
-		    ASSERT (row < n_col) ;
-		    p = Up [row] ;
-		    ASSERT (Front_ncols [row] > Front_npivcol [row]) ;
-		    p2 = p + (Front_ncols [row] - Front_npivcol [row]) ;
-		    Up [row] = pdest ;
-		    for ( ; p < p2 ; p++)
-		    {
-			DEBUG1 ((ID, Ai [p])) ;
-			ASSERT (p < pfirst) ;
-			ASSERT (Ai [p] > row && Ai [p] < n_col) ;
-			Ai [pdest++] = Ai [p] ;
-			ASSERT (pdest <= pfirst) ;
-		    }
-		    DEBUG1 (("\n")) ;
-		}
-	    }
-
-#ifndef NDEBUG
-	    DEBUG1 (("\nAFTER COMPACTION, j="ID" pfirst="ID"\n", j, pfirst)) ;
-	    for (row = 0 ; row < j ; row++)
-	    {
-		if (Up [row] != EMPTY)
-		{
-		    /* this is a live row of U */
-		    DEBUG1 (("Live row: "ID" cols: ", row)) ;
-		    p = Up [row] ;
-		    ASSERT (Front_ncols [row] > Front_npivcol [row]) ;
-		    p2 = p + (Front_ncols [row] - Front_npivcol [row]) ;
-		    for ( ; p < p2 ; p++)
-		    {
-			DEBUG1 ((ID, Ai [p])) ;
-			ASSERT (p < pfirst) ;
-			ASSERT (Ai [p] > row && Ai [p] < n_col) ;
-		    }
-		    DEBUG1 (("\n")) ;
-		}
-	    }
-#endif
-
-	}
-
-	if (pdest + (n_col-j) > pfirst)
-	{
-	    /* :: out of memory in umf_analyze :: */
-	    /* it can't happen, if pfirst >= n_col */
-	    return (FALSE) ;	/* internal error! */
-	}
-
-	/* ------------------------------------------------------------------ */
-	/* is the last front a child of this one? */
-	/* ------------------------------------------------------------------ */
-
-	if (jlast != EMPTY && Link [j] == jlast)
-	{
-	    /* yes - create row j by appending to jlast */
-	    DEBUG1 (("GOT:last front is child of this one: j "ID" jlast "ID"\n",
-		j, jlast)) ;
-	    ASSERT (jlast >= 0 && jlast < j) ;
-
-	    Up [j] = Up [jlast] ;
-	    Up [jlast] = EMPTY ;
-
-	    /* find the parent, delete column j, and update W */
-	    parent = n_col ;
-	    for (p = Up [j] ; p < pdest ; )
-	    {
-		j3 = Ai [p] ;
-		DEBUG1 (("Initial row of U: col "ID" ", j3)) ;
-		ASSERT (j3 >= 0 && j3 < n_col) ;
-		DEBUG1 (("W: "ID" \n", W [j3])) ;
-		ASSERT (W [j3] == Wflag) ;
-		if (j == j3)
-		{
-		    DEBUG1 (("Found column j at p = "ID"\n", p)) ;
-		    Ai [p] = Ai [--pdest] ;
-		}
-		else
-		{
-		    if (j3 < parent)
-		    {
-			parent = j3 ;
-		    }
-		    p++ ;
-		}
-	    }
-
-	    /* delete jlast from the link list of j */
-	    Link [j] = Link [jlast] ;
-
-	    ASSERT (Front_nrows [jlast] > Front_npivcol [jlast]) ;
-	    thickness = (Front_nrows [jlast] - Front_npivcol [jlast]) ;
-	    DEBUG1 (("initial thickness: "ID"\n", thickness)) ;
-
-	}
-	else
-	{
-	    Up [j] = pdest ;
-	    parent = n_col ;
-	    /* thickness: number of (nonpivotal) rows in frontal matrix j */
-	    thickness = 0 ;
-	    Wflag = j ;
-	}
-
-	/* ================================================================== */
-	/* === compute row j of A*A' ======================================== */
-	/* ================================================================== */
-
-	/* ------------------------------------------------------------------ */
-	/* flag the diagonal entry in row U, but do not add to pattern */
-	/* ------------------------------------------------------------------ */
-
-	ASSERT (pdest <= pfirst) ;
-	W [j] = Wflag ;
-
-	DEBUG1 (("\nComputing row "ID" of A'*A\n", j)) ;
-	DEBUG2 (("	col: "ID" (diagonal)\n", j)) ;
-
-	/* ------------------------------------------------------------------ */
-	/* find the rows the contribute to this column j */
-	/* ------------------------------------------------------------------ */
-
-	jnext = n_col ;
-	for (knext = krow ; knext < n_row ; knext++)
-	{
-	    ASSERT (Ap [knext] < Ap [knext+1]) ;
-	    ASSERT (Ap [knext] >= pfirst && Ap [knext] <= Ap [n_row]) ;
-	    jnext = Ai [Ap [knext]] ;
-	    ASSERT (jnext >= j) ;
-	    if (jnext != j)
-	    {
-		break ;
-	    }
-	}
-
-	/* rows krow ... knext-1 all have first column index of j */
-	/* (or are empty) */
-
-	/* row knext has first column index of jnext */
-	/* if knext = n_row, then jnext is n_col */
-	if (knext == n_row)
-	{
-	    jnext = n_col ;
-	}
-
-	ASSERT (jnext > j) ;
-	ASSERT (jnext <= n_col) ;
-
-	/* ------------------------------------------------------------------ */
-	/* for each nonzero A (k,j) in column j of A do: */
-	/* ------------------------------------------------------------------ */
-
-	for (k = krow ; k < knext ; k++)
-	{
-	    p = Ap [k] ;
-	    p2 = Ap [k+1] ;
-	    ASSERT (p < p2) ;
-
-	    /* merge row k of A into W */
-	    DEBUG2 (("	---- A row "ID" ", k)) ;
-	    ASSERT (k >= 0 && k < n_row) ;
-	    ASSERT (Ai [p] == j) ;
-	    DEBUG2 (("  p "ID" p2 "ID"\n        cols:", p, p2)) ;
-	    ASSERT (p  >= pfirst && p  < Ap [n_row]) ;
-	    ASSERT (p2 >  pfirst && p2 <= Ap [n_row]) ;
-	    for ( ; p < p2 ; p++)
-	    {
-		/* add to pattern if seen for the first time */
-		col = Ai [p] ;
-		ASSERT (col >= j && col < n_col) ;
-		DEBUG3 ((" "ID, col)) ;
-		if (W [col] != Wflag)
-		{
-		    Ai [pdest++] = col ;
-		    ASSERT (pdest <= pfirst) ;
-		    /* flag this column has having been seen for row j */
-		    W [col] = Wflag ;
-		    if (col < parent)
-		    {
-			parent = col ;
-		    }
-		}
-	    }
-	    DEBUG2 (("\n")) ;
-	    thickness++ ;
-	}
-
-#ifndef NDEBUG
-	DEBUG3 (("\nRow "ID" of A'A:\n", j)) ;
-	for (p = Up [j] ; p < pdest ; p++)
-	{
-	    DEBUG3 ((" "ID, Ai [p])) ;
-	}
-	DEBUG3 (("\n")) ;
-#endif
-
-	/* ------------------------------------------------------------------ */
-	/* delete rows up to but not including knext */
-	/* ------------------------------------------------------------------ */
-
-	krow = knext ;
-	pfirst = Ap [knext] ;
-
-	/* we can now use Ai [0..pfirst-1] as workspace for rows of U */
-
-	/* ================================================================== */
-	/* === compute jth row of U ========================================= */
-	/* ================================================================== */
-
-	/* for each nonzero U (k,j) in column j of U (1:j-1,:) do */
-	for (k = Link [j] ; k != EMPTY ; k = Link [k])
-	{
-	    /* merge row k of U into W */
-	    DEBUG2 (("	---- U row "ID, k)) ;
-	    ASSERT (k >= 0 && k < n_col) ;
-	    ASSERT (Up [k] != EMPTY) ;
-	    p = Up [k] ;
-	    ASSERT (Front_ncols [k] > Front_npivcol [k]) ;
-	    p2 = p + (Front_ncols [k] - Front_npivcol [k]) ;
-	    DEBUG2 (("  p "ID" p2 "ID"\n        cols:", p, p2)) ;
-	    ASSERT (p <= pfirst) ;
-	    ASSERT (p2 <= pfirst) ;
-	    for ( ; p < p2 ; p++)
-	    {
-		/* add to pattern if seen for the first time */
-		col = Ai [p] ;
-		ASSERT (col >= j && col < n_col) ;
-		DEBUG3 ((" "ID, col)) ;
-		if (W [col] != Wflag)
-		{
-		    Ai [pdest++] = col ;
-		    ASSERT (pdest <= pfirst) ;
-		    /* flag this col has having been seen for row j */
-		    W [col] = Wflag ;
-		    if (col < parent)
-		    {
-			parent = col ;
-		    }
-		}
-	    }
-	    DEBUG2 (("\n")) ;
-
-	    /* mark the row k as deleted */
-	    Up [k] = EMPTY ;
-
-	    ASSERT (Front_nrows [k] > Front_npivcol [k]) ;
-	    thickness += (Front_nrows [k] - Front_npivcol [k]) ;
-	    ASSERT (Front_parent [k] == j) ;
-	}
-
-#ifndef NDEBUG
-	DEBUG3 (("\nRow "ID" of U prior to supercolumn detection:\n", j));
-	for (p = Up [j] ; p < pdest ; p++)
-	{
-	    DEBUG3 ((" "ID, Ai [p])) ;
-	}
-	DEBUG3 (("\n")) ;
-	DEBUG1 (("thickness, prior to supercol detect: "ID"\n", thickness)) ;
-#endif
-
-	/* ================================================================== */
-	/* === quicky mass elimination ====================================== */
-	/* ================================================================== */
-
-	/* this code detects some supernodes, but it might miss */
-	/* some because the elimination tree (created on the fly) */
-	/* is not yet post-ordered, and because the pattern of A'*A */
-	/* is also computed on the fly. */
-
-	/* j2 is incremented because the pivot columns are not stored */
-
-	for (j2 = j+1 ; j2 < jnext ; j2++)
-	{
-	    ASSERT (j2 >= 0 && j2 < n_col) ;
-	    if (W [j2] != Wflag || Link [j2] != EMPTY)
-	    {
-		break ;
-	    }
-	}
-
-	/* the loop above terminated with j2 at the first non-supernode */
-	DEBUG1 (("jnext = "ID"\n", jnext)) ;
-	ASSERT (j2 <= jnext) ;
-	jnext = j2 ;
-	j2-- ;
-	DEBUG1 (("j2 = "ID"\n", j2)) ;
-	ASSERT (j2 < n_col) ;
-
-	npivots = j2-j+1 ;
-	DEBUG1 (("Number of pivot columns: "ID"\n", npivots)) ;
-
-	/* rows j:j2 have the same nonzero pattern, except for columns j:j2-1 */
-
-	if (j2 > j)
-	{
-	    /* supernode detected, prune the pattern of new row j */
-	    ASSERT (parent == j+1) ;
-	    ASSERT (j2 < n_col) ;
-	    DEBUG1 (("Supernode detected, j "ID" to j2 "ID"\n", j, j2)) ;
-
-	    parent = n_col ;
-	    p2 = pdest ;
-	    pdest = Up [j] ;
-	    for (p = Up [j] ; p < p2 ; p++)
-	    {
-		col = Ai [p] ;
-		ASSERT (col >= 0 && col < n_col) ;
-		ASSERT (W [col] == Wflag) ;
-		if (col > j2)
-		{
-		    /* keep this col in the pattern of the new row j */
-		    Ai [pdest++] = col ;
-		    if (col < parent)
-		    {
-			parent = col ;
-		    }
-		}
-	    }
-	}
-
-	DEBUG1 (("Parent ["ID"] = "ID"\n", j, parent)) ;
-	ASSERT (parent > j2) ;
-
-	if (parent == n_col)
-	{
-	    /* this front has no parent - it is the root of a subtree */
-	    parent = EMPTY ;
-	}
-
-#ifndef NDEBUG
-	DEBUG3 (("\nFinal row "ID" of U after supercolumn detection:\n", j)) ;
-	for (p = Up [j] ; p < pdest ; p++)
-	{
-	    ASSERT (Ai [p] >= 0 && Ai [p] < n_col) ;
-	    DEBUG3 ((" "ID" ("ID")", Ai [p], W [Ai [p]])) ;
-	    ASSERT (W [Ai [p]] == Wflag) ;
-	}
-	DEBUG3 (("\n")) ;
-#endif
-
-	/* ================================================================== */
-	/* === frontal matrix =============================================== */
-	/* ================================================================== */
-
-	/* front has Front_npivcol [j] pivot columns */
-	/* entire front is Front_nrows [j] -by- Front_ncols [j] */
-	/* j is first column in the front */
-
-	npivcol = npivots ;
-	fallrows = thickness ;
-	fallcols = npivots + pdest - Up [j] ;
-
-	/* number of pivots in the front (rows and columns) */
-	fpiv = MIN (npivcol, fallrows) ;
-
-	/* size of contribution block */
-	frows = fallrows - fpiv ;
-	fcols = fallcols - fpiv ;
-
-	if (frows == 0 || fcols == 0)
-	{
-	    /* front has no contribution block and thus needs no parent */
-	    DEBUG1 (("Frontal matrix evaporation\n")) ;
-	    Up [j] = EMPTY ;
-	    parent = EMPTY ;
-	}
-
-	Front_npivcol [j] = npivots ;
-	Front_nrows [j] = fallrows ;
-	Front_ncols [j] = fallcols ;
-	Front_parent [j] = parent ;
-	ASSERT (npivots > 0) ;
-
-	/* Front_parent [j] is the first column of the parent frontal matrix */
-
-	DEBUG1 (("\n\n==== Front "ID", nfr "ID" pivot columns "ID":"ID
-	    " all front: "ID"-by-"ID" Parent: "ID"\n", j, nfr, j,j+npivots-1,
-	    Front_nrows [j], Front_ncols [j], Front_parent [j])) ;
-	nfr++ ;
-
-	/* ================================================================== */
-	/* === prepare this row for its parent ============================== */
-	/* ================================================================== */
-
-	if (parent != EMPTY)
-	{
-	    Link [j] = Link [parent] ;
-	    Link [parent] = j ;
-	}
-
-	ASSERT (jnext > j) ;
-
-	jlast = j ;
-    }
-
-    /* ====================================================================== */
-    /* === postorder the fronts ============================================= */
-    /* ====================================================================== */
-
-    *nfr_out = nfr ;
-
-    Front_order = W ;	/* use W for Front_order [ */
-
-    if (fixQ)
-    {
-	/* do not postorder the fronts if Q is fixed */
-	DEBUG1 (("\nNo postorder (Q is fixed)\n")) ;
-	k = 0 ;
-	/* Pragma added May 14, 2003.  The Intel compiler icl 6.0 (an old
-	 * version) incorrectly vectorizes this loop. */
-#pragma novector
-	for (j = 0 ; j < n_col ; j++)
-	{
-	    if (Front_npivcol [j] > 0)
-	    {
-		Front_order [j] = k++ ;
-		DEBUG1 (("Front order of j: "ID" is:"ID"\n", j,
-		    Front_order [j])) ;
-	    }
-	    else
-	    {
-		Front_order [j] = EMPTY ;
-	    }
-	}
-    }
-    else
-    {
-
-	/* use Ap for Front_child and use Link for Front_sibling [ */
-	Front_child = Ap ;
-	Front_sibling = Link ;
-
-	/* use Ai for Front_stack, size of Ai is >= 2*n_col */
-	Front_stack = Ai ;
-	Front_size = Front_stack + n_col ;
-
-	UMF_fsize (n_col, Front_size, Front_nrows, Front_ncols,
-	    Front_parent, Front_npivcol) ;
-
-	AMD_postorder (n_col, Front_parent, Front_npivcol, Front_size,
-	    Front_order, Front_child, Front_sibling, Front_stack) ;
-
-	/* done with Front_child, Front_sibling, Front_size, and Front_stack ]*/
-
-	/* ------------------------------------------------------------------ */
-	/* construct the column permutation (return in Up) */
-	/* ------------------------------------------------------------------ */
-
-	/* Front_order [i] = k means that front i is kth front in the new order.
-	 * i is in the range 0 to n_col-1, and k is in the range 0 to nfr-1 */
-
-	/* Use Ai as workspace for Winv [ */
-	Winv = Ai ;
-	for (k = 0 ; k < nfr ; k++)
-	{
-	    Winv [k] = EMPTY ;
-	}
-
-	/* compute the inverse of Front_order, so that Winv [k] = i */
-	/* if Front_order [i] = k */
-
-	DEBUG1 (("\n\nComputing output column permutation:\n")) ;
-	for (i = 0 ; i < n_col ; i++)
-	{
-	    k = Front_order [i] ;
-	    if (k != EMPTY)
-	    {
-		DEBUG1 (("Front "ID" new order: "ID"\n", i, k)) ;
-		ASSERT (k >= 0 && k < nfr) ;
-		ASSERT (Winv [k] == EMPTY) ;
-		Winv [k] = i ;
-	    }
-	}
-
-	/* Use Up as output permutation */
-	kk = 0 ;
-	for (k = 0 ; k < nfr ; k++)
-	{
-	    i = Winv [k] ;
-	    DEBUG1 (("Old Front "ID" New Front "ID" npivots "ID" nrows "ID
-		" ncols "ID"\n",
-		i, k, Front_npivcol [i], Front_nrows [i], Front_ncols [i])) ;
-	    ASSERT (i >= 0 && i < n_col) ;
-	    ASSERT (Front_npivcol [i] > 0) ;
-	    for (npiv = 0 ; npiv < Front_npivcol [i] ; npiv++)
-	    {
-		Up [kk] = i + npiv ;
-		DEBUG1 (("    Cperm ["ID"] = "ID"\n", kk, Up [kk])) ;
-		kk++ ;
-	    }
-	}
-	ASSERT (kk == n_col) ;
-
-	/* Winv no longer needed ] */
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* apply the postorder traversal to renumber the frontal matrices */
-    /* (or pack them in same order, if fixQ) */
-    /* ---------------------------------------------------------------------- */
-
-    /* use Ai as workspace */
-
-    UMF_apply_order (Front_npivcol, Front_order, Ai, n_col, nfr) ;
-    UMF_apply_order (Front_nrows,   Front_order, Ai, n_col, nfr) ;
-    UMF_apply_order (Front_ncols,   Front_order, Ai, n_col, nfr) ;
-    UMF_apply_order (Front_parent,  Front_order, Ai, n_col, nfr) ;
-
-    /* fix the parent to refer to the new numbering */
-    for (i = 0 ; i < nfr ; i++)
-    {
-	parent = Front_parent [i] ;
-	if (parent != EMPTY)
-	{
-	    ASSERT (parent >= 0 && parent < n_col) ;
-	    ASSERT (Front_order [parent] >= 0 && Front_order [parent] < nfr) ;
-	    Front_parent [i] = Front_order [parent] ;
-	}
-    }
-
-    /* Front_order longer needed ] */
-
-#ifndef NDEBUG
-    DEBUG1 (("\nFinal frontal matrices:\n")) ;
-    for (i = 0 ; i < nfr ; i++)
-    {
-	DEBUG1 (("Final front "ID": npiv "ID" nrows "ID" ncols "ID" parent "
-	    ID"\n", i, Front_npivcol [i], Front_nrows [i],
-	    Front_ncols [i], Front_parent [i])) ;
-    }
-#endif
-
-    *p_ncompactions = ncompactions ;
-    return (TRUE) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_analyze.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL Int UMF_analyze
-(
-    Int n_row,
-    Int n_col,
-    Int Ai [ ],
-    Int Ap [ ],
-    Int Up [ ],
-    Int fixQ,
-    Int Front_ncols [ ],
-    Int W [ ],
-    Int Link [ ],
-    Int Front_nrows [ ],
-    Int Front_npivcol [ ],
-    Int Front_parent [ ],
-    Int *nfr_out,
-    Int *p_ncompactions
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_apply_order.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/* ========================================================================== */
-/* === UMF_apply_order ====================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    Apply post-ordering of supernodal elimination tree.
-*/
-
-#include "umf_internal.h"
-
-GLOBAL void UMF_apply_order
-(
-    Int Front [ ],	    /* of size nn on input, size nfr on output */
-    const Int Order [ ],    /* Order [i] = k, i in the range 0..nn-1,
-			     * and k in the range 0..nfr-1, means that node
-			     * i is the kth node in the postordered tree. */
-    Int Temp [ ],	    /* workspace of size nfr */
-    Int nn,		    /* nodes are numbered in the range 0..nn-1 */
-    Int nfr		    /* the number of nodes actually in use */
-)
-{
-    Int i, k ;
-    for (i = 0 ; i < nn ; i++)
-    {
-	k = Order [i] ;
-	ASSERT (k >= EMPTY && k < nfr) ;
-	if (k != EMPTY)
-	{
-	    Temp [k] = Front [i] ;
-	}
-    }
-
-    for (k = 0 ; k < nfr ; k++)
-    {
-	Front [k] = Temp [k] ;
-    }
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_apply_order.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL void UMF_apply_order
-(
-    Int Front [ ],
-    const Int Order [ ],
-    Int Temp [ ],
-    Int n_col,
-    Int nfr
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_assemble.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1215 +0,0 @@
-/* ========================================================================== */
-/* === UMF_assemble ========================================================= */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*  Degree update and numerical assembly.  This is compiled twice (with and
- *  without FIXQ) for each real/complex int/long version, for a total of 8
- *  versions.*/
-
-#include "umf_internal.h"
-#include "umf_mem_free_tail_block.h"
-
-/* ========================================================================== */
-/* === row_assemble ========================================================= */
-/* ========================================================================== */
-
-PRIVATE void row_assemble
-(
-    Int row,
-    NumericType *Numeric,
-    WorkType *Work
-)
-{
-
-    Entry *S, *Fcblock, *Frow ;
-    Int tpi, e, *E, *Fcpos, *Frpos, *Row_degree, *Row_tuples, *Row_tlen, rdeg0,
-	f, nrows, ncols, *Rows, *Cols, col, ncolsleft, j ;
-    Tuple *tp, *tp1, *tp2, *tpend ;
-    Unit *Memory, *p ;
-    Element *ep ;
-
-#ifndef FIXQ
-    Int *Col_degree ;
-    Col_degree = Numeric->Cperm ;
-#endif
-
-    Row_tuples = Numeric->Uip ;
-    tpi = Row_tuples [row] ;
-    if (!tpi) return ;
-
-    Memory = Numeric->Memory ;
-    E = Work->E ;
-    Fcpos = Work->Fcpos ;
-    Frpos = Work->Frpos ;
-    Row_degree = Numeric->Rperm ;
-    Row_tlen   = Numeric->Uilen ;
-    E = Work->E ;
-    Memory = Numeric->Memory ;
-    rdeg0 = Work->rdeg0 ;
-    Fcblock = Work->Fcblock ;
-
-#ifndef NDEBUG
-    DEBUG6 (("SCAN2-row: "ID"\n", row)) ;
-    UMF_dump_rowcol (0, Numeric, Work, row, FALSE) ;
-#endif
-
-    ASSERT (NON_PIVOTAL_ROW (row)) ;
-
-    tp = (Tuple *) (Memory + tpi) ;
-    tp1 = tp ;
-    tp2 = tp ;
-    tpend = tp + Row_tlen [row] ;
-    for ( ; tp < tpend ; tp++)
-    {
-	e = tp->e ;
-	ASSERT (e > 0 && e <= Work->nel) ;
-	if (!E [e]) continue ;	/* element already deallocated */
-	f = tp->f ;
-	p = Memory + E [e] ;
-	ep = (Element *) p ;
-	p += UNITS (Element, 1) ;
-	Cols = (Int *) p ;
-	Rows = Cols + ep->ncols ;
-	if (Rows [f] == EMPTY) continue ;   /* row already assembled */
-	ASSERT (row == Rows [f] && row >= 0 && row < Work->n_row) ;
-
-	if (ep->rdeg == rdeg0)
-	{
-	    /* ------------------------------------------------------ */
-	    /* this is an old Lson - assemble just one row */
-	    /* ------------------------------------------------------ */
-
-	    /* flag the row as assembled from the Lson */
-	    Rows [f] = EMPTY ;
-
-	    nrows = ep->nrows ;
-	    ncols = ep->ncols ;
-
-	    p += UNITS (Int, ncols + nrows) ;
-	    S = ((Entry *) p) + f ;
-
-	    DEBUG6 (("Old LSON: "ID"\n", e)) ;
-#ifndef NDEBUG
-	    UMF_dump_element (Numeric, Work, e, FALSE) ;
-#endif
-
-	    ncolsleft = ep->ncolsleft ;
-
-	    Frow = Fcblock + Frpos [row] ;
-	    DEBUG6 (("LSON found (in scan2-row): "ID"\n", e)) ;
-
-	    Row_degree [row] -= ncolsleft ;
-
-	    if (ncols == ncolsleft)
-	    {
-		/* -------------------------------------------------- */
-		/* no columns assembled out this Lson yet */
-		/* -------------------------------------------------- */
-
-#pragma ivdep
-		for (j = 0 ; j < ncols ; j++)
-		{
-		    col = Cols [j] ;
-		    ASSERT (col >= 0 && col < Work->n_col) ;
-#ifndef FIXQ
-		    Col_degree [col] -- ;
-#endif
-		    /* Frow [Fcpos [col]] += *S ; */
-		    ASSEMBLE (Frow [Fcpos [col]], *S) ;
-		    S += nrows ;
-		}
-
-	    }
-	    else
-	    {
-		/* -------------------------------------------------- */
-		/* some columns have been assembled out of this Lson */
-		/* -------------------------------------------------- */
-
-#pragma ivdep
-		for (j = 0 ; j < ncols ; j++)
-		{
-		    col = Cols [j] ;
-		    if (col >= 0)
-		    {
-			ASSERT (col < Work->n_col) ;
-#ifndef FIXQ
-			Col_degree [col] -- ;
-#endif
-			/* Frow [Fcpos [col]] += *S ; */
-			ASSEMBLE (Frow [Fcpos [col]], *S) ;
-		    }
-		    S += nrows ;
-		}
-
-	    }
-	    ep->nrowsleft-- ;
-	    ASSERT (ep->nrowsleft > 0) ;
-	}
-	else
-	{
-	    *tp2++ = *tp ;	/* leave the tuple in the list */
-	}
-    }
-    Row_tlen [row] = tp2 - tp1 ;
-
-#ifndef NDEBUG
-    DEBUG7 (("row assembled in scan2-row: "ID"\n", row)) ;
-    UMF_dump_rowcol (0, Numeric, Work, row, FALSE) ;
-    DEBUG7 (("Current frontal matrix: (scan 1b)\n")) ;
-    UMF_dump_current_front (Numeric, Work, TRUE) ;
-#endif
-}
-
-/* ========================================================================== */
-/* === col_assemble ========================================================= */
-/* ========================================================================== */
-
-PRIVATE void col_assemble
-(
-    Int col,
-    NumericType *Numeric,
-    WorkType *Work
-)
-{
-
-    Entry *S, *Fcblock, *Fcol ;
-    Int tpi, e, *E, *Fcpos, *Frpos, *Row_degree, *Col_tuples, *Col_tlen, cdeg0,
-	f, nrows, ncols, *Rows, *Cols, row, nrowsleft, i ;
-    Tuple *tp, *tp1, *tp2, *tpend ;
-    Unit *Memory, *p ;
-    Element *ep ;
-
-#if !defined (FIXQ) || !defined (NDEBUG)
-    Int *Col_degree ;
-    Col_degree = Numeric->Cperm ;
-#endif
-
-    Col_tuples = Numeric->Lip ;
-    tpi = Col_tuples [col] ;
-    if (!tpi) return ;
-
-    Memory = Numeric->Memory ;
-    E = Work->E ;
-    Fcpos = Work->Fcpos ;
-    Frpos = Work->Frpos ;
-    Row_degree = Numeric->Rperm ;
-    Col_tlen   = Numeric->Lilen ;
-    E = Work->E ;
-    Memory = Numeric->Memory ;
-    cdeg0 = Work->cdeg0 ;
-    Fcblock = Work->Fcblock ;
-
-    DEBUG6 (("SCAN2-col: "ID"\n", col)) ;
-#ifndef NDEBUG
-    UMF_dump_rowcol (1, Numeric, Work, col, FALSE) ;
-#endif
-
-    ASSERT (NON_PIVOTAL_COL (col)) ;
-    tp = (Tuple *) (Memory + tpi) ;
-    tp1 = tp ;
-    tp2 = tp ;
-    tpend = tp + Col_tlen [col] ;
-    for ( ; tp < tpend ; tp++)
-    {
-	e = tp->e ;
-	ASSERT (e > 0 && e <= Work->nel) ;
-	if (!E [e]) continue ;	/* element already deallocated */
-	f = tp->f ;
-	p = Memory + E [e] ;
-	ep = (Element *) p ;
-	p += UNITS (Element, 1) ;
-	Cols = (Int *) p ;
-
-	if (Cols [f] == EMPTY) continue ;   /* col already assembled */
-	ASSERT (col == Cols [f] && col >= 0 && col < Work->n_col) ;
-
-	if (ep->cdeg == cdeg0)
-	{
-	    /* ------------------------------------------------------ */
-	    /* this is an old Uson - assemble just one col */
-	    /* ------------------------------------------------------ */
-
-	    /* flag the col as assembled from the Uson */
-	    Cols [f] = EMPTY ;
-
-	    nrows = ep->nrows ;
-	    ncols = ep->ncols ;
-	    Rows = Cols + ncols ;
-	    p += UNITS (Int, ncols + nrows) ;
-	    S = ((Entry *) p) + f * nrows ;
-
-	    DEBUG6 (("Old USON: "ID"\n", e)) ;
-#ifndef NDEBUG
-	    UMF_dump_element (Numeric, Work, e, FALSE) ;
-#endif
-
-	    nrowsleft = ep->nrowsleft ;
-
-	    Fcol = Fcblock + Fcpos [col] ;
-	    DEBUG6 (("USON found (in scan2-col): "ID"\n", e)) ;
-#ifndef FIXQ
-	    Col_degree [col] -= nrowsleft ;
-#endif
-	    if (nrows == nrowsleft)
-	    {
-		/* -------------------------------------------------- */
-		/* no rows assembled out of this Uson yet */
-		/* -------------------------------------------------- */
-
-#pragma ivdep
-		for (i = 0 ; i < nrows ; i++)
-		{
-		    row = Rows [i] ;
-		    ASSERT (row >= 0 && row < Work->n_row) ;
-		    Row_degree [row]-- ;
-		    /* Fcol [Frpos [row]] += S [i] ; */
-		    ASSEMBLE (Fcol [Frpos [row]], S [i]) ;
-		}
-	    }
-	    else
-	    {
-		/* -------------------------------------------------- */
-		/* some rows have been assembled out of this Uson */
-		/* -------------------------------------------------- */
-
-#pragma ivdep
-		for (i = 0 ; i < nrows ; i++)
-		{
-		    row = Rows [i] ;
-		    if (row >= 0)
-		    {
-			ASSERT (row < Work->n_row) ;
-			Row_degree [row]-- ;
-			/* Fcol [Frpos [row]] += S [i] ; */
-			ASSEMBLE (Fcol [Frpos [row]], S [i]) ;
-		    }
-		}
-	    }
-	    ep->ncolsleft-- ;
-	    ASSERT (ep->ncolsleft > 0) ;
-	}
-	else
-	{
-	    *tp2++ = *tp ;	/* leave the tuple in the list */
-	}
-    }
-    Col_tlen [col] = tp2 - tp1 ;
-
-#ifndef NDEBUG
-    DEBUG7 (("Column assembled in scan2-col: "ID"\n", col)) ;
-    UMF_dump_rowcol (1, Numeric, Work, col, FALSE) ;
-    DEBUG7 (("Current frontal matrix: after scan2-col\n")) ;
-    UMF_dump_current_front (Numeric, Work, TRUE) ;
-#endif
-
-}
-
-
-/* ========================================================================== */
-/* === UMF_assemble / UMF_assemble_fixq ===================================== */
-/* ========================================================================== */
-
-#ifndef FIXQ
-GLOBAL void UMF_assemble
-#else
-GLOBAL void UMF_assemble_fixq
-#endif
-(
-    NumericType *Numeric,
-    WorkType *Work
-)
-{
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    Int e, i, row, col, i2, nrows, ncols, f, tpi, extcdeg, extrdeg, rdeg0,
-	cdeg0, son_list, next, nrows_to_assemble,
-	ncols_to_assemble, ngetrows, j, j2,
-	nrowsleft,	/* number of rows remaining in S */
-	ncolsleft,	/* number of columns remaining in S */
-	prior_Lson, prior_Uson, *E, *Cols, *Rows, *Wm, *Woo,
-	*Row_tuples, *Row_degree, *Row_tlen,
-	*Col_tuples, *Col_tlen ;
-    Unit *Memory, *p ;
-    Element *ep ;
-    Tuple *tp, *tp1, *tp2, *tpend ;
-    Entry
-	*S,		/* a pointer into the contribution block of a son */
-	*Fcblock,	/* current contribution block */
-	*Fcol ;		/* a column of FC */
-    Int *Frpos,
-	*Fcpos,
-	fnrows,		/* number of rows in contribution block in F */
-	fncols ;	/* number of columns in contribution block in F */
-
-#if !defined (FIXQ) || !defined (NDEBUG)
-    Int *Col_degree ;
-#endif
-
-#ifndef NDEBUG
-    Int n_row, n_col ;
-    n_row = Work->n_row ;
-    n_col = Work->n_col ;
-    DEBUG3 (("::Assemble SCANS 1-4\n")) ;
-    UMF_dump_current_front (Numeric, Work, TRUE) ;
-#endif
-
-#if !defined (FIXQ) || !defined (NDEBUG)
-    Col_degree = Numeric->Cperm ;   /* not updated if FIXQ is true */
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* get parameters */
-    /* ---------------------------------------------------------------------- */
-
-    fncols = Work->fncols ;
-    fnrows = Work->fnrows ;
-    Fcpos = Work->Fcpos ;
-    Frpos = Work->Frpos ;
-    Row_degree = Numeric->Rperm ;
-    Row_tuples = Numeric->Uip ;
-    Row_tlen   = Numeric->Uilen ;
-    Col_tuples = Numeric->Lip ;
-    Col_tlen   = Numeric->Lilen ;
-    E = Work->E ;
-    Memory = Numeric->Memory ;
-    Wm = Work->Wm ;
-    Woo = Work->Woo ;
-    rdeg0 = Work->rdeg0 ;
-    cdeg0 = Work->cdeg0 ;
-
-#ifndef NDEBUG
-    DEBUG6 (("============================================\n")) ;
-    DEBUG6 (("Degree update, assembly.\n")) ;
-    DEBUG6 (("pivot row pattern:  fncols="ID"\n", fncols)) ;
-    for (j = 0 ; j < fncols ; j++)
-    {
-	col = Work->Fcols [j] ;
-	DEBUG6 ((ID" ", col)) ;
-	ASSERT (Fcpos [col] == j * Work->fnr_curr) ;
-	ASSERT (NON_PIVOTAL_COL (col)) ;
-    }
-    ASSERT (Fcpos [Work->pivcol] >= 0) ;
-    DEBUG6 (("pivcol: "ID" pos "ID" fnr_curr "ID" fncols "ID"\n",
-	Work->pivcol, Fcpos [Work->pivcol], Work->fnr_curr, fncols)) ;
-    ASSERT (Fcpos [Work->pivcol] <  fncols * Work->fnr_curr) ;
-    DEBUG6 (("\npivot col pattern:  fnrows="ID"\n", fnrows)) ;
-    for (i = 0 ; i < fnrows ; i++)
-    {
-	row = Work->Frows [i] ;
-	DEBUG6 ((ID" ", row)) ;
-	ASSERT (Frpos [row] == i) ;
-	ASSERT (NON_PIVOTAL_ROW (row)) ;
-    }
-    DEBUG6 (("\n")) ;
-    ASSERT (Frpos [Work->pivrow] >= 0) ;
-    ASSERT (Frpos [Work->pivrow] < fnrows) ;
-    ASSERT (Work->Flublock == (Entry *) (Numeric->Memory + E [0])) ;
-    ASSERT (Work->Fcblock == Work->Flublock + Work->nb *
-	(Work->nb + Work->fnr_curr + Work->fnc_curr)) ;
-#endif
-
-    Fcblock = Work->Fcblock ;
-
-    /* ---------------------------------------------------------------------- */
-    /* determine the largest actual frontal matrix size (for Info only) */
-    /* ---------------------------------------------------------------------- */
-
-    ASSERT (fnrows == Work->fnrows_new + 1) ;
-    ASSERT (fncols == Work->fncols_new + 1) ;
-
-    Numeric->maxnrows = MAX (Numeric->maxnrows, fnrows) ;
-    Numeric->maxncols = MAX (Numeric->maxncols, fncols) ;
-
-    /* this is safe from integer overflow, since the current frontal matrix
-     * is already allocated. */
-    Numeric->maxfrsize = MAX (Numeric->maxfrsize, fnrows * fncols) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* assemble from prior elements into the current frontal matrix */
-    /* ---------------------------------------------------------------------- */
-
-    DEBUG2 (("New assemble start [prior_element:"ID"\n", Work->prior_element)) ;
-
-    /* Currently no rows or columns are marked.  No elements are scanned, */
-    /* that is, (ep->next == EMPTY) is true for all elements */
-
-    son_list = 0 ;	/* start creating son_list [ */
-
-    /* ---------------------------------------------------------------------- */
-    /* determine if most recent element is Lson or Uson of current front */
-    /* ---------------------------------------------------------------------- */
-
-    if (!Work->do_extend)
-    {
-	prior_Uson = ( Work->pivcol_in_front && !Work->pivrow_in_front) ;
-	prior_Lson = (!Work->pivcol_in_front &&  Work->pivrow_in_front) ;
-	if (prior_Uson || prior_Lson)
-	{
-	    e = Work->prior_element ;
-	    if (e != EMPTY)
-	    {
-		ASSERT (E [e]) ;
-		p = Memory + E [e] ;
-		ep = (Element *) p ;
-		ep->next = son_list ;
-		son_list = e ;
-#ifndef NDEBUG
-		DEBUG2 (("e "ID" is Prior son "ID" "ID"\n",
-		    e, prior_Uson, prior_Lson)) ;
-		UMF_dump_element (Numeric, Work, e, FALSE) ;
-#endif
-		ASSERT (E [e]) ;
-	    }
-	}
-    }
-    Work->prior_element = EMPTY ;
-
-    /* ---------------------------------------------------------------------- */
-    /* SCAN1-row:  scan the element lists of each new row in the pivot col */
-    /* and compute the external column degree for each frontal */
-    /* ---------------------------------------------------------------------- */
-
-    for (i2 = Work->fscan_row ; i2 < fnrows ; i2++)
-    {
-	/* Get a row */
-	row = Work->NewRows [i2] ;
-	if (row < 0) row = FLIP (row) ;
-	ASSERT (row >= 0 && row < n_row) ;
-
-	DEBUG6 (("SCAN1-row: "ID"\n", row)) ;
-#ifndef NDEBUG
-	UMF_dump_rowcol (0, Numeric, Work, row, FALSE) ;
-#endif
-
-	ASSERT (NON_PIVOTAL_ROW (row)) ;
-	tpi = Row_tuples [row] ;
-	if (!tpi) continue ;
-	tp = (Tuple *) (Memory + tpi) ;
-	tp1 = tp ;
-	tp2 = tp ;
-	tpend = tp + Row_tlen [row] ;
-	for ( ; tp < tpend ; tp++)
-	{
-	    e = tp->e ;
-	    ASSERT (e > 0 && e <= Work->nel) ;
-	    if (!E [e]) continue ;	/* element already deallocated */
-	    f = tp->f ;
-	    p = Memory + E [e] ;
-	    ep = (Element *) p ;
-	    p += UNITS (Element, 1) ;
-	    Rows = ((Int *) p) + ep->ncols ;
-	    if (Rows [f] == EMPTY) continue ;	/* row already assembled */
-	    ASSERT (row == Rows [f]) ;
-
-	    if (ep->cdeg < cdeg0)
-	    {
-		/* first time seen in scan1-row */
-		ep->cdeg = ep->nrowsleft + cdeg0 ;
-		DEBUG6 (("e "ID" First seen: cdeg: "ID" ", e, ep->cdeg-cdeg0)) ;
-		ASSERT (ep->ncolsleft > 0 && ep->nrowsleft > 0) ;
-	    }
-
-	    ep->cdeg-- ;	/* decrement external column degree */
-	    DEBUG6 (("e "ID" New ext col deg: "ID"\n", e, ep->cdeg - cdeg0)) ;
-
-	    /* this element is not yet in the new son list */
-	    if (ep->cdeg == cdeg0 && ep->next == EMPTY)
-	    {
-		/* A new LUson or Uson has been found */
-		ep->next = son_list ;
-		son_list = e ;
-	    }
-
-	    ASSERT (ep->cdeg >= cdeg0) ;
-	    *tp2++ = *tp ;	/* leave the tuple in the list */
-	}
-	Row_tlen [row] = tp2 - tp1 ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* SCAN1-col:  scan the element lists of each new col in the pivot row */
-    /*	 and compute the external row degree for each frontal */
-    /* ---------------------------------------------------------------------- */
-
-    for (j2 = Work->fscan_col ; j2 < fncols ; j2++)
-    {
-	/* Get a column */
-	col = Work->NewCols [j2] ;
-	if (col < 0) col = FLIP (col) ;
-	ASSERT (col >= 0 && col < n_col) ;
-
-	DEBUG6 (("SCAN 1-col: "ID"\n", col)) ;
-#ifndef NDEBUG
-	UMF_dump_rowcol (1, Numeric, Work, col, FALSE) ;
-#endif
-
-	ASSERT (NON_PIVOTAL_COL (col)) ;
-	tpi = Col_tuples [col] ;
-	if (!tpi) continue ;
-	tp = (Tuple *) (Memory + tpi) ;
-	tp1 = tp ;
-	tp2 = tp ;
-	tpend = tp + Col_tlen [col] ;
-	for ( ; tp < tpend ; tp++)
-	{
-	    e = tp->e ;
-	    ASSERT (e > 0 && e <= Work->nel) ;
-	    if (!E [e]) continue ;	/* element already deallocated */
-	    f = tp->f ;
-	    p = Memory + E [e] ;
-	    ep = (Element *) p ;
-	    p += UNITS (Element, 1) ;
-	    Cols = (Int *) p ;
-	    if (Cols [f] == EMPTY) continue ;	/* column already assembled */
-	    ASSERT (col == Cols [f]) ;
-
-	    if (ep->rdeg < rdeg0)
-	    {
-		/* first time seen in scan1-col */
-		ep->rdeg = ep->ncolsleft + rdeg0 ;
-		DEBUG6 (("e "ID" First seen: rdeg: "ID" ", e, ep->rdeg-rdeg0)) ;
-		ASSERT (ep->ncolsleft > 0 && ep->nrowsleft > 0) ;
-	    }
-
-	    ep->rdeg-- ;	/* decrement external row degree */
-	    DEBUG6 (("e "ID" New ext row degree: "ID"\n", e, ep->rdeg-rdeg0)) ;
-
-	    if (ep->rdeg == rdeg0 && ep->next == EMPTY)
-	    {
-		/* A new LUson or Lson has been found */
-		ep->next = son_list ;
-		son_list = e ;
-	    }
-
-	    ASSERT (ep->rdeg >= rdeg0) ;
-	    *tp2++ = *tp ;	/* leave the tuple in the list */
-	}
-	Col_tlen [col] = tp2 - tp1 ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* assemble new sons via full scans */
-    /* ---------------------------------------------------------------------- */
-
-    next = EMPTY ;
-
-    for (e = son_list ; e > 0 ; e = next)
-    {
-	ASSERT (e > 0 && e <= Work->nel && E [e]) ;
-	p = Memory + E [e] ;
-	DEBUG2 (("New son: "ID"\n", e)) ;
-#ifndef NDEBUG
-	UMF_dump_element (Numeric, Work, e, FALSE) ;
-#endif
-	GET_ELEMENT (ep, p, Cols, Rows, ncols, nrows, S) ;
-	nrowsleft = ep->nrowsleft ;
-	ncolsleft = ep->ncolsleft ;
-	next = ep->next ;
-	ep->next = EMPTY ;
-
-	extrdeg = (ep->rdeg < rdeg0) ? ncolsleft : (ep->rdeg - rdeg0) ;
-	extcdeg = (ep->cdeg < cdeg0) ? nrowsleft : (ep->cdeg - cdeg0) ;
-	ncols_to_assemble = ncolsleft - extrdeg ;
-	nrows_to_assemble = nrowsleft - extcdeg ;
-	DEBUG2 (("extrdeg "ID" extcdeg "ID"\n", extrdeg, extcdeg)) ;
-
-	if (extrdeg == 0 && extcdeg == 0)
-	{
-
-	    /* -------------------------------------------------------------- */
-	    /* this is an LUson - assemble an entire contribution block */
-	    /* -------------------------------------------------------------- */
-
-	    DEBUG6 (("LUson found: "ID"\n", e)) ;
-
-	    if (nrows == nrowsleft)
-	    {
-		/* ---------------------------------------------------------- */
-		/* no rows assembled out of this LUson yet */
-		/* ---------------------------------------------------------- */
-
-		/* compute the compressed column offset vector*/
-		/* [ use Wm [0..nrows-1] for offsets */
-#pragma ivdep
-		for (i = 0 ; i < nrows ; i++)
-		{
-		    row = Rows [i] ;
-		    Row_degree [row] -= ncolsleft ;
-		    Wm [i] = Frpos [row] ;
-		}
-
-		if (ncols == ncolsleft)
-		{
-		    /* ------------------------------------------------------ */
-		    /* no rows or cols assembled out of LUson yet */
-		    /* ------------------------------------------------------ */
-
-		    for (j = 0 ; j < ncols ; j++)
-		    {
-			col = Cols [j] ;
-#ifndef FIXQ
-			Col_degree [col] -= nrowsleft ;
-#endif
-			Fcol = Fcblock + Fcpos [col] ;
-#pragma ivdep
-			for (i = 0 ; i < nrows ; i++)
-			{
-			    /* Fcol [Wm [i]] += S [i] ; */
-			    ASSEMBLE (Fcol [Wm [i]], S [i]) ;
-			}
-			S += nrows ;
-		    }
-
-
-		}
-		else
-		{
-		    /* ------------------------------------------------------ */
-		    /* only cols have been assembled out of LUson */
-		    /* ------------------------------------------------------ */
-
-		    for (j = 0 ; j < ncols ; j++)
-		    {
-			col = Cols [j] ;
-			if (col >= 0)
-			{
-#ifndef FIXQ
-			    Col_degree [col] -= nrowsleft ;
-#endif
-			    Fcol = Fcblock + Fcpos [col] ;
-#pragma ivdep
-			    for (i = 0 ; i < nrows ; i++)
-			    {
-				/* Fcol [Wm [i]] += S [i] ; */
-				ASSEMBLE (Fcol [Wm [i]], S [i]) ;
-			    }
-			}
-			S += nrows ;
-		    }
-
-		}
-		/* ] done using Wm [0..nrows-1] for offsets */
-	    }
-	    else
-	    {
-		/* ---------------------------------------------------------- */
-		/* some rows have been assembled out of this LUson */
-		/* ---------------------------------------------------------- */
-
-		/* compute the compressed column offset vector*/
-		/* [ use Woo,Wm [0..nrowsleft-1] for offsets */
-		ngetrows = 0 ;
-		for (i = 0 ; i < nrows ; i++)
-		{
-		    row = Rows [i] ;
-		    if (row >= 0)
-		    {
-			Row_degree [row] -= ncolsleft ;
-			Woo [ngetrows] = i ;
-			Wm [ngetrows++] = Frpos [row] ;
-		    }
-		}
-		ASSERT (ngetrows == nrowsleft) ;
-
-		if (ncols == ncolsleft)
-		{
-		    /* ------------------------------------------------------ */
-		    /* only rows have been assembled out of this LUson */
-		    /* ------------------------------------------------------ */
-
-		    for (j = 0 ; j < ncols ; j++)
-		    {
-			col = Cols [j] ;
-#ifndef FIXQ
-			Col_degree [col] -= nrowsleft ;
-#endif
-			Fcol = Fcblock + Fcpos [col] ;
-#pragma ivdep
-			for (i = 0 ; i < nrowsleft ; i++)
-			{
-			    /* Fcol [Wm [i]] += S [Woo [i]] ; */
-			    ASSEMBLE (Fcol [Wm [i]], S [Woo [i]]) ;
-			}
-			S += nrows ;
-		    }
-
-		}
-		else
-		{
-		    /* ------------------------------------------------------ */
-		    /* both rows and columns have been assembled out of LUson */
-		    /* ------------------------------------------------------ */
-
-		    for (j = 0 ; j < ncols ; j++)
-		    {
-			col = Cols [j] ;
-			if (col >= 0)
-			{
-#ifndef FIXQ
-			    Col_degree [col] -= nrowsleft ;
-#endif
-			    Fcol = Fcblock + Fcpos [col] ;
-#pragma ivdep
-			    for (i = 0 ; i < nrowsleft ; i++)
-			    {
-				/* Fcol [Wm [i]] += S [Woo [i]] ; */
-				ASSEMBLE (Fcol [Wm [i]], S [Woo [i]]) ;
-			    }
-			}
-			S += nrows ;
-		    }
-
-		}
-		/* ] done using Woo,Wm [0..nrowsleft-1] */
-	    }
-
-	    /* deallocate the element: remove from ordered list */
-	    UMF_mem_free_tail_block (Numeric, E [e]) ;
-	    E [e] = 0 ;
-
-	}
-	else if (extcdeg == 0)
-	{
-
-	    /* -------------------------------------------------------------- */
-	    /* this is a Uson - assemble all possible columns */
-	    /* -------------------------------------------------------------- */
-
-	    DEBUG6 (("New USON: "ID"\n", e)) ;
-	    ASSERT (extrdeg > 0) ;
-
-	    DEBUG6 (("New uson "ID" cols to do "ID"\n", e, ncols_to_assemble)) ;
-
-	    if (ncols_to_assemble > 0)
-	    {
-
-		Int skip = FALSE ;
-		if (ncols_to_assemble * 16 < ncols && nrows == 1)
-		{
-		    /* this is a tall and thin frontal matrix consisting of
-		     * only one column (most likely an original column). Do
-		     * not assemble it.   It cannot be the pivot column, since
-		     * the pivot column element would be an LU son, not an Lson,
-		     * of the current frontal matrix. */
-		    ASSERT (nrowsleft == 1) ;
-		    ASSERT (Rows [0] >= 0 && Rows [0] < Work->n_row) ;
-		    skip = TRUE ;
-		    Work->any_skip = TRUE ;
-		}
-
-		if (!skip)
-		{
-
-		    if (nrows == nrowsleft)
-		    {
-			/* -------------------------------------------------- */
-			/* no rows have been assembled out of this Uson yet */
-			/* -------------------------------------------------- */
-
-			/* compute the compressed column offset vector */
-			/* [ use Wm [0..nrows-1] for offsets */
-#pragma ivdep
-			for (i = 0 ; i < nrows ; i++)
-			{
-			    row = Rows [i] ;
-			    ASSERT (row >= 0 && row < n_row) ;
-			    Row_degree [row] -= ncols_to_assemble ;
-			    Wm [i] = Frpos [row] ;
-			}
-
-			for (j = 0 ; j < ncols ; j++)
-			{
-			    col = Cols [j] ;
-			    if ((col >= 0) && (Fcpos [col] >= 0))
-			    {
-#ifndef FIXQ
-				Col_degree [col] -= nrowsleft ;
-#endif
-				Fcol = Fcblock + Fcpos [col] ;
-#pragma ivdep
-				for (i = 0 ; i < nrows ; i++)
-				{
-				    /* Fcol [Wm [i]] += S [i] ; */
-				    ASSEMBLE (Fcol [Wm [i]], S [i]) ;
-				}
-				/* flag the column as assembled from Uson */
-				Cols [j] = EMPTY ;
-			    }
-			    S += nrows ;
-			}
-
-
-			/* ] done using Wm [0..nrows-1] for offsets */
-		    }
-		    else
-		    {
-			/* -------------------------------------------------- */
-			/* some rows have been assembled out of this Uson */
-			/* -------------------------------------------------- */
-
-			/* compute the compressed column offset vector*/
-			/* [ use Woo,Wm [0..nrows-1] for offsets */
-			ngetrows = 0 ;
-			for (i = 0 ; i < nrows ; i++)
-			{
-			    row = Rows [i] ;
-			    if (row >= 0)
-			    {
-				Row_degree [row] -= ncols_to_assemble ;
-				ASSERT (row < n_row && Frpos [row] >= 0) ;
-				Woo [ngetrows] = i ;
-				Wm [ngetrows++] = Frpos [row] ;
-			    }
-			}
-			ASSERT (ngetrows == nrowsleft) ;
-
-			for (j = 0 ; j < ncols ; j++)
-			{
-			    col = Cols [j] ;
-			    if ((col >= 0) && (Fcpos [col] >= 0))
-			    {
-#ifndef FIXQ
-				Col_degree [col] -= nrowsleft ;
-#endif
-				Fcol = Fcblock + Fcpos [col] ;
-#pragma ivdep
-				for (i = 0 ; i < nrowsleft ; i++)
-				{
-				    /* Fcol [Wm [i]] += S [Woo [i]] ; */
-				    ASSEMBLE (Fcol [Wm [i]], S [Woo [i]]) ;
-				}
-				/* flag the column as assembled from Uson */
-				Cols [j] = EMPTY ;
-			    }
-			    S += nrows ;
-			}
-
-			/* ] done using Woo,Wm */
-		    }
-		    ep->ncolsleft = extrdeg ;
-		}
-	    }
-
-	}
-	else
-	{
-
-	    /* -------------------------------------------------------------- */
-	    /* this is an Lson - assemble all possible rows */
-	    /* -------------------------------------------------------------- */
-
-	    DEBUG6 (("New LSON: "ID"\n", e)) ;
-	    ASSERT (extrdeg == 0 && extcdeg > 0) ;
-
-	    DEBUG6 (("New lson "ID" rows to do "ID"\n", e, nrows_to_assemble)) ;
-
-	    if (nrows_to_assemble > 0)
-	    {
-
-		Int skip = FALSE ;
-		if (nrows_to_assemble * 16 < nrows && ncols == 1)
-		{
-		    /* this is a tall and thin frontal matrix consisting of
-		     * only one column (most likely an original column). Do
-		     * not assemble it.   It cannot be the pivot column, since
-		     * the pivot column element would be an LU son, not an Lson,
-		     * of the current frontal matrix. */
-		    ASSERT (ncolsleft == 1) ;
-		    ASSERT (Cols [0] >= 0 && Cols [0] < Work->n_col) ;
-		    Work->any_skip = TRUE ;
-		    skip = TRUE ;
-		}
-
-		if (!skip)
-		{
-
-		    /* compute the compressed column offset vector */
-		    /* [ use Woo,Wm [0..nrows-1] for offsets */
-		    ngetrows = 0 ;
-		    for (i = 0 ; i < nrows ; i++)
-		    {
-			row = Rows [i] ;
-			if ((row >= 0) && (Frpos [row] >= 0))
-			{
-			    ASSERT (row < n_row) ;
-			    Row_degree [row] -= ncolsleft ;
-			    Woo [ngetrows] = i ;
-			    Wm [ngetrows++] = Frpos [row] ;
-			    /* flag the row as assembled from the Lson */
-			    Rows [i] = EMPTY ;
-			}
-		    }
-		    ASSERT (nrowsleft - ngetrows == extcdeg) ;
-		    ASSERT (ngetrows == nrows_to_assemble) ;
-
-		    if (ncols == ncolsleft)
-		    {
-			/* -------------------------------------------------- */
-			/* no columns assembled out this Lson yet */
-			/* -------------------------------------------------- */
-
-			for (j = 0 ; j < ncols ; j++)
-			{
-			    col = Cols [j] ;
-			    ASSERT (col >= 0 && col < n_col) ;
-#ifndef FIXQ
-			    Col_degree [col] -= nrows_to_assemble ;
-#endif
-			    Fcol = Fcblock + Fcpos [col] ;
-#pragma ivdep
-			    for (i = 0 ; i < nrows_to_assemble ; i++)
-			    {
-				/* Fcol [Wm [i]] += S [Woo [i]] ; */
-				ASSEMBLE (Fcol [Wm [i]], S [Woo [i]]) ;
-			    }
-			    S += nrows ;
-			}
-
-
-		    }
-		    else
-		    {
-			/* -------------------------------------------------- */
-			/* some columns have been assembled out of this Lson */
-			/* -------------------------------------------------- */
-
-			for (j = 0 ; j < ncols ; j++)
-			{
-			    col = Cols [j] ;
-			    ASSERT (col < n_col) ;
-			    if (col >= 0)
-			    {
-#ifndef FIXQ
-				Col_degree [col] -= nrows_to_assemble ;
-#endif
-				Fcol = Fcblock + Fcpos [col] ;
-#pragma ivdep
-				for (i = 0 ; i < nrows_to_assemble ; i++)
-				{
-				    /* Fcol [Wm [i]] += S [Woo [i]] ; */
-				    ASSEMBLE (Fcol [Wm [i]], S [Woo [i]]) ;
-				}
-			    }
-			    S += nrows ;
-			}
-
-		    }
-
-		    /* ] done using Woo,Wm */
-
-		    ep->nrowsleft = extcdeg ;
-		}
-	    }
-	}
-    }
-
-    /* Note that garbage collection, and build tuples */
-    /* both destroy the son list. */
-
-    /* ] son_list now empty */
-
-    /* ---------------------------------------------------------------------- */
-    /* If frontal matrix extended, assemble old L/Usons from new rows/cols */
-    /* ---------------------------------------------------------------------- */
-
-    /* ---------------------------------------------------------------------- */
-    /* SCAN2-row:  assemble rows of old Lsons from the new rows */
-    /* ---------------------------------------------------------------------- */
-
-#ifndef NDEBUG
-    DEBUG7 (("Current frontal matrix: (prior to scan2-row)\n")) ;
-    UMF_dump_current_front (Numeric, Work, TRUE) ;
-#endif
-
-    /* rescan the pivot row */
-    if (Work->any_skip)
-    {
-	row_assemble (Work->pivrow, Numeric, Work) ;
-    }
-
-    if (Work->do_scan2row)
-    {
-	for (i2 = Work->fscan_row ; i2 < fnrows ; i2++)
-	{
-	    /* Get a row */
-	    row = Work->NewRows [i2] ;
-	    if (row < 0) row = FLIP (row) ;
-	    ASSERT (row >= 0 && row < n_row) ;
-	    if (!(row == Work->pivrow && Work->any_skip))
-	    {
-		/* assemble it */
-		row_assemble (row, Numeric, Work) ;
-	    }
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* SCAN2-col:  assemble columns of old Usons from the new columns */
-    /* ---------------------------------------------------------------------- */
-
-#ifndef NDEBUG
-    DEBUG7 (("Current frontal matrix: (prior to scan2-col)\n")) ;
-    UMF_dump_current_front (Numeric, Work, TRUE) ;
-#endif
-
-    /* rescan the pivot col */
-    if (Work->any_skip)
-    {
-	col_assemble (Work->pivcol, Numeric, Work) ;
-    }
-
-    if (Work->do_scan2col)
-    {
-
-	for (j2 = Work->fscan_col ; j2 < fncols ; j2++)
-	{
-	    /* Get a column */
-	    col = Work->NewCols [j2] ;
-	    if (col < 0) col = FLIP (col) ;
-	    ASSERT (col >= 0 && col < n_col) ;
-	    if (!(col == Work->pivcol && Work->any_skip))
-	    {
-		/* assemble it */
-		col_assemble (col, Numeric, Work) ;
-	    }
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* done.  the remainder of this routine is used only when in debug mode */
-    /* ---------------------------------------------------------------------- */
-
-#ifndef NDEBUG
-
-    /* ---------------------------------------------------------------------- */
-    /* when debugging: make sure the assembly did everything that it could */
-    /* ---------------------------------------------------------------------- */
-
-    DEBUG3 (("::Assemble done\n")) ;
-
-    for (i2 = 0 ; i2 < fnrows ; i2++)
-    {
-	/* Get a row */
-	row = Work->Frows [i2] ;
-	ASSERT (row >= 0 && row < n_row) ;
-
-	DEBUG6 (("DEBUG SCAN 1: "ID"\n", row)) ;
-	UMF_dump_rowcol (0, Numeric, Work, row, TRUE) ;
-
-	ASSERT (NON_PIVOTAL_ROW (row)) ;
-	tpi = Row_tuples [row] ;
-	if (!tpi) continue ;
-	tp = (Tuple *) (Memory + tpi) ;
-	tpend = tp + Row_tlen [row] ;
-	for ( ; tp < tpend ; tp++)
-	{
-	    e = tp->e ;
-	    ASSERT (e > 0 && e <= Work->nel) ;
-	    if (!E [e]) continue ;	/* element already deallocated */
-	    f = tp->f ;
-	    p = Memory + E [e] ;
-	    ep = (Element *) p ;
-	    p += UNITS (Element, 1) ;
-	    Cols = (Int *) p ;
-	    Rows = ((Int *) p) + ep->ncols ;
-	    if (Rows [f] == EMPTY) continue ;	/* row already assembled */
-	    ASSERT (row == Rows [f]) ;
-	    extrdeg = (ep->rdeg < rdeg0) ? ep->ncolsleft : (ep->rdeg - rdeg0) ;
-	    extcdeg = (ep->cdeg < cdeg0) ? ep->nrowsleft : (ep->cdeg - cdeg0) ;
-	    DEBUG6 ((
-		"e "ID" After assembly ext row deg: "ID" ext col degree "ID"\n",
-		e, extrdeg, extcdeg)) ;
-
-	    if (Work->any_skip)
-	    {
-		/* no Lsons in any row, except for very tall and thin ones */
-		ASSERT (extrdeg >= 0) ;
-		if (extrdeg == 0)
-		{
-		    /* this is an unassemble Lson */
-		    ASSERT (ep->ncols == 1) ;
-		    ASSERT (ep->ncolsleft == 1) ;
-		    col = Cols [0] ;
-		    ASSERT (col != Work->pivcol) ;
-		}
-	    }
-	    else
-	    {
-		/* no Lsons in any row */
-		ASSERT (extrdeg > 0) ;
-		/* Uson external row degree is = number of cols left */
-		ASSERT (IMPLIES (extcdeg == 0, extrdeg == ep->ncolsleft)) ;
-	    }
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-
-    for (j2 = 0 ; j2 < fncols ; j2++)
-    {
-	/* Get a column */
-	col = Work->Fcols [j2] ;
-	ASSERT (col >= 0 && col < n_col) ;
-
-	DEBUG6 (("DEBUG SCAN 2: "ID"\n", col)) ;
-#ifndef FIXQ
-	UMF_dump_rowcol (1, Numeric, Work, col, TRUE) ;
-#else
-	UMF_dump_rowcol (1, Numeric, Work, col, FALSE) ;
-#endif
-
-	ASSERT (NON_PIVOTAL_COL (col)) ;
-	tpi = Col_tuples [col] ;
-	if (!tpi) continue ;
-	tp = (Tuple *) (Memory + tpi) ;
-	tpend = tp + Col_tlen [col] ;
-	for ( ; tp < tpend ; tp++)
-	{
-	    e = tp->e ;
-	    ASSERT (e > 0 && e <= Work->nel) ;
-	    if (!E [e]) continue ;	/* element already deallocated */
-	    f = tp->f ;
-	    p = Memory + E [e] ;
-	    ep = (Element *) p ;
-	    p += UNITS (Element, 1) ;
-	    Cols = (Int *) p ;
-	    Rows = ((Int *) p) + ep->ncols ;
-	    if (Cols [f] == EMPTY) continue ;	/* column already assembled */
-	    ASSERT (col == Cols [f]) ;
-	    extrdeg = (ep->rdeg < rdeg0) ? ep->ncolsleft : (ep->rdeg - rdeg0) ;
-	    extcdeg = (ep->cdeg < cdeg0) ? ep->nrowsleft : (ep->cdeg - cdeg0) ;
-	    DEBUG6 (("e "ID" After assembly ext col deg: "ID"\n", e, extcdeg)) ;
-
-	    if (Work->any_skip)
-	    {
-		/* no Usons in any column, except for very tall and thin ones */
-		ASSERT (extcdeg >= 0) ;
-		if (extcdeg == 0)
-		{
-		    /* this is an unassemble Uson */
-		    ASSERT (ep->nrows == 1) ;
-		    ASSERT (ep->nrowsleft == 1) ;
-		    row = Rows [0] ;
-		    ASSERT (row != Work->pivrow) ;
-		}
-	    }
-	    else
-	    {
-		/* no Usons in any column */
-		ASSERT (extcdeg > 0) ;
-		/* Lson external column degree is = number of rows left */
-		ASSERT (IMPLIES (extrdeg == 0, extcdeg == ep->nrowsleft)) ;
-	    }
-	}
-    }
-#endif /* NDEBUG */
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_assemble.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL void UMF_assemble
-(
-    NumericType *Numeric,
-    WorkType *Work
-) ;
-
-GLOBAL void UMF_assemble_fixq
-(
-    NumericType *Numeric,
-    WorkType *Work
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_blas3_update.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +0,0 @@
-/* ========================================================================== */
-/* === UMF_blas3_update ===================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-#include "umf_internal.h"
-
-GLOBAL void UMF_blas3_update
-(
-    WorkType *Work
-)
-{
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    Entry *L, *U, *C, *LU ;
-    Int k, m, n, d, nb, dc ;
-
-    DEBUG5 (("In UMF_blas3_update "ID" "ID" "ID"\n",
-	Work->fnpiv, Work->fnrows, Work->fncols)) ;
-
-    k = Work->fnpiv ;
-    if (k == 0)
-    {
-	/* no work to do */
-	return ;
-    }
-
-    m = Work->fnrows ;
-    n = Work->fncols ;
-
-    d = Work->fnr_curr ;
-    dc = Work->fnc_curr ;
-    nb = Work->nb ;
-    ASSERT (d >= 0 && (d % 2) == 1) ;
-    C = Work->Fcblock ;	    /* ldc is fnr_curr */
-    L =	Work->Flblock ;	    /* ldl is fnr_curr */
-    U = Work->Fublock ;	    /* ldu is fnc_curr, stored by rows */
-    LU = Work->Flublock ;   /* nb-by-nb */
-
-#ifndef NDEBUG
-    DEBUG5 (("DO RANK-NB UPDATE of frontal:\n")) ;
-    DEBUG5 (("DGEMM : "ID" "ID" "ID"\n", k, m, n)) ;
-    DEBUG7 (("C  block: ")) ; UMF_dump_dense (C,  d, m, n) ;
-    DEBUG7 (("A  block: ")) ; UMF_dump_dense (L,  d, m, k) ;
-    DEBUG7 (("B' block: ")) ; UMF_dump_dense (U, dc, n, k) ;
-    DEBUG7 (("LU block: ")) ; UMF_dump_dense (LU, nb, k, k) ;
-#endif
-
-    if (k == 1)
-    {
-
-#ifdef USE_NO_BLAS
-
-	/* no BLAS available - use plain C code instead */
-	Int i, j ;
-
-	/* rank-1 outer product to update the C block */
-	for (j = 0 ; j < n ; j++)
-	{
-	    Entry u_j = U [j] ;
-	    if (IS_NONZERO (u_j))
-	    {
-		Entry *c_ij, *l_is ;
-		c_ij = & C [j*d] ;
-		l_is = & L [0] ;
-#pragma ivdep
-		for (i = 0 ; i < m ; i++)
-		{
-		    /* C [i+j*d]-= L [i] * U [j] */
-		    MULT_SUB (*c_ij, *l_is, u_j) ;
-		    c_ij++ ;
-		    l_is++ ;
-		}
-	    }
-	}
-
-#else
-	BLAS_GER (m, n, L, U, C, d) ;
-
-#endif /* USE_NO_BLAS */
-
-    }
-    else
-    {
-
-#ifdef USE_NO_BLAS
-
-	/* no BLAS available - use plain C code instead */
-	Int i, j, s ;
-
-	/* triangular solve to update the U block */
-	for (s = 0 ; s < k ; s++)
-	{
-	    for (i = s+1 ; i < k ; i++)
-	    {
-		Entry l_is = LU [i+s*nb] ;
-		if (IS_NONZERO (l_is))
-		{
-		    Entry *u_ij, *u_sj ;
-		    u_ij = & U [i*dc] ;
-		    u_sj = & U [s*dc] ;
-#pragma ivdep
-		    for (j = 0 ; j < n ; j++)
-		    {
-			/* U [i*dc+j] -= LU [i+s*nb] * U [s*dc+j] ; */
-			MULT_SUB (*u_ij, l_is, *u_sj) ;
-			u_ij++ ;
-			u_sj++ ;
-		    }
-		}
-	    }
-	}
-
-	/* rank-k outer product to update the C block */
-	/* C = C - L*U' (U is stored by rows, not columns) */
-	for (s = 0 ; s < k ; s++)
-	{
-	    for (j = 0 ; j < n ; j++)
-	    {
-		Entry u_sj = U [j+s*dc] ;
-		if (IS_NONZERO (u_sj))
-		{
-		    Entry *c_ij, *l_is ;
-		    c_ij = & C [j*d] ;
-		    l_is = & L [s*d] ;
-#pragma ivdep
-		    for (i = 0 ; i < m ; i++)
-		    {
-			/* C [i+j*d]-= L [i+s*d] * U [s*dc+j] */
-			MULT_SUB (*c_ij, *l_is, u_sj) ;
-			c_ij++ ;
-			l_is++ ;
-		    }
-		}
-	    }
-	}
-
-#else
-
-	BLAS_TRSM_RIGHT (n, k, LU, nb, U, dc) ;
-	BLAS_GEMM (m, n, k, L, U, dc, C, d) ;
-
-#endif /* USE_NO_BLAS */
-
-    }
-
-#ifndef NDEBUG
-    DEBUG5 (("RANK-NB UPDATE of frontal done:\n")) ;
-    DEBUG5 (("DGEMM : "ID" "ID" "ID"\n", k, m, n)) ;
-    DEBUG7 (("C  block: ")) ; UMF_dump_dense (C,  d, m, n) ;
-    DEBUG7 (("A  block: ")) ; UMF_dump_dense (L,  d, m, k) ;
-    DEBUG7 (("B' block: ")) ; UMF_dump_dense (U, dc, n, k) ;
-    DEBUG7 (("LU block: ")) ; UMF_dump_dense (LU, nb, k, k) ;
-#endif
-
-    DEBUG2 (("blas3 "ID" "ID" "ID"\n", k, Work->fnrows, Work->fncols)) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_blas3_update.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL void UMF_blas3_update
-(
-    WorkType *Work
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_build_tuples.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,159 +0,0 @@
-/* ========================================================================== */
-/* === UMF_build_tuples ===================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    Construct the tuple lists from a set of packed elements (no holes in
-    elements, no internal or external fragmentation, and a packed (0..Work->nel)
-    element name space).  Assume no tuple lists are currently allocated, but
-    that the tuple lengths have been initialized by UMF_tuple_lengths.
-
-    Returns TRUE if successful, FALSE if not enough memory.
-*/
-
-#include "umf_internal.h"
-#include "umf_mem_alloc_tail_block.h"
-
-GLOBAL Int UMF_build_tuples
-(
-    NumericType *Numeric,
-    WorkType *Work
-)
-{
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    Int e, nrows, ncols, nel, *Rows, *Cols, row, col, n_row, n_col, *E,
-	*Row_tuples, *Row_degree, *Row_tlen,
-	*Col_tuples, *Col_degree, *Col_tlen, n1 ;
-    Element *ep ;
-    Unit *p ;
-    Tuple tuple, *tp ;
-
-    /* ---------------------------------------------------------------------- */
-    /* get parameters */
-    /* ---------------------------------------------------------------------- */
-
-    E = Work->E ;
-    Col_degree = Numeric->Cperm ;	/* for NON_PIVOTAL_COL macro */
-    Row_degree = Numeric->Rperm ;	/* for NON_PIVOTAL_ROW macro */
-    Row_tuples = Numeric->Uip ;
-    Row_tlen   = Numeric->Uilen ;
-    Col_tuples = Numeric->Lip ;
-    Col_tlen   = Numeric->Lilen ;
-    n_row = Work->n_row ;
-    n_col = Work->n_col ;
-    nel = Work->nel ;
-    n1 = Work->n1 ;
-
-    DEBUG3 (("BUILD_TUPLES: n_row "ID" n_col "ID" nel "ID"\n",
-	n_row, n_col, nel)) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* allocate space for the tuple lists */
-    /* ---------------------------------------------------------------------- */
-
-    /* Garbage collection and memory reallocation have already attempted to */
-    /* ensure that there is enough memory for all the tuple lists.  If */
-    /* memory allocation fails here, then there is nothing more to be done. */
-
-    for (row = n1 ; row < n_row ; row++)
-    {
-	if (NON_PIVOTAL_ROW (row))
-	{
-	    Row_tuples [row] = UMF_mem_alloc_tail_block (Numeric,
-		UNITS (Tuple, TUPLES (Row_tlen [row]))) ;
-	    if (!Row_tuples [row])
-	    {
-		/* :: out of memory for row tuples :: */
-		DEBUGm4 (("out of memory: build row tuples\n")) ;
-		return (FALSE) ;	/* out of memory for row tuples */
-	    }
-	    Row_tlen [row] = 0 ;
-	}
-    }
-
-    /* push on stack in reverse order, so column tuples are in the order */
-    /* that they will be deleted. */
-    for (col = n_col-1 ; col >= n1 ; col--)
-    {
-	if (NON_PIVOTAL_COL (col))
-	{
-	    Col_tuples [col] = UMF_mem_alloc_tail_block (Numeric,
-		UNITS (Tuple, TUPLES (Col_tlen [col]))) ;
-	    if (!Col_tuples [col])
-	    {
-		/* :: out of memory for col tuples :: */
-		DEBUGm4 (("out of memory: build col tuples\n")) ;
-		return (FALSE) ;	/* out of memory for col tuples */
-	    }
-	    Col_tlen [col] = 0 ;
-	}
-    }
-
-#ifndef NDEBUG
-    UMF_dump_memory (Numeric) ;
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* create the tuple lists (exclude element 0) */
-    /* ---------------------------------------------------------------------- */
-
-    /* for all elements, in order of creation */
-    for (e = 1 ; e <= nel ; e++)
-    {
-	DEBUG9 (("Adding tuples for element: "ID" at "ID"\n", e, E [e])) ;
-	ASSERT (E [e]) ;	/* no external fragmentation */
-	p = Numeric->Memory + E [e] ;
-	GET_ELEMENT_PATTERN (ep, p, Cols, Rows, ncols) ;
-	nrows = ep->nrows ;
-	ASSERT (e != 0) ;
-	ASSERT (e == 0 || nrows == ep->nrowsleft) ;
-	ASSERT (e == 0 || ncols == ep->ncolsleft) ;
-	tuple.e = e ;
-	for (tuple.f = 0 ; tuple.f < ncols ; tuple.f++)
-	{
-	    col = Cols [tuple.f] ;
-	    ASSERT (col >= n1 && col < n_col) ;
-	    ASSERT (NON_PIVOTAL_COL (col)) ;
-	    ASSERT (Col_tuples [col]) ;
-	    tp = ((Tuple *) (Numeric->Memory + Col_tuples [col]))
-		+ Col_tlen [col]++ ;
-	    *tp = tuple ;
-#ifndef NDEBUG
-	    UMF_dump_rowcol (1, Numeric, Work, col, FALSE) ;
-#endif
-	}
-	for (tuple.f = 0 ; tuple.f < nrows ; tuple.f++)
-	{
-	    row = Rows [tuple.f] ;
-	    ASSERT (row >= n1 && row < n_row) ;
-	    ASSERT (NON_PIVOTAL_COL (col)) ;
-	    ASSERT (Row_tuples [row]) ;
-	    tp = ((Tuple *) (Numeric->Memory + Row_tuples [row]))
-		+ Row_tlen [row]++ ;
-	    *tp = tuple ;
-#ifndef NDEBUG
-	    UMF_dump_rowcol (0, Numeric, Work, row, FALSE) ;
-#endif
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* the tuple lists are now valid, and can be scanned */
-    /* ---------------------------------------------------------------------- */
-
-#ifndef NDEBUG
-    UMF_dump_memory (Numeric) ;
-    UMF_dump_matrix (Numeric, Work, FALSE) ;
-#endif
-    DEBUG3 (("BUILD_TUPLES: done\n")) ;
-    return (TRUE) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_build_tuples.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL Int UMF_build_tuples
-(
-    NumericType *Numeric,
-    WorkType *Work
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_colamd.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3139 +0,0 @@
-/* ========================================================================== */
-/* === UMF_colamd =========================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-UMF_colamd:  an approximate minimum degree column ordering algorithm,
-    used as a preordering for UMFPACK.
-
-NOTE: if this routine is used outside of UMFPACK, for a sparse Cholesky
-factorization of (AQ)'*(AQ) or a QR factorization of A, then one line should
-be removed (the "&& pivot_row_thickness > 0" expression).  See the comment
-regarding the Cholesky factorization, below.
-
-Purpose:
-
-    Colamd computes a permutation Q such that the Cholesky factorization of
-    (AQ)'(AQ) has less fill-in and requires fewer floating point operations
-    than A'A.  This also provides a good ordering for sparse partial
-    pivoting methods, P(AQ) = LU, where Q is computed prior to numerical
-    factorization, and P is computed during numerical factorization via
-    conventional partial pivoting with row interchanges.  Colamd is the
-    column ordering method used in SuperLU, part of the ScaLAPACK library.
-    It is also available as built-in function in MATLAB Version 6,
-    available from MathWorks, Inc. (http://www.mathworks.com).  This
-    routine can be used in place of colmmd in MATLAB.  By default, the \
-    and / operators in MATLAB perform a column ordering (using colmmd
-    or colamd) prior to LU factorization using sparse partial pivoting,
-    in the built-in MATLAB lu(A) routine.
-
-    This code is derived from Colamd Version 2.0.
-
-Authors:
-
-    The authors of the COLAMD code itself are Stefan I. Larimore and Timothy A.
-    Davis, University of Florida.  The algorithm was developed in collaboration
-    with John Gilbert, Xerox PARC, and Esmond Ng, Oak Ridge National Laboratory.
-    The AMD metric on which this is based is by Patrick Amestoy, T. Davis,
-    and Iain Duff.
-
-Date:
-
-    UMFPACK Version: see above.
-    COLAMD Version 2.0 was released on January 31, 2000.
-
-Acknowledgements:
-
-    This work was supported by the National Science Foundation, under
-    grants DMS-9504974, DMS-9803599, and CCR-0203270.
-
-UMFPACK:  Copyright (c) 2003 by Timothy A. Davis.  All Rights Reserved.
-
-See the UMFPACK README file for the License for your use of this code.
-
-Availability:
-
-    Both UMFPACK and the original unmodified colamd/symamd library are
-    available at http://www.cise.ufl.edu/research/sparse.
-
-Changes for inclusion in UMFPACK:
-
-    * symamd, symamd_report, and colamd_report removed
-
-    * additional terms added to RowInfo, ColInfo, and stats
-
-    * Frontal matrix information computed for UMFPACK
-
-    * routines renamed
-
-    * column elimination tree post-ordering incorporated.  In the original
-	version 2.0, this was performed in colamd.m.
-
-For more information, see:
-
-	Amestoy, P. R. and Davis, T. A. and Duff, I. S.,
-	An approximate minimum degree ordering algorithm,
-	SIAM J. Matrix Analysis and Applic, vol 17, no 4., pp 886-905, 1996.
-
-	Davis, T. A. and Gilbert, J. R. and Larimore, S. I. and Ng, E. G.,
-	A column approximate minimum degree ordering algorithm,
-	Univ. of Florida, CISE Dept., TR-00-005, Gainesville, FL
-	Oct. 2000.  Submitted to ACM Trans. Math. Softw.
-
-*/
-
-/* ========================================================================== */
-/* === Description of user-callable routines ================================ */
-/* ========================================================================== */
-
-/*
-    ----------------------------------------------------------------------------
-    colamd_recommended: removed for UMFPACK
-    ----------------------------------------------------------------------------
-
-    ----------------------------------------------------------------------------
-    colamd_set_defaults:
-    ----------------------------------------------------------------------------
-
-	C syntax:
-
-	    #include "colamd.h"
-	    colamd_set_defaults (double knobs [COLAMD_KNOBS]) ;
-
-	Purpose:
-
-	    Sets the default parameters.  The use of this routine is optional.
-
-	Arguments:
-
-	    double knobs [COLAMD_KNOBS] ;	Output only.
-
-		Let c = knobs [COLAMD_DENSE_COL], r = knobs [COLAMD_DENSE_ROW].
-		Colamd: rows with more than max (16, r*16*sqrt(n_col))
-		entries are removed prior to ordering.  Columns with more than
-		max (16, c*16*sqrt(n_row)) entries are removed prior to
-		ordering, and placed last in the output column ordering.
-
-		Symamd: removed for UMFPACK.
-
-		COLAMD_DENSE_ROW and COLAMD_DENSE_COL are defined as 0 and 1,
-		respectively, in colamd.h.  Default values of these two knobs
-		are both 0.5.  Currently, only knobs [0] and knobs [1] are
-		used, but future versions may use more knobs.  If so, they will
-		be properly set to their defaults by the future version of
-		colamd_set_defaults, so that the code that calls colamd will
-		not need to change, assuming that you either use
-		colamd_set_defaults, or pass a (double *) NULL pointer as the
-		knobs array to colamd or symamd.
-
-		knobs [COLAMD_AGGRESSIVE]: if nonzero, then perform aggressive
-		absorption.  Otherwise, do not.  This version does aggressive
-		absorption by default.  COLAMD v2.1 (in MATLAB) always
-		does aggressive absorption (it doesn't have an option to turn
-		it off).
-
-    ----------------------------------------------------------------------------
-    colamd:
-    ----------------------------------------------------------------------------
-
-	C syntax:
-
-	    #include "colamd.h"
-	    Int UMF_colamd (Int n_row, Int n_col, Int Alen, Int *A, Int *p,
-		double knobs [COLAMD_KNOBS], Int stats [COLAMD_STATS]) ;
-
-	Purpose:
-
-	    Computes a column ordering (Q) of A such that P(AQ)=LU or
-	    (AQ)'AQ=LL' have less fill-in and require fewer floating point
-	    operations than factorizing the unpermuted matrix A or A'A,
-	    respectively.
-
-	Returns:
-
-	    TRUE (1) if successful, FALSE (0) otherwise.
-
-	Arguments:
-
-	    Int n_row ;		Input argument.
-
-		Number of rows in the matrix A.
-		Restriction:  n_row >= 0.
-		Colamd returns FALSE if n_row is negative.
-
-	    Int n_col ;		Input argument.
-
-		Number of columns in the matrix A.
-		Restriction:  n_col >= 0.
-		Colamd returns FALSE if n_col is negative.
-
-	    Int Alen ;		Input argument.
-
-		Restriction (see note):
-		Alen >= 2*nnz + 8*(n_col+1) + 6*(n_row+1) + n_col
-		Colamd returns FALSE if these conditions are not met.
-
-		Note:  this restriction makes an modest assumption regarding
-		the size of the two typedef's structures in colamd.h.
-		We do, however, guarantee that
-
-			Alen >= UMF_COLAMD_RECOMMENDED (nnz, n_row, n_col)
-
-		will be sufficient.
-
-	    Int A [Alen] ;	Input and output argument.
-
-		A is an integer array of size Alen.  Alen must be at least as
-		large as the bare minimum value given above, but this is very
-		low, and can result in excessive run time.  For best
-		performance, we recommend that Alen be greater than or equal to
-		UMF_COLAMD_RECOMMENDED (nnz, n_row, n_col), which adds
-		nnz/5 to the bare minimum value given above.
-
-		On input, the row indices of the entries in column c of the
-		matrix are held in A [(p [c]) ... (p [c+1]-1)].  The row indices
-		in a given column c need not be in ascending order, and
-		duplicate row indices may be be present.  However, colamd will
-		work a little faster if both of these conditions are met
-		(Colamd puts the matrix into this format, if it finds that the
-		the conditions are not met).
-
-		The matrix is 0-based.  That is, rows are in the range 0 to
-		n_row-1, and columns are in the range 0 to n_col-1.  Colamd
-		returns FALSE if any row index is out of range.
-
-		A holds the inverse permutation on output.
-
-	    Int p [n_col+1] ;	Both input and output argument.
-
-		p is an integer array of size n_col+1.  On input, it holds the
-		"pointers" for the column form of the matrix A.  Column c of
-		the matrix A is held in A [(p [c]) ... (p [c+1]-1)].  The first
-		entry, p [0], must be zero, and p [c] <= p [c+1] must hold
-		for all c in the range 0 to n_col-1.  The value p [n_col] is
-		thus the total number of entries in the pattern of the matrix A.
-		Colamd returns FALSE if these conditions are not met.
-
-		On output, if colamd returns TRUE, the array p holds the column
-		permutation (Q, for P(AQ)=LU or (AQ)'(AQ)=LL'), where p [0] is
-		the first column index in the new ordering, and p [n_col-1] is
-		the last.  That is, p [k] = j means that column j of A is the
-		kth pivot column, in AQ, where k is in the range 0 to n_col-1
-		(p [0] = j means that column j of A is the first column in AQ).
-
-		If colamd returns FALSE, then no permutation is returned, and
-		p is undefined on output.
-
-	    double knobs [COLAMD_KNOBS] ;	Input argument.
-
-		See colamd_set_defaults for a description.
-		The behavior is undefined if knobs contains NaN's.
-		(UMFPACK does not call umf_colamd with NaN-valued knobs).
-
-	    Int stats [COLAMD_STATS] ;		Output argument.
-
-		Statistics on the ordering, and error status.
-		See colamd.h for related definitions.
-		Colamd returns FALSE if stats is not present.
-
-		stats [0]:  number of dense or empty rows ignored.
-
-		stats [1]:  number of dense or empty columns ignored (and
-				ordered last in the output permutation p)
-				Note that a row can become "empty" if it
-				contains only "dense" and/or "empty" columns,
-				and similarly a column can become "empty" if it
-				only contains "dense" and/or "empty" rows.
-
-		stats [2]:  number of garbage collections performed.
-				This can be excessively high if Alen is close
-				to the minimum required value.
-
-		stats [3]:  status code.  < 0 is an error code.
-			    > 1 is a warning or notice.
-
-			0	OK.  Each column of the input matrix contained
-				row indices in increasing order, with no
-				duplicates.
-
-			-11	Columns of input matrix jumbled
-				(unsorted columns or duplicate entries).
-
-					stats [4]: the bad column index
-					stats [5]: the bad row index
-
-			-1	A is a null pointer
-
-			-2	p is a null pointer
-
-			-3	n_row is negative
-
-					stats [4]: n_row
-
-			-4	n_col is negative
-
-					stats [4]: n_col
-
-			-5	number of nonzeros in matrix is negative
-
-					stats [4]: number of nonzeros, p [n_col]
-
-			-6	p [0] is nonzero
-
-					stats [4]: p [0]
-
-			-7	A is too small
-
-					stats [4]: required size
-					stats [5]: actual size (Alen)
-
-			-8	a column has a zero or negative number of
-				entries (changed for UMFPACK)
-
-					stats [4]: column with <= 0 entries
-					stats [5]: number of entries in col
-
-			-9	a row index is out of bounds
-
-					stats [4]: column with bad row index
-					stats [5]: bad row index
-					stats [6]: n_row, # of rows of matrx
-
-			-10	unused
-
-			-999	(unused; see symamd.c)
-
-		Future versions may return more statistics in the stats array.
-
-	Example:
-
-	    See http://www.cise.ufl.edu/~davis/colamd/example.c
-	    for a complete example.
-
-	    To order the columns of a 5-by-4 matrix with 11 nonzero entries in
-	    the following nonzero pattern
-
-		x 0 x 0
-		x 0 x x
-		0 x x 0
-		0 0 x x
-		x x 0 0
-
-	    with default knobs and no output statistics, do the following:
-
-		#include "colamd.h"
-		#define ALEN UMF_COLAMD_RECOMMENDED (11, 5, 4)
-		Int A [ALEN] = {1, 2, 5, 3, 5, 1, 2, 3, 4, 2, 4} ;
-		Int p [ ] = {0, 3, 5, 9, 11} ;
-		Int stats [COLAMD_STATS] ;
-		UMF_colamd (5, 4, ALEN, A, p, (double *) NULL, stats) ;
-
-	    The permutation is returned in the array p, and A is destroyed.
-
-
-    ----------------------------------------------------------------------------
-    symamd:  does not appear in this version for UMFPACK
-    ----------------------------------------------------------------------------
-
-    ----------------------------------------------------------------------------
-    colamd_report: does not appear in this version for UMFPACK
-    ----------------------------------------------------------------------------
-
-    ----------------------------------------------------------------------------
-    symamd_report: does not appear in this version for UMFPACK
-    ----------------------------------------------------------------------------
-
-*/
-
-/* ========================================================================== */
-/* === Scaffolding code definitions  ======================================== */
-/* ========================================================================== */
-
-/* UMFPACK debugging control moved to amd_internal.h */
-
-/*
-   Our "scaffolding code" philosophy:  In our opinion, well-written library
-   code should keep its "debugging" code, and just normally have it turned off
-   by the compiler so as not to interfere with performance.  This serves
-   several purposes:
-
-   (1) assertions act as comments to the reader, telling you what the code
-	expects at that point.  All assertions will always be true (unless
-	there really is a bug, of course).
-
-   (2) leaving in the scaffolding code assists anyone who would like to modify
-	the code, or understand the algorithm (by reading the debugging output,
-	one can get a glimpse into what the code is doing).
-
-   (3) (gasp!) for actually finding bugs.  This code has been heavily tested
-	and "should" be fully functional and bug-free ... but you never know...
-
-    To enable debugging, comment out the "#define NDEBUG" above.  For a MATLAB
-    mexFunction, you will also need to modify mexopts.sh to remove the -DNDEBUG
-    definition.  The code will become outrageously slow when debugging is
-    enabled.  To control the level of debugging output, set an environment
-    variable D to 0 (little), 1 (some), 2, 3, or 4 (lots).  When debugging,
-    you should see the following message on the standard output:
-
-	colamd: debug version, D = 1 (THIS WILL BE SLOW!)
-
-    or a similar message for symamd.  If you don't, then debugging has not
-    been enabled.
-
-*/
-
-/* ========================================================================== */
-/* === Include files ======================================================== */
-/* ========================================================================== */
-
-/* ------------------ */
-/* modified for UMFPACK: */
-#include "umf_internal.h"
-#include "umf_colamd.h"
-#include "umf_apply_order.h"
-#include "umf_fsize.h"
-/* ------------------ */
-
-/* ========================================================================== */
-/* === Definitions ========================================================== */
-/* ========================================================================== */
-
-/* ------------------ */
-/* UMFPACK: duplicate definitions moved to umf_internal.h */
-/* ------------------ */
-
-/* Row and column status */
-#define ALIVE	(0)
-#define DEAD	(-1)
-
-/* Column status */
-#define DEAD_PRINCIPAL		(-1)
-#define DEAD_NON_PRINCIPAL	(-2)
-
-/* Macros for row and column status update and checking. */
-#define ROW_IS_DEAD(r)			ROW_IS_MARKED_DEAD (Row[r].shared2.mark)
-#define ROW_IS_MARKED_DEAD(row_mark)	(row_mark < ALIVE)
-#define ROW_IS_ALIVE(r)			(Row [r].shared2.mark >= ALIVE)
-#define COL_IS_DEAD(c)			(Col [c].start < ALIVE)
-#define COL_IS_ALIVE(c)			(Col [c].start >= ALIVE)
-#define COL_IS_DEAD_PRINCIPAL(c)	(Col [c].start == DEAD_PRINCIPAL)
-#define KILL_ROW(r)			{ Row [r].shared2.mark = DEAD ; }
-#define KILL_PRINCIPAL_COL(c)		{ Col [c].start = DEAD_PRINCIPAL ; }
-#define KILL_NON_PRINCIPAL_COL(c)	{ Col [c].start = DEAD_NON_PRINCIPAL ; }
-
-/* ------------------ */
-/* UMFPACK: Colamd reporting mechanism moved to umf_internal.h */
-/* ------------------ */
-
-/* ========================================================================== */
-/* === Prototypes of PRIVATE routines ======================================= */
-/* ========================================================================== */
-
-PRIVATE Int init_rows_cols
-(
-    Int n_row,
-    Int n_col,
-    Colamd_Row Row [],
-    Colamd_Col Col [],
-    Int A [],
-    Int p []
-    /* Int stats [COLAMD_STATS] */
-) ;
-
-PRIVATE void init_scoring
-(
-    Int n_row,
-    Int n_col,
-    Colamd_Row Row [],
-    Colamd_Col Col [],
-    Int A [],
-    Int head [],
-    double knobs [COLAMD_KNOBS],
-    Int *p_n_row2,
-    Int *p_n_col2,
-    Int *p_max_deg
-    /* ------------------ */
-    /* added for UMFPACK */
-    , Int *p_ndense_row		/* number of dense rows */
-    , Int *p_nempty_row		/* number of original empty rows */
-    , Int *p_nnewlyempty_row	/* number of newly empty rows */
-    , Int *p_ndense_col		/* number of dense cols (excl "empty" cols) */
-    , Int *p_nempty_col		/* number of original empty cols */
-    , Int *p_nnewlyempty_col	/* number of newly empty cols */
-) ;
-
-PRIVATE Int find_ordering
-(
-    Int n_row,
-    Int n_col,
-    Int Alen,
-    Colamd_Row Row [],
-    Colamd_Col Col [],
-    Int A [],
-    Int head [],
-    Int n_col2,
-    Int max_deg,
-    Int pfree
-    /* ------------------ */
-    /* added for UMFPACK: */
-    , Int Front_npivcol [ ]
-    , Int Front_nrows [ ]
-    , Int Front_ncols [ ]
-    , Int Front_parent [ ]
-    , Int Front_cols [ ]
-    , Int *p_nfr
-    , Int aggressive
-    , Int InFront [ ]
-    /* ------------------ */
-) ;
-
-/* ------------------ */
-/* order_children deleted for UMFPACK: */
-/* ------------------ */
-
-PRIVATE void detect_super_cols
-(
-
-#ifndef NDEBUG
-    Int n_col,
-    Colamd_Row Row [],
-#endif /* NDEBUG */
-
-    Colamd_Col Col [],
-    Int A [],
-    Int head [],
-    Int row_start,
-    Int row_length
-) ;
-
-PRIVATE Int garbage_collection
-(
-    Int n_row,
-    Int n_col,
-    Colamd_Row Row [],
-    Colamd_Col Col [],
-    Int A [],
-    Int *pfree
-) ;
-
-PRIVATE Int clear_mark
-(
-    Int n_row,
-    Colamd_Row Row []
-) ;
-
-/* ------------------ */
-/* print_report deleted for UMFPACK */
-/* ------------------ */
-
-/* ========================================================================== */
-/* === Debugging prototypes and definitions ================================= */
-/* ========================================================================== */
-
-#ifndef NDEBUG
-
-/* ------------------ */
-/* debugging macros moved for UMFPACK */
-/* ------------------ */
-
-PRIVATE void debug_deg_lists
-(
-    Int n_row,
-    Int n_col,
-    Colamd_Row Row [],
-    Colamd_Col Col [],
-    Int head [],
-    Int min_score,
-    Int should,
-    Int max_deg
-) ;
-
-PRIVATE void debug_mark
-(
-    Int n_row,
-    Colamd_Row Row [],
-    Int tag_mark,
-    Int max_mark
-) ;
-
-PRIVATE void debug_matrix
-(
-    Int n_row,
-    Int n_col,
-    Colamd_Row Row [],
-    Colamd_Col Col [],
-    Int A []
-) ;
-
-PRIVATE void debug_structures
-(
-    Int n_row,
-    Int n_col,
-    Colamd_Row Row [],
-    Colamd_Col Col [],
-    Int A [],
-    Int n_col2
-) ;
-
-/* ------------------ */
-/* dump_super added for UMFPACK: */
-PRIVATE void dump_super
-(
-    Int super_c,
-    Colamd_Col Col [],
-    Int n_col
-) ;
-/* ------------------ */
-
-#endif /* NDEBUG */
-
-/* ========================================================================== */
-
-
-
-/* ========================================================================== */
-/* === USER-CALLABLE ROUTINES: ============================================== */
-/* ========================================================================== */
-
-
-/* ========================================================================== */
-/* === colamd_set_defaults ================================================== */
-/* ========================================================================== */
-
-/*
-    The colamd_set_defaults routine sets the default values of the user-
-    controllable parameters for colamd:
-
-	knobs [0]	rows with knobs[0]*n_col entries or more are removed
-			prior to ordering in colamd.  Rows and columns with
-			knobs[0]*n_col entries or more are removed prior to
-			ordering in symamd and placed last in the output
-			ordering.
-
-	knobs [1]	columns with knobs[1]*n_row entries or more are removed
-			prior to ordering in colamd, and placed last in the
-			column permutation.  Symamd ignores this knob.
-
-	knobs [2]	if nonzero, then perform aggressive absorption.
-
-	knobs [3..19]	unused, but future versions might use this
-*/
-
-GLOBAL void UMF_colamd_set_defaults
-(
-    /* === Parameters ======================================================= */
-
-    double knobs [COLAMD_KNOBS]		/* knob array */
-)
-{
-    /* === Local variables ================================================== */
-
-    Int i ;
-
-#if 0
-    if (!knobs)
-    {
-	return ;			/* UMFPACK always passes knobs array */
-    }
-#endif
-    for (i = 0 ; i < COLAMD_KNOBS ; i++)
-    {
-	knobs [i] = 0 ;
-    }
-    knobs [COLAMD_DENSE_ROW] = 0.2 ;	/* default changed for UMFPACK */
-    knobs [COLAMD_DENSE_COL] = 0.2 ;	/* default changed for UMFPACK */
-    knobs [COLAMD_AGGRESSIVE] = TRUE ;	/* default is to do aggressive
-					 * absorption */
-}
-
-
-/* ========================================================================== */
-/* === symamd removed for UMFPACK =========================================== */
-/* ========================================================================== */
-
-
-
-/* ========================================================================== */
-/* === colamd =============================================================== */
-/* ========================================================================== */
-
-/*
-    The colamd routine computes a column ordering Q of a sparse matrix
-    A such that the LU factorization P(AQ) = LU remains sparse, where P is
-    selected via partial pivoting.   The routine can also be viewed as
-    providing a permutation Q such that the Cholesky factorization
-    (AQ)'(AQ) = LL' remains sparse.
-*/
-
-/* For UMFPACK: colamd always returns TRUE */
-
-GLOBAL Int UMF_colamd		/* returns TRUE if successful, FALSE otherwise*/
-(
-    /* === Parameters ======================================================= */
-
-    Int n_row,			/* number of rows in A */
-    Int n_col,			/* number of columns in A */
-    Int Alen,			/* length of A */
-    Int A [],			/* row indices of A */
-    Int p [],			/* pointers to columns in A */
-    double knobs [COLAMD_KNOBS],/* parameters (uses defaults if NULL) */
-    Int stats [COLAMD_STATS]	/* output statistics and error codes */
-
-    /* ------------------ */
-    /* added for UMFPACK: each Front_ array is of size n_col+1 */
-    , Int Front_npivcol [ ]	/* # pivot cols in each front */
-    , Int Front_nrows [ ]	/* # of rows in each front (incl. pivot rows) */
-    , Int Front_ncols [ ]	/* # of cols in each front (incl. pivot cols) */
-    , Int Front_parent [ ]	/* parent of each front */
-    , Int Front_cols [ ]	/* link list of pivot columns for each front */
-    , Int *p_nfr		/* total number of frontal matrices */
-    , Int InFront [ ]		/* InFront [row] = f if the original row was
-				 * absorbed into front f.  EMPTY if the row was
-				 * empty, dense, or not absorbed.  This array
-				 * has size n_row+1 */
-    /* ------------------ */
-)
-{
-    /* === Local variables ================================================== */
-
-    Int row ;			/* row index */
-    Int i ;			/* loop index */
-    Int nnz ;			/* nonzeros in A */
-    Int Row_size ;		/* size of Row [], in integers */
-    Int Col_size ;		/* size of Col [], in integers */
-#if 0
-    Int need ;			/* minimum required length of A */
-#endif
-    Colamd_Row *Row ;		/* pointer into A of Row [0..n_row] array */
-    Colamd_Col *Col ;		/* pointer into A of Col [0..n_col] array */
-    Int n_col2 ;		/* number of non-dense, non-empty columns */
-    Int n_row2 ;		/* number of non-dense, non-empty rows */
-    Int ngarbage ;		/* number of garbage collections performed */
-    Int max_deg ;		/* maximum row degree */
-    Int aggressive ;		/* TRUE if doing aggressive absorption */
-#if 0
-    double default_knobs [COLAMD_KNOBS] ;	/* default knobs array */
-#endif
-
-    /* ------------------ */
-    /* debugging initializations moved for UMFPACK */
-    /* ------------------ */
-
-    /* ------------------ */
-    /* added for UMFPACK: */
-    Int ndense_row, nempty_row, parent, ndense_col,
-	nempty_col, k, col, nfr, *Front_child, *Front_sibling, *Front_stack,
-	*Front_order, *Front_size ;
-    Int nnewlyempty_col, nnewlyempty_row ;
-    /* ------------------ */
-
-    /* === Check the input arguments ======================================== */
-
-#if 0
-    if (!stats)
-    {
-	DEBUG0 (("colamd: stats not present\n")) ;
-	return (FALSE) ;	/* UMFPACK:  always passes stats [ ] */
-    }
-#endif
-
-    ASSERT (stats != (Int *) NULL) ;
-
-    for (i = 0 ; i < COLAMD_STATS ; i++)
-    {
-	stats [i] = 0 ;
-    }
-    stats [COLAMD_STATUS] = COLAMD_OK ;
-    stats [COLAMD_INFO1] = -1 ;
-    stats [COLAMD_INFO2] = -1 ;
-
-#if 0
-    if (!A)		/* A is not present */
-    {
-	/* UMFPACK:  always passes A [ ] */
-	DEBUG0 (("colamd: A not present\n")) ;
-	stats [COLAMD_STATUS] = COLAMD_ERROR_A_not_present ;
-	return (FALSE) ;
-    }
-
-    if (!p)		/* p is not present */
-    {
-	/* UMFPACK:  always passes p [ ] */
-	DEBUG0 (("colamd: p not present\n")) ;
-	stats [COLAMD_STATUS] = COLAMD_ERROR_p_not_present ;
-	return (FALSE) ;
-    }
-
-    if (n_row < 0)	/* n_row must be >= 0 */
-    {
-	/* UMFPACK:  does not call UMF_colamd if n <= 0 */
-	DEBUG0 (("colamd: nrow negative "ID"\n", n_row)) ;
-	stats [COLAMD_STATUS] = COLAMD_ERROR_nrow_negative ;
-	stats [COLAMD_INFO1] = n_row ;
-	return (FALSE) ;
-    }
-
-    if (n_col < 0)	/* n_col must be >= 0 */
-    {
-	/* UMFPACK:  does not call UMF_colamd if n <= 0 */
-	DEBUG0 (("colamd: ncol negative "ID"\n", n_col)) ;
-	stats [COLAMD_STATUS] = COLAMD_ERROR_ncol_negative ;
-	stats [COLAMD_INFO1] = n_col ;
-	return (FALSE) ;
-    }
-#endif
-
-    ASSERT (A != (Int *) NULL) ;
-    ASSERT (p != (Int *) NULL) ;
-    ASSERT (n_row >= 0) ;
-    ASSERT (n_col >= 0) ;
-
-    nnz = p [n_col] ;
-
-#if 0
-    if (nnz < 0)	/* nnz must be >= 0 */
-    {
-	/* UMFPACK:  does not call UMF_colamd if nnz < 0 */
-	DEBUG0 (("colamd: number of entries negative "ID"\n", nnz)) ;
-	stats [COLAMD_STATUS] = COLAMD_ERROR_nnz_negative ;
-	stats [COLAMD_INFO1] = nnz ;
-	return (FALSE) ;
-    }
-
-    if (p [0] != 0)	/* p [0] must be exactly zero */
-    {
-	DEBUG0 (("colamd: p[0] not zero "ID"\n", p [0])) ;
-	stats [COLAMD_STATUS] = COLAMD_ERROR_p0_nonzero	;
-	stats [COLAMD_INFO1] = p [0] ;
-	return (FALSE) ;
-    }
-#endif
-
-    ASSERT (nnz >= 0) ;
-    ASSERT (p [0] == 0) ;
-
-    /* === If no knobs, set default knobs =================================== */
-
-#if 0
-    if (!knobs)
-    {
-	/* UMFPACK:  always passes the knobs */
-	UMF_colamd_set_defaults (default_knobs) ;
-	knobs = default_knobs ;
-    }
-#endif
-
-    ASSERT (knobs != (double *) NULL) ;
-
-    /* --------------------- */
-    /* added for UMFPACK v4.1: */
-    aggressive = (knobs [COLAMD_AGGRESSIVE] != 0) ;
-    /* --------------------- */
-
-    /* === Allocate the Row and Col arrays from array A ===================== */
-
-    Col_size = UMF_COLAMD_C (n_col) ;
-    Row_size = UMF_COLAMD_R (n_row) ;
-
-#if 0
-    need = MAX (2*nnz, 4*n_col) + n_col + Col_size + Row_size ;
-    if (need > Alen)
-    {
-	/* UMFPACK: always passes enough space */
-	/* not enough space in array A to perform the ordering */
-	DEBUG0 (("colamd: Need Alen >= "ID", given only Alen = "ID"\n",
-	    need, Alen)) ;
-	stats [COLAMD_STATUS] = COLAMD_ERROR_A_too_small ;
-	stats [COLAMD_INFO1] = need ;
-	stats [COLAMD_INFO2] = Alen ;
-	return (FALSE) ;
-    }
-#endif
-
-    Alen -= Col_size + Row_size ;
-    Col = (Colamd_Col *) &A [Alen] ;
-    Row = (Colamd_Row *) &A [Alen + Col_size] ;
-
-    /* Size of A is now Alen >= MAX (2*nnz, 4*n_col) + n_col.  The ordering
-     * requires Alen >= 2*nnz + n_col, and the postorder requires
-     * Alen >= 5*n_col. */
-
-    /* === Construct the row and column data structures ===================== */
-
-    i = init_rows_cols (n_row, n_col, Row, Col, A, p) ;
-
-#if 0
-    if (!i)
-    {
-	/* input matrix is invalid */
-	DEBUG0 (("colamd: Matrix invalid\n")) ;
-	return (FALSE) ;
-    }
-#endif
-
-    ASSERT (i) ;
-
-    /* === UMFPACK: Initialize front info =================================== */
-
-    for (col = 0 ; col < n_col ; col++)
-    {
-	Front_npivcol [col] = 0 ;
-	Front_nrows [col] = 0 ;
-	Front_ncols [col] = 0 ;
-	Front_parent [col] = EMPTY ;
-	Front_cols [col] = EMPTY ;
-    }
-
-    /* === Initialize scores, kill dense rows/columns ======================= */
-
-    init_scoring (n_row, n_col, Row, Col, A, p, knobs,
-	&n_row2, &n_col2, &max_deg
-	/* ------------------ */
-	/* added for UMFPACK: */
-	, &ndense_row, &nempty_row, &nnewlyempty_row
-	, &ndense_col, &nempty_col, &nnewlyempty_col
-	/* ------------------ */
-	) ;
-    ASSERT (n_row2 == n_row - nempty_row - nnewlyempty_row - ndense_row) ;
-    ASSERT (n_col2 == n_col - nempty_col - nnewlyempty_col - ndense_col) ;
-
-    /* === Order the supercolumns =========================================== */
-
-    ngarbage = find_ordering (n_row, n_col, Alen, Row, Col, A, p,
-	n_col2, max_deg, 2*nnz
-	/* ------------------ */
-	/* added for UMFPACK: */
-	, Front_npivcol, Front_nrows, Front_ncols, Front_parent, Front_cols
-	, &nfr, aggressive, InFront
-	/* ------------------ */
-	) ;
-
-    /* ------------------ */
-    /* changed for UMFPACK: */
-
-    /* A is no longer needed, so use A [0..5*nfr-1] as workspace [ [ */
-    /* This step requires Alen >= 5*n_col */
-    Front_child   = A ;
-    Front_sibling = Front_child + nfr ;
-    Front_stack   = Front_sibling + nfr ;
-    Front_order   = Front_stack + nfr ;
-    Front_size    = Front_order + nfr ;
-
-    UMF_fsize (nfr, Front_size, Front_nrows, Front_ncols,
-	    Front_parent, Front_npivcol) ;
-
-    AMD_postorder (nfr, Front_parent, Front_npivcol, Front_size,
-	Front_order, Front_child, Front_sibling, Front_stack) ;
-
-    /* Front_size, Front_stack, Front_child, Front_sibling no longer needed ] */
-
-    /* use A [0..nfr-1] as workspace */
-    UMF_apply_order (Front_npivcol, Front_order, A, nfr, nfr) ;
-    UMF_apply_order (Front_nrows,   Front_order, A, nfr, nfr) ;
-    UMF_apply_order (Front_ncols,   Front_order, A, nfr, nfr) ;
-    UMF_apply_order (Front_parent,  Front_order, A, nfr, nfr) ;
-    UMF_apply_order (Front_cols,    Front_order, A, nfr, nfr) ;
-
-    /* fix the parent to refer to the new numbering */
-    for (i = 0 ; i < nfr ; i++)
-    {
-	parent = Front_parent [i] ;
-	if (parent != EMPTY)
-	{
-	    Front_parent [i] = Front_order [parent] ;
-	}
-    }
-
-    /* fix InFront to refer to the new numbering */
-    for (row = 0 ; row < n_row ; row++)
-    {
-	i = InFront [row] ;
-	ASSERT (i >= EMPTY && i < nfr) ;
-	if (i != EMPTY)
-	{
-	    InFront [row] = Front_order [i] ;
-	}
-    }
-
-    /* Front_order longer needed ] */
-
-    /* === Order the columns in the fronts ================================== */
-
-    /* use A [0..n_col-1] as inverse permutation */
-    for (i = 0 ; i < n_col ; i++)
-    {
-	A [i] = EMPTY ;
-    }
-    k = 0 ;
-    for (i = 0 ; i < nfr ; i++)
-    {
-	ASSERT (Front_npivcol [i] > 0) ;
-	for (col = Front_cols [i] ; col != EMPTY ; col = Col [col].nextcol)
-	{
-	    ASSERT (col >= 0 && col < n_col) ;
-	    DEBUG1 (("Colamd output ordering: k "ID" col "ID"\n", k, col)) ;
-	    p [k] = col ;
-	    ASSERT (A [col] == EMPTY) ;
-	    A [col] = k ;
-	    k++ ;
-	}
-    }
-
-    /* === Order the "dense" and null columns =============================== */
-
-    ASSERT (k == n_col2) ;
-    if (n_col2 < n_col)
-    {
-	for (col = 0 ; col < n_col ; col++)
-	{
-	    if (A [col] == EMPTY)
-	    {
-		k = Col [col].shared2.order ;
-		ASSERT (k >= n_col2 && k < n_col) ;
-		DEBUG1 (("Colamd output ordering: k "ID" col "ID
-		    " (dense or null col)\n", k, col)) ;
-		p [k] = col ;
-		A [col] = k ;
-	    }
-	}
-    }
-
-    /* ------------------ */
-
-    /* === Return statistics in stats ======================================= */
-
-    /* ------------------ */
-    /* modified for UMFPACK */
-    stats [COLAMD_DENSE_ROW] = ndense_row ;
-    stats [COLAMD_EMPTY_ROW] = nempty_row ;
-    stats [COLAMD_NEWLY_EMPTY_ROW] = nnewlyempty_row ;
-    stats [COLAMD_DENSE_COL] = ndense_col ;
-    stats [COLAMD_EMPTY_COL] = nempty_col ;
-    stats [COLAMD_NEWLY_EMPTY_COL] = nnewlyempty_col ;
-    ASSERT (ndense_col + nempty_col + nnewlyempty_col == n_col - n_col2) ;
-    /* ------------------ */
-    stats [COLAMD_DEFRAG_COUNT] = ngarbage ;
-    *p_nfr = nfr ;
-    DEBUG1 (("colamd: done.\n")) ;
-    return (TRUE) ;
-}
-
-
-
-
-/* ========================================================================== */
-/* === colamd_report removed for UMFPACK ==================================== */
-/* ========================================================================== */
-
-/* ========================================================================== */
-/* === symamd_report removed for UMFPACK ==================================== */
-/* ========================================================================== */
-
-
-
-/* ========================================================================== */
-/* === NON-USER-CALLABLE ROUTINES: ========================================== */
-/* ========================================================================== */
-
-/* There are no user-callable routines beyond this point in the file */
-
-
-/* ========================================================================== */
-/* === init_rows_cols ======================================================= */
-/* ========================================================================== */
-
-/*
-    Takes the column form of the matrix in A and creates the row form of the
-    matrix.  Also, row and column attributes are stored in the Col and Row
-    structs.  If the columns are un-sorted or contain duplicate row indices,
-    this routine will also sort and remove duplicate row indices from the
-    column form of the matrix.  Returns FALSE if the matrix is invalid,
-    TRUE otherwise.  Not user-callable.
-*/
-
-/* For UMFPACK, this always returns TRUE */
-
-PRIVATE Int init_rows_cols	/* returns TRUE if OK, or FALSE otherwise */
-(
-    /* === Parameters ======================================================= */
-
-    Int n_row,			/* number of rows of A */
-    Int n_col,			/* number of columns of A */
-    Colamd_Row Row [],		/* of size n_row+1 */
-    Colamd_Col Col [],		/* of size n_col+1 */
-    Int A [],			/* row indices of A, of size Alen */
-    Int p []			/* pointers to columns in A, of size n_col+1 */
-/*
-    Int stats [COLAMD_STATS]	colamd statistics, removed for UMFPACK
-*/
-)
-{
-    /* === Local variables ================================================== */
-
-    Int col ;			/* a column index */
-    Int row ;			/* a row index */
-    Int *cp ;			/* a column pointer */
-    Int *cp_end ;		/* a pointer to the end of a column */
-
-    /* === Initialize columns, and check column pointers ==================== */
-
-    for (col = 0 ; col < n_col ; col++)
-    {
-	Col [col].start = p [col] ;
-	Col [col].length = p [col+1] - p [col] ;
-
-#if 0
-	if (Col [col].length < 0)
-	{
-	    /* column pointers must be non-decreasing */
-	    stats [COLAMD_STATUS] = COLAMD_ERROR_col_length_negative ;
-	    stats [COLAMD_INFO1] = col ;
-	    stats [COLAMD_INFO2] = Col [col].length ;
-	    DEBUG0 (("colamd: col "ID" length "ID" <= 0\n",
-		col, Col [col].length));
-	    return (FALSE) ;
-	}
-#endif
-
-	ASSERT (Col [col].length >= 0) ;
-
-	/* added for UMFPACK v4.1 */
-	ASSERT (Col [col].length > 0) ;
-
-	Col [col].shared1.thickness = 1 ;
-	Col [col].shared2.score = 0 ;
-	Col [col].shared3.prev = EMPTY ;
-	Col [col].shared4.degree_next = EMPTY ;
-
-	/* ------------------ */
-	/* added for UMFPACK: */
-	Col [col].nextcol = EMPTY ;
-	Col [col].lastcol = col ;
-	/* ------------------ */
-    }
-
-    /* p [0..n_col] no longer needed, used as "head" in subsequent routines */
-
-    /* === Scan columns, compute row degrees, and check row indices ========= */
-
-    /* ------------------ */
-    /* stats [COLAMD_INFO3] = 0 ; */
-    /* number of duplicate or unsorted row indices - not computed in UMFPACK */
-    /* ------------------ */
-
-    for (row = 0 ; row < n_row ; row++)
-    {
-	Row [row].length = 0 ;
-	/* ------------------ */
-	/* removed for UMFPACK */
-	/* Row [row].shared2.mark = -1 ; */
-	/* ------------------ */
-	/* ------------------ */
-	/* added for UMFPACK: */
-	Row [row].thickness = 1 ;
-	Row [row].front = EMPTY ;
-	/* ------------------ */
-    }
-
-    for (col = 0 ; col < n_col ; col++)
-    {
-#ifndef NDEBUG
-	Int last_row = -1 ;
-#endif
-
-	cp = &A [p [col]] ;
-	cp_end = &A [p [col+1]] ;
-
-	while (cp < cp_end)
-	{
-	    row = *cp++ ;
-
-#if 0
-	    /* make sure row indices within range */
-	    if (row < 0 || row >= n_row)
-	    {
-		stats [COLAMD_STATUS] = COLAMD_ERROR_row_index_out_of_bounds ;
-		stats [COLAMD_INFO1] = col ;
-		stats [COLAMD_INFO2] = row ;
-		/* ------------------ */
-		/* not needed in UMFPACK: */
-		/* stats [COLAMD_INFO3] = n_row ; */
-		/* ------------------ */
-		DEBUG0 (("colamd: row "ID" col "ID" out of bounds\n", row,col));
-		return (FALSE) ;
-	    }
-#endif
-
-	    ASSERT (row >= 0 && row < n_row) ;
-
-#if 0
-	    /* ------------------ */
-	    /* changed for UMFPACK */
-	    if (row <= last_row)
-	    {
-		/* row index are unsorted or repeated (or both), thus col */
-		/* is jumbled.  This is an error condition for UMFPACK */
-		stats [COLAMD_STATUS] = COLAMD_ERROR_jumbled_matrix ;
-		stats [COLAMD_INFO1] = col ;
-		stats [COLAMD_INFO2] = row ;
-		DEBUG1 (("colamd: row "ID" col "ID" unsorted/duplicate\n",
-		    row, col)) ;
-		return (FALSE) ;
-	    }
-	    /* ------------------ */
-#endif
-
-	    ASSERT (row > last_row) ;
-
-	    /* ------------------ */
-	    /* changed for UMFPACK - jumbled columns not tolerated */
-	    Row [row].length++ ;
-	    /* ------------------ */
-
-#ifndef NDEBUG
-	    last_row = row ;
-#endif
-	}
-    }
-
-    /* === Compute row pointers ============================================= */
-
-    /* row form of the matrix starts directly after the column */
-    /* form of matrix in A */
-    Row [0].start = p [n_col] ;
-    Row [0].shared1.p = Row [0].start ;
-    /* ------------------ */
-    /* removed for UMFPACK */
-    /* Row [0].shared2.mark = -1 ; */
-    /* ------------------ */
-    for (row = 1 ; row < n_row ; row++)
-    {
-	Row [row].start = Row [row-1].start + Row [row-1].length ;
-	Row [row].shared1.p = Row [row].start ;
-	/* ------------------ */
-	/* removed for UMFPACK */
-	/* Row [row].shared2.mark = -1 ; */
-	/* ------------------ */
-    }
-
-    /* === Create row form ================================================== */
-
-    /* ------------------ */
-    /* jumbled matrix case removed for UMFPACK */
-    /* ------------------ */
-
-	for (col = 0 ; col < n_col ; col++)
-	{
-	    cp = &A [p [col]] ;
-	    cp_end = &A [p [col+1]] ;
-	    while (cp < cp_end)
-	    {
-		A [(Row [*cp++].shared1.p)++] = col ;
-	    }
-	}
-
-    /* === Clear the row marks and set row degrees ========================== */
-
-    for (row = 0 ; row < n_row ; row++)
-    {
-	Row [row].shared2.mark = 0 ;
-	Row [row].shared1.degree = Row [row].length ;
-    }
-
-    /* ------------------ */
-    /* recreate columns for jumbled matrix case removed for UMFPACK */
-    /* ------------------ */
-
-    return (TRUE) ;
-}
-
-
-/* ========================================================================== */
-/* === init_scoring ========================================================= */
-/* ========================================================================== */
-
-/*
-    Kills dense or empty columns and rows, calculates an initial score for
-    each column, and places all columns in the degree lists.  Not user-callable.
-*/
-
-PRIVATE void init_scoring
-(
-    /* === Parameters ======================================================= */
-
-    Int n_row,			/* number of rows of A */
-    Int n_col,			/* number of columns of A */
-    Colamd_Row Row [],		/* of size n_row+1 */
-    Colamd_Col Col [],		/* of size n_col+1 */
-    Int A [],			/* column form and row form of A */
-    Int head [],		/* of size n_col+1 */
-    double knobs [COLAMD_KNOBS],/* parameters */
-    Int *p_n_row2,		/* number of non-dense, non-empty rows */
-    Int *p_n_col2,		/* number of non-dense, non-empty columns */
-    Int *p_max_deg		/* maximum row degree */
-    /* ------------------ */
-    /* added for UMFPACK */
-    , Int *p_ndense_row		/* number of dense rows */
-    , Int *p_nempty_row		/* number of original empty rows */
-    , Int *p_nnewlyempty_row	/* number of newly empty rows */
-    , Int *p_ndense_col		/* number of dense cols (excl "empty" cols) */
-    , Int *p_nempty_col		/* number of original empty cols */
-    , Int *p_nnewlyempty_col	/* number of newly empty cols */
-    /* ------------------ */
-)
-{
-    /* === Local variables ================================================== */
-
-    Int c ;			/* a column index */
-    Int r, row ;		/* a row index */
-    Int *cp ;			/* a column pointer */
-    Int deg ;			/* degree of a row or column */
-    Int *cp_end ;		/* a pointer to the end of a column */
-    Int *new_cp ;		/* new column pointer */
-    Int col_length ;		/* length of pruned column */
-    Int score ;			/* current column score */
-    Int n_col2 ;		/* number of non-dense, non-empty columns */
-    Int n_row2 ;		/* number of non-dense, non-empty rows */
-    Int dense_row_count ;	/* remove rows with more entries than this */
-    Int dense_col_count ;	/* remove cols with more entries than this */
-    Int min_score ;		/* smallest column score */
-    Int max_deg ;		/* maximum row degree */
-    Int next_col ;		/* Used to add to degree list.*/
-
-    /* ------------------ */
-    /* added for UMFPACK */
-    Int ndense_row ;		/* number of dense rows */
-    Int nempty_row ;		/* number of empty rows */
-    Int nnewlyempty_row ;	/* number of newly empty rows */
-    Int ndense_col ;		/* number of dense cols (excl "empty" cols) */
-    Int nempty_col ;		/* number of original empty cols */
-    Int nnewlyempty_col ;	/* number of newly empty cols */
-    Int ne ;
-    /* ------------------ */
-
-#ifndef NDEBUG
-    Int debug_count ;		/* debug only. */
-#endif /* NDEBUG */
-
-    /* === Extract knobs ==================================================== */
-
-    /* --------------------- */
-    /* old dense row/column knobs:
-    dense_row_count = MAX (0, MIN (knobs [COLAMD_DENSE_ROW] * n_col, n_col)) ;
-    dense_col_count = MAX (0, MIN (knobs [COLAMD_DENSE_COL] * n_row, n_row)) ;
-    */
-    /* new, for UMFPACK: */
-    /* Note: if knobs contains a NaN, this is undefined: */
-    dense_row_count =
-	UMFPACK_DENSE_DEGREE_THRESHOLD (knobs [COLAMD_DENSE_ROW], n_col) ;
-    dense_col_count =
-	UMFPACK_DENSE_DEGREE_THRESHOLD (knobs [COLAMD_DENSE_COL], n_row) ;
-    /* Make sure dense_*_count is between 0 and n: */
-    dense_row_count = MAX (0, MIN (dense_row_count, n_col)) ;
-    dense_col_count = MAX (0, MIN (dense_col_count, n_row)) ;
-    /* --------------------- */
-
-    DEBUG1 (("colamd: densecount: "ID" "ID"\n",
-	dense_row_count, dense_col_count)) ;
-    max_deg = 0 ;
-    n_col2 = n_col ;
-    n_row2 = n_row ;
-
-    /* --------------------- */
-    /* added for UMFPACK */
-    ndense_col = 0 ;
-    nempty_col = 0 ;
-    nnewlyempty_col = 0 ;
-    ndense_row = 0 ;
-    nempty_row = 0 ;
-    nnewlyempty_row = 0 ;
-    /* --------------------- */
-
-    /* === Kill empty columns =============================================== */
-
-    /* removed for UMFPACK v4.1.  prune_singletons has already removed empty
-     * columns and empty rows */
-
-#if 0
-    /* Put the empty columns at the end in their natural order, so that LU */
-    /* factorization can proceed as far as possible. */
-    for (c = n_col-1 ; c >= 0 ; c--)
-    {
-	deg = Col [c].length ;
-	if (deg == 0)
-	{
-	    /* this is a empty column, kill and order it last */
-	    Col [c].shared2.order = --n_col2 ;
-	    KILL_PRINCIPAL_COL (c) ;
-	    /* --------------------- */
-	    /* added for UMFPACK */
-	    nempty_col++ ;
-	    /* --------------------- */
-	}
-    }
-    DEBUG1 (("colamd: null columns killed: "ID"\n", n_col - n_col2)) ;
-#endif
-
-#ifndef NDEBUG
-    for (c = 0 ; c < n_col ; c++)
-    {
-	ASSERT (Col [c].length > 0) ;
-    }
-#endif
-
-    /* === Count null rows ================================================== */
-
-#if 0
-    for (r = 0 ; r < n_row ; r++)
-    {
-	deg = Row [r].shared1.degree ;
-	if (deg == 0)
-	{
-	    /* this is an original empty row */
-	    nempty_row++ ;
-	}
-    }
-#endif
-
-#ifndef NDEBUG
-    for (r = 0 ; r < n_row ; r++)
-    {
-	ASSERT (Row [r].shared1.degree > 0) ;
-	ASSERT (Row [r].length > 0) ;
-    }
-#endif
-
-    /* === Kill dense columns =============================================== */
-
-    /* Put the dense columns at the end, in their natural order */
-    for (c = n_col-1 ; c >= 0 ; c--)
-    {
-
-	/* ----------------------------------------------------------------- */
-#if 0
-	/* removed for UMFPACK v4.1: no empty columns */
-	/* skip any dead columns */
-	if (COL_IS_DEAD (c))
-	{
-	    continue ;
-	}
-#endif
-	ASSERT (COL_IS_ALIVE (c)) ;
-	ASSERT (Col [c].length > 0) ;
-	/* ----------------------------------------------------------------- */
-
-	deg = Col [c].length ;
-	if (deg > dense_col_count)
-	{
-	    /* this is a dense column, kill and order it last */
-	    Col [c].shared2.order = --n_col2 ;
-	    /* --------------------- */
-	    /* added for UMFPACK */
-	    ndense_col++ ;
-	    /* --------------------- */
-	    /* decrement the row degrees */
-	    cp = &A [Col [c].start] ;
-	    cp_end = cp + Col [c].length ;
-	    while (cp < cp_end)
-	    {
-		Row [*cp++].shared1.degree-- ;
-	    }
-	    KILL_PRINCIPAL_COL (c) ;
-	}
-    }
-    DEBUG1 (("colamd: Dense and null columns killed: "ID"\n", n_col - n_col2)) ;
-
-    /* === Kill dense and empty rows ======================================== */
-
-    /* Note that there can now be empty rows, since dense columns have
-     * been deleted.  These are "newly" empty rows. */
-
-    ne = 0 ;
-    for (r = 0 ; r < n_row ; r++)
-    {
-	deg = Row [r].shared1.degree ;
-	ASSERT (deg >= 0 && deg <= n_col) ;
-	/* --------------------- */
-	/* added for UMFPACK */
-	if (deg > dense_row_count)
-	{
-	    /* There is at least one dense row.  Continue ordering, but */
-	    /* symbolic factorization will be redone after UMF_colamd is done.*/
-	    ndense_row++ ;
-	}
-	if (deg == 0)
-	{
-	    /* this is a newly empty row, or original empty row */
-	    ne++ ;
-	}
-	/* --------------------- */
-	if (deg > dense_row_count || deg == 0)
-	{
-	    /* kill a dense or empty row */
-	    KILL_ROW (r) ;
-	    /* --------------------- */
-	    /* added for UMFPACK */
-	    Row [r].thickness = 0 ;
-	    /* --------------------- */
-	    --n_row2 ;
-	}
-	else
-	{
-	    /* keep track of max degree of remaining rows */
-	    max_deg = MAX (max_deg, deg) ;
-	}
-    }
-    nnewlyempty_row = ne - nempty_row ;
-    DEBUG1 (("colamd: Dense rows killed: "ID"\n", ndense_row)) ;
-    DEBUG1 (("colamd: Dense and null rows killed: "ID"\n", n_row - n_row2)) ;
-
-    /* === Compute initial column scores ==================================== */
-
-    /* At this point the row degrees are accurate.  They reflect the number */
-    /* of "live" (non-dense) columns in each row.  No empty rows exist. */
-    /* Some "live" columns may contain only dead rows, however.  These are */
-    /* pruned in the code below. */
-
-    /* now find the initial matlab score for each column */
-    for (c = n_col-1 ; c >= 0 ; c--)
-    {
-	/* skip dead column */
-	if (COL_IS_DEAD (c))
-	{
-	    continue ;
-	}
-	score = 0 ;
-	cp = &A [Col [c].start] ;
-	new_cp = cp ;
-	cp_end = cp + Col [c].length ;
-	while (cp < cp_end)
-	{
-	    /* get a row */
-	    row = *cp++ ;
-	    /* skip if dead */
-	    if (ROW_IS_DEAD (row))
-	    {
-		continue ;
-	    }
-	    /* compact the column */
-	    *new_cp++ = row ;
-	    /* add row's external degree */
-	    score += Row [row].shared1.degree - 1 ;
-	    /* guard against integer overflow */
-	    score = MIN (score, n_col) ;
-	}
-	/* determine pruned column length */
-	col_length = (Int) (new_cp - &A [Col [c].start]) ;
-	if (col_length == 0)
-	{
-	    /* a newly-made null column (all rows in this col are "dense" */
-	    /* and have already been killed) */
-	    DEBUG2 (("Newly null killed: "ID"\n", c)) ;
-	    Col [c].shared2.order = --n_col2 ;
-	    KILL_PRINCIPAL_COL (c) ;
-	    /* --------------------- */
-	    /* added for UMFPACK */
-	    nnewlyempty_col++ ;
-	    /* --------------------- */
-	}
-	else
-	{
-	    /* set column length and set score */
-	    ASSERT (score >= 0) ;
-	    ASSERT (score <= n_col) ;
-	    Col [c].length = col_length ;
-	    Col [c].shared2.score = score ;
-	}
-    }
-    DEBUG1 (("colamd: Dense, null, and newly-null columns killed: "ID"\n",
-	n_col-n_col2)) ;
-
-    /* At this point, all empty rows and columns are dead.  All live columns */
-    /* are "clean" (containing no dead rows) and simplicial (no supercolumns */
-    /* yet).  Rows may contain dead columns, but all live rows contain at */
-    /* least one live column. */
-
-#ifndef NDEBUG
-    debug_structures (n_row, n_col, Row, Col, A, n_col2) ;
-#endif /* NDEBUG */
-
-    /* === Initialize degree lists ========================================== */
-
-#ifndef NDEBUG
-    debug_count = 0 ;
-#endif /* NDEBUG */
-
-    /* clear the hash buckets */
-    for (c = 0 ; c <= n_col ; c++)
-    {
-	head [c] = EMPTY ;
-    }
-    min_score = n_col ;
-    /* place in reverse order, so low column indices are at the front */
-    /* of the lists.  This is to encourage natural tie-breaking */
-    for (c = n_col-1 ; c >= 0 ; c--)
-    {
-	/* only add principal columns to degree lists */
-	if (COL_IS_ALIVE (c))
-	{
-	    DEBUG4 (("place "ID" score "ID" minscore "ID" ncol "ID"\n",
-		c, Col [c].shared2.score, min_score, n_col)) ;
-
-	    /* === Add columns score to DList =============================== */
-
-	    score = Col [c].shared2.score ;
-
-	    ASSERT (min_score >= 0) ;
-	    ASSERT (min_score <= n_col) ;
-	    ASSERT (score >= 0) ;
-	    ASSERT (score <= n_col) ;
-	    ASSERT (head [score] >= EMPTY) ;
-
-	    /* now add this column to dList at proper score location */
-	    next_col = head [score] ;
-	    Col [c].shared3.prev = EMPTY ;
-	    Col [c].shared4.degree_next = next_col ;
-
-	    /* if there already was a column with the same score, set its */
-	    /* previous pointer to this new column */
-	    if (next_col != EMPTY)
-	    {
-		Col [next_col].shared3.prev = c ;
-	    }
-	    head [score] = c ;
-
-	    /* see if this score is less than current min */
-	    min_score = MIN (min_score, score) ;
-
-#ifndef NDEBUG
-	    debug_count++ ;
-#endif /* NDEBUG */
-
-	}
-    }
-
-#ifndef NDEBUG
-    DEBUG1 (("colamd: Live cols "ID" out of "ID", non-princ: "ID"\n",
-	debug_count, n_col, n_col-debug_count)) ;
-    ASSERT (debug_count == n_col2) ;
-    debug_deg_lists (n_row, n_col, Row, Col, head, min_score, n_col2, max_deg) ;
-#endif /* NDEBUG */
-
-    /* === Return number of remaining columns, and max row degree =========== */
-
-    *p_n_col2 = n_col2 ;
-    *p_n_row2 = n_row2 ;
-    *p_max_deg = max_deg ;
-
-    /* --------------------- */
-    /* added for UMFPACK */
-    *p_ndense_row = ndense_row ;
-    *p_nempty_row = nempty_row ;	/* original empty rows */
-    *p_nnewlyempty_row = nnewlyempty_row ;
-    *p_ndense_col = ndense_col ;
-    *p_nempty_col = nempty_col ;	/* original empty cols */
-    *p_nnewlyempty_col = nnewlyempty_col ;
-    /* --------------------- */
-}
-
-
-/* ========================================================================== */
-/* === find_ordering ======================================================== */
-/* ========================================================================== */
-
-/*
-    Order the principal columns of the supercolumn form of the matrix
-    (no supercolumns on input).  Uses a minimum approximate column minimum
-    degree ordering method.  Not user-callable.
-*/
-
-PRIVATE Int find_ordering	/* return the number of garbage collections */
-(
-    /* === Parameters ======================================================= */
-
-    Int n_row,			/* number of rows of A */
-    Int n_col,			/* number of columns of A */
-    Int Alen,			/* size of A, 2*nnz + n_col or larger */
-    Colamd_Row Row [],		/* of size n_row+1 */
-    Colamd_Col Col [],		/* of size n_col+1 */
-    Int A [],			/* column form and row form of A */
-    Int head [],		/* of size n_col+1 */
-    Int n_col2,			/* Remaining columns to order */
-    Int max_deg,		/* Maximum row degree */
-    Int pfree			/* index of first free slot (2*nnz on entry) */
-    /* ------------------ */
-    /* added for UMFPACK: */
-    , Int Front_npivcol [ ]
-    , Int Front_nrows [ ]
-    , Int Front_ncols [ ]
-    , Int Front_parent [ ]
-    , Int Front_cols [ ]
-    , Int *p_nfr		/* number of fronts */
-    , Int aggressive
-    , Int InFront [ ]
-    /* ------------------ */
-)
-{
-    /* === Local variables ================================================== */
-
-    Int k ;			/* current pivot ordering step */
-    Int pivot_col ;		/* current pivot column */
-    Int *cp ;			/* a column pointer */
-    Int *rp ;			/* a row pointer */
-    Int pivot_row ;		/* current pivot row */
-    Int *new_cp ;		/* modified column pointer */
-    Int *new_rp ;		/* modified row pointer */
-    Int pivot_row_start ;	/* pointer to start of pivot row */
-    Int pivot_row_degree ;	/* number of columns in pivot row */
-    Int pivot_row_length ;	/* number of supercolumns in pivot row */
-    Int pivot_col_score ;	/* score of pivot column */
-    Int needed_memory ;		/* free space needed for pivot row */
-    Int *cp_end ;		/* pointer to the end of a column */
-    Int *rp_end ;		/* pointer to the end of a row */
-    Int row ;			/* a row index */
-    Int col ;			/* a column index */
-    Int max_score ;		/* maximum possible score */
-    Int cur_score ;		/* score of current column */
-    unsigned Int hash ;		/* hash value for supernode detection */
-    Int head_column ;		/* head of hash bucket */
-    Int first_col ;		/* first column in hash bucket */
-    Int tag_mark ;		/* marker value for mark array */
-    Int row_mark ;		/* Row [row].shared2.mark */
-    Int set_difference ;	/* set difference size of row with pivot row */
-    Int min_score ;		/* smallest column score */
-    Int col_thickness ;		/* "thickness" (no. of columns in a supercol) */
-    Int max_mark ;		/* maximum value of tag_mark */
-    Int pivot_col_thickness ;	/* number of columns represented by pivot col */
-    Int prev_col ;		/* Used by Dlist operations. */
-    Int next_col ;		/* Used by Dlist operations. */
-    Int ngarbage ;		/* number of garbage collections performed */
-
-#ifndef NDEBUG
-    Int debug_d ;		/* debug loop counter */
-    Int debug_step = 0 ;	/* debug loop counter */
-#endif /* NDEBUG */
-
-    /* ------------------ */
-    /* added for UMFPACK: */
-    Int pivot_row_thickness ;	/* number of rows represented by pivot row */
-    Int nfr = 0 ;		/* number of fronts */
-    Int child ;
-    /* ------------------ */
-
-    /* === Initialization and clear mark ==================================== */
-
-    max_mark = MAX_MARK (n_col) ;	/* defined in umfpack.h */
-    tag_mark = clear_mark (n_row, Row) ;
-    min_score = 0 ;
-    ngarbage = 0 ;
-    DEBUG1 (("colamd: Ordering, n_col2="ID"\n", n_col2)) ;
-
-    for (row = 0 ; row < n_row ; row++)
-    {
-	InFront [row] = EMPTY ;
-    }
-
-    /* === Order the columns ================================================ */
-
-    for (k = 0 ; k < n_col2 ; /* 'k' is incremented below */)
-    {
-
-#ifndef NDEBUG
-	if (debug_step % 100 == 0)
-	{
-	    DEBUG2 (("\n...  Step k: "ID" out of n_col2: "ID"\n", k, n_col2)) ;
-	}
-	else
-	{
-	    DEBUG3 (("\n-----Step k: "ID" out of n_col2: "ID"\n", k, n_col2)) ;
-	}
-	debug_step++ ;
-	debug_deg_lists (n_row, n_col, Row, Col, head,
-		min_score, n_col2-k, max_deg) ;
-	debug_matrix (n_row, n_col, Row, Col, A) ;
-#endif /* NDEBUG */
-
-	/* === Select pivot column, and order it ============================ */
-
-	/* make sure degree list isn't empty */
-	ASSERT (min_score >= 0) ;
-	ASSERT (min_score <= n_col) ;
-	ASSERT (head [min_score] >= EMPTY) ;
-
-#ifndef NDEBUG
-	for (debug_d = 0 ; debug_d < min_score ; debug_d++)
-	{
-	    ASSERT (head [debug_d] == EMPTY) ;
-	}
-#endif /* NDEBUG */
-
-	/* get pivot column from head of minimum degree list */
-	while (head [min_score] == EMPTY && min_score < n_col)
-	{
-	    min_score++ ;
-	}
-	pivot_col = head [min_score] ;
-	ASSERT (pivot_col >= 0 && pivot_col <= n_col) ;
-	next_col = Col [pivot_col].shared4.degree_next ;
-	head [min_score] = next_col ;
-	if (next_col != EMPTY)
-	{
-	    Col [next_col].shared3.prev = EMPTY ;
-	}
-
-	ASSERT (COL_IS_ALIVE (pivot_col)) ;
-	DEBUG3 (("Pivot col: "ID"\n", pivot_col)) ;
-
-	/* remember score for defrag check */
-	pivot_col_score = Col [pivot_col].shared2.score ;
-
-	/* the pivot column is the kth column in the pivot order */
-	Col [pivot_col].shared2.order = k ;
-
-	/* increment order count by column thickness */
-	pivot_col_thickness = Col [pivot_col].shared1.thickness ;
-	/* ------------------ */
-	/* changed for UMFPACK: */
-	k += pivot_col_thickness ;
-	/* ------------------ */
-	ASSERT (pivot_col_thickness > 0) ;
-
-	/* === Garbage_collection, if necessary ============================= */
-
-	needed_memory = MIN (pivot_col_score, n_col - k) ;
-	if (pfree + needed_memory >= Alen)
-	{
-	    pfree = garbage_collection (n_row, n_col, Row, Col, A, &A [pfree]) ;
-	    ngarbage++ ;
-	    /* after garbage collection we will have enough */
-	    ASSERT (pfree + needed_memory < Alen) ;
-	    /* garbage collection has wiped out the Row[].shared2.mark array */
-	    tag_mark = clear_mark (n_row, Row) ;
-
-#ifndef NDEBUG
-	    debug_matrix (n_row, n_col, Row, Col, A) ;
-#endif /* NDEBUG */
-	}
-
-	/* === Compute pivot row pattern ==================================== */
-
-	/* get starting location for this new merged row */
-	pivot_row_start = pfree ;
-
-	/* initialize new row counts to zero */
-	pivot_row_degree = 0 ;
-
-	/* ------------------ */
-	/* added for UMFPACK: */
-	pivot_row_thickness = 0 ;
-	/* ------------------ */
-
-	/* [ tag pivot column as having been visited so it isn't included */
-	/* in merged pivot row */
-	Col [pivot_col].shared1.thickness = -pivot_col_thickness ;
-
-	/* pivot row is the union of all rows in the pivot column pattern */
-	cp = &A [Col [pivot_col].start] ;
-	cp_end = cp + Col [pivot_col].length ;
-	while (cp < cp_end)
-	{
-	    /* get a row */
-	    row = *cp++ ;
-	    DEBUG4 (("Pivot col pattern %d "ID"\n", ROW_IS_ALIVE(row), row)) ;
-	    /* skip if row is dead */
-	    if (ROW_IS_DEAD (row))
-	    {
-		continue ;
-	    }
-
-	    /* ------------------ */
-	    /* added for UMFPACK: */
-	    /* sum the thicknesses of all the rows */
-	    /* ASSERT (Row [row].thickness > 0) ; */
-	    pivot_row_thickness += Row [row].thickness ;
-	    /* ------------------ */
-
-	    rp = &A [Row [row].start] ;
-	    rp_end = rp + Row [row].length ;
-	    while (rp < rp_end)
-	    {
-		/* get a column */
-		col = *rp++ ;
-		/* add the column, if alive and untagged */
-		col_thickness = Col [col].shared1.thickness ;
-		if (col_thickness > 0 && COL_IS_ALIVE (col))
-		{
-		    /* tag column in pivot row */
-		    Col [col].shared1.thickness = -col_thickness ;
-		    ASSERT (pfree < Alen) ;
-		    /* place column in pivot row */
-		    A [pfree++] = col ;
-		    pivot_row_degree += col_thickness ;
-		    /* ------------------ */
-		    /* added for UMFPACK: */
-		    DEBUG4 (("\t\t\tNew live column in pivot row: "ID"\n",col));
-		    /* ------------------ */
-		}
-		/* ------------------ */
-		/* added for UMFPACK */
-#ifndef NDEBUG
-		if (col_thickness < 0 && COL_IS_ALIVE (col))
-		{
-		    DEBUG4 (("\t\t\tOld live column in pivot row: "ID"\n",col));
-		}
-#endif
-		/* ------------------ */
-	    }
-	}
-
-	/* ------------------ */
-	/* added for UMFPACK: */
-	/* pivot_row_thickness is the number of rows in frontal matrix */
-	/* both pivotal rows and nonpivotal rows */
-	/* ------------------ */
-
-	/* clear tag on pivot column */
-	Col [pivot_col].shared1.thickness = pivot_col_thickness ;	/* ] */
-	max_deg = MAX (max_deg, pivot_row_degree) ;
-
-#ifndef NDEBUG
-	DEBUG3 (("check2\n")) ;
-	debug_mark (n_row, Row, tag_mark, max_mark) ;
-#endif /* NDEBUG */
-
-	/* === Kill all rows used to construct pivot row ==================== */
-
-	/* also kill pivot row, temporarily */
-	cp = &A [Col [pivot_col].start] ;
-	cp_end = cp + Col [pivot_col].length ;
-	while (cp < cp_end)
-	{
-	    /* may be killing an already dead row */
-	    row = *cp++ ;
-
-	    DEBUG2 (("Kill row in pivot col: "ID" alive? %d, front "ID"\n",
-		row, ROW_IS_ALIVE (row), Row [row].front)) ;
-
-	    /* added for UMFPACK: */
-	    if (ROW_IS_ALIVE (row))
-	    {
-		if (Row [row].front != EMPTY)
-		{
-		    /* This row represents a frontal matrix. */
-		    /* Row [row].front is a child of current front */
-		    child = Row [row].front ;
-		    Front_parent [child] = nfr ;
-		    DEBUG1 (("Front "ID" => front "ID", normal\n", child, nfr));
-		}
-		else
-		{
-		    /* This is an original row.  Keep track of which front
-		     * is its parent in the row-merge tree. */
-		    InFront [row] = nfr ;
-		    DEBUG1 (("Row "ID" => front "ID", normal\n", row, nfr)) ;
-		}
-	    }
-
-	    KILL_ROW (row) ;
-
-	    /* ------------------ */
-	    /* added for UMFPACK: */
-	    Row [row].thickness = 0 ;
-	    /* ------------------ */
-	}
-
-	/* === Select a row index to use as the new pivot row =============== */
-
-	pivot_row_length = pfree - pivot_row_start ;
-	if (pivot_row_length > 0)
-	{
-	    /* pick the "pivot" row arbitrarily (first row in col) */
-	    pivot_row = A [Col [pivot_col].start] ;
-	    DEBUG3 (("Pivotal row is "ID"\n", pivot_row)) ;
-	}
-	else
-	{
-	    /* there is no pivot row, since it is of zero length */
-	    pivot_row = EMPTY ;
-	    ASSERT (pivot_row_length == 0) ;
-	}
-	ASSERT (Col [pivot_col].length > 0 || pivot_row_length == 0) ;
-
-	/* === Approximate degree computation =============================== */
-
-	/* Here begins the computation of the approximate degree.  The column */
-	/* score is the sum of the pivot row "length", plus the size of the */
-	/* set differences of each row in the column minus the pattern of the */
-	/* pivot row itself.  The column ("thickness") itself is also */
-	/* excluded from the column score (we thus use an approximate */
-	/* external degree). */
-
-	/* The time taken by the following code (compute set differences, and */
-	/* add them up) is proportional to the size of the data structure */
-	/* being scanned - that is, the sum of the sizes of each column in */
-	/* the pivot row.  Thus, the amortized time to compute a column score */
-	/* is proportional to the size of that column (where size, in this */
-	/* context, is the column "length", or the number of row indices */
-	/* in that column).  The number of row indices in a column is */
-	/* monotonically non-decreasing, from the length of the original */
-	/* column on input to colamd. */
-
-	/* === Compute set differences ====================================== */
-
-	DEBUG3 (("** Computing set differences phase. **\n")) ;
-
-	/* pivot row is currently dead - it will be revived later. */
-
-	DEBUG3 (("Pivot row: \n")) ;
-	/* for each column in pivot row */
-	rp = &A [pivot_row_start] ;
-	rp_end = rp + pivot_row_length ;
-	while (rp < rp_end)
-	{
-	    col = *rp++ ;
-	    ASSERT (COL_IS_ALIVE (col) && col != pivot_col) ;
-	    DEBUG3 (("    Col: "ID"\n", col)) ;
-
-	    /* clear tags used to construct pivot row pattern */
-	    col_thickness = -Col [col].shared1.thickness ;
-	    ASSERT (col_thickness > 0) ;
-	    Col [col].shared1.thickness = col_thickness ;
-
-	    /* === Remove column from degree list =========================== */
-
-	    cur_score = Col [col].shared2.score ;
-	    prev_col = Col [col].shared3.prev ;
-	    next_col = Col [col].shared4.degree_next ;
-	    ASSERT (cur_score >= 0) ;
-	    ASSERT (cur_score <= n_col) ;
-	    ASSERT (cur_score >= EMPTY) ;
-	    if (prev_col == EMPTY)
-	    {
-		head [cur_score] = next_col ;
-	    }
-	    else
-	    {
-		Col [prev_col].shared4.degree_next = next_col ;
-	    }
-	    if (next_col != EMPTY)
-	    {
-		Col [next_col].shared3.prev = prev_col ;
-	    }
-
-	    /* === Scan the column ========================================== */
-
-	    cp = &A [Col [col].start] ;
-	    cp_end = cp + Col [col].length ;
-	    while (cp < cp_end)
-	    {
-		/* get a row */
-		row = *cp++ ;
-		row_mark = Row [row].shared2.mark ;
-		/* skip if dead */
-		if (ROW_IS_MARKED_DEAD (row_mark))
-		{
-		    continue ;
-		}
-		ASSERT (row != pivot_row) ;
-		set_difference = row_mark - tag_mark ;
-		/* check if the row has been seen yet */
-		if (set_difference < 0)
-		{
-		    ASSERT (Row [row].shared1.degree <= max_deg) ;
-		    set_difference = Row [row].shared1.degree ;
-		}
-		/* subtract column thickness from this row's set difference */
-		set_difference -= col_thickness ;
-		ASSERT (set_difference >= 0) ;
-		ASSERT (ROW_IS_ALIVE (row)) ;
-
-		/* absorb this row if the set difference becomes zero */
-		if (set_difference == 0 && aggressive)
-		{
-		    /* v4.1: do aggressive absorption */
-		    DEBUG3 (("aggressive absorption. Row: "ID"\n", row)) ;
-
-		    if (Row [row].front != EMPTY)
-		    {
-			/* Row [row].front is a child of current front. */
-			child = Row [row].front ;
-			Front_parent [child] = nfr ;
-			DEBUG1 (("Front "ID" => front "ID", aggressive\n",
-				    child, nfr)) ;
-		    }
-		    else
-		    {
-			/* this is an original row.  Keep track of which front
-			 * assembles it, for the row-merge tree */
-			InFront [row] = nfr ;
-			DEBUG1 (("Row "ID" => front "ID", aggressive\n",
-				    row, nfr)) ;
-		    }
-
-		    KILL_ROW (row) ;
-
-		    /* sum the thicknesses of all the rows */
-		    /* ASSERT (Row [row].thickness > 0) ; */
-		    pivot_row_thickness += Row [row].thickness ;
-		    Row [row].thickness = 0 ;
-
-		}
-		else
-		{
-		    /* save the new mark */
-		    Row [row].shared2.mark = set_difference + tag_mark ;
-		}
-	    }
-	}
-
-#ifndef NDEBUG
-	debug_deg_lists (n_row, n_col, Row, Col, head,
-		min_score, n_col2-k-pivot_row_degree, max_deg) ;
-#endif /* NDEBUG */
-
-	/* === Add up set differences for each column ======================= */
-
-	DEBUG3 (("** Adding set differences phase. **\n")) ;
-
-	/* for each column in pivot row */
-	rp = &A [pivot_row_start] ;
-	rp_end = rp + pivot_row_length ;
-	while (rp < rp_end)
-	{
-	    /* get a column */
-	    col = *rp++ ;
-	    ASSERT (COL_IS_ALIVE (col) && col != pivot_col) ;
-	    hash = 0 ;
-	    cur_score = 0 ;
-	    cp = &A [Col [col].start] ;
-	    /* compact the column */
-	    new_cp = cp ;
-	    cp_end = cp + Col [col].length ;
-
-	    DEBUG4 (("Adding set diffs for Col: "ID".\n", col)) ;
-
-	    while (cp < cp_end)
-	    {
-		/* get a row */
-		row = *cp++ ;
-		ASSERT(row >= 0 && row < n_row) ;
-		row_mark = Row [row].shared2.mark ;
-		/* skip if dead */
-		if (ROW_IS_MARKED_DEAD (row_mark))
-		{
-		    /* ------------------ */
-		    /* changed for UMFPACK: */
-		    DEBUG4 ((" Row "ID", dead\n", row)) ;
-		    /* ------------------ */
-		    continue ;
-		}
-		/* ------------------ */
-		/* changed for UMFPACK: */
-		/* ASSERT (row_mark > tag_mark) ; */
-		DEBUG4 ((" Row "ID", set diff "ID"\n", row, row_mark-tag_mark));
-		ASSERT (row_mark >= tag_mark) ;
-		/* ------------------ */
-		/* compact the column */
-		*new_cp++ = row ;
-		/* compute hash function */
-		hash += row ;
-		/* add set difference */
-		cur_score += row_mark - tag_mark ;
-		/* integer overflow... */
-		cur_score = MIN (cur_score, n_col) ;
-	    }
-
-	    /* recompute the column's length */
-	    Col [col].length = (Int) (new_cp - &A [Col [col].start]) ;
-
-	    /* === Further mass elimination ================================= */
-
-	    if (Col [col].length == 0)
-	    {
-		DEBUG4 (("further mass elimination. Col: "ID"\n", col)) ;
-		/* nothing left but the pivot row in this column */
-		KILL_PRINCIPAL_COL (col) ;
-		pivot_row_degree -= Col [col].shared1.thickness ;
-		ASSERT (pivot_row_degree >= 0) ;
-		/* order it */
-		Col [col].shared2.order = k ;
-		/* increment order count by column thickness */
-		k += Col [col].shared1.thickness ;
-
-		/* ------------------ */
-		/* added for UMFPACK: */
-		pivot_col_thickness += Col [col].shared1.thickness ;
-
-		/* add to column list of front ... */
-#ifndef NDEBUG
-		DEBUG1 (("Mass")) ;
-		dump_super (col, Col, n_col) ;
-#endif
-		Col [Col [col].lastcol].nextcol = Front_cols [nfr] ;
-		Front_cols [nfr] = col ;
-		/* ------------------ */
-
-	    }
-	    else
-	    {
-		/* === Prepare for supercolumn detection ==================== */
-
-		DEBUG4 (("Preparing supercol detection for Col: "ID".\n", col));
-
-		/* save score so far */
-		Col [col].shared2.score = cur_score ;
-
-		/* add column to hash table, for supercolumn detection */
-		/* NOTE: hash is an unsigned Int to avoid a problem in ANSI C.
-		 * The sign of the expression a % b is not defined when a and/or
-		 * b are negative.  Since hash is unsigned and n_col >= 0,
-		 * this problem is avoided. */
-		hash %= n_col + 1 ;
-
-		DEBUG4 ((" Hash = "ID", n_col = "ID".\n", (Int) hash, n_col)) ;
-		ASSERT (((Int) hash) <= n_col) ;
-
-		head_column = head [hash] ;
-		if (head_column > EMPTY)
-		{
-		    /* degree list "hash" is non-empty, use prev (shared3) of */
-		    /* first column in degree list as head of hash bucket */
-		    first_col = Col [head_column].shared3.headhash ;
-		    Col [head_column].shared3.headhash = col ;
-		}
-		else
-		{
-		    /* degree list "hash" is empty, use head as hash bucket */
-		    first_col = - (head_column + 2) ;
-		    head [hash] = - (col + 2) ;
-		}
-		Col [col].shared4.hash_next = first_col ;
-
-		/* save hash function in Col [col].shared3.hash */
-		Col [col].shared3.hash = (Int) hash ;
-		ASSERT (COL_IS_ALIVE (col)) ;
-	    }
-	}
-
-	/* The approximate external column degree is now computed.  */
-
-	/* === Supercolumn detection ======================================== */
-
-	DEBUG3 (("** Supercolumn detection phase. **\n")) ;
-
-	detect_super_cols (
-
-#ifndef NDEBUG
-		n_col, Row,
-#endif /* NDEBUG */
-
-		Col, A, head, pivot_row_start, pivot_row_length) ;
-
-	/* === Kill the pivotal column ====================================== */
-
-	KILL_PRINCIPAL_COL (pivot_col) ;
-
-	/* ------------------ */
-	/* added for UMFPACK: */
-	/* add columns to column list of front */
-#ifndef NDEBUG
-	DEBUG1 (("Pivot")) ;
-	dump_super (pivot_col, Col, n_col) ;
-#endif
-	Col [Col [pivot_col].lastcol].nextcol = Front_cols [nfr] ;
-	Front_cols [nfr] = pivot_col ;
-	/* ------------------ */
-
-	/* === Clear mark =================================================== */
-
-	tag_mark += (max_deg + 1) ;
-	if (tag_mark >= max_mark)
-	{
-	    DEBUG2 (("clearing tag_mark\n")) ;
-	    tag_mark = clear_mark (n_row, Row) ;
-	}
-
-#ifndef NDEBUG
-	DEBUG3 (("check3\n")) ;
-	debug_mark (n_row, Row, tag_mark, max_mark) ;
-#endif /* NDEBUG */
-
-	/* === Finalize the new pivot row, and column scores ================ */
-
-	DEBUG3 (("** Finalize scores phase. **\n")) ;
-	DEBUG3 (("pivot_row_degree "ID"\n", pivot_row_degree)) ;
-
-	/* for each column in pivot row */
-	rp = &A [pivot_row_start] ;
-	/* compact the pivot row */
-	new_rp = rp ;
-	rp_end = rp + pivot_row_length ;
-	while (rp < rp_end)
-	{
-	    col = *rp++ ;
-	    DEBUG3 (("Col "ID" \n", col)) ;
-	    /* skip dead columns */
-	    if (COL_IS_DEAD (col))
-	    {
-		DEBUG3 (("dead\n")) ;
-		continue ;
-	    }
-	    *new_rp++ = col ;
-	    /* add new pivot row to column */
-	    A [Col [col].start + (Col [col].length++)] = pivot_row ;
-
-	    /* retrieve score so far and add on pivot row's degree. */
-	    /* (we wait until here for this in case the pivot */
-	    /* row's degree was reduced due to mass elimination). */
-	    cur_score = Col [col].shared2.score + pivot_row_degree ;
-	    DEBUG3 ((" cur_score "ID" ", cur_score)) ;
-
-	    /* calculate the max possible score as the number of */
-	    /* external columns minus the 'k' value minus the */
-	    /* columns thickness */
-	    max_score = n_col - k - Col [col].shared1.thickness ;
-	    DEBUG3 ((" max_score "ID" ", max_score)) ;
-
-	    /* make the score the external degree of the union-of-rows */
-	    cur_score -= Col [col].shared1.thickness ;
-	    DEBUG3 ((" cur_score "ID" ", cur_score)) ;
-
-	    /* make sure score is less or equal than the max score */
-	    cur_score = MIN (cur_score, max_score) ;
-	    ASSERT (cur_score >= 0) ;
-
-	    /* store updated score */
-	    Col [col].shared2.score = cur_score ;
-	    DEBUG3 ((" "ID"\n", cur_score)) ;
-
-	    /* === Place column back in degree list ========================= */
-
-	    ASSERT (min_score >= 0) ;
-	    ASSERT (min_score <= n_col) ;
-	    ASSERT (cur_score >= 0) ;
-	    ASSERT (cur_score <= n_col) ;
-	    ASSERT (head [cur_score] >= EMPTY) ;
-	    next_col = head [cur_score] ;
-	    Col [col].shared4.degree_next = next_col ;
-	    Col [col].shared3.prev = EMPTY ;
-	    if (next_col != EMPTY)
-	    {
-		Col [next_col].shared3.prev = col ;
-	    }
-	    head [cur_score] = col ;
-
-	    /* see if this score is less than current min */
-	    min_score = MIN (min_score, cur_score) ;
-
-	}
-
-#ifndef NDEBUG
-	debug_deg_lists (n_row, n_col, Row, Col, head,
-		min_score, n_col2-k, max_deg) ;
-#endif /* NDEBUG */
-
-	/* ------------------ */
-	/* added for UMFPACK: */
-	/* frontal matrix can have more pivot cols than pivot rows for */
-	/* singular matrices. */
-
-	/* number of candidate pivot columns */
-	Front_npivcol [nfr] = pivot_col_thickness ;
-
-	/* all rows (not just size of contrib. block) */
-	Front_nrows [nfr] = pivot_row_thickness ;
-
-	/* all cols */
-	Front_ncols [nfr] = pivot_col_thickness + pivot_row_degree ;
-
-	Front_parent [nfr] = EMPTY ;
-
-	pivot_row_thickness -= pivot_col_thickness ;
-	DEBUG1 (("Front "ID" Pivot_row_thickness after pivot cols elim: "ID"\n",
-	    nfr, pivot_row_thickness)) ;
-	pivot_row_thickness = MAX (0, pivot_row_thickness) ;
-	/* ------------------ */
-
-	/* === Resurrect the new pivot row ================================== */
-
-	if (pivot_row_degree > 0
-	/* ------------------ */
-	/* added for UMFPACK.  Note that this part of the expression should be
-	 * removed if this routine is used outside of UMFPACK, for a Cholesky
-	 * factorization of (AQ)'(AQ) */
-	&& pivot_row_thickness > 0
-	/* ------------------ */
-	)
-	{
-	    /* update pivot row length to reflect any cols that were killed */
-	    /* during super-col detection and mass elimination */
-	    Row [pivot_row].start  = pivot_row_start ;
-	    Row [pivot_row].length = (Int) (new_rp - &A[pivot_row_start]) ;
-	    ASSERT (Row [pivot_row].length > 0) ;
-	    Row [pivot_row].shared1.degree = pivot_row_degree ;
-	    Row [pivot_row].shared2.mark = 0 ;
-	    /* ------------------ */
-	    /* added for UMFPACK: */
-	    Row [pivot_row].thickness = pivot_row_thickness ;
-	    Row [pivot_row].front = nfr ;
-	    /* ------------------ */
-	    /* pivot row is no longer dead */
-	}
-
-	/* ------------------ */
-	/* added for UMFPACK: */
-
-#ifndef NDEBUG
-	DEBUG1 (("Front "ID" : "ID" "ID" "ID" ", nfr,
-		Front_npivcol [nfr], Front_nrows [nfr], Front_ncols [nfr])) ;
-	DEBUG1 ((" cols:[ ")) ;
-	debug_d = 0 ;
-	for (col = Front_cols [nfr] ; col != EMPTY ; col = Col [col].nextcol)
-	{
-	    DEBUG1 ((" "ID, col)) ;
-	    ASSERT (col >= 0 && col < n_col) ;
-	    ASSERT (COL_IS_DEAD (col)) ;
-	    debug_d++ ;
-	    ASSERT (debug_d <= pivot_col_thickness) ;
-	}
-	ASSERT (debug_d == pivot_col_thickness) ;
-	DEBUG1 ((" ]\n ")) ;
-#endif
-	nfr++ ; /* one more front */
-	/* ------------------ */
-
-    }
-
-    /* === All principal columns have now been ordered ====================== */
-
-    /* ------------------ */
-    /* added for UMFPACK: */
-    *p_nfr = nfr ;
-    /* ------------------ */
-
-    return (ngarbage) ;
-}
-
-
-/* ========================================================================== */
-/* === order_children deleted for UMFPACK =================================== */
-/* ========================================================================== */
-
-/* ========================================================================== */
-/* === detect_super_cols ==================================================== */
-/* ========================================================================== */
-
-/*
-    Detects supercolumns by finding matches between columns in the hash buckets.
-    Check amongst columns in the set A [row_start ... row_start + row_length-1].
-    The columns under consideration are currently *not* in the degree lists,
-    and have already been placed in the hash buckets.
-
-    The hash bucket for columns whose hash function is equal to h is stored
-    as follows:
-
-	if head [h] is >= 0, then head [h] contains a degree list, so:
-
-		head [h] is the first column in degree bucket h.
-		Col [head [h]].headhash gives the first column in hash bucket h.
-
-	otherwise, the degree list is empty, and:
-
-		-(head [h] + 2) is the first column in hash bucket h.
-
-    For a column c in a hash bucket, Col [c].shared3.prev is NOT a "previous
-    column" pointer.  Col [c].shared3.hash is used instead as the hash number
-    for that column.  The value of Col [c].shared4.hash_next is the next column
-    in the same hash bucket.
-
-    Assuming no, or "few" hash collisions, the time taken by this routine is
-    linear in the sum of the sizes (lengths) of each column whose score has
-    just been computed in the approximate degree computation.
-    Not user-callable.
-*/
-
-PRIVATE void detect_super_cols
-(
-    /* === Parameters ======================================================= */
-
-#ifndef NDEBUG
-    /* these two parameters are only needed when debugging is enabled: */
-    Int n_col,			/* number of columns of A */
-    Colamd_Row Row [],		/* of size n_row+1 */
-#endif /* NDEBUG */
-
-    Colamd_Col Col [],		/* of size n_col+1 */
-    Int A [],			/* row indices of A */
-    Int head [],		/* head of degree lists and hash buckets */
-    Int row_start,		/* pointer to set of columns to check */
-    Int row_length		/* number of columns to check */
-)
-{
-    /* === Local variables ================================================== */
-
-    Int hash ;			/* hash value for a column */
-    Int *rp ;			/* pointer to a row */
-    Int c ;			/* a column index */
-    Int super_c ;		/* column index of the column to absorb into */
-    Int *cp1 ;			/* column pointer for column super_c */
-    Int *cp2 ;			/* column pointer for column c */
-    Int length ;		/* length of column super_c */
-    Int prev_c ;		/* column preceding c in hash bucket */
-    Int i ;			/* loop counter */
-    Int *rp_end ;		/* pointer to the end of the row */
-    Int col ;			/* a column index in the row to check */
-    Int head_column ;		/* first column in hash bucket or degree list */
-    Int first_col ;		/* first column in hash bucket */
-
-    /* === Consider each column in the row ================================== */
-
-    rp = &A [row_start] ;
-    rp_end = rp + row_length ;
-    while (rp < rp_end)
-    {
-	col = *rp++ ;
-	if (COL_IS_DEAD (col))
-	{
-	    continue ;
-	}
-
-	/* get hash number for this column */
-	hash = Col [col].shared3.hash ;
-	ASSERT (hash <= n_col) ;
-
-	/* === Get the first column in this hash bucket ===================== */
-
-	head_column = head [hash] ;
-	if (head_column > EMPTY)
-	{
-	    first_col = Col [head_column].shared3.headhash ;
-	}
-	else
-	{
-	    first_col = - (head_column + 2) ;
-	}
-
-	/* === Consider each column in the hash bucket ====================== */
-
-	for (super_c = first_col ; super_c != EMPTY ;
-	    super_c = Col [super_c].shared4.hash_next)
-	{
-	    ASSERT (COL_IS_ALIVE (super_c)) ;
-	    ASSERT (Col [super_c].shared3.hash == hash) ;
-	    length = Col [super_c].length ;
-
-	    /* prev_c is the column preceding column c in the hash bucket */
-	    prev_c = super_c ;
-
-	    /* === Compare super_c with all columns after it ================ */
-
-	    for (c = Col [super_c].shared4.hash_next ;
-		c != EMPTY ; c = Col [c].shared4.hash_next)
-	    {
-		ASSERT (c != super_c) ;
-		ASSERT (COL_IS_ALIVE (c)) ;
-		ASSERT (Col [c].shared3.hash == hash) ;
-
-		/* not identical if lengths or scores are different */
-		if (Col [c].length != length ||
-		    Col [c].shared2.score != Col [super_c].shared2.score)
-		{
-		    prev_c = c ;
-		    continue ;
-		}
-
-		/* compare the two columns */
-		cp1 = &A [Col [super_c].start] ;
-		cp2 = &A [Col [c].start] ;
-
-		for (i = 0 ; i < length ; i++)
-		{
-		    /* the columns are "clean" (no dead rows) */
-		    ASSERT (ROW_IS_ALIVE (*cp1))  ;
-		    ASSERT (ROW_IS_ALIVE (*cp2))  ;
-		    /* row indices will same order for both supercols, */
-		    /* no gather scatter nessasary */
-		    if (*cp1++ != *cp2++)
-		    {
-			break ;
-		    }
-		}
-
-		/* the two columns are different if the for-loop "broke" */
-		if (i != length)
-		{
-		    prev_c = c ;
-		    continue ;
-		}
-
-		/* === Got it!  two columns are identical =================== */
-
-		ASSERT (Col [c].shared2.score == Col [super_c].shared2.score) ;
-
-		Col [super_c].shared1.thickness += Col [c].shared1.thickness ;
-		Col [c].shared1.parent = super_c ;
-		KILL_NON_PRINCIPAL_COL (c) ;
-
-		Col [c].shared2.order = EMPTY ;
-		/* remove c from hash bucket */
-		Col [prev_c].shared4.hash_next = Col [c].shared4.hash_next ;
-
-		/* ------------------ */
-		/* added for UMFPACK: */
-		/* add c to end of list of super_c */
-		ASSERT (Col [super_c].lastcol >= 0) ;
-		ASSERT (Col [super_c].lastcol < n_col) ;
-		Col [Col [super_c].lastcol].nextcol = c ;
-		Col [super_c].lastcol = Col [c].lastcol ;
-#ifndef NDEBUG
-		/* dump the supercolumn */
-		DEBUG1 (("Super")) ;
-		dump_super (super_c, Col, n_col) ;
-#endif
-		/* ------------------ */
-
-	    }
-	}
-
-	/* === Empty this hash bucket ======================================= */
-
-	if (head_column > EMPTY)
-	{
-	    /* corresponding degree list "hash" is not empty */
-	    Col [head_column].shared3.headhash = EMPTY ;
-	}
-	else
-	{
-	    /* corresponding degree list "hash" is empty */
-	    head [hash] = EMPTY ;
-	}
-    }
-}
-
-
-/* ========================================================================== */
-/* === garbage_collection =================================================== */
-/* ========================================================================== */
-
-/*
-    Defragments and compacts columns and rows in the workspace A.  Used when
-    all avaliable memory has been used while performing row merging.  Returns
-    the index of the first free position in A, after garbage collection.  The
-    time taken by this routine is linear is the size of the array A, which is
-    itself linear in the number of nonzeros in the input matrix.
-    Not user-callable.
-*/
-
-PRIVATE Int garbage_collection  /* returns the new value of pfree */
-(
-    /* === Parameters ======================================================= */
-
-    Int n_row,			/* number of rows */
-    Int n_col,			/* number of columns */
-    Colamd_Row Row [],		/* row info */
-    Colamd_Col Col [],		/* column info */
-    Int A [],			/* A [0 ... Alen-1] holds the matrix */
-    Int *pfree			/* &A [0] ... pfree is in use */
-)
-{
-    /* === Local variables ================================================== */
-
-    Int *psrc ;			/* source pointer */
-    Int *pdest ;		/* destination pointer */
-    Int j ;			/* counter */
-    Int r ;			/* a row index */
-    Int c ;			/* a column index */
-    Int length ;		/* length of a row or column */
-
-#ifndef NDEBUG
-    Int debug_rows ;
-    DEBUG2 (("Defrag..\n")) ;
-    for (psrc = &A[0] ; psrc < pfree ; psrc++) ASSERT (*psrc >= 0) ;
-    debug_rows = 0 ;
-#endif /* NDEBUG */
-
-    /* === Defragment the columns =========================================== */
-
-    pdest = &A[0] ;
-    for (c = 0 ; c < n_col ; c++)
-    {
-	if (COL_IS_ALIVE (c))
-	{
-	    psrc = &A [Col [c].start] ;
-
-	    /* move and compact the column */
-	    ASSERT (pdest <= psrc) ;
-	    Col [c].start = (Int) (pdest - &A [0]) ;
-	    length = Col [c].length ;
-	    for (j = 0 ; j < length ; j++)
-	    {
-		r = *psrc++ ;
-		if (ROW_IS_ALIVE (r))
-		{
-		    *pdest++ = r ;
-		}
-	    }
-	    Col [c].length = (Int) (pdest - &A [Col [c].start]) ;
-	}
-    }
-
-    /* === Prepare to defragment the rows =================================== */
-
-    for (r = 0 ; r < n_row ; r++)
-    {
-	if (ROW_IS_ALIVE (r))
-	{
-	    if (Row [r].length == 0)
-	    {
-		/* :: defrag row kill :: */
-		/* This row is of zero length.  cannot compact it, so kill it.
-		 * NOTE: in the current version, there are no zero-length live
-		 * rows when garbage_collection is called.  So this code will
-		 * never trigger.  However, if the code is modified, or if
-		 * garbage_collection is called at a different place, then rows
-		 * can be of zero length.  So this test is kept, just in case.
-		 */
-		DEBUGm4 (("Defrag row kill\n")) ;
-		KILL_ROW (r) ;
-	    }
-	    else
-	    {
-		/* save first column index in Row [r].shared2.first_column */
-		psrc = &A [Row [r].start] ;
-		Row [r].shared2.first_column = *psrc ;
-		ASSERT (ROW_IS_ALIVE (r)) ;
-		/* flag the start of the row with the one's complement of row */
-		*psrc = ONES_COMPLEMENT (r) ;
-#ifndef NDEBUG
-		debug_rows++ ;
-#endif /* NDEBUG */
-	    }
-	}
-    }
-
-    /* === Defragment the rows ============================================== */
-
-    psrc = pdest ;
-    while (psrc < pfree)
-    {
-	/* find a negative number ... the start of a row */
-	if (*psrc++ < 0)
-	{
-	    psrc-- ;
-	    /* get the row index */
-	    r = ONES_COMPLEMENT (*psrc) ;
-	    ASSERT (r >= 0 && r < n_row) ;
-	    /* restore first column index */
-	    *psrc = Row [r].shared2.first_column ;
-	    ASSERT (ROW_IS_ALIVE (r)) ;
-
-	    /* move and compact the row */
-	    ASSERT (pdest <= psrc) ;
-	    Row [r].start = (Int) (pdest - &A [0]) ;
-	    length = Row [r].length ;
-	    for (j = 0 ; j < length ; j++)
-	    {
-		c = *psrc++ ;
-		if (COL_IS_ALIVE (c))
-		{
-		    *pdest++ = c ;
-		}
-	    }
-	    Row [r].length = (Int) (pdest - &A [Row [r].start]) ;
-
-#ifndef NDEBUG
-	    debug_rows-- ;
-#endif /* NDEBUG */
-
-	}
-    }
-    /* ensure we found all the rows */
-    ASSERT (debug_rows == 0) ;
-
-    /* === Return the new value of pfree ==================================== */
-
-    return ((Int) (pdest - &A [0])) ;
-}
-
-
-/* ========================================================================== */
-/* === clear_mark =========================================================== */
-/* ========================================================================== */
-
-/*
-    Clears the Row [].shared2.mark array, and returns the new tag_mark.
-    Return value is the new tag_mark.  Not user-callable.
-*/
-
-PRIVATE Int clear_mark	/* return the new value for tag_mark */
-(
-    /* === Parameters ======================================================= */
-
-    Int n_row,		/* number of rows in A */
-    Colamd_Row Row []	/* Row [0 ... n-1].shared2.mark is set to zero */
-)
-{
-    /* === Local variables ================================================== */
-
-    Int r ;
-
-    for (r = 0 ; r < n_row ; r++)
-    {
-	if (ROW_IS_ALIVE (r))
-	{
-	    Row [r].shared2.mark = 0 ;
-	}
-    }
-
-    /* ------------------ */
-    return (1) ;
-    /* ------------------ */
-
-}
-
-
-/* ========================================================================== */
-/* === print_report removed for UMFPACK ===================================== */
-/* ========================================================================== */
-
-
-
-/* ========================================================================== */
-/* === colamd debugging routines ============================================ */
-/* ========================================================================== */
-
-/* When debugging is disabled, the remainder of this file is ignored. */
-
-#ifndef NDEBUG
-
-
-/* ========================================================================== */
-/* === debug_structures ===================================================== */
-/* ========================================================================== */
-
-/*
-    At this point, all empty rows and columns are dead.  All live columns
-    are "clean" (containing no dead rows) and simplicial (no supercolumns
-    yet).  Rows may contain dead columns, but all live rows contain at
-    least one live column.
-*/
-
-PRIVATE void debug_structures
-(
-    /* === Parameters ======================================================= */
-
-    Int n_row,
-    Int n_col,
-    Colamd_Row Row [],
-    Colamd_Col Col [],
-    Int A [],
-    Int n_col2
-)
-{
-    /* === Local variables ================================================== */
-
-    Int i ;
-    Int c ;
-    Int *cp ;
-    Int *cp_end ;
-    Int len ;
-    Int score ;
-    Int r ;
-    Int *rp ;
-    Int *rp_end ;
-    Int deg ;
-
-    /* === Check A, Row, and Col ============================================ */
-
-    for (c = 0 ; c < n_col ; c++)
-    {
-	if (COL_IS_ALIVE (c))
-	{
-	    len = Col [c].length ;
-	    score = Col [c].shared2.score ;
-	    DEBUG4 (("initial live col "ID" "ID" "ID"\n", c, len, score)) ;
-	    ASSERT (len > 0) ;
-	    ASSERT (score >= 0) ;
-	    ASSERT (Col [c].shared1.thickness == 1) ;
-	    cp = &A [Col [c].start] ;
-	    cp_end = cp + len ;
-	    while (cp < cp_end)
-	    {
-		r = *cp++ ;
-		ASSERT (ROW_IS_ALIVE (r)) ;
-	    }
-	}
-	else
-	{
-	    i = Col [c].shared2.order ;
-	    ASSERT (i >= n_col2 && i < n_col) ;
-	}
-    }
-
-    for (r = 0 ; r < n_row ; r++)
-    {
-	if (ROW_IS_ALIVE (r))
-	{
-	    i = 0 ;
-	    len = Row [r].length ;
-	    deg = Row [r].shared1.degree ;
-	    ASSERT (len > 0) ;
-	    ASSERT (deg > 0) ;
-	    rp = &A [Row [r].start] ;
-	    rp_end = rp + len ;
-	    while (rp < rp_end)
-	    {
-		c = *rp++ ;
-		if (COL_IS_ALIVE (c))
-		{
-		    i++ ;
-		}
-	    }
-	    ASSERT (i > 0) ;
-	}
-    }
-}
-
-
-/* ========================================================================== */
-/* === debug_deg_lists ====================================================== */
-/* ========================================================================== */
-
-/*
-    Prints the contents of the degree lists.  Counts the number of columns
-    in the degree list and compares it to the total it should have.  Also
-    checks the row degrees.
-*/
-
-PRIVATE void debug_deg_lists
-(
-    /* === Parameters ======================================================= */
-
-    Int n_row,
-    Int n_col,
-    Colamd_Row Row [],
-    Colamd_Col Col [],
-    Int head [],
-    Int min_score,
-    Int should,
-    Int max_deg
-)
-{
-    /* === Local variables ================================================== */
-
-    Int deg ;
-    Int col ;
-    Int have ;
-    Int row ;
-
-    /* === Check the degree lists =========================================== */
-
-    if (n_col > 10000 && UMF_debug <= 0)
-    {
-	return ;
-    }
-    have = 0 ;
-    DEBUG4 (("Degree lists: "ID"\n", min_score)) ;
-    for (deg = 0 ; deg <= n_col ; deg++)
-    {
-	col = head [deg] ;
-	if (col == EMPTY)
-	{
-	    continue ;
-	}
-	DEBUG4 ((ID":", deg)) ;
-	while (col != EMPTY)
-	{
-	    DEBUG4 ((" "ID, col)) ;
-	    have += Col [col].shared1.thickness ;
-	    ASSERT (COL_IS_ALIVE (col)) ;
-	    col = Col [col].shared4.degree_next ;
-	}
-	DEBUG4 (("\n")) ;
-    }
-    DEBUG4 (("should "ID" have "ID"\n", should, have)) ;
-    ASSERT (should == have) ;
-
-    /* === Check the row degrees ============================================ */
-
-    if (n_row > 10000 && UMF_debug <= 0)
-    {
-	return ;
-    }
-    for (row = 0 ; row < n_row ; row++)
-    {
-	if (ROW_IS_ALIVE (row))
-	{
-	    ASSERT (Row [row].shared1.degree <= max_deg) ;
-	}
-    }
-}
-
-
-/* ========================================================================== */
-/* === debug_mark =========================================================== */
-/* ========================================================================== */
-
-/*
-    Ensures that the tag_mark is less that the maximum and also ensures that
-    each entry in the mark array is less than the tag mark.
-*/
-
-PRIVATE void debug_mark
-(
-    /* === Parameters ======================================================= */
-
-    Int n_row,
-    Colamd_Row Row [],
-    Int tag_mark,
-    Int max_mark
-)
-{
-    /* === Local variables ================================================== */
-
-    Int r ;
-
-    /* === Check the Row marks ============================================== */
-
-    ASSERT (tag_mark > 0 && tag_mark <= max_mark) ;
-    if (n_row > 10000 && UMF_debug <= 0)
-    {
-	return ;
-    }
-    for (r = 0 ; r < n_row ; r++)
-    {
-	ASSERT (Row [r].shared2.mark < tag_mark) ;
-    }
-}
-
-
-/* ========================================================================== */
-/* === debug_matrix ========================================================= */
-/* ========================================================================== */
-
-/*
-    Prints out the contents of the columns and the rows.
-*/
-
-PRIVATE void debug_matrix
-(
-    /* === Parameters ======================================================= */
-
-    Int n_row,
-    Int n_col,
-    Colamd_Row Row [],
-    Colamd_Col Col [],
-    Int A []
-)
-{
-    /* === Local variables ================================================== */
-
-    Int r ;
-    Int c ;
-    Int *rp ;
-    Int *rp_end ;
-    Int *cp ;
-    Int *cp_end ;
-
-    /* === Dump the rows and columns of the matrix ========================== */
-
-    if (UMF_debug < 3)
-    {
-	return ;
-    }
-    DEBUG3 (("DUMP MATRIX:\n")) ;
-    for (r = 0 ; r < n_row ; r++)
-    {
-	DEBUG3 (("Row "ID" alive? %d\n", r, ROW_IS_ALIVE (r))) ;
-	if (ROW_IS_DEAD (r))
-	{
-	    continue ;
-	}
-
-	/* ------------------ */
-	/* changed for UMFPACK: */
-	DEBUG3 (("start "ID" length "ID" degree "ID" thickness "ID"\n",
-		Row [r].start, Row [r].length, Row [r].shared1.degree,
-		Row [r].thickness)) ;
-	/* ------------------ */
-
-	rp = &A [Row [r].start] ;
-	rp_end = rp + Row [r].length ;
-	while (rp < rp_end)
-	{
-	    c = *rp++ ;
-	    DEBUG4 (("	%d col "ID"\n", COL_IS_ALIVE (c), c)) ;
-	}
-    }
-
-    for (c = 0 ; c < n_col ; c++)
-    {
-	DEBUG3 (("Col "ID" alive? %d\n", c, COL_IS_ALIVE (c))) ;
-	if (COL_IS_DEAD (c))
-	{
-	    continue ;
-	}
-	/* ------------------ */
-	/* changed for UMFPACK: */
-	DEBUG3 (("start "ID" length "ID" shared1[thickness,parent] "ID
-		" shared2 [order,score] "ID"\n", Col [c].start, Col [c].length,
-		Col [c].shared1.thickness, Col [c].shared2.score));
-	/* ------------------ */
-	cp = &A [Col [c].start] ;
-	cp_end = cp + Col [c].length ;
-	while (cp < cp_end)
-	{
-	    r = *cp++ ;
-	    DEBUG4 (("	%d row "ID"\n", ROW_IS_ALIVE (r), r)) ;
-	}
-
-	/* ------------------ */
-	/* added for UMFPACK: */
-	DEBUG1 (("Col")) ;
-	dump_super (c, Col, n_col) ;
-	/* ------------------ */
-
-    }
-}
-
-/* ------------------ */
-/* dump_super added for UMFPACK: */
-PRIVATE void dump_super
-(
-    Int super_c,
-    Colamd_Col Col [],
-    Int n_col
-)
-{
-    Int col, ncols ;
-
-    DEBUG1 ((" =[ ")) ;
-    ncols = 0 ;
-    for (col = super_c ; col != EMPTY ; col = Col [col].nextcol)
-    {
-	DEBUG1 ((" "ID, col)) ;
-	ASSERT (col >= 0 && col < n_col) ;
-	if (col != super_c)
-	{
-	    ASSERT (COL_IS_DEAD (col)) ;
-	}
-	if (Col [col].nextcol == EMPTY)
-	{
-	    ASSERT (col == Col [super_c].lastcol) ;
-	}
-	ncols++ ;
-	ASSERT (ncols <= Col [super_c].shared1.thickness) ;
-    }
-    ASSERT (ncols == Col [super_c].shared1.thickness) ;
-    DEBUG1 (("]\n")) ;
-}
-/* ------------------ */
-
-
-#endif /* NDEBUG */
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_colamd.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,255 +0,0 @@
-/* ========================================================================== */
-/* === umf_colamd.h ========================================================= */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-
-Authors:
-
-    The authors of the COLAMD code itself are Stefan I. Larimore and Timothy A.
-    Davis, University of Florida.  The algorithm was developed in collaboration
-    with John Gilbert, Xerox PARC, and Esmond Ng, Oak Ridge National Laboratory.
-
-Date:
-
-    UMFPACK Version: see above.
-    COLAMD Version 2.0 was released on January 31, 2000.
-
-Acknowledgements:
-
-    This work was supported by the National Science Foundation, under
-    grants DMS-9504974, DMS-9803599, and CCR-0203270.
-
-UMFPACK:  Copyright (c) 2003 by Timothy A. Davis.  All Rights Reserved.
-
-See the UMFPACK README file for the License for your use of this code.
-
-Availability:
-
-    Both UMFPACK and the original unmodified colamd/symamd library are
-    available at http://www.cise.ufl.edu/research/sparse.
-
-*/
-
-#ifndef COLAMD_H
-#define COLAMD_H
-
-/* ========================================================================== */
-/* === Include files ======================================================== */
-/* ========================================================================== */
-
-#include <stdlib.h>
-
-/* ========================================================================== */
-/* === Knob and statistics definitions ====================================== */
-/* ========================================================================== */
-
-/* size of the knobs [ ] array.  Only knobs [0..2] are currently used. */
-#define COLAMD_KNOBS 20
-
-/* number of output statistics.  Only stats [0..8] are currently used. */
-#define COLAMD_STATS 20
-
-/* knobs [0] and stats [0]: dense row knob and output statistic. */
-#define COLAMD_DENSE_ROW 0
-
-/* knobs [1] and stats [1]: dense column knob and output statistic. */
-#define COLAMD_DENSE_COL 1
-
-/* knobs [2]: aggressive absorption option */
-#define COLAMD_AGGRESSIVE 2
-
-/* stats [2]: memory defragmentation count output statistic */
-#define COLAMD_DEFRAG_COUNT 2
-
-/* stats [3]: colamd status:  zero OK, > 0 warning or notice, < 0 error */
-#define COLAMD_STATUS 3
-
-/* stats [4..6]: error info, or info on jumbled columns */
-#define COLAMD_INFO1 4
-#define COLAMD_INFO2 5
-#define COLAMD_INFO3 6
-
-/* ------------------ */
-/* added for UMFPACK: */
-/* stats [7]: number of originally empty rows */
-#define COLAMD_EMPTY_ROW 7
-/* stats [8]: number of originally empty cols */
-#define COLAMD_EMPTY_COL 8
-/* stats [9]: number of rows with entries only in dense cols */
-#define COLAMD_NEWLY_EMPTY_ROW 9
-/* stats [10]: number of cols with entries only in dense rows */
-#define COLAMD_NEWLY_EMPTY_COL 10
-/* ------------------ */
-
-/* error codes returned in stats [3]: */
-#define COLAMD_OK				(0)
-#define COLAMD_ERROR_jumbled_matrix		(-11)
-#define COLAMD_ERROR_A_not_present		(-1)
-#define COLAMD_ERROR_p_not_present		(-2)
-#define COLAMD_ERROR_nrow_negative		(-3)
-#define COLAMD_ERROR_ncol_negative		(-4)
-#define COLAMD_ERROR_nnz_negative		(-5)
-#define COLAMD_ERROR_p0_nonzero			(-6)
-#define COLAMD_ERROR_A_too_small		(-7)
-#define COLAMD_ERROR_col_length_negative	(-8)
-#define COLAMD_ERROR_row_index_out_of_bounds	(-9)
-#define COLAMD_ERROR_out_of_memory		(-10)
-#define COLAMD_ERROR_internal_error		(-999)
-
-/* ========================================================================== */
-/* === Row and Column structures ============================================ */
-/* ========================================================================== */
-
-/* User code that makes use of the colamd/symamd routines need not directly */
-/* reference these structures.  They are used only for the COLAMD_RECOMMENDED */
-/* macro. */
-
-typedef struct Colamd_Col_struct
-{
-    Int start ;		/* index for A of first row in this column, or DEAD */
-			/* if column is dead */
-    Int length ;	/* number of rows in this column */
-    union
-    {
-	Int thickness ;	/* number of original columns represented by this */
-			/* col, if the column is alive */
-	Int parent ;	/* parent in parent tree super-column structure, if */
-			/* the column is dead */
-    } shared1 ;
-    union
-    {
-	Int score ;	/* the score used to maintain heap, if col is alive */
-	Int order ;	/* pivot ordering of this column, if col is dead */
-    } shared2 ;
-    union
-    {
-	Int headhash ;	/* head of a hash bucket, if col is at the head of */
-			/* a degree list */
-	Int hash ;	/* hash value, if col is not in a degree list */
-	Int prev ;	/* previous column in degree list, if col is in a */
-			/* degree list (but not at the head of a degree list) */
-    } shared3 ;
-    union
-    {
-	Int degree_next ;	/* next column, if col is in a degree list */
-	Int hash_next ;		/* next column, if col is in a hash list */
-    } shared4 ;
-
-    /* ------------------ */
-    /* added for UMFPACK: */
-    Int nextcol ;	/* next column in this supercolumn */
-    Int lastcol ;	/* last column in this supercolumn */
-    /* ------------------ */
-
-} Colamd_Col ;
-
-typedef struct Colamd_Row_struct
-{
-    Int start ;		/* index for A of first col in this row */
-    Int length ;	/* number of principal columns in this row */
-    union
-    {
-	Int degree ;	/* number of principal & non-principal columns in row */
-	Int p ;		/* used as a row pointer in init_rows_cols () */
-    } shared1 ;
-    union
-    {
-	Int mark ;	/* for computing set differences and marking dead rows*/
-	Int first_column ;/* first column in row (used in garbage collection) */
-    } shared2 ;
-
-    /* ------------------ */
-    /* added for UMFPACK: */
-    Int thickness ;	/* number of original rows represented by this row */
-			/* that are not yet pivotal */
-    Int front ;		/* -1 if an original row */
-			/* k if this row represents the kth frontal matrix */
-			/* where k goes from 0 to at most n_col-1 */
-    /* ------------------ */
-
-} Colamd_Row ;
-
-
-
-/* ========================================================================== */
-/* === Colamd recommended memory size ======================================= */
-/* ========================================================================== */
-
-/*
-    The recommended length Alen of the array A passed to colamd is given by
-    the COLAMD_RECOMMENDED (nnz, n_row, n_col) macro.  It returns -1 if any
-    argument is negative.  2*nnz space is required for the row and column
-    indices of the matrix. COLAMD_C (n_col) + COLAMD_R (n_row) space is
-    required for the Col and Row arrays, respectively, which are internal to
-    colamd.  An additional n_col space is the minimal amount of "elbow room",
-    and nnz/5 more space is recommended for run time efficiency.
-
-    This macro is not needed when using symamd.
-*/
-
-/* about 8*(n_col+1) integers: */
-#define UMF_COLAMD_C(n_col) ((n_col + 1) * sizeof (Colamd_Col) / sizeof (Int))
-
-/* about 6*(n_row+1) integers: */
-#define UMF_COLAMD_R(n_row) ((n_row + 1) * sizeof (Colamd_Row) / sizeof (Int))
-
-/* UMFPACK:  make sure Alen is >= 5*n_col + size of Col and Row structures.
- * Alen is typically about 2.2*nz + 9*n_col + 6*n_row, or 2.2nz+15n for
- * square matrices. */
-#define UMF_COLAMD_RECOMMENDED(nnz, n_row, n_col)	\
-(							\
-((nnz) < 0 || (n_row) < 0 || (n_col) < 0)		\
-?							\
-    (-1)						\
-:							\
-    (MAX (2 * (nnz), 4 * (n_col)) +			\
-    (Int) UMF_COLAMD_C (n_col) +			\
-    (Int) UMF_COLAMD_R (n_row) + (n_col) + ((nnz) / 5))	\
-)
-
-/* ========================================================================== */
-/* === Prototypes of user-callable routines ================================= */
-/* ========================================================================== */
-
-/* colamd_recommended removed for UMFPACK */
-
-void UMF_colamd_set_defaults	/* sets default parameters */
-(				/* knobs argument is modified on output */
-    double knobs [COLAMD_KNOBS]	/* parameter settings for colamd */
-) ;
-
-Int UMF_colamd			/* returns (1) if successful, (0) otherwise*/
-(				/* A and p arguments are modified on output */
-    Int n_row,			/* number of rows in A */
-    Int n_col,			/* number of columns in A */
-    Int Alen,			/* size of the array A */
-    Int A [],			/* row indices of A, of size Alen */
-    Int p [],			/* column pointers of A, of size n_col+1 */
-    double knobs [COLAMD_KNOBS],/* parameter settings for colamd */
-    Int stats [COLAMD_STATS]	/* colamd output statistics and error codes */
-    /* ------------------ */
-    /* added for UMFPACK: */
-    , Int Front_npivcol [ ]
-    , Int Front_nrows [ ]
-    , Int Front_ncols [ ]
-    , Int Front_parent [ ]
-    , Int Front_cols [ ]
-    , Int *p_nfr
-    , Int InFront [ ]
-    /* ------------------ */
-) ;
-
-/* symamd deleted for UMFPACK */
-
-/* colamd_report deleted for UMFPACK */
-
-/* symamd_report deleted for UMFPACK */
-
-#endif /* COLAMD_H */
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_config.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,919 +0,0 @@
-/* ========================================================================== */
-/* === umf_config.h ========================================================= */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    This file controls the compile-time configuration of UMFPACK.  Modify the
-    Makefile, the architecture-dependent Make.* file, and this file if
-    necessary, to control these options.  The following flags may be given
-    as options to your C compiler (as in "cc -DNBLAS", for example).  These
-    flags are normally placed in your CONFIG string, defined in your Make.*.
-
-    All of these options, except for the timer, are for accessing the BLAS.
-
-	-DNBLAS
-
-	    BLAS mode.  If -DNBLAS is set, then no BLAS will be used.  Vanilla
-	    C code will be used instead.  This is portable, and easier to
-	    install, but you won't get the best performance.
-
-	    If -DNBLAS is not set, then externally-available BLAS routines
-	    (dgemm, dger, and dgemv or the equivalent C-BLAS routines) will be
-	    used.  This will give you the best performance, but perhaps at the
-	    expense of portability.
-
-	    The default is to use the BLAS, for both the C-callable libumfpack.a
-	    library and the MATLAB mexFunction.  If you have trouble installing
-	    UMFPACK, set -DNBLAS (but then UMFPACK will be slow).
-
-	-DCBLAS
-
-	    If -DCBLAS is set, then the C-BLAS interface to the BLAS is
-	    used.  If your vendor-supplied BLAS library does not have a C-BLAS
-	    interface, you can obtain the ATLAS BLAS, available at
-	    http://www.netlib.org/atlas.
-
-	    This flag is ignored if -DNBLAS is set.
-
-	-DLP64
-
-	    This should be defined if you are compiling in the LP64 model
-	    (32 bit int's, 64 bit long's, and 64 bit pointers).  In Solaris,
-	    this is obtained with the flags -xtarget=ultra -xarch=v9 for
-	    the cc compiler (for example).
-
-	-DLONGBLAS
-
-	    If not defined, then the BLAS are not called in the long integer
-	    version of UMFPACK (the umfpack_*l_* routines).  The most common
-	    definitions of the BLAS, unfortunately, use int arguments, and
-	    are thus not suitable for use in the LP64 model.  Only the Sun
-	    Performance Library, as far as I can tell, has a version of the
-	    BLAS that allows long integer (64-bit) input arguments.  This
-	    flag is set automatically in Sun Solaris if you are using the
-	    Sun Performance BLAS.  You can set it yourself, too, if your BLAS
-	    routines can take long integer input arguments.
-
-	-DNSUNPERF
-
-	    Applies only to Sun Solaris.  If -DNSUNPERF is set, then the Sun
-	    Performance Library BLAS will not be used.
-
-	    The Sun Performance Library BLAS is used by default when compiling
-	    the C-callable libumfpack.a library on Sun Solaris.
-
-	    This flag is ignored if -DNBLAS is set.
-
-	-DNSCSL
-
-	    Applies only to SGI IRIX.  If -DSCSL is set, then the SGI SCSL
-	    Scientific Library BLAS will not be used.
-
-	    The SGI SCSL Scientific Library BLAS is used by default when
-	    compiling the C-callable libumfpack.a library on SGI IRIX.
-
-	    This flag is ignored if -DNBLAS is set.
-
-	-DNPOSIX
-
-	    If -DNPOSIX is set, then your Unix operating system is not POSIX-
-	    compliant, and the POSIX routines sysconf ( ) and times ( )
-	    routines are not used.  These routines provide CPU time and
-	    wallclock time information.  If -DNPOSIX is set, then the ANSI
-	    C clock ( ) routine is used.  If -DNPOSIX is not set, then
-	    sysconf ( ) and times ( ) are used in umfpack_tic and umfpack_toc.
-	    See umfpack_tictoc.c for more information.
-	    The default is to use the POSIX routines, except for Windows,
-	    which is not POSIX-compliant.
-
-	-DGETRUSAGE
-
-	    If -DGETRUSAGE is set, then your system's getrusage ( ) routine
-	    will be used for getting the process CPU time.  Otherwise the ANSI
-	    C clock ( ) routine will be used.  The default is to use getrusage
-	    ( ) on Unix systems, and to use clock on all other architectures.
-
-	-DNO_TIMER
-
-	    If -DNO_TIMER is set, then no timing routines are used at all.
-
-	-DNUTIL
-
-	    If -DNUTIL is set, then the internal MATLAB utMalloc, utFree, and
-	    utRealloc routines are not used in the UMFPACK mexFunction.  The
-	    regular mxMalloc, mxFree, and mxRealloc routines are used instead.
-	    These routines are not documented, but are available for use.  For
-	    Windows, -DNUTIL is defined below, because access to the ut*
-	    routines is not available by default.
-
-	-DNRECIPROCAL
-
-	    This option controls a tradeoff between speed and accuracy.  Using
-	    -DNRECIPROCAL can lead to more accurate results, but with perhaps
-	    some cost in performance, particularly if floating-point division
-	    is much more costly than floating-point multiplication.
-
-	    This option determines the method used to scale the pivot column.
-	    If set, or if the absolute value of the pivot is < 1e-12 (or is a
-	    NaN), then the pivot column is divided by the pivot value.
-	    Otherwise, the reciprocal of the pivot value is computed, and the
-	    pivot column is multiplied by (1/pivot).  Multiplying by the
-	    reciprocal can be slightly less accurate than dividing by the
-	    pivot, but it is often faster.  See umf_scale.c.
-
-	    This has a small effect on the performance of UMFPACK, at least on
-	    a Pentium 4M.  It may have a larger effect on other architectures
-	    where floating-point division is much more costly than floating-
-	    point multiplication.  The RS 6000 is one such example.
-
-	    By default, the method chosen is to multiply by the reciprocal
-	    (sacrificing accuracy for speed), except when compiling UMFPACK
-	    as a built-in routine in MATLAB, or when gcc is being used.
-
-	    When MATHWORKS is defined, -DNRECIPROCAL is forced on, and the pivot
-	    column is divided by the pivot value.  The only way of using the
-	    other method in this case is to edit this file.
-
-	    If -DNRECIPROCAL is enabled, then the row scaling factors are always
-	    applied by dividing each row by the scale factor, rather than
-	    multiplying by the reciprocal.  If -DNRECIPROCAL is not enabled
-	    (the default case), then the scale factors are normally applied by
-	    multiplying by the reciprocal.  If, however, the smallest scale
-	    factor is tiny, then the scale factors are applied via division.
-
-	-DNO_DIVIDE_BY_ZERO
-
-	    If the pivot is zero, and this flag is set, then no divide-by-zero
-	    occurs.
-
-    You should normally not set these flags yourself:
-
-	-DBLAS_BY_VALUE		if scalars are passed by value, not reference
-	-DBLAS_NO_UNDERSCORE	if no underscore should be appended
-	-DBLAS_CHAR_ARG		if BLAS options are single char's, not strings
-
-	    The BLAS options are normally set automatically.  If your
-	    architecture cannot be determined (see UMFPACK_ARCHITECTURE, below)
-	    then you may need to set these flags yourself.
-
-    The following options are controlled by amd_internal.h:
-
-	-DMATLAB_MEX_FILE
-
-	    This flag is turned on when compiling the umfpack mexFunction for
-	    use in MATLAB.  When compiling the MATLAB mexFunction, the MATLAB
-	    BLAS are used (unless -DNBLAS is set).  The -DCBLAS, -DNSCSL, and
-	    -DNSUNPERF flags are all ignored.   The -DNRECIPROCAL flag is
-	    forced on.  Otherwise, [L,U,P,Q,R] = umfpack (A) would return
-	    either L*U = P*(R\A)*Q or L*U = P*R*A*Q.  Rather than returning a
-	    flag stating how the scale factors R are to be applied, the umfpack
-	    mexFunction always takes the more accurate route and returns
-	    L*U = P*(R\A)*Q.
-
-	-DMATHWORKS
-
-	    This flag is turned on when compiling umfpack as a built-in routine
-	    in MATLAB.  The MATLAB BLAS are used for all architectures (-DNBLAS,
-	    -DCBLAS, -DNSCSL, and -DNSUNPERF flags are all ignored).  Internal
-	    routines utMalloc, utFree, utRealloc, utPrintf, utDivideComplex,
-	    and utFdlibm_hypot are used, and the "util.h" file is included.
-	    This avoids the problem discussed in the User Guide regarding memory
-	    allocation in MATLAB.  utMalloc returns NULL on failure, instead of
-	    terminating the mexFunction (which is what mxMalloc does).  However,
-	    the ut* routines are not documented by The MathWorks, Inc., so I
-	    cannot guarantee that you will always be able to use them.
-	    The -DNRECIPROCAL flag is turned on.
-
-	-DNDEBUG
-
-	    Debugging mode (if NDEBUG is not defined).  The default, of course,
-	    is no debugging.  Turning on debugging takes some work (see below).
-	    If you do not edit this file, then debugging is turned off anyway,
-	    regardless of whether or not -DNDEBUG is specified in your compiler
-	    options.
-*/
-
-/* ========================================================================== */
-/* === AMD configuration ==================================================== */
-/* ========================================================================== */
-
-/* NDEBUG, PRINTF defined in amd_internal.h */
-
-/* ========================================================================== */
-/* === reciprocal option ==================================================== */
-/* ========================================================================== */
-
-/* Force the definition NRECIPROCAL when MATHWORKS or MATLAB_MEX_FILE
- * are defined.  Do not multiply by the reciprocal in those cases. */
-
-#ifndef NRECIPROCAL
-#if defined (MATHWORKS) || defined (MATLAB_MEX_FILE)
-#define NRECIPROCAL
-#endif
-#endif
-
-/* ========================================================================== */
-/* === Microsoft Windows configuration ====================================== */
-/* ========================================================================== */
-
-#ifdef UMF_WINDOWS
-/* Windows can't access the ut* routines, and it isn't Unix. */
-#define NUTIL
-#define NPOSIX
-#endif
-
-/* ========================================================================== */
-/* === 0-based or 1-based printing ========================================== */
-/* ========================================================================== */
-
-#if defined (MATLAB_MEX_FILE) && defined (NDEBUG)
-/* In MATLAB, matrices are 1-based to the user, but 0-based internally. */
-/* One is added to all row and column indices when printing matrices */
-/* for the MATLAB user.  The +1 shift is turned off when debugging. */
-#define INDEX(i) ((i)+1)
-#else
-/* In ANSI C, matrices are 0-based and indices are reported as such. */
-/* This mode is also used for debug mode, and if MATHWORKS is defined rather */
-/* than MATLAB_MEX_FILE. */
-#define INDEX(i) (i)
-#endif
-
-/* ========================================================================== */
-/* === Timer ================================================================ */
-/* ========================================================================== */
-
-/*
-    If you have the getrusage routine (all Unix systems I've test do), then use
-    that.  Otherwise, use the ANSI C clock function.   Note that on many
-    systems, the ANSI clock function wraps around after only 2147 seconds, or
-    about 36 minutes.  BE CAREFUL:  if you compare the run time of UMFPACK with
-    other sparse matrix packages, be sure to use the same timer.  See
-    umfpack_tictoc.c for the timer used internally by UMFPACK.  See also
-    umfpack_timer.c for the timer used in an earlier version of UMFPACK.
-    That timer is still available as a user-callable routine, but it is no
-    longer used internally by UMFPACK.
-*/
-
-/* Sun Solaris, SGI Irix, Linux, Compaq Alpha, and IBM RS 6000 all have */
-/* getrusage.  It's in BSD unix, so perhaps all unix systems have it. */
-#if defined (UMF_SOL2) || defined (UMF_SGI) || defined (UMF_LINUX) \
-|| defined (UMF_ALPHA) || defined (UMF_AIX)
-#define GETRUSAGE
-#endif
-
-
-/* ========================================================================== */
-/* === BLAS ================================================================= */
-/* ========================================================================== */
-
-/*
-    The adventure begins.  Figure out how to call the BLAS ...
-
-    This works, but it is incredibly ugly.  The C-BLAS was supposed to solve
-    this problem, and make it easier to interface a C program to the BLAS.
-    Unfortunately, the C-BLAS does not have a "long" integer (64 bit) version.
-    Various vendors have done their own 64-bit BLAS.  Sun has dgemm_64 routines
-    with "long" integers, SGI has a 64-bit dgemm in their scsl_blas_i8 library
-    with "long long" integers, and so on.
-
-    Different vendors also have different ways of defining a complex number,
-    some using struct's.  That's a bad idea.  See umf_version.h for the better
-    way to do it (the method that was also chosen for the complex C-BLAS,
-    which is compatible and guaranteed to be portable with ANSI C).
-
-    To make matters worse, SGI's SCSL BLAS has a C-BLAS interface which
-    differs from the ATLAS C-BLAS interface (see immediately below);
-    although a more recent version of SGI's C-BLAS interface is correct
-    if SCSL_VOID_ARGS is defined.
-*/
-
-
-/* -------------------------------------------------------------------------- */
-/* Determine which BLAS to use. */
-/* -------------------------------------------------------------------------- */
-
-#if defined (MATHWORKS)
-#define USE_MATLAB_BLAS
-
-#elif defined (NBLAS)
-#define USE_NO_BLAS
-
-#elif defined (MATLAB_MEX_FILE)
-#define USE_MATLAB_BLAS
-
-#elif defined (CBLAS)
-#define USE_C_BLAS
-
-#elif defined (UMF_SOL2) && !defined (NSUNPERF)
-#define USE_SUNPERF_BLAS
-
-#elif defined (UMF_SGI) && !defined (NSCSL)
-#define USE_SCSL_BLAS
-
-#else
-#define USE_FORTRAN_BLAS
-#endif
-
-/* -------------------------------------------------------------------------- */
-/* int vs. long integer arguments */
-/* -------------------------------------------------------------------------- */
-
-/*
-    Determine if the BLAS exists for the long integer version.  It exists if
-    LONGBLAS is defined in the Makefile, or if using the BLAS from the
-    Sun Performance Library, or SGI's SCSL Scientific Library.
-*/
-
-#if defined (USE_SUNPERF_BLAS) || defined (USE_SCSL_BLAS)
-#ifndef LONGBLAS
-#define LONGBLAS
-#endif
-#endif
-
-/* do not use the BLAS if Int's are long and LONGBLAS is not defined */
-#if defined (LONG_INTEGER) && !defined (LONGBLAS) && !defined (USE_NO_BLAS)
-#define USE_NO_BLAS
-#endif
-
-
-/* -------------------------------------------------------------------------- */
-/* Use (void *) arguments for the SGI */
-/* -------------------------------------------------------------------------- */
-
-#if defined (UMF_SGI)
-/*
-    Use (void *) pointers for complex types in SCSL.
-    The ATLAS C-BLAS, and the SGI C-BLAS differ.  The former uses (void *)
-    arguments, the latter uses SCSL_ZOMPLEX_T, which are either scsl_zomplex
-    or (void *).  Using (void *) is simpler, and is selected by defining
-    SCSL_VOID_ARGS, below.  The cc compiler doesn't complain, but gcc is
-    more picky, and generates a warning without this next statement.
-    With gcc and the 07/09/98 version of SGI's cblas.h, spurious warnings
-    about complex BLAS arguments will be reported anyway.  This is because this
-    older version of SGI's cblas.h does not make use of the SCSL_VOID_ARGS
-    parameter, which is present in the 12/6/01 version of SGI's cblas.h.  You
-    can safely ignore these warnings.
-*/
-#define SCSL_VOID_ARGS
-#endif
-
-
-/* -------------------------------------------------------------------------- */
-/* The BLAS exists, construct appropriate macros */
-/* -------------------------------------------------------------------------- */
-
-#if !defined (USE_NO_BLAS)		/* { */
-
-/*
-    If the compile-time flag -DNBLAS is defined, then the BLAS are not used,
-    portable vanilla C code is used instead, and the remainder of this file
-    is ignored.
-
-    Using the BLAS is much faster, but how C calls the Fortran BLAS is
-    machine-dependent and thus can cause portability problems.  Thus, use
-    -DNBLAS to ensure portability (at the expense of speed).
-
-    Preferences:
-
-	*** The best interface to use, regardless of the option you select
-	    below, is the standard C-BLAS interface.  Not all BLAS libraries
-	    use this interface.  The only problem with this interface is that
-	    it does not extend to the LP64 model.  The C-BLAS does not provide
-	    for a 64-bit integer.  In addition, SGI's older cblas.h can cause
-	    spurious warnings when using the C-BLAS interface.
-
-	1) often the most preferred (but see option (3)):  use the
-	    optimized vendor-supplied library (such as the Sun Performance
-	    Library, or IBM's ESSL).  This is often the fastest, but might not
-	    be portable and might not always be available.  When compiling a
-	    MATLAB mexFunction it might be difficult get the mex compiler
-	    script to recognize the vendor- supplied BLAS.  Note that the
-	    freely-available BLAS (option 3) can be faster than the vendor-
-	    specific BLAS.  You are encourage to try both option (1) and (3).
-
-	2) When compiling the UMFPACK mexFunction to use UMFPACK in MATLAB, use
-	    the BLAS provided by The Mathworks, Inc.  This assumes you are using
-	    MATLAB V6 or higher, since the BLAS are not incorporated in V5 or
-	    earlier versions.  On my Sun workstation, the MATLAB BLAS gave
-	    slightly worse performance than the Sun Perf. BLAS.  The advantage
-	    of using the MATLAB BLAS is that it's available on any computer that
-	    has MATLAB V6 or higher.  I have not tried using MATLAB BLAS outside
-	    of a mexFunction in a stand-alone C code, but MATLAB (V6) allows for
-	    this.  This is well worth trying if you have MATLAB and don't want
-	    to bother installing the ATLAS BLAS (option 3a, below).  The only
-	    glitch to this is that MATLAB does not provide a portable interface
-	    to the BLAS (an underscore is required for some but not all
-	    architectures).  For Windows and MATLAB 6.0 or 6.1, you also need
-	    to copy the libmwlapack.dll file into your MATLAB installation
-	    directory; see the User Guide for details.
-
-	    In the current distribution, the only BLAS that the UMFPACK
-	    mexFunction will use is the internal MATLAB BLAS.  It's possible to
-	    use other BLAS, but handling the porting of using the mex compiler
-	    with different BLAS libraries is not trivial.
-
-	    As of MATLAB 6.5, the BLAS used internally in MATLAB is the ATLAS
-	    BLAS.
-
-	3) Use a freely-available high-performance BLAS library:
-
-	    (a) The BLAS by Kazashige Goto and Robert van de Geijn, at
-		http://www.cs.utexas.edu/users/flame/goto.  This BLAS increased
-		the performance of UMFPACK by almost 50% as compared to the
-		ATLAS BLAS (v3.2).
-
-	    (b) The ATLAS BLAS, available at http://www.netlib.org/atlas,
-		by R. Clint Whaley, Antoine Petitet, and Jack Dongarra.
-		This has a standard C interface, and thus the interface to it is
-		fully portable.  Its performance rivals, and sometimes exceeds,
-		the vendor-supplied BLAS on many computers.
-
-	    (b) The Fortran RISC BLAS by Michel Dayde', Iain Duff, Antoine
-		Petitet, and Abderrahim Qrichi Aniba, available via anonymous
-		ftp to ftp.enseeiht.fr in the pub/numerique/BLAS/RISC directory,
-		See M. J. Dayde' and I. S. Duff, "The RISC BLAS:  A blocked
-		implementation of level 3 BLAS for RISC processors, ACM Trans.
-		Math. Software, vol. 25, no. 3., Sept. 1999.  This will give
-		you good performance, but with the same C-to-Fortran portability
-		problems as option (1).
-
-	4) Use UMFPACK's built-in vanilla C code by setting -DNBLAS at compile
-	    time.  The key advantage is portability, which is guaranteed if you
-	    have an ANSI C compliant compiler.  You also don't need to download
-	    any other package - UMFPACK is stand-alone.  No Fortran is used
-	    anywhere in UMFPACK.  UMFPACK will be much slower than when using
-	    options (1) through (3), however.
-
-	5) least preferred:  use the standard Fortran implementation of the
-	    BLAS, also available at Netlib (http://www.netlib.org/blas).  This
-	    will be no faster than option (4), and not portable because of
-	    C-to-Fortran calling conventions.  Don't bother trying option (5).
-
-    The mechanics of how C calls the BLAS on various computers are as follows:
-
-	* C-BLAS (from the ATLAS library, for example):
-	    The same interface is used on all computers.
-
-	* Defaults for calling the Fortran BLAS:
-	    add underscore, pass scalars by reference, use string arguments.
-
-	* The Fortran BLAS on Sun Solaris (when compiling the MATLAB mexFunction
-	    or when using the Fortran RISC BLAS), SGI IRIX, Linux, and Compaq
-	    Alpha: use defaults.
-
-	* Sun Solaris (when using the C-callable Sun Performance library):
-	    no underscore, pass scalars by value, use character arguments.
-
-	* The Fortran BLAS (ESSL Library) on the IBM RS 6000, and HP Unix:
-	    no underscore, pass scalars by reference, use string arguments.
-
-	* The Fortran BLAS on Windows:
-	    no underscore, pass scalars by reference, use string arguments.
-	    If you compile the umfpack mexFunction using umfpack_make, and are
-	    using the lcc compiler bundled with MATLAB, then you must first
-	    copy the umfpack\lcc_lib\libmwlapack.lib file into the
-	    <matlab>\extern\lib\win32\lcc\ directory, where <matlab> is the
-	    directory in which MATLAB is installed.  Next, type mex -setup
-	    at the MATLAB prompt, and ask MATLAB to select the lcc compiler.
-	    MATLAB has built-in BLAS, but it cannot be accessed by a program
-	    compiled by lcc without first copying this file.
-*/
-
-
-
-/* -------------------------------------------------------------------------- */
-#ifdef USE_C_BLAS	/* { */
-/* -------------------------------------------------------------------------- */
-
-
-/* -------------------------------------------------------------------------- */
-/* use the C-BLAS (any computer) */
-/* -------------------------------------------------------------------------- */
-
-/*
-    C-BLAS is the default interface, with the following exceptions.  Solaris
-    uses the Sun Performance BLAS for libumfpack.a (the C-callable library).
-    SGI IRIX uses the SCSL BLAS for libumfpack.a.  All architectures use
-    MATLAB's internal BLAS for the mexFunction on any architecture.  These
-    options are set in the Make.* files.  The Make.generic file uses no BLAS
-    at all.
-
-    If you use the ATLAS C-BLAS, then be sure to set the -I flag to
-    -I/path/ATLAS/include, where /path/ATLAS is the ATLAS installation
-    directory.  See Make.solaris for an example.  You do not need to do this
-    for the SGI, which has a /usr/include/cblas.h.
-*/
-
-#include "cblas.h"
-
-#ifdef COMPLEX
-#define BLAS_GEMM_ROUTINE cblas_zgemm
-#define BLAS_TRSM_ROUTINE cblas_ztrsm
-#define BLAS_TRSV_ROUTINE cblas_ztrsv
-#define BLAS_GEMV_ROUTINE cblas_zgemv
-#define BLAS_GER_ROUTINE  cblas_zgeru
-#define BLAS_SCAL_ROUTINE cblas_zscal
-#define BLAS_COPY_ROUTINE cblas_zcopy
-#define BLAS_DECLARE_SCALAR(x) double x [2]
-#define BLAS_ASSIGN(x,xr,xi) { x [0] = xr ; x [1] = xi ; }
-#else
-#define BLAS_GEMM_ROUTINE cblas_dgemm
-#define BLAS_TRSM_ROUTINE cblas_dtrsm
-#define BLAS_TRSV_ROUTINE cblas_dtrsv
-#define BLAS_GEMV_ROUTINE cblas_dgemv
-#define BLAS_GER_ROUTINE  cblas_dger
-#define BLAS_SCAL_ROUTINE cblas_dscal
-#define BLAS_COPY_ROUTINE cblas_dcopy
-#define BLAS_DECLARE_SCALAR(x) double x
-#define BLAS_ASSIGN(x,xr,xi) { x = xr ; }
-#endif
-
-#define BLAS_LOWER CblasLower
-#define BLAS_UNIT_DIAGONAL CblasUnit
-#define BLAS_RIGHT CblasRight
-#define BLAS_NO_TRANSPOSE CblasNoTrans
-#define BLAS_TRANSPOSE CblasTrans
-#define BLAS_COLUMN_MAJOR_ORDER CblasColMajor,
-#define BLAS_SCALAR(x) x
-#define BLAS_INT_SCALAR(n) n
-#define BLAS_ARRAY(a) a
-
-
-
-/* -------------------------------------------------------------------------- */
-#else	/* } USE_C_BLAS { */
-/* -------------------------------------------------------------------------- */
-
-/* -------------------------------------------------------------------------- */
-/* use Fortran (or other architecture-specific) BLAS */
-/* -------------------------------------------------------------------------- */
-
-/* No such argument when not using the C-BLAS */
-#define BLAS_COLUMN_MAJOR_ORDER
-
-/* Determine which architecture we're on and set options accordingly. */
-/* The default, if nothing is defined is to add an underscore, */
-/* pass scalars by reference, and use string arguments. */
-
-/* ---------------------------------- */
-/* Sun Performance BLAS */
-/* ---------------------------------- */
-
-#ifdef USE_SUNPERF_BLAS
-#ifdef _SUNPERF_H
-/* <sunperf.h> has been included somehow anyway, outside of umf_config.h */
-#error "sunperf.h must NOT be #include'd.  See umf_config.h for details."
-#endif
-#define BLAS_BY_VALUE
-#define BLAS_NO_UNDERSCORE
-#define BLAS_CHAR_ARG
-#endif	/* USE_SUNPERF_BLAS */
-
-/* ---------------------------------- */
-/* SGI SCSL BLAS */
-/* ---------------------------------- */
-
-#ifdef USE_SCSL_BLAS
-#if defined (LP64)
-#include <scsl_blas_i8.h>
-#else
-#include <scsl_blas.h>
-#endif
-#define BLAS_BY_VALUE
-#define BLAS_NO_UNDERSCORE
-#endif	/* USE_SCSL_BLAS */
-
-/* ---------------------------------- */
-/* IBM AIX, Windows, and HP Fortran BLAS */
-/* ---------------------------------- */
-
-#if defined (UMF_AIX) || defined (UMF_WINDOWS) || defined (UMF_HP)
-#define BLAS_NO_UNDERSCORE
-#endif
-
-
-/* -------------------------------------------------------------------------- */
-/* BLAS names */
-/* -------------------------------------------------------------------------- */
-
-#if defined (LP64) && defined (USE_SUNPERF_BLAS) && defined (LONG_INTEGER)
-
-/* 64-bit sunperf BLAS, for Sun Solaris only */
-#ifdef COMPLEX
-#define BLAS_GEMM_ROUTINE zgemm_64
-#define BLAS_TRSM_ROUTINE ztrsm_64
-#define BLAS_TRSV_ROUTINE ztrsv_64
-#define BLAS_GEMV_ROUTINE zgemv_64
-#define BLAS_GER_ROUTINE  zgeru_64
-#define BLAS_SCAL_ROUTINE zscal_64
-#define BLAS_COPY_ROUTINE zcopy_64
-#else
-#define BLAS_GEMM_ROUTINE dgemm_64
-#define BLAS_TRSM_ROUTINE dtrsm_64
-#define BLAS_TRSV_ROUTINE dtrsv_64
-#define BLAS_GEMV_ROUTINE dgemv_64
-#define BLAS_GER_ROUTINE  dger_64
-#define BLAS_SCAL_ROUTINE dscal_64
-#define BLAS_COPY_ROUTINE dcopy_64
-#endif	/* COMPLEX */
-
-#else
-
-#ifdef COMPLEX
-
-/* naming convention (use underscore, or not) */
-#ifdef BLAS_NO_UNDERSCORE
-#define BLAS_GEMM_ROUTINE zgemm
-#define BLAS_TRSM_ROUTINE ztrsm
-#define BLAS_TRSV_ROUTINE ztrsv
-#define BLAS_GEMV_ROUTINE zgemv
-#define BLAS_GER_ROUTINE  zgeru
-#define BLAS_SCAL_ROUTINE zscal
-#define BLAS_COPY_ROUTINE zcopy
-#else
-/* default:  add underscore */
-#define BLAS_GEMM_ROUTINE zgemm_
-#define BLAS_TRSM_ROUTINE ztrsm_
-#define BLAS_TRSV_ROUTINE ztrsv_
-#define BLAS_GEMV_ROUTINE zgemv_
-#define BLAS_GER_ROUTINE  zgeru_
-#define BLAS_SCAL_ROUTINE zscal_
-#define BLAS_COPY_ROUTINE zcopy_
-#endif
-
-#else
-
-/* naming convention (use underscore, or not) */
-#ifdef BLAS_NO_UNDERSCORE
-#define BLAS_GEMM_ROUTINE dgemm
-#define BLAS_TRSM_ROUTINE dtrsm
-#define BLAS_TRSV_ROUTINE dtrsv
-#define BLAS_GEMV_ROUTINE dgemv
-#define BLAS_GER_ROUTINE  dger
-#define BLAS_SCAL_ROUTINE dscal
-#define BLAS_COPY_ROUTINE dcopy
-#else
-/* default:  add underscore */
-#define BLAS_GEMM_ROUTINE dgemm_
-#define BLAS_TRSM_ROUTINE dtrsm_
-#define BLAS_TRSV_ROUTINE dtrsv_
-#define BLAS_GEMV_ROUTINE dgemv_
-#define BLAS_GER_ROUTINE  dger_
-#define BLAS_SCAL_ROUTINE dscal_
-#define BLAS_COPY_ROUTINE dcopy_
-#endif
-
-#endif	/* COMPLEX */
-
-#endif /* LP64 && USE_SUNPERF_BLAS */
-
-
-/* -------------------------------------------------------------------------- */
-/* BLAS real or complex floating-point scalars */
-/* -------------------------------------------------------------------------- */
-
-#ifdef COMPLEX
-
-/*
-    The SunPerf BLAS expects to see a doublecomplex scalar, but it
-    also will accept an array of size 2.  See the manual, normally at
-    file:///opt/SUNWspro/WS6U1/lib/locale/C/html/manuals/perflib/user_guide
-    /plug_using_perflib.html .  This manual is inconsistent with the man pages
-    for zgemm, zgemv, and zgeru and also inconsistent with the <sunperf.h>
-    include file.  Use this instead, for SunPerf (only works if you do NOT
-    include sunperf.h).  Fortunately, this file (umf_config.h) is not included
-    in any user code that calls UMFPACK.  Thus, the caller may include
-    sunperf.h in his or her own code, and that is safely ignored here.
-    SGI's SCSL BLAS has yet a different kind of struct, but we can use a
-    double array of size 2 instead (since SCSL_VOID_ARGS is defined).
-    Most BLAS expect complex scalars as pointers to double arrays of size 2.
-*/
-
-#define BLAS_DECLARE_SCALAR(x) double x [2]
-#define BLAS_ASSIGN(x,xr,xi) { x [0] = xr ; x [1] = xi ; }
-#define BLAS_SCALAR(x) x
-
-#else
-
-#define BLAS_DECLARE_SCALAR(x) double x
-#define BLAS_ASSIGN(x,xr,xi) { x = xr ; }
-#ifdef BLAS_BY_VALUE
-#define BLAS_SCALAR(x) x
-#else
-#define BLAS_SCALAR(x) &(x)
-#endif
-
-#endif /* COMPLEX */
-
-
-/* -------------------------------------------------------------------------- */
-/* BLAS integer scalars */
-/* -------------------------------------------------------------------------- */
-
-/*
-    Fortran requires integers to be passed by reference.
-    The SCSL BLAS requires long long arguments in LP64 mode.
-*/
-
-#if defined (USE_SCSL_BLAS) && defined (LP64)
-#define BLAS_INT_SCALAR(n) ((long long) n)
-#else
-#ifdef BLAS_BY_VALUE
-#define BLAS_INT_SCALAR(n) n
-#else
-#define BLAS_INT_SCALAR(n) &(n)
-#endif
-#endif
-
-
-/* -------------------------------------------------------------------------- */
-/* BLAS strings */
-/* -------------------------------------------------------------------------- */
-
-/*
-    The Sun Performance BLAS wants a character instead of a string.
-*/
-
-#ifdef BLAS_CHAR_ARG
-#define BLAS_NO_TRANSPOSE 'N'
-#define BLAS_TRANSPOSE 'T'
-#define BLAS_LEFT 'L'
-#define BLAS_RIGHT 'R'
-#define BLAS_LOWER 'L'
-#define BLAS_UNIT_DIAGONAL 'U'
-#else
-#define BLAS_NO_TRANSPOSE "N"
-#define BLAS_TRANSPOSE "T"
-#define BLAS_LEFT "L"
-#define BLAS_RIGHT "R"
-#define BLAS_LOWER "L"
-#define BLAS_UNIT_DIAGONAL "U"
-#endif
-
-
-/* -------------------------------------------------------------------------- */
-/* BLAS arrays */
-/* -------------------------------------------------------------------------- */
-
-/*
-    The complex SunPerf BLAS expects to see a doublecomplex array of size s.
-    This is broken (see above, regarding complex scalars in sunperf.h).
-    For SunPerf BLAS, just pass a pointer to the array, and ignore sunperf.h.
-    With sunperf.h, you would need:
-
-	#define BLAS_ARRAY(a) ((doublecomplex *)(a))
-
-    SGI's SCSL BLAS has yet a different kind of struct, but we can use a
-    double array of size 2 instead (since SCSL_VOID_ARGS is defined).
-
-    The real versions all use just a (double *) pointer.
-
-    In all cases, no typecast is required.  This will break if <sunperf.h> is
-    included.
-
-    If you have read this far, I hope you see now why (void *) a much better
-    choice for complex BLAS prototypes, and why double x [2] is better than
-    an architecture dependent struct { double real ; double imag ; }
-    type definition.
-
-*/
-
-#define BLAS_ARRAY(a) (a)
-
-
-/* -------------------------------------------------------------------------- */
-#endif /* USE_C_BLAS } */
-/* -------------------------------------------------------------------------- */
-
-
-
-
-
-/* -------------------------------------------------------------------------- */
-/* BLAS macros, for all interfaces */
-/* -------------------------------------------------------------------------- */
-
-/*
-   All architecture dependent issues have now been taken into consideration,
-   and folded into the macros BLAS_DECLARE_SCALAR, BLAS_ASSIGN, BLAS_*_ROUTINE,
-   BLAS_COLUMN_MAJOR_ORDER, BLAS_NO_TRANSPOSE, BLAS_TRANSPOSE, BLAS_SCALAR,
-   BLAS_INT_SCALAR, BLAS_ARRAY, and Int.
-
-   You will note that there is not a *** single *** name, declaration, or
-   argument to the BLAS which is not somehow different in one or more versions
-   of the BLAS!
-*/
-
-
-/* C = C - A*B', where:
- * A is m-by-k with leading dimension ldac
- * B is k-by-n with leading dimension ldb
- * C is m-by-n with leading dimension ldac */
-#define BLAS_GEMM(m,n,k,A,B,ldb,C,ldac) \
-{ \
-    BLAS_DECLARE_SCALAR (alpha) ; \
-    BLAS_DECLARE_SCALAR (beta) ; \
-    BLAS_ASSIGN (alpha, -1.0, 0.0) ; \
-    BLAS_ASSIGN (beta, 1.0, 0.0) ; \
-    (void) BLAS_GEMM_ROUTINE (BLAS_COLUMN_MAJOR_ORDER \
-	BLAS_NO_TRANSPOSE, BLAS_TRANSPOSE, \
-	BLAS_INT_SCALAR (m), BLAS_INT_SCALAR (n), BLAS_INT_SCALAR (k), \
-	BLAS_SCALAR (alpha), \
-	BLAS_ARRAY (A), BLAS_INT_SCALAR (ldac), \
-	BLAS_ARRAY (B), BLAS_INT_SCALAR (ldb), BLAS_SCALAR (beta), \
-	BLAS_ARRAY (C), BLAS_INT_SCALAR (ldac)) ; \
-}
-
-/* A = A - x*y', where:
- * A is m-by-n with leading dimension d
-   x is a column vector with stride 1
-   y is a column vector with stride 1 */
-#define BLAS_GER(m,n,x,y,A,d) \
-{ \
-    Int one = 1 ; \
-    BLAS_DECLARE_SCALAR (alpha) ; \
-    BLAS_ASSIGN (alpha, -1.0, 0.0) ; \
-    (void) BLAS_GER_ROUTINE (BLAS_COLUMN_MAJOR_ORDER \
-	BLAS_INT_SCALAR (m), BLAS_INT_SCALAR (n), \
-	BLAS_SCALAR (alpha), \
-	BLAS_ARRAY (x), BLAS_INT_SCALAR (one), \
-	BLAS_ARRAY (y), BLAS_INT_SCALAR (one), \
-	BLAS_ARRAY (A), BLAS_INT_SCALAR (d)) ; \
-}
-
-/* y = y - A*x, where A is m-by-n with leading dimension d,
-   x is a column vector with stride 1
-   y is a column vector with stride 1 */
-#define BLAS_GEMV(m,n,A,x,y,d) \
-{ \
-    Int one = 1 ; \
-    BLAS_DECLARE_SCALAR (alpha) ; \
-    BLAS_DECLARE_SCALAR (beta) ; \
-    BLAS_ASSIGN (alpha, -1.0, 0.0) ; \
-    BLAS_ASSIGN (beta, 1.0, 0.0) ; \
-    (void) BLAS_GEMV_ROUTINE (BLAS_COLUMN_MAJOR_ORDER \
-	BLAS_NO_TRANSPOSE, \
-	BLAS_INT_SCALAR (m), BLAS_INT_SCALAR (n), \
-	BLAS_SCALAR (alpha), \
-	BLAS_ARRAY (A), BLAS_INT_SCALAR (d), \
-	BLAS_ARRAY (x), BLAS_INT_SCALAR (one), BLAS_SCALAR (beta), \
-	BLAS_ARRAY (y), BLAS_INT_SCALAR (one)) ; \
-}
-
-
-/* solve Lx=b, where:
- * B is a column vector (m-by-1) with leading dimension d
- * A is m-by-m with leading dimension d */
-#define BLAS_TRSV(m,A,b,d) \
-{ \
-    Int one = 1 ; \
-    (void) BLAS_TRSV_ROUTINE (BLAS_COLUMN_MAJOR_ORDER \
-	BLAS_LOWER, BLAS_NO_TRANSPOSE, BLAS_UNIT_DIAGONAL, \
-	BLAS_INT_SCALAR (m), \
-	BLAS_ARRAY (A), BLAS_INT_SCALAR (d), \
-	BLAS_ARRAY (b), BLAS_INT_SCALAR (one)) ; \
-}
-
-/* solve XL'=B where:
- * B is m-by-n with leading dimension ldb
- * A is n-by-n with leading dimension lda */
-#define BLAS_TRSM_RIGHT(m,n,A,lda,B,ldb) \
-{ \
-    BLAS_DECLARE_SCALAR (alpha) ; \
-    BLAS_ASSIGN (alpha, 1.0, 0.0) ; \
-    (void) BLAS_TRSM_ROUTINE (BLAS_COLUMN_MAJOR_ORDER \
-	BLAS_RIGHT, BLAS_LOWER, BLAS_TRANSPOSE, BLAS_UNIT_DIAGONAL, \
-	BLAS_INT_SCALAR (m), BLAS_INT_SCALAR (n), \
-	BLAS_SCALAR (alpha), \
-	BLAS_ARRAY (A), BLAS_INT_SCALAR (lda), \
-	BLAS_ARRAY (B), BLAS_INT_SCALAR (ldb)) ; \
-}
-
-/* x = s*x, where x is a stride-1 vector of length n */
-#define BLAS_SCAL(n,s,x) \
-{ \
-    Int one = 1 ; \
-    BLAS_DECLARE_SCALAR (alpha) ; \
-    BLAS_ASSIGN (alpha, REAL_COMPONENT (s), IMAG_COMPONENT (s)) ; \
-    (void) BLAS_SCAL_ROUTINE ( \
-	BLAS_INT_SCALAR (n), BLAS_SCALAR (alpha), \
-	BLAS_ARRAY (x), BLAS_INT_SCALAR (one)) ; \
-}
-
-/* x = y, where x and y are a stride-1 vectors of length n */
-#define BLAS_COPY(n,x,y) \
-{ \
-    Int one = 1 ; \
-    (void) BLAS_COPY_ROUTINE ( \
-	BLAS_INT_SCALAR (n), \
-	BLAS_ARRAY (x), BLAS_INT_SCALAR (one), \
-	BLAS_ARRAY (y), BLAS_INT_SCALAR (one)) ; \
-}
-
-#endif	/* !defined (USE_NO_BLAS) } */
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_create_element.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,604 +0,0 @@
-/* ========================================================================== */
-/* === UMF_create_element =================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    Factorization of a frontal matrix is complete.  Create a new element for
-    later assembly into a subsequent frontal matrix.  Returns TRUE if
-    successful, FALSE if out of memory.
-*/
-
-#include "umf_internal.h"
-#include "umf_mem_alloc_element.h"
-#include "umf_mem_alloc_tail_block.h"
-#include "umf_mem_free_tail_block.h"
-#include "umf_get_memory.h"
-
-/* ========================================================================== */
-/* === copy_column ========================================================== */
-/* ========================================================================== */
-
-PRIVATE void copy_column (Int len, Entry *X, Entry *Y)
-{
-    Int i ;
-#pragma ivdep
-    for (i = 0 ; i < len ; i++)
-    {
-	Y [i] = X [i] ;
-    }
-}
-
-/* ========================================================================== */
-/* === UMF_create_element =================================================== */
-/* ========================================================================== */
-
-GLOBAL Int UMF_create_element
-(
-    NumericType *Numeric,
-    WorkType *Work,
-    SymbolicType *Symbolic
-)
-{
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    Int j, col, row, *Fcols, *Frows, fnrows, fncols, *Cols, len, needunits, t1,
-	t2, size, e, i, *E, *Fcpos, *Frpos, *Rows, eloc, fnr_curr, f,
-	got_memory, *Row_tuples, *Row_degree, *Row_tlen, *Col_tuples, max_mark,
-	*Col_degree, *Col_tlen, nn, n_row, n_col, r2, c2, do_Fcpos ;
-    Entry *C, *Fcol ;
-    Element *ep ;
-    Unit *p, *Memory ;
-    Tuple *tp, *tp1, *tp2, tuple, *tpend ;
-#ifndef NDEBUG
-    DEBUG2 (("FRONTAL WRAPUP\n")) ;
-    UMF_dump_current_front (Numeric, Work, TRUE) ;
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* get parameters */
-    /* ---------------------------------------------------------------------- */
-
-    ASSERT (Work->fnpiv == 0) ;
-    ASSERT (Work->fnzeros == 0) ;
-    Row_degree = Numeric->Rperm ;
-    Row_tuples = Numeric->Uip ;
-    Row_tlen   = Numeric->Uilen ;
-    Col_degree = Numeric->Cperm ;
-    Col_tuples = Numeric->Lip ;
-    Col_tlen   = Numeric->Lilen ;
-    n_row = Work->n_row ;
-    n_col = Work->n_col ;
-    nn = MAX (n_row, n_col) ;
-    Fcols = Work->Fcols ;
-    Frows = Work->Frows ;
-    Fcpos = Work->Fcpos ;
-    Frpos = Work->Frpos ;
-    Memory = Numeric->Memory ;
-    fncols = Work->fncols ;
-    fnrows = Work->fnrows ;
-
-    tp = (Tuple *) NULL ;
-    tp1 = (Tuple *) NULL ;
-    tp2 = (Tuple *) NULL ;
-
-    /* ---------------------------------------------------------------------- */
-    /* add the current frontal matrix to the degrees of each column */
-    /* ---------------------------------------------------------------------- */
-
-    if (!Symbolic->fixQ)
-    {
-	/* but only if the column ordering is not fixed */
-#pragma ivdep
-	for (j = 0 ; j < fncols ; j++)
-	{
-	    /* add the current frontal matrix to the degree */
-	    ASSERT (Fcols [j] >= 0 && Fcols [j] < n_col) ;
-	    Col_degree [Fcols [j]] += fnrows ;
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* add the current frontal matrix to the degrees of each row */
-    /* ---------------------------------------------------------------------- */
-
-#pragma ivdep
-    for (i = 0 ; i < fnrows ; i++)
-    {
-	/* add the current frontal matrix to the degree */
-	ASSERT (Frows [i] >= 0 && Frows [i] < n_row) ;
-	Row_degree [Frows [i]] += fncols ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* Reset the external degree counters */
-    /* ---------------------------------------------------------------------- */
-
-    E = Work->E ;
-    max_mark = MAX_MARK (nn) ;
-
-    if (!Work->pivcol_in_front)
-    {
-	/* clear the external column degrees. no more Usons of current front */
-	Work->cdeg0 += (nn + 1) ;
-	if (Work->cdeg0 >= max_mark)
-	{
-	    /* guard against integer overflow.  This is very rare */
-	    DEBUG1 (("Integer overflow, cdeg\n")) ;
-	    Work->cdeg0 = 1 ;
-#pragma ivdep
-	    for (e = 1 ; e <= Work->nel ; e++)
-	    {
-		if (E [e])
-		{
-		    ep = (Element *) (Memory + E [e]) ;
-		    ep->cdeg = 0 ;
-		}
-	    }
-	}
-    }
-
-    if (!Work->pivrow_in_front)
-    {
-	/* clear the external row degrees.  no more Lsons of current front */
-	Work->rdeg0 += (nn + 1) ;
-	if (Work->rdeg0 >= max_mark)
-	{
-	    /* guard against integer overflow.  This is very rare */
-	    DEBUG1 (("Integer overflow, rdeg\n")) ;
-	    Work->rdeg0 = 1 ;
-#pragma ivdep
-	    for (e = 1 ; e <= Work->nel ; e++)
-	    {
-		if (E [e])
-		{
-		    ep = (Element *) (Memory + E [e]) ;
-		    ep->rdeg = 0 ;
-		}
-	    }
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* clear row/col offsets */
-    /* ---------------------------------------------------------------------- */
-
-    if (!Work->pivrow_in_front)
-    {
-#pragma ivdep
-	for (j = 0 ; j < fncols ; j++)
-	{
-	    Fcpos [Fcols [j]] = EMPTY ;
-	}
-    }
-
-    if (!Work->pivcol_in_front)
-    {
-#pragma ivdep
-	for (i = 0 ; i < fnrows ; i++)
-	{
-	    Frpos [Frows [i]] = EMPTY ;
-	}
-    }
-
-    if (fncols <= 0 || fnrows <= 0)
-    {
-	/* no element to create */
-	DEBUG2 (("Element evaporation\n")) ;
-	Work->prior_element = EMPTY ;
-	return (TRUE) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* create element for later assembly */
-    /* ---------------------------------------------------------------------- */
-
-#ifndef NDEBUG
-    UMF_allocfail = FALSE ;
-    if (UMF_gprob > 0)
-    {
-	double rrr = ((double) (rand ( ))) / (((double) RAND_MAX) + 1) ;
-	DEBUG4 (("Check random %e %e\n", rrr, UMF_gprob)) ;
-	UMF_allocfail = rrr < UMF_gprob ;
-	if (UMF_allocfail) DEBUGm2 (("Random garbage collection (create)\n"));
-    }
-#endif
-
-    needunits = 0 ;
-    got_memory = FALSE ;
-    eloc = UMF_mem_alloc_element (Numeric, fnrows, fncols, &Rows, &Cols, &C,
-	&needunits, &ep) ;
-
-    /* if UMF_get_memory needs to be called */
-    if (Work->do_grow)
-    {
-	/* full compaction of current frontal matrix, since UMF_grow_front will
-	 * be called next anyway. */
-	r2 = fnrows ;
-	c2 = fncols ;
-	do_Fcpos = FALSE ;
-    }
-    else
-    {
-	/* partial compaction. */
-	r2 = MAX (fnrows, Work->fnrows_new + 1) ;
-	c2 = MAX (fncols, Work->fncols_new + 1) ;
-	/* recompute Fcpos if pivot row is in the front */
-	do_Fcpos = Work->pivrow_in_front ;
-    }
-
-    if (!eloc)
-    {
-	/* Do garbage collection, realloc, and try again. */
-	/* Compact the current front if it needs to grow anyway. */
-	/* Note that there are no pivot rows or columns in the current front */
-	DEBUGm3 (("get_memory from umf_create_element, 1\n")) ;
-	if (!UMF_get_memory (Numeric, Work, needunits, r2, c2, do_Fcpos))
-	{
-	    /* :: out of memory in umf_create_element (1) :: */
-	    DEBUGm4 (("out of memory: create element (1)\n")) ;
-	    return (FALSE) ;	/* out of memory */
-	}
-	got_memory = TRUE ;
-	Memory = Numeric->Memory ;
-	eloc = UMF_mem_alloc_element (Numeric, fnrows, fncols, &Rows, &Cols, &C,
-	    &needunits, &ep) ;
-	ASSERT (eloc >= 0) ;
-	if (!eloc)
-	{
-	    /* :: out of memory in umf_create_element (2) :: */
-	    DEBUGm4 (("out of memory: create element (2)\n")) ;
-	    return (FALSE) ;	/* out of memory */
-	}
-    }
-
-    e = ++(Work->nel) ;	/* get the name of this new frontal matrix */
-    Work->prior_element = e ;
-    DEBUG8 (("wrapup e "ID" nel "ID"\n", e, Work->nel)) ;
-
-    ASSERT (e > 0 && e < Work->elen) ;
-    ASSERT (E [e] == 0) ;
-    E [e] = eloc ;
-
-    if (Work->pivcol_in_front)
-    {
-	/* the new element is a Uson of the next frontal matrix */
-	ep->cdeg = Work->cdeg0 ;
-    }
-
-    if (Work->pivrow_in_front)
-    {
-	/* the new element is an Lson of the next frontal matrix */
-	ep->rdeg = Work->rdeg0 ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* copy frontal matrix into the new element */
-    /* ---------------------------------------------------------------------- */
-
-#pragma ivdep
-    for (i = 0 ; i < fnrows ; i++)
-    {
-	Rows [i] = Frows [i] ;
-    }
-#pragma ivdep
-    for (i = 0 ; i < fncols ; i++)
-    {
-	Cols [i] = Fcols [i] ;
-    }
-    Fcol = Work->Fcblock ;
-    DEBUG0 (("copy front "ID" by "ID"\n", fnrows, fncols)) ;
-    fnr_curr = Work->fnr_curr ;
-    ASSERT (fnr_curr >= 0 && fnr_curr % 2 == 1) ;
-    for (j = 0 ; j < fncols ; j++)
-    {
-	copy_column (fnrows, Fcol, C) ;
-#if 0
-#ifdef USE_NO_BLAS
-	copy_column (fnrows, Fcol, C) ;
-#else
-	could also use BLAS-COPY (fnrows, Fcol, C) here, but it is typically
-	not as fast as the inlined copy_column subroutine, above.
-#endif
-	for (i = 0 ; i < fnrows ; i++)
-	{
-	    C [i] = Fcol [i] ;
-	}
-#endif
-	Fcol += fnr_curr ;
-	C += fnrows ;
-    }
-
-    DEBUG8 (("element copied\n")) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* add tuples for the new element */
-    /* ---------------------------------------------------------------------- */
-
-    tuple.e = e ;
-
-    if (got_memory)
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* UMF_get_memory ensures enough space exists for each new tuple */
-	/* ------------------------------------------------------------------ */
-
-	/* place (e,f) in the element list of each column */
-	for (tuple.f = 0 ; tuple.f < fncols ; tuple.f++)
-	{
-	    col = Fcols [tuple.f] ;
-	    ASSERT (col >= 0 && col < n_col) ;
-	    ASSERT (NON_PIVOTAL_COL (col)) ;
-	    ASSERT (Col_tuples [col]) ;
-	    tp = ((Tuple *) (Memory + Col_tuples [col])) + Col_tlen [col]++ ;
-	    *tp = tuple ;
-	}
-
-	/* ------------------------------------------------------------------ */
-
-	/* place (e,f) in the element list of each row */
-	for (tuple.f = 0 ; tuple.f < fnrows ; tuple.f++)
-	{
-	    row = Frows [tuple.f] ;
-	    ASSERT (row >= 0 && row < n_row) ;
-	    ASSERT (NON_PIVOTAL_ROW (row)) ;
-	    ASSERT (Row_tuples [row]) ;
-	    tp = ((Tuple *) (Memory + Row_tuples [row])) + Row_tlen [row]++ ;
-	    *tp = tuple ;
-	}
-
-    }
-    else
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* place (e,f) in the element list of each column */
-	/* ------------------------------------------------------------------ */
-
-	/* might not have enough space for each tuple */
-
-	for (tuple.f = 0 ; tuple.f < fncols ; tuple.f++)
-	{
-	    col = Fcols [tuple.f] ;
-	    ASSERT (col >= 0 && col < n_col) ;
-	    ASSERT (NON_PIVOTAL_COL (col)) ;
-	    t1 = Col_tuples [col] ;
-	    DEBUG1 (("Placing on col:"ID" , tuples at "ID"\n",
-		col, Col_tuples [col])) ;
-
-	    size = 0 ;
-	    len = 0 ;
-
-	    if (t1)
-	    {
-		p = Memory + t1 ;
-		tp = (Tuple *) p ;
-		size = GET_BLOCK_SIZE (p) ;
-		len = Col_tlen [col] ;
-		tp2 = tp + len ;
-	    }
-
-	    needunits = UNITS (Tuple, len + 1) ;
-	    DEBUG1 (("len: "ID" size: "ID" needunits: "ID"\n",
-		len, size, needunits));
-
-	    if (needunits > size && t1)
-	    {
-		/* prune the tuples */
-		tp1 = tp ;
-		tp2 = tp ;
-		tpend = tp + len ;
-		for ( ; tp < tpend ; tp++)
-		{
-		    e = tp->e ;
-		    ASSERT (e > 0 && e <= Work->nel) ;
-		    if (!E [e]) continue ;   /* element already deallocated */
-		    f = tp->f ;
-		    p = Memory + E [e] ;
-		    ep = (Element *) p ;
-		    p += UNITS (Element, 1) ;
-		    Cols = (Int *) p ;
-		    ;
-		    if (Cols [f] == EMPTY) continue ;	/* already assembled */
-		    ASSERT (col == Cols [f]) ;
-		    *tp2++ = *tp ;	/* leave the tuple in the list */
-		}
-		len = tp2 - tp1 ;
-		Col_tlen [col] = len ;
-		needunits = UNITS (Tuple, len + 1) ;
-	    }
-
-	    if (needunits > size)
-	    {
-		/* no room exists - reallocate elsewhere */
-		DEBUG1 (("REALLOCATE Col: "ID", size "ID" to "ID"\n",
-		    col, size, 2*needunits)) ;
-
-#ifndef NDEBUG
-		UMF_allocfail = FALSE ;
-		if (UMF_gprob > 0)  /* a double relop, but ignore NaN case */
-		{
-		    double rrr = ((double) (rand ( ))) /
-			(((double) RAND_MAX) + 1) ;
-		    DEBUG1 (("Check random %e %e\n", rrr, UMF_gprob)) ;
-		    UMF_allocfail = rrr < UMF_gprob ;
-		    if (UMF_allocfail) DEBUGm2 (("Random gar. (col tuple)\n")) ;
-		}
-#endif
-
-		needunits = MIN (2*needunits, (Int) UNITS (Tuple, nn)) ;
-		t2 = UMF_mem_alloc_tail_block (Numeric, needunits) ;
-		if (!t2)
-		{
-		    /* :: get memory in umf_create_element (1) :: */
-		    /* get memory, reconstruct all tuple lists, and return */
-		    /* Compact the current front if it needs to grow anyway. */
-		    /* Note: no pivot rows or columns in the current front */
-		    DEBUGm4 (("get_memory from umf_create_element, 1\n")) ;
-		    return (UMF_get_memory (Numeric, Work, 0, r2, c2,do_Fcpos));
-		}
-		Col_tuples [col] = t2 ;
-		tp2 = (Tuple *) (Memory + t2) ;
-		if (t1)
-		{
-		    for (i = 0 ; i < len ; i++)
-		    {
-			*tp2++ = *tp1++ ;
-		    }
-		    UMF_mem_free_tail_block (Numeric, t1) ;
-		}
-	    }
-
-	    /* place the new (e,f) tuple in the element list of the column */
-	    Col_tlen [col]++ ;
-	    *tp2 = tuple ;
-	}
-
-	/* ------------------------------------------------------------------ */
-	/* place (e,f) in the element list of each row */
-	/* ------------------------------------------------------------------ */
-
-	for (tuple.f = 0 ; tuple.f < fnrows ; tuple.f++)
-	{
-	    row = Frows [tuple.f] ;
-	    ASSERT (row >= 0 && row < n_row) ;
-	    ASSERT (NON_PIVOTAL_ROW (row)) ;
-	    t1 = Row_tuples [row] ;
-	    DEBUG1 (("Placing on row:"ID" , tuples at "ID"\n",
-		row, Row_tuples [row])) ;
-
-	    size = 0 ;
-	    len = 0 ;
-	    if (t1)
-	    {
-		p = Memory + t1 ;
-		tp = (Tuple *) p ;
-		size = GET_BLOCK_SIZE (p) ;
-		len = Row_tlen [row] ;
-		tp2 = tp + len ;
-	    }
-
-	    needunits = UNITS (Tuple, len + 1) ;
-	    DEBUG1 (("len: "ID" size: "ID" needunits: "ID"\n",
-		len, size, needunits)) ;
-
-	    if (needunits > size && t1)
-	    {
-		/* prune the tuples */
-		tp1 = tp ;
-		tp2 = tp ;
-		tpend = tp + len ;
-		for ( ; tp < tpend ; tp++)
-		{
-		    e = tp->e ;
-		    ASSERT (e > 0 && e <= Work->nel) ;
-		    if (!E [e])
-		    {
-			continue ;	/* element already deallocated */
-		    }
-		    f = tp->f ;
-		    p = Memory + E [e] ;
-		    ep = (Element *) p ;
-		    p += UNITS (Element, 1) ;
-		    Cols = (Int *) p ;
-		    Rows = Cols + (ep->ncols) ;
-		    if (Rows [f] == EMPTY) continue ;	/* already assembled */
-		    ASSERT (row == Rows [f]) ;
-		    *tp2++ = *tp ;	/* leave the tuple in the list */
-		}
-		len = tp2 - tp1 ;
-		Row_tlen [row] = len ;
-		needunits = UNITS (Tuple, len + 1) ;
-	    }
-
-	    if (needunits > size)
-	    {
-		/* no room exists - reallocate elsewhere */
-		DEBUG1 (("REALLOCATE Row: "ID", size "ID" to "ID"\n",
-		    row, size, 2*needunits)) ;
-
-#ifndef NDEBUG
-		UMF_allocfail = FALSE ;
-		if (UMF_gprob > 0)  /* a double relop, but ignore NaN case */
-		{
-		    double rrr = ((double) (rand ( ))) /
-			(((double) RAND_MAX) + 1) ;
-		    DEBUG1 (("Check random %e %e\n", rrr, UMF_gprob)) ;
-		    UMF_allocfail = rrr < UMF_gprob ;
-		    if (UMF_allocfail) DEBUGm2 (("Random gar. (row tuple)\n")) ;
-		}
-#endif
-
-		needunits = MIN (2*needunits, (Int) UNITS (Tuple, nn)) ;
-		t2 = UMF_mem_alloc_tail_block (Numeric, needunits) ;
-		if (!t2)
-		{
-		    /* :: get memory in umf_create_element (2) :: */
-		    /* get memory, reconstruct all tuple lists, and return */
-		    /* Compact the current front if it needs to grow anyway. */
-		    /* Note: no pivot rows or columns in the current front */
-		    DEBUGm4 (("get_memory from umf_create_element, 2\n")) ;
-		    return (UMF_get_memory (Numeric, Work, 0, r2, c2,do_Fcpos));
-		}
-		Row_tuples [row] = t2 ;
-		tp2 = (Tuple *) (Memory + t2) ;
-		if (t1)
-		{
-		    for (i = 0 ; i < len ; i++)
-		    {
-			*tp2++ = *tp1++ ;
-		    }
-		    UMF_mem_free_tail_block (Numeric, t1) ;
-		}
-	    }
-
-	    /* place the new (e,f) tuple in the element list of the row */
-	    Row_tlen [row]++ ;
-	    *tp2 = tuple ;
-	}
-
-    }
-
-    /* ---------------------------------------------------------------------- */
-
-#ifndef NDEBUG
-    DEBUG1 (("Done extending\nFINAL: element row pattern: len="ID"\n", fncols));
-    for (j = 0 ; j < fncols ; j++) DEBUG1 ((""ID"\n", Fcols [j])) ;
-    DEBUG1 (("FINAL: element col pattern:  len="ID"\n", fnrows)) ;
-    for (j = 0 ; j < fnrows ; j++) DEBUG1 ((""ID"\n", Frows [j])) ;
-    for (j = 0 ; j < fncols ; j++)
-    {
-	col = Fcols [j] ;
-	ASSERT (col >= 0 && col < n_col) ;
-	UMF_dump_rowcol (1, Numeric, Work, col, !Symbolic->fixQ) ;
-    }
-    for (j = 0 ; j < fnrows ; j++)
-    {
-	row = Frows [j] ;
-	ASSERT (row >= 0 && row < n_row) ;
-	UMF_dump_rowcol (0, Numeric, Work, row, TRUE) ;
-    }
-    if (n_row < 1000 && n_col < 1000)
-    {
-	UMF_dump_memory (Numeric) ;
-    }
-    DEBUG1 (("New element, after filling with stuff: "ID"\n", e)) ;
-    UMF_dump_element (Numeric, Work, e, TRUE) ;
-    if (nn < 1000)
-    {
-	DEBUG4 (("Matrix dump, after New element: "ID"\n", e)) ;
-	UMF_dump_matrix (Numeric, Work, TRUE) ;
-    }
-    DEBUG3 (("FRONTAL WRAPUP DONE\n")) ;
-#endif
-
-    return (TRUE) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_create_element.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL Int UMF_create_element
-(
-    NumericType *Numeric,
-    WorkType *Work,
-    SymbolicType *Symbolic
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_dump.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1225 +0,0 @@
-/* ========================================================================== */
-/* === UMF_dump ============================================================= */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/* These routines, and external variables, are used only when debugging. */
-/* If debugging is disabled (for normal operation) then this entire file */
-/* becomes empty */
-
-#include "umf_internal.h"
-
-#ifndef NDEBUG
-
-/* These global debugging variables and arrays do not exist if debugging */
-/* is disabled at compile time (which is the default). */
-GLOBAL Int UMF_debug = -999 ;
-GLOBAL Int UMF_allocfail = FALSE ;
-GLOBAL double UMF_gprob = -1.0 ;
-
-/* static debugging arrays used only in UMF_dump_rowcol */
-PRIVATE Int UMF_DBflag = 0 ;
-PRIVATE Int UMF_DBpacked [UMF_DBMAX+1] ;
-PRIVATE Int UMF_DBscatter [UMF_DBMAX+1] ;
-
-/* ========================================================================== */
-/* === UMF_DBinit =========================================================== */
-/* ========================================================================== */
-
-/* clear the debugging arrays */
-
-PRIVATE void UMF_DBinit
-(
-    void
-)
-{
-    Int i ;
-
-    /* Int_MAX is defined in umfpack.h */
-    if (UMF_DBflag < 1 || UMF_DBflag == Int_MAX)
-    {
-	/* clear the debugging arrays */
-	UMF_DBflag = 0 ;
-	for (i = 0 ; i <= UMF_DBMAX ; i++)
-	{
-	    UMF_DBscatter [i] = 0 ;
-	    UMF_DBpacked  [i] = 0 ;
-	}
-    }
-
-    UMF_DBflag++ ;
-
-    /* UMF_DBflag > UMF_DBscatter [0...UMF_DBmax] is now true */
-}
-
-/* ========================================================================== */
-/* === UMF_dump_dense ======================================================= */
-/* ========================================================================== */
-
-GLOBAL void UMF_dump_dense
-(
-    Entry *C,
-    Int dim,
-    Int m,
-    Int n
-)
-{
-
-    /* dump C [1..m,1..n], with column dimenstion dim */
-    Int i, j;
-
-    if (UMF_debug < 7) return ;
-    if (C == (Entry *) NULL)
-    {
-	DEBUG7 (("No dense matrix allocated\n")) ;
-	return ;
-    }
-    DEBUG8 ((" dimension= "ID" rows= "ID" cols= "ID"\n", dim, m, n)) ;
-
-    for (i = 0 ; i < m ; i++)
-    {
-	DEBUG9 ((ID": ", i)) ;
-	for (j = 0 ; j < n ; j++)
-	{
-	    EDEBUG9 (C [i+j*dim]) ;
-	    if (j % 6 == 5) DEBUG9 (("\n     ")) ;
-	}
-	DEBUG9 (("\n")) ;
-    }
-
-    for (i = 0 ; i < m ; i++)
-    {
-	for (j = 0 ; j < n ; j++)
-	{
-	    if (IS_ZERO (C [i+j*dim]))
-	    {
-		DEBUG8 ((".")) ;
-	    }
-	    else
-	    {
-		DEBUG8 (("X")) ;
-	    }
-	}
-	DEBUG8 (("\n")) ;
-    }
-}
-
-/* ========================================================================== */
-/* === UMF_dump_element ===================================================== */
-/* ========================================================================== */
-
-GLOBAL void UMF_dump_element
-(
-    NumericType *Numeric,
-    WorkType *Work,
-    Int e,
-    Int clean
-)
-{
-
-    Int i, j, k, *Rows, *Cols, nrows, ncols, *E, row, col,
-	*Row_degree, *Col_degree ;
-    Entry *C ;
-    Element *ep ;
-    Unit *p ;
-
-    if (UMF_debug < 7) return ;
-
-    if (e == 0)
-    {
-	UMF_dump_current_front (Numeric, Work, FALSE) ;
-	return ;
-    }
-
-    DEBUG7 (("\n====================ELEMENT: "ID" ", e)) ;
-    if (!Numeric || !Work || !Numeric->Memory)
-    {
-	DEBUG7 ((" No Numeric, Work\n")) ;
-	return ;
-    }
-    DEBUG7 ((" nel: "ID" of "ID, e, Work->nel)) ;
-    E = Work->E ;
-    if (!E)
-    {
-	DEBUG7 ((" No elements\n")) ;
-	return ;
-    }
-    if (e < 0 || e > Work->nel)
-    {
-	DEBUG7 (("e out of range!\n")) ;
-	return ;
-    }
-    if (!E [e])
-    {
-	DEBUG7 ((" deallocated\n")) ;
-	return ;
-    }
-    DEBUG7 (("\n")) ;
-    Col_degree = Numeric->Cperm ;
-    Row_degree = Numeric->Rperm ;
-
-    p = Numeric->Memory + E [e] ;
-    DEBUG7 (("ep "ID"\n", (Int) (p-Numeric->Memory))) ;
-    GET_ELEMENT (ep, p, Cols, Rows, ncols, nrows, C) ;
-    DEBUG7 (("nrows "ID" nrowsleft "ID"\n", nrows, ep->nrowsleft)) ;
-    DEBUG7 (("ncols "ID" ncolsleft "ID"\n", ncols, ep->ncolsleft)) ;
-    DEBUG7 (("cdeg-cdeg0 "ID" rdeg-rdeg0 "ID" next "ID"\n",
-    ep->cdeg - Work->cdeg0, ep->rdeg - Work->rdeg0, ep->next)) ;
-
-    DEBUG8 (("rows: ")) ;
-    k = 0 ;
-    for (i = 0 ; i < ep->nrows ; i++)
-    {
-	row = Rows [i] ;
-	if (row >= 0)
-	{
-	    DEBUG8 ((" "ID, row)) ;
-	    ASSERT (row < Work->n_row) ;
-	    if ((k++ % 10) == 9) DEBUG8 (("\n")) ;
-	    ASSERT (IMPLIES (clean, NON_PIVOTAL_ROW (row))) ;
-	}
-    }
-
-    DEBUG8 (("\ncols: ")) ;
-    k = 0 ;
-    for (j = 0 ; j < ep->ncols ; j++)
-    {
-	col = Cols [j] ;
-	if (col >= 0)
-	{
-	    DEBUG8 ((" "ID, col)) ;
-	    ASSERT (col < Work->n_col) ;
-	    if ((k++ % 10) == 9) DEBUG8 (("\n")) ;
-	    ASSERT (IMPLIES (clean, NON_PIVOTAL_COL (col))) ;
-	}
-    }
-
-    DEBUG8 (("\nvalues:\n")) ;
-    if (UMF_debug >= 9)
-    {
-	for (i = 0 ; i < ep->nrows ; i++)
-	{
-	    row = Rows [i] ;
-	    if (row >= 0)
-	    {
-		DEBUG9 ((ID": ", row)) ;
-		k = 0 ;
-		for (j = 0 ; j < ep->ncols ; j++)
-		{
-		    col = Cols [j] ;
-		    if (col >= 0)
-		    {
-			EDEBUG9 (C [i+j*ep->nrows]) ;
-			if (k++ % 6 == 5) DEBUG9 (("\n     ")) ;
-		    }
-		}
-		DEBUG9 (("\n")) ;
-	    }
-	}
-    }
-
-    DEBUG7 (("====================\n")) ;
-}
-
-
-/* ========================================================================== */
-/* === UMF_dump_rowcol ====================================================== */
-/* ========================================================================== */
-
-/* dump a row or a column, from one or more memory spaces */
-/* return exact degree */
-
-GLOBAL void UMF_dump_rowcol
-(
-    Int dumpwhich,		/* 0 for row, 1 for column */
-    NumericType *Numeric,
-    WorkType *Work,
-    Int dumpindex,		/* row or column index to dump */
-    Int check_degree	/* true if degree is to be checked */
-)
-{
-    Entry value ;
-    Entry *C ;
-    Int f, nrows, j, jj, len, e, deg, index, n_row, n_col, *Cols, *Rows, nn,
-	dumpdeg, ncols, preve, *E, tpi, *Pattern, approx_deg, not_in_use ;
-    Tuple *tp, *tend ;
-    Element *ep ;
-    Int *Row_tuples, *Row_degree, *Row_tlen ;
-    Int *Col_tuples, *Col_degree, *Col_tlen ;
-    Unit *p ;
-    Int is_there ;
-
-    /* clear the debugging arrays */
-    UMF_DBinit () ;
-
-    if (dumpwhich == 0)
-    {
-	DEBUG7 (("\n====================ROW: "ID, dumpindex)) ;
-    }
-    else
-    {
-	DEBUG7 (("\n====================COL: "ID, dumpindex)) ;
-    }
-
-    if (dumpindex == EMPTY)
-    {
-	DEBUG7 ((" (EMPTY)\n")) ;
-	return ;
-    }
-
-    deg = 0 ;
-    approx_deg = 0 ;
-
-    if (!Numeric || !Work)
-    {
-	DEBUG7 ((" No Numeric, Work\n")) ;
-	return ;
-    }
-
-    n_row = Work->n_row ;
-    n_col = Work->n_col ;
-    nn = MAX (n_row, n_col) ;
-    E = Work->E ;
-
-    Col_degree = Numeric->Cperm ;
-    Row_degree = Numeric->Rperm ;
-
-    Row_tuples = Numeric->Uip ;
-    Row_tlen   = Numeric->Uilen ;
-    Col_tuples = Numeric->Lip ;
-    Col_tlen   = Numeric->Lilen ;
-
-	if (!E
-	|| !Row_tuples || !Row_degree || !Row_tlen
-	|| !Col_tuples || !Col_degree || !Col_tlen)
-	{
-	    DEBUG7 ((" No E, Rows, Cols\n")) ;
-	    return ;
-	}
-
-	if (dumpwhich == 0)
-	{
-	    /* dump a row */
-	    ASSERT (dumpindex >= 0 && dumpindex < n_row) ;
-	    if (!NON_PIVOTAL_ROW (dumpindex))
-	    {
-		DEBUG7 ((" Pivotal\n")) ;
-		return ;
-	    }
-	    len = Row_tlen [dumpindex] ;
-	    dumpdeg = Row_degree [dumpindex] ;
-	    tpi = Row_tuples [dumpindex] ;
-	}
-	else
-	{
-	    /* dump a column */
-	    ASSERT (dumpindex >= 0 && dumpindex < n_col) ;
-	    if (!NON_PIVOTAL_COL (dumpindex))
-	    {
-		DEBUG7 ((" Pivotal\n")) ;
-		return ;
-	    }
-	    len = Col_tlen [dumpindex] ;
-	    dumpdeg = Col_degree [dumpindex] ;
-	    tpi = Col_tuples [dumpindex] ;
-	}
-
-	p = Numeric->Memory + tpi ;
-	tp = (Tuple *) p ;
-	if (!tpi)
-	{
-	    DEBUG7 ((" Nonpivotal, No tuple list tuples "ID" tlen "ID"\n",
-		tpi, len)) ;
-	    return ;
-	}
-	ASSERT (p >= Numeric->Memory + Numeric->itail) ;
-	ASSERT (p <  Numeric->Memory + Numeric->size) ;
-
-	DEBUG7 ((" degree: "ID" len: "ID"\n", dumpdeg, len)) ;
-	not_in_use = (p-1)->header.size - UNITS (Tuple, len) ;
-	DEBUG7 ((" Tuple list: p+1: "ID" size: "ID" units, "ID" not in use\n",
-		(Int) (p-Numeric->Memory), (p-1)->header.size, not_in_use)) ;
-	ASSERT (not_in_use >= 0) ;
-	tend = tp + len ;
-	preve = 0 ;
-	for ( ; tp < tend ; tp++)
-	{
-	    /* row/col of element e, offset is f: */
-	    /* DEBUG8 (("    (tp="ID")\n", tp)) ; */
-	    e = tp->e ;
-	    f = tp->f ;
-	    DEBUG8 (("    (e="ID", f="ID")\n", e, f)) ;
-	    ASSERT (e > 0 && e <= Work->nel) ;
-	    /* dump the pattern and values */
-	    if (E [e])
-	    {
-		p = Numeric->Memory + E [e] ;
-		GET_ELEMENT (ep, p, Cols, Rows, ncols, nrows, C) ;
-		if (dumpwhich == 0)
-		{
-		    Pattern = Cols ;
-		    jj = ep->ncols ;
-		    is_there = Rows [f] >= 0 ;
-		    if (is_there) approx_deg += ep->ncolsleft ;
-		}
-		else
-		{
-		    Pattern = Rows ;
-		    jj = ep->nrows ;
-		    is_there = Cols [f] >= 0 ;
-		    if (is_there) approx_deg += ep->nrowsleft ;
-		}
-		if (!is_there)
-		{
-			DEBUG8 (("\t\tnot present\n")) ;
-		}
-		else
-		{
-		    for (j = 0 ; j < jj ; j++)
-		    {
-			index = Pattern [j] ;
-			value =
-			    C [ (dumpwhich == 0) ? (f+nrows*j) : (j+nrows*f) ] ;
-			if (index >= 0)
-			{
-			    DEBUG8 (("\t\t"ID":", index)) ;
-			    EDEBUG8 (value) ;
-			    DEBUG8 (("\n")) ;
-			    if (dumpwhich == 0)
-			    {
-				/* col must be in the range 0..n_col-1 */
-				ASSERT (index < n_col) ;
-			    }
-			    else
-			    {
-				/* row must be in the range 0..n_row-1 */
-				ASSERT (index < n_row) ;
-			    }
-
-			    if (nn <= UMF_DBMAX)
-			    {
-				if (UMF_DBscatter [index] != UMF_DBflag)
-				{
-				    UMF_DBpacked [deg++] = index ;
-				    UMF_DBscatter [index] = UMF_DBflag ;
-				}
-			    }
-			}
-		    }
-		}
-		/* the (e,f) tuples should be in order of their creation */
-		/* this means that garbage collection will not jumble them */
-		ASSERT (preve < e) ;
-		preve = e ;
-	    }
-	    else
-	    {
-		DEBUG8 (("\t\tdeallocated\n")) ;
-	    }
-	}
-
-    if (nn <= UMF_DBMAX)
-    {
-	if (deg > 0)
-	{
-	    DEBUG7 ((" Assembled, actual deg: "ID" : ", deg)) ;
-	    for (j = 0 ; j < deg ; j++)
-	    {
-		index = UMF_DBpacked [j] ;
-		DEBUG8 ((ID" ", index)) ;
-		if (j % 20 == 19) DEBUG8 (("\n ")) ;
-		ASSERT (UMF_DBscatter [index] == UMF_DBflag) ;
-	    }
-	    DEBUG7 (("\n")) ;
-	}
-    }
-
-    /* Col_degree is not maintained when fixQ is true */
-    if (check_degree)
-    {
-	DEBUG8 (("  approx_deg "ID"  dumpdeg "ID"\n", approx_deg, dumpdeg)) ;
-	ASSERT (approx_deg == dumpdeg) ;
-    }
-
-    DEBUG7 (("====================\n")) ;
-
-    /* deg is now the exact degree */
-    /* if nn <= UMF_DBMAX, then UMF_DBscatter [i] == UMF_DBflag for every i */
-    /* in the row or col, and != UMF_DBflag if not */
-
-    return ;
-}
-
-
-/* ========================================================================== */
-/* === UMF_dump_matrix ====================================================== */
-/* ========================================================================== */
-
-GLOBAL void UMF_dump_matrix
-(
-    NumericType *Numeric,
-    WorkType *Work,
-    Int check_degree
-)
-{
-
-    Int e, row, col, intfrag, frag, n_row, n_col, *E, fullsize, actualsize ;
-    Element *ep ;
-    Unit *p ;
-
-    DEBUG6 (("=================================================== MATRIX:\n")) ;
-    if (!Numeric || !Work)
-    {
-	DEBUG6 (("No Numeric or Work allocated\n")) ;
-	return ;
-    }
-    if (!Numeric->Memory)
-    {
-	DEBUG6 (("No Numeric->Memory\n")) ;
-	return ;
-    }
-
-	n_row = Work->n_row ;
-	n_col = Work->n_col ;
-	DEBUG6 (("n_row "ID" n_col "ID" nz "ID"\n", n_row, n_col, Work->nz)) ;
-	DEBUG6 (("============================ ELEMENTS: "ID" \n", Work->nel)) ;
-	intfrag = 0 ;
-	E = Work->E ;
-	if (!E)
-	{
-	    DEBUG6 (("No elements allocated\n")) ;
-	}
-	else
-	{
-	    for (e = 0 ; e <= Work->nel ; e++)
-	    {
-		UMF_dump_element (Numeric, Work, e, FALSE) ;
-		if (e > 0 && E [e])
-		{
-		    p = Numeric->Memory + E [e] ;
-		    ep = (Element *) p ;
-		    ASSERT (ep->nrowsleft > 0 || ep->ncolsleft > 0) ;
-		    fullsize = GET_BLOCK_SIZE (p) ;
-		    actualsize = GET_ELEMENT_SIZE (ep->nrowsleft,ep->ncolsleft);
-		    frag =  fullsize - actualsize ;
-		    intfrag += frag ;
-		    DEBUG7 (("dump el: "ID", full "ID" actual "ID" frag: "ID
-			" intfrag: "ID"\n", e, fullsize, actualsize, frag,
-			intfrag)) ;
-		}
-	    }
-	}
-
-	DEBUG6 (("CURRENT INTERNAL FRAG in elements: "ID" \n", intfrag)) ;
-
-
-
-    DEBUG6 (("======================================== ROWS: "ID"\n", n_row)) ;
-    UMF_debug -= 2 ;
-    for (row = 0 ; row < n_row ; row++)
-    {
-	UMF_dump_rowcol (0, Numeric, Work, row, check_degree) ;
-    }
-    UMF_debug += 2 ;
-    DEBUG6 (("======================================== COLS: "ID"\n", n_col)) ;
-    UMF_debug -= 2 ;
-    for (col = 0 ; col < n_col ; col++)
-    {
-	UMF_dump_rowcol (1, Numeric, Work, col, FALSE) ;
-    }
-    UMF_debug += 2 ;
-    DEBUG6 (("============================================= END OF MATRIX:\n"));
-}
-
-
-/* ========================================================================== */
-/* === UMF_dump_current_front =============================================== */
-/* ========================================================================== */
-
-GLOBAL void UMF_dump_current_front
-(
-    NumericType *Numeric,
-    WorkType *Work,
-    Int check
-)
-{
-
-    Entry *Flublock, *Flblock, *Fublock, *Fcblock ;
-    Int fnrows_max, fncols_max, fnrows, fncols, fnpiv, *Frows, *Fcols,
-	i, j, *Fcpos, *Frpos, fnr_curr, fnc_curr, *E ;
-    if (!Work) return ;
-    DEBUG7 (("\n\n========CURRENT FRONTAL MATRIX:\n")) ;
-
-    Flublock = Work->Flublock ;
-    Flblock = Work->Flblock ;
-    Fublock = Work->Fublock ;
-    Fcblock = Work->Fcblock ;
-
-    Frows = Work->Frows ;
-    Fcols = Work->Fcols ;
-    Frpos = Work->Frpos ;
-    Fcpos = Work->Fcpos ;
-    fnrows_max = Work->fnrows_max ;
-    fncols_max = Work->fncols_max ;
-    fnr_curr = Work->fnr_curr ;
-    fnc_curr = Work->fnc_curr ;
-    fnrows = Work->fnrows ;
-    fncols = Work->fncols ;
-    fnpiv = Work->fnpiv ;
-    E = Work->E ;
-
-    DEBUG6 (("=== fnpiv= "ID"\n", fnpiv)) ;
-    DEBUG6 (("fnrows_max      fncols_max "ID" "ID"\n",fnrows_max, fncols_max)) ;
-    DEBUG6 (("fnr_curr        fnc_curr   "ID" "ID"\n",fnr_curr,   fnc_curr)) ;
-    DEBUG6 (("fnrows          fncols     "ID" "ID"\n",fnrows,     fncols)) ;
-    ASSERT ((fnr_curr % 2 == 1) || fnr_curr == 0) ;
-    DEBUG6 (("Pivot row pattern:\n")) ;
-    for (j = 0 ; j < fncols ; j++)
-    {
-	DEBUG7 ((ID" "ID" "ID" %d\n", j, Fcols [j], Fcpos [Fcols [j]],
-	    j < fncols)) ;
-	if (check)
-	{
-	    ASSERT (Fcols [j] >= 0 && Fcols [j] < Work->n_col) ;
-	    ASSERT (Fcpos [Fcols [j]] == j * fnr_curr) ;
-	}
-    }
-    DEBUG6 (("Pivot col pattern:\n")) ;
-    for (i = 0 ; i < fnrows ; i++)
-    {
-	DEBUG7 ((ID" "ID" "ID" %d\n", i, Frows [i], Frpos [Frows [i]],
-	    i < fnrows)) ;
-	if (check)
-	{
-	    ASSERT (Frows [i] >= 0 && Frows [i] < Work->n_row) ;
-	    ASSERT (Frpos [Frows [i]] == i) ;
-	}
-    }
-    if (UMF_debug < 7) return ;
-
-    if (!E [0])
-    {
-	DEBUG6 (("current front not allocated\n")) ;
-	ASSERT (!Work->Flublock) ;
-	return ;
-    }
-
-    ASSERT (Work->Flublock == (Entry *) (Numeric->Memory + E [0])) ;
-    DEBUG7 (("C  block: ")) ;
-    UMF_dump_dense (Fcblock,  fnr_curr, fnrows, fncols) ;
-    DEBUG7 (("L  block: ")) ;
-    UMF_dump_dense (Flblock,  fnr_curr, fnrows, fnpiv) ;
-    DEBUG7 (("U' block: ")) ;
-    UMF_dump_dense (Fublock,  fnc_curr, fncols, fnpiv) ;
-    DEBUG7 (("LU block: ")) ;
-    UMF_dump_dense (Flublock, Work->nb, fnpiv, fnpiv) ;
-    if (fnpiv > 0)
-    {
-	DEBUG7 (("Pivot entry: ")) ;
-	EDEBUG7 (Flublock [(fnpiv-1)+(fnpiv-1)*Work->nb]) ;
-	DEBUG7 (("\n")) ;
-    }
-}
-
-/* ========================================================================== */
-/* === UMF_dump_lu ========================================================== */
-/* ========================================================================== */
-
-GLOBAL void UMF_dump_lu
-(
-    NumericType *Numeric
-)
-{
-    Int i, n_row, n_col, *Cperm, *Rperm ;
-
-    DEBUG6 (("=============================================== LU factors:\n")) ;
-    if (!Numeric)
-    {
-	DEBUG6 (("No LU factors allocated\n")) ;
-	return ;
-    }
-    n_row = Numeric->n_row ;
-    n_col = Numeric->n_col ;
-    DEBUG6 (("n_row: "ID" n_col: "ID"\n", n_row, n_col)) ;
-    DEBUG6 (("nLentries: "ID" nUentries: "ID"\n",
-	Numeric->nLentries, Numeric->nUentries)) ;
-
-    if (Numeric->Cperm)
-    {
-	Cperm = Numeric->Cperm ;
-	DEBUG7 (("Column permutations: (new: old)\n")) ;
-	for (i = 0 ; i < n_col ; i++)
-	{
-	    if (Cperm [i] != EMPTY)
-	    {
-		DEBUG7 ((ID": "ID"\n", i, Cperm [i])) ;
-	    }
-	}
-    }
-    else
-    {
-	DEBUG7 (("No Numeric->Cperm allocatated\n")) ;
-    }
-
-    if (Numeric->Rperm)
-    {
-	Rperm = Numeric->Rperm ;
-	DEBUG7 (("row permutations: (new: old)\n")) ;
-	for (i = 0 ; i < n_row ; i++)
-	{
-	    if (Rperm [i] != EMPTY)
-	    {
-		DEBUG7 ((ID": "ID"\n", i, Rperm [i])) ;
-	    }
-	}
-    }
-    else
-    {
-	DEBUG7 (("No Numeric->Rperm allocatated\n")) ;
-    }
-
-    DEBUG6 (("========================================= END OF LU factors:\n"));
-}
-
-
-/* ========================================================================== */
-/* === UMF_dump_memory ====================================================== */
-/* ========================================================================== */
-
-GLOBAL void UMF_dump_memory
-(
-    NumericType *Numeric
-)
-{
-
-    Unit *p ;
-    Int prevsize, s ;
-    Int found ;
-
-    if (!Numeric)
-    {
-	DEBUG6 (("No memory space S allocated\n")) ;
-	return ;
-    }
-
-    DEBUG6 (("\n ============================================== MEMORY:\n")) ;
-    if (!Numeric || !Numeric->Memory)
-    {
-	DEBUG6 (("No memory space Numeric allocated\n")) ;
-	return ;
-    }
-
-    DEBUG6 (("S: "ID"\n", (Int) Numeric)) ;
-    DEBUG6 (("S->ihead           : "ID"\n", Numeric->ihead)) ;
-    DEBUG6 (("S->itail           : "ID"\n", Numeric->itail)) ;
-    DEBUG6 (("S->size            : "ID"\n", Numeric->size)) ;
-    DEBUG6 (("S->ngarbage        : "ID"\n", Numeric->ngarbage)) ;
-    DEBUG6 (("S->nrealloc        : "ID"\n", Numeric->nrealloc)) ;
-    DEBUG6 (("   in use at head           : "ID"\n", Numeric->ihead)) ;
-    DEBUG6 (("   free space               : "ID"\n",
-	Numeric->itail - Numeric->ihead)) ;
-    DEBUG6 (("   blocks in use at tail    : "ID"\n",
-	Numeric->size - Numeric->itail)) ;
-    DEBUG6 (("   total in use             : "ID"\n",
-	Numeric->size - (Numeric->itail - Numeric->ihead))) ;
-
-    prevsize = 0 ;
-    found = FALSE ;
-
-    ASSERT (0 <= Numeric->ihead) ;
-    ASSERT (Numeric->ihead <= Numeric->itail) ;
-    ASSERT (Numeric->itail <= Numeric->size) ;
-
-    p = Numeric->Memory + Numeric->itail ;
-
-    while (p < Numeric->Memory + Numeric->size)
-    {
-	DEBUG8 (("p: "ID" p+1: "ID" prevsize: "ID" size: "ID,
-	    (Int) (p-Numeric->Memory), (Int) (p+1-Numeric->Memory),
-	    p->header.prevsize, p->header.size)) ;
-	if (p->header.size < 0)
-	{
-	    DEBUG8 ((" free")) ;
-	}
-
-	if (p == Numeric->Memory + Numeric->itail)
-	{
-	    ASSERT (p->header.prevsize == 0) ;
-	}
-	else
-	{
-	    ASSERT (p->header.prevsize > 0) ;
-	}
-
-	ASSERT (p->header.size != 0) ;
-	s = prevsize >= 0 ? prevsize : -prevsize ;
-	ASSERT (p->header.prevsize == s) ;
-	/* no adjacent free blocks */
-	ASSERT (p->header.size > 0 || prevsize > 0) ;
-	if (Numeric->ibig != EMPTY)
-	{
-	    if (p == Numeric->Memory + Numeric->ibig)
-	    {
-		ASSERT (p->header.size < 0) ;
-		DEBUG8 ((" <===== Numeric->ibig")) ;
-		found = TRUE ;
-	    }
-	}
-	s = p->header.size ;
-	prevsize = s ;
-	s = s >= 0 ? s : -s ;
-	p = p + 1 + s ;
-	DEBUG8 (("\n")) ;
-    }
-
-    ASSERT (p == Numeric->Memory + Numeric->size) ;
-    ASSERT (IMPLIES (Numeric->ibig != EMPTY, found)) ;
-    DEBUG6 (("============================================= END OF MEMORY:\n"));
-
-}
-
-
-/* ========================================================================== */
-/* === UMF_dump_packed_memory =============================================== */
-/* ========================================================================== */
-
-GLOBAL void UMF_dump_packed_memory
-(
-    NumericType *Numeric,
-    WorkType *Work
-)
-{
-    Unit *p, *p3 ;
-    Int prevsize, col, row, *Rows, *Cols, ncols, nrows, k, esize,
-	*Row_tuples, *Row_degree, *Col_tuples, *Col_degree ;
-    Entry *C ;
-    Element *ep ;
-
-    Col_degree = Numeric->Cperm ;	/* for NON_PIVOTAL_COL macro */
-    Row_degree = Numeric->Rperm ;	/* for NON_PIVOTAL_ROW macro */
-    Row_tuples = Numeric->Uip ;
-    Col_tuples = Numeric->Lip ;
-
-    DEBUG6 (("============================================ PACKED MEMORY:\n")) ;
-    if (!Numeric || !Numeric->Memory)
-    {
-	DEBUG6 (("No memory space S allocated\n")) ;
-	return ;
-    }
-    DEBUG6 (("S: "ID"\n", (Int) Numeric)) ;
-    DEBUG6 (("S->ihead           : "ID"\n", Numeric->ihead)) ;
-    DEBUG6 (("S->itail           : "ID"\n", Numeric->itail)) ;
-    DEBUG6 (("S->size            : "ID"\n", Numeric->size)) ;
-    DEBUG6 (("S->ngarbage        : "ID"\n", Numeric->ngarbage)) ;
-    DEBUG6 (("S->nrealloc        : "ID"\n", Numeric->nrealloc)) ;
-    DEBUG6 (("   in use at head           : "ID"\n", Numeric->ihead)) ;
-    DEBUG6 (("   free space               : "ID"\n",
-	Numeric->itail - Numeric->ihead)) ;
-    DEBUG6 (("   blocks in use at tail    : "ID"\n",
-	Numeric->size - Numeric->itail)) ;
-    DEBUG6 (("   total in use             : "ID"\n",
-	Numeric->size - (Numeric->itail - Numeric->ihead))) ;
-
-    ASSERT (0 <= Numeric->ihead) ;
-    ASSERT (Numeric->ihead <= Numeric->itail) ;
-    ASSERT (Numeric->itail <= Numeric->size) ;
-
-    for (row = 0 ; row < Work->n_row ; row++)
-    {
-	ASSERT (IMPLIES (NON_PIVOTAL_ROW (row), !Row_tuples [row])) ;
-    }
-    for (col = 0 ; col < Work->n_col ; col++)
-    {
-	ASSERT (IMPLIES (NON_PIVOTAL_COL (col), !Col_tuples [col])) ;
-    }
-
-    prevsize = 0 ;
-    p = Numeric->Memory + Numeric->itail ;
-    while (p < Numeric->Memory + Numeric->size)
-    {
-	DEBUG9 (("====================\n")) ;
-	DEBUG7 (("p: "ID" p+1: "ID" prevsize: "ID" size: "ID"\n",
-	    (Int) (p-Numeric->Memory), (Int) (p+1-Numeric->Memory),
-	    p->header.prevsize, p->header.size)) ;
-	ASSERT (p->header.size > 0) ;
-
-	if (p == Numeric->Memory + Numeric->itail)
-	{
-	    ASSERT (p->header.prevsize == 0) ;
-	}
-	else
-	{
-	    ASSERT (p->header.prevsize > 0) ;
-	}
-
-	ASSERT (p->header.prevsize == prevsize) ;
-	prevsize = p->header.size ;
-
-	if (p != Numeric->Memory + Numeric->size - 2)
-	{
-
-	    p3 = p + 1 ;
-	    if (p3 == Numeric->Memory + Work->E [0])
-	    {
-		/* this is the current frontal matrix */
-		UMF_dump_current_front (Numeric, Work, FALSE) ;
-	    }
-	    else
-	    {
-
-		/* this is a packed element */
-		GET_ELEMENT (ep, p3, Cols, Rows, ncols, nrows, C) ;
-		DEBUG9 (("ep "ID"\n nrows "ID" ncols "ID"\n",
-		    (Int) ((p+1)-Numeric->Memory), ep->nrows, ep->ncols)) ;
-		DEBUG9 (("rows:")) ;
-		for (k = 0 ; k < ep->nrows; k++)
-		{
-		    row = Rows [k] ;
-		    DEBUG9 ((" "ID, row)) ;
-		    ASSERT (row >= 0 && row <= Work->n_row) ;
-		    if ((k % 10) == 9) DEBUG9 (("\n")) ;
-		}
-		DEBUG9 (("\ncols:")) ;
-		for (k = 0 ; k < ep->ncols; k++)
-		{
-		    col = Cols [k] ;
-		    DEBUG9 ((" "ID, col)) ;
-		    ASSERT (col >= 0 && col <= Work->n_col) ;
-		    if ((k % 10) == 9) DEBUG9 (("\n")) ;
-		}
-		DEBUG9 (("\nvalues: ")) ;
-		if (UMF_debug >= 9)
-		{
-		    UMF_dump_dense (C, ep->nrows, ep->nrows, ep->ncols) ;
-		}
-		esize = GET_ELEMENT_SIZE (ep->nrows, ep->ncols) ;
-		DEBUG9 (("esize: "ID"\n", esize)) ;
-		ASSERT (esize <= p->header.size) ;
-	    }
-
-	}
-	else
-	{
-	    /* this is the final marker block */
-	    ASSERT (p->header.size == 1) ;
-	}
-	p = p + 1 + p->header.size ;
-    }
-
-    ASSERT (Numeric->ibig == EMPTY) ;
-    ASSERT (p == Numeric->Memory + Numeric->size) ;
-    DEBUG6 (("======================================END OF PACKED MEMORY:\n")) ;
-
-}
-
-/* ========================================================================== */
-/* === UMF_dump_col_matrix ================================================== */
-/* ========================================================================== */
-
-/* This code is the same for real or complex matrices. */
-
-GLOBAL void UMF_dump_col_matrix
-(
-    const double Ax [ ],	/* Ax [0..nz-1]: real values, in column order */
-#ifdef COMPLEX
-    const double Az [ ],	/* Az [0..nz-1]: imag values, in column order */
-#endif
-    const Int Ai [ ],		/* Ai [0..nz-1]: row indices, in column order */
-    const Int Ap [ ],		/* Ap [0..n_col]: column pointers */
-    Int n_row,			/* number of rows of A */
-    Int n_col,			/* number of columns of A */
-    Int nz			/* number of entries */
-)
-{
-    Int col, p, p1, p2, row ;
-#ifdef COMPLEX
-    Int split = SPLIT (Az) ;
-#endif
-
-    if (!Ai || !Ap) return ;
-    DEBUG6 (("============================================ COLUMN FORM:\n")) ;
-
-    ASSERT (n_col >= 0) ;
-    nz = Ap [n_col] ;
-    DEBUG2 (("UMF_dump_col:  nz "ID"\n", nz)) ;
-    DEBUG2 (("n_row "ID"  \n", n_row)) ;
-    DEBUG2 (("n_col "ID"  \n", n_col)) ;
-
-    DEBUG6 ((" n_row = "ID", n_col ="ID" nz = "ID" Ap [0] "ID", Ap [n] "ID"\n",
-	n_row, n_col, nz, Ap [0], Ap [n_col])) ;
-    ASSERT (Ap [0] == 0) ;
-    ASSERT (Ap [n_col] == nz) ;
-    for (col = 0 ; col < n_col ; col++)
-    {
-	p1 = Ap [col] ;
-	p2 = Ap [col+1] ;
-	DEBUG6 (("col: "ID", length "ID"\n", col, p2 - p1)) ;
-	ASSERT (p2 >= p1) ;
-	for (p = p1 ; p < p2 ; p++)
-	{
-	    row = Ai [p] ;
-	    ASSERT (row >= 0 && row < n_row) ;
-	    DEBUG6 (("\t"ID" ", row)) ;
-	    if (Ax != (double *) NULL)
-	    {
-#ifdef COMPLEX
-		if (split)
-		{
-		    DEBUG6 ((" (%e+%ei) ", Ax [p], Az [p])) ;
-		}
-		else
-		{
-		    DEBUG6 ((" (%e+%ei) ", Ax [2*p], Ax [2*p+1])) ;
-		}
-#else
-		DEBUG6 ((" %e", Ax [p])) ;
-#endif
-	    }
-	    DEBUG6 (("\n")) ;
-	}
-    }
-    DEBUG6 (("========================================== COLUMN FORM done\n")) ;
-}
-
-
-/* ========================================================================== */
-/* === UMF_dump_chain ======================================================= */
-/* ========================================================================== */
-
-GLOBAL void UMF_dump_chain
-(
-    Int frontid,
-    Int Front_parent [ ],
-    Int Front_npivcol [ ],
-    Int Front_nrows [ ],
-    Int Front_ncols [ ],
-    Int nfr
-)
-{
-    Int i, len = 0 ;
-
-    /* print a list of contiguous parents */
-    i = frontid ;
-    ASSERT (Front_parent [i] == EMPTY ||
-	(Front_parent [i] > i && Front_parent [i] < nfr)) ;
-
-    len++ ;
-    DEBUG3 (("Chain:\n	"ID" ["ID","ID"]("ID"-by-"ID")\n", i,
-		Front_npivcol [i],
-		MIN (Front_npivcol [i], Front_nrows [i]),
-		Front_nrows [i],
-		Front_ncols [i])) ;
-
-    for (i = frontid ; i < nfr ; i++)
-    {
-	ASSERT (Front_parent [i] == EMPTY ||
-	(Front_parent [i] > i && Front_parent [i] < nfr)) ;
-	if (Front_parent [i] == i+1)
-	{
-	    len++ ;
-	    DEBUG3 (("\t"ID" ["ID","ID"]("ID"-by-"ID")\n", i+1,
-		Front_npivcol [i+1],
-		MIN (Front_npivcol [i+1], Front_nrows [i+1]),
-		Front_nrows [i+1],
-		Front_ncols [i+1])) ;
-	}
-	else
-	{
-	    DEBUG2 (("Length of chain: "ID"\n", len)) ;
-	    return ;
-	}
-    }
-}
-
-
-/* ========================================================================== */
-/* === UMF_dump_start ======================================================= */
-/* ========================================================================== */
-
-GLOBAL void UMF_dump_start
-(
-    void
-)
-{
-    FILE *ff ;
-
-    AMD_debug_init ("from umfpack") ;
-
-    /* get the debug print level from the "debug.umf" file, if it exists */
-    UMF_debug = -999 ;
-    ff = fopen ("debug.umf", "r") ;
-    if (ff)
-    {
-	(void) fscanf (ff, ID, &UMF_debug) ;
-	(void) fclose (ff) ;
-    }
-
-    DEBUG0 (("umfpack: debug version (SLOW!) ")) ;
-
-    DEBUG0 ((" BLAS: ")) ;
-
-#if defined (USE_NO_BLAS)
-    DEBUG0 (("none.")) ;
-#elif defined (USE_C_BLAS)
-    DEBUG0 (("C-BLAS.")) ;
-#elif defined (USE_MATLAB_BLAS)
-    DEBUG0 (("built-in MATLAB BLAS.")) ;
-#elif defined (USE_SUNPERF_BLAS)
-    DEBUG0 (("Sun Performance Library BLAS.")) ;
-#elif defined (USE_SCSL_BLAS)
-    DEBUG0 (("SGI SCSL BLAS.")) ;
-#elif defined (USE_FORTRAN_BLAS)
-    DEBUG0 (("Fortran BLAS.")) ;
-#endif
-
-    DEBUG0 ((" MATLAB: ")) ;
-#ifdef MATLAB_MEX_FILE
-    DEBUG0 (("mexFunction.\n")) ;
-#else
-#ifdef MATHWORKS
-    DEBUG0 (("yes (uses MathWorks internal ut* routines).\n")) ;
-#else
-    DEBUG0 (("no.\n")) ;
-#endif
-#endif
-
-    UMF_gprob = -1.0 ;
-    ff = fopen ("gprob.umf", "r") ;
-    if (ff)
-    {
-	(void) fscanf (ff, "%lg", &UMF_gprob) ;
-	(void) fclose (ff) ;
-	srand (1) ;	/* restart the random number generator */
-    }
-
-    if (UMF_gprob > 1.0) UMF_gprob = 1.0 ;
-    DEBUG1 (("factor: UMF_gprob: %e UMF_debug "ID"\n", UMF_gprob, UMF_debug)) ;
-
-    DEBUG2 (("sizeof: (bytes / int / Units) \n")) ;
-    DEBUG2 (("sizeof (Int)           %u %u %u\n",
-    sizeof (Int), sizeof (Int) / sizeof (int), UNITS (Int, 1) )) ;
-    DEBUG2 (("sizeof (int)           %u %u %u\n",
-    sizeof (int), sizeof (int) / sizeof (int), UNITS (int, 1) )) ;
-    DEBUG2 (("sizeof (size_t)        %u %u %u\n",
-    sizeof (size_t), sizeof (size_t) / sizeof (size_t), UNITS (size_t, 1) )) ;
-    DEBUG2 (("sizeof (long)          %u %u %u\n",
-    sizeof (long), sizeof (long) / sizeof (long), UNITS (long, 1) )) ;
-    DEBUG2 (("sizeof (double)        %u %u %u\n",
-    sizeof (double), sizeof (double) / sizeof (int), UNITS (double, 1) )) ;
-    DEBUG2 (("sizeof (Unit)          %u %u %u\n",
-    sizeof (Unit), sizeof (Unit) / sizeof (int), UNITS (Unit, 1) )) ;
-    DEBUG2 (("sizeof (Entry)         %u %u %u\n",
-    sizeof (Entry), sizeof (Entry) / sizeof (int), UNITS (Entry, 1) )) ;
-    DEBUG2 (("sizeof (Tuple)         %u %u %u\n",
-    sizeof (Tuple), sizeof (Tuple) / sizeof (int), UNITS (Tuple, 1) )) ;
-    DEBUG2 (("sizeof (Tuple *)       %u %u %u\n",
-    sizeof (Tuple *), sizeof (Tuple *) / sizeof (int), UNITS (Tuple *, 1) )) ;
-    DEBUG2 (("sizeof (Element)       %u %u %u\n",
-    sizeof (Element), sizeof (Element) / sizeof (int), UNITS (Element, 1) )) ;
-    DEBUG2 (("sizeof (Element *)     %u %u %u\n",
-    sizeof (Element *), sizeof (Element *) / sizeof (int),
-    UNITS (Element *, 1) )) ;
-    DEBUG2 (("sizeof (WorkType)      %u %u %u\n",
-    sizeof (WorkType), sizeof (WorkType) / sizeof (int),
-    UNITS (WorkType, 1) )) ;
-    DEBUG2 (("sizeof (NumericType)   %u %u %u\n",
-    sizeof (NumericType), sizeof (NumericType) / sizeof (int),
-    UNITS (NumericType, 1) )) ;
-    DEBUG2 (("sizeof (SymbolicType)  %u %u %u\n",
-    sizeof (SymbolicType), sizeof (SymbolicType) / sizeof (int),
-    UNITS (SymbolicType, 1) )) ;
-
-}
-
-
-/* ========================================================================== */
-/* === UMF_dump_rowmerge ==================================================== */
-/* ========================================================================== */
-
-GLOBAL void UMF_dump_rowmerge
-(
-    NumericType *Numeric,
-    SymbolicType *Symbolic,
-    WorkType *Work
-)
-{
-    Int *Front_leftmostdesc, *Front_1strow, *Front_new1strow, row1, row2,
-	fleftmost, nfr, n_row, *Row_degree, i, frontid, row ;
-
-    nfr = Symbolic->nfr ;
-    DEBUG3 (("\n================== Row merge sets: nfr "ID"\n", nfr)) ;
-    Front_leftmostdesc = Symbolic->Front_leftmostdesc ;
-    Front_1strow = Symbolic->Front_1strow ;
-    Front_new1strow = Work->Front_new1strow ;
-    n_row = Symbolic->n_row ;
-    Row_degree = Numeric->Rperm ;
-    frontid = Work->frontid ;
-
-    for (i = frontid ; i <= nfr ; i++)
-    {
-	DEBUG3 (("----------------------\n")) ;
-	if (i == nfr) DEBUG3 (("Dummy: ")) ;
-	DEBUG3 (("Front "ID" 1strow "ID" new1strow "ID" leftmostdesc "ID,
-	    i, Front_1strow [i], Front_new1strow [i], Front_leftmostdesc [i])) ;
-	DEBUG3 ((" parent "ID" pivcol "ID"\n", Symbolic->Front_parent [i],
-	    Symbolic->Front_npivcol [i])) ;
-
-	if (i == nfr)
-	{
-	    fleftmost = -1 ;
-	    row1 = Front_new1strow [i] ;
-	    row2 = n_row-1 ;
-	}
-	else
-	{
-	    fleftmost = Front_leftmostdesc [i] ;
-	    row1 = Front_new1strow [fleftmost] ;
-	    row2 = Front_1strow [i+1] - 1 ;
-	}
-	DEBUG3 (("Leftmost: "ID"  Rows ["ID" to "ID"], search ["ID" to "ID"]\n",
-	    fleftmost, Front_1strow [i], row2, row1, row2)) ;
-
-	for (row = row1 ; row <= row2 ; row++)
-	{
-	    ASSERT (row >= 0 && row < n_row) ;
-	    DEBUG3 (("   Row "ID" live: %d\n", row, NON_PIVOTAL_ROW (row))) ;
-	}
-    }
-}
-
-/* ========================================================================== */
-/* === UMF_dump_diagonal_map ================================================ */
-/* ========================================================================== */
-
-GLOBAL void UMF_dump_diagonal_map
-(
-    Int Diagonal_map [ ],
-    Int Diagonal_imap [ ],
-    Int n1,
-    Int nn,
-    Int nempty
-)
-{
-    Int row, col ;
-    if (Diagonal_map != (Int *) NULL)
-    {
-	DEBUG2 (("\nDump the Diagonal_map: n1 "ID" nn "ID" nempty "ID"\n",
-	    n1, nn, nempty)) ;
-	for (col = n1 ; col < nn - nempty ; col++)
-	{
-	    row = Diagonal_map [col] ;
-	    DEBUG2 (("     Diagonal_map [col = "ID"] gives "ID": ",
-		col, row)) ;
-	    row = UNFLIP (row) ;
-	    DEBUG2 ((" row "ID"\n", row)) ;
-	    ASSERT (Diagonal_imap [row] == col) ;
-	}
-    }
-}
-
-#endif /* NDEBUG */
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_dump.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,186 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/* umf_dump.h: debugging definitions. */
-
-#ifndef NDEBUG
-
-GLOBAL void UMF_dump_dense
-(
-    Entry *C,
-    Int dim,
-    Int m,
-    Int n
-) ;
-
-GLOBAL void UMF_dump_element
-(
-    NumericType *Numeric,
-    WorkType *Work,
-    Int e,
-    Int clean
-) ;
-
-GLOBAL void UMF_dump_rowcol
-(
-    Int dump_which,
-    NumericType *Numeric,
-    WorkType *Work,
-    Int dump_index,
-    Int check_degree
-) ;
-
-GLOBAL void UMF_dump_matrix
-(
-    NumericType *Numeric,
-    WorkType *Work,
-    Int check_degree
-) ;
-
-GLOBAL void UMF_dump_current_front
-(
-    NumericType *Numeric,
-    WorkType *Work,
-    Int check
-) ;
-
-GLOBAL void UMF_dump_lu
-(
-    NumericType *Numeric
-) ;
-
-GLOBAL void UMF_dump_memory
-(
-    NumericType *Numeric
-) ;
-
-GLOBAL void UMF_dump_packed_memory
-(
-    NumericType *Numeric,
-    WorkType *Work
-) ;
-
-GLOBAL void UMF_dump_col_matrix
-(
-    const double Ax [ ],
-#ifdef COMPLEX
-    const double Az [ ],
-#endif
-    const Int Ai [ ],
-    const Int Ap [ ],
-    Int n_row,
-    Int n_col,
-    Int nz
-) ;
-
-GLOBAL void UMF_dump_chain
-(
-    Int frontid,
-    Int Front_parent [ ],
-    Int Front_npivcol [ ],
-    Int Front_nrows [ ],
-    Int Front_ncols [ ],
-    Int nfr
-) ;
-
-GLOBAL void UMF_dump_rowmerge
-(
-    NumericType *Numeric,
-    SymbolicType *Symbolic,
-    WorkType *Work
-) ;
-
-GLOBAL void UMF_dump_start
-(
-    void
-) ;
-
-
-GLOBAL void UMF_dump_diagonal_map
-(
-    Int Diagonal_map [ ],
-    Int Diagonal_imap [ ],
-    Int n1,
-    Int nn,
-    Int nempty
-) ;
-
-#define UMF_DBMAX 50000
-GLOBAL extern Int UMF_debug ;
-GLOBAL extern Int UMF_allocfail ;
-GLOBAL extern double UMF_gprob ;
-
-#define DEBUGk(k,params) { if (UMF_debug >= (k)) { PRINTF (params) ; } }
-
-#define DEBUGm4(params) DEBUGk (-4, params)
-#define DEBUGm3(params) DEBUGk (-3, params)
-#define DEBUGm2(params) DEBUGk (-2, params)
-#define DEBUGm1(params) DEBUGk (-1, params)
-#define DEBUG0(params) DEBUGk (0, params)
-#define DEBUG1(params) DEBUGk (1, params)
-#define DEBUG2(params) DEBUGk (2, params)
-#define DEBUG3(params) DEBUGk (3, params)
-#define DEBUG4(params) DEBUGk (4, params)
-#define DEBUG5(params) DEBUGk (5, params)
-#define DEBUG6(params) DEBUGk (6, params)
-#define DEBUG7(params) DEBUGk (7, params)
-#define DEBUG8(params) DEBUGk (8, params)
-#define DEBUG9(params) DEBUGk (9, params)
-
-#define EDEBUGk(k,a) { if (UMF_debug >= (k)) { PRINT_ENTRY (a) ; } }
-
-#define EDEBUG0(a) EDEBUGk (0, a)
-#define EDEBUG1(a) EDEBUGk (1, a)
-#define EDEBUG2(a) EDEBUGk (2, a)
-#define EDEBUG3(a) EDEBUGk (3, a)
-#define EDEBUG4(a) EDEBUGk (4, a)
-#define EDEBUG5(a) EDEBUGk (5, a)
-#define EDEBUG6(a) EDEBUGk (6, a)
-#define EDEBUG7(a) EDEBUGk (7, a)
-#define EDEBUG8(a) EDEBUGk (8, a)
-#define EDEBUG9(a) EDEBUGk (9, a)
-
-/* ASSERT defined in amd_dump.h */
-
-#else
-
-/* ========================================================================== */
-/* === No debugging ========================================================= */
-/* ========================================================================== */
-
-/* turn off all debugging macros */
-
-#define DEBUGk(k,params)
-
-#define DEBUGm4(params)
-#define DEBUGm3(params)
-#define DEBUGm2(params)
-#define DEBUGm1(params)
-#define DEBUG0(params)
-#define DEBUG1(params)
-#define DEBUG2(params)
-#define DEBUG3(params)
-#define DEBUG4(params)
-#define DEBUG5(params)
-#define DEBUG6(params)
-#define DEBUG7(params)
-#define DEBUG8(params)
-#define DEBUG9(params)
-
-#define EDEBUGk(k,a)
-
-#define EDEBUG0(a)
-#define EDEBUG1(a)
-#define EDEBUG2(a)
-#define EDEBUG3(a)
-#define EDEBUG4(a)
-#define EDEBUG5(a)
-#define EDEBUG6(a)
-#define EDEBUG7(a)
-#define EDEBUG8(a)
-#define EDEBUG9(a)
-
-#endif /* NDEBUG */
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_extend_front.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,392 +0,0 @@
-/* ========================================================================== */
-/* === UMF_extend_front ===================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/* Called by kernel. */
-
-#include "umf_internal.h"
-#include "umf_grow_front.h"
-
-/* ========================================================================== */
-/* === zero_front =========================================================== */
-/* ========================================================================== */
-
-PRIVATE void zero_front (
-    Entry *Flblock, Entry *Fublock, Entry *Fcblock,
-    Int fnrows, Int fncols, Int fnr_curr, Int fnc_curr,
-    Int fnpiv, Int fnrows_extended, Int fncols_extended)
-{
-    Int j, i ;
-    Entry *F, *Fj, *Fi ;
-
-    Fj = Fcblock + fnrows ;
-    for (j = 0 ; j < fncols ; j++)
-    {
-	/* zero the new rows in the contribution block: */
-	F = Fj ;
-	Fj += fnr_curr ;
-#pragma ivdep
-	for (i = fnrows ; i < fnrows_extended ; i++)
-	{
-	    /* CLEAR (Fcblock [i + j*fnr_curr]) ; */
-	    CLEAR_AND_INCREMENT (F) ;
-	}
-    }
-
-    Fj -= fnrows ;
-    for (j = fncols ; j < fncols_extended ; j++)
-    {
-	/* zero the new columns in the contribution block: */
-	F = Fj ;
-	Fj += fnr_curr ;
-#pragma ivdep
-	for (i = 0 ; i < fnrows_extended ; i++)
-	{
-	    /* CLEAR (Fcblock [i + j*fnr_curr]) ; */
-	    CLEAR_AND_INCREMENT (F) ;
-	}
-    }
-
-    Fj = Flblock + fnrows ;
-    for (j = 0 ; j < fnpiv ; j++)
-    {
-	/* zero the new rows in L block: */
-	F = Fj ;
-	Fj += fnr_curr ;
-#pragma ivdep
-	for (i = fnrows ; i < fnrows_extended ; i++)
-	{
-	    /* CLEAR (Flblock [i + j*fnr_curr]) ; */
-	    CLEAR_AND_INCREMENT (F) ;
-	}
-    }
-
-    Fi = Fublock + fncols ;
-    for (i = 0 ; i < fnpiv ; i++)
-    {
-	/* zero the new columns in U block: */
-	F = Fi ;
-	Fi += fnc_curr ;
-#pragma ivdep
-	for (j = fncols ; j < fncols_extended ; j++)
-	{
-	    /* CLEAR (Fublock [i*fnc_curr + j]) ; */
-	    CLEAR_AND_INCREMENT (F) ;
-	}
-    }
-
-}
-
-/* ========================================================================== */
-/* === UMF_extend_front ===================================================== */
-/* ========================================================================== */
-
-GLOBAL Int UMF_extend_front
-(
-    NumericType *Numeric,
-    WorkType *Work
-)
-{
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    Int j, i, *Frows, row, col, *Wrow, fnr2, fnc2, *Frpos, *Fcpos, *Fcols,
-	fnrows_extended, rrdeg, ccdeg, fncols_extended, fnr_curr, fnc_curr,
-	fnrows, fncols, pos, fnpiv, *Wm ;
-    Entry *Wx, *Wy, *Fu, *Fl ;
-
-    /* ---------------------------------------------------------------------- */
-    /* get current frontal matrix and check for frontal growth */
-    /* ---------------------------------------------------------------------- */
-
-    fnpiv = Work->fnpiv ;
-
-#ifndef NDEBUG
-    DEBUG2 (("EXTEND FRONT\n")) ;
-    DEBUG2 (("Work->fnpiv "ID"\n", fnpiv)) ;
-    ASSERT (Work->Flblock  == Work->Flublock + Work->nb*Work->nb) ;
-    ASSERT (Work->Fublock  == Work->Flblock  + Work->fnr_curr*Work->nb) ;
-    ASSERT (Work->Fcblock  == Work->Fublock  + Work->nb*Work->fnc_curr) ;
-    DEBUG7 (("C  block: ")) ;
-    UMF_dump_dense (Work->Fcblock,  Work->fnr_curr, Work->fnrows, Work->fncols) ;
-    DEBUG7 (("L  block: ")) ;
-    UMF_dump_dense (Work->Flblock,  Work->fnr_curr, Work->fnrows, fnpiv);
-    DEBUG7 (("U' block: ")) ;
-    UMF_dump_dense (Work->Fublock,  Work->fnc_curr, Work->fncols, fnpiv) ;
-    DEBUG7 (("LU block: ")) ;
-    UMF_dump_dense (Work->Flublock, Work->nb, fnpiv, fnpiv) ;
-#endif
-
-    if (Work->do_grow)
-    {
-	fnr2 = UMF_FRONTAL_GROWTH * Work->fnrows_new + 2 ;
-	fnc2 = UMF_FRONTAL_GROWTH * Work->fncols_new + 2 ;
-	if (!UMF_grow_front (Numeric, fnr2, fnc2, Work, 1))
-	{
-	    DEBUGm4 (("out of memory: extend front\n")) ;
-	    return (FALSE) ;
-	}
-    }
-
-    fnr_curr = Work->fnr_curr ;
-    fnc_curr = Work->fnc_curr ;
-    ASSERT (Work->fnrows_new + 1 <= fnr_curr) ;
-    ASSERT (Work->fncols_new + 1 <= fnc_curr) ;
-    ASSERT (fnr_curr >= 0 && fnr_curr % 2 == 1) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* get parameters */
-    /* ---------------------------------------------------------------------- */
-
-    Frows = Work->Frows ;
-    Frpos = Work->Frpos ;
-    Fcols = Work->Fcols ;
-    Fcpos = Work->Fcpos ;
-    fnrows = Work->fnrows ;
-    fncols = Work->fncols ;
-    rrdeg = Work->rrdeg ;
-    ccdeg = Work->ccdeg ;
-
-    /* scan starts at the first new column in Fcols */
-    /* also scan the pivot column if it was not in the front */
-    Work->fscan_col = fncols ;
-    Work->NewCols = Fcols ;
-
-    /* scan1 starts at the first new row in Frows */
-    /* also scan the pivot row if it was not in the front */
-    Work->fscan_row = fnrows ;
-    Work->NewRows = Frows ;
-
-    /* ---------------------------------------------------------------------- */
-    /* extend row pattern of the front with the new pivot column */
-    /* ---------------------------------------------------------------------- */
-
-    fnrows_extended = fnrows ;
-    fncols_extended = fncols ;
-
-#ifndef NDEBUG
-    DEBUG2 (("Pivot col, before extension: "ID"\n", fnrows)) ;
-    for (i = 0 ; i < fnrows ; i++)
-    {
-	DEBUG2 ((" "ID": row "ID"\n", i, Frows [i])) ;
-	ASSERT (Frpos [Frows [i]] == i) ;
-    }
-    DEBUG2 (("Extending pivot column: pivcol_in_front: "ID"\n",
-	Work->pivcol_in_front)) ;
-#endif
-
-    Fl = Work->Flblock + fnpiv * fnr_curr ;
-
-    if (Work->pivcol_in_front)
-    {
-	/* extended pattern and position already in Frows, Frpos.  Values above
-	 * the diagonal are already in LU block.  Values on and below the
-	 * diagonal are in Wy [0 .. fnrows_extended-1].  Copy into the L
-	 * block. */
-	fnrows_extended += ccdeg ;
-	Wy = Work->Wy ;
-
-	for (i = 0 ; i < fnrows_extended ; i++)
-	{
-	    Fl [i] = Wy [i] ;
-#ifndef NDEBUG
-	    row = Frows [i] ;
-	    DEBUG2 ((" "ID": row "ID" ", i, row)) ;
-	    EDEBUG2 (Fl [i]) ;
-	    if (row == Work->pivrow) DEBUG2 ((" <- pivrow")) ;
-	    DEBUG2 (("\n")) ;
-	    if (i == fnrows - 1) DEBUG2 ((" :::::::\n")) ;
-	    ASSERT (row >= 0 && row < Work->n_row) ;
-	    ASSERT (Frpos [row] == i) ;
-#endif
-	}
-
-    }
-    else
-    {
-	/* extended pattern,values is in (Wm,Wx), not yet in the front */
-	Entry *F ;
-	Fu = Work->Flublock + fnpiv * Work->nb ;
-	Wm = Work->Wm ;
-	Wx = Work->Wx ;
-	F = Fu ;
-	for (i = 0 ; i < fnpiv ; i++)
-	{
-	    CLEAR_AND_INCREMENT (F) ;
-	}
-	F = Fl ;
-	for (i = 0 ; i < fnrows ; i++)
-	{
-	    CLEAR_AND_INCREMENT (F) ;
-	}
-	for (i = 0 ; i < ccdeg ; i++)
-	{
-	    row = Wm [i] ;
-#ifndef NDEBUG
-	    DEBUG2 ((" "ID": row "ID" (ext) ", fnrows_extended, row)) ;
-	    EDEBUG2 (Wx [i]) ;
-	    if (row == Work->pivrow) DEBUG2 ((" <- pivrow")) ;
-	    DEBUG2 (("\n")) ;
-	    ASSERT (row >= 0 && row < Work->n_row) ;
-#endif
-	    pos = Frpos [row] ;
-	    if (pos < 0)
-	    {
-		pos = fnrows_extended++ ;
-		Frows [pos] = row ;
-		Frpos [row] = pos ;
-	    }
-	    Fl [pos] = Wx [i] ;
-	}
-    }
-
-    ASSERT (fnrows_extended <= fnr_curr) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* extend the column pattern of the front with the new pivot row */
-    /* ---------------------------------------------------------------------- */
-
-#ifndef NDEBUG
-    DEBUG6 (("Pivot row, before extension: "ID"\n", fncols)) ;
-    for (j = 0 ; j < fncols ; j++)
-    {
-	DEBUG7 ((" "ID": col "ID"\n", j, Fcols [j])) ;
-	ASSERT (Fcpos [Fcols [j]] == j * fnr_curr) ;
-    }
-    DEBUG6 (("Extending pivot row:\n")) ;
-#endif
-
-    if (Work->pivrow_in_front)
-    {
-	if (Work->pivcol_in_front)
-	{
-	    ASSERT (Fcols == Work->Wrow) ;
-	    for (j = fncols ; j < rrdeg ; j++)
-	    {
-#ifndef NDEBUG
-		col = Fcols [j] ;
-		DEBUG2 ((" "ID": col "ID" (ext)\n", j, col)) ;
-		ASSERT (col != Work->pivcol) ;
-		ASSERT (col >= 0 && col < Work->n_col) ;
-		ASSERT (Fcpos [col] < 0) ;
-#endif
-		Fcpos [Fcols [j]] = j * fnr_curr ;
-	    }
-	}
-	else
-	{
-	    /* OUT-IN option: pivcol not in front, but pivrow is in front */
-	    Wrow = Work->Wrow ;
-	    ASSERT (IMPLIES (Work->pivcol_in_front, Wrow == Fcols)) ;
-	    if (Wrow == Fcols)
-	    {
-		/* Wrow and Fcols are equivalenced */
-		for (j = fncols ; j < rrdeg ; j++)
-		{
-		    col = Wrow [j] ;
-		    DEBUG2 ((" "ID": col "ID" (ext)\n", j, col)) ;
-		    ASSERT (Fcpos [col] < 0) ;
-		    /* Fcols [j] = col ;  not needed */
-		    Fcpos [col] = j * fnr_curr ;
-		}
-	    }
-	    else
-	    {
-		for (j = fncols ; j < rrdeg ; j++)
-		{
-		    col = Wrow [j] ;
-		    DEBUG2 ((" "ID": col "ID" (ext)\n", j, col)) ;
-		    ASSERT (Fcpos [col] < 0) ;
-		    Fcols [j] = col ;
-		    Fcpos [col] = j * fnr_curr ;
-		}
-	    }
-	}
-	fncols_extended = rrdeg ;
-    }
-    else
-    {
-	ASSERT (Fcols != Work->Wrow) ;
-	Wrow = Work->Wrow ;
-	for (j = 0 ; j < rrdeg ; j++)
-	{
-	    col = Wrow [j] ;
-	    ASSERT (col >= 0 && col < Work->n_col) ;
-	    if (Fcpos [col] < 0)
-	    {
-		DEBUG2 ((" col:: "ID" (ext)\n", col)) ;
-		Fcols [fncols_extended] = col ;
-		Fcpos [col] = fncols_extended * fnr_curr ;
-		fncols_extended++ ;
-	    }
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* pivot row and column have been extended */
-    /* ---------------------------------------------------------------------- */
-
-#ifndef NDEBUG
-    ASSERT (fncols_extended <= fnc_curr) ;
-    ASSERT (fnrows_extended <= fnr_curr) ;
-
-    DEBUG6 (("Pivot col, after ext: "ID" "ID"\n", fnrows,fnrows_extended)) ;
-    for (i = 0 ; i < fnrows_extended ; i++)
-    {
-	row = Frows [i] ;
-	DEBUG7 ((" "ID": row "ID" pos "ID" old: %d", i, row, Frpos [row],
-	    i < fnrows)) ;
-	if (row == Work->pivrow ) DEBUG7 (("  <-- pivrow")) ;
-	DEBUG7 (("\n")) ;
-	ASSERT (Frpos [Frows [i]] == i) ;
-    }
-
-    DEBUG6 (("Pivot row position: "ID"\n", Frpos [Work->pivrow])) ;
-    ASSERT (Frpos [Work->pivrow] >= 0) ;
-    ASSERT (Frpos [Work->pivrow] < fnrows_extended) ;
-
-    DEBUG6 (("Pivot row, after ext: "ID" "ID"\n", fncols,fncols_extended)) ;
-    for (j = 0 ; j < fncols_extended ; j++)
-    {
-	col = Fcols [j] ;
-	DEBUG7 ((" "ID": col "ID" pos "ID" old: %d", j, col, Fcpos [col],
-	    j < fncols)) ;
-	if (col == Work->pivcol ) DEBUG7 (("  <-- pivcol")) ;
-	DEBUG7 (("\n")) ;
-	ASSERT (Fcpos [Fcols [j]] == j * fnr_curr) ;
-    }
-
-    DEBUG6 (("Pivot col position: "ID"\n", Fcpos [Work->pivcol])) ;
-    ASSERT (Fcpos [Work->pivcol] >= 0) ;
-    ASSERT (Fcpos [Work->pivcol] < fncols_extended * fnr_curr) ;
-
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* Zero the newly extended frontal matrix */
-    /* ---------------------------------------------------------------------- */
-
-    zero_front (Work->Flblock, Work->Fublock, Work->Fcblock,
-	fnrows, fncols, fnr_curr, fnc_curr,
-	fnpiv, fnrows_extended, fncols_extended) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* finalize extended row and column pattern of the frontal matrix */
-    /* ---------------------------------------------------------------------- */
-
-    Work->fnrows = fnrows_extended ;
-    Work->fncols = fncols_extended ;
-
-    ASSERT (fnrows_extended == Work->fnrows_new + 1) ;
-    ASSERT (fncols_extended == Work->fncols_new + 1) ;
-
-    return (TRUE) ;
-
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_extend_front.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL Int UMF_extend_front
-(
-    NumericType *Numeric,
-    WorkType *Work
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_free.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/* ========================================================================== */
-/* === UMF_free ============================================================= */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    Free a block previously allocated by UMF_malloc and return NULL.
-    Usage is p = UMF_free (p), to ensure that we don't free it twice.
-    Also maintains the UMFPACK malloc count.
-*/
-
-#include "umf_internal.h"
-
-#if defined (UMF_MALLOC_COUNT) || !defined (NDEBUG)
-#include "umf_malloc.h"
-#endif
-
-GLOBAL void *UMF_free
-(
-    void *p
-)
-{
-    DEBUG0 (("UMF_free: "ID"\n", (Int) p)) ;
-    if (p)
-    {
-
-	/* see umf_config.h for the memory allocator selection */
-	FREE (p) ;
-
-#if defined (UMF_MALLOC_COUNT) || !defined (NDEBUG)
-	/* One more object has been free'd.  Keep track of the count. */
-	/* (purely for sanity checks). */
-	UMF_malloc_count-- ;
-	DEBUG0 (("     new malloc count: "ID"\n", UMF_malloc_count)) ;
-#endif
-
-    }
-
-    return ((void *) NULL) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_free.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL void *UMF_free
-(
-    void *p
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_fsize.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/* ========================================================================== */
-/* === UMF_fsize ============================================================ */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/* Determine the largest frontal matrix size for each subtree.   Called by
- * UMF_colamd and UMF_analyze.  Only required to sort the children of each
- * node prior to AMD_postorder. */
-
-#include "umf_internal.h"
-
-GLOBAL void UMF_fsize
-(
-    Int nn,
-    Int Fsize [ ],
-    Int Fnrows [ ],
-    Int Fncols [ ],
-    Int Parent [ ],
-    Int Npiv [ ]
-)
-{
-    Int j, parent, frsize, r, c ;
-
-    for (j = 0 ; j < nn ; j++)
-    {
-	Fsize [j] = EMPTY ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* find max front size for tree rooted at node j, for each front j */
-    /* ---------------------------------------------------------------------- */
-
-    DEBUG1 (("\n\n========================================FRONTS:\n")) ;
-    for (j = 0 ; j < nn ; j++)
-    {
-	if (Npiv [j] > 0)
-	{
-	    /* this is a frontal matrix */
-	    parent = Parent [j] ;
-	    r = Fnrows [j] ;
-	    c = Fncols [j] ;
-	    frsize = r * c ;
-	    /* avoid integer overflow */
-	    if (INT_OVERFLOW (((double) r) * ((double) c)))
-	    {
-		/* :: frsize int overflow :: */
-		frsize = Int_MAX ;
-	    }
-	    DEBUG1 ((""ID" : npiv "ID" size "ID" parent "ID" ",
-		j, Npiv [j], frsize, parent)) ;
-	    Fsize [j] = MAX (Fsize [j], frsize) ;
-	    DEBUG1 (("Fsize [j = "ID"] = "ID"\n", j, Fsize [j])) ;
-	    if (parent != EMPTY)
-	    {
-		/* find the maximum frontsize of self and children */
-		ASSERT (Npiv [parent] > 0) ;
-		ASSERT (parent > j) ;
-		Fsize [parent] = MAX (Fsize [parent], Fsize [j]) ;
-		DEBUG1 (("Fsize [parent = "ID"] = "ID"\n",
-		    parent, Fsize [parent]));
-	    }
-	}
-    }
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_fsize.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL void UMF_fsize
-(
-    Int nn,
-    Int MaxFsize [ ],
-    Int Fnrows [ ],
-    Int Fncols [ ],
-    Int Parent [ ],
-    Int Npiv [ ]
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_garbage_collection.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,695 +0,0 @@
-/* ========================================================================== */
-/* === UMF_garbage_collection =============================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    Compress the elements at the tail of Numeric->Memory, and delete the tuples.
-    Elements are renumbered.  The new numbering space is compressed, and
-    in the order of element creation (original elements of A first, followed
-    by the new elements in the order that they were formed).
-
-    Only called by UMF_get_memory.
-
-    There are 5 ways in which garbage collection can be performed:
-
-	Allocate a new working array for the current frontal matrix.  In this
-	case, there are never any pivot rows/columns in the current frontal
-	matrix (fnpiv = 0), and the old working array for the current frontal
-	matrix can always be fully compacted, to fnrows-by-fncols.
-
-	    UMF_kernel : UMF_extend : UMF_grow_front : UMF_get_memory
-	    UMF_kernel : UMF_init_front : UMF_grow_front : UMF_get_memory
-	    UMF_kernel : UMF_start_front : UMF_grow_front : UMF_get_memory
-
-	Allocate a new element.  In this case, UMF_grow_front may or may not
-	be subsequently called, depending on Work->do_grow.  There are never
-	any pivot rows/columns in the current frontal matrix (fnpiv=0), but one
-	may be added if UMF_init_front is to be called just after
-	UMF_create_element.  If do_grow is true, then the current front can be
-	fully compacted, to fnrows-by-fncols.  Otherwise, it can only be
-	partially compacted, to MAX (fnrows, fnrows_new + 1) -by-
-	MAX (fncols, fncols_new + 1).
-
-	    UMF_kernel : UMF_create_element : UMF_get_memory
-
-	Allocate rows of L and columns of U.  In this case, the current
-	frontal matrix is only partially compacted, to (fnrows_new + 1)-by-
-	(fncols_new + 1).  There are pivots in the frontal matrix (fnpiv > 0).
-
-	    UMF_kernel : UMF_store_lu : UMF_get_memory
-*/
-
-#include "umf_internal.h"
-
-GLOBAL void UMF_garbage_collection
-(
-    NumericType *Numeric,
-    WorkType *Work,
-    Int drnew,	    /* compact current front to drnew-by-dcnew */
-    Int dcnew,
-    Int do_Fcpos
-)
-{
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    Int size, e, n_row, n_col, nrows, ncols, nrowsleft, ncolsleft, prevsize,
-	csize, size2, i2, j2, i, j, cdeg, rdeg, *E, row, col,
-	*Rows, *Cols, *Rows2, *Cols2, nel, e2, *Row_tuples, *Col_tuples,
-	*Row_degree, *Col_degree ;
-    Entry *C, *C1, *C3, *C2 ;
-    Unit *psrc, *pdest, *p, *pnext ;
-    Element *epsrc, *epdest ;
-
-#ifndef NDEBUG
-    Int nmark ;
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* get parameters */
-    /* ---------------------------------------------------------------------- */
-
-    Col_degree = Numeric->Cperm ;	/* for NON_PIVOTAL_COL macro */
-    Row_degree = Numeric->Rperm ;	/* for NON_PIVOTAL_ROW macro */
-    Row_tuples = Numeric->Uip ;
-    Col_tuples = Numeric->Lip ;
-    E = Work->E ;
-    n_row = Work->n_row ;
-    n_col = Work->n_col ;
-
-    /* note that the tuple lengths (Col_tlen and Row_tlen) are updated, but */
-    /* the tuple lists themselves are stale and are about to be destroyed */
-    /* and recreated.  Do not attempt to scan them until they are recreated. */
-
-#ifndef NDEBUG
-    DEBUGm1 (("::::GARBAGE COLLECTION::::\n")) ;
-    UMF_dump_memory (Numeric) ;
-#endif
-
-    Numeric->ngarbage++ ;
-
-    /* ---------------------------------------------------------------------- */
-    /* delete the tuple lists by marking the blocks as free */
-    /* ---------------------------------------------------------------------- */
-
-    /* do not modify Row_tlen and Col_tlen */
-    /* those are needed for UMF_build_tuples */
-
-    for (row = 0 ; row < n_row ; row++)
-    {
-	if (NON_PIVOTAL_ROW (row) && Row_tuples [row])
-	{
-	    DEBUG2 (("row "ID" tuples "ID"\n", row, Row_tuples [row])) ;
-	    p = Numeric->Memory + Row_tuples [row] - 1 ;
-	    DEBUG2 (("Freeing tuple list row "ID", p-S "ID", size "ID"\n",
-		row, (Int) (p-Numeric->Memory), p->header.size)) ;
-	    ASSERT (p->header.size > 0) ;
-	    ASSERT (p >= Numeric->Memory + Numeric->itail) ;
-	    ASSERT (p < Numeric->Memory + Numeric->size) ;
-	    p->header.size = -p->header.size ;
-	    Row_tuples [row] = 0 ;
-	}
-    }
-
-    for (col = 0 ; col < n_col ; col++)
-    {
-	if (NON_PIVOTAL_COL (col) && Col_tuples [col])
-	{
-	    DEBUG2 (("col "ID" tuples "ID"\n", col, Col_tuples [col])) ;
-	    p = Numeric->Memory + Col_tuples [col] - 1 ;
-	    DEBUG2 (("Freeing tuple list col "ID", p-S "ID", size "ID"\n",
-		col, (Int) (p-Numeric->Memory), p->header.size)) ;
-	    ASSERT (p->header.size > 0) ;
-	    ASSERT (p >= Numeric->Memory + Numeric->itail) ;
-	    ASSERT (p < Numeric->Memory + Numeric->size) ;
-	    p->header.size = -p->header.size ;
-	    Col_tuples [col] = 0 ;
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* mark the elements, and compress the name space */
-    /* ---------------------------------------------------------------------- */
-
-    nel = Work->nel ;
-    ASSERT (nel < Work->elen) ;
-
-#ifndef NDEBUG
-    nmark = 0 ;
-    UMF_dump_current_front (Numeric, Work, FALSE) ;
-    DEBUGm1 (("E [0] "ID"  \n", E [0])) ;
-    ASSERT (IMPLIES (E [0],
-		Work->Flublock == (Entry *) (Numeric->Memory + E [0]))) ;
-    ASSERT (IMPLIES (Work->Flublock,
-		Work->Flublock == (Entry *) (Numeric->Memory + E [0]))) ;
-    ASSERT ((E [0] != 0) == (Work->Flublock != (Entry *) NULL)) ;
-#endif
-
-    e2 = 0 ;
-
-    for (e = 0 ; e <= nel ; e++) /* for all elements in order of creation */
-    {
-	if (E [e])
-	{
-	    psrc = Numeric->Memory + E [e] ;
-	    psrc-- ;		/* get the header of this block */
-	    if (e > 0)
-	    {
-		e2++ ;	/* do not renumber element zero */
-	    }
-	    ASSERT (psrc->header.size > 0) ;
-	    psrc->header.size = e2  ;	/* store the new name in the header */
-#ifndef NDEBUG
-	    nmark++ ;
-#endif
-	    DEBUG7 ((ID":: Mark e "ID" at psrc-S "ID", new e "ID"\n",
-		nmark, e, (Int) (psrc-Numeric->Memory), e2)) ;
-	    E [e] = 0 ;
-	    if (e == Work->prior_element)
-	    {
-		Work->prior_element = e2 ;
-	    }
-	}
-    }
-
-    /* all 1..e2 are now in use (element zero may or may not be in use) */
-    Work->nel = e2 ;
-    nel = Work->nel ;
-
-#ifndef NDEBUG
-    for (e = 0 ; e < Work->elen ; e++)
-    {
-	ASSERT (!E [e]) ;
-    }
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* compress the elements */
-    /* ---------------------------------------------------------------------- */
-
-    /* point to tail marker block of size 1 + header */
-    psrc = Numeric->Memory + Numeric->size - 2 ;
-    pdest = psrc ;
-    prevsize = psrc->header.prevsize ;
-    DEBUG7 (("Starting the compression:\n")) ;
-
-    while (prevsize > 0)
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* move up to the next element above the current header, and */
-	/* get the element name and size */
-	/* (if it is an element, the name will be positive) */
-	/* ------------------------------------------------------------------ */
-
-	size = prevsize ;
-	psrc -= (size + 1) ;
-	e = psrc->header.size ;
-	prevsize = psrc->header.prevsize ;
-	/* top block at tail has prevsize of 0 */
-
-	/* a free block will have a negative size, so skip it */
-	/* otherwise, if size >= 0, it holds the element name, not the size */
-
-	DEBUG8 (("psrc-S: "ID" prevsize: "ID" size: "ID,
-	    (Int) (psrc-Numeric->Memory), prevsize, size)) ;
-
-	if (e == 0)
-	{
-	    /* -------------------------------------------------------------- */
-	    /* this is the current frontal matrix */
-	    /* -------------------------------------------------------------- */
-
-	    Entry *F1, *F2, *Fsrc, *Fdst ;
-	    Int c, r, k, dr, dc, gap, gap1, gap2, nb ;
-
-	    /* shift the frontal matrix down */
-	    F1 = (Entry *) (psrc + 1) ;
-
-	    /* get the size of the current front.  r and c could be zero */
-	    k = Work->fnpiv ;
-	    dr = Work->fnr_curr ;
-	    dc = Work->fnc_curr ;
-	    r = Work->fnrows ;
-	    c = Work->fncols ;
-	    nb = Work->nb ;
-
-	    ASSERT ((dr >= 0 && (dr % 2) == 1) || dr == 0) ;
-	    ASSERT (drnew >= 0) ;
-	    if (drnew % 2 == 0)
-	    {
-		/* make sure leading frontal matrix dimension is always odd */
-		drnew++ ;
-	    }
-	    drnew = MIN (dr, drnew) ;
-	    ASSERT ((drnew >= 0 && (drnew % 2) == 1) || drnew == 0) ;
-
-	    pnext = pdest ;
-
-#ifndef NDEBUG
-	    DEBUGm2 (("move front: dr "ID" dc "ID" r "ID" drnew "ID" c "ID
-		" dcnew " ID" k "ID"\n", dr, dc, r, drnew, c, dcnew, k)) ;
-	    DEBUG7 (("\n")) ;
-	    DEBUG7 ((ID":: Move current frontal matrix from: psrc-S: "ID" \n",
-		nmark, (Int) (psrc-Numeric->Memory))) ;
-	    nmark-- ;
-	    ASSERT (E [e] == 0) ;
-	    ASSERT (Work->Flublock == F1) ;
-	    ASSERT (Work->Flblock  == Work->Flublock + nb*nb) ;
-	    ASSERT (Work->Fublock  == Work->Flblock  + dr*nb) ;
-	    ASSERT (Work->Fcblock  == Work->Fublock  + nb*dc) ;
-	    DEBUG7 (("C  block: ")) ;
-	    UMF_dump_dense (Work->Fcblock,  dr, r, c) ;
-	    DEBUG7 (("L  block: ")) ;
-	    UMF_dump_dense (Work->Flblock,  dr, r, k);
-	    DEBUG7 (("U' block: ")) ;
-	    UMF_dump_dense (Work->Fublock,  dc, c, k) ;
-	    DEBUG7 (("LU block: ")) ;
-	    UMF_dump_dense (Work->Flublock, nb, k, k) ;
-	    ASSERT (r <= drnew && c <= dcnew && drnew <= dr && dcnew <= dc) ;
-#endif
-
-	    /* compact frontal matrix to drnew-by-dcnew before moving it */
-
-	    /* do not compact the LU block (nb-by-nb) */
-
-	    /* compact the columns of L (from dr-by-nb to drnew-by-nb) */
-	    Fsrc = Work->Flblock ;
-	    Fdst = Work->Flblock ;
-	    ASSERT (Fdst == F1 + nb*nb) ;
-	    gap1 = dr - r ;
-	    gap2 = drnew - r ;
-	    ASSERT (gap1 >= 0) ;
-	    for (j = 0 ; j < k ; j++)
-	    {
-		for (i = 0 ; i < r ; i++)
-		{
-		    *Fdst++ = *Fsrc++ ;
-		}
-		Fsrc += gap1 ;
-		Fdst += gap2 ;
-	    }
-	    ASSERT (Fdst == F1 + nb*nb + drnew*k) ;
-	    Fdst += drnew * (nb - k) ;
-
-	    /* compact the rows of U (U' from dc-by-nb to dcnew-by-nb) */
-	    Fsrc = Work->Fublock ;
-	    ASSERT (Fdst == F1 + nb*nb + drnew*nb) ;
-	    gap1 = dc - c ;
-	    gap2 = dcnew - c ;
-	    for (i = 0 ; i < k ; i++)
-	    {
-		for (j = 0 ; j < c ; j++)
-		{
-		    *Fdst++ = *Fsrc++ ;
-		}
-		Fsrc += gap1 ;
-		Fdst += gap2 ;
-	    }
-	    ASSERT (Fdst == F1 + nb*nb + drnew*nb + dcnew*k) ;
-	    Fdst += dcnew * (nb - k) ;
-
-	    /* compact the columns of C (from dr-by-dc to drnew-by-dcnew) */
-	    Fsrc = Work->Fcblock ;
-	    ASSERT (Fdst == F1 + nb*nb + drnew*nb + nb*dcnew) ;
-	    gap1 = dr - r ;
-	    gap2 = drnew - r ;
-	    for (j = 0 ; j < c ; j++)
-	    {
-		for (i = 0 ; i < r ; i++)
-		{
-		    *Fdst++ = *Fsrc++ ;
-		}
-		Fsrc += gap1 ;
-		Fdst += gap2 ;
-	    }
-	    ASSERT (Fdst == F1 + nb*nb + drnew*nb + nb*dcnew + drnew*c) ;
-
-	    /* recompute Fcpos, if necessary */
-	    if (do_Fcpos)
-	    {
-		Int *Fcols, *Fcpos ;
-		Fcols = Work->Fcols ;
-		Fcpos = Work->Fcpos ;
-		for (j = 0 ; j < c ; j++)
-		{
-		    col = Fcols [j] ;
-		    ASSERT (col >= 0 && col < Work->n_col) ;
-		    ASSERT (Fcpos [col] == j * dr) ;
-		    Fcpos [col] = j * drnew ;
-		}
-#ifndef NDEBUG
-		{
-		    Int cnt = 0 ;
-		    for (j = 0 ; j < Work->n_col ; j++)
-		    {
-			if (Fcpos [j] != EMPTY) cnt++ ;
-		    }
-		    DEBUGm2 (("Recompute Fcpos cnt "ID" c "ID"\n", cnt, c)) ;
-		    ASSERT (cnt == c) ;
-		}
-#endif
-	    }
-
-#ifndef NDEBUG
-	    DEBUGm2 (("Compacted front, drnew "ID" dcnew "ID"\n", drnew, dcnew)) ;
-	    DEBUG7 (("C  block: ")) ;
-	    UMF_dump_dense (F1 + nb*nb + drnew*nb + nb*dcnew, drnew, r, c) ;
-	    DEBUG7 (("L  block: ")) ;
-	    UMF_dump_dense (F1 + nb*nb, drnew, r, k) ;
-	    DEBUG7 (("U  block: ")) ;
-	    UMF_dump_dense (F1 + nb*nb + drnew*nb, nb, k, c) ;
-	    DEBUG7 (("LU block: ")) ;
-	    UMF_dump_dense (F1, nb, k, k) ;
-#endif
-
-	    /* Compacted dimensions of the new frontal matrix. */
-	    Work->fnr_curr = drnew ;
-	    Work->fnc_curr = dcnew ;
-	    Work->fcurr_size = (drnew + nb) * (dcnew + nb) ;
-	    size = UNITS (Entry, Work->fcurr_size) ;
-
-	    /* make sure the object doesn't evaporate.  The front can have
-	     * zero size (Work->fcurr_size = 0), but the size of the memory
-	     * block containing it cannot have zero size. */
-	    size = MAX (1, size) ;
-
-	    /* get the destination of frontal matrix */
-	    pnext->header.prevsize = size ;
-	    pdest -= (size + 1) ;
-	    F2 = (Entry *) (pdest + 1) ;
-
-	    ASSERT ((unsigned Int) psrc + 1 + size <= (unsigned Int) pnext) ;
-	    ASSERT (psrc <= pdest) ;
-	    ASSERT (F1 <= F2) ;
-
-	    /* move the C block first */
-	    Fsrc = F1 + nb*nb + drnew*nb + nb*dcnew + drnew*c ;
-	    Fdst = F2 + nb*nb + drnew*nb + nb*dcnew + drnew*c ;
-	    gap = drnew - r ;
-	    for (j = c-1 ; j >= 0 ; j--)
-	    {
-		Fsrc -= gap ;
-		Fdst -= gap ;
-		/* move column j of C */
-		for (i = r-1 ; i >= 0 ; i--)
-		{
-		    *--Fdst = *--Fsrc ;
-		}
-	    }
-	    ASSERT (Fsrc == F1 + nb*nb + drnew*nb + nb*dcnew) ;
-	    ASSERT (Fdst == F2 + nb*nb + drnew*nb + nb*dcnew) ;
-
-	    /* move the U block */
-	    Fsrc -= dcnew * (nb - k) ;
-	    Fdst -= dcnew * (nb - k) ;
-	    ASSERT (Fsrc == F1 + nb*nb + drnew*nb + dcnew*k) ;
-	    ASSERT (Fdst == F2 + nb*nb + drnew*nb + dcnew*k) ;
-	    gap = dcnew - c ;
-	    for (i = k-1 ; i >= 0 ; i--)
-	    {
-		Fsrc -= gap ;
-		Fdst -= gap ;
-		for (j = c-1 ; j >= 0 ; j--)
-		{
-		    *--Fdst = *--Fsrc ;
-		}
-	    }
-	    ASSERT (Fsrc == F1 + nb*nb + drnew*nb) ;
-	    ASSERT (Fdst == F2 + nb*nb + drnew*nb) ;
-
-	    /* move the L block */
-	    Fsrc -= drnew * (nb - k) ;
-	    Fdst -= drnew * (nb - k) ;
-	    ASSERT (Fsrc == F1 + nb*nb + drnew*k) ;
-	    ASSERT (Fdst == F2 + nb*nb + drnew*k) ;
-	    gap = drnew - r ;
-	    for (j = k-1 ; j >= 0 ; j--)
-	    {
-		Fsrc -= gap ;
-		Fdst -= gap ;
-		for (i = r-1 ; i >= 0 ; i--)
-		{
-		    *--Fdst = *--Fsrc ;
-		}
-	    }
-	    ASSERT (Fsrc == F1 + nb*nb) ;
-	    ASSERT (Fdst == F2 + nb*nb) ;
-
-	    /* move the LU block */
-	    Fsrc -= nb * (nb - k) ;
-	    Fdst -= nb * (nb - k) ;
-	    ASSERT (Fsrc == F1 + nb*k) ;
-	    ASSERT (Fdst == F2 + nb*k) ;
-	    gap = nb - k ;
-	    for (j = k-1 ; j >= 0 ; j--)
-	    {
-		Fsrc -= gap ;
-		Fdst -= gap ;
-		for (i = k-1 ; i >= 0 ; i--)
-		{
-		    *--Fdst = *--Fsrc ;
-		}
-	    }
-	    ASSERT (Fsrc == F1) ;
-	    ASSERT (Fdst == F2) ;
-
-	    E [0] = (pdest + 1) - Numeric->Memory ;
-
-	    Work->Flublock = (Entry *) (Numeric->Memory + E [0]) ;
-	    ASSERT (Work->Flublock == F2) ;
-	    Work->Flblock  = Work->Flublock + nb * nb ;
-	    Work->Fublock  = Work->Flblock  + drnew * nb ;
-	    Work->Fcblock  = Work->Fublock  + nb * dcnew ;
-
-	    pdest->header.prevsize = 0 ;
-	    pdest->header.size = size ;
-
-#ifndef NDEBUG
-	    DEBUG7 (("After moving compressed current frontal matrix:\n")) ;
-	    DEBUG7 (("C  block: ")) ;
-	    UMF_dump_dense (Work->Fcblock,  drnew, r, c) ;
-	    DEBUG7 (("L  block: ")) ;
-	    UMF_dump_dense (Work->Flblock,  drnew, r, k);
-	    DEBUG7 (("U' block: ")) ;
-	    UMF_dump_dense (Work->Fublock,  dcnew, c, k) ;
-	    DEBUG7 (("LU block: ")) ;
-	    UMF_dump_dense (Work->Flublock, nb, k, k) ;
-#endif
-
-	}
-	else if (e > 0)
-	{
-
-	    /* -------------------------------------------------------------- */
-	    /* this is an element, compress and move from psrc down to pdest */
-	    /* -------------------------------------------------------------- */
-
-#ifndef NDEBUG
-	    DEBUG7 (("\n")) ;
-	    DEBUG7 ((ID":: Move element "ID": from: "ID" \n",
-		nmark, e, (Int) (psrc-Numeric->Memory))) ;
-	    nmark-- ;
-	    ASSERT (e <= nel) ;
-	    ASSERT (E [e] == 0) ;
-#endif
-
-	    /* -------------------------------------------------------------- */
-	    /* get the element scalars, and pointers to C, Rows, and Cols: */
-	    /* -------------------------------------------------------------- */
-
-	    p = psrc + 1 ;
-	    GET_ELEMENT (epsrc, p, Cols, Rows, ncols, nrows, C) ;
-	    nrowsleft = epsrc->nrowsleft ;
-	    ncolsleft = epsrc->ncolsleft ;
-	    cdeg = epsrc->cdeg ;
-	    rdeg = epsrc->rdeg ;
-
-#ifndef NDEBUG
-	    DEBUG7 ((" nrows "ID" nrowsleft "ID"\n", nrows, nrowsleft)) ;
-	    DEBUG7 ((" ncols "ID" ncolsleft "ID"\n", ncols, ncolsleft)) ;
-	    DEBUG8 ((" Rows:")) ;
-	    for (i = 0 ; i < nrows ; i++) DEBUG8 ((" "ID, Rows [i])) ;
-	    DEBUG8 (("\n Cols:")) ;
-	    for (j = 0 ; j < ncols ; j++) DEBUG8 ((" "ID, Cols [j])) ;
-	    DEBUG8 (("\n")) ;
-#endif
-
-	    /* -------------------------------------------------------------- */
-	    /* determine the layout of the new element */
-	    /* -------------------------------------------------------------- */
-
-	    csize = nrowsleft * ncolsleft ;
-	    size2 = UNITS (Element, 1)
-		  + UNITS (Int, nrowsleft + ncolsleft)
-		  + UNITS (Entry, csize) ;
-
-	    DEBUG7 (("Old size "ID" New size "ID"\n", size, size2)) ;
-
-	    pnext = pdest ;
-	    pnext->header.prevsize = size2 ;
-	    pdest -= (size2 + 1) ;
-
-	    ASSERT (size2 <= size) ;
-	    ASSERT ((unsigned Int) psrc + 1 + size <= (unsigned Int) pnext) ;
-	    ASSERT (psrc <= pdest) ;
-
-	    p = pdest + 1 ;
-	    epdest = (Element *) p ;
-	    p += UNITS (Element, 1) ;
-	    Cols2 = (Int *) p ;
-	    Rows2 = Cols2 + ncolsleft ;
-	    p += UNITS (Int, nrowsleft + ncolsleft) ;
-	    C2 = (Entry *) p ;
-
-	    ASSERT (epdest >= epsrc) ;
-	    ASSERT (Rows2 >= Rows) ;
-	    ASSERT (Cols2 >= Cols) ;
-	    ASSERT (C2 >= C) ;
-	    ASSERT (p + UNITS (Entry, csize) == pnext) ;
-
-	    /* -------------------------------------------------------------- */
-	    /* move the contribution block */
-	    /* -------------------------------------------------------------- */
-
-	    /* overlap = psrc + size + 1 > pdest ; */
-
-	    if (nrowsleft < nrows || ncolsleft < ncols)
-	    {
-
-		/* ---------------------------------------------------------- */
-		/* compress contribution block in place prior to moving it */
-		/* ---------------------------------------------------------- */
-
-		DEBUG7 (("Compress C in place prior to move:\n"));
-#ifndef NDEBUG
-		UMF_dump_dense (C, nrows, nrows, ncols) ;
-#endif
-		C1 = C ;
-		C3 = C ;
-		for (j = 0 ; j < ncols ; j++)
-		{
-		    if (Cols [j] >= 0)
-		    {
-			for (i = 0 ; i < nrows ; i++)
-			{
-			    if (Rows [i] >= 0)
-			    {
-				*C3++ = C1 [i] ;
-			    }
-			}
-		    }
-		    C1 += nrows ;
-		}
-		ASSERT (C3-C == csize) ;
-		DEBUG8 (("Newly compressed contrib. block (all in use):\n")) ;
-#ifndef NDEBUG
-		UMF_dump_dense (C, nrowsleft, nrowsleft, ncolsleft) ;
-#endif
-	    }
-
-	    /* shift the contribution block down */
-	    C += csize ;
-	    C2 += csize ;
-	    for (i = 0 ; i < csize ; i++)
-	    {
-		*--C2 = *--C ;
-	    }
-
-	    /* -------------------------------------------------------------- */
-	    /* move the row indices */
-	    /* -------------------------------------------------------------- */
-
-	    i2 = nrowsleft ;
-	    for (i = nrows - 1 ; i >= 0 ; i--)
-	    {
-		ASSERT (Rows2+i2 >= Rows+i) ;
-		if (Rows [i] >= 0)
-		{
-		    Rows2 [--i2] = Rows [i] ;
-		}
-	    }
-	    ASSERT (i2 == 0) ;
-
-	    j2 = ncolsleft ;
-	    for (j = ncols - 1 ; j >= 0 ; j--)
-	    {
-		ASSERT (Cols2+j2 >= Cols+j) ;
-		if (Cols [j] >= 0)
-		{
-		    Cols2 [--j2] = Cols [j] ;
-		}
-	    }
-	    ASSERT (j2 == 0) ;
-
-	    /* -------------------------------------------------------------- */
-	    /* construct the new header */
-	    /* -------------------------------------------------------------- */
-
-	    /* E [0...e] is now valid */
-	    E [e] = (pdest + 1) - Numeric->Memory ;
-	    epdest = (Element *) (pdest + 1) ;
-
-	    epdest->next = EMPTY ;	/* destroys the son list */
-	    epdest->ncols = ncolsleft ;
-	    epdest->nrows = nrowsleft ;
-	    epdest->ncolsleft = ncolsleft ;
-	    epdest->nrowsleft = nrowsleft ;
-	    epdest->rdeg = rdeg ;
-	    epdest->cdeg = cdeg ;
-
-	    ASSERT (size2 <= size) ;
-	    pdest->header.prevsize = 0 ;
-	    pdest->header.size = size2 ;
-
-	    DEBUG7 (("After moving it:\n")) ;
-#ifndef NDEBUG
-	    UMF_dump_element (Numeric, Work, e, FALSE) ;
-#endif
-	}
-
-#ifndef NDEBUG
-	else
-	{
-	    DEBUG8 ((" free\n")) ;
-	}
-#endif
-	DEBUG7 (("psrc "ID"  tail "ID"\n",
-	(Int) (psrc-Numeric->Memory), Numeric->itail)) ;
-    }
-
-    ASSERT (psrc == Numeric->Memory + Numeric->itail) ;
-    ASSERT (nmark == 0) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* final tail pointer */
-    /* ---------------------------------------------------------------------- */
-
-    ASSERT (pdest >= Numeric->Memory + Numeric->itail) ;
-    Numeric->itail = pdest - Numeric->Memory ;
-    pdest->header.prevsize = 0 ;
-    Numeric->ibig = EMPTY ;
-    Numeric->tail_usage = Numeric->size - Numeric->itail ;
-
-    /* ---------------------------------------------------------------------- */
-    /* clear the unused E [nel+1 .. Work->elen - 1] */
-    /* ---------------------------------------------------------------------- */
-
-    for (e = nel+1 ; e < Work->elen ; e++)
-    {
-	E [e] = 0 ;
-    }
-
-#ifndef NDEBUG
-    UMF_dump_packed_memory (Numeric, Work) ;
-#endif
-
-    DEBUG8 (("::::GARBAGE COLLECTION DONE::::\n")) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_garbage_collection.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL void UMF_garbage_collection
-(
-    NumericType *Numeric,
-    WorkType *Work,
-    Int drnew,
-    Int dcnew,
-    Int do_Fcpos
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_get_memory.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,222 +0,0 @@
-/* ========================================================================== */
-/* === UMF_get_memory ======================================================= */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    Reallocate the workspace (Numeric->Memory) and shift elements downwards.
-    needunits: increase in size so that the free space is at least this many
-    Units (to which the tuple lengths is added).
-
-    Return TRUE if successful, FALSE if out of memory.
-*/
-
-#include "umf_internal.h"
-#include "umf_garbage_collection.h"
-#include "umf_tuple_lengths.h"
-#include "umf_build_tuples.h"
-#include "umf_mem_free_tail_block.h"
-#include "umf_realloc.h"
-
-GLOBAL Int UMF_get_memory
-(
-    NumericType *Numeric,
-    WorkType *Work,
-    Int needunits,
-    Int r2,		/* compact current front to r2-by-c2 */
-    Int c2,
-    Int do_Fcpos
-)
-{
-    double nsize, bsize, tsize ;
-    Int i, minsize, newsize, newmem, costly, row, col, *Row_tlen, *Col_tlen,
-	n_row, n_col, *Row_degree, *Col_degree ;
-    Unit *mnew, *p ;
-
-    /* ---------------------------------------------------------------------- */
-    /* get and check parameters */
-    /* ---------------------------------------------------------------------- */
-
-#ifndef NDEBUG
-    DEBUG1 (("::::GET MEMORY::::\n")) ;
-    UMF_dump_memory (Numeric) ;
-#endif
-
-    n_row = Work->n_row ;
-    n_col = Work->n_col ;
-    Row_degree = Numeric->Rperm ;	/* for NON_PIVOTAL_ROW macro */
-    Col_degree = Numeric->Cperm ;	/* for NON_PIVOTAL_COL macro */
-    Row_tlen   = Numeric->Uilen ;
-    Col_tlen   = Numeric->Lilen ;
-
-    /* ---------------------------------------------------------------------- */
-    /* initialize the tuple list lengths */
-    /* ---------------------------------------------------------------------- */
-
-    for (row = 0 ; row < n_row ; row++)
-    {
-	if (NON_PIVOTAL_ROW (row))
-	{
-	    Row_tlen [row] = 0 ;
-	}
-    }
-    for (col = 0 ; col < n_col ; col++)
-    {
-	if (NON_PIVOTAL_COL (col))
-	{
-	    Col_tlen [col] = 0 ;
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* determine how much memory is needed for the tuples */
-    /* ---------------------------------------------------------------------- */
-
-    nsize = (double) needunits + 2 ;
-    needunits += UMF_tuple_lengths (Numeric, Work, &tsize) ;
-    nsize += tsize ;
-    needunits += 2 ;	/* add 2, so that newmem >= 2 is true if realloc'd */
-
-    /* note: Col_tlen and Row_tlen are updated, but the tuple lists */
-    /* themselves are not.  Do not attempt to scan the tuple lists. */
-    /* They are now stale, and are about to be destroyed and recreated. */
-
-    /* ---------------------------------------------------------------------- */
-    /* determine the desired new size of memory */
-    /* ---------------------------------------------------------------------- */
-
-    DEBUG0 (("UMF_get_memory: needunits: "ID"\n", needunits)) ;
-
-    minsize = Numeric->size + needunits ;
-    nsize += (double) Numeric->size ;
-
-    bsize = ((double) Int_MAX) / sizeof (Unit) - 1 ;
-
-    newsize = (Int) (UMF_REALLOC_INCREASE * ((double) minsize)) ;
-    nsize *= UMF_REALLOC_INCREASE ;
-    nsize += 1 ;
-
-    if (newsize < 0 || nsize > bsize)
-    {
-	/* :: realloc Numeric->Memory int overflow :: */
-	DEBUGm3 (("Realloc hit integer limit\n")) ;
-	newsize = (Int) bsize ;	/* we cannot increase the size beyond bsize */
-    }
-    else
-    {
-	ASSERT (newsize <= nsize) ;
-	newsize = MAX (newsize, minsize) ;
-    }
-    newsize = MAX (newsize, Numeric->size) ;
-
-    DEBUG0 ((
-    "REALLOC MEMORY: needunits "ID" old size: "ID" new size: "ID" Units \n",
-	needunits, Numeric->size, newsize)) ;
-
-    /* Forget where the biggest free block is (we no longer need it) */
-    /* since garbage collection will occur shortly. */
-    Numeric->ibig = EMPTY ;
-
-    DEBUG0 (("Before realloc E [0] "ID"\n", Work->E [0])) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* reallocate the memory, if possible, and make it bigger */
-    /* ---------------------------------------------------------------------- */
-
-    mnew = (Unit *) NULL ;
-    while (!mnew)
-    {
-	mnew = (Unit *) UMF_realloc (Numeric->Memory, newsize, sizeof (Unit)) ;
-	if (!mnew)
-	{
-	    if (newsize == minsize)	/* last realloc attempt failed */
-	    {
-		/* We failed to get the minimum.  Just stick with the */
-		/* current allocation and hope that garbage collection */
-		/* can recover enough space. */
-		mnew = Numeric->Memory ;	/* no new memory available */
-		newsize = Numeric->size ;
-	    }
-	    else
-	    {
-		/* otherwise, reduce the request and keep trying */
-		newsize = (Int) (UMF_REALLOC_REDUCTION * ((double) newsize)) ;
-		newsize = MAX (minsize, newsize) ;
-	    }
-	}
-    }
-    ASSERT (mnew != (Unit *) NULL) ;
-
-    /* see if realloc had to copy, rather than just extend memory */
-    costly = (mnew != Numeric->Memory) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* extend the tail portion of memory downwards */
-    /* ---------------------------------------------------------------------- */
-
-    Numeric->Memory = mnew ;
-    if (Work->E [0])
-    {
-	Int nb, dr, dc ;
-	nb = Work->nb ;
-	dr = Work->fnr_curr ;
-	dc = Work->fnc_curr ;
-	Work->Flublock = (Entry *) (Numeric->Memory + Work->E [0]) ;
-	Work->Flblock  = Work->Flublock + nb * nb ;
-	Work->Fublock  = Work->Flblock  + dr * nb ;
-	Work->Fcblock  = Work->Fublock  + nb * dc ;
-	DEBUG0 (("after realloc E [0] "ID"\n", Work->E [0])) ;
-    }
-    ASSERT (IMPLIES (!(Work->E [0]), Work->Flublock == (Entry *) NULL)) ;
-
-    newmem = newsize - Numeric->size ;
-    ASSERT (newmem == 0 || newmem >= 2) ;
-
-    if (newmem >= 2)
-    {
-	/* reallocation succeeded */
-
-	/* point to the old tail marker block of size 1 + header */
-	p = Numeric->Memory + Numeric->size - 2 ;
-
-	/* create a new block out of the newly extended memory */
-	p->header.size = newmem - 1 ;
-	i = Numeric->size - 1 ;
-	p += newmem ;
-
-	/* create a new tail marker block */
-	p->header.prevsize = newmem - 1 ;
-	p->header.size = 1 ;
-
-	Numeric->size = newsize ;
-
-	/* free the new block */
-	UMF_mem_free_tail_block (Numeric, i) ;
-
-	Numeric->nrealloc++ ;
-
-	if (costly)
-	{
-	    Numeric->ncostly++ ;
-	}
-
-    }
-    DEBUG1 (("Done with realloc memory\n")) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* garbage collection on the tail of Numeric->memory (destroys tuples) */
-    /* ---------------------------------------------------------------------- */
-
-    UMF_garbage_collection (Numeric, Work, r2, c2, do_Fcpos) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* rebuild the tuples */
-    /* ---------------------------------------------------------------------- */
-
-    return (UMF_build_tuples (Numeric, Work)) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_get_memory.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL Int UMF_get_memory
-(
-    NumericType *Numeric,
-    WorkType *Work,
-    Int needunits,
-    Int r2,
-    Int c2,
-    Int do_Fcpos
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_grow_front.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,293 +0,0 @@
-/* ========================================================================== */
-/* === UMF_grow_front ======================================================= */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/* Current frontal matrix is too small.  Make it bigger. */
-
-#include "umf_internal.h"
-#include "umf_mem_free_tail_block.h"
-#include "umf_mem_alloc_tail_block.h"
-#include "umf_get_memory.h"
-
-GLOBAL Int UMF_grow_front
-(
-    NumericType *Numeric,
-    Int fnr2,		/* desired size is fnr2-by-fnc2 */
-    Int fnc2,
-    WorkType *Work,
-    Int do_what		/* -1: UMF_start_front
-			 * 0:  UMF_init_front, do not recompute Fcpos
-			 * 1:  UMF_extend_front
-			 * 2:  UMF_init_front, recompute Fcpos */
-)
-{
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    double s ;
-    Entry *Fcold, *Fcnew ;
-    Int j, i, col, *Fcpos, *Fcols, fnrows_max, fncols_max, fnr_curr, nb,
-	fnrows_new, fncols_new, fnr_min, fnc_min, minsize,
-	newsize, fnrows, fncols, *E, eloc ;
-
-    /* ---------------------------------------------------------------------- */
-    /* get parameters */
-    /* ---------------------------------------------------------------------- */
-
-#ifndef NDEBUG
-    if (do_what != -1) UMF_debug++ ;
-    DEBUG0 (("\n\n====================GROW FRONT: do_what: "ID"\n", do_what)) ;
-    if (do_what != -1) UMF_debug-- ;
-    ASSERT (Work->do_grow) ;
-    ASSERT (Work->fnpiv == 0) ;
-#endif
-
-    Fcols = Work->Fcols ;
-    Fcpos = Work->Fcpos ;
-    E = Work->E ;
-
-    /* ---------------------------------------------------------------------- */
-    /* The current front is too small, find the new size */
-    /* ---------------------------------------------------------------------- */
-
-    /* maximum size of frontal matrix for this chain */
-    nb = Work->nb ;
-    fnrows_max = Work->fnrows_max + nb ;
-    fncols_max = Work->fncols_max + nb ;
-    ASSERT (fnrows_max >= 0 && (fnrows_max % 2) == 1) ;
-    DEBUG0 (("Max     size: "ID"-by-"ID" (incl. "ID" pivot block\n",
-	fnrows_max, fncols_max, nb)) ;
-
-    /* current dimensions of frontal matrix: fnr-by-fnc */
-    DEBUG0 (("Current : "ID"-by-"ID" (excl "ID" pivot blocks)\n",
-		Work->fnr_curr, Work->fnc_curr, nb)) ;
-    ASSERT (Work->fnr_curr >= 0) ;
-    ASSERT ((Work->fnr_curr % 2 == 1) || Work->fnr_curr == 0) ;
-
-    /* required dimensions of frontal matrix: fnr_min-by-fnc_min */
-    fnrows_new = Work->fnrows_new + 1 ;
-    fncols_new = Work->fncols_new + 1 ;
-    ASSERT (fnrows_new >= 0) ;
-    if (fnrows_new % 2 == 0) fnrows_new++ ;
-    fnrows_new += nb ;
-    fncols_new += nb ;
-    fnr_min = MIN (fnrows_new, fnrows_max) ;
-    fnc_min = MIN (fncols_new, fncols_max) ;
-    minsize = fnr_min * fnc_min ;
-    if (INT_OVERFLOW ((double) fnr_min * (double) fnc_min * sizeof (Entry)))
-    {
-	/* :: the minimum front size is bigger than the integer maximum :: */
-	return (FALSE) ;
-    }
-    ASSERT (fnr_min >= 0) ;
-    ASSERT (fnr_min % 2 == 1) ;
-
-    DEBUG0 (("Min     : "ID"-by-"ID"\n", fnr_min, fnc_min)) ;
-
-    /* grow the front to fnr2-by-fnc2, but no bigger than the maximum,
-     * and no smaller than the minumum. */
-    DEBUG0 (("Desired : ("ID"+"ID")-by-("ID"+"ID")\n", fnr2, nb, fnc2, nb)) ;
-    fnr2 += nb ;
-    fnc2 += nb ;
-    ASSERT (fnr2 >= 0) ;
-    if (fnr2 % 2 == 0) fnr2++ ;
-    fnr2 = MAX (fnr2, fnr_min) ;
-    fnc2 = MAX (fnc2, fnc_min) ;
-    fnr2 = MIN (fnr2, fnrows_max) ;
-    fnc2 = MIN (fnc2, fncols_max) ;
-    DEBUG0 (("Try     : "ID"-by-"ID"\n", fnr2, fnc2)) ;
-    ASSERT (fnr2 >= 0) ;
-    ASSERT (fnr2 % 2 == 1) ;
-
-    s = ((double) fnr2) * ((double) fnc2) ;
-    if (INT_OVERFLOW (s * sizeof (Entry)))
-    {
-	/* :: frontal matrix size int overflow :: */
-	/* the desired front size is bigger than the integer maximum */
-	/* compute a such that a*a*s < Int_MAX / sizeof (Entry) */
-	double a = 0.9 * sqrt ((Int_MAX / sizeof (Entry)) / s) ;
-	fnr2 = MAX (fnr_min, a * fnr2) ;
-	fnc2 = MAX (fnc_min, a * fnc2) ;
-	/* the new frontal size is a*r*a*c = a*a*s */
-	newsize = fnr2 * fnc2 ;
-	ASSERT (fnr2 >= 0) ;
-	if (fnr2 % 2 == 0) fnr2++ ;
-	fnc2 = newsize / fnr2 ;
-    }
-
-    fnr2 = MAX (fnr2, fnr_min) ;
-    fnc2 = MAX (fnc2, fnc_min) ;
-    newsize = fnr2 * fnc2 ;
-
-    ASSERT (fnr2 >= 0) ;
-    ASSERT (fnr2 % 2 == 1) ;
-    ASSERT (fnr2 >= fnr_min) ;
-    ASSERT (fnc2 >= fnc_min) ;
-    ASSERT (newsize >= minsize) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* free the current front if it is empty of any numerical values */
-    /* ---------------------------------------------------------------------- */
-
-    if (E [0] && do_what != 1)
-    {
-	/* free the current front, if it exists and has nothing in it */
-	DEBUG0 (("Freeing empty front\n")) ;
-	UMF_mem_free_tail_block (Numeric, E [0]) ;
-	E [0] = 0 ;
-	Work->Flublock = (Entry *) NULL ;
-	Work->Flblock  = (Entry *) NULL ;
-	Work->Fublock  = (Entry *) NULL ;
-	Work->Fcblock  = (Entry *) NULL ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* allocate the new front, doing garbage collection if necessary */
-    /* ---------------------------------------------------------------------- */
-
-#ifndef NDEBUG
-    UMF_allocfail = FALSE ;
-    if (UMF_gprob > 0)  /* a double relop, but ignore NaN case */
-    {
-	double rrr = ((double) (rand ( ))) / (((double) RAND_MAX) + 1) ;
-	DEBUG1 (("Check random %e %e\n", rrr, UMF_gprob)) ;
-	UMF_allocfail = rrr < UMF_gprob ;
-	if (UMF_allocfail) DEBUGm2 (("Random garbage collection (grow)\n")) ;
-    }
-#endif
-
-    DEBUG0 (("Attempt size: "ID"-by-"ID"\n", fnr2, fnc2)) ;
-    eloc = UMF_mem_alloc_tail_block (Numeric, UNITS (Entry, newsize)) ;
-
-    if (!eloc)
-    {
-	/* Do garbage collection, realloc, and try again. Compact the current
-	 * contribution block in the front to fnrows-by-fncols.  Note that
-	 * there are no pivot rows/columns in current front.  Do not recompute
-	 * Fcpos in UMF_garbage_collection. */
-	DEBUGm3 (("get_memory from umf_grow_front\n")) ;
-	if (!UMF_get_memory (Numeric, Work, 1 + UNITS (Entry, newsize),
-	    Work->fnrows, Work->fncols, FALSE))
-	{
-	    /* :: out of memory in umf_grow_front :: */
-	    return (FALSE) ;	/* out of memory */
-	}
-	DEBUG0 (("Attempt size: "ID"-by-"ID" again\n", fnr2, fnc2)) ;
-	eloc = UMF_mem_alloc_tail_block (Numeric, UNITS (Entry, newsize)) ;
-    }
-
-    /* try again with something smaller */
-    while ((fnr2 != fnr_min || fnc2 != fnc_min) && !eloc)
-    {
-	fnr2 = MIN (fnr2 - 2, fnr2 * UMF_REALLOC_REDUCTION) ;
-	fnc2 = MIN (fnc2 - 2, fnc2 * UMF_REALLOC_REDUCTION) ;
-	ASSERT (fnr_min >= 0) ;
-	ASSERT (fnr_min % 2 == 1) ;
-	fnr2 = MAX (fnr_min, fnr2) ;
-	fnc2 = MAX (fnc_min, fnc2) ;
-	ASSERT (fnr2 >= 0) ;
-	if (fnr2 % 2 == 0) fnr2++ ;
-	newsize = fnr2 * fnc2 ;
-	DEBUGm3 (("Attempt smaller size: "ID"-by-"ID" minsize "ID"-by-"ID"\n",
-	    fnr2, fnc2, fnr_min, fnc_min)) ;
-	eloc = UMF_mem_alloc_tail_block (Numeric, UNITS (Entry, newsize)) ;
-    }
-
-    /* try again with the smallest possible size */
-    if (!eloc)
-    {
-	fnr2 = fnr_min ;
-	fnc2 = fnc_min ;
-	newsize = minsize ;
-	DEBUG0 (("Attempt minsize: "ID"-by-"ID"\n", fnr2, fnc2)) ;
-	eloc = UMF_mem_alloc_tail_block (Numeric, UNITS (Entry, newsize)) ;
-    }
-
-    if (!eloc)
-    {
-	/* out of memory */
-	return (FALSE) ;
-    }
-
-    ASSERT (fnr2 >= 0) ;
-    ASSERT (fnr2 % 2 == 1) ;
-    ASSERT (fnr2 >= fnr_min && fnc2 >= fnc_min) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* copy the old frontal matrix into the new one */
-    /* ---------------------------------------------------------------------- */
-
-    /* old contribution block (if any) */
-    fnr_curr = Work->fnr_curr ;	    /* garbage collection can change fn*_curr */
-    ASSERT (fnr_curr >= 0) ;
-    ASSERT ((fnr_curr % 2 == 1) || fnr_curr == 0) ;
-    fnrows = Work->fnrows ;
-    fncols = Work->fncols ;
-    Fcold = Work->Fcblock ;
-
-    /* remove nb from the sizes */
-    fnr2 -= nb ;
-    fnc2 -= nb ;
-
-    /* new frontal matrix */
-    Work->Flublock = (Entry *) (Numeric->Memory + eloc) ;
-    Work->Flblock  = Work->Flublock + nb * nb ;
-    Work->Fublock  = Work->Flblock  + nb * fnr2 ;
-    Work->Fcblock  = Work->Fublock  + nb * fnc2 ;
-    Fcnew = Work->Fcblock ;
-
-    if (E [0])
-    {
-	/* copy the old contribution block into the new one */
-	for (j = 0 ; j < fncols ; j++)
-	{
-	    col = Fcols [j] ;
-	    DEBUG1 (("copy col "ID" \n",col)) ;
-	    ASSERT (col >= 0 && col < Work->n_col) ;
-	    for (i = 0 ; i < fnrows ; i++)
-	    {
-		Fcnew [i] = Fcold [i] ;
-	    }
-	    Fcnew += fnr2 ;
-	    Fcold += fnr_curr ;
-	    DEBUG1 (("new offset col "ID" "ID"\n",col, j * fnr2)) ;
-	    Fcpos [col] = j * fnr2 ;
-	}
-    }
-    else if (do_what == 2)
-    {
-	/* just find the new column offsets */
-	for (j = 0 ; j < fncols ; j++)
-	{
-	    col = Fcols [j] ;
-	    DEBUG1 (("new offset col "ID" "ID"\n",col, j * fnr2)) ;
-	    Fcpos [col] = j * fnr2 ;
-	}
-    }
-
-    /* free the old frontal matrix */
-    UMF_mem_free_tail_block (Numeric, E [0]) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* new frontal matrix size */
-    /* ---------------------------------------------------------------------- */
-
-    E [0] = eloc ;
-    Work->fnr_curr = fnr2 ;	    /* C block is fnr2-by-fnc2 */
-    Work->fnc_curr = fnc2 ;
-    Work->fcurr_size = newsize ;    /* including LU, L, U, and C blocks */
-    Work->do_grow = FALSE ;	    /* the front has just been grown */
-
-    ASSERT (Work->fnr_curr >= 0) ;
-    ASSERT (Work->fnr_curr % 2 == 1) ;
-    DEBUG0 (("Newly grown front: "ID"+"ID" by "ID"+"ID"\n", Work->fnr_curr,
-	nb, Work->fnc_curr, nb)) ;
-    return (TRUE) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_grow_front.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL Int UMF_grow_front
-(
-    NumericType *Numeric,
-    Int fnr2,
-    Int fnc2,
-    WorkType *Work,
-    Int do_what
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_init_front.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,267 +0,0 @@
-/* ========================================================================== */
-/* === UMF_init_front ======================================================= */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-#include "umf_internal.h"
-#include "umf_grow_front.h"
-
-/* ========================================================================== */
-/* === zero_init_front ====================================================== */
-/* ========================================================================== */
-
-/* Set the initial frontal matrix to zero. */
-
-PRIVATE void zero_init_front (Int m, Int n, Entry *Fcblock, Int d)
-{
-    Int i, j ;
-    Entry *F, *Fj = Fcblock ;
-    for (j = 0 ; j < m ; j++)
-    {
-	F = Fj ;
-	Fj += d ;
-	for (i = 0 ; i < n ; i++)
-	{
-	    /* CLEAR (Fcblock [i + j*d]) ; */
-	    CLEAR (*F) ;
-	    F++ ;
-	}
-    }
-}
-
-/* ========================================================================== */
-/* === UMF_init_front ======================================================= */
-/* ========================================================================== */
-
-GLOBAL Int UMF_init_front
-(
-    NumericType *Numeric,
-    WorkType *Work
-)
-{
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    Int i, j, fnr_curr, row, col, *Frows, *Fcols,
-	*Fcpos, *Frpos, fncols, fnrows, *Wrow, fnr2, fnc2, rrdeg, ccdeg, *Wm,
-	fnrows_extended ;
-    Entry *Fcblock, *Fl, *Wy, *Wx ;
-
-    /* ---------------------------------------------------------------------- */
-    /* get current frontal matrix and check for frontal growth */
-    /* ---------------------------------------------------------------------- */
-
-#ifndef NDEBUG
-    DEBUG0 (("INIT FRONT\n")) ;
-    DEBUG1 (("CURR before init:\n")) ;
-    UMF_dump_current_front (Numeric, Work, FALSE) ;
-#endif
-    if (Work->do_grow)
-    {
-	fnr2 = UMF_FRONTAL_GROWTH * Work->fnrows_new + 2 ;
-	fnc2 = UMF_FRONTAL_GROWTH * Work->fncols_new + 2 ;
-	if (!UMF_grow_front (Numeric, fnr2, fnc2, Work,
-	    Work->pivrow_in_front ? 2 : 0))
-	{
-	    /* :: out of memory in umf_init_front :: */
-	    DEBUGm4 (("out of memory: init front\n")) ;
-	    return (FALSE) ;
-	}
-    }
-#ifndef NDEBUG
-    DEBUG1 (("CURR after grow:\n")) ;
-    UMF_dump_current_front (Numeric, Work, FALSE) ;
-    DEBUG1 (("fnrows new "ID" fncols new "ID"\n",
-	Work->fnrows_new, Work->fncols_new)) ;
-#endif
-    ASSERT (Work->fnpiv == 0) ;
-    fnr_curr = Work->fnr_curr ;
-    ASSERT (Work->fnrows_new + 1 <= fnr_curr) ;
-    ASSERT (Work->fncols_new + 1 <= Work->fnc_curr) ;
-    ASSERT (fnr_curr >= 0) ;
-    ASSERT (fnr_curr % 2 == 1) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* get parameters */
-    /* ---------------------------------------------------------------------- */
-
-    /* current front is defined by pivot row and column */
-
-    Frows = Work->Frows ;
-    Fcols = Work->Fcols ;
-    Frpos = Work->Frpos ;
-    Fcpos = Work->Fcpos ;
-
-    Work->fnzeros = 0 ;
-
-    ccdeg = Work->ccdeg ;
-    rrdeg = Work->rrdeg ;
-
-    fnrows = Work->fnrows ;
-    fncols = Work->fncols ;
-
-    /* if both pivrow and pivcol are in front, then we extend the old one */
-    /* in UMF_extend_front, rather than starting a new one here. */
-    ASSERT (! (Work->pivrow_in_front && Work->pivcol_in_front)) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* place pivot column pattern in frontal matrix */
-    /* ---------------------------------------------------------------------- */
-
-    Fl = Work->Flblock ;
-
-    if (Work->pivcol_in_front)
-    {
-	/* Append the pivot column extension.
-	 * Note that all we need to do is increment the size, since the
-	 * candidate pivot column pattern is already in place in
-	 * Frows [0 ... fnrows-1] (the old pattern), and
-	 * Frows [fnrows ... fnrows + Work->ccdeg - 1] (the new
-	 * pattern).  Frpos is also properly defined. */
-	/* make a list of the new rows to scan */
-	Work->fscan_row = fnrows ;	/* only scan the new rows */
-	Work->NewRows = Work->Wrp ;
-	Wy = Work->Wy ;
-	for (i = 0 ; i < fnrows ; i++)
-	{
-	    Fl [i] = Wy [i] ;
-	}
-	fnrows_extended = fnrows + ccdeg ;
-	for (i = fnrows ; i < fnrows_extended ; i++)
-	{
-	    Fl [i] = Wy [i] ;
-	    /* flip the row index, since Wrp must be < 0 */
-	    row = Frows [i] ;
-	    Work->NewRows [i] = FLIP (row) ;
-	}
-	fnrows = fnrows_extended ;
-    }
-    else
-    {
-	/* this is a completely new column */
-	Work->fscan_row = 0 ;			/* scan all the rows */
-	Work->NewRows = Frows ;
-	Wm = Work->Wm ;
-	Wx = Work->Wx ;
-	for (i = 0 ; i < ccdeg ; i++)
-	{
-	    Fl [i] = Wx [i] ;
-	    row = Wm [i] ;
-	    Frows [i] = row ;
-	    Frpos [row] = i ;
-	}
-	fnrows = ccdeg ;
-    }
-
-    Work->fnrows = fnrows ;
-
-#ifndef NDEBUG
-    DEBUG3 (("New Pivot col "ID" now in front, length "ID"\n",
-	Work->pivcol, fnrows)) ;
-    for (i = 0 ; i < fnrows ; i++)
-    {
-	DEBUG4 ((" "ID": row "ID"\n", i, Frows [i])) ;
-	ASSERT (Frpos [Frows [i]] == i) ;
-    }
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* place pivot row pattern in frontal matrix */
-    /* ---------------------------------------------------------------------- */
-
-    Wrow = Work->Wrow ;
-    if (Work->pivrow_in_front)
-    {
-	/* append the pivot row extension */
-	Work->fscan_col = fncols ;	/* only scan the new columns */
-	Work->NewCols = Work->Wp ;
-#ifndef NDEBUG
-	for (j = 0 ; j < fncols ; j++)
-	{
-	    col = Fcols [j] ;
-	    ASSERT (col >= 0 && col < Work->n_col) ;
-	    ASSERT (Fcpos [col] == j * fnr_curr) ;
-	}
-#endif
-	/* Wrow == Fcol for the IN_IN case, and for the OUT_IN case when
-	 * the pivrow [IN][IN] happens to be the same as pivrow [OUT][IN].
-	 * See UMF_local_search for more details. */
-	ASSERT (IMPLIES (Work->pivcol_in_front, Wrow == Fcols)) ;
-	if (Wrow == Fcols)
-	{
-	    for (j = fncols ; j < rrdeg ; j++)
-	    {
-		col = Wrow [j] ;
-		/* Fcols [j] = col ; not needed */
-		/* flip the col index, since Wp must be < 0 */
-		Work->NewCols [j] = FLIP (col) ;
-		Fcpos [col] = j * fnr_curr ;
-	    }
-	}
-	else
-	{
-	    for (j = fncols ; j < rrdeg ; j++)
-	    {
-		col = Wrow [j] ;
-		Fcols [j] = col ;
-		/* flip the col index, since Wp must be < 0 */
-		Work->NewCols [j] = FLIP (col) ;
-		Fcpos [col] = j * fnr_curr ;
-	    }
-	}
-    }
-    else
-    {
-	/* this is a completely new row */
-	Work->fscan_col = 0 ;			/* scan all the columns */
-	Work->NewCols = Fcols ;
-	for (j = 0 ; j < rrdeg ; j++)
-	{
-	    col = Wrow [j] ;
-	    Fcols [j] = col ;
-	    Fcpos [col] = j * fnr_curr ;
-	}
-    }
-
-    DEBUGm1 (("rrdeg "ID" fncols "ID"\n", rrdeg, fncols)) ;
-    fncols = rrdeg ;
-    Work->fncols = fncols ;
-
-    /* ---------------------------------------------------------------------- */
-    /* clear the frontal matrix */
-    /* ---------------------------------------------------------------------- */
-
-    ASSERT (fnrows == Work->fnrows_new + 1) ;
-    ASSERT (fncols == Work->fncols_new + 1) ;
-
-    Fcblock = Work->Fcblock ;
-    ASSERT (Fcblock != (Entry *) NULL) ;
-
-    zero_init_front (fncols, fnrows, Fcblock, fnr_curr) ;
-
-#ifndef NDEBUG
-    DEBUG3 (("New Pivot row "ID" now in front, length "ID" fnr_curr "ID"\n",
-		Work->pivrow, fncols, fnr_curr)) ;
-    for (j = 0 ; j < fncols ; j++)
-    {
-	DEBUG4 (("col "ID" position "ID"\n", j, Fcols [j])) ;
-	ASSERT (Fcpos [Fcols [j]] == j * fnr_curr) ;
-    }
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* current workspace usage: */
-    /* ---------------------------------------------------------------------- */
-
-    /* Fcblock [0..fnr_curr-1, 0..fnc_curr-1]: space for the new frontal
-     * matrix.  Fcblock (i,j) is located at Fcblock [i+j*fnr_curr] */
-
-    return (TRUE) ;
-
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_init_front.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL Int UMF_init_front
-(
-    NumericType *Numeric,
-    WorkType *Work
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_internal.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,760 +0,0 @@
-/* ========================================================================== */
-/* === umf_internal.h ======================================================= */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    This file is for internal use in UMFPACK itself, and should not be included
-    in user code.  Use umfpack.h instead.  User-accessible file names and
-    routine names all start with the letters "umfpack_".  Non-user-accessible
-    file names and routine names all start with "umf_".
-*/
-
-#ifndef _UMF_INTERNAL
-#define _UMF_INTERNAL
-
-/* -------------------------------------------------------------------------- */
-/* ANSI standard include files */
-/* -------------------------------------------------------------------------- */
-
-/* from float.h:  DBL_EPSILON */
-#include <float.h>
-
-/* from string.h: strcmp */
-#include <string.h>
-
-/* when debugging, assert.h and the assert macro are used (see umf_dump.h) */
-
-/* -------------------------------------------------------------------------- */
-/* Architecture */
-/* -------------------------------------------------------------------------- */
-
-#if defined (__sun) || defined (MSOL2) || defined (ARCH_SOL2)
-#define UMF_SOL2
-#define UMFPACK_ARCHITECTURE "Sun Solaris"
-
-#elif defined (__sgi) || defined (MSGI) || defined (ARCH_SGI)
-#define UMF_SGI
-#define UMFPACK_ARCHITECTURE "SGI Irix"
-
-#elif defined (__linux) || defined (MGLNX86) || defined (ARCH_GLNX86)
-#define UMF_LINUX
-#define UMFPACK_ARCHITECTURE "Linux"
-
-#elif defined (_AIX) || defined (MIBM_RS) || defined (ARCH_IBM_RS)
-#define UMF_AIX
-#define UMFPACK_ARCHITECTURE "IBM AIX"
-
-#elif defined (__alpha) || defined (MALPHA) || defined (ARCH_ALPHA)
-#define UMF_ALPHA
-#define UMFPACK_ARCHITECTURE "Compaq Alpha"
-
-#elif defined (__WIN32) || defined (_WIN32) || defined (_win32) || defined (__win32) || defined (WIN32)
-#define UMF_WINDOWS
-#define UMFPACK_ARCHITECTURE "Microsoft Windows"
-
-#elif defined (__hppa) || defined (__hpux) || defined (MHPUX) || defined (ARCH_HPUX)
-#define UMF_HP
-#define UMFPACK_ARCHITECTURE "HP Unix"
-
-#elif defined (__hp700) || defined (MHP700) || defined (ARCH_HP700)
-#define UMF_HP
-#define UMFPACK_ARCHITECTURE "HP 700 Unix"
-
-#else
-/* If the architecture is unknown, and you call the BLAS, you may need to */
-/* define BLAS_BY_VALUE, BLAS_NO_UNDERSCORE, and/or BLAS_CHAR_ARG yourself. */
-#define UMFPACK_ARCHITECTURE "unknown"
-#endif
-
-
-/* -------------------------------------------------------------------------- */
-/* basic definitions (see also amd_internal.h) */
-/* -------------------------------------------------------------------------- */
-
-#define ONES_COMPLEMENT(r) (-(r)-1)
-
-/* -------------------------------------------------------------------------- */
-/* AMD include file */
-/* -------------------------------------------------------------------------- */
-
-/* stdio.h, stdlib.h, limits.h, and math.h, NDEBUG definition,
- * assert.h, and MATLAB include files */
-#include "amd_internal.h"
-
-/* -------------------------------------------------------------------------- */
-/* Real/complex and int/long definitions, double relops */
-/* -------------------------------------------------------------------------- */
-
-#include "umf_version.h"
-
-/* -------------------------------------------------------------------------- */
-/* Compile-time configurations */
-/* -------------------------------------------------------------------------- */
-
-#include "umf_config.h"
-
-/* -------------------------------------------------------------------------- */
-/* umfpack include file */
-/* -------------------------------------------------------------------------- */
-
-#include "umfpack.h"
-
-/* -------------------------------------------------------------------------- */
-/* for contents of Info.  This must correlate with umfpack.h */
-/* -------------------------------------------------------------------------- */
-
-#define ESTIMATE (UMFPACK_NUMERIC_SIZE_ESTIMATE - UMFPACK_NUMERIC_SIZE)
-#define ACTUAL 0
-
-/* -------------------------------------------------------------------------- */
-/* get a parameter from the Control array */
-/* -------------------------------------------------------------------------- */
-
-#define GET_CONTROL(i,default) \
-    ((Control != (double *) NULL) ? \
-	(SCALAR_IS_NAN (Control [i]) ? default : Control [i]) \
-	: default)
-
-/* -------------------------------------------------------------------------- */
-/* for clearing the external degree counters */
-/* -------------------------------------------------------------------------- */
-
-#define MAX_MARK(n) Int_MAX - (2*(n)+1)
-
-/* -------------------------------------------------------------------------- */
-/* convert number of Units to MBytes */
-/* -------------------------------------------------------------------------- */
-
-#define MBYTES(units) (((units) * sizeof (Unit)) / 1048576.0)
-
-/* -------------------------------------------------------------------------- */
-/* dense row/column macro */
-/* -------------------------------------------------------------------------- */
-
-/* In order for a row or column to be treated as "dense", it must have more */
-/* entries than the value returned by this macro.  n is the dimension of the */
-/* matrix, and alpha is the dense row/column control parameter. */
-
-/* Note: this is not defined if alpha is NaN or Inf: */
-#define UMFPACK_DENSE_DEGREE_THRESHOLD(alpha,n) \
-    ((Int) MAX (16.0, (alpha) * 16.0 * sqrt ((double) (n))))
-
-/* -------------------------------------------------------------------------- */
-/* PRINTF */
-/* -------------------------------------------------------------------------- */
-
-#define PRINTFk(k,params) { if (prl >= (k)) { PRINTF (params) ; } }
-#define PRINTF1(params) PRINTFk (1, params)
-#define PRINTF2(params) PRINTFk (2, params)
-#define PRINTF3(params) PRINTFk (3, params)
-#define PRINTF4(params) PRINTFk (4, params)
-#define PRINTF5(params) PRINTFk (5, params)
-#define PRINTF6(params) PRINTFk (6, params)
-
-/* -------------------------------------------------------------------------- */
-/* Fixed control parameters */
-/* -------------------------------------------------------------------------- */
-
-/* maximum number of columns to consider at one time, in a single front */
-#define MAX_CANDIDATES 128
-
-/* reduce Numeric->Memory request by this ratio, if allocation fails */
-#define UMF_REALLOC_REDUCTION (0.95)
-
-/* increase Numeric->Memory request by this ratio, if we need more */
-#define UMF_REALLOC_INCREASE (1.2)
-
-/* increase the dimensions of the current frontal matrix by this factor
- * when it needs to grow. */
-#define UMF_FRONTAL_GROWTH (1.2)
-
-/* largest BLAS block size permitted */
-#define MAXNB 64
-
-/* if abs (y) < RECIPROCAL_TOLERANCE, then compute x/y.  Otherwise x*(1/y).
- * Ignored if NRECIPROCAL is defined */
-#define RECIPROCAL_TOLERANCE 1e-12
-
-/* -------------------------------------------------------------------------- */
-/* Memory allocator */
-/* -------------------------------------------------------------------------- */
-
-/* The MATLAB mexFunction uses MATLAB's memory manager, while the C-callable
- * AMD library uses the ANSI C malloc, free, and realloc routines.  To use
- * the mx* memory allocation routines, use -DNUTIL when compiling.
- */
-
-#undef ALLOCATE
-#undef FREE
-#undef REALLOC
-
-#ifdef MATLAB_MEX_FILE
-
-#ifdef NUTIL
-
-/* These functions simply terminate the mexFunction if they fail to allocate
- * memory.  That's too restrictive for UMFPACK. */
-#define ALLOCATE mxMalloc
-#define FREE mxFree
-#define REALLOCATE mxRealloc
-
-#else
-
-/* Use internal MATLAB memory allocation routines, used by built-in MATLAB
- * functions.  These are not documented, but are available for use.  Their
- * prototypes are in util.h, but that file is not provided to the MATLAB user.
- * The advantage of using these routines is that they return NULL if out of
- * memory, instead of terminating the mexFunction.  UMFPACK attempts to allocate
- * extra space for "elbow room", and then reduces its request if the memory is
- * not available.  That strategy doesn't work with the mx* routines.
- */
-void *utMalloc (size_t size) ;
-void utFree (void *p) ;
-void *utRealloc (void *p, size_t size) ;
-#define ALLOCATE utMalloc
-#define FREE utFree
-#define REALLOCATE utRealloc
-
-#endif
-#else
-#ifdef MATHWORKS
-
-/* Compiling as a built-in routine.  Since out-of-memory conditions are checked
- * after every allocation, we can use ut* routines here. */
-#define ALLOCATE utMalloc
-#define FREE utFree
-#define REALLOCATE utRealloc
-
-#else
-
-/* use the ANSI C memory allocation routines */
-#define ALLOCATE malloc
-#define FREE free
-#define REALLOCATE realloc
-
-#endif
-#endif
-
-/* -------------------------------------------------------------------------- */
-/* Memory space definitions */
-/* -------------------------------------------------------------------------- */
-
-/* for memory alignment - assume double has worst case alignment */
-typedef double Align ;
-
-/* get number of bytes required to hold n items of a type: */
-/* note that this will not overflow, because sizeof (type) is always */
-/* greater than or equal to sizeof (Int) >= 2 */
-#define BYTES(type,n) (sizeof (type) * (n))
-
-/* ceiling of (b/u).  Assumes b >= 0 and u > 0 */
-#define CEILING(b,u) (((b) + (u) - 1) / (u))
-
-/* get number of Units required to hold n items of a type: */
-#define UNITS(type,n) (CEILING (BYTES (type, n), sizeof (Unit)))
-
-/* same as DUNITS, but use double instead of int to avoid overflow */
-#define DUNITS(type,n) (ceil (BYTES (type, (double) n) / sizeof (Unit)))
-
-union Unit_union
-{	/* memory is allocated in multiples of Unit */
-    struct
-    {
-	Int
-	    size,	/* size, in Units, of the block, excl. header block */
-			/* size >= 0: block is in use */
-			/* size < 0: block is free, of |size| Units */
-	    prevsize ;	/* size, in Units, of preceding block in S->Memory */
-			/* during garbage_collection, prevsize is set to -e-1 */
-			/* for element e, or positive (and thus a free block) */
-			/* otherwise */
-    } header ;		/* block header */
-    Align  xxxxxx ;	/* force alignment of blocks (xxxxxx is never used) */
-} ;
-
-typedef union Unit_union Unit ;
-
-/* get the size of an allocated block */
-#define GET_BLOCK_SIZE(p) (((p)-1)->header.size)
-
-/* -------------------------------------------------------------------------- */
-/* Numeric */
-/* -------------------------------------------------------------------------- */
-
-/*
-    NUMERIC_VALID and SYMBOLIC_VALID:
-    The different values of SYBOLIC_VALID and NUMERIC_VALID are chosen as a
-    first defense against corrupted *Symbolic or *Numeric pointers passed to an
-    UMFPACK routine.  They also ensure that the objects are used only by the
-    same version that created them (umfpack_di_*, umfpack_dl_*, umfpack_zi_*,
-    or umfpack_zl_*).  The values have also been changed since prior releases of
-    the code to ensure that all routines that operate on the objects are of the
-    same release.  The values themselves are purely arbitrary.  The are less
-    than the ANSI C required minimums of INT_MAX and LONG_MAX, respectively.
-*/
-
-#ifdef DINT
-#define NUMERIC_VALID  15977
-#define SYMBOLIC_VALID 41937
-#endif
-#ifdef DLONG
-#define NUMERIC_VALID  399789720
-#define SYMBOLIC_VALID 399192713
-#endif
-#ifdef ZINT
-#define NUMERIC_VALID  17957
-#define SYMBOLIC_VALID 40927
-#endif
-#ifdef ZLONG
-#define NUMERIC_VALID  129987754
-#define SYMBOLIC_VALID 110291734
-#endif
-
-typedef struct	/* NumericType */
-{
-    double
-	flops,		/* "true" flop count */
-	relpt,		/* relative pivot tolerance used */
-	relpt2,		/* relative pivot tolerance used for sym. */
-	droptol,
-	alloc_init,	/* initial allocation of Numeric->memory */
-	front_alloc_init, /* frontal matrix allocation parameter */
-	rsmin,		/* smallest row sum */
-	rsmax,		/* largest row sum  */
-	min_udiag,	/* smallest abs value on diagonal of D */
-	max_udiag,	/* smallest abs value on diagonal of D */
-	rcond ;		/* min (D) / max (D) */
-
-    Int
-	scale ;
-
-    Int valid ;		/* set to NUMERIC_VALID, for validity check */
-
-    /* Memory space for A and LU factors */
-    Unit
-	*Memory ;	/* working memory for A and LU factors */
-    Int
-	ihead,		/* pointer to tail of LU factors, in Numeric->Memory */
-	itail,		/* pointer to top of elements & tuples,  */
-			/* in Numeric->Memory */
-	ibig,		/* pointer to largest free block seen in tail */
-	size ;		/* size of Memory, in Units */
-
-    Int
-	*Rperm,		/* pointer to row perm array, size: n+1 */
-			/* after UMF_kernel:  Rperm [new] = old */
-			/* during UMF_kernel: Rperm [old] = new */
-	*Cperm,		/* pointer to col perm array, size: n+1 */
-			/* after UMF_kernel:  Cperm [new] = old */
-			/* during UMF_kernel: Cperm [old] = new */
-
-	*Upos,		/* see UMFPACK_get_numeric for a description */
-	*Lpos,
-	*Lip,
-	*Lilen,
-	*Uip,
-	*Uilen,
-	*Upattern ;	/* pattern of last row of U (if singular) */
-
-    Int
-	ulen,		/* length of Upattern */
-	npiv,		/* number of structural pivots found (sprank approx) */
-	nnzpiv ;	/* number of numerical (nonzero) pivots found */
-
-    Entry
-	*D ;		/* D [i] is the diagonal entry of U */
-
-    Int do_recip ;
-    double *Rs ;	/* scale factors for the rows of A and b */
-			/* do_recip FALSE: Divide row i by Rs [i] */
-			/* do_recip TRUE:  Multiply row i by Rs [i] */
-
-    Int
-	n_row, n_col,	/* A is n_row-by-n_row */
-	n1 ;		/* number of singletons */
-
-    /* for information only: */
-    Int
-	tail_usage,	/* amount of memory allocated in tail */
-			/* head_usage is Numeric->ihead */
-	init_usage,	/* memory usage just after UMF_kernel_init */
-	max_usage,	/* peak memory usage (excludes internal and external */
-			/* fragmentation in the tail) */
-	ngarbage,	/* number of garbage collections performed */
-	nrealloc,	/* number of reallocations performed */
-	ncostly,	/* number of costly reallocations performed */
-	isize,		/* size of integer pattern of L and U */
-	nLentries,	/* number of entries in L, excluding diagonal */
-	nUentries,	/* number of entries in U, including diagonal */
-			/* Some entries may be numerically zero. */
-	lnz,		/* number of nonzero entries in L, excl. diagonal */
-	all_lnz,	/* lnz plus entries dropped from L */
-	unz,		/* number of nonzero entries in U, excl. diagonal */
-	all_unz,	/* unz plus entries dropped form U */
-	maxfrsize ;	/* largest actual front size */
-
-    Int maxnrows, maxncols ;	/* not the same as Symbolic->maxnrows/cols* */
-
-} NumericType ;
-
-
-
-/* -------------------------------------------------------------------------- */
-/* Element tuples for connecting elements together in a matrix */
-/* -------------------------------------------------------------------------- */
-
-typedef struct	/* Tuple */
-{
-    /* The (e,f) tuples for the element lists */
-    Int
-	e,		/* element */
-	f ;		/* contribution to the row/col appears at this offset */
-
-} Tuple ;
-
-#define TUPLES(t) MAX (4, (t) + 1)
-
-/* Col_degree is aliased with Cperm, and Row_degree with Rperm */
-#define NON_PIVOTAL_COL(col) (Col_degree [col] >= 0)
-#define NON_PIVOTAL_ROW(row) (Row_degree [row] >= 0)
-
-/* -------------------------------------------------------------------------- */
-/* An element */
-/* -------------------------------------------------------------------------- */
-
-typedef struct	/* Element */
-{
-    Int
-
-	cdeg,		/* external column degree + cdeg0 offset */
-	rdeg,		/* external row degree    + rdeg0 offset */
-	nrowsleft,	/* number of rows remaining */
-	ncolsleft,	/* number of columns remaining */
-	nrows,		/* number of rows */
-	ncols,		/* number of columns */
-	next ;		/* for list link of sons, used during assembly only */
-
-    /* followed in memory by:
-    Int
-	col [0..ncols-1],	column indices of this element
-	row [0..nrows-1] ;	row indices of this element
-    Entry			(suitably aligned, see macro below)
-	C [0...nrows-1, 0...ncols-1] ;
-	size of C is nrows*ncols Entry's
-    */
-
-} Element ;
-
-/* macros for computing pointers to row/col indices, and contribution block: */
-
-#define GET_ELEMENT_SIZE(nr,nc) \
-(UNITS (Element, 1) + UNITS (Int, (nc) + (nr)) + UNITS (Entry, (nc) * (nr)))
-
-#define DGET_ELEMENT_SIZE(nr,nc) \
-(DUNITS (Element, 1) + DUNITS (Int, (nc) + (nr)) + DUNITS (Entry, (nc) * (nr)))
-
-#define GET_ELEMENT_COLS(ep,p,Cols) { \
-    ASSERT (p != (Unit *) NULL) ; \
-    ASSERT (p >= Numeric->Memory + Numeric->itail) ; \
-    ASSERT (p <= Numeric->Memory + Numeric->size) ; \
-    ep = (Element *) p ; \
-    p += UNITS (Element, 1) ; \
-    Cols = (Int *) p ; \
-}
-
-#define GET_ELEMENT_PATTERN(ep,p,Cols,Rows,ncm) { \
-    GET_ELEMENT_COLS (ep, p, Cols) ; \
-    ncm = ep->ncols ; \
-    Rows = Cols + ncm ; \
-}
-
-#define GET_ELEMENT(ep,p,Cols,Rows,ncm,nrm,C) { \
-    GET_ELEMENT_PATTERN (ep, p, Cols, Rows, ncm) ; \
-    nrm = ep->nrows ; \
-    p += UNITS (Int, ncm + nrm) ; \
-    C = (Entry *) p ; \
-}
-
-/* -------------------------------------------------------------------------- */
-/* Work data structure */
-/* -------------------------------------------------------------------------- */
-
-/*
-    This data structure holds items needed only during factorization.
-    All of this is freed when UMFPACK_numeric completes.  Note that some of
-    it is stored in the tail end of Numeric->S (namely, the Tuples and the
-    Elements).
-*/
-
-typedef struct	/* WorkType */
-{
-
-    /* ---------------------------------------------------------------------- */
-    /* information about each row and col of A */
-    /* ---------------------------------------------------------------------- */
-
-    /*
-	Row_tuples:	pointer to tuple list (alias with Numeric->Uip)
-	Row_tlen:	number of tuples (alias with Numeric->Uilen)
-	Col_tuples:	pointer to tuple list (alias with Numeric->Lip)
-	Col_tlen:	number of tuples (alias with Numeric->Lilen)
-	Row_degree:	degree of the row or column (alias Numeric->Rperm)
-	Col_degree:	degree of the row or column (alias Numeric->Cperm)
-
-	The Row_degree and Col_degree are MATLAB-style colmmd approximations,
-	are equal to the sum of the sizes of the elements (contribution blocks)
-	in each row and column.  They are maintained when elements are created
-	and assembled.  They are used only during the pivot row and column
-	search.  They are not needed to represent the pattern of the remaining
-	matrix.
-    */
-
-    /* ---------------------------------------------------------------------- */
-    /* information about each element */
-    /* ---------------------------------------------------------------------- */
-
-    Int	*E ;		/* E [0 .. Work->elen-1] element "pointers" */
-			/* (offsets in Numeric->Memory) */
-
-    /* ---------------------------------------------------------------------- */
-    /* generic workspace */
-    /* ---------------------------------------------------------------------- */
-
-    Entry *Wx, *Wy ;	/* each of size maxnrows+1 */
-
-    Int			/* Sizes:  nn = MAX (n_row, n_col) */
-	*Wp,		/* nn+1 */
-	*Wrp,		/* n_col+1 */
-	*Wm,		/* maxnrows+1 */
-	*Wio,		/* maxncols+1 */
-	*Woi,		/* maxncols+1 */
-	*Woo,		/* MAX (maxnrows,maxncols)+1 */
-	*Wrow,		/* pointer to Fcols, Wio, or Woi */
-	*NewRows,	/* list of rows to scan */
-	*NewCols ;	/* list of cols to scan */
-
-    /* ---------------------------------------------------------------------- */
-
-    Int
-	*Lpattern,	/* pattern of column of L, for one Lchain */
-	*Upattern,	/* pattern of row of U, for one Uchain */
-	ulen, llen ;	/* length of Upattern and Lpattern */
-
-    Int
-	*Diagonal_map,	/* used for symmetric pivoting, of size nn+1 */
-	*Diagonal_imap ;/* used for symmetric pivoting, of size nn+1 */
-
-    /* ---------------------------------------------------------------------- */
-
-    Int
-	n_row, n_col,	/* matrix is n_row-by-n_col */
-	nz,		/* nonzeros in the elements for this matrix */
-	n1,		/* number of row and col singletons */
-	elen,		/* max possible number of elements */
-	npiv,		/* number of pivot rows and columns so far */
-	ndiscard,	/* number of discarded pivot columns */
-	Wrpflag,
-	nel,		/* elements in use are in the range 1..nel */
-	noff_diagonal,
-	prior_element,
-	rdeg0, cdeg0,
-	rrdeg, ccdeg,
-	Candidates [MAX_CANDIDATES],	 /* current candidate pivot columns */
-	nCandidates,	/* number of candidates in Candidate set */
-	ksuper,
-	firstsuper,
-	jsuper,
-	ncand,		/* number of candidates (some not in Candidates[ ]) */
-	nextcand,	/* next candidate to place in Candidate search set */
-	lo,
-	hi,
-	pivrow,		/* current pivot row */
-	pivcol,		/* current pivot column */
-	do_extend,	/* true if the next pivot extends the current front */
-	do_update,	/* true if update should be applied */
-	nforced,	/* number of forced updates because of frontal growth */
-	any_skip,
-	do_scan2row,
-	do_scan2col,
-	do_grow,
-	pivot_case,
-	frontid,	/* id of current frontal matrix */
-	nfr ;		/* number of frontal matrices */
-
-    /* ---------------------------------------------------------------------- */
-    /* For row-merge tree */
-    /* ---------------------------------------------------------------------- */
-
-    Int
-	*Front_new1strow ;
-
-    /* ---------------------------------------------------------------------- */
-    /* current frontal matrix, F */
-    /* ---------------------------------------------------------------------- */
-
-    Int Pivrow [MAXNB],
-	Pivcol [MAXNB] ;
-
-    Entry
-	*Flublock,	/* LU block, nb-by-nb */
-	*Flblock,	/* L block,  fnr_curr-by-nb */
-	*Fublock,	/* U block,  nb-by-fnc_curr, or U' fnc_curr-by-nb */
-	*Fcblock ;	/* C block,  fnr_curr-by-fnc_curr */
-
-    Int
-	*Frows,		/* Frows [0.. ]: row indices of F */
-
-	*Fcols,		/* Fcols [0.. ]: column indices of F */
-
-	*Frpos,		/* position of row indices in F, or -1 if not present */
-			/* if Frows[i] == row, then Frpos[row] == i */
-
-	*Fcpos,		/* position of col indices in F, or -1 if not present */
-			/* if Fcols[j] == col, then */
-			/* Fcpos[col] == j*Work->fnr_curr */
-
-	fnrows,		/* number of rows in contribution block in F */
-	fncols,		/* number of columns in contribution block in F */
-	fnr_curr,	/* maximum # of rows in F (leading dimension) */
-	fnc_curr,	/* maximum # of columns in F */
-	fcurr_size,	/* current size of F */
-	fnrows_max,	/* max possible column-dimension (max # of rows) of F */
-	fncols_max,	/* max possible row-dimension (max # of columns) of F */
-	nb,
-	fnpiv,		/* number of pivots in F */
-	fnzeros,	/* number of explicit zero entries in LU block */
-	fscan_row,	/* where to start scanning rows of F in UMF_assemble */
-	fscan_col,	/* where to start scanning cols of F in UMF_assemble */
-	fnrows_new,	/* number of new row indices in F after pivot added */
-	fncols_new,	/* number of new col indices in F after pivot added */
-	pivrow_in_front,	/* true if current pivot row in Frows */
-	pivcol_in_front ;	/* true if current pivot column in Fcols */
-
-    /* ----------------------------------------------------------------------
-     * Current frontal matrix
-     * ----------------------------------------------------------------------
-     * The current frontal matrix is held as a single block of memory allocated
-     * from the "tail" end of Numeric->Memory.  It is subdivided into four
-     * parts: an LU block, an L block, a U block, and a C block.
-     *
-     * Let k = fnpiv, r = fnrows, and c = fncols for the following discussion.
-     * Let dr = fnr_curr and dc = fnc_curr.  Note that r <= dr and c <= dc.
-     *
-     * The LU block is of dimension nb-by-nb.  The first k-by-k part holds the
-     * "diagonal" part of the LU factors for these k pivot rows and columns.
-     * The k pivot row and column indices in this part are Pivrow [0..k-1] and
-     * Pivcol [0..k-1], respectively.
-     *
-     * The L block is of dimension dr-by-nb.  It holds the k pivot columns,
-     * except for the leading k-by-k part in the LU block.  Only the leading
-     * r-by-k part is in use.
-     *
-     * The U block is of dimension dc-by-nb.  It holds the k pivot rows,
-     * except for the leading k-by-k part in the LU block.  It is stored in
-     * row-oriented form.  Only the leading c-by-k part is in use.
-     *
-     * The C block is of dimension dr-by-dc.  It holds the current contribution
-     * block.  Only the leading r-by-c part is in use.  The column indices in
-     * the C block are Fcols [0..c-1], and the row indices are Frows [0..r-1].
-     *
-     * dr is always odd, to avoid bad cache behavior.
-     */
-
-} WorkType ;
-
-
-/* -------------------------------------------------------------------------- */
-/* Symbolic */
-/* -------------------------------------------------------------------------- */
-
-/*
-    This is is constructed by UMFPACK_symbolic, and is needed by UMFPACK_numeric
-    to factor the matrix.
-*/
-
-typedef struct	/* SymbolicType */
-{
-
-    double
-	num_mem_usage_est,	/* estimated max Numeric->Memory size */
-	num_mem_size_est,	/* estimated final Numeric->Memory size */
-	peak_sym_usage,		/* peak Symbolic and SymbolicWork usage */
-	sym,			/* symmetry of pattern */
-	dnum_mem_init_usage,	/* min Numeric->Memory for UMF_kernel_init */
-	amd_lunz,	/* nz in LU for AMD, with symmetric pivoting */
-	lunz_bound ;	/* max nx in LU, for arbitrary row pivoting */
-
-    Int valid,		/* set to SYMBOLIC_VALID, for validity check */
-	max_nchains,
-	nchains,
-	*Chain_start,
-	*Chain_maxrows,
-	*Chain_maxcols,
-	maxnrows,		/* largest number of rows in any front */
-	maxncols,		/* largest number of columns in any front */
-	*Front_npivcol,		/* Front_npivcol [j] = size of jth supercolumn*/
-	*Front_1strow,		/* first row index in front j */
-	*Front_leftmostdesc,	/* leftmost desc of front j */
-	*Front_parent,		/* super-column elimination tree */
-	*Cperm_init,		/* initial column ordering */
-	*Rperm_init,		/* initial row ordering */
-	*Cdeg, *Rdeg,
-	*Esize,
-	dense_row_threshold,
-	n1,			/* number of singletons */
-	nempty,			/* MIN (nempty_row, nempty_col) */
-	*Diagonal_map,		/* initial "diagonal" (after 2by2) */
-	esize,			/* size of Esize array */
-	nfr,
-	n_row, n_col,		/* matrix A is n_row-by-n_col */
-	nz,			/* nz of original matrix */
-	nb,			/* block size for BLAS 3 */
-	num_mem_init_usage,	/* min Numeric->Memory for UMF_kernel_init */
-	nempty_row, nempty_col,
-
-	strategy,
-	ordering,
-	fixQ,
-	prefer_diagonal,
-	nzaat,
-	nzdiag,
-	amd_dmax ;
-
-} SymbolicType ;
-
-
-/* -------------------------------------------------------------------------- */
-/* for debugging only: */
-/* -------------------------------------------------------------------------- */
-
-#include "umf_dump.h"
-
-/* -------------------------------------------------------------------------- */
-/* for statement coverage testing only: */
-/* -------------------------------------------------------------------------- */
-
-#ifdef TESTING
-
-/* for testing integer overflow: */
-#ifdef TEST_FOR_INTEGER_OVERFLOW
-#undef MAX_MARK
-#define MAX_MARK(n) (3*(n))
-#endif
-
-/* for testing out-of-memory conditions: */
-#define UMF_TCOV_TEST
-GLOBAL extern int umf_fail, umf_fail_lo, umf_fail_hi ;
-GLOBAL extern int umf_realloc_fail, umf_realloc_lo, umf_realloc_hi ;
-
-/* for testing malloc count: */
-#define UMF_MALLOC_COUNT
-
-#endif
-
-#endif
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_is_permutation.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/* ========================================================================== */
-/* === UMF_is_permutation =================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/* Return TRUE if P is a r-permutation vector, FALSE otherwise */
-/* P [0..r-1] must be an r-permutation of 0..n-1 */
-
-#include "umf_internal.h"
-
-GLOBAL Int UMF_is_permutation
-(
-    const Int P [ ],	/* permutation of size r */
-    Int W [ ],		/* workspace of size n */
-    Int n,
-    Int r
-)
-{
-    Int i, k ;
-
-    if (!P)
-    {
-	/* if P is (Int *) NULL, this is the identity permutation */
-	return (TRUE) ;
-    }
-
-    ASSERT (W != (Int *) NULL) ;
-
-    for (i = 0 ; i < n ; i++)
-    {
-	W [i] = FALSE ;
-    }
-    for (k = 0 ; k < r ; k++)
-    {
-	i = P [k] ;
-	DEBUG5 (("k "ID" i "ID"\n", k, i)) ;
-	if (i < 0 || i >= n)
-	{
-	    DEBUG0 (("i out of range "ID" "ID"\n", i, n)) ;
-	    return (FALSE) ;
-	}
-	if (W [i])
-	{
-	    DEBUG0 (("i duplicate "ID"\n", i)) ;
-	    return (FALSE) ;
-	}
-	W [i] = TRUE ;
-    }
-    return (TRUE) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_is_permutation.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL Int UMF_is_permutation
-(
-    const Int P [ ],
-    Int W [ ],
-    Int n,
-    Int r
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_kernel.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,299 +0,0 @@
-/* ========================================================================== */
-/* === UMF_kernel =========================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    Primary factorization routine.   Called by UMFPACK_numeric.
-    Returns:
-	UMFPACK_OK if successful,
-	UMFPACK_ERROR_out_of_memory if out of memory, or
-	UMFPACK_ERROR_different_pattern if pattern of matrix (Ap and/or Ai)
-	   has changed since the call to UMFPACK_*symbolic.
-*/
-
-#include "umf_internal.h"
-#include "umf_kernel_init.h"
-#include "umf_init_front.h"
-#include "umf_start_front.h"
-#include "umf_assemble.h"
-#include "umf_scale_column.h"
-#include "umf_local_search.h"
-#include "umf_create_element.h"
-#include "umf_extend_front.h"
-#include "umf_blas3_update.h"
-#include "umf_store_lu.h"
-#include "umf_kernel_wrapup.h"
-
-/* perform an action, and return if out of memory */
-#define DO(action) { if (! (action)) { return (UMFPACK_ERROR_out_of_memory) ; }}
-
-GLOBAL Int UMF_kernel
-(
-    const Int Ap [ ],
-    const Int Ai [ ],
-    const double Ax [ ],
-#ifdef COMPLEX
-    const double Az [ ],
-#endif
-    NumericType *Numeric,
-    WorkType *Work,
-    SymbolicType *Symbolic
-)
-{
-
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    Int j, f1, f2, chain, nchains, *Chain_start, status, fixQ, evaporate,
-	*Front_npivcol, jmax, nb, drop ;
-
-    /* ---------------------------------------------------------------------- */
-    /* initialize memory space and load the matrix. Optionally scale. */
-    /* ---------------------------------------------------------------------- */
-
-    if (!UMF_kernel_init (Ap, Ai, Ax,
-#ifdef COMPLEX
-	Az,
-#endif
-	Numeric, Work, Symbolic))
-    {
-	/* UMF_kernel_init is guaranteed to succeed, since UMFPACK_numeric */
-	/* either allocates enough space or if not, UMF_kernel does not get */
-	/* called.  So running out of memory here is a fatal error, and means */
-	/* that the user changed Ap and/or Ai since the call to */
-	/* UMFPACK_*symbolic. */
-	DEBUGm4 (("kernel init failed\n")) ;
-	return (UMFPACK_ERROR_different_pattern) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* get the symbolic factorization */
-    /* ---------------------------------------------------------------------- */
-
-    nchains = Symbolic->nchains ;
-    Chain_start = Symbolic->Chain_start ;
-    Front_npivcol = Symbolic->Front_npivcol ;
-    nb = Symbolic->nb ;
-    fixQ = Symbolic->fixQ ;
-    drop = Numeric->droptol > 0.0 ;
-
-#ifndef NDEBUG
-    for (chain = 0 ; chain < nchains ; chain++)
-    {
-	Int i ;
-	f1 = Chain_start [chain] ;
-	f2 = Chain_start [chain+1] - 1 ;
-	DEBUG1 (("\nCHain: "ID" start "ID" end "ID"\n", chain, f1, f2)) ;
-	for (i = f1 ; i <= f2 ; i++)
-	{
-	    DEBUG1 (("Front "ID", npivcol "ID"\n", i, Front_npivcol [i])) ;
-	}
-    }
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* factorize each chain of frontal matrices */
-    /* ---------------------------------------------------------------------- */
-
-    for (chain = 0 ; chain < nchains ; chain++)
-    {
-	f1 = Chain_start [chain] ;
-	f2 = Chain_start [chain+1] - 1 ;
-
-	/* ------------------------------------------------------------------ */
-	/* get the initial frontal matrix size for this chain */
-	/* ------------------------------------------------------------------ */
-
-	DO (UMF_start_front (chain, Numeric, Work, Symbolic)) ;
-
-	/* ------------------------------------------------------------------ */
-	/* factorize each front in the chain */
-	/* ------------------------------------------------------------------ */
-
-	for (Work->frontid = f1 ; Work->frontid <= f2 ; Work->frontid++)
-	{
-
-	    /* -------------------------------------------------------------- */
-	    /* Initialize the pivot column candidate set  */
-	    /* -------------------------------------------------------------- */
-
-	    Work->ncand = Front_npivcol [Work->frontid] ;
-	    Work->lo = Work->nextcand ;
-	    Work->hi = Work->nextcand + Work->ncand - 1 ;
-	    jmax = MIN (MAX_CANDIDATES, Work->ncand) ;
-	    DEBUGm1 ((">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Starting front "
-		ID", npivcol: "ID"\n", Work->frontid, Work->ncand)) ;
-	    if (fixQ)
-	    {
-		/* do not modify the column order */
-		jmax = 1 ;
-	    }
-	    DEBUGm1 (("Initial candidates: ")) ;
-	    for (j = 0 ; j < jmax ; j++)
-	    {
-		DEBUGm1 ((" "ID, Work->nextcand)) ;
-		ASSERT (Work->nextcand <= Work->hi) ;
-		Work->Candidates [j] = Work->nextcand++ ;
-	    }
-	    Work->nCandidates = jmax ;
-	    DEBUGm1 (("\n")) ;
-
-	    /* -------------------------------------------------------------- */
-	    /* Assemble and factorize the current frontal matrix */
-	    /* -------------------------------------------------------------- */
-
-	    while (Work->ncand > 0)
-	    {
-
-		/* ---------------------------------------------------------- */
-		/* get the pivot row and column */
-		/* ---------------------------------------------------------- */
-
-		status = UMF_local_search (Numeric, Work, Symbolic) ;
-		if (status == UMFPACK_ERROR_different_pattern)
-		{
-		    /* :: pattern change detected in umf_local_search :: */
-		    /* input matrix has changed since umfpack_*symbolic */
-		    DEBUGm4 (("local search failed\n")) ;
-		    return (UMFPACK_ERROR_different_pattern) ;
-		}
-		if (status == UMFPACK_WARNING_singular_matrix)
-		{
-		    /* no pivot found, discard and try again */
-		    continue ;
-		}
-
-		/* ---------------------------------------------------------- */
-		/* update if front not extended or too many zeros in L,U */
-		/* ---------------------------------------------------------- */
-
-		if (Work->do_update)
-		{
-		    UMF_blas3_update (Work) ;
-		    if (drop)
-		    {
-			DO (UMF_store_lu_drop (Numeric, Work)) ;
-		    }
-		    else
-		    {
-			DO (UMF_store_lu (Numeric, Work)) ;
-		    }
-		}
-
-		/* ---------------------------------------------------------- */
-		/* extend the frontal matrix, or start a new one */
-		/* ---------------------------------------------------------- */
-
-		if (Work->do_extend)
-		{
-		    /* extend the current front */
-		    DO (UMF_extend_front (Numeric, Work)) ;
-		}
-		else
-		{
-		    /* finish the current front (if any) and start a new one */
-		    DO (UMF_create_element (Numeric, Work, Symbolic)) ;
-		    DO (UMF_init_front (Numeric, Work)) ;
-		}
-
-		/* ---------------------------------------------------------- */
-		/* Numerical & symbolic assembly into current frontal matrix */
-		/* ---------------------------------------------------------- */
-
-		if (fixQ)
-		{
-		    UMF_assemble_fixq (Numeric, Work) ;
-		}
-		else
-		{
-		    UMF_assemble (Numeric, Work) ;
-		}
-
-		/* ---------------------------------------------------------- */
-		/* scale the pivot column */
-		/* ---------------------------------------------------------- */
-
-		UMF_scale_column (Numeric, Work) ;
-
-		/* ---------------------------------------------------------- */
-		/* Numerical update if enough pivots accumulated */
-		/* ---------------------------------------------------------- */
-
-		evaporate = Work->fnrows == 0 || Work->fncols == 0 ;
-		if (Work->fnpiv >= nb || evaporate)
-		{
-		    UMF_blas3_update (Work) ;
-		    if (drop)
-		    {
-			DO (UMF_store_lu_drop (Numeric, Work)) ;
-		    }
-		    else
-		    {
-			DO (UMF_store_lu (Numeric, Work)) ;
-		    }
-
-		}
-
-		Work->pivrow_in_front = FALSE ;
-		Work->pivcol_in_front = FALSE ;
-
-		/* ---------------------------------------------------------- */
-		/* If front is empty, evaporate it */
-		/* ---------------------------------------------------------- */
-
-		if (evaporate)
-		{
-		    /* This does not create an element, just evaporates it.
-		     * It ensures that a front is not 0-by-c or r-by-0.  No
-		     * memory is allocated, so it is guaranteed to succeed. */
-		    (void) UMF_create_element (Numeric, Work, Symbolic) ;
-		    Work->fnrows = 0 ;
-		    Work->fncols = 0 ;
-		}
-	    }
-	}
-
-	/* ------------------------------------------------------------------
-	 * Wrapup the current frontal matrix.  This is the last in a chain
-	 * in the column elimination tree.  The next frontal matrix
-	 * cannot overlap with the current one, which will be its sibling
-	 * in the column etree.
-	 * ------------------------------------------------------------------ */
-
-	UMF_blas3_update (Work) ;
-	if (drop)
-	{
-	    DO (UMF_store_lu_drop (Numeric, Work)) ;
-	}
-	else
-	{
-	    DO (UMF_store_lu (Numeric, Work)) ;
-	}
-	Work->fnrows_new = Work->fnrows ;
-	Work->fncols_new = Work->fncols ;
-	DO (UMF_create_element (Numeric, Work, Symbolic)) ;
-
-	/* ------------------------------------------------------------------ */
-	/* current front is now empty */
-	/* ------------------------------------------------------------------ */
-
-	Work->fnrows = 0 ;
-	Work->fncols = 0 ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* end the last Lchain and Uchain and finalize the LU factors */
-    /* ---------------------------------------------------------------------- */
-
-    UMF_kernel_wrapup (Numeric, Symbolic, Work) ;
-
-    /* note that the matrix may be singular (this is OK) */
-    return (UMFPACK_OK) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_kernel.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL Int UMF_kernel
-(
-    const Int Ap [ ],
-    const Int Ai [ ],
-    const double Ax [ ],
-#ifdef COMPLEX
-    const double Az [ ],
-#endif
-    NumericType *Numeric,
-    WorkType *Work,
-    SymbolicType *Symbolic
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_kernel_init.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1056 +0,0 @@
-/* ========================================================================== */
-/* === UMF_kernel_init ====================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    Initialize the kernel: scale the matrix, load the initial elements, and
-    build the tuple lists.
-
-    Returns TRUE if successful, FALSE if out of memory or if the pattern has
-    changed since UMFPACK_*symbolic.  UMFPACK_numeric allocates at least enough
-    space for UMF_kernel_init to succeed; otherwise it does not call
-    UMF_kernel_init.  So an out-of-memory condition means that the pattern must
-    have gotten larger.
-*/
-
-#include "umf_internal.h"
-#include "umf_tuple_lengths.h"
-#include "umf_build_tuples.h"
-#include "umf_mem_init_memoryspace.h"
-#include "umf_mem_alloc_element.h"
-#include "umf_mem_alloc_head_block.h"
-#include "umf_mem_alloc_tail_block.h"
-#include "umf_mem_free_tail_block.h"
-#include "umf_scale.h"
-
-/* ========================================================================== */
-/* === packsp =============================================================== */
-/* ========================================================================== */
-
-/* remove zero or small entries from a column of L or a row of U */
-
-PRIVATE Int packsp	/* returns new value of pnew */
-(
-    Int pnew,		/* index into Memory of next free space */
-    Int *p_p,		/* ptr to index of old pattern in Memory on input,
-			   new pattern on output */
-    Int *p_len,		/* ptr to length of old pattern on input,
-			   new pattern on output */
-    Int drop,		/* TRUE if small nonzero entries are to be dropped */
-    double droptol,	/* the drop tolerance */
-    Unit *Memory	/* contains the sparse vector on input and output */
-)
-{
-    Entry x ;
-    double s ;
-    Entry *Bx, *Bx2 ;
-    Int p, i, len, len_new, *Bi, *Bi2 ;
-
-    /* get the pointers to the sparse vector, and its length */
-    p = *p_p ;
-    len = *p_len ;
-    Bi = (Int   *) (Memory + p) ; p += UNITS (Int,   len) ;
-    Bx = (Entry *) (Memory + p) ; p += UNITS (Entry, len) ;
-    DEBUGm4 (("  p "ID" len "ID" pnew "ID"\n", p, len, pnew)) ;
-
-    /* the vector resides in Bi [0..len-1] and Bx [0..len-1] */
-
-    /* first, compact the vector in place */
-    len_new = 0 ;
-    for (p = 0 ; p < len ; p++)
-    {
-	i = Bi [p] ;
-	x = Bx [p] ;
-	DEBUGm4 (("    old vector: i "ID" value: ", i)) ;
-	EDEBUGk (-4, x) ;
-	DEBUGm4 (("\n")) ;
-	ASSERT (i >= 0) ;
-	/* skip if zero or below drop tolerance */
-	if (IS_ZERO (x)) continue ;
-	if (drop)
-	{
-	    APPROX_ABS (s, x) ;
-	    if (s <= droptol) continue ;
-	}
-	/* store the value back into the vector */
-	if (len_new != p)
-	{
-	    Bi [len_new] = i ;
-	    Bx [len_new] = x ;
-	}
-	len_new++ ;
-    }
-    ASSERT (len_new <= len) ;
-
-    /* the vector is now in Bi [0..len_new-1] and Bx [0..len_new-1] */
-
-#ifndef NDEBUG
-    for (p = 0 ; p < len_new ; p++)
-    {
-	DEBUGm4 (("    new vector: i "ID" value: ", Bi [p])) ;
-	EDEBUGk (-4, Bx [p]) ;
-	DEBUGm4 (("\n")) ;
-	ASSERT (Bi [p] >= 0) ;
-    }
-#endif
-
-    /* allocate new space for the compacted vector */
-    *p_p = pnew ;
-    *p_len = len_new ;
-    Bi2 = (Int   *) (Memory + pnew) ; pnew += UNITS (Int,   len_new) ;
-    Bx2 = (Entry *) (Memory + pnew) ; pnew += UNITS (Entry, len_new) ;
-    DEBUGm4 (("  pnew "ID" len_new "ID"\n", pnew, len_new)) ;
-
-    /* shift the vector upwards, into its new space */
-    for (p = 0 ; p < len_new ; p++)
-    {
-	Bi2 [p] = Bi [p] ;
-    }
-    for (p = 0 ; p < len_new ; p++)
-    {
-	Bx2 [p] = Bx [p] ;
-    }
-
-#ifndef NDEBUG
-    for (p = 0 ; p < len_new ; p++)
-    {
-	DEBUGm4 (("    packed vec: i "ID" value: ", Bi2 [p])) ;
-	EDEBUGk (-4, Bx2 [p]) ;
-	DEBUGm4 (("\n")) ;
-	ASSERT (Bi2 [p] >= 0) ;
-    }
-#endif
-
-    /* return the pointer to the space just after the new vector */
-    return (pnew) ;
-}
-
-
-/* ========================================================================== */
-/* === UMF_kernel_init ====================================================== */
-/* ========================================================================== */
-
-GLOBAL Int UMF_kernel_init
-(
-    const Int Ap [ ],		/* user's input matrix (not modified) */
-    const Int Ai [ ],
-    const double Ax [ ],
-#ifdef COMPLEX
-    const double Az [ ],
-#endif
-    NumericType *Numeric,
-    WorkType *Work,
-    SymbolicType *Symbolic
-)
-{
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    Entry x, pivot_value ;
-    double unused = 0, rsmin, rsmax, rs, droptol ;
-    Entry *D, *C, *Lval, **Rpx ;
-    double *Rs ;
-    Int row, k, oldcol, size, e, p1, p2, p, nz, *Rows, *Cols, *E, i, *Upos,
-	*Lpos, n_row, n_col, *Wp, *Cperm_init, *Frpos, *Fcpos, *Row_degree, nn,
-	*Row_tlen, *Col_degree, *Col_tlen, oldrow, newrow, ilast, *Wrp,
-	*Rperm_init, col, n_inner, prefer_diagonal, *Diagonal_map, nempty,
-	*Diagonal_imap, fixQ, rdeg, cdeg, nempty_col, *Esize, esize, pnew,
-	*Lip, *Uip, *Lilen, *Uilen, llen, pa, *Cdeg, *Rdeg, n1, clen, do_scale,
-	lnz, unz, lip, uip, k1, *Rperm, *Cperm, pivcol, *Li, lilen, drop,
-	**Rpi, nempty_row, dense_row_threshold, empty_elements, rpi, rpx ;
-    Element *ep ;
-    Unit *Memory ;
-#ifdef COMPLEX
-    Int split = SPLIT (Az) ;
-#endif
-#ifndef NRECIPROCAL
-    Int do_recip = FALSE ;
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* get parameters */
-    /* ---------------------------------------------------------------------- */
-
-    DEBUG0 (("KERNEL INIT\n")) ;
-
-    n_row = Symbolic->n_row ;
-    n_col = Symbolic->n_col ;
-    nn = MAX (n_row, n_col) ;
-    n_inner = MIN (n_row, n_col) ;
-    nempty_col = Symbolic->nempty_col ;
-    nempty_row = Symbolic->nempty_row ;
-    nempty = MIN (nempty_row, nempty_col) ;
-    ASSERT (n_row > 0 && n_col > 0) ;
-    Cperm_init = Symbolic->Cperm_init ;
-    Rperm_init = Symbolic->Rperm_init ;
-    Cdeg = Symbolic->Cdeg ;
-    Rdeg = Symbolic->Rdeg ;
-    n1 = Symbolic->n1 ;
-    dense_row_threshold = Symbolic->dense_row_threshold ;
-    DEBUG0 (("Singletons: "ID"\n", n1)) ;
-    Work->nforced = 0 ;
-    Work->ndiscard = 0 ;
-    Work->noff_diagonal = 0 ;
-
-    nz = Ap [n_col] ;
-    if (nz < 0 || Ap [0] != 0 || nz != Symbolic->nz)
-    {
-	DEBUGm4 (("nz or Ap [0] bad\n")) ;
-	return (FALSE) ;	/* pattern changed */
-    }
-
-    prefer_diagonal = Symbolic->prefer_diagonal ;
-    Diagonal_map = Work->Diagonal_map ;
-    Diagonal_imap = Work->Diagonal_imap ;
-
-    /* ---------------------------------------------------------------------- */
-    /* initialize the Numeric->Memory space for LU, elements, and tuples */
-    /* ---------------------------------------------------------------------- */
-
-    UMF_mem_init_memoryspace (Numeric) ;
-    DEBUG1 (("Kernel init head usage, before allocs: "ID"\n", Numeric->ihead)) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* initialize the Work and Numeric objects */
-    /* ---------------------------------------------------------------------- */
-
-    /* current front is empty */
-    Work->fnpiv = 0 ;
-    Work->fncols = 0 ;
-    Work->fnrows = 0 ;
-    Work->fncols_max = 0 ;
-    Work->fnrows_max = 0 ;
-    Work->fnzeros = 0 ;
-    Work->fcurr_size = 0 ;
-    Work->fnr_curr = 0 ;
-    Work->fnc_curr = 0 ;
-
-    Work->nz = nz ;
-    Work->prior_element = EMPTY ;
-    Work->ulen = 0 ;
-    Work->llen = 0 ;
-    Work->npiv = n1 ;
-    Work->frontid = 0 ;
-    Work->nextcand = n1 ;
-
-    Memory = Numeric->Memory ;
-    Rperm = Numeric->Rperm ;
-    Cperm = Numeric->Cperm ;
-    Row_degree = Numeric->Rperm ;
-    Col_degree = Numeric->Cperm ;
-    /* Row_tuples = Numeric->Uip ; not needed */
-    Row_tlen   = Numeric->Uilen ;
-    /* Col_tuples = Numeric->Lip ; not needed */
-    Col_tlen   = Numeric->Lilen ;
-
-    Lip = Numeric->Lip ;
-    Uip = Numeric->Uip ;
-    Lilen = Numeric->Lilen ;
-    Uilen = Numeric->Uilen ;
-
-    Frpos = Work->Frpos ;
-    Fcpos = Work->Fcpos ;
-    Wp = Work->Wp ;
-    Wrp = Work->Wrp ;
-
-    D = Numeric->D ;
-    Upos = Numeric->Upos ;
-    Lpos = Numeric->Lpos ;
-    for (k = 0 ; k < n_inner ; k++)
-    {
-	CLEAR (D [k]) ;
-    }
-
-    Rs = Numeric->Rs ;
-
-    for (row = 0 ; row <= n_row ; row++)
-    {
-	Lpos [row] = EMPTY ;
-	/* Row_tuples [row] = 0 ; set in UMF_build_tuples */
-	/* Row_degree [row] = 0 ; initialized below */
-	Row_tlen [row] = 0 ;
-	/* Frpos [row] = EMPTY ;  do this later */
-    }
-
-    for (col = 0 ; col <= n_col ; col++)
-    {
-	Upos [col] = EMPTY ;
-	/* Col_tuples [col] = 0 ; set in UMF_build_tuples */
-	/* Col_degree [col] = 0 ; initialized below */
-	Col_tlen [col] = 0 ;
-	Fcpos [col] = EMPTY ;
-	Wrp [col] = 0 ;
-    }
-    Work->Wrpflag = 1 ;
-
-    /* When cleared, Wp [0..nn] is < 0 */
-    for (i = 0 ; i <= nn ; i++)
-    {
-	Wp [i] = EMPTY ;
-    }
-    /* In col search, Wp [row] is set to a position, which is >= 0. */
-
-    /* When cleared, Wrp [0..n_col] is < Wrpflag */
-    /* In row search, Wrp [col] is set to Wrpflag. */
-
-    /* no need to initialize Wm, Wio, Woi, and Woo */
-
-    /* clear the external degree counters */
-    Work->cdeg0 = 1 ;
-    Work->rdeg0 = 1 ;
-
-    fixQ = Symbolic->fixQ ;
-
-    E = Work->E ;
-
-    Numeric->n_row = n_row ;
-    Numeric->n_col = n_col ;
-    Numeric->npiv = 0 ;
-    Numeric->nnzpiv = 0 ;
-    Numeric->min_udiag = 0.0 ;
-    Numeric->max_udiag = 0.0 ;
-    Numeric->rcond = 0.0 ;
-    Numeric->isize = 0 ;
-    Numeric->nLentries = 0 ;
-    Numeric->nUentries = 0 ;
-    Numeric->lnz = 0 ;
-    Numeric->unz = 0 ;
-    Numeric->all_lnz = 0 ;
-    Numeric->all_unz = 0 ;
-    Numeric->maxfrsize = 0 ;
-    Numeric->maxnrows = 0 ;
-    Numeric->maxncols = 0 ;
-    Numeric->flops = 0. ;
-    Numeric->n1 = n1 ;
-    droptol = Numeric->droptol ;
-    drop = (droptol > 0) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* compute the scale factors, if requested, and check the input matrix */
-    /* ---------------------------------------------------------------------- */
-
-    /* UMFPACK_SCALE_SUM: Rs [i] = sum of the absolute values in row i.
-     * UMFPACK_SCALE_MAX: Rs [i] = max of the absolute values in row i.
-     *
-     * If A is complex, an approximate abs is used (|xreal| + |ximag|).
-     *
-     * If min (Rs [0..n_row]) >= RECIPROCAL_TOLERANCE, then the scale
-     * factors are inverted, and the rows of A are multiplied by the scale
-     * factors.  Otherwise, the rows are divided by the scale factors.  If
-     * NRECIPROCAL is defined, then the rows are always divided by the scale
-     * factors.
-     *
-     * For MATLAB (either built-in routine or mexFunction), or for gcc,
-     * the rows are always divided by the scale factors.
-     */
-
-    do_scale = (Numeric->scale != UMFPACK_SCALE_NONE) ;
-
-    if (do_scale)
-    {
-	int do_max = Numeric->scale == UMFPACK_SCALE_MAX ;
-	for (row = 0 ; row < n_row ; row++)
-	{
-	    Rs [row] = 0.0 ;
-	}
-	for (col = 0 ; col < n_col ; col++)
-	{
-	    ilast = EMPTY ;
-	    p1 = Ap [col] ;
-	    p2 = Ap [col+1] ;
-	    if (p1 > p2)
-	    {
-		/* invalid matrix */
-		DEBUGm4 (("invalid matrix (Ap)\n")) ;
-		return (FALSE) ;
-	    }
-	    for (p = p1 ; p < p2 ; p++)
-	    {
-		Entry aij ;
-		double value ;
-		row = Ai [p] ;
-		if (row <= ilast || row >= n_row)
-		{
-		    /* invalid matrix, columns must be sorted, no duplicates */
-		    DEBUGm4 (("invalid matrix (Ai)\n")) ;
-		    return (FALSE) ;
-		}
-		ASSIGN (aij, Ax, Az, p, split) ;
-		APPROX_ABS (value, aij) ;
-		rs = Rs [row] ;
-		if (!SCALAR_IS_NAN (rs))
-		{
-		    if (SCALAR_IS_NAN (value))
-		    {
-			/* if any entry in the row is NaN, then the scale factor
-			 * is NaN too (for now) and then set to 1.0 below */
-			Rs [row] = value ;
-		    }
-		    else if (do_max)
-		    {
-			Rs [row] = MAX (rs, value) ;
-		    }
-		    else
-		    {
-			Rs [row] += value ;
-		    }
-		}
-		DEBUG4 (("i "ID" j "ID" value %g,  Rs[i]: %g\n",
-		    row, col, value, Rs[row])) ;
-		ilast = row ;
-	    }
-	}
-	DEBUG2 (("Rs[0] = %30.20e\n", Rs [0])) ;
-	for (row = 0 ; row < n_row ; row++)
-	{
-	    rs = Rs [row] ;
-	    if (SCALAR_IS_ZERO (rs) || SCALAR_IS_NAN (rs))
-	    {
-		/* don't scale a completely zero row, or one with NaN's */
-		Rs [row] = 1.0 ;
-	    }
-	}
-	rsmin = Rs [0] ;
-	rsmax = Rs [0] ;
-	for (row = 0 ; row < n_row ; row++)
-	{
-	    DEBUG2 (("sum %30.20e ", Rs [row])) ;
-	    rsmin = MIN (rsmin, Rs [row]) ;
-	    rsmax = MAX (rsmax, Rs [row]) ;
-	    DEBUG2 (("Rs["ID"] = %30.20e\n", row, Rs [row])) ;
-	}
-#ifndef NRECIPROCAL
-	/* multiply by the reciprocal if Rs is not too small */
-	do_recip = (rsmin >= RECIPROCAL_TOLERANCE) ;
-	if (do_recip)
-	{
-	    /* invert the scale factors */
-	    for (row = 0 ; row < n_row ; row++)
-	    {
-		Rs [row] = 1.0 / Rs [row] ;
-	    }
-	}
-#endif
-    }
-    else
-    {
-	/* no scaling, rsmin and rsmax not computed */
-	rsmin = -1 ;
-	rsmax = -1 ;
-#ifndef NRECIPROCAL
-	do_recip = FALSE ;
-#endif
-	/* check the input matrix */
-	if (!AMD_valid (n_row, n_col, Ap, Ai))
-	{
-	    /* matrix is invalid */
-	    return (FALSE) ;
-	}
-    }
-
-    Numeric->rsmin = rsmin ;
-    Numeric->rsmax = rsmax ;
-#ifndef NRECIPROCAL
-    Numeric->do_recip = do_recip ;
-#else
-    Numeric->do_recip = FALSE ;
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* construct the inverse row Rperm_init permutation (use Frpos as temp) */
-    /* ---------------------------------------------------------------------- */
-
-    DEBUG3 (("\n\n===================LOAD_MATRIX:\n")) ;
-
-    for (newrow = 0 ; newrow < n_row ; newrow++)
-    {
-	oldrow = Rperm_init [newrow] ;
-	ASSERT (oldrow >= 0 && oldrow < n_row) ;
-	Frpos [oldrow] = newrow ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* construct the diagonal imap if doing symmetric pivoting */
-    /* ---------------------------------------------------------------------- */
-
-    if (prefer_diagonal)
-    {
-	ASSERT (n_row == n_col) ;
-	ASSERT (nempty_col == Symbolic->nempty_row) ;
-	ASSERT (nempty_col == nempty) ;
-	for (i = 0 ; i < nn ; i++)
-	{
-	    Diagonal_map [i] = EMPTY ;
-	    Diagonal_imap [i] = EMPTY ;
-	}
-	for (k = n1 ; k < nn - nempty ; k++)
-	{
-	    newrow = Symbolic->Diagonal_map [k] ;
-	    Diagonal_map [k] = newrow ;
-	    Diagonal_imap [newrow] = k ;
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* allocate O (n_row) workspace at the tail end of Memory */
-    /* ---------------------------------------------------------------------- */
-
-    rpi = UMF_mem_alloc_tail_block (Numeric, UNITS (Int *, n_row+1)) ;
-    rpx = UMF_mem_alloc_tail_block (Numeric, UNITS (Entry *, n_row+1)) ;
-    if (!rpi || !rpx)
-    {
-	/* :: pattern change (out of memory for Rpx, Rpx) :: */
-	/* out of memory, which can only mean that the pattern has changed */
-	return (FALSE) ;	/* pattern changed */
-    }
-    Rpi = (Int   **) (Memory + rpx) ;
-    Rpx = (Entry **) (Memory + rpi) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* allocate the LU factors for the columns of the singletons */
-    /* ---------------------------------------------------------------------- */
-
-    DEBUG1 (("Allocating singletons:\n")) ;
-    for (k = 0 ; k < n1 ; k++)
-    {
-	lnz = Cdeg [k] - 1 ;
-	unz = Rdeg [k] - 1 ;
-
-	DEBUG1 (("Singleton k "ID" pivrow "ID" pivcol "ID" cdeg "ID" rdeg "
-	    ID"\n", k, Rperm_init [k], Cperm_init [k], Cdeg [k], Rdeg [k])) ;
-	ASSERT (unz >= 0 && lnz >= 0 && (lnz == 0 || unz == 0)) ;
-	DEBUG1 (("   lnz "ID" unz "ID"\n", lnz, unz)) ;
-
-	size = UNITS (Int, lnz) + UNITS (Entry, lnz)
-	     + UNITS (Int, unz) + UNITS (Entry, unz) ;
-	p = UMF_mem_alloc_head_block (Numeric, size) ;
-	DEBUG1 (("Kernel init head usage: "ID"\n", Numeric->ihead)) ;
-	if (!p)
-	{
-	    /* :: pattern change (out of memory for singletons) :: */
-	    DEBUG0 (("Pattern has gotten larger - kernel init failed\n")) ;
-	    return (FALSE) ;	/* pattern changed */
-	}
-
-	Numeric->all_lnz += lnz ;
-	Numeric->all_unz += unz ;
-
-	/* allocate the column of L */
-	lip = p ;
-	p += UNITS (Int, lnz) ;
-	p += UNITS (Entry, lnz) ;
-
-	/* allocate the row of U */
-	uip = p ;
-	Rpi [k] = (Int *) (Memory + p) ;
-	p += UNITS (Int, unz) ;
-	Rpx [k] = (Entry *) (Memory + p) ;
-	/* p += UNITS (Entry, unz) ; (not needed) */
-
-	/* a single column of L (no Lchains) */
-	Lip [k] = lip ;
-	Lilen [k] = lnz ;
-
-	/* a single row of L (no Uchains) */
-	Uip [k] = uip ;
-	Uilen [k] = unz ;
-
-	Wp [k] = unz ;
-
-	/* save row and column inverse permutation */
-	k1 = ONES_COMPLEMENT (k) ;
-	Rperm [k] = k1 ;			/* aliased with Row_degree */
-	Cperm [k] = k1 ;			/* aliased with Col_degree */
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* current frontal matrix is empty */
-    /* ---------------------------------------------------------------------- */
-
-    e = 0 ;
-    E [e] = 0 ;
-    Work->Flublock = (Entry *) NULL ;
-    Work->Flblock  = (Entry *) NULL ;
-    Work->Fublock  = (Entry *) NULL ;
-    Work->Fcblock  = (Entry *) NULL ;
-
-    /* ---------------------------------------------------------------------- */
-    /* allocate the column elements */
-    /* ---------------------------------------------------------------------- */
-
-    Esize = Symbolic->Esize ;
-    empty_elements = FALSE  ;
-    for (k = n1 ; k < n_col - nempty_col ; k++)
-    {
-	e = k - n1 + 1 ;
-	ASSERT (e < Work->elen) ;
-	esize = Esize ? Esize [k-n1] : Cdeg [k] ;
-	if (esize > 0)
-	{
-	    /* allocate an element for this column */
-	    E [e] = UMF_mem_alloc_element (Numeric, esize, 1, &Rows, &Cols, &C,
-		&size, &ep) ;
-	    if (E [e] <= 0)
-	    {
-		/* :: pattern change (out of memory for column elements) :: */
-		return (FALSE) ;	/* pattern has changed */
-	    }
-	    Cols [0] = k ;
-	    DEBUG0 (("Got column element e "ID" esize "ID"\n", e, esize)) ;
-	}
-	else
-	{
-	    /* all rows in this column are dense, or empty */
-	    E [e] = 0 ;
-	    empty_elements = TRUE  ;
-	    DEBUG0 (("column element e is empty "ID"\n", e)) ;
-	}
-    }
-    DEBUG0 (("e "ID" n_col "ID" nempty_col "ID" n1 "ID"\n", e, n_col,
-		nempty_col, n1)) ;
-    ASSERT (e == n_col - nempty_col - n1) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* allocate the row elements for dense rows of A (if any) */
-    /* ---------------------------------------------------------------------- */
-
-    if (Esize)
-    {
-	for (k = n1 ; k < n_row - nempty_row ; k++)
-	{
-	    rdeg = Rdeg [k] ;
-	    if (rdeg > dense_row_threshold)
-	    {
-		/* allocate an element for this dense row */
-		e++ ;
-		ASSERT (e < Work->elen) ;
-		E [e] = UMF_mem_alloc_element (Numeric, 1, rdeg, &Rows, &Cols,
-		    &C, &size, &ep) ;
-		if (E [e] <= 0)
-		{
-		    /* :: pattern change (out of memory for row elements) :: */
-		    return (FALSE) ;	/* pattern has changed */
-		}
-		Rows [0] = k ;
-		Rpi [k] = Cols ;
-		Rpx [k] = C ;
-		Wp [k] = rdeg ;
-		DEBUG0 (("Got row element e "ID" rdeg "ID"\n", e, rdeg)) ;
-	    }
-	}
-    }
-
-    /* elements are currently in the range 0 to e */
-    Work->nel = e ;
-
-    /* ---------------------------------------------------------------------- */
-    /* create the first n1 columns of L and U */
-    /* ---------------------------------------------------------------------- */
-
-    for (k = 0 ; k < n1 ; k++)
-    {
-	pivcol = Cperm_init [k] ;
-	p2 = Ap [pivcol+1] ;
-
-	/* get the kth column of L */
-	p = Lip [k] ;
-	Li = (Int *) (Memory + p) ;
-	lilen = Lilen [k] ;
-	p += UNITS (Int, lilen) ;
-	Lval = (Entry *) (Memory + p) ;
-
-	llen = 0 ;
-
-	for (pa = Ap [pivcol] ; pa < p2 ; pa++)
-	{
-	    oldrow = Ai [pa] ;
-	    newrow = Frpos [oldrow] ;
-	    ASSIGN (x, Ax, Az, pa, split) ;
-
-	    /* scale the value using the scale factors, Rs */
-	    if (do_scale)
-	    {
-#ifndef NRECIPROCAL
-		if (do_recip)
-		{
-		    SCALE (x, Rs [oldrow]) ;
-		}
-		else
-#endif
-		{
-		    SCALE_DIV (x, Rs [oldrow]) ;
-		}
-	    }
-
-	    if (newrow == k)
-	    {
-		/* this is the pivot entry itself */
-		ASSERT (oldrow == Rperm_init [k]) ;
-		D [k] = x ;
-	    }
-	    else if (newrow < k)
-	    {
-		/* this entry goes in a row of U */
-		DEBUG1 (("Singleton row of U: k "ID" newrow "ID"\n",
-		    k, newrow)) ;
-		if (--(Wp [newrow]) < 0)
-		{
-		    /* :: pattern change (singleton row too long) :: */
-		    DEBUGm4 (("bad U singleton row (too long)\n")) ;
-		    return (FALSE) ;	/* pattern changed */
-		}
-		*(Rpi [newrow]++) = k ;
-		*(Rpx [newrow]++) = x ;
-	    }
-	    else
-	    {
-		/* this entry goes in a column of L */
-		DEBUG1 (("Singleton col of L: k "ID" newrow "ID"\n",
-		    k, newrow)) ;
-		if (llen >= lilen)
-		{
-		    DEBUGm4 (("bad L singleton col (too long)\n")) ;
-		    return (FALSE) ;	/* pattern changed */
-		}
-		Li   [llen] = newrow ;
-		Lval [llen] = x ;
-		llen++ ;
-	    }
-	}
-
-	if (llen != lilen)
-	{
-	    /* :: pattern change (singleton column too long) :: */
-	    DEBUGm4 (("bad L singleton col (too short)\n")) ;
-	    return (FALSE) ;	/* pattern changed */
-	}
-
-	/* scale the column of L */
-	if (llen > 0)
-	{
-	    pivot_value = D [k] ;
-	    UMF_scale (llen, pivot_value, Lval) ;
-	}
-
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* allocate the elements and copy the columns of A */
-    /* ---------------------------------------------------------------------- */
-
-    /* also apply the row and column pre-ordering.  */
-    for (k = n1 ; k < n_col ; k++)
-    {
-	/* The newcol is k, which is what the name of the column is in the
-	 * UMFPACK kernel.  The user's name for the column is oldcol. */
-	oldcol = Cperm_init [k] ;
-
-	ASSERT (oldcol >= 0 && oldcol < n_col) ;
-
-	p2 = Ap [oldcol+1] ;
-
-	cdeg = Cdeg [k] ;
-	ASSERT (cdeg >= 0) ;
-	ASSERT (IMPLIES (
-	    (Symbolic->ordering != UMFPACK_ORDERING_GIVEN) && n1 > 0,
-	    cdeg > 1 || cdeg == 0)) ;
-
-	/* if fixQ: set Col_degree to 0 for the NON_PIVOTAL_COL macro */
-	Col_degree [k] = fixQ ? 0 : cdeg ;
-
-	/* get the element for this column (if any) */
-	e = k - n1 + 1 ;
-	if (k < n_col - nempty_col)
-	{
-	    esize = Esize ? Esize [k-n1] : cdeg ;
-	    if (E [e])
-	    {
-		Int ncols, nrows ;
-		Unit *pp ;
-		pp = Memory + E [e] ;
-		GET_ELEMENT (ep, pp, Cols, Rows, ncols, nrows, C) ;
-		ASSERT (ncols == 1) ;
-		ASSERT (nrows == esize) ;
-		ASSERT (Cols [0] == k) ;
-	    }
-	}
-	else
-	{
-	    ASSERT (cdeg == 0) ;
-	    esize = 0 ;
-	}
-
-	clen = 0 ;
-
-	for (pa = Ap [oldcol] ; pa < p2 ; pa++)
-	{
-	    oldrow = Ai [pa] ;
-	    newrow = Frpos [oldrow] ;
-	    ASSIGN (x, Ax, Az, pa, split) ;
-
-	    /* scale the value using the scale factors, Rs */
-	    if (do_scale)
-	    {
-#ifndef NRECIPROCAL
-		if (do_recip)
-		{
-		    /* multiply by the reciprocal */
-		    SCALE (x, Rs [oldrow]) ;
-		}
-		else
-#endif
-		{
-		    /* divide instead */
-		    SCALE_DIV (x, Rs [oldrow]) ;
-		}
-	    }
-
-	    rdeg = Rdeg [newrow] ;
-	    if (newrow < n1 || rdeg > dense_row_threshold)
-	    {
-		/* this entry goes in a row of U or into a dense row */
-		DEBUG1 (("Singleton/dense row of U: k "ID" newrow "ID"\n",
-		    k, newrow)) ;
-		if (--(Wp [newrow]) < 0)
-		{
-		    DEBUGm4 (("bad row of U or A (too long)\n")) ;
-		    return (FALSE) ;	/* pattern changed */
-		}
-		*(Rpi [newrow]++) = k ;
-		*(Rpx [newrow]++) = x ;
-	    }
-	    else
-	    {
-		/* this entry goes in an initial element */
-		DEBUG1 (("In element k "ID" e "ID" newrow "ID"\n",
-		    k, e, newrow)) ;
-		if (clen >= esize)
-		{
-		    DEBUGm4 (("bad A column (too long)\n")) ;
-		    return (FALSE) ;	/* pattern changed */
-		}
-		ASSERT (E [e]) ;
-		ASSERT (k < n_col - nempty_col) ;
-		Rows [clen] = newrow ;
-		C    [clen] = x ;
-		clen++ ;
-#ifndef NDEBUG
-		if (Diagonal_map && (newrow == Diagonal_map [k]))
-		{
-		    DEBUG0 (("Diagonal: old: row "ID" col "ID" : "
-			"new: row "ID" col "ID" : ",
-			oldrow, oldcol, newrow, k)) ;
-		    EDEBUGk (0, x) ;
-		}
-#endif
-	    }
-	}
-
-	if (clen != esize)
-	{
-	    /* :: pattern change (singleton column too short) :: */
-	    DEBUGm4 (("bad A column (too short)\n")) ;
-	    return (FALSE) ;	/* pattern changed */
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* free the Rpi and Rpx workspace at the tail end of memory */
-    /* ---------------------------------------------------------------------- */
-
-    UMF_mem_free_tail_block (Numeric, rpi) ;
-    UMF_mem_free_tail_block (Numeric, rpx) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* prune zeros and small entries from the singleton rows and columns */
-    /* ---------------------------------------------------------------------- */
-
-    if (n1 > 0)
-    {
-	pnew = Lip [0] ;
-	ASSERT (pnew == 1) ;
-	for (k = 0 ; k < n1 ; k++)
-	{
-	    DEBUGm4 (("\nPrune singleton L col "ID"\n", k)) ;
-	    pnew = packsp (pnew, &Lip [k], &Lilen [k], drop, droptol, Memory) ;
-	    Numeric->lnz += Lilen [k] ;
-	    DEBUGm4 (("\nPrune singleton U row "ID"\n", k)) ;
-	    pnew = packsp (pnew, &Uip [k], &Uilen [k], drop, droptol, Memory) ;
-	    Numeric->unz += Uilen [k] ;
-	}
-	/* free the unused space at the head of memory */
-	Numeric->ihead = pnew ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* initialize row degrees */
-    /* ---------------------------------------------------------------------- */
-
-    for (k = 0 ; k < n1 ; k++)
-    {
-	if (Wp [k] != 0)
-	{
-	    /* :: pattern change (singleton row too short) :: */
-	    DEBUGm4 (("bad U singleton row (too short)\n")) ;
-	    return (FALSE) ;	/* pattern changed */
-	}
-    }
-
-    for (k = n1 ; k < n_row ; k++)
-    {
-	DEBUG1 (("Initial row degree k "ID" oldrow "ID" Rdeg "ID"\n",
-	    k, Rperm_init [k], Rdeg [k])) ;
-	rdeg = Rdeg [k] ;
-	Row_degree [k] = rdeg ;
-	if (rdeg > dense_row_threshold && Wp [k] != 0)
-	{
-	    /* :: pattern change (dense row too short) :: */
-	    DEBUGm4 (("bad dense row (too short)\n")) ;
-	    return (FALSE) ;	/* pattern changed */
-	}
-    }
-
-#ifndef NDEBUG
-    if (prefer_diagonal)
-    {
-	Entry aij ;
-	Int *InvCperm, newcol ;
-	UMF_dump_diagonal_map (Diagonal_map, Diagonal_imap, n1, nn, nempty) ;
-	InvCperm = (Int *) malloc (n_col * sizeof (Int)) ;
-	ASSERT (InvCperm != (Int *) NULL) ;
-	for (newcol = 0 ; newcol < n_col ; newcol++)
-	{
-	    oldcol = Cperm_init [newcol] ;
-	    InvCperm [oldcol] = newcol ;
-	}
-	DEBUGm3 (("Diagonal of P2*A:\n")) ;
-	for (oldcol = 0 ; oldcol < n_col ; oldcol++)
-	{
-	    newcol = InvCperm [oldcol] ;
-	    for (p = Ap [oldcol] ; p < Ap [oldcol+1] ; p++)
-	    {
-		oldrow = Ai [p] ;
-		newrow = Frpos [oldrow] ;
-		ASSIGN (aij, Ax, Az, p, split) ;
-		if (newrow == Diagonal_map [newcol])
-		{
-		    DEBUG0 (("old row "ID" col "ID" new row "ID" col "ID,
-			oldrow, oldcol, newrow, newcol)) ;
-		    EDEBUGk (0, aij) ;
-		    DEBUG0 ((" scaled ")) ;
-		    if (do_scale)
-		    {
-#ifndef NRECIPROCAL
-			if (do_recip)
-			{
-			    SCALE (aij, Rs [oldrow]) ;
-			}
-			else
-#endif
-			{
-			    SCALE_DIV (aij, Rs [oldrow]) ;
-			}
-		    }
-		    EDEBUGk (0, aij) ;
-		    DEBUG0 (("\n")) ;
-		}
-	    }
-	}
-	free (InvCperm) ;
-    }
-#endif
-
-    Col_degree [n_col] = 0 ;
-
-    /* ---------------------------------------------------------------------- */
-    /* pack the element name space */
-    /* ---------------------------------------------------------------------- */
-
-    if (empty_elements)
-    {
-	Int e2 = 0 ;
-	DEBUG0 (("\n\n============= Packing element space\n")) ;
-	for (e = 1 ; e <= Work->nel ; e++)
-	{
-	    if (E [e])
-	    {
-		e2++ ;
-		E [e2] = E [e] ;
-	    }
-	}
-	Work->nel = e2 ;
-    }
-
-#ifndef NDEBUG
-    DEBUG0 (("Number of initial elements: "ID"\n", Work->nel)) ;
-    for (e = 0 ; e <= Work->nel ; e++) UMF_dump_element (Numeric, Work,e,TRUE) ;
-#endif
-
-    for (e = Work->nel + 1 ; e < Work->elen ; e++)
-    {
-	E [e] = 0 ;
-    }
-
-    /* Frpos no longer needed */
-    for (row = 0 ; row <= n_row ; row++)
-    {
-	Frpos [row] = EMPTY ;
-    }
-
-    /* clear Wp */
-    for (i = 0 ; i <= nn ; i++)
-    {
-	Wp [i] = EMPTY ;
-    }
-
-    DEBUG1 (("Kernel init head usage: "ID"\n", Numeric->ihead)) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* build the tuple lists */
-    /* ---------------------------------------------------------------------- */
-
-    /* if the memory usage changes, then the pattern has changed */
-
-    (void) UMF_tuple_lengths (Numeric, Work, &unused) ;
-    if (!UMF_build_tuples (Numeric, Work))
-    {
-	/* :: pattern change (out of memory in umf_build_tuples) :: */
-	/* We ran out of memory, which can only mean that */
-	/* the pattern (Ap and or Ai) has changed (gotten larger). */
-	DEBUG0 (("Pattern has gotten larger - build tuples failed\n")) ;
-	return (FALSE) ;	/* pattern changed */
-    }
-
-    Numeric->init_usage = Numeric->max_usage ;
-
-    /* ---------------------------------------------------------------------- */
-    /* construct the row merge sets */
-    /* ---------------------------------------------------------------------- */
-
-    for (i = 0 ; i <= Symbolic->nfr ; i++)
-    {
-	Work->Front_new1strow [i] = Symbolic->Front_1strow [i] ;
-    }
-
-#ifndef NDEBUG
-    UMF_dump_rowmerge (Numeric, Symbolic, Work) ;
-    DEBUG6 (("Column form of original matrix:\n")) ;
-    UMF_dump_col_matrix (Ax,
-#ifdef COMPLEX
-	Az,
-#endif
-	Ai, Ap, n_row, n_col, nz) ;
-    UMF_dump_memory (Numeric) ;
-    UMF_dump_matrix (Numeric, Work, FALSE) ;
-    DEBUG0 (("kernel init done...\n")) ;
-#endif
-
-    return (TRUE) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_kernel_init.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL Int UMF_kernel_init
-(
-    const Int Ap [ ],
-    const Int Ai [ ],
-    const double Ax [ ],
-#ifdef COMPLEX
-    const double Az [ ],
-#endif
-    NumericType *Numeric,
-    WorkType *Work,
-    SymbolicType *Symbolic
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_kernel_wrapup.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,466 +0,0 @@
-/* ========================================================================== */
-/* === UMF_kernel_wrapup ==================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/* The matrix is factorized.  Finish the LU data structure. */
-
-#include "umf_internal.h"
-
-GLOBAL void UMF_kernel_wrapup
-(
-    NumericType *Numeric,
-    SymbolicType *Symbolic,
-    WorkType *Work
-)
-{
-
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    Entry pivot_value ;
-    double d ;
-    Entry *D ;
-    Int i, k, col, row, llen, ulen, *ip, *Rperm, *Cperm, *Lilen, npiv, lp,
-	*Uilen, *Lip, *Uip, *Cperm_init, up, pivrow, pivcol, *Lpos, *Upos, *Wr,
-	*Wc, *Wp, *Frpos, *Fcpos, *Row_degree, *Col_degree, *Rperm_init,
-	n_row, n_col, n_inner, zero_pivot, nan_pivot, n1 ;
-
-#ifndef NDEBUG
-    UMF_dump_matrix (Numeric, Work, FALSE) ;
-#endif
-
-    DEBUG0 (("Kernel complete, Starting Kernel wrapup\n")) ;
-    n_row = Symbolic->n_row ;
-    n_col = Symbolic->n_col ;
-    n_inner = MIN (n_row, n_col) ;
-    Rperm = Numeric->Rperm ;
-    Cperm = Numeric->Cperm ;
-    Lilen = Numeric->Lilen ;
-    Uilen = Numeric->Uilen ;
-    Upos = Numeric->Upos ;
-    Lpos = Numeric->Lpos ;
-    Lip = Numeric->Lip ;
-    Uip = Numeric->Uip ;
-    D = Numeric->D ;
-
-    npiv = Work->npiv ;
-    Numeric->npiv = npiv ;
-    Numeric->ulen = Work->ulen ;
-
-    ASSERT (n_row == Numeric->n_row) ;
-    ASSERT (n_col == Symbolic->n_col) ;
-    DEBUG0 (("Wrap-up: npiv "ID" ulen "ID"\n", npiv, Numeric->ulen)) ;
-    ASSERT (npiv <= n_inner) ;
-
-    /* this will be nonzero only if matrix is singular or rectangular */
-    ASSERT (IMPLIES (npiv == n_col, Work->ulen == 0)) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* find the smallest and largest entries in D */
-    /* ---------------------------------------------------------------------- */
-
-    for (k = 0 ; k < npiv ; k++)
-    {
-	pivot_value = D [k] ;
-	ABS (d, pivot_value) ;
-	zero_pivot = SCALAR_IS_ZERO (d) ;
-	nan_pivot = SCALAR_IS_NAN (d) ;
-
-	if (!zero_pivot)
-	{
-	    /* the pivot is nonzero, but might be Inf or NaN */
-	    Numeric->nnzpiv++ ;
-	}
-
-	if (k == 0)
-	{
-	    Numeric->min_udiag = d ;
-	    Numeric->max_udiag = d ;
-	}
-	else
-	{
-	    /* min (abs (diag (U))) behaves as follows:  If any entry is zero,
-	       then the result is zero (regardless of the presence of NaN's).
-	       Otherwise, if any entry is NaN, then the result is NaN.
-	       Otherwise, the result is the smallest absolute value on the
-	       diagonal of U.
-	    */
-
-	    if (SCALAR_IS_NONZERO (Numeric->min_udiag))
-	    {
-		if (zero_pivot || nan_pivot)
-		{
-		    Numeric->min_udiag = d ;
-		}
-		else if (!SCALAR_IS_NAN (Numeric->min_udiag))
-		{
-		    /* d and min_udiag are both non-NaN */
-		    Numeric->min_udiag = MIN (Numeric->min_udiag, d) ;
-		}
-	    }
-
-	    /*
-	       max (abs (diag (U))) behaves as follows:  If any entry is NaN
-	       then the result is NaN.  Otherise, the result is the largest
-	       absolute value on the diagonal of U.
-	    */
-
-	    if (nan_pivot)
-	    {
-		Numeric->max_udiag = d ;
-	    }
-	    else if (!SCALAR_IS_NAN (Numeric->max_udiag))
-	    {
-		/* d and max_udiag are both non-NaN */
-		Numeric->max_udiag = MAX (Numeric->max_udiag, d) ;
-	    }
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* check if matrix is singular or rectangular */
-    /* ---------------------------------------------------------------------- */
-
-    Col_degree = Cperm ;	/* for NON_PIVOTAL_COL macro */
-    Row_degree = Rperm ;	/* for NON_PIVOTAL_ROW macro */
-
-    if (npiv < n_row)
-    {
-	/* finalize the row permutation */
-	k = npiv ;
-	DEBUGm3 (("Singular pivot rows "ID" to "ID"\n", k, n_row-1)) ;
-	for (row = 0 ; row < n_row ; row++)
-	{
-	    if (NON_PIVOTAL_ROW (row))
-	    {
-		Rperm [row] = ONES_COMPLEMENT (k) ;
-		DEBUGm3 (("Singular row "ID" is k: "ID" pivot row\n", row, k)) ;
-		ASSERT (!NON_PIVOTAL_ROW (row)) ;
-		Lpos [row] = EMPTY ;
-		Uip [row] = EMPTY ;
-		Uilen [row] = 0 ;
-		k++ ;
-	    }
-	}
-	ASSERT (k == n_row) ;
-    }
-
-    if (npiv < n_col)
-    {
-	/* finalize the col permutation */
-	k = npiv ;
-	DEBUGm3 (("Singular pivot cols "ID" to "ID"\n", k, n_col-1)) ;
-	for (col = 0 ; col < n_col ; col++)
-	{
-	    if (NON_PIVOTAL_COL (col))
-	    {
-		Cperm [col] = ONES_COMPLEMENT (k) ;
-		DEBUGm3 (("Singular col "ID" is k: "ID" pivot row\n", col, k)) ;
-		ASSERT (!NON_PIVOTAL_COL (col)) ;
-		Upos [col] = EMPTY ;
-		Lip [col] = EMPTY ;
-		Lilen [col] = 0 ;
-		k++ ;
-	    }
-	}
-	ASSERT (k == n_col) ;
-    }
-
-    if (npiv < n_inner)
-    {
-	/* finalize the diagonal of U */
-	DEBUGm3 (("Diag of U is zero, "ID" to "ID"\n", npiv, n_inner-1)) ;
-	for (k = npiv ; k < n_inner ; k++)
-	{
-	    CLEAR (D [k]) ;
-	}
-    }
-
-    /* save the pattern of the last row of U */
-    if (Numeric->ulen > 0)
-    {
-	DEBUGm3 (("Last row of U is not empty\n")) ;
-	Numeric->Upattern = Work->Upattern ;
-	Work->Upattern = (Int *) NULL ;
-    }
-
-    DEBUG2 (("Nnzpiv: "ID"  npiv "ID"\n", Numeric->nnzpiv, npiv)) ;
-    ASSERT (Numeric->nnzpiv <= npiv) ;
-    if (Numeric->nnzpiv < n_inner && !SCALAR_IS_NAN (Numeric->min_udiag))
-    {
-	/* the rest of the diagonal is zero, so min_udiag becomes 0,
-	 * unless it is already NaN. */
-	Numeric->min_udiag = 0.0 ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* size n_row, n_col workspaces that can be used here: */
-    /* ---------------------------------------------------------------------- */
-
-    Frpos = Work->Frpos ;	/* of size n_row+1 */
-    Fcpos = Work->Fcpos ;	/* of size n_col+1 */
-    Wp = Work->Wp ;		/* of size MAX(n_row,n_col)+1 */
-    /* Work->Upattern ;		cannot be used (in Numeric) */
-    Wr = Work->Lpattern ;	/* of size n_row+1 */
-    Wc = Work->Wrp ;		/* of size n_col+1 or bigger */
-
-    /* ---------------------------------------------------------------------- */
-    /* construct Rperm from inverse permutations */
-    /* ---------------------------------------------------------------------- */
-
-    /* use Frpos for temporary copy of inverse row permutation [ */
-
-    for (pivrow = 0 ; pivrow < n_row ; pivrow++)
-    {
-	k = Rperm [pivrow] ;
-	ASSERT (k < 0) ;
-	k = ONES_COMPLEMENT (k) ;
-	ASSERT (k >= 0 && k < n_row) ;
-	Wp [k] = pivrow ;
-	Frpos [pivrow] = k ;
-    }
-    for (k = 0 ; k < n_row ; k++)
-    {
-	Rperm [k] = Wp [k] ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* construct Cperm from inverse permutation */
-    /* ---------------------------------------------------------------------- */
-
-    /* use Fcpos for temporary copy of inverse column permutation [ */
-
-    for (pivcol = 0 ; pivcol < n_col ; pivcol++)
-    {
-	k = Cperm [pivcol] ;
-	ASSERT (k < 0) ;
-	k = ONES_COMPLEMENT (k) ;
-	ASSERT (k >= 0 && k < n_col) ;
-	Wp [k] = pivcol ;
-	/* save a copy of the inverse column permutation in Fcpos */
-	Fcpos [pivcol] = k ;
-    }
-    for (k = 0 ; k < n_col ; k++)
-    {
-	Cperm [k] = Wp [k] ;
-    }
-
-#ifndef NDEBUG
-    for (k = 0 ; k < n_col ; k++)
-    {
-	col = Cperm [k] ;
-	ASSERT (col >= 0 && col < n_col) ;
-	ASSERT (Fcpos [col] == k) ;		/* col is the kth pivot */
-    }
-    for (k = 0 ; k < n_row ; k++)
-    {
-	row = Rperm [k] ;
-	ASSERT (row >= 0 && row < n_row) ;
-	ASSERT (Frpos [row] == k) ;		/* row is the kth pivot */
-    }
-#endif
-
-#ifndef NDEBUG
-    UMF_dump_lu (Numeric) ;
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* permute Lpos, Upos, Lilen, Lip, Uilen, and Uip */
-    /* ---------------------------------------------------------------------- */
-
-    for (k = 0 ; k < npiv ; k++)
-    {
-	pivrow = Rperm [k] ;
-	Wr [k] = Uilen [pivrow] ;
-	Wp [k] = Uip [pivrow] ;
-    }
-
-    for (k = 0 ; k < npiv ; k++)
-    {
-	Uilen [k] = Wr [k] ;
-	Uip [k] = Wp [k] ;
-    }
-
-    for (k = 0 ; k < npiv ; k++)
-    {
-	pivrow = Rperm [k] ;
-	Wp [k] = Lpos [pivrow] ;
-    }
-
-    for (k = 0 ; k < npiv ; k++)
-    {
-	Lpos [k] = Wp [k] ;
-    }
-
-    for (k = 0 ; k < npiv ; k++)
-    {
-	pivcol = Cperm [k] ;
-	Wc [k] = Lilen [pivcol] ;
-	Wp [k] = Lip [pivcol] ;
-    }
-
-    for (k = 0 ; k < npiv ; k++)
-    {
-	Lilen [k] = Wc [k] ;
-	Lip [k] = Wp [k] ;
-    }
-
-    for (k = 0 ; k < npiv ; k++)
-    {
-	pivcol = Cperm [k] ;
-	Wp [k] = Upos [pivcol] ;
-    }
-
-    for (k = 0 ; k < npiv ; k++)
-    {
-	Upos [k] = Wp [k] ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* terminate the last Uchain and last Lchain */
-    /* ---------------------------------------------------------------------- */
-
-    Upos [npiv] = EMPTY ;
-    Lpos [npiv] = EMPTY ;
-    Uip [npiv] = EMPTY ;
-    Lip [npiv] = EMPTY ;
-    Uilen [npiv] = 0 ;
-    Lilen [npiv] = 0 ;
-
-    /* ---------------------------------------------------------------------- */
-    /* convert U to the new pivot order */
-    /* ---------------------------------------------------------------------- */
-
-    n1 = Symbolic->n1 ;
-
-    for (k = 0 ; k < n1 ; k++)
-    {
-	/* this is a singleton row of U */
-	ulen = Uilen [k] ;
-	DEBUG4 (("K "ID" New U.  ulen "ID" Singleton 1\n", k, ulen)) ;
-	if (ulen > 0)
-	{
-	    up = Uip [k] ;
-	    ip = (Int *) (Numeric->Memory + up) ;
-	    for (i = 0 ; i < ulen ; i++)
-	    {
-		col = *ip ;
-		DEBUG4 ((" old col "ID" new col "ID"\n", col, Fcpos [col]));
-		ASSERT (col >= 0 && col < n_col) ;
-		*ip++ = Fcpos [col] ;
-	    }
-	}
-    }
-
-    for (k = n1 ; k < npiv ; k++)
-    {
-	up = Uip [k] ;
-	if (up < 0)
-	{
-	    /* this is the start of a new Uchain (with a pattern) */
-	    ulen = Uilen [k] ;
-	    DEBUG4 (("K "ID" New U.  ulen "ID" End_Uchain 1\n", k, ulen)) ;
-	    if (ulen > 0)
-	    {
-		up = -up ;
-		ip = (Int *) (Numeric->Memory + up) ;
-		for (i = 0 ; i < ulen ; i++)
-		{
-		    col = *ip ;
-		    DEBUG4 ((" old col "ID" new col "ID"\n", col, Fcpos [col]));
-		    ASSERT (col >= 0 && col < n_col) ;
-		    *ip++ = Fcpos [col] ;
-		}
-	    }
-	}
-    }
-
-    ulen = Numeric->ulen ;
-    if (ulen > 0)
-    {
-	/* convert last pivot row of U to the new pivot order */
-	DEBUG4 (("K "ID" (last)\n", k)) ;
-	for (i = 0 ; i < ulen ; i++)
-	{
-	    col = Numeric->Upattern [i] ;
-	    DEBUG4 (("    old col "ID" new col "ID"\n", col, Fcpos [col])) ;
-	    Numeric->Upattern [i] = Fcpos [col] ;
-	}
-    }
-
-    /* Fcpos no longer needed ] */
-
-    /* ---------------------------------------------------------------------- */
-    /* convert L to the new pivot order */
-    /* ---------------------------------------------------------------------- */
-
-    for (k = 0 ; k < n1 ; k++)
-    {
-	llen = Lilen [k] ;
-	DEBUG4 (("K "ID" New L.  llen "ID" Singleton col\n", k, llen)) ;
-	if (llen > 0)
-	{
-	    lp = Lip [k] ;
-	    ip = (Int *) (Numeric->Memory + lp) ;
-	    for (i = 0 ; i < llen ; i++)
-	    {
-		row = *ip ;
-		DEBUG4 (("    old row "ID" new row "ID"\n", row, Frpos [row])) ;
-		ASSERT (row >= 0 && row < n_row) ;
-		*ip++ = Frpos [row] ;
-	    }
-	}
-    }
-
-    for (k = n1 ; k < npiv ; k++)
-    {
-	llen = Lilen [k] ;
-	DEBUG4 (("K "ID" New L.  llen "ID" \n", k, llen)) ;
-	if (llen > 0)
-	{
-	    lp = Lip [k] ;
-	    if (lp < 0)
-	    {
-		/* this starts a new Lchain */
-		lp = -lp ;
-	    }
-	    ip = (Int *) (Numeric->Memory + lp) ;
-	    for (i = 0 ; i < llen ; i++)
-	    {
-		row = *ip ;
-		DEBUG4 (("    old row "ID" new row "ID"\n", row, Frpos [row])) ;
-		ASSERT (row >= 0 && row < n_row) ;
-		*ip++ = Frpos [row] ;
-	    }
-	}
-    }
-
-    /* Frpos no longer needed ] */
-
-    /* ---------------------------------------------------------------------- */
-    /* combine symbolic and numeric permutations */
-    /* ---------------------------------------------------------------------- */
-
-    Cperm_init = Symbolic->Cperm_init ;
-    Rperm_init = Symbolic->Rperm_init ;
-
-    for (k = 0 ; k < n_row ; k++)
-    {
-	Rperm [k] = Rperm_init [Rperm [k]] ;
-    }
-
-    for (k = 0 ; k < n_col ; k++)
-    {
-	Cperm [k] = Cperm_init [Cperm [k]] ;
-    }
-
-    /* Work object will be freed immediately upon return (to UMF_kernel */
-    /* and then to UMFPACK_numeric). */
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_kernel_wrapup.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL void UMF_kernel_wrapup
-(
-    NumericType *Numeric,
-    SymbolicType *Symbolic,
-    WorkType *Work
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_local_search.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1947 +0,0 @@
-/* ========================================================================== */
-/* === UMF_local_search ===================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    Perform pivot search to find pivot row and pivot column.
-    The pivot column is selected from the candidate set.  The candidate set
-    corresponds to a supercolumn from colamd or UMF_analyze.  The pivot column
-    is then removed from that set.  Constructs the pivot column pattern and
-    values.  Called by umf_kernel.  Returns UMFPACK_OK if successful, or
-    UMFPACK_WARNING_singular_matrix or UMFPACK_ERROR_different_pattern if not.
-*/
-
-#include "umf_internal.h"
-#include "umf_row_search.h"
-#include "umf_mem_free_tail_block.h"
-
-/* relaxed amalgamation control parameters are fixed at compile time */
-#define RELAX1 0.25
-#define SYM_RELAX1 0.0
-#define RELAX2 0.1
-#define RELAX3 0.125
-
-/* ========================================================================== */
-/* === remove_candidate ===================================================== */
-/* ========================================================================== */
-
-/* Remove a column from the set of candidate pivot columns. */
-
-PRIVATE void remove_candidate (Int jj, WorkType *Work, SymbolicType *Symbolic)
-{
-
-#ifndef NDEBUG
-    Int j ;
-    DEBUGm2 (("pivot column Candidates before remove: nCand "ID" ncand "ID
-	" lo "ID" hi "ID" jj "ID"\n", Work->nCandidates, Work->ncand,
-	Work->lo, Work->hi, jj)) ;
-    for (j = 0 ; j < Work->nCandidates ; j++)
-    {
-	Int col = Work->Candidates [j] ;
-	DEBUGm2 ((ID" ", col));
-	ASSERT (col >= 0 && col < Work->n_col) ;
-	/* ASSERT (NON_PIVOTAL_COL (col)) ; */
-	ASSERT (col >= Work->lo && col <= Work->hi) ;
-    }
-    DEBUGm2 (("\n")) ;
-#endif
-
-    if (Symbolic->fixQ)
-    {
-	DEBUGm2 (("FixQ\n")) ;
-	/* do not modify the column ordering */
-	ASSERT (Work->nCandidates == 1) ;
-	ASSERT (jj == 0) ;
-	if (Work->ncand > 1)
-	{
-	    Work->Candidates [0] = Work->nextcand++ ;
-	}
-	else
-	{
-	    Work->nCandidates = 0 ;
-	}
-    }
-    else
-    {
-	/* place the next candidate in the set */
-	if (Work->ncand > MAX_CANDIDATES)
-	{
-	    Work->Candidates [jj] = Work->nextcand++ ;
-	}
-	else
-	{
-	    ASSERT (Work->nCandidates == Work->ncand) ;
-	    Work->Candidates [jj] = Work->Candidates [Work->ncand - 1] ;
-	    Work->Candidates [Work->ncand - 1] = EMPTY ;
-	    Work->nCandidates-- ;
-	}
-    }
-    Work->ncand-- ;
-
-#ifndef NDEBUG
-    DEBUGm2 (("pivot column Candidates after remove: nCand "ID" ncand "ID
-	" lo "ID" hi "ID" jj "ID"\n", Work->nCandidates, Work->ncand, Work->lo,
-	Work->hi, jj)) ;
-    for (j = 0 ; j < Work->nCandidates ; j++)
-    {
-	Int col = Work->Candidates [j] ;
-	DEBUGm2 ((ID" ", col));
-	ASSERT (col >= 0 && col < Work->n_col) ;
-	/* ASSERT (NON_PIVOTAL_COL (col)) ; */
-	ASSERT (col >= Work->lo && col <= Work->hi) ;
-    }
-    DEBUGm2 (("\n")) ;
-    ASSERT (Work->ncand >= 0) ;
-    ASSERT (Work->nCandidates <= Work->ncand) ;
-#endif
-}
-
-/* ========================================================================== */
-/* === UMF_local_search ===================================================== */
-/* ========================================================================== */
-
-GLOBAL Int UMF_local_search
-(
-    NumericType *Numeric,
-    WorkType *Work,
-    SymbolicType *Symbolic
-)
-{
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    double relax1 ;
-    Entry *Flblock, *Fublock, *Fs, *Fcblock, *C, *Wx, *Wy, *Fu, *Flublock,
-	*Flu ;
-    Int pos, nrows, *Cols, *Rows, e, f, status, max_cdeg, fnzeros, nb, j, col,
-	i, row, cdeg_in, rdeg [2][2], fnpiv, nothing [2], new_LUsize,
-	pivrow [2][2], pivcol [2], *Wp, *Fcpos, *Frpos, new_fnzeros, cdeg_out,
-	*Wm, *Wio, *Woi, *Woo, *Frows, *Fcols, fnrows, fncols, *E, deg, nr_in,
-	nc, thiscost, bestcost, nr_out, do_update, extra_cols, extra_rows,
-	extra_zeros, relaxed_front, do_extend, fnr_curr, fnc_curr, tpi,
-	*Col_tuples, *Col_degree, *Col_tlen, jj, jcand [2], freebie [2],
-	did_rowmerge, fnrows_new [2][2], fncols_new [2][2], search_pivcol_out,
-	*Diagonal_map, *Diagonal_imap, row2, col2 ;
-    Unit *Memory, *p ;
-    Tuple *tp, *tpend, *tp1, *tp2 ;
-    Element *ep ;
-
-#ifndef NDEBUG
-    Int debug_ok, n_row, n_col, *Row_degree ;
-    Row_degree = Numeric->Rperm ;	/* for NON_PIVOTAL_ROW macro only */
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* get parameters */
-    /* ---------------------------------------------------------------------- */
-
-    Memory = Numeric->Memory ;
-    E = Work->E ;
-    Col_degree = Numeric->Cperm ;
-
-    Col_tuples = Numeric->Lip ;
-    Col_tlen   = Numeric->Lilen ;
-
-    Wx = Work->Wx ;
-    Wy = Work->Wy ;
-    Wp = Work->Wp ;
-    Wm = Work->Wm ;
-    Woi = Work->Woi ;
-    Wio = Work->Wio ;
-    Woo = Work->Woo ;
-    Fcpos = Work->Fcpos ;
-    Frpos = Work->Frpos ;
-    Frows = Work->Frows ;
-    Fcols = Work->Fcols ;
-    fnrows = Work->fnrows ;
-    fncols = Work->fncols ;
-    nb = Work->nb ;
-    fnr_curr = Work->fnr_curr ;
-    fnc_curr = Work->fnc_curr ;
-    fnpiv = Work->fnpiv ;
-    nothing [0] = EMPTY ;
-    nothing [1] = EMPTY ;
-    relax1 = (Symbolic->prefer_diagonal) ? SYM_RELAX1 : RELAX1 ;
-    fnzeros = Work->fnzeros ;
-    new_fnzeros = fnzeros ;
-    jj = EMPTY ;
-
-    Fcblock = Work->Fcblock ;	    /* current contribution block */
-    Flblock = Work->Flblock ;	    /* current L block */
-    Fublock = Work->Fublock ;	    /* current U block */
-    Flublock = Work->Flublock ;	    /* current LU block */
-
-    /* The pivot column degree cannot exceed max_cdeg */
-    max_cdeg = Work->fnrows_max ;
-    ASSERT (Work->fnrows_max <= Symbolic->maxnrows) ;
-    ASSERT (Work->fncols_max <= Symbolic->maxncols) ;
-
-    if (fnrows == 0 && fncols == 0)
-    {
-	/* frontal matrix is empty */
-	Work->firstsuper = Work->ksuper ;
-    }
-
-#ifndef NDEBUG
-    n_row = Work->n_row ;
-    n_col = Work->n_col ;
-    DEBUG2 (("\n========LOCAL SEARCH:  current frontal matrix: ========= \n")) ;
-    UMF_dump_current_front (Numeric, Work, TRUE) ;
-    if (UMF_debug > 0 || MAX (n_row, n_col) < 1000)
-    {
-	for (i = 0 ; i < MAX (n_row, n_col) ; i++)
-	{
-	    ASSERT (Wp [i] < 0) ;
-	}
-    }
-
-    DEBUGm2 ((ID" pivot column Candidates: lo "ID" hi "ID"\n",
-	Work->nCandidates, Work->lo, Work->hi)) ;
-    for (j = 0 ; j < Work->nCandidates ; j++)
-    {
-	col = Work->Candidates [j] ;
-	DEBUGm2 ((ID" ", col));
-	ASSERT (col >= 0 && col < n_col) ;
-	ASSERT (NON_PIVOTAL_COL (col)) ;
-	ASSERT (col >= Work->lo && col <= Work->hi) ;
-    }
-
-    DEBUGm2 (("\n")) ;
-    /* there are no 0-by-c or r-by-0 fronts, where c and r are > 0 */
-    /* a front is either 0-by-0, or r-by-c */
-    DEBUG2 (("\n\n::: "ID" : Npiv: "ID" + fnpiv "ID" = "ID". "
-	"size "ID"-by-"ID"\n", Work->frontid,
-	Work->npiv, Work->fnpiv, Work->npiv + Work->fnpiv, fnrows, fncols)) ;
-    ASSERT ((fnrows == 0 && fncols == 0) ||(fnrows != 0 && fncols != 0)) ;
-#endif
-
-    /* ====================================================================== */
-    /* === PIVOT SEARCH ===================================================== */
-    /* ====================================================================== */
-
-    /* initialize */
-
-    pivcol [IN] = EMPTY ;
-    pivcol [OUT] = EMPTY ;
-
-    cdeg_in = Int_MAX ;
-    cdeg_out = Int_MAX ;
-
-    pivrow [IN][IN] = EMPTY ;
-    pivrow [IN][OUT] = EMPTY ;
-    pivrow [OUT][IN] = EMPTY ;
-    pivrow [OUT][OUT] = EMPTY ;
-
-    rdeg [IN][IN] = Int_MAX ;
-    rdeg [IN][OUT] = Int_MAX ;
-    rdeg [OUT][IN] = Int_MAX ;
-    rdeg [OUT][OUT] = Int_MAX ;
-
-    freebie [IN] = FALSE ;
-    freebie [OUT] = FALSE ;
-
-    Work->pivot_case = EMPTY ;
-    bestcost = EMPTY ;
-
-    nr_out = EMPTY ;
-    nr_in = EMPTY ;
-
-    jcand [IN] = EMPTY ;
-    jcand [OUT] = EMPTY ;
-
-    fnrows_new [IN][IN] = EMPTY ;
-    fnrows_new [IN][OUT] = EMPTY ;
-    fnrows_new [OUT][IN] = EMPTY ;
-    fnrows_new [OUT][OUT] = EMPTY ;
-
-    fncols_new [IN][IN] = EMPTY ;
-    fncols_new [IN][OUT] = EMPTY ;
-    fncols_new [OUT][IN] = EMPTY ;
-    fncols_new [OUT][OUT] = EMPTY ;
-
-#ifndef NDEBUG
-	/* check Frpos */
-	DEBUG4 (("Check Frpos : fnrows "ID" col "ID" maxcdeg "ID"\n",
-		fnrows, pivcol [IN], max_cdeg)) ;
-	for (i = 0 ; i < fnrows ; i++)
-	{
-	    row = Frows [i] ;
-	    DEBUG4 (("  row: "ID"\n", row)) ;
-	    ASSERT (row >= 0 && row < n_row) ;
-	    ASSERT (Frpos [row] == i) ;
-	}
-	DEBUG4 (("All:\n")) ;
-	if (UMF_debug > 0 || n_row < 1000)
-	{
-	    Int cnt = fnrows ;
-	    for (row = 0 ; row < n_row ; row++)
-	    {
-		if (Frpos [row] == EMPTY)
-		{
-		    cnt++ ;
-		}
-		else
-		{
-		    DEBUG4 (("  row: "ID" pos "ID"\n", row, Frpos [row])) ;
-		}
-	    }
-	    ASSERT (cnt == n_row) ;
-	}
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* find shortest column in the front, and shortest column not in the */
-    /* front, from the candidate pivot column set */
-    /* ---------------------------------------------------------------------- */
-
-    /* If there are too many candidates, then only look at the first */
-    /* MAX_CANDIDATES of them.   Otherwise, if there are O(n) candidates, */
-    /* this code could take O(n^2) time. */
-
-    /* ------------------------------------------------------------------ */
-    /* look in the candidate set for the best column */
-    /* ------------------------------------------------------------------ */
-
-    DEBUG2 (("Max candidates %d, Work->ncand "ID" jmax "ID"\n",
-	MAX_CANDIDATES, Work->ncand, Work->nCandidates)) ;
-    col = Work->Candidates [0] ;
-    ASSERT (Work->nCandidates > 0) ;
-    DEBUG3 (("Pivot column candidate: "ID" j = "ID"\n", col, j)) ;
-    ASSERT (col >= 0 && col < n_col) ;
-
-    /* there is no Col_degree if fixQ is true */
-    deg = Symbolic->fixQ ? EMPTY : Col_degree [col] ;
-
-#ifndef NDEBUG
-    DEBUG3 (("Pivot column candidate: "ID" cost: "ID"  Fcpos[col] "ID"\n",
-	col, deg, Fcpos [col])) ;
-    UMF_dump_rowcol (1, Numeric, Work, col, !Symbolic->fixQ) ;
-    if (Symbolic->fixQ)
-    {
-	DEBUG1 (("FIXQ: Candidates "ID" pivcol "ID" npiv "ID" fnpiv "ID
-	    " ndiscard "ID "\n", Work->nCandidates, col, Work->npiv,
-	    Work->fnpiv, Work->ndiscard)) ;
-	ASSERT (Work->nCandidates == 1) ;
-	ASSERT (col == Work->npiv + Work->fnpiv + Work->ndiscard) ;
-    }
-#endif
-
-    if (Fcpos [col] >= 0)
-    {
-	/* best column in front, so far */
-	pivcol [IN] = col ;
-	cdeg_in = deg ;		/* ignored, if fixQ is true */
-	jcand [IN] = 0 ;
-    }
-    else
-    {
-	/* best column not in front, so far */
-	pivcol [OUT] = col ;
-	cdeg_out = deg ;	/* ignored, if fixQ is true */
-	jcand [OUT] = 0 ;
-    }
-
-    /* look at the rest of the candidates */
-    for (j = 1 ; j < Work->nCandidates ; j++)
-    {
-	col = Work->Candidates [j] ;
-
-	DEBUG3 (("Pivot col candidate: "ID" j = "ID"\n", col, j)) ;
-	ASSERT (col >= 0 && col < n_col) ;
-	ASSERT (!Symbolic->fixQ) ;
-	deg = Col_degree [col] ;
-#ifndef NDEBUG
-	DEBUG3 (("Pivot col candidate: "ID" cost: "ID" Fcpos[col] "ID"\n",
-		col, deg, Fcpos [col])) ;
-	UMF_dump_rowcol (1, Numeric, Work, col, !Symbolic->fixQ) ;
-#endif
-	if (Fcpos [col] >= 0)
-	{
-#ifndef NDEBUG
-	    Int fs ;
-	    fs = Fcpos [col] / fnr_curr ;
-	    ASSERT (fs >= 0 && fs < fncols) ;
-#endif
-	    if (deg < cdeg_in || (deg == cdeg_in && col < pivcol [IN]))
-	    {
-		/* best column in front, so far */
-		pivcol [IN] = col ;
-		cdeg_in = deg ;
-		jcand [IN] = j ;
-	    }
-	}
-	else
-	{
-	    if (deg < cdeg_out || (deg == cdeg_out && col < pivcol [OUT]))
-	    {
-		/* best column not in front, so far */
-		pivcol [OUT] = col ;
-		cdeg_out = deg ;
-		jcand [OUT] = j ;
-	    }
-	}
-    }
-
-    DEBUG2 (("Pivcol in "ID" out "ID"\n", pivcol [IN], pivcol [OUT])) ;
-    ASSERT ((pivcol [IN] >= 0 && pivcol [IN] < n_col)
-	|| (pivcol [OUT] >= 0 && pivcol [OUT] < n_col)) ;
-
-    cdeg_in = EMPTY ;
-    cdeg_out = EMPTY ;
-
-    /* ---------------------------------------------------------------------- */
-    /* construct candidate column in front, and search for pivot rows */
-    /* ---------------------------------------------------------------------- */
-
-#ifndef NDEBUG
-    /* check Frpos */
-    DEBUG4 (("Prior to col update: fnrows "ID" col "ID" maxcdeg "ID"\n",
-	    fnrows, pivcol [IN], max_cdeg)) ;
-    for (i = 0 ; i < fnrows ; i++)
-    {
-	row = Frows [i] ;
-	DEBUG4 (("  row: "ID"\n", row)) ;
-	ASSERT (row >= 0 && row < n_row) ;
-	ASSERT (Frpos [row] == i) ;
-    }
-    DEBUG4 (("All:\n")) ;
-    if (UMF_debug > 0 || n_row < 1000)
-    {
-	Int cnt = fnrows ;
-	for (row = 0 ; row < n_row ; row++)
-	{
-	    if (Frpos [row] == EMPTY)
-	    {
-		cnt++ ;
-	    }
-	    else
-	    {
-		DEBUG4 (("  row: "ID" pos "ID"\n", row, Frpos [row])) ;
-	    }
-	}
-	ASSERT (cnt == n_row) ;
-    }
-#endif
-
-    if (pivcol [IN] != EMPTY)
-    {
-
-#ifndef NDEBUG
-	DEBUG2 (("col[IN] column "ID" in front at position = "ID"\n",
-		pivcol [IN], Fcpos [pivcol [IN]])) ;
-	UMF_dump_rowcol (1, Numeric, Work, pivcol [IN], !Symbolic->fixQ) ;
-#endif
-
-	/* the only way we can have a pivcol[IN] is if the front is not empty */
-	ASSERT (fnrows > 0 && fncols > 0) ;
-
-	DEBUG4 (("Update pivot column:\n")) ;
-	Fs  = Fcblock  +  Fcpos [pivcol [IN]] ;
-	Fu  = Fublock  + (Fcpos [pivcol [IN]] / fnr_curr) ;
-	Flu = Flublock + fnpiv * nb ;
-
-	/* ------------------------------------------------------------------ */
-	/* copy the pivot column from the U block into the LU block */
-	/* ------------------------------------------------------------------ */
-
-	/* This copy is permanent if the pivcol [IN] is chosen. */
-	for (i = 0 ; i < fnpiv ; i++)
-	{
-	    Flu [i] = Fu [i*fnc_curr] ;
-	}
-
-	/* ------------------------------------------------------------------ */
-	/* update the pivot column in the LU block using a triangular solve */
-	/* ------------------------------------------------------------------ */
-
-	/* This work will be discarded if the pivcol [OUT] is chosen instead.
-	 * It is permanent if the pivcol [IN] is chosen. */
-
-	if (fnpiv > 1)
-	{
-	    /* solve Lx=b, where b = U (:,k), stored in the LU block */
-
-#ifdef USE_NO_BLAS
-
-	    /* no BLAS available - use plain C code instead */
-	    Entry *Flub = Flublock ;
-	    for (j = 0 ; j < fnpiv ; j++)
-	    {
-		Entry Fuj = Flu [j] ;
-#pragma ivdep
-		for (i = j+1 ; i < fnpiv ; i++)
-		{
-		    /* Flu [i] -= Flublock [i + j*nb] * Flu [j] ; */
-		    MULT_SUB (Flu [i], Flub [i], Fuj) ;
-		}
-		Flub += nb ;
-	    }
-
-#else
-	    BLAS_TRSV (fnpiv, Flublock, Flu, nb) ;
-#endif
-
-	}
-
-	/* ------------------------------------------------------------------ */
-	/* copy the pivot column from the C block into Wy */
-	/* ------------------------------------------------------------------ */
-
-	for (i = 0 ; i < fnrows ; i++)
-	{
-	    Wy [i] = Fs [i] ;
-	}
-
-	/* ------------------------------------------------------------------ */
-	/* update the pivot column of L using a matrix-vector multiply */
-	/* ------------------------------------------------------------------ */
-
-	/* this work will be discarded if the pivcol [OUT] is chosen instead */
-
-#ifdef USE_NO_BLAS
-	/* no BLAS available - use plain C code instead */
-	for (j = 0 ; j < fnpiv ; j++)
-	{
-	    Entry Fuj, *Flub = Flblock + j * fnr_curr ;
-	    Fuj = Flu [j] ;
-	    if (IS_NONZERO (Fuj))
-	    {
-#pragma ivdep
-		for (i = 0 ; i < fnrows ; i++)
-		{
-		    /* Wy [i] -= Flblock [i+j*fnr_curr] * Fuj ; */
-		    MULT_SUB (Wy [i], Flub [i], Fuj) ;
-		}
-	    }
-	    /* Flblock += fnr_curr ; */
-	}
-#else
-	/* Using 1-based notation:
-	 * Wy (1:fnrows) -= Flblock (1:fnrows,1:fnpiv) * Flu (1:fnpiv) */
-	BLAS_GEMV (fnrows, fnpiv, Flblock, Flu, Wy, fnr_curr) ;
-#endif
-
-	/* ------------------------------------------------------------------ */
-
-#ifndef NDEBUG
-	DEBUG2 (("Wy after update: fnrows="ID"\n", fnrows)) ;
-	DEBUG4 ((" fnpiv="ID" \n", fnpiv)) ;
-	for (i = 0 ; i < fnrows ; i++)
-	{
-	    DEBUG4 ((ID" "ID" "ID, i, Frows [i], Frpos [Frows [i]])) ;
-	    EDEBUG4 (Wy [i]) ;
-	    DEBUG4 (("\n")) ;
-	}
-#endif
-
-	/* ------------------------------------------------------------------ */
-	/* construct the candidate column */
-	/* ------------------------------------------------------------------ */
-
-	cdeg_in = fnrows ;
-
-#ifndef NDEBUG
-	/* check Frpos */
-	DEBUG4 (("After col update: fnrows "ID" col "ID" maxcdeg "ID"\n",
-		fnrows, pivcol [IN], max_cdeg)) ;
-	for (i = 0 ; i < fnrows ; i++)
-	{
-	    row = Frows [i] ;
-	    DEBUG4 (("  row: "ID"\n", row)) ;
-	    ASSERT (row >= 0 && row < n_row) ;
-	    ASSERT (Frpos [row] == i) ;
-	}
-	DEBUG4 (("All:\n")) ;
-	if (UMF_debug > 0 || n_row < 1000)
-	{
-	    Int cnt = fnrows ;
-	    for (row = 0 ; row < n_row ; row++)
-	    {
-		if (Frpos [row] == EMPTY)
-		{
-		    cnt++ ;
-		}
-		else
-		{
-		    DEBUG4 (("  row: "ID" pos "ID"\n", row, Frpos [row])) ;
-		}
-	    }
-	    ASSERT (cnt == n_row) ;
-	}
-#endif
-
-#ifndef NDEBUG
-	/* check Frpos */
-	DEBUG4 (("COL ASSEMBLE: cdeg "ID"\nREDUCE COL in "ID" max_cdeg "ID"\n",
-		cdeg_in, pivcol [IN], max_cdeg)) ;
-	for (i = 0 ; i < cdeg_in ; i++)
-	{
-	    row = Frows [i] ;
-	    ASSERT (row >= 0 && row < n_row) ;
-	    ASSERT (Frpos [row] == i) ;
-	}
-	if (UMF_debug > 0 || n_row < 1000)
-	{
-	    Int cnt = cdeg_in ;
-	    for (row = 0 ; row < n_row ; row++)
-	    {
-		if (Frpos [row] == EMPTY) cnt++ ;
-	    }
-	    ASSERT (cnt == n_row) ;
-	}
-#endif
-
-	/* assemble column into Wy */
-
-	ASSERT (pivcol [IN] >= 0 && pivcol [IN] < n_col) ;
-	ASSERT (NON_PIVOTAL_COL (pivcol [IN])) ;
-
-	tpi = Col_tuples [pivcol [IN]] ;
-	if (tpi)
-	{
-	    tp = (Tuple *) (Memory + tpi) ;
-	    tp1 = tp ;
-	    tp2 = tp ;
-	    tpend = tp + Col_tlen [pivcol [IN]] ;
-	    for ( ; tp < tpend ; tp++)
-	    {
-		e = tp->e ;
-		ASSERT (e > 0 && e <= Work->nel) ;
-		if (!E [e]) continue ;	/* element already deallocated */
-		f = tp->f ;
-		p = Memory + E [e] ;
-		ep = (Element *) p ;
-		p += UNITS (Element, 1) ;
-		Cols = (Int *) p ;
-		if (Cols [f] == EMPTY) continue ; /* column already assembled */
-		ASSERT (pivcol [IN] == Cols [f]) ;
-
-		Rows = Cols + ep->ncols ;
-		nrows = ep->nrows ;
-		p += UNITS (Int, ep->ncols + nrows) ;
-		C = ((Entry *) p) + f * nrows ;
-
-		for (i = 0 ; i < nrows ; i++)
-		{
-		    row = Rows [i] ;
-		    if (row >= 0) /* skip this if already gone from element */
-		    {
-			ASSERT (row < n_row) ;
-			pos = Frpos [row] ;
-			if (pos < 0)
-			{
-			    /* new entry in the pattern - save Frpos */
-			    ASSERT (cdeg_in < n_row) ;
-			    if (cdeg_in >= max_cdeg)
-			    {
-				/* :: pattern change (cdeg in failure) :: */
-				DEBUGm4 (("cdeg_in failure\n")) ;
-				return (UMFPACK_ERROR_different_pattern) ;
-			    }
-			    Frpos [row] = cdeg_in ;
-			    Frows [cdeg_in] = row ;
-			    Wy [cdeg_in++] = C [i] ;
-			}
-			else
-			{
-			    /* entry already in pattern - sum values in Wy */
-			    /* Wy [pos] += C [i] ; */
-			    ASSERT (pos < max_cdeg) ;
-			    ASSEMBLE (Wy [pos], C [i]) ;
-			}
-		    }
-		}
-		*tp2++ = *tp ;	/* leave the tuple in the list */
-	    }
-	    Col_tlen [pivcol [IN]] = tp2 - tp1 ;
-	}
-
-	/* ------------------------------------------------------------------ */
-
-#ifndef NDEBUG
-	/* check Frpos again */
-	DEBUG4 (("COL DONE: cdeg "ID"\nREDUCE COL in "ID" max_cdeg "ID"\n",
-		cdeg_in, pivcol [IN], max_cdeg)) ;
-	for (i = 0 ; i < cdeg_in ; i++)
-	{
-	    row = Frows [i] ;
-	    ASSERT (row >= 0 && row < n_row) ;
-	    ASSERT (Frpos [row] == i) ;
-	}
-	if (UMF_debug > 0 || n_row < 1000)
-	{
-	    Int cnt = cdeg_in ;
-	    for (row = 0 ; row < n_row ; row++)
-	    {
-		if (Frpos [row] == EMPTY) cnt++ ;
-	    }
-	    ASSERT (cnt == n_row) ;
-	}
-#endif
-
-#ifndef NDEBUG
-	DEBUG4 (("Reduced column: cdeg in  "ID" fnrows_max "ID"\n",
-	    cdeg_in, Work->fnrows_max)) ;
-	for (i = 0 ; i < cdeg_in ; i++)
-	{
-	    DEBUG4 ((" "ID" "ID" "ID, i, Frows [i], Frpos [Frows [i]])) ;
-	    EDEBUG4 (Wy [i]) ;
-	    DEBUG4 (("\n")) ;
-	    ASSERT (i == Frpos [Frows [i]]) ;
-	}
-	ASSERT (cdeg_in <= Work->fnrows_max) ;
-#endif
-
-	/* ------------------------------------------------------------------ */
-	/* cdeg_in is now the exact degree of this column */
-	/* ------------------------------------------------------------------ */
-
-	nr_in = cdeg_in - fnrows ;
-
-	/* since there are no 0-by-x fronts, if there is a pivcol [IN] the */
-	/* front must have at least one row. */
-	ASSERT (cdeg_in > 0) ;
-
-	/* new degree of pivcol [IN], excluding current front is nr_in */
-	/* column expands by nr_in rows */
-
-	/* ------------------------------------------------------------------ */
-	/* search for two candidate pivot rows */
-	/* ------------------------------------------------------------------ */
-
-	/* for the IN_IN pivot row (if any), */
-	/* extend the pattern in place, using Fcols */
-	status = UMF_row_search (Numeric, Work, Symbolic,
-	    fnrows, cdeg_in, Frows, Frpos,   /* pattern of column to search */
-	    pivrow [IN], rdeg [IN], Fcols, Wio, nothing, Wy,
-	    pivcol [IN], freebie) ;
-	ASSERT (!freebie [IN] && !freebie [OUT]) ;
-
-	/* ------------------------------------------------------------------ */
-	/* fatal error if matrix pattern has changed since symbolic analysis */
-	/* ------------------------------------------------------------------ */
-
-	if (status == UMFPACK_ERROR_different_pattern)
-	{
-	    /* :: pattern change (row search IN failure) :: */
-	    DEBUGm4 (("row search IN failure\n")) ;
-	    return (UMFPACK_ERROR_different_pattern) ;
-	}
-
-	/* ------------------------------------------------------------------ */
-	/* we now must have a structural pivot */
-	/* ------------------------------------------------------------------ */
-
-	/* Since the pivcol[IN] exists, there must be at least one row in the */
-	/* current frontal matrix, and so we must have found a structural */
-	/* pivot.  The numerical value might be zero, of course. */
-
-	ASSERT (status != UMFPACK_WARNING_singular_matrix) ;
-
-	/* ------------------------------------------------------------------ */
-	/* evaluate IN_IN option */
-	/* ------------------------------------------------------------------ */
-
-	if (pivrow [IN][IN] != EMPTY)
-	{
-	    /* The current front would become an (implicit) LUson.
-	     * Both candidate pivot row and column are in the current front.
-	     * Cost is how much the current front would expand */
-
-	    /* pivrow[IN][IN] candidates are not found via row merge search */
-
-	    ASSERT (fnrows >= 0 && fncols >= 0) ;
-
-	    ASSERT (cdeg_in > 0) ;
-	    nc = rdeg [IN][IN] - fncols ;
-
-	    thiscost =
-		/* each column in front (except pivot column) grows by nr_in: */
-		(nr_in * (fncols - 1)) +
-		/* new columns not in old front: */
-		(nc * (cdeg_in - 1)) ;
-
-	    /* no extra cost to relaxed amalgamation */
-
-	    ASSERT (fnrows + nr_in == cdeg_in) ;
-	    ASSERT (fncols + nc == rdeg [IN][IN]) ;
-
-	    /* size of relaxed front (after pivot row column removed): */
-	    fnrows_new [IN][IN] = (fnrows-1) + nr_in ;
-	    fncols_new [IN][IN] = (fncols-1) + nc ;
-	    /* relaxed_front = fnrows_new [IN][IN] * fncols_new [IN][IN] ; */
-
-	    do_extend = TRUE ;
-
-	    DEBUG2 (("Evaluating option IN-IN:\n")) ;
-	    DEBUG2 (("Work->fnzeros "ID" fnpiv "ID" nr_in "ID" nc "ID"\n",
-		Work->fnzeros, fnpiv, nr_in, nc)) ;
-	    DEBUG2 (("fncols "ID" fnrows "ID"\n", fncols, fnrows)) ;
-
-	    /* determine if BLAS-3 update should be applied before extending. */
-	    /* update if too many zero entries accumulate in the LU block */
-	    fnzeros = Work->fnzeros + fnpiv * (nr_in + nc) ;
-
-	    DEBUG2 (("fnzeros "ID"\n", fnzeros)) ;
-
-	    new_LUsize = (fnpiv+1) * (fnrows + nr_in + fncols + nc) ;
-
-	    DEBUG2 (("new_LUsize "ID"\n", new_LUsize)) ;
-
-	    /* There are fnpiv pivots currently in the front.  This one
-	     * will be the (fnpiv+1)st pivot, if it is extended. */
-
-	    /* RELAX2 parameter uses a double relop, but ignore NaN case: */
-	    do_update = fnpiv > 0 &&
-		(((double) fnzeros) / ((double) new_LUsize)) > RELAX2 ;
-
-	    DEBUG2 (("do_update "ID"\n", do_update))
-
-	    DEBUG2 (("option IN  IN : nr "ID" nc "ID" cost "ID"(0) relax "ID
-		"\n", nr_in, nc, thiscost, do_extend)) ;
-
-	    /* this is the best option seen so far */
-	    Work->pivot_case = IN_IN ;
-	    bestcost = thiscost ;
-
-	    /* do the amalgamation and extend the front */
-	    Work->do_extend = do_extend ;
-	    Work->do_update = do_update ;
-	    new_fnzeros = fnzeros ;
-
-	}
-
-	/* ------------------------------------------------------------------ */
-	/* evaluate IN_OUT option */
-	/* ------------------------------------------------------------------ */
-
-	if (pivrow [IN][OUT] != EMPTY)
-	{
-	    /* The current front would become a Uson of the new front.
-	     * Candidate pivot column is in the current front, but the
-	     * candidate pivot row is not. */
-
-	    ASSERT (fnrows >= 0 && fncols > 0) ;
-	    ASSERT (cdeg_in > 0) ;
-
-	    /* must be at least one row outside the front */
-	    /* (the pivrow [IN][OUT] itself) */
-	    ASSERT (nr_in >= 1) ;
-
-	    /* count columns not in current front */
-	    nc = 0 ;
-#ifndef NDEBUG
-	    debug_ok = FALSE ;
-#endif
-	    for (i = 0 ; i < rdeg [IN][OUT] ; i++)
-	    {
-		col = Wio [i] ;
-		DEBUG4 (("counting col "ID" Fcpos[] = "ID"\n", col,
-		    Fcpos [col])) ;
-		ASSERT (col >= 0 && col < n_col && NON_PIVOTAL_COL (col)) ;
-		if (Fcpos [col] < 0) nc++ ;
-#ifndef NDEBUG
-		/* we must see the pivot column somewhere */
-		if (col == pivcol [IN])
-		{
-		    ASSERT (Fcpos [col] >= 0) ;
-		    debug_ok = TRUE ;
-		}
-#endif
-	    }
-	    ASSERT (debug_ok) ;
-
-	    thiscost =
-		/* each row in front grows by nc: */
-		(nc * fnrows) +
-		/* new rows not affected by front: */
-		((nr_in-1) * (rdeg [IN][OUT]-1)) ;
-
-	    /* check the cost of relaxed IN_OUT amalgamation */
-
-	    extra_cols = ((fncols-1) + nc ) - (rdeg [IN][OUT] - 1) ;
-	    ASSERT (extra_cols >= 0) ;
-	    ASSERT (fncols + nc == extra_cols + rdeg [IN][OUT]) ;
-	    extra_zeros = (nr_in-1) * extra_cols ;	/* symbolic fill-in */
-
-	    ASSERT (fnrows + nr_in == cdeg_in) ;
-	    ASSERT (fncols + nc == rdeg [IN][OUT] + extra_cols) ;
-
-	    /* size of relaxed front (after pivot column removed): */
-	    fnrows_new [IN][OUT] = fnrows + (nr_in-1) ;
-	    fncols_new [IN][OUT] = (fncols-1) + nc ;
-	    relaxed_front = fnrows_new [IN][OUT] * fncols_new [IN][OUT] ;
-
-	    /* do relaxed amalgamation if the extra zeros are no more */
-	    /* than a fraction (default 0.25) of the relaxed front */
-	    /* if relax = 0: no extra zeros allowed */
-	    /* if relax = +inf: always amalgamate */
-
-	    /* relax parameter uses a double relop, but ignore NaN case: */
-	    if (extra_zeros == 0)
-	    {
-		do_extend = TRUE ;
-	    }
-	    else
-	    {
-		do_extend = ((double) extra_zeros) <
-		   (relax1 * (double) relaxed_front) ;
-	    }
-
-	    if (do_extend)
-	    {
-		/* count the cost of relaxed amalgamation */
-		thiscost += extra_zeros ;
-
-		DEBUG2 (("Evaluating option IN-OUT:\n")) ;
-		DEBUG2 (("Work->fnzeros "ID" fnpiv "ID" nr_in "ID" nc "ID"\n",
-		    Work->fnzeros, fnpiv, nr_in, nc)) ;
-		DEBUG2 (("fncols "ID" fnrows "ID"\n", fncols, fnrows)) ;
-
-		/* determine if BLAS-3 update to be applied before extending. */
-		/* update if too many zero entries accumulate in the LU block */
-		fnzeros = Work->fnzeros + fnpiv * (nr_in + nc) ;
-
-		DEBUG2 (("fnzeros "ID"\n", fnzeros)) ;
-
-		new_LUsize = (fnpiv+1) * (fnrows + nr_in + fncols + nc) ;
-
-		DEBUG2 (("new_LUsize "ID"\n", new_LUsize)) ;
-
-		/* RELAX3 parameter uses a double relop, ignore NaN case: */
-		do_update = fnpiv > 0 &&
-		    (((double) fnzeros) / ((double) new_LUsize)) > RELAX3 ;
-		DEBUG2 (("do_update "ID"\n", do_update))
-
-	    }
-	    else
-	    {
-		/* the current front would not be extended */
-		do_update = fnpiv > 0 ;
-		fnzeros = 0 ;
-		DEBUG2 (("IN-OUT do_update forced true: "ID"\n", do_update)) ;
-
-		/* The new front would be just big enough to hold the new
-		 * pivot row and column. */
-		fnrows_new [IN][OUT] = cdeg_in - 1 ;
-		fncols_new [IN][OUT] = rdeg [IN][OUT] - 1 ;
-
-	    }
-
-	    DEBUG2 (("option IN  OUT: nr "ID" nc "ID" cost "ID"("ID") relax "ID
-		"\n", nr_in, nc, thiscost, extra_zeros, do_extend)) ;
-
-	    if (bestcost == EMPTY || thiscost < bestcost)
-	    {
-		/* this is the best option seen so far */
-		Work->pivot_case = IN_OUT ;
-		bestcost = thiscost ;
-		Work->do_extend = do_extend ;
-		Work->do_update = do_update ;
-		new_fnzeros = fnzeros ;
-	    }
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* construct candidate column not in front, and search for pivot rows */
-    /* ---------------------------------------------------------------------- */
-
-    search_pivcol_out = (bestcost != 0 && pivcol [OUT] != EMPTY) ;
-    if (Symbolic->prefer_diagonal)
-    {
-	search_pivcol_out = search_pivcol_out && (pivrow [IN][IN] == EMPTY) ;
-    }
-
-    if (search_pivcol_out)
-    {
-
-#ifndef NDEBUG
-	DEBUG2 (("out_col column "ID" NOT in front at position = "ID"\n",
-		pivcol [OUT], Fcpos [pivcol [OUT]])) ;
-	UMF_dump_rowcol (1, Numeric, Work, pivcol [OUT], !Symbolic->fixQ) ;
-	DEBUG2 (("fncols "ID" fncols_max "ID"\n", fncols, Work->fncols_max)) ;
-	ASSERT (fncols < Work->fncols_max) ;
-#endif
-
-	/* Use Wx as temporary workspace to construct the pivcol [OUT] */
-
-
-	/* ------------------------------------------------------------------ */
-	/* construct the candidate column (currently not in the front) */
-	/* ------------------------------------------------------------------ */
-
-	/* Construct the column in Wx, Wm, using Wp for the positions: */
-	/* Wm [0..cdeg_out-1]	list of row indices in the column */
-	/* Wx [0..cdeg_out-1]	list of corresponding numerical values */
-	/* Wp [0..n-1] starts as all negative, and ends that way too. */
-
-	cdeg_out = 0 ;
-
-#ifndef NDEBUG
-	/* check Wp */
-	DEBUG4 (("COL ASSEMBLE: cdeg 0\nREDUCE COL out "ID"\n", pivcol [OUT])) ;
-	if (UMF_debug > 0 || MAX (n_row, n_col) < 1000)
-	{
-	    for (i = 0 ; i < MAX (n_row, n_col) ; i++)
-	    {
-		ASSERT (Wp [i] < 0) ;
-	    }
-	}
-	DEBUG4 (("max_cdeg: "ID"\n", max_cdeg)) ;
-#endif
-
-	ASSERT (pivcol [OUT] >= 0 && pivcol [OUT] < n_col) ;
-	ASSERT (NON_PIVOTAL_COL (pivcol [OUT])) ;
-
-	tpi = Col_tuples [pivcol [OUT]] ;
-	if (tpi)
-	{
-	    tp = (Tuple *) (Memory + tpi) ;
-	    tp1 = tp ;
-	    tp2 = tp ;
-	    tpend = tp + Col_tlen [pivcol [OUT]] ;
-	    for ( ; tp < tpend ; tp++)
-	    {
-		e = tp->e ;
-		ASSERT (e > 0 && e <= Work->nel) ;
-		if (!E [e]) continue ;	/* element already deallocated */
-		f = tp->f ;
-		p = Memory + E [e] ;
-		ep = (Element *) p ;
-		p += UNITS (Element, 1) ;
-		Cols = (Int *) p ;
-		if (Cols [f] == EMPTY) continue ; /* column already assembled */
-		ASSERT (pivcol [OUT] == Cols [f]) ;
-
-		Rows = Cols + ep->ncols ;
-		nrows = ep->nrows ;
-		p += UNITS (Int, ep->ncols + nrows) ;
-		C = ((Entry *) p) + f * nrows ;
-
-		for (i = 0 ; i < nrows ; i++)
-		{
-		    row = Rows [i] ;
-		    if (row >= 0) /* skip this if already gone from element */
-		    {
-			ASSERT (row < n_row) ;
-			pos = Wp [row] ;
-			if (pos < 0)
-			{
-			    /* new entry in the pattern - save Wp */
-			    ASSERT (cdeg_out < n_row) ;
-			    if (cdeg_out >= max_cdeg)
-			    {
-				/* :: pattern change (cdeg out failure) :: */
-				DEBUGm4 (("cdeg out failure\n")) ;
-				return (UMFPACK_ERROR_different_pattern) ;
-			    }
-			    Wp [row] = cdeg_out ;
-			    Wm [cdeg_out] = row ;
-			    Wx [cdeg_out++] = C [i] ;
-			}
-			else
-			{
-			    /* entry already in pattern - sum the values */
-			    /* Wx [pos] += C [i] ; */
-			    ASSEMBLE (Wx [pos], C [i]) ;
-			}
-		    }
-		}
-		*tp2++ = *tp ;	/* leave the tuple in the list */
-	    }
-	    Col_tlen [pivcol [OUT]] = tp2 - tp1 ;
-	}
-
-	/* ------------------------------------------------------------------ */
-
-#ifndef NDEBUG
-	DEBUG4 (("Reduced column: cdeg out "ID"\n", cdeg_out)) ;
-	for (i = 0 ; i < cdeg_out ; i++)
-	{
-	    DEBUG4 ((" "ID" "ID" "ID, i, Wm [i], Wp [Wm [i]])) ;
-	    EDEBUG4 (Wx [i]) ;
-	    DEBUG4 (("\n")) ;
-	    ASSERT (i == Wp [Wm [i]]) ;
-	}
-#endif
-
-	/* ------------------------------------------------------------------ */
-	/* new degree of pivcol [OUT] is cdeg_out */
-	/* ------------------------------------------------------------------ */
-
-	/* search for two candidate pivot rows */
-	status = UMF_row_search (Numeric, Work, Symbolic,
-	    0, cdeg_out, Wm, Wp, /* pattern of column to search */
-	    pivrow [OUT], rdeg [OUT], Woi, Woo, pivrow [IN], Wx,
-	    pivcol [OUT], freebie) ;
-
-	/* ------------------------------------------------------------------ */
-	/* fatal error if matrix pattern has changed since symbolic analysis */
-	/* ------------------------------------------------------------------ */
-
-	if (status == UMFPACK_ERROR_different_pattern)
-	{
-	    /* :: pattern change detected in umf_local_search :: */
-	    return (UMFPACK_ERROR_different_pattern) ;
-	}
-
-	/* ------------------------------------------------------------------ */
-	/* Clear Wp */
-	/* ------------------------------------------------------------------ */
-
-	for (i = 0 ; i < cdeg_out ; i++)
-	{
-	    Wp [Wm [i]] = EMPTY ;	/* clear Wp */
-	}
-
-	/* ------------------------------------------------------------------ */
-	/* check for rectangular, singular matrix */
-	/* ------------------------------------------------------------------ */
-
-	if (status == UMFPACK_WARNING_singular_matrix)
-	{
-	    /* Pivot column is empty, and row-merge set is empty too.  The
-	     * matrix is structurally singular.  The current frontal matrix must
-	     * be empty, too.  It it weren't, and pivcol [OUT] exists, then
-	     * there would be at least one row that could be selected.  Since
-	     * the current front is empty, pivcol [IN] must also be EMPTY.
-	     */
-
-	    DEBUGm4 (("Note: pivcol [OUT]: "ID" discard\n", pivcol [OUT])) ;
-	    ASSERT ((Work->fnrows == 0 && Work->fncols == 0)) ;
-	    ASSERT (pivcol [IN] == EMPTY) ;
-
-	    /* remove the failed pivcol [OUT] from candidate set */
-	    ASSERT (pivcol [OUT] == Work->Candidates [jcand [OUT]]) ;
-	    remove_candidate (jcand [OUT], Work, Symbolic) ;
-	    Work->ndiscard++ ;
-
-	    /* delete all of the tuples, and all contributions to this column */
-	    DEBUG1 (("Prune tuples of dead outcol: "ID"\n", pivcol [OUT])) ;
-	    Col_tlen [pivcol [OUT]] = 0 ;
-	    UMF_mem_free_tail_block (Numeric, Col_tuples [pivcol [OUT]]) ;
-	    Col_tuples [pivcol [OUT]] = 0 ;
-
-	    /* no pivot found at all */
-	    return (UMFPACK_WARNING_singular_matrix) ;
-	}
-
-	/* ------------------------------------------------------------------ */
-
-	if (freebie [IN])
-	{
-	    /* the "in" row is the same as the "in" row for the "in" column */
-	    Woi = Fcols ;
-	    rdeg [OUT][IN] = rdeg [IN][IN] ;
-	    DEBUG4 (("Freebie in, row "ID"\n", pivrow [IN][IN])) ;
-	}
-
-	if (freebie [OUT])
-	{
-	    /* the "out" row is the same as the "out" row for the "in" column */
-	    Woo = Wio ;
-	    rdeg [OUT][OUT] = rdeg [IN][OUT] ;
-	    DEBUG4 (("Freebie out, row "ID"\n", pivrow [IN][OUT])) ;
-	}
-
-	/* ------------------------------------------------------------------ */
-	/* evaluate OUT_IN option */
-	/* ------------------------------------------------------------------ */
-
-	if (pivrow [OUT][IN] != EMPTY)
-	{
-	    /* The current front would become an Lson of the new front.
-	     * The candidate pivot row is in the current front, but the
-	     * candidate pivot column is not. */
-
-	    ASSERT (fnrows > 0 && fncols >= 0) ;
-
-	    did_rowmerge = (cdeg_out == 0) ;
-	    if (did_rowmerge)
-	    {
-		/* pivrow [OUT][IN] was found via row merge search */
-		/* it is not (yet) in the pivot column pattern (add it now) */
-		DEBUGm4 (("did row merge OUT col, IN row\n")) ;
-		Wm [0] = pivrow [OUT][IN] ;
-		CLEAR (Wx [0]) ;
-		cdeg_out = 1 ;
-		ASSERT (nr_out == EMPTY) ;
-	    }
-
-	    nc = rdeg [OUT][IN] - fncols ;
-	    ASSERT (nc >= 1) ;
-
-	    /* count rows not in current front */
-	    nr_out = 0 ;
-#ifndef NDEBUG
-	    debug_ok = FALSE ;
-#endif
-	    for (i = 0 ; i < cdeg_out ; i++)
-	    {
-		row = Wm [i] ;
-		ASSERT (row >= 0 && row < n_row && NON_PIVOTAL_ROW (row)) ;
-		if (Frpos [row] < 0 || Frpos [row] >= fnrows) nr_out++ ;
-#ifndef NDEBUG
-		/* we must see the pivot row somewhere */
-		if (row == pivrow [OUT][IN])
-		{
-		    ASSERT (Frpos [row] >= 0) ;
-		    debug_ok = TRUE ;
-		}
-#endif
-	    }
-	    ASSERT (debug_ok) ;
-
-	    thiscost =
-		/* each column in front grows by nr_out: */
-		(nr_out * fncols) +
-		/* new cols not affected by front: */
-		((nc-1) * (cdeg_out-1)) ;
-
-	    /* check the cost of relaxed OUT_IN amalgamation */
-
-	    extra_rows = ((fnrows-1) + nr_out) - (cdeg_out - 1) ;
-	    ASSERT (extra_rows >= 0) ;
-	    ASSERT (fnrows + nr_out == extra_rows + cdeg_out) ;
-	    extra_zeros = (nc-1) * extra_rows ;	/* symbolic fill-in */
-
-	    ASSERT (fnrows + nr_out == cdeg_out + extra_rows) ;
-	    ASSERT (fncols + nc == rdeg [OUT][IN]) ;
-
-	    /* size of relaxed front (after pivot row removed): */
-	    fnrows_new [OUT][IN] = (fnrows-1) + nr_out ;
-	    fncols_new [OUT][IN] = fncols + (nc-1) ;
-	    relaxed_front = fnrows_new [OUT][IN] * fncols_new [OUT][IN] ;
-
-	    /* do relaxed amalgamation if the extra zeros are no more */
-	    /* than a fraction (default 0.25) of the relaxed front */
-	    /* if relax = 0: no extra zeros allowed */
-	    /* if relax = +inf: always amalgamate */
-	    if (did_rowmerge)
-	    {
-		do_extend = FALSE ;
-	    }
-	    else
-	    {
-		/* relax parameter uses a double relop, but ignore NaN case: */
-		if (extra_zeros == 0)
-		{
-		    do_extend = TRUE ;
-		}
-		else
-		{
-		    do_extend = ((double) extra_zeros) <
-		       (relax1 * (double) relaxed_front) ;
-		}
-	    }
-
-	    if (do_extend)
-	    {
-		/* count the cost of relaxed amalgamation */
-		thiscost += extra_zeros ;
-
-		DEBUG2 (("Evaluating option OUT-IN:\n")) ;
-		DEBUG2 ((" Work->fnzeros "ID" fnpiv "ID" nr_out "ID" nc "ID"\n",
-		Work->fnzeros, fnpiv, nr_out, nc)) ;
-		DEBUG2 (("fncols "ID" fnrows "ID"\n", fncols, fnrows)) ;
-
-		/* determine if BLAS-3 update to be applied before extending. */
-		/* update if too many zero entries accumulate in the LU block */
-		fnzeros = Work->fnzeros + fnpiv * (nr_out + nc) ;
-
-		DEBUG2 (("fnzeros "ID"\n", fnzeros)) ;
-
-		new_LUsize = (fnpiv+1) * (fnrows + nr_out + fncols + nc) ;
-
-		DEBUG2 (("new_LUsize "ID"\n", new_LUsize)) ;
-
-		/* RELAX3 parameter uses a double relop, ignore NaN case: */
-		do_update = fnpiv > 0 &&
-		    (((double) fnzeros) / ((double) new_LUsize)) > RELAX3 ;
-		DEBUG2 (("do_update "ID"\n", do_update))
-	    }
-	    else
-	    {
-		/* the current front would not be extended */
-		do_update = fnpiv > 0 ;
-		fnzeros = 0 ;
-		DEBUG2 (("OUT-IN do_update forced true: "ID"\n", do_update)) ;
-
-		/* The new front would be just big enough to hold the new
-		 * pivot row and column. */
-		fnrows_new [OUT][IN] = cdeg_out - 1 ;
-		fncols_new [OUT][IN] = rdeg [OUT][IN] - 1 ;
-	    }
-
-	    DEBUG2 (("option OUT IN : nr "ID" nc "ID" cost "ID"("ID") relax "ID
-		"\n", nr_out, nc, thiscost, extra_zeros, do_extend)) ;
-
-	    if (bestcost == EMPTY || thiscost < bestcost)
-	    {
-		/* this is the best option seen so far */
-		Work->pivot_case = OUT_IN ;
-		bestcost = thiscost ;
-		Work->do_extend = do_extend ;
-		Work->do_update = do_update ;
-		new_fnzeros = fnzeros ;
-	    }
-	}
-
-	/* ------------------------------------------------------------------ */
-	/* evaluate OUT_OUT option */
-	/* ------------------------------------------------------------------ */
-
-	if (pivrow [OUT][OUT] != EMPTY)
-	{
-	    /* Neither the candidate pivot row nor the candidate pivot column
-	     * are in the current front. */
-
-	    ASSERT (fnrows >= 0 && fncols >= 0) ;
-
-	    did_rowmerge = (cdeg_out == 0) ;
-	    if (did_rowmerge)
-	    {
-		/* pivrow [OUT][OUT] was found via row merge search */
-		/* it is not (yet) in the pivot column pattern (add it now) */
-		DEBUGm4 (("did row merge OUT col, OUT row\n")) ;
-		Wm [0] = pivrow [OUT][OUT] ;
-		CLEAR (Wx [0]) ;
-		cdeg_out = 1 ;
-		ASSERT (nr_out == EMPTY) ;
-		nr_out = 1 ;
-	    }
-
-	    if (fnrows == 0 && fncols == 0)
-	    {
-		/* the current front is completely empty */
-		ASSERT (fnpiv == 0) ;
-		nc = rdeg [OUT][OUT] ;
-		extra_cols = 0 ;
-		nr_out = cdeg_out ;
-		extra_rows = 0 ;
-		extra_zeros = 0 ;
-
-		thiscost = (nc-1) * (cdeg_out-1) ; /* new columns only */
-
-		/* size of new front: */
-		fnrows_new [OUT][OUT] = nr_out-1 ;
-		fncols_new [OUT][OUT] = nc-1 ;
-		relaxed_front = fnrows_new [OUT][OUT] * fncols_new [OUT][OUT] ;
-	    }
-	    else
-	    {
-
-		/* count rows not in current front */
-		if (nr_out == EMPTY)
-		{
-		    nr_out = 0 ;
-#ifndef NDEBUG
-		    debug_ok = FALSE ;
-#endif
-		    for (i = 0 ; i < cdeg_out ; i++)
-		    {
-			row = Wm [i] ;
-			ASSERT (row >= 0 && row < n_row) ;
-			ASSERT (NON_PIVOTAL_ROW (row)) ;
-			if (Frpos [row] < 0 || Frpos [row] >= fnrows) nr_out++ ;
-#ifndef NDEBUG
-			/* we must see the pivot row somewhere */
-			if (row == pivrow [OUT][OUT])
-			{
-			    ASSERT (Frpos [row] < 0 || Frpos [row] >= fnrows) ;
-			    debug_ok = TRUE ;
-			}
-#endif
-		    }
-		    ASSERT (debug_ok) ;
-		}
-
-		/* count columns not in current front */
-		nc = 0 ;
-#ifndef NDEBUG
-		debug_ok = FALSE ;
-#endif
-		for (i = 0 ; i < rdeg [OUT][OUT] ; i++)
-		{
-		    col = Woo [i] ;
-		    ASSERT (col >= 0 && col < n_col && NON_PIVOTAL_COL (col)) ;
-		    if (Fcpos [col] < 0) nc++ ;
-#ifndef NDEBUG
-		    /* we must see the pivot column somewhere */
-		    if (col == pivcol [OUT])
-		    {
-			ASSERT (Fcpos [col] < 0) ;
-			debug_ok = TRUE ;
-		    }
-#endif
-		}
-		ASSERT (debug_ok) ;
-
-		extra_cols = (fncols + (nc-1)) - (rdeg [OUT][OUT] - 1) ;
-		extra_rows = (fnrows + (nr_out-1)) - (cdeg_out - 1) ;
-		ASSERT (extra_rows >= 0) ;
-		ASSERT (extra_cols >= 0) ;
-		extra_zeros = ((nc-1) * extra_rows) + ((nr_out-1) * extra_cols);
-
-		ASSERT (fnrows + nr_out == cdeg_out + extra_rows) ;
-		ASSERT (fncols + nc == rdeg [OUT][OUT] + extra_cols) ;
-
-		thiscost =
-		    /* new columns: */
-		    ((nc-1) * (cdeg_out-1)) +
-		    /* old columns in front grow by nr_out-1: */
-		    ((nr_out-1) * (fncols - extra_cols)) ;
-
-		/* size of relaxed front: */
-		fnrows_new [OUT][OUT] = fnrows + (nr_out-1) ;
-		fncols_new [OUT][OUT] = fncols + (nc-1) ;
-		relaxed_front = fnrows_new [OUT][OUT] * fncols_new [OUT][OUT] ;
-
-	    }
-
-	    /* do relaxed amalgamation if the extra zeros are no more */
-	    /* than a fraction (default 0.25) of the relaxed front */
-	    /* if relax = 0: no extra zeros allowed */
-	    /* if relax = +inf: always amalgamate */
-	    if (did_rowmerge)
-	    {
-		do_extend = FALSE ;
-	    }
-	    else
-	    {
-		/* relax parameter uses a double relop, but ignore NaN case: */
-		if (extra_zeros == 0)
-		{
-		    do_extend = TRUE ;
-		}
-		else
-		{
-		    do_extend = ((double) extra_zeros) <
-		       (relax1 * (double) relaxed_front) ;
-		}
-	    }
-
-	    if (do_extend)
-	    {
-		/* count the cost of relaxed amalgamation */
-		thiscost += extra_zeros ;
-
-		DEBUG2 (("Evaluating option OUT-OUT:\n")) ;
-		DEBUG2 (("Work->fnzeros "ID" fnpiv "ID" nr_out "ID" nc "ID"\n",
-		    Work->fnzeros, fnpiv, nr_out, nc)) ;
-		DEBUG2 (("fncols "ID" fnrows "ID"\n", fncols, fnrows)) ;
-
-		/* determine if BLAS-3 update to be applied before extending. */
-		/* update if too many zero entries accumulate in the LU block */
-		fnzeros = Work->fnzeros + fnpiv * (nr_out + nc) ;
-
-		DEBUG2 (("fnzeros "ID"\n", fnzeros)) ;
-
-		new_LUsize = (fnpiv+1) * (fnrows + nr_out + fncols + nc) ;
-
-		DEBUG2 (("new_LUsize "ID"\n", new_LUsize)) ;
-
-		/* RELAX3 parameter uses a double relop, ignore NaN case: */
-		do_update = fnpiv > 0 &&
-		    (((double) fnzeros) / ((double) new_LUsize)) > RELAX3 ;
-		DEBUG2 (("do_update "ID"\n", do_update))
-	    }
-	    else
-	    {
-		/* the current front would not be extended */
-		do_update = fnpiv > 0 ;
-		fnzeros = 0 ;
-		DEBUG2 (("OUT-OUT do_update forced true: "ID"\n", do_update)) ;
-
-		/* The new front would be just big enough to hold the new
-		 * pivot row and column. */
-		fnrows_new [OUT][OUT] = cdeg_out - 1 ;
-		fncols_new [OUT][OUT] = rdeg [OUT][OUT] - 1 ;
-	    }
-
-	    DEBUG2 (("option OUT OUT: nr "ID" nc "ID" cost "ID"\n",
-		rdeg [OUT][OUT], cdeg_out, thiscost)) ;
-
-	    if (bestcost == EMPTY || thiscost < bestcost)
-	    {
-		/* this is the best option seen so far */
-		Work->pivot_case = OUT_OUT ;
-		bestcost = thiscost ;
-		Work->do_extend = do_extend ;
-		Work->do_update = do_update ;
-		new_fnzeros = fnzeros ;
-	    }
-	}
-    }
-
-    /* At this point, a structural pivot has been found. */
-    /* It may be numerically zero, however. */
-    ASSERT (Work->pivot_case != EMPTY) ;
-    DEBUG2 (("local search, best option "ID", best cost "ID"\n",
-	Work->pivot_case, bestcost)) ;
-
-    /* ====================================================================== */
-    /* Pivot row and column, and extension, now determined */
-    /* ====================================================================== */
-
-    Work->fnzeros = new_fnzeros ;
-
-    /* ---------------------------------------------------------------------- */
-    /* finalize the pivot row and column */
-    /* ---------------------------------------------------------------------- */
-
-    switch (Work->pivot_case)
-    {
-	case IN_IN:
-	    DEBUG2 (("IN-IN option selected\n")) ;
-	    ASSERT (fnrows > 0 && fncols > 0) ;
-	    Work->pivcol_in_front = TRUE ;
-	    Work->pivrow_in_front = TRUE ;
-	    Work->pivcol = pivcol [IN] ;
-	    Work->pivrow = pivrow [IN][IN] ;
-	    Work->ccdeg = nr_in ;
-	    Work->Wrow = Fcols ;
-	    Work->rrdeg = rdeg [IN][IN] ;
-	    jj = jcand [IN] ;
-	    Work->fnrows_new = fnrows_new [IN][IN] ;
-	    Work->fncols_new = fncols_new [IN][IN] ;
-	    break ;
-
-	case IN_OUT:
-	    DEBUG2 (("IN-OUT option selected\n")) ;
-	    ASSERT (fnrows >= 0 && fncols > 0) ;
-	    Work->pivcol_in_front = TRUE ;
-	    Work->pivrow_in_front = FALSE ;
-	    Work->pivcol = pivcol [IN] ;
-	    Work->pivrow = pivrow [IN][OUT] ;
-	    Work->ccdeg = nr_in ;
-	    Work->Wrow = Wio ;
-	    Work->rrdeg = rdeg [IN][OUT] ;
-	    jj = jcand [IN] ;
-	    Work->fnrows_new = fnrows_new [IN][OUT] ;
-	    Work->fncols_new = fncols_new [IN][OUT] ;
-	    break ;
-
-	case OUT_IN:
-	    DEBUG2 (("OUT-IN option selected\n")) ;
-	    ASSERT (fnrows > 0 && fncols >= 0) ;
-	    Work->pivcol_in_front = FALSE ;
-	    Work->pivrow_in_front = TRUE ;
-	    Work->pivcol = pivcol [OUT] ;
-	    Work->pivrow = pivrow [OUT][IN] ;
-	    Work->ccdeg = cdeg_out ;
-	    /* Wrow might be equivalenced to Fcols (Freebie in): */
-	    Work->Wrow = Woi ;
-	    Work->rrdeg = rdeg [OUT][IN] ;
-	    /* Work->Wrow[0..fncols-1] is not there.  See Fcols instead */
-	    jj = jcand [OUT] ;
-	    Work->fnrows_new = fnrows_new [OUT][IN] ;
-	    Work->fncols_new = fncols_new [OUT][IN] ;
-	    break ;
-
-	case OUT_OUT:
-	    DEBUG2 (("OUT-OUT option selected\n")) ;
-	    ASSERT (fnrows >= 0 && fncols >= 0) ;
-	    Work->pivcol_in_front = FALSE ;
-	    Work->pivrow_in_front = FALSE ;
-	    Work->pivcol = pivcol [OUT] ;
-	    Work->pivrow = pivrow [OUT][OUT] ;
-	    Work->ccdeg = cdeg_out ;
-	    /* Wrow might be equivalenced to Wio (Freebie out): */
-	    Work->Wrow = Woo ;
-	    Work->rrdeg = rdeg [OUT][OUT] ;
-	    jj = jcand [OUT] ;
-	    Work->fnrows_new = fnrows_new [OUT][OUT] ;
-	    Work->fncols_new = fncols_new [OUT][OUT] ;
-	    break ;
-
-    }
-
-    ASSERT (IMPLIES (fnrows == 0 && fncols == 0, Work->pivot_case == OUT_OUT)) ;
-
-    if (!Work->pivcol_in_front && pivcol [IN] != EMPTY)
-    {
-	/* clear Frpos if pivcol [IN] was searched, but not selected */
-	for (i = fnrows ; i < cdeg_in ; i++)
-	{
-	    Frpos [Frows [i]] = EMPTY;
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* Pivot row and column have been found */
-    /* ---------------------------------------------------------------------- */
-
-    /* ---------------------------------------------------------------------- */
-    /* remove pivot column from candidate pivot column set */
-    /* ---------------------------------------------------------------------- */
-
-    ASSERT (jj >= 0 && jj < Work->nCandidates) ;
-    ASSERT (Work->pivcol == Work->Candidates [jj]) ;
-    remove_candidate (jj, Work, Symbolic) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* check for frontal matrix growth */
-    /* ---------------------------------------------------------------------- */
-
-    DEBUG1 (("Check frontal growth:\n")) ;
-    DEBUG1 (("fnrows_new "ID" + 1 = "ID",  fnr_curr "ID"\n",
-	    Work->fnrows_new, Work->fnrows_new + 1, fnr_curr)) ;
-    DEBUG1 (("fncols_new "ID" + 1 = "ID",  fnc_curr "ID"\n",
-	    Work->fncols_new, Work->fncols_new + 1, fnc_curr)) ;
-
-    Work->do_grow = (Work->fnrows_new + 1 > fnr_curr
-		  || Work->fncols_new + 1 > fnc_curr) ;
-    if (Work->do_grow)
-    {
-	DEBUG0 (("\nNeed to grow frontal matrix, force do_update true\n")) ;
-	/* If the front must grow, then apply the pending updates and remove
-	 * the current pivot rows/columns from the front prior to growing the
-	 * front.  This frees up as much space as possible for the new front. */
-	if (!Work->do_update && fnpiv > 0)
-	{
-	    /* This update would not have to be done if the current front
-	     * was big enough. */
-	    Work->nforced++ ;
-	    Work->do_update = TRUE ;
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* current pivot column */
-    /* ---------------------------------------------------------------------- */
-
-    /*
-	c1) If pivot column index is in the current front:
-
-	    The pivot column pattern is in Frows [0 .. fnrows-1] and
-	    the extension is in Frows [fnrows ... fnrows+ccdeg-1].
-
-	    Frpos [Frows [0 .. fnrows+ccdeg-1]] is
-	    equal to 0 .. fnrows+ccdeg-1.  Wm is not needed.
-
-	    The values are in Wy [0 .. fnrows+ccdeg-1].
-
-	c2) Otherwise, if the pivot column index is not in the current front:
-
-	    c2a) If the front is being extended, old row indices in the the
-		pivot column pattern are in Frows [0 .. fnrows-1].
-
-		All entries are in Wm [0 ... ccdeg-1], with values in
-		Wx [0 .. ccdeg-1].  These may include entries already in
-		Frows [0 .. fnrows-1].
-
-		Frpos [Frows [0 .. fnrows-1]] is equal to 0 .. fnrows-1.
-		Frpos [Wm [0 .. ccdeg-1]] for new entries is < 0.
-
-	    c2b) If the front is not being extended, then the entire pivot
-		column pattern is in Wm [0 .. ccdeg-1].  It includes
-		the pivot row index.  It is does not contain the pattern
-		Frows [0..fnrows-1].  The intersection of these two
-		sets may or may not be empty.  The values are in Wx [0..ccdeg-1]
-
-	In both cases c1 and c2, Frpos [Frows [0 .. fnrows-1]] is equal
-	to 0 .. fnrows-1, which is the pattern of the current front.
-	Any entry of Frpos that is not specified above is < 0.
-    */
-
-
-#ifndef NDEBUG
-    DEBUG2 (("\n\nSEARCH DONE: Pivot col "ID" in: ("ID") pivot row "ID" in: ("ID
-	") extend: "ID"\n\n", Work->pivcol, Work->pivcol_in_front,
-	Work->pivrow, Work->pivrow_in_front, Work->do_extend)) ;
-    UMF_dump_rowcol (1, Numeric, Work, Work->pivcol, !Symbolic->fixQ) ;
-    DEBUG2 (("Pivot col "ID": fnrows "ID" ccdeg "ID"\n", Work->pivcol, fnrows,
-	Work->ccdeg)) ;
-    if (Work->pivcol_in_front)	/* case c1 */
-    {
-	Int found = FALSE ;
-	DEBUG3 (("Pivcol in front\n")) ;
-	for (i = 0 ; i < fnrows ; i++)
-	{
-	    row = Frows [i] ;
-	    DEBUG3 ((ID":   row:: "ID" in front ", i, row)) ;
-	    ASSERT (row >= 0 && row < n_row && NON_PIVOTAL_ROW (row)) ;
-	    ASSERT (Frpos [row] == i) ;
-	    EDEBUG3 (Wy [i]) ;
-	    if (row == Work->pivrow)
-	    {
-		DEBUG3 ((" <- pivrow")) ;
-		found = TRUE ;
-	    }
-	    DEBUG3 (("\n")) ;
-	}
-	ASSERT (found == Work->pivrow_in_front) ;
-	found = FALSE ;
-	for (i = fnrows ; i < fnrows + Work->ccdeg ; i++)
-	{
-	    row = Frows [i] ;
-	    DEBUG3 ((ID":   row:: "ID" (new)", i, row)) ;
-	    ASSERT (row >= 0 && row < n_row && NON_PIVOTAL_ROW (row)) ;
-	    ASSERT (Frpos [row] == i) ;
-	    EDEBUG3 (Wy [i]) ;
-	    if (row == Work->pivrow)
-	    {
-		DEBUG3 ((" <- pivrow")) ;
-		found = TRUE ;
-	    }
-	    DEBUG3 (("\n")) ;
-	}
-	ASSERT (found == !Work->pivrow_in_front) ;
-    }
-    else
-    {
-	if (Work->do_extend)
-	{
-	    Int found = FALSE ;
-	    DEBUG3 (("Pivcol not in front (extend)\n")) ;
-	    for (i = 0 ; i < fnrows ; i++)
-	    {
-		row = Frows [i] ;
-		DEBUG3 ((ID":   row:: "ID" in front ", i, row)) ;
-		ASSERT (row >= 0 && row < n_row && NON_PIVOTAL_ROW (row)) ;
-		ASSERT (Frpos [row] == i) ;
-		if (row == Work->pivrow)
-		{
-		    DEBUG3 ((" <- pivrow")) ;
-		    found = TRUE ;
-		}
-		DEBUG3 (("\n")) ;
-	    }
-	    ASSERT (found == Work->pivrow_in_front) ;
-	    found = FALSE ;
-	    DEBUG3 (("----\n")) ;
-	    for (i = 0 ; i < Work->ccdeg ; i++)
-	    {
-		row = Wm [i] ;
-		ASSERT (row >= 0 && row < n_row && NON_PIVOTAL_ROW (row)) ;
-		DEBUG3 ((ID":   row:: "ID" ", i, row)) ;
-		EDEBUG3 (Wx [i]) ;
-		if (Frpos [row] < 0)
-		{
-		    DEBUG3 ((" (new) ")) ;
-		}
-		if (row == Work->pivrow)
-		{
-		    DEBUG3 ((" <- pivrow")) ;
-		    found = TRUE ;
-		    /* ... */
-		    if (Work->pivrow_in_front) ASSERT (Frpos [row] >= 0) ;
-		    else ASSERT (Frpos [row] < 0) ;
-		}
-		DEBUG3 (("\n")) ;
-	    }
-	    ASSERT (found) ;
-	}
-	else
-	{
-	    Int found = FALSE ;
-	    DEBUG3 (("Pivcol not in front (no extend)\n")) ;
-	    for (i = 0 ; i < Work->ccdeg ; i++)
-	    {
-		row = Wm [i] ;
-		ASSERT (row >= 0 && row < n_row && NON_PIVOTAL_ROW (row)) ;
-		DEBUG3 ((ID":   row:: "ID" ", i, row)) ;
-		EDEBUG3 (Wx [i]) ;
-		DEBUG3 ((" (new) ")) ;
-		if (row == Work->pivrow)
-		{
-		    DEBUG3 ((" <- pivrow")) ;
-		    found = TRUE ;
-		}
-		DEBUG3 (("\n")) ;
-	    }
-	    ASSERT (found) ;
-	}
-    }
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* current pivot row */
-    /* ---------------------------------------------------------------------- */
-
-    /*
-	r1) If the pivot row index is in the current front:
-
-	    The pivot row pattern is in Fcols [0..fncols-1] and the extenson is
-	    in Wrow [fncols .. rrdeg-1].  If the pivot column is in the current
-	    front, then Fcols and Wrow are equivalenced.
-
-	r2)  If the pivot row index is not in the current front:
-
-	    r2a) If the front is being extended, the pivot row pattern is in
-		Fcols [0 .. fncols-1].  New entries are in Wrow [0 .. rrdeg-1],
-		but these may include entries already in Fcols [0 .. fncols-1].
-
-	    r2b) Otherwise, the pivot row pattern is Wrow [0 .. rrdeg-1].
-
-	Fcpos [Fcols [0..fncols-1]] is (0..fncols-1) * fnr_curr.
-	All other entries in Fcpos are < 0.
-
-	These conditions are asserted below.
-
-	------------------------------------------------------------------------
-	Other items in Work structure that are relevant:
-
-	pivcol: the pivot column index
-	pivrow: the pivot column index
-
-	rrdeg:
-	ccdeg:
-
-	fnrows: the number of rows in the currnt contribution block
-	fncols: the number of columns in the current contribution block
-
-	fnrows_new: the number of rows in the new contribution block
-	fncols_new: the number of rows in the new contribution block
-
-	------------------------------------------------------------------------
-    */
-
-
-#ifndef NDEBUG
-    UMF_dump_rowcol (0, Numeric, Work, Work->pivrow, TRUE) ;
-    DEBUG2 (("Pivot row "ID":\n", Work->pivrow)) ;
-    if (Work->pivrow_in_front)
-    {
-	Int found = FALSE ;
-	for (i = 0 ; i < fncols ; i++)
-	{
-	    col = Fcols [i] ;
-	    DEBUG3 (("   col:: "ID" in front\n", col)) ;
-	    ASSERT (col >= 0 && col < n_col && NON_PIVOTAL_COL (col)) ;
-	    ASSERT (Fcpos [col] == i * fnr_curr) ;
-	    if (col == Work->pivcol) found = TRUE ;
-	}
-	ASSERT (found == Work->pivcol_in_front) ;
-	found = FALSE ;
-	ASSERT (IMPLIES (Work->pivcol_in_front, Fcols == Work->Wrow)) ;
-	for (i = fncols ; i < Work->rrdeg ; i++)
-	{
-	    col = Work->Wrow [i] ;
-	    ASSERT (col >= 0 && col < n_col && NON_PIVOTAL_COL (col)) ;
-	    ASSERT (Fcpos [col] < 0) ;
-	    if (col == Work->pivcol) found = TRUE ;
-	    else DEBUG3 (("   col:: "ID" (new)\n", col)) ;
-	}
-	ASSERT (found == !Work->pivcol_in_front) ;
-    }
-    else
-    {
-	if (Work->do_extend)
-	{
-	    Int found = FALSE ;
-	    for (i = 0 ; i < fncols ; i++)
-	    {
-		col = Fcols [i] ;
-		DEBUG3 (("   col:: "ID" in front\n", col)) ;
-		ASSERT (col >= 0 && col < n_col && NON_PIVOTAL_COL (col)) ;
-		ASSERT (Fcpos [col] == i * fnr_curr) ;
-		if (col == Work->pivcol) found = TRUE ;
-	    }
-	    ASSERT (found == Work->pivcol_in_front) ;
-	    found = FALSE ;
-	    for (i = 0 ; i < Work->rrdeg ; i++)
-	    {
-		col = Work->Wrow [i] ;
-		ASSERT (col >= 0 && col < n_col && NON_PIVOTAL_COL (col)) ;
-		if (Fcpos [col] >= 0) continue ;
-		if (col == Work->pivcol) found = TRUE ;
-		else DEBUG3 (("   col:: "ID" (new, extend)\n", col)) ;
-	    }
-	    ASSERT (found == !Work->pivcol_in_front) ;
-	}
-	else
-	{
-	    Int found = FALSE ;
-	    for (i = 0 ; i < Work->rrdeg ; i++)
-	    {
-		col = Work->Wrow [i] ;
-		ASSERT (col >= 0 && col < n_col && NON_PIVOTAL_COL (col)) ;
-		if (col == Work->pivcol) found = TRUE ;
-		else DEBUG3 (("   col:: "ID" (all new)\n", col)) ;
-	    }
-	    ASSERT (found) ;
-	}
-    }
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* determine whether to do scan2-row and scan2-col */
-    /* ---------------------------------------------------------------------- */
-
-    if (Work->do_extend)
-    {
-	Work->do_scan2row = (fncols > 0) ;
-	Work->do_scan2col = (fnrows > 0) ;
-    }
-    else
-    {
-	Work->do_scan2row = (fncols > 0) && Work->pivrow_in_front ;
-	Work->do_scan2col = (fnrows > 0) && Work->pivcol_in_front ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-
-    DEBUG2 (("LOCAL SEARCH DONE: pivot column "ID" pivot row: "ID"\n",
-	Work->pivcol, Work->pivrow)) ;
-    DEBUG2 (("do_extend: "ID"\n", Work->do_extend)) ;
-    DEBUG2 (("do_update: "ID"\n", Work->do_update)) ;
-    DEBUG2 (("do_grow:   "ID"\n", Work->do_grow)) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* keep track of the diagonal */
-    /* ---------------------------------------------------------------------- */
-
-    if (Symbolic->prefer_diagonal
-	&& Work->pivcol < Work->n_col - Symbolic->nempty_col)
-    {
-	Diagonal_map = Work->Diagonal_map ;
-	Diagonal_imap = Work->Diagonal_imap ;
-	ASSERT (Diagonal_map != (Int *) NULL) ;
-	ASSERT (Diagonal_imap != (Int *) NULL) ;
-
-	row2 = Diagonal_map  [Work->pivcol] ;
-	col2 = Diagonal_imap [Work->pivrow] ;
-
-	if (row2 < 0)
-	{
-	    /* this was an off-diagonal pivot row */
-	    Work->noff_diagonal++ ;
-	    row2 = UNFLIP (row2) ;
-	}
-
-	ASSERT (Diagonal_imap [row2] == Work->pivcol) ;
-	ASSERT (UNFLIP (Diagonal_map [col2]) == Work->pivrow) ;
-
-	if (row2 != Work->pivrow)
-	{
-	    /* swap the diagonal map to attempt to maintain symmetry later on.
-	     * Also mark the map for col2 (via FLIP) to denote that the entry
-	     * now on the diagonal is not the original entry on the diagonal. */
-
-	    DEBUG0 (("Unsymmetric pivot\n")) ;
-	    Diagonal_map  [Work->pivcol] = FLIP (Work->pivrow) ;
-	    Diagonal_imap [Work->pivrow] = Work->pivcol ;
-
-	    Diagonal_map  [col2] = FLIP (row2) ;
-	    Diagonal_imap [row2] = col2 ;
-
-	}
-	ASSERT (n_row == n_col) ;
-#ifndef NDEBUG
-	UMF_dump_diagonal_map (Diagonal_map, Diagonal_imap, Symbolic->n1,
-	    Symbolic->n_col, Symbolic->nempty_col) ;
-#endif
-    }
-
-    return (UMFPACK_OK) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_local_search.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL Int UMF_local_search
-(
-    NumericType *Numeric,
-    WorkType *Work,
-    SymbolicType *Symbolic
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_lsolve.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,151 +0,0 @@
-/* ========================================================================== */
-/* === UMF_lsolve =========================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*  solves Lx = b, where L is the lower triangular factor of a matrix */
-/*  B is overwritten with the solution X. */
-/*  Returns the floating point operation count */
-
-#include "umf_internal.h"
-
-GLOBAL double UMF_lsolve
-(
-    NumericType *Numeric,
-    Entry X [ ],		/* b on input, solution x on output */
-    Int Pattern [ ]		/* a work array of size n */
-)
-{
-    Entry xk ;
-    Entry *xp, *Lval ;
-    Int k, deg, *ip, j, row, *Lpos, *Lilen, *Lip, llen, lp, newLchain,
-	pos, npiv, n1, *Li ;
-
-    /* ---------------------------------------------------------------------- */
-
-    if (Numeric->n_row != Numeric->n_col) return (0.) ;
-    npiv = Numeric->npiv ;
-    Lpos = Numeric->Lpos ;
-    Lilen = Numeric->Lilen ;
-    Lip = Numeric->Lip ;
-    n1 = Numeric->n1 ;
-
-#ifndef NDEBUG
-    DEBUG4 (("Lsolve start:\n")) ;
-    for (j = 0 ; j < Numeric->n_row ; j++)
-    {
-	DEBUG4 (("Lsolve start "ID": ", j)) ;
-	EDEBUG4 (X [j]) ;
-	DEBUG4 (("\n")) ;
-    }
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* singletons */
-    /* ---------------------------------------------------------------------- */
-
-    for (k = 0 ; k < n1 ; k++)
-    {
-	DEBUG4 (("Singleton k "ID"\n", k)) ;
-	xk = X [k] ;
-	deg = Lilen [k] ;
-	if (deg > 0 && IS_NONZERO (xk))
-	{
-	    lp = Lip [k] ;
-	    Li = (Int *) (Numeric->Memory + lp) ;
-	    lp += UNITS (Int, deg) ;
-	    Lval = (Entry *) (Numeric->Memory + lp) ;
-	    for (j = 0 ; j < deg ; j++)
-	    {
-		DEBUG4 (("  row "ID"  k "ID" value", Li [j], k)) ;
-		EDEBUG4 (Lval [j]) ;
-		DEBUG4 (("\n")) ;
-		/* X [Li [j]] -= xk * Lval [j] ; */
-		MULT_SUB (X [Li [j]], xk, Lval [j]) ;
-	    }
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* rest of L */
-    /* ---------------------------------------------------------------------- */
-
-    deg = 0 ;
-
-    for (k = n1 ; k < npiv ; k++)
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* make column of L in Pattern [0..deg-1] */
-	/* ------------------------------------------------------------------ */
-
-	lp = Lip [k] ;
-	newLchain = (lp < 0) ;
-	if (newLchain)
-	{
-	    lp = -lp ;
-	    deg = 0 ;
-	    DEBUG4 (("start of chain for column of L\n")) ;
-	}
-
-	/* remove pivot row */
-	pos = Lpos [k] ;
-	if (pos != EMPTY)
-	{
-	    DEBUG4 (("  k "ID" removing row "ID" at position "ID"\n",
-	    k, Pattern [pos], pos)) ;
-	    ASSERT (!newLchain) ;
-	    ASSERT (deg > 0) ;
-	    ASSERT (pos >= 0 && pos < deg) ;
-	    ASSERT (Pattern [pos] == k) ;
-	    Pattern [pos] = Pattern [--deg] ;
-	}
-
-	/* concatenate the pattern */
-	ip = (Int *) (Numeric->Memory + lp) ;
-	llen = Lilen [k] ;
-	for (j = 0 ; j < llen ; j++)
-	{
-	    row = *ip++ ;
-	    DEBUG4 (("  row "ID"  k "ID"\n", row, k)) ;
-	    ASSERT (row > k) ;
-	    Pattern [deg++] = row ;
-	}
-
-	/* ------------------------------------------------------------------ */
-	/* use column k of L */
-	/* ------------------------------------------------------------------ */
-
-	xk = X [k] ;
-	if (IS_NONZERO (xk))
-	{
-	    xp = (Entry *) (Numeric->Memory + lp + UNITS (Int, llen)) ;
-	    for (j = 0 ; j < deg ; j++)
-	    {
-		DEBUG4 (("  row "ID"  k "ID" value", Pattern [j], k)) ;
-		EDEBUG4 (*xp) ;
-		DEBUG4 (("\n")) ;
-		/* X [Pattern [j]] -= xk * (*xp) ; */
-		MULT_SUB (X [Pattern [j]], xk, *xp) ;
-		xp++ ;
-	    }
-	}
-    }
-
-#ifndef NDEBUG
-    for (j = 0 ; j < Numeric->n_row ; j++)
-    {
-	DEBUG4 (("Lsolve done "ID": ", j)) ;
-	EDEBUG4 (X [j]) ;
-	DEBUG4 (("\n")) ;
-    }
-    DEBUG4 (("Lsolve done.\n")) ;
-#endif
-
-    return (MULTSUB_FLOPS * ((double) Numeric->lnz)) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_lsolve.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL double UMF_lsolve
-(
-    NumericType *Numeric,
-    Entry X [ ],
-    Int Pattern [ ]
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_ltsolve.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,225 +0,0 @@
-/* ========================================================================== */
-/* === UMF_ltsolve ========================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*  Solves L'x = b or L.'x=b, where L is the lower triangular factor of a */
-/*  matrix.  B is overwritten with the solution X. */
-/*  Returns the floating point operation count */
-
-#include "umf_internal.h"
-
-GLOBAL double
-#ifdef CONJUGATE_SOLVE
-UMF_lhsolve			/* solve L'x=b  (complex conjugate transpose) */
-#else
-UMF_ltsolve			/* solve L.'x=b (array transpose) */
-#endif
-(
-    NumericType *Numeric,
-    Entry X [ ],		/* b on input, solution x on output */
-    Int Pattern [ ]		/* a work array of size n */
-)
-{
-    Entry xk ;
-    Entry *xp, *Lval ;
-    Int k, deg, *ip, j, row, *Lpos, *Lilen, kstart, kend, *Lip, llen,
-	lp, pos, npiv, n1, *Li ;
-
-    /* ---------------------------------------------------------------------- */
-
-    if (Numeric->n_row != Numeric->n_col) return (0.) ;
-    npiv = Numeric->npiv ;
-    Lpos = Numeric->Lpos ;
-    Lilen = Numeric->Lilen ;
-    Lip = Numeric->Lip ;
-    kstart = npiv ;
-    n1 = Numeric->n1 ;
-
-#ifndef NDEBUG
-    DEBUG4 (("Ltsolve start:\n")) ;
-    for (j = 0 ; j < Numeric->n_row ; j++)
-    {
-	DEBUG4 (("Ltsolve start "ID": ", j)) ;
-	EDEBUG4 (X [j]) ;
-	DEBUG4 (("\n")) ;
-    }
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* non-singletons */
-    /* ---------------------------------------------------------------------- */
-
-    for (kend = npiv-1 ; kend >= n1 ; kend = kstart-1)
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* find the start of this Lchain */
-	/* ------------------------------------------------------------------ */
-
-	/* for (kstart = kend ; kstart >= 0 && Lip [kstart] > 0 ; kstart--) ; */
-	kstart = kend ;
-	while (kstart >= 0 && Lip [kstart] > 0)
-	{
-	    kstart-- ;
-	}
-
-	/* the Lchain goes from kstart to kend */
-
-	/* ------------------------------------------------------------------ */
-	/* scan the whole chain to find the pattern of the last column of L */
-	/* ------------------------------------------------------------------ */
-
-	deg = 0 ;
-	DEBUG4 (("start of chain for column of L\n")) ;
-	for (k = kstart ; k <= kend ; k++)
-	{
-	    ASSERT (k >= 0 && k < npiv) ;
-
-	    /* -------------------------------------------------------------- */
-	    /* make column k of L in Pattern [0..deg-1] */
-	    /* -------------------------------------------------------------- */
-
-	    /* remove pivot row */
-	    pos = Lpos [k] ;
-	    if (pos != EMPTY)
-	    {
-		DEBUG4 (("  k "ID" removing row "ID" at position "ID"\n",
-		k, Pattern [pos], pos)) ;
-		ASSERT (k != kstart) ;
-		ASSERT (deg > 0) ;
-		ASSERT (pos >= 0 && pos < deg) ;
-		ASSERT (Pattern [pos] == k) ;
-		Pattern [pos] = Pattern [--deg] ;
-	    }
-
-	    /* concatenate the pattern */
-	    lp = Lip [k] ;
-	    if (k == kstart)
-	    {
-		lp = -lp ;
-	    }
-	    ASSERT (lp > 0) ;
-	    ip = (Int *) (Numeric->Memory + lp) ;
-	    llen = Lilen [k] ;
-	    for (j = 0 ; j < llen ; j++)
-	    {
-		row = *ip++ ;
-		DEBUG4 (("  row "ID"  k "ID"\n", row, k)) ;
-		ASSERT (row > k) ;
-		Pattern [deg++] = row ;
-	    }
-
-	}
-	/* Pattern [0..deg-1] is now the pattern of column kend */
-
-	/* ------------------------------------------------------------------ */
-	/* solve using this chain, in reverse order */
-	/* ------------------------------------------------------------------ */
-
-	DEBUG4 (("Unwinding Lchain\n")) ;
-	for (k = kend ; k >= kstart ; k--)
-	{
-
-	    /* -------------------------------------------------------------- */
-	    /* use column k of L */
-	    /* -------------------------------------------------------------- */
-
-	    ASSERT (k >= 0 && k < npiv) ;
-	    lp = Lip [k] ;
-	    if (k == kstart)
-	    {
-		lp = -lp ;
-	    }
-	    ASSERT (lp > 0) ;
-	    llen = Lilen [k] ;
-	    xp = (Entry *) (Numeric->Memory + lp + UNITS (Int, llen)) ;
-	    xk = X [k] ;
-	    for (j = 0 ; j < deg ; j++)
-	    {
-		DEBUG4 (("  row "ID"  k "ID" value", Pattern [j], k)) ;
-		EDEBUG4 (*xp) ;
-		DEBUG4 (("\n")) ;
-
-#ifdef CONJUGATE_SOLVE
-		/* xk -= X [Pattern [j]] * conjugate (*xp) ; */
-		MULT_SUB_CONJ (xk, X [Pattern [j]], *xp) ;
-#else
-		/* xk -= X [Pattern [j]] * (*xp) ; */
-		MULT_SUB (xk, X [Pattern [j]], *xp) ;
-#endif
-
-		xp++ ;
-	    }
-	    X [k] = xk ;
-
-	    /* -------------------------------------------------------------- */
-	    /* construct column k-1 of L */
-	    /* -------------------------------------------------------------- */
-
-	    /* un-concatenate the pattern */
-	    deg -= llen ;
-
-	    /* add pivot row */
-	    pos = Lpos [k] ;
-	    if (pos != EMPTY)
-	    {
-		DEBUG4 (("  k "ID" adding row "ID" at position "ID"\n",
-		k, k, pos)) ;
-		ASSERT (k != kstart) ;
-		ASSERT (pos >= 0 && pos <= deg) ;
-		Pattern [deg++] = Pattern [pos] ;
-		Pattern [pos] = k ;
-	    }
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* singletons */
-    /* ---------------------------------------------------------------------- */
-
-    for (k = n1 - 1 ; k >= 0 ; k--)
-    {
-	DEBUG4 (("Singleton k "ID"\n", k)) ;
-	deg = Lilen [k] ;
-	if (deg > 0)
-	{
-	    xk = X [k] ;
-	    lp = Lip [k] ;
-	    Li = (Int *) (Numeric->Memory + lp) ;
-	    lp += UNITS (Int, deg) ;
-	    Lval = (Entry *) (Numeric->Memory + lp) ;
-	    for (j = 0 ; j < deg ; j++)
-	    {
-		DEBUG4 (("  row "ID"  k "ID" value", Li [j], k)) ;
-		EDEBUG4 (Lval [j]) ;
-		DEBUG4 (("\n")) ;
-#ifdef CONJUGATE_SOLVE
-		/* xk -= X [Li [j]] * conjugate (Lval [j]) ; */
-		MULT_SUB_CONJ (xk, X [Li [j]], Lval [j]) ;
-#else
-		/* xk -= X [Li [j]] * Lval [j] ; */
-		MULT_SUB (xk, X [Li [j]], Lval [j]) ;
-#endif
-	    }
-	    X [k] = xk ;
-	}
-    }
-
-#ifndef NDEBUG
-    for (j = 0 ; j < Numeric->n_row ; j++)
-    {
-	DEBUG4 (("Ltsolve done "ID": ", j)) ;
-	EDEBUG4 (X [j]) ;
-	DEBUG4 (("\n")) ;
-    }
-    DEBUG4 (("Ltsolve done.\n")) ;
-#endif
-
-    return (MULTSUB_FLOPS * ((double) Numeric->lnz)) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_ltsolve.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL double UMF_ltsolve
-(
-    NumericType *Numeric,
-    Entry X [ ],
-    Int Pattern [ ]
-) ;
-
-GLOBAL double UMF_lhsolve
-(
-    NumericType *Numeric,
-    Entry X [ ],
-    Int Pattern [ ]
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_malloc.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-/* ========================================================================== */
-/* === UMF_malloc =========================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    Allocate a block of n objects, each of a given size.  This routine does not
-    handle the case when the size is 1 (allocating char's) because of potential
-    integer overflow.  UMFPACK never does that.
-    Also maintains the UMFPACK malloc count.
-*/
-
-#include "umf_internal.h"
-
-#if defined (UMF_MALLOC_COUNT) || !defined (NDEBUG)
-
-/*
-    UMF_malloc_count is a count of the objects malloc'd by UMFPACK.  If you
-    suspect a memory leak in your program (caused by not properly destroying
-    the Symbolic and Numeric objects) then compile with -DUMF_MALLOC_COUNT and
-    check value of UMF_malloc_count.  By default, UMF_MALLOC_COUNT is not
-    defined, and thus UMFPACK has no global variables.
-*/
-
-GLOBAL Int UMF_malloc_count = 0 ;
-
-#endif
-
-#ifdef UMF_TCOV_TEST
-/* For exhaustive statement coverage testing only! */
-GLOBAL int umf_fail, umf_fail_lo, umf_fail_hi ;
-GLOBAL int umf_realloc_fail, umf_realloc_lo, umf_realloc_hi ;
-#endif
-
-GLOBAL void *UMF_malloc
-(
-    Int n_objects,
-    size_t size_of_object
-)
-{
-    size_t size ;
-    void *p ;
-
-#ifdef UMF_TCOV_TEST
-    /* For exhaustive statement coverage testing only! */
-    /* Pretend to fail, to test out-of-memory conditions. */
-    umf_fail-- ;
-    if (umf_fail <= umf_fail_hi && umf_fail >= umf_fail_lo)
-    {
-	DEBUG0 (("umf_malloc: Pretend to fail %d %d %d\n",
-	    umf_fail, umf_fail_hi, umf_fail_lo)) ;
-	return ((void *) NULL) ;
-    }
-#endif
-
-    DEBUG0 (("UMF_malloc: ")) ;
-
-    /* make sure that we allocate something */
-    n_objects = MAX (1, n_objects) ;
-
-    size = (size_t) n_objects ;
-    ASSERT (size_of_object > 1) ;
-    if (size > Int_MAX / size_of_object)
-    {
-	/* object is too big for integer pointer arithmetic */
-	return ((void *) NULL) ;
-    }
-    size *= size_of_object ;
-
-    /* see umf_config.h for the memory allocator selection */
-    p = ALLOCATE (size) ;
-
-    DEBUG0 ((ID"\n", (Int) p)) ;
-
-#if defined (UMF_MALLOC_COUNT) || !defined (NDEBUG)
-    if (p)
-    {
-	/* One more object has been malloc'ed.  Keep track of the count. */
-	/* (purely for sanity checks). */
-	UMF_malloc_count++ ;
-	DEBUG0 (("  successful, new malloc count: "ID"\n", UMF_malloc_count)) ;
-    }
-#endif
-
-    return (p) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_malloc.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-#ifndef _UMF_MALLOC
-#define _UMF_MALLOC
-
-#if defined (UMF_MALLOC_COUNT) || !defined (NDEBUG)
-GLOBAL extern Int UMF_malloc_count ;
-#endif
-
-GLOBAL void *UMF_malloc
-(
-    Int n_objects,
-    size_t size_of_object
-) ;
-
-#endif
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_mem_alloc_element.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/* ========================================================================== */
-/* === UMF_mem_alloc_element ================================================ */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/* The UMF_mem_* routines manage the Numeric->Memory memory space. */
-
-/* Allocate a nrows-by-ncols element, and initialize it. */
-/* Returns the index into Numeric->Memory if successful, or 0 on failure. */
-
-#include "umf_internal.h"
-#include "umf_mem_alloc_tail_block.h"
-
-GLOBAL Int UMF_mem_alloc_element
-(
-    NumericType *Numeric,
-    Int nrows,
-    Int ncols,
-    Int **Rows,
-    Int **Cols,
-    Entry **C,
-    Int *size,
-    Element **epout
-)
-{
-
-    Element *ep ;
-    Unit *p ;
-    Int i ;
-
-    ASSERT (Numeric != (NumericType *) NULL) ;
-    ASSERT (Numeric->Memory != (Unit *) NULL) ;
-
-    *size = GET_ELEMENT_SIZE (nrows, ncols) ;
-    if (INT_OVERFLOW (DGET_ELEMENT_SIZE (nrows, ncols) + 1))
-    {
-	/* :: allocate element, int overflow :: */
-	return (0) ;	/* problem is too large */
-    }
-
-    i = UMF_mem_alloc_tail_block (Numeric, *size) ;
-    (*size)++ ;
-    if (!i)
-    {
-	DEBUG0 (("alloc element failed - out of memory\n")) ;
-	return (0) ;	/* out of memory */
-    }
-    p = Numeric->Memory + i ;
-
-    ep = (Element *) p ;
-
-    DEBUG2 (("alloc_element done ("ID" x "ID"): p: "ID" i "ID"\n",
-	nrows, ncols, (Int) (p-Numeric->Memory), i)) ;
-
-    /* Element data structure, in order: */
-    p += UNITS (Element, 1) ;		/* (1) Element header */
-    *Cols = (Int *) p ;			/* (2) col [0..ncols-1] indices */
-    *Rows = *Cols + ncols ;		/* (3) row [0..nrows-1] indices */
-    p += UNITS (Int, ncols + nrows) ;
-    *C = (Entry *) p ;			/* (4) C [0..nrows-1, 0..ncols-1] */
-
-    ep->nrows = nrows ;		/* initialize the header information */
-    ep->ncols = ncols ;
-    ep->nrowsleft = nrows ;
-    ep->ncolsleft = ncols ;
-    ep->cdeg = 0 ;
-    ep->rdeg = 0 ;
-    ep->next = EMPTY ;
-
-    DEBUG2 (("new block size: "ID" ", GET_BLOCK_SIZE (Numeric->Memory + i))) ;
-    DEBUG2 (("Element size needed "ID"\n", GET_ELEMENT_SIZE (nrows, ncols))) ;
-
-    *epout = ep ;
-
-    /* return the offset into Numeric->Memory */
-    return (i) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_mem_alloc_element.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL Int UMF_mem_alloc_element
-(
-    NumericType *Numeric,
-    Int nrows,
-    Int ncols,
-    Int **Rows,
-    Int **Cols,
-    Entry **C,
-    Int *size,
-    Element **epout
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_mem_alloc_head_block.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/* ========================================================================== */
-/* === UMF_mem_alloc_head_block ============================================= */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/* The UMF_mem_* routines manage the Numeric->Memory memory space. */
-
-/* allocate nunits from head of Numeric->Memory.  No header allocated. */
-/* Returns the index into Numeric->Memory if successful, or 0 on failure. */
-
-#include "umf_internal.h"
-
-GLOBAL Int UMF_mem_alloc_head_block
-(
-    NumericType *Numeric,
-    Int nunits
-)
-{
-    Int p, usage ;
-    DEBUG2 (("GET  BLOCK: from head, size "ID" ", nunits)) ;
-
-    ASSERT (Numeric != (NumericType *) NULL) ;
-    ASSERT (Numeric->Memory != (Unit *) NULL) ;
-
-#ifndef NDEBUG
-    if (UMF_allocfail)
-    {
-	/* pretend to fail, to test garbage_collection */
-	DEBUGm2 (("UMF_mem_alloc_head_block: pretend to fail\n")) ;
-	UMF_allocfail = FALSE ;	/* don't fail the next time */
-	return (0) ;
-    }
-#endif
-
-    if (nunits > (Numeric->itail - Numeric->ihead))
-    {
-	DEBUG2 ((" failed\n")) ;
-	return (0) ;
-    }
-
-    /* return p as an offset from Numeric->Memory */
-    p = Numeric->ihead ;
-    Numeric->ihead += nunits ;
-
-    DEBUG2 (("p: "ID"\n", p)) ;
-    usage = Numeric->ihead + Numeric->tail_usage ;
-    Numeric->max_usage = MAX (Numeric->max_usage, usage) ;
-    return (p) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_mem_alloc_head_block.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL Int UMF_mem_alloc_head_block
-(
-    NumericType *Numeric,
-    Int nunits
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_mem_alloc_tail_block.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +0,0 @@
-/* ========================================================================== */
-/* === UMF_mem_alloc_tail_block ============================================= */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/* The UMF_mem_* routines manage the Numeric->Memory memory space. */
-
-#include "umf_internal.h"
-
-/* allocate nunits from tail of Numeric->Memory */
-/* (requires nunits+1, for header). */
-/* Returns the index into Numeric->Memory if successful, or 0 on failure. */
-
-GLOBAL Int UMF_mem_alloc_tail_block
-(
-    NumericType *Numeric,
-    Int nunits
-)
-{
-    Int bigsize, usage ;
-    Unit *p, *pnext, *pbig ;
-
-    ASSERT (Numeric != (NumericType *) NULL) ;
-    ASSERT (Numeric->Memory != (Unit *) NULL) ;
-
-#ifndef NDEBUG
-    if (UMF_allocfail)
-    {
-	/* pretend to fail, to test garbage_collection */
-	DEBUGm2 (("UMF_mem_alloc_tail_block: pretend to fail\n")) ;
-	UMF_allocfail = FALSE ;	/* don't fail the next time */
-	return (0) ;
-    }
-    DEBUG2 (("UMF_mem_alloc_tail_block, size: "ID" + 1 = "ID":  ",
-	nunits, nunits+1)) ;
-#endif
-
-    bigsize = 0 ;
-    pbig = (Unit *) NULL ;
-
-    ASSERT (nunits > 0) ;	/* size must be positive */
-    if (Numeric->ibig != EMPTY)
-    {
-	ASSERT (Numeric->ibig > Numeric->itail) ;
-	ASSERT (Numeric->ibig < Numeric->size) ;
-	pbig = Numeric->Memory + Numeric->ibig ;
-	bigsize = -pbig->header.size ;
-	ASSERT (bigsize > 0) ;	/* Numeric->ibig is free */
-	ASSERT (pbig->header.prevsize >= 0) ;	/* prev. is not free */
-    }
-
-    if (pbig && bigsize >= nunits)
-    {
-
-	/* use the biggest block, somewhere in middle of memory */
-	p = pbig ;
-	pnext = p + 1 + bigsize ;
-	/* next is in range */
-	ASSERT (pnext < Numeric->Memory + Numeric->size) ;
-	/* prevsize of next = this size */
-	ASSERT (pnext->header.prevsize == bigsize) ;
-	/* next is not free */
-	ASSERT (pnext->header.size > 0) ;
-	bigsize -= nunits + 1 ;
-
-	if (bigsize < 4)
-	{
-	    /* internal fragmentation would be too small */
-	    /* allocate the entire free block */
-	    p->header.size = -p->header.size ;
-	    DEBUG2 (("GET  BLOCK: p: "ID" size: "ID", all of big: "ID" size: "
-		ID"\n", (Int) (p-Numeric->Memory), nunits, Numeric->ibig,
-		p->header.size)) ;
-	    /* no more biggest block */
-	    Numeric->ibig = EMPTY ;
-
-	}
-	else
-	{
-
-	    /* allocate just the first nunits Units of the free block */
-	    p->header.size = nunits ;
-	    /* make a new free block */
-	    Numeric->ibig += nunits + 1 ;
-	    pbig = Numeric->Memory + Numeric->ibig ;
-	    pbig->header.size = -bigsize ;
-	    pbig->header.prevsize = nunits ;
-	    pnext->header.prevsize = bigsize ;
-	    DEBUG2 (("GET  BLOCK: p: "ID" size: "ID", some of big: "ID" left: "
-		ID"\n", (Int) (p-Numeric->Memory), nunits, Numeric->ibig,
-		bigsize)) ;
-	}
-
-    }
-    else
-    {
-
-	/* allocate from the top of tail */
-	pnext = Numeric->Memory + Numeric->itail ;
-	DEBUG2 (("GET  BLOCK: from tail ")) ;
-	if ((nunits + 1) > (Numeric->itail - Numeric->ihead))
-	{
-	    DEBUG2 (("\n")) ;
-	    return (0) ;
-	}
-	Numeric->itail -= (nunits + 1) ;
-	p = Numeric->Memory + Numeric->itail ;
-	p->header.size = nunits ;
-	p->header.prevsize = 0 ;
-	pnext->header.prevsize = nunits ;
-	DEBUG2 (("p: "ID" size: "ID", new tail "ID"\n",
-	    (Int) (p-Numeric->Memory), nunits, Numeric->itail)) ;
-    }
-
-    Numeric->tail_usage += p->header.size + 1 ;
-    usage = Numeric->ihead + Numeric->tail_usage ;
-    Numeric->max_usage = MAX (Numeric->max_usage, usage) ;
-
-#ifndef NDEBUG
-    UMF_debug -= 10 ;
-    UMF_dump_memory (Numeric) ;
-    UMF_debug += 10 ;
-#endif
-
-    /* p points to the header.  Add one to point to the usable block itself. */
-    /* return the offset into Numeric->Memory */
-    return ((p - Numeric->Memory) + 1) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_mem_alloc_tail_block.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL Int UMF_mem_alloc_tail_block
-(
-    NumericType *Numeric,
-    Int nunits
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_mem_free_tail_block.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,142 +0,0 @@
-/* ========================================================================== */
-/* === UMF_mem_free_tail_block ============================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/* The UMF_mem_* routines manage the Numeric->Memory memory space. */
-
-/* free a block from the tail of Numeric->memory */
-
-#include "umf_internal.h"
-
-GLOBAL void UMF_mem_free_tail_block
-(
-    NumericType *Numeric,
-    Int i
-)
-{
-    Unit *pprev, *pnext, *p, *pbig ;
-    Int sprev ;
-
-    ASSERT (Numeric != (NumericType *) NULL) ;
-    ASSERT (Numeric->Memory != (Unit *) NULL) ;
-    if (i == EMPTY || i == 0) return ;	/* already deallocated */
-
-    /* ---------------------------------------------------------------------- */
-    /* get the block */
-    /* ---------------------------------------------------------------------- */
-
-    p = Numeric->Memory + i ;
-
-    p-- ;	/* get the corresponding header */
-    DEBUG2 (("free block: p: "ID, (Int) (p-Numeric->Memory))) ;
-    ASSERT (p >= Numeric->Memory + Numeric->itail) ;
-    ASSERT (p < Numeric->Memory + Numeric->size) ;
-    ASSERT (p->header.size > 0) ;		/* block not already free */
-    ASSERT (p->header.prevsize >= 0) ;
-
-    Numeric->tail_usage -= p->header.size + 1 ;
-
-    /* ---------------------------------------------------------------------- */
-    /* merge with next free block, if any */
-    /* ---------------------------------------------------------------------- */
-
-    pnext = p + 1 + p->header.size ;
-    DEBUG2 (("size: "ID" next: "ID" ", p->header.size,
-	(Int) (pnext-Numeric->Memory))) ;
-    ASSERT (pnext < Numeric->Memory + Numeric->size) ;
-    ASSERT (pnext->header.prevsize == p->header.size) ;
-    ASSERT (pnext->header.size != 0) ;
-
-    if (pnext->header.size < 0)
-    {
-	/* next block is also free - merge with current block */
-	p->header.size += (-(pnext->header.size)) + 1 ;
-	DEBUG2 ((" NEXT FREE ")) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* merge with previous free block, if any */
-    /* ---------------------------------------------------------------------- */
-
-#ifndef NDEBUG
-    if (p == Numeric->Memory + Numeric->itail)
-    {
-	DEBUG2 ((" at top of tail ")) ;
-	ASSERT (p->header.prevsize == 0) ;
-    }
-#endif
-
-    if (p > Numeric->Memory + Numeric->itail)
-    {
-	ASSERT (p->header.prevsize > 0) ;
-	pprev = p - 1 - p->header.prevsize ;
-	DEBUG2 ((" prev: "ID" ", (Int) (pprev-Numeric->Memory))) ;
-	ASSERT (pprev >= Numeric->Memory + Numeric->itail) ;
-	sprev = pprev->header.size ;
-	if (sprev < 0)
-	{
-	    /* previous block is also free - merge it with current block */
-	    ASSERT (p->header.prevsize == -sprev) ;
-	    pprev->header.size = p->header.size + (-sprev) + 1 ;
-	    p = pprev ;
-	    DEBUG2 ((" PREV FREE ")) ;
-	    /* note that p may now point to Numeric->itail */
-	}
-#ifndef NDEBUG
-	else
-	{
-	    ASSERT (p->header.prevsize == sprev) ;
-	}
-#endif
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* free the block, p */
-    /* ---------------------------------------------------------------------- */
-
-    pnext = p + 1 + p->header.size ;
-    ASSERT (pnext < Numeric->Memory + Numeric->size) ;
-
-    if (p == Numeric->Memory + Numeric->itail)
-    {
-	/* top block in list is freed */
-	Numeric->itail = pnext - Numeric->Memory ;
-	pnext->header.prevsize = 0 ;
-	DEBUG2 ((" NEW TAIL : "ID" ", Numeric->itail)) ;
-	ASSERT (pnext->header.size > 0) ;
-	if (Numeric->ibig != EMPTY && Numeric->ibig <= Numeric->itail)
-	{
-	    /* the big free block is now above the tail */
-	    Numeric->ibig = EMPTY ;
-	}
-    }
-    else
-    {
-	/* keep track of the biggest free block seen */
-	if (Numeric->ibig == EMPTY)
-	{
-	    Numeric->ibig = p - Numeric->Memory ;
-	}
-	else
-	{
-	    pbig = Numeric->Memory + Numeric->ibig ;
-	    if (-(pbig->header.size) < p->header.size)
-	    {
-		Numeric->ibig = p - Numeric->Memory ;
-	    }
-	}
-	/* flag the block as free, somewhere in the middle of the tail */
-	pnext->header.prevsize = p->header.size ;
-	p->header.size = -(p->header.size) ;
-    }
-
-    DEBUG2 (("new p: "ID" freesize: "ID"\n", (Int) (p-Numeric->Memory),
-	-(p->header.size))) ;
-
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_mem_free_tail_block.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL void UMF_mem_free_tail_block
-(
-    NumericType *Numeric,
-    Int i
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_mem_init_memoryspace.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/* ========================================================================== */
-/* === UMF_mem_init_memoryspace ============================================= */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/* The UMF_mem_* routines manage the Numeric->Memory memory space. */
-
-#include "umf_internal.h"
-
-/* initialize the LU and element workspace (Numeric->Memory) */
-
-GLOBAL void UMF_mem_init_memoryspace
-(
-    NumericType *Numeric
-)
-{
-    Unit *p ;
-
-    ASSERT (Numeric != (NumericType *) NULL) ;
-    ASSERT (Numeric->Memory != (Unit *) NULL) ;
-    ASSERT (Numeric->size >= 3) ;
-    DEBUG0 (("Init memory space, size "ID"\n", Numeric->size)) ;
-
-    Numeric->ngarbage = 0 ;
-    Numeric->nrealloc = 0 ;
-    Numeric->ncostly = 0 ;
-    Numeric->ibig = EMPTY ;
-    Numeric->ihead = 0 ;
-    Numeric->itail = Numeric->size ;
-
-#ifndef NDEBUG
-    UMF_allocfail = FALSE ;
-#endif
-
-    /* allocate the 2-unit tail marker block and initialize it */
-    Numeric->itail -= 2 ;
-    p = Numeric->Memory + Numeric->itail ;
-    DEBUG2 (("p "ID" tail "ID"\n", (Int) (p-Numeric->Memory), Numeric->itail)) ;
-    Numeric->tail_usage = 2 ;
-    p->header.prevsize = 0 ;
-    p->header.size = 1 ;
-
-    /* allocate a 1-unit head marker block at the head of memory */
-    /* this is done so that an offset of zero is treated as a NULL pointer */
-    Numeric->ihead++ ;
-
-    /* initial usage in Numeric->Memory */
-    Numeric->max_usage = 3 ;
-    Numeric->init_usage = Numeric->max_usage ;
-
-    /* Note that UMFPACK_*symbolic ensures that Numeric->Memory is of size */
-    /* at least 3, so this initialization will always succeed. */
-
-#ifndef NDEBUG
-    DEBUG2 (("init_memoryspace, all free (except one unit at head\n")) ;
-    UMF_dump_memory (Numeric) ;
-#endif
-
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_mem_init_memoryspace.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL void UMF_mem_init_memoryspace
-(
-    NumericType *Numeric
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_multicompile.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/* ========================================================================== */
-/* === UMF_multicompile ===================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/* This file is not needed if you have the Unix/Linux "make" command for
- * compiling UMFPACK.  Microsoft Visual Studio cannot be configured to compile
- * one file multiple times, with different -D flags.  In this case, you can
- * use this file instead.  To use this file, see the Demo/simple_compile file.
- *
- * This file includes the following source files:
- *
- *	umf_ltsolve.c
- *	umf_utsolve.c
- *	umf_triplet.c
- *	umf_assemble.c
- *	umf_store_lu.c
- *	umfpack_solve.c
- *
- * This file simply compiles the above files with different pre-#define'd flags,
- * by defining the flags and then #include'ing the source files themselves.
- * This is a rather unconventional approach, since by convention #include is
- * supposed to be used with *.h files not *.c.  However, it is one way of
- * working around the limitations of Microsoft Visual Studio.
- *
- * You still need to compile all files separately as well, with none of the
- * pre-#define'd terms listed below.
- */
-
-/* compile the complex conjugate forward/backsolves */
-#define CONJUGATE_SOLVE
-#include "umf_ltsolve.c"
-#include "umf_utsolve.c"
-
-/* compile umf_triplet with DO_MAP, DO_VALUES and DO_MAP, and just DO_VALUES */
-#define DO_MAP
-#include "umf_triplet.c"
-#define DO_VALUES
-#include "umf_triplet.c"
-#undef DO_MAP
-#include "umf_triplet.c"
-
-/* compile the FIXQ version of umf_assemble */
-#define FIXQ
-#include "umf_assemble.c"
-
-/* compile the DROP version of umf_store_lu */
-#define DROP
-#include "umf_store_lu.c"
-
-/* compile umfpack_wsolve */
-#define WSOLVE
-#include "umfpack_solve.c"
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_realloc.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/* ========================================================================== */
-/* === UMF_realloc ========================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    Realloc a block previously allocated by UMF_malloc.
-    Return NULL on failure (in which case the block is still allocated, and will
-    be kept at is present size).  This routine is only used for Numeric->Memory.
-*/
-
-#include "umf_internal.h"
-
-#if defined (UMF_MALLOC_COUNT) || !defined (NDEBUG)
-#include "umf_malloc.h"
-#endif
-
-GLOBAL void *UMF_realloc
-(
-    void *p,
-    Int n_objects,
-    size_t size_of_object
-)
-{
-    size_t size ;
-    void *p2 ;
-
-#ifdef UMF_TCOV_TEST
-    /* For exhaustive statement coverage testing only! */
-    /* Pretend to fail, to test out-of-memory conditions. */
-    umf_realloc_fail-- ;
-    if (umf_realloc_fail <= umf_realloc_hi &&
-	umf_realloc_fail >= umf_realloc_lo)
-    {
-	return ((void *) NULL) ;
-    }
-#endif
-
-    /* make sure that we allocate something */
-    n_objects = MAX (1, n_objects) ;
-
-    size = (size_t) n_objects ;
-    ASSERT (size_of_object > 1) ;
-    if (size > Int_MAX / size_of_object)
-    {
-	/* :: int overflow in umf_realloc :: */
-	return ((void *) NULL) ;
-    }
-    size *= size_of_object ;
-
-    DEBUG0 (("UMF_realloc: "ID" n_objects "ID"  size_of_object "ID"\n",
-	(Int) p, n_objects, (Int) size_of_object)) ;
-
-    /* see umf_config.h for the memory allocator selection */
-    p2 = REALLOCATE (p, size) ;
-
-#if defined (UMF_MALLOC_COUNT) || !defined (NDEBUG)
-    /* If p didn't exist on input, and p2 exists, then a new object has been
-     * allocated. */
-    if (p == (void *) NULL && p2 != (void *) NULL)
-    {
-	UMF_malloc_count++ ;
-    }
-#endif
-
-    DEBUG0 (("UMF_realloc: "ID" new malloc count "ID"\n",
-	(Int) p2, UMF_malloc_count)) ;
-
-    return (p2) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_realloc.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL void *UMF_realloc
-(
-    void *p,
-    Int n_objects,
-    size_t size_of_object
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_report_perm.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/* ========================================================================== */
-/* === UMF_report_perm ====================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-#include "umf_internal.h"
-
-#define PRINTF4U(params) { if (user || prl >= 4) PRINTF (params) ; }
-
-GLOBAL Int UMF_report_perm
-(
-    Int n,
-    const Int P [ ],
-    Int W [ ],		/* workspace of size n */
-    Int prl,
-    Int user
-)
-{
-    Int i, k, valid, prl1 ;
-
-    ASSERT (prl >= 3) ;
-
-    PRINTF4U (("permutation vector, n = "ID". ", n)) ;
-
-    if (n <= 0)
-    {
-	PRINTF (("ERROR: length of permutation is <= 0\n\n")) ;
-	return (UMFPACK_ERROR_n_nonpositive) ;
-    }
-
-    if (!P)
-    {
-	/* if P is (Int *) NULL, this is the identity permutation */
-	PRINTF (("(not present)\n\n")) ;
-	return (UMFPACK_OK) ;
-    }
-
-    if (!W)
-    {
-	PRINTF (("ERROR: out of memory\n\n")) ;
-	return (UMFPACK_ERROR_out_of_memory) ;
-    }
-
-    PRINTF4 (("\n")) ;
-
-    for (i = 0 ; i < n ; i++)
-    {
-	W [i] = TRUE ;
-    }
-
-    prl1 = prl ;
-    for (k = 0 ; k < n ; k++)
-    {
-	i = P [k] ;
-	PRINTF4 (("    "ID" : "ID" ", INDEX (k), INDEX (i))) ;
-	valid = (i >= 0 && i < n) ;
-	if (valid)
-	{
-	    valid = W [i] ;
-	    W [i] = FALSE ;
-	}
-	if (!valid)
-	{
-	    /* out of range or duplicate entry */
-	    PRINTF (("ERROR: invalid\n\n")) ;
-	    return (UMFPACK_ERROR_invalid_permutation) ;
-	}
-	PRINTF4 (("\n")) ;
-	if (prl == 4 && k == 9 && n > 10)
-	{
-	    PRINTF (("    ...\n")) ;
-	    prl-- ;
-	}
-    }
-    prl = prl1 ;
-
-    PRINTF4 (("    permutation vector ")) ;
-    PRINTF4U (("OK\n\n")) ;
-    return (UMFPACK_OK) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_report_perm.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL Int UMF_report_perm
-(
-    Int n,
-    const Int P [ ],
-    Int W [ ],
-    Int prl,
-    Int user
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_report_vector.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-/* ========================================================================== */
-/* === UMF_report_vector ==================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-#include "umf_internal.h"
-
-/* ========================================================================== */
-/* === print_value ========================================================== */
-/* ========================================================================== */
-
-PRIVATE void print_value
-(
-    Int i,
-    const double Xx [ ],
-    const double Xz [ ],    /* used for complex case only */
-    Int scalar		    /* if true, then print real part only */
-)
-{
-    Entry xi ;
-    /* if Xz is null, then X is in "merged" format (compatible with Entry, */
-    /* and ANSI C99 double _Complex type). */
-    PRINTF (("    "ID" :", INDEX (i))) ;
-    if (scalar)
-    {
-	PRINT_SCALAR (Xx [i]) ;
-    }
-    else
-    {
-	ASSIGN (xi, Xx, Xz, i, SPLIT (Xz)) ;
-	PRINT_ENTRY (xi) ;
-    }
-    PRINTF (("\n")) ;
-}
-
-/* ========================================================================== */
-/* === UMF_report_vector ==================================================== */
-/* ========================================================================== */
-
-GLOBAL Int UMF_report_vector
-(
-    Int n,
-    const double Xx [ ],
-    const double Xz [ ],
-    Int prl,
-    Int user,
-    Int scalar
-)
-{
-    Int n2, i ;
-
-    if (user || prl >= 4)
-    {
-	PRINTF (("dense vector, n = "ID". ", n)) ;
-    }
-
-    if (user)
-    {
-	if (!Xx)
-	{
-	    PRINTF (("ERROR: vector not present\n\n")) ;
-	    return (UMFPACK_ERROR_argument_missing) ;
-	}
-	if (n < 0)
-	{
-	    PRINTF (("ERROR: length of vector is < 0\n\n")) ;
-	    return (UMFPACK_ERROR_n_nonpositive) ;
-	}
-    }
-
-    if (user || prl >= 4)
-    {
-	PRINTF4 (("\n")) ;
-    }
-
-    if (prl == 4)
-    {
-	/* print level of 4 */
-	n2 = MIN (10, n) ;
-	for (i = 0 ; i < n2 ; i++)
-	{
-	    print_value (i, Xx, Xz, scalar) ;
-	}
-	if (n2 < n)
-	{
-	    PRINTF (("    ...\n")) ;
-	    print_value (n-1, Xx, Xz, scalar) ;
-	}
-    }
-    else if (prl > 4)
-    {
-	/* print level 4 or more */
-	for (i = 0 ; i < n ; i++)
-	{
-	    print_value  (i, Xx, Xz, scalar) ;
-	}
-    }
-
-    PRINTF4 (("    dense vector ")) ;
-    if (user || prl >= 4)
-    {
-	PRINTF (("OK\n\n")) ;
-    }
-    return (UMFPACK_OK) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_report_vector.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL Int UMF_report_vector
-(
-    Int n,
-    const double Xx [ ],
-    const double Xz [ ],
-    Int prl,
-    Int user,
-    Int scalar
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_row_search.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,837 +0,0 @@
-/* ========================================================================== */
-/* === UMF_row_search ======================================================= */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    Find two candidate pivot rows in a column: the best one in the front,
-    and the best one not in the front.  Return the two pivot row patterns and
-    their exact degrees.  Called by UMF_local_search.
-
-    Returns UMFPACK_OK if successful, or UMFPACK_WARNING_singular_matrix or
-    UMFPACK_ERROR_different_pattern if not.
-
-*/
-
-#include "umf_internal.h"
-#include "umf_row_search.h"
-
-GLOBAL Int UMF_row_search
-(
-    NumericType *Numeric,
-    WorkType *Work,
-    SymbolicType *Symbolic,
-    Int cdeg0,			/* length of column in Front */
-    Int cdeg1,			/* length of column outside Front */
-    const Int Pattern [ ],	/* pattern of column, Pattern [0..cdeg1 -1] */
-    const Int Pos [ ],		/* Pos [Pattern [0..cdeg1 -1]] = 0..cdeg1 -1 */
-    Int pivrow [2],		/* pivrow [IN] and pivrow [OUT] */
-    Int rdeg [2],		/* rdeg [IN] and rdeg [OUT] */
-    Int W_i [ ],		/* pattern of pivrow [IN], */
-				/* either Fcols or Woi */
-    Int W_o [ ],		/* pattern of pivrow [OUT], */
-				/* either Wio or Woo */
-    Int prior_pivrow [2],	/* the two other rows just scanned, if any */
-    const Entry Wxy [ ],	/* numerical values Wxy [0..cdeg1-1],
-				   either Wx or Wy */
-
-    Int pivcol,			/* the candidate column being searched */
-    Int freebie [ ]
-)
-{
-
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    double maxval, toler, toler2, value, pivot [2] ;
-    Int i, row, deg, col, *Frpos, fnrows, *E, j, ncols, *Cols, *Rows,
-	e, f, Wrpflag, *Fcpos, fncols, tpi, max_rdeg, nans_in_col, was_offdiag,
-	diag_row, prefer_diagonal, *Wrp, found, *Diagonal_map ;
-    Tuple *tp, *tpend, *tp1, *tp2 ;
-    Unit *Memory, *p ;
-    Element *ep ;
-    Int *Row_tuples, *Row_degree, *Row_tlen ;
-
-#ifndef NDEBUG
-    Int *Col_degree ;
-    DEBUG2 (("Row_search:\n")) ;
-    for (i = 0 ; i < cdeg1 ; i++)
-    {
-	row = Pattern [i] ;
-	DEBUG4 (("   row: "ID"\n", row)) ;
-	ASSERT (row >= 0 && row < Numeric->n_row) ;
-	ASSERT (i == Pos [row]) ;
-    }
-    /* If row is not in Pattern [0..cdeg1-1], then Pos [row] == EMPTY */
-    if (UMF_debug > 0 || Numeric->n_row < 1000)
-    {
-	Int cnt = cdeg1 ;
-	DEBUG4 (("Scan all rows:\n")) ;
-	for (row = 0 ; row < Numeric->n_row ; row++)
-	{
-	    if (Pos [row] < 0)
-	    {
-		cnt++ ;
-	    }
-	    else
-	    {
-		DEBUG4 (("   row: "ID" pos "ID"\n", row, Pos [row])) ;
-	    }
-	}
-	ASSERT (cnt == Numeric->n_row) ;
-    }
-    Col_degree = Numeric->Cperm ;   /* for NON_PIVOTAL_COL macro only */
-    ASSERT (pivcol >= 0 && pivcol < Work->n_col) ;
-    ASSERT (NON_PIVOTAL_COL (pivcol)) ;
-#endif
-
-    pivot [IN] = 0. ;
-    pivot [OUT] = 0. ;
-
-    /* ---------------------------------------------------------------------- */
-    /* get parameters */
-    /* ---------------------------------------------------------------------- */
-
-    Row_degree = Numeric->Rperm ;
-    Row_tuples = Numeric->Uip ;
-    Row_tlen   = Numeric->Uilen ;
-    Wrp = Work->Wrp ;
-    Frpos = Work->Frpos ;
-    E = Work->E ;
-    Memory = Numeric->Memory ;
-    fnrows = Work->fnrows ;
-
-    prefer_diagonal = Symbolic->prefer_diagonal ;
-    Diagonal_map = Work->Diagonal_map ;
-
-    if (Diagonal_map)
-    {
-	diag_row = Diagonal_map [pivcol] ;
-	was_offdiag = diag_row < 0 ;
-	if (was_offdiag)
-	{
-	    /* the "diagonal" entry in this column was permuted here by an
-	     * earlier pivot choice.  The tighter off-diagonal tolerance will
-	     * be used instead of the symmetric tolerance. */
-	    diag_row = FLIP (diag_row) ;
-	}
-	ASSERT (diag_row >= 0 && diag_row < Numeric->n_row) ;
-    }
-    else
-    {
-	diag_row = EMPTY ;	/* unused */
-	was_offdiag = EMPTY ;	/* unused */
-    }
-
-    /* pivot row degree cannot exceed max_rdeg */
-    max_rdeg = Work->fncols_max ;
-
-    /* ---------------------------------------------------------------------- */
-    /* scan pivot column for candidate rows */
-    /* ---------------------------------------------------------------------- */
-
-    maxval = 0.0 ;
-    nans_in_col = FALSE ;
-
-    for (i = 0 ; i < cdeg1 ; i++)
-    {
-	APPROX_ABS (value, Wxy [i]) ;
-	if (SCALAR_IS_NAN (value))
-	{
-	    nans_in_col = TRUE ;
-	    maxval = value ;
-	    break ;
-	}
-	/* This test can now ignore the NaN case: */
-	maxval = MAX (maxval, value) ;
-    }
-
-    /* if maxval is zero, the matrix is numerically singular */
-
-    toler = Numeric->relpt * maxval ;
-    toler2 = Numeric->relpt2 * maxval ;
-    toler2 = was_offdiag ? toler : toler2 ;
-
-    DEBUG5 (("Row_search begins [ maxval %g toler %g %g\n",
-	maxval, toler, toler2)) ;
-    if (SCALAR_IS_NAN (toler) || SCALAR_IS_NAN (toler2))
-    {
-	nans_in_col = TRUE ;
-    }
-
-    if (!nans_in_col)
-    {
-
-	/* look for the diagonal entry, if it exists */
-	found = FALSE ;
-	ASSERT (!SCALAR_IS_NAN (toler)) ;
-
-	if (prefer_diagonal)
-	{
-	    ASSERT (diag_row != EMPTY) ;
-	    i = Pos [diag_row] ;
-	    if (i >= 0)
-	    {
-		double a ;
-		ASSERT (i < cdeg1) ;
-		ASSERT (diag_row == Pattern [i]) ;
-
-		APPROX_ABS (a, Wxy [i]) ;
-
-		ASSERT (!SCALAR_IS_NAN (a)) ;
-		ASSERT (!SCALAR_IS_NAN (toler2)) ;
-
-		if (SCALAR_IS_NONZERO (a) && a >= toler2)
-		{
-		    /* found it! */
-		    DEBUG3 (("Symmetric pivot: "ID" "ID"\n", pivcol, diag_row));
-		    found = TRUE ;
-		    if (Frpos [diag_row] >= 0 && Frpos [diag_row] < fnrows)
-		    {
-			pivrow [IN] = diag_row ;
-			pivrow [OUT] = EMPTY ;
-		    }
-		    else
-		    {
-			pivrow [IN] = EMPTY ;
-			pivrow [OUT] = diag_row ;
-		    }
-		}
-	    }
-	}
-
-	/* either no diagonal found, or we didn't look for it */
-	if (!found)
-	{
-	    if (cdeg0 > 0)
-	    {
-
-		/* this is a column in the front */
-		for (i = 0 ; i < cdeg0 ; i++)
-		{
-		    double a ;
-		    APPROX_ABS (a, Wxy [i]) ;
-		    ASSERT (!SCALAR_IS_NAN (a)) ;
-		    ASSERT (!SCALAR_IS_NAN (toler)) ;
-		    if (SCALAR_IS_NONZERO (a) && a >= toler)
-		    {
-			row = Pattern [i] ;
-			deg = Row_degree [row] ;
-#ifndef NDEBUG
-			DEBUG6 ((ID" candidate row "ID" deg "ID" absval %g\n",
-			    i, row, deg, a)) ;
-			UMF_dump_rowcol (0, Numeric, Work, row, TRUE) ;
-#endif
-			ASSERT (Frpos [row] >= 0 && Frpos [row] < fnrows) ;
-			ASSERT (Frpos [row] == i) ;
-			/* row is in the current front */
-			DEBUG4 ((" in front\n")) ;
-			if (deg < rdeg [IN]
-			    /* break ties by picking the largest entry: */
-			       || (deg == rdeg [IN] && a > pivot [IN])
-			    /* break ties by picking the diagonal entry: */
-			    /* || (deg == rdeg [IN] && row == diag_row) */
-			   )
-			{
-			    /* best row in front, so far */
-			    pivrow [IN] = row ;
-			    rdeg [IN] = deg ;
-			    pivot [IN] = a ;
-			}
-		    }
-		}
-		for ( ; i < cdeg1 ; i++)
-		{
-		    double a ;
-		    APPROX_ABS (a, Wxy [i]) ;
-		    ASSERT (!SCALAR_IS_NAN (a)) ;
-		    ASSERT (!SCALAR_IS_NAN (toler)) ;
-		    if (SCALAR_IS_NONZERO (a) && a >= toler)
-		    {
-			row = Pattern [i] ;
-			deg = Row_degree [row] ;
-#ifndef NDEBUG
-			DEBUG6 ((ID" candidate row "ID" deg "ID" absval %g\n",
-			    i, row, deg, a)) ;
-			UMF_dump_rowcol (0, Numeric, Work, row, TRUE) ;
-#endif
-			ASSERT (Frpos [row] == i) ;
-			/* row is not in the current front */
-			DEBUG4 ((" NOT in front\n")) ;
-			if (deg < rdeg [OUT]
-			    /* break ties by picking the largest entry: */
-			       || (deg == rdeg [OUT] && a > pivot [OUT])
-			    /* break ties by picking the diagonal entry: */
-			    /* || (deg == rdeg [OUT] && row == diag_row) */
-			   )
-			{
-			    /* best row not in front, so far */
-			    pivrow [OUT] = row ;
-			    rdeg [OUT] = deg ;
-			    pivot [OUT] = a ;
-			}
-		    }
-		}
-
-	    }
-	    else
-	    {
-
-		/* this column is not in the front */
-		for (i = 0 ; i < cdeg1 ; i++)
-		{
-		    double a ;
-		    APPROX_ABS (a, Wxy [i]) ;
-		    ASSERT (!SCALAR_IS_NAN (a)) ;
-		    ASSERT (!SCALAR_IS_NAN (toler)) ;
-		    if (SCALAR_IS_NONZERO (a) && a >= toler)
-		    {
-			row = Pattern [i] ;
-			deg = Row_degree [row] ;
-#ifndef NDEBUG
-			DEBUG6 ((ID" candidate row "ID" deg "ID" absval %g\n",
-			    i, row, deg, a)) ;
-			UMF_dump_rowcol (0, Numeric, Work, row, TRUE) ;
-#endif
-			if (Frpos [row] >= 0 && Frpos [row] < fnrows)
-			{
-			    /* row is in the current front */
-			    DEBUG4 ((" in front\n")) ;
-			    if (deg < rdeg [IN]
-			    /* break ties by picking the largest entry: */
-			       || (deg == rdeg [IN] && a > pivot [IN])
-			    /* break ties by picking the diagonal entry: */
-			    /* || (deg == rdeg [IN] && row == diag_row) */
-			       )
-			    {
-				/* best row in front, so far */
-				pivrow [IN] = row ;
-				rdeg [IN] = deg ;
-				pivot [IN] = a ;
-			    }
-			}
-			else
-			{
-			    /* row is not in the current front */
-			    DEBUG4 ((" NOT in front\n")) ;
-			    if (deg < rdeg [OUT]
-			    /* break ties by picking the largest entry: */
-			       || (deg == rdeg[OUT] && a > pivot [OUT])
-			    /* break ties by picking the diagonal entry: */
-			    /* || (deg == rdeg[OUT] && row == diag_row) */
-			       )
-			    {
-				/* best row not in front, so far */
-				pivrow [OUT] = row ;
-				rdeg [OUT] = deg ;
-				pivot [OUT] = a ;
-			    }
-			}
-		    }
-		}
-	    }
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* NaN handling */
-    /* ---------------------------------------------------------------------- */
-
-    /* if cdeg1 > 0 then we must have found a pivot row ... unless NaN's */
-    /* exist.  Try with no numerical tests if no pivot found. */
-
-    if (cdeg1 > 0 && pivrow [IN] == EMPTY && pivrow [OUT] == EMPTY)
-    {
-	/* cleanup for the NaN case */
-	DEBUG0 (("Found a NaN in pivot column!\n")) ;
-
-	/* grab the first entry in the pivot column, ignoring degree, */
-	/* numerical stability, and symmetric preference */
-	row = Pattern [0] ;
-	deg = Row_degree [row] ;
-	if (Frpos [row] >= 0 && Frpos [row] < fnrows)
-	{
-	    /* row is in the current front */
-	    DEBUG4 ((" in front\n")) ;
-	    pivrow [IN] = row ;
-	    rdeg [IN] = deg ;
-	}
-	else
-	{
-	    /* row is not in the current front */
-	    DEBUG4 ((" NOT in front\n")) ;
-	    pivrow [OUT] = row ;
-	    rdeg [OUT] = deg ;
-	}
-
-	/* We are now guaranteed to have a pivot, no matter how broken */
-	/* (non-IEEE compliant) the underlying numerical operators are. */
-	/* This is particularly a problem for Microsoft compilers (they do */
-	/* not handle NaN's properly). Now try to find a sparser pivot, if */
-	/* possible. */
-
-	for (i = 1 ; i < cdeg1 ; i++)
-	{
-	    row = Pattern [i] ;
-	    deg = Row_degree [row] ;
-
-	    if (Frpos [row] >= 0 && Frpos [row] < fnrows)
-	    {
-		/* row is in the current front */
-		DEBUG4 ((" in front\n")) ;
-		if (deg < rdeg [IN] || (deg == rdeg [IN] && row == diag_row))
-		{
-		    /* best row in front, so far */
-		    pivrow [IN] = row ;
-		    rdeg [IN] = deg ;
-		}
-	    }
-	    else
-	    {
-		/* row is not in the current front */
-		DEBUG4 ((" NOT in front\n")) ;
-		if (deg < rdeg [OUT] || (deg == rdeg [OUT] && row == diag_row))
-		{
-		    /* best row not in front, so far */
-		    pivrow [OUT] = row ;
-		    rdeg [OUT] = deg ;
-		}
-	    }
-	}
-    }
-
-    /* We found a pivot if there are entries (even zero ones) in pivot col */
-    ASSERT (IMPLIES (cdeg1 > 0, pivrow[IN] != EMPTY || pivrow[OUT] != EMPTY)) ;
-
-    /* If there are no entries in the pivot column, then no pivot is found */
-    ASSERT (IMPLIES (cdeg1 == 0, pivrow[IN] == EMPTY && pivrow[OUT] == EMPTY)) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* check for singular matrix */
-    /* ---------------------------------------------------------------------- */
-
-    if (cdeg1  == 0)
-    {
-	if (fnrows > 0)
-	{
-	    /*
-		Get the pivrow [OUT][IN] from the current front.
-		The frontal matrix looks like this:
-
-			pivcol[OUT]
-			|
-			v
-		x x x x 0   <- so grab this row as the pivrow [OUT][IN].
-		x x x x 0
-		x x x x 0
-		0 0 0 0 0
-
-		The current frontal matrix has some rows in it.  The degree
-		of the pivcol[OUT] is zero.  The column is empty, and the
-		current front does not contribute to it.
-
-	    */
-	    pivrow [IN] = Work->Frows [0] ;
-	    DEBUGm4 (("Got zero pivrow[OUT][IN] "ID" from current front\n",
-		pivrow [IN])) ;
-	}
-	else
-	{
-
-	    /*
-		Get a pivot row from the row-merge tree, use as
-		pivrow [OUT][OUT].   pivrow [IN] remains EMPTY.
-		This can only happen if the current front is 0-by-0.
-	    */
-
-	    Int *Front_leftmostdesc, *Front_1strow, *Front_new1strow, row1,
-		row2, fleftmost, nfr, n_row, frontid ;
-
-	    ASSERT (Work->fncols == 0) ;
-
-	    Front_leftmostdesc = Symbolic->Front_leftmostdesc ;
-	    Front_1strow = Symbolic->Front_1strow ;
-	    Front_new1strow = Work->Front_new1strow ;
-	    nfr = Symbolic->nfr ;
-	    n_row = Numeric->n_row ;
-	    frontid = Work->frontid ;
-
-	    DEBUGm4 (("Note: pivcol: "ID" is empty front "ID"\n",
-		pivcol, frontid)) ;
-#ifndef NDEBUG
-	    DEBUG1 (("Calling dump rowmerge\n")) ;
-	    UMF_dump_rowmerge (Numeric, Symbolic, Work) ;
-#endif
-
-	    /* Row-merge set is the non-pivotal rows in the range */
-	    /* Front_new1strow [Front_leftmostdesc [frontid]] to */
-	    /* Front_1strow [frontid+1] - 1. */
-	    /* If this is empty, then use the empty rows, in the range */
-	    /* Front_new1strow [nfr] to n_row-1. */
-	    /* If this too is empty, then pivrow [OUT] will be empty. */
-	    /* In both cases, update Front_new1strow [...]. */
-
-	    fleftmost = Front_leftmostdesc [frontid] ;
-	    row1 = Front_new1strow [fleftmost] ;
-	    row2 = Front_1strow [frontid+1] - 1 ;
-	    DEBUG1 (("Leftmost: "ID" Rows ["ID" to "ID"] srch ["ID" to "ID"]\n",
-		fleftmost, Front_1strow [frontid], row2, row1, row2)) ;
-
-	    /* look in the range row1 ... row2 */
-	    for (row = row1 ; row <= row2 ; row++)
-	    {
-		DEBUG3 (("   Row: "ID"\n", row)) ;
-		if (NON_PIVOTAL_ROW (row))
-		{
-		    /* found it */
-		    DEBUG3 (("   Row: "ID" found\n", row)) ;
-		    ASSERT (Frpos [row] == EMPTY) ;
-		    pivrow [OUT] = row ;
-		    DEBUGm4 (("got row merge pivrow %d\n", pivrow [OUT])) ;
-		    break ;
-		}
-	    }
-	    Front_new1strow [fleftmost] = row ;
-
-	    if (pivrow [OUT] == EMPTY)
-	    {
-		/* not found, look in empty row set in "dummy" front */
-		row1 = Front_new1strow [nfr] ;
-		row2 = n_row-1 ;
-		DEBUG3 (("Empty: "ID" Rows ["ID" to "ID"] srch["ID" to "ID"]\n",
-		    nfr, Front_1strow [nfr], row2, row1, row2)) ;
-
-		/* look in the range row1 ... row2 */
-		for (row = row1 ; row <= row2 ; row++)
-		{
-		    DEBUG3 (("   Empty Row: "ID"\n", row)) ;
-		    if (NON_PIVOTAL_ROW (row))
-		    {
-			/* found it */
-			DEBUG3 (("   Empty Row: "ID" found\n", row)) ;
-			ASSERT (Frpos [row] == EMPTY) ;
-			pivrow [OUT] = row ;
-			DEBUGm4 (("got dummy row pivrow %d\n", pivrow [OUT])) ;
-			break ;
-		    }
-		}
-		Front_new1strow [nfr] = row ;
-	    }
-
-	    if (pivrow [OUT] == EMPTY)
-	    {
-		/* Row-merge set is empty.  We can just discard */
-		/* the candidate pivot column. */
-		DEBUG0 (("Note: row-merge set empty\n")) ;
-		DEBUGm4 (("got no pivrow \n")) ;
-		return (UMFPACK_WARNING_singular_matrix) ;
-	    }
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* construct the candidate row in the front, if any */
-    /* ---------------------------------------------------------------------- */
-
-#ifndef NDEBUG
-    /* check Wrp */
-    ASSERT (Work->Wrpflag > 0) ;
-    if (UMF_debug > 0 || Work->n_col < 1000)
-    {
-	for (i = 0 ; i < Work->n_col ; i++)
-	{
-	    ASSERT (Wrp [i] < Work->Wrpflag) ;
-	}
-    }
-#endif
-
-#ifndef NDEBUG
-    DEBUG4 (("pivrow [IN]: "ID"\n", pivrow [IN])) ;
-    UMF_dump_rowcol (0, Numeric, Work, pivrow [IN], TRUE) ;
-#endif
-
-    if (pivrow [IN] != EMPTY)
-    {
-
-	/* the row merge candidate row is not pivrow [IN] */
-	freebie [IN] = (pivrow [IN] == prior_pivrow [IN]) && (cdeg1  > 0) ;
-	ASSERT (cdeg1  >= 0) ;
-
-	if (!freebie [IN])
-	{
-	    /* include current front in the degree of this row */
-
-	    Fcpos = Work->Fcpos ;
-	    fncols = Work->fncols ;
-
-	    Wrpflag = Work->Wrpflag ;
-
-	    /* -------------------------------------------------------------- */
-	    /* construct the pattern of the IN row */
-	    /* -------------------------------------------------------------- */
-
-#ifndef NDEBUG
-	    /* check Fcols */
-	    DEBUG5 (("ROW ASSEMBLE: rdeg "ID"\nREDUCE ROW "ID"\n",
-		fncols, pivrow [IN])) ;
-	    for (j = 0 ; j < fncols ; j++)
-	    {
-		col = Work->Fcols [j] ;
-		ASSERT (col >= 0 && col < Work->n_col) ;
-		ASSERT (Fcpos [col] >= 0) ;
-	    }
-	    if (UMF_debug > 0 || Work->n_col < 1000)
-	    {
-		Int cnt = fncols ;
-		for (col = 0 ; col < Work->n_col ; col++)
-		{
-		    if (Fcpos [col] < 0) cnt++ ;
-		}
-		ASSERT (cnt == Work->n_col) ;
-	    }
-#endif
-
-	    rdeg [IN] = fncols ;
-
-	    ASSERT (pivrow [IN] >= 0 && pivrow [IN] < Work->n_row) ;
-	    ASSERT (NON_PIVOTAL_ROW (pivrow [IN])) ;
-
-	    /* add the pivot column itself */
-	    ASSERT (Wrp [pivcol] != Wrpflag) ;
-	    if (Fcpos [pivcol] < 0)
-	    {
-		DEBUG3 (("Adding pivot col to pivrow [IN] pattern\n")) ;
-		if (rdeg [IN] >= max_rdeg)
-		{
-		    /* :: pattern change (in) :: */
-		    return (UMFPACK_ERROR_different_pattern) ;
-		}
-		Wrp [pivcol] = Wrpflag ;
-		W_i [rdeg [IN]++] = pivcol ;
-	    }
-
-	    tpi = Row_tuples [pivrow [IN]] ;
-	    if (tpi)
-	    {
-		tp = (Tuple *) (Memory + tpi) ;
-		tp1 = tp ;
-		tp2 = tp ;
-		tpend = tp + Row_tlen [pivrow [IN]] ;
-		for ( ; tp < tpend ; tp++)
-		{
-		    e = tp->e ;
-		    ASSERT (e > 0 && e <= Work->nel) ;
-		    if (!E [e])
-		    {
-			continue ;	/* element already deallocated */
-		    }
-		    f = tp->f ;
-		    p = Memory + E [e] ;
-		    ep = (Element *) p ;
-		    p += UNITS (Element, 1) ;
-		    Cols = (Int *) p ;
-		    ncols = ep->ncols ;
-		    Rows = Cols + ncols ;
-		    if (Rows [f] == EMPTY)
-		    {
-			continue ;	/* row already assembled */
-		    }
-		    ASSERT (pivrow [IN] == Rows [f]) ;
-
-		    for (j = 0 ; j < ncols ; j++)
-		    {
-			col = Cols [j] ;
-			ASSERT (col >= EMPTY && col < Work->n_col) ;
-			if ((col >= 0) && (Wrp [col] != Wrpflag)
-			    && Fcpos [col] <0)
-			{
-			    ASSERT (NON_PIVOTAL_COL (col)) ;
-			    if (rdeg [IN] >= max_rdeg)
-			    {
-				/* :: pattern change (rdeg in failure) :: */
-				DEBUGm4 (("rdeg [IN] >= max_rdeg failure\n")) ;
-				return (UMFPACK_ERROR_different_pattern) ;
-			    }
-			    Wrp [col] = Wrpflag ;
-			    W_i [rdeg [IN]++] = col ;
-			}
-		    }
-
-		    *tp2++ = *tp ;	/* leave the tuple in the list */
-		}
-		Row_tlen [pivrow [IN]] = tp2 - tp1 ;
-	    }
-
-#ifndef NDEBUG
-	    DEBUG4 (("Reduced IN row:\n")) ;
-	    for (j = 0 ; j < fncols ; j++)
-	    {
-		DEBUG6 ((" "ID" "ID" "ID"\n",
-		    j, Work->Fcols [j], Fcpos [Work->Fcols [j]])) ;
-		ASSERT (Fcpos [Work->Fcols [j]] >= 0) ;
-	    }
-	    for (j = fncols ; j < rdeg [IN] ; j++)
-	    {
-		DEBUG6 ((" "ID" "ID" "ID"\n", j, W_i [j], Wrp [W_i [j]]));
-		ASSERT (W_i [j] >= 0 && W_i [j] < Work->n_col) ;
-		ASSERT (Wrp [W_i [j]] == Wrpflag) ;
-	    }
-	    /* mark the end of the pattern in case we scan it by mistake */
-	    /* Note that this means W_i must be of size >= fncols_max + 1 */
-	    W_i [rdeg [IN]] = EMPTY ;
-#endif
-
-	    /* rdeg [IN] is now the exact degree of the IN row */
-
-	    /* clear Work->Wrp. */
-	    Work->Wrpflag++ ;
-	    /* All Wrp [0..n_col] is now < Wrpflag */
-	}
-    }
-
-#ifndef NDEBUG
-    /* check Wrp */
-    if (UMF_debug > 0 || Work->n_col < 1000)
-    {
-	for (i = 0 ; i < Work->n_col ; i++)
-	{
-	    ASSERT (Wrp [i] < Work->Wrpflag) ;
-	}
-    }
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* construct the candidate row not in the front, if any */
-    /* ---------------------------------------------------------------------- */
-
-#ifndef NDEBUG
-    DEBUG4 (("pivrow [OUT]: "ID"\n", pivrow [OUT])) ;
-    UMF_dump_rowcol (0, Numeric, Work, pivrow [OUT], TRUE) ;
-#endif
-
-    /* If this is a candidate row from the row merge set, force it to be */
-    /* scanned (ignore prior_pivrow [OUT]). */
-
-    if (pivrow [OUT] != EMPTY)
-    {
-	freebie [OUT] = (pivrow [OUT] == prior_pivrow [OUT]) && cdeg1  > 0 ;
-	ASSERT (cdeg1  >= 0) ;
-
-	if (!freebie [OUT])
-	{
-
-	    Wrpflag = Work->Wrpflag ;
-
-	    /* -------------------------------------------------------------- */
-	    /* construct the pattern of the row */
-	    /* -------------------------------------------------------------- */
-
-	    rdeg [OUT] = 0 ;
-
-	    ASSERT (pivrow [OUT] >= 0 && pivrow [OUT] < Work->n_row) ;
-	    ASSERT (NON_PIVOTAL_ROW (pivrow [OUT])) ;
-
-	    /* add the pivot column itself */
-	    ASSERT (Wrp [pivcol] != Wrpflag) ;
-	    DEBUG3 (("Adding pivot col to pivrow [OUT] pattern\n")) ;
-	    if (rdeg [OUT] >= max_rdeg)
-	    {
-		/* :: pattern change (out) :: */
-		return (UMFPACK_ERROR_different_pattern) ;
-	    }
-	    Wrp [pivcol] = Wrpflag ;
-	    W_o [rdeg [OUT]++] = pivcol ;
-
-	    tpi = Row_tuples [pivrow [OUT]] ;
-	    if (tpi)
-	    {
-		tp = (Tuple *) (Memory + tpi) ;
-		tp1 = tp ;
-		tp2 = tp ;
-		tpend = tp + Row_tlen [pivrow [OUT]] ;
-		for ( ; tp < tpend ; tp++)
-		{
-		    e = tp->e ;
-		    ASSERT (e > 0 && e <= Work->nel) ;
-		    if (!E [e])
-		    {
-			continue ;	/* element already deallocated */
-		    }
-		    f = tp->f ;
-		    p = Memory + E [e] ;
-		    ep = (Element *) p ;
-		    p += UNITS (Element, 1) ;
-		    Cols = (Int *) p ;
-		    ncols = ep->ncols ;
-		    Rows = Cols + ncols ;
-		    if (Rows [f] == EMPTY)
-		    {
-			continue ;	/* row already assembled */
-		    }
-		    ASSERT (pivrow [OUT] == Rows [f]) ;
-
-		    for (j = 0 ; j < ncols ; j++)
-		    {
-			col = Cols [j] ;
-			ASSERT (col >= EMPTY && col < Work->n_col) ;
-			if ((col >= 0) && (Wrp [col] != Wrpflag))
-			{
-			    ASSERT (NON_PIVOTAL_COL (col)) ;
-			    if (rdeg [OUT] >= max_rdeg)
-			    {
-				/* :: pattern change (rdeg out failure) :: */
-				DEBUGm4 (("rdeg [OUT] failure\n")) ;
-				return (UMFPACK_ERROR_different_pattern) ;
-			    }
-			    Wrp [col] = Wrpflag ;
-			    W_o [rdeg [OUT]++] = col ;
-			}
-		    }
-		    *tp2++ = *tp ;	/* leave the tuple in the list */
-		}
-		Row_tlen [pivrow [OUT]] = tp2 - tp1 ;
-	    }
-
-#ifndef NDEBUG
-	    DEBUG4 (("Reduced row OUT:\n")) ;
-	    for (j = 0 ; j < rdeg [OUT] ; j++)
-	    {
-		DEBUG6 ((" "ID" "ID" "ID"\n", j, W_o [j], Wrp [W_o [j]])) ;
-		ASSERT (W_o [j] >= 0 && W_o [j] < Work->n_col) ;
-		ASSERT (Wrp [W_o [j]] == Wrpflag) ;
-	    }
-	    /* mark the end of the pattern in case we scan it by mistake */
-	    /* Note that this means W_o must be of size >= fncols_max + 1 */
-	    W_o [rdeg [OUT]] = EMPTY ;
-#endif
-
-	    /* rdeg [OUT] is now the exact degree of the row */
-
-	    /* clear Work->Wrp. */
-	    Work->Wrpflag++ ;
-	    /* All Wrp [0..n] is now < Wrpflag */
-
-	}
-
-    }
-    DEBUG5 (("Row_search end ] \n")) ;
-
-#ifndef NDEBUG
-    /* check Wrp */
-    if (UMF_debug > 0 || Work->n_col < 1000)
-    {
-	for (i = 0 ; i < Work->n_col ; i++)
-	{
-	    ASSERT (Wrp [i] < Work->Wrpflag) ;
-	}
-    }
-#endif
-
-    return (UMFPACK_OK) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_row_search.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL Int UMF_row_search
-(
-    NumericType *Numeric,
-    WorkType *Work,
-    SymbolicType *Symbolic,
-    Int cdeg0,
-    Int cdeg1,
-    const Int Pattern [ ],
-    const Int Pos [ ],
-    Int pivrow [2],
-    Int rdeg [2],
-    Int W_i [ ],
-    Int W_o [ ],
-    Int prior_pivrow [2],
-    const Entry Wxy [ ],
-    Int pivcol,
-    Int freebie [2]
-) ;
-
-#define IN 0
-#define OUT 1
-
-#define IN_IN 0
-#define IN_OUT 1
-#define OUT_IN 2
-#define OUT_OUT 3
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_scale.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-/* ========================================================================== */
-/* === UMF_scale ============================================================ */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/* Divide a vector of stride 1 by the pivot value. */
-
-#include "umf_internal.h"
-
-GLOBAL void UMF_scale
-(
-    Int n,
-    Entry pivot,
-    Entry X [ ]
-)
-{
-    Entry x ;
-    double s ;
-    Int i ;
-
-    /* ---------------------------------------------------------------------- */
-    /* compute the approximate absolute value of the pivot, and select method */
-    /* ---------------------------------------------------------------------- */
-
-    APPROX_ABS (s, pivot) ;
-
-    if (s < RECIPROCAL_TOLERANCE || IS_NAN (pivot))
-    {
-	/* ------------------------------------------------------------------ */
-	/* tiny, or zero, pivot case */
-	/* ------------------------------------------------------------------ */
-
-	/* The pivot is tiny, or NaN.  Do not divide zero by the pivot value,
-	 * and do not multiply by 1/pivot, either. */
-
-	for (i = 0 ; i < n ; i++)
-	{
-	    /* X [i] /= pivot ; */
-	    x = X [i] ;
-
-#ifndef NO_DIVIDE_BY_ZERO
-	    if (IS_NONZERO (x))
-	    {
-		DIV (X [i], x, pivot) ;
-	    }
-#else
-	    /* Do not divide by zero */
-	    if (IS_NONZERO (x) && IS_NONZERO (pivot))
-	    {
-		DIV (X [i], x, pivot) ;
-	    }
-#endif
-
-	}
-
-    }
-    else
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* normal case.  select the x/pivot or x * (1/pivot) method */
-	/* ------------------------------------------------------------------ */
-
-	/* The pivot is not tiny, and is not NaN.   Don't bother to check for
-	 * zeros in the pivot column, X. */
-
-#if !defined (NRECIPROCAL) && !(defined (__GNUC__) && defined (COMPLEX))
-
-	    /* -------------------------------------------------------------- */
-	    /* multiply x by (1/pivot) */
-	    /* -------------------------------------------------------------- */
-
-	    /* Slightly less accurate, but faster.  It allows the use of
-	     * the level-1 BLAS dscal or zscal routine.  This not used when
-	     * UMFPACK is used in MATLAB (either as a built-in routine, or as
-	     * a mexFunction).
-	     *
-	     * Using gcc version 3.2 can cause the following code to fail for
-	     * some complex matrices (not all), with or without the BLAS.  This
-	     * was found in Red Hat Linux 7.3 on a Dell Latitude C840 with a
-	     * Pentium 4M.  Thus, this code is not used when gcc is used, for
-	     * the complex case.
-	     *
-	     * It works just fine with Intel's icc compiler, version 7.0.
-	     */
-
-	    /* pivot = 1 / pivot */
-	    RECIPROCAL (pivot) ;
-
-#if defined (USE_NO_BLAS)
-	    for (i = 0 ; i < n ; i++)
-	    {
-		/* X [i] *= pivot ; */
-		x = X [i] ;
-		MULT (X [i], x, pivot) ;
-	    }
-#else
-	    BLAS_SCAL (n, pivot, X) ;
-#endif
-
-#else
-
-	    /* -------------------------------------------------------------- */
-	    /* divide x by the pivot */
-	    /* -------------------------------------------------------------- */
-
-	    /* This is slightly more accurate, particularly if the pivot column
-	     * consists of only IEEE subnormals.  Always do this if UMFPACK is
-	     * being compiled as a built-in routine or mexFunction in MATLAB,
-	     * or if gcc is being used with complex matrices. */
-
-	    for (i = 0 ; i < n ; i++)
-	    {
-		/* X [i] /= pivot ; */
-		x = X [i] ;
-		DIV (X [i], x, pivot) ;
-	    }
-
-#endif
-
-    }
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_scale.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL void UMF_scale
-(
-    Int n,
-    Entry alpha,
-    Entry X [ ]
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_scale_column.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,433 +0,0 @@
-/* ========================================================================== */
-/* === UMF_scale_column ===================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    Scale the current pivot column, move the pivot row and column into place,
-    and log the permutation.
-*/
-
-#include "umf_internal.h"
-#include "umf_mem_free_tail_block.h"
-#include "umf_scale.h"
-
-/* ========================================================================== */
-/* === shift_pivot_row ====================================================== */
-/* ========================================================================== */
-
-/* Except for the BLAS, most of the time is typically spent in the following
- * shift_pivot_row routine.  It copies the pivot row into the U block, and
- * then fills in the whole in the C block by shifting the last row of C into
- * the row vacated by the pivot row.
- */
-
-PRIVATE void shift_pivot_row (Entry *Fd, Entry *Fs, Entry *Fe, Int len, Int d)
-{
-    Int j ;
-#pragma ivdep
-    for (j = 0 ; j < len ; j++)
-    {
-	Fd [j]   = Fs [j*d] ;
-	Fs [j*d] = Fe [j*d] ;
-    }
-}
-
-/* ========================================================================== */
-/* === UMF_scale_column ===================================================== */
-/* ========================================================================== */
-
-GLOBAL void UMF_scale_column
-(
-    NumericType *Numeric,
-    WorkType *Work
-)
-{
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    Entry pivot_value ;
-    Entry *Fcol, *Flublock, *Flblock, *Fublock, *Fcblock ;
-    Int k, k1, fnr_curr, fnrows, fncols, *Frpos, *Fcpos, pivrow, pivcol,
-	*Frows, *Fcols, fnc_curr, fnpiv, *Row_tuples, nb,
-	*Col_tuples, *Rperm, *Cperm, fspos, col2, row2 ;
-#ifndef NDEBUG
-    Int *Col_degree, *Row_degree ;
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* get parameters */
-    /* ---------------------------------------------------------------------- */
-
-    fnrows = Work->fnrows ;
-    fncols = Work->fncols ;
-    fnpiv = Work->fnpiv ;
-
-    /* ---------------------------------------------------------------------- */
-
-    Rperm = Numeric->Rperm ;
-    Cperm = Numeric->Cperm ;
-
-    /* ---------------------------------------------------------------------- */
-
-    Flublock = Work->Flublock ;
-    Flblock  = Work->Flblock ;
-    Fublock  = Work->Fublock ;
-    Fcblock  = Work->Fcblock ;
-
-    fnr_curr = Work->fnr_curr ;
-    fnc_curr = Work->fnc_curr ;
-    Frpos = Work->Frpos ;
-    Fcpos = Work->Fcpos ;
-    Frows = Work->Frows ;
-    Fcols = Work->Fcols ;
-    pivrow = Work->pivrow ;
-    pivcol = Work->pivcol ;
-
-    ASSERT (pivrow >= 0 && pivrow < Work->n_row) ;
-    ASSERT (pivcol >= 0 && pivcol < Work->n_col) ;
-
-#ifndef NDEBUG
-    Col_degree = Numeric->Cperm ;	/* for NON_PIVOTAL_COL macro */
-    Row_degree = Numeric->Rperm ;	/* for NON_PIVOTAL_ROW macro */
-#endif
-
-    Row_tuples = Numeric->Uip ;
-    Col_tuples = Numeric->Lip ;
-    nb = Work->nb ;
-
-#ifndef NDEBUG
-    ASSERT (fnrows == Work->fnrows_new + 1) ;
-    ASSERT (fncols == Work->fncols_new + 1) ;
-    DEBUG1 (("SCALE COL: fnrows "ID" fncols "ID"\n", fnrows, fncols)) ;
-    DEBUG2 (("\nFrontal matrix, including all space:\n"
-		"fnr_curr "ID" fnc_curr "ID" nb    "ID"\n"
-		"fnrows   "ID" fncols   "ID" fnpiv "ID"\n",
-		fnr_curr, fnc_curr, nb, fnrows, fncols, fnpiv)) ;
-    DEBUG2 (("\nJust the active part:\n")) ;
-    DEBUG7 (("C  block: ")) ;
-    UMF_dump_dense (Fcblock,  fnr_curr, fnrows, fncols) ;
-    DEBUG7 (("L  block: ")) ;
-    UMF_dump_dense (Flblock,  fnr_curr, fnrows, fnpiv);
-    DEBUG7 (("U' block: ")) ;
-    UMF_dump_dense (Fublock,  fnc_curr, fncols, fnpiv) ;
-    DEBUG7 (("LU block: ")) ;
-    UMF_dump_dense (Flublock, nb, fnpiv, fnpiv) ;
-#endif
-
-    /* ====================================================================== */
-    /* === Shift pivot row and column ======================================= */
-    /* ====================================================================== */
-
-    /* ---------------------------------------------------------------------- */
-    /* move pivot column into place */
-    /* ---------------------------------------------------------------------- */
-
-    /* Note that the pivot column is already in place.  Just shift the last
-     * column into the position vacated by the pivot column. */
-
-    fspos = Fcpos [pivcol] ;
-
-    /* one less column in the contribution block */
-    fncols = --(Work->fncols) ;
-
-    if (fspos != fncols * fnr_curr)
-    {
-
-	Int fs = fspos / fnr_curr ;
-
-	DEBUG6 (("Shift pivot column in front\n")) ;
-	DEBUG6 (("fspos: "ID" flpos: "ID"\n", fspos, fncols * fnr_curr)) ;
-
-	/* ------------------------------------------------------------------ */
-	/* move Fe => Fs */
-	/* ------------------------------------------------------------------ */
-
-	/* column of the contribution block: */
-	{
-	    /* Fs: current position of pivot column in contribution block */
-	    /* Fe: position of last column in contribution block */
-	    Int i ;
-	    Entry *Fs, *Fe ;
-	    Fs = Fcblock + fspos ;
-	    Fe = Fcblock + fncols * fnr_curr ;
-#pragma ivdep
-	    for (i = 0 ; i < fnrows ; i++)
-	    {
-		Fs [i] = Fe [i] ;
-	    }
-	}
-
-	/* column of the U2 block */
-	{
-	    /* Fs: current position of pivot column in U block */
-	    /* Fe: last column in U block */
-	    Int i ;
-	    Entry *Fs, *Fe ;
-	    Fs = Fublock + fs ;
-	    Fe = Fublock + fncols ;
-#pragma ivdep
-	    for (i = 0 ; i < fnpiv ; i++)
-	    {
-		Fs [i * fnc_curr] = Fe [i * fnc_curr] ;
-	    }
-	}
-
-	/* move column Fe to Fs in the Fcols pattern */
-	col2 = Fcols [fncols] ;
-	Fcols [fs] = col2 ;
-	Fcpos [col2] = fspos ;
-    }
-
-    /* pivot column is no longer in the frontal matrix */
-    Fcpos [pivcol] = EMPTY ;
-
-#ifndef NDEBUG
-    DEBUG2 (("\nFrontal matrix after col swap, including all space:\n"
-		"fnr_curr "ID" fnc_curr "ID" nb    "ID"\n"
-		"fnrows   "ID" fncols   "ID" fnpiv "ID"\n",
-		fnr_curr, fnc_curr, nb,
-		fnrows, fncols, fnpiv)) ;
-    DEBUG2 (("\nJust the active part:\n")) ;
-    DEBUG7 (("C  block: ")) ;
-    UMF_dump_dense (Fcblock,  fnr_curr, fnrows, fncols) ;
-    DEBUG7 (("L  block: ")) ;
-    UMF_dump_dense (Flblock,  fnr_curr, fnrows, fnpiv+1);
-    DEBUG7 (("U' block: ")) ;
-    UMF_dump_dense (Fublock,  fnc_curr, fncols, fnpiv) ;
-    DEBUG7 (("LU block: ")) ;
-    UMF_dump_dense (Flublock, nb, fnpiv, fnpiv+1) ;
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* move pivot row into place */
-    /* ---------------------------------------------------------------------- */
-
-    fspos = Frpos [pivrow] ;
-
-    /* one less row in the contribution block */
-    fnrows = --(Work->fnrows) ;
-
-    DEBUG6 (("Swap/shift pivot row in front:\n")) ;
-    DEBUG6 (("fspos: "ID" flpos: "ID"\n", fspos, fnrows)) ;
-
-    if (fspos == fnrows)
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* move Fs => Fd */
-	/* ------------------------------------------------------------------ */
-
-	DEBUG6 (("row case 1\n")) ;
-
-	/* row of the contribution block: */
-	{
-	    Int j ;
-	    Entry *Fd, *Fs ;
-	    Fd = Fublock + fnpiv * fnc_curr ;
-	    Fs = Fcblock + fspos ;
-#pragma ivdep
-	    for (j = 0 ; j < fncols ; j++)
-	    {
-		Fd [j] = Fs [j * fnr_curr] ;
-	    }
-	}
-
-	/* row of the L2 block: */
-	if (Work->pivrow_in_front)
-	{
-	    Int j ;
-	    Entry *Fd, *Fs ;
-	    Fd = Flublock + fnpiv ;
-	    Fs = Flblock  + fspos ;
-#pragma ivdep
-	    for (j = 0 ; j <= fnpiv ; j++)
-	    {
-		Fd [j * nb] = Fs [j * fnr_curr] ;
-	    }
-	}
-	else
-	{
-	    Int j ;
-	    Entry *Fd, *Fs ;
-	    Fd = Flublock + fnpiv ;
-	    Fs = Flblock  + fspos ;
-#pragma ivdep
-	    for (j = 0 ; j < fnpiv ; j++)
-	    {
-		ASSERT (IS_ZERO (Fs [j * fnr_curr])) ;
-		CLEAR (Fd [j * nb]) ;
-	    }
-	    Fd [fnpiv * nb] = Fs [fnpiv * fnr_curr] ;
-	}
-    }
-    else
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* move Fs => Fd */
-	/* move Fe => Fs */
-	/* ------------------------------------------------------------------ */
-
-	DEBUG6 (("row case 2\n")) ;
-	/* this is the most common case, by far */
-
-	/* row of the contribution block: */
-	{
-	    /* Fd: destination of pivot row on U block */
-	    /* Fs: current position of pivot row in contribution block */
-	    /* Fe: position of last row in contribution block */
-	    Entry *Fd, *Fs, *Fe ;
-	    Fd = Fublock + fnpiv * fnc_curr ;
-	    Fs = Fcblock + fspos ;
-	    Fe = Fcblock + fnrows ;
-	    shift_pivot_row (Fd, Fs, Fe, fncols, fnr_curr) ;
-	}
-
-	/* row of the L2 block: */
-	if (Work->pivrow_in_front)
-	{
-	    /* Fd: destination of pivot row in LU block */
-	    /* Fs: current position of pivot row in L block */
-	    /* Fe: last row in L block */
-	    Int j ;
-	    Entry *Fd, *Fs, *Fe ;
-	    Fd = Flublock + fnpiv ;
-	    Fs = Flblock  + fspos ;
-	    Fe = Flblock  + fnrows ;
-#pragma ivdep
-	    for (j = 0 ; j <= fnpiv ; j++)
-	    {
-		Fd [j * nb]       = Fs [j * fnr_curr] ;
-		Fs [j * fnr_curr] = Fe [j * fnr_curr] ;
-	    }
-	}
-	else
-	{
-	    Int j ;
-	    Entry *Fd, *Fs, *Fe ;
-	    Fd = Flublock + fnpiv ;
-	    Fs = Flblock  + fspos ;
-	    Fe = Flblock  + fnrows ;
-#pragma ivdep
-	    for (j = 0 ; j < fnpiv ; j++)
-	    {
-		ASSERT (IS_ZERO (Fs [j * fnr_curr])) ;
-		CLEAR (Fd [j * nb]) ;
-		Fs [j * fnr_curr] = Fe [j * fnr_curr] ;
-	    }
-	    Fd [fnpiv * nb]       = Fs [fnpiv * fnr_curr] ;
-	    Fs [fnpiv * fnr_curr] = Fe [fnpiv * fnr_curr] ;
-	}
-
-	/* move row Fe to Fs in the Frows pattern */
-	row2 = Frows [fnrows] ;
-	Frows [fspos] = row2 ;
-	Frpos [row2] = fspos ;
-
-    }
-    /* pivot row is no longer in the frontal matrix */
-    Frpos [pivrow] = EMPTY ;
-
-#ifndef NDEBUG
-    DEBUG2 (("\nFrontal matrix after row swap, including all space:\n"
-		"fnr_curr "ID" fnc_curr "ID" nb    "ID"\n"
-		"fnrows   "ID" fncols   "ID" fnpiv "ID"\n",
-		Work->fnr_curr, Work->fnc_curr, Work->nb,
-		Work->fnrows, Work->fncols, Work->fnpiv)) ;
-    DEBUG2 (("\nJust the active part:\n")) ;
-    DEBUG7 (("C  block: ")) ;
-    UMF_dump_dense (Fcblock,  fnr_curr, fnrows, fncols) ;
-    DEBUG7 (("L  block: ")) ;
-    UMF_dump_dense (Flblock,  fnr_curr, fnrows, fnpiv+1);
-    DEBUG7 (("U' block: ")) ;
-    UMF_dump_dense (Fublock,  fnc_curr, fncols, fnpiv+1) ;
-    DEBUG7 (("LU block: ")) ;
-    UMF_dump_dense (Flublock, nb, fnpiv+1, fnpiv+1) ;
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* Frpos [row] >= 0 for each row in pivot column pattern.   */
-    /* offset into pattern is given by:				*/
-    /* Frpos [row] == offset - 1				*/
-    /* Frpos [pivrow] is EMPTY */
-
-    /* Fcpos [col] >= 0 for each col in pivot row pattern.	*/
-    /* Fcpos [col] == (offset - 1) * fnr_curr			*/
-    /* Fcpos [pivcol] is EMPTY */
-
-    /* Fcols [0..fncols-1] is the pivot row pattern (excl pivot cols) */
-    /* Frows [0..fnrows-1] is the pivot col pattern (excl pivot rows) */
-
-    /* ====================================================================== */
-    /* === scale pivot column =============================================== */
-    /* ====================================================================== */
-
-    /* pivot column (except for pivot entry itself) */
-    Fcol = Flblock + fnpiv * fnr_curr ;
-    /* fnpiv-th pivot in frontal matrix located in Flublock (fnpiv, fnpiv) */
-    pivot_value = Flublock [fnpiv + fnpiv * nb] ;
-
-    /* this is the kth global pivot */
-    k = Work->npiv + fnpiv ;
-
-    DEBUG4 (("Pivot value: ")) ;
-    EDEBUG4 (pivot_value) ;
-    DEBUG4 (("\n")) ;
-
-    UMF_scale (fnrows, pivot_value, Fcol) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* deallocate the pivot row and pivot column tuples */
-    /* ---------------------------------------------------------------------- */
-
-    UMF_mem_free_tail_block (Numeric, Row_tuples [pivrow]) ;
-    UMF_mem_free_tail_block (Numeric, Col_tuples [pivcol]) ;
-
-    Row_tuples [pivrow] = 0 ;
-    Col_tuples [pivcol] = 0 ;
-
-    DEBUG5 (("number of pivots prior to this one: "ID"\n", k)) ;
-    ASSERT (NON_PIVOTAL_ROW (pivrow)) ;
-    ASSERT (NON_PIVOTAL_COL (pivcol)) ;
-
-    /* save row and column inverse permutation */
-    k1 = ONES_COMPLEMENT (k) ;
-    Rperm [pivrow] = k1 ;			/* aliased with Row_degree */
-    Cperm [pivcol] = k1 ;			/* aliased with Col_degree */
-
-    ASSERT (!NON_PIVOTAL_ROW (pivrow)) ;
-    ASSERT (!NON_PIVOTAL_COL (pivcol)) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* Keep track of the pivot order.  This is the kth pivot row and column. */
-    /* ---------------------------------------------------------------------- */
-
-    /* keep track of pivot rows and columns in the LU, L, and U blocks */
-    ASSERT (fnpiv < MAXNB) ;
-    Work->Pivrow [fnpiv] = pivrow ;
-    Work->Pivcol [fnpiv] = pivcol ;
-
-    /* ====================================================================== */
-    /* === one step in the factorization is done ============================ */
-    /* ====================================================================== */
-
-    /* One more step is done, except for pending updates to the U and C blocks
-     * of this frontal matrix.  Those are saved up, and applied by
-     * UMF_blas3_update when enough pivots have accumulated.   Also, the
-     * LU factors for these pending pivots have not yet been stored. */
-
-    Work->fnpiv++ ;
-
-#ifndef NDEBUG
-    DEBUG7 (("Current frontal matrix: (after pivcol scale)\n")) ;
-    UMF_dump_current_front (Numeric, Work, TRUE) ;
-#endif
-
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_scale_column.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL void UMF_scale_column
-(
-    NumericType *Numeric,
-    WorkType *Work
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_set_stats.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +0,0 @@
-/* ========================================================================== */
-/* === UMF_set_stats ======================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    Sets statistics in Info array.  Calculates everything in double precision,
-    rather than Int or size_t, so that usage estimates can be computed even if
-    the problem is so large that it would cause integer overflow.
-
-    This routine has many double relop's, but the NaN case is ignored.
-*/
-
-#include "umf_internal.h"
-#include "umf_symbolic_usage.h"
-
-GLOBAL void UMF_set_stats
-(
-    double Info [ ],
-    SymbolicType *Symbolic,
-    double max_usage,		/* peak size of Numeric->Memory, in Units */
-    double num_mem_size,	/* final size of Numeric->Memory, in Units */
-    double flops,		/* "true flops" */
-    double lnz,			/* nz in L */
-    double unz,			/* nz in U */
-    double maxfrsize,		/* largest front size */
-    double ulen,		/* size of Numeric->Upattern */
-    double npiv,		/* number of pivots found */
-    double maxnrows,		/* largest #rows in front */
-    double maxncols,		/* largest #cols in front */
-    Int scale,			/* true if scaling the rows of A */
-    Int prefer_diagonal,	/* true if diagonal pivoting (only square A) */
-    Int what			/* ESTIMATE or ACTUAL */
-)
-{
-
-    double sym_size, work_usage, nn, n_row, n_col, n_inner, num_On_size1,
-	num_On_size2, num_usage, sym_maxncols, sym_maxnrows, elen, n1 ;
-
-    n_col = Symbolic->n_col ;
-    n_row = Symbolic->n_row ;
-    n1 = Symbolic->n1 ;
-    nn = MAX (n_row, n_col) ;
-    n_inner = MIN (n_row, n_col) ;
-    sym_maxncols = MIN (Symbolic->maxncols + Symbolic->nb, n_col) ;
-    sym_maxnrows = MIN (Symbolic->maxnrows + Symbolic->nb, n_row) ;
-    elen = (n_col - n1) + (n_row - n1) + MIN (n_col - n1, n_row - n1) + 1 ;
-
-    /* final Symbolic object size */
-    sym_size = UMF_symbolic_usage (Symbolic->n_row, Symbolic->n_col,
-	Symbolic->nchains, Symbolic->nfr, Symbolic->esize, prefer_diagonal) ;
-
-    /* size of O(n) part of Numeric object during factorization, */
-    /* except Numeric->Memory and Numeric->Upattern */
-    num_On_size1 =
-	DUNITS (NumericType, 1)		/* Numeric structure */
-	+ DUNITS (Entry, n_inner+1)	/* D */
-	+ 4 * DUNITS (Int, n_row+1)	/* Rperm, Lpos, Uilen, Uip */
-	+ 4 * DUNITS (Int, n_col+1)	/* Cperm, Upos, Lilen, Lip */
-	+ (scale ? DUNITS (Entry, n_row) : 0) ;   /* Rs, row scale factors */
-
-    /* size of O(n) part of Numeric object after factorization, */
-    /* except Numeric->Memory and Numeric->Upattern */
-    num_On_size2 =
-	DUNITS (NumericType, 1)		/* Numeric structure */
-	+ DUNITS (Entry, n_inner+1)	/* D */
-	+ DUNITS (Int, n_row+1)		/* Rperm */
-	+ DUNITS (Int, n_col+1)		/* Cperm */
-	+ 6 * DUNITS (Int, npiv+1)	/* Lpos, Uilen, Uip, Upos, Lilen, Lip */
-	+ (scale ? DUNITS (Entry, n_row) : 0) ;	    /* Rs, row scale factors */
-
-    DEBUG1 (("num O(n) size2: %g\n", num_On_size2)) ;
-
-    /* peak size of Numeric->Memory, including LU factors, current frontal
-     * matrix, elements, and tuple lists.  */
-    Info [UMFPACK_VARIABLE_PEAK + what] = max_usage ;
-
-    /* final size of Numeric->Memory (LU factors only) */
-    Info [UMFPACK_VARIABLE_FINAL + what] = num_mem_size ;
-
-    /* final size of Numeric object, including Numeric->Memory and ->Upattern */
-    Info [UMFPACK_NUMERIC_SIZE + what] =
-	num_On_size2
-	+ num_mem_size		/* final Numeric->Memory size */
-	+ DUNITS (Int, ulen+1) ;/* Numeric->Upattern (from Work->Upattern) */
-
-    DEBUG1 (("num mem size: %g\n", num_mem_size)) ;
-    DEBUG1 (("ulen units %g\n", DUNITS (Int, ulen))) ;
-    DEBUG1 (("numeric size %g\n", Info [UMFPACK_NUMERIC_SIZE + what])) ;
-
-    /* largest front size (working array size, or actual size used) */
-    Info [UMFPACK_MAX_FRONT_SIZE + what] = maxfrsize ;
-    Info [UMFPACK_MAX_FRONT_NROWS + what] = maxnrows ;
-    Info [UMFPACK_MAX_FRONT_NCOLS + what] = maxncols ;
-    DEBUGm4 (("maxnrows %g maxncols %g\n", maxnrows, maxncols)) ;
-    DEBUGm4 (("maxfrsize %g\n", maxfrsize)) ;
-
-    /* UMF_kernel usage, from work_alloc routine in umf_kernel.c */
-    work_usage =
-	/* Work-> arrays, except for current frontal matrix which is allocated
-	 * inside Numeric->Memory. */
-	2 * DUNITS (Entry, sym_maxnrows + 1)	/* Wx, Wy */
-	+ 2 * DUNITS (Int, n_row+1)		/* Frpos, Lpattern */
-	+ 2 * DUNITS (Int, n_col+1)		/* Fcpos, Upattern */
-	+ DUNITS (Int, nn + 1)			/* Wp */
-	+ DUNITS (Int, MAX (n_col, sym_maxnrows) + 1)	/* Wrp */
-	+ 2 * DUNITS (Int, sym_maxnrows + 1)	/* Frows, Wm */
-	+ 3 * DUNITS (Int, sym_maxncols + 1)	/* Fcols, Wio, Woi */
-	+ DUNITS (Int, MAX (sym_maxnrows, sym_maxncols) + 1)	/* Woo */
-	+ DUNITS (Int, elen)			/* E */
-	+ DUNITS (Int, Symbolic->nfr + 1)	/* Front_new1strow */
-	+ ((n_row == n_col) ? (2 * DUNITS (Int, nn)) : 0) ;  /* Diag map,imap */
-
-    /* Peak memory for just UMFPACK_numeric. */
-    num_usage =
-	sym_size	/* size of Symbolic object */
-	+ num_On_size1	/* O(n) part of Numeric object (excl. Upattern) */
-	+ work_usage	/* Work-> arrays (including Upattern) */
-	+ max_usage ;	/* peak size of Numeric->Memory */
-
-    /* peak memory usage for both UMFPACK_*symbolic and UMFPACK_numeric. */
-    Info [UMFPACK_PEAK_MEMORY + what] =
-	MAX (Symbolic->peak_sym_usage, num_usage) ;
-
-    Info [UMFPACK_FLOPS + what] = flops ;
-    Info [UMFPACK_LNZ + what] = lnz ;
-    Info [UMFPACK_UNZ + what] = unz ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_set_stats.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL void UMF_set_stats
-(
-    double Info [ ],
-    SymbolicType *Symbolic,
-    double max_usage,
-    double num_mem_size,
-    double flops,
-    double lnz,
-    double unz,
-    double maxfrsize,
-    double ulen,
-    double npiv,
-    double maxnrows,
-    double maxncols,
-    Int scale,
-    Int prefer_diagonal,
-    Int what
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_singletons.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,915 +0,0 @@
-/* ========================================================================== */
-/* === UMF_singletons ======================================================= */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/* Find and order the row and column singletons of a matrix A.  If there are
- * row and column singletons, the output is a row and column permutation such
- * that the matrix is in the following form:
- *
- *	x x x x x x x x x
- *	0 x x x x x x x x
- *	0 0 x x x x x x x
- *	0 0 0 x 0 0 0 0 0
- *	0 0 0 x x 0 0 0 0
- *	0 0 0 x x s s s s
- *	0 0 0 x x s s s s
- *	0 0 0 x x s s s s
- *	0 0 0 x x s s s s
- *
- * The above example has 3 column singletons (the first three columns and
- * their corresponding pivot rows) and 2 row singletons.  The singletons are
- * ordered first, because they have zero Markowitz cost.  The LU factorization
- * for these first five rows and columns is free - there is no work to do
- * (except to scale the pivot columns for the 2 row singletons), and no
- * fill-in occurs.  * The remaining * submatrix (4-by-4 in the above example)
- * has no rows or columns with degree one.  It may have empty rows or columns.
- *
- * This algorithm does not perform a full permutation to block triangular
- * form.  If there are one or more singletons, then the matrix can be
- * permuted to block triangular form, but UMFPACK does not perform the full
- * BTF permutation (see also "dmperm" in MATLAB).
- */
-
-#include "umf_internal.h"
-
-#ifndef NDEBUG
-
-/* ========================================================================== */
-/* === debug routines ======================================================= */
-/* ========================================================================== */
-
-/* Dump the singleton queue */
-
-PRIVATE void dump_singletons
-(
-    Int head,		/* head of the queue */
-    Int tail,		/* tail of the queue */
-    Int Next [ ],	/* Next [i] is the next object after i */
-    char *name,		/* "row" or "col" */
-    Int Deg [ ],	/* Deg [i] is the degree of object i */
-    Int n		/* objects are in the range 0 to n-1 */
-)
-{
-    Int i, next, cnt ;
-    DEBUG6 (("%s Singleton list: head "ID" tail "ID"\n", name, head, tail)) ;
-    i = head ;
-    ASSERT (head >= EMPTY && head < n) ;
-    ASSERT (tail >= EMPTY && tail < n) ;
-    cnt = 0 ;
-    while (i != EMPTY)
-    {
-	DEBUG7 ((" "ID": "ID" deg: "ID"\n", cnt, i, Deg [i])) ;
-	ASSERT (i >= 0 && i < n) ;
-	next = Next [i] ;
-	if (i == tail) ASSERT (next == EMPTY) ;
-	i = next ;
-	cnt++ ;
-	ASSERT (cnt <= n) ;
-    }
-}
-
-PRIVATE void dump_mat
-(
-    char *xname,
-    char *yname,
-    Int nx,
-    Int ny,
-    const Int Xp [ ],
-    const Int Xi [ ],
-    Int Xdeg [ ],
-    Int Ydeg [ ]
-)
-{
-    Int x, y, p, p1, p2, xdeg, do_xdeg, ydeg ;
-    DEBUG6 (("\n ==== Dump %s mat:\n", xname)) ;
-    for (x = 0 ; x < nx ; x++)
-    {
-	p1 = Xp [x] ;
-	p2 = Xp [x+1] ;
-	xdeg = Xdeg [x] ;
-	DEBUG6 (("Dump %s "ID" p1 "ID" p2 "ID" deg "ID"\n",
-	    xname, x, p1, p2, xdeg)) ;
-	do_xdeg = (xdeg >= 0) ;
-	for (p = p1 ; p < p2 ; p++)
-	{
-	    y = Xi [p] ;
-	    DEBUG7 (("    %s "ID" deg: ", yname, y)) ;
-	    ASSERT (y >= 0 && y < ny) ;
-	    ydeg = Ydeg [y] ;
-	    DEBUG7 ((ID"\n", ydeg)) ;
-	    if (do_xdeg && ydeg >= 0)
-	    {
-		xdeg-- ;
-	    }
-	}
-	ASSERT (IMPLIES (do_xdeg, xdeg == 0)) ;
-    }
-}
-#endif
-
-/* ========================================================================== */
-/* === create_row_form ====================================================== */
-/* ========================================================================== */
-
-/* Create the row-form R of the column-form input matrix A.  This could be done
- * by UMF_transpose, except that Rdeg has already been computed.
- */
-
-PRIVATE void create_row_form
-(
-    /* input, not modified: */
-    Int n_row,		    /* A is n_row-by-n_col, nz = Ap [n_col] */
-    Int n_col,
-    const Int Ap [ ],	    /* Ap [0..n_col]: column pointers for A */
-    const Int Ai [ ],	    /* Ai [0..nz-1]:  row indices for A */
-    Int Rdeg [ ],	    /* Rdeg [0..n_row-1]: row degrees */
-
-    /* output, not defined on input: */
-    Int Rp [ ],		    /* Rp [0..n_row]: row pointers for R */
-    Int Ri [ ],		    /* Ri [0..nz-1]:  column indices for R */
-
-    /* workspace, not defined on input or output */
-    Int W [ ]		    /* size n_row */
-)
-{
-    Int row, col, p, p2 ;
-
-    /* create the row pointers */
-    Rp [0] = 0 ;
-    W [0] = 0 ;
-    for (row = 0 ; row < n_row ; row++)
-    {
-	Rp [row+1] = Rp [row] + Rdeg [row] ;
-	W [row] = Rp [row] ;
-    }
-
-    /* create the indices for the row-form */
-    for (col = 0 ; col < n_col ; col++)
-    {
-	p2 = Ap [col+1] ;
-	for (p = Ap [col] ; p < p2 ; p++)
-	{
-	    Ri [W [Ai [p]]++] = col ;
-	}
-    }
-}
-
-/* ========================================================================== */
-/* === order_singletons ===================================================== */
-/* ========================================================================== */
-
-PRIVATE int order_singletons	/* return new number of singletons */
-(
-    Int k,	    /* the number of singletons so far */
-    Int head,
-    Int tail,
-    Int Next [ ],
-    Int Xdeg [ ], Int Xperm [ ], const Int Xp [ ], const Int Xi [ ],
-    Int Ydeg [ ], Int Yperm [ ], const Int Yp [ ], const Int Yi [ ]
-#ifndef NDEBUG
-    , char *xname, char *yname, Int nx, Int ny
-#endif
-)
-{
-    Int xpivot, x, y, ypivot, p, p2, deg ;
-
-#ifndef NDEBUG
-    Int i, k1 = k ;
-    dump_singletons (head, tail, Next, xname, Xdeg, nx) ;
-    dump_mat (xname, yname, nx, ny, Xp, Xi, Xdeg, Ydeg) ;
-    dump_mat (yname, xname, ny, nx, Yp, Yi, Ydeg, Xdeg) ;
-#endif
-
-    while (head != EMPTY)
-    {
-	/* remove the singleton at the head of the queue */
-	xpivot = head ;
-	DEBUG1 (("------ Order %s singleton: "ID"\n", xname, xpivot)) ;
-	head = Next [xpivot] ;
-	if (head == EMPTY) tail = EMPTY ;
-
-#ifndef NDEBUG
-	if (k % 100 == 0) dump_singletons (head, tail, Next, xname, Xdeg, nx) ;
-#endif
-
-	ASSERT (Xdeg [xpivot] >= 0) ;
-	if (Xdeg [xpivot] != 1)
-	{
-	    /* This row/column x is empty.  The matrix is singular.
-	     * x will be ordered last in Xperm. */
-	    DEBUG1 (("empty %s, after singletons removed\n", xname)) ;
-	    continue ;
-	}
-
-	/* find the ypivot to match with this xpivot */
-#ifndef NDEBUG
-	/* there can only be one ypivot, since the degree of x is 1 */
-	deg = 0 ;
-	p2 = Xp [xpivot+1] ;
-	for (p = Xp [xpivot] ; p < p2 ; p++)
-	{
-	    y = Xi [p] ;
-	    DEBUG1 (("%s: "ID"\n", yname, y)) ;
-	    if (Ydeg [y] >= 0)
-	    {
-		/* this is a live index in this xpivot vector */
-		deg++ ;
-	    }
-	}
-	ASSERT (deg == 1) ;
-#endif
-
-	ypivot = EMPTY ;
-	p2 = Xp [xpivot+1] ;
-	for (p = Xp [xpivot] ; p < p2 ; p++)
-	{
-	    y = Xi [p] ;
-	    DEBUG1 (("%s: "ID"\n", yname, y)) ;
-	    if (Ydeg [y] >= 0)
-	    {
-		/* this is a live index in this xpivot vector */
-		ypivot = y ;
-		break ;
-	    }
-	}
-
-	DEBUG1 (("Pivot %s: "ID"\n", yname, ypivot)) ;
-	ASSERT (ypivot != EMPTY) ;
-	DEBUG1 (("deg "ID"\n", Ydeg [ypivot])) ;
-	ASSERT (Ydeg [ypivot] >= 0) ;
-
-	/* decrement the degrees after removing this singleton */
-	DEBUG1 (("p1 "ID"\n", Yp [ypivot])) ;
-	DEBUG1 (("p2 "ID"\n", Yp [ypivot+1])) ;
-	p2 = Yp [ypivot+1] ;
-	for (p = Yp [ypivot] ; p < p2 ; p++)
-	{
-	    x = Yi [p] ;
-	    DEBUG1 (("    %s: "ID" deg: "ID"\n", xname, x, Xdeg [x])) ;
-	    if (Xdeg [x] < 0) continue ;
-	    ASSERT (Xdeg [x] > 0) ;
-	    if (x == xpivot) continue ;
-	    deg = --(Xdeg [x]) ;
-	    ASSERT (Xdeg [x] >= 0) ;
-	    if (deg == 1)
-	    {
-		/* this is a new singleton, put at the end of the queue */
-		Next [x] = EMPTY ;
-		if (head == EMPTY)
-		{
-		    head = x ;
-		}
-		else
-		{
-		    ASSERT (tail != EMPTY) ;
-		    Next [tail] = x ;
-		}
-		tail = x ;
-		DEBUG1 ((" New %s singleton:  "ID"\n", xname, x)) ;
-#ifndef NDEBUG
-		if (k % 100 == 0)
-		{
-		    dump_singletons (head, tail, Next, xname, Xdeg, nx) ;
-		}
-#endif
-	    }
-	}
-
-	/* flag the xpivot and ypivot by FLIP'ing the degrees */
-	Xdeg [xpivot] = FLIP (1) ;
-	Ydeg [ypivot] = FLIP (Ydeg [ypivot]) ;
-
-	/* keep track of the pivot row and column */
-	Xperm [k] = xpivot ;
-	Yperm [k] = ypivot ;
-	k++ ;
-
-#ifndef NDEBUG
-	if (k % 1000 == 0)
-	{
-	    dump_mat (xname, yname, nx, ny, Xp, Xi, Xdeg, Ydeg) ;
-	    dump_mat (yname, xname, ny, nx, Yp, Yi, Ydeg, Xdeg) ;
-	}
-#endif
-    }
-
-#ifndef NDEBUG
-    DEBUGm4 (("%s singletons: k = "ID"\n", xname, k)) ;
-    for (i = k1 ; i < k ; i++)
-    {
-	DEBUG1 (("  %s: "ID" %s: "ID"\n", xname, Xperm [i], yname, Yperm [i])) ;
-    }
-    ASSERT (k > 0) ;
-#endif
-
-    return (k) ;
-}
-
-/* ========================================================================== */
-/* === find_any_singletons ================================================== */
-/* ========================================================================== */
-
-PRIVATE Int find_any_singletons	    /* returns # of singletons found */
-(
-    /* input, not modified: */
-    Int n_row,
-    Int n_col,
-    const Int Ap [ ],	    /* size n_col+1 */
-    const Int Ai [ ],	    /* size nz = Ap [n_col] */
-
-    /* input, modified on output: */
-    Int Cdeg [ ],	    /* size n_col */
-    Int Rdeg [ ],	    /* size n_row */
-
-    /* output, not defined on input: */
-    Int Cperm [ ],	    /* size n_col */
-    Int Rperm [ ],	    /* size n_row */
-    Int *p_n1r,		    /* # of row singletons */
-    Int *p_n1c,		    /* # of col singletons */
-
-    /* workspace, not defined on input or output */
-    Int Rp [ ],		    /* size n_row+1 */
-    Int Ri [ ],		    /* size nz */
-    Int W [ ],		    /* size n_row */
-    Int Next [ ]	    /* size MAX (n_row, n_col) */
-)
-{
-    Int n1, col, row, row_form, head, tail, n1r, n1c ;
-
-    /* ---------------------------------------------------------------------- */
-    /* eliminate column singletons */
-    /* ---------------------------------------------------------------------- */
-
-    n1 = 0 ;
-    n1r = 0 ;
-    n1c = 0 ;
-    row_form = FALSE ;
-
-    head = EMPTY ;
-    tail = EMPTY ;
-    for (col = n_col-1 ; col >= 0 ; col--)
-    {
-	if (Cdeg [col] == 1)
-	{
-	    /* put the column singleton in the queue */
-	    if (head == EMPTY) tail = col ;
-	    Next [col] = head ;
-	    head = col ;
-	    DEBUG1 (("Column singleton: "ID"\n", col)) ;
-	}
-    }
-
-    if (head != EMPTY)
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* create the row-form of A */
-	/* ------------------------------------------------------------------ */
-
-	create_row_form (n_row, n_col, Ap, Ai, Rdeg, Rp, Ri, W) ;
-	row_form = TRUE ;
-
-	/* ------------------------------------------------------------------ */
-	/* find and order the column singletons */
-	/* ------------------------------------------------------------------ */
-
-	n1 = order_singletons (0, head, tail, Next,
-		Cdeg, Cperm, Ap, Ai,
-		Rdeg, Rperm, Rp, Ri
-#ifndef NDEBUG
-		, "col", "row", n_col, n_row
-#endif
-		) ;
-	n1c = n1 ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* eliminate row singletons */
-    /* ---------------------------------------------------------------------- */
-
-    head = EMPTY ;
-    tail = EMPTY ;
-    for (row = n_row-1 ; row >= 0 ; row--)
-    {
-	if (Rdeg [row] == 1)
-	{
-	    /* put the row singleton in the queue */
-	    if (head == EMPTY) tail = row ;
-	    Next [row] = head ;
-	    head = row ;
-	    DEBUG1 (("Row singleton: "ID"\n", row)) ;
-	}
-    }
-
-    if (head != EMPTY)
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* create the row-form of A, if not already created */
-	/* ------------------------------------------------------------------ */
-
-	if (!row_form)
-	{
-	    create_row_form (n_row, n_col, Ap, Ai, Rdeg, Rp, Ri, W) ;
-	}
-
-	/* ------------------------------------------------------------------ */
-	/* find and order the row singletons */
-	/* ------------------------------------------------------------------ */
-
-	n1 = order_singletons (n1, head, tail, Next,
-		Rdeg, Rperm, Rp, Ri,
-		Cdeg, Cperm, Ap, Ai
-#ifndef NDEBUG
-		, "row", "col", n_row, n_col
-#endif
-		) ;
-	n1r = n1 - n1c ;
-    }
-
-    DEBUG0 (("n1 "ID"\n", n1)) ;
-    *p_n1r = n1r ;
-    *p_n1c = n1c ;
-    return (n1) ;
-}
-
-/* ========================================================================== */
-/* === find_user_singletons ================================================= */
-/* ========================================================================== */
-
-PRIVATE Int find_user_singletons	/* returns # singletons found */
-(
-    /* input, not modified: */
-    Int n_row,
-    Int n_col,
-    const Int Ap [ ],	    /* size n_col+1 */
-    const Int Ai [ ],	    /* size nz = Ap [n_col] */
-    const Int Quser [ ],    /* size n_col if present */
-
-    /* input, modified on output: */
-    Int Cdeg [ ],	    /* size n_col */
-    Int Rdeg [ ],	    /* size n_row */
-
-    /* output, not defined on input */
-    Int Cperm [ ],	    /* size n_col */
-    Int Rperm [ ],	    /* size n_row */
-    Int *p_n1r,		    /* # of row singletons */
-    Int *p_n1c,		    /* # of col singletons */
-
-    /* workspace, not defined on input or output */
-    Int Rp [ ],		    /* size n_row+1 */
-    Int Ri [ ],		    /* size nz */
-    Int W [ ]		    /* size n_row */
-)
-{
-    Int n1, col, row, p, p2, pivcol, pivrow, found, k, n1r, n1c ;
-
-    n1 = 0 ;
-    n1r = 0 ;
-    n1c = 0 ;
-    *p_n1r = 0 ;
-    *p_n1c = 0 ;
-
-    /* find singletons in the user column permutation, Quser */
-    pivcol = Quser [0] ;
-    found = (Cdeg [pivcol] == 1) ;
-    DEBUG0 (("Is first col: "ID" a col singleton?: "ID"\n", pivcol, found)) ;
-    if (!found)
-    {
-	/* the first column is not a column singleton, check for a row
-	 * singleton in the first column. */
-	for (p = Ap [pivcol] ; p < Ap [pivcol+1] ; p++)
-	{
-	    if (Rdeg [Ai [p]] == 1)
-	    {
-		DEBUG0 (("Row singleton in first col: "ID" row: "ID"\n",
-		    pivcol, Ai [p])) ;
-		found = TRUE ;
-		break ;
-	    }
-	}
-    }
-
-    if (!found)
-    {
-	/* no singletons in the leading part of A (:,Quser) */
-	return (0) ;
-    }
-
-    /* there is at least one row or column singleton.  Look for more. */
-    create_row_form (n_row, n_col, Ap, Ai, Rdeg, Rp, Ri, W) ;
-
-    n1 = 0 ;
-
-    for (k = 0 ; k < n_col ; k++)
-    {
-	pivcol = Quser [k] ;
-	pivrow = EMPTY ;
-
-	/* ------------------------------------------------------------------ */
-	/* check if col is a column singleton, or contains a row singleton */
-	/* ------------------------------------------------------------------ */
-
-	found = (Cdeg [pivcol] == 1) ;
-
-	if (found)
-	{
-
-	    /* -------------------------------------------------------------- */
-	    /* pivcol is a column singleton */
-	    /* -------------------------------------------------------------- */
-
-	    DEBUG0 (("Found a col singleton: k "ID" pivcol "ID"\n", k, pivcol));
-
-	    /* find the pivrow to match with this pivcol */
-#ifndef NDEBUG
-	    /* there can only be one pivrow, since the degree of pivcol is 1 */
-	    {
-		Int deg = 0 ;
-		p2 = Ap [pivcol+1] ;
-		for (p = Ap [pivcol] ; p < p2 ; p++)
-		{
-		    row = Ai [p] ;
-		    DEBUG1 (("row: "ID"\n", row)) ;
-		    if (Rdeg [row] >= 0)
-		    {
-			/* this is a live index in this column vector */
-			deg++ ;
-		    }
-		}
-		ASSERT (deg == 1) ;
-	    }
-#endif
-
-	    p2 = Ap [pivcol+1] ;
-	    for (p = Ap [pivcol] ; p < p2 ; p++)
-	    {
-		row = Ai [p] ;
-		DEBUG1 (("row: "ID"\n", row)) ;
-		if (Rdeg [row] >= 0)
-		{
-		    /* this is a live index in this pivcol vector */
-		    pivrow = row ;
-		    break ;
-		}
-	    }
-
-	    DEBUG1 (("Pivot row: "ID"\n", pivrow)) ;
-	    ASSERT (pivrow != EMPTY) ;
-	    DEBUG1 (("deg "ID"\n", Rdeg [pivrow])) ;
-	    ASSERT (Rdeg [pivrow] >= 0) ;
-
-	    /* decrement the degrees after removing this col singleton */
-	    DEBUG1 (("p1 "ID"\n", Rp [pivrow])) ;
-	    DEBUG1 (("p2 "ID"\n", Rp [pivrow+1])) ;
-	    p2 = Rp [pivrow+1] ;
-	    for (p = Rp [pivrow] ; p < p2 ; p++)
-	    {
-		col = Ri [p] ;
-		DEBUG1 (("    col: "ID" deg: "ID"\n", col, Cdeg [col])) ;
-		if (Cdeg [col] < 0) continue ;
-		ASSERT (Cdeg [col] > 0) ;
-		Cdeg [col]-- ;
-		ASSERT (Cdeg [col] >= 0) ;
-	    }
-
-	    /* flag the pivcol and pivrow by FLIP'ing the degrees */
-	    Cdeg [pivcol] = FLIP (1) ;
-	    Rdeg [pivrow] = FLIP (Rdeg [pivrow]) ;
-	    n1c++ ;
-
-	}
-	else
-	{
-
-	    /* -------------------------------------------------------------- */
-	    /* pivcol may contain a row singleton */
-	    /* -------------------------------------------------------------- */
-
-	    p2 = Ap [pivcol+1] ;
-	    for (p = Ap [pivcol] ; p < p2 ; p++)
-	    {
-		pivrow = Ai [p] ;
-		if (Rdeg [pivrow] == 1)
-		{
-		    DEBUG0 (("Row singleton in pivcol: "ID" row: "ID"\n",
-			pivcol, pivrow)) ;
-		    found = TRUE ;
-		    break ;
-		}
-	    }
-
-	    if (!found)
-	    {
-		DEBUG0 (("End of user singletons\n")) ;
-		break ;
-	    }
-
-#ifndef NDEBUG
-	    /* there can only be one pivrow, since the degree of pivcol is 1 */
-	    {
-		Int deg = 0 ;
-		p2 = Rp [pivrow+1] ;
-		for (p = Rp [pivrow] ; p < p2 ; p++)
-		{
-		    col = Ri [p] ;
-		    DEBUG1 (("col: "ID" cdeg::: "ID"\n", col, Cdeg [col])) ;
-		    if (Cdeg [col] >= 0)
-		    {
-			/* this is a live index in this column vector */
-			ASSERT (col == pivcol) ;
-			deg++ ;
-		    }
-		}
-		ASSERT (deg == 1) ;
-	    }
-#endif
-
-	    DEBUG1 (("Pivot row: "ID"\n", pivrow)) ;
-	    DEBUG1 (("pivcol deg "ID"\n", Cdeg [pivcol])) ;
-	    ASSERT (Cdeg [pivcol] > 1) ;
-
-	    /* decrement the degrees after removing this row singleton */
-	    DEBUG1 (("p1 "ID"\n", Ap [pivcol])) ;
-	    DEBUG1 (("p2 "ID"\n", Ap [pivcol+1])) ;
-	    p2 = Ap [pivcol+1] ;
-	    for (p = Ap [pivcol] ; p < p2 ; p++)
-	    {
-		row = Ai [p] ;
-		DEBUG1 (("    row: "ID" deg: "ID"\n", row, Rdeg [row])) ;
-		if (Rdeg [row] < 0) continue ;
-		ASSERT (Rdeg [row] > 0) ;
-		Rdeg [row]-- ;
-		ASSERT (Rdeg [row] >= 0) ;
-	    }
-
-	    /* flag the pivcol and pivrow by FLIP'ing the degrees */
-	    Cdeg [pivcol] = FLIP (Cdeg [pivcol]) ;
-	    Rdeg [pivrow] = FLIP (1) ;
-	    n1r++ ;
-	}
-
-	/* keep track of the pivot row and column */
-	Cperm [k] = pivcol ;
-	Rperm [k] = pivrow ;
-	n1++ ;
-
-#ifndef NDEBUG
-	dump_mat ("col", "row", n_col, n_row, Ap, Ai, Cdeg, Rdeg) ;
-	dump_mat ("row", "col", n_row, n_col, Rp, Ri, Rdeg, Cdeg) ;
-#endif
-
-    }
-
-    DEBUGm4 (("User singletons found: "ID"\n", n1)) ;
-    ASSERT (n1 > 0) ;
-
-    *p_n1r = n1r ;
-    *p_n1c = n1c ;
-    return (n1) ;
-}
-
-/* ========================================================================== */
-/* === finish_permutation =================================================== */
-/* ========================================================================== */
-
-/* Complete the permutation for the pruned submatrix.  The singletons are
- * already ordered, but remove their flags.  Place rows/columns that are empty
- * in the pruned submatrix at the end of the output permutation.  This can only
- * occur if the matrix is singular.
- */
-
-PRIVATE Int finish_permutation
-(
-    Int n1,
-    Int nx,
-    Int Xdeg [ ],
-    const Int Xuser [ ],
-    Int Xperm [ ],
-    Int *p_max_deg
-)
-{
-    Int nempty, x, deg, s, max_deg, k ;
-    nempty = 0 ;
-    s = n1 ;
-    max_deg = 0 ;
-    DEBUG0 (("n1 "ID" nempty "ID"\n", n1, nempty)) ;
-    for (k = 0 ; k < nx ; k++)
-    {
-	x = (Xuser != (Int *) NULL) ? Xuser [k] : k ;
-	DEBUG0 (("finish perm k "ID" x "ID" nx "ID"\n", k, x, nx)) ;
-	deg = Xdeg [x] ;
-	if (deg == 0)
-	{
-	    /* this row/col is empty in the pruned submatrix */
-	    ASSERT (s < nx - nempty) ;
-	    DEBUG0 (("empty k "ID"\n", k)) ;
-	    nempty++ ;
-	    Xperm [nx - nempty] = x ;
-	}
-	else if (deg > 0)
-	{
-	    /* this row/col is nonempty in the pruned submatrix */
-	    ASSERT (s < nx - nempty) ;
-	    Xperm [s++] = x ;
-	    max_deg = MAX (max_deg, deg) ;
-	}
-	else
-	{
-	    /* This is a singleton row/column - it is already ordered.
-	     * Just clear the flag. */
-	    Xdeg [x] = FLIP (deg) ;
-	}
-    }
-    ASSERT (s == nx - nempty) ;
-    *p_max_deg = max_deg ;
-    return (nempty) ;
-}
-
-/* ========================================================================== */
-/* === UMF_singletons ======================================================= */
-/* ========================================================================== */
-
-GLOBAL Int UMF_singletons
-(
-
-    /* input, not modified: */
-    Int n_row,
-    Int n_col,
-    const Int Ap [ ],	    /* size n_col+1 */
-    const Int Ai [ ],	    /* size nz = Ap [n_col] */
-    const Int Quser [ ],    /* size n_col if present */
-    Int strategy,	    /* strategy requested by user */
-
-    /* output, not defined on input: */
-    Int Cdeg [ ],	/* size n_col */
-    Int Cperm [ ],	/* size n_col */
-    Int Rdeg [ ],	/* size n_row */
-    Int Rperm [ ],	/* size n_row */
-    Int InvRperm [ ],	/* size n_row, the inverse of Rperm */
-    Int *p_n1,		/* # of col and row singletons */
-    Int *p_n1c,		/* # of col singletons */
-    Int *p_n1r,		/* # of row singletons */
-    Int *p_nempty_col,	/* # of empty columns in pruned submatrix */
-    Int *p_nempty_row,	/* # of empty columns in pruned submatrix */
-    Int *p_is_sym,	/* TRUE if pruned submatrix is square and has been
-			 * symmetrically permuted by Cperm and Rperm */
-    Int *p_max_rdeg,	/* maximum Rdeg in pruned submatrix */
-
-    /* workspace, not defined on input or output */
-    Int Rp [ ],		/* size n_row+1 */
-    Int Ri [ ],		/* size nz */
-    Int W [ ],		/* size n_row */
-    Int Next [ ]	/* size MAX (n_row, n_col) */
-)
-{
-    Int n1, s, col, row, p, p1, p2, cdeg, last_row, is_sym, k,
-	nempty_row, nempty_col, max_cdeg, max_rdeg, n1c, n1r ;
-
-    /* ---------------------------------------------------------------------- */
-    /* initializations */
-    /* ---------------------------------------------------------------------- */
-
-#ifndef NDEBUG
-    UMF_dump_start ( ) ;
-    DEBUGm4 (("Starting umf_singletons\n")) ;
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* scan the columns, check for errors and count row degrees */
-    /* ---------------------------------------------------------------------- */
-
-    if (Ap [0] != 0 || Ap [n_col] < 0)
-    {
-	return (UMFPACK_ERROR_invalid_matrix) ;
-    }
-    for (row = 0 ; row < n_row ; row++)
-    {
-	Rdeg [row] = 0 ;
-    }
-    for (col = 0 ; col < n_col ; col++)
-    {
-	p1 = Ap [col] ;
-	p2 = Ap [col+1] ;
-	cdeg = p2 - p1 ;
-	if (cdeg < 0)
-	{
-	    return (UMFPACK_ERROR_invalid_matrix) ;
-	}
-	last_row = EMPTY ;
-	for (p = p1 ; p < p2 ; p++)
-	{
-	    row = Ai [p] ;
-	    if (row <= last_row || row >= n_row)
-	    {
-		return (UMFPACK_ERROR_invalid_matrix) ;
-	    }
-	    Rdeg [row]++ ;
-	    last_row = row ;
-	}
-	Cdeg [col] = cdeg ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* find singletons */
-    /* ---------------------------------------------------------------------- */
-
-    if (Quser != (Int *) NULL)
-    {
-	/* user has provided an input column ordering */
-	if (strategy == UMFPACK_STRATEGY_UNSYMMETRIC)
-	{
-	    /* look for singletons, but respect the user's input permutation */
-	    n1 = find_user_singletons (n_row, n_col, Ap, Ai, Quser,
-		    Cdeg, Rdeg, Cperm, Rperm, &n1r, &n1c, Rp, Ri, W) ;
-	}
-	else
-	{
-	    /* do not look for singletons if Quser given and strategy is
-	     * not unsymmetric */
-	    n1 = 0 ;
-	    n1r = 0 ;
-	    n1c = 0 ;
-	}
-    }
-    else
-    {
-	/* look for singletons anywhere */
-	n1 = find_any_singletons (n_row, n_col, Ap, Ai,
-		Cdeg, Rdeg, Cperm, Rperm, &n1r, &n1c, Rp, Ri, W, Next) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* eliminate empty columns and complete the column permutation */
-    /* ---------------------------------------------------------------------- */
-
-    nempty_col = finish_permutation (n1, n_col, Cdeg, Quser, Cperm, &max_cdeg) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* eliminate empty rows and complete the row permutation */
-    /* ---------------------------------------------------------------------- */
-
-    if (Quser != (Int *) NULL && strategy == UMFPACK_STRATEGY_SYMMETRIC)
-    {
-	/* rows should be symmetrically permuted according to Quser */
-	ASSERT (n_row == n_col) ;
-	nempty_row = finish_permutation (n1, n_row, Rdeg, Quser, Rperm,
-	    &max_rdeg) ;
-    }
-    else
-    {
-	/* rows should not be symmetrically permuted according to Quser */
-	nempty_row = finish_permutation (n1, n_row, Rdeg, (Int *) NULL, Rperm,
-	    &max_rdeg) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* compute the inverse of Rperm */
-    /* ---------------------------------------------------------------------- */
-
-    for (k = 0 ; k < n_row ; k++)
-    {
-	ASSERT (Rperm [k] >= 0 && Rperm [k] < n_row) ;
-	InvRperm [Rperm [k]] = k ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* see if pruned submatrix is square and has been symmetrically permuted */
-    /* ---------------------------------------------------------------------- */
-
-    if (n_row == n_col && nempty_row == nempty_col)
-    {
-	/* is_sym is true if the submatrix is square, and
-	 * Rperm [n1..n_row-nempty_row-1] = Cperm [n1..n_col-nempty_col-1] */
-	is_sym = TRUE ;
-	for (s = n1 ; s < n_col - nempty_col ; s++)
-	{
-	    if (Cperm [s] != Rperm [s])
-	    {
-		is_sym = FALSE ;
-		break ;
-	    }
-	}
-    }
-    else
-    {
-	is_sym = FALSE ;
-    }
-    DEBUGm4 (("Submatrix square and symmetrically permuted? "ID"\n", is_sym)) ;
-    DEBUGm4 (("singletons "ID" row "ID" col "ID"\n", n1, n1r, n1c)) ;
-    DEBUGm4 (("Empty cols "ID" rows "ID"\n", nempty_col, nempty_row)) ;
-    *p_n1 = n1 ;
-    *p_n1r = n1r ;
-    *p_n1c = n1c ;
-    *p_is_sym = is_sym ;
-    *p_nempty_col = nempty_col ;
-    *p_nempty_row = nempty_row ;
-    *p_max_rdeg = max_rdeg ;
-    return (UMFPACK_OK) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_singletons.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL Int UMF_singletons
-(
-    Int n_row,
-    Int n_col,
-    const Int Ap [ ],
-    const Int Ai [ ],
-    const Int Quser [ ],
-    Int strategy,
-    Int Cdeg [ ],
-    Int Cperm [ ],
-    Int Rdeg [ ],
-    Int Rperm [ ],
-    Int InvRperm [ ],
-    Int *n1,
-    Int *n1c,
-    Int *n1r,
-    Int *nempty_col,
-    Int *nempty_row,
-    Int *is_sym,
-    Int *max_rdeg,
-    Int Rp [ ],
-    Int Ri [ ],
-    Int W [ ],
-    Int Next [ ]
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_solve.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1392 +0,0 @@
-/* ========================================================================== */
-/* === UMF_solve ============================================================ */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    Not user-callable.  Solves a linear system using the numerical factorization
-    computed by UMFPACK_numeric.  No workspace is dynamically allocated.  Counts
-    flops, but excludes floating-point comparisons (thus real abs (...) are
-    zero flops, but complex abs (...) takes 6 flops).
-
-    Returns UMFPACK_OK if successful, UMFPACK_ERROR_argument_missing if
-    required arguments are missing, UMFPACK_ERROR_invalid_system if the sys
-    string is not valid or if the matrix A is not square.
-
-    Uses the sparse backward error method of Arioli, Demmel, and Duff
-    (Solving sparse linear systems with sparse backward error, SIAM J. Matrix
-    Analysis and Applic., vol 10, pp. 165-190).
-*/
-
-#include "umf_internal.h"
-#include "umf_lsolve.h"
-#include "umf_usolve.h"
-#include "umf_ltsolve.h"
-#include "umf_utsolve.h"
-#include "umf_report_vector.h"
-
-PRIVATE Int do_step
-(
-    double omega [3],
-    Int step,
-    const double B2 [ ],
-    Entry X [ ],
-    const Entry W [ ],
-    const double Y [ ],
-    const double Z2 [ ],
-    Entry S [ ],
-    Int n,
-    double Info [UMFPACK_INFO]
-) ;
-
-/* ========================================================================== */
-/* === UMF_solve ============================================================ */
-/* ========================================================================== */
-
-GLOBAL Int UMF_solve
-(
-    Int sys,
-    const Int Ap [ ],
-    const Int Ai [ ],
-    const double Ax [ ],
-    double Xx [ ],
-    const double Bx [ ],
-#ifdef COMPLEX
-    const double Az [ ],
-    double Xz [ ],
-    const double Bz [ ],
-#endif
-    NumericType *Numeric,
-    Int irstep,
-    double Info [UMFPACK_INFO],
-    Int Pattern [ ],		/* size n */
-    double SolveWork [ ]	/* if irstep>0 real:  size 5*n.  complex:10*n */
-				/* otherwise   real:  size   n.  complex: 4*n */
-)
-{
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    Entry axx, wi, xj, zi, xi, aij, bi ;
-    double omega [3], d, z2i, yi, flops ;
-    Entry *W, *Z, *S, *X ;
-    double *Z2, *Y, *B2, *Rs ;
-    Int *Rperm, *Cperm, i, n, p, step, j, nz, status, p2, do_scale ;
-#ifdef COMPLEX
-    Int AXsplit ;
-    Int Bsplit ;
-#endif
-#ifndef NRECIPROCAL
-    Int do_recip = Numeric->do_recip ;
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* initializations */
-    /* ---------------------------------------------------------------------- */
-
-#ifndef NDEBUG
-    UMF_dump_lu (Numeric) ;
-    ASSERT (Numeric && Xx && Bx && Pattern && SolveWork && Info) ;
-#endif
-
-    nz = 0 ;
-    omega [0] = 0. ;
-    omega [1] = 0. ;
-    omega [2] = 0. ;
-    Rperm = Numeric->Rperm ;
-    Cperm = Numeric->Cperm ;
-    Rs = Numeric->Rs ;		/* row scale factors */
-    do_scale = (Rs != (double *) NULL) ;
-    flops = 0 ;
-    Info [UMFPACK_SOLVE_FLOPS] = 0 ;
-    Info [UMFPACK_IR_TAKEN] = 0 ;
-    Info [UMFPACK_IR_ATTEMPTED] = 0 ;
-
-    /* UMFPACK_solve does not call this routine if A is rectangular */
-    ASSERT (Numeric->n_row == Numeric->n_col) ;
-    n = Numeric->n_row ;
-    if (Numeric->nnzpiv < n
-	|| SCALAR_IS_ZERO (Numeric->rcond) || SCALAR_IS_NAN (Numeric->rcond))
-    {
-	/* Note that systems involving just L return UMFPACK_OK, even if */
-	/* A is singular (L is always has a unit diagonal). */
-	DEBUGm4 (("Note, matrix is singular in umf_solve\n")) ;
-	status = UMFPACK_WARNING_singular_matrix ;
-	irstep = 0 ;
-    }
-    else
-    {
-	status = UMFPACK_OK ;
-    }
-    irstep = MAX (0, irstep) ;			/* make sure irstep is >= 0 */
-
-    W = (Entry *) SolveWork ;			/* Entry W [0..n-1] */
-
-    Z = (Entry *) NULL ;	/* unused if no iterative refinement */
-    S = (Entry *) NULL ;
-    Y = (double *) NULL ;
-    Z2 = (double *) NULL ;
-    B2 = (double *) NULL ;
-
-#ifdef COMPLEX
-    if (irstep > 0)
-    {
-	if (!Ap || !Ai || !Ax)
-	{
-	    return (UMFPACK_ERROR_argument_missing) ;
-	}
-	/* A, B, and X in split format if Az, Bz, and Xz present */
-	AXsplit = SPLIT (Az) || SPLIT(Xz);
-	Z = (Entry *) (SolveWork + 4*n) ;	/* Entry Z [0..n-1] */
-	S = (Entry *) (SolveWork + 6*n) ;	/* Entry S [0..n-1] */
-	Y = (double *) (SolveWork + 8*n) ;	/* double Y [0..n-1] */
-	B2 = (double *) (SolveWork + 9*n) ;	/* double B2 [0..n-1] */
-	Z2 = (double *) Z ;		/* double Z2 [0..n-1], equiv. to Z */
-    }
-    else
-    {
-      /* A is ignored, only  look at X for split/packed cases */
-      AXsplit = SPLIT(Xz);
-    }
-    Bsplit = SPLIT (Bz);
-
-    if (AXsplit)
-    {
-	X = (Entry *) (SolveWork + 2*n) ;	/* Entry X [0..n-1] */
-    }
-    else
-    {
-	X = (Entry *) Xx ;			/* Entry X [0..n-1] */
-    }
-#else
-    X = (Entry *) Xx ;				/* Entry X [0..n-1] */
-    if (irstep > 0)
-    {
-	if (!Ap || !Ai || !Ax)
-	{
-	    return (UMFPACK_ERROR_argument_missing) ;
-	}
-	Z = (Entry *) (SolveWork + n) ;		/* Entry Z [0..n-1] */
-	S = (Entry *) (SolveWork + 2*n) ;	/* Entry S [0..n-1] */
-	Y = (double *) (SolveWork + 3*n) ;	/* double Y [0..n-1] */
-	B2 = (double *) (SolveWork + 4*n) ;	/* double B2 [0..n-1] */
-	Z2 = (double *) Z ;		/* double Z2 [0..n-1], equiv. to Z */
-    }
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* determine which system to solve */
-    /* ---------------------------------------------------------------------- */
-
-    if (sys == UMFPACK_A)
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* solve A x = b with optional iterative refinement */
-	/* ------------------------------------------------------------------ */
-
-	if (irstep > 0)
-	{
-
-	    /* -------------------------------------------------------------- */
-	    /* using iterative refinement:  compute Y and B2 */
-	    /* -------------------------------------------------------------- */
-
-	    nz = Ap [n] ;
-	    Info [UMFPACK_NZ] = nz ;
-
-	    /* A is stored by column */
-	    /* Y (i) = ||R A_i||, 1-norm of row i of R A */
-	    for (i = 0 ; i < n ; i++)
-	    {
-		Y [i] = 0. ;
-	    }
-	    flops += (ABS_FLOPS + 1) * nz ;
-	    p2 = Ap [n] ;
-	    for (p = 0 ; p < p2 ; p++)
-	    {
-		/* Y [Ai [p]] += ABS (Ax [p]) ; */
-	        ASSIGN (aij, Ax, Az, p, AXsplit) ;
-		ABS (d, aij) ;
-		Y [Ai [p]] += d ;
-	    }
-
-	    /* B2 = abs (B) */
-	    flops += ABS_FLOPS * n ;
-	    for (i = 0 ; i < n ; i++)
-	    {
-		/* B2 [i] = ABS (B [i]) ; */
-		ASSIGN (bi, Bx, Bz, i, Bsplit) ;
-		ABS (B2 [i], bi) ;
-	    }
-
-	    /* scale Y and B2. */
-	    if (do_scale)
-	    {
-		/* Y = R Y */
-		/* B2 = R B2 */
-#ifndef NRECIPROCAL
-		if (do_recip)
-		{
-		    /* multiply by the scale factors */
-		    for (i = 0 ; i < n ; i++)
-		    {
-			Y [i]  *= Rs [i] ;
-			B2 [i] *= Rs [i] ;
-		    }
-		}
-		else
-#endif
-		{
-		    /* divide by the scale factors */
-		    for (i = 0 ; i < n ; i++)
-		    {
-			Y [i]  /= Rs [i] ;
-			B2 [i] /= Rs [i] ;
-		    }
-		}
-
-		flops += 2 * n ;
-	    }
-
-	}
-
-	for (step = 0 ; step <= irstep ; step++)
-	{
-
-	    /* -------------------------------------------------------------- */
-	    /* Solve A x = b (step 0): */
-	    /*  x = Q (U \ (L \ (P R b))) */
-	    /* and then perform iterative refinement (step > 0): */
-	    /*  x = x + Q (U \ (L \ (P R (b - A x)))) */
-	    /* -------------------------------------------------------------- */
-
-	    if (step == 0)
-	    {
-		if (do_scale)
-		{
-		    /* W = P R b, using X as workspace, since Z is not
-		     * allocated if irstep = 0. */
-#ifndef NRECIPROCAL
-		    if (do_recip)
-		    {
-			/* multiply by the scale factors */
-			for (i = 0 ; i < n ; i++)
-			{
-			    ASSIGN (X [i], Bx, Bz, i, Bsplit) ;
-			    SCALE (X [i], Rs [i]) ;
-			}
-		    }
-		    else
-#endif
-		    {
-			/* divide by the scale factors */
-			for (i = 0 ; i < n ; i++)
-			{
-			    ASSIGN (X [i], Bx, Bz, i, Bsplit) ;
-			    SCALE_DIV (X [i], Rs [i]) ;
-			}
-		    }
-		    flops += SCALE_FLOPS * n ;
-		    for (i = 0 ; i < n ; i++)
-		    {
-			W [i] = X [Rperm [i]] ;
-		    }
-		}
-		else
-		{
-		    /* W = P b, since the row scaling R = I */
-		    for (i = 0 ; i < n ; i++)
-		    {
-			/* W [i] = B [Rperm [i]] ; */
-			ASSIGN (W [i], Bx, Bz, Rperm [i], Bsplit) ;
-		    }
-		}
-	    }
-	    else
-	    {
-		for (i = 0 ; i < n ; i++)
-		{
-		    /* Z [i] = B [i] ; */
-		    ASSIGN (Z [i], Bx, Bz, i, Bsplit) ;
-		}
-		flops += MULTSUB_FLOPS * nz ;
-		for (i = 0 ; i < n ; i++)
-		{
-		    xi = X [i] ;
-		    p2 = Ap [i+1] ;
-		    for (p = Ap [i] ; p < p2 ; p++)
-		    {
-			/* Z [Ai [p]] -= Ax [p] * xi ; */
-			ASSIGN (aij, Ax, Az, p, AXsplit) ;
-			MULT_SUB (Z [Ai [p]], aij, xi) ;
-		    }
-		}
-		/* scale, Z = R Z */
-		if (do_scale)
-		{
-#ifndef NRECIPROCAL
-		    if (do_recip)
-		    {
-			/* multiply by the scale factors */
-			for (i = 0 ; i < n ; i++)
-			{
-			    SCALE (Z [i], Rs [i]) ;
-			}
-		    }
-		    else
-#endif
-		    {
-			/* divide by the scale factors */
-			for (i = 0 ; i < n ; i++)
-			{
-			    SCALE_DIV (Z [i], Rs [i]) ;
-			}
-		    }
-		    flops += SCALE_FLOPS * n ;
-		}
-		for (i = 0 ; i < n ; i++)
-		{
-		    W [i] = Z [Rperm [i]] ;
-		}
-	    }
-
-	    flops += UMF_lsolve (Numeric, W, Pattern) ;
-	    flops += UMF_usolve (Numeric, W, Pattern) ;
-
-	    if (step == 0)
-	    {
-		for (i = 0 ; i < n ; i++)
-		{
-		    X [Cperm [i]] = W [i] ;
-		}
-	    }
-	    else
-	    {
-		flops += ASSEMBLE_FLOPS * n ;
-		for (i = 0 ; i < n ; i++)
-		{
-		    /* X [Cperm [i]] += W [i] ; */
-		    ASSEMBLE (X [Cperm [i]], W [i]) ;
-		}
-	    }
-
-	    /* -------------------------------------------------------------- */
-	    /* sparse backward error estimate */
-	    /* -------------------------------------------------------------- */
-
-	    if (irstep > 0)
-	    {
-
-		/* ---------------------------------------------------------- */
-		/* A is stored by column */
-		/* W (i) = R (b - A x)_i, residual */
-		/* Z2 (i) = R (|A||x|)_i */
-		/* ---------------------------------------------------------- */
-
-		for (i = 0 ; i < n ; i++)
-		{
-		    /* W [i] = B [i] ; */
-		    ASSIGN (W [i], Bx, Bz, i, Bsplit) ;
-		    Z2 [i] = 0. ;
-		}
-		flops += (MULT_FLOPS + DECREMENT_FLOPS + ABS_FLOPS + 1) * nz ;
-		for (j = 0 ; j < n ; j++)
-		{
-		    xj = X [j] ;
-		    p2 = Ap [j+1] ;
-		    for (p = Ap [j] ; p < p2 ; p++)
-		    {
-			i = Ai [p] ;
-
-			/* axx = Ax [p] * xj ; */
-			ASSIGN (aij, Ax, Az, p, AXsplit) ;
-			MULT (axx, aij, xj) ;
-
-			/* W [i] -= axx ; */
-			DECREMENT (W [i], axx) ;
-
-			/* Z2 [i] += ABS (axx) ; */
-			ABS (d, axx) ;
-			Z2 [i] += d ;
-		    }
-		}
-
-		/* scale W and Z2 */
-		if (do_scale)
-		{
-		    /* Z2 = R Z2 */
-		    /* W = R W */
-#ifndef NRECIPROCAL
-		    if (do_recip)
-		    {
-			/* multiply by the scale factors */
-			for (i = 0 ; i < n ; i++)
-			{
-			    SCALE (W [i], Rs [i]) ;
-			    Z2 [i] *= Rs [i] ;
-			}
-		    }
-		    else
-#endif
-		    {
-			/* divide by the scale factors */
-			for (i = 0 ; i < n ; i++)
-			{
-			    SCALE_DIV (W [i], Rs [i]) ;
-			    Z2 [i] /= Rs [i] ;
-			}
-		    }
-		    flops += (SCALE_FLOPS + 1) * n ;
-		}
-
-		flops += (2*ABS_FLOPS + 5) * n ;
-		if (do_step (omega, step, B2, X, W, Y, Z2, S, n, Info))
-		{
-		    /* iterative refinement is done */
-		    break ;
-		}
-
-	    }
-
-	}
-
-    }
-    else if (sys == UMFPACK_At)
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* solve A' x = b with optional iterative refinement */
-	/* ------------------------------------------------------------------ */
-
-	/* A' is the complex conjugate transpose */
-
-	if (irstep > 0)
-	{
-
-	    /* -------------------------------------------------------------- */
-	    /* using iterative refinement:  compute Y */
-	    /* -------------------------------------------------------------- */
-
-	    nz = Ap [n] ;
-	    Info [UMFPACK_NZ] = nz ;
-
-	    /* A' is stored by row */
-	    /* Y (i) = ||(A' R)_i||, 1-norm of row i of A' R */
-
-	    if (do_scale)
-	    {
-		flops += (ABS_FLOPS + 2) * nz ;
-#ifndef NRECIPROCAL
-		if (do_recip)
-		{
-		    /* multiply by the scale factors */
-		    for (i = 0 ; i < n ; i++)
-		    {
-			yi = 0. ;
-			p2 = Ap [i+1] ;
-			for (p = Ap [i] ; p < p2 ; p++)
-			{
-			    /* yi += ABS (Ax [p]) * Rs [Ai [p]] ; */
-			    /* note that abs (aij) is the same as
-			     * abs (conj (aij)) */
-			    ASSIGN (aij, Ax, Az, p, AXsplit) ;
-			    ABS (d, aij) ;
-			    yi += (d * Rs [Ai [p]]) ;
-			}
-			Y [i] = yi ;
-		    }
-		}
-		else
-#endif
-		{
-		    /* divide by the scale factors */
-		    for (i = 0 ; i < n ; i++)
-		    {
-			yi = 0. ;
-			p2 = Ap [i+1] ;
-			for (p = Ap [i] ; p < p2 ; p++)
-			{
-			    /* yi += ABS (Ax [p]) / Rs [Ai [p]] ; */
-			    /* note that abs (aij) is the same as
-			     * abs (conj (aij)) */
-			    ASSIGN (aij, Ax, Az, p, AXsplit) ;
-			    ABS (d, aij) ;
-			    yi += (d / Rs [Ai [p]]) ;
-			}
-			Y [i] = yi ;
-		    }
-		}
-	    }
-	    else
-	    {
-		/* no scaling */
-		flops += (ABS_FLOPS + 1) * nz ;
-		for (i = 0 ; i < n ; i++)
-		{
-		    yi = 0. ;
-		    p2 = Ap [i+1] ;
-		    for (p = Ap [i] ; p < p2 ; p++)
-		    {
-			/* yi += ABS (Ax [p]) ; */
-			/* note that abs (aij) is the same as
-			 * abs (conj (aij)) */
-			ASSIGN (aij, Ax, Az, p, AXsplit) ;
-			ABS (d, aij) ;
-			yi += d ;
-		    }
-		    Y [i] = yi ;
-		}
-	    }
-
-	    /* B2 = abs (B) */
-	    for (i = 0 ; i < n ; i++)
-	    {
-		/* B2 [i] = ABS (B [i]) ; */
-		ASSIGN (bi, Bx, Bz, i, Bsplit) ;
-		ABS (B2 [i], bi) ;
-	    }
-
-	}
-
-	for (step = 0 ; step <= irstep ; step++)
-	{
-
-	    /* -------------------------------------------------------------- */
-	    /* Solve A' x = b (step 0): */
-	    /*	x = R P' (L' \ (U' \ (Q' b))) */
-	    /* and then perform iterative refinement (step > 0): */
-	    /*	x = x + R P' (L' \ (U' \ (Q' (b - A' x)))) */
-	    /* -------------------------------------------------------------- */
-
-	    if (step == 0)
-	    {
-		/* W = Q' b */
-		for (i = 0 ; i < n ; i++)
-		{
-		    /* W [i] = B [Cperm [i]] ; */
-		    ASSIGN (W [i], Bx, Bz, Cperm [i], Bsplit) ;
-		}
-	    }
-	    else
-	    {
-		/* Z = b - A' x */
-		for (i = 0 ; i < n ; i++)
-		{
-		    /* Z [i] = B [i] ; */
-		    ASSIGN (Z [i], Bx, Bz, i, Bsplit) ;
-		}
-		flops += MULTSUB_FLOPS * nz ;
-		for (i = 0 ; i < n ; i++)
-		{
-		    zi = Z [i] ;
-		    p2 = Ap [i+1] ;
-		    for (p = Ap [i] ; p < p2 ; p++)
-		    {
-			/* zi -= conjugate (Ax [p]) * X [Ai [p]] ; */
-			ASSIGN (aij, Ax, Az, p, Bsplit) ;
-			MULT_SUB_CONJ (zi, X [Ai [p]], aij) ;
-		    }
-		    Z [i] = zi ;
-		}
-		/* W = Q' Z */
-		for (i = 0 ; i < n ; i++)
-		{
-		    W [i] = Z [Cperm [i]] ;
-		}
-	    }
-
-	    flops += UMF_uhsolve (Numeric, W, Pattern) ;
-	    flops += UMF_lhsolve (Numeric, W, Pattern) ;
-
-	    if (step == 0)
-	    {
-
-		/* X = R P' W */
-		/* do not use Z, since it isn't allocated if irstep = 0 */
-
-		/* X = P' W */
-		for (i = 0 ; i < n ; i++)
-		{
-		    X [Rperm [i]] = W [i] ;
-		}
-		if (do_scale)
-		{
-		    /* X = R X */
-#ifndef NRECIPROCAL
-		    if (do_recip)
-		    {
-			/* multiply by the scale factors */
-			for (i = 0 ; i < n ; i++)
-			{
-			    SCALE (X [i], Rs [i]) ;
-			}
-		    }
-		    else
-#endif
-		    {
-			/* divide by the scale factors */
-			for (i = 0 ; i < n ; i++)
-			{
-			    SCALE_DIV (X [i], Rs [i]) ;
-			}
-		    }
-		    flops += SCALE_FLOPS * n ;
-		}
-
-	    }
-	    else
-	    {
-
-		/* Z = P' W */
-		for (i = 0 ; i < n ; i++)
-		{
-		    Z [Rperm [i]] = W [i] ;
-		}
-		if (do_scale)
-		{
-		    /* Z = R Z */
-#ifndef NRECIPROCAL
-		    if (do_recip)
-		    {
-			/* multiply by the scale factors */
-			for (i = 0 ; i < n ; i++)
-			{
-			    SCALE (Z [i], Rs [i]) ;
-			}
-		    }
-		    else
-#endif
-		    {
-			/* divide by the scale factors */
-			for (i = 0 ; i < n ; i++)
-			{
-			    SCALE_DIV (Z [i], Rs [i]) ;
-			}
-		    }
-		    flops += SCALE_FLOPS * n ;
-		}
-
-		flops += ASSEMBLE_FLOPS * n ;
-		/* X += Z */
-		for (i = 0 ; i < n ; i++)
-		{
-		    /* X [i] += Z [i] ; was +=W[i] in v4.3, which is wrong */
-		    ASSEMBLE (X [i], Z [i]) ;	/* bug fix, v4.3.1 */
-		}
-	    }
-
-	    /* -------------------------------------------------------------- */
-	    /* sparse backward error estimate */
-	    /* -------------------------------------------------------------- */
-
-	    if (irstep > 0)
-	    {
-
-		/* ---------------------------------------------------------- */
-		/* A' is stored by row */
-		/* W (i) = (b - A' x)_i, residual */
-		/* Z2 (i) = (|A'||x|)_i */
-		/* ---------------------------------------------------------- */
-
-		flops += (MULT_FLOPS + DECREMENT_FLOPS + ABS_FLOPS + 1) * nz ;
-		for (i = 0 ; i < n ; i++)
-		{
-		    /* wi = B [i] ; */
-		    ASSIGN (wi, Bx, Bz, i, Bsplit) ;
-		    z2i = 0. ;
-		    p2 = Ap [i+1] ;
-		    for (p = Ap [i] ; p < p2 ; p++)
-		    {
-			/* axx = conjugate (Ax [p]) * X [Ai [p]] ; */
-			ASSIGN (aij, Ax, Az, p, AXsplit) ;
-			MULT_CONJ (axx, X [Ai [p]], aij) ;
-
-			/* wi -= axx ; */
-			DECREMENT (wi, axx) ;
-
-			/* z2i += ABS (axx) ; */
-			ABS (d, axx) ;
-			z2i += d ;
-		    }
-		    W [i] = wi ;
-		    Z2 [i] = z2i ;
-		}
-
-		flops += (2*ABS_FLOPS + 5) * n ;
-		if (do_step (omega, step, B2, X, W, Y, Z2, S, n, Info))
-		{
-		    /* iterative refinement is done */
-		    break ;
-		}
-
-	    }
-
-	}
-
-    }
-    else if (sys == UMFPACK_Aat)
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* solve A.' x = b with optional iterative refinement */
-	/* ------------------------------------------------------------------ */
-
-	/* A' is the array transpose */
-
-	if (irstep > 0)
-	{
-
-	    /* -------------------------------------------------------------- */
-	    /* using iterative refinement:  compute Y */
-	    /* -------------------------------------------------------------- */
-
-	    nz = Ap [n] ;
-	    Info [UMFPACK_NZ] = nz ;
-
-	    /* A.' is stored by row */
-	    /* Y (i) = ||(A.' R)_i||, 1-norm of row i of A.' R */
-
-	    if (do_scale)
-	    {
-		flops += (ABS_FLOPS + 2) * nz ;
-#ifndef NRECIPROCAL
-		if (do_recip)
-		{
-		    /* multiply by the scale factors */
-		    for (i = 0 ; i < n ; i++)
-		    {
-			yi = 0. ;
-			p2 = Ap [i+1] ;
-			for (p = Ap [i] ; p < p2 ; p++)
-			{
-			    /* yi += ABS (Ax [p]) * Rs [Ai [p]] ; */
-			    /* note that A.' is the array transpose,
-			     * so no conjugate */
-			    ASSIGN (aij, Ax, Az, p, AXsplit) ;
-			    ABS (d, aij) ;
-			    yi += (d * Rs [Ai [p]]) ;
-			}
-			Y [i] = yi ;
-		    }
-		}
-		else
-#endif
-		{
-		    /* divide by the scale factors */
-		    for (i = 0 ; i < n ; i++)
-		    {
-			yi = 0. ;
-			p2 = Ap [i+1] ;
-			for (p = Ap [i] ; p < p2 ; p++)
-			{
-			    /* yi += ABS (Ax [p]) / Rs [Ai [p]] ; */
-			    /* note that A.' is the array transpose,
-			     * so no conjugate */
-			    ASSIGN (aij, Ax, Az, p, AXsplit) ;
-			    ABS (d, aij) ;
-			    yi += (d / Rs [Ai [p]]) ;
-			}
-			Y [i] = yi ;
-		    }
-		}
-	    }
-	    else
-	    {
-		/* no scaling */
-		flops += (ABS_FLOPS + 1) * nz ;
-		for (i = 0 ; i < n ; i++)
-		{
-		    yi = 0. ;
-		    p2 = Ap [i+1] ;
-		    for (p = Ap [i] ; p < p2 ; p++)
-		    {
-			/* yi += ABS (Ax [p]) */
-			/* note that A.' is the array transpose,
-			 * so no conjugate */
-			ASSIGN (aij, Ax, Az, p, AXsplit) ;
-			ABS (d, aij) ;
-			yi += d ;
-		    }
-		    Y [i] = yi ;
-		}
-	    }
-
-	    /* B2 = abs (B) */
-	    for (i = 0 ; i < n ; i++)
-	    {
-		/* B2 [i] = ABS (B [i]) ; */
-		ASSIGN (bi, Bx, Bz, i, Bsplit) ;
-		ABS (B2 [i], bi) ;
-	    }
-
-	}
-
-	for (step = 0 ; step <= irstep ; step++)
-	{
-
-	    /* -------------------------------------------------------------- */
-	    /* Solve A.' x = b (step 0): */
-	    /*	x = R P' (L.' \ (U.' \ (Q' b))) */
-	    /* and then perform iterative refinement (step > 0): */
-	    /*	x = x + R P' (L.' \ (U.' \ (Q' (b - A.' x)))) */
-	    /* -------------------------------------------------------------- */
-
-	    if (step == 0)
-	    {
-		/* W = Q' b */
-		for (i = 0 ; i < n ; i++)
-		{
-		    /* W [i] = B [Cperm [i]] ; */
-		    ASSIGN (W [i], Bx, Bz, Cperm [i], Bsplit) ;
-		}
-	    }
-	    else
-	    {
-		/* Z = b - A.' x */
-		for (i = 0 ; i < n ; i++)
-		{
-		    /* Z [i] = B [i] ; */
-		    ASSIGN (Z [i], Bx, Bz, i, Bsplit) ;
-		}
-		flops += MULTSUB_FLOPS * nz ;
-		for (i = 0 ; i < n ; i++)
-		{
-		    zi = Z [i] ;
-		    p2 = Ap [i+1] ;
-		    for (p = Ap [i] ; p < p2 ; p++)
-		    {
-			/* zi -= Ax [p] * X [Ai [p]] ; */
-			ASSIGN (aij, Ax, Az, p, AXsplit) ;
-			MULT_SUB (zi, aij, X [Ai [p]]) ;
-		    }
-		    Z [i] = zi ;
-		}
-		/* W = Q' Z */
-		for (i = 0 ; i < n ; i++)
-		{
-		    W [i] = Z [Cperm [i]] ;
-		}
-	    }
-
-	    flops += UMF_utsolve (Numeric, W, Pattern) ;
-	    flops += UMF_ltsolve (Numeric, W, Pattern) ;
-
-	    if (step == 0)
-	    {
-
-		/* X = R P' W */
-		/* do not use Z, since it isn't allocated if irstep = 0 */
-
-		/* X = P' W */
-		for (i = 0 ; i < n ; i++)
-		{
-		    X [Rperm [i]] = W [i] ;
-		}
-		if (do_scale)
-		{
-		    /* X = R X */
-#ifndef NRECIPROCAL
-		    if (do_recip)
-		    {
-			/* multiply by the scale factors */
-			for (i = 0 ; i < n ; i++)
-			{
-			    SCALE (X [i], Rs [i]) ;
-			}
-		    }
-		    else
-#endif
-		    {
-			/* divide by the scale factors */
-			for (i = 0 ; i < n ; i++)
-			{
-			    SCALE_DIV (X [i], Rs [i]) ;
-			}
-		    }
-		    flops += SCALE_FLOPS * n ;
-		}
-
-	    }
-	    else
-	    {
-
-		/* Z = P' W */
-		for (i = 0 ; i < n ; i++)
-		{
-		    Z [Rperm [i]] = W [i] ;
-		}
-		if (do_scale)
-		{
-		    /* Z = R Z */
-#ifndef NRECIPROCAL
-		    if (do_recip)
-		    {
-			/* multiply by the scale factors */
-			for (i = 0 ; i < n ; i++)
-			{
-			    SCALE (Z [i], Rs [i]) ;
-			}
-		    }
-		    else
-#endif
-		    {
-			/* divide by the scale factors */
-			for (i = 0 ; i < n ; i++)
-			{
-			    SCALE_DIV (Z [i], Rs [i]) ;
-			}
-		    }
-		    flops += SCALE_FLOPS * n ;
-		}
-
-		flops += ASSEMBLE_FLOPS * n ;
-		/* X += Z */
-		for (i = 0 ; i < n ; i++)
-		{
-		    /* X [i] += Z [i] ; was +=W[i] in v4.3, which is wrong */
-		    ASSEMBLE (X [i], Z [i]) ;	/* bug fix, v4.3.1 */
-		}
-	    }
-
-	    /* -------------------------------------------------------------- */
-	    /* sparse backward error estimate */
-	    /* -------------------------------------------------------------- */
-
-	    if (irstep > 0)
-	    {
-
-		/* ---------------------------------------------------------- */
-		/* A.' is stored by row */
-		/* W (i) = (b - A.' x)_i, residual */
-		/* Z (i) = (|A.'||x|)_i */
-		/* ---------------------------------------------------------- */
-
-		flops += (MULT_FLOPS + DECREMENT_FLOPS + ABS_FLOPS + 1) * nz ;
-		for (i = 0 ; i < n ; i++)
-		{
-		    /* wi = B [i] ; */
-		    ASSIGN (wi, Bx, Bz, i, Bsplit) ;
-		    z2i = 0. ;
-		    p2 = Ap [i+1] ;
-		    for (p = Ap [i] ; p < p2 ; p++)
-		    {
-			/* axx = Ax [p] * X [Ai [p]] ; */
-			ASSIGN (aij, Ax, Az, p, AXsplit) ;
-			MULT (axx, aij, X [Ai [p]]) ;
-
-			/* wi -= axx ; */
-			DECREMENT (wi, axx) ;
-
-			/* z2i += ABS (axx) ; */
-			ABS (d, axx) ;
-			z2i += d ;
-		    }
-		    W [i] = wi ;
-		    Z2 [i] = z2i ;
-		}
-
-		flops += (2*ABS_FLOPS + 5) * n ;
-		if (do_step (omega, step, B2, X, W, Y, Z2, S, n, Info))
-		{
-		    /* iterative refinement is done */
-		    break ;
-		}
-
-	    }
-
-	}
-
-    }
-    else if (sys == UMFPACK_Pt_L)
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* Solve P'Lx=b:  x = L \ Pb */
-	/* ------------------------------------------------------------------ */
-
-	for (i = 0 ; i < n ; i++)
-	{
-	    /* X [i] = B [Rperm [i]] ; */
-	    ASSIGN (X [i], Bx, Bz, Rperm [i], Bsplit) ;
-	}
-	flops = UMF_lsolve (Numeric, X, Pattern) ;
-	status = UMFPACK_OK ;
-
-    }
-    else if (sys == UMFPACK_L)
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* Solve Lx=b:  x = L \ b */
-	/* ------------------------------------------------------------------ */
-
-	for (i = 0 ; i < n ; i++)
-	{
-	    /* X [i] = B [i] ; */
-	    ASSIGN (X [i], Bx, Bz, i, Bsplit) ;
-	}
-	flops = UMF_lsolve (Numeric, X, Pattern) ;
-	status = UMFPACK_OK ;
-
-    }
-    else if (sys == UMFPACK_Lt_P)
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* Solve L'Px=b:  x = P' (L' \ b) */
-	/* ------------------------------------------------------------------ */
-
-	for (i = 0 ; i < n ; i++)
-	{
-	    /* W [i] = B [i] ; */
-	    ASSIGN (W [i], Bx, Bz, i, Bsplit) ;
-	}
-	flops = UMF_lhsolve (Numeric, W, Pattern) ;
-	for (i = 0 ; i < n ; i++)
-	{
-	    X [Rperm [i]] = W [i] ;
-	}
-	status = UMFPACK_OK ;
-
-    }
-    else if (sys == UMFPACK_Lat_P)
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* Solve L.'Px=b:  x = P' (L.' \ b) */
-	/* ------------------------------------------------------------------ */
-
-	for (i = 0 ; i < n ; i++)
-	{
-	    /* W [i] = B [i] ; */
-	    ASSIGN (W [i], Bx, Bz, i, Bsplit) ;
-	}
-	flops = UMF_ltsolve (Numeric, W, Pattern) ;
-	for (i = 0 ; i < n ; i++)
-	{
-	    X [Rperm [i]] = W [i] ;
-	}
-	status = UMFPACK_OK ;
-
-    }
-    else if (sys == UMFPACK_Lt)
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* Solve L'x=b:  x = L' \ b */
-	/* ------------------------------------------------------------------ */
-
-	for (i = 0 ; i < n ; i++)
-	{
-	    /* X [i] = B [i] ; */
-	    ASSIGN (X [i], Bx, Bz, i, Bsplit) ;
-	}
-	flops = UMF_lhsolve (Numeric, X, Pattern) ;
-	status = UMFPACK_OK ;
-
-    }
-    else if (sys == UMFPACK_Lat)
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* Solve L.'x=b:  x = L.' \ b */
-	/* ------------------------------------------------------------------ */
-
-	for (i = 0 ; i < n ; i++)
-	{
-	    /* X [i] = B [i] ; */
-	    ASSIGN (X [i], Bx, Bz, i, Bsplit) ;
-	}
-	flops = UMF_ltsolve (Numeric, X, Pattern) ;
-	status = UMFPACK_OK ;
-
-    }
-    else if (sys == UMFPACK_U_Qt)
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* Solve UQ'x=b:  x = Q (U \ b) */
-	/* ------------------------------------------------------------------ */
-
-	for (i = 0 ; i < n ; i++)
-	{
-	    /* W [i] = B [i] ; */
-	    ASSIGN (W [i], Bx, Bz, i, Bsplit) ;
-	}
-	flops = UMF_usolve (Numeric, W, Pattern) ;
-	for (i = 0 ; i < n ; i++)
-	{
-	    X [Cperm [i]] = W [i] ;
-	}
-
-    }
-    else if (sys == UMFPACK_U)
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* Solve Ux=b:  x = U \ b */
-	/* ------------------------------------------------------------------ */
-
-	for (i = 0 ; i < n ; i++)
-	{
-	    /* X [i] = B [i] ; */
-	    ASSIGN (X [i], Bx, Bz, i, Bsplit) ;
-	}
-	flops = UMF_usolve (Numeric, X, Pattern) ;
-
-    }
-    else if (sys == UMFPACK_Q_Ut)
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* Solve QU'x=b:  x = U' \ Q'b */
-	/* ------------------------------------------------------------------ */
-
-	for (i = 0 ; i < n ; i++)
-	{
-	    /* X [i] = B [Cperm [i]] ; */
-	    ASSIGN (X [i], Bx, Bz, Cperm [i], Bsplit) ;
-	}
-	flops = UMF_uhsolve (Numeric, X, Pattern) ;
-
-    }
-    else if (sys == UMFPACK_Q_Uat)
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* Solve QU.'x=b:  x = U.' \ Q'b */
-	/* ------------------------------------------------------------------ */
-
-	for (i = 0 ; i < n ; i++)
-	{
-	    /* X [i] = B [Cperm [i]] ; */
-	    ASSIGN (X [i], Bx, Bz, Cperm [i], Bsplit) ;
-	}
-	flops = UMF_utsolve (Numeric, X, Pattern) ;
-
-    }
-    else if (sys == UMFPACK_Ut)
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* Solve U'x=b:  x = U' \ b */
-	/* ------------------------------------------------------------------ */
-
-	for (i = 0 ; i < n ; i++)
-	{
-	    /* X [i] = B [i] ; */
-	  ASSIGN (X [i], Bx, Bz, i, Bsplit) ;
-	}
-	flops = UMF_uhsolve (Numeric, X, Pattern) ;
-
-    }
-    else if (sys == UMFPACK_Uat)
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* Solve U'x=b:  x = U' \ b */
-	/* ------------------------------------------------------------------ */
-
-	for (i = 0 ; i < n ; i++)
-	{
-	    /* X [i] = B [i] ; */
-	    ASSIGN (X [i], Bx, Bz, i, Bsplit) ;
-	}
-	flops = UMF_utsolve (Numeric, X, Pattern) ;
-
-    }
-    else
-    {
-	return (UMFPACK_ERROR_invalid_system) ;
-    }
-
-#ifdef COMPLEX
-    /* copy the solution back, from Entry X [ ] to double Xx [ ] and Xz [ ] */
-    if (AXsplit)
-    {
-	for (i = 0 ; i < n ; i++)
-	{
-	    Xx [i] = REAL_COMPONENT (X [i]) ;
-	    Xz [i] = IMAG_COMPONENT (X [i]) ;
-	}
-    }
-#endif
-
-    /* return UMFPACK_OK, or UMFPACK_WARNING_singular_matrix */
-    /* Note that systems involving just L will return UMFPACK_OK */
-    Info [UMFPACK_SOLVE_FLOPS] = flops ;
-    return (status) ;
-}
-
-
-/* ========================================================================== */
-/* === do_step ============================================================== */
-/* ========================================================================== */
-
-/* Perform one step of iterative refinement, for A x = b or A' x = b */
-
-PRIVATE Int do_step		/* return TRUE if iterative refinement done */
-(
-    double omega [3],
-    Int step,			/* which step of iterative refinement to do */
-    const double B2 [ ],	/* abs (B) */
-    Entry X [ ],
-    const Entry W [ ],
-    const double Y [ ],
-    const double Z2 [ ],
-    Entry S [ ],
-    Int n,
-    double Info [UMFPACK_INFO]
-)
-{
-    double last_omega [3], tau, nctau, d1, wd1, d2, wd2, xi, yix, wi, xnorm ;
-    Int i ;
-
-    /* DBL_EPSILON is a standard ANSI C term defined in <float.h> */
-    /* It is the smallest positive x such that 1.0+x != 1.0 */
-
-    nctau = 1000 * n * DBL_EPSILON ;
-    DEBUG0 (("do_step start: nctau = %30.20e\n", nctau)) ;
-    ASSERT (UMF_report_vector (n, (double *) X, (double *) NULL, UMF_debug,
-	FALSE, FALSE) == UMFPACK_OK) ;
-
-    /* for approximate flop count, assume d1 > tau is always true */
-    /* flops += (2*ABS_FLOPS + 5) * n ; (done in UMF_solve, above) */
-
-    /* ---------------------------------------------------------------------- */
-    /* save the last iteration in case we need to reinstate it */
-    /* ---------------------------------------------------------------------- */
-
-    last_omega [0] = omega [0] ;
-    last_omega [1] = omega [1] ;
-    last_omega [2] = omega [2] ;
-
-    /* ---------------------------------------------------------------------- */
-    /* compute sparse backward errors: omega [1] and omega [2] */
-    /* ---------------------------------------------------------------------- */
-
-    /* xnorm = ||x|| maxnorm */
-    xnorm = 0.0 ;
-    for (i = 0 ; i < n ; i++)
-    {
-	/* xi = ABS (X [i]) ; */
-	ABS (xi, X [i]) ;
-	if (SCALAR_IS_NAN (xi))
-	{
-	    xnorm = xi ;
-	    break ;
-	}
-	/* no NaN's to consider here: */
-	xnorm = MAX (xnorm, xi) ;
-    }
-
-    omega [1] = 0. ;
-    omega [2] = 0. ;
-    for (i = 0 ; i < n ; i++)
-    {
-	yix = Y [i] * xnorm ;
-	tau = (yix + B2 [i]) * nctau ;
-	d1 = Z2 [i] + B2 [i] ;
-	/* wi = ABS (W [i]) ; */
-	ABS (wi, W [i]) ;
-	if (SCALAR_IS_NAN (d1))
-	{
-	    omega [1] = d1 ;
-	    omega [2] = d1 ;
-	    break ;
-	}
-	if (SCALAR_IS_NAN (tau))
-	{
-	    omega [1] = tau ;
-	    omega [2] = tau ;
-	    break ;
-	}
-	if (d1 > tau)		/* a double relop, but no NaN's here */
-	{
-	    wd1 = wi / d1 ;
-	    omega [1] = MAX (omega [1], wd1) ;
-	}
-	else if (tau > 0.0)	/* a double relop, but no NaN's here */
-	{
-	    d2 = Z2 [i] + yix ;
-	    wd2 = wi / d2 ;
-	    omega [2] = MAX (omega [2], wd2) ;
-	}
-    }
-
-    omega [0] = omega [1] + omega [2] ;
-    Info [UMFPACK_OMEGA1] = omega [1] ;
-    Info [UMFPACK_OMEGA2] = omega [2] ;
-
-    /* ---------------------------------------------------------------------- */
-    /* stop the iterations if the backward error is small, or NaN */
-    /* ---------------------------------------------------------------------- */
-
-    Info [UMFPACK_IR_TAKEN] = step ;
-    Info [UMFPACK_IR_ATTEMPTED] = step ;
-
-    if (SCALAR_IS_NAN (omega [0]))
-    {
-	DEBUG0 (("omega[0] is NaN - done.\n")) ;
-	ASSERT (UMF_report_vector (n, (double *) X, (double *) NULL, UMF_debug,
-	    FALSE, FALSE) == UMFPACK_OK) ;
-	return (TRUE) ;
-    }
-
-    if (omega [0] < DBL_EPSILON)    /* double relop, but no NaN case here */
-    {
-	DEBUG0 (("omega[0] too small - done.\n")) ;
-	ASSERT (UMF_report_vector (n, (double *) X, (double *) NULL, UMF_debug,
-	    FALSE, FALSE) == UMFPACK_OK) ;
-	return (TRUE) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* stop if insufficient decrease in omega */
-    /* ---------------------------------------------------------------------- */
-
-    /* double relop, but no NaN case here: */
-    if (step > 0 && omega [0] > last_omega [0] / 2)
-    {
-	DEBUG0 (("stop refinement\n")) ;
-	if (omega [0] > last_omega [0])
-	{
-	    /* last iteration better than this one, reinstate it */
-	    DEBUG0 (("last iteration better\n")) ;
-	    for (i = 0 ; i < n ; i++)
-	    {
-		X [i] = S [i] ;
-	    }
-	    Info [UMFPACK_OMEGA1] = last_omega [1] ;
-	    Info [UMFPACK_OMEGA2] = last_omega [2] ;
-	}
-	Info [UMFPACK_IR_TAKEN] = step - 1 ;
-	ASSERT (UMF_report_vector (n, (double *) X, (double *) NULL, UMF_debug,
-	    FALSE, FALSE) == UMFPACK_OK) ;
-	return (TRUE) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* save current solution in case we need to reinstate */
-    /* ---------------------------------------------------------------------- */
-
-    for (i = 0 ; i < n ; i++)
-    {
-	S [i] = X [i] ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* iterative refinement continues */
-    /* ---------------------------------------------------------------------- */
-
-    ASSERT (UMF_report_vector (n, (double *) X, (double *) NULL, UMF_debug,
-	FALSE, FALSE) == UMFPACK_OK) ;
-    return (FALSE) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_solve.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL Int UMF_solve
-(
-    Int sys,
-    const Int Ap [ ],
-    const Int Ai [ ],
-    const double Ax [ ],
-    double Xx [ ],
-    const double Bx [ ],
-#ifdef COMPLEX
-    const double Az [ ],
-    double Xz [ ],
-    const double Bz [ ],
-#endif
-    NumericType *Numeric,
-    Int irstep,
-    double Info [UMFPACK_INFO],
-    Int Pattern [ ],
-    double SolveWork [ ]
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_start_front.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,283 +0,0 @@
-/* ========================================================================== */
-/* === UMF_start_front ====================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/* Allocate the initial frontal matrix working array for a single chain.  The
- * front does not have to be big enough, since if it's too small it will get
- * reallocated.  The size computed here is just an estimate. */
-
-#include "umf_internal.h"
-#include "umf_grow_front.h"
-
-GLOBAL Int UMF_start_front    /* returns TRUE if successful, FALSE otherwise */
-(
-    Int chain,
-    NumericType *Numeric,
-    WorkType *Work,
-    SymbolicType *Symbolic
-)
-{
-    double maxbytes ;
-    Int fnrows_max, fncols_max, fnr2, fnc2, fsize, fcurr_size, maxfrsize,
-	overflow, nb, f, cdeg ;
-
-    nb = Symbolic->nb ;
-    fnrows_max = Symbolic->Chain_maxrows [chain] ;
-    fncols_max = Symbolic->Chain_maxcols [chain] ;
-
-    DEBUGm2 (("Start Front for chain "ID".  fnrows_max "ID" fncols_max "ID"\n",
-	chain, fnrows_max, fncols_max)) ;
-
-    Work->fnrows_max = fnrows_max ;
-    Work->fncols_max = fncols_max ;
-    Work->any_skip = FALSE ;
-
-    maxbytes = sizeof (Entry) *
-	(double) (fnrows_max + nb) * (double) (fncols_max + nb) ;
-    fcurr_size = Work->fcurr_size ;
-
-    if (Symbolic->prefer_diagonal)
-    {
-	/* Get a rough upper bound on the degree of the first pivot column in
-	 * this front.  Note that Col_degree is not maintained if diagonal
-	 * pivoting is preferred.  For most matrices, the first pivot column
-	 * of the first frontal matrix of a new chain has only one tuple in
-	 * it anyway, so this bound is exact in that case. */
-	Int col, tpi, e, *E, *Col_tuples, *Col_tlen, *Cols ;
-	Tuple *tp, *tpend ;
-	Unit *Memory, *p ;
-	Element *ep ;
-	E = Work->E ;
-	Memory = Numeric->Memory ;
-	Col_tuples = Numeric->Lip ;
-	Col_tlen = Numeric->Lilen ;
-	col = Work->nextcand ;
-	tpi = Col_tuples [col] ;
-	tp = (Tuple *) Memory + tpi ;
-	tpend = tp + Col_tlen [col] ;
-	cdeg = 0 ;
-	DEBUGm3 (("\n=============== start front: col "ID" tlen "ID"\n",
-		col, Col_tlen [col])) ;
-	for ( ; tp < tpend ; tp++)
-	{
-	    DEBUG1 (("Tuple ("ID","ID")\n", tp->e, tp->f)) ;
-	    e = tp->e ;
-	    if (!E [e]) continue ;
-	    f = tp->f ;
-	    p = Memory + E [e] ;
-	    ep = (Element *) p ;
-	    p += UNITS (Element, 1) ;
-	    Cols = (Int *) p ;
-	    if (Cols [f] == EMPTY) continue ;
-	    DEBUG1 (("  nrowsleft "ID"\n", ep->nrowsleft)) ;
-	    cdeg += ep->nrowsleft ;
-	}
-#ifndef NDEBUG
-	DEBUGm3 (("start front cdeg: "ID" col "ID"\n", cdeg, col)) ;
-	UMF_dump_rowcol (1, Numeric, Work, col, FALSE) ;
-#endif
-
-	/* cdeg is now the rough upper bound on the degree of the next pivot
-	 * column. */
-
-	/* If AMD was called, we know the maximum number of nonzeros in any
-	 * column of L.  Use this as an upper bound for cdeg, but add 2 to
-	 * account for a small amount of off-diagonal pivoting. */
-	if (Symbolic->amd_dmax > 0)
-	{
-	    cdeg = MIN (cdeg, Symbolic->amd_dmax) ;
-	}
-
-	/* Increase it to account for larger columns later on.
-	 * Also ensure that it's larger than zero. */
-	cdeg += 2 ;
-
-	/* cdeg cannot be larger than fnrows_max */
-	cdeg = MIN (cdeg, fnrows_max) ;
-
-    }
-    else
-    {
-	/* don't do the above cdeg computation */
-	cdeg = 0 ;
-    }
-
-    DEBUGm2 (("fnrows max "ID" fncols_max "ID"\n", fnrows_max, fncols_max)) ;
-
-    /* the current frontal matrix is empty */
-    ASSERT (Work->fnrows == 0 && Work->fncols == 0 && Work->fnpiv == 0) ;
-
-    /* maximum row dimension is always odd, to avoid bad cache effects */
-    ASSERT (fnrows_max >= 0) ;
-    ASSERT (fnrows_max % 2 == 1) ;
-
-    /* ----------------------------------------------------------------------
-     * allocate working array for current frontal matrix:
-     * minimum size: 1-by-1
-     * maximum size: fnrows_max-by-fncols_max
-     * desired size:
-     *
-     *   if Numeric->front_alloc_init >= 0:
-     *
-     *	    for unsymmetric matrices:
-     *	    Numeric->front_alloc_init * (fnrows_max-by-fncols_max)
-     *
-     *	    for symmetric matrices (diagonal pivoting preference, actually):
-     *	    Numeric->front_alloc_init * (fnrows_max-by-fncols_max), or
-     *	    cdeg*cdeg, whichever is smaller.
-     *
-     *   if Numeric->front_alloc_init < 0:
-     *	    allocate a front of size -Numeric->front_alloc_init.
-     *
-     * Allocate the whole thing if it's small (less than 2*nb^2).  Make sure the
-     * leading dimension of the frontal matrix is odd.
-     *
-     * Also allocate the nb-by-nb LU block, the dr-by-nb L block, and the
-     * nb-by-dc U block.
-     * ---------------------------------------------------------------------- */
-
-    /* get the maximum front size, avoiding integer overflow */
-    overflow = INT_OVERFLOW (maxbytes) ;
-    if (overflow)
-    {
-	/* :: int overflow, max front size :: */
-	maxfrsize = Int_MAX / sizeof (Entry) ;
-    }
-    else
-    {
-	maxfrsize = (fnrows_max + nb) * (fncols_max + nb) ;
-    }
-    ASSERT (!INT_OVERFLOW ((double) maxfrsize * sizeof (Entry))) ;
-
-    if (Numeric->front_alloc_init < 0)
-    {
-	/* allocate a front of -Numeric->front_alloc_init entries */
-	fsize = -Numeric->front_alloc_init ;
-	fsize = MAX (1, fsize) ;
-    }
-    else
-    {
-	if (INT_OVERFLOW (Numeric->front_alloc_init * maxbytes))
-	{
-	    /* :: int overflow, requested front size :: */
-	    fsize = Int_MAX / sizeof (Entry) ;
-	}
-	else
-	{
-	    fsize = Numeric->front_alloc_init * maxfrsize ;
-	}
-
-	if (cdeg > 0)
-	{
-	    /* diagonal pivoting is in use.  cdeg was computed above */
-	    Int fsize2 ;
-
-	    /* add the L and U blocks */
-	    cdeg += nb ;
-
-	    if (INT_OVERFLOW (((double) cdeg * (double) cdeg) * sizeof (Entry)))
-	    {
-		/* :: int overflow, symmetric front size :: */
-		fsize2 = Int_MAX / sizeof (Entry) ;
-	    }
-	    else
-	    {
-		fsize2 = MAX (cdeg * cdeg, fcurr_size) ;
-	    }
-	    fsize = MIN (fsize, fsize2) ;
-	}
-    }
-
-    fsize = MAX (fsize, 2*nb*nb) ;
-
-    /* fsize and maxfrsize are now safe from integer overflow.  They both
-     * include the size of the pivot blocks. */
-    ASSERT (!INT_OVERFLOW ((double) fsize * sizeof (Entry))) ;
-
-    Work->fnrows_new = 0 ;
-    Work->fncols_new = 0 ;
-
-    /* desired size is fnr2-by-fnc2 (includes L and U blocks): */
-    DEBUGm2 (("    fsize "ID"  fcurr_size "ID"\n", fsize, fcurr_size)) ;
-    DEBUGm2 (("    maxfrsize "ID"  fnr_curr "ID" fnc_curr "ID"\n", maxfrsize,
-	Work->fnr_curr, Work->fnc_curr)) ;
-
-    if (fsize >= maxfrsize && !overflow)
-    {
-	/* max working array is small, allocate all of it */
-	fnr2 = fnrows_max + nb ;
-	fnc2 = fncols_max + nb ;
-	fsize = maxfrsize ;
-	DEBUGm1 (("   sufficient for ("ID"+"ID")-by-("ID"+"ID")\n",
-	    fnrows_max, nb, fncols_max, nb)) ;
-    }
-    else
-    {
-	/* allocate a smaller working array */
-	if (fnrows_max <= fncols_max)
-	{
-	    fnr2 = (Int) sqrt ((double) fsize) ;
-	    /* make sure fnr2 is odd */
-	    fnr2 = MAX (fnr2, 1) ;
-	    if (fnr2 % 2 == 0) fnr2++ ;
-	    fnr2 = MIN (fnr2, fnrows_max + nb) ;
-	    fnc2 = fsize / fnr2 ;
-	}
-	else
-	{
-	    fnc2 = (Int) sqrt ((double) fsize) ;
-	    fnc2 = MIN (fnc2, fncols_max + nb) ;
-	    fnr2 = fsize / fnc2 ;
-	    /* make sure fnr2 is odd */
-	    fnr2 = MAX (fnr2, 1) ;
-	    if (fnr2 % 2 == 0)
-	    {
-		fnr2++ ;
-		fnc2 = fsize / fnr2 ;
-	    }
-	}
-	DEBUGm1 (("   smaller "ID"-by-"ID"\n", fnr2, fnc2)) ;
-    }
-    fnr2 = MIN (fnr2, fnrows_max + nb) ;
-    fnc2 = MIN (fnc2, fncols_max + nb) ;
-    ASSERT (fnr2 % 2 == 1) ;
-    ASSERT (fnr2 * fnc2 <= fsize) ;
-
-    fnr2 -= nb ;
-    fnc2 -= nb ;
-    ASSERT (fnr2 >= 0) ;
-    ASSERT (fnc2 >= 0) ;
-
-    if (fsize > fcurr_size)
-    {
-	DEBUGm1 (("   Grow front \n")) ;
-	Work->do_grow = TRUE ;
-	if (!UMF_grow_front (Numeric, fnr2, fnc2, Work, -1))
-	{
-	    /* since the minimum front size is 1-by-1, it would be nearly
-	     * impossible to run out of memory here. */
-	    DEBUGm4 (("out of memory: start front\n")) ;
-	    return (FALSE) ;
-	}
-    }
-    else
-    {
-	/* use the existing front */
-	DEBUGm1 (("   existing front ok\n")) ;
-	Work->fnr_curr = fnr2 ;
-	Work->fnc_curr = fnc2 ;
-	Work->Flblock  = Work->Flublock + nb * nb ;
-	Work->Fublock  = Work->Flblock  + nb * fnr2 ;
-	Work->Fcblock  = Work->Fublock  + nb * fnc2 ;
-    }
-    ASSERT (Work->Flblock  == Work->Flublock + Work->nb*Work->nb) ;
-    ASSERT (Work->Fublock  == Work->Flblock  + Work->fnr_curr*Work->nb) ;
-    ASSERT (Work->Fcblock  == Work->Fublock  + Work->nb*Work->fnc_curr) ;
-    return (TRUE) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_start_front.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,13 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL Int UMF_start_front
-(
-    Int chain,
-    NumericType *Numeric,
-    WorkType *Work,
-    SymbolicType *Symbolic
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_store_lu.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1056 +0,0 @@
-/* ========================================================================== */
-/* === UMF_store_lu ========================================================= */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    Store the LU factors.  Called by the kernel.
-    Returns TRUE if successful, FALSE if out of memory.
-*/
-
-#include "umf_internal.h"
-#include "umf_mem_alloc_head_block.h"
-#include "umf_get_memory.h"
-
-/* ========================================================================== */
-
-#ifdef DROP
-GLOBAL Int UMF_store_lu_drop
-#else
-GLOBAL Int UMF_store_lu
-#endif
-(
-    NumericType *Numeric,
-    WorkType *Work
-)
-{
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    Entry pivot_value ;
-#ifdef DROP
-    double droptol ;
-#endif
-    Entry *D, *Lval, *Uval, *Fl1, *Fl2, *Fu1, *Fu2,
-	*Flublock, *Flblock, *Fublock ;
-    Int i, k, fnr_curr, fnrows, fncols, row, col, pivrow, pivcol, *Frows,
-	*Fcols, *Lpattern, *Upattern, *Lpos, *Upos, llen, ulen, fnc_curr, fnpiv,
-	uilen, lnz, unz, nb, *Lilen,
-	*Uilen, *Lip, *Uip, *Li, *Ui, pivcol_position, newLchain, newUchain,
-	pivrow_position, p, size, lip, uip, lnzi, lnzx, unzx, lnz2i, lnz2x,
-	unz2i, unz2x, zero_pivot, *Pivrow, *Pivcol, kk,
-	Lnz [MAXNB] ;
-
-#ifndef NDEBUG
-    Int *Col_degree, *Row_degree ;
-#endif
-
-#ifdef DROP
-    Int all_lnz, all_unz ;
-    droptol = Numeric->droptol ;
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* get parameters */
-    /* ---------------------------------------------------------------------- */
-
-    fnrows = Work->fnrows ;
-    fncols = Work->fncols ;
-    fnpiv = Work->fnpiv ;
-
-    Lpos = Numeric->Lpos ;
-    Upos = Numeric->Upos ;
-    Lilen = Numeric->Lilen ;
-    Uilen = Numeric->Uilen ;
-
-    Lip = Numeric->Lip ;
-    Uip = Numeric->Uip ;
-    D = Numeric->D ;
-
-    Flublock = Work->Flublock ;
-    Flblock  = Work->Flblock ;
-    Fublock  = Work->Fublock ;
-
-    fnr_curr = Work->fnr_curr ;
-    fnc_curr = Work->fnc_curr ;
-    Frows = Work->Frows ;
-    Fcols = Work->Fcols ;
-
-#ifndef NDEBUG
-    Col_degree = Numeric->Cperm ;	/* for NON_PIVOTAL_COL macro */
-    Row_degree = Numeric->Rperm ;	/* for NON_PIVOTAL_ROW macro */
-#endif
-
-    Lpattern = Work->Lpattern ;
-    llen = Work->llen ;
-    Upattern = Work->Upattern ;
-    ulen = Work->ulen ;
-
-    nb = Work->nb ;
-
-#ifndef NDEBUG
-    DEBUG1 (("\nSTORE LU: fnrows "ID
-	" fncols "ID"\n", fnrows, fncols)) ;
-
-    DEBUG2 (("\nFrontal matrix, including all space:\n"
-		"fnr_curr "ID" fnc_curr "ID" nb    "ID"\n"
-		"fnrows   "ID" fncols   "ID" fnpiv "ID"\n",
-		fnr_curr, fnc_curr, nb, fnrows, fncols, fnpiv)) ;
-
-    DEBUG2 (("\nJust the active part:\n")) ;
-    DEBUG7 (("C  block: ")) ;
-    UMF_dump_dense (Work->Fcblock,  fnr_curr, fnrows, fncols) ;
-    DEBUG7 (("L  block: ")) ;
-    UMF_dump_dense (Work->Flblock,  fnr_curr, fnrows, fnpiv);
-    DEBUG7 (("U' block: ")) ;
-    UMF_dump_dense (Work->Fublock,  fnc_curr, fncols, fnpiv) ;
-    DEBUG7 (("LU block: ")) ;
-    UMF_dump_dense (Work->Flublock, nb, fnpiv, fnpiv) ;
-    DEBUG7 (("Current frontal matrix: (prior to store LU)\n")) ;
-    UMF_dump_current_front (Numeric, Work, TRUE) ;
-#endif
-
-    Pivrow = Work->Pivrow ;
-    Pivcol = Work->Pivcol ;
-
-    /* ---------------------------------------------------------------------- */
-    /* store the columns of L */
-    /* ---------------------------------------------------------------------- */
-
-    for (kk = 0 ; kk < fnpiv ; kk++)
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* one more pivot row and column is being stored into L and U */
-	/* ------------------------------------------------------------------ */
-
-	k = Work->npiv + kk ;
-
-	/* ------------------------------------------------------------------ */
-	/* find the kth pivot row and pivot column */
-	/* ------------------------------------------------------------------ */
-
-	pivrow = Pivrow [kk] ;
-	pivcol = Pivcol [kk] ;
-
-#ifndef NDEBUG
-	ASSERT (pivrow >= 0 && pivrow < Work->n_row) ;
-	ASSERT (pivcol >= 0 && pivcol < Work->n_col) ;
-
-	DEBUGm4 ((
-	"\n -------------------------------------------------------------"
-	"Store LU: step " ID"\n", k))  ;
-	ASSERT (k < MIN (Work->n_row, Work->n_col)) ;
-	DEBUG2 (("Store column of L, k = "ID", llen "ID"\n", k, llen)) ;
-	for (i = 0 ; i < llen ; i++)
-	{
-	    row = Lpattern [i] ;
-	    ASSERT (row >= 0 && row < Work->n_row) ;
-	    DEBUG2 (("    Lpattern["ID"] "ID" Lpos "ID, i, row, Lpos [row])) ;
-	    if (row == pivrow) DEBUG2 ((" <- pivot row")) ;
-	    DEBUG2 (("\n")) ;
-	    ASSERT (i == Lpos [row]) ;
-	}
-#endif
-
-	/* ------------------------------------------------------------------ */
-	/* remove pivot row from L */
-	/* ------------------------------------------------------------------ */
-
-	/* remove pivot row index from current column of L */
-	/* if a new Lchain starts, then all entries are removed later */
-	DEBUG2 (("Removing pivrow from Lpattern, k = "ID"\n", k)) ;
-	ASSERT (!NON_PIVOTAL_ROW (pivrow)) ;
-	pivrow_position = Lpos [pivrow] ;
-	if (pivrow_position != EMPTY)
-	{
-	    /* place the last entry in the column in the */
-	    /* position of the pivot row index */
-	    ASSERT (pivrow == Lpattern [pivrow_position]) ;
-	    row = Lpattern [--llen] ;
-	    /* ASSERT (NON_PIVOTAL_ROW (row)) ; */
-	    Lpattern [pivrow_position] = row ;
-	    Lpos [row] = pivrow_position ;
-	    Lpos [pivrow] = EMPTY ;
-	}
-
-	/* ------------------------------------------------------------------ */
-	/* store the pivot value, for the diagonal matrix D */
-	/* ------------------------------------------------------------------ */
-
-	/* kk-th column of LU block */
-	Fl1 = Flublock + kk * nb ;
-
-	/* kk-th column of L in the L block */
-	Fl2 = Flblock + kk * fnr_curr ;
-
-	/* kk-th pivot in frontal matrix located in Flublock [kk, kk] */
-	pivot_value = Fl1 [kk] ;
-
-	D [k] = pivot_value ;
-	zero_pivot = IS_ZERO (pivot_value) ;
-
-	DEBUG4 (("Pivot D["ID"]=", k)) ;
-	EDEBUG4 (pivot_value) ;
-	DEBUG4 (("\n")) ;
-
-	/* ------------------------------------------------------------------ */
-	/* count nonzeros in kth column of L */
-	/* ------------------------------------------------------------------ */
-
-	lnz = 0 ;
-	lnz2i = 0 ;
-	lnz2x = llen ;
-
-#ifdef DROP
-	    all_lnz = 0 ;
-
-	    for (i = kk + 1 ; i < fnpiv ; i++)
-	    {
-		Entry x ;
-		double s ;
-		x = Fl1 [i] ;
-		if (IS_ZERO (x)) continue ;
-		all_lnz++ ;
-		APPROX_ABS (s, x) ;
-		if (s <= droptol) continue ;
-		lnz++ ;
-		if (Lpos [Pivrow [i]] == EMPTY) lnz2i++ ;
-	    }
-
-	    for (i = 0 ; i < fnrows ; i++)
-	    {
-		Entry x ;
-		double s ;
-		x = Fl2 [i] ;
-		if (IS_ZERO (x)) continue ;
-		all_lnz++ ;
-		APPROX_ABS (s, x) ;
-		if (s <= droptol) continue ;
-		lnz++ ;
-		if (Lpos [Frows [i]] == EMPTY) lnz2i++ ;
-	    }
-
-#else
-
-	    for (i = kk + 1 ; i < fnpiv ; i++)
-	    {
-		if (IS_ZERO (Fl1 [i])) continue ;
-		lnz++ ;
-		if (Lpos [Pivrow [i]] == EMPTY) lnz2i++ ;
-	    }
-
-	    for (i = 0 ; i < fnrows ; i++)
-	    {
-		if (IS_ZERO (Fl2 [i])) continue ;
-		lnz++ ;
-		if (Lpos [Frows [i]] == EMPTY) lnz2i++ ;
-	    }
-
-#endif
-
-	lnz2x += lnz2i ;
-
-	/* determine if we start a new Lchain or continue the old one */
-	if (llen == 0 || zero_pivot)
-	{
-	    /* llen == 0 means there is no prior Lchain */
-	    /* D [k] == 0 means the pivot column is empty */
-	    newLchain = TRUE ;
-	}
-	else
-	{
-	    newLchain =
-		    /* storage for starting a new Lchain */
-		    UNITS (Entry, lnz) + UNITS (Int, lnz)
-		<=
-		    /* storage for continuing a prior Lchain */
-		    UNITS (Entry, lnz2x) + UNITS (Int, lnz2i) ;
-	}
-
-	if (newLchain)
-	{
-	    /* start a new chain for column k of L */
-	    DEBUG2 (("Start new Lchain, k = "ID"\n", k)) ;
-
-	    pivrow_position = EMPTY ;
-
-	    /* clear the prior Lpattern */
-	    for (i = 0 ; i < llen ; i++)
-	    {
-		row = Lpattern [i] ;
-		Lpos [row] = EMPTY ;
-	    }
-	    llen = 0 ;
-
-	    lnzi = lnz ;
-	    lnzx = lnz ;
-	}
-	else
-	{
-	    /* continue the prior Lchain */
-	    DEBUG2 (("Continue  Lchain, k = "ID"\n", k)) ;
-	    lnzi = lnz2i ;
-	    lnzx = lnz2x ;
-	}
-
-	/* ------------------------------------------------------------------ */
-	/* allocate space for the column of L */
-	/* ------------------------------------------------------------------ */
-
-	size = UNITS (Int, lnzi) + UNITS (Entry, lnzx) ;
-
-#ifndef NDEBUG
-	UMF_allocfail = FALSE ;
-	if (UMF_gprob > 0)
-	{
-	    double rrr = ((double) (rand ( ))) / (((double) RAND_MAX) + 1) ;
-	    DEBUG4 (("Check random %e %e\n", rrr, UMF_gprob)) ;
-	    UMF_allocfail = rrr < UMF_gprob ;
-	    if (UMF_allocfail) DEBUGm2 (("Random garbage coll. (store LU)\n"));
-	}
-#endif
-
-	p = UMF_mem_alloc_head_block (Numeric, size) ;
-	if (!p)
-	{
-	    Int r2, c2 ;
-	    /* Do garbage collection, realloc, and try again. */
-	    /* Note that there are pivot rows/columns in current front. */
-	    if (Work->do_grow)
-	    {
-		/* full compaction of current frontal matrix, since
-		 * UMF_grow_front will be called next anyway. */
-		r2 = fnrows ;
-		c2 = fncols ;
-	    }
-	    else
-	    {
-		/* partial compaction. */
-		r2 = MAX (fnrows, Work->fnrows_new + 1) ;
-		c2 = MAX (fncols, Work->fncols_new + 1) ;
-	    }
-	    DEBUGm3 (("get_memory from umf_store_lu:\n")) ;
-	    if (!UMF_get_memory (Numeric, Work, size, r2, c2, TRUE))
-	    {
-		DEBUGm4 (("out of memory: store LU (1)\n")) ;
-		return (FALSE) ;	/* out of memory */
-	    }
-	    p = UMF_mem_alloc_head_block (Numeric, size) ;
-	    if (!p)
-	    {
-		DEBUGm4 (("out of memory: store LU (2)\n")) ;
-		return (FALSE) ;	/* out of memory */
-	    }
-	    /* garbage collection may have moved the current front */
-	    fnc_curr = Work->fnc_curr ;
-	    fnr_curr = Work->fnr_curr ;
-	    Flublock = Work->Flublock ;
-	    Flblock  = Work->Flblock ;
-	    Fublock  = Work->Fublock ;
-	    Fl1 = Flublock + kk * nb ;
-	    Fl2 = Flblock  + kk * fnr_curr ;
-	}
-
-	/* ------------------------------------------------------------------ */
-	/* store the column of L */
-	/* ------------------------------------------------------------------ */
-
-	lip = p ;
-
-	Li = (Int *) (Numeric->Memory + p) ;
-	p += UNITS (Int, lnzi) ;
-	Lval = (Entry *) (Numeric->Memory + p) ;
-	p += UNITS (Entry, lnzx) ;
-
-	for (i = 0 ; i < lnzx ; i++)
-	{
-	    CLEAR (Lval [i]) ;
-	}
-
-	/* store the numerical entries */
-
-	if (newLchain)
-	{
-	    /* flag the first column in the Lchain by negating Lip [k] */
-	    lip = -lip ;
-
-	    ASSERT (llen == 0) ;
-
-#ifdef DROP
-
-		for (i = kk + 1 ; i < fnpiv ; i++)
-		{
-		    Entry x ;
-		    double s ;
-		    Int row2, pos ;
-		    x = Fl1 [i] ;
-		    APPROX_ABS (s, x) ;
-		    if (s <= droptol) continue ;
-		    row2 = Pivrow [i] ;
-		    pos = llen++ ;
-		    Lpattern [pos] = row2 ;
-		    Lpos [row2] = pos ;
-		    Li [pos] = row2 ;
-		    Lval [pos] = x ;
-		}
-
-		for (i = 0 ; i < fnrows ; i++)
-		{
-		    Entry x ;
-		    double s ;
-		    Int row2, pos ;
-		    x = Fl2 [i] ;
-		    APPROX_ABS (s, x) ;
-		    if (s <= droptol) continue ;
-		    row2 = Frows [i] ;
-		    pos = llen++ ;
-		    Lpattern [pos] = row2 ;
-		    Lpos [row2] = pos ;
-		    Li [pos] = row2 ;
-		    Lval [pos] = x ;
-		}
-
-#else
-
-		for (i = kk + 1 ; i < fnpiv ; i++)
-		{
-		    Entry x ;
-		    Int row2, pos ;
-		    x = Fl1 [i] ;
-		    if (IS_ZERO (x)) continue ;
-		    row2 = Pivrow [i] ;
-		    pos = llen++ ;
-		    Lpattern [pos] = row2 ;
-		    Lpos [row2] = pos ;
-		    Li [pos] = row2 ;
-		    Lval [pos] = x ;
-		}
-
-		for (i = 0 ; i < fnrows ; i++)
-		{
-		    Entry x ;
-		    Int row2, pos ;
-		    x = Fl2 [i] ;
-		    if (IS_ZERO (x)) continue ;
-		    row2 = Frows [i] ;
-		    pos = llen++ ;
-		    Lpattern [pos] = row2 ;
-		    Lpos [row2] = pos ;
-		    Li [pos] = row2 ;
-		    Lval [pos] = x ;
-		}
-
-#endif
-
-	}
-	else
-	{
-	    ASSERT (llen > 0) ;
-
-#ifdef DROP
-
-		for (i = kk + 1 ; i < fnpiv ; i++)
-		{
-		    Entry x ;
-		    double s ;
-		    Int row2, pos ;
-		    x = Fl1 [i] ;
-		    APPROX_ABS (s, x) ;
-		    if (s <= droptol) continue ;
-		    row2 = Pivrow [i] ;
-		    pos = Lpos [row2] ;
-		    if (pos == EMPTY)
-		    {
-			pos = llen++ ;
-			Lpattern [pos] = row2 ;
-			Lpos [row2] = pos ;
-			*Li++ = row2 ;
-		    }
-		    Lval [pos] = x ;
-		}
-
-		for (i = 0 ; i < fnrows ; i++)
-		{
-		    Entry x ;
-		    double s ;
-		    Int row2, pos ;
-		    x = Fl2 [i] ;
-		    APPROX_ABS (s, x) ;
-		    if (s <= droptol) continue ;
-		    row2 = Frows [i] ;
-		    pos = Lpos [row2] ;
-		    if (pos == EMPTY)
-		    {
-			pos = llen++ ;
-			Lpattern [pos] = row2 ;
-			Lpos [row2] = pos ;
-			*Li++ = row2 ;
-		    }
-		    Lval [pos] = x ;
-		}
-
-#else
-
-		for (i = kk + 1 ; i < fnpiv ; i++)
-		{
-		    Entry x ;
-		    Int row2, pos ;
-		    x = Fl1 [i] ;
-		    if (IS_ZERO (x)) continue ;
-		    row2 = Pivrow [i] ;
-		    pos = Lpos [row2] ;
-		    if (pos == EMPTY)
-		    {
-			pos = llen++ ;
-			Lpattern [pos] = row2 ;
-			Lpos [row2] = pos ;
-			*Li++ = row2 ;
-		    }
-		    Lval [pos] = x ;
-		}
-
-		for (i = 0 ; i < fnrows ; i++)
-		{
-		    Entry x ;
-		    Int row2, pos ;
-		    x = Fl2 [i] ;
-		    if (IS_ZERO (x)) continue ;
-		    row2 = Frows [i] ;
-		    pos = Lpos [row2] ;
-		    if (pos == EMPTY)
-		    {
-			pos = llen++ ;
-			Lpattern [pos] = row2 ;
-			Lpos [row2] = pos ;
-			*Li++ = row2 ;
-		    }
-		    Lval [pos] = x ;
-		}
-
-#endif
-
-	}
-	DEBUG4 (("llen "ID" lnzx "ID"\n", llen, lnzx)) ;
-	ASSERT (llen == lnzx) ;
-	ASSERT (lnz <= llen) ;
-	DEBUG4 (("lnz "ID" \n", lnz)) ;
-
-#ifdef DROP
-
-	    DEBUG4 (("all_lnz "ID" \n", all_lnz)) ;
-	    ASSERT (lnz <= all_lnz) ;
-	    Numeric->lnz += lnz ;
-	    Numeric->all_lnz += all_lnz ;
-	    Lnz [kk] = all_lnz ;
-
-#else
-
-	    Numeric->lnz += lnz ;
-	    Numeric->all_lnz += lnz ;
-	    Lnz [kk] = lnz ;
-#endif
-
-	Numeric->nLentries += lnzx ;
-	Work->llen = llen ;
-	Numeric->isize += lnzi ;
-
-	/* ------------------------------------------------------------------ */
-	/* the pivot column is fully assembled and scaled, and is now the */
-	/* k-th column of L */
-	/* ------------------------------------------------------------------ */
-
-	Lpos [pivrow] = pivrow_position ;	/* not aliased */
-	Lip [pivcol] = lip ;			/* aliased with Col_tuples */
-	Lilen [pivcol] = lnzi ;			/* aliased with Col_tlen */
-
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* store the rows of U */
-    /* ---------------------------------------------------------------------- */
-
-    for (kk = 0 ; kk < fnpiv ; kk++)
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* one more pivot row and column is being stored into L and U */
-	/* ------------------------------------------------------------------ */
-
-	k = Work->npiv + kk ;
-
-	/* ------------------------------------------------------------------ */
-	/* find the kth pivot row and pivot column */
-	/* ------------------------------------------------------------------ */
-
-	pivrow = Pivrow [kk] ;
-	pivcol = Pivcol [kk] ;
-
-#ifndef NDEBUG
-	ASSERT (pivrow >= 0 && pivrow < Work->n_row) ;
-	ASSERT (pivcol >= 0 && pivcol < Work->n_col) ;
-
-	DEBUG2 (("Store row of U, k = "ID", ulen "ID"\n", k, ulen)) ;
-	for (i = 0 ; i < ulen ; i++)
-	{
-	    col = Upattern [i] ;
-	    DEBUG2 (("    Upattern["ID"] "ID, i, col)) ;
-	    if (col == pivcol) DEBUG2 ((" <- pivot col")) ;
-	    DEBUG2 (("\n")) ;
-	    ASSERT (col >= 0 && col < Work->n_col) ;
-	    ASSERT (i == Upos [col]) ;
-	}
-#endif
-
-	/* ------------------------------------------------------------------ */
-	/* get the pivot value, for the diagonal matrix D */
-	/* ------------------------------------------------------------------ */
-
-	zero_pivot = IS_ZERO (D [k]) ;
-
-	/* ------------------------------------------------------------------ */
-	/* count the nonzeros in the row of U */
-	/* ------------------------------------------------------------------ */
-
-	/* kk-th row of U in the LU block */
-	Fu1 = Flublock + kk ;
-
-	/* kk-th row of U in the U block */
-	Fu2 = Fublock + kk * fnc_curr ;
-
-	unz = 0 ;
-	unz2i = 0 ;
-	unz2x = ulen ;
-	DEBUG2 (("unz2x is "ID", lnzx "ID"\n", unz2x, lnzx)) ;
-
-	/* if row k does not end a Uchain, pivcol not included in ulen */
-	ASSERT (!NON_PIVOTAL_COL (pivcol)) ;
-	pivcol_position = Upos [pivcol] ;
-	if (pivcol_position != EMPTY)
-	{
-	    unz2x-- ;
-	    DEBUG2 (("(exclude pivcol) unz2x is now "ID"\n", unz2x)) ;
-	}
-
-	ASSERT (unz2x >= 0) ;
-
-#ifdef DROP
-	    all_unz = 0 ;
-
-	    for (i = kk + 1 ; i < fnpiv ; i++)
-	    {
-		Entry x ;
-		double s ;
-		x = Fu1 [i*nb] ;
-		if (IS_ZERO (x)) continue ;
-		all_unz++ ;
-		APPROX_ABS (s, x) ;
-		if (s <= droptol) continue ;
-		unz++ ;
-		if (Upos [Pivcol [i]] == EMPTY) unz2i++ ;
-	    }
-
-	    for (i = 0 ; i < fncols ; i++)
-	    {
-		Entry x ;
-		double s ;
-		x = Fu2 [i] ;
-		if (IS_ZERO (x)) continue ;
-		all_unz++ ;
-		APPROX_ABS (s, x) ;
-		if (s <= droptol) continue ;
-		unz++ ;
-		if (Upos [Fcols [i]] == EMPTY) unz2i++ ;
-	    }
-
-#else
-
-	    for (i = kk + 1 ; i < fnpiv ; i++)
-	    {
-		if (IS_ZERO (Fu1 [i*nb])) continue ;
-		unz++ ;
-		if (Upos [Pivcol [i]] == EMPTY) unz2i++ ;
-	    }
-
-	    for (i = 0 ; i < fncols ; i++)
-	    {
-		if (IS_ZERO (Fu2 [i])) continue ;
-		unz++ ;
-		if (Upos [Fcols [i]] == EMPTY) unz2i++ ;
-	    }
-
-#endif
-
-	unz2x += unz2i ;
-
-	ASSERT (IMPLIES (k == 0, ulen == 0)) ;
-
-	/* determine if we start a new Uchain or continue the old one */
-	if (ulen == 0 || zero_pivot)
-	{
-	    /* ulen == 0 means there is no prior Uchain */
-	    /* D [k] == 0 means the matrix is singular (pivot row might */
-	    /* not be empty, however, but start a new Uchain to prune zero */
-	    /* entries for the deg > 0 test in UMF_u*solve) */
-	    newUchain = TRUE ;
-	}
-	else
-	{
-	    newUchain =
-		    /* approximate storage for starting a new Uchain */
-		    UNITS (Entry, unz) + UNITS (Int, unz)
-		<=
-		    /* approximate storage for continuing a prior Uchain */
-		    UNITS (Entry, unz2x) + UNITS (Int, unz2i) ;
-
-	    /* this would be exact, except for the Int to Unit rounding, */
-	    /* because the Upattern is stored only at the end of the Uchain */
-	}
-
-	/* ------------------------------------------------------------------ */
-	/* allocate space for the row of U */
-	/* ------------------------------------------------------------------ */
-
-	size = 0 ;
-	if (newUchain)
-	{
-	    /* store the pattern of the last row in the prior Uchain */
-	    size += UNITS (Int, ulen) ;
-	    unzx = unz ;
-	}
-	else
-	{
-	    unzx = unz2x ;
-	}
-	size += UNITS (Entry, unzx) ;
-
-#ifndef NDEBUG
-	UMF_allocfail = FALSE ;
-	if (UMF_gprob > 0)
-	{
-	    double rrr = ((double) (rand ( ))) / (((double) RAND_MAX) + 1) ;
-	    DEBUG4 (("Check random %e %e\n", rrr, UMF_gprob)) ;
-	    UMF_allocfail = rrr < UMF_gprob ;
-	    if (UMF_allocfail) DEBUGm2 (("Random garbage coll. (store LU)\n"));
-	}
-#endif
-
-	p = UMF_mem_alloc_head_block (Numeric, size) ;
-	if (!p)
-	{
-	    Int r2, c2 ;
-	    /* Do garbage collection, realloc, and try again. */
-	    /* Note that there are pivot rows/columns in current front. */
-	    if (Work->do_grow)
-	    {
-		/* full compaction of current frontal matrix, since
-		 * UMF_grow_front will be called next anyway. */
-		r2 = fnrows ;
-		c2 = fncols ;
-	    }
-	    else
-	    {
-		/* partial compaction. */
-		r2 = MAX (fnrows, Work->fnrows_new + 1) ;
-		c2 = MAX (fncols, Work->fncols_new + 1) ;
-	    }
-	    DEBUGm3 (("get_memory from umf_store_lu:\n")) ;
-	    if (!UMF_get_memory (Numeric, Work, size, r2, c2, TRUE))
-	    {
-		/* :: get memory, column of L :: */
-		DEBUGm4 (("out of memory: store LU (1)\n")) ;
-		return (FALSE) ;	/* out of memory */
-	    }
-	    p = UMF_mem_alloc_head_block (Numeric, size) ;
-	    if (!p)
-	    {
-		/* :: out of memory, column of U :: */
-		DEBUGm4 (("out of memory: store LU (2)\n")) ;
-		return (FALSE) ;	/* out of memory */
-	    }
-	    /* garbage collection may have moved the current front */
-	    fnc_curr = Work->fnc_curr ;
-	    fnr_curr = Work->fnr_curr ;
-	    Flublock = Work->Flublock ;
-	    Flblock  = Work->Flblock ;
-	    Fublock  = Work->Fublock ;
-	    Fu1 = Flublock + kk ;
-	    Fu2 = Fublock  + kk * fnc_curr ;
-	}
-
-	/* ------------------------------------------------------------------ */
-	/* store the row of U */
-	/* ------------------------------------------------------------------ */
-
-	uip = p ;
-
-	if (newUchain)
-	{
-	    /* starting a new Uchain - flag this by negating Uip [k] */
-	    uip = -uip ;
-	    DEBUG2 (("Start new Uchain, k = "ID"\n", k)) ;
-
-	    pivcol_position = EMPTY ;
-
-	    /* end the prior Uchain */
-	    /* save the current Upattern, and then */
-	    /* clear it and start a new Upattern */
-	    DEBUG2 (("Ending prior chain, k-1 = "ID"\n", k-1)) ;
-	    uilen = ulen ;
-	    Ui = (Int *) (Numeric->Memory + p) ;
-	    Numeric->isize += ulen ;
-	    p += UNITS (Int, ulen) ;
-	    for (i = 0 ; i < ulen ; i++)
-	    {
-		col = Upattern [i] ;
-		ASSERT (col >= 0 && col < Work->n_col) ;
-		Upos [col] = EMPTY ;
-		Ui [i] = col ;
-	    }
-
-	    ulen = 0 ;
-
-	}
-	else
-	{
-	    /* continue the prior Uchain */
-	    DEBUG2 (("Continue  Uchain, k = "ID"\n", k)) ;
-	    ASSERT (k > 0) ;
-
-	    /* remove pivot col index from current row of U */
-	    /* if a new Uchain starts, then all entries are removed later */
-	    DEBUG2 (("Removing pivcol from Upattern, k = "ID"\n", k)) ;
-
-	    if (pivcol_position != EMPTY)
-	    {
-		/* place the last entry in the row in the */
-		/* position of the pivot col index */
-		ASSERT (pivcol == Upattern [pivcol_position]) ;
-		col = Upattern [--ulen] ;
-		ASSERT (col >= 0 && col < Work->n_col) ;
-		Upattern [pivcol_position] = col ;
-		Upos [col] = pivcol_position ;
-		Upos [pivcol] = EMPTY ;
-	    }
-
-	    /* this row continues the Uchain.  Keep track of how much */
-	    /* to trim from the k-th length to get the length of the */
-	    /* (k-1)st row of U */
-	    uilen = unz2i ;
-
-	}
-
-	Uval = (Entry *) (Numeric->Memory + p) ;
-	/* p += UNITS (Entry, unzx), no need to increment p */
-
-	for (i = 0 ; i < unzx ; i++)
-	{
-	    CLEAR (Uval [i]) ;
-	}
-
-	if (newUchain)
-	{
-	    ASSERT (ulen == 0) ;
-
-#ifdef DROP
-
-		for (i = kk + 1 ; i < fnpiv ; i++)
-		{
-		    Entry x ;
-		    double s ;
-		    Int col2, pos ;
-		    x = Fu1 [i*nb] ;
-		    APPROX_ABS (s, x) ;
-		    if (s <= droptol) continue ;
-		    col2 = Pivcol [i] ;
-		    pos = ulen++ ;
-		    Upattern [pos] = col2 ;
-		    Upos [col2] = pos ;
-		    Uval [pos] = x ;
-		}
-
-		for (i = 0 ; i < fncols ; i++)
-		{
-		    Entry x ;
-		    double s ;
-		    Int col2, pos ;
-		    x = Fu2 [i] ;
-		    APPROX_ABS (s, x) ;
-		    if (s <= droptol) continue ;
-		    col2 = Fcols [i] ;
-		    pos = ulen++ ;
-		    Upattern [pos] = col2 ;
-		    Upos [col2] = pos ;
-		    Uval [pos] = x ;
-		}
-
-#else
-
-		for (i = kk + 1 ; i < fnpiv ; i++)
-		{
-		    Entry x ;
-		    Int col2, pos ;
-		    x = Fu1 [i*nb] ;
-		    if (IS_ZERO (x)) continue ;
-		    col2 = Pivcol [i] ;
-		    pos = ulen++ ;
-		    Upattern [pos] = col2 ;
-		    Upos [col2] = pos ;
-		    Uval [pos] = x ;
-		}
-
-		for (i = 0 ; i < fncols ; i++)
-		{
-		    Entry x ;
-		    Int col2, pos ;
-		    x = Fu2 [i] ;
-		    if (IS_ZERO (x)) continue ;
-		    col2 = Fcols [i] ;
-		    pos = ulen++ ;
-		    Upattern [pos] = col2 ;
-		    Upos [col2] = pos ;
-		    Uval [pos] = x ;
-		}
-
-#endif
-
-	}
-	else
-	{
-
-	    ASSERT (ulen > 0) ;
-
-	    /* store the numerical entries and find new nonzeros */
-
-#ifdef DROP
-
-		for (i = kk + 1 ; i < fnpiv ; i++)
-		{
-		    Entry x ;
-		    double s ;
-		    Int col2, pos ;
-		    x = Fu1 [i*nb] ;
-		    APPROX_ABS (s, x) ;
-		    if (s <= droptol) continue ;
-		    col2 = Pivcol [i] ;
-		    pos = Upos [col2] ;
-		    if (pos == EMPTY)
-		    {
-			pos = ulen++ ;
-			Upattern [pos] = col2 ;
-			Upos [col2] = pos ;
-		    }
-		    Uval [pos] = x ;
-		}
-
-		for (i = 0 ; i < fncols ; i++)
-		{
-		    Entry x ;
-		    double s ;
-		    Int col2, pos ;
-		    x = Fu2 [i] ;
-		    APPROX_ABS (s, x) ;
-		    if (s <= droptol) continue ;
-		    col2 = Fcols [i] ;
-		    pos = Upos [col2] ;
-		    if (pos == EMPTY)
-		    {
-			pos = ulen++ ;
-			Upattern [pos] = col2 ;
-			Upos [col2] = pos ;
-		    }
-		    Uval [pos] = x ;
-		}
-
-#else
-
-		for (i = kk + 1 ; i < fnpiv ; i++)
-		{
-		    Entry x ;
-		    Int col2, pos ;
-		    x = Fu1 [i*nb] ;
-		    if (IS_ZERO (x)) continue ;
-		    col2 = Pivcol [i] ;
-		    pos = Upos [col2] ;
-		    if (pos == EMPTY)
-		    {
-			pos = ulen++ ;
-			Upattern [pos] = col2 ;
-			Upos [col2] = pos ;
-		    }
-		    Uval [pos] = x ;
-		}
-
-		for (i = 0 ; i < fncols ; i++)
-		{
-		    Entry x ;
-		    Int col2, pos ;
-		    x = Fu2 [i] ;
-		    if (IS_ZERO (x)) continue ;
-		    col2 = Fcols [i] ;
-		    pos = Upos [col2] ;
-		    if (pos == EMPTY)
-		    {
-			pos = ulen++ ;
-			Upattern [pos] = col2 ;
-			Upos [col2] = pos ;
-		    }
-		    Uval [pos] = x ;
-		}
-
-#endif
-
-	}
-
-	ASSERT (ulen == unzx) ;
-	ASSERT (unz <= ulen) ;
-	DEBUG4 (("unz "ID" \n", unz)) ;
-
-#ifdef DROP
-
-	    DEBUG4 (("all_unz "ID" \n", all_unz)) ;
-	    ASSERT (unz <= all_unz) ;
-	    Numeric->unz += unz ;
-	    Numeric->all_unz += all_unz ;
-	    /* count the "true" flops, based on LU pattern only */
-	    Numeric->flops += DIV_FLOPS * Lnz [kk]	/* scale pivot column */
-		+ MULTSUB_FLOPS * (Lnz [kk] * all_unz) ;    /* outer product */
-
-#else
-
-	    Numeric->unz += unz ;
-	    Numeric->all_unz += unz ;
-	    /* count the "true" flops, based on LU pattern only */
-	    Numeric->flops += DIV_FLOPS * Lnz [kk]	/* scale pivot column */
-		+ MULTSUB_FLOPS * (Lnz [kk] * unz) ;    /* outer product */
-#endif
-
-	Numeric->nUentries += unzx ;
-	Work->ulen = ulen ;
-	DEBUG1 (("Work->ulen = "ID" at end of pivot step, k: "ID"\n", ulen, k));
-
-	/* ------------------------------------------------------------------ */
-	/* the pivot row is the k-th row of U */
-	/* ------------------------------------------------------------------ */
-
-	Upos [pivcol] = pivcol_position ;	/* not aliased */
-	Uip [pivrow] = uip ;			/* aliased with Row_tuples */
-	Uilen [pivrow] = uilen ;		/* aliased with Row_tlen */
-
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* no more pivots in frontal working array */
-    /* ---------------------------------------------------------------------- */
-
-    Work->npiv += fnpiv ;
-    Work->fnpiv = 0 ;
-    Work->fnzeros = 0 ;
-    return (TRUE) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_store_lu.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,17 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL Int UMF_store_lu
-(
-    NumericType *Numeric,
-    WorkType *Work
-) ;
-
-GLOBAL Int UMF_store_lu_drop
-(
-    NumericType *Numeric,
-    WorkType *Work
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_symbolic_usage.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/* ========================================================================== */
-/* === UMF_symbolic_usage =================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/* Returns the final size of the Symbolic object, in Units */
-
-#include "umf_internal.h"
-
-GLOBAL double UMF_symbolic_usage
-(
-    Int n_row,
-    Int n_col,
-    Int nchains,
-    Int nfr,
-    Int esize,	    /* zero if no dense rows.  Otherwise, equal to the
-		     * number of non-singleton, non-empty columns */
-    Int prefer_diagonal
-)
-{
-    double units ;
-
-    units =
-	DUNITS (SymbolicType, 1)	/* Symbolic structure */
-	+ 2 * DUNITS (Int, n_col+1)	/* Cperm_init, Cdeg */
-	+ 2 * DUNITS (Int, n_row+1)	/* Rperm_init, Rdeg */
-	+ 3 * DUNITS (Int, nchains+1)	/* Chain_ */
-	+ 4 * DUNITS (Int, nfr+1) ;	/* Front_ */
-
-    /* if dense rows are present */
-    units += DUNITS (Int, esize) ;	/* Esize */
-
-    /* for diagonal pivoting */
-    if (prefer_diagonal)
-    {
-	units += DUNITS (Int, n_col+1) ;    /* Diagonal_map */
-    }
-
-    return (units) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_symbolic_usage.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,15 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL double UMF_symbolic_usage
-(
-    Int n_row,
-    Int n_col,
-    Int nchains,
-    Int nfr,
-    Int esize,
-    Int prefer_diagonal
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_transpose.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,400 +0,0 @@
-/* ========================================================================== */
-/* === UMF_transpose ======================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*  Not user-callable.  Computes a permuted transpose, R = (A (P,Q(1:nq)))' in
-	MATLAB notation, where R is in column-form.  A is n_row-by-n_col, the
-	row-form matrix R is n_row-by-nq, where nq <= n_col.  A may be singular.
-	The complex version can do transpose (') or array transpose (.').
-
-	Uses Gustavson's method (Two Fast Algorithms for Sparse Matrices:
-	Multiplication and Permuted Transposition, ACM Trans. on Math. Softw.,
-	vol 4, no 3, pp. 250-269).
-*/
-
-#include "umf_internal.h"
-#include "umf_is_permutation.h"
-
-GLOBAL Int UMF_transpose
-(
-    Int n_row,			/* A is n_row-by-n_col */
-    Int n_col,
-    const Int Ap [ ],		/* size n_col+1 */
-    const Int Ai [ ],		/* size nz = Ap [n_col] */
-    const double Ax [ ],	/* size nz if present */
-
-    const Int P [ ],	/* P [k] = i means original row i is kth row in A(P,Q)*/
-			/* P is identity if not present */
-			/* size n_row, if present */
-
-    const Int Q [ ],	/* Q [k] = j means original col j is kth col in A(P,Q)*/
-			/* Q is identity if not present */
-			/* size nq, if present */
-    Int nq,		/* size of Q, ignored if Q is (Int *) NULL */
-
-			/* output matrix: Rp, Ri, Rx, and Rz: */
-    Int Rp [ ],		/* size n_row+1 */
-    Int Ri [ ],		/* size nz */
-    double Rx [ ],	/* size nz, if present */
-
-    Int W [ ],		/* size max (n_row,n_col) workspace */
-
-    Int check		/* if true, then check inputs */
-#ifdef COMPLEX
-    , const double Az [ ]	/* size nz */
-    , double Rz [ ]		/* size nz */
-    , Int do_conjugate		/* if true, then do conjugate transpose */
-				/* otherwise, do array transpose */
-#endif
-)
-{
-
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    Int i, j, k, p, bp, newj, do_values ;
-#ifdef COMPLEX
-    Int split ;
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* check inputs */
-    /* ---------------------------------------------------------------------- */
-
-#ifndef NDEBUG
-    Int nz ;
-    ASSERT (n_col >= 0) ;
-    nz = (Ap != (Int *) NULL) ? Ap [n_col] : 0 ;
-    DEBUG2 (("UMF_transpose: "ID"-by-"ID" nz "ID"\n", n_row, n_col, nz)) ;
-#endif
-
-    if (check)
-    {
-	/* UMFPACK_symbolic skips this check */
-	/* UMFPACK_transpose always does this check */
-	if (!Ai || !Ap || !Ri || !Rp || !W)
-	{
-	    return (UMFPACK_ERROR_argument_missing) ;
-	}
-	if (n_row <= 0 || n_col <= 0)		/* n_row,n_col must be > 0 */
-	{
-	    return (UMFPACK_ERROR_n_nonpositive) ;
-	}
-	if (!UMF_is_permutation (P, W, n_row, n_row) ||
-	    !UMF_is_permutation (Q, W, nq, nq))
-	{
-	    return (UMFPACK_ERROR_invalid_permutation) ;
-	}
-	if (!AMD_valid (n_row, n_col, Ap, Ai))
-	{
-	    return (UMFPACK_ERROR_invalid_matrix) ;
-	}
-    }
-
-#ifndef NDEBUG
-    DEBUG2 (("UMF_transpose, input matrix:\n")) ;
-    UMF_dump_col_matrix (Ax,
-#ifdef COMPLEX
-	Az,
-#endif
-	Ai, Ap, n_row, n_col, nz) ;
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* count the entries in each row of A */
-    /* ---------------------------------------------------------------------- */
-
-    /* use W as workspace for RowCount */
-
-    for (i = 0 ; i < n_row ; i++)
-    {
-	W [i] = 0 ;
-	Rp [i] = 0 ;
-    }
-
-    if (Q != (Int *) NULL)
-    {
-	for (newj = 0 ; newj < nq ; newj++)
-	{
-	    j = Q [newj] ;
-	    ASSERT (j >= 0 && j < n_col) ;
-	    for (p = Ap [j] ; p < Ap [j+1] ; p++)
-	    {
-		i = Ai [p] ;
-		ASSERT (i >= 0 && i < n_row) ;
-		W [i]++ ;
-	    }
-	}
-    }
-    else
-    {
-	for (j = 0 ; j < n_col ; j++)
-	{
-	    for (p = Ap [j] ; p < Ap [j+1] ; p++)
-	    {
-		i = Ai [p] ;
-		ASSERT (i >= 0 && i < n_row) ;
-		W [i]++ ;
-	    }
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* compute the row pointers for R = A (P,Q) */
-    /* ---------------------------------------------------------------------- */
-
-    if (P != (Int *) NULL)
-    {
-	Rp [0] = 0 ;
-	for (k = 0 ; k < n_row ; k++)
-	{
-	    i = P [k] ;
-	    ASSERT (i >= 0 && i < n_row) ;
-	    Rp [k+1] = Rp [k] + W [i] ;
-	}
-	for (k = 0 ; k < n_row ; k++)
-	{
-	    i = P [k] ;
-	    ASSERT (i >= 0 && i < n_row) ;
-	    W [i] = Rp [k] ;
-	}
-    }
-    else
-    {
-	Rp [0] = 0 ;
-	for (i = 0 ; i < n_row ; i++)
-	{
-	    Rp [i+1] = Rp [i] + W [i] ;
-	}
-	for (i = 0 ; i < n_row ; i++)
-	{
-	    W [i] = Rp [i] ;
-	}
-    }
-    ASSERT (Rp [n_row] <= Ap [n_col]) ;
-
-    /* at this point, W holds the permuted row pointers */
-
-    /* ---------------------------------------------------------------------- */
-    /* construct the row form of B */
-    /* ---------------------------------------------------------------------- */
-
-    do_values = Ax && Rx ;
-
-#ifdef COMPLEX
-    split = SPLIT (Az) && SPLIT (Rz) ;
-
-    if (do_conjugate && do_values)
-    {
-	if (Q != (Int *) NULL)
-	{
-	    if (split)
-	    {
-		/* R = A (P,Q)' */
-		for (newj = 0 ; newj < nq ; newj++)
-		{
-		    j = Q [newj] ;
-		    ASSERT (j >= 0 && j < n_col) ;
-		    for (p = Ap [j] ; p < Ap [j+1] ; p++)
-		    {
-			bp = W [Ai [p]]++ ;
-			Ri [bp] = newj ;
-			Rx [bp] = Ax [p] ;
-			Rz [bp] = -Az [p] ;
-		    }
-		}
-	    }
-	    else
-	    {
-		/* R = A (P,Q)' (merged complex values) */
-		for (newj = 0 ; newj < nq ; newj++)
-		{
-		    j = Q [newj] ;
-		    ASSERT (j >= 0 && j < n_col) ;
-		    for (p = Ap [j] ; p < Ap [j+1] ; p++)
-		    {
-			bp = W [Ai [p]]++ ;
-			Ri [bp] = newj ;
-			Rx [2*bp] = Ax [2*p] ;
-			Rx [2*bp+1] = -Ax [2*p+1] ;
-		    }
-		}
-	    }
-	}
-	else
-	{
-	    if (split)
-	    {
-		/* R = A (P,:)' */
-		for (j = 0 ; j < n_col ; j++)
-		{
-		    for (p = Ap [j] ; p < Ap [j+1] ; p++)
-		    {
-			bp = W [Ai [p]]++ ;
-			Ri [bp] = j ;
-			Rx [bp] = Ax [p] ;
-			Rz [bp] = -Az [p] ;
-		    }
-		}
-	    }
-	    else
-	    {
-		/* R = A (P,:)' (merged complex values) */
-		for (j = 0 ; j < n_col ; j++)
-		{
-		    for (p = Ap [j] ; p < Ap [j+1] ; p++)
-		    {
-			bp = W [Ai [p]]++ ;
-			Ri [bp] = j ;
-			Rx [2*bp] = Ax [2*p] ;
-			Rx [2*bp+1] = -Ax [2*p+1] ;
-		    }
-		}
-	    }
-	}
-    }
-    else
-#endif
-    {
-	if (Q != (Int *) NULL)
-	{
-	    if (do_values)
-	    {
-#ifdef COMPLEX
-		if (split)
-#endif
-		{
-		    /* R = A (P,Q).' */
-		    for (newj = 0 ; newj < nq ; newj++)
-		    {
-			j = Q [newj] ;
-			ASSERT (j >= 0 && j < n_col) ;
-			for (p = Ap [j] ; p < Ap [j+1] ; p++)
-			{
-			    bp = W [Ai [p]]++ ;
-			    Ri [bp] = newj ;
-			    Rx [bp] = Ax [p] ;
-#ifdef COMPLEX
-			    Rz [bp] = Az [p] ;
-#endif
-			}
-		    }
-		}
-#ifdef COMPLEX
-		else
-		{
-		    /* R = A (P,Q).' (merged complex values) */
-		    for (newj = 0 ; newj < nq ; newj++)
-		    {
-			j = Q [newj] ;
-			ASSERT (j >= 0 && j < n_col) ;
-			for (p = Ap [j] ; p < Ap [j+1] ; p++)
-			{
-			    bp = W [Ai [p]]++ ;
-			    Ri [bp] = newj ;
-			    Rx [2*bp] = Ax [2*p] ;
-			    Rx [2*bp+1] = Ax [2*p+1] ;
-			}
-		    }
-		}
-#endif
-	    }
-	    else
-	    {
-		/* R = pattern of A (P,Q).' */
-		for (newj = 0 ; newj < nq ; newj++)
-		{
-		    j = Q [newj] ;
-		    ASSERT (j >= 0 && j < n_col) ;
-		    for (p = Ap [j] ; p < Ap [j+1] ; p++)
-		    {
-			Ri [W [Ai [p]]++] = newj ;
-		    }
-		}
-	    }
-	}
-	else
-	{
-	    if (do_values)
-	    {
-#ifdef COMPLEX
-		if (split)
-#endif
-		{
-		    /* R = A (P,:).' */
-		    for (j = 0 ; j < n_col ; j++)
-		    {
-			for (p = Ap [j] ; p < Ap [j+1] ; p++)
-			{
-			    bp = W [Ai [p]]++ ;
-			    Ri [bp] = j ;
-			    Rx [bp] = Ax [p] ;
-#ifdef COMPLEX
-			    Rz [bp] = Az [p] ;
-#endif
-			}
-		    }
-		}
-#ifdef COMPLEX
-		else
-		{
-		    /* R = A (P,:).' (merged complex values) */
-		    for (j = 0 ; j < n_col ; j++)
-		    {
-			for (p = Ap [j] ; p < Ap [j+1] ; p++)
-			{
-			    bp = W [Ai [p]]++ ;
-			    Ri [bp] = j ;
-			    Rx [2*bp] = Ax [2*p] ;
-			    Rx [2*bp+1] = Ax [2*p+1] ;
-			}
-		    }
-		}
-#endif
-	    }
-	    else
-	    {
-		/* R = pattern of A (P,:).' */
-		for (j = 0 ; j < n_col ; j++)
-		{
-		    for (p = Ap [j] ; p < Ap [j+1] ; p++)
-		    {
-			Ri [W [Ai [p]]++] = j ;
-		    }
-		}
-	    }
-	}
-    }
-
-#ifndef NDEBUG
-    for (k = 0 ; k < n_row ; k++)
-    {
-	if (P != (Int *) NULL)
-	{
-	    i = P [k] ;
-	}
-	else
-	{
-	    i = k ;
-	}
-	DEBUG3 ((ID":  W[i] "ID" Rp[k+1] "ID"\n", i, W [i], Rp [k+1])) ;
-	ASSERT (W [i] == Rp [k+1]) ;
-    }
-    DEBUG2 (("UMF_transpose, output matrix:\n")) ;
-    UMF_dump_col_matrix (Rx,
-#ifdef COMPLEX
-	Rz,
-#endif
-	Ri, Rp, n_col, n_row, Rp [n_row]) ;
-    ASSERT (AMD_valid (n_col, n_row, Rp, Ri)) ;
-#endif
-
-    return (UMFPACK_OK) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_transpose.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL Int UMF_transpose
-(
-    Int n_row,
-    Int n_col,
-    const Int Ap [ ],
-    const Int Ai [ ],
-    const double Ax [ ],
-    const Int P [ ],
-    const Int Q [ ],
-    Int nq,
-    Int Rp [ ],
-    Int Ri [ ],
-    double Rx [ ],
-    Int W [ ],
-    Int check
-#ifdef COMPLEX
-    , const double Az [ ]
-    , double Rz [ ]
-    , Int do_conjugate
-#endif
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_triplet.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,428 +0,0 @@
-/* ========================================================================== */
-/* === UMF_triplet ========================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    Not user callable.  Converts triplet input to column-oriented form.
-    Duplicate entries may exist (they are summed in the output).  The columns
-    of the column-oriented form are in sorted order.  The input is not modified.
-    Returns 1 if OK, 0 if an error occurred.
-
-    Compiled into four different routines for each version (di, dl, zi, zl),
-    for a total of 16 different routines.
-*/
-
-#include "umf_internal.h"
-
-#ifdef DO_MAP
-#ifdef DO_VALUES
-GLOBAL Int UMF_triplet_map_x
-#else
-GLOBAL Int UMF_triplet_map_nox
-#endif
-#else
-#ifdef DO_VALUES
-GLOBAL Int UMF_triplet_nomap_x
-#else
-GLOBAL Int UMF_triplet_nomap_nox
-#endif
-#endif
-(
-    Int n_row,
-    Int n_col,
-    Int nz,
-    const Int Ti [ ],		/* size nz */
-    const Int Tj [ ],		/* size nz */
-    Int Ap [ ],			/* size n_col + 1 */
-    Int Ai [ ],			/* size nz */
-    Int Rp [ ],			/* size n_row + 1 */
-    Int Rj [ ],			/* size nz */
-    Int W [ ],			/* size max (n_row, n_col) */
-    Int RowCount [ ]		/* size n_row */
-#ifdef DO_VALUES
-    , const double Tx [ ]	/* size nz */
-    , double Ax [ ]		/* size nz */
-    , double Rx [ ]		/* size nz */
-#ifdef COMPLEX
-    , const double Tz [ ]	/* size nz */
-    , double Az [ ]		/* size nz */
-    , double Rz [ ]		/* size nz */
-#endif
-#endif
-#ifdef DO_MAP
-    , Int Map [ ]		/* size nz */
-    , Int Map2 [ ]		/* size nz */
-#endif
-)
-{
-
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    Int i, j, k, p, cp, p1, p2, pdest, pj ;
-#ifdef DO_MAP
-    Int duplicates ;
-#endif
-#ifdef DO_VALUES
-#ifdef COMPLEX
-    Int split = SPLIT (Tz) && SPLIT (Az) && SPLIT (Rz) ;
-#endif
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* count the entries in each row (also counting duplicates) */
-    /* ---------------------------------------------------------------------- */
-
-    /* use W as workspace for row counts (including duplicates) */
-    for (i = 0 ; i < n_row ; i++)
-    {
-	W [i] = 0 ;
-    }
-
-    for (k = 0 ; k < nz ; k++)
-    {
-	i = Ti [k] ;
-	j = Tj [k] ;
-	if (i < 0 || i >= n_row || j < 0 || j >= n_col)
-	{
-	    return (UMFPACK_ERROR_invalid_matrix) ;
-	}
-	W [i]++ ;
-#ifndef NDEBUG
-	DEBUG1 ((ID " triplet: "ID" "ID" ", k, i, j)) ;
-#ifdef DO_VALUES
-	{
-	    Entry tt ;
-	    ASSIGN (tt, Tx, Tz, k, split) ;
-	    EDEBUG2 (tt) ;
-	    DEBUG1 (("\n")) ;
-	}
-#endif
-#endif
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* compute the row pointers */
-    /* ---------------------------------------------------------------------- */
-
-    Rp [0] = 0 ;
-    for (i = 0 ; i < n_row ; i++)
-    {
-	Rp [i+1] = Rp [i] + W [i] ;
-	W [i] = Rp [i] ;
-    }
-
-    /* W is now equal to the row pointers */
-
-    /* ---------------------------------------------------------------------- */
-    /* construct the row form */
-    /* ---------------------------------------------------------------------- */
-
-    for (k = 0 ; k < nz ; k++)
-    {
-	p = W [Ti [k]]++ ;
-#ifdef DO_MAP
-	Map [k] = p ;
-#endif
-	Rj [p] = Tj [k] ;
-#ifdef DO_VALUES
-#ifdef COMPLEX
-	if (split)
-	{
-	    Rx [p] = Tx [k] ;
-	    Rz [p] = Tz [k] ;
-	}
-	else
-	{
-	    Rx [2*p  ] = Tx [2*k  ] ;
-	    Rx [2*p+1] = Tx [2*k+1] ;
-	}
-#else
-	Rx [p] = Tx [k] ;
-#endif
-#endif
-    }
-
-    /* Rp stays the same, but W [i] is advanced to the start of row i+1 */
-
-#ifndef NDEBUG
-    for (i = 0 ; i < n_row ; i++)
-    {
-	ASSERT (W [i] == Rp [i+1]) ;
-    }
-#ifdef DO_MAP
-    for (k = 0 ; k < nz ; k++)
-    {
-	/* make sure that kth triplet is mapped correctly */
-	p = Map [k] ;
-	DEBUG1 (("First row map: Map ["ID"] = "ID"\n", k, p)) ;
-	i = Ti [k] ;
-	j = Tj [k] ;
-	ASSERT (j == Rj [p]) ;
-	ASSERT (Rp [i] <= p && p < Rp [i+1]) ;
-    }
-#endif
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* sum up duplicates */
-    /* ---------------------------------------------------------------------- */
-
-    /* use W [j] to hold position in Ri/Rx/Rz of a_ij, for row i [ */
-
-    for (j = 0 ; j < n_col ; j++)
-    {
-	W [j] = EMPTY ;
-    }
-
-#ifdef DO_MAP
-    duplicates = FALSE ;
-#endif
-
-    for (i = 0 ; i < n_row ; i++)
-    {
-	p1 = Rp [i] ;
-	p2 = Rp [i+1] ;
-	pdest = p1 ;
-	/* At this point, W [j] < p1 holds true for all columns j, */
-	/* because Ri/Rx/Rz is stored in row oriented order. */
-#ifndef NDEBUG
-	if (UMF_debug >= -2)
-	{
-	    for (j = 0 ; j < n_col ; j++)
-	    {
-		ASSERT (W [j] < p1) ;
-	    }
-	}
-#endif
-	for (p = p1 ; p < p2 ; p++)
-	{
-	    j = Rj [p] ;
-	    ASSERT (j >= 0 && j < n_col) ;
-	    pj = W [j] ;
-	    if (pj >= p1)
-	    {
-		/* this column index, j, is already in row i, at position pj */
-		ASSERT (pj < p) ;
-		ASSERT (Rj [pj] == j) ;
-#ifdef DO_MAP
-		Map2 [p] = pj ;
-		duplicates = TRUE ;
-#endif
-#ifdef DO_VALUES
-		/* sum the entry */
-#ifdef COMPLEX
-		if (split)
-		{
-		    Rx [pj] += Rx [p] ;
-		    Rz [pj] += Rz [p] ;
-		}
-		else
-		{
-		    Rx[2*pj  ] += Rx[2*p  ] ;
-		    Rx[2*pj+1] += Rx[2*p+1] ;
-		}
-#else
-		Rx [pj] += Rx [p] ;
-#endif
-#endif
-	    }
-	    else
-	    {
-		/* keep the entry */
-		/* also keep track in W[j] of position of a_ij for case above */
-		W [j] = pdest ;
-#ifdef DO_MAP
-		Map2 [p] = pdest ;
-#endif
-		/* no need to move the entry if pdest is equal to p */
-		if (pdest != p)
-		{
-		    Rj [pdest] = j ;
-#ifdef DO_VALUES
-#ifdef COMPLEX
-		    if (split)
-		    {
-			Rx [pdest] = Rx [p] ;
-			Rz [pdest] = Rz [p] ;
-		    }
-		    else
-		    {
-			Rx [2*pdest  ] = Rx [2*p  ] ;
-			Rx [2*pdest+1] = Rx [2*p+1] ;
-		    }
-#else
-		    Rx [pdest] = Rx [p] ;
-#endif
-#endif
-		}
-		pdest++ ;
-	    }
-	}
-	RowCount [i] = pdest - p1 ;
-    }
-
-    /* done using W for position of a_ij ] */
-
-    /* ---------------------------------------------------------------------- */
-    /* merge Map and Map2 into a single Map */
-    /* ---------------------------------------------------------------------- */
-
-#ifdef DO_MAP
-    if (duplicates)
-    {
-	for (k = 0 ; k < nz ; k++)
-	{
-	    Map [k] = Map2 [Map [k]] ;
-	}
-    }
-#ifndef NDEBUG
-    else
-    {
-	/* no duplicates, so no need to recompute Map */
-	for (k = 0 ; k < nz ; k++)
-	{
-	    ASSERT (Map2 [k] == k) ;
-	}
-    }
-    for (k = 0 ; k < nz ; k++)
-    {
-	/* make sure that kth triplet is mapped correctly */
-	p = Map [k] ;
-	DEBUG1 (("Second row map: Map ["ID"] = "ID"\n", k, p)) ;
-	i = Ti [k] ;
-	j = Tj [k] ;
-	ASSERT (j == Rj [p]) ;
-	ASSERT (Rp [i] <= p && p < Rp [i+1]) ;
-    }
-#endif
-#endif
-
-    /* now the kth triplet maps to p = Map [k], and thus to Rj/Rx [p] */
-
-    /* ---------------------------------------------------------------------- */
-    /* count the entries in each column */
-    /* ---------------------------------------------------------------------- */
-
-    /* [ use W as work space for column counts of A */
-    for (j = 0 ; j < n_col ; j++)
-    {
-	W [j] = 0 ;
-    }
-
-    for (i = 0 ; i < n_row ; i++)
-    {
-	for (p = Rp [i] ; p < Rp [i] + RowCount [i] ; p++)
-	{
-	    j = Rj [p] ;
-	    ASSERT (j >= 0 && j < n_col) ;
-	    W [j]++ ;
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* create the column pointers */
-    /* ---------------------------------------------------------------------- */
-
-    Ap [0] = 0 ;
-    for (j = 0 ; j < n_col ; j++)
-    {
-	Ap [j+1] = Ap [j] + W [j] ;
-    }
-    /* done using W as workspace for column counts of A ] */
-
-    for (j = 0 ; j < n_col ; j++)
-    {
-	W [j] = Ap [j] ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* construct the column form */
-    /* ---------------------------------------------------------------------- */
-
-    for (i = 0 ; i < n_row ; i++)
-    {
-	for (p = Rp [i] ; p < Rp [i] + RowCount [i] ; p++)
-	{
-	    cp = W [Rj [p]]++ ;
-#ifdef DO_MAP
-	    Map2 [p] = cp ;
-#endif
-	    Ai [cp] = i ;
-#ifdef DO_VALUES
-#ifdef COMPLEX
-	    if (split)
-	    {
-		Ax [cp] = Rx [p] ;
-		Az [cp] = Rz [p] ;
-	    }
-	    else
-	    {
-		Ax [2*cp  ] = Rx [2*p  ] ;
-		Ax [2*cp+1] = Rx [2*p+1] ;
-	    }
-#else
-	    Ax [cp] = Rx [p] ;
-#endif
-#endif
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* merge Map and Map2 into a single Map */
-    /* ---------------------------------------------------------------------- */
-
-#ifdef DO_MAP
-    for (k = 0 ; k < nz ; k++)
-    {
-	Map [k] = Map2 [Map [k]] ;
-    }
-#endif
-
-    /* now the kth triplet maps to p = Map [k], and thus to Ai/Ax [p] */
-
-#ifndef NDEBUG
-    for (j = 0 ; j < n_col ; j++)
-    {
-	ASSERT (W [j] == Ap [j+1]) ;
-    }
-
-    UMF_dump_col_matrix (
-#ifdef DO_VALUES
-	Ax,
-#ifdef COMPLEX
-	Az,
-#endif
-#else
-	(double *) NULL,
-#ifdef COMPLEX
-	(double *) NULL,
-#endif
-#endif
-	Ai, Ap, n_row, n_col, nz) ;
-
-#ifdef DO_MAP
-    for (k = 0 ; k < nz ; k++)
-    {
-	/* make sure that kth triplet is mapped correctly */
-	p = Map [k] ;
-	DEBUG1 (("Col map: Map ["ID"] = "ID"\t", k, p)) ;
-	i = Ti [k] ;
-	j = Tj [k] ;
-	ASSERT (i == Ai [p]) ;
-	DEBUG1 (("   i "ID" j "ID" Ap[j] "ID" p "ID" Ap[j+1] "ID"\n",
-		i, j, Ap [j], p, Ap [j+1])) ;
-	ASSERT (Ap [j] <= p && p < Ap [j+1]) ;
-    }
-#endif
-#endif
-
-    return (UMFPACK_OK) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_triplet.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL Int UMF_triplet_map_x
-(
-    Int n_row,
-    Int n_col,
-    Int nz,
-    const Int Ti [ ],
-    const Int Tj [ ],
-    Int Ap [ ],
-    Int Ai [ ],
-    Int Rp [ ],
-    Int Rj [ ],
-    Int W [ ],
-    Int RowCount [ ]
-    , const double Tx [ ]
-    , double Ax [ ]
-    , double Rx [ ]
-#ifdef COMPLEX
-    , const double Tz [ ]
-    , double Az [ ]
-    , double Rz [ ]
-#endif
-    , Int Map [ ]
-    , Int Map2 [ ]
-) ;
-
-GLOBAL Int UMF_triplet_map_nox
-(
-    Int n_row,
-    Int n_col,
-    Int nz,
-    const Int Ti [ ],
-    const Int Tj [ ],
-    Int Ap [ ],
-    Int Ai [ ],
-    Int Rp [ ],
-    Int Rj [ ],
-    Int W [ ],
-    Int RowCount [ ]
-    , Int Map [ ]
-    , Int Map2 [ ]
-) ;
-
-GLOBAL Int UMF_triplet_nomap_x
-(
-    Int n_row,
-    Int n_col,
-    Int nz,
-    const Int Ti [ ],
-    const Int Tj [ ],
-    Int Ap [ ],
-    Int Ai [ ],
-    Int Rp [ ],
-    Int Rj [ ],
-    Int W [ ],
-    Int RowCount [ ]
-    , const double Tx [ ]
-    , double Ax [ ]
-    , double Rx [ ]
-#ifdef COMPLEX
-    , const double Tz [ ]
-    , double Az [ ]
-    , double Rz [ ]
-#endif
-) ;
-
-GLOBAL Int UMF_triplet_nomap_nox
-(
-    Int n_row,
-    Int n_col,
-    Int nz,
-    const Int Ti [ ],
-    const Int Tj [ ],
-    Int Ap [ ],
-    Int Ai [ ],
-    Int Rp [ ],
-    Int Rj [ ],
-    Int W [ ],
-    Int RowCount [ ]
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_tuple_lengths.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-/* ========================================================================== */
-/* === UMF_tuple_lengths ==================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/* Determine the tuple list lengths, and the amount of memory required for */
-/* them.  Return the amount of memory needed to store all the tuples. */
-/* This routine assumes that the tuple lists themselves are either already */
-/* deallocated, or will be shortly (so Row[ ].tlen and Col[ ].tlen are */
-/* overwritten) */
-
-#include "umf_internal.h"
-
-GLOBAL Int UMF_tuple_lengths	    /* return memory usage */
-(
-    NumericType *Numeric,
-    WorkType *Work,
-    double *p_dusage		    /* output argument */
-)
-{
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    double dusage ;
-    Int e, nrows, ncols, nel, i, *Rows, *Cols, row, col, n_row, n_col, *E,
-	*Row_degree, *Row_tlen, *Col_degree, *Col_tlen, usage, n1 ;
-    Element *ep ;
-    Unit *p ;
-
-    /* ---------------------------------------------------------------------- */
-    /* get parameters */
-    /* ---------------------------------------------------------------------- */
-
-    E = Work->E ;
-    Row_degree = Numeric->Rperm ;   /* for NON_PIVOTAL_ROW macro only */
-    Col_degree = Numeric->Cperm ;   /* for NON_PIVOTAL_COL macro only */
-    Row_tlen   = Numeric->Uilen ;
-    Col_tlen   = Numeric->Lilen ;
-    n_row = Work->n_row ;
-    n_col = Work->n_col ;
-    n1 = Work->n1 ;
-    nel = Work->nel ;
-
-    DEBUG3 (("TUPLE_LENGTHS: n_row "ID" n_col "ID" nel "ID"\n",
-	n_row, n_col, nel)) ;
-    ASSERT (nel < Work->elen) ;
-
-    /* tuple list lengths already initialized to zero */
-
-    /* ---------------------------------------------------------------------- */
-    /* scan each element: count tuple list lengths (include element 0) */
-    /* ---------------------------------------------------------------------- */
-
-    for (e = 1 ; e <= nel ; e++)	/* for all elements, in any order */
-    {
-	if (E [e])
-	{
-#ifndef NDEBUG
-	    UMF_dump_element (Numeric, Work, e, FALSE) ;
-#endif
-	    p = Numeric->Memory + E [e] ;
-	    GET_ELEMENT_PATTERN (ep, p, Cols, Rows, ncols) ;
-	    nrows = ep->nrows ;
-	    for (i = 0 ; i < nrows ; i++)
-	    {
-		row = Rows [i] ;
-		ASSERT (row == EMPTY || (row >= n1 && row < n_row)) ;
-		if (row >= n1)
-		{
-		    ASSERT (NON_PIVOTAL_ROW (row)) ;
-		    Row_tlen [row] ++ ;
-		}
-	    }
-	    for (i = 0 ; i < ncols ; i++)
-	    {
-		col = Cols [i] ;
-		ASSERT (col == EMPTY || (col >= n1 && col < n_col)) ;
-		if (col >= n1)
-		{
-		    ASSERT (NON_PIVOTAL_COL (col)) ;
-		    Col_tlen [col] ++ ;
-		}
-	    }
-	}
-    }
-
-    /* note: tuple lengths are now modified, but the tuple lists are not */
-    /* updated to reflect that fact. */
-
-    /* ---------------------------------------------------------------------- */
-    /* determine the required memory to hold all the tuple lists */
-    /* ---------------------------------------------------------------------- */
-
-    DEBUG0 (("UMF_build_tuples_usage\n")) ;
-
-    usage = 0 ;
-    dusage = 0 ;
-
-    ASSERT (Col_tlen && Col_degree) ;
-
-    for (col = n1 ; col < n_col ; col++)
-    {
-	if (NON_PIVOTAL_COL (col))
-	{
-	    usage  += 1 +  UNITS (Tuple, TUPLES (Col_tlen [col])) ;
-	    dusage += 1 + DUNITS (Tuple, TUPLES (Col_tlen [col])) ;
-	    DEBUG0 ((" col: "ID" tlen "ID" usage so far: "ID"\n",
-		     col, Col_tlen [col], usage)) ;
-	}
-    }
-
-    ASSERT (Row_tlen && Row_degree) ;
-
-    for (row = n1 ; row < n_row ; row++)
-    {
-	if (NON_PIVOTAL_ROW (row))
-	{
-	    usage  += 1 +  UNITS (Tuple, TUPLES (Row_tlen [row])) ;
-	    dusage += 1 + DUNITS (Tuple, TUPLES (Row_tlen [row])) ;
-	    DEBUG0 ((" row: "ID" tlen "ID" usage so far: "ID"\n",
-		     row, Row_tlen [row], usage)) ;
-	}
-    }
-
-    DEBUG0 (("UMF_build_tuples_usage "ID" %g\n", usage, dusage)) ;
-
-    *p_dusage = dusage ;
-    return (usage) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_tuple_lengths.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL Int UMF_tuple_lengths
-(
-    NumericType *Numeric,
-    WorkType *Work,
-    double *dusage
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_usolve.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,226 +0,0 @@
-/* ========================================================================== */
-/* === UMF_usolve =========================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*  solves Ux = b, where U is the upper triangular factor of a matrix. */
-/*  B is overwritten with the solution X. */
-/*  Returns the floating point operation count */
-
-#include "umf_internal.h"
-
-GLOBAL double UMF_usolve
-(
-    NumericType *Numeric,
-    Entry X [ ],		/* b on input, solution x on output */
-    Int Pattern [ ]		/* a work array of size n */
-)
-{
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    Entry xk ;
-    Entry *xp, *D, *Uval ;
-    Int k, deg, j, *ip, col, *Upos, *Uilen, pos,
-	*Uip, n, ulen, up, newUchain, npiv, n1, *Ui ;
-
-    /* ---------------------------------------------------------------------- */
-    /* get parameters */
-    /* ---------------------------------------------------------------------- */
-
-    if (Numeric->n_row != Numeric->n_col) return (0.) ;
-    n = Numeric->n_row ;
-    npiv = Numeric->npiv ;
-    Upos = Numeric->Upos ;
-    Uilen = Numeric->Uilen ;
-    Uip = Numeric->Uip ;
-    D = Numeric->D ;
-    n1 = Numeric->n1 ;
-
-#ifndef NDEBUG
-    DEBUG4 (("Usolve start:  npiv = "ID" n = "ID"\n", npiv, n)) ;
-    for (j = 0 ; j < n ; j++)
-    {
-	DEBUG4 (("Usolve start "ID": ", j)) ;
-	EDEBUG4 (X [j]) ;
-	DEBUG4 (("\n")) ;
-    }
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* singular case */
-    /* ---------------------------------------------------------------------- */
-
-#ifndef NO_DIVIDE_BY_ZERO
-    /* handle the singular part of D, up to just before the last pivot */
-    for (k = n-1 ; k >= npiv ; k--)
-    {
-	/* This is an *** intentional *** divide-by-zero, to get Inf or Nan,
-	 * as appropriate.  It is not a bug. */
-	ASSERT (IS_ZERO (D [k])) ;
-	xk = X [k] ;
-	/* X [k] = xk / D [k] ; */
-	DIV (X [k], xk, D [k]) ;
-    }
-#else
-    /* Do not divide by zero */
-#endif
-
-    deg = Numeric->ulen ;
-    if (deg > 0)
-    {
-	/* :: make last pivot row of U (singular matrices only) :: */
-	for (j = 0 ; j < deg ; j++)
-	{
-	    DEBUG1 (("Last row of U: j="ID"\n", j)) ;
-	    DEBUG1 (("Last row of U: Upattern[j]="ID"\n",
-		Numeric->Upattern [j]) );
-	    Pattern [j] = Numeric->Upattern [j] ;
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* nonsingletons */
-    /* ---------------------------------------------------------------------- */
-
-    for (k = npiv-1 ; k >= n1 ; k--)
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* use row k of U */
-	/* ------------------------------------------------------------------ */
-
-	up = Uip [k] ;
-	ulen = Uilen [k] ;
-	newUchain = (up < 0) ;
-	if (newUchain)
-	{
-	    up = -up ;
-	    xp = (Entry *) (Numeric->Memory + up + UNITS (Int, ulen)) ;
-	}
-	else
-	{
-	    xp = (Entry *) (Numeric->Memory + up) ;
-	}
-
-	xk = X [k] ;
-	for (j = 0 ; j < deg ; j++)
-	{
-	    DEBUG4 (("  k "ID" col "ID" value", k, Pattern [j])) ;
-	    EDEBUG4 (*xp) ;
-	    DEBUG4 (("\n")) ;
-	    /* xk -= X [Pattern [j]] * (*xp) ; */
-	    MULT_SUB (xk, X [Pattern [j]], *xp) ;
-	    xp++ ;
-	}
-
-#ifndef NO_DIVIDE_BY_ZERO
-	/* Go ahead and divide by zero if D [k] is zero */
-	/* X [k] = xk / D [k] ; */
-	DIV (X [k], xk, D [k]) ;
-#else
-	/* Do not divide by zero */
-	if (IS_NONZERO (D [k]))
-	{
-	    /* X [k] = xk / D [k] ; */
-	    DIV (X [k], xk, D [k]) ;
-	}
-#endif
-
-	/* ------------------------------------------------------------------ */
-	/* make row k-1 of U in Pattern [0..deg-1] */
-	/* ------------------------------------------------------------------ */
-
-	if (k == n1) break ;
-
-	if (newUchain)
-	{
-	    /* next row is a new Uchain */
-	    deg = ulen ;
-	    ASSERT (IMPLIES (k == 0, deg == 0)) ;
-	    DEBUG4 (("end of chain for row of U "ID" deg "ID"\n", k-1, deg)) ;
-	    ip = (Int *) (Numeric->Memory + up) ;
-	    for (j = 0 ; j < deg ; j++)
-	    {
-		col = *ip++ ;
-		DEBUG4 (("  k "ID" col "ID"\n", k-1, col)) ;
-		ASSERT (k <= col) ;
-		Pattern [j] = col ;
-	    }
-	}
-	else
-	{
-	    deg -= ulen ;
-	    DEBUG4 (("middle of chain for row of U "ID" deg "ID"\n", k, deg)) ;
-	    ASSERT (deg >= 0) ;
-	    pos = Upos [k] ;
-	    if (pos != EMPTY)
-	    {
-		/* add the pivot column */
-		DEBUG4 (("k "ID" add pivot entry at pos "ID"\n", k, pos)) ;
-		ASSERT (pos >= 0 && pos <= deg) ;
-		Pattern [deg++] = Pattern [pos] ;
-		Pattern [pos] = k ;
-	    }
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* singletons */
-    /* ---------------------------------------------------------------------- */
-
-    for (k = n1 - 1 ; k >= 0 ; k--)
-    {
-	deg = Uilen [k] ;
-	xk = X [k] ;
-	DEBUG4 (("Singleton k "ID"\n", k)) ;
-	if (deg > 0)
-	{
-	    up = Uip [k] ;
-	    Ui = (Int *) (Numeric->Memory + up) ;
-	    up += UNITS (Int, deg) ;
-	    Uval = (Entry *) (Numeric->Memory + up) ;
-	    for (j = 0 ; j < deg ; j++)
-	    {
-		DEBUG4 (("  k "ID" col "ID" value", k, Ui [j])) ;
-		EDEBUG4 (Uval [j]) ;
-		DEBUG4 (("\n")) ;
-		/* xk -= X [Ui [j]] * Uval [j] ; */
-		ASSERT (Ui [j] >= 0 && Ui [j] < n) ;
-		MULT_SUB (xk, X [Ui [j]], Uval [j]) ;
-	    }
-	}
-
-#ifndef NO_DIVIDE_BY_ZERO
-	/* Go ahead and divide by zero if D [k] is zero */
-	/* X [k] = xk / D [k] ; */
-	DIV (X [k], xk, D [k]) ;
-#else
-	/* Do not divide by zero */
-	if (IS_NONZERO (D [k]))
-	{
-	    /* X [k] = xk / D [k] ; */
-	    DIV (X [k], xk, D [k]) ;
-	}
-#endif
-
-    }
-
-#ifndef NDEBUG
-    for (j = 0 ; j < n ; j++)
-    {
-	DEBUG4 (("Usolve done "ID": ", j)) ;
-	EDEBUG4 (X [j]) ;
-	DEBUG4 (("\n")) ;
-    }
-    DEBUG4 (("Usolve done.\n")) ;
-#endif
-
-    return (DIV_FLOPS * ((double) n) + MULTSUB_FLOPS * ((double) Numeric->unz));
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_usolve.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL double UMF_usolve
-(
-    NumericType *Numeric,
-    Entry X [ ],
-    Int Pattern [ ]
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_utsolve.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,331 +0,0 @@
-/* ========================================================================== */
-/* === UMF_utsolve ========================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*  solves U'x = b or U.'x=b, where U is the upper triangular factor of a */
-/*  matrix.  B is overwritten with the solution X. */
-/*  Returns the floating point operation count */
-
-#include "umf_internal.h"
-
-GLOBAL double
-#ifdef CONJUGATE_SOLVE
-UMF_uhsolve			/* solve U'x=b  (complex conjugate transpose) */
-#else
-UMF_utsolve			/* solve U.'x=b (array transpose) */
-#endif
-(
-    NumericType *Numeric,
-    Entry X [ ],		/* b on input, solution x on output */
-    Int Pattern [ ]		/* a work array of size n */
-)
-{
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    Entry xk ;
-    Entry *xp, *D, *Uval ;
-    Int k, deg, j, *ip, col, *Upos, *Uilen, kstart, kend, up,
-	*Uip, n, uhead, ulen, pos, npiv, n1, *Ui ;
-
-    /* ---------------------------------------------------------------------- */
-    /* get parameters */
-    /* ---------------------------------------------------------------------- */
-
-    if (Numeric->n_row != Numeric->n_col) return (0.) ;
-    n = Numeric->n_row ;
-    npiv = Numeric->npiv ;
-    Upos = Numeric->Upos ;
-    Uilen = Numeric->Uilen ;
-    Uip = Numeric->Uip ;
-    D = Numeric->D ;
-    kend = 0 ;
-    n1 = Numeric->n1 ;
-
-#ifndef NDEBUG
-    DEBUG4 (("Utsolve start: npiv "ID" n "ID"\n", npiv, n)) ;
-    for (j = 0 ; j < n ; j++)
-    {
-	DEBUG4 (("Utsolve start "ID": ", j)) ;
-	EDEBUG4 (X [j]) ;
-	DEBUG4 (("\n")) ;
-    }
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* singletons */
-    /* ---------------------------------------------------------------------- */
-
-    for (k = 0 ; k < n1 ; k++)
-    {
-	DEBUG4 (("Singleton k "ID"\n", k)) ;
-
-#ifndef NO_DIVIDE_BY_ZERO
-	/* Go ahead and divide by zero if D [k] is zero. */
-#ifdef CONJUGATE_SOLVE
-	/* xk = X [k] / conjugate (D [k]) ; */
-	DIV_CONJ (xk, X [k], D [k]) ;
-#else
-	/* xk = X [k] / D [k] ; */
-	DIV (xk, X [k], D [k]) ;
-#endif
-#else
-	/* Do not divide by zero */
-	if (IS_NONZERO (D [k]))
-	{
-#ifdef CONJUGATE_SOLVE
-	    /* xk = X [k] / conjugate (D [k]) ; */
-	    DIV_CONJ (xk, X [k], D [k]) ;
-#else
-	    /* xk = X [k] / D [k] ; */
-	    DIV (xk, X [k], D [k]) ;
-#endif
-	}
-#endif
-
-	X [k] = xk ;
-	deg = Uilen [k] ;
-	if (deg > 0 && IS_NONZERO (xk))
-	{
-	    up = Uip [k] ;
-	    Ui = (Int *) (Numeric->Memory + up) ;
-	    up += UNITS (Int, deg) ;
-	    Uval = (Entry *) (Numeric->Memory + up) ;
-	    for (j = 0 ; j < deg ; j++)
-	    {
-		DEBUG4 (("  k "ID" col "ID" value", k, Ui [j])) ;
-		EDEBUG4 (Uval [j]) ;
-		DEBUG4 (("\n")) ;
-#ifdef CONJUGATE_SOLVE
-		/* X [Ui [j]] -= xk * conjugate (Uval [j]) ; */
-		MULT_SUB_CONJ (X [Ui [j]], xk, Uval [j]) ;
-#else
-		/* X [Ui [j]] -= xk * Uval [j] ; */
-		MULT_SUB (X [Ui [j]], xk, Uval [j]) ;
-#endif
-	    }
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* nonsingletons */
-    /* ---------------------------------------------------------------------- */
-
-    for (kstart = n1 ; kstart < npiv ; kstart = kend + 1)
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* find the end of this Uchain */
-	/* ------------------------------------------------------------------ */
-
-	DEBUG4 (("kstart "ID" kend "ID"\n", kstart, kend)) ;
-	/* for (kend = kstart ; kend < npiv && Uip [kend+1] > 0 ; kend++) ; */
-	kend = kstart ;
-	while (kend < npiv && Uip [kend+1] > 0)
-	{
-	    kend++ ;
-	}
-
-	/* ------------------------------------------------------------------ */
-	/* scan the whole Uchain to find the pattern of the first row of U */
-	/* ------------------------------------------------------------------ */
-
-	k = kend+1 ;
-	DEBUG4 (("\nKend "ID" K "ID"\n", kend, k)) ;
-
-	/* ------------------------------------------------------------------ */
-	/* start with last row in Uchain of U in Pattern [0..deg-1] */
-	/* ------------------------------------------------------------------ */
-
-	if (k == npiv)
-	{
-	    deg = Numeric->ulen ;
-	    if (deg > 0)
-	    {
-		/* :: make last pivot row of U (singular matrices only) :: */
-		for (j = 0 ; j < deg ; j++)
-		{
-		    Pattern [j] = Numeric->Upattern [j] ;
-		}
-	    }
-	}
-	else
-	{
-	    ASSERT (k >= 0 && k < npiv) ;
-	    up = -Uip [k] ;
-	    ASSERT (up > 0) ;
-	    deg = Uilen [k] ;
-	    DEBUG4 (("end of chain for row of U "ID" deg "ID"\n", k-1, deg)) ;
-	    ip = (Int *) (Numeric->Memory + up) ;
-	    for (j = 0 ; j < deg ; j++)
-	    {
-		col = *ip++ ;
-		DEBUG4 (("  k "ID" col "ID"\n", k-1, col)) ;
-		ASSERT (k <= col) ;
-		Pattern [j] = col ;
-	    }
-	}
-
-	/* empty the stack at the bottom of Pattern */
-	uhead = n ;
-
-	for (k = kend ; k > kstart ; k--)
-	{
-	    /* Pattern [0..deg-1] is the pattern of row k of U */
-
-	    /* -------------------------------------------------------------- */
-	    /* make row k-1 of U in Pattern [0..deg-1] */
-	    /* -------------------------------------------------------------- */
-
-	    ASSERT (k >= 0 && k < npiv) ;
-	    ulen = Uilen [k] ;
-	    /* delete, and push on the stack */
-	    for (j = 0 ; j < ulen ; j++)
-	    {
-		ASSERT (uhead >= deg) ;
-		Pattern [--uhead] = Pattern [--deg] ;
-	    }
-	    DEBUG4 (("middle of chain for row of U "ID" deg "ID"\n", k, deg)) ;
-	    ASSERT (deg >= 0) ;
-
-	    pos = Upos [k] ;
-	    if (pos != EMPTY)
-	    {
-		/* add the pivot column */
-		DEBUG4 (("k "ID" add pivot entry at position "ID"\n", k, pos)) ;
-		ASSERT (pos >= 0 && pos <= deg) ;
-		Pattern [deg++] = Pattern [pos] ;
-		Pattern [pos] = k ;
-	    }
-	}
-
-	/* Pattern [0..deg-1] is now the pattern of the first row in Uchain */
-
-	/* ------------------------------------------------------------------ */
-	/* solve using this Uchain, in reverse order */
-	/* ------------------------------------------------------------------ */
-
-	DEBUG4 (("Unwinding Uchain\n")) ;
-	for (k = kstart ; k <= kend ; k++)
-	{
-
-	    /* -------------------------------------------------------------- */
-	    /* construct row k */
-	    /* -------------------------------------------------------------- */
-
-	    ASSERT (k >= 0 && k < npiv) ;
-	    pos = Upos [k] ;
-	    if (pos != EMPTY)
-	    {
-		/* remove the pivot column */
-		DEBUG4 (("k "ID" add pivot entry at position "ID"\n", k, pos)) ;
-		ASSERT (k > kstart) ;
-		ASSERT (pos >= 0 && pos < deg) ;
-		ASSERT (Pattern [pos] == k) ;
-		Pattern [pos] = Pattern [--deg] ;
-	    }
-
-	    up = Uip [k] ;
-	    ulen = Uilen [k] ;
-	    if (k > kstart)
-	    {
-		/* concatenate the deleted pattern; pop from the stack */
-		for (j = 0 ; j < ulen ; j++)
-		{
-		    ASSERT (deg <= uhead && uhead < n) ;
-		    Pattern [deg++] = Pattern [uhead++] ;
-		}
-		DEBUG4 (("middle of chain, row of U "ID" deg "ID"\n", k, deg)) ;
-		ASSERT (deg >= 0) ;
-	    }
-
-	    /* -------------------------------------------------------------- */
-	    /* use row k of U */
-	    /* -------------------------------------------------------------- */
-
-#ifndef NO_DIVIDE_BY_ZERO
-	    /* Go ahead and divide by zero if D [k] is zero. */
-#ifdef CONJUGATE_SOLVE
-	    /* xk = X [k] / conjugate (D [k]) ; */
-	    DIV_CONJ (xk, X [k], D [k]) ;
-#else
-	    /* xk = X [k] / D [k] ; */
-	    DIV (xk, X [k], D [k]) ;
-#endif
-#else
-	    /* Do not divide by zero */
-	    if (IS_NONZERO (D [k]))
-	    {
-#ifdef CONJUGATE_SOLVE
-		/* xk = X [k] / conjugate (D [k]) ; */
-		DIV_CONJ (xk, X [k], D [k]) ;
-#else
-		/* xk = X [k] / D [k] ; */
-		DIV (xk, X [k], D [k]) ;
-#endif
-	    }
-#endif
-
-	    X [k] = xk ;
-	    if (IS_NONZERO (xk))
-	    {
-		if (k == kstart)
-		{
-		    up = -up ;
-		    xp = (Entry *) (Numeric->Memory + up + UNITS (Int, ulen)) ;
-		}
-		else
-		{
-		    xp = (Entry *) (Numeric->Memory + up) ;
-		}
-		for (j = 0 ; j < deg ; j++)
-		{
-		    DEBUG4 (("  k "ID" col "ID" value", k, Pattern [j])) ;
-		    EDEBUG4 (*xp) ;
-		    DEBUG4 (("\n")) ;
-#ifdef CONJUGATE_SOLVE
-		    /* X [Pattern [j]] -= xk * conjugate (*xp) ; */
-		    MULT_SUB_CONJ (X [Pattern [j]], xk, *xp) ;
-#else
-		    /* X [Pattern [j]] -= xk * (*xp) ; */
-		    MULT_SUB (X [Pattern [j]], xk, *xp) ;
-#endif
-		    xp++ ;
-		}
-	    }
-	}
-	ASSERT (uhead == n) ;
-    }
-
-#ifndef NO_DIVIDE_BY_ZERO
-    for (k = npiv ; k < n ; k++)
-    {
-	/* This is an *** intentional *** divide-by-zero, to get Inf or Nan,
-	 * as appropriate.  It is not a bug. */
-	ASSERT (IS_ZERO (D [k])) ;
-	/* For conjugate solve, D [k] == conjugate (D [k]), in this case */
-	/* xk = X [k] / D [k] ; */
-	DIV (xk, X [k], D [k]) ;
-	X [k] = xk ;
-    }
-#endif
-
-#ifndef NDEBUG
-    for (j = 0 ; j < n ; j++)
-    {
-	DEBUG4 (("Utsolve done "ID": ", j)) ;
-	EDEBUG4 (X [j]) ;
-	DEBUG4 (("\n")) ;
-    }
-    DEBUG4 (("Utsolve done.\n")) ;
-#endif
-
-    return (DIV_FLOPS * ((double) n) + MULTSUB_FLOPS * ((double) Numeric->unz));
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_utsolve.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,20 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL double UMF_utsolve
-(
-    NumericType *Numeric,
-    Entry X [ ],
-    Int Pattern [ ]
-) ;
-
-
-GLOBAL double UMF_uhsolve
-(
-    NumericType *Numeric,
-    Entry X [ ],
-    Int Pattern [ ]
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_valid_numeric.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/* ========================================================================== */
-/* === UMF_valid_numeric ==================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/* Returns TRUE if the Numeric object is valid, FALSE otherwise. */
-/* Does not check everything.  UMFPACK_report_numeric checks more. */
-
-#include "umf_internal.h"
-
-GLOBAL Int UMF_valid_numeric
-(
-    NumericType *Numeric
-)
-{
-    /* This routine does not check the contents of the individual arrays, so */
-    /* it can miss some errors.  All it checks for is the presence of the */
-    /* arrays, and the Numeric "valid" entry. */
-
-    if (!Numeric)
-    {
-	return (FALSE) ;
-    }
-
-    if (Numeric->valid != NUMERIC_VALID)
-    {
-	/* Numeric does not point to a NumericType object */
-	return (FALSE) ;
-    }
-
-    if (Numeric->n_row <= 0 || Numeric->n_col <= 0 || !Numeric->D ||
-	!Numeric->Rperm || !Numeric->Cperm ||
-	!Numeric->Lpos || !Numeric->Upos ||
-	!Numeric->Lilen || !Numeric->Uilen || !Numeric->Lip || !Numeric->Uip ||
-	!Numeric->Memory || (Numeric->ulen > 0 && !Numeric->Upattern))
-    {
-	return (FALSE) ;
-    }
-
-    return (TRUE) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_valid_numeric.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL Int UMF_valid_numeric
-(
-    NumericType *Numeric
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_valid_symbolic.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/* ========================================================================== */
-/* === UMF_valid_symbolic =================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-#include "umf_internal.h"
-
-/* Returns TRUE if the Symbolic object is valid, FALSE otherwise. */
-/* The UMFPACK_report_symbolic routine does a more thorough check. */
-
-GLOBAL Int UMF_valid_symbolic
-(
-    SymbolicType *Symbolic
-)
-{
-    /* This routine does not check the contents of the individual arrays, so */
-    /* it can miss some errors.  All it checks for is the presence of the */
-    /* arrays, and the Symbolic "valid" entry. */
-
-    if (!Symbolic)
-    {
-	return (FALSE) ;
-    }
-
-    if (Symbolic->valid != SYMBOLIC_VALID)
-    {
-	/* Symbolic does not point to a SymbolicType object */
-	return (FALSE) ;
-    }
-
-    if (!Symbolic->Cperm_init || !Symbolic->Rperm_init ||
-	!Symbolic->Front_npivcol || !Symbolic->Front_1strow ||
-	!Symbolic->Front_leftmostdesc ||
-	!Symbolic->Front_parent || !Symbolic->Chain_start ||
-	!Symbolic->Chain_maxrows || !Symbolic->Chain_maxcols ||
-	Symbolic->n_row <= 0 || Symbolic->n_col <= 0)
-    {
-	return (FALSE) ;
-    }
-
-    return (TRUE) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_valid_symbolic.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-GLOBAL Int UMF_valid_symbolic
-(
-    SymbolicType *Symbolic
-) ;
--- a/liboctave/UMFPACK/UMFPACK/Source/umf_version.h	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1001 +0,0 @@
-/* ========================================================================== */
-/* === umf_version.h ======================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-   Define routine names, depending on version being compiled.
-
-   DINT:	double precision, int's as integers
-   DLONG:	double precision, long's as integers
-   ZLONG:	complex double precision, long's as integers
-   ZINT:	complex double precision, int's as integers
-*/
-
-/* Set DINT as the default, if nothing is defined */
-#if !defined (DLONG) && !defined (DINT) && !defined (ZLONG) && !defined (ZINT)
-#define DINT
-#endif
-
-/* Determine if this is a real or complex version */
-#if defined (ZLONG) || defined (ZINT)
-#define COMPLEX
-#endif
-
-/* -------------------------------------------------------------------------- */
-/* integer type (Int is int or long) now defined in amd_internal.h */
-/* -------------------------------------------------------------------------- */
-
-#if defined (DLONG) || defined (ZLONG)
-#define LONG_INTEGER
-#endif
-
-/* -------------------------------------------------------------------------- */
-/* Numerical relop macros for correctly handling the NaN case */
-/* -------------------------------------------------------------------------- */
-
-/*
-SCALAR_IS_NAN(x):
-    True if x is NaN.  False otherwise.  The commonly-existing isnan(x)
-    function could be used, but it's not in Kernighan & Ritchie 2nd edition
-    (ANSI C).  It may appear in <math.h>, but I'm not certain about
-    portability.  The expression x != x is true if and only if x is NaN,
-    according to the IEEE 754 floating-point standard.
-
-SCALAR_IS_ZERO(x):
-    True if x is zero.  False if x is nonzero, NaN, or +/- Inf.
-    This is (x == 0) if the compiler is IEEE 754 compliant.
-
-SCALAR_IS_NONZERO(x):
-    True if x is nonzero, NaN, or +/- Inf.  False if x zero.
-    This is (x != 0) if the compiler is IEEE 754 compliant.
-
-SCALAR_IS_LTZERO(x):
-    True if x is < zero or -Inf.  False if x is >= 0, NaN, or +Inf.
-    This is (x < 0) if the compiler is IEEE 754 compliant.
-*/
-
-#if defined (MATHWORKS)
-
-/* The MathWorks has their own macros in util.h that handle NaN's properly. */
-#define SCALAR_IS_NAN(x)	(utIsNaN (x))
-#define SCALAR_IS_ZERO(x)	(utEQZero (x))
-#define SCALAR_IS_NONZERO(x)	(utNEZero (x))
-#define SCALAR_IS_LTZERO(x)	(utLTZero (x))
-
-#elif defined (UMF_WINDOWS)
-
-/* Yes, this is exceedingly ugly.  Blame Microsoft, which hopelessly */
-/* violates the IEEE 754 floating-point standard in a bizarre way. */
-/* If you're using an IEEE 754-compliant compiler, then x != x is true */
-/* iff x is NaN.  For Microsoft, (x < x) is true iff x is NaN. */
-/* So either way, this macro safely detects a NaN. */
-#define SCALAR_IS_NAN(x)	(((x) != (x)) || (((x) < (x))))
-#define SCALAR_IS_ZERO(x)	(((x) == 0.) && !SCALAR_IS_NAN(x))
-#define SCALAR_IS_NONZERO(x)	(((x) != 0.) || SCALAR_IS_NAN(x))
-#define SCALAR_IS_LTZERO(x)	(((x) < 0.) && !SCALAR_IS_NAN(x))
-
-#else
-
-/* These all work properly, according to the IEEE 754 standard ... except on */
-/* a PC with windows.  Works fine in Linux on the same PC... */
-#define SCALAR_IS_NAN(x)	((x) != (x))
-#define SCALAR_IS_ZERO(x)	((x) == 0.)
-#define SCALAR_IS_NONZERO(x)	((x) != 0.)
-#define SCALAR_IS_LTZERO(x)	((x) < 0.)
-
-#endif
-
-/* scalar absolute value macro. If x is NaN, the result is NaN: */
-#define SCALAR_ABS(x) ((SCALAR_IS_LTZERO (x)) ? -(x) : (x))
-
-/* true if an integer (stored in double x) would overflow (or if x is NaN) */
-#define INT_OVERFLOW(x) ((!((x) * (1.0+1e-8) <= (double) Int_MAX)) \
-			|| SCALAR_IS_NAN (x))
-
-/* print a scalar (avoid printing "-0" for negative zero).  */
-#define PRINT_SCALAR(a) \
-{ \
-    if (SCALAR_IS_NONZERO (a)) \
-    { \
-	PRINTF ((" (%g)", (a))) ; \
-    } \
-    else \
-    { \
-	PRINTF ((" (0)")) ; \
-    } \
-}
-
-/* -------------------------------------------------------------------------- */
-/* Real floating-point arithmetic */
-/* -------------------------------------------------------------------------- */
-
-#ifndef COMPLEX
-
-#define Entry double
-
-#define SPLIT(s)    		    (1)
-#define REAL_COMPONENT(c)	    (c)
-#define IMAG_COMPONENT(c)	    (0.)
-#define ASSIGN(c,s1,s2,p,split)	    { (c) = (s1)[p] ; }
-#define CLEAR(c)		    { (c) = 0. ; }
-#define CLEAR_AND_INCREMENT(p)	    { *p++ = 0. ; }
-#define IS_NAN(a)		    SCALAR_IS_NAN (a)
-#define IS_ZERO(a)		    SCALAR_IS_ZERO (a)
-#define IS_NONZERO(a)		    SCALAR_IS_NONZERO (a)
-#define SCALE_DIV(c,s)		    { (c) /= (s) ; }
-#define SCALE(c,s)		    { (c) *= (s) ; }
-#define ASSEMBLE(c,a)		    { (c) += (a) ; }
-#define ASSEMBLE_AND_INCREMENT(c,p) { (c) += *p++ ; }
-#define DECREMENT(c,a)		    { (c) -= (a) ; }
-#define MULT(c,a,b)		    { (c) = (a) * (b) ; }
-#define MULT_CONJ(c,a,b)	    { (c) = (a) * (b) ; }
-#define MULT_SUB(c,a,b)		    { (c) -= (a) * (b) ; }
-#define MULT_SUB_CONJ(c,a,b)	    { (c) -= (a) * (b) ; }
-#define DIV(c,a,b)		    { (c) = (a) / (b) ; }
-#define RECIPROCAL(c)		    { (c) = 1.0 / (c) ; }
-#define DIV_CONJ(c,a,b)		    { (c) = (a) / (b) ; }
-#define APPROX_ABS(s,a)		    { (s) = SCALAR_ABS (a) ; }
-#define ABS(s,a)		    { (s) = SCALAR_ABS (a) ; }
-#define PRINT_ENTRY(a)		    PRINT_SCALAR (a)
-
-/* for flop counts */
-#define MULTSUB_FLOPS	2.	/* c -= a*b */
-#define DIV_FLOPS	1.	/* c = a/b */
-#define ABS_FLOPS	0.	/* c = abs (a) */
-#define ASSEMBLE_FLOPS	1.	/* c += a */
-#define DECREMENT_FLOPS	1.	/* c -= a */
-#define MULT_FLOPS	1.	/* c = a*b */
-#define SCALE_FLOPS	1.	/* c = a/s */
-
-#else
-
-/* -------------------------------------------------------------------------- */
-/* Complex floating-point arithmetic */
-/* -------------------------------------------------------------------------- */
-
-/*
-    Note:  An alternative to this DoubleComplex type would be to use a
-    struct { double r ; double i ; }.  The problem with that method
-    (used by the Sun Performance Library, for example) is that ANSI C provides
-    no guarantee about the layout of a struct.  It is possible that the sizeof
-    the struct above would be greater than 2 * sizeof (double).  This would
-    mean that the complex BLAS could not be used.  The method used here avoids
-    that possibility.  ANSI C *does* guarantee that an array of structs has
-    the same size as n times the size of one struct.
-
-    The ANSI C99 version of the C language includes a "double _Complex" type.
-    It should be possible in that case to do the following:
-
-    #define Entry double _Complex
-
-    and remove the DoubleComplex struct.  The macros, below, could then be
-    replaced with instrinsic operators.  Note that the #define Real and
-    #define Imag should also be removed (they only appear in this file).
-
-    For the MULT, MULT_SUB, MULT_SUB_CONJ, and MULT_CONJ macros,
-    the output argument c cannot be the same as any input argument.
-
-*/
-
-typedef struct
-{
-    double component [2] ;	/* real and imaginary parts */
-
-} DoubleComplex ;
-
-#define Entry DoubleComplex
-#define Real component [0]
-#define Imag component [1]
-
-/* for flop counts */
-#define MULTSUB_FLOPS	8.	/* c -= a*b */
-#define DIV_FLOPS	9.	/* c = a/b */
-#define ABS_FLOPS	6.	/* c = abs (a), count sqrt as one flop */
-#define ASSEMBLE_FLOPS	2.	/* c += a */
-#define DECREMENT_FLOPS	2.	/* c -= a */
-#define MULT_FLOPS	6.	/* c = a*b */
-#define SCALE_FLOPS	2.	/* c = a/s or c = a*s */
-
-/* -------------------------------------------------------------------------- */
-
-/* real part of c */
-#define REAL_COMPONENT(c) ((c).Real)
-
-/* -------------------------------------------------------------------------- */
-
-/* imag part of c */
-#define IMAG_COMPONENT(c) ((c).Imag)
-
-/* -------------------------------------------------------------------------- */
-
-/* Return TRUE if a complex number is in split form, FALSE if in packed form */
-#define SPLIT(sz) ((sz) != (double *) NULL)
-
-/* -------------------------------------------------------------------------- */
-
-/* c = (s1) + (s2)*i, if s2 is null, then X is in "packed" format (compatible
- * with Entry and ANSI C99 double _Complex type).  */
-#define ASSIGN(c,s1,s2,p,split)	\
-{ \
-    if (split) \
-    { \
-        (c).Real = (s1)[p] ; \
-        (c).Imag = (s2)[p] ; \
-    }  \
-    else \
-    { \
- 	(c) = ((Entry *)(s1))[p] ; \
-    }  \
-}
-
-/* -------------------------------------------------------------------------- */
-
-/* c = 0 */
-#define CLEAR(c) \
-{ \
-    (c).Real = 0. ; \
-    (c).Imag = 0. ; \
-}
-
-/* -------------------------------------------------------------------------- */
-
-/* *p++ = 0 */
-#define CLEAR_AND_INCREMENT(p) \
-{ \
-    p->Real = 0. ; \
-    p->Imag = 0. ; \
-    p++ ; \
-}
-
-/* -------------------------------------------------------------------------- */
-
-/* True if a == 0 */
-#define IS_ZERO(a) \
-    (SCALAR_IS_ZERO ((a).Real) && SCALAR_IS_ZERO ((a).Imag))
-
-/* -------------------------------------------------------------------------- */
-
-/* True if a is NaN */
-#define IS_NAN(a) \
-    (SCALAR_IS_NAN ((a).Real) || SCALAR_IS_NAN ((a).Imag))
-
-/* -------------------------------------------------------------------------- */
-
-/* True if a != 0 */
-#define IS_NONZERO(a) \
-    (SCALAR_IS_NONZERO ((a).Real) || SCALAR_IS_NONZERO ((a).Imag))
-
-/* -------------------------------------------------------------------------- */
-
-/* c /= s */
-#define SCALE_DIV(c,s) \
-{ \
-    (c).Real /= (s) ; \
-    (c).Imag /= (s) ; \
-}
-
-/* -------------------------------------------------------------------------- */
-
-/* c *= s */
-#define SCALE(c,s) \
-{ \
-    (c).Real *= (s) ; \
-    (c).Imag *= (s) ; \
-}
-
-/* -------------------------------------------------------------------------- */
-
-/* c += a */
-#define ASSEMBLE(c,a) \
-{ \
-    (c).Real += (a).Real ; \
-    (c).Imag += (a).Imag ; \
-}
-
-/* -------------------------------------------------------------------------- */
-
-/* c += *p++ */
-#define ASSEMBLE_AND_INCREMENT(c,p) \
-{ \
-    (c).Real += p->Real ; \
-    (c).Imag += p->Imag ; \
-    p++ ; \
-}
-
-/* -------------------------------------------------------------------------- */
-
-/* c -= a */
-#define DECREMENT(c,a) \
-{ \
-    (c).Real -= (a).Real ; \
-    (c).Imag -= (a).Imag ; \
-}
-
-/* -------------------------------------------------------------------------- */
-
-/* c = a*b, assert because c cannot be the same as a or b */
-#define MULT(c,a,b) \
-{ \
-    ASSERT (&(c) != &(a) && &(c) != &(b)) ; \
-    (c).Real = (a).Real * (b).Real - (a).Imag * (b).Imag ; \
-    (c).Imag = (a).Imag * (b).Real + (a).Real * (b).Imag ; \
-}
-
-/* -------------------------------------------------------------------------- */
-
-/* c = a*conjugate(b), assert because c cannot be the same as a or b */
-#define MULT_CONJ(c,a,b) \
-{ \
-    ASSERT (&(c) != &(a) && &(c) != &(b)) ; \
-    (c).Real = (a).Real * (b).Real + (a).Imag * (b).Imag ; \
-    (c).Imag = (a).Imag * (b).Real - (a).Real * (b).Imag ; \
-}
-
-/* -------------------------------------------------------------------------- */
-
-/* c -= a*b, assert because c cannot be the same as a or b */
-#define MULT_SUB(c,a,b) \
-{ \
-    ASSERT (&(c) != &(a) && &(c) != &(b)) ; \
-    (c).Real -= (a).Real * (b).Real - (a).Imag * (b).Imag ; \
-    (c).Imag -= (a).Imag * (b).Real + (a).Real * (b).Imag ; \
-}
-
-/* -------------------------------------------------------------------------- */
-
-/* c -= a*conjugate(b), assert because c cannot be the same as a or b */
-#define MULT_SUB_CONJ(c,a,b) \
-{ \
-    ASSERT (&(c) != &(a) && &(c) != &(b)) ; \
-    (c).Real -= (a).Real * (b).Real + (a).Imag * (b).Imag ; \
-    (c).Imag -= (a).Imag * (b).Real - (a).Real * (b).Imag ; \
-}
-
-/* -------------------------------------------------------------------------- */
-
-/* c = a/b, be careful to avoid underflow and overflow */
-#ifdef MATHWORKS
-#define DIV(c,a,b) \
-{ \
-    (void) utDivideComplex ((a).Real, (a).Imag, (b).Real, (b).Imag, \
-	&((c).Real), &((c).Imag)) ; \
-}
-#else
-/* This uses ACM Algo 116, by R. L. Smith, 1962. */
-/* c can be the same variable as a or b. */
-/* Ignore NaN case for double relop br>=bi. */
-#define DIV(c,a,b) \
-{ \
-    double r, den, ar, ai, br, bi ; \
-    br = (b).Real ; \
-    bi = (b).Imag ; \
-    ar = (a).Real ; \
-    ai = (a).Imag ; \
-    if (SCALAR_ABS (br) >= SCALAR_ABS (bi)) \
-    { \
-	r = bi / br ; \
-	den = br + r * bi ; \
-	(c).Real = (ar + ai * r) / den ; \
-	(c).Imag = (ai - ar * r) / den ; \
-    } \
-    else \
-    { \
-	r = br / bi ; \
-	den = r * br + bi ; \
-	(c).Real = (ar * r + ai) / den ; \
-	(c).Imag = (ai * r - ar) / den ; \
-    } \
-}
-#endif
-
-/* -------------------------------------------------------------------------- */
-
-/* c = 1/c, be careful to avoid underflow and overflow */
-/* Not used if MATHWORKS is defined. */
-/* This uses ACM Algo 116, by R. L. Smith, 1962. */
-/* Ignore NaN case for double relop cr>=ci. */
-#define RECIPROCAL(c) \
-{ \
-    double r, den, cr, ci ; \
-    cr = (c).Real ; \
-    ci = (c).Imag ; \
-    if (SCALAR_ABS (cr) >= SCALAR_ABS (ci)) \
-    { \
-	r = ci / cr ; \
-	den = cr + r * ci ; \
-	(c).Real = 1.0 / den ; \
-	(c).Imag = - r / den ; \
-    } \
-    else \
-    { \
-	r = cr / ci ; \
-	den = r * cr + ci ; \
-	(c).Real = r / den ; \
-	(c).Imag = - 1.0 / den ; \
-    } \
-}
-
-
-/* -------------------------------------------------------------------------- */
-
-/* c = a/conjugate(b), be careful to avoid underflow and overflow */
-#ifdef MATHWORKS
-#define DIV_CONJ(c,a,b) \
-{ \
-    (void) utDivideComplex ((a).Real, (a).Imag, (b).Real, (-(b).Imag), \
-	&((c).Real), &((c).Imag)) ; \
-}
-#else
-/* This uses ACM Algo 116, by R. L. Smith, 1962. */
-/* c can be the same variable as a or b. */
-/* Ignore NaN case for double relop br>=bi. */
-#define DIV_CONJ(c,a,b) \
-{ \
-    double r, den, ar, ai, br, bi ; \
-    br = (b).Real ; \
-    bi = (b).Imag ; \
-    ar = (a).Real ; \
-    ai = (a).Imag ; \
-    if (SCALAR_ABS (br) >= SCALAR_ABS (bi)) \
-    { \
-	r = (-bi) / br ; \
-	den = br - r * bi ; \
-	(c).Real = (ar + ai * r) / den ; \
-	(c).Imag = (ai - ar * r) / den ; \
-    } \
-    else \
-    { \
-	r = br / (-bi) ; \
-	den =  r * br - bi; \
-	(c).Real = (ar * r + ai) / den ; \
-	(c).Imag = (ai * r - ar) / den ; \
-    } \
-}
-#endif
-
-/* -------------------------------------------------------------------------- */
-
-/* approximate absolute value, s = |r|+|i| */
-#define APPROX_ABS(s,a) \
-{ \
-    (s) = SCALAR_ABS ((a).Real) + SCALAR_ABS ((a).Imag) ; \
-}
-
-/* -------------------------------------------------------------------------- */
-
-/* exact absolute value, s = sqrt (a.real^2 + amag^2) */
-#ifdef MATHWORKS
-#define ABS(s,a) \
-{ \
-    (s) = utFdlibm_hypot ((a).Real, (a).Imag) ; \
-}
-#else
-/* Ignore NaN case for the double relops ar>=ai and ar+ai==ar. */
-#define ABS(s,a) \
-{ \
-    double r, ar, ai ; \
-    ar = SCALAR_ABS ((a).Real) ; \
-    ai = SCALAR_ABS ((a).Imag) ; \
-    if (ar >= ai) \
-    { \
-	if (ar + ai == ar) \
-	{ \
-	    (s) = ar ; \
-	} \
-	else \
-	{ \
-	    r = ai / ar ; \
-	    (s) = ar * sqrt (1.0 + r*r) ; \
-	} \
-    } \
-    else \
-    { \
-	if (ai + ar == ai) \
-	{ \
-	    (s) = ai ; \
-	} \
-	else \
-	{ \
-	    r = ar / ai ; \
-	    (s) = ai * sqrt (1.0 + r*r) ; \
-	} \
-    } \
-}
-#endif
-
-/* -------------------------------------------------------------------------- */
-
-/* print an entry (avoid printing "-0" for negative zero).  */
-#define PRINT_ENTRY(a) \
-{ \
-    if (SCALAR_IS_NONZERO ((a).Real)) \
-    { \
-	PRINTF ((" (%g", (a).Real)) ; \
-    } \
-    else \
-    { \
-	PRINTF ((" (0")) ; \
-    } \
-    if (SCALAR_IS_LTZERO ((a).Imag)) \
-    { \
-	PRINTF ((" - %gi)", -(a).Imag)) ; \
-    } \
-    else if (SCALAR_IS_ZERO ((a).Imag)) \
-    { \
-	PRINTF ((" + 0i)")) ; \
-    } \
-    else \
-    { \
-	PRINTF ((" + %gi)", (a).Imag)) ; \
-    } \
-}
-
-/* -------------------------------------------------------------------------- */
-
-#endif	/* #ifndef COMPLEX */
-
-/* -------------------------------------------------------------------------- */
-/* Double precision, with int's as integers */
-/* -------------------------------------------------------------------------- */
-
-#ifdef DINT
-
-#define UMF_analyze		 umf_i_analyze
-#define UMF_apply_order		 umf_i_apply_order
-#define UMF_assemble		 umfdi_assemble
-#define UMF_assemble_fixq	 umfdi_assemble_fixq
-#define UMF_blas3_update	 umfdi_blas3_update
-#define UMF_build_tuples	 umfdi_build_tuples
-#define UMF_build_tuples_usage	 umfdi_build_tuples_usage
-#define UMF_colamd		 umf_i_colamd
-#define UMF_colamd_set_defaults	 umf_i_colamd_set_defaults
-#define UMF_create_element	 umfdi_create_element
-#define UMF_extend_front	 umfdi_extend_front
-#define UMF_free		 umf_i_free
-#define UMF_fsize		 umf_i_fsize
-#define UMF_garbage_collection	 umfdi_garbage_collection
-#define UMF_get_memory		 umfdi_get_memory
-#define UMF_grow_front		 umfdi_grow_front
-#define UMF_init_front		 umfdi_init_front
-#define UMF_is_permutation	 umf_i_is_permutation
-#define UMF_kernel		 umfdi_kernel
-#define UMF_kernel_init		 umfdi_kernel_init
-#define UMF_kernel_init_usage	 umfdi_kernel_init_usage
-#define UMF_kernel_wrapup	 umfdi_kernel_wrapup
-#define UMF_local_search	 umfdi_local_search
-#define UMF_lsolve		 umfdi_lsolve
-#define UMF_ltsolve		 umfdi_ltsolve
-#define UMF_lhsolve		 umfdi_lhsolve
-#define UMF_malloc		 umf_i_malloc
-#define UMF_mem_alloc_element	 umfdi_mem_alloc_element
-#define UMF_mem_alloc_head_block umfdi_mem_alloc_head_block
-#define UMF_mem_alloc_tail_block umfdi_mem_alloc_tail_block
-#define UMF_mem_free_tail_block	 umfdi_mem_free_tail_block
-#define UMF_mem_init_memoryspace umfdi_mem_init_memoryspace
-#define UMF_realloc		 umf_i_realloc
-#define UMF_report_perm		 umf_i_report_perm
-#define UMF_report_vector	 umfdi_report_vector
-#define UMF_row_search		 umfdi_row_search
-#define UMF_scale		 umfdi_scale
-#define UMF_scale_column	 umfdi_scale_column
-#define UMF_set_stats		 umf_i_set_stats
-#define UMF_singletons		 umf_i_singletons
-#define UMF_solve		 umfdi_solve
-#define UMF_start_front		 umfdi_start_front
-#define UMF_store_lu		 umfdi_store_lu
-#define UMF_store_lu_drop	 umfdi_store_lu_drop
-#define UMF_symbolic_usage	 umfdi_symbolic_usage
-#define UMF_transpose		 umfdi_transpose
-#define UMF_tuple_lengths	 umfdi_tuple_lengths
-#define UMF_usolve		 umfdi_usolve
-#define UMF_utsolve		 umfdi_utsolve
-#define UMF_uhsolve		 umfdi_uhsolve
-#define UMF_valid_numeric	 umfdi_valid_numeric
-#define UMF_valid_symbolic	 umfdi_valid_symbolic
-#define UMF_triplet_map_x	 umfdi_triplet_map_x
-#define UMF_triplet_map_nox	 umfdi_triplet_map_nox
-#define UMF_triplet_nomap_x	 umfdi_triplet_nomap_x
-#define UMF_triplet_nomap_nox	 umfdi_triplet_nomap_nox
-#define UMF_2by2		 umfdi_2by2
-
-#define UMFPACK_col_to_triplet	 umfpack_di_col_to_triplet
-#define UMFPACK_defaults	 umfpack_di_defaults
-#define UMFPACK_free_numeric	 umfpack_di_free_numeric
-#define UMFPACK_free_symbolic	 umfpack_di_free_symbolic
-#define UMFPACK_get_lunz	 umfpack_di_get_lunz
-#define UMFPACK_get_numeric	 umfpack_di_get_numeric
-#define UMFPACK_get_symbolic	 umfpack_di_get_symbolic
-#define UMFPACK_get_determinant	 umfpack_di_get_determinant
-#define UMFPACK_numeric		 umfpack_di_numeric
-#define UMFPACK_qsymbolic	 umfpack_di_qsymbolic
-#define UMFPACK_report_control	 umfpack_di_report_control
-#define UMFPACK_report_info	 umfpack_di_report_info
-#define UMFPACK_report_matrix	 umfpack_di_report_matrix
-#define UMFPACK_report_numeric	 umfpack_di_report_numeric
-#define UMFPACK_report_perm	 umfpack_di_report_perm
-#define UMFPACK_report_status	 umfpack_di_report_status
-#define UMFPACK_report_symbolic	 umfpack_di_report_symbolic
-#define UMFPACK_report_triplet	 umfpack_di_report_triplet
-#define UMFPACK_report_vector	 umfpack_di_report_vector
-#define UMFPACK_save_numeric	 umfpack_di_save_numeric
-#define UMFPACK_save_symbolic	 umfpack_di_save_symbolic
-#define UMFPACK_load_numeric	 umfpack_di_load_numeric
-#define UMFPACK_load_symbolic	 umfpack_di_load_symbolic
-#define UMFPACK_scale		 umfpack_di_scale
-#define UMFPACK_solve		 umfpack_di_solve
-#define UMFPACK_symbolic	 umfpack_di_symbolic
-#define UMFPACK_transpose	 umfpack_di_transpose
-#define UMFPACK_triplet_to_col	 umfpack_di_triplet_to_col
-#define UMFPACK_wsolve		 umfpack_di_wsolve
-
-/* for debugging only: */
-#define UMF_malloc_count	 umf_i_malloc_count
-#define UMF_debug		 umfdi_debug
-#define UMF_allocfail		 umfdi_allocfail
-#define UMF_gprob		 umfdi_gprob
-#define UMF_dump_dense		 umfdi_dump_dense
-#define UMF_dump_element	 umfdi_dump_element
-#define UMF_dump_rowcol		 umfdi_dump_rowcol
-#define UMF_dump_matrix		 umfdi_dump_matrix
-#define UMF_dump_current_front	 umfdi_dump_current_front
-#define UMF_dump_lu		 umfdi_dump_lu
-#define UMF_dump_memory		 umfdi_dump_memory
-#define UMF_dump_packed_memory	 umfdi_dump_packed_memory
-#define UMF_dump_col_matrix	 umfdi_dump_col_matrix
-#define UMF_dump_chain		 umfdi_dump_chain
-#define UMF_dump_start		 umfdi_dump_start
-#define UMF_dump_rowmerge	 umfdi_dump_rowmerge
-#define UMF_dump_diagonal_map	 umfdi_dump_diagonal_map
-
-#endif
-
-/* -------------------------------------------------------------------------- */
-/* Double precision, with long's as integers */
-/* -------------------------------------------------------------------------- */
-
-#ifdef DLONG
-
-#define UMF_analyze		 umf_l_analyze
-#define UMF_apply_order		 umf_l_apply_order
-#define UMF_assemble		 umfdl_assemble
-#define UMF_assemble_fixq	 umfdl_assemble_fixq
-#define UMF_blas3_update	 umfdl_blas3_update
-#define UMF_build_tuples	 umfdl_build_tuples
-#define UMF_build_tuples_usage	 umfdl_build_tuples_usage
-#define UMF_colamd		 umf_l_colamd
-#define UMF_colamd_set_defaults	 umf_l_colamd_set_defaults
-#define UMF_create_element	 umfdl_create_element
-#define UMF_extend_front	 umfdl_extend_front
-#define UMF_free		 umf_l_free
-#define UMF_fsize		 umf_l_fsize
-#define UMF_garbage_collection	 umfdl_garbage_collection
-#define UMF_get_memory		 umfdl_get_memory
-#define UMF_grow_front		 umfdl_grow_front
-#define UMF_init_front		 umfdl_init_front
-#define UMF_is_permutation	 umf_l_is_permutation
-#define UMF_kernel		 umfdl_kernel
-#define UMF_kernel_init		 umfdl_kernel_init
-#define UMF_kernel_init_usage	 umfdl_kernel_init_usage
-#define UMF_kernel_wrapup	 umfdl_kernel_wrapup
-#define UMF_local_search	 umfdl_local_search
-#define UMF_lsolve		 umfdl_lsolve
-#define UMF_ltsolve		 umfdl_ltsolve
-#define UMF_lhsolve		 umfdl_lhsolve
-#define UMF_malloc		 umf_l_malloc
-#define UMF_mem_alloc_element	 umfdl_mem_alloc_element
-#define UMF_mem_alloc_head_block umfdl_mem_alloc_head_block
-#define UMF_mem_alloc_tail_block umfdl_mem_alloc_tail_block
-#define UMF_mem_free_tail_block	 umfdl_mem_free_tail_block
-#define UMF_mem_init_memoryspace umfdl_mem_init_memoryspace
-#define UMF_realloc		 umf_l_realloc
-#define UMF_report_perm		 umf_l_report_perm
-#define UMF_report_vector	 umfdl_report_vector
-#define UMF_row_search		 umfdl_row_search
-#define UMF_scale		 umfdl_scale
-#define UMF_scale_column	 umfdl_scale_column
-#define UMF_set_stats		 umf_l_set_stats
-#define UMF_singletons		 umf_l_singletons
-#define UMF_solve		 umfdl_solve
-#define UMF_start_front		 umfdl_start_front
-#define UMF_store_lu		 umfdl_store_lu
-#define UMF_store_lu_drop	 umfdl_store_lu_drop
-#define UMF_symbolic_usage	 umfdl_symbolic_usage
-#define UMF_transpose		 umfdl_transpose
-#define UMF_tuple_lengths	 umfdl_tuple_lengths
-#define UMF_usolve		 umfdl_usolve
-#define UMF_utsolve		 umfdl_utsolve
-#define UMF_uhsolve		 umfdl_uhsolve
-#define UMF_valid_numeric	 umfdl_valid_numeric
-#define UMF_valid_symbolic	 umfdl_valid_symbolic
-#define UMF_triplet_map_x	 umfdl_triplet_map_x
-#define UMF_triplet_map_nox	 umfdl_triplet_map_nox
-#define UMF_triplet_nomap_x	 umfdl_triplet_nomap_x
-#define UMF_triplet_nomap_nox	 umfdl_triplet_nomap_nox
-#define UMF_2by2		 umfdl_2by2
-
-#define UMFPACK_col_to_triplet	 umfpack_dl_col_to_triplet
-#define UMFPACK_defaults	 umfpack_dl_defaults
-#define UMFPACK_free_numeric	 umfpack_dl_free_numeric
-#define UMFPACK_free_symbolic	 umfpack_dl_free_symbolic
-#define UMFPACK_get_lunz	 umfpack_dl_get_lunz
-#define UMFPACK_get_numeric	 umfpack_dl_get_numeric
-#define UMFPACK_get_symbolic	 umfpack_dl_get_symbolic
-#define UMFPACK_get_determinant	 umfpack_dl_get_determinant
-#define UMFPACK_numeric		 umfpack_dl_numeric
-#define UMFPACK_qsymbolic	 umfpack_dl_qsymbolic
-#define UMFPACK_report_control	 umfpack_dl_report_control
-#define UMFPACK_report_info	 umfpack_dl_report_info
-#define UMFPACK_report_matrix	 umfpack_dl_report_matrix
-#define UMFPACK_report_numeric	 umfpack_dl_report_numeric
-#define UMFPACK_report_perm	 umfpack_dl_report_perm
-#define UMFPACK_report_status	 umfpack_dl_report_status
-#define UMFPACK_report_symbolic	 umfpack_dl_report_symbolic
-#define UMFPACK_report_triplet	 umfpack_dl_report_triplet
-#define UMFPACK_report_vector	 umfpack_dl_report_vector
-#define UMFPACK_save_numeric	 umfpack_dl_save_numeric
-#define UMFPACK_save_symbolic	 umfpack_dl_save_symbolic
-#define UMFPACK_load_numeric	 umfpack_dl_load_numeric
-#define UMFPACK_load_symbolic	 umfpack_dl_load_symbolic
-#define UMFPACK_scale		 umfpack_dl_scale
-#define UMFPACK_solve		 umfpack_dl_solve
-#define UMFPACK_symbolic	 umfpack_dl_symbolic
-#define UMFPACK_transpose	 umfpack_dl_transpose
-#define UMFPACK_triplet_to_col	 umfpack_dl_triplet_to_col
-#define UMFPACK_wsolve		 umfpack_dl_wsolve
-
-/* for debugging only: */
-#define UMF_malloc_count	 umf_l_malloc_count
-#define UMF_debug		 umfdl_debug
-#define UMF_allocfail		 umfdl_allocfail
-#define UMF_gprob		 umfdl_gprob
-#define UMF_dump_dense		 umfdl_dump_dense
-#define UMF_dump_element	 umfdl_dump_element
-#define UMF_dump_rowcol		 umfdl_dump_rowcol
-#define UMF_dump_matrix		 umfdl_dump_matrix
-#define UMF_dump_current_front	 umfdl_dump_current_front
-#define UMF_dump_lu		 umfdl_dump_lu
-#define UMF_dump_memory		 umfdl_dump_memory
-#define UMF_dump_packed_memory	 umfdl_dump_packed_memory
-#define UMF_dump_col_matrix	 umfdl_dump_col_matrix
-#define UMF_dump_chain		 umfdl_dump_chain
-#define UMF_dump_start		 umfdl_dump_start
-#define UMF_dump_rowmerge	 umfdl_dump_rowmerge
-#define UMF_dump_diagonal_map	 umfdl_dump_diagonal_map
-
-#endif
-
-/* -------------------------------------------------------------------------- */
-/* Complex double precision, with int's as integers */
-/* -------------------------------------------------------------------------- */
-
-#ifdef ZINT
-
-#define UMF_analyze		 umf_i_analyze
-#define UMF_apply_order		 umf_i_apply_order
-#define UMF_assemble		 umfzi_assemble
-#define UMF_assemble_fixq	 umfzi_assemble_fixq
-#define UMF_blas3_update	 umfzi_blas3_update
-#define UMF_build_tuples	 umfzi_build_tuples
-#define UMF_build_tuples_usage	 umfzi_build_tuples_usage
-#define UMF_colamd		 umf_i_colamd
-#define UMF_colamd_set_defaults	 umf_i_colamd_set_defaults
-#define UMF_create_element	 umfzi_create_element
-#define UMF_extend_front	 umfzi_extend_front
-#define UMF_free		 umf_i_free
-#define UMF_fsize		 umf_i_fsize
-#define UMF_garbage_collection	 umfzi_garbage_collection
-#define UMF_get_memory		 umfzi_get_memory
-#define UMF_grow_front		 umfzi_grow_front
-#define UMF_init_front		 umfzi_init_front
-#define UMF_is_permutation	 umf_i_is_permutation
-#define UMF_kernel		 umfzi_kernel
-#define UMF_kernel_init		 umfzi_kernel_init
-#define UMF_kernel_init_usage	 umfzi_kernel_init_usage
-#define UMF_kernel_wrapup	 umfzi_kernel_wrapup
-#define UMF_local_search	 umfzi_local_search
-#define UMF_lsolve		 umfzi_lsolve
-#define UMF_ltsolve		 umfzi_ltsolve
-#define UMF_lhsolve		 umfzi_lhsolve
-#define UMF_malloc		 umf_i_malloc
-#define UMF_mem_alloc_element	 umfzi_mem_alloc_element
-#define UMF_mem_alloc_head_block umfzi_mem_alloc_head_block
-#define UMF_mem_alloc_tail_block umfzi_mem_alloc_tail_block
-#define UMF_mem_free_tail_block	 umfzi_mem_free_tail_block
-#define UMF_mem_init_memoryspace umfzi_mem_init_memoryspace
-#define UMF_realloc		 umf_i_realloc
-#define UMF_report_perm		 umf_i_report_perm
-#define UMF_report_vector	 umfzi_report_vector
-#define UMF_row_search		 umfzi_row_search
-#define UMF_scale		 umfzi_scale
-#define UMF_scale_column	 umfzi_scale_column
-#define UMF_set_stats		 umfzi_set_stats
-#define UMF_singletons		 umf_i_singletons
-#define UMF_solve		 umfzi_solve
-#define UMF_start_front		 umfzi_start_front
-#define UMF_store_lu		 umfzi_store_lu
-#define UMF_store_lu_drop	 umfzi_store_lu_drop
-#define UMF_symbolic_usage	 umfzi_symbolic_usage
-#define UMF_transpose		 umfzi_transpose
-#define UMF_tuple_lengths	 umfzi_tuple_lengths
-#define UMF_usolve		 umfzi_usolve
-#define UMF_utsolve		 umfzi_utsolve
-#define UMF_uhsolve		 umfzi_uhsolve
-#define UMF_valid_numeric	 umfzi_valid_numeric
-#define UMF_valid_symbolic	 umfzi_valid_symbolic
-#define UMF_triplet_map_x	 umfzi_triplet_map_x
-#define UMF_triplet_map_nox	 umfzi_triplet_map_nox
-#define UMF_triplet_nomap_x	 umfzi_triplet_nomap_x
-#define UMF_triplet_nomap_nox	 umfzi_triplet_nomap_nox
-#define UMF_2by2		 umfzi_2by2
-
-#define UMFPACK_col_to_triplet	 umfpack_zi_col_to_triplet
-#define UMFPACK_defaults	 umfpack_zi_defaults
-#define UMFPACK_free_numeric	 umfpack_zi_free_numeric
-#define UMFPACK_free_symbolic	 umfpack_zi_free_symbolic
-#define UMFPACK_get_lunz	 umfpack_zi_get_lunz
-#define UMFPACK_get_numeric	 umfpack_zi_get_numeric
-#define UMFPACK_get_symbolic	 umfpack_zi_get_symbolic
-#define UMFPACK_get_determinant	 umfpack_zi_get_determinant
-#define UMFPACK_numeric		 umfpack_zi_numeric
-#define UMFPACK_qsymbolic	 umfpack_zi_qsymbolic
-#define UMFPACK_report_control	 umfpack_zi_report_control
-#define UMFPACK_report_info	 umfpack_zi_report_info
-#define UMFPACK_report_matrix	 umfpack_zi_report_matrix
-#define UMFPACK_report_numeric	 umfpack_zi_report_numeric
-#define UMFPACK_report_perm	 umfpack_zi_report_perm
-#define UMFPACK_report_status	 umfpack_zi_report_status
-#define UMFPACK_report_symbolic	 umfpack_zi_report_symbolic
-#define UMFPACK_report_triplet	 umfpack_zi_report_triplet
-#define UMFPACK_report_vector	 umfpack_zi_report_vector
-#define UMFPACK_save_numeric	 umfpack_zi_save_numeric
-#define UMFPACK_save_symbolic	 umfpack_zi_save_symbolic
-#define UMFPACK_load_numeric	 umfpack_zi_load_numeric
-#define UMFPACK_load_symbolic	 umfpack_zi_load_symbolic
-#define UMFPACK_scale		 umfpack_zi_scale
-#define UMFPACK_solve		 umfpack_zi_solve
-#define UMFPACK_symbolic	 umfpack_zi_symbolic
-#define UMFPACK_transpose	 umfpack_zi_transpose
-#define UMFPACK_triplet_to_col	 umfpack_zi_triplet_to_col
-#define UMFPACK_wsolve		 umfpack_zi_wsolve
-
-/* for debugging only: */
-#define UMF_malloc_count	 umf_i_malloc_count
-#define UMF_debug		 umfzi_debug
-#define UMF_allocfail		 umfzi_allocfail
-#define UMF_gprob		 umfzi_gprob
-#define UMF_dump_dense		 umfzi_dump_dense
-#define UMF_dump_element	 umfzi_dump_element
-#define UMF_dump_rowcol		 umfzi_dump_rowcol
-#define UMF_dump_matrix		 umfzi_dump_matrix
-#define UMF_dump_current_front	 umfzi_dump_current_front
-#define UMF_dump_lu		 umfzi_dump_lu
-#define UMF_dump_memory		 umfzi_dump_memory
-#define UMF_dump_packed_memory	 umfzi_dump_packed_memory
-#define UMF_dump_col_matrix	 umfzi_dump_col_matrix
-#define UMF_dump_chain		 umfzi_dump_chain
-#define UMF_dump_start		 umfzi_dump_start
-#define UMF_dump_rowmerge	 umfzi_dump_rowmerge
-#define UMF_dump_diagonal_map	 umfzi_dump_diagonal_map
-
-#endif
-
-/* -------------------------------------------------------------------------- */
-/* Complex double precision, with long's as integers */
-/* -------------------------------------------------------------------------- */
-
-#ifdef ZLONG
-
-#define UMF_analyze		 umf_l_analyze
-#define UMF_apply_order		 umf_l_apply_order
-#define UMF_assemble		 umfzl_assemble
-#define UMF_assemble_fixq	 umfzl_assemble_fixq
-#define UMF_blas3_update	 umfzl_blas3_update
-#define UMF_build_tuples	 umfzl_build_tuples
-#define UMF_build_tuples_usage	 umfzl_build_tuples_usage
-#define UMF_colamd		 umf_l_colamd
-#define UMF_colamd_set_defaults	 umf_l_colamd_set_defaults
-#define UMF_create_element	 umfzl_create_element
-#define UMF_extend_front	 umfzl_extend_front
-#define UMF_free		 umf_l_free
-#define UMF_fsize		 umf_l_fsize
-#define UMF_garbage_collection	 umfzl_garbage_collection
-#define UMF_get_memory		 umfzl_get_memory
-#define UMF_grow_front		 umfzl_grow_front
-#define UMF_init_front		 umfzl_init_front
-#define UMF_is_permutation	 umf_l_is_permutation
-#define UMF_kernel		 umfzl_kernel
-#define UMF_kernel_init		 umfzl_kernel_init
-#define UMF_kernel_init_usage	 umfzl_kernel_init_usage
-#define UMF_kernel_wrapup	 umfzl_kernel_wrapup
-#define UMF_local_search	 umfzl_local_search
-#define UMF_lsolve		 umfzl_lsolve
-#define UMF_ltsolve		 umfzl_ltsolve
-#define UMF_lhsolve		 umfzl_lhsolve
-#define UMF_malloc		 umf_l_malloc
-#define UMF_mem_alloc_element	 umfzl_mem_alloc_element
-#define UMF_mem_alloc_head_block umfzl_mem_alloc_head_block
-#define UMF_mem_alloc_tail_block umfzl_mem_alloc_tail_block
-#define UMF_mem_free_tail_block	 umfzl_mem_free_tail_block
-#define UMF_mem_init_memoryspace umfzl_mem_init_memoryspace
-#define UMF_realloc		 umf_l_realloc
-#define UMF_report_perm		 umf_l_report_perm
-#define UMF_report_vector	 umfzl_report_vector
-#define UMF_row_search		 umfzl_row_search
-#define UMF_scale		 umfzl_scale
-#define UMF_scale_column	 umfzl_scale_column
-#define UMF_set_stats		 umfzl_set_stats
-#define UMF_singletons		 umf_l_singletons
-#define UMF_solve		 umfzl_solve
-#define UMF_start_front		 umfzl_start_front
-#define UMF_store_lu		 umfzl_store_lu
-#define UMF_store_lu_drop	 umfzl_store_lu_drop
-#define UMF_symbolic_usage	 umfzl_symbolic_usage
-#define UMF_transpose		 umfzl_transpose
-#define UMF_tuple_lengths	 umfzl_tuple_lengths
-#define UMF_usolve		 umfzl_usolve
-#define UMF_utsolve		 umfzl_utsolve
-#define UMF_uhsolve		 umfzl_uhsolve
-#define UMF_valid_numeric	 umfzl_valid_numeric
-#define UMF_valid_symbolic	 umfzl_valid_symbolic
-#define UMF_triplet_map_x	 umfzl_triplet_map_x
-#define UMF_triplet_map_nox	 umfzl_triplet_map_nox
-#define UMF_triplet_nomap_x	 umfzl_triplet_nomap_x
-#define UMF_triplet_nomap_nox	 umfzl_triplet_nomap_nox
-#define UMF_2by2		 umfzl_2by2
-
-#define UMFPACK_col_to_triplet	 umfpack_zl_col_to_triplet
-#define UMFPACK_defaults	 umfpack_zl_defaults
-#define UMFPACK_free_numeric	 umfpack_zl_free_numeric
-#define UMFPACK_free_symbolic	 umfpack_zl_free_symbolic
-#define UMFPACK_get_lunz	 umfpack_zl_get_lunz
-#define UMFPACK_get_numeric	 umfpack_zl_get_numeric
-#define UMFPACK_get_symbolic	 umfpack_zl_get_symbolic
-#define UMFPACK_get_determinant	 umfpack_zl_get_determinant
-#define UMFPACK_numeric		 umfpack_zl_numeric
-#define UMFPACK_qsymbolic	 umfpack_zl_qsymbolic
-#define UMFPACK_report_control	 umfpack_zl_report_control
-#define UMFPACK_report_info	 umfpack_zl_report_info
-#define UMFPACK_report_matrix	 umfpack_zl_report_matrix
-#define UMFPACK_report_numeric	 umfpack_zl_report_numeric
-#define UMFPACK_report_perm	 umfpack_zl_report_perm
-#define UMFPACK_report_status	 umfpack_zl_report_status
-#define UMFPACK_report_symbolic	 umfpack_zl_report_symbolic
-#define UMFPACK_report_triplet	 umfpack_zl_report_triplet
-#define UMFPACK_report_vector	 umfpack_zl_report_vector
-#define UMFPACK_save_numeric	 umfpack_zl_save_numeric
-#define UMFPACK_save_symbolic	 umfpack_zl_save_symbolic
-#define UMFPACK_load_numeric	 umfpack_zl_load_numeric
-#define UMFPACK_load_symbolic	 umfpack_zl_load_symbolic
-#define UMFPACK_scale		 umfpack_zl_scale
-#define UMFPACK_solve		 umfpack_zl_solve
-#define UMFPACK_symbolic	 umfpack_zl_symbolic
-#define UMFPACK_transpose	 umfpack_zl_transpose
-#define UMFPACK_triplet_to_col	 umfpack_zl_triplet_to_col
-#define UMFPACK_wsolve		 umfpack_zl_wsolve
-
-/* for debugging only: */
-#define UMF_malloc_count	 umf_l_malloc_count
-#define UMF_debug		 umfzl_debug
-#define UMF_allocfail		 umfzl_allocfail
-#define UMF_gprob		 umfzl_gprob
-#define UMF_dump_dense		 umfzl_dump_dense
-#define UMF_dump_element	 umfzl_dump_element
-#define UMF_dump_rowcol		 umfzl_dump_rowcol
-#define UMF_dump_matrix		 umfzl_dump_matrix
-#define UMF_dump_current_front	 umfzl_dump_current_front
-#define UMF_dump_lu		 umfzl_dump_lu
-#define UMF_dump_memory		 umfzl_dump_memory
-#define UMF_dump_packed_memory	 umfzl_dump_packed_memory
-#define UMF_dump_col_matrix	 umfzl_dump_col_matrix
-#define UMF_dump_chain		 umfzl_dump_chain
-#define UMF_dump_start		 umfzl_dump_start
-#define UMF_dump_rowmerge	 umfzl_dump_rowmerge
-#define UMF_dump_diagonal_map	 umfzl_dump_diagonal_map
-
-#endif
--- a/liboctave/UMFPACK/UMFPACK/Source/umfpack_col_to_triplet.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/* ========================================================================== */
-/* === UMFPACK_col_to_triplet =============================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    User callable.  Converts a column-oriented input matrix to triplet form by
-    constructing the column indices Tj from the column pointers Ap.  The matrix
-    may be singular.  See umfpack_col_to_triplet.h for details.
-
-*/
-
-#include "umf_internal.h"
-
-GLOBAL Int UMFPACK_col_to_triplet
-(
-    Int n_col,
-    const Int Ap [ ],
-    Int Tj [ ]
-)
-{
-
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    Int nz, j, p, p1, p2, length ;
-
-    /* ---------------------------------------------------------------------- */
-    /* construct the column indices */
-    /* ---------------------------------------------------------------------- */
-
-    if (!Ap || !Tj)
-    {
-	return (UMFPACK_ERROR_argument_missing) ;
-    }
-    if (n_col <= 0)
-    {
-	return (UMFPACK_ERROR_n_nonpositive) ;
-    }
-    if (Ap [0] != 0)
-    {
-	return (UMFPACK_ERROR_invalid_matrix) ;
-    }
-    nz = Ap [n_col] ;
-    if (nz < 0)
-    {
-	return (UMFPACK_ERROR_invalid_matrix) ;
-    }
-
-    for (j = 0 ; j < n_col ; j++)
-    {
-	p1 = Ap [j] ;
-	p2 = Ap [j+1] ;
-	length = p2 - p1 ;
-	if (length < 0 || p2 > nz)
-	{
-	    return (UMFPACK_ERROR_invalid_matrix) ;
-	}
-	for (p = p1 ; p < p2 ; p++)
-	{
-	    Tj [p] = j ;
-	}
-    }
-
-    return (UMFPACK_OK) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umfpack_defaults.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +0,0 @@
-/* ========================================================================== */
-/* === UMFPACK_defaults ===================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    User-callable.  Sets default control parameters.  See umfpack_defaults.h
-    for details.
-*/
-
-#include "umf_internal.h"
-
-GLOBAL void UMFPACK_defaults
-(
-    double Control [UMFPACK_CONTROL]
-)
-{
-    Int i ;
-
-    if (!Control)
-    {
-	/* silently return if no Control array */
-	return ;
-    }
-
-    for (i = 0 ; i < UMFPACK_CONTROL ; i++)
-    {
-	Control [i] = 0 ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* default control settings: can be modified at run-time */
-    /* ---------------------------------------------------------------------- */
-
-    /* used in UMFPACK_report_* routines: */
-    Control [UMFPACK_PRL] = UMFPACK_DEFAULT_PRL ;
-
-    /* used in UMFPACK_*symbolic: */
-    Control [UMFPACK_DENSE_ROW] = UMFPACK_DEFAULT_DENSE_ROW ;
-    Control [UMFPACK_DENSE_COL] = UMFPACK_DEFAULT_DENSE_COL ;
-    Control [UMFPACK_AMD_DENSE] = UMFPACK_DEFAULT_AMD_DENSE ;
-    Control [UMFPACK_STRATEGY] = UMFPACK_DEFAULT_STRATEGY ;
-    Control [UMFPACK_2BY2_TOLERANCE] = UMFPACK_DEFAULT_2BY2_TOLERANCE ;
-    Control [UMFPACK_AGGRESSIVE] = UMFPACK_DEFAULT_AGGRESSIVE ;
-
-    /* used in UMFPACK_numeric: */
-    Control [UMFPACK_PIVOT_TOLERANCE] = UMFPACK_DEFAULT_PIVOT_TOLERANCE ;
-    Control [UMFPACK_SYM_PIVOT_TOLERANCE] = UMFPACK_DEFAULT_SYM_PIVOT_TOLERANCE;
-    Control [UMFPACK_BLOCK_SIZE] = UMFPACK_DEFAULT_BLOCK_SIZE ;
-    Control [UMFPACK_ALLOC_INIT] = UMFPACK_DEFAULT_ALLOC_INIT ;
-    Control [UMFPACK_FRONT_ALLOC_INIT] = UMFPACK_DEFAULT_FRONT_ALLOC_INIT ;
-    Control [UMFPACK_SCALE] = UMFPACK_DEFAULT_SCALE ;
-
-    /* used in UMFPACK_*solve: */
-    Control [UMFPACK_IRSTEP] = UMFPACK_DEFAULT_IRSTEP ;
-
-    /* ---------------------------------------------------------------------- */
-    /* compile-time settings: cannot be modified at run-time */
-    /* ---------------------------------------------------------------------- */
-
-#ifdef USE_NO_BLAS
-    /* do not use the BLAS - use in-line C code instead */
-    Control [UMFPACK_COMPILED_WITH_BLAS] = 0 ;
-#else
-    /* use externally-provided BLAS (dgemm, dger, dgemv, zgemm, zgeru, zgemv) */
-    Control [UMFPACK_COMPILED_WITH_BLAS] = 1 ;
-#endif
-
-#ifdef MATLAB_MEX_FILE
-    /* use mxMalloc, mxFree, mxRealloc, and mexPrintf */
-    /* use mxAssert if debugging is enabled */
-    Control [UMFPACK_COMPILED_FOR_MATLAB] = 1 ;
-#else
-#ifdef MATHWORKS
-    /* use internal utMalloc, utFree, utRealloc, and utPrintf routines. */
-    /* use utDivideComplex and utFdlibm_hypot for complex version. */
-    /* use utAssert if debugging is enabled. */
-    Control [UMFPACK_COMPILED_FOR_MATLAB] = 2 ;
-#else
-    /* use ANSI C malloc, free, realloc, and print */
-    /* use ANSI C assert if debugging is enabled */
-    Control [UMFPACK_COMPILED_FOR_MATLAB] = 0 ;
-#endif
-#endif
-
-#ifdef NO_TIMER
-    /* no timer used */
-    Control [UMFPACK_COMPILED_WITH_GETRUSAGE] = 3 ;
-#ifndef NPOSIX
-    /* uses the POSIX sysconf ( ) and times ( ) routines in UMFPACK_tic, toc */
-    Control [UMFPACK_COMPILED_WITH_GETRUSAGE] = 2 ;
-#else
-#ifdef GETRUSAGE
-    /* uses the non-standard getrusage to get CPU time (Solaris) */
-    Control [UMFPACK_COMPILED_WITH_GETRUSAGE] = 1 ;
-#else
-    /* uses the ANSI standard clock routine to get CPU time */
-    /* this may wrap around */
-    Control [UMFPACK_COMPILED_WITH_GETRUSAGE] = 0 ;
-#endif
-#endif
-#endif
-
-#ifndef NDEBUG
-    /* UMFPACK is compiled in debug mode. */
-    /* This is exceedingly slow. */
-    DEBUG0 (("UMFPACK is running in debug mode.  This is very slow!\n")) ;
-    Control [UMFPACK_COMPILED_IN_DEBUG_MODE] = 1 ;
-#else
-    /* UMFPACK is compiled in normal (non-debug) mode */
-    Control [UMFPACK_COMPILED_IN_DEBUG_MODE] = 0 ;
-#endif
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umfpack_free_numeric.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/* ========================================================================== */
-/* === UMFPACK_free_numeric ================================================= */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*  User-callable.  Free the entire Numeric object (consists of 11 to 13
- *  malloc'd objects.  See UMFPACK_free_numeric.h for details.
- */
-
-#include "umf_internal.h"
-#include "umf_free.h"
-
-GLOBAL void UMFPACK_free_numeric
-(
-    void **NumericHandle
-)
-{
-
-    NumericType *Numeric ;
-    if (!NumericHandle)
-    {
-	return ;
-    }
-    Numeric = *((NumericType **) NumericHandle) ;
-    if (!Numeric)
-    {
-	return ;
-    }
-
-    /* these 9 objects always exist */
-    (void) UMF_free ((void *) Numeric->D) ;
-    (void) UMF_free ((void *) Numeric->Rperm) ;
-    (void) UMF_free ((void *) Numeric->Cperm) ;
-    (void) UMF_free ((void *) Numeric->Lpos) ;
-    (void) UMF_free ((void *) Numeric->Lilen) ;
-    (void) UMF_free ((void *) Numeric->Lip) ;
-    (void) UMF_free ((void *) Numeric->Upos) ;
-    (void) UMF_free ((void *) Numeric->Uilen) ;
-    (void) UMF_free ((void *) Numeric->Uip) ;
-
-    /* Rs does not exist if scaling was not performed */
-    (void) UMF_free ((void *) Numeric->Rs) ;
-
-    /* Upattern can only exist for singular or rectangular matrices */
-    (void) UMF_free ((void *) Numeric->Upattern) ;
-
-    /* these 2 objects always exist */
-    (void) UMF_free ((void *) Numeric->Memory) ;
-    (void) UMF_free ((void *) Numeric) ;
-
-    *NumericHandle = (void *) NULL ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umfpack_free_symbolic.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/* ========================================================================== */
-/* === UMFPACK_free_symbolic ================================================ */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    User-callable.  See umfpack_free_symbolic.h for details.
-    All 10 objects comprising the Symbolic object are free'd via UMF_free.
-*/
-
-#include "umf_internal.h"
-#include "umf_free.h"
-
-GLOBAL void UMFPACK_free_symbolic
-(
-    void **SymbolicHandle
-)
-{
-
-    SymbolicType *Symbolic ;
-    if (!SymbolicHandle)
-    {
-	return ;
-    }
-    Symbolic = *((SymbolicType **) SymbolicHandle) ;
-    if (!Symbolic)
-    {
-	return ;
-    }
-
-    (void) UMF_free ((void *) Symbolic->Cperm_init) ;
-    (void) UMF_free ((void *) Symbolic->Rperm_init) ;
-    (void) UMF_free ((void *) Symbolic->Front_npivcol) ;
-    (void) UMF_free ((void *) Symbolic->Front_parent) ;
-    (void) UMF_free ((void *) Symbolic->Front_1strow) ;
-    (void) UMF_free ((void *) Symbolic->Front_leftmostdesc) ;
-    (void) UMF_free ((void *) Symbolic->Chain_start) ;
-    (void) UMF_free ((void *) Symbolic->Chain_maxrows) ;
-    (void) UMF_free ((void *) Symbolic->Chain_maxcols) ;
-    (void) UMF_free ((void *) Symbolic->Cdeg) ;
-    (void) UMF_free ((void *) Symbolic->Rdeg) ;
-
-    /* only when dense rows are present */
-    (void) UMF_free ((void *) Symbolic->Esize) ;
-
-    /* only when diagonal pivoting is prefered */
-    (void) UMF_free ((void *) Symbolic->Diagonal_map) ;
-
-    (void) UMF_free ((void *) Symbolic) ;
-    *SymbolicHandle = (void *) NULL ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umfpack_get_determinant.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,307 +0,0 @@
-/* ========================================================================== */
-/* === UMFPACK_get_determinant ============================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    User-callable.  From the LU factors, scale factor, and permutation vectors
-    held in the Numeric object, calculates the determinant of the matrix A.
-    See umfpack_get_determinant.h for a more detailed description.
-
-    Dynamic memory usage:  calls UMF_malloc once, for a total space of
-    n integers, and then frees all of it via UMF_free when done.
-
-    Contributed by David Bateman, Motorola, Nov. 2004.
-    Modified for V4.4, Jan. 2005.
-*/
-
-#include "umf_internal.h"
-#include "umf_valid_numeric.h"
-#include "umf_malloc.h"
-#include "umf_free.h"
-
-/* ========================================================================== */
-/* === rescale_determinant ================================================== */
-/* ========================================================================== */
-
-/* If the mantissa is too big or too small, rescale it and change exponent */
-
-PRIVATE Int rescale_determinant
-(
-    Entry *d_mantissa,
-    double *d_exponent
-)
-{
-    double d_abs ;
-
-    ABS (d_abs, *d_mantissa) ;
-
-    if (SCALAR_IS_ZERO (d_abs))
-    {
-	/* the determinant is zero */
-	*d_exponent = 0 ;
-	return (FALSE) ;
-    }
-
-    if (SCALAR_IS_NAN (d_abs))
-    {
-	/* the determinant is NaN */
-	return (FALSE) ;
-    }
-
-    while (d_abs < 1.)
-    {
-	SCALE (*d_mantissa, 10.0) ;
-	*d_exponent = *d_exponent - 1.0 ;
-	ABS (d_abs, *d_mantissa) ;
-    }
-
-    while (d_abs >= 10.)
-    {
-	SCALE (*d_mantissa, 0.1) ;
-	*d_exponent = *d_exponent + 1.0 ;
-	ABS (d_abs, *d_mantissa) ;
-    }
-
-    return (TRUE) ;
-}
-
-/* ========================================================================== */
-/* === UMFPACK_get_determinant ============================================== */
-/* ========================================================================== */
-
-GLOBAL Int UMFPACK_get_determinant
-(
-    double *Mx,
-#ifdef COMPLEX
-    double *Mz,
-#endif
-    double *Ex,
-    void *NumericHandle,
-    double User_Info [UMFPACK_INFO]
-)
-{
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    Entry d_mantissa, d_tmp ;
-    double d_exponent, Info2 [UMFPACK_INFO], one [2] = {1.0, 0.0}, d_sign ;
-    Entry *D ;
-    double *Info, *Rs ;
-    NumericType *Numeric ;
-    Int i, n, itmp, npiv, *Wi, *Rperm, *Cperm, do_scale ;
-
-#ifndef NRECIPROCAL
-    Int do_recip ;
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* check input parameters */
-    /* ---------------------------------------------------------------------- */
-
-    if (User_Info != (double *) NULL)
-    {
-	/* return Info in user's array */
-	Info = User_Info ;
-    }
-    else
-    {
-	/* no Info array passed - use local one instead */
-	Info = Info2 ;
-	for (i = 0 ; i < UMFPACK_INFO ; i++)
-	{
-	    Info [i] = EMPTY ;
-	}
-    }
-
-    Info [UMFPACK_STATUS] = UMFPACK_OK ;
-
-    Numeric = (NumericType *) NumericHandle ;
-    if (!UMF_valid_numeric (Numeric))
-    {
-	Info [UMFPACK_STATUS] = UMFPACK_ERROR_invalid_Numeric_object ;
-	return (UMFPACK_ERROR_invalid_Numeric_object) ;
-    }
-
-    if (Numeric->n_row != Numeric->n_col)
-    {
-	/* only square systems can be handled */
-	Info [UMFPACK_STATUS] = UMFPACK_ERROR_invalid_system ;
-	return (UMFPACK_ERROR_invalid_system) ;
-    }
-
-    if (Mx == (double *) NULL)
-    {
-	Info [UMFPACK_STATUS] = UMFPACK_ERROR_argument_missing ;
-	return (UMFPACK_ERROR_argument_missing) ;
-    }
-
-    n = Numeric->n_row ;
-
-    /* ---------------------------------------------------------------------- */
-    /* allocate workspace */
-    /* ---------------------------------------------------------------------- */
-
-    Wi = (Int *) UMF_malloc (n, sizeof (Int)) ;
-
-    if (!Wi)
-    {
-	DEBUGm4 (("out of memory: get determinant\n")) ;
-	Info [UMFPACK_STATUS] = UMFPACK_ERROR_out_of_memory ;
-	return (UMFPACK_ERROR_out_of_memory) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* compute the determinant */
-    /* ---------------------------------------------------------------------- */
-
-    Rs = Numeric->Rs ;		/* row scale factors */
-    do_scale = (Rs != (double *) NULL) ;
-
-#ifndef NRECIPROCAL
-    do_recip = Numeric->do_recip ;
-#endif
-
-    d_mantissa = ((Entry *) one) [0] ;
-    d_exponent = 0.0 ;
-    D = Numeric->D ;
-
-    /* compute product of diagonal entries of U */
-    for (i = 0 ; i < n ; i++)
-    {
-	MULT (d_tmp, d_mantissa, D [i]) ;
-	d_mantissa = d_tmp ;
-
-	if (!rescale_determinant (&d_mantissa, &d_exponent))
-	{
-	    /* the determinant is zero or NaN */
-	    Info [UMFPACK_STATUS] = UMFPACK_WARNING_singular_matrix ;
-	    /* no need to compute the determinant of R */
-	    do_scale = FALSE ;
-	    break ;
-	}
-    }
-
-    /* compute product of diagonal entries of R (or its inverse) */
-    if (do_scale)
-    {
-	for (i = 0 ; i < n ; i++)
-	{
-#ifndef NRECIPROCAL
-	    if (do_recip)
-	    {
-		/* compute determinant of R inverse */
-		SCALE_DIV (d_mantissa, Rs [i]) ;
-	    }
-	    else
-#endif
-	    {
-		/* compute determinant of R */
-		SCALE (d_mantissa, Rs [i]) ;
-	    }
-	    if (!rescale_determinant (&d_mantissa, &d_exponent))
-	    {
-		/* the determinant is zero or NaN.  This is very unlikey to
-		 * occur here, since the scale factors for a tiny or zero row
-		 * are set to 1. */
-		Info [UMFPACK_STATUS] = UMFPACK_WARNING_singular_matrix ;
-		break ;
-	    }
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* determine if P and Q are odd or even permutations */
-    /* ---------------------------------------------------------------------- */
-
-    npiv = 0 ;
-    Rperm = Numeric->Rperm ;
-
-    for (i = 0 ; i < n ; i++)
-    {
-	Wi [i] = Rperm [i] ;
-    }
-
-    for (i = 0 ; i < n ; i++)
-    {
-	while (Wi [i] != i)
-	{
-	    itmp = Wi [Wi [i]] ;
-	    Wi [Wi [i]] = Wi [i] ;
-	    Wi [i] = itmp ;
-	    npiv++ ;
-	}
-    }
-
-    Cperm = Numeric->Cperm ;
-
-    for (i = 0 ; i < n ; i++)
-    {
-	Wi [i] = Cperm [i] ;
-    }
-
-    for (i = 0 ; i < n ; i++)
-    {
-	while (Wi [i] != i)
-	{
-	    itmp = Wi [Wi [i]] ;
-	    Wi [Wi [i]] = Wi [i] ;
-	    Wi [i] = itmp ;
-	    npiv++ ;
-	}
-    }
-
-    /* if npiv is odd, the sign is -1.  if it is even, the sign is +1 */
-    d_sign = (npiv % 2) ? -1. : 1. ;
-
-    /* ---------------------------------------------------------------------- */
-    /* free workspace */
-    /* ---------------------------------------------------------------------- */
-
-    (void) UMF_free ((void *) Wi) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* compute the magnitude and exponent of the determinant */
-    /* ---------------------------------------------------------------------- */
-
-    if (Ex == (double *) NULL)
-    {
-	/* Ex is not provided, so return the entire determinant in d_mantissa */
-	SCALE (d_mantissa, pow (10.0, d_exponent)) ;
-    }
-    else
-    {
-	Ex [0] = d_exponent ;
-    }
-
-    Mx [0] = d_sign * REAL_COMPONENT (d_mantissa) ;
-
-#ifdef COMPLEX
-    if (SPLIT (Mz))
-    {
-	Mz [0] = d_sign * IMAG_COMPONENT (d_mantissa) ;
-    }
-    else
-    {
-	Mx [1] = d_sign * IMAG_COMPONENT (d_mantissa) ;
-    }
-#endif
-
-    /* determine if the determinant has (or will) overflow or underflow */
-    if (d_exponent + 1.0 > log10 (DBL_MAX))
-    {
-	Info [UMFPACK_STATUS] = UMFPACK_WARNING_determinant_overflow ;
-    }
-    else if (d_exponent - 1.0 < log10 (DBL_MIN))
-    {
-	Info [UMFPACK_STATUS] = UMFPACK_WARNING_determinant_underflow ;
-    }
-
-    return (UMFPACK_OK) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umfpack_get_lunz.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/* ========================================================================== */
-/* === UMFPACK_get_lunz ===================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    User-callable.  Determines the number of nonzeros in L and U, and the size
-    of L and U.
-*/
-
-#include "umf_internal.h"
-#include "umf_valid_numeric.h"
-
-GLOBAL Int UMFPACK_get_lunz
-(
-    Int *lnz,
-    Int *unz,
-    Int *n_row,
-    Int *n_col,
-    Int *nz_udiag,
-    void *NumericHandle
-)
-{
-    NumericType *Numeric ;
-
-    Numeric = (NumericType *) NumericHandle ;
-
-    if (!UMF_valid_numeric (Numeric))
-    {
-	return (UMFPACK_ERROR_invalid_Numeric_object) ;
-    }
-    if (!lnz || !unz || !n_row || !n_col || !nz_udiag)
-    {
-	return (UMFPACK_ERROR_argument_missing) ;
-    }
-
-    *n_row = Numeric->n_row ;
-    *n_col = Numeric->n_col ;
-
-    /* number of nz's in L below diagonal, plus the unit diagonal of L */
-    *lnz = Numeric->lnz + MIN (Numeric->n_row, Numeric->n_col) ;
-
-    /* number of nz's in U above diagonal, plus nz's on diagaonal of U */
-    *unz = Numeric->unz + Numeric->nnzpiv ;
-
-    /* number of nz's on the diagonal */
-    *nz_udiag = Numeric->nnzpiv ;
-
-    return (UMFPACK_OK) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umfpack_get_numeric.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1057 +0,0 @@
-/* ========================================================================== */
-/* === UMFPACK_get_numeric ================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    User-callable.  Gets the LU factors and the permutation vectors held in the
-    Numeric object.  L is returned in sparse row form with sorted rows, U is
-    returned in sparse column form with sorted columns, and P and Q are
-    returned as permutation vectors.  See umfpack_get_numeric.h for a more
-    detailed description.
-
-    Returns TRUE if successful, FALSE if the Numeric object is invalid or
-    if out of memory.
-
-    Dynamic memory usage:  calls UMF_malloc twice, for a total space of
-    2*n integers, and then frees all of it via UMF_free when done.
-
-*/
-
-#include "umf_internal.h"
-#include "umf_valid_numeric.h"
-#include "umf_malloc.h"
-#include "umf_free.h"
-
-#ifndef NDEBUG
-PRIVATE Int init_count ;
-#endif
-
-PRIVATE void get_L
-(
-    Int Lp [ ],
-    Int Lj [ ],
-    double Lx [ ],
-#ifdef COMPLEX
-    double Lz [ ],
-#endif
-    NumericType *Numeric,
-    Int Pattern [ ],
-    Int Wi [ ]
-) ;
-
-PRIVATE void get_U
-(
-    Int Up [ ],
-    Int Ui [ ],
-    double Ux [ ],
-#ifdef COMPLEX
-    double Uz [ ],
-#endif
-    NumericType *Numeric,
-    Int Pattern [ ],
-    Int Wi [ ]
-) ;
-
-/* ========================================================================== */
-/* === UMFPACK_get_numeric ================================================== */
-/* ========================================================================== */
-
-GLOBAL Int UMFPACK_get_numeric
-(
-    Int Lp [ ],
-    Int Lj [ ],
-    double Lx [ ],
-#ifdef COMPLEX
-    double Lz [ ],
-#endif
-    Int Up [ ],
-    Int Ui [ ],
-    double Ux [ ],
-#ifdef COMPLEX
-    double Uz [ ],
-#endif
-    Int P [ ],
-    Int Q [ ],
-    double Dx [ ],
-#ifdef COMPLEX
-    double Dz [ ],
-#endif
-    Int *p_do_recip,
-    double Rs [ ],
-    void *NumericHandle
-)
-{
-
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    NumericType *Numeric ;
-    Int getL, getU, *Rperm, *Cperm, k, nn, n_row, n_col, *Wi, *Pattern,
-	n_inner ;
-    double *Rs1 ;
-    Entry *D ;
-
-#ifndef NDEBUG
-    init_count = UMF_malloc_count ;
-#endif
-
-    Wi = (Int *) NULL ;
-    Pattern = (Int *) NULL ;
-
-    /* ---------------------------------------------------------------------- */
-    /* check input parameters */
-    /* ---------------------------------------------------------------------- */
-
-    Numeric = (NumericType *) NumericHandle ;
-    if (!UMF_valid_numeric (Numeric))
-    {
-	return (UMFPACK_ERROR_invalid_Numeric_object) ;
-    }
-
-    n_row = Numeric->n_row ;
-    n_col = Numeric->n_col ;
-    nn = MAX (n_row, n_col) ;
-    n_inner = MIN (n_row, n_col) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* allocate workspace */
-    /* ---------------------------------------------------------------------- */
-
-    getL = Lp && Lj && Lx ;
-    getU = Up && Ui && Ux ;
-
-    if (getL || getU)
-    {
-	Wi = (Int *) UMF_malloc (nn, sizeof (Int)) ;
-	Pattern = (Int *) UMF_malloc (nn, sizeof (Int)) ;
-	if (!Wi || !Pattern)
-	{
-	    (void) UMF_free ((void *) Wi) ;
-	    (void) UMF_free ((void *) Pattern) ;
-	    ASSERT (UMF_malloc_count == init_count) ;
-	    DEBUGm4 (("out of memory: get numeric\n")) ;
-	    return (UMFPACK_ERROR_out_of_memory) ;
-	}
-	ASSERT (UMF_malloc_count == init_count + 2) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* get contents of Numeric */
-    /* ---------------------------------------------------------------------- */
-
-    if (P != (Int *) NULL)
-    {
-	Rperm = Numeric->Rperm ;
-	for (k = 0 ; k < n_row ; k++)
-	{
-	    P [k] = Rperm [k] ;
-	}
-    }
-
-    if (Q != (Int *) NULL)
-    {
-	Cperm = Numeric->Cperm ;
-	for (k = 0 ; k < n_col ; k++)
-	{
-	    Q [k] = Cperm [k] ;
-	}
-    }
-
-    if (getL)
-    {
-	get_L (Lp, Lj, Lx,
-#ifdef COMPLEX
-	    Lz,
-#endif
-	    Numeric, Pattern, Wi) ;
-    }
-
-    if (getU)
-    {
-	get_U (Up, Ui, Ux,
-#ifdef COMPLEX
-	    Uz,
-#endif
-	    Numeric, Pattern, Wi) ;
-    }
-
-    if (Dx != (double *) NULL)
-    {
-	D = Numeric->D ;
-#ifdef COMPLEX
-	if (SPLIT (Dz))
-	{
-	    for (k = 0 ; k < n_inner ; k++)
-	    {
-		Dx [k] = REAL_COMPONENT (D [k]) ;
-		Dz [k] = IMAG_COMPONENT (D [k]) ;
-	    }
-	}
-	else
-	{
-	    for (k = 0 ; k < n_inner ; k++)
-	    {
-	        Dx [2*k  ] =  REAL_COMPONENT (D [k]) ;
-	        Dx [2*k+1] =  IMAG_COMPONENT (D [k]) ;
-	    }
-	}
-#else
-	{
-	    D = Numeric->D ;
-	    for (k = 0 ; k < n_inner ; k++)
-	    {
-		Dx [k] = D [k] ;
-	    }
-	}
-#endif
-    }
-
-    /* return the flag stating whether the scale factors are to be multiplied,
-     * or divided.   If do_recip is TRUE, multiply.  Otherwise, divided.
-     * If NRECIPROCAL is defined at compile time, the scale factors are always
-     * to be used by dividing.
-     */
-    if (p_do_recip != (Int *) NULL)
-    {
-#ifndef NRECIPROCAL
-	*p_do_recip = Numeric->do_recip ;
-#else
-	*p_do_recip = FALSE ;
-#endif
-    }
-
-    if (Rs != (double *) NULL)
-    {
-	Rs1 = Numeric->Rs ;
-	if (Rs1 == (double *) NULL)
-	{
-	    /* R is the identity matrix.  */
-	    for (k = 0 ; k < n_row ; k++)
-	    {
-		Rs [k] = 1.0 ;
-	    }
-	}
-	else
-	{
-	    for (k = 0 ; k < n_row ; k++)
-	    {
-		Rs [k] = Rs1 [k] ;
-	    }
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* free the workspace */
-    /* ---------------------------------------------------------------------- */
-
-    (void) UMF_free ((void *) Wi) ;
-    (void) UMF_free ((void *) Pattern) ;
-    ASSERT (UMF_malloc_count == init_count) ;
-
-    return (UMFPACK_OK) ;
-}
-
-
-/* ========================================================================== */
-/* === get_L ================================================================ */
-/* ========================================================================== */
-
-/*
-    The matrix L is stored in the following arrays in the Numeric object:
-
-	Int Lpos [0..npiv]
-	Int Lip [0..npiv], index into Numeric->Memory
-	Int Lilen [0..npiv]
-	Unit *(Numeric->Memory), pointer to memory space holding row indices
-		and numerical values
-
-    where npiv is the number of pivot entries found.  If A is n_row-by-n_col,
-    then npiv <= MIN (n_row,n_col).
-
-    Let L_k denote the pattern of entries in column k of L (excluding the
-    diagonal).
-
-    An Lchain is a sequence of columns of L whose nonzero patterns are related.
-    The start of an Lchain is denoted by a negative value of Lip [k].
-
-    To obtain L_k:
-
-    (1)	If column k starts an Lchain, then L_k is stored in its entirety.
-	|Lip [k]| is an index into Numeric->Memory for the integer row indices
-	in L_k.  The number of entries in the column is |L_k| = Lilen [k].
-	This defines the pattern of the "leading" column of this chain.
-	Lpos [k] is not used for the first column in the chain.  Column zero
-	is always a leading column.
-
-    (2) If column k does not start an Lchain, then L_k is represented as a
-	superset of L_k-1.  Define Lnew_k such that (L_k-1 - {k} union Lnew_k)
-	= L_k, where Lnew_k and (L_k-1)-{k} are disjoint.  Lnew_k are the
-	entries in L_k that are not in L_k-1.  Lpos [k] holds the position of
-	pivot row index k in the prior pattern L_k-1 (if it is present), so
-	that the set subtraction (L_k-1)-{k} can be computed quickly, when
-	computing the pattern of L_k from L_k-1.  The number of new entries in
-	L_k is stored in Lilen [k] = |Lnew_k|.
-
-	Note that this means we must have the pattern L_k-1 to compute L_k.
-
-    In both cases (1) and (2), we obtain the pattern L_k.
-
-    The numerical values are stored in Numeric->Memory, starting at the index
-    |Lip [k]| + Lilen [k].  It is stored in the same order as the entries
-    in L_k, after L_k is obtained from cases (1) or (2), above.
-
-    The advantage of using this "packed" data structure is that it can
-    dramatically reduce the amount of storage needed for the pattern of L.
-    The disadvantage is that it can be difficult for the user to access,
-    and it does not match the sparse matrix data structure used in MATLAB.
-    Thus, this routine is provided to create a conventional sparse matrix
-    data structure for L, in sparse-row form.  A row-form of L appears to
-    MATLAB to be a column-oriented from of the transpose of L.  If you would
-    like a column-form of L, then use UMFPACK_transpose (an example of this
-    is in umfpackmex.c).
-
-*/
-/* ========================================================================== */
-
-PRIVATE void get_L
-(
-    Int Lp [ ],		/* of size n_row+1 */
-    Int Lj [ ],		/* of size lnz, where lnz = Lp [n_row] */
-    double Lx [ ],	/* of size lnz */
-#ifdef COMPLEX
-    double Lz [ ],	/* of size lnz */
-#endif
-    NumericType *Numeric,
-    Int Pattern [ ],	/* workspace of size n_row */
-    Int Wi [ ]		/* workspace of size n_row */
-)
-{
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    Entry value ;
-    Entry *xp, *Lval ;
-    Int deg, *ip, j, row, n_row, n_col, n_inner, *Lpos, *Lilen, *Lip, p, llen,
-        lnz2, lp, newLchain, k, pos, npiv, *Li, n1 ;
-#ifdef COMPLEX
-    Int split = SPLIT (Lz) ;
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* get parameters */
-    /* ---------------------------------------------------------------------- */
-
-    DEBUG4 (("get_L start:\n")) ;
-    n_row = Numeric->n_row ;
-    n_col = Numeric->n_col ;
-    n_inner = MIN (n_row, n_col) ;
-    npiv = Numeric->npiv ;
-    n1 = Numeric->n1 ;
-    Lpos = Numeric->Lpos ;
-    Lilen = Numeric->Lilen ;
-    Lip = Numeric->Lip ;
-    deg = 0 ;
-
-    /* ---------------------------------------------------------------------- */
-    /* count the nonzeros in each row of L */
-    /* ---------------------------------------------------------------------- */
-
-#pragma ivdep
-    for (row = 0 ; row < n_inner ; row++)
-    {
-	/* include the diagonal entry in the row counts */
-	Wi [row] = 1 ;
-    }
-#pragma ivdep
-    for (row = n_inner ; row < n_row ; row++)
-    {
-	Wi [row] = 0 ;
-    }
-
-    /* singletons */
-    for (k = 0 ; k < n1 ; k++)
-    {
-	DEBUG4 (("Singleton k "ID"\n", k)) ;
-	deg = Lilen [k] ;
-	if (deg > 0)
-	{
-	    lp = Lip [k] ;
-	    Li = (Int *) (Numeric->Memory + lp) ;
-	    lp += UNITS (Int, deg) ;
-	    Lval = (Entry *) (Numeric->Memory + lp) ;
-	    for (j = 0 ; j < deg ; j++)
-	    {
-		row = Li [j] ;
-		value = Lval [j] ;
-		DEBUG4 (("  row "ID"  k "ID" value", row, k)) ;
-		EDEBUG4 (value) ;
-		DEBUG4 (("\n")) ;
-		if (IS_NONZERO (value))
-		{
-		    Wi [row]++ ;
-		}
-	    }
-	}
-    }
-
-    /* non-singletons */
-    for (k = n1 ; k < npiv ; k++)
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* make column of L in Pattern [0..deg-1] */
-	/* ------------------------------------------------------------------ */
-
-	lp = Lip [k] ;
-	newLchain = (lp < 0) ;
-	if (newLchain)
-	{
-	    lp = -lp ;
-	    deg = 0 ;
-	    DEBUG4 (("start of chain for column of L\n")) ;
-	}
-
-	/* remove pivot row */
-	pos = Lpos [k] ;
-	if (pos != EMPTY)
-	{
-	    DEBUG4 (("  k "ID" removing row "ID" at position "ID"\n",
-	    k, Pattern [pos], pos)) ;
-	    ASSERT (!newLchain) ;
-	    ASSERT (deg > 0) ;
-	    ASSERT (pos >= 0 && pos < deg) ;
-	    ASSERT (Pattern [pos] == k) ;
-	    Pattern [pos] = Pattern [--deg] ;
-	}
-
-	/* concatenate the pattern */
-	ip = (Int *) (Numeric->Memory + lp) ;
-	llen = Lilen [k] ;
-	for (j = 0 ; j < llen ; j++)
-	{
-	    row = *ip++ ;
-	    DEBUG4 (("  row "ID"  k "ID"\n", row, k)) ;
-	    ASSERT (row > k && row < n_row) ;
-	    Pattern [deg++] = row ;
-	}
-
-	xp = (Entry *) (Numeric->Memory + lp + UNITS (Int, llen)) ;
-
-	for (j = 0 ; j < deg ; j++)
-	{
-	    DEBUG4 (("  row "ID"  k "ID" value", Pattern [j], k)) ;
-	    row = Pattern [j] ;
-	    value = *xp++ ;
-	    EDEBUG4 (value) ;
-	    DEBUG4 (("\n")) ;
-	    if (IS_NONZERO (value))
-	    {
-		Wi [row]++ ;
-	    }
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* construct the final row form of L */
-    /* ---------------------------------------------------------------------- */
-
-    /* create the row pointers */
-    lnz2 = 0 ;
-    for (row = 0 ; row < n_row ; row++)
-    {
-	Lp [row] = lnz2 ;
-	lnz2 += Wi [row] ;
-	Wi [row] = Lp [row] ;
-    }
-    Lp [n_row] = lnz2 ;
-    ASSERT (Numeric->lnz + n_inner == lnz2) ;
-
-    /* add entries from the rows of L (singletons) */
-    for (k = 0 ; k < n1 ; k++)
-    {
-	DEBUG4 (("Singleton k "ID"\n", k)) ;
-	deg = Lilen [k] ;
-	if (deg > 0)
-	{
-	    lp = Lip [k] ;
-	    Li = (Int *) (Numeric->Memory + lp) ;
-	    lp += UNITS (Int, deg) ;
-	    Lval = (Entry *) (Numeric->Memory + lp) ;
-	    for (j = 0 ; j < deg ; j++)
-	    {
-		row = Li [j] ;
-		value = Lval [j] ;
-		DEBUG4 (("  row "ID"  k "ID" value", row, k)) ;
-		EDEBUG4 (value) ;
-		DEBUG4 (("\n")) ;
-		if (IS_NONZERO (value))
-		{
-		    p = Wi [row]++ ;
-		    Lj [p] = k ;
-#ifdef COMPLEX
-		    if (split)
-		    {
-
-		        Lx [p] = REAL_COMPONENT (value) ;
-			Lz [p] = IMAG_COMPONENT (value) ;
-		    }
-		    else
-		    {
-			Lx [2*p  ] = REAL_COMPONENT (value) ;
-			Lx [2*p+1] = IMAG_COMPONENT (value) ;
-		    }
-#else
-		    Lx [p] = value ;
-#endif
-		}
-	    }
-	}
-    }
-
-    /* add entries from the rows of L (non-singletons) */
-    for (k = n1 ; k < npiv ; k++)
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* make column of L in Pattern [0..deg-1] */
-	/* ------------------------------------------------------------------ */
-
-	lp = Lip [k] ;
-	newLchain = (lp < 0) ;
-	if (newLchain)
-	{
-	    lp = -lp ;
-	    deg = 0 ;
-	    DEBUG4 (("start of chain for column of L\n")) ;
-	}
-
-	/* remove pivot row */
-	pos = Lpos [k] ;
-	if (pos != EMPTY)
-	{
-	    DEBUG4 (("  k "ID" removing row "ID" at position "ID"\n",
-	    k, Pattern [pos], pos)) ;
-	    ASSERT (!newLchain) ;
-	    ASSERT (deg > 0) ;
-	    ASSERT (pos >= 0 && pos < deg) ;
-	    ASSERT (Pattern [pos] == k) ;
-	    Pattern [pos] = Pattern [--deg] ;
-	}
-
-	/* concatenate the pattern */
-	ip = (Int *) (Numeric->Memory + lp) ;
-	llen = Lilen [k] ;
-	for (j = 0 ; j < llen ; j++)
-	{
-	    row = *ip++ ;
-	    DEBUG4 (("  row "ID"  k "ID"\n", row, k)) ;
-	    ASSERT (row > k) ;
-	    Pattern [deg++] = row ;
-	}
-
-	xp = (Entry *) (Numeric->Memory + lp + UNITS (Int, llen)) ;
-
-	for (j = 0 ; j < deg ; j++)
-	{
-	    DEBUG4 (("  row "ID"  k "ID" value", Pattern [j], k)) ;
-	    row = Pattern [j] ;
-	    value = *xp++ ;
-	    EDEBUG4 (value) ;
-	    DEBUG4 (("\n")) ;
-	    if (IS_NONZERO (value))
-	    {
-		p = Wi [row]++ ;
-		Lj [p] = k ;
-#ifdef COMPLEX
-		if (split)
-		{
-		    Lx [p] = REAL_COMPONENT (value) ;
-		    Lz [p] = IMAG_COMPONENT (value) ;
-		}
-		else
-		{
-		    Lx [2*p  ] = REAL_COMPONENT (value) ;
-		    Lx [2*p+1] = IMAG_COMPONENT (value) ;
-		}
-#else
-		Lx [p] = value ;
-#endif
-	    }
-	}
-    }
-
-    /* add all of the diagonal entries (L is unit diagonal) */
-    for (row = 0 ; row < n_inner ; row++)
-    {
-	p = Wi [row]++ ;
-	Lj [p] = row ;
-
-#ifdef COMPLEX
-	if (split)
-	{
-	    Lx [p] = 1. ;
-	    Lz [p] = 0. ;
-	}
-	else
-	{
-	    Lx [2*p  ] = 1. ;
-	    Lx [2*p+1] = 0. ;
-	}
-#else
-	Lx [p] = 1. ;
-#endif
-
-	ASSERT (Wi [row] == Lp [row+1]) ;
-    }
-
-#ifndef NDEBUG
-    DEBUG6 (("L matrix (stored by rows):")) ;
-    UMF_dump_col_matrix (Lx,
-#ifdef COMPLEX
-	Lz,
-#endif
-	Lj, Lp, n_inner, n_row, Numeric->lnz+n_inner) ;
-#endif
-
-    DEBUG4 (("get_L done:\n")) ;
-}
-
-
-/* ========================================================================== */
-/* === get_U ================================================================ */
-/* ========================================================================== */
-
-/*
-    The matrix U is stored in the following arrays in the Numeric object:
-
-	Int Upos [0..npiv]
-	Int Uip [0..npiv], index into Numeric->Memory
-	Int Uilen [0..npiv]
-	Unit *(Numeric->Memory), pointer to memory space holding column indices
-		and numerical values
-
-    where npiv is the number of pivot entries found.  If A is n_row-by-n_col,
-    then npiv <= MIN (n_row,n_col).
-
-    Let U_k denote the pattern of entries in row k of U (excluding the
-    diagonal).
-
-    A Uchain is a sequence of columns of U whose nonzero patterns are related.
-    The start of a Uchain is denoted by a negative value of Uip [k].
-
-    To obtain U_k-1:
-
-    (1) If row k is the start of a Uchain then Uip [k] is negative and |Uip [k]|
-	is an index into Numeric->Memory for the integer column indices in
-	U_k-1.  The number of entries in the row is |U_k-1| = Uilen [k].  This
-	defines the pattern of the "trailing" row of this chain that ends at
-	row k-1.
-
-
-    (2) If row k is not the start of a Uchain, then U_k-1 is a subset of U_k.
-	The indices in U_k are arranged so that last Uilen [k] entries of
-	U_k are those indices not in U_k-1.  Next, the pivot column index k is
-	added if it appears in row U_k-1 (it never appears in U_k).  Upos [k]
-	holds the position of pivot column index k in the pattern U_k-1 (if it
-	is present), so that the set union (U_k-1)+{k} can be computed quickly,
-	when computing the pattern of U_k-1 from U_k.
-
-	Note that this means we must have the pattern U_k to compute L_k-1.
-
-    In both cases (1) and (2), we obtain the pattern U_k.
-
-    The numerical values are stored in Numeric->Memory.  If k is the start of a
-    Uchain, then the offset is |Uip [k]| plus the size of the space needed to
-    store the pattern U_k-1.  Otherwise, Uip [k] is the offset itself of the
-    numerical values, since in this case no pattern is stored.
-    The numerical values are stored in the same order as the entries in U_k,
-    after U_k is obtained from cases (1) or (2), above.
-
-    The advantage of using this "packed" data structure is that it can
-    dramatically reduce the amount of storage needed for the pattern of U.
-    The disadvantage is that it can be difficult for the user to access,
-    and it does not match the sparse matrix data structure used in MATLAB.
-    Thus, this routine is provided to create a conventional sparse matrix
-    data structure for U, in sparse-column form.
-
-*/
-/* ========================================================================== */
-
-PRIVATE void get_U
-(
-    Int Up [ ],		/* of size n_col+1 */
-    Int Ui [ ],		/* of size unz, where unz = Up [n_col] */
-    double Ux [ ],	/* of size unz */
-#ifdef COMPLEX
-    double Uz [ ],	/* of size unz */
-#endif
-    NumericType *Numeric,
-    Int Pattern [ ],	/* workspace of size n_col */
-    Int Wi [ ]		/* workspace of size n_col */
-)
-{
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    Entry value ;
-    Entry *xp, *D, *Uval ;
-    Int deg, j, *ip, col, *Upos, *Uilen, *Uip, n_col, ulen, *Usi,
-        unz2, p, k, up, newUchain, pos, npiv, n1 ;
-#ifdef COMPLEX
-    Int split = SPLIT (Uz) ;
-#endif
-#ifndef NDEBUG
-    Int nnzpiv = 0 ;
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* get parameters */
-    /* ---------------------------------------------------------------------- */
-
-    DEBUG4 (("get_U start:\n")) ;
-    n_col = Numeric->n_col ;
-    n1 = Numeric->n1 ;
-    npiv = Numeric->npiv ;
-    Upos = Numeric->Upos ;
-    Uilen = Numeric->Uilen ;
-    Uip = Numeric->Uip ;
-    D = Numeric->D ;
-
-    /* ---------------------------------------------------------------------- */
-    /* count the nonzeros in each column of U */
-    /* ---------------------------------------------------------------------- */
-
-    for (col = 0 ; col < npiv ; col++)
-    {
-	/* include the diagonal entry in the column counts */
-	DEBUG4 (("D ["ID"] = ", col)) ;
-	EDEBUG4 (D [col]) ;
-	Wi [col] = IS_NONZERO (D [col]) ;
-	DEBUG4 ((" is nonzero: "ID"\n", Wi [col])) ;
-#ifndef NDEBUG
-	nnzpiv += IS_NONZERO (D [col]) ;
-#endif
-    }
-    DEBUG4 (("nnzpiv "ID" "ID"\n", nnzpiv, Numeric->nnzpiv)) ;
-    ASSERT (nnzpiv == Numeric->nnzpiv) ;
-    for (col = npiv ; col < n_col ; col++)
-    {
-	/* diagonal entries are zero for structurally singular part */
-	Wi [col] = 0 ;
-    }
-
-    deg = Numeric->ulen ;
-    if (deg > 0)
-    {
-	/* make last pivot row of U (singular matrices only) */
-	DEBUG0 (("Last pivot row of U: ulen "ID"\n", deg)) ;
-	for (j = 0 ; j < deg ; j++)
-	{
-	    Pattern [j] = Numeric->Upattern [j] ;
-	    DEBUG0 (("    column "ID"\n", Pattern [j])) ;
-	}
-    }
-
-    /* non-singletons */
-    for (k = npiv-1 ; k >= n1 ; k--)
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* use row k of U */
-	/* ------------------------------------------------------------------ */
-
-	up = Uip [k] ;
-	ulen = Uilen [k] ;
-	newUchain = (up < 0) ;
-	if (newUchain)
-	{
-	    up = -up ;
-	    xp = (Entry *) (Numeric->Memory + up + UNITS (Int, ulen)) ;
-	}
-	else
-	{
-	    xp = (Entry *) (Numeric->Memory + up) ;
-	}
-
-	for (j = 0 ; j < deg ; j++)
-	{
-	    DEBUG4 (("  k "ID" col "ID" value\n", k, Pattern [j])) ;
-	    col = Pattern [j] ;
-	    ASSERT (col >= 0 && col < n_col) ;
-	    value = *xp++ ;
-	    EDEBUG4 (value) ;
-	    DEBUG4 (("\n")) ;
-	    if (IS_NONZERO (value))
-	    {
-		Wi [col]++ ;
-	    }
-	}
-
-	/* ------------------------------------------------------------------ */
-	/* make row k-1 of U in Pattern [0..deg-1] */
-	/* ------------------------------------------------------------------ */
-
-	if (k == n1) break ;
-
-	if (newUchain)
-	{
-	    /* next row is a new Uchain */
-	    deg = ulen ;
-	    DEBUG4 (("end of chain for row of U "ID" deg "ID"\n", k-1, deg)) ;
-	    ip = (Int *) (Numeric->Memory + up) ;
-	    for (j = 0 ; j < deg ; j++)
-	    {
-		col = *ip++ ;
-		DEBUG4 (("  k "ID" col "ID"\n", k-1, col)) ;
-		ASSERT (k <= col) ;
-		Pattern [j] = col ;
-	    }
-	}
-	else
-	{
-	    deg -= ulen ;
-	    DEBUG4 (("middle of chain for row of U "ID" deg "ID"\n", k-1, deg));
-	    ASSERT (deg >= 0) ;
-	    pos = Upos [k] ;
-	    if (pos != EMPTY)
-	    {
-		/* add the pivot column */
-		DEBUG4 (("k "ID" add pivot entry at position "ID"\n", k, pos)) ;
-		ASSERT (pos >= 0 && pos <= deg) ;
-		Pattern [deg++] = Pattern [pos] ;
-		Pattern [pos] = k ;
-	    }
-	}
-    }
-
-    /* singletons */
-    for (k = n1 - 1 ; k >= 0 ; k--)
-    {
-	deg = Uilen [k] ;
-	DEBUG4 (("Singleton k "ID"\n", k)) ;
-	if (deg > 0)
-	{
-	    up = Uip [k] ;
-	    Usi = (Int *) (Numeric->Memory + up) ;
-	    up += UNITS (Int, deg) ;
-	    Uval = (Entry *) (Numeric->Memory + up) ;
-	    for (j = 0 ; j < deg ; j++)
-	    {
-		col = Usi [j] ;
-		value = Uval [j] ;
-		DEBUG4 (("  k "ID" col "ID" value", k, col)) ;
-		EDEBUG4 (value) ;
-		DEBUG4 (("\n")) ;
-		if (IS_NONZERO (value))
-		{
-		    Wi [col]++ ;
-		}
-	    }
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* construct the final column form of U */
-    /* ---------------------------------------------------------------------- */
-
-    /* create the column pointers */
-    unz2 = 0 ;
-    for (col = 0 ; col < n_col ; col++)
-    {
-	Up [col] = unz2 ;
-	unz2 += Wi [col] ;
-    }
-    Up [n_col] = unz2 ;
-    DEBUG1 (("Numeric->unz "ID"  npiv "ID" nnzpiv "ID" unz2 "ID"\n",
-	Numeric->unz, npiv, Numeric->nnzpiv, unz2)) ;
-    ASSERT (Numeric->unz + Numeric->nnzpiv == unz2) ;
-
-    for (col = 0 ; col < n_col ; col++)
-    {
-	Wi [col] = Up [col+1] ;
-    }
-
-    /* add all of the diagonal entries */
-    for (col = 0 ; col < npiv ; col++)
-    {
-	if (IS_NONZERO (D [col]))
-	{
-	    p = --(Wi [col]) ;
-	    Ui [p] = col ;
-#ifdef COMPLEX
-	    if (split)
-	    {
-
-	        Ux [p] = REAL_COMPONENT (D [col]) ;
-		Uz [p] = IMAG_COMPONENT (D [col]) ;
-	    }
-	    else
-	    {
-		Ux [2*p  ] = REAL_COMPONENT (D [col]) ;
-		Ux [2*p+1] = IMAG_COMPONENT (D [col]) ;
-	    }
-#else
-	    Ux [p] = D [col] ;
-#endif
-	}
-    }
-
-    /* add all the entries from the rows of U */
-
-    deg = Numeric->ulen ;
-    if (deg > 0)
-    {
-	/* make last pivot row of U (singular matrices only) */
-	for (j = 0 ; j < deg ; j++)
-	{
-	    Pattern [j] = Numeric->Upattern [j] ;
-	}
-    }
-
-    /* non-singletons */
-    for (k = npiv-1 ; k >= n1 ; k--)
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* use row k of U */
-	/* ------------------------------------------------------------------ */
-
-	up = Uip [k] ;
-	ulen = Uilen [k] ;
-	newUchain = (up < 0) ;
-	if (newUchain)
-	{
-	    up = -up ;
-	    xp = (Entry *) (Numeric->Memory + up + UNITS (Int, ulen)) ;
-	}
-	else
-	{
-	    xp = (Entry *) (Numeric->Memory + up) ;
-	}
-
-	xp += deg ;
-	for (j = deg-1 ; j >= 0 ; j--)
-	{
-	    DEBUG4 (("  k "ID" col "ID" value", k, Pattern [j])) ;
-	    col = Pattern [j] ;
-	    ASSERT (col >= 0 && col < n_col) ;
-	    value = *(--xp) ;
-	    EDEBUG4 (value) ;
-	    DEBUG4 (("\n")) ;
-	    if (IS_NONZERO (value))
-	    {
-		p = --(Wi [col]) ;
-		Ui [p] = k ;
-#ifdef COMPLEX
-		if (split)
-		{
-		    Ux [p] = REAL_COMPONENT (value) ;
-		    Uz [p] = IMAG_COMPONENT (value) ;
-		}
-		else
-		{
-		    Ux [2*p  ] = REAL_COMPONENT (value) ;
-		    Ux [2*p+1] = IMAG_COMPONENT (value) ;
-		}
-#else
-		Ux [p] = value ;
-#endif
-
-	    }
-	}
-
-	/* ------------------------------------------------------------------ */
-	/* make row k-1 of U in Pattern [0..deg-1] */
-	/* ------------------------------------------------------------------ */
-
-	if (newUchain)
-	{
-	    /* next row is a new Uchain */
-	    deg = ulen ;
-	    DEBUG4 (("end of chain for row of U "ID" deg "ID"\n", k-1, deg)) ;
-	    ip = (Int *) (Numeric->Memory + up) ;
-	    for (j = 0 ; j < deg ; j++)
-	    {
-		col = *ip++ ;
-		DEBUG4 (("  k "ID" col "ID"\n", k-1, col)) ;
-		ASSERT (k <= col) ;
-		Pattern [j] = col ;
-	    }
-	}
-	else
-	{
-	    deg -= ulen ;
-	    DEBUG4 (("middle of chain for row of U "ID" deg "ID"\n", k-1, deg));
-	    ASSERT (deg >= 0) ;
-	    pos = Upos [k] ;
-	    if (pos != EMPTY)
-	    {
-		/* add the pivot column */
-		DEBUG4 (("k "ID" add pivot entry at position "ID"\n", k, pos)) ;
-		ASSERT (pos >= 0 && pos <= deg) ;
-		Pattern [deg++] = Pattern [pos] ;
-		Pattern [pos] = k ;
-	    }
-	}
-    }
-
-    /* singletons */
-    for (k = n1 - 1 ; k >= 0 ; k--)
-    {
-	deg = Uilen [k] ;
-	DEBUG4 (("Singleton k "ID"\n", k)) ;
-	if (deg > 0)
-	{
-	    up = Uip [k] ;
-	    Usi = (Int *) (Numeric->Memory + up) ;
-	    up += UNITS (Int, deg) ;
-	    Uval = (Entry *) (Numeric->Memory + up) ;
-	    for (j = 0 ; j < deg ; j++)
-	    {
-		col = Usi [j] ;
-		value = Uval [j] ;
-		DEBUG4 (("  k "ID" col "ID" value", k, col)) ;
-		EDEBUG4 (value) ;
-		DEBUG4 (("\n")) ;
-		if (IS_NONZERO (value))
-		{
-		    p = --(Wi [col]) ;
-		    Ui [p] = k ;
-#ifdef COMPLEX
-		    if (split)
-		    {
-			Ux [p] = REAL_COMPONENT (value) ;
-			Uz [p] = IMAG_COMPONENT (value) ;
-		    }
-		    else
-		    {
-			Ux [2*p  ] = REAL_COMPONENT (value) ;
-			Ux [2*p+1] = IMAG_COMPONENT (value) ;
-		    }
-#else
-		    Ux [p] = value ;
-#endif
-		}
-	    }
-	}
-    }
-
-#ifndef NDEBUG
-    DEBUG6 (("U matrix:")) ;
-    UMF_dump_col_matrix (Ux,
-#ifdef COMPLEX
-	Uz,
-#endif
-	Ui, Up, Numeric->n_row, n_col, Numeric->unz + Numeric->nnzpiv) ;
-#endif
-
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umfpack_get_symbolic.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,191 +0,0 @@
-/* ========================================================================== */
-/* === UMFPACK_get_symbolic ================================================= */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    User-callable.  Gets the symbolic information held in the Symbolic object.
-    See umfpack_get_symbolic.h for a more detailed description.
-*/
-
-#include "umf_internal.h"
-#include "umf_valid_symbolic.h"
-
-GLOBAL Int UMFPACK_get_symbolic
-(
-    Int *p_n_row,
-    Int *p_n_col,
-    Int *p_n1,			/* number of singletons */
-    Int *p_nz,
-    Int *p_nfr,
-    Int *p_nchains,
-    Int P [ ],
-    Int Q [ ],
-    Int Front_npivcol [ ],
-    Int Front_parent [ ],
-    Int Front_1strow [ ],
-    Int Front_leftmostdesc [ ],
-    Int Chain_start [ ],
-    Int Chain_maxrows [ ],
-    Int Chain_maxcols [ ],
-    void *SymbolicHandle
-)
-{
-    SymbolicType *Symbolic ;
-    Int k, n_row, n_col, n1, nfr, nchains, *p ;
-
-    /* ---------------------------------------------------------------------- */
-    /* check inputs */
-    /* ---------------------------------------------------------------------- */
-
-    Symbolic = (SymbolicType *) SymbolicHandle ;
-    if (!UMF_valid_symbolic (Symbolic))
-    {
-	return (UMFPACK_ERROR_invalid_Symbolic_object) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* get contents of Symbolic */
-    /* ---------------------------------------------------------------------- */
-
-    n_row = Symbolic->n_row ;
-    n_col = Symbolic->n_col ;
-    n1 = Symbolic->n1 ;
-    nfr = Symbolic->nfr ;
-    nchains = Symbolic->nchains ;
-
-    if (p_n_row)
-    {
-	*p_n_row = n_row ;
-    }
-
-    if (p_n_col)
-    {
-	*p_n_col = n_col ;
-    }
-
-    if (p_n1)
-    {
-	*p_n1 = n1 ;
-    }
-
-    if (p_nz)
-    {
-	*p_nz = Symbolic->nz ;
-    }
-
-    if (p_nfr)
-    {
-	*p_nfr = nfr ;
-    }
-
-    if (p_nchains)
-    {
-	*p_nchains = nchains ;
-    }
-
-    if (P != (Int *) NULL)
-    {
-	Int *Rperm_init, *Diagonal_map ;
-	Rperm_init = Symbolic->Rperm_init ;
-	Diagonal_map = Symbolic->Diagonal_map ;
-	if (Diagonal_map != (Int *) NULL)
-	{
-	    ASSERT (n_row == n_col) ;
-	    /* next pivot rows are found in the diagonal map */
-	    for (k = 0 ; k < n_row ; k++)
-	    {
-		P [k] = Rperm_init [Diagonal_map [k]] ;
-	    }
-	}
-	else
-	{
-	    /* there is no diagonal map.  */
-	    for (k = 0 ; k < n_row ; k++)
-	    {
-		P [k] = Rperm_init [k] ;
-	    }
-	}
-    }
-
-    if (Q != (Int *) NULL)
-    {
-	p = Symbolic->Cperm_init ;
-	for (k = 0 ; k < n_col ; k++)
-	{
-	    Q [k] = p [k] ;
-	}
-    }
-
-    if (Front_npivcol != (Int *) NULL)
-    {
-	p = Symbolic->Front_npivcol ;
-	for (k = 0 ; k <= nfr ; k++)
-	{
-	    Front_npivcol [k] = p [k] ;
-	}
-    }
-
-    if (Front_parent != (Int *) NULL)
-    {
-	p = Symbolic->Front_parent ;
-	for (k = 0 ; k <= nfr ; k++)
-	{
-	    Front_parent [k] = p [k] ;
-	}
-    }
-
-    if (Front_1strow != (Int *) NULL)
-    {
-	p = Symbolic->Front_1strow ;
-	for (k = 0 ; k <= nfr ; k++)
-	{
-	    Front_1strow [k] = p [k] ;
-	}
-    }
-
-    if (Front_leftmostdesc != (Int *) NULL)
-    {
-	p = Symbolic->Front_leftmostdesc ;
-	for (k = 0 ; k <= nfr ; k++)
-	{
-	    Front_leftmostdesc [k] = p [k] ;
-	}
-    }
-
-    if (Chain_start != (Int *) NULL)
-    {
-	p = Symbolic->Chain_start ;
-	for (k = 0 ; k <= nchains ; k++)
-	{
-	    Chain_start [k] = p [k] ;
-	}
-    }
-
-    if (Chain_maxrows != (Int *) NULL)
-    {
-	p = Symbolic->Chain_maxrows ;
-	for (k = 0 ; k < nchains ; k++)
-	{
-	    Chain_maxrows [k] = p [k] ;
-	}
-	Chain_maxrows [nchains] = 0 ;
-    }
-
-    if (Chain_maxcols != (Int *) NULL)
-    {
-	p = Symbolic->Chain_maxcols ;
-	for (k = 0 ; k < nchains ; k++)
-	{
-	    Chain_maxcols [k] = p [k] ;
-	}
-	Chain_maxcols [nchains] = 0 ;
-    }
-
-    return (UMFPACK_OK) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umfpack_load_numeric.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,161 +0,0 @@
-/* ========================================================================== */
-/* === UMFPACK_load_numeric ================================================= */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    User-callable.  Loads a Numeric object from a file created by
-    umfpack_*_save_numeric.
-*/
-
-#include "umf_internal.h"
-#include "umf_valid_numeric.h"
-#include "umf_malloc.h"
-#include "umf_free.h"
-
-#define READ(object,type,n) \
-{ \
-    object = (type *) UMF_malloc (n, sizeof (type)) ; \
-    if (object == (type *) NULL) \
-    { \
-	UMFPACK_free_numeric ((void **) &Numeric) ; \
-	fclose (f) ; \
-	return (UMFPACK_ERROR_out_of_memory) ; \
-    } \
-    if (fread (object, sizeof (type), n, f) != n) \
-    { \
-	UMFPACK_free_numeric ((void **) &Numeric) ; \
-	fclose (f) ; \
-	return (UMFPACK_ERROR_file_IO) ; \
-    } \
-    if (ferror (f)) \
-    { \
-	UMFPACK_free_numeric ((void **) &Numeric) ; \
-	fclose (f) ; \
-	return (UMFPACK_ERROR_file_IO) ; \
-    } \
-}
-
-/* ========================================================================== */
-/* === UMFPACK_load_numeric ================================================= */
-/* ========================================================================== */
-
-GLOBAL Int UMFPACK_load_numeric
-(
-    void **NumericHandle,
-    char *user_filename
-)
-{
-    NumericType *Numeric ;
-    char *filename ;
-    FILE *f ;
-
-    *NumericHandle = (void *) NULL ;
-
-    /* ---------------------------------------------------------------------- */
-    /* get the filename, or use the default name if filename is NULL */
-    /* ---------------------------------------------------------------------- */
-
-    if (user_filename == (char *) NULL)
-    {
-	filename = "numeric.umf" ;
-    }
-    else
-    {
-	filename = user_filename ;
-    }
-    f = fopen (filename, "rb") ;
-    if (!f)
-    {
-	return (UMFPACK_ERROR_file_IO) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* read the Numeric header from the file, in binary */
-    /* ---------------------------------------------------------------------- */
-
-    Numeric = (NumericType *) UMF_malloc (1, sizeof (NumericType)) ;
-    if (Numeric == (NumericType *) NULL)
-    {
-	fclose (f) ;
-	return (UMFPACK_ERROR_out_of_memory) ;
-    }
-    if (fread (Numeric, sizeof (NumericType), 1, f) != 1)
-    {
-	(void) UMF_free ((void *) Numeric) ;
-	fclose (f) ;
-	return (UMFPACK_ERROR_file_IO) ;
-    }
-    if (ferror (f))
-    {
-	(void) UMF_free ((void *) Numeric) ;
-	fclose (f) ;
-	return (UMFPACK_ERROR_file_IO) ;
-    }
-
-    if (Numeric->valid != NUMERIC_VALID || Numeric->n_row <= 0 ||
-	Numeric->n_col <= 0 || Numeric->npiv < 0 || Numeric->ulen < 0 ||
-	Numeric->size <= 0)
-    {
-	/* Numeric does not point to a NumericType object */
-	(void) UMF_free ((void *) Numeric) ;
-	fclose (f) ;
-	return (UMFPACK_ERROR_invalid_Numeric_object) ;
-    }
-
-    Numeric->D        = (Entry *) NULL ;
-    Numeric->Rperm    = (Int *) NULL ;
-    Numeric->Cperm    = (Int *) NULL ;
-    Numeric->Lpos     = (Int *) NULL ;
-    Numeric->Lilen    = (Int *) NULL ;
-    Numeric->Lip      = (Int *) NULL ;
-    Numeric->Upos     = (Int *) NULL ;
-    Numeric->Uilen    = (Int *) NULL ;
-    Numeric->Uip      = (Int *) NULL ;
-    Numeric->Rs       = (double *) NULL ;
-    Numeric->Memory   = (Unit *) NULL ;
-    Numeric->Upattern = (Int *) NULL ;
-
-    /* umfpack_free_numeric can now be safely called if an error occurs */
-
-    /* ---------------------------------------------------------------------- */
-    /* read the rest of the Numeric object */
-    /* ---------------------------------------------------------------------- */
-
-    READ (Numeric->D,     Entry, MIN (Numeric->n_row, Numeric->n_col)+1) ;
-    READ (Numeric->Rperm, Int,   Numeric->n_row+1) ;
-    READ (Numeric->Cperm, Int,   Numeric->n_col+1) ;
-    READ (Numeric->Lpos,  Int,   Numeric->npiv+1) ;
-    READ (Numeric->Lilen, Int,   Numeric->npiv+1) ;
-    READ (Numeric->Lip,   Int,   Numeric->npiv+1) ;
-    READ (Numeric->Upos,  Int,   Numeric->npiv+1) ;
-    READ (Numeric->Uilen, Int,   Numeric->npiv+1) ;
-    READ (Numeric->Uip,   Int,   Numeric->npiv+1) ;
-    if (Numeric->scale != UMFPACK_SCALE_NONE)
-    {
-	READ (Numeric->Rs, double, Numeric->n_row) ;
-    }
-    if (Numeric->ulen > 0)
-    {
-	READ (Numeric->Upattern, Int, Numeric->ulen+1) ;
-    }
-    READ (Numeric->Memory, Unit, Numeric->size) ;
-
-    /* close the file */
-    fclose (f) ;
-
-    /* make sure the Numeric object is valid */
-    if (!UMF_valid_numeric (Numeric))
-    {
-	UMFPACK_free_numeric ((void **) &Numeric) ;
-	return (UMFPACK_ERROR_invalid_Numeric_object) ;
-    }
-
-    *NumericHandle = (void *) Numeric ;
-    return (UMFPACK_OK) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umfpack_load_symbolic.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,165 +0,0 @@
-/* ========================================================================== */
-/* === UMFPACK_load_symbolic ================================================ */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    User-callable.  Loads a Symbolic object from a file created by
-    umfpack_*_save_symbolic.
-*/
-
-#include "umf_internal.h"
-#include "umf_valid_symbolic.h"
-#include "umf_malloc.h"
-#include "umf_free.h"
-
-#define READ(object,type,n) \
-{ \
-    object = (type *) UMF_malloc (n, sizeof (type)) ; \
-    if (object == (type *) NULL) \
-    { \
-	UMFPACK_free_symbolic ((void **) &Symbolic) ; \
-	fclose (f) ; \
-	return (UMFPACK_ERROR_out_of_memory) ; \
-    } \
-    if (fread (object, sizeof (type), n, f) != n) \
-    { \
-	UMFPACK_free_symbolic ((void **) &Symbolic) ; \
-	fclose (f) ; \
-	return (UMFPACK_ERROR_file_IO) ; \
-    } \
-    if (ferror (f)) \
-    { \
-	UMFPACK_free_symbolic ((void **) &Symbolic) ; \
-	fclose (f) ; \
-	return (UMFPACK_ERROR_file_IO) ; \
-    } \
-}
-
-/* ========================================================================== */
-/* === UMFPACK_load_symbolic ================================================ */
-/* ========================================================================== */
-
-GLOBAL Int UMFPACK_load_symbolic
-(
-    void **SymbolicHandle,
-    char *user_filename
-)
-{
-    SymbolicType *Symbolic ;
-    char *filename ;
-    FILE *f ;
-
-    *SymbolicHandle = (void *) NULL ;
-
-    /* ---------------------------------------------------------------------- */
-    /* get the filename, or use the default name if filename is NULL */
-    /* ---------------------------------------------------------------------- */
-
-    if (user_filename == (char *) NULL)
-    {
-	filename = "symbolic.umf" ;
-    }
-    else
-    {
-	filename = user_filename ;
-    }
-    f = fopen (filename, "rb") ;
-    if (!f)
-    {
-	return (UMFPACK_ERROR_file_IO) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* read the Symbolic header from the file, in binary */
-    /* ---------------------------------------------------------------------- */
-
-    Symbolic = (SymbolicType *) UMF_malloc (1, sizeof (SymbolicType)) ;
-    if (Symbolic == (SymbolicType *) NULL)
-    {
-	fclose (f) ;
-	return (UMFPACK_ERROR_out_of_memory) ;
-    }
-    if (fread (Symbolic, sizeof (SymbolicType), 1, f) != 1)
-    {
-	(void) UMF_free ((void *) Symbolic) ;
-	fclose (f) ;
-	return (UMFPACK_ERROR_file_IO) ;
-    }
-    if (ferror (f))
-    {
-	(void) UMF_free ((void *) Symbolic) ;
-	fclose (f) ;
-	return (UMFPACK_ERROR_file_IO) ;
-    }
-
-    if (Symbolic->valid != SYMBOLIC_VALID || Symbolic->n_row <= 0 ||
-	Symbolic->n_col <= 0 || Symbolic->nfr < 0 || Symbolic->nchains < 0 ||
-	Symbolic->esize < 0)
-    {
-	/* Symbolic does not point to a Symbolic object */
-	(void) UMF_free ((void *) Symbolic) ;
-	fclose (f) ;
-	return (UMFPACK_ERROR_invalid_Symbolic_object) ;
-    }
-
-    Symbolic->Cperm_init         = (Int *) NULL ;
-    Symbolic->Rperm_init         = (Int *) NULL ;
-    Symbolic->Front_npivcol      = (Int *) NULL ;
-    Symbolic->Front_parent       = (Int *) NULL ;
-    Symbolic->Front_1strow       = (Int *) NULL ;
-    Symbolic->Front_leftmostdesc = (Int *) NULL ;
-    Symbolic->Chain_start        = (Int *) NULL ;
-    Symbolic->Chain_maxrows      = (Int *) NULL ;
-    Symbolic->Chain_maxcols      = (Int *) NULL ;
-    Symbolic->Cdeg               = (Int *) NULL ;
-    Symbolic->Rdeg               = (Int *) NULL ;
-    Symbolic->Esize              = (Int *) NULL ;
-    Symbolic->Diagonal_map       = (Int *) NULL ;
-
-    /* umfpack_free_symbolic can now be safely called if an error occurs */
-
-    /* ---------------------------------------------------------------------- */
-    /* read the rest of the Symbolic object */
-    /* ---------------------------------------------------------------------- */
-
-    READ (Symbolic->Cperm_init,         Int, Symbolic->n_col+1) ;
-    READ (Symbolic->Rperm_init,         Int, Symbolic->n_row+1) ;
-    READ (Symbolic->Front_npivcol,      Int, Symbolic->nfr+1) ;
-    READ (Symbolic->Front_parent,       Int, Symbolic->nfr+1) ;
-    READ (Symbolic->Front_1strow,       Int, Symbolic->nfr+1) ;
-    READ (Symbolic->Front_leftmostdesc, Int, Symbolic->nfr+1) ;
-    READ (Symbolic->Chain_start,        Int, Symbolic->nchains+1) ;
-    READ (Symbolic->Chain_maxrows,      Int, Symbolic->nchains+1) ;
-    READ (Symbolic->Chain_maxcols,      Int, Symbolic->nchains+1) ;
-    READ (Symbolic->Cdeg,               Int, Symbolic->n_col+1) ;
-    READ (Symbolic->Rdeg,               Int, Symbolic->n_row+1) ;
-    if (Symbolic->esize > 0)
-    {
-	/* only when dense rows are present */
-	READ (Symbolic->Esize, Int, Symbolic->esize) ;
-    }
-    if (Symbolic->prefer_diagonal)
-    {
-	/* only when diagonal pivoting is prefered */
-	READ (Symbolic->Diagonal_map, Int, Symbolic->n_col+1) ;
-    }
-
-    /* close the file */
-    fclose (f) ;
-
-    /* make sure the Symbolic object is valid */
-    if (!UMF_valid_symbolic (Symbolic))
-    {
-	UMFPACK_free_symbolic ((void **) &Symbolic) ;
-	return (UMFPACK_ERROR_invalid_Symbolic_object) ;
-    }
-
-    *SymbolicHandle = (void *) Symbolic ;
-    return (UMFPACK_OK) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umfpack_numeric.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,792 +0,0 @@
-/* ========================================================================== */
-/* === UMFPACK_numeric ====================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    User-callable.  Factorizes A into its LU factors, given a symbolic
-    pre-analysis computed by UMFPACK_symbolic.  See umfpack_numeric.h for a
-    description.
-
-    Dynamic memory allocation:  substantial.  See comments (1) through (7),
-    below.  If an error occurs, all allocated space is free'd by UMF_free.
-    If successful, the Numeric object contains 11 to 13 objects allocated by
-    UMF_malloc that hold the LU factors of the input matrix.
-*/
-
-#include "umf_internal.h"
-#include "umf_valid_symbolic.h"
-#include "umf_set_stats.h"
-#include "umf_kernel.h"
-#include "umf_malloc.h"
-#include "umf_free.h"
-#include "umf_realloc.h"
-
-#ifndef NDEBUG
-PRIVATE Int init_count ;
-#endif
-
-PRIVATE Int work_alloc
-(
-    WorkType *Work,
-    SymbolicType *Symbolic
-) ;
-
-PRIVATE void free_work
-(
-    WorkType *Work
-) ;
-
-PRIVATE Int numeric_alloc
-(
-    NumericType **NumericHandle,
-    SymbolicType *Symbolic,
-    double alloc_init,
-    Int scale
-) ;
-
-PRIVATE void error
-(
-    NumericType **Numeric,
-    WorkType *Work
-) ;
-
-
-/* ========================================================================== */
-/* === UMFPACK_numeric ====================================================== */
-/* ========================================================================== */
-
-GLOBAL Int UMFPACK_numeric
-(
-    const Int Ap [ ],
-    const Int Ai [ ],
-    const double Ax [ ],
-#ifdef COMPLEX
-    const double Az [ ],
-#endif
-    void *SymbolicHandle,
-    void **NumericHandle,
-    const double Control [UMFPACK_CONTROL],
-    double User_Info [UMFPACK_INFO]
-)
-{
-
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    double Info2 [UMFPACK_INFO], alloc_init, relpt, relpt2, droptol,
-	front_alloc_init, stats [2] ;
-    double *Info ;
-    WorkType WorkSpace, *Work ;
-    NumericType *Numeric ;
-    SymbolicType *Symbolic ;
-    Int n_row, n_col, n_inner, newsize, i, status, *inew, npiv, ulen, scale ;
-    Unit *mnew ;
-
-    /* ---------------------------------------------------------------------- */
-    /* get the amount of time used by the process so far */
-    /* ---------------------------------------------------------------------- */
-
-    umfpack_tic (stats) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* initialize and check inputs */
-    /* ---------------------------------------------------------------------- */
-
-#ifndef NDEBUG
-    UMF_dump_start ( ) ;
-    init_count = UMF_malloc_count ;
-    DEBUGm4 (("\nUMFPACK numeric: U transpose version\n")) ;
-#endif
-
-    /* If front_alloc_init negative then allocate that size of front in
-     * UMF_start_front.  If alloc_init negative, then allocate that initial
-     * size of Numeric->Memory. */
-
-    relpt = GET_CONTROL (UMFPACK_PIVOT_TOLERANCE,
-	UMFPACK_DEFAULT_PIVOT_TOLERANCE) ;
-    relpt2 = GET_CONTROL (UMFPACK_SYM_PIVOT_TOLERANCE,
-	UMFPACK_DEFAULT_SYM_PIVOT_TOLERANCE) ;
-    alloc_init = GET_CONTROL (UMFPACK_ALLOC_INIT, UMFPACK_DEFAULT_ALLOC_INIT) ;
-    front_alloc_init = GET_CONTROL (UMFPACK_FRONT_ALLOC_INIT,
-	UMFPACK_DEFAULT_FRONT_ALLOC_INIT) ;
-    scale = GET_CONTROL (UMFPACK_SCALE, UMFPACK_DEFAULT_SCALE) ;
-    droptol = GET_CONTROL (UMFPACK_DROPTOL, UMFPACK_DEFAULT_DROPTOL) ;
-
-    relpt   = MAX (0.0, MIN (relpt,  1.0)) ;
-    relpt2  = MAX (0.0, MIN (relpt2, 1.0)) ;
-    droptol = MAX (0.0, droptol) ;
-    front_alloc_init = MIN (1.0, front_alloc_init) ;
-
-    if (scale != UMFPACK_SCALE_NONE && scale != UMFPACK_SCALE_MAX)
-    {
-	scale = UMFPACK_DEFAULT_SCALE ;
-    }
-
-    if (User_Info != (double *) NULL)
-    {
-	/* return Info in user's array */
-	Info = User_Info ;
-	/* clear the parts of Info that are set by UMFPACK_numeric */
-	for (i = UMFPACK_NUMERIC_SIZE ; i <= UMFPACK_MAX_FRONT_NCOLS ; i++)
-	{
-	    Info [i] = EMPTY ;
-	}
-	for (i = UMFPACK_NUMERIC_DEFRAG ; i < UMFPACK_IR_TAKEN ; i++)
-	{
-	    Info [i] = EMPTY ;
-	}
-    }
-    else
-    {
-	/* no Info array passed - use local one instead */
-	Info = Info2 ;
-	for (i = 0 ; i < UMFPACK_INFO ; i++)
-	{
-	    Info [i] = EMPTY ;
-	}
-    }
-
-    Symbolic = (SymbolicType *) SymbolicHandle ;
-    Numeric = (NumericType *) NULL ;
-    if (!UMF_valid_symbolic (Symbolic))
-    {
-	Info [UMFPACK_STATUS] = UMFPACK_ERROR_invalid_Symbolic_object ;
-	return (UMFPACK_ERROR_invalid_Symbolic_object) ;
-    }
-
-    /* compute alloc_init automatically for AMD ordering */
-    if (Symbolic->ordering == UMFPACK_ORDERING_AMD && alloc_init >= 0)
-    {
-	alloc_init = (Symbolic->nz + Symbolic->amd_lunz) / Symbolic->lunz_bound;
-	alloc_init = MIN (1.0, alloc_init) ;
-	alloc_init *= UMF_REALLOC_INCREASE ;
-    }
-
-    n_row = Symbolic->n_row ;
-    n_col = Symbolic->n_col ;
-    n_inner = MIN (n_row, n_col) ;
-
-    /* check for integer overflow in Numeric->Memory minimum size */
-    if (INT_OVERFLOW (Symbolic->dnum_mem_init_usage * sizeof (Unit)))
-    {
-	/* :: int overflow, initial Numeric->Memory size :: */
-	/* There's no hope to allocate a Numeric object big enough simply to
-	 * hold the initial matrix, so return an out-of-memory condition */
-	DEBUGm4 (("out of memory: numeric int overflow\n")) ;
-	Info [UMFPACK_STATUS] = UMFPACK_ERROR_out_of_memory ;
-	return (UMFPACK_ERROR_out_of_memory) ;
-    }
-
-    Info [UMFPACK_STATUS] = UMFPACK_OK ;
-    Info [UMFPACK_NROW] = n_row ;
-    Info [UMFPACK_NCOL] = n_col ;
-    Info [UMFPACK_SIZE_OF_UNIT] = (double) (sizeof (Unit)) ;
-
-    if (!Ap || !Ai || !Ax || !NumericHandle)
-    {
-	Info [UMFPACK_STATUS] = UMFPACK_ERROR_argument_missing ;
-	return (UMFPACK_ERROR_argument_missing) ;
-    }
-
-    Info [UMFPACK_NZ] = Ap [n_col] ;
-    *NumericHandle = (void *) NULL ;
-
-    /* ---------------------------------------------------------------------- */
-    /* allocate the Work object */
-    /* ---------------------------------------------------------------------- */
-
-    /* (1) calls UMF_malloc 15 or 17 times, to obtain temporary workspace of
-     * size c+1 Entry's and 2*(n_row+1) + 3*(n_col+1) + (n_col+n_inner+1) +
-     * (nn+1) + * 3*(c+1) + 2*(r+1) + max(r,c) + (nfr+1) integers plus 2*nn
-     * more integers if diagonal pivoting is to be done.  r is the maximum
-     * number of rows in any frontal matrix, c is the maximum number of columns
-     * in any frontal matrix, n_inner is min (n_row,n_col), nn is
-     * max (n_row,n_col), and nfr is the number of frontal matrices.  For a
-     * square matrix, this is c+1 Entry's and about 8n + 3c + 2r + max(r,c) +
-     * nfr integers, plus 2n more for diagonal pivoting.
-     */
-
-    Work = &WorkSpace ;
-    Work->n_row = n_row ;
-    Work->n_col = n_col ;
-    Work->nfr = Symbolic->nfr ;
-    Work->nb = Symbolic->nb ;
-    Work->n1 = Symbolic->n1 ;
-
-    if (!work_alloc (Work, Symbolic))
-    {
-	DEBUGm4 (("out of memory: numeric work\n")) ;
-	Info [UMFPACK_STATUS] = UMFPACK_ERROR_out_of_memory ;
-	error (&Numeric, Work) ;
-	return (UMFPACK_ERROR_out_of_memory) ;
-    }
-    ASSERT (UMF_malloc_count == init_count + 16 + 2*Symbolic->prefer_diagonal) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* allocate Numeric object */
-    /* ---------------------------------------------------------------------- */
-
-    /* (2) calls UMF_malloc 10 or 11 times, for a total space of
-     * sizeof (NumericType) bytes, 4*(n_row+1) + 4*(n_row+1) integers, and
-     * (n_inner+1) Entry's, plus n_row Entry's if row scaling is to be done.
-     * sizeof (NumericType) is a small constant.  Next, it calls UMF_malloc
-     * once, for the variable-sized part of the Numeric object
-     * (Numeric->Memory).  The size of this object is the larger of
-     * (Control [UMFPACK_ALLOC_INIT]) *  (the approximate upper bound computed
-     * by UMFPACK_symbolic), and the minimum required to start the numerical
-     * factorization.  * This request is reduced if it fails.
-     */
-
-    if (!numeric_alloc (&Numeric, Symbolic, alloc_init, scale))
-    {
-	DEBUGm4 (("out of memory: initial numeric\n")) ;
-	Info [UMFPACK_STATUS] = UMFPACK_ERROR_out_of_memory ;
-	error (&Numeric, Work) ;
-	return (UMFPACK_ERROR_out_of_memory) ;
-    }
-    DEBUG0 (("malloc: init_count "ID" UMF_malloc_count "ID"\n",
-	init_count, UMF_malloc_count)) ;
-    ASSERT (UMF_malloc_count == init_count
-	+ (16 + 2*Symbolic->prefer_diagonal)
-	+ (11 + (scale != UMFPACK_SCALE_NONE))) ;
-
-    /* set control parameters */
-    Numeric->relpt = relpt ;
-    Numeric->relpt2 = relpt2 ;
-    Numeric->droptol = droptol ;
-    Numeric->alloc_init = alloc_init ;
-    Numeric->front_alloc_init = front_alloc_init ;
-    Numeric->scale = scale ;
-
-    DEBUG0 (("umf relpt %g %g init %g %g inc %g red %g\n",
-	relpt, relpt2, alloc_init, front_alloc_init,
-	UMF_REALLOC_INCREASE, UMF_REALLOC_REDUCTION)) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* scale and factorize */
-    /* ---------------------------------------------------------------------- */
-
-    /* (3) During numerical factorization (inside UMF_kernel), the variable-size
-     * block of memory is increased in size via a call to UMF_realloc if it is
-     * found to be too small.  During factorization, this block holds the
-     * pattern and values of L and U at the top end, and the elements
-     * (contibution blocks) and the current frontal matrix (Work->F*) at the
-     * bottom end.  The peak size of the variable-sized object is estimated in
-     * UMFPACK_*symbolic (Info [UMFPACK_VARIABLE_PEAK_ESTIMATE]), although this
-     * upper bound can be very loose.  The size of the Symbolic object
-     * (which is currently allocated) is in Info [UMFPACK_SYMBOLIC_SIZE], and
-     * is between 2*n and 13*n integers.
-     */
-
-    DEBUG0 (("Calling umf_kernel\n")) ;
-    status = UMF_kernel (Ap, Ai, Ax,
-#ifdef COMPLEX
-	Az,
-#endif
-	Numeric, Work, Symbolic) ;
-
-    Info [UMFPACK_STATUS] = status ;
-    if (status < UMFPACK_OK)
-    {
-	/* out of memory, or pattern has changed */
-	error (&Numeric, Work) ;
-	return (status) ;
-    }
-
-    Info [UMFPACK_FORCED_UPDATES] = Work->nforced ;
-    Info [UMFPACK_VARIABLE_INIT] = Numeric->init_usage ;
-    if (Symbolic->prefer_diagonal)
-    {
-	Info [UMFPACK_NOFF_DIAG] = Work->noff_diagonal ;
-    }
-
-    DEBUG0 (("malloc: init_count "ID" UMF_malloc_count "ID"\n",
-	init_count, UMF_malloc_count)) ;
-
-    npiv = Numeric->npiv ;	/* = n_inner for nonsingular matrices */
-    ulen = Numeric->ulen ;	/* = 0 for square nonsingular matrices */
-
-    /* ---------------------------------------------------------------------- */
-    /* free Work object */
-    /* ---------------------------------------------------------------------- */
-
-    /* (4) After numerical factorization all of the objects allocated in step
-     * (1) are freed via UMF_free, except that one object of size n_col+1 is
-     * kept if there are off-diagonal nonzeros in the last pivot row (can only
-     * occur for singular or rectangular matrices).  This is Work->Upattern,
-     * which is transfered to Numeric->Upattern if ulen > 0.
-     */
-
-    DEBUG0 (("malloc: init_count "ID" UMF_malloc_count "ID"\n",
-	init_count, UMF_malloc_count)) ;
-
-    free_work (Work) ;
-
-    DEBUG0 (("malloc: init_count "ID" UMF_malloc_count "ID"\n",
-	init_count, UMF_malloc_count)) ;
-    DEBUG0 (("Numeric->ulen: "ID" scale: "ID"\n", ulen, scale)) ;
-    ASSERT (UMF_malloc_count == init_count + (ulen > 0) +
-	(11 + (scale != UMFPACK_SCALE_NONE))) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* reduce Lpos, Lilen, Lip, Upos, Uilen and Uip to size npiv+1 */
-    /* ---------------------------------------------------------------------- */
-
-    /* (5) Six components of the Numeric object are reduced in size if the
-     * matrix is singular or rectangular.   The original size is 3*(n_row+1) +
-     * 3*(n_col+1) integers.  The new size is 6*(npiv+1) integers.  For
-     * square non-singular matrices, these two sizes are the same.
-     */
-
-    if (npiv < n_row)
-    {
-	/* reduce Lpos, Uilen, and Uip from size n_row+1 to size npiv */
-	inew = (Int *) UMF_realloc (Numeric->Lpos, npiv+1, sizeof (Int)) ;
-	if (inew)
-	{
-	    Numeric->Lpos = inew ;
-	}
-	inew = (Int *) UMF_realloc (Numeric->Uilen, npiv+1, sizeof (Int)) ;
-	if (inew)
-	{
-	    Numeric->Uilen = inew ;
-	}
-	inew = (Int *) UMF_realloc (Numeric->Uip, npiv+1, sizeof (Int)) ;
-	if (inew)
-	{
-	    Numeric->Uip = inew ;
-	}
-    }
-
-    if (npiv < n_col)
-    {
-	/* reduce Upos, Lilen, and Lip from size n_col+1 to size npiv */
-	inew = (Int *) UMF_realloc (Numeric->Upos, npiv+1, sizeof (Int)) ;
-	if (inew)
-	{
-	    Numeric->Upos = inew ;
-	}
-	inew = (Int *) UMF_realloc (Numeric->Lilen, npiv+1, sizeof (Int)) ;
-	if (inew)
-	{
-	    Numeric->Lilen = inew ;
-	}
-	inew = (Int *) UMF_realloc (Numeric->Lip, npiv+1, sizeof (Int)) ;
-	if (inew)
-	{
-	    Numeric->Lip = inew ;
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* reduce Numeric->Upattern from size n_col+1 to size ulen+1 */
-    /* ---------------------------------------------------------------------- */
-
-    /* (6) The size of Numeric->Upattern (formerly Work->Upattern) is reduced
-     * from size n_col+1 to size ulen + 1.  If ulen is zero, the object does
-     * not exist. */
-
-    DEBUG4 (("ulen: "ID" Upattern "ID"\n", ulen, (Int) Numeric->Upattern)) ;
-    ASSERT (IMPLIES (ulen == 0, Numeric->Upattern == (Int *) NULL)) ;
-    if (ulen > 0 && ulen < n_col)
-    {
-	inew = (Int *) UMF_realloc (Numeric->Upattern, ulen+1, sizeof (Int)) ;
-	if (inew)
-	{
-	    Numeric->Upattern = inew ;
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* reduce Numeric->Memory to hold just the LU factors at the head */
-    /* ---------------------------------------------------------------------- */
-
-    /* (7) The variable-sized block (Numeric->Memory) is reduced to hold just L
-     * and U, via a call to UMF_realloc, since the frontal matrices are no
-     * longer needed.
-     */
-
-    newsize = Numeric->ihead ;
-    if (newsize < Numeric->size)
-    {
-	mnew = (Unit *) UMF_realloc (Numeric->Memory, newsize, sizeof (Unit)) ;
-	if (mnew)
-	{
-	    /* realloc succeeded (how can it fail since the size is reduced?) */
-	    Numeric->Memory = mnew ;
-	    Numeric->size = newsize ;
-	}
-    }
-    Numeric->ihead = Numeric->size ;
-    Numeric->itail = Numeric->ihead ;
-    Numeric->tail_usage = 0 ;
-    Numeric->ibig = EMPTY ;
-    /* UMF_mem_alloc_tail_block can no longer be called (no tail marker) */
-
-    /* ---------------------------------------------------------------------- */
-    /* report the results and return the Numeric object */
-    /* ---------------------------------------------------------------------- */
-
-    UMF_set_stats (
-	Info,
-	Symbolic,
-	(double) Numeric->max_usage,	/* actual peak Numeric->Memory */
-	(double) Numeric->size,		/* actual final Numeric->Memory */
-	Numeric->flops,			/* actual "true flops" */
-	(double) Numeric->lnz + n_inner,		/* actual nz in L */
-	(double) Numeric->unz + Numeric->nnzpiv,	/* actual nz in U */
-	(double) Numeric->maxfrsize,	/* actual largest front size */
-	(double) ulen,			/* actual Numeric->Upattern size */
-	(double) npiv,			/* actual # pivots found */
-	(double) Numeric->maxnrows,	/* actual largest #rows in front */
-	(double) Numeric->maxncols,	/* actual largest #cols in front */
-	scale != UMFPACK_SCALE_NONE,
-	Symbolic->prefer_diagonal,
-	ACTUAL) ;
-
-    Info [UMFPACK_ALLOC_INIT_USED] = Numeric->alloc_init ;
-    Info [UMFPACK_NUMERIC_DEFRAG] = Numeric->ngarbage ;
-    Info [UMFPACK_NUMERIC_REALLOC] = Numeric->nrealloc ;
-    Info [UMFPACK_NUMERIC_COSTLY_REALLOC] = Numeric->ncostly ;
-    Info [UMFPACK_COMPRESSED_PATTERN] = Numeric->isize ;
-    Info [UMFPACK_LU_ENTRIES] = Numeric->nLentries + Numeric->nUentries +
-	    Numeric->npiv ;
-    Info [UMFPACK_UDIAG_NZ] = Numeric->nnzpiv ;
-    Info [UMFPACK_RSMIN] = Numeric->rsmin ;
-    Info [UMFPACK_RSMAX] = Numeric->rsmax ;
-    Info [UMFPACK_WAS_SCALED] = Numeric->scale ;
-
-    /* nz in L and U with no dropping of small entries */
-    Info [UMFPACK_ALL_LNZ] = Numeric->all_lnz + n_inner ;
-    Info [UMFPACK_ALL_UNZ] = Numeric->all_unz + Numeric->nnzpiv ;
-    Info [UMFPACK_NZDROPPED] =
-	  (Numeric->all_lnz - Numeric->lnz)
-	+ (Numeric->all_unz - Numeric->unz) ;
-
-    /* estimate of the reciprocal of the condition number. */
-    if (SCALAR_IS_ZERO (Numeric->min_udiag)
-     || SCALAR_IS_ZERO (Numeric->max_udiag)
-     ||	SCALAR_IS_NAN (Numeric->min_udiag)
-     ||	SCALAR_IS_NAN (Numeric->max_udiag))
-    {
-	/* rcond is zero if there is any zero or NaN on the diagonal */
-	Numeric->rcond = 0.0 ;
-    }
-    else
-    {
-	/* estimate of the recipricol of the condition number. */
-	/* This is NaN if diagonal is zero-free, but has one or more NaN's. */
-	Numeric->rcond = Numeric->min_udiag / Numeric->max_udiag ;
-    }
-    Info [UMFPACK_UMIN]  = Numeric->min_udiag ;
-    Info [UMFPACK_UMAX]  = Numeric->max_udiag ;
-    Info [UMFPACK_RCOND] = Numeric->rcond ;
-
-    if (Numeric->nnzpiv < n_inner
-    || SCALAR_IS_ZERO (Numeric->rcond) || SCALAR_IS_NAN (Numeric->rcond))
-    {
-	/* there are zeros and/or NaN's on the diagonal of U */
-	DEBUG0 (("Warning, matrix is singular in umfpack_numeric\n")) ;
-	DEBUG0 (("nnzpiv "ID" n_inner "ID" rcond %g\n", Numeric->nnzpiv,
-	    n_inner, Numeric->rcond)) ;
-	status = UMFPACK_WARNING_singular_matrix ;
-	Info [UMFPACK_STATUS] = status ;
-    }
-
-    Numeric->valid = NUMERIC_VALID ;
-    *NumericHandle = (void *) Numeric ;
-
-    /* Numeric has 11 to 13 objects */
-    ASSERT (UMF_malloc_count == init_count + 11 +
-	+ (ulen > 0)			    /* Numeric->Upattern */
-	+ (scale != UMFPACK_SCALE_NONE)) ;  /* Numeric->Rs */
-
-    /* ---------------------------------------------------------------------- */
-    /* get the time used by UMFPACK_numeric */
-    /* ---------------------------------------------------------------------- */
-
-    umfpack_toc (stats) ;
-    Info [UMFPACK_NUMERIC_WALLTIME] = stats [0] ;
-    Info [UMFPACK_NUMERIC_TIME] = stats [1] ;
-
-    /* return UMFPACK_OK or UMFPACK_WARNING_singular_matrix */
-    return (status) ;
-
-}
-
-
-/* ========================================================================== */
-/* === numeric_alloc ======================================================== */
-/* ========================================================================== */
-
-/* Allocate the Numeric object */
-
-PRIVATE Int numeric_alloc
-(
-    NumericType **NumericHandle,
-    SymbolicType *Symbolic,
-    double alloc_init,
-    Int scale
-)
-{
-    double nsize, bsize ;
-    Int n_row, n_col, n_inner, min_usage, trying ;
-    NumericType *Numeric ;
-
-    DEBUG0 (("numeric alloc:\n")) ;
-
-    n_row = Symbolic->n_row ;
-    n_col = Symbolic->n_col ;
-    n_inner = MIN (n_row, n_col) ;
-    *NumericHandle = (NumericType *) NULL ;
-
-    /* 1 allocation:  accounted for in UMF_set_stats (num_On_size1),
-     * free'd in umfpack_free_numeric */
-    Numeric = (NumericType *) UMF_malloc (1, sizeof (NumericType)) ;
-
-    if (!Numeric)
-    {
-	return (FALSE) ;	/* out of memory */
-    }
-    Numeric->valid = 0 ;
-    *NumericHandle = Numeric ;
-
-    /* 9 allocations:  accounted for in UMF_set_stats (num_On_size1),
-     * free'd in umfpack_free_numeric */
-    Numeric->D = (Entry *) UMF_malloc (n_inner+1, sizeof (Entry)) ;
-    Numeric->Rperm = (Int *) UMF_malloc (n_row+1, sizeof (Int)) ;
-    Numeric->Cperm = (Int *) UMF_malloc (n_col+1, sizeof (Int)) ;
-    Numeric->Lpos = (Int *) UMF_malloc (n_row+1, sizeof (Int)) ;
-    Numeric->Lilen = (Int *) UMF_malloc (n_col+1, sizeof (Int)) ;
-    Numeric->Lip = (Int *) UMF_malloc (n_col+1, sizeof (Int)) ;
-    Numeric->Upos = (Int *) UMF_malloc (n_col+1, sizeof (Int)) ;
-    Numeric->Uilen = (Int *) UMF_malloc (n_row+1, sizeof (Int)) ;
-    Numeric->Uip = (Int *) UMF_malloc (n_row+1, sizeof (Int)) ;
-
-    /* 1 allocation if scaling:  in UMF_set_stats (num_On_size1),
-     * free'd in umfpack_free_numeric */
-    if (scale != UMFPACK_SCALE_NONE)
-    {
-	DEBUG0 (("Allocating scale factors\n")) ;
-	Numeric->Rs = (double *) UMF_malloc (n_row, sizeof (double)) ;
-    }
-    else
-    {
-	DEBUG0 (("No scale factors allocated (R = I)\n")) ;
-	Numeric->Rs = (double *) NULL ;
-    }
-
-    Numeric->Memory = (Unit *) NULL ;
-
-    /* Upattern has already been allocated as part of the Work object.  If
-     * the matrix is singular or rectangular, and there are off-diagonal
-     * nonzeros in the last pivot row, then Work->Upattern is not free'd.
-     * Instead it is transfered to Numeric->Upattern.  If it exists,
-     * Numeric->Upattern is free'd in umfpack_free_numeric. */
-    Numeric->Upattern = (Int *) NULL ;	/* used for singular matrices only */
-
-    if (!Numeric->D || !Numeric->Rperm || !Numeric->Cperm || !Numeric->Upos ||
-	!Numeric->Lpos || !Numeric->Lilen || !Numeric->Uilen || !Numeric->Lip ||
-	!Numeric->Uip || (scale != UMFPACK_SCALE_NONE && !Numeric->Rs))
-    {
-	return (FALSE) ;	/* out of memory */
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* allocate initial Numeric->Memory for LU factors and elements */
-    /* ---------------------------------------------------------------------- */
-
-    if (alloc_init < 0)
-    {
-	/* -alloc_init is the exact size to initially allocate */
-	nsize = -alloc_init ;
-    }
-    else
-    {
-	/* alloc_init is a ratio of the upper bound memory usage */
-	nsize = (alloc_init * Symbolic->num_mem_usage_est) + 1 ;
-    }
-    min_usage = Symbolic->num_mem_init_usage ;
-
-    /* Numeric->Memory must be large enough for UMF_kernel_init */
-    nsize = MAX (min_usage, nsize) ;
-
-    /* Numeric->Memory cannot be larger in size than Int_MAX / sizeof(Unit) */
-    /* For ILP32 mode:  2GB (nsize cannot be bigger than 256 Mwords) */
-    bsize = ((double) Int_MAX) / sizeof (Unit) - 1 ;
-    DEBUG0 (("bsize %g\n", bsize)) ;
-    nsize = MIN (nsize, bsize) ;
-
-    Numeric->size = (Int) nsize ;
-
-    DEBUG0 (("Num init %g usage_est %g numsize "ID" minusage "ID"\n",
-	alloc_init, Symbolic->num_mem_usage_est, Numeric->size, min_usage)) ;
-
-    /* allocates 1 object: */
-    /* keep trying until successful, or memory request is too small */
-    trying = TRUE ;
-    while (trying)
-    {
-	Numeric->Memory = (Unit *) UMF_malloc (Numeric->size, sizeof (Unit)) ;
-	if (Numeric->Memory)
-	{
-	    DEBUG0 (("Successful Numeric->size: "ID"\n", Numeric->size)) ;
-	    return (TRUE) ;
-	}
-	/* too much, reduce the request (but not below the minimum) */
-	/* and try again */
-	trying = Numeric->size > min_usage ;
-	Numeric->size = (Int)
-	    (UMF_REALLOC_REDUCTION * ((double) Numeric->size)) ;
-	Numeric->size = MAX (min_usage, Numeric->size) ;
-    }
-
-    return (FALSE) ;	/* we failed to allocate Numeric->Memory */
-}
-
-
-/* ========================================================================== */
-/* === work_alloc =========================================================== */
-/* ========================================================================== */
-
-/* Allocate the Work object.  Return TRUE if successful. */
-
-PRIVATE Int work_alloc
-(
-    WorkType *Work,
-    SymbolicType *Symbolic
-)
-{
-    Int n_row, n_col, nn, maxnrows, maxncols, nfr, ok, maxnrc, n1 ;
-
-    n_row = Work->n_row ;
-    n_col = Work->n_col ;
-    nn = MAX (n_row, n_col) ;
-    nfr = Work->nfr ;
-    n1 = Symbolic->n1 ;
-    ASSERT (n1 <= n_row && n1 <= n_col) ;
-
-    maxnrows = Symbolic->maxnrows + Symbolic->nb ;
-    maxnrows = MIN (n_row, maxnrows) ;
-    maxncols = Symbolic->maxncols + Symbolic->nb ;
-    maxncols = MIN (n_col, maxncols) ;
-    maxnrc = MAX (maxnrows, maxncols) ;
-
-    DEBUG0 (("work alloc:  maxnrows+nb "ID" maxncols+nb "ID"\n",
-	maxnrows, maxncols)) ;
-
-    /* 15 allocations, freed in free_work: */
-    /* accounted for in UMF_set_stats (work_usage) */
-    Work->Wx = (Entry *) UMF_malloc (maxnrows + 1, sizeof (Entry)) ;
-    Work->Wy = (Entry *) UMF_malloc (maxnrows + 1, sizeof (Entry)) ;
-    Work->Frpos    = (Int *) UMF_malloc (n_row + 1, sizeof (Int)) ;
-    Work->Lpattern = (Int *) UMF_malloc (n_row + 1, sizeof (Int)) ;
-    Work->Fcpos = (Int *) UMF_malloc (n_col + 1, sizeof (Int)) ;
-    Work->Wp = (Int *) UMF_malloc (nn + 1, sizeof (Int)) ;
-    Work->Wrp = (Int *) UMF_malloc (MAX (n_col,maxnrows) + 1, sizeof (Int)) ;
-    Work->Frows = (Int *) UMF_malloc (maxnrows + 1, sizeof (Int)) ;
-    Work->Wm    = (Int *) UMF_malloc (maxnrows + 1, sizeof (Int)) ;
-    Work->Fcols = (Int *) UMF_malloc (maxncols + 1, sizeof (Int)) ;
-    Work->Wio   = (Int *) UMF_malloc (maxncols + 1, sizeof (Int)) ;
-    Work->Woi   = (Int *) UMF_malloc (maxncols + 1, sizeof (Int)) ;
-    Work->Woo = (Int *) UMF_malloc (maxnrc + 1, sizeof (Int));
-    Work->elen = (n_col - n1) + (n_row - n1) + MIN (n_col-n1, n_row-n1) + 1 ;
-    Work->E = (Int *) UMF_malloc (Work->elen, sizeof (Int)) ;
-    Work->Front_new1strow = (Int *) UMF_malloc (nfr + 1, sizeof (Int)) ;
-
-    ok = (Work->Frpos && Work->Fcpos && Work->Lpattern
-	&& Work->Wp && Work->Wrp && Work->Frows && Work->Fcols
-	&& Work->Wio && Work->Woi && Work->Woo && Work->Wm
-	&& Work->E && Work->Front_new1strow && Work->Wx && Work->Wy) ;
-
-    /* 2 allocations: accounted for in UMF_set_stats (work_usage) */
-    if (Symbolic->prefer_diagonal)
-    {
-	Work->Diagonal_map  = (Int *) UMF_malloc (nn, sizeof (Int)) ;
-	Work->Diagonal_imap = (Int *) UMF_malloc (nn, sizeof (Int)) ;
-	ok = ok && Work->Diagonal_map && Work->Diagonal_imap ;
-    }
-    else
-    {
-	/* no diagonal map needed for rectangular matrices */
-	Work->Diagonal_map = (Int *) NULL ;
-	Work->Diagonal_imap = (Int *) NULL ;
-    }
-
-    /* 1 allocation, may become part of Numeric (if singular or rectangular): */
-    Work->Upattern = (Int *) UMF_malloc (n_col + 1, sizeof (Int)) ;
-    ok = ok && Work->Upattern ;
-
-    /* current frontal matrix does not yet exist */
-    Work->Flublock = (Entry *) NULL ;
-    Work->Flblock  = (Entry *) NULL ;
-    Work->Fublock  = (Entry *) NULL ;
-    Work->Fcblock  = (Entry *) NULL ;
-
-    DEBUG0 (("work alloc done.\n")) ;
-    return (ok) ;
-}
-
-
-/* ========================================================================== */
-/* === free_work ============================================================ */
-/* ========================================================================== */
-
-PRIVATE void free_work
-(
-    WorkType *Work
-)
-{
-    DEBUG0 (("work free:\n")) ;
-    if (Work)
-    {
-	/* these 16 objects do exist */
-	Work->Wx = (Entry *) UMF_free ((void *) Work->Wx) ;
-	Work->Wy = (Entry *) UMF_free ((void *) Work->Wy) ;
-	Work->Frpos = (Int *) UMF_free ((void *) Work->Frpos) ;
-	Work->Fcpos = (Int *) UMF_free ((void *) Work->Fcpos) ;
-	Work->Lpattern = (Int *) UMF_free ((void *) Work->Lpattern) ;
-	Work->Upattern = (Int *) UMF_free ((void *) Work->Upattern) ;
-	Work->Wp = (Int *) UMF_free ((void *) Work->Wp) ;
-	Work->Wrp = (Int *) UMF_free ((void *) Work->Wrp) ;
-	Work->Frows = (Int *) UMF_free ((void *) Work->Frows) ;
-	Work->Fcols = (Int *) UMF_free ((void *) Work->Fcols) ;
-	Work->Wio = (Int *) UMF_free ((void *) Work->Wio) ;
-	Work->Woi = (Int *) UMF_free ((void *) Work->Woi) ;
-	Work->Woo = (Int *) UMF_free ((void *) Work->Woo) ;
-	Work->Wm = (Int *) UMF_free ((void *) Work->Wm) ;
-	Work->E = (Int *) UMF_free ((void *) Work->E) ;
-	Work->Front_new1strow =
-	    (Int *) UMF_free ((void *) Work->Front_new1strow) ;
-
-	/* these objects might not exist */
-	Work->Diagonal_map = (Int *) UMF_free ((void *) Work->Diagonal_map) ;
-	Work->Diagonal_imap = (Int *) UMF_free ((void *) Work->Diagonal_imap) ;
-    }
-    DEBUG0 (("work free done.\n")) ;
-}
-
-
-/* ========================================================================== */
-/* === error ================================================================ */
-/* ========================================================================== */
-
-/* Error return from UMFPACK_numeric.  Free all allocated memory. */
-
-PRIVATE void error
-(
-    NumericType **Numeric,
-    WorkType *Work
-)
-{
-    free_work (Work) ;
-    UMFPACK_free_numeric ((void **) Numeric) ;
-    ASSERT (UMF_malloc_count == init_count) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umfpack_qsymbolic.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,2415 +0,0 @@
-/* ========================================================================== */
-/* === UMFPACK_qsymbolic ==================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    User-callable.  Performs a symbolic factorization.
-    See umfpack_qsymbolic.h and umfpack_symbolic.h for details.
-
-    Dynamic memory usage:  about (3.4nz + 8n + n) integers and n double's as
-    workspace (via UMF_malloc, for a square matrix).  All of it is free'd via
-    UMF_free if an error occurs.  If successful, the Symbolic object contains
-    12 to 14 objects allocated by UMF_malloc, with a total size of no more
-    than about 13*n integers.
-*/
-
-#include "umf_internal.h"
-#include "umf_symbolic_usage.h"
-#include "umf_colamd.h"
-#include "umf_set_stats.h"
-#include "umf_analyze.h"
-#include "umf_transpose.h"
-#include "umf_is_permutation.h"
-#include "umf_malloc.h"
-#include "umf_free.h"
-#include "umf_2by2.h"
-#include "umf_singletons.h"
-
-typedef struct	/* SWType */
-{
-    Int *Front_npivcol ;    /* size n_col + 1 */
-    Int *Front_nrows ;	    /* size n_col */
-    Int *Front_ncols ;	    /* size n_col */
-    Int *Front_parent ;	    /* size n_col */
-    Int *Front_cols ;	    /* size n_col */
-    Int *InFront ;	    /* size n_row */
-    Int *Ci ;		    /* size Clen */
-    Int *Cperm1 ;	    /* size n_col */
-    Int *Rperm1 ;	    /* size n_row */
-    Int *InvRperm1 ;	    /* size n_row */
-    Int *Si ;		    /* size nz */
-    Int *Sp ;		    /* size n_col + 1 */
-    double *Rs ;	    /* size n_row */
-    Int *Rperm_2by2 ;	    /* size n_row */
-
-} SWType ;
-
-PRIVATE void free_work
-(
-    SWType *SW
-) ;
-
-PRIVATE void error
-(
-    SymbolicType **Symbolic,
-    SWType *SW
-) ;
-
-/* worst-case usage for SW object */
-#define SYM_WORK_USAGE(n_col,n_row,Clen) \
-    (DUNITS (Int, Clen) + \
-     DUNITS (Int, nz) + \
-     4 * DUNITS (Int, n_row) + \
-     4 * DUNITS (Int, n_col) + \
-     2 * DUNITS (Int, n_col + 1) + \
-     DUNITS (double, n_row))
-
-/* required size of Ci for code that calls UMF_transpose and UMF_analyze below*/
-#define UMF_ANALYZE_CLEN(nz,n_row,n_col,nn) \
-    ((n_col) + MAX ((nz),(n_col)) + 3*(nn)+1 + (n_col))
-
-/* size of an element (in Units), including tuples */
-#define ELEMENT_SIZE(r,c) \
-    (DGET_ELEMENT_SIZE (r, c) + 1 + (r + c) * UNITS (Tuple, 1))
-
-#ifndef NDEBUG
-PRIVATE Int init_count ;
-#endif
-
-/* ========================================================================== */
-/* === do_amd =============================================================== */
-/* ========================================================================== */
-
-PRIVATE void do_amd
-(
-    Int n,
-    const Int Ap [ ],		/* size n+1 */
-    const Int Ai [ ],		/* size nz = Ap [n] */
-    Int Q [ ],			/* output permutation, j = Q [k] */
-    Int Qinv [ ],		/* output inverse permutation, Qinv [j] = k */
-    Int Sdeg [ ],		/* degree of A+A', from AMD_aat */
-    Int Clen,			/* size of Ci */
-    Int Ci [ ],			/* size Ci workspace */
-    double amd_Control [ ],	/* AMD control parameters */
-    double amd_Info [ ],	/* AMD info */
-    SymbolicType *Symbolic,	/* Symbolic object */
-    double Info [ ]		/* UMFPACK info */
-)
-{
-
-    if (n == 0)
-    {
-	Symbolic->amd_dmax = 0 ;
-	Symbolic->amd_lunz = 0 ;
-	Info [UMFPACK_SYMMETRIC_LUNZ] = 0 ;
-	Info [UMFPACK_SYMMETRIC_FLOPS] = 0 ;
-	Info [UMFPACK_SYMMETRIC_DMAX] = 0 ;
-	Info [UMFPACK_SYMMETRIC_NDENSE] = 0 ;
-    }
-    else
-    {
-	AMD_1 (n, Ap, Ai, Q, Qinv, Sdeg, Clen, Ci, amd_Control, amd_Info) ;
-
-	/* return estimates computed from AMD on PA+PA' */
-	Symbolic->amd_dmax = amd_Info [AMD_DMAX] ;
-	Symbolic->amd_lunz = 2 * amd_Info [AMD_LNZ] + n ;
-	Info [UMFPACK_SYMMETRIC_LUNZ] = Symbolic->amd_lunz ;
-	Info [UMFPACK_SYMMETRIC_FLOPS] = DIV_FLOPS * amd_Info [AMD_NDIV] +
-	    MULTSUB_FLOPS * amd_Info [AMD_NMULTSUBS_LU] ;
-	Info [UMFPACK_SYMMETRIC_DMAX] = Symbolic->amd_dmax ;
-	Info [UMFPACK_SYMMETRIC_NDENSE] = amd_Info [AMD_NDENSE] ;
-	Info [UMFPACK_SYMBOLIC_DEFRAG] += amd_Info [AMD_NCMPA] ;
-    }
-}
-
-/* ========================================================================== */
-/* === prune_singletons ===================================================== */
-/* ========================================================================== */
-
-/* Create the submatrix after removing the n1 singletons.  The matrix has
- * row and column indices in the range 0 to n_row-n1 and 0 to n_col-n1,
- * respectively.  */
-
-PRIVATE Int prune_singletons
-(
-    Int n1,
-    Int n_col,
-    const Int Ap [ ],
-    const Int Ai [ ],
-    const double Ax [ ],
-#ifdef COMPLEX
-    const double Az [ ],
-#endif
-    Int Cperm1 [ ],
-    Int InvRperm1 [ ],
-    Int Si [ ],
-    Int Sp [ ]
-#ifndef NDEBUG
-    , Int Rperm1 [ ]
-    , Int n_row
-#endif
-)
-{
-    Int row, k, pp, p, oldcol, newcol, newrow, nzdiag, do_nzdiag ;
-#ifdef COMPLEX
-    Int split = SPLIT (Az) ;
-#endif
-
-    nzdiag = 0 ;
-    do_nzdiag = (Ax != (double *) NULL) ;
-
-#ifndef NDEBUG
-    DEBUGm4 (("Prune : S = A (Cperm1 (n1+1:end), Rperm1 (n1+1:end))\n")) ;
-    for (k = 0 ; k < n_row ; k++)
-    {
-	ASSERT (Rperm1 [k] >= 0 && Rperm1 [k] < n_row) ;
-	ASSERT (InvRperm1 [Rperm1 [k]] == k) ;
-    }
-#endif
-
-    /* create the submatrix after removing singletons */
-
-    pp = 0 ;
-    for (k = n1 ; k < n_col ; k++)
-    {
-	oldcol = Cperm1 [k] ;
-	newcol = k - n1 ;
-	DEBUG5 (("Prune singletons k "ID" oldcol "ID" newcol "ID": "ID"\n",
-	    k, oldcol, newcol, pp)) ;
-	Sp [newcol] = pp ;  /* load column pointers */
-	for (p = Ap [oldcol] ; p < Ap [oldcol+1] ; p++)
-	{
-	    row = Ai [p] ;
-	    DEBUG5 (("  "ID":  row "ID, pp, row)) ;
-	    ASSERT (row >= 0 && row < n_row) ;
-	    newrow = InvRperm1 [row] - n1 ;
-	    ASSERT (newrow < n_row - n1) ;
-	    if (newrow >= 0)
-	    {
-		DEBUG5 (("  newrow "ID, newrow)) ;
-		Si [pp++] = newrow ;
-		if (do_nzdiag)
-		{
-		    /* count the number of truly nonzero entries on the
-		     * diagonal of S, excluding entries that are present,
-		     * but numerically zero */
-		    if (newrow == newcol)
-		    {
-			/* this is the diagonal entry */
-#ifdef COMPLEX
-		        if (split)
-			{
-			    if (SCALAR_IS_NONZERO (Ax [p]) ||
-				SCALAR_IS_NONZERO (Az [p]))
-			    {
-				nzdiag++ ;
-			    }
-			}
-			else
-			{
-			    if (SCALAR_IS_NONZERO (Ax [2*p  ]) ||
-				SCALAR_IS_NONZERO (Ax [2*p+1]))
-			    {
-				nzdiag++ ;
-			    }
-			}
-#else
-			if (SCALAR_IS_NONZERO (Ax [p]))
-			{
-			    nzdiag++ ;
-			}
-#endif
-		    }
-		}
-	    }
-	    DEBUG5 (("\n")) ;
-	}
-    }
-    Sp [n_col - n1] = pp ;
-
-    return (nzdiag) ;
-}
-
-/* ========================================================================== */
-/* === combine_ordering ===================================================== */
-/* ========================================================================== */
-
-PRIVATE void combine_ordering
-(
-    Int n1,
-    Int nempty_col,
-    Int n_col,
-    Int Cperm_init [ ],	    /* output permutation */
-    Int Cperm1 [ ],	    /* singleton and empty column ordering */
-    Int Qinv [ ]	    /* Qinv from AMD or COLAMD */
-)
-{
-    Int k, oldcol, newcol, knew ;
-
-    /* combine the singleton ordering with Qinv */
-#ifndef NDEBUG
-    for (k = 0 ; k < n_col ; k++)
-    {
-	Cperm_init [k] = EMPTY ;
-    }
-#endif
-    for (k = 0 ; k < n1 ; k++)
-    {
-	DEBUG1 ((ID" Initial singleton: "ID"\n", k, Cperm1 [k])) ;
-	Cperm_init [k] = Cperm1 [k] ;
-    }
-    for (k = n1 ; k < n_col - nempty_col ; k++)
-    {
-	/* this is a non-singleton column */
-	oldcol = Cperm1 [k] ;	/* user's name for this column */
-	newcol = k - n1 ;	/* Qinv's name for this column */
-	knew = Qinv [newcol] ;	/* Qinv's ordering for this column */
-	knew += n1 ;		/* shift order, after singletons */
-	DEBUG1 ((" k "ID" oldcol "ID" newcol "ID" knew "ID"\n",
-	    k, oldcol, newcol, knew)) ;
-	ASSERT (knew >= 0 && knew < n_col - nempty_col) ;
-	ASSERT (Cperm_init [knew] == EMPTY) ;
-	Cperm_init [knew] = oldcol ;
-    }
-    for (k = n_col - nempty_col ; k < n_col ; k++)
-    {
-	Cperm_init [k] = Cperm1 [k] ;
-    }
-#ifndef NDEBUG
-    {
-	Int *W = (Int *) malloc ((n_col + 1) * sizeof (Int)) ;
-	ASSERT (UMF_is_permutation (Cperm_init, W, n_col, n_col)) ;
-	free (W) ;
-    }
-#endif
-
-}
-
-/* ========================================================================== */
-/* === UMFPACK_qsymbolic ==================================================== */
-/* ========================================================================== */
-
-GLOBAL Int UMFPACK_qsymbolic
-(
-    Int n_row,
-    Int n_col,
-    const Int Ap [ ],
-    const Int Ai [ ],
-    const double Ax [ ],
-#ifdef COMPLEX
-    const double Az [ ],
-#endif
-    const Int Quser [ ],
-    void **SymbolicHandle,
-    const double Control [UMFPACK_CONTROL],
-    double User_Info [UMFPACK_INFO]
-)
-{
-
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    double knobs [COLAMD_KNOBS], flops, f, r, c, force_fixQ,
-	Info2 [UMFPACK_INFO], drow, dcol, dtail_usage, dlf, duf, dmax_usage,
-	dhead_usage, dlnz, dunz, dmaxfrsize, dClen, dClen_analyze, sym,
-	amd_Info [AMD_INFO], dClen_amd, dr, dc, cr, cc, cp,
-	amd_Control [AMD_CONTROL], stats [2], tol ;
-    double *Info ;
-    Int i, nz, j, newj, status, f1, f2, maxnrows, maxncols, nfr, col,
-	nchains, maxrows, maxcols, p, nb, nn, *Chain_start, *Chain_maxrows,
-	*Chain_maxcols, *Front_npivcol, *Ci, Clen, colamd_stats [COLAMD_STATS],
-	fpiv, n_inner, child, parent, *Link, row, *Front_parent,
-	analyze_compactions, k, chain, is_sym, *Si, *Sp, n2, do_UMF_analyze,
-	fpivcol, fallrows, fallcols, *InFront, *F1, snz, *Front_1strow, f1rows,
-	kk, *Cperm_init, *Rperm_init, newrow, *InvRperm1, *Front_leftmostdesc,
-	Clen_analyze, strategy, Clen_amd, fixQ, prefer_diagonal, nzdiag, nzaat,
-	*Wq, *Sdeg, *Fr_npivcol, nempty, *Fr_nrows, *Fr_ncols, *Fr_parent,
-	*Fr_cols, nempty_row, nempty_col, user_auto_strategy, fail, max_rdeg,
-	head_usage, tail_usage, lnz, unz, esize, *Esize, rdeg, *Cdeg, *Rdeg,
-	*Cperm1, *Rperm1, n1, oldcol, newcol, n1c, n1r, *Rperm_2by2, oldrow,
-	dense_row_threshold, tlen, aggressive, scale, *Rp, *Ri ;
-
-    SymbolicType *Symbolic ;
-    SWType SWspace, *SW ;
-
-#ifndef NDEBUG
-    UMF_dump_start ( ) ;
-    init_count = UMF_malloc_count ;
-    PRINTF ((
-"**** Debugging enabled (UMFPACK will be exceedingly slow!) *****************\n"
-	)) ;
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* get the amount of time used by the process so far */
-    /* ---------------------------------------------------------------------- */
-
-    umfpack_tic (stats) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* get control settings and check input parameters */
-    /* ---------------------------------------------------------------------- */
-
-    drow = GET_CONTROL (UMFPACK_DENSE_ROW, UMFPACK_DEFAULT_DENSE_ROW) ;
-    dcol = GET_CONTROL (UMFPACK_DENSE_COL, UMFPACK_DEFAULT_DENSE_COL) ;
-    nb = GET_CONTROL (UMFPACK_BLOCK_SIZE, UMFPACK_DEFAULT_BLOCK_SIZE) ;
-    strategy = GET_CONTROL (UMFPACK_STRATEGY, UMFPACK_DEFAULT_STRATEGY) ;
-    tol = GET_CONTROL (UMFPACK_2BY2_TOLERANCE, UMFPACK_DEFAULT_2BY2_TOLERANCE) ;
-    scale = GET_CONTROL (UMFPACK_SCALE, UMFPACK_DEFAULT_SCALE) ;
-    force_fixQ = GET_CONTROL (UMFPACK_FIXQ, UMFPACK_DEFAULT_FIXQ) ;
-    AMD_defaults (amd_Control) ;
-    amd_Control [AMD_DENSE] =
-	GET_CONTROL (UMFPACK_AMD_DENSE, UMFPACK_DEFAULT_AMD_DENSE) ;
-    aggressive =
-	(GET_CONTROL (UMFPACK_AGGRESSIVE, UMFPACK_DEFAULT_AGGRESSIVE) != 0) ;
-    amd_Control [AMD_AGGRESSIVE] = aggressive ;
-
-    nb = MAX (2, nb) ;
-    nb = MIN (nb, MAXNB) ;
-    ASSERT (nb >= 0) ;
-    if (nb % 2 == 1) nb++ ;	/* make sure nb is even */
-    DEBUG0 (("UMFPACK_qsymbolic: nb = "ID" aggressive = "ID"\n", nb,
-	aggressive)) ;
-
-    tol = MAX (0.0, MIN (tol,  1.0)) ;
-    if (scale != UMFPACK_SCALE_NONE && scale != UMFPACK_SCALE_MAX)
-    {
-	scale = UMFPACK_DEFAULT_SCALE ;
-    }
-
-    if (User_Info != (double *) NULL)
-    {
-	/* return Info in user's array */
-	Info = User_Info ;
-    }
-    else
-    {
-	/* no Info array passed - use local one instead */
-	Info = Info2 ;
-    }
-    /* clear all of Info */
-    for (i = 0 ; i < UMFPACK_INFO ; i++)
-    {
-	Info [i] = EMPTY ;
-    }
-
-    nn = MAX (n_row, n_col) ;
-    n_inner = MIN (n_row, n_col) ;
-
-    Info [UMFPACK_STATUS] = UMFPACK_OK ;
-    Info [UMFPACK_NROW] = n_row ;
-    Info [UMFPACK_NCOL] = n_col ;
-    Info [UMFPACK_SIZE_OF_UNIT] = (double) (sizeof (Unit)) ;
-    Info [UMFPACK_SIZE_OF_INT] = (double) (sizeof (int)) ;
-    Info [UMFPACK_SIZE_OF_LONG] = (double) (sizeof (long)) ;
-    Info [UMFPACK_SIZE_OF_POINTER] = (double) (sizeof (void *)) ;
-    Info [UMFPACK_SIZE_OF_ENTRY] = (double) (sizeof (Entry)) ;
-    Info [UMFPACK_SYMBOLIC_DEFRAG] = 0 ;
-
-    if (!Ai || !Ap || !SymbolicHandle)
-    {
-	Info [UMFPACK_STATUS] = UMFPACK_ERROR_argument_missing ;
-	return (UMFPACK_ERROR_argument_missing) ;
-    }
-
-    *SymbolicHandle = (void *) NULL ;
-
-    if (n_row <= 0 || n_col <= 0)	/* n_row, n_col must be > 0 */
-    {
-	Info [UMFPACK_STATUS] = UMFPACK_ERROR_n_nonpositive ;
-	return (UMFPACK_ERROR_n_nonpositive) ;
-    }
-
-    nz = Ap [n_col] ;
-    DEBUG0 (("n_row "ID" n_col "ID" nz "ID"\n", n_row, n_col, nz)) ;
-    Info [UMFPACK_NZ] = nz ;
-    if (nz < 0)
-    {
-	Info [UMFPACK_STATUS] = UMFPACK_ERROR_invalid_matrix ;
-	return (UMFPACK_ERROR_invalid_matrix) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* get the requested strategy */
-    /* ---------------------------------------------------------------------- */
-
-    if (n_row != n_col)
-    {
-	/* if the matrix is rectangular, the only available strategy is
-	 *  unsymmetric */
-	strategy = UMFPACK_STRATEGY_UNSYMMETRIC ;
-	DEBUGm3 (("Rectangular: forcing unsymmetric strategy\n")) ;
-    }
-
-    if (strategy < UMFPACK_STRATEGY_AUTO
-     || strategy > UMFPACK_STRATEGY_SYMMETRIC)
-    {
-	/* unrecognized strategy */
-	strategy = UMFPACK_STRATEGY_AUTO ;
-    }
-
-    if (Quser != (Int *) NULL)
-    {
-	/* when the user provides Q, only symmetric and unsymmetric strategies
-	 * are available */
-	if (strategy == UMFPACK_STRATEGY_2BY2)
-	{
-	    strategy = UMFPACK_STRATEGY_SYMMETRIC ;
-	}
-	if (strategy != UMFPACK_STRATEGY_SYMMETRIC)
-	{
-	    strategy = UMFPACK_STRATEGY_UNSYMMETRIC ;
-	}
-    }
-
-    user_auto_strategy = (strategy == UMFPACK_STRATEGY_AUTO) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* determine amount of memory required for UMFPACK_symbolic */
-    /* ---------------------------------------------------------------------- */
-
-    /* The size of Clen required for UMF_colamd is always larger than */
-    /* UMF_analyze, but the max is included here in case that changes in */
-    /* future versions. */
-
-    /* This is about 2.2*nz + 9*n_col + 6*n_row, or nz/5 + 13*n_col + 6*n_row,
-     * whichever is bigger.  For square matrices, it works out to
-     * 2.2nz + 15n, or nz/5 + 19n, whichever is bigger (typically 2.2nz+15n). */
-    dClen = UMF_COLAMD_RECOMMENDED ((double) nz, (double) n_row,
-	(double) n_col) ;
-
-    /* This is defined above, as max (nz,n_col) + 3*nn+1 + 2*n_col, where
-     * nn = max (n_row,n_col).  It is always smaller than the space required
-     * for colamd or amd. */
-    dClen_analyze = UMF_ANALYZE_CLEN ((double) nz, (double) n_row,
-	(double) n_col, (double) nn) ;
-    dClen = MAX (dClen, dClen_analyze) ;
-
-    /* The space for AMD can be larger than what's required for colamd: */
-    dClen_amd = 2.4 * (double) nz + 8 * (double) n_inner ;
-    /* additional space for the 2-by-2 strategy */
-    dClen_amd += (double) MAX (nn, nz) ;
-    dClen = MAX (dClen, dClen_amd) ;
-
-    /* worst case total memory usage for UMFPACK_symbolic (revised below) */
-    Info [UMFPACK_SYMBOLIC_PEAK_MEMORY] =
-	SYM_WORK_USAGE (n_col, n_row, dClen) +
-	UMF_symbolic_usage (n_row, n_col, n_col, n_col, n_col, TRUE) ;
-
-    if (INT_OVERFLOW (dClen * sizeof (Int)))
-    {
-	/* :: int overflow, Clen too large :: */
-	/* Problem is too large for array indexing (Ci [i]) with an Int i. */
-	/* Cannot even analyze the problem to determine upper bounds on */
-	/* memory usage. Need to use the long integer version, umfpack_*l_*. */
-	DEBUGm4 (("out of memory: symbolic int overflow\n")) ;
-	Info [UMFPACK_STATUS] = UMFPACK_ERROR_out_of_memory ;
-	return (UMFPACK_ERROR_out_of_memory) ;
-    }
-
-    /* repeat the size calculations, in integers */
-    Clen = UMF_COLAMD_RECOMMENDED (nz, n_row, n_col) ;
-    Clen_analyze = UMF_ANALYZE_CLEN (nz, n_row, n_col, nn) ;
-    Clen = MAX (Clen, Clen_analyze) ;
-    Clen_amd = 2.4 * nz + 8 * n_inner ;
-    Clen_amd += MAX (nn, nz) ;			/* for Ri, in UMF_2by2 */
-    Clen = MAX (Clen, Clen_amd) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* allocate the first part of the Symbolic object (header and Cperm_init) */
-    /* ---------------------------------------------------------------------- */
-
-    /* (1) Five calls to UMF_malloc are made, for a total space of
-     * 2 * (n_row + n_col) + 4 integers + sizeof (SymbolicType).
-     * sizeof (SymbolicType) is a small constant.  This space is part of the
-     * Symbolic object and is not freed unless an error occurs.  If A is square
-     * then this is about 4*n integers.
-     */
-
-    Symbolic = (SymbolicType *) UMF_malloc (1, sizeof (SymbolicType)) ;
-
-    if (!Symbolic)
-    {
-	/* If we fail here, Symbolic is NULL and thus it won't be */
-	/* dereferenced by UMFPACK_free_symbolic, as called by error ( ). */
-	DEBUGm4 (("out of memory: symbolic object\n")) ;
-	Info [UMFPACK_STATUS] = UMFPACK_ERROR_out_of_memory ;
-	error (&Symbolic, (SWType *) NULL) ;
-	return (UMFPACK_ERROR_out_of_memory) ;
-    }
-
-    /* We now know that Symbolic has been allocated */
-    Symbolic->valid = 0 ;
-    Symbolic->Chain_start = (Int *) NULL ;
-    Symbolic->Chain_maxrows = (Int *) NULL ;
-    Symbolic->Chain_maxcols = (Int *) NULL ;
-    Symbolic->Front_npivcol = (Int *) NULL ;
-    Symbolic->Front_parent = (Int *) NULL ;
-    Symbolic->Front_1strow = (Int *) NULL ;
-    Symbolic->Front_leftmostdesc = (Int *) NULL ;
-    Symbolic->Esize = (Int *) NULL ;
-    Symbolic->esize = 0 ;
-
-    Symbolic->Cperm_init   = (Int *) UMF_malloc (n_col+1, sizeof (Int)) ;
-    Symbolic->Rperm_init   = (Int *) UMF_malloc (n_row+1, sizeof (Int)) ;
-    Symbolic->Cdeg	   = (Int *) UMF_malloc (n_col+1, sizeof (Int)) ;
-    Symbolic->Rdeg	   = (Int *) UMF_malloc (n_row+1, sizeof (Int)) ;
-    Symbolic->Diagonal_map = (Int *) NULL ;
-
-    Cperm_init = Symbolic->Cperm_init ;
-    Rperm_init = Symbolic->Rperm_init ;
-    Cdeg = Symbolic->Cdeg ;
-    Rdeg = Symbolic->Rdeg ;
-
-    if (!Cperm_init || !Rperm_init || !Cdeg || !Rdeg)
-    {
-	DEBUGm4 (("out of memory: symbolic perm\n")) ;
-	Info [UMFPACK_STATUS] = UMFPACK_ERROR_out_of_memory ;
-	error (&Symbolic, (SWType *) NULL) ;
-	return (UMFPACK_ERROR_out_of_memory) ;
-    }
-
-    Symbolic->n_row = n_row ;
-    Symbolic->n_col = n_col ;
-    Symbolic->nz = nz ;
-    Symbolic->nb = nb ;
-
-    /* ---------------------------------------------------------------------- */
-    /* check user's input permutation */
-    /* ---------------------------------------------------------------------- */
-
-    if (Quser != (Int *) NULL)
-    {
-	/* use Cperm_init as workspace to check input permutation */
-	if (!UMF_is_permutation (Quser, Cperm_init, n_col, n_col))
-	{
-	    Info [UMFPACK_STATUS] = UMFPACK_ERROR_invalid_permutation ;
-	    error (&Symbolic, (SWType *) NULL) ;
-	    return (UMFPACK_ERROR_invalid_permutation) ;
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* allocate workspace */
-    /* ---------------------------------------------------------------------- */
-
-    /* (2) Eleven calls to UMF_malloc are made, for workspace of size
-     * Clen + nz + 7*n_col + 2*n_row + 2 integers.  Clen is the larger of
-     *     MAX (2*nz, 4*n_col) + 8*n_col + 6*n_row + n_col + nz/5 and
-     *     2.4*nz + 8 * MIN (n_row, n_col) + MAX (n_row, n_col, nz)
-     * If A is square and non-singular, then Clen is
-     *     MAX (MAX (2*nz, 4*n) + 7*n + nz/5,  3.4*nz) + 8*n
-     * If A has at least 4*n nonzeros then Clen is
-     *     MAX (2.2*nz + 7*n,  3.4*nz) + 8*n
-     * If A has at least (7/1.2)*n nonzeros, (about 5.8*n), then Clen is
-     *     3.4*nz + 8*n
-     * This space will be free'd when this routine finishes.
-     *
-     * Total space thus far is about 3.4nz + 12n integers.
-     * For the double precision, 32-bit integer version, the user's matrix
-     * requires an equivalent space of 3*nz + n integers.  So this space is just
-     * slightly larger than the user's input matrix (including the numerical
-     * values themselves).
-     */
-
-    SW = &SWspace ;	/* used for UMFPACK_symbolic only */
-
-    /* Note that SW->Front_* does not include the dummy placeholder front. */
-    /* This space is accounted for by the SYM_WORK_USAGE macro. */
-
-    /* this is free'd early */
-    SW->Si	      = (Int *) UMF_malloc (nz, sizeof (Int)) ;
-    SW->Sp	      = (Int *) UMF_malloc (n_col + 1, sizeof (Int)) ;
-    SW->InvRperm1     = (Int *) UMF_malloc (n_row, sizeof (Int)) ;
-    SW->Cperm1	      = (Int *) UMF_malloc (n_col, sizeof (Int)) ;
-
-    /* this is free'd late */
-    SW->Ci	      = (Int *) UMF_malloc (Clen, sizeof (Int)) ;
-    SW->Front_npivcol = (Int *) UMF_malloc (n_col + 1, sizeof (Int)) ;
-    SW->Front_nrows   = (Int *) UMF_malloc (n_col, sizeof (Int)) ;
-    SW->Front_ncols   = (Int *) UMF_malloc (n_col, sizeof (Int)) ;
-    SW->Front_parent  = (Int *) UMF_malloc (n_col, sizeof (Int)) ;
-    SW->Front_cols    = (Int *) UMF_malloc (n_col, sizeof (Int)) ;
-    SW->Rperm1	      = (Int *) UMF_malloc (n_row, sizeof (Int)) ;
-    SW->InFront	      = (Int *) UMF_malloc (n_row, sizeof (Int)) ;
-
-    /* this is allocated later, and free'd after Cperm1 but before Ci */
-    SW->Rperm_2by2    = (Int *) NULL ;   /* will be nn Int's */
-
-    /* this is allocated last, and free'd first */
-    SW->Rs	      = (double *) NULL ;	/* will be n_row double's */
-
-    Ci	       = SW->Ci ;
-    Fr_npivcol = SW->Front_npivcol ;
-    Fr_nrows   = SW->Front_nrows ;
-    Fr_ncols   = SW->Front_ncols ;
-    Fr_parent  = SW->Front_parent ;
-    Fr_cols    = SW->Front_cols ;
-    Cperm1     = SW->Cperm1 ;
-    Rperm1     = SW->Rperm1 ;
-    Si	       = SW->Si ;
-    Sp	       = SW->Sp ;
-    InvRperm1  = SW->InvRperm1 ;
-    Rperm_2by2 = (Int *) NULL ;
-    InFront    = SW->InFront ;
-
-    if (!Ci || !Fr_npivcol || !Fr_nrows || !Fr_ncols || !Fr_parent || !Fr_cols
-	|| !Cperm1 || !Rperm1 || !Si || !Sp || !InvRperm1 || !InFront)
-    {
-	DEBUGm4 (("out of memory: symbolic work\n")) ;
-	Info [UMFPACK_STATUS] = UMFPACK_ERROR_out_of_memory ;
-	error (&Symbolic, SW) ;
-	return (UMFPACK_ERROR_out_of_memory) ;
-    }
-
-    DEBUG0 (("Symbolic UMF_malloc_count - init_count = "ID"\n",
-	UMF_malloc_count - init_count)) ;
-    ASSERT (UMF_malloc_count == init_count + 17) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* find the row and column singletons */
-    /* ---------------------------------------------------------------------- */
-
-    /* [ use first nz + n_row + MAX (n_row, n_col) entries in Ci as workspace,
-     * and use Rperm_init as workspace */
-    ASSERT (Clen >= nz + n_row + MAX (n_row, n_col)) ;
-
-    status = UMF_singletons (n_row, n_col, Ap, Ai, Quser, strategy,
-	Cdeg, Cperm1, Rdeg,
-	Rperm1, InvRperm1, &n1, &n1c, &n1r, &nempty_col, &nempty_row, &is_sym,
-	&max_rdeg, /* workspace: */ Rperm_init, Ci, Ci + nz, Ci + nz + n_row) ;
-
-    /* ] done using Rperm_init and Ci as workspace */
-
-    /* InvRperm1 is now the inverse of Rperm1 */
-
-    if (status != UMFPACK_OK)
-    {
-	DEBUGm4 (("matrix invalid: UMF_singletons\n")) ;
-	Info [UMFPACK_STATUS] = status ;
-	error (&Symbolic, SW) ;
-	return (status) ;
-    }
-    Info [UMFPACK_NEMPTY_COL] = nempty_col ;
-    Info [UMFPACK_NEMPTY_ROW] = nempty_row ;
-    Info [UMFPACK_NDENSE_COL] = 0 ;	/* # dense rows/cols recomputed below */
-    Info [UMFPACK_NDENSE_ROW] = 0 ;
-    Info [UMFPACK_COL_SINGLETONS] = n1c ;
-    Info [UMFPACK_ROW_SINGLETONS] = n1r ;
-    Info [UMFPACK_S_SYMMETRIC] = is_sym ;
-
-    nempty = MIN (nempty_col, nempty_row) ;
-    Symbolic->nempty_row = nempty_row ;
-    Symbolic->nempty_col = nempty_col ;
-
-    /* UMF_singletons has verified that the user's input matrix is valid */
-    ASSERT (AMD_valid (n_row, n_col, Ap, Ai)) ;
-
-    Symbolic->n1 = n1 ;
-    Symbolic->nempty = nempty ;
-    ASSERT (n1 <= n_inner) ;
-    n2 = nn - n1 - nempty ;
-
-    dense_row_threshold =
-	UMFPACK_DENSE_DEGREE_THRESHOLD (drow, n_col - n1 - nempty_col) ;
-    Symbolic->dense_row_threshold = dense_row_threshold ;
-
-    if (!is_sym)
-    {
-	/* either the pruned submatrix rectangular, or it is square and
-	 * Rperm [n1 .. n-nempty-1] is not the same as Cperm [n1 .. n-nempty-1].
-	 * Switch to the unsymmetric strategy, ignoring user-requested
-	 * strategy. */
-	strategy = UMFPACK_STRATEGY_UNSYMMETRIC ;
-	DEBUGm4 (("Strategy: Unsymmetric singletons\n")) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* determine symmetry, nzdiag, and degrees of S+S' */
-    /* ---------------------------------------------------------------------- */
-
-    /* S is the matrix obtained after removing singletons
-     *   = A (Cperm1 [n1..n_col-nempty_col-1], Rperm1 [n1..n_row-nempty_row-1])
-     */
-
-    Wq = Rperm_init ;	    /* use Rperm_init as workspace for Wq [ */
-    Sdeg = Cperm_init ;	    /* use Cperm_init as workspace for Sdeg [ */
-    sym = EMPTY ;
-    nzaat = EMPTY ;
-    nzdiag = EMPTY ;
-    for (i = 0 ; i < AMD_INFO ; i++)
-    {
-	amd_Info [i] = EMPTY ;
-    }
-
-    if (strategy != UMFPACK_STRATEGY_UNSYMMETRIC)
-    {
-	/* This also determines the degree of each node in S+S' (Sdeg), which
-	 * is needed by the 2-by-2 strategy, the symmetry of S, and the number
-	 * of nonzeros on the diagonal of S. */
-	ASSERT (n_row == n_col) ;
-	ASSERT (nempty_row == nempty_col) ;
-
-	/* get the count of nonzeros on the diagonal of S, excluding explicitly
-	 * zero entries.  nzdiag = amd_Info [AMD_NZDIAG] counts the zero entries
-	 * in S. */
-
-	nzdiag = prune_singletons (n1, nn, Ap, Ai, Ax,
-#ifdef COMPLEX
-	    Az,
-#endif
-	    Cperm1, InvRperm1, Si, Sp
-#ifndef NDEBUG
-	    , Rperm1, nn
-#endif
-	    ) ;
-
-	/* use Ci as workspace to sort S into R, if needed [ */
-	if (Quser != (Int *) NULL)
-	{
-	    /* need to sort the columns of S first */
-	    Rp = Ci ;
-	    Ri = Ci + (n_row) + 1 ;
-	    (void) UMF_transpose (n2, n2, Sp, Si, (double *) NULL,
-		(Int *) NULL, (Int *) NULL, 0,
-		Rp, Ri, (double *) NULL, Wq, FALSE
-#ifdef COMPLEX
-		, (double *) NULL, (double *) NULL, FALSE
-#endif
-		) ;
-	}
-	else
-	{
-	    /* S already has sorted columns */
-	    Rp = Sp ;
-	    Ri = Si ;
-	}
-	ASSERT (AMD_valid (n2, n2, Rp, Ri)) ;
-
-	nzaat = AMD_aat (n2, Rp, Ri, Sdeg, Wq, amd_Info) ;
-	sym = amd_Info [AMD_SYMMETRY] ;
-	Info [UMFPACK_N2] = n2 ;
-	/* nzdiag = amd_Info [AMD_NZDIAG] counts the zero entries of S too */
-
-	/* done using Ci as workspace to sort S into R ] */
-
-#ifndef NDEBUG
-	for (k = 0 ; k < n2 ; k++)
-	{
-	    ASSERT (Sdeg [k] >= 0 && Sdeg [k] < n2) ;
-	}
-	ASSERT (Sp [n2] - n2 <= nzaat && nzaat <= 2 * Sp [n2]) ;
-	DEBUG0 (("Explicit zeros: "ID" %g\n", nzdiag, amd_Info [AMD_NZDIAG])) ;
-#endif
-
-    }
-
-    /* get statistics from amd_aat, if computed */
-    Symbolic->sym = sym ;
-    Symbolic->nzaat = nzaat ;
-    Symbolic->nzdiag = nzdiag ;
-    Symbolic->amd_dmax = EMPTY ;
-
-    Info [UMFPACK_PATTERN_SYMMETRY] = sym ;
-    Info [UMFPACK_NZ_A_PLUS_AT] = nzaat ;
-    Info [UMFPACK_NZDIAG] = nzdiag ;
-
-    /* ---------------------------------------------------------------------- */
-    /* determine the initial strategy based on symmetry and nnz (diag (S)) */
-    /* ---------------------------------------------------------------------- */
-
-    if (strategy == UMFPACK_STRATEGY_AUTO)
-    {
-	if (sym < 0.10)
-	{
-	    /* highly unsymmetric: use the unsymmetric strategy */
-	    strategy = UMFPACK_STRATEGY_UNSYMMETRIC ;
-	    DEBUGm4 (("Strategy: select unsymmetric\n")) ;
-	}
-	else if (sym >= 0.7 && nzdiag == n2)
-	{
-	    /* mostly symmetric, zero-free diagonal: use symmetric strategy */
-	    strategy = UMFPACK_STRATEGY_SYMMETRIC ;
-	    DEBUGm4 (("Strategy: select symmetric\n")) ;
-	}
-	else
-	{
-	    /* Evaluate the symmetric 2-by-2 strategy, and select it, or
-	     * the unsymmetric strategy if the 2-by-2 strategy doesn't look
-	     * promising. */
-	    strategy = UMFPACK_STRATEGY_2BY2 ;
-	    DEBUGm4 (("Strategy: try 2-by-2\n")) ;
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* try the 2-by-2 strategy */
-    /* ---------------------------------------------------------------------- */
-
-    /* (3) If the 2-by-2 strategy is attempted, additional workspace of size
-     * nn integers and nn double's is allocated, where nn = n_row = n_col.
-     * The real workspace is immediately free'd.  The integer workspace of
-     * size nn remains until the end of umfpack_qsymbolic. */
-
-    /* If the resulting matrix S (Rperm_2by2, :) is too unsymmetric, then the
-     * unsymmetric strategy will be used instead. */
-
-    if (strategy == UMFPACK_STRATEGY_2BY2)
-    {
-	double sym2 ;
-	Int *Blen, *W, nz_papat, nzd2, nweak, unmatched, Clen3 ;
-
-	/* ------------------------------------------------------------------ */
-	/* get workspace for UMF_2by2 */
-	/* ------------------------------------------------------------------ */
-
-	ASSERT (n_row == n_col && nn == n_row) ;
-
-#ifndef NDEBUG
-	for (k = 0 ; k < n2 ; k++)
-	{
-	    ASSERT (Sdeg [k] >= 0 && Sdeg [k] < n2) ;
-	}
-#endif
-
-	/* allocate Rperm_2by2 */
-	SW->Rperm_2by2 = (Int *) UMF_malloc (nn, sizeof (Int)) ;
-	Rperm_2by2 = SW->Rperm_2by2 ;
-	if (Rperm_2by2 == (Int *) NULL)
-	{
-	    DEBUGm4 (("out of memory: Rperm_2by2\n")) ;
-	    Info [UMFPACK_STATUS] = UMFPACK_ERROR_out_of_memory ;
-	    error (&Symbolic, SW) ;
-	    return (UMFPACK_ERROR_out_of_memory) ;
-	}
-
-	/* allocate Ri from the tail end of Ci [ */
-	Clen3 = Clen - (MAX (nn, nz) + 1) ;
-	Ri = Ci + Clen3 ;
-	ASSERT (Clen3 >= nz) ;	/* space required for UMF_2by2 */
-
-	/* use Fr_* as workspace for Rp, Blen, and W [ */
-	Rp = Fr_npivcol ;
-	Blen = Fr_ncols ;
-	W = Fr_cols ;
-
-	if (scale != UMFPACK_SCALE_NONE)
-	{
-	    SW->Rs = (double *) UMF_malloc (nn, sizeof (double)) ;
-	    if (SW->Rs == (double *) NULL)
-	    {
-		DEBUGm4 (("out of memory: scale factors for 2-by-2\n")) ;
-		Info [UMFPACK_STATUS] = UMFPACK_ERROR_out_of_memory ;
-		error (&Symbolic, SW) ;
-		return (UMFPACK_ERROR_out_of_memory) ;
-	    }
-	}
-
-	/* ------------------------------------------------------------------ */
-	/* find the 2-by-2 row permutation */
-	/* ------------------------------------------------------------------ */
-
-	/* find a row permutation Rperm_2by2 such that S (Rperm_2by2, :)
-	 * has a healthy diagonal */
-
-	UMF_2by2 (nn, Ap, Ai, Ax,
-#ifdef COMPLEX
-		Az,
-#endif
-		tol, scale, Cperm1,
-#ifndef NDEBUG
-		Rperm1,
-#endif
-		InvRperm1, n1, nempty, Sdeg, Rperm_2by2, &nweak, &unmatched,
-		Ri, Rp, SW->Rs, Blen, W, Ci, Wq) ;
-	DEBUGm3 (("2by2: nweak "ID" unmatched "ID"\n", nweak, unmatched)) ;
-	Info [UMFPACK_2BY2_NWEAK] = nweak ;
-	Info [UMFPACK_2BY2_UNMATCHED] = unmatched ;
-
-	SW->Rs = (double *) UMF_free ((void *) SW->Rs) ;
-
-	/* R = S (Rperm_2by2,:)' */
-	(void) UMF_transpose (n2, n2, Sp, Si, (double *) NULL, Rperm_2by2,
-	    (Int *) NULL, 0, Rp, Ri, (double *) NULL, W, FALSE
-#ifdef COMPLEX
-	    , (double *) NULL, (double *) NULL, FALSE
-#endif
-	    ) ;
-	ASSERT (AMD_valid (n2, n2, Rp, Ri)) ;
-
-	/* contents of Si and Sp no longer needed, but the space is
-	 * still needed */
-
-	/* ------------------------------------------------------------------ */
-	/* find symmetry of S (Rperm_2by2, :)', and prepare to order with AMD */
-	/* ------------------------------------------------------------------ */
-
-	for (i = 0 ; i < AMD_INFO ; i++)
-	{
-	    amd_Info [i] = EMPTY ;
-	}
-	nz_papat = AMD_aat (n2, Rp, Ri, Sdeg, Wq, amd_Info) ;
-	sym2 = amd_Info [AMD_SYMMETRY] ;
-	nzd2 = amd_Info [AMD_NZDIAG] ;
-
-	Info [UMFPACK_2BY2_PATTERN_SYMMETRY] = sym2 ;
-	Info [UMFPACK_2BY2_NZ_PA_PLUS_PAT] = nz_papat ;
-	Info [UMFPACK_2BY2_NZDIAG] = nzd2 ;
-
-	DEBUG0 (("2by2: sym2 %g nzd2 "ID" n2 "ID"\n", sym2, nzd2, n2)) ;
-
-	/* ------------------------------------------------------------------ */
-	/* evaluate the 2-by-2 results */
-	/* ------------------------------------------------------------------ */
-
-	if (user_auto_strategy)
-	{
-	    if ((sym2 > 1.1 * sym) && (nzd2 > 0.9 * n2))
-	    {
-		/* 2-by-2 made it much more symmetric */
-		DEBUGm4 (("eval Strategy 2by2: much more symmetric:  2by2\n")) ;
-		strategy = UMFPACK_STRATEGY_2BY2 ;
-	    }
-	    else if (sym2 < 0.7 * sym)
-	    {
-		/* 2-by-2 made it much more unsymmetric */
-		DEBUGm4 (("eval Strategy 2by2: much more UNsymmetric:unsym\n"));
-		strategy = UMFPACK_STRATEGY_UNSYMMETRIC ;
-	    }
-	    else if (sym2 < 0.25)
-	    {
-		DEBUGm4 (("eval Strategy 2by2: is UNsymmetric: unsym\n"));
-		strategy = UMFPACK_STRATEGY_UNSYMMETRIC ;
-	    }
-	    else if (sym2 >= 0.51)
-	    {
-		DEBUGm4 (("eval Strategy 2by2: sym2 >= 0.51: 2by2\n")) ;
-		strategy = UMFPACK_STRATEGY_2BY2 ;
-	    }
-	    else if (sym2 >= 0.999 * sym)
-	    {
-		/* 2-by-2 improved symmetry, or made it only slightly worse */
-		DEBUGm4 (("eval Strategy 2by2: sym2 >= 0.999 sym: 2by2\n")) ;
-		strategy = UMFPACK_STRATEGY_2BY2 ;
-	    }
-	    else
-	    {
-		/* can't decide what to do, so pick the unsymmetric strategy */
-		DEBUGm4 (("eval Strategy 2by2: punt: unsym\n"));
-		strategy = UMFPACK_STRATEGY_UNSYMMETRIC ;
-	    }
-	}
-
-	/* ------------------------------------------------------------------ */
-	/* if the 2-by-2 strategy is selected: */
-	/* ------------------------------------------------------------------ */
-
-	if (strategy == UMFPACK_STRATEGY_2BY2)
-	{
-	    if (Quser == (Int *) NULL)
-	    {
-		/* 2-by-2 strategy is successful */
-		/* compute amd (S) */
-		Int *Qinv = Fr_npivcol ;
-		ASSERT (Clen3 >= (nz_papat + nz_papat/5 + nn) + 7*nn) ;
-		do_amd (n2, Rp, Ri, Wq, Qinv, Sdeg, Clen3, Ci,
-		    amd_Control, amd_Info, Symbolic, Info) ;
-		/* combine the singleton ordering and the AMD ordering */
-		combine_ordering (n1, nempty, nn, Cperm_init, Cperm1, Qinv) ;
-	    }
-	    /* fix Rperm_2by2 to reflect A, not S */
-	    for (k = 0 ; k < n1 ; k++)
-	    {
-		oldcol = Cperm1 [k] ;
-		i = k ;
-		oldrow = Rperm1 [k] ;
-		W [oldcol] = oldrow ;
-	    }
-	    for (k = n1 ; k < nn - nempty ; k++)
-	    {
-		oldcol = Cperm1 [k] ;
-		i = Rperm_2by2 [k - n1] + n1 ;
-		oldrow = Rperm1 [i] ;
-		W [oldcol] = oldrow ;
-	    }
-	    for (k = nn - nempty ; k < nn ; k++)
-	    {
-		oldcol = Cperm1 [k] ;
-		i = k ;
-		oldrow = Rperm1 [k] ;
-		W [oldcol] = oldrow ;
-	    }
-	    for (k = 0 ; k < nn ; k++)
-	    {
-		Rperm_2by2 [k] = W [k] ;
-	    }
-
-	    /* Now, the "diagonal" entry in oldcol (where oldcol is the user's
-	     * name for a column, is the entry in row oldrow (where oldrow is
-	     * the user's name for a row, and oldrow = Rperm_2by2 [oldcol] */
-	}
-
-	/* Fr_* no longer needed for Rp, Blen, W ] */
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* finalize the strategy, including fixQ and prefer_diagonal */
-    /* ---------------------------------------------------------------------- */
-
-    if (strategy == UMFPACK_STRATEGY_SYMMETRIC)
-    {
-	/* use given Quser or AMD (A+A'), fix Q during factorization,
-	 * prefer diagonal */
-	DEBUG0 (("\nStrategy: symmetric\n")) ;
-	ASSERT (n_row == n_col) ;
-	Symbolic->ordering = UMFPACK_ORDERING_AMD ;
-	fixQ = TRUE ;
-	prefer_diagonal = TRUE ;
-    }
-    else if (strategy == UMFPACK_STRATEGY_2BY2)
-    {
-	/* use Q = given Quser or Q = AMD (PA+PA'), fix Q during factorization,
-	 * prefer diagonal, and factorize PAQ, where P is found by UMF_2by2. */
-	DEBUG0 (("\nStrategy: symmetric 2-by-2\n")) ;
-	ASSERT (n_row == n_col) ;
-	Symbolic->ordering = UMFPACK_ORDERING_AMD ;
-	fixQ = TRUE ;
-	prefer_diagonal = TRUE ;
-    }
-    else
-    {
-	/* use given Quser or COLAMD (A), refine Q during factorization,
-	 * no diagonal preference */
-	ASSERT (strategy == UMFPACK_STRATEGY_UNSYMMETRIC) ;
-	DEBUG0 (("\nStrategy: unsymmetric\n")) ;
-	Symbolic->ordering = UMFPACK_ORDERING_COLAMD ;
-	fixQ = FALSE ;
-	prefer_diagonal = FALSE ;
-    }
-
-    if (Quser != (Int *) NULL)
-    {
-	Symbolic->ordering = UMFPACK_ORDERING_GIVEN ;
-    }
-
-    if (force_fixQ > 0)
-    {
-	fixQ = TRUE ;
-	DEBUG0 (("Force fixQ true\n")) ;
-    }
-    else if (force_fixQ < 0)
-    {
-	fixQ = FALSE ;
-	DEBUG0 (("Force fixQ false\n")) ;
-    }
-
-    DEBUG0 (("Strategy: ordering:   "ID"\n", Symbolic->ordering)) ;
-    DEBUG0 (("Strategy: fixQ:       "ID"\n", fixQ)) ;
-    DEBUG0 (("Strategy: prefer diag "ID"\n", prefer_diagonal)) ;
-
-    /* get statistics from amd_aat, if computed */
-    Symbolic->strategy = strategy ;
-    Symbolic->fixQ = fixQ ;
-    Symbolic->prefer_diagonal = prefer_diagonal ;
-
-    Info [UMFPACK_STRATEGY_USED] = strategy ;
-    Info [UMFPACK_ORDERING_USED] = Symbolic->ordering ;
-    Info [UMFPACK_QFIXED] = fixQ ;
-    Info [UMFPACK_DIAG_PREFERRED] = prefer_diagonal ;
-
-    /* ---------------------------------------------------------------------- */
-    /* get the AMD ordering for the symmetric strategy */
-    /* ---------------------------------------------------------------------- */
-
-    if (strategy == UMFPACK_STRATEGY_SYMMETRIC && Quser == (Int *) NULL)
-    {
-	/* symmetric strategy for a matrix with mostly symmetric pattern */
-	Int *Qinv = Fr_npivcol ;
-	ASSERT (n_row == n_col && nn == n_row) ;
-	ASSERT (Clen >= (nzaat + nzaat/5 + nn) + 7*nn) ;
-	do_amd (n2, Sp, Si, Wq, Qinv, Sdeg, Clen, Ci,
-		amd_Control, amd_Info, Symbolic, Info) ;
-	/* combine the singleton ordering and the AMD ordering */
-	combine_ordering (n1, nempty, nn, Cperm_init, Cperm1, Qinv) ;
-    }
-    /* Sdeg no longer needed ] */
-    /* done using Rperm_init as workspace for Wq ] */
-
-    /* Contents of Si and Sp no longer needed, but the space is still needed */
-
-    /* ---------------------------------------------------------------------- */
-    /* use the user's input column ordering (already in Cperm1) */
-    /* ---------------------------------------------------------------------- */
-
-    if (Quser != (Int *) NULL)
-    {
-	for (k = 0 ; k < n_col ; k++)
-	{
-	    Cperm_init [k] = Cperm1 [k] ;
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* use COLAMD to order the matrix */
-    /* ---------------------------------------------------------------------- */
-
-    if (strategy == UMFPACK_STRATEGY_UNSYMMETRIC && Quser == (Int *) NULL)
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* copy the matrix into colamd workspace (colamd destroys its input) */
-	/* ------------------------------------------------------------------ */
-
-	/* C = A (Cperm1 (n1+1:end), Rperm1 (n1+1:end)), where Ci is used as
-	 * the row indices and Cperm_init (on input) is used as the column
-	 * pointers. */
-
-	(void) prune_singletons (n1, n_col, Ap, Ai,
-	    (double *) NULL,
-#ifdef COMPLEX
-	    (double *) NULL,
-#endif
-	    Cperm1, InvRperm1, Ci, Cperm_init
-#ifndef NDEBUG
-	    , Rperm1, n_row
-#endif
-	    ) ;
-
-	/* ------------------------------------------------------------------ */
-	/* set UMF_colamd defaults */
-	/* ------------------------------------------------------------------ */
-
-	UMF_colamd_set_defaults (knobs) ;
-	knobs [COLAMD_DENSE_ROW] = drow ;
-	knobs [COLAMD_DENSE_COL] = dcol ;
-	knobs [COLAMD_AGGRESSIVE] = aggressive ;
-
-	/* ------------------------------------------------------------------ */
-	/* check input matrix and find the initial column pre-ordering */
-	/* ------------------------------------------------------------------ */
-
-	/* NOTE: umf_colamd is not given any original empty rows or columns.
-	 * Those have already been removed via prune_singletons, above.  The
-	 * umf_colamd routine has been modified to assume that all rows and
-	 * columns have at least one entry in them.  It will break if it is
-	 * given empty rows or columns (an assertion is triggered when running
-	 * in debug mode. */
-
-	(void) UMF_colamd (
-		n_row - n1 - nempty_row,
-		n_col - n1 - nempty_col,
-		Clen, Ci, Cperm_init, knobs, colamd_stats,
-		Fr_npivcol, Fr_nrows, Fr_ncols, Fr_parent, Fr_cols, &nfr,
-		InFront) ;
-	ASSERT (colamd_stats [COLAMD_EMPTY_ROW] == 0) ;
-	ASSERT (colamd_stats [COLAMD_EMPTY_COL] == 0) ;
-
-	/* # of dense rows will be recomputed below */
-	Info [UMFPACK_NDENSE_ROW]  = colamd_stats [COLAMD_DENSE_ROW] ;
-	Info [UMFPACK_NDENSE_COL]  = colamd_stats [COLAMD_DENSE_COL] ;
-	Info [UMFPACK_SYMBOLIC_DEFRAG] = colamd_stats [COLAMD_DEFRAG_COUNT] ;
-
-	/* re-analyze if any "dense" rows or cols ignored by UMF_colamd */
-	do_UMF_analyze =
-	    colamd_stats [COLAMD_DENSE_ROW] > 0 ||
-	    colamd_stats [COLAMD_DENSE_COL] > 0 ;
-
-	/* Combine the singleton and colamd ordering into Cperm_init */
-	/* Note that colamd returns its inverse permutation in Ci */
-	combine_ordering (n1, nempty_col, n_col, Cperm_init, Cperm1, Ci) ;
-
-	/* contents of Ci no longer needed */
-
-#ifndef NDEBUG
-	for (col = 0 ; col < n_col ; col++)
-	{
-	    DEBUG1 (("Cperm_init ["ID"] = "ID"\n", col, Cperm_init[col]));
-	}
-	/* make sure colamd returned a valid permutation */
-	ASSERT (Cperm_init != (Int *) NULL) ;
-	ASSERT (UMF_is_permutation (Cperm_init, Ci, n_col, n_col)) ;
-#endif
-
-    }
-    else
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* do not call colamd - use input Quser or AMD instead */
-	/* ------------------------------------------------------------------ */
-
-	/* The ordering (Quser or Qamd) is already in Cperm_init */
-	do_UMF_analyze = TRUE ;
-
-    }
-
-    Cperm_init [n_col] = EMPTY ;	/* unused in Cperm_init */
-
-    /* ---------------------------------------------------------------------- */
-    /* AMD ordering, if it exists, has been copied into Cperm_init */
-    /* ---------------------------------------------------------------------- */
-
-#ifndef NDEBUG
-    DEBUG3 (("Cperm_init column permutation:\n")) ;
-    ASSERT (UMF_is_permutation (Cperm_init, Ci, n_col, n_col)) ;
-    for (k = 0 ; k < n_col ; k++)
-    {
-	DEBUG3 ((ID"\n", Cperm_init [k])) ;
-    }
-    /* ensure that empty columns have been placed last in A (:,Cperm_init) */
-    for (newj = 0 ; newj < n_col ; newj++)
-    {
-	/* empty columns will be last in A (:, Cperm_init (1:n_col)) */
-	j = Cperm_init [newj] ;
-	ASSERT (IMPLIES (newj >= n_col-nempty_col, Cdeg [j] == 0)) ;
-	ASSERT (IMPLIES (newj <  n_col-nempty_col, Cdeg [j] > 0)) ;
-    }
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* symbolic factorization (unless colamd has already done it) */
-    /* ---------------------------------------------------------------------- */
-
-    if (do_UMF_analyze)
-    {
-
-	Int *W, *Bp, *Bi, *Cperm2, ok, *P, Clen2, bsize, Clen0 ;
-
-	/* ------------------------------------------------------------------ */
-	/* construct column pre-ordered, pruned submatrix */
-	/* ------------------------------------------------------------------ */
-
-	/* S = column form submatrix after removing singletons and applying
-	 * initial column ordering (includes singleton ordering) */
-	(void) prune_singletons (n1, n_col, Ap, Ai,
-	    (double *) NULL,
-#ifdef COMPLEX
-	    (double *) NULL,
-#endif
-	    Cperm_init, InvRperm1, Si, Sp
-#ifndef NDEBUG
-	    , Rperm1, n_row
-#endif
-	    ) ;
-
-	/* ------------------------------------------------------------------ */
-	/* Ci [0 .. Clen-1] holds the following work arrays:
-
-		first Clen0 entries	empty space, where Clen0 =
-					Clen - (nn+1 + 2*nn + n_col)
-					and Clen0 >= nz + n_col
-		next nn+1 entries	Bp [0..nn]
-		next nn entries		Link [0..nn-1]
-		next nn entries		W [0..nn-1]
-		last n_col entries	Cperm2 [0..n_col-1]
-
-	    We have Clen >= n_col + MAX (nz,n_col) + 3*nn+1 + n_col,
-	    So  Clen0 >= 2*n_col as required for AMD_postorder
-	    and Clen0 >= n_col + nz as required
-	*/
-
-	Clen0 = Clen - (nn+1 + 2*nn + n_col) ;
-	Bp = Ci + Clen0 ;
-	Link = Bp + (nn+1) ;
-	W = Link + nn ;
-	Cperm2 = W + nn ;
-	ASSERT (Cperm2 + n_col == Ci + Clen) ;
-	ASSERT (Clen0 >= nz + n_col) ;
-	ASSERT (Clen0 >= 2*n_col) ;
-
-	/* ------------------------------------------------------------------ */
-	/* P = order that rows will be used in UMF_analyze */
-	/* ------------------------------------------------------------------ */
-
-	/* use W to mark rows, and use Link for row permutation P [ [ */
-	for (row = 0 ; row < n_row - n1 ; row++)
-	{
-	    W [row] = FALSE ;
-	}
-	P = Link ;
-
-	k = 0 ;
-
-	for (col = 0 ; col < n_col - n1 ; col++)
-	{
-	    /* empty columns are last in S */
-	    for (p = Sp [col] ; p < Sp [col+1] ; p++)
-	    {
-		row = Si [p] ;
-		if (!W [row])
-		{
-		    /* this row has just been seen for the first time */
-		    W [row] = TRUE ;
-		    P [k++] = row ;
-		}
-	    }
-	}
-
-	/* If the matrix has truly empty rows, then P will not be */
-	/* complete, and visa versa.  The matrix is structurally singular. */
-	nempty_row = n_row - n1 - k ;
-	if (k < n_row - n1)
-	{
-	    /* complete P by putting empty rows last in their natural order, */
-	    /* rather than declaring an error (the matrix is singular) */
-	    for (row = 0 ; row < n_row - n1 ; row++)
-	    {
-		if (!W [row])
-		{
-		    /* W [row] = TRUE ;  (not required) */
-		    P [k++] = row ;
-		}
-	    }
-	}
-
-	/* contents of W no longer needed ] */
-
-#ifndef NDEBUG
-	DEBUG3 (("Induced row permutation:\n")) ;
-	ASSERT (k == n_row - n1) ;
-	ASSERT (UMF_is_permutation (P, W, n_row - n1, n_row - n1)) ;
-	for (k = 0 ; k < n_row - n1 ; k++)
-	{
-	    DEBUG3 ((ID"\n", P [k])) ;
-	}
-#endif
-
-	/* ------------------------------------------------------------------ */
-	/* B = row-form of the pattern of S (excluding empty columns) */
-	/* ------------------------------------------------------------------ */
-
-	/* Ci [0 .. Clen-1] holds the following work arrays:
-
-		first Clen2 entries	empty space, must be at least >= n_col
-		next max (nz,1)		Bi [0..max (nz,1)-1]
-		next nn+1 entries	Bp [0..nn]
-		next nn entries		Link [0..nn-1]
-		next nn entries		W [0..nn-1]
-		last n_col entries	Cperm2 [0..n_col-1]
-
-		This memory usage is accounted for by the UMF_ANALYZE_CLEN
-		macro.
-	*/
-
-	Clen2 = Clen0 ;
-	snz = Sp [n_col - n1] ;
-	bsize = MAX (snz, 1) ;
-	Clen2 -= bsize ;
-	Bi = Ci + Clen2 ;
-	ASSERT (Clen2 >= n_col) ;
-
-	(void) UMF_transpose (n_row - n1, n_col - n1 - nempty_col,
-	    Sp, Si, (double *) NULL,
-	    P, (Int *) NULL, 0, Bp, Bi, (double *) NULL, W, FALSE
-#ifdef COMPLEX
-	    , (double *) NULL, (double *) NULL, FALSE
-#endif
-	    ) ;
-
-	/* contents of Si and Sp no longer needed */
-
-	/* contents of P (same as Link) and W not needed */
-	/* still need Link and W as work arrays, though ] */
-
-	ASSERT (Bp [0] == 0) ;
-	ASSERT (Bp [n_row - n1] == snz) ;
-
-	/* increment Bp to point into Ci, not Bi */
-	for (i = 0 ; i <= n_row - n1 ; i++)
-	{
-	    Bp [i] += Clen2 ;
-	}
-	ASSERT (Bp [0] == Clen0 - bsize) ;
-	ASSERT (Bp [n_row - n1] <= Clen0) ;
-
-	/* Ci [0 .. Clen-1] holds the following work arrays:
-
-		first Clen0 entries	Ci [0 .. Clen0-1], where the col indices
-					of B are at the tail end of this part,
-					and Bp [0] = Clen2 >= n_col.  Note
-					that Clen0 = Clen2 + max (snz,1).
-		next nn+1 entries	Bp [0..nn]
-		next nn entries		Link [0..nn-1]
-		next nn entries		W [0..nn-1]
-		last n_col entries	Cperm2 [0..n_col-1]
-	*/
-
-	/* ------------------------------------------------------------------ */
-	/* analyze */
-	/* ------------------------------------------------------------------ */
-
-	/* only analyze the non-empty, non-singleton part of the matrix */
-	ok = UMF_analyze (
-		n_row - n1 - nempty_row,
-		n_col - n1 - nempty_col,
-		Ci, Bp, Cperm2, fixQ, W, Link,
-		Fr_ncols, Fr_nrows, Fr_npivcol,
-		Fr_parent, &nfr, &analyze_compactions) ;
-	if (!ok)
-	{
-	    /* :: internal error in umf_analyze :: */
-	    Info [UMFPACK_STATUS] = UMFPACK_ERROR_internal_error ;
-	    error (&Symbolic, SW) ;
-	    return (UMFPACK_ERROR_internal_error) ;
-	}
-	Info [UMFPACK_SYMBOLIC_DEFRAG] += analyze_compactions ;
-
-	/* ------------------------------------------------------------------ */
-	/* combine the input permutation and UMF_analyze's permutation */
-	/* ------------------------------------------------------------------ */
-
-	if (!fixQ)
-	{
-	    /* Cperm2 is the column etree post-ordering */
-	    ASSERT (UMF_is_permutation (Cperm2, W,
-	    n_col-n1-nempty_col, n_col-n1-nempty_col)) ;
-
-	    /* Note that the empty columns remain at the end of Cperm_init */
-	    for (k = 0 ; k < n_col - n1 - nempty_col ; k++)
-	    {
-		W [k] = Cperm_init [n1 + Cperm2 [k]] ;
-	    }
-
-	    for (k = 0 ; k < n_col - n1 - nempty_col ; k++)
-	    {
-		Cperm_init [n1 + k] = W [k] ;
-	    }
-	}
-
-	ASSERT (UMF_is_permutation (Cperm_init, W, n_col, n_col)) ;
-
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* free some of the workspace */
-    /* ---------------------------------------------------------------------- */
-
-    /* (4) The real workspace, Rs, of size n_row doubles has already been
-     * free'd.  An additional workspace of size nz + n_col+1 + n_col integers
-     * is now free'd as well. */
-
-    SW->Si = (Int *) UMF_free ((void *) SW->Si) ;
-    SW->Sp = (Int *) UMF_free ((void *) SW->Sp) ;
-    SW->Cperm1 = (Int *) UMF_free ((void *) SW->Cperm1) ;
-    ASSERT (SW->Rs == (double *) NULL) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* determine the size of the Symbolic object */
-    /* ---------------------------------------------------------------------- */
-
-    /* ---------------------------------------------------------------------- */
-    /* determine the size of the Symbolic object */
-    /* ---------------------------------------------------------------------- */
-
-    nchains = 0 ;
-    for (i = 0 ; i < nfr ; i++)
-    {
-	if (Fr_parent [i] != i+1)
-	{
-	    nchains++ ;
-	}
-    }
-
-    Symbolic->nchains = nchains ;
-    Symbolic->nfr = nfr ;
-    Symbolic->esize
-	= (max_rdeg > dense_row_threshold) ? (n_col - n1 - nempty_col) : 0 ;
-
-    /* true size of Symbolic object */
-    Info [UMFPACK_SYMBOLIC_SIZE] = UMF_symbolic_usage (n_row, n_col, nchains,
-	    nfr, Symbolic->esize, prefer_diagonal) ;
-
-    /* actual peak memory usage for UMFPACK_symbolic (actual nfr, nchains) */
-    Info [UMFPACK_SYMBOLIC_PEAK_MEMORY] =
-	SYM_WORK_USAGE (n_col, n_row, Clen) + Info [UMFPACK_SYMBOLIC_SIZE] ;
-    Symbolic->peak_sym_usage = Info [UMFPACK_SYMBOLIC_PEAK_MEMORY] ;
-
-    DEBUG0 (("Number of fronts: "ID"\n", nfr)) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* allocate the second part of the Symbolic object (Front_*, Chain_*) */
-    /* ---------------------------------------------------------------------- */
-
-    /* (5) UMF_malloc is called 7 or 8 times, for a total space of
-     * (4*(nfr+1) + 3*(nchains+1) + esize) integers, where nfr is the total
-     * number of frontal matrices and nchains is the total number of frontal
-     * matrix chains, and where nchains <= nfr <= n_col.  esize is zero if there
-     * are no dense rows, or n_col-n1-nempty_col otherwise (n1 is the number of
-     * singletons and nempty_col is the number of empty columns).  This space is
-     * part of the Symbolic object and is not free'd unless an error occurs.
-     * This is between 7 and about 8n integers when A is square.
-     */
-
-    /* Note that Symbolic->Front_* does include the dummy placeholder front */
-    Symbolic->Front_npivcol = (Int *) UMF_malloc (nfr+1, sizeof (Int)) ;
-    Symbolic->Front_parent = (Int *) UMF_malloc (nfr+1, sizeof (Int)) ;
-    Symbolic->Front_1strow = (Int *) UMF_malloc (nfr+1, sizeof (Int)) ;
-    Symbolic->Front_leftmostdesc = (Int *) UMF_malloc (nfr+1, sizeof (Int)) ;
-    Symbolic->Chain_start = (Int *) UMF_malloc (nchains+1, sizeof (Int)) ;
-    Symbolic->Chain_maxrows = (Int *) UMF_malloc (nchains+1, sizeof (Int)) ;
-    Symbolic->Chain_maxcols = (Int *) UMF_malloc (nchains+1, sizeof (Int)) ;
-
-    fail = (!Symbolic->Front_npivcol || !Symbolic->Front_parent ||
-	!Symbolic->Front_1strow || !Symbolic->Front_leftmostdesc ||
-	!Symbolic->Chain_start || !Symbolic->Chain_maxrows ||
-	!Symbolic->Chain_maxcols) ;
-
-    if (Symbolic->esize > 0)
-    {
-	Symbolic->Esize = (Int *) UMF_malloc (Symbolic->esize, sizeof (Int)) ;
-	fail = fail || !Symbolic->Esize ;
-    }
-
-    if (fail)
-    {
-	DEBUGm4 (("out of memory: rest of symbolic object\n")) ;
-	Info [UMFPACK_STATUS] = UMFPACK_ERROR_out_of_memory ;
-	error (&Symbolic, SW) ;
-	return (UMFPACK_ERROR_out_of_memory) ;
-    }
-    DEBUG0 (("Symbolic UMF_malloc_count - init_count = "ID"\n",
-	UMF_malloc_count - init_count)) ;
-    ASSERT (UMF_malloc_count == init_count + 21
-	+ (SW->Rperm_2by2 != (Int *) NULL)
-	+ (Symbolic->Esize != (Int *) NULL)) ;
-
-    Front_npivcol = Symbolic->Front_npivcol ;
-    Front_parent = Symbolic->Front_parent ;
-    Front_1strow = Symbolic->Front_1strow ;
-    Front_leftmostdesc = Symbolic->Front_leftmostdesc ;
-
-    Chain_start = Symbolic->Chain_start ;
-    Chain_maxrows = Symbolic->Chain_maxrows ;
-    Chain_maxcols = Symbolic->Chain_maxcols ;
-
-    Esize = Symbolic->Esize ;
-
-    /* ---------------------------------------------------------------------- */
-    /* assign rows to fronts */
-    /* ---------------------------------------------------------------------- */
-
-    /* find InFront, unless colamd has already computed it */
-    if (do_UMF_analyze)
-    {
-
-	DEBUGm4 ((">>>>>>>>>Computing Front_1strow from scratch\n")) ;
-	/* empty rows go to dummy front nfr */
-	for (row = 0 ; row < n_row ; row++)
-	{
-	    InFront [row] = nfr ;
-	}
-	/* assign the singleton pivot rows to the "empty" front */
-	for (k = 0 ; k < n1 ; k++)
-	{
-	    row = Rperm1 [k] ;
-	    InFront [row] = EMPTY ;
-	}
-	DEBUG1 (("Front (EMPTY), singleton nrows "ID" ncols "ID"\n", k, k)) ;
-	newj = n1 ;
-	for (i = 0 ; i < nfr ; i++)
-	{
-	    fpivcol = Fr_npivcol [i] ;
-	    f1rows = 0 ;
-	    /* for all pivot columns in front i */
-	    for (kk = 0 ; kk < fpivcol ; kk++, newj++)
-	    {
-		j = Cperm_init [newj] ;
-		ASSERT (IMPLIES (newj >= n_col-nempty_col,
-				Ap [j+1] - Ap [j] == 0));
-		for (p = Ap [j] ; p < Ap [j+1] ; p++)
-		{
-		    row = Ai [p] ;
-		    if (InFront [row] == nfr)
-		    {
-			/* this row belongs to front i */
-			DEBUG1 (("    Row "ID" in Front "ID"\n", row, i)) ;
-			InFront [row] = i ;
-			f1rows++ ;
-		    }
-		}
-	    }
-	    Front_1strow [i] = f1rows ;
-	    DEBUG1 (("    Front "ID" has 1strows: "ID" pivcols "ID"\n",
-		i, f1rows, fpivcol)) ;
-	}
-
-    }
-    else
-    {
-
-	/* COLAMD has already computed InFront, but it is not yet
-	 * InFront [row] = front i, where row is an original row.  It is
-	 * InFront [k-n1] = i for k in the range n1 to n_row-nempty_row,
-	 * and where row = Rperm1 [k].  Need to permute InFront.  Also compute
-	 * # of original rows assembled into each front.
-	 * [ use Ci as workspace */
-	DEBUGm4 ((">>>>>>>>>Computing Front_1strow from colamd's InFront\n")) ;
-	for (i = 0 ; i <= nfr ; i++)
-	{
-	    Front_1strow [i] = 0 ;
-	}
-	/* assign the singleton pivot rows to "empty" front */
-	for (k = 0 ; k < n1 ; k++)
-	{
-	    row = Rperm1 [k] ;
-	    Ci [row] = EMPTY ;
-	}
-	/* assign the non-empty rows to the front that assembled them */
-	for ( ; k < n_row - nempty_row ; k++)
-	{
-	    row = Rperm1 [k] ;
-	    i = InFront [k - n1] ;
-	    ASSERT (i >= EMPTY && i < nfr) ;
-	    if (i != EMPTY)
-	    {
-		Front_1strow [i]++ ;
-	    }
-	    /* use Ci as permuted version of InFront */
-	    Ci [row] = i ;
-	}
-	/* empty rows go to the "dummy" front */
-	for ( ; k < n_row ; k++)
-	{
-	    row = Rperm1 [k] ;
-	    Ci [row] = nfr ;
-	}
-	/* permute InFront so that InFront [row] = i if the original row is
-	 * in front i */
-	for (row = 0 ; row < n_row ; row++)
-	{
-	    InFront [row] = Ci [row] ;
-	}
-	/* ] no longer need Ci as workspace */
-    }
-
-#ifndef NDEBUG
-    for (row = 0 ; row < n_row ; row++)
-    {
-	if (InFront [row] == nfr)
-	{
-	    DEBUG1 (("    Row "ID" in Dummy Front "ID"\n", row, nfr)) ;
-	}
-	else if (InFront [row] == EMPTY)
-	{
-	    DEBUG1 (("    singleton Row "ID"\n", row)) ;
-	}
-	else
-	{
-	    DEBUG1 (("    Row "ID" in Front "ID"\n", row, nfr)) ;
-	}
-    }
-    for (i = 0 ; i <= nfr ; i++)
-    {
-	DEBUG1 (("Front "ID" has 1strows: "ID" pivcols "ID"\n",
-		i, f1rows, fpivcol)) ;
-    }
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* copy front information into Symbolic object */
-    /* ---------------------------------------------------------------------- */
-
-    k = n1 ;
-    for (i = 0 ; i < nfr ; i++)
-    {
-	fpivcol = Fr_npivcol [i] ;
-	DEBUG1 (("Front "ID" k "ID" npivcol "ID" nrows "ID" ncols "ID"\n",
-	    i, k, fpivcol, Fr_nrows [i], Fr_ncols [i])) ;
-	k += fpivcol ;
-	/* copy Front info into Symbolic object from SW */
-	Front_npivcol [i] = fpivcol ;
-	Front_parent [i] = Fr_parent [i] ;
-    }
-
-    /* assign empty columns to dummy placehold front nfr */
-    DEBUG1 (("Dummy Cols in Front "ID" : "ID"\n", nfr, n_col-k)) ;
-    Front_npivcol [nfr] = n_col - k ;
-    Front_parent [nfr] = EMPTY ;
-
-    /* ---------------------------------------------------------------------- */
-    /* find initial row permutation */
-    /* ---------------------------------------------------------------------- */
-
-    /* order the singleton pivot rows */
-    for (k = 0 ; k < n1 ; k++)
-    {
-	Rperm_init [k] = Rperm1 [k] ;
-    }
-
-    /* determine the first row in each front (in the new row ordering) */
-    for (i = 0 ; i < nfr ; i++)
-    {
-	f1rows = Front_1strow [i] ;
-	DEBUG1 (("Front "ID" : npivcol "ID" parent "ID,
-	    i, Front_npivcol [i], Front_parent [i])) ;
-	DEBUG1 (("    1st rows in Front "ID" : "ID"\n", i, f1rows)) ;
-	Front_1strow [i] = k ;
-	k += f1rows ;
-    }
-
-    /* assign empty rows to dummy placehold front nfr */
-    DEBUG1 (("Rows in Front "ID" (dummy): "ID"\n", nfr, n_row-k)) ;
-    Front_1strow [nfr] = k ;
-    DEBUG1 (("nfr "ID" 1strow[nfr] "ID" nrow "ID"\n", nfr, k, n_row)) ;
-
-    /* Use Ci as temporary workspace for F1 */
-    F1 = Ci ;				/* [ of size nfr+1 */
-    ASSERT (Clen >= 2*n_row + nfr+1) ;
-
-    for (i = 0 ; i <= nfr ; i++)
-    {
-	F1 [i] = Front_1strow [i] ;
-    }
-
-    for (row = 0 ; row < n_row ; row++)
-    {
-	i = InFront [row] ;
-	if (i != EMPTY)
-	{
-	    newrow = F1 [i]++ ;
-	    ASSERT (newrow >= n1) ;
-	    Rperm_init [newrow] = row ;
-	}
-    }
-    Rperm_init [n_row] = EMPTY ;	/* unused */
-
-#ifndef NDEBUG
-    for (k = 0 ; k < n_row ; k++)
-    {
-	DEBUG2 (("Rperm_init ["ID"] = "ID"\n", k, Rperm_init [k])) ;
-    }
-#endif
-
-    /* ] done using F1 */
-
-    /* ---------------------------------------------------------------------- */
-    /* find the diagonal map */
-    /* ---------------------------------------------------------------------- */
-
-    /* Rperm_init [newrow] = row gives the row permutation that is implied
-     * by the column permutation, where "row" is a row index of the original
-     * matrix A.  It is not dependent on the Rperm_2by2 permutation, which
-     * only redefines the "diagonal".   Both are used to construct the
-     * Diagonal_map.  Diagonal_map only needs to be defined for
-     * k = n1 to nn - nempty, but go ahead and define it for all of
-     * k = 0 to nn */
-
-    if (prefer_diagonal)
-    {
-	Int *Diagonal_map ;
-	ASSERT (n_row == n_col && nn == n_row) ;
-	ASSERT (nempty_row == nempty_col && nempty == nempty_row) ;
-
-	/* allocate the Diagonal_map */
-	Symbolic->Diagonal_map = (Int *) UMF_malloc (n_col+1, sizeof (Int)) ;
-	Diagonal_map = Symbolic->Diagonal_map ;
-	if (Diagonal_map == (Int *) NULL)
-	{
-	    /* :: out of memory (diagonal map) :: */
-	    DEBUGm4 (("out of memory: Diagonal map\n")) ;
-	    Info [UMFPACK_STATUS] = UMFPACK_ERROR_out_of_memory ;
-	    error (&Symbolic, SW) ;
-	    return (UMFPACK_ERROR_out_of_memory) ;
-	}
-
-	/* use Ci as workspace to compute the inverse of Rperm_init [ */
-	for (newrow = 0 ; newrow < nn ; newrow++)
-	{
-	    oldrow = Rperm_init [newrow] ;
-	    ASSERT (oldrow >= 0 && oldrow < nn) ;
-	    Ci [oldrow] = newrow ;
-	}
-	if (strategy == UMFPACK_STRATEGY_2BY2)
-	{
-	    ASSERT (Rperm_2by2 != (Int *) NULL) ;
-	    for (newcol = 0 ; newcol < nn ; newcol++)
-	    {
-		oldcol = Cperm_init [newcol] ;
-		/* 2-by-2 pivoting done in S */
-		oldrow = Rperm_2by2 [oldcol] ;
-		newrow = Ci [oldrow] ;
-		Diagonal_map [newcol] = newrow ;
-	    }
-	}
-	else
-	{
-	    for (newcol = 0 ; newcol < nn ; newcol++)
-	    {
-		oldcol = Cperm_init [newcol] ;
-		/* no 2-by-2 pivoting in S */
-		oldrow = oldcol ;
-		newrow = Ci [oldrow] ;
-		Diagonal_map [newcol] = newrow ;
-	    }
-	}
-
-#ifndef NDEBUG
-	DEBUG1 (("\nDiagonal map:\n")) ;
-	for (newcol = 0 ; newcol < nn ; newcol++)
-	{
-	    oldcol = Cperm_init [newcol] ;
-	    DEBUG3 (("oldcol "ID" newcol "ID":\n", oldcol, newcol)) ;
-	    for (p = Ap [oldcol] ; p < Ap [oldcol+1] ; p++)
-	    {
-		Entry aij ;
-		oldrow = Ai [p] ;
-		newrow = Ci [oldrow] ;
-		if (Ax != (double *) NULL)
-		{
-		    ASSIGN (aij, Ax, Az, p, SPLIT (Az)) ;
-		}
-		if (oldrow == oldcol)
-		{
-		    DEBUG2 (("     old diagonal : oldcol "ID" oldrow "ID" ",
-			    oldcol, oldrow)) ;
-		    EDEBUG2 (aij) ;
-		    DEBUG2 (("\n")) ;
-		}
-		if (newrow == Diagonal_map [newcol])
-		{
-		    DEBUG2 (("     MAP diagonal : newcol "ID" MAProw "ID" ",
-			    newcol, Diagonal_map [newrow])) ;
-		    EDEBUG2 (aij) ;
-		    DEBUG2 (("\n")) ;
-		}
-	    }
-	}
-#endif
-	/* done using Ci as workspace ] */
-
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* find the leftmost descendant of each front */
-    /* ---------------------------------------------------------------------- */
-
-    for (i = 0 ; i <= nfr ; i++)
-    {
-	Front_leftmostdesc [i] = EMPTY ;
-    }
-
-    for (i = 0 ; i < nfr ; i++)
-    {
-	/* start at i and walk up the tree */
-	DEBUG2 (("Walk up front tree from "ID"\n", i)) ;
-	j = i ;
-	while (j != EMPTY && Front_leftmostdesc [j] == EMPTY)
-	{
-	    DEBUG3 (("  Leftmost desc of "ID" is "ID"\n", j, i)) ;
-	    Front_leftmostdesc [j] = i ;
-	    j = Front_parent [j] ;
-	    DEBUG3 (("  go to j = "ID"\n", j)) ;
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* find the frontal matrix chains and max frontal matrix sizes */
-    /* ---------------------------------------------------------------------- */
-
-    maxnrows = 1 ;		/* max # rows in any front */
-    maxncols = 1 ;		/* max # cols in any front */
-    dmaxfrsize = 1 ;		/* max frontal matrix size */
-
-    /* start the first chain */
-    nchains = 0 ;		/* number of chains */
-    Chain_start [0] = 0 ;	/* front 0 starts a new chain */
-    maxrows = 1 ;		/* max # rows for any front in current chain */
-    maxcols = 1 ;		/* max # cols for any front in current chain */
-    DEBUG1 (("Constructing chains:\n")) ;
-
-    for (i = 0 ; i < nfr ; i++)
-    {
-	/* get frontal matrix info */
-	fpivcol  = Front_npivcol [i] ;	    /* # candidate pivot columns */
-	fallrows = Fr_nrows [i] ;	    /* all rows (not just Schur comp) */
-	fallcols = Fr_ncols [i] ;	    /* all cols (not just Schur comp) */
-	parent = Front_parent [i] ;	    /* parent in column etree */
-	fpiv = MIN (fpivcol, fallrows) ;    /* # pivot rows and cols */
-	maxrows = MAX (maxrows, fallrows) ;
-	maxcols = MAX (maxcols, fallcols) ;
-
-	DEBUG1 (("Front: "ID", pivcol "ID", "ID"-by-"ID" parent "ID
-	    ", npiv "ID" Chain: maxrows "ID" maxcols "ID"\n", i, fpivcol,
-	    fallrows, fallcols, parent, fpiv, maxrows, maxcols)) ;
-
-	if (parent != i+1)
-	{
-	    /* this is the end of a chain */
-	    double s ;
-	    DEBUG1 (("\nEnd of chain "ID"\n", nchains)) ;
-
-	    /* make sure maxrows is an odd number */
-	    ASSERT (maxrows >= 0) ;
-	    if (maxrows % 2 == 0) maxrows++ ;
-
-	    DEBUG1 (("Chain maxrows "ID" maxcols "ID"\n", maxrows, maxcols)) ;
-
-	    Chain_maxrows [nchains] = maxrows ;
-	    Chain_maxcols [nchains] = maxcols ;
-
-	    /* keep track of the maximum front size for all chains */
-
-	    /* for Info only: */
-	    s = (double) maxrows * (double) maxcols ;
-	    dmaxfrsize = MAX (dmaxfrsize, s) ;
-
-	    /* for the subsequent numerical factorization */
-	    maxnrows = MAX (maxnrows, maxrows) ;
-	    maxncols = MAX (maxncols, maxcols) ;
-
-	    DEBUG1 (("Chain dmaxfrsize %g\n\n", dmaxfrsize)) ;
-
-	    /* start the next chain */
-	    nchains++ ;
-	    Chain_start [nchains] = i+1 ;
-	    maxrows = 1 ;
-	    maxcols = 1 ;
-	}
-    }
-
-    /* for Info only: */
-    dmaxfrsize = ceil (dmaxfrsize) ;
-    DEBUGm1 (("dmaxfrsize %30.20g Int_MAX "ID"\n", dmaxfrsize, Int_MAX)) ;
-    ASSERT (Symbolic->nchains == nchains) ;
-
-    /* For allocating objects in umfpack_numeric (does not include all possible
-     * pivots, particularly pivots from prior fronts in the chain.  Need to add
-     * nb to these to get the # of columns in the L block, for example.  This
-     * is the largest row dimension and largest column dimension of any frontal
-     * matrix.  maxnrows is always odd. */
-    Symbolic->maxnrows = maxnrows ;
-    Symbolic->maxncols = maxncols ;
-    DEBUGm3 (("maxnrows "ID" maxncols "ID"\n", maxnrows, maxncols)) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* find the initial element sizes */
-    /* ---------------------------------------------------------------------- */
-
-    if (max_rdeg > dense_row_threshold)
-    {
-	/* there are one or more dense rows in the input matrix */
-	/* count the number of dense rows in each column */
-	/* use Ci as workspace for inverse of Rperm_init [ */
-	ASSERT (Esize != (Int *) NULL) ;
-	for (newrow = 0 ; newrow < n_row ; newrow++)
-	{
-	    oldrow = Rperm_init [newrow] ;
-	    ASSERT (oldrow >= 0 && oldrow < nn) ;
-	    Ci [oldrow] = newrow ;
-	}
-	for (col = n1 ; col < n_col - nempty_col ; col++)
-	{
-	    oldcol = Cperm_init [col] ;
-	    esize = Cdeg [oldcol] ;
-	    ASSERT (esize > 0) ;
-	    for (p = Ap [oldcol] ; p < Ap [oldcol+1] ; p++)
-	    {
-		oldrow = Ai [p] ;
-		newrow = Ci [oldrow] ;
-		if (newrow >= n1 && Rdeg [oldrow] > dense_row_threshold)
-		{
-		    esize-- ;
-		}
-	    }
-	    ASSERT (esize >= 0) ;
-	    Esize [col - n1] = esize ;
-	}
-	/* done using Ci as workspace ] */
-    }
-
-    /* If there are no dense rows, then Esize [col-n1] is identical to
-     * Cdeg [col], once Cdeg is permuted below */
-
-    /* ---------------------------------------------------------------------- */
-    /* permute Cdeg and Rdeg according to initial column and row permutation */
-    /* ---------------------------------------------------------------------- */
-
-    /* use Ci as workspace [ */
-    for (k = 0 ; k < n_col ; k++)
-    {
-	Ci [k] = Cdeg [Cperm_init [k]] ;
-    }
-    for (k = 0 ; k < n_col ; k++)
-    {
-	Cdeg [k] = Ci [k] ;
-    }
-    for (k = 0 ; k < n_row ; k++)
-    {
-	Ci [k] = Rdeg [Rperm_init [k]] ;
-    }
-    for (k = 0 ; k < n_row ; k++)
-    {
-	Rdeg [k] = Ci [k] ;
-    }
-    /* done using Ci as workspace ] */
-
-    /* ---------------------------------------------------------------------- */
-    /* simulate UMF_kernel_init */
-    /* ---------------------------------------------------------------------- */
-
-    /* count elements and tuples at tail, LU factors of singletons, and
-     * head and tail markers */
-
-    dlnz = n_inner ;	/* upper limit of nz in L (incl diag) */
-    dunz = dlnz ;	/* upper limit of nz in U (incl diag) */
-
-    /* head marker */
-    head_usage  = 1 ;
-    dhead_usage = 1 ;
-
-    /* tail markers: */
-    tail_usage  = 2 ;
-    dtail_usage = 2 ;
-
-    /* allocate the Rpi and Rpx workspace for UMF_kernel_init (incl. headers) */
-    tail_usage  +=  UNITS (Int *, n_row+1) +  UNITS (Entry *, n_row+1) + 2 ;
-    dtail_usage += DUNITS (Int *, n_row+1) + DUNITS (Entry *, n_row+1) + 2 ;
-    DEBUG1 (("Symbolic usage after Rpi/Rpx allocation: head "ID" tail "ID"\n",
-	head_usage, tail_usage)) ;
-
-    /* LU factors for singletons, at the head of memory */
-    for (k = 0 ; k < n1 ; k++)
-    {
-	lnz = Cdeg [k] - 1 ;
-	unz = Rdeg [k] - 1 ;
-	dlnz += lnz ;
-	dunz += unz ;
-	DEBUG1 (("singleton k "ID" pivrow "ID" pivcol "ID" lnz "ID" unz "ID"\n",
-	    k, Rperm_init [k], Cperm_init [k], lnz, unz)) ;
-	head_usage  +=  UNITS (Int, lnz) +  UNITS (Entry, lnz)
-		    +   UNITS (Int, unz) +  UNITS (Entry, unz) ;
-	dhead_usage += DUNITS (Int, lnz) + DUNITS (Entry, lnz)
-		    +  DUNITS (Int, unz) + DUNITS (Entry, unz) ;
-    }
-    DEBUG1 (("Symbolic init head usage: "ID" for LU singletons\n",head_usage)) ;
-
-    /* column elements: */
-    for (k = n1 ; k < n_col - nempty_col; k++)
-    {
-	esize = Esize ? Esize [k-n1] : Cdeg [k] ;
-	DEBUG2 (("   esize: "ID"\n", esize)) ;
-	ASSERT (esize >= 0) ;
-	if (esize > 0)
-	{
-	    tail_usage  +=  GET_ELEMENT_SIZE (esize, 1) + 1 ;
-	    dtail_usage += DGET_ELEMENT_SIZE (esize, 1) + 1 ;
-	}
-    }
-
-    /* dense row elements */
-    if (Esize)
-    {
-	Int nrow_elements = 0 ;
-	for (k = n1 ; k < n_row - nempty_row ; k++)
-	{
-	    rdeg = Rdeg [k] ;
-	    if (rdeg > dense_row_threshold)
-	    {
-		tail_usage  += GET_ELEMENT_SIZE (1, rdeg) + 1 ;
-		dtail_usage += GET_ELEMENT_SIZE (1, rdeg) + 1 ;
-		nrow_elements++ ;
-	    }
-	}
-	Info [UMFPACK_NDENSE_ROW] = nrow_elements ;
-    }
-
-    DEBUG1 (("Symbolic usage: "ID" = head "ID" + tail "ID" after els\n",
-	head_usage + tail_usage, head_usage, tail_usage)) ;
-
-    /* compute the tuple lengths */
-    if (Esize)
-    {
-	/* row tuples */
-	for (row = n1 ; row < n_row ; row++)
-	{
-	    rdeg = Rdeg [row] ;
-	    tlen = (rdeg > dense_row_threshold) ? 1 : rdeg ;
-	    tail_usage  += 1 +  UNITS (Tuple, TUPLES (tlen)) ;
-	    dtail_usage += 1 + DUNITS (Tuple, TUPLES (tlen)) ;
-	}
-	/* column tuples */
-	for (col = n1 ; col < n_col - nempty_col ; col++)
-	{
-	    /* tlen is 1 plus the number of dense rows in this column */
-	    esize = Esize [col - n1] ;
-	    tlen = (esize > 0) + (Cdeg [col] - esize) ;
-	    tail_usage  += 1 +  UNITS (Tuple, TUPLES (tlen)) ;
-	    dtail_usage += 1 + DUNITS (Tuple, TUPLES (tlen)) ;
-	}
-	for ( ; col < n_col ; col++)
-	{
-	    tail_usage  += 1 +  UNITS (Tuple, TUPLES (0)) ;
-	    dtail_usage += 1 + DUNITS (Tuple, TUPLES (0)) ;
-	}
-    }
-    else
-    {
-	/* row tuples */
-	for (row = n1 ; row < n_row ; row++)
-	{
-	    tlen = Rdeg [row] ;
-	    tail_usage  += 1 +  UNITS (Tuple, TUPLES (tlen)) ;
-	    dtail_usage += 1 + DUNITS (Tuple, TUPLES (tlen)) ;
-	}
-	/* column tuples */
-	for (col = n1 ; col < n_col ; col++)
-	{
-	    tail_usage  += 1 +  UNITS (Tuple, TUPLES (1)) ;
-	    dtail_usage += 1 + DUNITS (Tuple, TUPLES (1)) ;
-	}
-    }
-
-    Symbolic->num_mem_init_usage = head_usage + tail_usage ;
-    DEBUG1 (("Symbolic usage: "ID" = head "ID" + tail "ID" final\n",
-	Symbolic->num_mem_init_usage, head_usage, tail_usage)) ;
-
-    ASSERT (UMF_is_permutation (Rperm_init, Ci, n_row, n_row)) ;
-
-    /* initial head and tail usage in Numeric->Memory */
-    dmax_usage = dhead_usage + dtail_usage ;
-    dmax_usage = MAX (Symbolic->num_mem_init_usage, ceil (dmax_usage)) ;
-    Info [UMFPACK_VARIABLE_INIT_ESTIMATE] = dmax_usage ;
-
-    /* In case Symbolic->num_mem_init_usage overflows, keep as a double, too */
-    Symbolic->dnum_mem_init_usage = dmax_usage ;
-
-    /* free the Rpi and Rpx workspace */
-    tail_usage  -=  UNITS (Int *, n_row+1) +  UNITS (Entry *, n_row+1) ;
-    dtail_usage -= DUNITS (Int *, n_row+1) + DUNITS (Entry *, n_row+1) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* simulate UMF_kernel, assuming unsymmetric pivoting */
-    /* ---------------------------------------------------------------------- */
-
-    /* Use Ci as temporary workspace for link lists [ */
-    Link = Ci ;
-    for (i = 0 ; i < nfr ; i++)
-    {
-	Link [i] = EMPTY ;
-    }
-
-    flops = 0 ;			/* flop count upper bound */
-
-    for (chain = 0 ; chain < nchains ; chain++)
-    {
-	double fsize ;
-	f1 = Chain_start [chain] ;
-	f2 = Chain_start [chain+1] - 1 ;
-
-	/* allocate frontal matrix working array (C, L, and U) */
-	dr = Chain_maxrows [chain] ;
-	dc = Chain_maxcols [chain] ;
-	fsize =
-	      nb*nb	    /* LU is nb-by-nb */
-	    + dr*nb	    /* L is dr-by-nb */
-	    + nb*dc	    /* U is nb-by-dc, stored by rows */
-	    + dr*dc ;	    /* C is dr by dc */
-	dtail_usage += DUNITS (Entry, fsize) ;
-	dmax_usage = MAX (dmax_usage, dhead_usage + dtail_usage) ;
-
-	for (i = f1 ; i <= f2 ; i++)
-	{
-
-	    /* get frontal matrix info */
-	    fpivcol  = Front_npivcol [i] ; /* # candidate pivot columns */
-	    fallrows = Fr_nrows [i] ;   /* all rows (not just Schur comp*/
-	    fallcols = Fr_ncols [i] ;   /* all cols (not just Schur comp*/
-	    parent = Front_parent [i] ; /* parent in column etree */
-	    fpiv = MIN (fpivcol, fallrows) ;	/* # pivot rows and cols */
-	    f = (double) fpiv ;
-	    r = fallrows - fpiv ;		/* # rows in Schur comp. */
-	    c = fallcols - fpiv ;		/* # cols in Schur comp. */
-
-	    /* assemble all children of front i in column etree */
-	    for (child = Link [i] ; child != EMPTY ; child = Link [child])
-	    {
-		ASSERT (child >= 0 && child < i) ;
-		ASSERT (Front_parent [child] == i) ;
-		/* free the child element and remove it from tuple lists */
-		cp = MIN (Front_npivcol [child], Fr_nrows [child]) ;
-		cr = Fr_nrows [child] - cp ;
-		cc = Fr_ncols [child] - cp ;
-		ASSERT (cp >= 0 && cr >= 0 && cc >= 0) ;
-		dtail_usage -= ELEMENT_SIZE (cr, cc) ;
-
-	    }
-
-	    /* The flop count computed here is "canonical". */
-
-	    /* factorize the frontal matrix */
-	    flops += DIV_FLOPS * (f*r + (f-1)*f/2)  /* scale pivot columns */
-		/* f outer products: */
-		+ MULTSUB_FLOPS * (f*r*c + (r+c)*(f-1)*f/2 + (f-1)*f*(2*f-1)/6);
-
-	    /* count nonzeros and memory usage in double precision */
-	    dlf = (f*f-f)/2 + f*r ;		/* nz in L below diagonal */
-	    duf = (f*f-f)/2 + f*c ;		/* nz in U above diagonal */
-	    dlnz += dlf ;
-	    dunz += duf ;
-
-	    /* store f columns of L and f rows of U */
-	    dhead_usage +=
-		DUNITS (Entry, dlf + duf)   /* numerical values (excl diag) */
-		+ DUNITS (Int, r + c + f) ; /* indices (compressed) */
-
-	    if (parent != EMPTY)
-	    {
-		/* create new element and place in tuple lists */
-		dtail_usage += ELEMENT_SIZE (r, c) ;
-
-		/* place in link list of parent */
-		Link [i] = Link [parent] ;
-		Link [parent] = i ;
-	    }
-
-	    /* keep track of peak Numeric->Memory usage */
-	    dmax_usage = MAX (dmax_usage, dhead_usage + dtail_usage) ;
-
-	}
-
-	/* free the current frontal matrix */
-	dtail_usage -= DUNITS (Entry, fsize) ;
-    }
-
-    dhead_usage = ceil (dhead_usage) ;
-    dmax_usage = ceil (dmax_usage) ;
-    Symbolic->num_mem_size_est = dhead_usage ;
-    Symbolic->num_mem_usage_est = dmax_usage ;
-    Symbolic->lunz_bound = dlnz + dunz - n_inner ;
-
-    /* ] done using Ci as workspace for Link array */
-
-    /* ---------------------------------------------------------------------- */
-    /* estimate total memory usage in UMFPACK_numeric */
-    /* ---------------------------------------------------------------------- */
-
-    UMF_set_stats (
-	Info,
-	Symbolic,
-	dmax_usage,		/* estimated peak size of Numeric->Memory */
-	dhead_usage,		/* estimated final size of Numeric->Memory */
-	flops,			/* estimated "true flops" */
-	dlnz,			/* estimated nz in L */
-	dunz,			/* estimated nz in U */
-	dmaxfrsize,		/* estimated largest front size */
-	(double) n_col,		/* worst case Numeric->Upattern size */
-	(double) n_inner,	/* max possible pivots to be found */
-	(double) maxnrows,	/* estimated largest #rows in front */
-	(double) maxncols,	/* estimated largest #cols in front */
-	TRUE,			/* assume scaling is to be performed */
-	prefer_diagonal,
-	ESTIMATE) ;
-
-    /* ---------------------------------------------------------------------- */
-
-#ifndef NDEBUG
-    for (i = 0 ; i < nchains ; i++)
-    {
-	DEBUG2 (("Chain "ID" start "ID" end "ID" maxrows "ID" maxcols "ID"\n",
-		i, Chain_start [i], Chain_start [i+1] - 1,
-		Chain_maxrows [i], Chain_maxcols [i])) ;
-	UMF_dump_chain (Chain_start [i], Fr_parent, Fr_npivcol, Fr_nrows,
-	    Fr_ncols, nfr) ;
-    }
-    fpivcol = 0 ;
-    for (i = 0 ; i < nfr ; i++)
-    {
-	fpivcol = MAX (fpivcol, Front_npivcol [i]) ;
-    }
-    DEBUG0 (("Max pivot cols in any front: "ID"\n", fpivcol)) ;
-    DEBUG1 (("Largest front: maxnrows "ID" maxncols "ID" dmaxfrsize %g\n",
-	maxnrows, maxncols, dmaxfrsize)) ;
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* UMFPACK_symbolic was successful, return the object handle */
-    /* ---------------------------------------------------------------------- */
-
-    Symbolic->valid = SYMBOLIC_VALID ;
-    *SymbolicHandle = (void *) Symbolic ;
-
-    /* ---------------------------------------------------------------------- */
-    /* free workspace */
-    /* ---------------------------------------------------------------------- */
-
-    /* (6) The last of the workspace is free'd.  The final Symbolic object
-     * consists of 12 to 14 allocated objects.  Its final total size is lies
-     * roughly between 4*n and 13*n for a square matrix, which is all that is
-     * left of the memory allocated by this routine.  If an error occurs, the
-     * entire Symbolic object is free'd when this routine returns (the error
-     * return routine, below).
-     */
-
-    free_work (SW) ;
-
-    DEBUG0 (("(3)Symbolic UMF_malloc_count - init_count = "ID"\n",
-	UMF_malloc_count - init_count)) ;
-    ASSERT (UMF_malloc_count == init_count + 12
-	+ (Symbolic->Esize != (Int *) NULL)
-	+ (Symbolic->Diagonal_map != (Int *) NULL)) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* get the time used by UMFPACK_*symbolic */
-    /* ---------------------------------------------------------------------- */
-
-    umfpack_toc (stats) ;
-    Info [UMFPACK_SYMBOLIC_WALLTIME] = stats [0] ;
-    Info [UMFPACK_SYMBOLIC_TIME] = stats [1] ;
-
-    return (UMFPACK_OK) ;
-}
-
-
-/* ========================================================================== */
-/* === free_work ============================================================ */
-/* ========================================================================== */
-
-PRIVATE void free_work
-(
-    SWType *SW
-)
-{
-    if (SW)
-    {
-	SW->Rperm_2by2 = (Int *) UMF_free ((void *) SW->Rperm_2by2) ;
-	SW->InvRperm1 = (Int *) UMF_free ((void *) SW->InvRperm1) ;
-	SW->Rs = (double *) UMF_free ((void *) SW->Rs) ;
-	SW->Si = (Int *) UMF_free ((void *) SW->Si) ;
-	SW->Sp = (Int *) UMF_free ((void *) SW->Sp) ;
-	SW->Ci = (Int *) UMF_free ((void *) SW->Ci) ;
-	SW->Front_npivcol = (Int *) UMF_free ((void *) SW->Front_npivcol);
-	SW->Front_nrows = (Int *) UMF_free ((void *) SW->Front_nrows) ;
-	SW->Front_ncols = (Int *) UMF_free ((void *) SW->Front_ncols) ;
-	SW->Front_parent = (Int *) UMF_free ((void *) SW->Front_parent) ;
-	SW->Front_cols = (Int *) UMF_free ((void *) SW->Front_cols) ;
-	SW->Cperm1 = (Int *) UMF_free ((void *) SW->Cperm1) ;
-	SW->Rperm1 = (Int *) UMF_free ((void *) SW->Rperm1) ;
-	SW->InFront = (Int *) UMF_free ((void *) SW->InFront) ;
-    }
-}
-
-
-/* ========================================================================== */
-/* === error ================================================================ */
-/* ========================================================================== */
-
-/* Error return from UMFPACK_symbolic.  Free all allocated memory. */
-
-PRIVATE void error
-(
-    SymbolicType **Symbolic,
-    SWType *SW
-)
-{
-
-    free_work (SW) ;
-    UMFPACK_free_symbolic ((void **) Symbolic) ;
-    ASSERT (UMF_malloc_count == init_count) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umfpack_report_control.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,386 +0,0 @@
-/* ========================================================================== */
-/* === UMFPACK_report_control =============================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    User-callable.  Prints the control settings.  See umfpack_report_control.h
-    for details.
-*/
-
-#include "umf_internal.h"
-
-GLOBAL void UMFPACK_report_control
-(
-    const double Control [UMFPACK_CONTROL]
-)
-{
-    double drow, dcol, relpt, relpt2, alloc_init, front_alloc_init, amd_alpha,
-	tol, force_fixQ, droptol, aggr ;
-    Int prl, nb, irstep, strategy, scale, s ;
-
-    prl = GET_CONTROL (UMFPACK_PRL, UMFPACK_DEFAULT_PRL) ;
-
-    if (prl < 2)
-    {
-	/* default is to print nothing */
-	return ;
-    }
-
-    PRINTF (("\n%s, Control:\n\n", UMFPACK_VERSION)) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* run-time options */
-    /* ---------------------------------------------------------------------- */
-
-    /* This is a "run-time" option because all four umfpack_* versions */
-    /* compiled into the UMFPACK library. */
-
-#ifdef DINT
-    PRINTF (("    Matrix entry defined as: double\n")) ;
-    PRINTF (("    Int (generic integer) defined as: int\n")) ;
-#endif
-#ifdef DLONG
-    PRINTF (("    Matrix entry defined as: double\n")) ;
-    PRINTF (("    Int (generic integer) defined as: long\n")) ;
-#endif
-#ifdef ZINT
-    PRINTF (("    Matrix entry defined as: double complex\n")) ;
-    PRINTF (("    Int (generic integer) defined as: int\n")) ;
-#endif
-#ifdef ZLONG
-    PRINTF (("    Matrix entry defined as: double complex\n")) ;
-    PRINTF (("    Int (generic integer) defined as: long\n")) ;
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* printing level */
-    /* ---------------------------------------------------------------------- */
-
-    PRINTF (("\n    "ID": print level: "ID"\n",
-	(Int) INDEX (UMFPACK_PRL), prl)) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* dense row/col parameters */
-    /* ---------------------------------------------------------------------- */
-
-    drow = GET_CONTROL (UMFPACK_DENSE_ROW, UMFPACK_DEFAULT_DENSE_ROW) ;
-    dcol = GET_CONTROL (UMFPACK_DENSE_COL, UMFPACK_DEFAULT_DENSE_COL) ;
-
-    PRINTF (("    "ID": dense row parameter:    %g\n",
-	(Int) INDEX (UMFPACK_DENSE_ROW), drow)) ;
-    PRINTF (("        \"dense\" rows have    > max (16, (%g)*16*sqrt(n_col)"
-	" entries)\n", drow)) ;
-    PRINTF (("    "ID": dense column parameter: %g\n",
-	(Int) INDEX (UMFPACK_DENSE_COL), dcol)) ;
-    PRINTF (("        \"dense\" columns have > max (16, (%g)*16*sqrt(n_row)"
-	" entries)\n", dcol)) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* pivot tolerance */
-    /* ---------------------------------------------------------------------- */
-
-    relpt = GET_CONTROL (UMFPACK_PIVOT_TOLERANCE,
-	UMFPACK_DEFAULT_PIVOT_TOLERANCE) ;
-    relpt = MAX (0.0, MIN (relpt, 1.0)) ;
-    PRINTF (("    "ID": pivot tolerance: %g\n",
-	(Int) INDEX (UMFPACK_PIVOT_TOLERANCE), relpt)) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* block size */
-    /* ---------------------------------------------------------------------- */
-
-    nb = GET_CONTROL (UMFPACK_BLOCK_SIZE, UMFPACK_DEFAULT_BLOCK_SIZE) ;
-    nb = MAX (1, nb) ;
-    PRINTF (("    "ID": block size for dense matrix kernels: "ID"\n",
-	(Int) INDEX (UMFPACK_BLOCK_SIZE), nb)) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* strategy */
-    /* ---------------------------------------------------------------------- */
-
-    strategy = GET_CONTROL (UMFPACK_STRATEGY, UMFPACK_DEFAULT_STRATEGY) ;
-    if (strategy < UMFPACK_STRATEGY_AUTO
-     || strategy > UMFPACK_STRATEGY_SYMMETRIC)
-    {
-	strategy = UMFPACK_STRATEGY_AUTO ;
-    }
-
-    PRINTF (("    "ID": strategy: "ID,
-	(Int) INDEX (UMFPACK_STRATEGY), strategy)) ;
-
-    if (strategy == UMFPACK_STRATEGY_SYMMETRIC)
-    {
-	PRINTF ((" (symmetric)\n"
-	"        Q = AMD (A+A'), Q not refined during numerical\n"
-	"        factorization, and diagonal pivoting (P=Q') attempted.\n")) ;
-    }
-    else if (strategy == UMFPACK_STRATEGY_UNSYMMETRIC)
-    {
-	PRINTF ((" (unsymmetric)\n"
-	"        Q = COLAMD (A), Q refined during numerical\n"
-	"        factorization, and no attempt at diagonal pivoting.\n")) ;
-    }
-    else if (strategy == UMFPACK_STRATEGY_2BY2)
-    {
-	PRINTF ((" (symmetric, with 2-by-2 block pivoting)\n"
-	"        P2 = row permutation that tries to place large entries on\n"
-	"        the diagonal.  Q = AMD (P2*A+(P2*A)'), Q not refined during\n"
-	"        numerical factorization, attempt to select pivots from the\n"
-	"        diagonal of P2*A.\n")) ;
-    }
-    else /* auto strategy */
-    {
-	strategy = UMFPACK_STRATEGY_AUTO ;
-	PRINTF ((" (auto)\n")) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* initial allocation parameter */
-    /* ---------------------------------------------------------------------- */
-
-    alloc_init = GET_CONTROL (UMFPACK_ALLOC_INIT, UMFPACK_DEFAULT_ALLOC_INIT) ;
-    if (alloc_init >= 0)
-    {
-	PRINTF (("    "ID": initial allocation ratio: %g\n",
-	(Int) INDEX (UMFPACK_ALLOC_INIT), alloc_init)) ;
-    }
-    else
-    {
-	s = -alloc_init ;
-	s = MAX (1, s) ;
-	PRINTF (("    "ID": initial allocation (in Units): "ID"\n",
-	(Int) INDEX (UMFPACK_ALLOC_INIT), s)) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* maximum iterative refinement steps */
-    /* ---------------------------------------------------------------------- */
-
-    irstep = GET_CONTROL (UMFPACK_IRSTEP, UMFPACK_DEFAULT_IRSTEP) ;
-    irstep = MAX (0, irstep) ;
-    PRINTF (("    "ID": max iterative refinement steps: "ID"\n",
-	(Int) INDEX (UMFPACK_IRSTEP), irstep)) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* 2-by-2 pivot tolerance */
-    /* ---------------------------------------------------------------------- */
-
-    tol = GET_CONTROL (UMFPACK_2BY2_TOLERANCE, UMFPACK_DEFAULT_2BY2_TOLERANCE) ;
-    tol = MAX (0.0, MIN (tol, 1.0)) ;
-    PRINTF (("    "ID": 2-by-2 pivot tolerance: %g\n",
-	(Int) INDEX (UMFPACK_2BY2_TOLERANCE), tol)) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* force fixQ */
-    /* ---------------------------------------------------------------------- */
-
-    force_fixQ = GET_CONTROL (UMFPACK_FIXQ, UMFPACK_DEFAULT_FIXQ) ;
-    PRINTF (("    "ID": Q fixed during numerical factorization: %g ",
-	(Int) INDEX (UMFPACK_FIXQ), force_fixQ)) ;
-    if (force_fixQ > 0)
-    {
-	PRINTF (("(yes)\n")) ;
-    }
-    else if (force_fixQ < 0)
-    {
-	PRINTF (("(no)\n")) ;
-    }
-    else
-    {
-	PRINTF (("(auto)\n")) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* AMD parameters */
-    /* ---------------------------------------------------------------------- */
-
-    amd_alpha = GET_CONTROL (UMFPACK_AMD_DENSE, UMFPACK_DEFAULT_AMD_DENSE) ;
-    PRINTF (("    "ID": AMD dense row/col parameter:    %g\n",
-	(Int) INDEX (UMFPACK_AMD_DENSE), amd_alpha)) ;
-    if (amd_alpha < 0)
-    {
-	PRINTF (("       no \"dense\" rows/columns\n")) ;
-    }
-    else
-    {
-	PRINTF (("       \"dense\" rows/columns have > max (16, (%g)*sqrt(n))"
-	    " entries\n", amd_alpha)) ;
-    }
-    PRINTF (("        Only used if the AMD ordering is used.\n")) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* pivot tolerance for symmetric pivoting */
-    /* ---------------------------------------------------------------------- */
-
-    relpt2 = GET_CONTROL (UMFPACK_SYM_PIVOT_TOLERANCE,
-	UMFPACK_DEFAULT_SYM_PIVOT_TOLERANCE) ;
-    relpt2 = MAX (0.0, MIN (relpt2, 1.0)) ;
-    PRINTF (("    "ID": diagonal pivot tolerance: %g\n"
-	"        Only used if diagonal pivoting is attempted.\n",
-	(Int) INDEX (UMFPACK_SYM_PIVOT_TOLERANCE), relpt2)) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* scaling */
-    /* ---------------------------------------------------------------------- */
-
-    scale = GET_CONTROL (UMFPACK_SCALE, UMFPACK_DEFAULT_SCALE) ;
-    if (scale != UMFPACK_SCALE_NONE && scale != UMFPACK_SCALE_MAX)
-    {
-	scale = UMFPACK_DEFAULT_SCALE ;
-    }
-    PRINTF (("    "ID": scaling: "ID, (Int) INDEX (UMFPACK_SCALE), scale)) ;
-    if (scale == UMFPACK_SCALE_NONE)
-    {
-	PRINTF ((" (no)")) ;
-    }
-    else if (scale == UMFPACK_SCALE_SUM)
-    {
-	PRINTF ((" (divide each row by sum of abs. values in each row)")) ;
-    }
-    else if (scale == UMFPACK_SCALE_MAX)
-    {
-	PRINTF ((" (divide each row by max. abs. value in each row)")) ;
-    }
-    PRINTF (("\n")) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* frontal matrix allocation parameter */
-    /* ---------------------------------------------------------------------- */
-
-    front_alloc_init = GET_CONTROL (UMFPACK_FRONT_ALLOC_INIT,
-	UMFPACK_DEFAULT_FRONT_ALLOC_INIT) ;
-    front_alloc_init = MIN (1.0, front_alloc_init) ;
-    if (front_alloc_init >= 0)
-    {
-	PRINTF (("    "ID": frontal matrix allocation ratio: %g\n",
-	(Int) INDEX (UMFPACK_FRONT_ALLOC_INIT), front_alloc_init)) ;
-    }
-    else
-    {
-	s = -front_alloc_init ;
-	s = MAX (1, s) ;
-	PRINTF (("    "ID": initial frontal matrix size (# of Entry's): "ID"\n",
-	(Int) INDEX (UMFPACK_FRONT_ALLOC_INIT), s)) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* drop tolerance */
-    /* ---------------------------------------------------------------------- */
-
-    droptol = GET_CONTROL (UMFPACK_DROPTOL, UMFPACK_DEFAULT_DROPTOL) ;
-    PRINTF (("    "ID": drop tolerance: %g\n",
-	(Int) INDEX (UMFPACK_DROPTOL), droptol)) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* aggressive absorption */
-    /* ---------------------------------------------------------------------- */
-
-    aggr = GET_CONTROL (UMFPACK_AGGRESSIVE, UMFPACK_DEFAULT_AGGRESSIVE) ;
-    PRINTF (("    "ID": AMD and COLAMD aggressive absorption: %g",
-	(Int) INDEX (UMFPACK_AGGRESSIVE), aggr)) ;
-    if (aggr != 0.0)
-    {
-	PRINTF ((" (yes)\n")) ;
-    }
-    else
-    {
-	PRINTF ((" (no)\n")) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* compile-time options */
-    /* ---------------------------------------------------------------------- */
-
-    PRINTF ((
-	"\n    The following options can only be changed at compile-time:\n")) ;
-
-    PRINTF (("    "ID": BLAS library used:  ",
-	(Int) INDEX (UMFPACK_COMPILED_WITH_BLAS))) ;
-
-#if defined (USE_NO_BLAS)
-    PRINTF (("none.  UMFPACK will be slow.\n")) ;
-#elif defined (USE_C_BLAS)
-    PRINTF (("C-BLAS.\n")) ;
-#elif defined (USE_MATLAB_BLAS)
-    PRINTF (("built-in MATLAB BLAS (ATLAS).\n")) ;
-#elif defined (USE_SUNPERF_BLAS)
-    PRINTF (("Sun Performance Library BLAS.\n")) ;
-#elif defined (USE_SCSL_BLAS)
-    PRINTF (("SGI SCSL BLAS.\n")) ;
-#elif defined (USE_FORTRAN_BLAS)
-    PRINTF (("Fortran BLAS.\n")) ;
-#endif
-
-#ifdef MATLAB_MEX_FILE
-#ifdef NUTIL
-    PRINTF (("    "ID": compiled for MATLAB"
-    " (uses mxMalloc, mxFree, mxRealloc, and mexPrintf)\n",
-	(Int) INDEX (UMFPACK_COMPILED_FOR_MATLAB))) ;
-#else
-    PRINTF (("    "ID": compiled for MATLAB"
-    " (uses utMalloc, utFree, utRealloc, and mexPrintf)\n",
-	(Int) INDEX (UMFPACK_COMPILED_FOR_MATLAB))) ;
-#endif
-#else
-#ifdef MATHWORKS
-    PRINTF (("    "ID": compiled for MATLAB, using internal utility routines\n"
-    "    (uses utMalloc, utFree, utRealloc, and utPrintf)\n",
-	(Int) INDEX (UMFPACK_COMPILED_FOR_MATLAB))) ;
-    PRINTF (("    (complex version uses utDivideComplex, utFdlibm_hypot)\n")) ;
-#else
-    PRINTF (("    "ID": compiled for ANSI C"
-    " (uses malloc, free, realloc, and printf)\n",
-	(Int) INDEX (UMFPACK_COMPILED_FOR_MATLAB))) ;
-#endif
-#endif
-
-#ifdef NO_TIMER
-    PRINTF (("    "ID": no CPU timer \n",
-	(Int) INDEX (UMFPACK_COMPILED_WITH_GETRUSAGE))) ;
-#else
-#ifndef NPOSIX
-    PRINTF (("    "ID": CPU timer is POSIX times ( ) routine.\n",
-	(Int) INDEX (UMFPACK_COMPILED_WITH_GETRUSAGE))) ;
-#else
-#ifdef GETRUSAGE
-    PRINTF (("    "ID": CPU timer is getrusage.\n",
-	(Int) INDEX (UMFPACK_COMPILED_WITH_GETRUSAGE))) ;
-#else
-    PRINTF (("    "ID": CPU timer is ANSI C clock (may wrap around).\n",
-	(Int) INDEX (UMFPACK_COMPILED_WITH_GETRUSAGE))) ;
-#endif
-#endif
-#endif
-
-#ifndef NDEBUG
-    PRINTF ((
-"**** Debugging enabled (UMFPACK will be exceedingly slow!) *****************\n"
-"    "ID": compiled with debugging enabled. ",
-	(Int) INDEX (UMFPACK_COMPILED_IN_DEBUG_MODE))) ;
-#ifdef MATLAB_MEX_FILE
-    PRINTF (("Uses mxAssert.\n")) ;
-#else
-#ifdef MATHWORKS
-    PRINTF (("Uses utAssert.\n")) ;
-#else
-    PRINTF (("Uses ANSI C assert.\n")) ;
-#endif
-#endif
-#else
-    PRINTF (("    "ID": compiled for normal operation (debugging disabled)\n",
-	(Int) INDEX (UMFPACK_COMPILED_IN_DEBUG_MODE))) ;
-#endif
-
-    PRINTF (("    computer/operating system: %s\n", UMFPACK_ARCHITECTURE)) ;
-    PRINTF (("    size of int: %g long: %g Int: %g pointer: %g"
-	" double: %g Entry: %g (in bytes)\n\n", (double) sizeof (int),
-	(double) sizeof (long), (double) sizeof (Int),
-	(double) sizeof (void *), (double) sizeof (double),
-	(double) sizeof (Entry))) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umfpack_report_info.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,615 +0,0 @@
-/* ========================================================================== */
-/* === UMFPACK_report_info ================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    User-callable.  Prints the Info array.  See umfpack_report_info.h for
-    details.
-*/
-
-#include "umf_internal.h"
-
-#define PRINT_INFO(format,x) \
-{ \
-    if (SCALAR_IS_NAN (x) || (!SCALAR_IS_LTZERO (x))) \
-    { \
-	PRINTF ((format, x)) ; \
-    } \
-}
-
-/* RATIO macro uses a double relop, but ignore NaN case: */
-#define RATIO(a,b,c) (((b) == 0) ? (c) : (((double) a)/((double) b)))
-
-/* ========================================================================== */
-/* === print_ratio ========================================================== */
-/* ========================================================================== */
-
-PRIVATE void print_ratio
-(
-    char *what,
-    char *format,
-    double estimate,
-    double actual
-)
-{
-    if (estimate < 0 && actual < 0)	/* double relop, but ignore Nan case */
-    {
-	return ;
-    }
-    PRINTF (("    %-27s", what)) ;
-    if (estimate >= 0)			/* double relop, but ignore Nan case */
-    {
-	PRINTF ((format, estimate)) ;
-    }
-    else
-    {
-	PRINTF (("                    -")) ;
-    }
-    if (actual >= 0)			/* double relop, but ignore Nan case */
-    {
-	PRINTF ((format, actual)) ;
-    }
-    else
-    {
-	PRINTF (("                    -")) ;
-    }
-    if (estimate >= 0 && actual >= 0)	/* double relop, but ignore Nan case */
-    {
-	PRINTF ((" %5.0f%%\n", 100 * RATIO (actual, estimate, 1))) ;
-    }
-    else
-    {
-	PRINTF (("      -\n")) ;
-    }
-}
-
-/* ========================================================================== */
-/* === UMFPACK_report_info ================================================== */
-/* ========================================================================== */
-
-GLOBAL void UMFPACK_report_info
-(
-    const double Control [UMFPACK_CONTROL],
-    const double Info [UMFPACK_INFO]
-)
-{
-
-    double lnz_est, unz_est, lunz_est, lnz, unz, lunz, tsym, tnum, fnum, tsolve,
-	fsolve, ttot, ftot, twsym, twnum, twsolve, twtot, n2 ;
-    Int n_row, n_col, n_inner, prl, is_sym ;
-
-    /* ---------------------------------------------------------------------- */
-    /* get control settings and status to determine what to print */
-    /* ---------------------------------------------------------------------- */
-
-    prl = GET_CONTROL (UMFPACK_PRL, UMFPACK_DEFAULT_PRL) ;
-
-    if (!Info || prl < 2)
-    {
-	/* no output generated if Info is (double *) NULL */
-	/* or if prl is less than 2 */
-	return ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* print umfpack version */
-    /* ---------------------------------------------------------------------- */
-
-    PRINTF (("\n%s, Info:\n", UMFPACK_VERSION)) ;
-
-#ifndef NDEBUG
-    PRINTF ((
-"**** Debugging enabled (UMFPACK will be exceedingly slow!) *****************\n"
-    )) ;
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* print run-time options */
-    /* ---------------------------------------------------------------------- */
-
-#ifdef DINT
-    PRINTF (("    matrix entry defined as:          double\n")) ;
-    PRINTF (("    Int (generic integer) defined as: int\n")) ;
-#endif
-#ifdef DLONG
-    PRINTF (("    matrix entry defined as:          double\n")) ;
-    PRINTF (("    Int (generic integer) defined as: long\n")) ;
-#endif
-#ifdef ZINT
-    PRINTF (("    matrix entry defined as:          double complex\n")) ;
-    PRINTF (("    Int (generic integer) defined as: int\n")) ;
-#endif
-#ifdef ZLONG
-    PRINTF (("    matrix entry defined as:          double complex\n")) ;
-    PRINTF (("    Int (generic integer) defined as: long\n")) ;
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* print compile-time options */
-    /* ---------------------------------------------------------------------- */
-
-    PRINTF (("    BLAS library used:                ")) ;
-
-#if defined (USE_NO_BLAS)
-    PRINTF (("none.  UMFPACK will be slow.\n")) ;
-#elif defined (USE_C_BLAS)
-    PRINTF (("C-BLAS.\n")) ;
-#elif defined (USE_MATLAB_BLAS)
-    PRINTF (("built-in MATLAB BLAS.\n")) ;
-#elif defined (USE_SUNPERF_BLAS)
-    PRINTF (("Sun Performance Library BLAS.\n")) ;
-#elif defined (USE_SCSL_BLAS)
-    PRINTF (("SGI SCSL BLAS.\n")) ;
-#elif defined (USE_FORTRAN_BLAS)
-    PRINTF (("Fortran BLAS.\n")) ;
-#endif
-
-    PRINTF (("    MATLAB:                           ")) ;
-#ifdef MATLAB_MEX_FILE
-    PRINTF (("yes.\n")) ;
-#else
-#ifdef MATHWORKS
-    PRINTF (("yes (using internal ut* routines).\n")) ;
-#else
-    PRINTF (("no.\n")) ;
-#endif
-#endif
-
-    PRINTF (("    CPU timer:                        ")) ;
-#ifdef NO_TIMER
-    PRINTF (("none.\n")) ;
-#else
-#ifndef NPOSIX
-    PRINTF (("POSIX times ( ) routine.\n")) ;
-#else
-#ifdef GETRUSAGE
-    PRINTF (("getrusage ( ) routine.\n")) ;
-#else
-    PRINTF (("ANSI clock ( ) routine.\n")) ;
-#endif
-#endif
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* print n and nz */
-    /* ---------------------------------------------------------------------- */
-
-    n_row = (Int) Info [UMFPACK_NROW] ;
-    n_col = (Int) Info [UMFPACK_NCOL] ;
-    n_inner = MIN (n_row, n_col) ;
-
-    PRINT_INFO ("    number of rows in matrix A:       "ID"\n", n_row) ;
-    PRINT_INFO ("    number of columns in matrix A:    "ID"\n", n_col) ;
-    PRINT_INFO ("    entries in matrix A:              "ID"\n",
-	(Int) Info [UMFPACK_NZ]) ;
-    PRINT_INFO ("    memory usage reported in:         "ID"-byte Units\n",
-	(Int) Info [UMFPACK_SIZE_OF_UNIT]) ;
-
-    PRINT_INFO ("    size of int:                      "ID" bytes\n",
-	(Int) Info [UMFPACK_SIZE_OF_INT]) ;
-    PRINT_INFO ("    size of long:                     "ID" bytes\n",
-	(Int) Info [UMFPACK_SIZE_OF_LONG]) ;
-    PRINT_INFO ("    size of pointer:                  "ID" bytes\n",
-	(Int) Info [UMFPACK_SIZE_OF_POINTER]) ;
-    PRINT_INFO ("    size of numerical entry:          "ID" bytes\n",
-	(Int) Info [UMFPACK_SIZE_OF_ENTRY]) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* symbolic parameters */
-    /* ---------------------------------------------------------------------- */
-
-    if (Info [UMFPACK_STRATEGY_USED] == UMFPACK_STRATEGY_SYMMETRIC)
-    {
-	PRINTF (("\n    strategy used:                    symmetric\n")) ;
-    }
-    else if (Info [UMFPACK_STRATEGY_USED] == UMFPACK_STRATEGY_UNSYMMETRIC)
-    {
-	PRINTF (("\n    strategy used:                    unsymmetric\n")) ;
-    }
-    else if (Info [UMFPACK_STRATEGY_USED] == UMFPACK_STRATEGY_2BY2)
-    {
-	PRINTF (("\n    strategy used:                    symmetric 2-by-2\n"));
-    }
-
-    if (Info [UMFPACK_ORDERING_USED] == UMFPACK_ORDERING_AMD)
-    {
-	PRINTF (("    ordering used:                    amd on A+A'\n")) ;
-    }
-    else if (Info [UMFPACK_ORDERING_USED] == UMFPACK_ORDERING_COLAMD)
-    {
-	PRINTF (("    ordering used:                    colamd on A\n")) ;
-    }
-    else if (Info [UMFPACK_ORDERING_USED] == UMFPACK_ORDERING_GIVEN)
-    {
-	PRINTF (("    ordering used:                    provided by user\n")) ;
-    }
-
-    if (Info [UMFPACK_QFIXED] == 1)
-    {
-	PRINTF (("    modify Q during factorization:    no\n")) ;
-    }
-    else if (Info [UMFPACK_QFIXED] == 0)
-    {
-	PRINTF (("    modify Q during factorization:    yes\n")) ;
-    }
-
-    if (Info [UMFPACK_DIAG_PREFERRED] == 0)
-    {
-	PRINTF (("    prefer diagonal pivoting:         no\n")) ;
-    }
-    else if (Info [UMFPACK_DIAG_PREFERRED] == 1)
-    {
-	PRINTF (("    prefer diagonal pivoting:         yes\n")) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* singleton statistics */
-    /* ---------------------------------------------------------------------- */
-
-    PRINT_INFO ("    pivots with zero Markowitz cost:               %0.f\n",
-	Info [UMFPACK_COL_SINGLETONS] + Info [UMFPACK_ROW_SINGLETONS]) ;
-    PRINT_INFO ("    submatrix S after removing zero-cost pivots:\n"
-		"        number of \"dense\" rows:                    %.0f\n",
-	Info [UMFPACK_NDENSE_ROW]) ;
-    PRINT_INFO ("        number of \"dense\" columns:                 %.0f\n",
-	Info [UMFPACK_NDENSE_COL]) ;
-    PRINT_INFO ("        number of empty rows:                      %.0f\n",
-	Info [UMFPACK_NEMPTY_ROW]) ;
-    PRINT_INFO ("        number of empty columns                    %.0f\n",
-	Info [UMFPACK_NEMPTY_COL]) ;
-    is_sym = Info [UMFPACK_S_SYMMETRIC] ;
-    if (is_sym > 0)
-    {
-	PRINTF (("        submatrix S square and diagonal preserved\n")) ;
-    }
-    else if (is_sym == 0)
-    {
-	PRINTF (("        submatrix S not square or diagonal not preserved\n"));
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* statistics from amd_aat */
-    /* ---------------------------------------------------------------------- */
-
-    n2 = Info [UMFPACK_N2] ;
-    if (n2 >= 0)
-    {
-	PRINTF (("    pattern of square submatrix S:\n")) ;
-    }
-    PRINT_INFO ("        number rows and columns                    %.0f\n",
-	n2) ;
-    PRINT_INFO ("        symmetry of nonzero pattern:               %.6f\n",
-	Info [UMFPACK_PATTERN_SYMMETRY]) ;
-    PRINT_INFO ("        nz in S+S' (excl. diagonal):               %.0f\n",
-	Info [UMFPACK_NZ_A_PLUS_AT]) ;
-    PRINT_INFO ("        nz on diagonal of matrix S:                %.0f\n",
-	Info [UMFPACK_NZDIAG]) ;
-    if (Info [UMFPACK_NZDIAG] >= 0 && n2 > 0)
-    {
-	PRINTF (("        fraction of nz on diagonal:                %.6f\n",
-	Info [UMFPACK_NZDIAG] / n2)) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* statistics from 2-by-2 permutation */
-    /* ---------------------------------------------------------------------- */
-
-    PRINT_INFO ("    2-by-2 pivoting to place large entries on diagonal:\n"
-		"        # of small diagonal entries of S:          %.0f\n",
-	Info [UMFPACK_2BY2_NWEAK]) ;
-    PRINT_INFO ("        # unmatched:                               %.0f\n",
-	Info [UMFPACK_2BY2_UNMATCHED]) ;
-    PRINT_INFO ("        symmetry of P2*S:                          %.6f\n",
-	Info [UMFPACK_2BY2_PATTERN_SYMMETRY]) ;
-    PRINT_INFO ("        nz in P2*S+(P2*S)' (excl. diag.):          %.0f\n",
-	Info [UMFPACK_2BY2_NZ_PA_PLUS_PAT]) ;
-    PRINT_INFO ("        nz on diagonal of P2*S:                    %.0f\n",
-	Info [UMFPACK_2BY2_NZDIAG]) ;
-    if (Info [UMFPACK_2BY2_NZDIAG] >= 0 && n2 > 0)
-    {
-	PRINTF (("        fraction of nz on diag of P2*S:            %.6f\n",
-	Info [UMFPACK_2BY2_NZDIAG] / n2)) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* statistics from AMD */
-    /* ---------------------------------------------------------------------- */
-
-    if (Info [UMFPACK_ORDERING_USED] == UMFPACK_ORDERING_AMD)
-    {
-	double dmax = Info [UMFPACK_SYMMETRIC_DMAX] ;
-	PRINTF (("    AMD statistics, for strict diagonal pivoting:\n")) ;
-	PRINT_INFO ("        est. flops for LU factorization:           %.5e\n",
-	    Info [UMFPACK_SYMMETRIC_FLOPS]) ;
-	PRINT_INFO ("        est. nz in L+U (incl. diagonal):           %.0f\n",
-	    Info [UMFPACK_SYMMETRIC_LUNZ]) ;
-	PRINT_INFO ("        est. largest front (# entries):            %.0f\n",
-	    dmax*dmax) ;
-	PRINT_INFO ("        est. max nz in any column of L:            %.0f\n",
-	    dmax) ;
-	PRINT_INFO (
-	    "        number of \"dense\" rows/columns in S+S':    %.0f\n",
-	    Info [UMFPACK_SYMMETRIC_NDENSE]) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* symbolic factorization */
-    /* ---------------------------------------------------------------------- */
-
-    tsym = Info [UMFPACK_SYMBOLIC_TIME] ;
-    twsym = Info [UMFPACK_SYMBOLIC_WALLTIME] ;
-
-    PRINT_INFO ("    symbolic factorization defragmentations:       %.0f\n",
-	Info [UMFPACK_SYMBOLIC_DEFRAG]) ;
-    PRINT_INFO ("    symbolic memory usage (Units):                 %.0f\n",
-	Info [UMFPACK_SYMBOLIC_PEAK_MEMORY]) ;
-    PRINT_INFO ("    symbolic memory usage (MBytes):                %.1f\n",
-	MBYTES (Info [UMFPACK_SYMBOLIC_PEAK_MEMORY])) ;
-    PRINT_INFO ("    Symbolic size (Units):                         %.0f\n",
-	Info [UMFPACK_SYMBOLIC_SIZE]) ;
-    PRINT_INFO ("    Symbolic size (MBytes):                        %.0f\n",
-	MBYTES (Info [UMFPACK_SYMBOLIC_SIZE])) ;
-    PRINT_INFO ("    symbolic factorization CPU time (sec):         %.2f\n",
-	tsym) ;
-    PRINT_INFO ("    symbolic factorization wallclock time(sec):    %.2f\n",
-	twsym) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* scaling, from numerical factorization */
-    /* ---------------------------------------------------------------------- */
-
-    if (Info [UMFPACK_WAS_SCALED] == UMFPACK_SCALE_NONE)
-    {
-	PRINTF (("\n    matrix scaled: no\n")) ;
-    }
-    else if (Info [UMFPACK_WAS_SCALED] == UMFPACK_SCALE_SUM)
-    {
-	PRINTF (("\n    matrix scaled: yes ")) ;
-	PRINTF (("(divided each row by sum of abs values in each row)\n")) ;
-	PRINTF (("    minimum sum (abs (rows of A)):              %.5e\n",
-	    Info [UMFPACK_RSMIN])) ;
-	PRINTF (("    maximum sum (abs (rows of A)):              %.5e\n",
-	    Info [UMFPACK_RSMAX])) ;
-    }
-    else if (Info [UMFPACK_WAS_SCALED] == UMFPACK_SCALE_MAX)
-    {
-	PRINTF (("\n    matrix scaled: yes ")) ;
-	PRINTF (("(divided each row by max abs value in each row)\n")) ;
-	PRINTF (("    minimum max (abs (rows of A)):              %.5e\n",
-	    Info [UMFPACK_RSMIN])) ;
-	PRINTF (("    maximum max (abs (rows of A)):              %.5e\n",
-	    Info [UMFPACK_RSMAX])) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* estimate/actual in symbolic/numeric factorization */
-    /* ---------------------------------------------------------------------- */
-
-    /* double relop, but ignore NaN case: */
-    if (Info [UMFPACK_SYMBOLIC_DEFRAG] >= 0	/* UMFPACK_*symbolic called */
-    ||  Info [UMFPACK_NUMERIC_DEFRAG] >= 0)	/* UMFPACK_numeric called */
-    {
-	PRINTF (("\n    symbolic/numeric factorization:      upper bound")) ;
-	PRINTF (("               actual      %%\n")) ;
-	PRINTF (("    variable-sized part of Numeric object:\n")) ;
-    }
-    print_ratio ("    initial size (Units)", " %20.0f",
-	Info [UMFPACK_VARIABLE_INIT_ESTIMATE], Info [UMFPACK_VARIABLE_INIT]) ;
-    print_ratio ("    peak size (Units)", " %20.0f",
-	Info [UMFPACK_VARIABLE_PEAK_ESTIMATE], Info [UMFPACK_VARIABLE_PEAK]) ;
-    print_ratio ("    final size (Units)", " %20.0f",
-	Info [UMFPACK_VARIABLE_FINAL_ESTIMATE], Info [UMFPACK_VARIABLE_FINAL]) ;
-    print_ratio ("Numeric final size (Units)", " %20.0f",
-	Info [UMFPACK_NUMERIC_SIZE_ESTIMATE], Info [UMFPACK_NUMERIC_SIZE]) ;
-    print_ratio ("Numeric final size (MBytes)", " %20.1f",
-	MBYTES (Info [UMFPACK_NUMERIC_SIZE_ESTIMATE]),
-	MBYTES (Info [UMFPACK_NUMERIC_SIZE])) ;
-    print_ratio ("peak memory usage (Units)", " %20.0f",
-	Info [UMFPACK_PEAK_MEMORY_ESTIMATE], Info [UMFPACK_PEAK_MEMORY]) ;
-    print_ratio ("peak memory usage (MBytes)", " %20.1f",
-	MBYTES (Info [UMFPACK_PEAK_MEMORY_ESTIMATE]),
-	MBYTES (Info [UMFPACK_PEAK_MEMORY])) ;
-    print_ratio ("numeric factorization flops", " %20.5e",
-	Info [UMFPACK_FLOPS_ESTIMATE], Info [UMFPACK_FLOPS]) ;
-
-    lnz_est = Info [UMFPACK_LNZ_ESTIMATE] ;
-    unz_est = Info [UMFPACK_UNZ_ESTIMATE] ;
-    if (lnz_est >= 0 && unz_est >= 0)	/* double relop, but ignore NaN case */
-    {
-	lunz_est = lnz_est + unz_est - n_inner ;
-    }
-    else
-    {
-	lunz_est = EMPTY ;
-    }
-    lnz = Info [UMFPACK_LNZ] ;
-    unz = Info [UMFPACK_UNZ] ;
-    if (lnz >= 0 && unz >= 0)		/* double relop, but ignore NaN case */
-    {
-	lunz = lnz + unz - n_inner ;
-    }
-    else
-    {
-	lunz = EMPTY ;
-    }
-    print_ratio ("nz in L (incl diagonal)", " %20.0f", lnz_est, lnz) ;
-    print_ratio ("nz in U (incl diagonal)", " %20.0f", unz_est, unz) ;
-    print_ratio ("nz in L+U (incl diagonal)", " %20.0f", lunz_est, lunz) ;
-
-    print_ratio ("largest front (# entries)", " %20.0f",
-	Info [UMFPACK_MAX_FRONT_SIZE_ESTIMATE], Info [UMFPACK_MAX_FRONT_SIZE]) ;
-    print_ratio ("largest # rows in front", " %20.0f",
-	Info [UMFPACK_MAX_FRONT_NROWS_ESTIMATE],
-	Info [UMFPACK_MAX_FRONT_NROWS]) ;
-    print_ratio ("largest # columns in front", " %20.0f",
-	Info [UMFPACK_MAX_FRONT_NCOLS_ESTIMATE],
-	Info [UMFPACK_MAX_FRONT_NCOLS]) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* numeric factorization */
-    /* ---------------------------------------------------------------------- */
-
-    tnum = Info [UMFPACK_NUMERIC_TIME] ;
-    twnum = Info [UMFPACK_NUMERIC_WALLTIME] ;
-    fnum = Info [UMFPACK_FLOPS] ;
-
-    PRINT_INFO ("\n    initial allocation ratio used:                 %0.3g\n",
-	Info [UMFPACK_ALLOC_INIT_USED]) ;
-    PRINT_INFO ("    # of forced updates due to frontal growth:     %.0f\n",
-	Info [UMFPACK_FORCED_UPDATES]) ;
-    PRINT_INFO ("    number of off-diagonal pivots:                 %.0f\n",
-	Info [UMFPACK_NOFF_DIAG]) ;
-    PRINT_INFO ("    nz in L (incl diagonal), if none dropped       %.0f\n",
-	Info [UMFPACK_ALL_LNZ]) ;
-    PRINT_INFO ("    nz in U (incl diagonal), if none dropped       %.0f\n",
-	Info [UMFPACK_ALL_UNZ]) ;
-    PRINT_INFO ("    number of small entries dropped                %.0f\n",
-	Info [UMFPACK_NZDROPPED]) ;
-    PRINT_INFO ("    nonzeros on diagonal of U:                     %.0f\n",
-	Info [UMFPACK_UDIAG_NZ]) ;
-    PRINT_INFO ("    min abs. value on diagonal of U:               %.2e\n",
-	Info [UMFPACK_UMIN]) ;
-    PRINT_INFO ("    max abs. value on diagonal of U:               %.2e\n",
-	Info [UMFPACK_UMAX]) ;
-    PRINT_INFO ("    estimate of reciprocal of condition number:    %.2e\n",
-	Info [UMFPACK_RCOND]) ;
-    PRINT_INFO ("    indices in compressed pattern:                 %.0f\n",
-	Info [UMFPACK_COMPRESSED_PATTERN]) ;
-    PRINT_INFO ("    numerical values stored in Numeric object:     %.0f\n",
-	Info [UMFPACK_LU_ENTRIES]) ;
-    PRINT_INFO ("    numeric factorization defragmentations:        %.0f\n",
-	Info [UMFPACK_NUMERIC_DEFRAG]) ;
-    PRINT_INFO ("    numeric factorization reallocations:           %.0f\n",
-	Info [UMFPACK_NUMERIC_REALLOC]) ;
-    PRINT_INFO ("    costly numeric factorization reallocations:    %.0f\n",
-	Info [UMFPACK_NUMERIC_COSTLY_REALLOC]) ;
-    PRINT_INFO ("    numeric factorization CPU time (sec):          %.2f\n",
-	tnum) ;
-    PRINT_INFO ("    numeric factorization wallclock time (sec):    %.2f\n",
-	twnum) ;
-
-    if (tnum > 0 && fnum > 0)
-    {
-	PRINT_INFO (
-	   "    numeric factorization mflops (CPU time):       %.2f\n",
-	   1e-6 * fnum / tnum) ;
-    }
-    if (twnum > 0 && fnum > 0)
-    {
-	PRINT_INFO (
-	   "    numeric factorization mflops (wallclock):      %.2f\n",
-	   1e-6 * fnum / twnum) ;
-    }
-
-    ttot = EMPTY ;
-    ftot = fnum ;
-    if (tsym >= 0 && tnum >= 0)
-    {
-	ttot = tsym + tnum ;
-	PRINT_INFO ("    symbolic + numeric CPU time (sec):             %.2f\n",
-	    ttot) ;
-	if (ftot > 0 && ttot > 0)
-	{
-	    PRINT_INFO (
-		"    symbolic + numeric mflops (CPU time):          %.2f\n",
-		1e-6 * ftot / ttot) ;
-	}
-    }
-
-    twtot = EMPTY ;
-    if (twsym >= 0 && twnum >= 0)
-    {
-	twtot = twsym + twnum ;
-	PRINT_INFO ("    symbolic + numeric wall clock time (sec):      %.2f\n",
-	    twtot) ;
-	if (ftot > 0 && twtot > 0)
-	{
-	    PRINT_INFO (
-		"    symbolic + numeric mflops (wall clock):        %.2f\n",
-		1e-6 * ftot / twtot) ;
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* solve */
-    /* ---------------------------------------------------------------------- */
-
-    tsolve = Info [UMFPACK_SOLVE_TIME] ;
-    twsolve = Info [UMFPACK_SOLVE_WALLTIME] ;
-    fsolve = Info [UMFPACK_SOLVE_FLOPS] ;
-
-    PRINT_INFO ("\n    solve flops:                                   %.5e\n",
-	fsolve) ;
-    PRINT_INFO ("    iterative refinement steps taken:              %.0f\n",
-	Info [UMFPACK_IR_TAKEN]) ;
-    PRINT_INFO ("    iterative refinement steps attempted:          %.0f\n",
-	Info [UMFPACK_IR_ATTEMPTED]) ;
-    PRINT_INFO ("    sparse backward error omega1:                  %.2e\n",
-	Info [UMFPACK_OMEGA1]) ;
-    PRINT_INFO ("    sparse backward error omega2:                  %.2e\n",
-	Info [UMFPACK_OMEGA2]) ;
-    PRINT_INFO ("    solve CPU time (sec):                          %.2f\n",
-	tsolve) ;
-    PRINT_INFO ("    solve wall clock time (sec):                   %.2f\n",
-	twsolve) ;
-    if (fsolve > 0 && tsolve > 0)
-    {
-	PRINT_INFO (
-	    "    solve mflops (CPU time):                       %.2f\n",
-	    1e-6 * fsolve / tsolve) ;
-    }
-    if (fsolve > 0 && twsolve > 0)
-    {
-	PRINT_INFO (
-	    "    solve mflops (wall clock time):                %.2f\n",
-	    1e-6 * fsolve / twsolve) ;
-    }
-
-    if (ftot >= 0 && fsolve >= 0)
-    {
-	ftot += fsolve ;
-	PRINT_INFO (
-	"\n    total symbolic + numeric + solve flops:        %.5e\n", ftot) ;
-    }
-
-    if (tsolve >= 0)
-    {
-	if (ttot >= 0 && ftot >= 0)
-	{
-	    ttot += tsolve ;
-	    PRINT_INFO (
-		"    total symbolic + numeric + solve CPU time:     %.2f\n",
-		ttot) ;
-	    if (ftot > 0 && ttot > 0)
-	    {
-		PRINT_INFO (
-		"    total symbolic + numeric + solve mflops (CPU): %.2f\n",
-		1e-6 * ftot / ttot) ;
-	    }
-	}
-    }
-
-    if (twsolve >= 0)
-    {
-	if (twtot >= 0 && ftot >= 0)
-	{
-	    twtot += tsolve ;
-	    PRINT_INFO (
-		"    total symbolic+numeric+solve wall clock time:  %.2f\n",
-		twtot) ;
-	    if (ftot > 0 && twtot > 0)
-	    {
-		PRINT_INFO (
-		"    total symbolic+numeric+solve mflops(wallclock) %.2f\n",
-		1e-6 * ftot / twtot) ;
-	    }
-	}
-    }
-    PRINTF (("\n")) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umfpack_report_matrix.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,201 +0,0 @@
-/* ========================================================================== */
-/* === UMFPACK_report_matrix ================================================ */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    User-callable.  Prints a column or row-oriented matrix.  See
-    umfpack_report_matrix.h for details.
-*/
-
-#include "umf_internal.h"
-
-GLOBAL Int UMFPACK_report_matrix
-(
-    Int n_row,
-    Int n_col,
-    const Int Ap [ ],
-    const Int Ai [ ],
-    const double Ax [ ],
-#ifdef COMPLEX
-    const double Az [ ],
-#endif
-    Int col_form,		/* 1: column form, 0: row form */
-    const double Control [UMFPACK_CONTROL]
-)
-{
-    Entry a ;
-    Int prl, i, k, length, ilast, p, nz, prl1, p1, p2, n, n_i, do_values ;
-    char *vector, *index ;
-#ifdef COMPLEX
-    Int split = SPLIT (Az) ;
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* determine the form, and check if inputs exist */
-    /* ---------------------------------------------------------------------- */
-
-    prl = GET_CONTROL (UMFPACK_PRL, UMFPACK_DEFAULT_PRL) ;
-
-    if (prl <= 2)
-    {
-	return (UMFPACK_OK) ;
-    }
-
-    if (col_form)
-    {
-	vector = "column" ;	/* column vectors */
-	index = "row" ;		/* with row indices */
-	n = n_col ;
-	n_i = n_row ;
-    }
-    else
-    {
-	vector = "row" ;	/* row vectors */
-	index = "column" ;	/* with column indices */
-	n = n_row ;
-	n_i = n_col ;
-    }
-
-    PRINTF (("%s-form matrix, n_row "ID" n_col "ID", ", vector, n_row, n_col)) ;
-
-    if (n_row <= 0 || n_col <= 0)
-    {
-	PRINTF (("ERROR: n_row <= 0 or n_col <= 0\n\n")) ;
-	return (UMFPACK_ERROR_n_nonpositive) ;
-    }
-
-    if (!Ap)
-    {
-	PRINTF (("ERROR: Ap missing\n\n")) ;
-	return (UMFPACK_ERROR_argument_missing) ;
-    }
-
-    nz = Ap [n] ;
-    PRINTF (("nz = "ID". ", nz)) ;
-    if (nz < 0)
-    {
-	PRINTF (("ERROR: number of entries < 0\n\n")) ;
-	return (UMFPACK_ERROR_invalid_matrix) ;
-    }
-
-    if (Ap [0] != 0)
-    {
-	PRINTF (("ERROR: Ap ["ID"] = "ID" must be "ID"\n\n",
-	    (Int) INDEX (0), INDEX (Ap [0]), (Int) INDEX (0))) ;
-	return (UMFPACK_ERROR_invalid_matrix) ;
-    }
-
-    if (!Ai)
-    {
-	PRINTF (("ERROR: Ai missing\n\n")) ;
-	return (UMFPACK_ERROR_argument_missing) ;
-    }
-
-    do_values = Ax != (double *) NULL ;
-
-    PRINTF4 (("\n")) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* check the row/column pointers, Ap */
-    /* ---------------------------------------------------------------------- */
-
-    for (k = 0 ; k < n ; k++)
-    {
-	if (Ap [k] < 0)
-	{
-	    PRINTF (("ERROR: Ap ["ID"] < 0\n\n", INDEX (k))) ;
-	    return (UMFPACK_ERROR_invalid_matrix) ;
-	}
-	if (Ap [k] > nz)
-	{
-	    PRINTF (("ERROR: Ap ["ID"] > size of Ai\n\n", INDEX (k))) ;
-	    return (UMFPACK_ERROR_invalid_matrix) ;
-	}
-    }
-
-    for (k = 0 ; k < n ; k++)
-    {
-	length = Ap [k+1] - Ap [k] ;
-	if (length < 0)
-	{
-	    PRINTF (("ERROR: # entries in %s "ID" is < 0\n\n",
-		vector, INDEX (k))) ;
-	    return (UMFPACK_ERROR_invalid_matrix) ;
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* print each vector */
-    /* ---------------------------------------------------------------------- */
-
-    prl1 = prl ;
-
-    for (k = 0 ; k < n ; k++)
-    {
-	/* if prl is 4, print the first 10 entries of the first 10 vectors */
-	if (k < 10)
-	{
-	    prl = prl1 ;
-	}
-	/* get the vector pointers */
-	p1 = Ap [k] ;
-	p2 = Ap [k+1] ;
-	length = p2 - p1 ;
-	PRINTF4 (("\n    %s "ID": start: "ID" end: "ID" entries: "ID"\n",
-	    vector, INDEX (k), p1, p2-1, length)) ;
-	ilast = EMPTY ;
-	for (p = p1 ; p < p2 ; p++)
-	{
-	    i = Ai [p] ;
-	    PRINTF4 (("\t%s "ID" ", index, INDEX (i))) ;
-	    if (do_values && prl >= 4)
-	    {
-		PRINTF ((":")) ;
-		ASSIGN (a, Ax, Az, p, split) ;
-		PRINT_ENTRY (a) ;
-	    }
-	    if (i < 0 || i >= n_i)
-	    {
-		PRINTF ((" ERROR: %s index "ID" out of range in %s "ID"\n\n",
-		    index, INDEX (i), vector, INDEX (k))) ;
-		return (UMFPACK_ERROR_invalid_matrix) ;
-	    }
-	    if (i <= ilast)
-	    {
-		PRINTF ((" ERROR: %s index "ID" out of order (or duplicate) in "
-		    "%s "ID"\n\n", index, INDEX (i), vector, INDEX (k))) ;
-		return (UMFPACK_ERROR_invalid_matrix) ;
-	    }
-	    PRINTF4 (("\n")) ;
-	    /* truncate printout, but continue to check matrix */
-	    if (prl == 4 && (p - p1) == 9 && length > 10)
-	    {
-		PRINTF4 (("\t...\n")) ;
-		prl-- ;
-	    }
-	    ilast = i ;
-	}
-	/* truncate printout, but continue to check matrix */
-	if (prl == 4 && k == 9 && n > 10)
-	{
-	    PRINTF4 (("\n    ...\n")) ;
-	    prl-- ;
-	}
-    }
-    prl = prl1 ;
-
-    /* ---------------------------------------------------------------------- */
-    /* return the status of the matrix */
-    /* ---------------------------------------------------------------------- */
-
-    PRINTF4 (("    %s-form matrix ", vector)) ;
-    PRINTF (("OK\n\n")) ;
-
-    return (UMFPACK_OK) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umfpack_report_numeric.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,663 +0,0 @@
-/* ========================================================================== */
-/* === UMFPACK_report_numeric =============================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    User-callable.  Prints the Numeric object.
-    See umfpack_report_numeric.h for details.
-
-    Dynamic memory usage:  Allocates a size n*sizeof(Int) workspace via a single
-    call to UMF_malloc and then frees all of it via UMF_free on return.  The
-    workspace is not allocated if an early error return occurs before the
-    workspace is needed.
-*/
-
-#include "umf_internal.h"
-#include "umf_valid_numeric.h"
-#include "umf_report_perm.h"
-#include "umf_report_vector.h"
-#include "umf_malloc.h"
-#include "umf_free.h"
-
-
-PRIVATE Int report_L
-(
-    NumericType *Numeric,
-    Int Pattern [ ],
-    Int prl
-) ;
-
-
-PRIVATE Int report_U
-(
-    NumericType *Numeric,
-    Int Pattern [ ],
-    Int prl
-) ;
-
-/* ========================================================================== */
-/* === UMFPACK_report_numeric =============================================== */
-/* ========================================================================== */
-
-GLOBAL Int UMFPACK_report_numeric
-(
-    void *NumericHandle,
-    const double Control [UMFPACK_CONTROL]
-)
-{
-    Int prl, *W, nn, n_row, n_col, n_inner, num_fixed_size, numeric_size,
-	npiv ;
-    NumericType *Numeric ;
-
-    prl = GET_CONTROL (UMFPACK_PRL, UMFPACK_DEFAULT_PRL) ;
-
-    if (prl <= 2)
-    {
-	return (UMFPACK_OK) ;
-    }
-
-    PRINTF (("Numeric object:  ")) ;
-
-    Numeric = (NumericType *) NumericHandle ;
-    if (!UMF_valid_numeric (Numeric))
-    {
-	PRINTF (("ERROR: LU factors invalid\n\n")) ;
-	return (UMFPACK_ERROR_invalid_Numeric_object) ;
-    }
-
-    n_row = Numeric->n_row ;
-    n_col = Numeric->n_col ;
-    nn = MAX (n_row, n_col) ;
-    n_inner = MIN (n_row, n_col) ;
-    npiv = Numeric->npiv ;
-
-    DEBUG1 (("n_row "ID" n_col "ID" nn "ID" n_inner "ID" npiv "ID"\n",
-	n_row, n_col, nn, n_inner, npiv)) ;
-
-    /* size of Numeric object, except Numeric->Memory and Numeric->Upattern */
-    /* see also UMF_set_stats */
-    num_fixed_size =
-	UNITS (NumericType, 1)		/* Numeric structure */
-	+ UNITS (Entry, n_inner+1)	/* D */
-	+ UNITS (Int, n_row+1)		/* Rperm */
-	+ UNITS (Int, n_col+1)		/* Cperm */
-	+ 6 * UNITS (Int, npiv+1)	/* Lpos, Uilen, Uip, Upos, Lilen, Lip */
-	+ ((Numeric->scale != UMFPACK_SCALE_NONE) ?
-		UNITS (Entry, n_row) : 0) ; /* Rs */
-
-    DEBUG1 (("num fixed size: "ID"\n", num_fixed_size)) ;
-    DEBUG1 (("Numeric->size "ID"\n", Numeric->size)) ;
-    DEBUG1 (("ulen units "ID"\n", UNITS (Int, Numeric->ulen))) ;
-
-    /* size of Numeric->Memory is Numeric->size */
-    /* size of Numeric->Upattern is Numeric->ulen */
-    numeric_size = num_fixed_size + Numeric->size
-	+ UNITS (Int, Numeric->ulen) ;
-
-    DEBUG1 (("numeric total size "ID"\n", numeric_size)) ;
-
-    if (prl >= 4)
-    {
-	PRINTF (("\n    n_row: "ID"  n_col: "ID"\n", n_row, n_col)) ;
-
-	PRINTF (("    relative pivot tolerance used:              %g\n",
-	    Numeric->relpt)) ;
-	PRINTF (("    relative symmetric pivot tolerance used:    %g\n",
-	    Numeric->relpt2)) ;
-
-	PRINTF (("    matrix scaled: ")) ;
-	if (Numeric->scale == UMFPACK_SCALE_NONE)
-	{
-	    PRINTF (("no")) ;
-	}
-	else if (Numeric->scale == UMFPACK_SCALE_SUM)
-	{
-	    PRINTF (("yes (divided each row by sum abs value in each row)\n")) ;
-	    PRINTF (("    minimum sum (abs (rows of A)):              %.5e\n",
-		Numeric->rsmin)) ;
-	    PRINTF (("    maximum sum (abs (rows of A)):              %.5e",
-		Numeric->rsmax)) ;
-	}
-	else if (Numeric->scale == UMFPACK_SCALE_MAX)
-	{
-	    PRINTF (("yes (divided each row by max abs value in each row)\n")) ;
-	    PRINTF (("    minimum max (abs (rows of A)):              %.5e\n",
-		Numeric->rsmin)) ;
-	    PRINTF (("    maximum max (abs (rows of A)):              %.5e",
-		Numeric->rsmax)) ;
-	}
-	PRINTF (("\n")) ;
-
-	PRINTF (("    initial allocation parameter used:          %g\n",
-	    Numeric->alloc_init)) ;
-	PRINTF (("    frontal matrix allocation parameter used:   %g\n",
-	    Numeric->front_alloc_init)) ;
-	PRINTF (("    final total size of Numeric object (Units): "ID"\n",
-	    numeric_size)) ;
-	PRINTF (("    final total size of Numeric object (MBytes): %.1f\n",
-	    MBYTES (numeric_size))) ;
-	PRINTF (("    peak size of variable-size part (Units):    "ID"\n",
-	    Numeric->max_usage)) ;
-	PRINTF (("    peak size of variable-size part (MBytes):   %.1f\n",
-	    MBYTES (Numeric->max_usage))) ;
-	PRINTF (("    largest actual frontal matrix size:         "ID"\n",
-	    Numeric->maxfrsize)) ;
-	PRINTF (("    memory defragmentations:                    "ID"\n",
-	    Numeric->ngarbage)) ;
-	PRINTF (("    memory reallocations:                       "ID"\n",
-	    Numeric->nrealloc)) ;
-	PRINTF (("    costly memory reallocations:                "ID"\n",
-	    Numeric->ncostly)) ;
-	PRINTF (("    entries in compressed pattern (L and U):    "ID"\n",
-	    Numeric->isize)) ;
-	PRINTF (("    number of nonzeros in L (excl diag):        "ID"\n",
-	    Numeric->lnz)) ;
-	PRINTF (("    number of entries stored in L (excl diag):  "ID"\n",
-	    Numeric->nLentries)) ;
-	PRINTF (("    number of nonzeros in U (excl diag):        "ID"\n",
-	    Numeric->unz)) ;
-	PRINTF (("    number of entries stored in U (excl diag):  "ID"\n",
-	    Numeric->nUentries)) ;
-	PRINTF (("    factorization floating-point operations:    %g\n",
-	    Numeric->flops)) ;
-	PRINTF (("    number of nonzeros on diagonal of U:        "ID"\n",
-	    Numeric->nnzpiv)) ;
-	PRINTF (("    min abs. value on diagonal of U:            %.5e\n",
-	    Numeric->min_udiag)) ;
-	PRINTF (("    max abs. value on diagonal of U:            %.5e\n",
-	    Numeric->max_udiag)) ;
-	PRINTF (("    reciprocal condition number estimate:       %.2e\n",
-	    Numeric->rcond)) ;
-    }
-
-    W = (Int *) UMF_malloc (nn, sizeof (Int)) ;
-    if (!W)
-    {
-	PRINTF ((" ERROR: out of memory to check Numeric object\n\n")) ;
-	return (UMFPACK_ERROR_out_of_memory) ;
-    }
-
-    if (Numeric->Rs)
-    {
-#ifndef NRECIPROCAL
-	if (Numeric->do_recip)
-	{
-	    PRINTF4 (("\nScale factors applied via multiplication\n")) ;
-	}
-	else
-#endif
-	{
-	    PRINTF4 (("\nScale factors applied via division\n")) ;
-	}
-	PRINTF4 (("Scale factors, Rs: ")) ;
-	(void) UMF_report_vector (n_row, Numeric->Rs, (double *) NULL,
-	    prl, FALSE, TRUE) ;
-    }
-    else
-    {
-	PRINTF4 (("Scale factors, Rs: (not present)\n")) ;
-    }
-
-    PRINTF4 (("\nP: row ")) ;
-    if (UMF_report_perm (n_row, Numeric->Rperm, W, prl, 0) != UMFPACK_OK)
-    {
-	(void) UMF_free ((void *) W) ;
-	return (UMFPACK_ERROR_invalid_Numeric_object) ;
-    }
-
-    PRINTF4 (("\nQ: column ")) ;
-    if (UMF_report_perm (n_col, Numeric->Cperm, W, prl, 0) != UMFPACK_OK)
-    {
-	(void) UMF_free ((void *) W) ;
-	return (UMFPACK_ERROR_invalid_Numeric_object) ;
-    }
-
-    if (!report_L (Numeric, W, prl))
-    {
-	(void) UMF_free ((void *) W) ;
-	PRINTF ((" ERROR: L factor invalid\n\n")) ;
-	return (UMFPACK_ERROR_invalid_Numeric_object) ;
-    }
-
-    if (!report_U (Numeric, W, prl))
-    {
-	(void) UMF_free ((void *) W) ;
-	PRINTF ((" ERROR: U factor invalid\n\n")) ;
-	return (UMFPACK_ERROR_invalid_Numeric_object) ;
-    }
-
-    /* The diagonal of U is in "merged" (Entry) form, not "split" form. */
-    PRINTF4 (("\ndiagonal of U: ")) ;
-    (void) UMF_report_vector (n_inner, (double *) Numeric->D, (double *) NULL,
-	prl, FALSE, FALSE) ;
-
-    (void) UMF_free ((void *) W) ;
-
-    PRINTF4 (("    Numeric object:  ")) ;
-    PRINTF (("OK\n\n")) ;
-    return (UMFPACK_OK) ;
-}
-
-
-/* ========================================================================== */
-/* === report_L ============================================================= */
-/* ========================================================================== */
-
-PRIVATE Int report_L
-(
-    NumericType *Numeric,
-    Int Pattern [ ],
-    Int prl
-)
-{
-    Int k, deg, *ip, j, row, n_row, *Lpos, *Lilen, valid, k1,
-	*Lip, newLchain, llen, prl1, pos, lp, p, npiv, n1, *Li ;
-    Entry *xp, *Lval ;
-
-    /* ---------------------------------------------------------------------- */
-
-    ASSERT (prl >= 3) ;
-
-    n_row = Numeric->n_row ;
-    npiv = Numeric->npiv ;
-    n1 = Numeric->n1 ;
-    Lpos = Numeric->Lpos ;
-    Lilen = Numeric->Lilen ;
-    Lip = Numeric->Lip ;
-    prl1 = prl ;
-    deg = 0 ;
-
-    PRINTF4 ((
-    "\nL in Numeric object, in column-oriented compressed-pattern form:\n"
-    "    Diagonal entries are all equal to 1.0 (not stored)\n")) ;
-
-    ASSERT (Pattern != (Int *) NULL) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* print L */
-    /* ---------------------------------------------------------------------- */
-
-    k1 = 12 ;
-
-    /* ---------------------------------------------------------------------- */
-    /* print the singleton columns of L */
-    /* ---------------------------------------------------------------------- */
-
-    for (k = 0 ; k < n1 ; k++)
-    {
-	if (k1 > 0)
-	{
-	    prl = prl1 ;
-	}
-	lp = Lip [k] ;
-	deg = Lilen [k] ;
-	Li = (Int *) (Numeric->Memory + lp) ;
-	lp += UNITS (Int, deg) ;
-	Lval = (Entry *) (Numeric->Memory + lp) ;
-	if (k1-- > 0)
-	{
-	    prl = prl1 ;
-	}
-	else if (prl == 4)
-	{
-	    PRINTF (("    ...\n")) ;
-	    prl-- ;
-	}
-	PRINTF4 (("\n    column "ID":", INDEX (k))) ;
-	PRINTF4 (("  length "ID".\n", deg)) ;
-	for (j = 0 ; j < deg ; j++)
-	{
-	    row = Li [j] ;
-	    PRINTF4 (("\trow "ID" : ", INDEX (row))) ;
-	    if (prl >= 4) PRINT_ENTRY (Lval [j]) ;
-	    if (row <= k || row >= n_row)
-	    {
-		return (FALSE) ;
-	    }
-	    PRINTF4 (("\n")) ;
-	    /* truncate printout, but continue to check L */
-	    if (prl == 4 && j == 9 && deg > 10)
-	    {
-		PRINTF (("\t...\n")) ;
-		prl-- ;
-	    }
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* print the regular columns of L */
-    /* ---------------------------------------------------------------------- */
-
-    for (k = n1 ; k < npiv ; k++)
-    {
-	/* if prl is 4, print the first 10 entries of the first 10 columns */
-	if (k1 > 0)
-	{
-	    prl = prl1 ;
-	}
-
-	lp = Lip [k] ;
-	newLchain = (lp < 0) ;
-	if (newLchain)
-	{
-	    lp = -lp ;
-	    deg = 0 ;
-	}
-
-	if (k1-- > 0)
-	{
-	    prl = prl1 ;
-	}
-	else if (prl == 4)
-	{
-	    PRINTF (("    ...\n")) ;
-	    prl-- ;
-	}
-
-	PRINTF4 (("\n    column "ID":", INDEX (k))) ;
-
-	/* ------------------------------------------------------------------ */
-	/* make column of L in Pattern [0..deg-1] */
-	/* ------------------------------------------------------------------ */
-
-	/* remove pivot row */
-	pos = Lpos [k] ;
-	if (pos != EMPTY)
-	{
-	    PRINTF4 (("  remove row "ID" at position "ID".",
-		INDEX (Pattern [pos]), INDEX (pos))) ;
-	    valid = (!newLchain) && (deg > 0) && (pos < deg) && (pos >= 0)
-		&& (Pattern [pos] == k) ;
-	    if (!valid)
-	    {
-		return (FALSE) ;
-	    }
-	    Pattern [pos] = Pattern [--deg] ;
-	}
-
-	/* concatenate the pattern */
-	llen = Lilen [k] ;
-	if (llen < 0)
-	{
-	    return (FALSE) ;
-	}
-	p = lp + UNITS (Int, llen) ;
-	xp = (Entry *) (Numeric->Memory + p) ;
-	if ((llen > 0 || deg > 0)
-	    && (p + (Int) UNITS (Entry, deg) > Numeric->size))
-	{
-	    return (FALSE) ;
-	}
-	if (llen > 0)
-	{
-	    PRINTF4 (("  add "ID" entries.", llen)) ;
-	    ip = (Int *) (Numeric->Memory + lp) ;
-	    for (j = 0 ; j < llen ; j++)
-	    {
-		Pattern [deg++] = *ip++ ;
-	    }
-	}
-
-	/* ------------------------------------------------------------------ */
-	/* print column k of L */
-	/* ------------------------------------------------------------------ */
-
-	PRINTF4 (("  length "ID".", deg)) ;
-	if (newLchain)
-	{
-	    PRINTF4 (("  Start of Lchain.")) ;
-	}
-	PRINTF4 (("\n")) ;
-
-	for (j = 0 ; j < deg ; j++)
-	{
-	    row = Pattern [j] ;
-	    PRINTF4 (("\trow "ID" : ", INDEX (row))) ;
-	    if (prl >= 4) PRINT_ENTRY (*xp) ;
-	    if (row <= k || row >= n_row)
-	    {
-		return (FALSE) ;
-	    }
-	    PRINTF4 (("\n")) ;
-	    xp++ ;
-	    /* truncate printout, but continue to check L */
-	    if (prl == 4 && j == 9 && deg > 10)
-	    {
-		PRINTF (("\t...\n")) ;
-		prl-- ;
-	    }
-	}
-    }
-
-    PRINTF4 (("\n")) ;
-    return (TRUE) ;
-}
-
-
-/* ========================================================================== */
-/* === report_U ============================================================= */
-/* ========================================================================== */
-
-PRIVATE Int report_U
-(
-    NumericType *Numeric,
-    Int Pattern [ ],
-    Int prl
-)
-{
-    /* ---------------------------------------------------------------------- */
-
-    Int k, deg, j, *ip, col, *Upos, *Uilen, k1, prl1, pos,
-	*Uip, n_col, ulen, p, newUchain, up, npiv, n1, *Ui ;
-    Entry *xp, *Uval ;
-
-    /* ---------------------------------------------------------------------- */
-
-    ASSERT (prl >= 3) ;
-
-    n_col = Numeric->n_col ;
-    npiv = Numeric->npiv ;
-    n1 = Numeric->n1 ;
-    Upos = Numeric->Upos ;
-    Uilen = Numeric->Uilen ;
-    Uip = Numeric->Uip ;
-    prl1 = prl ;
-
-    PRINTF4 ((
-    "\nU in Numeric object, in row-oriented compressed-pattern form:\n"
-    "    Diagonal is stored separately.\n")) ;
-
-    ASSERT (Pattern != (Int *) NULL) ;
-
-    k1 = 12 ;
-
-    /* ---------------------------------------------------------------------- */
-    /* print the sparse part of U */
-    /* ---------------------------------------------------------------------- */
-
-    deg = Numeric->ulen ;
-    if (deg > 0)
-    {
-	/* make last pivot row of U (singular matrices only) */
-	for (j = 0 ; j < deg ; j++)
-	{
-	    Pattern [j] = Numeric->Upattern [j] ;
-	}
-    }
-
-    PRINTF4 (("\n    row "ID":  length "ID".  End of Uchain.\n", INDEX (npiv-1),
-	deg)) ;
-
-    for (k = npiv-1 ; k >= n1 ; k--)
-    {
-
-	/* ------------------------------------------------------------------ */
-	/* print row k of U */
-	/* ------------------------------------------------------------------ */
-
-	/* if prl is 3, print the first 10 entries of the first 10 columns */
-	if (k1 > 0)
-	{
-	    prl = prl1 ;
-	}
-
-	up = Uip [k] ;
-	ulen = Uilen [k] ;
-	if (ulen < 0)
-	{
-	    return (FALSE) ;
-	}
-	newUchain = (up < 0) ;
-	if (newUchain)
-	{
-	    up = -up ;
-	    p = up + UNITS (Int, ulen) ;
-	}
-	else
-	{
-	    p = up ;
-	}
-	xp = (Entry *) (Numeric->Memory + p) ;
-	if (deg > 0 && (p + (Int) UNITS (Entry, deg) > Numeric->size))
-	{
-	    return (FALSE) ;
-	}
-	for (j = 0 ; j < deg ; j++)
-	{
-	    col = Pattern [j] ;
-	    PRINTF4 (("\tcol "ID" :", INDEX (col))) ;
-	    if (prl >= 4) PRINT_ENTRY (*xp) ;
-	    if (col <= k || col >= n_col)
-	    {
-		return (FALSE) ;
-	    }
-	    PRINTF4 (("\n")) ;
-	    xp++ ;
-	    /* truncate printout, but continue to check U */
-	    if (prl == 4 && j == 9 && deg > 10)
-	    {
-		PRINTF (("\t...\n")) ;
-		prl-- ;
-	    }
-	}
-
-	/* ------------------------------------------------------------------ */
-	/* make row k-1 of U in Pattern [0..deg-1] */
-	/* ------------------------------------------------------------------ */
-
-	if (k1-- > 0)
-	{
-	    prl = prl1 ;
-	}
-	else if (prl == 4)
-	{
-	    PRINTF (("    ...\n")) ;
-	    prl-- ;
-	}
-
-	if (k > 0)
-	{
-	    PRINTF4 (("\n    row "ID":  ", INDEX (k-1))) ;
-	}
-
-	if (newUchain)
-	{
-	    /* next row is a new Uchain */
-	    if (k > 0)
-	    {
-		deg = ulen ;
-		PRINTF4 (("length "ID".  End of Uchain.\n", deg)) ;
-		if (up + (Int) UNITS (Int, ulen) > Numeric->size)
-		{
-		    return (FALSE) ;
-		}
-		ip = (Int *) (Numeric->Memory + up) ;
-		for (j = 0 ; j < deg ; j++)
-		{
-		    Pattern [j] = *ip++ ;
-		}
-	    }
-	}
-	else
-	{
-	    if (ulen > 0)
-	    {
-		PRINTF4 (("remove "ID" entries.  ", ulen)) ;
-	    }
-	    deg -= ulen ;
-	    if (deg < 0)
-	    {
-		return (FALSE) ;
-	    }
-	    pos = Upos [k] ;
-	    if (pos != EMPTY)
-	    {
-		/* add the pivot column */
-		PRINTF4 (("add column "ID" at position "ID".  ",
-		    INDEX (k), INDEX (pos))) ;
-		if (pos < 0 || pos > deg)
-		{
-		    return (FALSE) ;
-		}
-		Pattern [deg++] = Pattern [pos] ;
-		Pattern [pos] = k ;
-	    }
-	    PRINTF4 (("length "ID".\n", deg)) ;
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* print the singleton rows of U */
-    /* ---------------------------------------------------------------------- */
-
-    for (k = n1 - 1 ; k >= 0 ; k--)
-    {
-	if (k1 > 0)
-	{
-	    prl = prl1 ;
-	}
-	up = Uip [k] ;
-	deg = Uilen [k] ;
-	Ui = (Int *) (Numeric->Memory + up) ;
-	up += UNITS (Int, deg) ;
-	Uval = (Entry *) (Numeric->Memory + up) ;
-	if (k1-- > 0)
-	{
-	    prl = prl1 ;
-	}
-	else if (prl == 4)
-	{
-	    PRINTF (("    ...\n")) ;
-	    prl-- ;
-	}
-	PRINTF4 (("\n    row "ID":", INDEX (k))) ;
-	PRINTF4 (("  length "ID".\n", deg)) ;
-	for (j = 0 ; j < deg ; j++)
-	{
-	    col = Ui [j] ;
-	    PRINTF4 (("\tcol "ID" : ", INDEX (col))) ;
-	    if (prl >= 4) PRINT_ENTRY (Uval [j]) ;
-	    if (col <= k || col >= n_col)
-	    {
-		return (FALSE) ;
-	    }
-	    PRINTF4 (("\n")) ;
-	    /* truncate printout, but continue to check U */
-	    if (prl == 4 && j == 9 && deg > 10)
-	    {
-		PRINTF (("\t...\n")) ;
-		prl-- ;
-	    }
-	}
-    }
-
-    prl = prl1 ;
-    PRINTF4 (("\n")) ;
-    return (TRUE) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umfpack_report_perm.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/* ========================================================================== */
-/* === UMFPACK_report_perm ================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    User-callable.  Prints a permutation vector.  See umfpack_report_perm.h
-    for details.
-
-    Dynamic memory usage:  Allocates a size max(np,1)*sizeof(Int) workspace via
-    a single call to UMF_malloc and then frees all of it via UMF_free on return.
-*/
-
-#include "umf_internal.h"
-#include "umf_report_perm.h"
-#include "umf_malloc.h"
-#include "umf_free.h"
-
-GLOBAL Int UMFPACK_report_perm
-(
-    Int np,
-    const Int Perm [ ],
-    const double Control [UMFPACK_CONTROL]
-)
-{
-    Int prl, *W, status ;
-
-    prl = GET_CONTROL (UMFPACK_PRL, UMFPACK_DEFAULT_PRL) ;
-
-    if (prl <= 2)
-    {
-	return (UMFPACK_OK) ;
-    }
-
-    W = (Int *) UMF_malloc (MAX (np,1), sizeof (Int)) ;
-    status = UMF_report_perm (np, Perm, W, prl, 1) ;
-    (void) UMF_free ((void *) W) ;
-    return (status) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umfpack_report_status.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +0,0 @@
-/* ========================================================================== */
-/* === UMFPACK_report_status ================================================ */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    User-callable.  Prints the return value from other UMFPACK_* routines.
-    See umfpack_report_status.h for details.
-*/
-
-#include "umf_internal.h"
-
-GLOBAL void UMFPACK_report_status
-(
-    const double Control [UMFPACK_CONTROL],
-    Int status
-)
-{
-    Int prl ;
-
-    /* ---------------------------------------------------------------------- */
-    /* get control settings and status to determine what to print */
-    /* ---------------------------------------------------------------------- */
-
-    prl = GET_CONTROL (UMFPACK_PRL, UMFPACK_DEFAULT_PRL) ;
-
-    if (prl < 1)
-    {
-	/* no output generated if prl is less than 1 */
-	return ;
-    }
-
-    if (status == UMFPACK_OK && prl <= 1)
-    {
-	/* no output generated if prl is 1 or less and no error occurred. */
-	/* note that the default printing level is 1. */
-	return ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* print umfpack license, copyright, version, and status condition */
-    /* ---------------------------------------------------------------------- */
-
-    PRINTF  (("\n")) ;
-    PRINTF4 (("%s\n", UMFPACK_COPYRIGHT)) ;
-    PRINTF6 (("%s", UMFPACK_LICENSE_PART1)) ;
-    PRINTF6 (("%s", UMFPACK_LICENSE_PART2)) ;
-    PRINTF6 (("%s", UMFPACK_LICENSE_PART3)) ;
-    PRINTF  (("%s: ", UMFPACK_VERSION)) ;
-
-    switch (status)
-    {
-	case UMFPACK_OK:
-	    PRINTF (("OK\n")) ;
-	    break ;
-
-	case UMFPACK_WARNING_singular_matrix:
-	    PRINTF (("WARNING: matrix is singular\n")) ;
-	    break ;
-
-	case UMFPACK_ERROR_out_of_memory:
-	    PRINTF (("ERROR: out of memory\n")) ;
-	    break ;
-
-	case UMFPACK_ERROR_invalid_Numeric_object:
-	    PRINTF (("ERROR: Numeric object is invalid\n")) ;
-	    break ;
-
-	case UMFPACK_ERROR_invalid_Symbolic_object:
-	    PRINTF (("ERROR: Symbolic object is invalid\n")) ;
-	    break ;
-
-	case UMFPACK_ERROR_argument_missing:
-	    PRINTF (("ERROR: required argument(s) missing\n")) ;
-	    break ;
-
-	case UMFPACK_ERROR_n_nonpositive:
-	    PRINTF (("ERROR: dimension (n_row or n_col) must be > 0\n")) ;
-	    break ;
-
-	case UMFPACK_ERROR_invalid_matrix:
-	    PRINTF (("ERROR: input matrix is invalid\n")) ;
-	    break ;
-
-	case UMFPACK_ERROR_invalid_system:
-	    PRINTF (("ERROR: system argument invalid\n")) ;
-	    break ;
-
-	case UMFPACK_ERROR_invalid_permutation:
-	    PRINTF (("ERROR: invalid permutation\n")) ;
-	    break ;
-
-	case UMFPACK_ERROR_different_pattern:
-	    PRINTF (("ERROR: pattern of matrix (Ap and/or Ai) has changed\n")) ;
-	    break ;
-
-	case UMFPACK_ERROR_internal_error:
-	    PRINTF (("INTERNAL ERROR!\n"
-	    "Input arguments might be corrupted or aliased, or an internal\n"
-	    "error has occurred.  Check your input arguments with the\n"
-	    "umfpack_*_report_* routines before calling the umfpack_*\n"
-	    "computational routines.  Recompile UMFPACK with debugging\n"
-	    "enabled, and look for failed assertions.  If all else fails\n"
-	    "please report this error to Tim Davis (davis@cise.ufl.edu).\n"
-	    )) ;
-	    break ;
-
-	default:
-	    PRINTF (("ERROR: Unrecognized error code: "ID"\n", status)) ;
-
-    }
-    PRINTF  (("\n")) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umfpack_report_symbolic.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,228 +0,0 @@
-/* ========================================================================== */
-/* === UMFPACK_report_symbolic ============================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    User-callable.  Prints the Symbolic object. See umfpack_report_symbolic.h
-    for details.  Does not print new Cdeg, Rdeg, Esize, and the Diagonal_map.
-
-    Dynamic memory usage:  Allocates a size MAX (n_row,n_col)*sizeof(Int)
-    workspace via a single call to UMF_malloc and then frees all of it via
-    UMF_free on return.  The workspace is not allocated if an early error
-    return occurs before the workspace is needed.
-*/
-
-#include "umf_internal.h"
-#include "umf_valid_symbolic.h"
-#include "umf_report_perm.h"
-#include "umf_malloc.h"
-#include "umf_free.h"
-
-GLOBAL Int UMFPACK_report_symbolic
-(
-    void *SymbolicHandle,
-    const double Control [UMFPACK_CONTROL]
-)
-{
-    Int n_row, n_col, nz, nchains, nfr, maxnrows, maxncols, prl,
-	k, chain, frontid, frontid1, frontid2, kk, *Chain_start, *W,
-	*Chain_maxrows, *Chain_maxcols, *Front_npivcol, *Front_1strow,
-	*Front_leftmostdesc, *Front_parent, done, status1, status2 ;
-    SymbolicType *Symbolic ;
-
-    prl = GET_CONTROL (UMFPACK_PRL, UMFPACK_DEFAULT_PRL) ;
-
-    if (prl <= 2)
-    {
-	return (UMFPACK_OK) ;
-    }
-
-    PRINTF (("Symbolic object: ")) ;
-
-    Symbolic = (SymbolicType *) SymbolicHandle ;
-    if (!UMF_valid_symbolic (Symbolic))
-    {
-	PRINTF (("ERROR: invalid\n")) ;
-	return (UMFPACK_ERROR_invalid_Symbolic_object) ;
-    }
-
-    n_row = Symbolic->n_row ;
-    n_col = Symbolic->n_col ;
-
-    nz = Symbolic->nz ;
-
-    nchains = Symbolic->nchains ;
-    nfr = Symbolic->nfr ;
-    maxnrows = Symbolic->maxnrows ;
-    maxncols = Symbolic->maxncols ;
-
-    Chain_start = Symbolic->Chain_start ;
-    Chain_maxrows = Symbolic->Chain_maxrows ;
-    Chain_maxcols = Symbolic->Chain_maxcols ;
-    Front_npivcol = Symbolic->Front_npivcol ;
-    Front_1strow = Symbolic->Front_1strow ;
-    Front_leftmostdesc = Symbolic->Front_leftmostdesc ;
-    Front_parent = Symbolic->Front_parent ;
-
-    if (prl >= 4)
-    {
-
-	PRINTF (("\n    matrix to be factorized:\n")) ;
-	PRINTF (("\tn_row: "ID" n_col: "ID"\n", n_row, n_col)) ;
-	PRINTF (("\tnumber of entries: "ID"\n", nz)) ;
-	PRINTF (("    block size used for dense matrix kernels:   "ID"\n",
-	Symbolic->nb)) ;
-
-	PRINTF (("    strategy used:                              ")) ;
-	/* strategy cannot be auto */
-	if (Symbolic->strategy == UMFPACK_STRATEGY_SYMMETRIC)
-	{
-	    PRINTF (("symmetric")) ;
-	}
-	else if (Symbolic->strategy == UMFPACK_STRATEGY_UNSYMMETRIC)
-	{
-	    PRINTF (("unsymmetric")) ;
-	}
-	else if (Symbolic->strategy == UMFPACK_STRATEGY_2BY2)
-	{
-	    PRINTF (("symmetric 2-by-2")) ;
-	}
-	PRINTF (("\n")) ;
-
-	PRINTF (("    ordering used:                              ")) ;
-	if (Symbolic->ordering == UMFPACK_ORDERING_COLAMD)
-	{
-	    PRINTF (("colamd on A\n")) ;
-	}
-	else if (Symbolic->ordering == UMFPACK_ORDERING_AMD)
-	{
-	    PRINTF (("amd on A+A'\n")) ;
-	}
-	else if (Symbolic->ordering == UMFPACK_ORDERING_GIVEN)
-	{
-	    PRINTF (("provided by user")) ;
-	}
-	PRINTF (("\n")) ;
-
-	PRINTF (("    performn column etree postorder:            ")) ;
-	if (Symbolic->fixQ)
-	{
-	    PRINTF (("no\n")) ;
-	}
-	else
-	{
-	    PRINTF (("yes\n")) ;
-	}
-
-	PRINTF (("    prefer diagonal pivoting (attempt P=Q):     ")) ;
-	if (Symbolic->prefer_diagonal)
-	{
-	    PRINTF (("yes\n")) ;
-	}
-	else
-	{
-	    PRINTF (("no\n")) ;
-	}
-
-	PRINTF (("    variable-size part of Numeric object:\n")) ;
-	PRINTF (("\tminimum initial size (Units): %.20g  (MBytes): %.1f\n",
-	    Symbolic->dnum_mem_init_usage,
-	    MBYTES (Symbolic->dnum_mem_init_usage))) ;
-	PRINTF (("\testimated peak size (Units):  %.20g  (MBytes): %.1f\n",
-	    Symbolic->num_mem_usage_est,
-	    MBYTES (Symbolic->num_mem_usage_est))) ;
-	PRINTF (("\testimated final size (Units): %.20g  (MBytes): %.1f\n",
-	    Symbolic->num_mem_size_est,
-	    MBYTES (Symbolic->num_mem_size_est))) ;
-	PRINTF (("    symbolic factorization memory usage (Units):"
-	    " %.20g  (MBytes): %.1f\n",
-	    Symbolic->peak_sym_usage,
-	    MBYTES (Symbolic->peak_sym_usage))) ;
-	PRINTF (("    frontal matrices / supercolumns:\n")) ;
-	PRINTF (("\tnumber of frontal chains: "ID"\n", nchains)) ;
-	PRINTF (("\tnumber of frontal matrices: "ID"\n", nfr)) ;
-	PRINTF (("\tlargest frontal matrix row dimension: "ID"\n", maxnrows)) ;
-	PRINTF (("\tlargest frontal matrix column dimension: "ID"\n",maxncols));
-    }
-
-    k = 0 ;
-    done = FALSE ;
-
-    for (chain = 0 ; chain < nchains ; chain++)
-    {
-	frontid1 = Chain_start [chain] ;
-	frontid2 = Chain_start [chain+1] - 1 ;
-	PRINTF4 (("\n    Frontal chain: "ID".  Frontal matrices "ID" to "ID"\n",
-	    INDEX (chain), INDEX (frontid1), INDEX (frontid2))) ;
-	PRINTF4 (("\tLargest frontal matrix in Frontal chain: "ID"-by-"ID"\n",
-	    Chain_maxrows [chain], Chain_maxcols [chain])) ;
-	for (frontid = frontid1 ; frontid <= frontid2 ; frontid++)
-	{
-	    kk = Front_npivcol [frontid] ;
-	    PRINTF4 (("\tFront: "ID"  pivot cols: "ID" (pivot columns "ID" to "
-		ID")\n", INDEX (frontid), kk, INDEX (k), INDEX (k+kk-1))) ;
-	    PRINTF4 (("\t    pivot row candidates: "ID" to "ID"\n",
-		INDEX (Front_1strow [Front_leftmostdesc [frontid]]),
-		INDEX (Front_1strow [frontid+1]-1))) ;
-	    PRINTF4 (("\t    leftmost descendant: "ID"\n",
-		INDEX (Front_leftmostdesc [frontid]))) ;
-	    PRINTF4 (("\t    1st new candidate row : "ID"\n",
-		INDEX (Front_1strow [frontid]))) ;
-	    PRINTF4 (("\t    parent:")) ;
-	    if (Front_parent [frontid] == EMPTY)
-	    {
-		PRINTF4 ((" (none)\n")) ;
-	    }
-	    else
-	    {
-		PRINTF4 ((" "ID"\n", INDEX (Front_parent [frontid]))) ;
-	    }
-	    done = (frontid == 20 && frontid < nfr-1 && prl == 4) ;
-	    if (done)
-	    {
-		PRINTF4 (("\t...\n")) ;
-		break ;
-	    }
-	    k += kk ;
-	}
-	if (Front_npivcol [nfr] != 0)
-	{
-	    PRINTF4 (("\tFront: "ID" placeholder for "ID" empty columns\n",
-		INDEX (nfr), Front_npivcol [nfr])) ;
-	}
-	if (done)
-	{
-	    break ;
-	}
-    }
-
-    W = (Int *) UMF_malloc (MAX (n_row, n_col), sizeof (Int)) ;
-    if (!W)
-    {
-	PRINTF (("ERROR: out of memory to check Symbolic object\n\n")) ;
-	return (UMFPACK_ERROR_out_of_memory) ;
-    }
-
-    PRINTF4 (("\nInitial column permutation, Q1: ")) ;
-    status1 = UMF_report_perm (n_col, Symbolic->Cperm_init, W, prl, 0) ;
-
-    PRINTF4 (("\nInitial row permutation, P1: ")) ;
-    status2 = UMF_report_perm (n_row, Symbolic->Rperm_init, W, prl, 0) ;
-
-    (void) UMF_free ((void *) W) ;
-
-    if (status1 != UMFPACK_OK || status2 != UMFPACK_OK)
-    {
-	return (UMFPACK_ERROR_invalid_Symbolic_object) ;
-    }
-
-    PRINTF4 (("    Symbolic object:  ")) ;
-    PRINTF (("OK\n\n")) ;
-    return (UMFPACK_OK) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umfpack_report_triplet.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/* ========================================================================== */
-/* === UMFPACK_report_triplet =============================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    User-callable.  Prints a matrix in triplet form.  See
-    umfpack_report_triplet.h for details.
-*/
-
-#include "umf_internal.h"
-
-GLOBAL Int UMFPACK_report_triplet
-(
-    Int n_row,
-    Int n_col,
-    Int nz,
-    const Int Ti [ ],
-    const Int Tj [ ],
-    const double Tx [ ],
-#ifdef COMPLEX
-    const double Tz [ ],
-#endif
-    const double Control [UMFPACK_CONTROL]
-)
-{
-    Entry t ;
-    Int prl, prl1, k, i, j, do_values ;
-#ifdef COMPLEX
-    Int split = SPLIT (Tz) ;
-#endif
-
-    prl = GET_CONTROL (UMFPACK_PRL, UMFPACK_DEFAULT_PRL) ;
-
-    if (prl <= 2)
-    {
-	return (UMFPACK_OK) ;
-    }
-
-    PRINTF (("triplet-form matrix, n_row = "ID", n_col = "ID" nz = "ID". ",
-	n_row, n_col, nz)) ;
-
-    if (!Ti || !Tj)
-    {
-	PRINTF (("ERROR: indices not present\n\n")) ;
-	return (UMFPACK_ERROR_argument_missing) ;
-    }
-
-    if (n_row <= 0 || n_col <= 0)
-    {
-	PRINTF (("ERROR: n_row or n_col is <= 0\n\n")) ;
-	return (UMFPACK_ERROR_n_nonpositive) ;
-    }
-
-    if (nz < 0)
-    {
-	PRINTF (("ERROR: nz is < 0\n\n")) ;
-	return (UMFPACK_ERROR_invalid_matrix) ;
-    }
-
-    PRINTF4 (("\n")) ;
-
-    do_values = Tx != (double *) NULL ;
-
-    prl1 = prl ;
-    for (k = 0 ; k < nz ; k++)
-    {
-	i = Ti [k] ;
-	j = Tj [k] ;
-	PRINTF4 (("    "ID" : "ID" "ID" ", INDEX (k), INDEX (i), INDEX (j))) ;
-	if (do_values && prl >= 4)
-	{
-	    ASSIGN (t, Tx, Tz, k, split) ;
-	    PRINT_ENTRY (t) ;
-	}
-	PRINTF4 (("\n")) ;
-	if (i < 0 || i >= n_row || j < 0 || j >= n_col)
-	{
-	    /* invalid triplet */
-	    PRINTF (("ERROR: invalid triplet\n\n")) ;
-	    return (UMFPACK_ERROR_invalid_matrix) ;
-	}
-	if (prl == 4 && k == 9 && nz > 10)
-	{
-	    PRINTF (("    ...\n")) ;
-	    prl-- ;
-	}
-    }
-    prl = prl1 ;
-
-    PRINTF4 (("    triplet-form matrix ")) ;
-    PRINTF (("OK\n\n")) ;
-    return (UMFPACK_OK) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umfpack_report_vector.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,43 +0,0 @@
-/* ========================================================================== */
-/* === UMFPACK_report_vector ================================================ */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    User-callable.  Prints a real or complex vector.
-    See umfpack_report_vector.h for details.
-*/
-
-#include "umf_internal.h"
-#include "umf_report_vector.h"
-
-GLOBAL Int UMFPACK_report_vector
-(
-    Int n,
-    const double Xx [ ],
-#ifdef COMPLEX
-    const double Xz [ ],
-#endif
-    const double Control [UMFPACK_CONTROL]
-)
-{
-    Int prl ;
-
-#ifndef COMPLEX
-    double *Xz = (double *) NULL ;
-#endif
-
-    prl = GET_CONTROL (UMFPACK_PRL, UMFPACK_DEFAULT_PRL) ;
-
-    if (prl <= 2)
-    {
-	return (UMFPACK_OK) ;
-    }
-
-    return (UMF_report_vector (n, Xx, Xz, prl, TRUE, FALSE)) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umfpack_save_numeric.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-/* ========================================================================== */
-/* === UMFPACK_save_numeric ================================================= */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    User-callable.  Saves a Numeric object to a file.  It can later be read back
-    in via a call to umfpack_*_load_numeric.
-*/
-
-#include "umf_internal.h"
-#include "umf_valid_numeric.h"
-
-#define WRITE(object,type,n) \
-{ \
-    ASSERT (object != (type *) NULL) ; \
-    if (fwrite (object, sizeof (type), n, f) != n) \
-    { \
-	fclose (f) ; \
-	return (UMFPACK_ERROR_file_IO) ; \
-    } \
-}
-
-/* ========================================================================== */
-/* === UMFPACK_save_numeric ================================================= */
-/* ========================================================================== */
-
-GLOBAL Int UMFPACK_save_numeric
-(
-    void *NumericHandle,
-    char *user_filename
-)
-{
-    NumericType *Numeric ;
-    char *filename ;
-    FILE *f ;
-
-    /* get the Numeric object */
-    Numeric = (NumericType *) NumericHandle ;
-
-    /* make sure the Numeric object is valid */
-    if (!UMF_valid_numeric (Numeric))
-    {
-	return (UMFPACK_ERROR_invalid_Numeric_object) ;
-    }
-
-    /* get the filename, or use the default name if filename is NULL */
-    if (user_filename == (char *) NULL)
-    {
-	filename = "numeric.umf" ;
-    }
-    else
-    {
-	filename = user_filename ;
-    }
-    f = fopen (filename, "wb") ;
-    if (!f)
-    {
-	return (UMFPACK_ERROR_file_IO) ;
-    }
-
-    /* write the Numeric object to the file, in binary */
-    WRITE (Numeric,        NumericType, 1) ;
-    WRITE (Numeric->D,     Entry, MIN (Numeric->n_row, Numeric->n_col)+1) ;
-    WRITE (Numeric->Rperm, Int,   Numeric->n_row+1) ;
-    WRITE (Numeric->Cperm, Int,   Numeric->n_col+1) ;
-    WRITE (Numeric->Lpos,  Int,   Numeric->npiv+1) ;
-    WRITE (Numeric->Lilen, Int,   Numeric->npiv+1) ;
-    WRITE (Numeric->Lip,   Int,   Numeric->npiv+1) ;
-    WRITE (Numeric->Upos,  Int,   Numeric->npiv+1) ;
-    WRITE (Numeric->Uilen, Int,   Numeric->npiv+1) ;
-    WRITE (Numeric->Uip,   Int,   Numeric->npiv+1) ;
-    if (Numeric->scale != UMFPACK_SCALE_NONE)
-    {
-	WRITE (Numeric->Rs, double, Numeric->n_row) ;
-    }
-    if (Numeric->ulen > 0)
-    {
-	WRITE (Numeric->Upattern, Int, Numeric->ulen+1) ;
-    }
-    WRITE (Numeric->Memory, Unit, Numeric->size) ;
-
-    /* close the file */
-    fclose (f) ;
-
-    return (UMFPACK_OK) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umfpack_save_symbolic.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/* ========================================================================== */
-/* === UMFPACK_save_symbolic ================================================ */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    User-callable.  Saves a Symbolic object to a file.  It can later be read
-    back in via a call to umfpack_*_load_symbolic.
-*/
-
-#include "umf_internal.h"
-#include "umf_valid_symbolic.h"
-
-#define WRITE(object,type,n) \
-{ \
-    ASSERT (object != (type *) NULL) ; \
-    if (fwrite (object, sizeof (type), n, f) != n) \
-    { \
-	fclose (f) ; \
-	return (UMFPACK_ERROR_file_IO) ; \
-    } \
-}
-
-/* ========================================================================== */
-/* === UMFPACK_save_symbolic ================================================ */
-/* ========================================================================== */
-
-GLOBAL Int UMFPACK_save_symbolic
-(
-    void *SymbolicHandle,
-    char *user_filename
-)
-{
-    SymbolicType *Symbolic ;
-    char *filename ;
-    FILE *f ;
-
-    /* get the Symbolic object */
-    Symbolic = (SymbolicType *) SymbolicHandle ;
-
-    /* make sure the Symbolic object is valid */
-    if (!UMF_valid_symbolic (Symbolic))
-    {
-	return (UMFPACK_ERROR_invalid_Symbolic_object) ;
-    }
-
-    /* get the filename, or use the default name if filename is NULL */
-    if (user_filename == (char *) NULL)
-    {
-	filename = "symbolic.umf" ;
-    }
-    else
-    {
-	filename = user_filename ;
-    }
-    f = fopen (filename, "wb") ;
-    if (!f)
-    {
-	return (UMFPACK_ERROR_file_IO) ;
-    }
-
-    /* write the Symbolic object to the file, in binary */
-    WRITE (Symbolic,                     SymbolicType, 1) ;
-    WRITE (Symbolic->Cperm_init,         Int, Symbolic->n_col+1) ;
-    WRITE (Symbolic->Rperm_init,         Int, Symbolic->n_row+1) ;
-    WRITE (Symbolic->Front_npivcol,      Int, Symbolic->nfr+1) ;
-    WRITE (Symbolic->Front_parent,       Int, Symbolic->nfr+1) ;
-    WRITE (Symbolic->Front_1strow,       Int, Symbolic->nfr+1) ;
-    WRITE (Symbolic->Front_leftmostdesc, Int, Symbolic->nfr+1) ;
-    WRITE (Symbolic->Chain_start,        Int, Symbolic->nchains+1) ;
-    WRITE (Symbolic->Chain_maxrows,      Int, Symbolic->nchains+1) ;
-    WRITE (Symbolic->Chain_maxcols,      Int, Symbolic->nchains+1) ;
-    WRITE (Symbolic->Cdeg,               Int, Symbolic->n_col+1) ;
-    WRITE (Symbolic->Rdeg,               Int, Symbolic->n_row+1) ;
-    if (Symbolic->esize > 0)
-    {
-	/* only when dense rows are present */
-	WRITE (Symbolic->Esize, Int, Symbolic->esize) ;
-    }
-    if (Symbolic->prefer_diagonal)
-    {
-	/* only when diagonal pivoting is prefered */
-	WRITE (Symbolic->Diagonal_map, Int, Symbolic->n_col+1) ;
-    }
-
-    /* close the file */
-    fclose (f) ;
-
-    return (UMFPACK_OK) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umfpack_scale.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +0,0 @@
-/* ========================================================================== */
-/* === UMFPACK_scale ======================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    User-callable.  Applies the scale factors computed during numerical
-    factorization to a vector. See umfpack_scale.h for more details.
-
-    The LU factorization is L*U = P*R*A*Q, where P and Q are permutation
-    matrices, and R is diagonal.  This routine computes X = R * B using the
-    matrix R stored in the Numeric object.
-
-    Returns FALSE if any argument is invalid, TRUE otherwise.
-
-    If R not present in the Numeric object, then R = I and no floating-point
-    work is done.  B is simply copied into X.
-*/
-
-#include "umf_internal.h"
-#include "umf_valid_numeric.h"
-
-GLOBAL Int UMFPACK_scale
-(
-    double Xx [ ],
-#ifdef COMPLEX
-    double Xz [ ],
-#endif
-    const double Bx [ ],
-#ifdef COMPLEX
-    const double Bz [ ],
-#endif
-    void *NumericHandle
-)
-{
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    NumericType *Numeric ;
-    Int n, i ;
-    double *Rs ;
-#ifdef COMPLEX
-    Int split = SPLIT (Xz) && SPLIT (Bz) ;
-#endif
-
-    Numeric = (NumericType *) NumericHandle ;
-    if (!UMF_valid_numeric (Numeric))
-    {
-	return (UMFPACK_ERROR_invalid_Numeric_object) ;
-    }
-
-    n = Numeric->n_row ;
-    Rs = Numeric->Rs ;
-
-    if (!Xx || !Bx)
-    {
-	return (UMFPACK_ERROR_argument_missing) ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* X = R*B or R\B */
-    /* ---------------------------------------------------------------------- */
-
-    if (Rs != (double *) NULL)
-    {
-#ifndef NRECIPROCAL
-	if (Numeric->do_recip)
-	{
-	    /* multiply by the scale factors */
-#ifdef COMPLEX
-	    if (split)
-	    {
-		for (i = 0 ; i < n ; i++)
-		{
-		    Xx [i] = Bx [i] * Rs [i] ;
-		    Xz [i] = Bz [i] * Rs [i] ;
-		}
-	    }
-	    else
-	    {
-		for (i = 0 ; i < n ; i++)
-		{
-		    Xx [2*i  ] = Bx [2*i  ] * Rs [i] ;
-		    Xx [2*i+1] = Bx [2*i+1] * Rs [i] ;
-		}
-	    }
-#else
-	    for (i = 0 ; i < n ; i++)
-	    {
-		Xx [i] = Bx [i] * Rs [i] ;
-	    }
-#endif
-	}
-	else
-#endif
-	{
-	    /* divide by the scale factors */
-#ifdef COMPLEX
-	    if (split)
-	    {
-		for (i = 0 ; i < n ; i++)
-		{
-		    Xx [i] = Bx [i] / Rs [i] ;
-		    Xz [i] = Bz [i] / Rs [i] ;
-		}
-	    }
-	    else
-	    {
-		for (i = 0 ; i < n ; i++)
-		{
-		    Xx [2*i  ] = Bx [2*i  ] / Rs [i] ;
-		    Xx [2*i+1] = Bx [2*i+1] / Rs [i] ;
-		}
-	    }
-#else
-	    for (i = 0 ; i < n ; i++)
-	    {
-		Xx [i] = Bx [i] / Rs [i] ;
-	    }
-#endif
-	}
-    }
-    else
-    {
-	/* no scale factors, just copy B into X */
-#ifdef COMPLEX
-        if (split)
-	{
-	    for (i = 0 ; i < n ; i++)
-	    {
-		Xx [i] = Bx [i] ;
-		Xz [i] = Bz [i] ;
-	    }
-	}
-	else
-	{
-	    for (i = 0 ; i < n ; i++)
-	    {
-		Xx [2*i  ] = Bx [2*i  ] ;
-		Xx [2*i+1] = Bx [2*i+1] ;
-	    }
-	}
-#else
-	for (i = 0 ; i < n ; i++)
-	{
-	    Xx [i] = Bx [i] ;
-	}
-#endif
-    }
-
-    return (UMFPACK_OK) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umfpack_solve.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,245 +0,0 @@
-/* ========================================================================== */
-/* === UMFPACK_solve ======================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    User-callable.  Solves a linear system using the numerical factorization
-    computed by UMFPACK_numeric.  See umfpack_solve.h for more details.
-
-    For umfpack_*_solve:
-	Dynamic memory usage:  UMFPACK_solve calls UMF_malloc twice, for
-	workspace of size c*n*sizeof(double) + n*sizeof(Int), where c is
-	defined below.  On return, all of this workspace is free'd via UMF_free.
-
-    For umfpack_*_wsolve:
-	No dynamic memory usage.  Input arrays are used for workspace instead.
-	Pattern is a workspace of size n Integers.  The double array W must be
-	at least of size c*n, where c is defined below.
-
-    If iterative refinement is requested, and Ax=b, A'x=b or A.'x=b is being
-    solved, and the matrix A is not singular, then c is 5 for the real version
-    and 10 for the complex version.  Otherwise, c is 1 for the real version and
-    4 for the complex version.
-*/
-
-#include "umf_internal.h"
-#include "umf_valid_numeric.h"
-#include "umf_solve.h"
-
-#ifndef WSOLVE
-#include "umf_malloc.h"
-#include "umf_free.h"
-#ifndef NDEBUG
-PRIVATE Int init_count ;
-#endif
-#endif
-
-GLOBAL Int
-#ifdef WSOLVE
-UMFPACK_wsolve
-#else
-UMFPACK_solve
-#endif
-(
-    Int sys,
-    const Int Ap [ ],
-    const Int Ai [ ],
-    const double Ax [ ],
-#ifdef COMPLEX
-    const double Az [ ],
-#endif
-    double Xx [ ],
-#ifdef COMPLEX
-    double Xz [ ],
-#endif
-    const double Bx [ ],
-#ifdef COMPLEX
-    const double Bz [ ],
-#endif
-    void *NumericHandle,
-    const double Control [UMFPACK_CONTROL],
-    double User_Info [UMFPACK_INFO]
-#ifdef WSOLVE
-    , Int Pattern [ ],
-    double W [ ]
-#endif
-)
-{
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    double Info2 [UMFPACK_INFO], stats [2] ;
-    double *Info ;
-    NumericType *Numeric ;
-    Int n, i, irstep, status ;
-#ifndef WSOLVE
-    Int *Pattern, wsize ;
-    double *W ;
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* get the amount of time used by the process so far */
-    /* ---------------------------------------------------------------------- */
-
-    umfpack_tic (stats) ;
-
-#ifndef WSOLVE
-#ifndef NDEBUG
-    init_count = UMF_malloc_count ;
-#endif
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* get parameters */
-    /* ---------------------------------------------------------------------- */
-
-    irstep = GET_CONTROL (UMFPACK_IRSTEP, UMFPACK_DEFAULT_IRSTEP) ;
-
-    if (User_Info != (double *) NULL)
-    {
-	/* return Info in user's array */
-	Info = User_Info ;
-	/* clear the parts of Info that are set by UMFPACK_solve */
-	for (i = UMFPACK_IR_TAKEN ; i <= UMFPACK_SOLVE_TIME ; i++)
-	{
-	    Info [i] = EMPTY ;
-	}
-    }
-    else
-    {
-	/* no Info array passed - use local one instead */
-	Info = Info2 ;
-	for (i = 0 ; i < UMFPACK_INFO ; i++)
-	{
-	    Info [i] = EMPTY ;
-	}
-    }
-
-    Info [UMFPACK_STATUS] = UMFPACK_OK ;
-    Info [UMFPACK_SOLVE_FLOPS] = 0 ;
-
-    Numeric = (NumericType *) NumericHandle ;
-    if (!UMF_valid_numeric (Numeric))
-    {
-	Info [UMFPACK_STATUS] = UMFPACK_ERROR_invalid_Numeric_object ;
-	return (UMFPACK_ERROR_invalid_Numeric_object) ;
-    }
-
-    Info [UMFPACK_NROW] = Numeric->n_row ;
-    Info [UMFPACK_NCOL] = Numeric->n_col ;
-
-    if (Numeric->n_row != Numeric->n_col)
-    {
-	/* only square systems can be handled */
-	Info [UMFPACK_STATUS] = UMFPACK_ERROR_invalid_system ;
-	return (UMFPACK_ERROR_invalid_system) ;
-    }
-    n = Numeric->n_row ;
-    if (Numeric->nnzpiv < n
-	|| SCALAR_IS_ZERO (Numeric->rcond) || SCALAR_IS_NAN (Numeric->rcond))
-    {
-	/* turn off iterative refinement if A is singular */
-	/* or if U has NaN's on the diagonal. */
-	irstep = 0 ;
-    }
-
-    if (!Xx || !Bx)
-    {
-	Info [UMFPACK_STATUS] = UMFPACK_ERROR_argument_missing ;
-	return (UMFPACK_ERROR_argument_missing) ;
-    }
-
-    if (sys >= UMFPACK_Pt_L)
-    {
-	/* no iterative refinement except for nonsingular Ax=b, A'x=b, A.'x=b */
-	irstep = 0 ;
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* allocate or check the workspace */
-    /* ---------------------------------------------------------------------- */
-
-#ifdef WSOLVE
-
-    if (!W || !Pattern)
-    {
-	Info [UMFPACK_STATUS] = UMFPACK_ERROR_argument_missing ;
-	return (UMFPACK_ERROR_argument_missing) ;
-    }
-
-#else
-
-#ifdef COMPLEX
-    if (irstep > 0)
-    {
-	wsize = 10*n ;		/* W, X, Z, S, Y, B2 */
-    }
-    else
-    {
-	wsize = 4*n ;		/* W, X */
-    }
-#else
-    if (irstep > 0)
-    {
-	wsize = 5*n ;		/* W, Z, S, Y, B2 */
-    }
-    else
-    {
-	wsize = n ;		/* W */
-    }
-#endif
-
-    Pattern = (Int *) UMF_malloc (n, sizeof (Int)) ;
-    W = (double *) UMF_malloc (wsize, sizeof (double)) ;
-    if (!W || !Pattern)
-    {
-	DEBUGm4 (("out of memory: solve work\n")) ;
-	Info [UMFPACK_STATUS] = UMFPACK_ERROR_out_of_memory ;
-	(void) UMF_free ((void *) W) ;
-	(void) UMF_free ((void *) Pattern) ;
-	return (UMFPACK_ERROR_out_of_memory) ;
-    }
-
-#endif	/* WSOLVE */
-
-    /* ---------------------------------------------------------------------- */
-    /* solve the system */
-    /* ---------------------------------------------------------------------- */
-
-    status = UMF_solve (sys, Ap, Ai, Ax, Xx, Bx,
-#ifdef COMPLEX
-	Az, Xz, Bz,
-#endif
-	Numeric, irstep, Info, Pattern, W) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* free the workspace (if allocated) */
-    /* ---------------------------------------------------------------------- */
-
-#ifndef WSOLVE
-    (void) UMF_free ((void *) W) ;
-    (void) UMF_free ((void *) Pattern) ;
-    ASSERT (UMF_malloc_count == init_count) ;
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* get the time used by UMFPACK_*solve */
-    /* ---------------------------------------------------------------------- */
-
-    Info [UMFPACK_STATUS] = status ;
-    if (status >= 0)
-    {
-	umfpack_toc (stats) ;
-	Info [UMFPACK_SOLVE_WALLTIME] = stats [0] ;
-	Info [UMFPACK_SOLVE_TIME] = stats [1] ;
-    }
-
-    return (status) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umfpack_symbolic.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/* ========================================================================== */
-/* === UMFPACK_symbolic ===================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    User-callable.  Performs a symbolic factorization.
-    See umfpack_symbolic.h for details.
-*/
-
-#include "umf_internal.h"
-
-GLOBAL Int UMFPACK_symbolic
-(
-    Int n_row,
-    Int n_col,
-    const Int Ap [ ],
-    const Int Ai [ ],
-    const double Ax [ ],
-#ifdef COMPLEX
-    const double Az [ ],
-#endif
-    void **SymbolicHandle,
-    const double Control [UMFPACK_CONTROL],
-    double Info [UMFPACK_INFO]
-)
-{
-    Int *Qinit = (Int *) NULL ;
-    return (UMFPACK_qsymbolic (n_row, n_col, Ap, Ai, Ax,
-#ifdef COMPLEX
-	Az,
-#endif
-	Qinit, SymbolicHandle, Control, Info)) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umfpack_tictoc.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_tictoc ======================================================= */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    User-callable.  Returns the time in seconds used by the process, and
-    the current wall clock time.  BE CAREFUL:  if you compare the run time of
-    UMFPACK with other sparse matrix packages, be sure to use the same timer.
-    See umfpack_tictoc.h for details.
-
-    These routines conform to the POSIX standard.  See umf_config.h for
-    more details.
-*/
-
-#include "umf_internal.h"
-
-#ifdef NO_TIMER
-
-/* -------------------------------------------------------------------------- */
-/* no timer used if -DNO_TIMER is defined at compile time */
-/* -------------------------------------------------------------------------- */
-
-void umfpack_tic (double stats [2])
-{
-    stats [0] = 0 ;
-    stats [1] = 0 ;
-}
-
-void umfpack_toc (double stats [2])
-{
-    stats [0] = 0 ;
-    stats [1] = 0 ;
-}
-
-#else
-
-/* -------------------------------------------------------------------------- */
-/* timer routines, using either times() or clock() */
-/* -------------------------------------------------------------------------- */
-
-#define TINY_TIME 1e-4
-
-#ifndef NPOSIX
-
-#include <unistd.h>
-#include <sys/times.h>
-
-void umfpack_tic (double stats [2])
-{
-    /* Return the current time */
-    /* stats [0]: current wallclock time, in seconds */
-    /* stats [1]: user + system time for the process, in seconds */
-
-    double ticks ;
-    struct tms t ;
-
-    ticks = (double) sysconf (_SC_CLK_TCK) ;
-    stats [0] = (double) times (&t) / ticks ;
-    stats [1] = (double) (t.tms_utime + t.tms_stime) / ticks ;
-
-    /* if time is tiny, just return zero */
-    if (stats [0] < TINY_TIME) stats [0] = 0 ;
-    if (stats [1] < TINY_TIME) stats [1] = 0 ;
-}
-
-#else
-
-/* Generic ANSI C: use the ANSI clock function.  No wallclock time. */
-
-#include <time.h>
-
-void umfpack_tic (double stats [2])
-{
-    stats [0] = 0 ;
-    stats [1] = ((double) (clock ( ))) / ((double) (CLOCKS_PER_SEC)) ;
-    if (stats [1] < TINY_TIME) stats [1] = 0 ;
-}
-
-#endif
-
-/* -------------------------------------------------------------------------- */
-
-void umfpack_toc (double stats [2])
-{
-    /* Return the current time since the last call to umfpack_tic. */
-    /* On input, stats holds the values returned by umfpack_tic. */
-    /* On ouput, stats holds the time since the last umfpack_tic. */
-
-    double done [2] ;
-    umfpack_tic (done) ;
-
-    stats [0] = done [0] - stats [0] ;
-    stats [1] = done [1] - stats [1] ;
-
-    if (stats [0] < 0) stats [0] = 0 ;
-    if (stats [1] < 0) stats [1] = 0 ;
-
-}
-
-#endif
--- a/liboctave/UMFPACK/UMFPACK/Source/umfpack_timer.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-/* ========================================================================== */
-/* === umfpack_timer ======================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    User-callable.  Returns the time in seconds used by the process.  BE
-    CAREFUL:  if you compare the run time of UMFPACK with other sparse matrix
-    packages, be sure to use the same timer.  See umfpack_timer.h for details.
-    See umfpack_tictoc.h, which is the timer used internally by UMFPACK.
-*/
-
-#ifdef NO_TIMER
-
-/* -------------------------------------------------------------------------- */
-/* no timer used if -DNO_TIMER is defined at compile time */
-/* -------------------------------------------------------------------------- */
-
-double umfpack_timer ( void )
-{
-    return (0) ;
-}
-
-#else
-
-#ifdef GETRUSAGE
-
-/* -------------------------------------------------------------------------- */
-/* use getrusage for accurate process times (and no overflow) */
-/* -------------------------------------------------------------------------- */
-
-/*
-    This works under Solaris, SGI Irix, Linux, IBM RS 6000 (AIX), and Compaq
-    Alpha.  It might work on other Unix systems, too.  Includes both the "user
-    time" and the "system time".  The system time is the time spent by the
-    operating system on behalf of the process, and thus should be charged to
-    the process.
-*/
-
-#include <sys/time.h>
-#include <sys/resource.h>
-
-double umfpack_timer ( void )
-{
-    struct rusage ru ;
-    double user_time, sys_time ;
-
-    (void) getrusage (RUSAGE_SELF, &ru) ;
-
-    user_time =
-    ru.ru_utime.tv_sec			/* user time (seconds) */
-    + 1e-6 * ru.ru_utime.tv_usec ;	/* user time (microseconds) */
-
-    sys_time =
-    ru.ru_stime.tv_sec			/* system time (seconds) */
-    + 1e-6 * ru.ru_stime.tv_usec ;	/* system time (microseconds) */
-
-    return (user_time + sys_time) ;
-}
-
-#else
-
-/* -------------------------------------------------------------------------- */
-/* Generic ANSI C: use the ANSI clock function */
-/* -------------------------------------------------------------------------- */
-
-/* This is portable, but may overflow.  On Sun Solaris, when compiling in */
-/* 32-bit mode, the overflow occurs in only 2147 seconds (about 36 minutes). */
-
-#include <time.h>
-
-double umfpack_timer ( void )
-{
-    return (((double) (clock ( ))) / ((double) (CLOCKS_PER_SEC))) ;
-}
-
-#endif
-#endif
--- a/liboctave/UMFPACK/UMFPACK/Source/umfpack_transpose.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-/* ========================================================================== */
-/* === UMFPACK_transpose ==================================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    User callable.  Computes a permuted transpose, R = (A (P,Q))' in MATLAB
-    notation.  See umfpack_transpose.h for details.  A and R can be rectangular.
-    The matrix A may be singular.
-    The complex version can do transpose (') or array transpose (.').
-
-    Dynamic memory usage: A single call to UMF_malloc is made, for a workspace
-    of size max (n_row,n_col,1) * sizeof(Int).  This is then free'd on return,
-    via UMF_free.
-*/
-
-#include "umf_internal.h"
-#include "umf_transpose.h"
-#include "umf_malloc.h"
-#include "umf_free.h"
-
-#ifndef NDEBUG
-PRIVATE Int init_count ;
-#endif
-
-/* ========================================================================== */
-
-GLOBAL Int UMFPACK_transpose
-(
-    Int n_row,
-    Int n_col,
-    const Int Ap [ ],	/* size n_col+1 */
-    const Int Ai [ ],	/* size nz = Ap [n_col] */
-    const double Ax [ ], /* size nz, if present */
-#ifdef COMPLEX
-    const double Az [ ], /* size nz, if present */
-#endif
-
-    const Int P [ ],	/* P [k] = i means original row i is kth row in A(P,Q)*/
-			/* P is identity if not present */
-			/* size n_row, if present */
-
-    const Int Q [ ],	/* Q [k] = j means original col j is kth col in A(P,Q)*/
-			/* Q is identity if not present */
-			/* size n_col, if present */
-
-    Int Rp [ ],		/* size n_row+1 */
-    Int Ri [ ],		/* size nz */
-    double Rx [ ]	/* size nz, if present */
-#ifdef COMPLEX
-    , double Rz [ ]	/* size nz, if present */
-    , Int do_conjugate	/* if true, then to conjugate transpose */
-			/* otherwise, do array transpose */
-#endif
-)
-{
-
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    Int status, *W, nn ;
-
-#ifndef NDEBUG
-    init_count = UMF_malloc_count ;
-    UMF_dump_start ( ) ;
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* allocate workspace */
-    /* ---------------------------------------------------------------------- */
-
-    nn = MAX (n_row, n_col) ;
-    nn = MAX (nn, 1) ;
-    W = (Int *) UMF_malloc (nn, sizeof (Int)) ;
-    if (!W)
-    {
-	DEBUGm4 (("out of memory: transpose work\n")) ;
-	ASSERT (UMF_malloc_count == init_count) ;
-	return (UMFPACK_ERROR_out_of_memory) ;
-    }
-    ASSERT (UMF_malloc_count == init_count + 1) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* C = (A (P,Q))' or (A (P,Q)).' */
-    /* ---------------------------------------------------------------------- */
-
-    status = UMF_transpose (n_row, n_col, Ap, Ai, Ax, P, Q, n_col, Rp, Ri, Rx,
-	W, TRUE
-#ifdef COMPLEX
-	, Az, Rz, do_conjugate
-#endif
-	) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* free the workspace */
-    /* ---------------------------------------------------------------------- */
-
-    (void) UMF_free ((void *) W) ;
-    ASSERT (UMF_malloc_count == init_count) ;
-
-    return (status) ;
-}
--- a/liboctave/UMFPACK/UMFPACK/Source/umfpack_triplet_to_col.c	Mon Mar 14 15:53:44 2005 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,225 +0,0 @@
-/* ========================================================================== */
-/* === UMFPACK_triplet_to_col =============================================== */
-/* ========================================================================== */
-
-/* -------------------------------------------------------------------------- */
-/* UMFPACK Version 4.4, Copyright (c) 2005 by Timothy A. Davis.  CISE Dept,   */
-/* Univ. of Florida.  All Rights Reserved.  See ../Doc/License for License.   */
-/* web: http://www.cise.ufl.edu/research/sparse/umfpack                       */
-/* -------------------------------------------------------------------------- */
-
-/*
-    User callable.  Converts triplet input to column-oriented form.  Duplicate
-    entries may exist (they are summed in the output).  The columns of the
-    column-oriented form are in sorted order.  The input is not modified.
-    Returns 1 if OK, 0 if an error occurred.  See umfpack_triplet_to_col.h for
-    details.
-
-    If Map is present (a non-NULL pointer to an Int array of size nz), then on
-    output it holds the position of the triplets in the column-form matrix.
-    That is, suppose p = Map [k], and the k-th triplet is i=Ti[k], j=Tj[k], and
-    aij=Tx[k].  Then i=Ai[p], and aij will have been summed into Ax[p].  Also,
-    Ap[j] <= p < Ap[j+1].  The Map array is not computed if it is (Int *) NULL.
-
-    Dynamic memory usage:
-
-	If numerical values are present, then one (two for complex version)
-	workspace of size (nz+1)*sizeof(double) is allocated via UMF_malloc.
-	Next, 4 calls to UMF_malloc are made to obtain workspace of size
-	((nz+1) + (n_row+1) + n_row + MAX (n_row,n_col)) * sizeof(Int).  All of
-	this workspace (4 to 6 objects) are free'd via UMF_free on return.
-
-	For the complex version, additional space is allocated.
-
-	An extra array of size nz*sizeof(Int) is allocated if Map is present.
-*/
-
-#include "umf_internal.h"
-#include "umf_malloc.h"
-#include "umf_free.h"
-#include "umf_triplet.h"
-
-#ifndef NDEBUG
-PRIVATE Int init_count ;
-#endif
-
-/* ========================================================================== */
-
-GLOBAL Int UMFPACK_triplet_to_col
-(
-    Int n_row,
-    Int n_col,
-    Int nz,
-    const Int Ti [ ],		/* size nz */
-    const Int Tj [ ],		/* size nz */
-    const double Tx [ ],	/* size nz */
-#ifdef COMPLEX
-    const double Tz [ ],	/* size nz */
-#endif
-    Int Ap [ ],			/* size n_col + 1 */
-    Int Ai [ ],			/* size nz */
-    double Ax [ ]		/* size nz */
-#ifdef COMPLEX
-    , double Az [ ]		/* size nz */
-#endif
-    , Int Map [ ]		/* size nz */
-)
-{
-
-    /* ---------------------------------------------------------------------- */
-    /* local variables */
-    /* ---------------------------------------------------------------------- */
-
-    Int *RowCount, *Rp, *Rj, *W, nn, do_values, do_map, *Map2, status ;
-    double *Rx ;
-#ifdef COMPLEX
-    double *Rz ;
-    Int split ;
-#endif
-
-#ifndef NDEBUG
-    UMF_dump_start ( ) ;
-    init_count = UMF_malloc_count ;
-#endif
-
-    /* ---------------------------------------------------------------------- */
-    /* check inputs */
-    /* ---------------------------------------------------------------------- */
-
-    if (!Ai || !Ap || !Ti || !Tj)
-    {
-	return (UMFPACK_ERROR_argument_missing) ;
-    }
-
-    if (n_row <= 0 || n_col <= 0)		/* must be > 0 */
-    {
-	return (UMFPACK_ERROR_n_nonpositive) ;
-    }
-
-    if (nz < 0)		/* nz must be >= 0 (singular matrices are OK) */
-    {
-	return (UMFPACK_ERROR_invalid_matrix) ;
-    }
-
-    nn = MAX (n_row, n_col) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* allocate workspace */
-    /* ---------------------------------------------------------------------- */
-
-    Rx = (double *) NULL ;
-
-    do_values = Ax && Tx ;
-
-    if (do_values)
-    {
-#ifdef COMPLEX
-	Rx = (double *) UMF_malloc (2*nz+2, sizeof (double)) ;
-	split = SPLIT (Tz) && SPLIT (Az) ;
-	if (split)
-	{
-	    Rz = Rx + nz ;
-	}
-	else
-	{
-	    Rz = (double *) NULL ;
-	}
-#else
-	Rx = (double *) UMF_malloc (nz+1, sizeof (double)) ;
-#endif
-	if (!Rx)
-	{
-	    DEBUGm4 (("out of memory: triplet work \n")) ;
-	    ASSERT (UMF_malloc_count == init_count) ;
-	    return (UMFPACK_ERROR_out_of_memory) ;
-	}
-    }
-
-    do_map = (Map != (Int *) NULL) ;
-    Map2 = (Int *) NULL ;
-    if (do_map)
-    {
-	DEBUG0 (("Do map:\n")) ;
-	Map2 = (Int *) UMF_malloc (nz+1, sizeof (Int)) ;
-	if (!Map2)
-	{
-	    DEBUGm4 (("out of memory: triplet map\n")) ;
-	    (void) UMF_free ((void *) Rx) ;
-	    ASSERT (UMF_malloc_count == init_count) ;
-	    return (UMFPACK_ERROR_out_of_memory) ;
-	}
-    }
-
-    Rj = (Int *) UMF_malloc (nz+1, sizeof (Int)) ;
-    Rp = (Int *) UMF_malloc (n_row+1, sizeof (Int)) ;
-    RowCount = (Int *) UMF_malloc (n_row, sizeof (Int)) ;
-    W = (Int *) UMF_malloc (nn, sizeof (Int)) ;
-    if (!Rj || !Rp || !RowCount || !W)
-    {
-	DEBUGm4 (("out of memory: triplet work (int)\n")) ;
-	(void) UMF_free ((void *) Rx) ;
-	(void) UMF_free ((void *) Map2) ;
-	(void) UMF_free ((void *) Rp) ;
-	(void) UMF_free ((void *) Rj) ;
-	(void) UMF_free ((void *) RowCount) ;
-	(void) UMF_free ((void *) W) ;
-	ASSERT (UMF_malloc_count == init_count) ;
-	return (UMFPACK_ERROR_out_of_memory) ;
-    }
-
-    ASSERT (UMF_malloc_count == init_count + 4 +
-	(Rx != (double *) NULL) + do_map) ;
-
-    /* ---------------------------------------------------------------------- */
-    /* convert from triplet to column form */
-    /* ---------------------------------------------------------------------- */
-
-    if (do_map)
-    {
-	if (do_values)
-	{
-	    status = UMF_triplet_map_x (n_row, n_col, nz, Ti, Tj, Ap, Ai, Rp,
-		Rj, W, RowCount, Tx, Ax, Rx
-#ifdef COMPLEX
-		, Tz, Az, Rz
-#endif
-		, Map, Map2) ;
-	}
-	else
-	{
-	    status = UMF_triplet_map_nox (n_row, n_col, nz, Ti, Tj, Ap, Ai, Rp,
-		Rj, W, RowCount, Map, Map2) ;
-	}
-    }
-    else
-    {
-	if (do_values)
-	{
-	    status = UMF_triplet_nomap_x (n_row, n_col, nz, Ti, Tj, Ap, Ai, Rp,
-		Rj, W, RowCount , Tx, Ax, Rx
-#ifdef COMPLEX
-		, Tz, Az, Rz
-#endif
-		) ;
-	}
-	else
-	{
-	    status = UMF_triplet_nomap_nox (n_row, n_col, nz, Ti, Tj, Ap, Ai,
-		Rp, Rj, W, RowCount) ;
-	}
-    }
-
-    /* ---------------------------------------------------------------------- */
-    /* free the workspace */
-    /* ---------------------------------------------------------------------- */
-
-    (void) UMF_free ((void *) Rx) ;
-    (void) UMF_free ((void *) Map2) ;
-    (void) UMF_free ((void *) Rp) ;
-    (void) UMF_free ((void *) Rj) ;
-    (void) UMF_free ((void *) RowCount) ;
-    (void) UMF_free ((void *) W) ;
-    ASSERT (UMF_malloc_count == init_count) ;
-
-    return (status) ;
-}