|\^/| Maple 12 (IBM INTEL LINUX) ._|\| |/|_. Copyright (c) Maplesoft, a division of Waterloo Maple Inc. 2008 \ MAPLE / All rights reserved. Maple is a trademark of <____ ____> Waterloo Maple Inc. | Type ? for help. > #BEGIN OUTFILE1 > # Begin Function number 3 > check_sign := proc( x0 ,xf) > local ret; > if (xf > x0) then # if number 1 > ret := 1.0; > else > ret := -1.0; > fi;# end if 1; > ret;; > end; check_sign := proc(x0, xf) local ret; if x0 < xf then ret := 1.0 else ret := -1.0 end if; ret end proc > # End Function number 3 > # Begin Function number 4 > est_size_answer := proc() > global > glob_max_terms, > glob_iolevel, > ALWAYS, > INFO, > DEBUGL, > DEBUGMASSIVE, > #Top Generate Globals Decl > MAX_UNCHANGED, > glob_check_sign, > glob_desired_digits_correct, > glob_max_value3, > glob_ratio_of_radius, > glob_percent_done, > glob_subiter_method, > glob_log10normmin, > glob_total_exp_sec, > glob_optimal_expect_sec, > glob_html_log, > glob_good_digits, > glob_max_opt_iter, > glob_dump, > glob_djd_debug, > glob_display_flag, > glob_djd_debug2, > glob_sec_in_minute, > glob_min_in_hour, > glob_hours_in_day, > glob_days_in_year, > glob_sec_in_hour, > glob_sec_in_day, > glob_sec_in_year, > glob_almost_1, > glob_clock_sec, > glob_clock_start_sec, > glob_not_yet_finished, > glob_initial_pass, > glob_not_yet_start_msg, > glob_reached_optimal_h, > glob_optimal_done, > glob_disp_incr, > glob_h, > glob_hmax, > glob_hmin, > glob_hmin_init, > glob_large_float, > glob_last_good_h, > glob_look_poles, > glob_neg_h, > glob_display_interval, > glob_next_display, > glob_dump_analytic, > glob_log10_abserr, > glob_log10_relerr, > glob_abserr, > glob_relerr, > glob_max_hours, > glob_max_iter, > glob_max_rel_trunc_err, > glob_max_trunc_err, > glob_no_eqs, > glob_optimal_clock_start_sec, > glob_optimal_start, > glob_small_float, > glob_smallish_float, > glob_unchanged_h_cnt, > glob_warned, > glob_warned2, > glob_max_sec, > glob_orig_start_sec, > glob_start, > glob_curr_iter_when_opt, > glob_current_iter, > glob_iter, > glob_normmax, > glob_log10abserr, > glob_log10relerr, > glob_max_minutes, > #Bottom Generate Globals Decl > #BEGIN CONST > array_const_3, > array_const_0D0, > array_const_1, > array_const_1D0, > #END CONST > array_y2_init, > array_y1_init, > array_norms, > array_fact_1, > array_pole, > array_1st_rel_error, > array_last_rel_error, > array_type_pole, > array_y2, > array_x, > array_y1, > array_tmp0, > array_tmp1_g, > array_tmp1, > array_tmp2, > array_tmp3, > array_tmp4, > array_tmp5, > array_tmp6, > array_m1, > array_y2_higher, > array_y2_higher_work, > array_y2_higher_work2, > array_y2_set_initial, > array_y1_higher, > array_y1_higher_work, > array_y1_higher_work2, > array_y1_set_initial, > array_poles, > array_real_pole, > array_complex_pole, > array_fact_2, > glob_last; > local min_size; > min_size := glob_large_float; > if (omniabs(array_y2[1]) < min_size) then # if number 1 > min_size := omniabs(array_y2[1]); > omniout_float(ALWAYS,"min_size",32,min_size,32,""); > fi;# end if 1; > if (omniabs(array_y1[1]) < min_size) then # if number 1 > min_size := omniabs(array_y1[1]); > omniout_float(ALWAYS,"min_size",32,min_size,32,""); > fi;# end if 1; > if (min_size < 1.0) then # if number 1 > min_size := 1.0; > omniout_float(ALWAYS,"min_size",32,min_size,32,""); > fi;# end if 1; > min_size; > end; est_size_answer := proc() local min_size; global glob_max_terms, glob_iolevel, ALWAYS, INFO, DEBUGL, DEBUGMASSIVE, MAX_UNCHANGED, glob_check_sign, glob_desired_digits_correct, glob_max_value3, glob_ratio_of_radius, glob_percent_done, glob_subiter_method, glob_log10normmin, glob_total_exp_sec, glob_optimal_expect_sec, glob_html_log, glob_good_digits, glob_max_opt_iter, glob_dump, glob_djd_debug, glob_display_flag, glob_djd_debug2, glob_sec_in_minute, glob_min_in_hour, glob_hours_in_day, glob_days_in_year, glob_sec_in_hour, glob_sec_in_day, glob_sec_in_year, glob_almost_1, glob_clock_sec, glob_clock_start_sec, glob_not_yet_finished, glob_initial_pass, glob_not_yet_start_msg, glob_reached_optimal_h, glob_optimal_done, glob_disp_incr, glob_h, glob_hmax, glob_hmin, glob_hmin_init, glob_large_float, glob_last_good_h, glob_look_poles, glob_neg_h, glob_display_interval, glob_next_display, glob_dump_analytic, glob_log10_abserr, glob_log10_relerr, glob_abserr, glob_relerr, glob_max_hours, glob_max_iter, glob_max_rel_trunc_err, glob_max_trunc_err, glob_no_eqs, glob_optimal_clock_start_sec, glob_optimal_start, glob_small_float, glob_smallish_float, glob_unchanged_h_cnt, glob_warned, glob_warned2, glob_max_sec, glob_orig_start_sec, glob_start, glob_curr_iter_when_opt, glob_current_iter, glob_iter, glob_normmax, glob_log10abserr, glob_log10relerr, glob_max_minutes, array_const_3, array_const_0D0, array_const_1, array_const_1D0, array_y2_init, array_y1_init, array_norms, array_fact_1, array_pole, array_1st_rel_error, array_last_rel_error, array_type_pole, array_y2, array_x, array_y1, array_tmp0, array_tmp1_g, array_tmp1, array_tmp2, array_tmp3, array_tmp4, array_tmp5, array_tmp6, array_m1, array_y2_higher, array_y2_higher_work, array_y2_higher_work2, array_y2_set_initial, array_y1_higher, array_y1_higher_work, array_y1_higher_work2, array_y1_set_initial, array_poles, array_real_pole, array_complex_pole, array_fact_2, glob_last; min_size := glob_large_float; if omniabs(array_y2[1]) < min_size then min_size := omniabs(array_y2[1]); omniout_float(ALWAYS, "min_size", 32, min_size, 32, "") end if; if omniabs(array_y1[1]) < min_size then min_size := omniabs(array_y1[1]); omniout_float(ALWAYS, "min_size", 32, min_size, 32, "") end if; if min_size < 1.0 then min_size := 1.0; omniout_float(ALWAYS, "min_size", 32, min_size, 32, "") end if; min_size end proc > # End Function number 4 > # Begin Function number 5 > test_suggested_h := proc() > global > glob_max_terms, > glob_iolevel, > ALWAYS, > INFO, > DEBUGL, > DEBUGMASSIVE, > #Top Generate Globals Decl > MAX_UNCHANGED, > glob_check_sign, > glob_desired_digits_correct, > glob_max_value3, > glob_ratio_of_radius, > glob_percent_done, > glob_subiter_method, > glob_log10normmin, > glob_total_exp_sec, > glob_optimal_expect_sec, > glob_html_log, > glob_good_digits, > glob_max_opt_iter, > glob_dump, > glob_djd_debug, > glob_display_flag, > glob_djd_debug2, > glob_sec_in_minute, > glob_min_in_hour, > glob_hours_in_day, > glob_days_in_year, > glob_sec_in_hour, > glob_sec_in_day, > glob_sec_in_year, > glob_almost_1, > glob_clock_sec, > glob_clock_start_sec, > glob_not_yet_finished, > glob_initial_pass, > glob_not_yet_start_msg, > glob_reached_optimal_h, > glob_optimal_done, > glob_disp_incr, > glob_h, > glob_hmax, > glob_hmin, > glob_hmin_init, > glob_large_float, > glob_last_good_h, > glob_look_poles, > glob_neg_h, > glob_display_interval, > glob_next_display, > glob_dump_analytic, > glob_log10_abserr, > glob_log10_relerr, > glob_abserr, > glob_relerr, > glob_max_hours, > glob_max_iter, > glob_max_rel_trunc_err, > glob_max_trunc_err, > glob_no_eqs, > glob_optimal_clock_start_sec, > glob_optimal_start, > glob_small_float, > glob_smallish_float, > glob_unchanged_h_cnt, > glob_warned, > glob_warned2, > glob_max_sec, > glob_orig_start_sec, > glob_start, > glob_curr_iter_when_opt, > glob_current_iter, > glob_iter, > glob_normmax, > glob_log10abserr, > glob_log10relerr, > glob_max_minutes, > #Bottom Generate Globals Decl > #BEGIN CONST > array_const_3, > array_const_0D0, > array_const_1, > array_const_1D0, > #END CONST > array_y2_init, > array_y1_init, > array_norms, > array_fact_1, > array_pole, > array_1st_rel_error, > array_last_rel_error, > array_type_pole, > array_y2, > array_x, > array_y1, > array_tmp0, > array_tmp1_g, > array_tmp1, > array_tmp2, > array_tmp3, > array_tmp4, > array_tmp5, > array_tmp6, > array_m1, > array_y2_higher, > array_y2_higher_work, > array_y2_higher_work2, > array_y2_set_initial, > array_y1_higher, > array_y1_higher_work, > array_y1_higher_work2, > array_y1_set_initial, > array_poles, > array_real_pole, > array_complex_pole, > array_fact_2, > glob_last; > local max_value3,hn_div_ho,hn_div_ho_2,hn_div_ho_3,value3,no_terms; > max_value3 := 0.0; > no_terms := glob_max_terms; > hn_div_ho := 0.5; > hn_div_ho_2 := 0.25; > hn_div_ho_3 := 0.125; > omniout_float(ALWAYS,"hn_div_ho",32,hn_div_ho,32,""); > omniout_float(ALWAYS,"hn_div_ho_2",32,hn_div_ho_2,32,""); > omniout_float(ALWAYS,"hn_div_ho_3",32,hn_div_ho_3,32,""); > value3 := omniabs(array_y2[no_terms-3] + array_y2[no_terms - 2] * hn_div_ho + array_y2[no_terms - 1] * hn_div_ho_2 + array_y2[no_terms] * hn_div_ho_3); > if (value3 > max_value3) then # if number 1 > max_value3 := value3; > omniout_float(ALWAYS,"value3",32,value3,32,""); > fi;# end if 1; > value3 := omniabs(array_y1[no_terms-3] + array_y1[no_terms - 2] * hn_div_ho + array_y1[no_terms - 1] * hn_div_ho_2 + array_y1[no_terms] * hn_div_ho_3); > if (value3 > max_value3) then # if number 1 > max_value3 := value3; > omniout_float(ALWAYS,"value3",32,value3,32,""); > fi;# end if 1; > omniout_float(ALWAYS,"max_value3",32,max_value3,32,""); > max_value3; > end; test_suggested_h := proc() local max_value3, hn_div_ho, hn_div_ho_2, hn_div_ho_3, value3, no_terms; global glob_max_terms, glob_iolevel, ALWAYS, INFO, DEBUGL, DEBUGMASSIVE, MAX_UNCHANGED, glob_check_sign, glob_desired_digits_correct, glob_max_value3, glob_ratio_of_radius, glob_percent_done, glob_subiter_method, glob_log10normmin, glob_total_exp_sec, glob_optimal_expect_sec, glob_html_log, glob_good_digits, glob_max_opt_iter, glob_dump, glob_djd_debug, glob_display_flag, glob_djd_debug2, glob_sec_in_minute, glob_min_in_hour, glob_hours_in_day, glob_days_in_year, glob_sec_in_hour, glob_sec_in_day, glob_sec_in_year, glob_almost_1, glob_clock_sec, glob_clock_start_sec, glob_not_yet_finished, glob_initial_pass, glob_not_yet_start_msg, glob_reached_optimal_h, glob_optimal_done, glob_disp_incr, glob_h, glob_hmax, glob_hmin, glob_hmin_init, glob_large_float, glob_last_good_h, glob_look_poles, glob_neg_h, glob_display_interval, glob_next_display, glob_dump_analytic, glob_log10_abserr, glob_log10_relerr, glob_abserr, glob_relerr, glob_max_hours, glob_max_iter, glob_max_rel_trunc_err, glob_max_trunc_err, glob_no_eqs, glob_optimal_clock_start_sec, glob_optimal_start, glob_small_float, glob_smallish_float, glob_unchanged_h_cnt, glob_warned, glob_warned2, glob_max_sec, glob_orig_start_sec, glob_start, glob_curr_iter_when_opt, glob_current_iter, glob_iter, glob_normmax, glob_log10abserr, glob_log10relerr, glob_max_minutes, array_const_3, array_const_0D0, array_const_1, array_const_1D0, array_y2_init, array_y1_init, array_norms, array_fact_1, array_pole, array_1st_rel_error, array_last_rel_error, array_type_pole, array_y2, array_x, array_y1, array_tmp0, array_tmp1_g, array_tmp1, array_tmp2, array_tmp3, array_tmp4, array_tmp5, array_tmp6, array_m1, array_y2_higher, array_y2_higher_work, array_y2_higher_work2, array_y2_set_initial, array_y1_higher, array_y1_higher_work, array_y1_higher_work2, array_y1_set_initial, array_poles, array_real_pole, array_complex_pole, array_fact_2, glob_last; max_value3 := 0.; no_terms := glob_max_terms; hn_div_ho := 0.5; hn_div_ho_2 := 0.25; hn_div_ho_3 := 0.125; omniout_float(ALWAYS, "hn_div_ho", 32, hn_div_ho, 32, ""); omniout_float(ALWAYS, "hn_div_ho_2", 32, hn_div_ho_2, 32, ""); omniout_float(ALWAYS, "hn_div_ho_3", 32, hn_div_ho_3, 32, ""); value3 := omniabs(array_y2[no_terms - 3] + array_y2[no_terms - 2]*hn_div_ho + array_y2[no_terms - 1]*hn_div_ho_2 + array_y2[no_terms]*hn_div_ho_3); if max_value3 < value3 then max_value3 := value3; omniout_float(ALWAYS, "value3", 32, value3, 32, "") end if; value3 := omniabs(array_y1[no_terms - 3] + array_y1[no_terms - 2]*hn_div_ho + array_y1[no_terms - 1]*hn_div_ho_2 + array_y1[no_terms]*hn_div_ho_3); if max_value3 < value3 then max_value3 := value3; omniout_float(ALWAYS, "value3", 32, value3, 32, "") end if; omniout_float(ALWAYS, "max_value3", 32, max_value3, 32, ""); max_value3 end proc > # End Function number 5 > # Begin Function number 6 > reached_interval := proc() > global > glob_max_terms, > glob_iolevel, > ALWAYS, > INFO, > DEBUGL, > DEBUGMASSIVE, > #Top Generate Globals Decl > MAX_UNCHANGED, > glob_check_sign, > glob_desired_digits_correct, > glob_max_value3, > glob_ratio_of_radius, > glob_percent_done, > glob_subiter_method, > glob_log10normmin, > glob_total_exp_sec, > glob_optimal_expect_sec, > glob_html_log, > glob_good_digits, > glob_max_opt_iter, > glob_dump, > glob_djd_debug, > glob_display_flag, > glob_djd_debug2, > glob_sec_in_minute, > glob_min_in_hour, > glob_hours_in_day, > glob_days_in_year, > glob_sec_in_hour, > glob_sec_in_day, > glob_sec_in_year, > glob_almost_1, > glob_clock_sec, > glob_clock_start_sec, > glob_not_yet_finished, > glob_initial_pass, > glob_not_yet_start_msg, > glob_reached_optimal_h, > glob_optimal_done, > glob_disp_incr, > glob_h, > glob_hmax, > glob_hmin, > glob_hmin_init, > glob_large_float, > glob_last_good_h, > glob_look_poles, > glob_neg_h, > glob_display_interval, > glob_next_display, > glob_dump_analytic, > glob_log10_abserr, > glob_log10_relerr, > glob_abserr, > glob_relerr, > glob_max_hours, > glob_max_iter, > glob_max_rel_trunc_err, > glob_max_trunc_err, > glob_no_eqs, > glob_optimal_clock_start_sec, > glob_optimal_start, > glob_small_float, > glob_smallish_float, > glob_unchanged_h_cnt, > glob_warned, > glob_warned2, > glob_max_sec, > glob_orig_start_sec, > glob_start, > glob_curr_iter_when_opt, > glob_current_iter, > glob_iter, > glob_normmax, > glob_log10abserr, > glob_log10relerr, > glob_max_minutes, > #Bottom Generate Globals Decl > #BEGIN CONST > array_const_3, > array_const_0D0, > array_const_1, > array_const_1D0, > #END CONST > array_y2_init, > array_y1_init, > array_norms, > array_fact_1, > array_pole, > array_1st_rel_error, > array_last_rel_error, > array_type_pole, > array_y2, > array_x, > array_y1, > array_tmp0, > array_tmp1_g, > array_tmp1, > array_tmp2, > array_tmp3, > array_tmp4, > array_tmp5, > array_tmp6, > array_m1, > array_y2_higher, > array_y2_higher_work, > array_y2_higher_work2, > array_y2_set_initial, > array_y1_higher, > array_y1_higher_work, > array_y1_higher_work2, > array_y1_set_initial, > array_poles, > array_real_pole, > array_complex_pole, > array_fact_2, > glob_last; > local ret; > if (glob_check_sign * (array_x[1]) >= glob_check_sign * glob_next_display) then # if number 1 > ret := true; > else > ret := false; > fi;# end if 1; > return(ret); > end; reached_interval := proc() local ret; global glob_max_terms, glob_iolevel, ALWAYS, INFO, DEBUGL, DEBUGMASSIVE, MAX_UNCHANGED, glob_check_sign, glob_desired_digits_correct, glob_max_value3, glob_ratio_of_radius, glob_percent_done, glob_subiter_method, glob_log10normmin, glob_total_exp_sec, glob_optimal_expect_sec, glob_html_log, glob_good_digits, glob_max_opt_iter, glob_dump, glob_djd_debug, glob_display_flag, glob_djd_debug2, glob_sec_in_minute, glob_min_in_hour, glob_hours_in_day, glob_days_in_year, glob_sec_in_hour, glob_sec_in_day, glob_sec_in_year, glob_almost_1, glob_clock_sec, glob_clock_start_sec, glob_not_yet_finished, glob_initial_pass, glob_not_yet_start_msg, glob_reached_optimal_h, glob_optimal_done, glob_disp_incr, glob_h, glob_hmax, glob_hmin, glob_hmin_init, glob_large_float, glob_last_good_h, glob_look_poles, glob_neg_h, glob_display_interval, glob_next_display, glob_dump_analytic, glob_log10_abserr, glob_log10_relerr, glob_abserr, glob_relerr, glob_max_hours, glob_max_iter, glob_max_rel_trunc_err, glob_max_trunc_err, glob_no_eqs, glob_optimal_clock_start_sec, glob_optimal_start, glob_small_float, glob_smallish_float, glob_unchanged_h_cnt, glob_warned, glob_warned2, glob_max_sec, glob_orig_start_sec, glob_start, glob_curr_iter_when_opt, glob_current_iter, glob_iter, glob_normmax, glob_log10abserr, glob_log10relerr, glob_max_minutes, array_const_3, array_const_0D0, array_const_1, array_const_1D0, array_y2_init, array_y1_init, array_norms, array_fact_1, array_pole, array_1st_rel_error, array_last_rel_error, array_type_pole, array_y2, array_x, array_y1, array_tmp0, array_tmp1_g, array_tmp1, array_tmp2, array_tmp3, array_tmp4, array_tmp5, array_tmp6, array_m1, array_y2_higher, array_y2_higher_work, array_y2_higher_work2, array_y2_set_initial, array_y1_higher, array_y1_higher_work, array_y1_higher_work2, array_y1_set_initial, array_poles, array_real_pole, array_complex_pole, array_fact_2, glob_last; if glob_check_sign*glob_next_display <= glob_check_sign*array_x[1] then ret := true else ret := false end if; return ret end proc > # End Function number 6 > # Begin Function number 7 > display_alot := proc(iter) > global > glob_max_terms, > glob_iolevel, > ALWAYS, > INFO, > DEBUGL, > DEBUGMASSIVE, > #Top Generate Globals Decl > MAX_UNCHANGED, > glob_check_sign, > glob_desired_digits_correct, > glob_max_value3, > glob_ratio_of_radius, > glob_percent_done, > glob_subiter_method, > glob_log10normmin, > glob_total_exp_sec, > glob_optimal_expect_sec, > glob_html_log, > glob_good_digits, > glob_max_opt_iter, > glob_dump, > glob_djd_debug, > glob_display_flag, > glob_djd_debug2, > glob_sec_in_minute, > glob_min_in_hour, > glob_hours_in_day, > glob_days_in_year, > glob_sec_in_hour, > glob_sec_in_day, > glob_sec_in_year, > glob_almost_1, > glob_clock_sec, > glob_clock_start_sec, > glob_not_yet_finished, > glob_initial_pass, > glob_not_yet_start_msg, > glob_reached_optimal_h, > glob_optimal_done, > glob_disp_incr, > glob_h, > glob_hmax, > glob_hmin, > glob_hmin_init, > glob_large_float, > glob_last_good_h, > glob_look_poles, > glob_neg_h, > glob_display_interval, > glob_next_display, > glob_dump_analytic, > glob_log10_abserr, > glob_log10_relerr, > glob_abserr, > glob_relerr, > glob_max_hours, > glob_max_iter, > glob_max_rel_trunc_err, > glob_max_trunc_err, > glob_no_eqs, > glob_optimal_clock_start_sec, > glob_optimal_start, > glob_small_float, > glob_smallish_float, > glob_unchanged_h_cnt, > glob_warned, > glob_warned2, > glob_max_sec, > glob_orig_start_sec, > glob_start, > glob_curr_iter_when_opt, > glob_current_iter, > glob_iter, > glob_normmax, > glob_log10abserr, > glob_log10relerr, > glob_max_minutes, > #Bottom Generate Globals Decl > #BEGIN CONST > array_const_3, > array_const_0D0, > array_const_1, > array_const_1D0, > #END CONST > array_y2_init, > array_y1_init, > array_norms, > array_fact_1, > array_pole, > array_1st_rel_error, > array_last_rel_error, > array_type_pole, > array_y2, > array_x, > array_y1, > array_tmp0, > array_tmp1_g, > array_tmp1, > array_tmp2, > array_tmp3, > array_tmp4, > array_tmp5, > array_tmp6, > array_m1, > array_y2_higher, > array_y2_higher_work, > array_y2_higher_work2, > array_y2_set_initial, > array_y1_higher, > array_y1_higher_work, > array_y1_higher_work2, > array_y1_set_initial, > array_poles, > array_real_pole, > array_complex_pole, > array_fact_2, > glob_last; > local abserr, analytic_val_y, ind_var, numeric_val, relerr, term_no; > #TOP DISPLAY ALOT > if (reached_interval()) then # if number 1 > if (iter >= 0) then # if number 2 > ind_var := array_x[1]; > omniout_float(ALWAYS,"x[1] ",33,ind_var,20," "); > analytic_val_y := exact_soln_y2(ind_var); > omniout_float(ALWAYS,"y2[1] (analytic) ",33,analytic_val_y,20," "); > term_no := 1; > numeric_val := array_y2[term_no]; > abserr := omniabs(numeric_val - analytic_val_y); > omniout_float(ALWAYS,"y2[1] (numeric) ",33,numeric_val,20," "); > if (omniabs(analytic_val_y) <> 0.0) then # if number 3 > relerr := abserr*100.0/omniabs(analytic_val_y); > if (relerr <> 0.0) then # if number 4 > glob_good_digits := -trunc(log10(relerr)) + 2; > else > glob_good_digits := Digits; > fi;# end if 4; > else > relerr := -1.0 ; > glob_good_digits := -1; > fi;# end if 3; > if (glob_iter = 1) then # if number 3 > array_1st_rel_error[1] := relerr; > else > array_last_rel_error[1] := relerr; > fi;# end if 3; > omniout_float(ALWAYS,"absolute error ",4,abserr,20," "); > omniout_float(ALWAYS,"relative error ",4,relerr,20,"%"); > omniout_int(INFO,"Correct digits ",32,glob_good_digits,4," ") > ; > omniout_float(ALWAYS,"h ",4,glob_h,20," "); > ; > analytic_val_y := exact_soln_y1(ind_var); > omniout_float(ALWAYS,"y1[1] (analytic) ",33,analytic_val_y,20," "); > term_no := 1; > numeric_val := array_y1[term_no]; > abserr := omniabs(numeric_val - analytic_val_y); > omniout_float(ALWAYS,"y1[1] (numeric) ",33,numeric_val,20," "); > if (omniabs(analytic_val_y) <> 0.0) then # if number 3 > relerr := abserr*100.0/omniabs(analytic_val_y); > if (relerr <> 0.0) then # if number 4 > glob_good_digits := -trunc(log10(relerr)) + 2; > else > glob_good_digits := Digits; > fi;# end if 4; > else > relerr := -1.0 ; > glob_good_digits := -1; > fi;# end if 3; > if (glob_iter = 1) then # if number 3 > array_1st_rel_error[2] := relerr; > else > array_last_rel_error[2] := relerr; > fi;# end if 3; > omniout_float(ALWAYS,"absolute error ",4,abserr,20," "); > omniout_float(ALWAYS,"relative error ",4,relerr,20,"%"); > omniout_int(INFO,"Correct digits ",32,glob_good_digits,4," ") > ; > omniout_float(ALWAYS,"h ",4,glob_h,20," "); > fi;# end if 2; > #BOTTOM DISPLAY ALOT > fi;# end if 1; > end; display_alot := proc(iter) local abserr, analytic_val_y, ind_var, numeric_val, relerr, term_no; global glob_max_terms, glob_iolevel, ALWAYS, INFO, DEBUGL, DEBUGMASSIVE, MAX_UNCHANGED, glob_check_sign, glob_desired_digits_correct, glob_max_value3, glob_ratio_of_radius, glob_percent_done, glob_subiter_method, glob_log10normmin, glob_total_exp_sec, glob_optimal_expect_sec, glob_html_log, glob_good_digits, glob_max_opt_iter, glob_dump, glob_djd_debug, glob_display_flag, glob_djd_debug2, glob_sec_in_minute, glob_min_in_hour, glob_hours_in_day, glob_days_in_year, glob_sec_in_hour, glob_sec_in_day, glob_sec_in_year, glob_almost_1, glob_clock_sec, glob_clock_start_sec, glob_not_yet_finished, glob_initial_pass, glob_not_yet_start_msg, glob_reached_optimal_h, glob_optimal_done, glob_disp_incr, glob_h, glob_hmax, glob_hmin, glob_hmin_init, glob_large_float, glob_last_good_h, glob_look_poles, glob_neg_h, glob_display_interval, glob_next_display, glob_dump_analytic, glob_log10_abserr, glob_log10_relerr, glob_abserr, glob_relerr, glob_max_hours, glob_max_iter, glob_max_rel_trunc_err, glob_max_trunc_err, glob_no_eqs, glob_optimal_clock_start_sec, glob_optimal_start, glob_small_float, glob_smallish_float, glob_unchanged_h_cnt, glob_warned, glob_warned2, glob_max_sec, glob_orig_start_sec, glob_start, glob_curr_iter_when_opt, glob_current_iter, glob_iter, glob_normmax, glob_log10abserr, glob_log10relerr, glob_max_minutes, array_const_3, array_const_0D0, array_const_1, array_const_1D0, array_y2_init, array_y1_init, array_norms, array_fact_1, array_pole, array_1st_rel_error, array_last_rel_error, array_type_pole, array_y2, array_x, array_y1, array_tmp0, array_tmp1_g, array_tmp1, array_tmp2, array_tmp3, array_tmp4, array_tmp5, array_tmp6, array_m1, array_y2_higher, array_y2_higher_work, array_y2_higher_work2, array_y2_set_initial, array_y1_higher, array_y1_higher_work, array_y1_higher_work2, array_y1_set_initial, array_poles, array_real_pole, array_complex_pole, array_fact_2, glob_last; if reached_interval() then if 0 <= iter then ind_var := array_x[1]; omniout_float(ALWAYS, "x[1] ", 33, ind_var, 20, " "); analytic_val_y := exact_soln_y2(ind_var); omniout_float(ALWAYS, "y2[1] (analytic) ", 33, analytic_val_y, 20, " "); term_no := 1; numeric_val := array_y2[term_no]; abserr := omniabs(numeric_val - analytic_val_y); omniout_float(ALWAYS, "y2[1] (numeric) ", 33, numeric_val, 20, " "); if omniabs(analytic_val_y) <> 0. then relerr := abserr*100.0/omniabs(analytic_val_y); if relerr <> 0. then glob_good_digits := -trunc(log10(relerr)) + 2 else glob_good_digits := Digits end if else relerr := -1.0; glob_good_digits := -1 end if; if glob_iter = 1 then array_1st_rel_error[1] := relerr else array_last_rel_error[1] := relerr end if; omniout_float(ALWAYS, "absolute error ", 4, abserr, 20, " "); omniout_float(ALWAYS, "relative error ", 4, relerr, 20, "%"); omniout_int(INFO, "Correct digits ", 32, glob_good_digits, 4, " "); omniout_float(ALWAYS, "h ", 4, glob_h, 20, " "); analytic_val_y := exact_soln_y1(ind_var); omniout_float(ALWAYS, "y1[1] (analytic) ", 33, analytic_val_y, 20, " "); term_no := 1; numeric_val := array_y1[term_no]; abserr := omniabs(numeric_val - analytic_val_y); omniout_float(ALWAYS, "y1[1] (numeric) ", 33, numeric_val, 20, " "); if omniabs(analytic_val_y) <> 0. then relerr := abserr*100.0/omniabs(analytic_val_y); if relerr <> 0. then glob_good_digits := -trunc(log10(relerr)) + 2 else glob_good_digits := Digits end if else relerr := -1.0; glob_good_digits := -1 end if; if glob_iter = 1 then array_1st_rel_error[2] := relerr else array_last_rel_error[2] := relerr end if; omniout_float(ALWAYS, "absolute error ", 4, abserr, 20, " "); omniout_float(ALWAYS, "relative error ", 4, relerr, 20, "%"); omniout_int(INFO, "Correct digits ", 32, glob_good_digits, 4, " "); omniout_float(ALWAYS, "h ", 4, glob_h, 20, " ") end if end if end proc > # End Function number 7 > # Begin Function number 8 > adjust_for_pole := proc(h_param) > global > glob_max_terms, > glob_iolevel, > ALWAYS, > INFO, > DEBUGL, > DEBUGMASSIVE, > #Top Generate Globals Decl > MAX_UNCHANGED, > glob_check_sign, > glob_desired_digits_correct, > glob_max_value3, > glob_ratio_of_radius, > glob_percent_done, > glob_subiter_method, > glob_log10normmin, > glob_total_exp_sec, > glob_optimal_expect_sec, > glob_html_log, > glob_good_digits, > glob_max_opt_iter, > glob_dump, > glob_djd_debug, > glob_display_flag, > glob_djd_debug2, > glob_sec_in_minute, > glob_min_in_hour, > glob_hours_in_day, > glob_days_in_year, > glob_sec_in_hour, > glob_sec_in_day, > glob_sec_in_year, > glob_almost_1, > glob_clock_sec, > glob_clock_start_sec, > glob_not_yet_finished, > glob_initial_pass, > glob_not_yet_start_msg, > glob_reached_optimal_h, > glob_optimal_done, > glob_disp_incr, > glob_h, > glob_hmax, > glob_hmin, > glob_hmin_init, > glob_large_float, > glob_last_good_h, > glob_look_poles, > glob_neg_h, > glob_display_interval, > glob_next_display, > glob_dump_analytic, > glob_log10_abserr, > glob_log10_relerr, > glob_abserr, > glob_relerr, > glob_max_hours, > glob_max_iter, > glob_max_rel_trunc_err, > glob_max_trunc_err, > glob_no_eqs, > glob_optimal_clock_start_sec, > glob_optimal_start, > glob_small_float, > glob_smallish_float, > glob_unchanged_h_cnt, > glob_warned, > glob_warned2, > glob_max_sec, > glob_orig_start_sec, > glob_start, > glob_curr_iter_when_opt, > glob_current_iter, > glob_iter, > glob_normmax, > glob_log10abserr, > glob_log10relerr, > glob_max_minutes, > #Bottom Generate Globals Decl > #BEGIN CONST > array_const_3, > array_const_0D0, > array_const_1, > array_const_1D0, > #END CONST > array_y2_init, > array_y1_init, > array_norms, > array_fact_1, > array_pole, > array_1st_rel_error, > array_last_rel_error, > array_type_pole, > array_y2, > array_x, > array_y1, > array_tmp0, > array_tmp1_g, > array_tmp1, > array_tmp2, > array_tmp3, > array_tmp4, > array_tmp5, > array_tmp6, > array_m1, > array_y2_higher, > array_y2_higher_work, > array_y2_higher_work2, > array_y2_set_initial, > array_y1_higher, > array_y1_higher_work, > array_y1_higher_work2, > array_y1_set_initial, > array_poles, > array_real_pole, > array_complex_pole, > array_fact_2, > glob_last; > local hnew, sz2, tmp; > #TOP ADJUST FOR POLE > hnew := h_param; > glob_normmax := glob_small_float; > if (omniabs(array_y2_higher[1,1]) > glob_small_float) then # if number 1 > tmp := omniabs(array_y2_higher[1,1]); > if (tmp < glob_normmax) then # if number 2 > glob_normmax := tmp; > fi;# end if 2 > fi;# end if 1; > if (omniabs(array_y1_higher[1,1]) > glob_small_float) then # if number 1 > tmp := omniabs(array_y1_higher[1,1]); > if (tmp < glob_normmax) then # if number 2 > glob_normmax := tmp; > fi;# end if 2 > fi;# end if 1; > if (glob_look_poles and (omniabs(array_pole[1]) > glob_small_float) and (array_pole[1] <> glob_large_float)) then # if number 1 > sz2 := array_pole[1]/10.0; > if (sz2 < hnew) then # if number 2 > omniout_float(INFO,"glob_h adjusted to ",20,h_param,12,"due to singularity."); > omniout_str(INFO,"Reached Optimal"); > return(hnew); > fi;# end if 2 > fi;# end if 1; > if ( not glob_reached_optimal_h) then # if number 1 > glob_reached_optimal_h := true; > glob_curr_iter_when_opt := glob_current_iter; > glob_optimal_clock_start_sec := elapsed_time_seconds(); > glob_optimal_start := array_x[1]; > fi;# end if 1; > hnew := sz2; > ;#END block > return(hnew); > #BOTTOM ADJUST FOR POLE > end; adjust_for_pole := proc(h_param) local hnew, sz2, tmp; global glob_max_terms, glob_iolevel, ALWAYS, INFO, DEBUGL, DEBUGMASSIVE, MAX_UNCHANGED, glob_check_sign, glob_desired_digits_correct, glob_max_value3, glob_ratio_of_radius, glob_percent_done, glob_subiter_method, glob_log10normmin, glob_total_exp_sec, glob_optimal_expect_sec, glob_html_log, glob_good_digits, glob_max_opt_iter, glob_dump, glob_djd_debug, glob_display_flag, glob_djd_debug2, glob_sec_in_minute, glob_min_in_hour, glob_hours_in_day, glob_days_in_year, glob_sec_in_hour, glob_sec_in_day, glob_sec_in_year, glob_almost_1, glob_clock_sec, glob_clock_start_sec, glob_not_yet_finished, glob_initial_pass, glob_not_yet_start_msg, glob_reached_optimal_h, glob_optimal_done, glob_disp_incr, glob_h, glob_hmax, glob_hmin, glob_hmin_init, glob_large_float, glob_last_good_h, glob_look_poles, glob_neg_h, glob_display_interval, glob_next_display, glob_dump_analytic, glob_log10_abserr, glob_log10_relerr, glob_abserr, glob_relerr, glob_max_hours, glob_max_iter, glob_max_rel_trunc_err, glob_max_trunc_err, glob_no_eqs, glob_optimal_clock_start_sec, glob_optimal_start, glob_small_float, glob_smallish_float, glob_unchanged_h_cnt, glob_warned, glob_warned2, glob_max_sec, glob_orig_start_sec, glob_start, glob_curr_iter_when_opt, glob_current_iter, glob_iter, glob_normmax, glob_log10abserr, glob_log10relerr, glob_max_minutes, array_const_3, array_const_0D0, array_const_1, array_const_1D0, array_y2_init, array_y1_init, array_norms, array_fact_1, array_pole, array_1st_rel_error, array_last_rel_error, array_type_pole, array_y2, array_x, array_y1, array_tmp0, array_tmp1_g, array_tmp1, array_tmp2, array_tmp3, array_tmp4, array_tmp5, array_tmp6, array_m1, array_y2_higher, array_y2_higher_work, array_y2_higher_work2, array_y2_set_initial, array_y1_higher, array_y1_higher_work, array_y1_higher_work2, array_y1_set_initial, array_poles, array_real_pole, array_complex_pole, array_fact_2, glob_last; hnew := h_param; glob_normmax := glob_small_float; if glob_small_float < omniabs(array_y2_higher[1, 1]) then tmp := omniabs(array_y2_higher[1, 1]); if tmp < glob_normmax then glob_normmax := tmp end if end if; if glob_small_float < omniabs(array_y1_higher[1, 1]) then tmp := omniabs(array_y1_higher[1, 1]); if tmp < glob_normmax then glob_normmax := tmp end if end if; if glob_look_poles and glob_small_float < omniabs(array_pole[1]) and array_pole[1] <> glob_large_float then sz2 := array_pole[1]/10.0; if sz2 < hnew then omniout_float(INFO, "glob_h adjusted to ", 20, h_param, 12, "due to singularity."); omniout_str(INFO, "Reached Optimal"); return hnew end if end if; if not glob_reached_optimal_h then glob_reached_optimal_h := true; glob_curr_iter_when_opt := glob_current_iter; glob_optimal_clock_start_sec := elapsed_time_seconds(); glob_optimal_start := array_x[1] end if; hnew := sz2; return hnew end proc > # End Function number 8 > # Begin Function number 9 > prog_report := proc(x_start,x_end) > global > glob_max_terms, > glob_iolevel, > ALWAYS, > INFO, > DEBUGL, > DEBUGMASSIVE, > #Top Generate Globals Decl > MAX_UNCHANGED, > glob_check_sign, > glob_desired_digits_correct, > glob_max_value3, > glob_ratio_of_radius, > glob_percent_done, > glob_subiter_method, > glob_log10normmin, > glob_total_exp_sec, > glob_optimal_expect_sec, > glob_html_log, > glob_good_digits, > glob_max_opt_iter, > glob_dump, > glob_djd_debug, > glob_display_flag, > glob_djd_debug2, > glob_sec_in_minute, > glob_min_in_hour, > glob_hours_in_day, > glob_days_in_year, > glob_sec_in_hour, > glob_sec_in_day, > glob_sec_in_year, > glob_almost_1, > glob_clock_sec, > glob_clock_start_sec, > glob_not_yet_finished, > glob_initial_pass, > glob_not_yet_start_msg, > glob_reached_optimal_h, > glob_optimal_done, > glob_disp_incr, > glob_h, > glob_hmax, > glob_hmin, > glob_hmin_init, > glob_large_float, > glob_last_good_h, > glob_look_poles, > glob_neg_h, > glob_display_interval, > glob_next_display, > glob_dump_analytic, > glob_log10_abserr, > glob_log10_relerr, > glob_abserr, > glob_relerr, > glob_max_hours, > glob_max_iter, > glob_max_rel_trunc_err, > glob_max_trunc_err, > glob_no_eqs, > glob_optimal_clock_start_sec, > glob_optimal_start, > glob_small_float, > glob_smallish_float, > glob_unchanged_h_cnt, > glob_warned, > glob_warned2, > glob_max_sec, > glob_orig_start_sec, > glob_start, > glob_curr_iter_when_opt, > glob_current_iter, > glob_iter, > glob_normmax, > glob_log10abserr, > glob_log10relerr, > glob_max_minutes, > #Bottom Generate Globals Decl > #BEGIN CONST > array_const_3, > array_const_0D0, > array_const_1, > array_const_1D0, > #END CONST > array_y2_init, > array_y1_init, > array_norms, > array_fact_1, > array_pole, > array_1st_rel_error, > array_last_rel_error, > array_type_pole, > array_y2, > array_x, > array_y1, > array_tmp0, > array_tmp1_g, > array_tmp1, > array_tmp2, > array_tmp3, > array_tmp4, > array_tmp5, > array_tmp6, > array_m1, > array_y2_higher, > array_y2_higher_work, > array_y2_higher_work2, > array_y2_set_initial, > array_y1_higher, > array_y1_higher_work, > array_y1_higher_work2, > array_y1_set_initial, > array_poles, > array_real_pole, > array_complex_pole, > array_fact_2, > glob_last; > local clock_sec, opt_clock_sec, clock_sec1, expect_sec, left_sec, percent_done, total_clock_sec; > #TOP PROGRESS REPORT > clock_sec1 := elapsed_time_seconds(); > total_clock_sec := convfloat(clock_sec1) - convfloat(glob_orig_start_sec); > glob_clock_sec := convfloat(clock_sec1) - convfloat(glob_clock_start_sec); > left_sec := convfloat(glob_max_sec) + convfloat(glob_orig_start_sec) - convfloat(clock_sec1); > expect_sec := comp_expect_sec(convfloat(x_end),convfloat(x_start),convfloat(array_x[1]) + convfloat(glob_h) ,convfloat( clock_sec1) - convfloat(glob_orig_start_sec)); > opt_clock_sec := convfloat( clock_sec1) - convfloat(glob_optimal_clock_start_sec); > glob_optimal_expect_sec := comp_expect_sec(convfloat(x_end),convfloat(x_start),convfloat(array_x[1]) +convfloat( glob_h) ,convfloat( opt_clock_sec)); > glob_total_exp_sec := glob_optimal_expect_sec + total_clock_sec; > percent_done := comp_percent(convfloat(x_end),convfloat(x_start),convfloat(array_x[1]) + convfloat(glob_h)); > glob_percent_done := percent_done; > omniout_str_noeol(INFO,"Total Elapsed Time "); > omniout_timestr(convfloat(total_clock_sec)); > omniout_str_noeol(INFO,"Elapsed Time(since restart) "); > omniout_timestr(convfloat(glob_clock_sec)); > if (convfloat(percent_done) < convfloat(100.0)) then # if number 1 > omniout_str_noeol(INFO,"Expected Time Remaining "); > omniout_timestr(convfloat(expect_sec)); > omniout_str_noeol(INFO,"Optimized Time Remaining "); > omniout_timestr(convfloat(glob_optimal_expect_sec)); > omniout_str_noeol(INFO,"Expected Total Time "); > omniout_timestr(convfloat(glob_total_exp_sec)); > fi;# end if 1; > omniout_str_noeol(INFO,"Time to Timeout "); > omniout_timestr(convfloat(left_sec)); > omniout_float(INFO, "Percent Done ",33,percent_done,4,"%"); > #BOTTOM PROGRESS REPORT > end; prog_report := proc(x_start, x_end) local clock_sec, opt_clock_sec, clock_sec1, expect_sec, left_sec, percent_done, total_clock_sec; global glob_max_terms, glob_iolevel, ALWAYS, INFO, DEBUGL, DEBUGMASSIVE, MAX_UNCHANGED, glob_check_sign, glob_desired_digits_correct, glob_max_value3, glob_ratio_of_radius, glob_percent_done, glob_subiter_method, glob_log10normmin, glob_total_exp_sec, glob_optimal_expect_sec, glob_html_log, glob_good_digits, glob_max_opt_iter, glob_dump, glob_djd_debug, glob_display_flag, glob_djd_debug2, glob_sec_in_minute, glob_min_in_hour, glob_hours_in_day, glob_days_in_year, glob_sec_in_hour, glob_sec_in_day, glob_sec_in_year, glob_almost_1, glob_clock_sec, glob_clock_start_sec, glob_not_yet_finished, glob_initial_pass, glob_not_yet_start_msg, glob_reached_optimal_h, glob_optimal_done, glob_disp_incr, glob_h, glob_hmax, glob_hmin, glob_hmin_init, glob_large_float, glob_last_good_h, glob_look_poles, glob_neg_h, glob_display_interval, glob_next_display, glob_dump_analytic, glob_log10_abserr, glob_log10_relerr, glob_abserr, glob_relerr, glob_max_hours, glob_max_iter, glob_max_rel_trunc_err, glob_max_trunc_err, glob_no_eqs, glob_optimal_clock_start_sec, glob_optimal_start, glob_small_float, glob_smallish_float, glob_unchanged_h_cnt, glob_warned, glob_warned2, glob_max_sec, glob_orig_start_sec, glob_start, glob_curr_iter_when_opt, glob_current_iter, glob_iter, glob_normmax, glob_log10abserr, glob_log10relerr, glob_max_minutes, array_const_3, array_const_0D0, array_const_1, array_const_1D0, array_y2_init, array_y1_init, array_norms, array_fact_1, array_pole, array_1st_rel_error, array_last_rel_error, array_type_pole, array_y2, array_x, array_y1, array_tmp0, array_tmp1_g, array_tmp1, array_tmp2, array_tmp3, array_tmp4, array_tmp5, array_tmp6, array_m1, array_y2_higher, array_y2_higher_work, array_y2_higher_work2, array_y2_set_initial, array_y1_higher, array_y1_higher_work, array_y1_higher_work2, array_y1_set_initial, array_poles, array_real_pole, array_complex_pole, array_fact_2, glob_last; clock_sec1 := elapsed_time_seconds(); total_clock_sec := convfloat(clock_sec1) - convfloat(glob_orig_start_sec); glob_clock_sec := convfloat(clock_sec1) - convfloat(glob_clock_start_sec); left_sec := convfloat(glob_max_sec) + convfloat(glob_orig_start_sec) - convfloat(clock_sec1); expect_sec := comp_expect_sec(convfloat(x_end), convfloat(x_start), convfloat(array_x[1]) + convfloat(glob_h), convfloat(clock_sec1) - convfloat(glob_orig_start_sec)); opt_clock_sec := convfloat(clock_sec1) - convfloat(glob_optimal_clock_start_sec); glob_optimal_expect_sec := comp_expect_sec(convfloat(x_end), convfloat(x_start), convfloat(array_x[1]) + convfloat(glob_h), convfloat(opt_clock_sec)); glob_total_exp_sec := glob_optimal_expect_sec + total_clock_sec; percent_done := comp_percent(convfloat(x_end), convfloat(x_start), convfloat(array_x[1]) + convfloat(glob_h)); glob_percent_done := percent_done; omniout_str_noeol(INFO, "Total Elapsed Time "); omniout_timestr(convfloat(total_clock_sec)); omniout_str_noeol(INFO, "Elapsed Time(since restart) "); omniout_timestr(convfloat(glob_clock_sec)); if convfloat(percent_done) < convfloat(100.0) then omniout_str_noeol(INFO, "Expected Time Remaining "); omniout_timestr(convfloat(expect_sec)); omniout_str_noeol(INFO, "Optimized Time Remaining "); omniout_timestr(convfloat(glob_optimal_expect_sec)); omniout_str_noeol(INFO, "Expected Total Time "); omniout_timestr(convfloat(glob_total_exp_sec)) end if; omniout_str_noeol(INFO, "Time to Timeout "); omniout_timestr(convfloat(left_sec)); omniout_float(INFO, "Percent Done ", 33, percent_done, 4, "%") end proc > # End Function number 9 > # Begin Function number 10 > check_for_pole := proc() > global > glob_max_terms, > glob_iolevel, > ALWAYS, > INFO, > DEBUGL, > DEBUGMASSIVE, > #Top Generate Globals Decl > MAX_UNCHANGED, > glob_check_sign, > glob_desired_digits_correct, > glob_max_value3, > glob_ratio_of_radius, > glob_percent_done, > glob_subiter_method, > glob_log10normmin, > glob_total_exp_sec, > glob_optimal_expect_sec, > glob_html_log, > glob_good_digits, > glob_max_opt_iter, > glob_dump, > glob_djd_debug, > glob_display_flag, > glob_djd_debug2, > glob_sec_in_minute, > glob_min_in_hour, > glob_hours_in_day, > glob_days_in_year, > glob_sec_in_hour, > glob_sec_in_day, > glob_sec_in_year, > glob_almost_1, > glob_clock_sec, > glob_clock_start_sec, > glob_not_yet_finished, > glob_initial_pass, > glob_not_yet_start_msg, > glob_reached_optimal_h, > glob_optimal_done, > glob_disp_incr, > glob_h, > glob_hmax, > glob_hmin, > glob_hmin_init, > glob_large_float, > glob_last_good_h, > glob_look_poles, > glob_neg_h, > glob_display_interval, > glob_next_display, > glob_dump_analytic, > glob_log10_abserr, > glob_log10_relerr, > glob_abserr, > glob_relerr, > glob_max_hours, > glob_max_iter, > glob_max_rel_trunc_err, > glob_max_trunc_err, > glob_no_eqs, > glob_optimal_clock_start_sec, > glob_optimal_start, > glob_small_float, > glob_smallish_float, > glob_unchanged_h_cnt, > glob_warned, > glob_warned2, > glob_max_sec, > glob_orig_start_sec, > glob_start, > glob_curr_iter_when_opt, > glob_current_iter, > glob_iter, > glob_normmax, > glob_log10abserr, > glob_log10relerr, > glob_max_minutes, > #Bottom Generate Globals Decl > #BEGIN CONST > array_const_3, > array_const_0D0, > array_const_1, > array_const_1D0, > #END CONST > array_y2_init, > array_y1_init, > array_norms, > array_fact_1, > array_pole, > array_1st_rel_error, > array_last_rel_error, > array_type_pole, > array_y2, > array_x, > array_y1, > array_tmp0, > array_tmp1_g, > array_tmp1, > array_tmp2, > array_tmp3, > array_tmp4, > array_tmp5, > array_tmp6, > array_m1, > array_y2_higher, > array_y2_higher_work, > array_y2_higher_work2, > array_y2_set_initial, > array_y1_higher, > array_y1_higher_work, > array_y1_higher_work2, > array_y1_set_initial, > array_poles, > array_real_pole, > array_complex_pole, > array_fact_2, > glob_last; > local cnt, dr1, dr2, ds1, ds2, hdrc, m, n, nr1, nr2, ord_no, rad_c, rcs, rm0, rm1, rm2, rm3, rm4, found, h_new, ratio, term; > #TOP CHECK FOR POLE > #IN RADII REAL EQ = 1 > #Computes radius of convergence and r_order of pole from 3 adjacent Taylor series terms. EQUATUON NUMBER 1 > #Applies to pole of arbitrary r_order on the real axis, > #Due to Prof. George Corliss. > n := glob_max_terms; > m := n - 3 - 1; > while ((m >= 10) and ((omniabs(array_y2_higher[1,m]) < glob_small_float) or (omniabs(array_y2_higher[1,m-1]) < glob_small_float) or (omniabs(array_y2_higher[1,m-2]) < glob_small_float ))) do # do number 2 > m := m - 1; > od;# end do number 2; > if (m > 10) then # if number 1 > rm0 := array_y2_higher[1,m]/array_y2_higher[1,m-1]; > rm1 := array_y2_higher[1,m-1]/array_y2_higher[1,m-2]; > hdrc := convfloat(m-1)*rm0-convfloat(m-2)*rm1; > if (omniabs(hdrc) > glob_small_float) then # if number 2 > rcs := glob_h/hdrc; > ord_no := convfloat(m-1)*rm0/hdrc - convfloat(m) + 2.0; > array_real_pole[1,1] := rcs; > array_real_pole[1,2] := ord_no; > else > array_real_pole[1,1] := glob_large_float; > array_real_pole[1,2] := glob_large_float; > fi;# end if 2 > else > array_real_pole[1,1] := glob_large_float; > array_real_pole[1,2] := glob_large_float; > fi;# end if 1; > #BOTTOM RADII REAL EQ = 1 > #IN RADII REAL EQ = 2 > #Computes radius of convergence and r_order of pole from 3 adjacent Taylor series terms. EQUATUON NUMBER 2 > #Applies to pole of arbitrary r_order on the real axis, > #Due to Prof. George Corliss. > n := glob_max_terms; > m := n - 1 - 1; > while ((m >= 10) and ((omniabs(array_y1_higher[1,m]) < glob_small_float) or (omniabs(array_y1_higher[1,m-1]) < glob_small_float) or (omniabs(array_y1_higher[1,m-2]) < glob_small_float ))) do # do number 2 > m := m - 1; > od;# end do number 2; > if (m > 10) then # if number 1 > rm0 := array_y1_higher[1,m]/array_y1_higher[1,m-1]; > rm1 := array_y1_higher[1,m-1]/array_y1_higher[1,m-2]; > hdrc := convfloat(m-1)*rm0-convfloat(m-2)*rm1; > if (omniabs(hdrc) > glob_small_float) then # if number 2 > rcs := glob_h/hdrc; > ord_no := convfloat(m-1)*rm0/hdrc - convfloat(m) + 2.0; > array_real_pole[2,1] := rcs; > array_real_pole[2,2] := ord_no; > else > array_real_pole[2,1] := glob_large_float; > array_real_pole[2,2] := glob_large_float; > fi;# end if 2 > else > array_real_pole[2,1] := glob_large_float; > array_real_pole[2,2] := glob_large_float; > fi;# end if 1; > #BOTTOM RADII REAL EQ = 2 > #TOP RADII COMPLEX EQ = 1 > #Computes radius of convergence for complex conjugate pair of poles. > #from 6 adjacent Taylor series terms > #Also computes r_order of poles. > #Due to Manuel Prieto. > #With a correction by Dennis J. Darland > n := glob_max_terms - 3 - 1; > cnt := 0; > while ((cnt < 5) and (n >= 10)) do # do number 2 > if (omniabs(array_y2_higher[1,n]) > glob_small_float) then # if number 1 > cnt := cnt + 1; > else > cnt := 0; > fi;# end if 1; > n := n - 1; > od;# end do number 2; > m := n + cnt; > if (m <= 10) then # if number 1 > array_complex_pole[1,1] := glob_large_float; > array_complex_pole[1,2] := glob_large_float; > elif > ((omniabs(array_y2_higher[1,m]) >= (glob_large_float)) or (omniabs(array_y2_higher[1,m-1]) >=(glob_large_float)) or (omniabs(array_y2_higher[1,m-2]) >= (glob_large_float)) or (omniabs(array_y2_higher[1,m-3]) >= (glob_large_float)) or (omniabs(array_y2_higher[1,m-4]) >= (glob_large_float)) or (omniabs(array_y2_higher[1,m-5]) >= (glob_large_float))) then # if number 2 > array_complex_pole[1,1] := glob_large_float; > array_complex_pole[1,2] := glob_large_float; > else > rm0 := (array_y2_higher[1,m])/(array_y2_higher[1,m-1]); > rm1 := (array_y2_higher[1,m-1])/(array_y2_higher[1,m-2]); > rm2 := (array_y2_higher[1,m-2])/(array_y2_higher[1,m-3]); > rm3 := (array_y2_higher[1,m-3])/(array_y2_higher[1,m-4]); > rm4 := (array_y2_higher[1,m-4])/(array_y2_higher[1,m-5]); > nr1 := convfloat(m-1)*rm0 - 2.0*convfloat(m-2)*rm1 + convfloat(m-3)*rm2; > nr2 := convfloat(m-2)*rm1 - 2.0*convfloat(m-3)*rm2 + convfloat(m-4)*rm3; > dr1 := (-1.0)/rm1 + 2.0/rm2 - 1.0/rm3; > dr2 := (-1.0)/rm2 + 2.0/rm3 - 1.0/rm4; > ds1 := 3.0/rm1 - 8.0/rm2 + 5.0/rm3; > ds2 := 3.0/rm2 - 8.0/rm3 + 5.0/rm4; > if ((omniabs(nr1 * dr2 - nr2 * dr1) <= glob_small_float) or (omniabs(dr1) <= glob_small_float)) then # if number 3 > array_complex_pole[1,1] := glob_large_float; > array_complex_pole[1,2] := glob_large_float; > else > if (omniabs(nr1*dr2 - nr2 * dr1) > glob_small_float) then # if number 4 > rcs := ((ds1*dr2 - ds2*dr1 +dr1*dr2)/(nr1*dr2 - nr2 * dr1)); > #(Manuels) rcs := (ds1*dr2 - ds2*dr1)/(nr1*dr2 - nr2 * dr1) > ord_no := (rcs*nr1 - ds1)/(2.0*dr1) -convfloat(m)/2.0; > if (omniabs(rcs) > glob_small_float) then # if number 5 > if (rcs > 0.0) then # if number 6 > rad_c := sqrt(rcs) * omniabs(glob_h); > else > rad_c := glob_large_float; > fi;# end if 6 > else > rad_c := glob_large_float; > ord_no := glob_large_float; > fi;# end if 5 > else > rad_c := glob_large_float; > ord_no := glob_large_float; > fi;# end if 4 > fi;# end if 3; > array_complex_pole[1,1] := rad_c; > array_complex_pole[1,2] := ord_no; > fi;# end if 2; > #BOTTOM RADII COMPLEX EQ = 1 > #TOP RADII COMPLEX EQ = 2 > #Computes radius of convergence for complex conjugate pair of poles. > #from 6 adjacent Taylor series terms > #Also computes r_order of poles. > #Due to Manuel Prieto. > #With a correction by Dennis J. Darland > n := glob_max_terms - 1 - 1; > cnt := 0; > while ((cnt < 5) and (n >= 10)) do # do number 2 > if (omniabs(array_y1_higher[1,n]) > glob_small_float) then # if number 2 > cnt := cnt + 1; > else > cnt := 0; > fi;# end if 2; > n := n - 1; > od;# end do number 2; > m := n + cnt; > if (m <= 10) then # if number 2 > array_complex_pole[2,1] := glob_large_float; > array_complex_pole[2,2] := glob_large_float; > elif > ((omniabs(array_y1_higher[1,m]) >= (glob_large_float)) or (omniabs(array_y1_higher[1,m-1]) >=(glob_large_float)) or (omniabs(array_y1_higher[1,m-2]) >= (glob_large_float)) or (omniabs(array_y1_higher[1,m-3]) >= (glob_large_float)) or (omniabs(array_y1_higher[1,m-4]) >= (glob_large_float)) or (omniabs(array_y1_higher[1,m-5]) >= (glob_large_float))) then # if number 3 > array_complex_pole[2,1] := glob_large_float; > array_complex_pole[2,2] := glob_large_float; > else > rm0 := (array_y1_higher[1,m])/(array_y1_higher[1,m-1]); > rm1 := (array_y1_higher[1,m-1])/(array_y1_higher[1,m-2]); > rm2 := (array_y1_higher[1,m-2])/(array_y1_higher[1,m-3]); > rm3 := (array_y1_higher[1,m-3])/(array_y1_higher[1,m-4]); > rm4 := (array_y1_higher[1,m-4])/(array_y1_higher[1,m-5]); > nr1 := convfloat(m-1)*rm0 - 2.0*convfloat(m-2)*rm1 + convfloat(m-3)*rm2; > nr2 := convfloat(m-2)*rm1 - 2.0*convfloat(m-3)*rm2 + convfloat(m-4)*rm3; > dr1 := (-1.0)/rm1 + 2.0/rm2 - 1.0/rm3; > dr2 := (-1.0)/rm2 + 2.0/rm3 - 1.0/rm4; > ds1 := 3.0/rm1 - 8.0/rm2 + 5.0/rm3; > ds2 := 3.0/rm2 - 8.0/rm3 + 5.0/rm4; > if ((omniabs(nr1 * dr2 - nr2 * dr1) <= glob_small_float) or (omniabs(dr1) <= glob_small_float)) then # if number 4 > array_complex_pole[2,1] := glob_large_float; > array_complex_pole[2,2] := glob_large_float; > else > if (omniabs(nr1*dr2 - nr2 * dr1) > glob_small_float) then # if number 5 > rcs := ((ds1*dr2 - ds2*dr1 +dr1*dr2)/(nr1*dr2 - nr2 * dr1)); > #(Manuels) rcs := (ds1*dr2 - ds2*dr1)/(nr1*dr2 - nr2 * dr1) > ord_no := (rcs*nr1 - ds1)/(2.0*dr1) -convfloat(m)/2.0; > if (omniabs(rcs) > glob_small_float) then # if number 6 > if (rcs > 0.0) then # if number 7 > rad_c := sqrt(rcs) * omniabs(glob_h); > else > rad_c := glob_large_float; > fi;# end if 7 > else > rad_c := glob_large_float; > ord_no := glob_large_float; > fi;# end if 6 > else > rad_c := glob_large_float; > ord_no := glob_large_float; > fi;# end if 5 > fi;# end if 4; > array_complex_pole[2,1] := rad_c; > array_complex_pole[2,2] := ord_no; > fi;# end if 3; > #BOTTOM RADII COMPLEX EQ = 2 > found := false; > #TOP WHICH RADII EQ = 1 > if ( not found and ((array_real_pole[1,1] = glob_large_float) or (array_real_pole[1,2] = glob_large_float)) and ((array_complex_pole[1,1] <> glob_large_float) and (array_complex_pole[1,2] <> glob_large_float)) and ((array_complex_pole[1,1] > 0.0) and (array_complex_pole[1,2] > 0.0))) then # if number 3 > array_poles[1,1] := array_complex_pole[1,1]; > array_poles[1,2] := array_complex_pole[1,2]; > found := true; > array_type_pole[1] := 2; > if (glob_display_flag) then # if number 4 > if (reached_interval()) then # if number 5 > omniout_str(ALWAYS,"Complex estimate of poles used"); > fi;# end if 5; > fi;# end if 4; > fi;# end if 3; > if ( not found and ((array_real_pole[1,1] <> glob_large_float) and (array_real_pole[1,2] <> glob_large_float) and (array_real_pole[1,1] > 0.0) and (array_real_pole[1,2] > 0.0) and ((array_complex_pole[1,1] = glob_large_float) or (array_complex_pole[1,2] = glob_large_float) or (array_complex_pole[1,1] <= 0.0 ) or (array_complex_pole[1,2] <= 0.0)))) then # if number 3 > array_poles[1,1] := array_real_pole[1,1]; > array_poles[1,2] := array_real_pole[1,2]; > found := true; > array_type_pole[1] := 1; > if (glob_display_flag) then # if number 4 > if (reached_interval()) then # if number 5 > omniout_str(ALWAYS,"Real estimate of pole used"); > fi;# end if 5; > fi;# end if 4; > fi;# end if 3; > if ( not found and (((array_real_pole[1,1] = glob_large_float) or (array_real_pole[1,2] = glob_large_float)) and ((array_complex_pole[1,1] = glob_large_float) or (array_complex_pole[1,2] = glob_large_float)))) then # if number 3 > array_poles[1,1] := glob_large_float; > array_poles[1,2] := glob_large_float; > found := true; > array_type_pole[1] := 3; > if (reached_interval()) then # if number 4 > omniout_str(ALWAYS,"NO POLE"); > fi;# end if 4; > fi;# end if 3; > if ( not found and ((array_real_pole[1,1] < array_complex_pole[1,1]) and (array_real_pole[1,1] > 0.0) and (array_real_pole[1,2] > 0.0))) then # if number 3 > array_poles[1,1] := array_real_pole[1,1]; > array_poles[1,2] := array_real_pole[1,2]; > found := true; > array_type_pole[1] := 1; > if (glob_display_flag) then # if number 4 > if (reached_interval()) then # if number 5 > omniout_str(ALWAYS,"Real estimate of pole used"); > fi;# end if 5; > fi;# end if 4; > fi;# end if 3; > if ( not found and ((array_complex_pole[1,1] <> glob_large_float) and (array_complex_pole[1,2] <> glob_large_float) and (array_complex_pole[1,1] > 0.0) and (array_complex_pole[1,2] > 0.0))) then # if number 3 > array_poles[1,1] := array_complex_pole[1,1]; > array_poles[1,2] := array_complex_pole[1,2]; > array_type_pole[1] := 2; > found := true; > if (glob_display_flag) then # if number 4 > if (reached_interval()) then # if number 5 > omniout_str(ALWAYS,"Complex estimate of poles used"); > fi;# end if 5; > fi;# end if 4; > fi;# end if 3; > if ( not found ) then # if number 3 > array_poles[1,1] := glob_large_float; > array_poles[1,2] := glob_large_float; > array_type_pole[1] := 3; > if (reached_interval()) then # if number 4 > omniout_str(ALWAYS,"NO POLE"); > fi;# end if 4; > fi;# end if 3; > #BOTTOM WHICH RADII EQ = 1 > found := false; > #TOP WHICH RADII EQ = 2 > if ( not found and ((array_real_pole[2,1] = glob_large_float) or (array_real_pole[2,2] = glob_large_float)) and ((array_complex_pole[2,1] <> glob_large_float) and (array_complex_pole[2,2] <> glob_large_float)) and ((array_complex_pole[2,1] > 0.0) and (array_complex_pole[2,2] > 0.0))) then # if number 3 > array_poles[2,1] := array_complex_pole[2,1]; > array_poles[2,2] := array_complex_pole[2,2]; > found := true; > array_type_pole[2] := 2; > if (glob_display_flag) then # if number 4 > if (reached_interval()) then # if number 5 > omniout_str(ALWAYS,"Complex estimate of poles used"); > fi;# end if 5; > fi;# end if 4; > fi;# end if 3; > if ( not found and ((array_real_pole[2,1] <> glob_large_float) and (array_real_pole[2,2] <> glob_large_float) and (array_real_pole[2,1] > 0.0) and (array_real_pole[2,2] > 0.0) and ((array_complex_pole[2,1] = glob_large_float) or (array_complex_pole[2,2] = glob_large_float) or (array_complex_pole[2,1] <= 0.0 ) or (array_complex_pole[2,2] <= 0.0)))) then # if number 3 > array_poles[2,1] := array_real_pole[2,1]; > array_poles[2,2] := array_real_pole[2,2]; > found := true; > array_type_pole[2] := 1; > if (glob_display_flag) then # if number 4 > if (reached_interval()) then # if number 5 > omniout_str(ALWAYS,"Real estimate of pole used"); > fi;# end if 5; > fi;# end if 4; > fi;# end if 3; > if ( not found and (((array_real_pole[2,1] = glob_large_float) or (array_real_pole[2,2] = glob_large_float)) and ((array_complex_pole[2,1] = glob_large_float) or (array_complex_pole[2,2] = glob_large_float)))) then # if number 3 > array_poles[2,1] := glob_large_float; > array_poles[2,2] := glob_large_float; > found := true; > array_type_pole[2] := 3; > if (reached_interval()) then # if number 4 > omniout_str(ALWAYS,"NO POLE"); > fi;# end if 4; > fi;# end if 3; > if ( not found and ((array_real_pole[2,1] < array_complex_pole[2,1]) and (array_real_pole[2,1] > 0.0) and (array_real_pole[2,2] > 0.0))) then # if number 3 > array_poles[2,1] := array_real_pole[2,1]; > array_poles[2,2] := array_real_pole[2,2]; > found := true; > array_type_pole[2] := 1; > if (glob_display_flag) then # if number 4 > if (reached_interval()) then # if number 5 > omniout_str(ALWAYS,"Real estimate of pole used"); > fi;# end if 5; > fi;# end if 4; > fi;# end if 3; > if ( not found and ((array_complex_pole[2,1] <> glob_large_float) and (array_complex_pole[2,2] <> glob_large_float) and (array_complex_pole[2,1] > 0.0) and (array_complex_pole[2,2] > 0.0))) then # if number 3 > array_poles[2,1] := array_complex_pole[2,1]; > array_poles[2,2] := array_complex_pole[2,2]; > array_type_pole[2] := 2; > found := true; > if (glob_display_flag) then # if number 4 > if (reached_interval()) then # if number 5 > omniout_str(ALWAYS,"Complex estimate of poles used"); > fi;# end if 5; > fi;# end if 4; > fi;# end if 3; > if ( not found ) then # if number 3 > array_poles[2,1] := glob_large_float; > array_poles[2,2] := glob_large_float; > array_type_pole[2] := 3; > if (reached_interval()) then # if number 4 > omniout_str(ALWAYS,"NO POLE"); > fi;# end if 4; > fi;# end if 3; > #BOTTOM WHICH RADII EQ = 2 > array_pole[1] := glob_large_float; > array_pole[2] := glob_large_float; > #TOP WHICH RADIUS EQ = 1 > if (array_pole[1] > array_poles[1,1]) then # if number 3 > array_pole[1] := array_poles[1,1]; > array_pole[2] := array_poles[1,2]; > fi;# end if 3; > #BOTTOM WHICH RADIUS EQ = 1 > #TOP WHICH RADIUS EQ = 2 > if (array_pole[1] > array_poles[2,1]) then # if number 3 > array_pole[1] := array_poles[2,1]; > array_pole[2] := array_poles[2,2]; > fi;# end if 3; > #BOTTOM WHICH RADIUS EQ = 2 > #START ADJUST ALL SERIES > if (array_pole[1] * glob_ratio_of_radius < omniabs(glob_h)) then # if number 3 > h_new := array_pole[1] * glob_ratio_of_radius; > term := 1; > ratio := 1.0; > while (term <= glob_max_terms) do # do number 2 > array_y2[term] := array_y2[term]* ratio; > array_y2_higher[1,term] := array_y2_higher[1,term]* ratio; > array_x[term] := array_x[term]* ratio; > array_y1[term] := array_y1[term]* ratio; > array_y1_higher[1,term] := array_y1_higher[1,term]* ratio; > array_x[term] := array_x[term]* ratio; > ratio := ratio * h_new / omniabs(glob_h); > term := term + 1; > od;# end do number 2; > glob_h := h_new; > fi;# end if 3; > #BOTTOM ADJUST ALL SERIES > if (reached_interval()) then # if number 3 > display_pole(); > fi;# end if 3 > end; check_for_pole := proc() local cnt, dr1, dr2, ds1, ds2, hdrc, m, n, nr1, nr2, ord_no, rad_c, rcs, rm0, rm1, rm2, rm3, rm4, found, h_new, ratio, term; global glob_max_terms, glob_iolevel, ALWAYS, INFO, DEBUGL, DEBUGMASSIVE, MAX_UNCHANGED, glob_check_sign, glob_desired_digits_correct, glob_max_value3, glob_ratio_of_radius, glob_percent_done, glob_subiter_method, glob_log10normmin, glob_total_exp_sec, glob_optimal_expect_sec, glob_html_log, glob_good_digits, glob_max_opt_iter, glob_dump, glob_djd_debug, glob_display_flag, glob_djd_debug2, glob_sec_in_minute, glob_min_in_hour, glob_hours_in_day, glob_days_in_year, glob_sec_in_hour, glob_sec_in_day, glob_sec_in_year, glob_almost_1, glob_clock_sec, glob_clock_start_sec, glob_not_yet_finished, glob_initial_pass, glob_not_yet_start_msg, glob_reached_optimal_h, glob_optimal_done, glob_disp_incr, glob_h, glob_hmax, glob_hmin, glob_hmin_init, glob_large_float, glob_last_good_h, glob_look_poles, glob_neg_h, glob_display_interval, glob_next_display, glob_dump_analytic, glob_log10_abserr, glob_log10_relerr, glob_abserr, glob_relerr, glob_max_hours, glob_max_iter, glob_max_rel_trunc_err, glob_max_trunc_err, glob_no_eqs, glob_optimal_clock_start_sec, glob_optimal_start, glob_small_float, glob_smallish_float, glob_unchanged_h_cnt, glob_warned, glob_warned2, glob_max_sec, glob_orig_start_sec, glob_start, glob_curr_iter_when_opt, glob_current_iter, glob_iter, glob_normmax, glob_log10abserr, glob_log10relerr, glob_max_minutes, array_const_3, array_const_0D0, array_const_1, array_const_1D0, array_y2_init, array_y1_init, array_norms, array_fact_1, array_pole, array_1st_rel_error, array_last_rel_error, array_type_pole, array_y2, array_x, array_y1, array_tmp0, array_tmp1_g, array_tmp1, array_tmp2, array_tmp3, array_tmp4, array_tmp5, array_tmp6, array_m1, array_y2_higher, array_y2_higher_work, array_y2_higher_work2, array_y2_set_initial, array_y1_higher, array_y1_higher_work, array_y1_higher_work2, array_y1_set_initial, array_poles, array_real_pole, array_complex_pole, array_fact_2, glob_last; n := glob_max_terms; m := n - 4; while 10 <= m and (omniabs(array_y2_higher[1, m]) < glob_small_float or omniabs(array_y2_higher[1, m - 1]) < glob_small_float or omniabs(array_y2_higher[1, m - 2]) < glob_small_float) do m := m - 1 end do; if 10 < m then rm0 := array_y2_higher[1, m]/array_y2_higher[1, m - 1]; rm1 := array_y2_higher[1, m - 1]/array_y2_higher[1, m - 2]; hdrc := convfloat(m - 1)*rm0 - convfloat(m - 2)*rm1; if glob_small_float < omniabs(hdrc) then rcs := glob_h/hdrc; ord_no := convfloat(m - 1)*rm0/hdrc - convfloat(m) + 2.0; array_real_pole[1, 1] := rcs; array_real_pole[1, 2] := ord_no else array_real_pole[1, 1] := glob_large_float; array_real_pole[1, 2] := glob_large_float end if else array_real_pole[1, 1] := glob_large_float; array_real_pole[1, 2] := glob_large_float end if; n := glob_max_terms; m := n - 2; while 10 <= m and (omniabs(array_y1_higher[1, m]) < glob_small_float or omniabs(array_y1_higher[1, m - 1]) < glob_small_float or omniabs(array_y1_higher[1, m - 2]) < glob_small_float) do m := m - 1 end do; if 10 < m then rm0 := array_y1_higher[1, m]/array_y1_higher[1, m - 1]; rm1 := array_y1_higher[1, m - 1]/array_y1_higher[1, m - 2]; hdrc := convfloat(m - 1)*rm0 - convfloat(m - 2)*rm1; if glob_small_float < omniabs(hdrc) then rcs := glob_h/hdrc; ord_no := convfloat(m - 1)*rm0/hdrc - convfloat(m) + 2.0; array_real_pole[2, 1] := rcs; array_real_pole[2, 2] := ord_no else array_real_pole[2, 1] := glob_large_float; array_real_pole[2, 2] := glob_large_float end if else array_real_pole[2, 1] := glob_large_float; array_real_pole[2, 2] := glob_large_float end if; n := glob_max_terms - 4; cnt := 0; while cnt < 5 and 10 <= n do if glob_small_float < omniabs(array_y2_higher[1, n]) then cnt := cnt + 1 else cnt := 0 end if; n := n - 1 end do; m := n + cnt; if m <= 10 then array_complex_pole[1, 1] := glob_large_float; array_complex_pole[1, 2] := glob_large_float elif glob_large_float <= omniabs(array_y2_higher[1, m]) or glob_large_float <= omniabs(array_y2_higher[1, m - 1]) or glob_large_float <= omniabs(array_y2_higher[1, m - 2]) or glob_large_float <= omniabs(array_y2_higher[1, m - 3]) or glob_large_float <= omniabs(array_y2_higher[1, m - 4]) or glob_large_float <= omniabs(array_y2_higher[1, m - 5]) then array_complex_pole[1, 1] := glob_large_float; array_complex_pole[1, 2] := glob_large_float else rm0 := array_y2_higher[1, m]/array_y2_higher[1, m - 1]; rm1 := array_y2_higher[1, m - 1]/array_y2_higher[1, m - 2]; rm2 := array_y2_higher[1, m - 2]/array_y2_higher[1, m - 3]; rm3 := array_y2_higher[1, m - 3]/array_y2_higher[1, m - 4]; rm4 := array_y2_higher[1, m - 4]/array_y2_higher[1, m - 5]; nr1 := convfloat(m - 1)*rm0 - 2.0*convfloat(m - 2)*rm1 + convfloat(m - 3)*rm2; nr2 := convfloat(m - 2)*rm1 - 2.0*convfloat(m - 3)*rm2 + convfloat(m - 4)*rm3; dr1 := (-1)*(1.0)/rm1 + 2.0/rm2 - 1.0/rm3; dr2 := (-1)*(1.0)/rm2 + 2.0/rm3 - 1.0/rm4; ds1 := 3.0/rm1 - 8.0/rm2 + 5.0/rm3; ds2 := 3.0/rm2 - 8.0/rm3 + 5.0/rm4; if omniabs(nr1*dr2 - nr2*dr1) <= glob_small_float or omniabs(dr1) <= glob_small_float then array_complex_pole[1, 1] := glob_large_float; array_complex_pole[1, 2] := glob_large_float else if glob_small_float < omniabs(nr1*dr2 - nr2*dr1) then rcs := (ds1*dr2 - ds2*dr1 + dr1*dr2)/(nr1*dr2 - nr2*dr1); ord_no := (rcs*nr1 - ds1)/(2.0*dr1) - convfloat(m)/2.0; if glob_small_float < omniabs(rcs) then if 0. < rcs then rad_c := sqrt(rcs)*omniabs(glob_h) else rad_c := glob_large_float end if else rad_c := glob_large_float; ord_no := glob_large_float end if else rad_c := glob_large_float; ord_no := glob_large_float end if end if; array_complex_pole[1, 1] := rad_c; array_complex_pole[1, 2] := ord_no end if; n := glob_max_terms - 2; cnt := 0; while cnt < 5 and 10 <= n do if glob_small_float < omniabs(array_y1_higher[1, n]) then cnt := cnt + 1 else cnt := 0 end if; n := n - 1 end do; m := n + cnt; if m <= 10 then array_complex_pole[2, 1] := glob_large_float; array_complex_pole[2, 2] := glob_large_float elif glob_large_float <= omniabs(array_y1_higher[1, m]) or glob_large_float <= omniabs(array_y1_higher[1, m - 1]) or glob_large_float <= omniabs(array_y1_higher[1, m - 2]) or glob_large_float <= omniabs(array_y1_higher[1, m - 3]) or glob_large_float <= omniabs(array_y1_higher[1, m - 4]) or glob_large_float <= omniabs(array_y1_higher[1, m - 5]) then array_complex_pole[2, 1] := glob_large_float; array_complex_pole[2, 2] := glob_large_float else rm0 := array_y1_higher[1, m]/array_y1_higher[1, m - 1]; rm1 := array_y1_higher[1, m - 1]/array_y1_higher[1, m - 2]; rm2 := array_y1_higher[1, m - 2]/array_y1_higher[1, m - 3]; rm3 := array_y1_higher[1, m - 3]/array_y1_higher[1, m - 4]; rm4 := array_y1_higher[1, m - 4]/array_y1_higher[1, m - 5]; nr1 := convfloat(m - 1)*rm0 - 2.0*convfloat(m - 2)*rm1 + convfloat(m - 3)*rm2; nr2 := convfloat(m - 2)*rm1 - 2.0*convfloat(m - 3)*rm2 + convfloat(m - 4)*rm3; dr1 := (-1)*(1.0)/rm1 + 2.0/rm2 - 1.0/rm3; dr2 := (-1)*(1.0)/rm2 + 2.0/rm3 - 1.0/rm4; ds1 := 3.0/rm1 - 8.0/rm2 + 5.0/rm3; ds2 := 3.0/rm2 - 8.0/rm3 + 5.0/rm4; if omniabs(nr1*dr2 - nr2*dr1) <= glob_small_float or omniabs(dr1) <= glob_small_float then array_complex_pole[2, 1] := glob_large_float; array_complex_pole[2, 2] := glob_large_float else if glob_small_float < omniabs(nr1*dr2 - nr2*dr1) then rcs := (ds1*dr2 - ds2*dr1 + dr1*dr2)/(nr1*dr2 - nr2*dr1); ord_no := (rcs*nr1 - ds1)/(2.0*dr1) - convfloat(m)/2.0; if glob_small_float < omniabs(rcs) then if 0. < rcs then rad_c := sqrt(rcs)*omniabs(glob_h) else rad_c := glob_large_float end if else rad_c := glob_large_float; ord_no := glob_large_float end if else rad_c := glob_large_float; ord_no := glob_large_float end if end if; array_complex_pole[2, 1] := rad_c; array_complex_pole[2, 2] := ord_no end if; found := false; if not found and (array_real_pole[1, 1] = glob_large_float or array_real_pole[1, 2] = glob_large_float) and array_complex_pole[1, 1] <> glob_large_float and array_complex_pole[1, 2] <> glob_large_float and 0. < array_complex_pole[1, 1] and 0. < array_complex_pole[1, 2] then array_poles[1, 1] := array_complex_pole[1, 1]; array_poles[1, 2] := array_complex_pole[1, 2]; found := true; array_type_pole[1] := 2; if glob_display_flag then if reached_interval() then omniout_str(ALWAYS, "Complex estimate of poles used") end if end if end if; if not found and array_real_pole[1, 1] <> glob_large_float and array_real_pole[1, 2] <> glob_large_float and 0. < array_real_pole[1, 1] and 0. < array_real_pole[1, 2] and ( array_complex_pole[1, 1] = glob_large_float or array_complex_pole[1, 2] = glob_large_float or array_complex_pole[1, 1] <= 0. or array_complex_pole[1, 2] <= 0.) then array_poles[1, 1] := array_real_pole[1, 1]; array_poles[1, 2] := array_real_pole[1, 2]; found := true; array_type_pole[1] := 1; if glob_display_flag then if reached_interval() then omniout_str(ALWAYS, "Real estimate of pole used") end if end if end if; if not found and (array_real_pole[1, 1] = glob_large_float or array_real_pole[1, 2] = glob_large_float) and ( array_complex_pole[1, 1] = glob_large_float or array_complex_pole[1, 2] = glob_large_float) then array_poles[1, 1] := glob_large_float; array_poles[1, 2] := glob_large_float; found := true; array_type_pole[1] := 3; if reached_interval() then omniout_str(ALWAYS, "NO POLE") end if end if; if not found and array_real_pole[1, 1] < array_complex_pole[1, 1] and 0. < array_real_pole[1, 1] and 0. < array_real_pole[1, 2] then array_poles[1, 1] := array_real_pole[1, 1]; array_poles[1, 2] := array_real_pole[1, 2]; found := true; array_type_pole[1] := 1; if glob_display_flag then if reached_interval() then omniout_str(ALWAYS, "Real estimate of pole used") end if end if end if; if not found and array_complex_pole[1, 1] <> glob_large_float and array_complex_pole[1, 2] <> glob_large_float and 0. < array_complex_pole[1, 1] and 0. < array_complex_pole[1, 2] then array_poles[1, 1] := array_complex_pole[1, 1]; array_poles[1, 2] := array_complex_pole[1, 2]; array_type_pole[1] := 2; found := true; if glob_display_flag then if reached_interval() then omniout_str(ALWAYS, "Complex estimate of poles used") end if end if end if; if not found then array_poles[1, 1] := glob_large_float; array_poles[1, 2] := glob_large_float; array_type_pole[1] := 3; if reached_interval() then omniout_str(ALWAYS, "NO POLE") end if end if; found := false; if not found and (array_real_pole[2, 1] = glob_large_float or array_real_pole[2, 2] = glob_large_float) and array_complex_pole[2, 1] <> glob_large_float and array_complex_pole[2, 2] <> glob_large_float and 0. < array_complex_pole[2, 1] and 0. < array_complex_pole[2, 2] then array_poles[2, 1] := array_complex_pole[2, 1]; array_poles[2, 2] := array_complex_pole[2, 2]; found := true; array_type_pole[2] := 2; if glob_display_flag then if reached_interval() then omniout_str(ALWAYS, "Complex estimate of poles used") end if end if end if; if not found and array_real_pole[2, 1] <> glob_large_float and array_real_pole[2, 2] <> glob_large_float and 0. < array_real_pole[2, 1] and 0. < array_real_pole[2, 2] and ( array_complex_pole[2, 1] = glob_large_float or array_complex_pole[2, 2] = glob_large_float or array_complex_pole[2, 1] <= 0. or array_complex_pole[2, 2] <= 0.) then array_poles[2, 1] := array_real_pole[2, 1]; array_poles[2, 2] := array_real_pole[2, 2]; found := true; array_type_pole[2] := 1; if glob_display_flag then if reached_interval() then omniout_str(ALWAYS, "Real estimate of pole used") end if end if end if; if not found and (array_real_pole[2, 1] = glob_large_float or array_real_pole[2, 2] = glob_large_float) and ( array_complex_pole[2, 1] = glob_large_float or array_complex_pole[2, 2] = glob_large_float) then array_poles[2, 1] := glob_large_float; array_poles[2, 2] := glob_large_float; found := true; array_type_pole[2] := 3; if reached_interval() then omniout_str(ALWAYS, "NO POLE") end if end if; if not found and array_real_pole[2, 1] < array_complex_pole[2, 1] and 0. < array_real_pole[2, 1] and 0. < array_real_pole[2, 2] then array_poles[2, 1] := array_real_pole[2, 1]; array_poles[2, 2] := array_real_pole[2, 2]; found := true; array_type_pole[2] := 1; if glob_display_flag then if reached_interval() then omniout_str(ALWAYS, "Real estimate of pole used") end if end if end if; if not found and array_complex_pole[2, 1] <> glob_large_float and array_complex_pole[2, 2] <> glob_large_float and 0. < array_complex_pole[2, 1] and 0. < array_complex_pole[2, 2] then array_poles[2, 1] := array_complex_pole[2, 1]; array_poles[2, 2] := array_complex_pole[2, 2]; array_type_pole[2] := 2; found := true; if glob_display_flag then if reached_interval() then omniout_str(ALWAYS, "Complex estimate of poles used") end if end if end if; if not found then array_poles[2, 1] := glob_large_float; array_poles[2, 2] := glob_large_float; array_type_pole[2] := 3; if reached_interval() then omniout_str(ALWAYS, "NO POLE") end if end if; array_pole[1] := glob_large_float; array_pole[2] := glob_large_float; if array_poles[1, 1] < array_pole[1] then array_pole[1] := array_poles[1, 1]; array_pole[2] := array_poles[1, 2] end if; if array_poles[2, 1] < array_pole[1] then array_pole[1] := array_poles[2, 1]; array_pole[2] := array_poles[2, 2] end if; if array_pole[1]*glob_ratio_of_radius < omniabs(glob_h) then h_new := array_pole[1]*glob_ratio_of_radius; term := 1; ratio := 1.0; while term <= glob_max_terms do array_y2[term] := array_y2[term]*ratio; array_y2_higher[1, term] := array_y2_higher[1, term]*ratio; array_x[term] := array_x[term]*ratio; array_y1[term] := array_y1[term]*ratio; array_y1_higher[1, term] := array_y1_higher[1, term]*ratio; array_x[term] := array_x[term]*ratio; ratio := ratio*h_new/omniabs(glob_h); term := term + 1 end do; glob_h := h_new end if; if reached_interval() then display_pole() end if end proc > # End Function number 10 > # Begin Function number 11 > get_norms := proc() > global > glob_max_terms, > glob_iolevel, > ALWAYS, > INFO, > DEBUGL, > DEBUGMASSIVE, > #Top Generate Globals Decl > MAX_UNCHANGED, > glob_check_sign, > glob_desired_digits_correct, > glob_max_value3, > glob_ratio_of_radius, > glob_percent_done, > glob_subiter_method, > glob_log10normmin, > glob_total_exp_sec, > glob_optimal_expect_sec, > glob_html_log, > glob_good_digits, > glob_max_opt_iter, > glob_dump, > glob_djd_debug, > glob_display_flag, > glob_djd_debug2, > glob_sec_in_minute, > glob_min_in_hour, > glob_hours_in_day, > glob_days_in_year, > glob_sec_in_hour, > glob_sec_in_day, > glob_sec_in_year, > glob_almost_1, > glob_clock_sec, > glob_clock_start_sec, > glob_not_yet_finished, > glob_initial_pass, > glob_not_yet_start_msg, > glob_reached_optimal_h, > glob_optimal_done, > glob_disp_incr, > glob_h, > glob_hmax, > glob_hmin, > glob_hmin_init, > glob_large_float, > glob_last_good_h, > glob_look_poles, > glob_neg_h, > glob_display_interval, > glob_next_display, > glob_dump_analytic, > glob_log10_abserr, > glob_log10_relerr, > glob_abserr, > glob_relerr, > glob_max_hours, > glob_max_iter, > glob_max_rel_trunc_err, > glob_max_trunc_err, > glob_no_eqs, > glob_optimal_clock_start_sec, > glob_optimal_start, > glob_small_float, > glob_smallish_float, > glob_unchanged_h_cnt, > glob_warned, > glob_warned2, > glob_max_sec, > glob_orig_start_sec, > glob_start, > glob_curr_iter_when_opt, > glob_current_iter, > glob_iter, > glob_normmax, > glob_log10abserr, > glob_log10relerr, > glob_max_minutes, > #Bottom Generate Globals Decl > #BEGIN CONST > array_const_3, > array_const_0D0, > array_const_1, > array_const_1D0, > #END CONST > array_y2_init, > array_y1_init, > array_norms, > array_fact_1, > array_pole, > array_1st_rel_error, > array_last_rel_error, > array_type_pole, > array_y2, > array_x, > array_y1, > array_tmp0, > array_tmp1_g, > array_tmp1, > array_tmp2, > array_tmp3, > array_tmp4, > array_tmp5, > array_tmp6, > array_m1, > array_y2_higher, > array_y2_higher_work, > array_y2_higher_work2, > array_y2_set_initial, > array_y1_higher, > array_y1_higher_work, > array_y1_higher_work2, > array_y1_set_initial, > array_poles, > array_real_pole, > array_complex_pole, > array_fact_2, > glob_last; > local iii; > if ( not glob_initial_pass) then # if number 3 > iii := 1; > while (iii <= glob_max_terms) do # do number 2 > array_norms[iii] := 0.0; > iii := iii + 1; > od;# end do number 2; > #TOP GET NORMS > iii := 1; > while (iii <= glob_max_terms) do # do number 2 > if (omniabs(array_y2[iii]) > array_norms[iii]) then # if number 4 > array_norms[iii] := omniabs(array_y2[iii]); > fi;# end if 4; > iii := iii + 1; > od;# end do number 2 > ; > iii := 1; > while (iii <= glob_max_terms) do # do number 2 > if (omniabs(array_y1[iii]) > array_norms[iii]) then # if number 4 > array_norms[iii] := omniabs(array_y1[iii]); > fi;# end if 4; > iii := iii + 1; > od;# end do number 2 > #BOTTOM GET NORMS > ; > fi;# end if 3; > end; get_norms := proc() local iii; global glob_max_terms, glob_iolevel, ALWAYS, INFO, DEBUGL, DEBUGMASSIVE, MAX_UNCHANGED, glob_check_sign, glob_desired_digits_correct, glob_max_value3, glob_ratio_of_radius, glob_percent_done, glob_subiter_method, glob_log10normmin, glob_total_exp_sec, glob_optimal_expect_sec, glob_html_log, glob_good_digits, glob_max_opt_iter, glob_dump, glob_djd_debug, glob_display_flag, glob_djd_debug2, glob_sec_in_minute, glob_min_in_hour, glob_hours_in_day, glob_days_in_year, glob_sec_in_hour, glob_sec_in_day, glob_sec_in_year, glob_almost_1, glob_clock_sec, glob_clock_start_sec, glob_not_yet_finished, glob_initial_pass, glob_not_yet_start_msg, glob_reached_optimal_h, glob_optimal_done, glob_disp_incr, glob_h, glob_hmax, glob_hmin, glob_hmin_init, glob_large_float, glob_last_good_h, glob_look_poles, glob_neg_h, glob_display_interval, glob_next_display, glob_dump_analytic, glob_log10_abserr, glob_log10_relerr, glob_abserr, glob_relerr, glob_max_hours, glob_max_iter, glob_max_rel_trunc_err, glob_max_trunc_err, glob_no_eqs, glob_optimal_clock_start_sec, glob_optimal_start, glob_small_float, glob_smallish_float, glob_unchanged_h_cnt, glob_warned, glob_warned2, glob_max_sec, glob_orig_start_sec, glob_start, glob_curr_iter_when_opt, glob_current_iter, glob_iter, glob_normmax, glob_log10abserr, glob_log10relerr, glob_max_minutes, array_const_3, array_const_0D0, array_const_1, array_const_1D0, array_y2_init, array_y1_init, array_norms, array_fact_1, array_pole, array_1st_rel_error, array_last_rel_error, array_type_pole, array_y2, array_x, array_y1, array_tmp0, array_tmp1_g, array_tmp1, array_tmp2, array_tmp3, array_tmp4, array_tmp5, array_tmp6, array_m1, array_y2_higher, array_y2_higher_work, array_y2_higher_work2, array_y2_set_initial, array_y1_higher, array_y1_higher_work, array_y1_higher_work2, array_y1_set_initial, array_poles, array_real_pole, array_complex_pole, array_fact_2, glob_last; if not glob_initial_pass then iii := 1; while iii <= glob_max_terms do array_norms[iii] := 0.; iii := iii + 1 end do; iii := 1; while iii <= glob_max_terms do if array_norms[iii] < omniabs(array_y2[iii]) then array_norms[iii] := omniabs(array_y2[iii]) end if; iii := iii + 1 end do; iii := 1; while iii <= glob_max_terms do if array_norms[iii] < omniabs(array_y1[iii]) then array_norms[iii] := omniabs(array_y1[iii]) end if; iii := iii + 1 end do end if end proc > # End Function number 11 > # Begin Function number 12 > atomall := proc() > global > glob_max_terms, > glob_iolevel, > ALWAYS, > INFO, > DEBUGL, > DEBUGMASSIVE, > #Top Generate Globals Decl > MAX_UNCHANGED, > glob_check_sign, > glob_desired_digits_correct, > glob_max_value3, > glob_ratio_of_radius, > glob_percent_done, > glob_subiter_method, > glob_log10normmin, > glob_total_exp_sec, > glob_optimal_expect_sec, > glob_html_log, > glob_good_digits, > glob_max_opt_iter, > glob_dump, > glob_djd_debug, > glob_display_flag, > glob_djd_debug2, > glob_sec_in_minute, > glob_min_in_hour, > glob_hours_in_day, > glob_days_in_year, > glob_sec_in_hour, > glob_sec_in_day, > glob_sec_in_year, > glob_almost_1, > glob_clock_sec, > glob_clock_start_sec, > glob_not_yet_finished, > glob_initial_pass, > glob_not_yet_start_msg, > glob_reached_optimal_h, > glob_optimal_done, > glob_disp_incr, > glob_h, > glob_hmax, > glob_hmin, > glob_hmin_init, > glob_large_float, > glob_last_good_h, > glob_look_poles, > glob_neg_h, > glob_display_interval, > glob_next_display, > glob_dump_analytic, > glob_log10_abserr, > glob_log10_relerr, > glob_abserr, > glob_relerr, > glob_max_hours, > glob_max_iter, > glob_max_rel_trunc_err, > glob_max_trunc_err, > glob_no_eqs, > glob_optimal_clock_start_sec, > glob_optimal_start, > glob_small_float, > glob_smallish_float, > glob_unchanged_h_cnt, > glob_warned, > glob_warned2, > glob_max_sec, > glob_orig_start_sec, > glob_start, > glob_curr_iter_when_opt, > glob_current_iter, > glob_iter, > glob_normmax, > glob_log10abserr, > glob_log10relerr, > glob_max_minutes, > #Bottom Generate Globals Decl > #BEGIN CONST > array_const_3, > array_const_0D0, > array_const_1, > array_const_1D0, > #END CONST > array_y2_init, > array_y1_init, > array_norms, > array_fact_1, > array_pole, > array_1st_rel_error, > array_last_rel_error, > array_type_pole, > array_y2, > array_x, > array_y1, > array_tmp0, > array_tmp1_g, > array_tmp1, > array_tmp2, > array_tmp3, > array_tmp4, > array_tmp5, > array_tmp6, > array_m1, > array_y2_higher, > array_y2_higher_work, > array_y2_higher_work2, > array_y2_set_initial, > array_y1_higher, > array_y1_higher_work, > array_y1_higher_work2, > array_y1_set_initial, > array_poles, > array_real_pole, > array_complex_pole, > array_fact_2, > glob_last; > local kkk, order_d, adj2, adj3 , temporary, term; > #TOP ATOMALL > #END OUTFILE1 > #BEGIN ATOMHDR1 > #emit pre cos 1 $eq_no = 1 > array_tmp1[1] := cos(array_x[1]); > array_tmp1_g[1] := sin(array_x[1]); > # emit pre mult FULL FULL $eq_no = 1 i = 1 > array_tmp2[1] := (array_m1[1] * (array_tmp1[1])); > #emit pre add CONST FULL $eq_no = 1 i = 1 > array_tmp3[1] := array_const_0D0[1] + array_tmp2[1]; > #emit pre assign xxx $eq_no = 1 i = 1 $min_hdrs = 5 > if ( not array_y2_set_initial[1,4]) then # if number 1 > if (1 <= glob_max_terms) then # if number 2 > temporary := array_tmp3[1] * expt(glob_h , (3)) * factorial_3(0,3); > array_y2[4] := temporary; > array_y2_higher[1,4] := temporary; > temporary := temporary / glob_h * (2.0); > array_y2_higher[2,3] := temporary; > temporary := temporary / glob_h; > array_y2_higher[3,2] := temporary; > temporary := temporary / glob_h; > array_y2_higher[4,1] := temporary; > fi;# end if 2; > fi;# end if 1; > kkk := 2; > # emit pre mult FULL FULL $eq_no = 2 i = 1 > array_tmp5[1] := (array_m1[1] * (array_y2[1])); > #emit pre add FULL - CONST $eq_no = 2 i = 1 > array_tmp6[1] := array_tmp5[1] + array_const_1D0[1]; > #emit pre assign xxx $eq_no = 2 i = 1 $min_hdrs = 5 > if ( not array_y1_set_initial[2,2]) then # if number 1 > if (1 <= glob_max_terms) then # if number 2 > temporary := array_tmp6[1] * expt(glob_h , (1)) * factorial_3(0,1); > array_y1[2] := temporary; > array_y1_higher[1,2] := temporary; > temporary := temporary / glob_h; > array_y1_higher[2,1] := temporary; > fi;# end if 2; > fi;# end if 1; > kkk := 2; > #END ATOMHDR1 > #BEGIN ATOMHDR2 > #emit pre cos ID_LINEAR iii = 2 $eq_no = 1 > array_tmp1[2] := -array_tmp1_g[1] * array_x[2] / 1; > array_tmp1_g[2] := array_tmp1[1] * array_x[2] / 1; > # emit pre mult FULL FULL $eq_no = 1 i = 2 > array_tmp2[2] := ats(2,array_m1,array_tmp1,1); > #emit pre add CONST FULL $eq_no = 1 i = 2 > array_tmp3[2] := array_tmp2[2]; > #emit pre assign xxx $eq_no = 1 i = 2 $min_hdrs = 5 > if ( not array_y2_set_initial[1,5]) then # if number 1 > if (2 <= glob_max_terms) then # if number 2 > temporary := array_tmp3[2] * expt(glob_h , (3)) * factorial_3(1,4); > array_y2[5] := temporary; > array_y2_higher[1,5] := temporary; > temporary := temporary / glob_h * (3.0); > array_y2_higher[2,4] := temporary; > temporary := temporary / glob_h * (2.0); > array_y2_higher[3,3] := temporary; > temporary := temporary / glob_h; > array_y2_higher[4,2] := temporary; > fi;# end if 2; > fi;# end if 1; > kkk := 3; > # emit pre mult FULL FULL $eq_no = 2 i = 2 > array_tmp5[2] := ats(2,array_m1,array_y2,1); > #emit pre add FULL CONST $eq_no = 2 i = 2 > array_tmp6[2] := array_tmp5[2]; > #emit pre assign xxx $eq_no = 2 i = 2 $min_hdrs = 5 > if ( not array_y1_set_initial[2,3]) then # if number 1 > if (2 <= glob_max_terms) then # if number 2 > temporary := array_tmp6[2] * expt(glob_h , (1)) * factorial_3(1,2); > array_y1[3] := temporary; > array_y1_higher[1,3] := temporary; > temporary := temporary / glob_h; > array_y1_higher[2,2] := temporary; > fi;# end if 2; > fi;# end if 1; > kkk := 3; > #END ATOMHDR2 > #BEGIN ATOMHDR3 > #emit pre cos ID_LINEAR iii = 3 $eq_no = 1 > array_tmp1[3] := -array_tmp1_g[2] * array_x[2] / 2; > array_tmp1_g[3] := array_tmp1[2] * array_x[2] / 2; > # emit pre mult FULL FULL $eq_no = 1 i = 3 > array_tmp2[3] := ats(3,array_m1,array_tmp1,1); > #emit pre add CONST FULL $eq_no = 1 i = 3 > array_tmp3[3] := array_tmp2[3]; > #emit pre assign xxx $eq_no = 1 i = 3 $min_hdrs = 5 > if ( not array_y2_set_initial[1,6]) then # if number 1 > if (3 <= glob_max_terms) then # if number 2 > temporary := array_tmp3[3] * expt(glob_h , (3)) * factorial_3(2,5); > array_y2[6] := temporary; > array_y2_higher[1,6] := temporary; > temporary := temporary / glob_h * (4.0); > array_y2_higher[2,5] := temporary; > temporary := temporary / glob_h * (3.0); > array_y2_higher[3,4] := temporary; > temporary := temporary / glob_h * (2.0); > array_y2_higher[4,3] := temporary; > fi;# end if 2; > fi;# end if 1; > kkk := 4; > # emit pre mult FULL FULL $eq_no = 2 i = 3 > array_tmp5[3] := ats(3,array_m1,array_y2,1); > #emit pre add FULL CONST $eq_no = 2 i = 3 > array_tmp6[3] := array_tmp5[3]; > #emit pre assign xxx $eq_no = 2 i = 3 $min_hdrs = 5 > if ( not array_y1_set_initial[2,4]) then # if number 1 > if (3 <= glob_max_terms) then # if number 2 > temporary := array_tmp6[3] * expt(glob_h , (1)) * factorial_3(2,3); > array_y1[4] := temporary; > array_y1_higher[1,4] := temporary; > temporary := temporary / glob_h * (2.0); > array_y1_higher[2,3] := temporary; > fi;# end if 2; > fi;# end if 1; > kkk := 4; > #END ATOMHDR3 > #BEGIN ATOMHDR4 > #emit pre cos ID_LINEAR iii = 4 $eq_no = 1 > array_tmp1[4] := -array_tmp1_g[3] * array_x[2] / 3; > array_tmp1_g[4] := array_tmp1[3] * array_x[2] / 3; > # emit pre mult FULL FULL $eq_no = 1 i = 4 > array_tmp2[4] := ats(4,array_m1,array_tmp1,1); > #emit pre add CONST FULL $eq_no = 1 i = 4 > array_tmp3[4] := array_tmp2[4]; > #emit pre assign xxx $eq_no = 1 i = 4 $min_hdrs = 5 > if ( not array_y2_set_initial[1,7]) then # if number 1 > if (4 <= glob_max_terms) then # if number 2 > temporary := array_tmp3[4] * expt(glob_h , (3)) * factorial_3(3,6); > array_y2[7] := temporary; > array_y2_higher[1,7] := temporary; > temporary := temporary / glob_h * (5.0); > array_y2_higher[2,6] := temporary; > temporary := temporary / glob_h * (4.0); > array_y2_higher[3,5] := temporary; > temporary := temporary / glob_h * (3.0); > array_y2_higher[4,4] := temporary; > fi;# end if 2; > fi;# end if 1; > kkk := 5; > # emit pre mult FULL FULL $eq_no = 2 i = 4 > array_tmp5[4] := ats(4,array_m1,array_y2,1); > #emit pre add FULL CONST $eq_no = 2 i = 4 > array_tmp6[4] := array_tmp5[4]; > #emit pre assign xxx $eq_no = 2 i = 4 $min_hdrs = 5 > if ( not array_y1_set_initial[2,5]) then # if number 1 > if (4 <= glob_max_terms) then # if number 2 > temporary := array_tmp6[4] * expt(glob_h , (1)) * factorial_3(3,4); > array_y1[5] := temporary; > array_y1_higher[1,5] := temporary; > temporary := temporary / glob_h * (3.0); > array_y1_higher[2,4] := temporary; > fi;# end if 2; > fi;# end if 1; > kkk := 5; > #END ATOMHDR4 > #BEGIN ATOMHDR5 > #emit pre cos ID_LINEAR iii = 5 $eq_no = 1 > array_tmp1[5] := -array_tmp1_g[4] * array_x[2] / 4; > array_tmp1_g[5] := array_tmp1[4] * array_x[2] / 4; > # emit pre mult FULL FULL $eq_no = 1 i = 5 > array_tmp2[5] := ats(5,array_m1,array_tmp1,1); > #emit pre add CONST FULL $eq_no = 1 i = 5 > array_tmp3[5] := array_tmp2[5]; > #emit pre assign xxx $eq_no = 1 i = 5 $min_hdrs = 5 > if ( not array_y2_set_initial[1,8]) then # if number 1 > if (5 <= glob_max_terms) then # if number 2 > temporary := array_tmp3[5] * expt(glob_h , (3)) * factorial_3(4,7); > array_y2[8] := temporary; > array_y2_higher[1,8] := temporary; > temporary := temporary / glob_h * (6.0); > array_y2_higher[2,7] := temporary; > temporary := temporary / glob_h * (5.0); > array_y2_higher[3,6] := temporary; > temporary := temporary / glob_h * (4.0); > array_y2_higher[4,5] := temporary; > fi;# end if 2; > fi;# end if 1; > kkk := 6; > # emit pre mult FULL FULL $eq_no = 2 i = 5 > array_tmp5[5] := ats(5,array_m1,array_y2,1); > #emit pre add FULL CONST $eq_no = 2 i = 5 > array_tmp6[5] := array_tmp5[5]; > #emit pre assign xxx $eq_no = 2 i = 5 $min_hdrs = 5 > if ( not array_y1_set_initial[2,6]) then # if number 1 > if (5 <= glob_max_terms) then # if number 2 > temporary := array_tmp6[5] * expt(glob_h , (1)) * factorial_3(4,5); > array_y1[6] := temporary; > array_y1_higher[1,6] := temporary; > temporary := temporary / glob_h * (4.0); > array_y1_higher[2,5] := temporary; > fi;# end if 2; > fi;# end if 1; > kkk := 6; > #END ATOMHDR5 > #BEGIN OUTFILE3 > #Top Atomall While Loop-- outfile3 > while (kkk <= glob_max_terms) do # do number 1 > #END OUTFILE3 > #BEGIN OUTFILE4 > #emit cos LINEAR $eq_no = 1 > array_tmp1[kkk] := -array_tmp1_g[kkk - 1] * array_x[2] / (kkk - 1); > array_tmp1_g[kkk] := array_tmp1[kkk - 1] * array_x[2] / (kkk - 1); > #emit mult FULL FULL $eq_no = 1 > array_tmp2[kkk] := ats(kkk,array_m1,array_tmp1,1); > #emit NOT FULL - FULL add $eq_no = 1 > array_tmp3[kkk] := array_tmp2[kkk]; > #emit assign $eq_no = 1 > order_d := 3; > if (kkk + order_d + 1 <= glob_max_terms) then # if number 1 > if ( not array_y2_set_initial[1,kkk + order_d]) then # if number 2 > temporary := array_tmp3[kkk] * expt(glob_h , (order_d)) / factorial_3((kkk - 1),(kkk + order_d - 1)); > array_y2[kkk + order_d] := temporary; > array_y2_higher[1,kkk + order_d] := temporary; > term := kkk + order_d - 1; > adj2 := kkk + order_d - 2; > adj3 := 2; > while (term >= 1) do # do number 2 > if (adj3 <= order_d + 1) then # if number 3 > if (adj2 > 1) then # if number 4 > temporary := temporary / glob_h * convfp(adj2); > else > temporary := temporary / glob_h; > fi;# end if 4; > array_y2_higher[adj3,term] := temporary; > fi;# end if 3; > term := term - 1; > adj2 := adj2 - 1; > adj3 := adj3 + 1; > od;# end do number 2 > fi;# end if 2 > fi;# end if 1; > #emit mult FULL FULL $eq_no = 2 > array_tmp5[kkk] := ats(kkk,array_m1,array_y2,1); > #emit FULL - NOT FULL add $eq_no = 2 > array_tmp6[kkk] := array_tmp5[kkk]; > #emit assign $eq_no = 2 > order_d := 1; > if (kkk + order_d + 1 <= glob_max_terms) then # if number 1 > if ( not array_y1_set_initial[2,kkk + order_d]) then # if number 2 > temporary := array_tmp6[kkk] * expt(glob_h , (order_d)) / factorial_3((kkk - 1),(kkk + order_d - 1)); > array_y1[kkk + order_d] := temporary; > array_y1_higher[1,kkk + order_d] := temporary; > term := kkk + order_d - 1; > adj2 := kkk + order_d - 2; > adj3 := 2; > while (term >= 1) do # do number 2 > if (adj3 <= order_d + 1) then # if number 3 > if (adj2 > 1) then # if number 4 > temporary := temporary / glob_h * convfp(adj2); > else > temporary := temporary / glob_h; > fi;# end if 4; > array_y1_higher[adj3,term] := temporary; > fi;# end if 3; > term := term - 1; > adj2 := adj2 - 1; > adj3 := adj3 + 1; > od;# end do number 2 > fi;# end if 2 > fi;# end if 1; > kkk := kkk + 1; > od;# end do number 1; > #BOTTOM ATOMALL > #END OUTFILE4 > #BEGIN OUTFILE5 > #BOTTOM ATOMALL ??? > end; atomall := proc() local kkk, order_d, adj2, adj3, temporary, term; global glob_max_terms, glob_iolevel, ALWAYS, INFO, DEBUGL, DEBUGMASSIVE, MAX_UNCHANGED, glob_check_sign, glob_desired_digits_correct, glob_max_value3, glob_ratio_of_radius, glob_percent_done, glob_subiter_method, glob_log10normmin, glob_total_exp_sec, glob_optimal_expect_sec, glob_html_log, glob_good_digits, glob_max_opt_iter, glob_dump, glob_djd_debug, glob_display_flag, glob_djd_debug2, glob_sec_in_minute, glob_min_in_hour, glob_hours_in_day, glob_days_in_year, glob_sec_in_hour, glob_sec_in_day, glob_sec_in_year, glob_almost_1, glob_clock_sec, glob_clock_start_sec, glob_not_yet_finished, glob_initial_pass, glob_not_yet_start_msg, glob_reached_optimal_h, glob_optimal_done, glob_disp_incr, glob_h, glob_hmax, glob_hmin, glob_hmin_init, glob_large_float, glob_last_good_h, glob_look_poles, glob_neg_h, glob_display_interval, glob_next_display, glob_dump_analytic, glob_log10_abserr, glob_log10_relerr, glob_abserr, glob_relerr, glob_max_hours, glob_max_iter, glob_max_rel_trunc_err, glob_max_trunc_err, glob_no_eqs, glob_optimal_clock_start_sec, glob_optimal_start, glob_small_float, glob_smallish_float, glob_unchanged_h_cnt, glob_warned, glob_warned2, glob_max_sec, glob_orig_start_sec, glob_start, glob_curr_iter_when_opt, glob_current_iter, glob_iter, glob_normmax, glob_log10abserr, glob_log10relerr, glob_max_minutes, array_const_3, array_const_0D0, array_const_1, array_const_1D0, array_y2_init, array_y1_init, array_norms, array_fact_1, array_pole, array_1st_rel_error, array_last_rel_error, array_type_pole, array_y2, array_x, array_y1, array_tmp0, array_tmp1_g, array_tmp1, array_tmp2, array_tmp3, array_tmp4, array_tmp5, array_tmp6, array_m1, array_y2_higher, array_y2_higher_work, array_y2_higher_work2, array_y2_set_initial, array_y1_higher, array_y1_higher_work, array_y1_higher_work2, array_y1_set_initial, array_poles, array_real_pole, array_complex_pole, array_fact_2, glob_last; array_tmp1[1] := cos(array_x[1]); array_tmp1_g[1] := sin(array_x[1]); array_tmp2[1] := array_m1[1]*array_tmp1[1]; array_tmp3[1] := array_const_0D0[1] + array_tmp2[1]; if not array_y2_set_initial[1, 4] then if 1 <= glob_max_terms then temporary := array_tmp3[1]*expt(glob_h, 3)*factorial_3(0, 3); array_y2[4] := temporary; array_y2_higher[1, 4] := temporary; temporary := temporary*2.0/glob_h; array_y2_higher[2, 3] := temporary; temporary := temporary/glob_h; array_y2_higher[3, 2] := temporary; temporary := temporary/glob_h; array_y2_higher[4, 1] := temporary end if end if; kkk := 2; array_tmp5[1] := array_m1[1]*array_y2[1]; array_tmp6[1] := array_tmp5[1] + array_const_1D0[1]; if not array_y1_set_initial[2, 2] then if 1 <= glob_max_terms then temporary := array_tmp6[1]*expt(glob_h, 1)*factorial_3(0, 1); array_y1[2] := temporary; array_y1_higher[1, 2] := temporary; temporary := temporary/glob_h; array_y1_higher[2, 1] := temporary end if end if; kkk := 2; array_tmp1[2] := -array_tmp1_g[1]*array_x[2]; array_tmp1_g[2] := array_tmp1[1]*array_x[2]; array_tmp2[2] := ats(2, array_m1, array_tmp1, 1); array_tmp3[2] := array_tmp2[2]; if not array_y2_set_initial[1, 5] then if 2 <= glob_max_terms then temporary := array_tmp3[2]*expt(glob_h, 3)*factorial_3(1, 4); array_y2[5] := temporary; array_y2_higher[1, 5] := temporary; temporary := temporary*3.0/glob_h; array_y2_higher[2, 4] := temporary; temporary := temporary*2.0/glob_h; array_y2_higher[3, 3] := temporary; temporary := temporary/glob_h; array_y2_higher[4, 2] := temporary end if end if; kkk := 3; array_tmp5[2] := ats(2, array_m1, array_y2, 1); array_tmp6[2] := array_tmp5[2]; if not array_y1_set_initial[2, 3] then if 2 <= glob_max_terms then temporary := array_tmp6[2]*expt(glob_h, 1)*factorial_3(1, 2); array_y1[3] := temporary; array_y1_higher[1, 3] := temporary; temporary := temporary/glob_h; array_y1_higher[2, 2] := temporary end if end if; kkk := 3; array_tmp1[3] := -1/2*array_tmp1_g[2]*array_x[2]; array_tmp1_g[3] := 1/2*array_tmp1[2]*array_x[2]; array_tmp2[3] := ats(3, array_m1, array_tmp1, 1); array_tmp3[3] := array_tmp2[3]; if not array_y2_set_initial[1, 6] then if 3 <= glob_max_terms then temporary := array_tmp3[3]*expt(glob_h, 3)*factorial_3(2, 5); array_y2[6] := temporary; array_y2_higher[1, 6] := temporary; temporary := temporary*4.0/glob_h; array_y2_higher[2, 5] := temporary; temporary := temporary*3.0/glob_h; array_y2_higher[3, 4] := temporary; temporary := temporary*2.0/glob_h; array_y2_higher[4, 3] := temporary end if end if; kkk := 4; array_tmp5[3] := ats(3, array_m1, array_y2, 1); array_tmp6[3] := array_tmp5[3]; if not array_y1_set_initial[2, 4] then if 3 <= glob_max_terms then temporary := array_tmp6[3]*expt(glob_h, 1)*factorial_3(2, 3); array_y1[4] := temporary; array_y1_higher[1, 4] := temporary; temporary := temporary*2.0/glob_h; array_y1_higher[2, 3] := temporary end if end if; kkk := 4; array_tmp1[4] := -1/3*array_tmp1_g[3]*array_x[2]; array_tmp1_g[4] := 1/3*array_tmp1[3]*array_x[2]; array_tmp2[4] := ats(4, array_m1, array_tmp1, 1); array_tmp3[4] := array_tmp2[4]; if not array_y2_set_initial[1, 7] then if 4 <= glob_max_terms then temporary := array_tmp3[4]*expt(glob_h, 3)*factorial_3(3, 6); array_y2[7] := temporary; array_y2_higher[1, 7] := temporary; temporary := temporary*5.0/glob_h; array_y2_higher[2, 6] := temporary; temporary := temporary*4.0/glob_h; array_y2_higher[3, 5] := temporary; temporary := temporary*3.0/glob_h; array_y2_higher[4, 4] := temporary end if end if; kkk := 5; array_tmp5[4] := ats(4, array_m1, array_y2, 1); array_tmp6[4] := array_tmp5[4]; if not array_y1_set_initial[2, 5] then if 4 <= glob_max_terms then temporary := array_tmp6[4]*expt(glob_h, 1)*factorial_3(3, 4); array_y1[5] := temporary; array_y1_higher[1, 5] := temporary; temporary := temporary*3.0/glob_h; array_y1_higher[2, 4] := temporary end if end if; kkk := 5; array_tmp1[5] := -1/4*array_tmp1_g[4]*array_x[2]; array_tmp1_g[5] := 1/4*array_tmp1[4]*array_x[2]; array_tmp2[5] := ats(5, array_m1, array_tmp1, 1); array_tmp3[5] := array_tmp2[5]; if not array_y2_set_initial[1, 8] then if 5 <= glob_max_terms then temporary := array_tmp3[5]*expt(glob_h, 3)*factorial_3(4, 7); array_y2[8] := temporary; array_y2_higher[1, 8] := temporary; temporary := temporary*6.0/glob_h; array_y2_higher[2, 7] := temporary; temporary := temporary*5.0/glob_h; array_y2_higher[3, 6] := temporary; temporary := temporary*4.0/glob_h; array_y2_higher[4, 5] := temporary end if end if; kkk := 6; array_tmp5[5] := ats(5, array_m1, array_y2, 1); array_tmp6[5] := array_tmp5[5]; if not array_y1_set_initial[2, 6] then if 5 <= glob_max_terms then temporary := array_tmp6[5]*expt(glob_h, 1)*factorial_3(4, 5); array_y1[6] := temporary; array_y1_higher[1, 6] := temporary; temporary := temporary*4.0/glob_h; array_y1_higher[2, 5] := temporary end if end if; kkk := 6; while kkk <= glob_max_terms do array_tmp1[kkk] := -array_tmp1_g[kkk - 1]*array_x[2]/(kkk - 1); array_tmp1_g[kkk] := array_tmp1[kkk - 1]*array_x[2]/(kkk - 1); array_tmp2[kkk] := ats(kkk, array_m1, array_tmp1, 1); array_tmp3[kkk] := array_tmp2[kkk]; order_d := 3; if kkk + order_d + 1 <= glob_max_terms then if not array_y2_set_initial[1, kkk + order_d] then temporary := array_tmp3[kkk]*expt(glob_h, order_d)/ factorial_3(kkk - 1, kkk + order_d - 1); array_y2[kkk + order_d] := temporary; array_y2_higher[1, kkk + order_d] := temporary; term := kkk + order_d - 1; adj2 := kkk + order_d - 2; adj3 := 2; while 1 <= term do if adj3 <= order_d + 1 then if 1 < adj2 then temporary := temporary*convfp(adj2)/glob_h else temporary := temporary/glob_h end if; array_y2_higher[adj3, term] := temporary end if; term := term - 1; adj2 := adj2 - 1; adj3 := adj3 + 1 end do end if end if; array_tmp5[kkk] := ats(kkk, array_m1, array_y2, 1); array_tmp6[kkk] := array_tmp5[kkk]; order_d := 1; if kkk + order_d + 1 <= glob_max_terms then if not array_y1_set_initial[2, kkk + order_d] then temporary := array_tmp6[kkk]*expt(glob_h, order_d)/ factorial_3(kkk - 1, kkk + order_d - 1); array_y1[kkk + order_d] := temporary; array_y1_higher[1, kkk + order_d] := temporary; term := kkk + order_d - 1; adj2 := kkk + order_d - 2; adj3 := 2; while 1 <= term do if adj3 <= order_d + 1 then if 1 < adj2 then temporary := temporary*convfp(adj2)/glob_h else temporary := temporary/glob_h end if; array_y1_higher[adj3, term] := temporary end if; term := term - 1; adj2 := adj2 - 1; adj3 := adj3 + 1 end do end if end if; kkk := kkk + 1 end do end proc > # End Function number 12 > #BEGIN ATS LIBRARY BLOCK > # Begin Function number 2 > omniout_str := proc(iolevel,str) > global glob_iolevel; > if (glob_iolevel >= iolevel) then # if number 1 > printf("%s\n",str); > fi;# end if 1; > end; omniout_str := proc(iolevel, str) global glob_iolevel; if iolevel <= glob_iolevel then printf("%s\n", str) end if end proc > # End Function number 2 > # Begin Function number 3 > omniout_str_noeol := proc(iolevel,str) > global glob_iolevel; > if (glob_iolevel >= iolevel) then # if number 1 > printf("%s",str); > fi;# end if 1; > end; omniout_str_noeol := proc(iolevel, str) global glob_iolevel; if iolevel <= glob_iolevel then printf("%s", str) end if end proc > # End Function number 3 > # Begin Function number 4 > omniout_labstr := proc(iolevel,label,str) > global glob_iolevel; > if (glob_iolevel >= iolevel) then # if number 1 > print(label,str); > fi;# end if 1; > end; omniout_labstr := proc(iolevel, label, str) global glob_iolevel; if iolevel <= glob_iolevel then print(label, str) end if end proc > # End Function number 4 > # Begin Function number 5 > omniout_float := proc(iolevel,prelabel,prelen,value,vallen,postlabel) > global glob_iolevel; > if (glob_iolevel >= iolevel) then # if number 1 > if vallen = 4 then > printf("%-30s = %-42.4g %s \n",prelabel,value, postlabel); > else > printf("%-30s = %-42.32g %s \n",prelabel,value, postlabel); > fi;# end if 1; > fi;# end if 0; > end; omniout_float := proc(iolevel, prelabel, prelen, value, vallen, postlabel) global glob_iolevel; if iolevel <= glob_iolevel then if vallen = 4 then printf("%-30s = %-42.4g %s \n", prelabel, value, postlabel) else printf("%-30s = %-42.32g %s \n", prelabel, value, postlabel) end if end if end proc > # End Function number 5 > # Begin Function number 6 > omniout_int := proc(iolevel,prelabel,prelen,value,vallen,postlabel) > global glob_iolevel; > if (glob_iolevel >= iolevel) then # if number 0 > if vallen = 5 then # if number 1 > printf("%-30s = %-32d %s\n",prelabel,value, postlabel); > else > printf("%-30s = %-32d %s \n",prelabel,value, postlabel); > fi;# end if 1; > fi;# end if 0; > end; omniout_int := proc(iolevel, prelabel, prelen, value, vallen, postlabel) global glob_iolevel; if iolevel <= glob_iolevel then if vallen = 5 then printf("%-30s = %-32d %s\n", prelabel, value, postlabel) else printf("%-30s = %-32d %s \n", prelabel, value, postlabel) end if end if end proc > # End Function number 6 > # Begin Function number 7 > omniout_float_arr := proc(iolevel,prelabel,elemnt,prelen,value,vallen,postlabel) > global glob_iolevel; > if (glob_iolevel >= iolevel) then # if number 0 > print(prelabel,"[",elemnt,"]",value, postlabel); > fi;# end if 0; > end; omniout_float_arr := proc( iolevel, prelabel, elemnt, prelen, value, vallen, postlabel) global glob_iolevel; if iolevel <= glob_iolevel then print(prelabel, "[", elemnt, "]", value, postlabel) end if end proc > # End Function number 7 > # Begin Function number 8 > dump_series := proc(iolevel,dump_label,series_name,arr_series,numb) > global glob_iolevel; > local i; > if (glob_iolevel >= iolevel) then # if number 0 > i := 1; > while (i <= numb) do # do number 1 > print(dump_label,series_name > ,i,arr_series[i]); > i := i + 1; > od;# end do number 1 > fi;# end if 0 > end; dump_series := proc(iolevel, dump_label, series_name, arr_series, numb) local i; global glob_iolevel; if iolevel <= glob_iolevel then i := 1; while i <= numb do print(dump_label, series_name, i, arr_series[i]); i := i + 1 end do end if end proc > # End Function number 8 > # Begin Function number 9 > dump_series_2 := proc(iolevel,dump_label,series_name2,arr_series2,numb,subnum,arr_x) > global glob_iolevel; > local i,sub,ts_term; > if (glob_iolevel >= iolevel) then # if number 0 > sub := 1; > while (sub <= subnum) do # do number 1 > i := 1; > while (i <= numb) do # do number 2 > print(dump_label,series_name2,sub,i,arr_series2[sub,i]); > od;# end do number 2; > sub := sub + 1; > od;# end do number 1; > fi;# end if 0; > end; dump_series_2 := proc( iolevel, dump_label, series_name2, arr_series2, numb, subnum, arr_x) local i, sub, ts_term; global glob_iolevel; if iolevel <= glob_iolevel then sub := 1; while sub <= subnum do i := 1; while i <= numb do print(dump_label, series_name2, sub, i, arr_series2[sub, i]) end do; sub := sub + 1 end do end if end proc > # End Function number 9 > # Begin Function number 10 > cs_info := proc(iolevel,str) > global glob_iolevel,glob_correct_start_flag,glob_h,glob_reached_optimal_h; > if (glob_iolevel >= iolevel) then # if number 0 > print("cs_info " , str , " glob_correct_start_flag = " , glob_correct_start_flag , "glob_h := " , glob_h , "glob_reached_optimal_h := " , glob_reached_optimal_h) > fi;# end if 0; > end; cs_info := proc(iolevel, str) global glob_iolevel, glob_correct_start_flag, glob_h, glob_reached_optimal_h; if iolevel <= glob_iolevel then print("cs_info ", str, " glob_correct_start_flag = ", glob_correct_start_flag, "glob_h := ", glob_h, "glob_reached_optimal_h := ", glob_reached_optimal_h) end if end proc > # End Function number 10 > # Begin Function number 11 > logitem_time := proc(fd,secs_in) > global glob_sec_in_day, glob_sec_in_hour, glob_sec_in_minute, glob_sec_in_year; > local days_int, hours_int,minutes_int, sec_int, sec_temp, years_int; > fprintf(fd,""); > if (secs_in >= 0) then # if number 0 > years_int := trunc(secs_in / glob_sec_in_year); > sec_temp := (trunc(secs_in) mod trunc(glob_sec_in_year)); > days_int := trunc(sec_temp / glob_sec_in_day) ; > sec_temp := (sec_temp mod trunc(glob_sec_in_day)) ; > hours_int := trunc(sec_temp / glob_sec_in_hour); > sec_temp := (sec_temp mod trunc(glob_sec_in_hour)); > minutes_int := trunc(sec_temp / glob_sec_in_minute); > sec_int := (sec_temp mod trunc(glob_sec_in_minute)); > if (years_int > 0) then # if number 1 > fprintf(fd,"%d Years %d Days %d Hours %d Minutes %d Seconds",years_int,days_int,hours_int,minutes_int,sec_int); > elif > (days_int > 0) then # if number 2 > fprintf(fd,"%d Days %d Hours %d Minutes %d Seconds",days_int,hours_int,minutes_int,sec_int); > elif > (hours_int > 0) then # if number 3 > fprintf(fd,"%d Hours %d Minutes %d Seconds",hours_int,minutes_int,sec_int); > elif > (minutes_int > 0) then # if number 4 > fprintf(fd,"%d Minutes %d Seconds",minutes_int,sec_int); > else > fprintf(fd,"%d Seconds",sec_int); > fi;# end if 4 > else > fprintf(fd," Unknown"); > fi;# end if 3 > fprintf(fd,"\n"); > end; logitem_time := proc(fd, secs_in) local days_int, hours_int, minutes_int, sec_int, sec_temp, years_int; global glob_sec_in_day, glob_sec_in_hour, glob_sec_in_minute, glob_sec_in_year; fprintf(fd, ""); if 0 <= secs_in then years_int := trunc(secs_in/glob_sec_in_year); sec_temp := trunc(secs_in) mod trunc(glob_sec_in_year); days_int := trunc(sec_temp/glob_sec_in_day); sec_temp := sec_temp mod trunc(glob_sec_in_day); hours_int := trunc(sec_temp/glob_sec_in_hour); sec_temp := sec_temp mod trunc(glob_sec_in_hour); minutes_int := trunc(sec_temp/glob_sec_in_minute); sec_int := sec_temp mod trunc(glob_sec_in_minute); if 0 < years_int then fprintf(fd, "%d Years %d Days %d Hours %d Minutes %d Seconds", years_int, days_int, hours_int, minutes_int, sec_int) elif 0 < days_int then fprintf(fd, "%d Days %d Hours %d Minutes %d Seconds", days_int, hours_int, minutes_int, sec_int) elif 0 < hours_int then fprintf(fd, "%d Hours %d Minutes %d Seconds", hours_int, minutes_int, sec_int) elif 0 < minutes_int then fprintf(fd, "%d Minutes %d Seconds", minutes_int, sec_int) else fprintf(fd, "%d Seconds", sec_int) end if else fprintf(fd, " Unknown") end if; fprintf(fd, "\n") end proc > # End Function number 11 > # Begin Function number 12 > omniout_timestr := proc(secs_in) > global glob_sec_in_day, glob_sec_in_hour, glob_sec_in_minute, glob_sec_in_year; > local days_int, hours_int,minutes_int, sec_int, sec_temp, years_int; > if (secs_in >= 0) then # if number 3 > years_int := trunc(secs_in / glob_sec_in_year); > sec_temp := (trunc(secs_in) mod trunc(glob_sec_in_year)); > days_int := trunc(sec_temp / glob_sec_in_day) ; > sec_temp := (sec_temp mod trunc(glob_sec_in_day)) ; > hours_int := trunc(sec_temp / glob_sec_in_hour); > sec_temp := (sec_temp mod trunc(glob_sec_in_hour)); > minutes_int := trunc(sec_temp / glob_sec_in_minute); > sec_int := (sec_temp mod trunc(glob_sec_in_minute)); > if (years_int > 0) then # if number 4 > printf(" = %d Years %d Days %d Hours %d Minutes %d Seconds\n",years_int,days_int,hours_int,minutes_int,sec_int); > elif > (days_int > 0) then # if number 5 > printf(" = %d Days %d Hours %d Minutes %d Seconds\n",days_int,hours_int,minutes_int,sec_int); > elif > (hours_int > 0) then # if number 6 > printf(" = %d Hours %d Minutes %d Seconds\n",hours_int,minutes_int,sec_int); > elif > (minutes_int > 0) then # if number 7 > printf(" = %d Minutes %d Seconds\n",minutes_int,sec_int); > else > printf(" = %d Seconds\n",sec_int); > fi;# end if 7 > else > printf(" Unknown\n"); > fi;# end if 6 > end; omniout_timestr := proc(secs_in) local days_int, hours_int, minutes_int, sec_int, sec_temp, years_int; global glob_sec_in_day, glob_sec_in_hour, glob_sec_in_minute, glob_sec_in_year; if 0 <= secs_in then years_int := trunc(secs_in/glob_sec_in_year); sec_temp := trunc(secs_in) mod trunc(glob_sec_in_year); days_int := trunc(sec_temp/glob_sec_in_day); sec_temp := sec_temp mod trunc(glob_sec_in_day); hours_int := trunc(sec_temp/glob_sec_in_hour); sec_temp := sec_temp mod trunc(glob_sec_in_hour); minutes_int := trunc(sec_temp/glob_sec_in_minute); sec_int := sec_temp mod trunc(glob_sec_in_minute); if 0 < years_int then printf( " = %d Years %d Days %d Hours %d Minutes %d Seconds\n", years_int, days_int, hours_int, minutes_int, sec_int) elif 0 < days_int then printf( " = %d Days %d Hours %d Minutes %d Seconds\n", days_int, hours_int, minutes_int, sec_int) elif 0 < hours_int then printf( " = %d Hours %d Minutes %d Seconds\n", hours_int, minutes_int, sec_int) elif 0 < minutes_int then printf(" = %d Minutes %d Seconds\n", minutes_int, sec_int) else printf(" = %d Seconds\n", sec_int) end if else printf(" Unknown\n") end if end proc > # End Function number 12 > # Begin Function number 13 > ats := proc(mmm_ats,arr_a,arr_b,jjj_ats) > local iii_ats, lll_ats,ma_ats, ret_ats; > ret_ats := 0.0; > if (jjj_ats <= mmm_ats) then # if number 6 > ma_ats := mmm_ats + 1; > iii_ats := jjj_ats; > while (iii_ats <= mmm_ats) do # do number 1 > lll_ats := ma_ats - iii_ats; > ret_ats := ret_ats + arr_a[iii_ats]*arr_b[lll_ats]; > iii_ats := iii_ats + 1; > od;# end do number 1 > fi;# end if 6; > ret_ats; > end; ats := proc(mmm_ats, arr_a, arr_b, jjj_ats) local iii_ats, lll_ats, ma_ats, ret_ats; ret_ats := 0.; if jjj_ats <= mmm_ats then ma_ats := mmm_ats + 1; iii_ats := jjj_ats; while iii_ats <= mmm_ats do lll_ats := ma_ats - iii_ats; ret_ats := ret_ats + arr_a[iii_ats]*arr_b[lll_ats]; iii_ats := iii_ats + 1 end do end if; ret_ats end proc > # End Function number 13 > # Begin Function number 14 > att := proc(mmm_att,arr_aa,arr_bb,jjj_att) > global glob_max_terms; > local al_att, iii_att,lll_att, ma_att, ret_att; > ret_att := 0.0; > if (jjj_att <= mmm_att) then # if number 6 > ma_att := mmm_att + 2; > iii_att := jjj_att; > while (iii_att <= mmm_att) do # do number 1 > lll_att := ma_att - iii_att; > al_att := (lll_att - 1); > if (lll_att <= glob_max_terms) then # if number 7 > ret_att := ret_att + arr_aa[iii_att]*arr_bb[lll_att]* convfp(al_att); > fi;# end if 7; > iii_att := iii_att + 1; > od;# end do number 1; > ret_att := ret_att / convfp(mmm_att) ; > fi;# end if 6; > ret_att; > end; att := proc(mmm_att, arr_aa, arr_bb, jjj_att) local al_att, iii_att, lll_att, ma_att, ret_att; global glob_max_terms; ret_att := 0.; if jjj_att <= mmm_att then ma_att := mmm_att + 2; iii_att := jjj_att; while iii_att <= mmm_att do lll_att := ma_att - iii_att; al_att := lll_att - 1; if lll_att <= glob_max_terms then ret_att := ret_att + arr_aa[iii_att]*arr_bb[lll_att]*convfp(al_att) end if; iii_att := iii_att + 1 end do; ret_att := ret_att/convfp(mmm_att) end if; ret_att end proc > # End Function number 14 > # Begin Function number 15 > display_pole := proc() > global ALWAYS,glob_display_flag, glob_large_float, array_pole; > if ((array_pole[1] <> glob_large_float) and (array_pole[1] > 0.0) and (array_pole[2] <> glob_large_float) and (array_pole[2]> 0.0) and glob_display_flag) then # if number 6 > omniout_float(ALWAYS,"Radius of convergence ",4, array_pole[1],4," "); > omniout_float(ALWAYS,"Order of pole ",4, array_pole[2],4," "); > fi;# end if 6 > end; display_pole := proc() global ALWAYS, glob_display_flag, glob_large_float, array_pole; if array_pole[1] <> glob_large_float and 0. < array_pole[1] and array_pole[2] <> glob_large_float and 0. < array_pole[2] and glob_display_flag then omniout_float(ALWAYS, "Radius of convergence ", 4, array_pole[1], 4, " "); omniout_float(ALWAYS, "Order of pole ", 4, array_pole[2], 4, " ") end if end proc > # End Function number 15 > # Begin Function number 16 > logditto := proc(file) > fprintf(file,""); > fprintf(file,"ditto"); > fprintf(file,""); > end; logditto := proc(file) fprintf(file, ""); fprintf(file, "ditto"); fprintf(file, "") end proc > # End Function number 16 > # Begin Function number 17 > logitem_integer := proc(file,n) > fprintf(file,""); > fprintf(file,"%d",n); > fprintf(file,""); > end; logitem_integer := proc(file, n) fprintf(file, ""); fprintf(file, "%d", n); fprintf(file, "") end proc > # End Function number 17 > # Begin Function number 18 > logitem_str := proc(file,str) > fprintf(file,""); > fprintf(file,str); > fprintf(file,""); > end; logitem_str := proc(file, str) fprintf(file, ""); fprintf(file, str); fprintf(file, "") end proc > # End Function number 18 > # Begin Function number 19 > logitem_good_digits := proc(file,rel_error) > global glob_small_float; > local good_digits; > fprintf(file,""); > if (rel_error <> -1.0) then # if number 6 > if (rel_error <> 0.0) then # if number 7 > good_digits := 1-trunc(log10(rel_error)); > fprintf(file,"%d",good_digits); > else > good_digits := Digits; > fprintf(file,"%d",good_digits); > fi;# end if 7; > else > fprintf(file,"Unknown"); > fi;# end if 6; > fprintf(file,""); > end; logitem_good_digits := proc(file, rel_error) local good_digits; global glob_small_float; fprintf(file, ""); if rel_error <> -1.0 then if rel_error <> 0. then good_digits := 1 - trunc(log10(rel_error)); fprintf(file, "%d", good_digits) else good_digits := Digits; fprintf(file, "%d", good_digits) end if else fprintf(file, "Unknown") end if; fprintf(file, "") end proc > # End Function number 19 > # Begin Function number 20 > log_revs := proc(file,revs) > fprintf(file,revs); > end; log_revs := proc(file, revs) fprintf(file, revs) end proc > # End Function number 20 > # Begin Function number 21 > logitem_float := proc(file,x) > fprintf(file,""); > fprintf(file,"%g",x); > fprintf(file,""); > end; logitem_float := proc(file, x) fprintf(file, ""); fprintf(file, "%g", x); fprintf(file, "") end proc > # End Function number 21 > # Begin Function number 22 > logitem_pole := proc(file,pole) > fprintf(file,""); > if (pole = 0) then # if number 6 > fprintf(file,"NA"); > elif > (pole = 1) then # if number 7 > fprintf(file,"Real"); > elif > (pole = 2) then # if number 8 > fprintf(file,"Complex"); > else > fprintf(file,"No Pole"); > fi;# end if 8 > fprintf(file,""); > end; logitem_pole := proc(file, pole) fprintf(file, ""); if pole = 0 then fprintf(file, "NA") elif pole = 1 then fprintf(file, "Real") elif pole = 2 then fprintf(file, "Complex") else fprintf(file, "No Pole") end if; fprintf(file, "") end proc > # End Function number 22 > # Begin Function number 23 > logstart := proc(file) > fprintf(file,""); > end; logstart := proc(file) fprintf(file, "") end proc > # End Function number 23 > # Begin Function number 24 > logend := proc(file) > fprintf(file,"\n"); > end; logend := proc(file) fprintf(file, "\n") end proc > # End Function number 24 > # Begin Function number 25 > chk_data := proc() > global glob_max_iter,ALWAYS, glob_max_terms; > local errflag; > errflag := false; > if ((glob_max_terms < 15) or (glob_max_terms > 512)) then # if number 8 > omniout_str(ALWAYS,"Illegal max_terms = -- Using 30"); > glob_max_terms := 30; > fi;# end if 8; > if (glob_max_iter < 2) then # if number 8 > omniout_str(ALWAYS,"Illegal max_iter"); > errflag := true; > fi;# end if 8; > if (errflag) then # if number 8 > quit; > fi;# end if 8 > end; chk_data := proc() local errflag; global glob_max_iter, ALWAYS, glob_max_terms; errflag := false; if glob_max_terms < 15 or 512 < glob_max_terms then omniout_str(ALWAYS, "Illegal max_terms = -- Using 30"); glob_max_terms := 30 end if; if glob_max_iter < 2 then omniout_str(ALWAYS, "Illegal max_iter"); errflag := true end if; if errflag then quit end if end proc > # End Function number 25 > # Begin Function number 26 > comp_expect_sec := proc(t_end2,t_start2,t2,clock_sec2) > global glob_small_float; > local ms2, rrr, sec_left, sub1, sub2; > ; > ms2 := clock_sec2; > sub1 := (t_end2-t_start2); > sub2 := (t2-t_start2); > if (sub1 = 0.0) then # if number 8 > sec_left := 0.0; > else > if (sub2 > 0.0) then # if number 9 > rrr := (sub1/sub2); > sec_left := rrr * ms2 - ms2; > else > sec_left := 0.0; > fi;# end if 9 > fi;# end if 8; > sec_left; > end; comp_expect_sec := proc(t_end2, t_start2, t2, clock_sec2) local ms2, rrr, sec_left, sub1, sub2; global glob_small_float; ms2 := clock_sec2; sub1 := t_end2 - t_start2; sub2 := t2 - t_start2; if sub1 = 0. then sec_left := 0. else if 0. < sub2 then rrr := sub1/sub2; sec_left := rrr*ms2 - ms2 else sec_left := 0. end if end if; sec_left end proc > # End Function number 26 > # Begin Function number 27 > comp_percent := proc(t_end2,t_start2, t2) > global glob_small_float; > local rrr, sub1, sub2; > sub1 := (t_end2-t_start2); > sub2 := (t2-t_start2); > if (sub2 > glob_small_float) then # if number 8 > rrr := (100.0*sub2)/sub1; > else > rrr := 0.0; > fi;# end if 8; > rrr; > end; comp_percent := proc(t_end2, t_start2, t2) local rrr, sub1, sub2; global glob_small_float; sub1 := t_end2 - t_start2; sub2 := t2 - t_start2; if glob_small_float < sub2 then rrr := 100.0*sub2/sub1 else rrr := 0. end if; rrr end proc > # End Function number 27 > # Begin Function number 28 > factorial_2 := proc(nnn) > nnn!; > end; factorial_2 := proc(nnn) nnn! end proc > # End Function number 28 > # Begin Function number 29 > factorial_1 := proc(nnn) > global glob_max_terms,array_fact_1; > local ret; > if (nnn <= glob_max_terms) then # if number 8 > if (array_fact_1[nnn] = 0) then # if number 9 > ret := factorial_2(nnn); > array_fact_1[nnn] := ret; > else > ret := array_fact_1[nnn]; > fi;# end if 9; > else > ret := factorial_2(nnn); > fi;# end if 8; > ret; > end; factorial_1 := proc(nnn) local ret; global glob_max_terms, array_fact_1; if nnn <= glob_max_terms then if array_fact_1[nnn] = 0 then ret := factorial_2(nnn); array_fact_1[nnn] := ret else ret := array_fact_1[nnn] end if else ret := factorial_2(nnn) end if; ret end proc > # End Function number 29 > # Begin Function number 30 > factorial_3 := proc(mmm,nnn) > global glob_max_terms,array_fact_2; > local ret; > if ((nnn <= glob_max_terms) and (mmm <= glob_max_terms)) then # if number 8 > if (array_fact_2[mmm,nnn] = 0) then # if number 9 > ret := factorial_1(mmm)/factorial_1(nnn); > array_fact_2[mmm,nnn] := ret; > else > ret := array_fact_2[mmm,nnn]; > fi;# end if 9; > else > ret := factorial_2(mmm)/factorial_2(nnn); > fi;# end if 8; > ret; > end; factorial_3 := proc(mmm, nnn) local ret; global glob_max_terms, array_fact_2; if nnn <= glob_max_terms and mmm <= glob_max_terms then if array_fact_2[mmm, nnn] = 0 then ret := factorial_1(mmm)/factorial_1(nnn); array_fact_2[mmm, nnn] := ret else ret := array_fact_2[mmm, nnn] end if else ret := factorial_2(mmm)/factorial_2(nnn) end if; ret end proc > # End Function number 30 > # Begin Function number 31 > convfp := proc(mmm) > (mmm); > end; convfp := proc(mmm) mmm end proc > # End Function number 31 > # Begin Function number 32 > convfloat := proc(mmm) > (mmm); > end; convfloat := proc(mmm) mmm end proc > # End Function number 32 > # Begin Function number 33 > elapsed_time_seconds := proc() > time(); > end; elapsed_time_seconds := proc() time() end proc > # End Function number 33 > # Begin Function number 34 > omniabs := proc(x) > abs(x); > end; omniabs := proc(x) abs(x) end proc > # End Function number 34 > # Begin Function number 35 > expt := proc(x,y) > (x^y); > end; expt := proc(x, y) x^y end proc > # End Function number 35 > # Begin Function number 36 > estimated_needed_step_error := proc(x_start,x_end,estimated_h,estimated_answer) > local desired_abs_gbl_error,range,estimated_steps,step_error; > global glob_desired_digits_correct,ALWAYS; > omniout_float(ALWAYS,"glob_desired_digits_correct",32,glob_desired_digits_correct,32,""); > desired_abs_gbl_error := expt(10.0,- glob_desired_digits_correct) * omniabs(estimated_answer); > omniout_float(ALWAYS,"desired_abs_gbl_error",32,desired_abs_gbl_error,32,""); > range := (x_end - x_start); > omniout_float(ALWAYS,"range",32,range,32,""); > estimated_steps := range / estimated_h; > omniout_float(ALWAYS,"estimated_steps",32,estimated_steps,32,""); > step_error := omniabs(desired_abs_gbl_error / estimated_steps); > omniout_float(ALWAYS,"step_error",32,step_error,32,""); > (step_error);; > end; estimated_needed_step_error := proc( x_start, x_end, estimated_h, estimated_answer) local desired_abs_gbl_error, range, estimated_steps, step_error; global glob_desired_digits_correct, ALWAYS; omniout_float(ALWAYS, "glob_desired_digits_correct", 32, glob_desired_digits_correct, 32, ""); desired_abs_gbl_error := expt(10.0, -glob_desired_digits_correct)*omniabs(estimated_answer); omniout_float(ALWAYS, "desired_abs_gbl_error", 32, desired_abs_gbl_error, 32, ""); range := x_end - x_start; omniout_float(ALWAYS, "range", 32, range, 32, ""); estimated_steps := range/estimated_h; omniout_float(ALWAYS, "estimated_steps", 32, estimated_steps, 32, ""); step_error := omniabs(desired_abs_gbl_error/estimated_steps); omniout_float(ALWAYS, "step_error", 32, step_error, 32, ""); step_error end proc > # End Function number 36 > #END ATS LIBRARY BLOCK > #BEGIN USER DEF BLOCK > #BEGIN USER DEF BLOCK > exact_soln_y2 := proc(x) > return(1.0 + cos(x)); > end; exact_soln_y2 := proc(x) return 1.0 + cos(x) end proc > exact_soln_y2p := proc(x) > return( -sin(x)); > end; exact_soln_y2p := proc(x) return -sin(x) end proc > exact_soln_y2pp := proc(x) > return( -cos(x)); > end; exact_soln_y2pp := proc(x) return -cos(x) end proc > exact_soln_y1 := proc(x) > return( 1.0 - sin(x)); > end; exact_soln_y1 := proc(x) return 1.0 - sin(x) end proc > #END USER DEF BLOCK > #END USER DEF BLOCK > #END OUTFILE5 > # Begin Function number 2 > main := proc() > #BEGIN OUTFIEMAIN > local d1,d2,d3,d4,est_err_2,niii,done_once, > term,ord,order_diff,term_no,html_log_file,iiif,jjjf, > rows,r_order,sub_iter,calc_term,iii,temp_sum,current_iter, > x_start,x_end > ,it, log10norm, max_terms, opt_iter, tmp,subiter, est_needed_step_err,value3,min_value,est_answer,best_h,found_h; > global > glob_max_terms, > glob_iolevel, > ALWAYS, > INFO, > DEBUGL, > DEBUGMASSIVE, > #Top Generate Globals Decl > MAX_UNCHANGED, > glob_check_sign, > glob_desired_digits_correct, > glob_max_value3, > glob_ratio_of_radius, > glob_percent_done, > glob_subiter_method, > glob_log10normmin, > glob_total_exp_sec, > glob_optimal_expect_sec, > glob_html_log, > glob_good_digits, > glob_max_opt_iter, > glob_dump, > glob_djd_debug, > glob_display_flag, > glob_djd_debug2, > glob_sec_in_minute, > glob_min_in_hour, > glob_hours_in_day, > glob_days_in_year, > glob_sec_in_hour, > glob_sec_in_day, > glob_sec_in_year, > glob_almost_1, > glob_clock_sec, > glob_clock_start_sec, > glob_not_yet_finished, > glob_initial_pass, > glob_not_yet_start_msg, > glob_reached_optimal_h, > glob_optimal_done, > glob_disp_incr, > glob_h, > glob_hmax, > glob_hmin, > glob_hmin_init, > glob_large_float, > glob_last_good_h, > glob_look_poles, > glob_neg_h, > glob_display_interval, > glob_next_display, > glob_dump_analytic, > glob_log10_abserr, > glob_log10_relerr, > glob_abserr, > glob_relerr, > glob_max_hours, > glob_max_iter, > glob_max_rel_trunc_err, > glob_max_trunc_err, > glob_no_eqs, > glob_optimal_clock_start_sec, > glob_optimal_start, > glob_small_float, > glob_smallish_float, > glob_unchanged_h_cnt, > glob_warned, > glob_warned2, > glob_max_sec, > glob_orig_start_sec, > glob_start, > glob_curr_iter_when_opt, > glob_current_iter, > glob_iter, > glob_normmax, > glob_log10abserr, > glob_log10relerr, > glob_max_minutes, > #Bottom Generate Globals Decl > #BEGIN CONST > array_const_3, > array_const_0D0, > array_const_1, > array_const_1D0, > #END CONST > array_y2_init, > array_y1_init, > array_norms, > array_fact_1, > array_pole, > array_1st_rel_error, > array_last_rel_error, > array_type_pole, > array_y2, > array_x, > array_y1, > array_tmp0, > array_tmp1_g, > array_tmp1, > array_tmp2, > array_tmp3, > array_tmp4, > array_tmp5, > array_tmp6, > array_m1, > array_y2_higher, > array_y2_higher_work, > array_y2_higher_work2, > array_y2_set_initial, > array_y1_higher, > array_y1_higher_work, > array_y1_higher_work2, > array_y1_set_initial, > array_poles, > array_real_pole, > array_complex_pole, > array_fact_2, > glob_last; > glob_last; > ALWAYS := 1; > INFO := 2; > DEBUGL := 3; > DEBUGMASSIVE := 4; > glob_iolevel := INFO; > glob_max_terms := 30; > glob_iolevel := 5; > ALWAYS := 1; > INFO := 2; > DEBUGL := 3; > DEBUGMASSIVE := 4; > MAX_UNCHANGED := 10; > glob_check_sign := 1.0; > glob_desired_digits_correct := 8.0; > glob_max_value3 := 0.0; > glob_ratio_of_radius := 0.01; > glob_percent_done := 0.0; > glob_subiter_method := 3; > glob_log10normmin := 0.1; > glob_total_exp_sec := 0.1; > glob_optimal_expect_sec := 0.1; > glob_html_log := true; > glob_good_digits := 0; > glob_max_opt_iter := 10; > glob_dump := false; > glob_djd_debug := true; > glob_display_flag := true; > glob_djd_debug2 := true; > glob_sec_in_minute := 60; > glob_min_in_hour := 60; > glob_hours_in_day := 24; > glob_days_in_year := 365; > glob_sec_in_hour := 3600; > glob_sec_in_day := 86400; > glob_sec_in_year := 31536000; > glob_almost_1 := 0.9990; > glob_clock_sec := 0.0; > glob_clock_start_sec := 0.0; > glob_not_yet_finished := true; > glob_initial_pass := true; > glob_not_yet_start_msg := true; > glob_reached_optimal_h := false; > glob_optimal_done := false; > glob_disp_incr := 0.1; > glob_h := 0.1; > glob_hmax := 1.0; > glob_hmin := 0.00000000001; > glob_hmin_init := 0.001; > glob_large_float := 9.0e100; > glob_last_good_h := 0.1; > glob_look_poles := false; > glob_neg_h := false; > glob_display_interval := 0.0; > glob_next_display := 0.0; > glob_dump_analytic := false; > glob_log10_abserr := 0.1e-10; > glob_log10_relerr := 0.1e-10; > glob_abserr := 0.1e-10; > glob_relerr := 0.1e-10; > glob_max_hours := 0.0; > glob_max_iter := 1000; > glob_max_rel_trunc_err := 0.1e-10; > glob_max_trunc_err := 0.1e-10; > glob_no_eqs := 0; > glob_optimal_clock_start_sec := 0.0; > glob_optimal_start := 0.0; > glob_small_float := 0.1e-50; > glob_smallish_float := 0.1e-100; > glob_unchanged_h_cnt := 0; > glob_warned := false; > glob_warned2 := false; > glob_max_sec := 10000.0; > glob_orig_start_sec := 0.0; > glob_start := 0; > glob_curr_iter_when_opt := 0; > glob_current_iter := 0; > glob_iter := 0; > glob_normmax := 0.0; > glob_log10abserr := 0.0; > glob_log10relerr := 0.0; > glob_max_minutes := 0.0; > #Write Set Defaults > glob_orig_start_sec := elapsed_time_seconds(); > MAX_UNCHANGED := 10; > glob_curr_iter_when_opt := 0; > glob_display_flag := true; > glob_no_eqs := 2; > glob_iter := -1; > opt_iter := -1; > glob_max_iter := 50000; > glob_max_hours := 0.0; > glob_max_minutes := 15.0; > omniout_str(ALWAYS,"##############ECHO OF PROBLEM#################"); > omniout_str(ALWAYS,"##############temp/mtest4postode.ode#################"); > omniout_str(ALWAYS,"diff ( y2 , x , 3 ) = m1 * cos(x) ;"); > omniout_str(ALWAYS,"diff ( y1 , x , 1 ) = m1 * y2 + 1.0;"); > omniout_str(ALWAYS,"!"); > omniout_str(ALWAYS,"#BEGIN FIRST INPUT BLOCK"); > omniout_str(ALWAYS,"Digits:=32;"); > omniout_str(ALWAYS,"max_terms:=30;"); > omniout_str(ALWAYS,"!"); > omniout_str(ALWAYS,"#END FIRST INPUT BLOCK"); > omniout_str(ALWAYS,"#BEGIN SECOND INPUT BLOCK"); > omniout_str(ALWAYS,"x_start := 0.1;"); > omniout_str(ALWAYS,"x_end := 5.0;"); > omniout_str(ALWAYS,"glob_h := 0.00001;"); > omniout_str(ALWAYS,"array_y1_init[0 + 1] := exact_soln_y1(x_start);"); > omniout_str(ALWAYS,"array_y2_init[0 + 1] := exact_soln_y2(x_start);"); > omniout_str(ALWAYS,"array_y2_init[1 + 1] := exact_soln_y2p(x_start);"); > omniout_str(ALWAYS,"array_y2_init[2 + 1] := exact_soln_y2pp(x_start);"); > omniout_str(ALWAYS,"glob_max_iter := 20;"); > omniout_str(ALWAYS,"#END SECOND INPUT BLOCK"); > omniout_str(ALWAYS,"#BEGIN OVERRIDE BLOCK"); > omniout_str(ALWAYS,"glob_desired_digits_correct:=10;"); > omniout_str(ALWAYS,"glob_display_interval:=0.001;"); > omniout_str(ALWAYS,"glob_look_poles:=true;"); > omniout_str(ALWAYS,"glob_max_iter:=10000000;"); > omniout_str(ALWAYS,"glob_max_minutes:=3;"); > omniout_str(ALWAYS,"#END OVERRIDE BLOCK"); > omniout_str(ALWAYS,"!"); > omniout_str(ALWAYS,"#BEGIN USER DEF BLOCK"); > omniout_str(ALWAYS,"exact_soln_y2 := proc(x)"); > omniout_str(ALWAYS,"return(1.0 + cos(x));"); > omniout_str(ALWAYS,"end;"); > omniout_str(ALWAYS,"exact_soln_y2p := proc(x)"); > omniout_str(ALWAYS,"return( -sin(x));"); > omniout_str(ALWAYS,"end;"); > omniout_str(ALWAYS,"exact_soln_y2pp := proc(x)"); > omniout_str(ALWAYS,"return( -cos(x));"); > omniout_str(ALWAYS,"end;"); > omniout_str(ALWAYS,"exact_soln_y1 := proc(x)"); > omniout_str(ALWAYS,"return( 1.0 - sin(x));"); > omniout_str(ALWAYS,"end;"); > omniout_str(ALWAYS,""); > omniout_str(ALWAYS,"#END USER DEF BLOCK"); > omniout_str(ALWAYS,"#######END OF ECHO OF PROBLEM#################"); > glob_unchanged_h_cnt := 0; > glob_warned := false; > glob_warned2 := false; > glob_small_float := 1.0e-200; > glob_smallish_float := 1.0e-64; > glob_large_float := 1.0e100; > glob_almost_1 := 0.99; > glob_log10_abserr := -8.0; > glob_log10_relerr := -8.0; > glob_hmax := 0.01; > #BEGIN FIRST INPUT BLOCK > #BEGIN FIRST INPUT BLOCK > Digits:=32; > max_terms:=30; > #END FIRST INPUT BLOCK > #START OF INITS AFTER INPUT BLOCK > glob_max_terms := max_terms; > glob_html_log := true; > #END OF INITS AFTER INPUT BLOCK > array_y2_init:= Array(0..(max_terms + 1),[]); > array_y1_init:= Array(0..(max_terms + 1),[]); > array_norms:= Array(0..(max_terms + 1),[]); > array_fact_1:= Array(0..(max_terms + 1),[]); > array_pole:= Array(0..(max_terms + 1),[]); > array_1st_rel_error:= Array(0..(max_terms + 1),[]); > array_last_rel_error:= Array(0..(max_terms + 1),[]); > array_type_pole:= Array(0..(max_terms + 1),[]); > array_y2:= Array(0..(max_terms + 1),[]); > array_x:= Array(0..(max_terms + 1),[]); > array_y1:= Array(0..(max_terms + 1),[]); > array_tmp0:= Array(0..(max_terms + 1),[]); > array_tmp1_g:= Array(0..(max_terms + 1),[]); > array_tmp1:= Array(0..(max_terms + 1),[]); > array_tmp2:= Array(0..(max_terms + 1),[]); > array_tmp3:= Array(0..(max_terms + 1),[]); > array_tmp4:= Array(0..(max_terms + 1),[]); > array_tmp5:= Array(0..(max_terms + 1),[]); > array_tmp6:= Array(0..(max_terms + 1),[]); > array_m1:= Array(0..(max_terms + 1),[]); > array_y2_higher := Array(0..(4+ 1) ,(0..max_terms+ 1),[]); > array_y2_higher_work := Array(0..(4+ 1) ,(0..max_terms+ 1),[]); > array_y2_higher_work2 := Array(0..(4+ 1) ,(0..max_terms+ 1),[]); > array_y2_set_initial := Array(0..(3+ 1) ,(0..max_terms+ 1),[]); > array_y1_higher := Array(0..(2+ 1) ,(0..max_terms+ 1),[]); > array_y1_higher_work := Array(0..(2+ 1) ,(0..max_terms+ 1),[]); > array_y1_higher_work2 := Array(0..(2+ 1) ,(0..max_terms+ 1),[]); > array_y1_set_initial := Array(0..(3+ 1) ,(0..max_terms+ 1),[]); > array_poles := Array(0..(2+ 1) ,(0..3+ 1),[]); > array_real_pole := Array(0..(2+ 1) ,(0..3+ 1),[]); > array_complex_pole := Array(0..(2+ 1) ,(0..3+ 1),[]); > array_fact_2 := Array(0..(max_terms+ 1) ,(0..max_terms+ 1),[]); > term := 1; > while (term <= max_terms) do # do number 2 > array_y2_init[term] := 0.0; > term := term + 1; > od;# end do number 2; > term := 1; > while (term <= max_terms) do # do number 2 > array_y1_init[term] := 0.0; > term := term + 1; > od;# end do number 2; > term := 1; > while (term <= max_terms) do # do number 2 > array_norms[term] := 0.0; > term := term + 1; > od;# end do number 2; > term := 1; > while (term <= max_terms) do # do number 2 > array_fact_1[term] := 0.0; > term := term + 1; > od;# end do number 2; > term := 1; > while (term <= max_terms) do # do number 2 > array_pole[term] := 0.0; > term := term + 1; > od;# end do number 2; > term := 1; > while (term <= max_terms) do # do number 2 > array_1st_rel_error[term] := 0.0; > term := term + 1; > od;# end do number 2; > term := 1; > while (term <= max_terms) do # do number 2 > array_last_rel_error[term] := 0.0; > term := term + 1; > od;# end do number 2; > term := 1; > while (term <= max_terms) do # do number 2 > array_type_pole[term] := 0.0; > term := term + 1; > od;# end do number 2; > term := 1; > while (term <= max_terms) do # do number 2 > array_y2[term] := 0.0; > term := term + 1; > od;# end do number 2; > term := 1; > while (term <= max_terms) do # do number 2 > array_x[term] := 0.0; > term := term + 1; > od;# end do number 2; > term := 1; > while (term <= max_terms) do # do number 2 > array_y1[term] := 0.0; > term := term + 1; > od;# end do number 2; > term := 1; > while (term <= max_terms) do # do number 2 > array_tmp0[term] := 0.0; > term := term + 1; > od;# end do number 2; > term := 1; > while (term <= max_terms) do # do number 2 > array_tmp1_g[term] := 0.0; > term := term + 1; > od;# end do number 2; > term := 1; > while (term <= max_terms) do # do number 2 > array_tmp1[term] := 0.0; > term := term + 1; > od;# end do number 2; > term := 1; > while (term <= max_terms) do # do number 2 > array_tmp2[term] := 0.0; > term := term + 1; > od;# end do number 2; > term := 1; > while (term <= max_terms) do # do number 2 > array_tmp3[term] := 0.0; > term := term + 1; > od;# end do number 2; > term := 1; > while (term <= max_terms) do # do number 2 > array_tmp4[term] := 0.0; > term := term + 1; > od;# end do number 2; > term := 1; > while (term <= max_terms) do # do number 2 > array_tmp5[term] := 0.0; > term := term + 1; > od;# end do number 2; > term := 1; > while (term <= max_terms) do # do number 2 > array_tmp6[term] := 0.0; > term := term + 1; > od;# end do number 2; > term := 1; > while (term <= max_terms) do # do number 2 > array_m1[term] := 0.0; > term := term + 1; > od;# end do number 2; > ord := 1; > while (ord <=4) do # do number 2 > term := 1; > while (term <= max_terms) do # do number 3 > array_y2_higher[ord,term] := 0.0; > term := term + 1; > od;# end do number 3; > ord := ord + 1; > od;# end do number 2; > ord := 1; > while (ord <=4) do # do number 2 > term := 1; > while (term <= max_terms) do # do number 3 > array_y2_higher_work[ord,term] := 0.0; > term := term + 1; > od;# end do number 3; > ord := ord + 1; > od;# end do number 2; > ord := 1; > while (ord <=4) do # do number 2 > term := 1; > while (term <= max_terms) do # do number 3 > array_y2_higher_work2[ord,term] := 0.0; > term := term + 1; > od;# end do number 3; > ord := ord + 1; > od;# end do number 2; > ord := 1; > while (ord <=3) do # do number 2 > term := 1; > while (term <= max_terms) do # do number 3 > array_y2_set_initial[ord,term] := 0.0; > term := term + 1; > od;# end do number 3; > ord := ord + 1; > od;# end do number 2; > ord := 1; > while (ord <=2) do # do number 2 > term := 1; > while (term <= max_terms) do # do number 3 > array_y1_higher[ord,term] := 0.0; > term := term + 1; > od;# end do number 3; > ord := ord + 1; > od;# end do number 2; > ord := 1; > while (ord <=2) do # do number 2 > term := 1; > while (term <= max_terms) do # do number 3 > array_y1_higher_work[ord,term] := 0.0; > term := term + 1; > od;# end do number 3; > ord := ord + 1; > od;# end do number 2; > ord := 1; > while (ord <=2) do # do number 2 > term := 1; > while (term <= max_terms) do # do number 3 > array_y1_higher_work2[ord,term] := 0.0; > term := term + 1; > od;# end do number 3; > ord := ord + 1; > od;# end do number 2; > ord := 1; > while (ord <=3) do # do number 2 > term := 1; > while (term <= max_terms) do # do number 3 > array_y1_set_initial[ord,term] := 0.0; > term := term + 1; > od;# end do number 3; > ord := ord + 1; > od;# end do number 2; > ord := 1; > while (ord <=2) do # do number 2 > term := 1; > while (term <= 3) do # do number 3 > array_poles[ord,term] := 0.0; > term := term + 1; > od;# end do number 3; > ord := ord + 1; > od;# end do number 2; > ord := 1; > while (ord <=2) do # do number 2 > term := 1; > while (term <= 3) do # do number 3 > array_real_pole[ord,term] := 0.0; > term := term + 1; > od;# end do number 3; > ord := ord + 1; > od;# end do number 2; > ord := 1; > while (ord <=2) do # do number 2 > term := 1; > while (term <= 3) do # do number 3 > array_complex_pole[ord,term] := 0.0; > term := term + 1; > od;# end do number 3; > ord := ord + 1; > od;# end do number 2; > ord := 1; > while (ord <=max_terms) do # do number 2 > term := 1; > while (term <= max_terms) do # do number 3 > array_fact_2[ord,term] := 0.0; > term := term + 1; > od;# end do number 3; > ord := ord + 1; > od;# end do number 2; > #BEGIN ARRAYS DEFINED AND INITIALIZATED > array_y2 := Array(1..(max_terms+1 + 1),[]); > term := 1; > while (term <= max_terms + 1) do # do number 2 > array_y2[term] := 0.0; > term := term + 1; > od;# end do number 2; > array_x := Array(1..(max_terms+1 + 1),[]); > term := 1; > while (term <= max_terms + 1) do # do number 2 > array_x[term] := 0.0; > term := term + 1; > od;# end do number 2; > array_m1 := Array(1..(max_terms+1 + 1),[]); > term := 1; > while (term <= max_terms + 1) do # do number 2 > array_m1[term] := 0.0; > term := term + 1; > od;# end do number 2; > array_y1 := Array(1..(max_terms+1 + 1),[]); > term := 1; > while (term <= max_terms + 1) do # do number 2 > array_y1[term] := 0.0; > term := term + 1; > od;# end do number 2; > array_tmp0 := Array(1..(max_terms+1 + 1),[]); > term := 1; > while (term <= max_terms + 1) do # do number 2 > array_tmp0[term] := 0.0; > term := term + 1; > od;# end do number 2; > array_tmp1_g := Array(1..(max_terms+1 + 1),[]); > term := 1; > while (term <= max_terms + 1) do # do number 2 > array_tmp1_g[term] := 0.0; > term := term + 1; > od;# end do number 2; > array_tmp1 := Array(1..(max_terms+1 + 1),[]); > term := 1; > while (term <= max_terms + 1) do # do number 2 > array_tmp1[term] := 0.0; > term := term + 1; > od;# end do number 2; > array_tmp2 := Array(1..(max_terms+1 + 1),[]); > term := 1; > while (term <= max_terms + 1) do # do number 2 > array_tmp2[term] := 0.0; > term := term + 1; > od;# end do number 2; > array_tmp3 := Array(1..(max_terms+1 + 1),[]); > term := 1; > while (term <= max_terms + 1) do # do number 2 > array_tmp3[term] := 0.0; > term := term + 1; > od;# end do number 2; > array_tmp4 := Array(1..(max_terms+1 + 1),[]); > term := 1; > while (term <= max_terms + 1) do # do number 2 > array_tmp4[term] := 0.0; > term := term + 1; > od;# end do number 2; > array_tmp5 := Array(1..(max_terms+1 + 1),[]); > term := 1; > while (term <= max_terms + 1) do # do number 2 > array_tmp5[term] := 0.0; > term := term + 1; > od;# end do number 2; > array_tmp6 := Array(1..(max_terms+1 + 1),[]); > term := 1; > while (term <= max_terms + 1) do # do number 2 > array_tmp6[term] := 0.0; > term := term + 1; > od;# end do number 2; > array_const_3 := Array(1..(max_terms+1 + 1),[]); > term := 1; > while (term <= max_terms + 1) do # do number 2 > array_const_3[term] := 0.0; > term := term + 1; > od;# end do number 2; > array_const_3[1] := 3; > array_const_0D0 := Array(1..(max_terms+1 + 1),[]); > term := 1; > while (term <= max_terms + 1) do # do number 2 > array_const_0D0[term] := 0.0; > term := term + 1; > od;# end do number 2; > array_const_0D0[1] := 0.0; > array_const_1 := Array(1..(max_terms+1 + 1),[]); > term := 1; > while (term <= max_terms + 1) do # do number 2 > array_const_1[term] := 0.0; > term := term + 1; > od;# end do number 2; > array_const_1[1] := 1; > array_const_1D0 := Array(1..(max_terms+1 + 1),[]); > term := 1; > while (term <= max_terms + 1) do # do number 2 > array_const_1D0[term] := 0.0; > term := term + 1; > od;# end do number 2; > array_const_1D0[1] := 1.0; > array_m1 := Array(1..(max_terms+1 + 1),[]); > term := 1; > while (term <= max_terms) do # do number 2 > array_m1[term] := 0.0; > term := term + 1; > od;# end do number 2; > array_m1[1] := -1.0; > #END ARRAYS DEFINED AND INITIALIZATED > #Initing Factorial Tables > iiif := 0; > while (iiif <= glob_max_terms) do # do number 2 > jjjf := 0; > while (jjjf <= glob_max_terms) do # do number 3 > array_fact_1[iiif] := 0; > array_fact_2[iiif,jjjf] := 0; > jjjf := jjjf + 1; > od;# end do number 3; > iiif := iiif + 1; > od;# end do number 2; > #Done Initing Factorial Tables > #TOP SECOND INPUT BLOCK > #BEGIN SECOND INPUT BLOCK > #END FIRST INPUT BLOCK > #BEGIN SECOND INPUT BLOCK > x_start := 0.1; > x_end := 5.0; > glob_h := 0.00001; > array_y1_init[0 + 1] := exact_soln_y1(x_start); > array_y2_init[0 + 1] := exact_soln_y2(x_start); > array_y2_init[1 + 1] := exact_soln_y2p(x_start); > array_y2_init[2 + 1] := exact_soln_y2pp(x_start); > glob_max_iter := 20; > #END SECOND INPUT BLOCK > #BEGIN OVERRIDE BLOCK > glob_desired_digits_correct:=10; > glob_display_interval:=0.001; > glob_look_poles:=true; > glob_max_iter:=10000000; > glob_max_minutes:=3; > #END OVERRIDE BLOCK > #END SECOND INPUT BLOCK > #BEGIN INITS AFTER SECOND INPUT BLOCK > glob_last_good_h := glob_h; > glob_max_terms := max_terms; > glob_max_sec := convfloat(60.0) * convfloat(glob_max_minutes) + convfloat(3600.0) * convfloat(glob_max_hours); > glob_abserr := expt(10.0 , (glob_log10_abserr)); > glob_relerr := expt(10.0 , (glob_log10_relerr)); > if (glob_h > 0.0) then # if number 1 > glob_neg_h := false; > glob_display_interval := omniabs(glob_display_interval); > else > glob_neg_h := true; > glob_display_interval := -omniabs(glob_display_interval); > fi;# end if 1; > chk_data(); > #AFTER INITS AFTER SECOND INPUT BLOCK > array_y2_set_initial[1,1] := true; > array_y2_set_initial[1,2] := true; > array_y2_set_initial[1,3] := true; > array_y2_set_initial[1,4] := false; > array_y2_set_initial[1,5] := false; > array_y2_set_initial[1,6] := false; > array_y2_set_initial[1,7] := false; > array_y2_set_initial[1,8] := false; > array_y2_set_initial[1,9] := false; > array_y2_set_initial[1,10] := false; > array_y2_set_initial[1,11] := false; > array_y2_set_initial[1,12] := false; > array_y2_set_initial[1,13] := false; > array_y2_set_initial[1,14] := false; > array_y2_set_initial[1,15] := false; > array_y2_set_initial[1,16] := false; > array_y2_set_initial[1,17] := false; > array_y2_set_initial[1,18] := false; > array_y2_set_initial[1,19] := false; > array_y2_set_initial[1,20] := false; > array_y2_set_initial[1,21] := false; > array_y2_set_initial[1,22] := false; > array_y2_set_initial[1,23] := false; > array_y2_set_initial[1,24] := false; > array_y2_set_initial[1,25] := false; > array_y2_set_initial[1,26] := false; > array_y2_set_initial[1,27] := false; > array_y2_set_initial[1,28] := false; > array_y2_set_initial[1,29] := false; > array_y2_set_initial[1,30] := false; > array_y1_set_initial[2,1] := true; > array_y1_set_initial[2,2] := false; > array_y1_set_initial[2,3] := false; > array_y1_set_initial[2,4] := false; > array_y1_set_initial[2,5] := false; > array_y1_set_initial[2,6] := false; > array_y1_set_initial[2,7] := false; > array_y1_set_initial[2,8] := false; > array_y1_set_initial[2,9] := false; > array_y1_set_initial[2,10] := false; > array_y1_set_initial[2,11] := false; > array_y1_set_initial[2,12] := false; > array_y1_set_initial[2,13] := false; > array_y1_set_initial[2,14] := false; > array_y1_set_initial[2,15] := false; > array_y1_set_initial[2,16] := false; > array_y1_set_initial[2,17] := false; > array_y1_set_initial[2,18] := false; > array_y1_set_initial[2,19] := false; > array_y1_set_initial[2,20] := false; > array_y1_set_initial[2,21] := false; > array_y1_set_initial[2,22] := false; > array_y1_set_initial[2,23] := false; > array_y1_set_initial[2,24] := false; > array_y1_set_initial[2,25] := false; > array_y1_set_initial[2,26] := false; > array_y1_set_initial[2,27] := false; > array_y1_set_initial[2,28] := false; > array_y1_set_initial[2,29] := false; > array_y1_set_initial[2,30] := false; > #BEGIN OPTIMIZE CODE > omniout_str(ALWAYS,"START of Optimize"); > #Start Series -- INITIALIZE FOR OPTIMIZE > glob_check_sign := check_sign(x_start,x_end); > glob_h := check_sign(x_start,x_end); > if (glob_display_interval < glob_h) then # if number 3 > glob_h := glob_display_interval; > fi;# end if 3; > found_h := -1.0; > best_h := 0.0; > min_value := glob_large_float; > est_answer := est_size_answer(); > opt_iter := 1; > while ((opt_iter <= 20) and (found_h < 0.0)) do # do number 2 > omniout_int(ALWAYS,"opt_iter",32,opt_iter,4,""); > array_x[1] := x_start; > array_x[2] := glob_h; > glob_next_display := x_start; > order_diff := 3; > #Start Series array_y2 > term_no := 1; > while (term_no <= order_diff) do # do number 3 > array_y2[term_no] := array_y2_init[term_no] * expt(glob_h , (term_no - 1)) / factorial_1(term_no - 1); > term_no := term_no + 1; > od;# end do number 3; > rows := order_diff; > r_order := 1; > while (r_order <= rows) do # do number 3 > term_no := 1; > while (term_no <= (rows - r_order + 1)) do # do number 4 > it := term_no + r_order - 1; > array_y2_higher[r_order,term_no] := array_y2_init[it]* expt(glob_h , (term_no - 1)) / ((factorial_1(term_no - 1))); > term_no := term_no + 1; > od;# end do number 4; > r_order := r_order + 1; > od;# end do number 3 > ; > order_diff := 1; > #Start Series array_y1 > term_no := 1; > while (term_no <= order_diff) do # do number 3 > array_y1[term_no] := array_y1_init[term_no] * expt(glob_h , (term_no - 1)) / factorial_1(term_no - 1); > term_no := term_no + 1; > od;# end do number 3; > rows := order_diff; > r_order := 1; > while (r_order <= rows) do # do number 3 > term_no := 1; > while (term_no <= (rows - r_order + 1)) do # do number 4 > it := term_no + r_order - 1; > array_y1_higher[r_order,term_no] := array_y1_init[it]* expt(glob_h , (term_no - 1)) / ((factorial_1(term_no - 1))); > term_no := term_no + 1; > od;# end do number 4; > r_order := r_order + 1; > od;# end do number 3 > ; > if (glob_subiter_method = 1 ) then # if number 3 > atomall(); > elif > (glob_subiter_method = 2 ) then # if number 4 > subiter := 1; > while (subiter <= 4) do # do number 3 > atomall(); > subiter := subiter + 1; > od;# end do number 3; > else > subiter := 1; > while (subiter <= 4 + glob_max_terms) do # do number 3 > atomall(); > subiter := subiter + 1; > od;# end do number 3; > fi;# end if 4; > est_needed_step_err := estimated_needed_step_error(x_start,x_end,glob_h,est_answer); > omniout_float(ALWAYS,"est_needed_step_err",32,est_needed_step_err,16,""); > value3 := test_suggested_h(); > omniout_float(ALWAYS,"value3",32,value3,32,""); > if ((value3 < est_needed_step_err) and (found_h < 0.0)) then # if number 4 > best_h := glob_h; > found_h := 1.0; > fi;# end if 4; > omniout_float(ALWAYS,"best_h",32,best_h,32,""); > opt_iter := opt_iter + 1; > glob_h := glob_h * 0.5; > od;# end do number 2; > if (found_h > 0.0) then # if number 4 > glob_h := best_h ; > else > omniout_str(ALWAYS,"No increment to obtain desired accuracy found"); > fi;# end if 4; > #END OPTIMIZE CODE > if (glob_html_log) then # if number 4 > html_log_file := fopen("html/entry.html",WRITE,TEXT); > fi;# end if 4; > #BEGIN SOLUTION CODE > if (found_h > 0.0) then # if number 4 > omniout_str(ALWAYS,"START of Soultion"); > #Start Series -- INITIALIZE FOR SOLUTION > array_x[1] := x_start; > array_x[2] := glob_h; > glob_next_display := x_start; > order_diff := 3; > #Start Series array_y2 > term_no := 1; > while (term_no <= order_diff) do # do number 2 > array_y2[term_no] := array_y2_init[term_no] * expt(glob_h , (term_no - 1)) / factorial_1(term_no - 1); > term_no := term_no + 1; > od;# end do number 2; > rows := order_diff; > r_order := 1; > while (r_order <= rows) do # do number 2 > term_no := 1; > while (term_no <= (rows - r_order + 1)) do # do number 3 > it := term_no + r_order - 1; > array_y2_higher[r_order,term_no] := array_y2_init[it]* expt(glob_h , (term_no - 1)) / ((factorial_1(term_no - 1))); > term_no := term_no + 1; > od;# end do number 3; > r_order := r_order + 1; > od;# end do number 2 > ; > order_diff := 1; > #Start Series array_y1 > term_no := 1; > while (term_no <= order_diff) do # do number 2 > array_y1[term_no] := array_y1_init[term_no] * expt(glob_h , (term_no - 1)) / factorial_1(term_no - 1); > term_no := term_no + 1; > od;# end do number 2; > rows := order_diff; > r_order := 1; > while (r_order <= rows) do # do number 2 > term_no := 1; > while (term_no <= (rows - r_order + 1)) do # do number 3 > it := term_no + r_order - 1; > array_y1_higher[r_order,term_no] := array_y1_init[it]* expt(glob_h , (term_no - 1)) / ((factorial_1(term_no - 1))); > term_no := term_no + 1; > od;# end do number 3; > r_order := r_order + 1; > od;# end do number 2 > ; > current_iter := 1; > glob_clock_start_sec := elapsed_time_seconds(); > glob_log10normmin := -glob_large_float ; > if (omniabs(array_y2_higher[1,1]) > glob_small_float) then # if number 5 > tmp := omniabs(array_y2_higher[1,1]); > log10norm := (log10(tmp)); > if (log10norm < glob_log10normmin) then # if number 6 > glob_log10normmin := log10norm; > fi;# end if 6 > fi;# end if 5; > display_alot(current_iter) > ; > if (omniabs(array_y1_higher[1,1]) > glob_small_float) then # if number 5 > tmp := omniabs(array_y1_higher[1,1]); > log10norm := (log10(tmp)); > if (log10norm < glob_log10normmin) then # if number 6 > glob_log10normmin := log10norm; > fi;# end if 6 > fi;# end if 5; > display_alot(current_iter) > ; > glob_clock_sec := elapsed_time_seconds(); > glob_current_iter := 0; > glob_iter := 0; > omniout_str(DEBUGL," "); > glob_reached_optimal_h := true; > glob_optimal_clock_start_sec := elapsed_time_seconds(); > while ((glob_current_iter < glob_max_iter) and ((glob_check_sign * array_x[1]) < (glob_check_sign * x_end )) and ((convfloat(glob_clock_sec) - convfloat(glob_orig_start_sec)) < convfloat(glob_max_sec))) do # do number 2 > #left paren 0001C > if (reached_interval()) then # if number 5 > omniout_str(INFO," "); > omniout_str(INFO,"TOP MAIN SOLVE Loop"); > fi;# end if 5; > glob_iter := glob_iter + 1; > glob_clock_sec := elapsed_time_seconds(); > glob_current_iter := glob_current_iter + 1; > if (glob_subiter_method = 1 ) then # if number 5 > atomall(); > elif > (glob_subiter_method = 2 ) then # if number 6 > subiter := 1; > while (subiter <= 4) do # do number 3 > atomall(); > subiter := subiter + 1; > od;# end do number 3; > else > subiter := 1; > while (subiter <= 4 + glob_max_terms) do # do number 3 > atomall(); > subiter := subiter + 1; > od;# end do number 3; > fi;# end if 6; > if (glob_look_poles) then # if number 6 > #left paren 0004C > check_for_pole(); > fi;# end if 6;#was right paren 0004C > if (reached_interval()) then # if number 6 > glob_next_display := glob_next_display + glob_display_interval; > fi;# end if 6; > array_x[1] := array_x[1] + glob_h; > array_x[2] := glob_h; > #Jump Series array_y2 > order_diff := 3; > #START PART 1 SUM AND ADJUST > #START SUM AND ADJUST EQ =1 > #sum_and_adjust array_y2 > #BEFORE ADJUST SUBSERIES EQ =1 > ord := 4; > calc_term := 1; > #adjust_subseriesarray_y2 > iii := glob_max_terms; > while (iii >= calc_term) do # do number 3 > array_y2_higher_work[4,iii] := array_y2_higher[4,iii] / expt(glob_h , (calc_term - 1)) / factorial_3(iii - calc_term , iii - 1); > iii := iii - 1; > od;# end do number 3; > #AFTER ADJUST SUBSERIES EQ =1 > #BEFORE SUM SUBSERIES EQ =1 > temp_sum := 0.0; > ord := 4; > calc_term := 1; > #sum_subseriesarray_y2 > iii := glob_max_terms; > while (iii >= calc_term) do # do number 3 > temp_sum := temp_sum + array_y2_higher_work[ord,iii]; > iii := iii - 1; > od;# end do number 3; > array_y2_higher_work2[ord,calc_term] := temp_sum * expt(glob_h , (calc_term - 1)) / (factorial_1(calc_term - 1)); > #AFTER SUM SUBSERIES EQ =1 > #BEFORE ADJUST SUBSERIES EQ =1 > ord := 3; > calc_term := 2; > #adjust_subseriesarray_y2 > iii := glob_max_terms; > while (iii >= calc_term) do # do number 3 > array_y2_higher_work[3,iii] := array_y2_higher[3,iii] / expt(glob_h , (calc_term - 1)) / factorial_3(iii - calc_term , iii - 1); > iii := iii - 1; > od;# end do number 3; > #AFTER ADJUST SUBSERIES EQ =1 > #BEFORE SUM SUBSERIES EQ =1 > temp_sum := 0.0; > ord := 3; > calc_term := 2; > #sum_subseriesarray_y2 > iii := glob_max_terms; > while (iii >= calc_term) do # do number 3 > temp_sum := temp_sum + array_y2_higher_work[ord,iii]; > iii := iii - 1; > od;# end do number 3; > array_y2_higher_work2[ord,calc_term] := temp_sum * expt(glob_h , (calc_term - 1)) / (factorial_1(calc_term - 1)); > #AFTER SUM SUBSERIES EQ =1 > #BEFORE ADJUST SUBSERIES EQ =1 > ord := 3; > calc_term := 1; > #adjust_subseriesarray_y2 > iii := glob_max_terms; > while (iii >= calc_term) do # do number 3 > array_y2_higher_work[3,iii] := array_y2_higher[3,iii] / expt(glob_h , (calc_term - 1)) / factorial_3(iii - calc_term , iii - 1); > iii := iii - 1; > od;# end do number 3; > #AFTER ADJUST SUBSERIES EQ =1 > #BEFORE SUM SUBSERIES EQ =1 > temp_sum := 0.0; > ord := 3; > calc_term := 1; > #sum_subseriesarray_y2 > iii := glob_max_terms; > while (iii >= calc_term) do # do number 3 > temp_sum := temp_sum + array_y2_higher_work[ord,iii]; > iii := iii - 1; > od;# end do number 3; > array_y2_higher_work2[ord,calc_term] := temp_sum * expt(glob_h , (calc_term - 1)) / (factorial_1(calc_term - 1)); > #AFTER SUM SUBSERIES EQ =1 > #BEFORE ADJUST SUBSERIES EQ =1 > ord := 2; > calc_term := 3; > #adjust_subseriesarray_y2 > iii := glob_max_terms; > while (iii >= calc_term) do # do number 3 > array_y2_higher_work[2,iii] := array_y2_higher[2,iii] / expt(glob_h , (calc_term - 1)) / factorial_3(iii - calc_term , iii - 1); > iii := iii - 1; > od;# end do number 3; > #AFTER ADJUST SUBSERIES EQ =1 > #BEFORE SUM SUBSERIES EQ =1 > temp_sum := 0.0; > ord := 2; > calc_term := 3; > #sum_subseriesarray_y2 > iii := glob_max_terms; > while (iii >= calc_term) do # do number 3 > temp_sum := temp_sum + array_y2_higher_work[ord,iii]; > iii := iii - 1; > od;# end do number 3; > array_y2_higher_work2[ord,calc_term] := temp_sum * expt(glob_h , (calc_term - 1)) / (factorial_1(calc_term - 1)); > #AFTER SUM SUBSERIES EQ =1 > #BEFORE ADJUST SUBSERIES EQ =1 > ord := 2; > calc_term := 2; > #adjust_subseriesarray_y2 > iii := glob_max_terms; > while (iii >= calc_term) do # do number 3 > array_y2_higher_work[2,iii] := array_y2_higher[2,iii] / expt(glob_h , (calc_term - 1)) / factorial_3(iii - calc_term , iii - 1); > iii := iii - 1; > od;# end do number 3; > #AFTER ADJUST SUBSERIES EQ =1 > #BEFORE SUM SUBSERIES EQ =1 > temp_sum := 0.0; > ord := 2; > calc_term := 2; > #sum_subseriesarray_y2 > iii := glob_max_terms; > while (iii >= calc_term) do # do number 3 > temp_sum := temp_sum + array_y2_higher_work[ord,iii]; > iii := iii - 1; > od;# end do number 3; > array_y2_higher_work2[ord,calc_term] := temp_sum * expt(glob_h , (calc_term - 1)) / (factorial_1(calc_term - 1)); > #AFTER SUM SUBSERIES EQ =1 > #BEFORE ADJUST SUBSERIES EQ =1 > ord := 2; > calc_term := 1; > #adjust_subseriesarray_y2 > iii := glob_max_terms; > while (iii >= calc_term) do # do number 3 > array_y2_higher_work[2,iii] := array_y2_higher[2,iii] / expt(glob_h , (calc_term - 1)) / factorial_3(iii - calc_term , iii - 1); > iii := iii - 1; > od;# end do number 3; > #AFTER ADJUST SUBSERIES EQ =1 > #BEFORE SUM SUBSERIES EQ =1 > temp_sum := 0.0; > ord := 2; > calc_term := 1; > #sum_subseriesarray_y2 > iii := glob_max_terms; > while (iii >= calc_term) do # do number 3 > temp_sum := temp_sum + array_y2_higher_work[ord,iii]; > iii := iii - 1; > od;# end do number 3; > array_y2_higher_work2[ord,calc_term] := temp_sum * expt(glob_h , (calc_term - 1)) / (factorial_1(calc_term - 1)); > #AFTER SUM SUBSERIES EQ =1 > #BEFORE ADJUST SUBSERIES EQ =1 > ord := 1; > calc_term := 4; > #adjust_subseriesarray_y2 > iii := glob_max_terms; > while (iii >= calc_term) do # do number 3 > array_y2_higher_work[1,iii] := array_y2_higher[1,iii] / expt(glob_h , (calc_term - 1)) / factorial_3(iii - calc_term , iii - 1); > iii := iii - 1; > od;# end do number 3; > #AFTER ADJUST SUBSERIES EQ =1 > #BEFORE SUM SUBSERIES EQ =1 > temp_sum := 0.0; > ord := 1; > calc_term := 4; > #sum_subseriesarray_y2 > iii := glob_max_terms; > while (iii >= calc_term) do # do number 3 > temp_sum := temp_sum + array_y2_higher_work[ord,iii]; > iii := iii - 1; > od;# end do number 3; > array_y2_higher_work2[ord,calc_term] := temp_sum * expt(glob_h , (calc_term - 1)) / (factorial_1(calc_term - 1)); > #AFTER SUM SUBSERIES EQ =1 > #BEFORE ADJUST SUBSERIES EQ =1 > ord := 1; > calc_term := 3; > #adjust_subseriesarray_y2 > iii := glob_max_terms; > while (iii >= calc_term) do # do number 3 > array_y2_higher_work[1,iii] := array_y2_higher[1,iii] / expt(glob_h , (calc_term - 1)) / factorial_3(iii - calc_term , iii - 1); > iii := iii - 1; > od;# end do number 3; > #AFTER ADJUST SUBSERIES EQ =1 > #BEFORE SUM SUBSERIES EQ =1 > temp_sum := 0.0; > ord := 1; > calc_term := 3; > #sum_subseriesarray_y2 > iii := glob_max_terms; > while (iii >= calc_term) do # do number 3 > temp_sum := temp_sum + array_y2_higher_work[ord,iii]; > iii := iii - 1; > od;# end do number 3; > array_y2_higher_work2[ord,calc_term] := temp_sum * expt(glob_h , (calc_term - 1)) / (factorial_1(calc_term - 1)); > #AFTER SUM SUBSERIES EQ =1 > #BEFORE ADJUST SUBSERIES EQ =1 > ord := 1; > calc_term := 2; > #adjust_subseriesarray_y2 > iii := glob_max_terms; > while (iii >= calc_term) do # do number 3 > array_y2_higher_work[1,iii] := array_y2_higher[1,iii] / expt(glob_h , (calc_term - 1)) / factorial_3(iii - calc_term , iii - 1); > iii := iii - 1; > od;# end do number 3; > #AFTER ADJUST SUBSERIES EQ =1 > #BEFORE SUM SUBSERIES EQ =1 > temp_sum := 0.0; > ord := 1; > calc_term := 2; > #sum_subseriesarray_y2 > iii := glob_max_terms; > while (iii >= calc_term) do # do number 3 > temp_sum := temp_sum + array_y2_higher_work[ord,iii]; > iii := iii - 1; > od;# end do number 3; > array_y2_higher_work2[ord,calc_term] := temp_sum * expt(glob_h , (calc_term - 1)) / (factorial_1(calc_term - 1)); > #AFTER SUM SUBSERIES EQ =1 > #BEFORE ADJUST SUBSERIES EQ =1 > ord := 1; > calc_term := 1; > #adjust_subseriesarray_y2 > iii := glob_max_terms; > while (iii >= calc_term) do # do number 3 > array_y2_higher_work[1,iii] := array_y2_higher[1,iii] / expt(glob_h , (calc_term - 1)) / factorial_3(iii - calc_term , iii - 1); > iii := iii - 1; > od;# end do number 3; > #AFTER ADJUST SUBSERIES EQ =1 > #BEFORE SUM SUBSERIES EQ =1 > temp_sum := 0.0; > ord := 1; > calc_term := 1; > #sum_subseriesarray_y2 > iii := glob_max_terms; > while (iii >= calc_term) do # do number 3 > temp_sum := temp_sum + array_y2_higher_work[ord,iii]; > iii := iii - 1; > od;# end do number 3; > array_y2_higher_work2[ord,calc_term] := temp_sum * expt(glob_h , (calc_term - 1)) / (factorial_1(calc_term - 1)); > #AFTER SUM SUBSERIES EQ =1 > #END SUM AND ADJUST EQ =1 > #END PART 1 > #START PART 2 MOVE TERMS to REGULAR Array > term_no := glob_max_terms; > while (term_no >= 1) do # do number 3 > array_y2[term_no] := array_y2_higher_work2[1,term_no]; > ord := 1; > while (ord <= order_diff) do # do number 4 > array_y2_higher[ord,term_no] := array_y2_higher_work2[ord,term_no]; > ord := ord + 1; > od;# end do number 4; > term_no := term_no - 1; > od;# end do number 3; > #END PART 2 HEVE MOVED TERMS to REGULAR Array > #Jump Series array_y1 > order_diff := 1; > #START PART 1 SUM AND ADJUST > #START SUM AND ADJUST EQ =2 > #sum_and_adjust array_y1 > #BEFORE ADJUST SUBSERIES EQ =2 > ord := 2; > calc_term := 1; > #adjust_subseriesarray_y1 > iii := glob_max_terms; > while (iii >= calc_term) do # do number 3 > array_y1_higher_work[2,iii] := array_y1_higher[2,iii] / expt(glob_h , (calc_term - 1)) / factorial_3(iii - calc_term , iii - 1); > iii := iii - 1; > od;# end do number 3; > #AFTER ADJUST SUBSERIES EQ =2 > #BEFORE SUM SUBSERIES EQ =2 > temp_sum := 0.0; > ord := 2; > calc_term := 1; > #sum_subseriesarray_y1 > iii := glob_max_terms; > while (iii >= calc_term) do # do number 3 > temp_sum := temp_sum + array_y1_higher_work[ord,iii]; > iii := iii - 1; > od;# end do number 3; > array_y1_higher_work2[ord,calc_term] := temp_sum * expt(glob_h , (calc_term - 1)) / (factorial_1(calc_term - 1)); > #AFTER SUM SUBSERIES EQ =2 > #BEFORE ADJUST SUBSERIES EQ =2 > ord := 1; > calc_term := 2; > #adjust_subseriesarray_y1 > iii := glob_max_terms; > while (iii >= calc_term) do # do number 3 > array_y1_higher_work[1,iii] := array_y1_higher[1,iii] / expt(glob_h , (calc_term - 1)) / factorial_3(iii - calc_term , iii - 1); > iii := iii - 1; > od;# end do number 3; > #AFTER ADJUST SUBSERIES EQ =2 > #BEFORE SUM SUBSERIES EQ =2 > temp_sum := 0.0; > ord := 1; > calc_term := 2; > #sum_subseriesarray_y1 > iii := glob_max_terms; > while (iii >= calc_term) do # do number 3 > temp_sum := temp_sum + array_y1_higher_work[ord,iii]; > iii := iii - 1; > od;# end do number 3; > array_y1_higher_work2[ord,calc_term] := temp_sum * expt(glob_h , (calc_term - 1)) / (factorial_1(calc_term - 1)); > #AFTER SUM SUBSERIES EQ =2 > #BEFORE ADJUST SUBSERIES EQ =2 > ord := 1; > calc_term := 1; > #adjust_subseriesarray_y1 > iii := glob_max_terms; > while (iii >= calc_term) do # do number 3 > array_y1_higher_work[1,iii] := array_y1_higher[1,iii] / expt(glob_h , (calc_term - 1)) / factorial_3(iii - calc_term , iii - 1); > iii := iii - 1; > od;# end do number 3; > #AFTER ADJUST SUBSERIES EQ =2 > #BEFORE SUM SUBSERIES EQ =2 > temp_sum := 0.0; > ord := 1; > calc_term := 1; > #sum_subseriesarray_y1 > iii := glob_max_terms; > while (iii >= calc_term) do # do number 3 > temp_sum := temp_sum + array_y1_higher_work[ord,iii]; > iii := iii - 1; > od;# end do number 3; > array_y1_higher_work2[ord,calc_term] := temp_sum * expt(glob_h , (calc_term - 1)) / (factorial_1(calc_term - 1)); > #AFTER SUM SUBSERIES EQ =2 > #END SUM AND ADJUST EQ =2 > #END PART 1 > #START PART 2 MOVE TERMS to REGULAR Array > term_no := glob_max_terms; > while (term_no >= 1) do # do number 3 > array_y1[term_no] := array_y1_higher_work2[1,term_no]; > ord := 1; > while (ord <= order_diff) do # do number 4 > array_y1_higher[ord,term_no] := array_y1_higher_work2[ord,term_no]; > ord := ord + 1; > od;# end do number 4; > term_no := term_no - 1; > od;# end do number 3; > #END PART 2 HEVE MOVED TERMS to REGULAR Array > display_alot(current_iter) > ; > od;# end do number 2;#right paren 0001C > omniout_str(ALWAYS,"Finished!"); > if (glob_iter >= glob_max_iter) then # if number 6 > omniout_str(ALWAYS,"Maximum Iterations Reached before Solution Completed!"); > fi;# end if 6; > if (elapsed_time_seconds() - convfloat(glob_orig_start_sec) >= convfloat(glob_max_sec )) then # if number 6 > omniout_str(ALWAYS,"Maximum Time Reached before Solution Completed!"); > fi;# end if 6; > glob_clock_sec := elapsed_time_seconds(); > omniout_str(INFO,"diff ( y2 , x , 3 ) = m1 * cos(x) ;"); > omniout_str(INFO,"diff ( y1 , x , 1 ) = m1 * y2 + 1.0;"); > omniout_int(INFO,"Iterations ",32,glob_iter,4," ") > ; > prog_report(x_start,x_end); > if (glob_html_log) then # if number 6 > logstart(html_log_file); > logitem_str(html_log_file,"2012-12-15T00:03:28-06:00") > ; > logitem_str(html_log_file,"Maple") > ; > logitem_str(html_log_file,"mtest4") > ; > logitem_str(html_log_file,"diff ( y2 , x , 3 ) = m1 * cos(x) ;") > ; > logitem_float(html_log_file,x_start) > ; > logitem_float(html_log_file,x_end) > ; > logitem_float(html_log_file,array_x[1]) > ; > logitem_float(html_log_file,glob_h) > ; > logitem_integer(html_log_file,Digits) > ; > ; > logitem_good_digits(html_log_file,array_last_rel_error[1]) > ; > logitem_integer(html_log_file,glob_max_terms) > ; > logitem_float(html_log_file,array_1st_rel_error[1]) > ; > logitem_float(html_log_file,array_last_rel_error[1]) > ; > logitem_integer(html_log_file,glob_iter) > ; > logitem_pole(html_log_file,array_type_pole[1]) > ; > if (array_type_pole[1] = 1 or array_type_pole[1] = 2) then # if number 7 > logitem_float(html_log_file,array_pole[1]) > ; > logitem_float(html_log_file,array_pole[2]) > ; > 0; > else > logitem_str(html_log_file,"NA") > ; > logitem_str(html_log_file,"NA") > ; > 0; > fi;# end if 7; > logitem_time(html_log_file,convfloat(glob_clock_sec)) > ; > if (glob_percent_done < 100.0) then # if number 7 > logitem_time(html_log_file,convfloat(glob_total_exp_sec)) > ; > 0; > else > logitem_str(html_log_file,"Done") > ; > 0; > fi;# end if 7; > log_revs(html_log_file," 151 ") > ; > logitem_str(html_log_file,"mtest4 diffeq.mxt") > ; > logitem_str(html_log_file,"mtest4 maple results") > ; > logitem_str(html_log_file,"Languages compared") > ; > logend(html_log_file) > ; > logditto(html_log_file) > ; > logditto(html_log_file) > ; > logditto(html_log_file) > ; > logitem_str(html_log_file,"diff ( y1 , x , 1 ) = m1 * y2 + 1.0;") > ; > logditto(html_log_file) > ; > logditto(html_log_file) > ; > logditto(html_log_file) > ; > logditto(html_log_file) > ; > logditto(html_log_file) > ; > ; > logitem_good_digits(html_log_file,array_last_rel_error[2]) > ; > logditto(html_log_file) > ; > logitem_float(html_log_file,array_1st_rel_error[2]) > ; > logitem_float(html_log_file,array_last_rel_error[2]) > ; > logditto(html_log_file) > ; > logitem_pole(html_log_file,array_type_pole[2]) > ; > if (array_type_pole[2] = 1 or array_type_pole[2] = 2) then # if number 7 > logitem_float(html_log_file,array_pole[1]) > ; > logitem_float(html_log_file,array_pole[2]) > ; > 0; > else > logitem_str(html_log_file,"NA") > ; > logitem_str(html_log_file,"NA") > ; > 0; > fi;# end if 7; > logditto(html_log_file) > ; > if (glob_percent_done < 100.0) then # if number 7 > logditto(html_log_file) > ; > 0; > else > logditto(html_log_file) > ; > 0; > fi;# end if 7; > logditto(html_log_file); > ; > logditto(html_log_file) > ; > logditto(html_log_file) > ; > logditto(html_log_file) > ; > logend(html_log_file) > ; > ; > fi;# end if 6; > if (glob_html_log) then # if number 6 > fclose(html_log_file); > fi;# end if 6 > ; > ;; > fi;# end if 5 > #END OUTFILEMAIN > end; main := proc() local d1, d2, d3, d4, est_err_2, niii, done_once, term, ord, order_diff, term_no, html_log_file, iiif, jjjf, rows, r_order, sub_iter, calc_term, iii, temp_sum, current_iter, x_start, x_end, it, log10norm, max_terms, opt_iter, tmp, subiter, est_needed_step_err, value3, min_value, est_answer, best_h, found_h; global glob_max_terms, glob_iolevel, ALWAYS, INFO, DEBUGL, DEBUGMASSIVE, MAX_UNCHANGED, glob_check_sign, glob_desired_digits_correct, glob_max_value3, glob_ratio_of_radius, glob_percent_done, glob_subiter_method, glob_log10normmin, glob_total_exp_sec, glob_optimal_expect_sec, glob_html_log, glob_good_digits, glob_max_opt_iter, glob_dump, glob_djd_debug, glob_display_flag, glob_djd_debug2, glob_sec_in_minute, glob_min_in_hour, glob_hours_in_day, glob_days_in_year, glob_sec_in_hour, glob_sec_in_day, glob_sec_in_year, glob_almost_1, glob_clock_sec, glob_clock_start_sec, glob_not_yet_finished, glob_initial_pass, glob_not_yet_start_msg, glob_reached_optimal_h, glob_optimal_done, glob_disp_incr, glob_h, glob_hmax, glob_hmin, glob_hmin_init, glob_large_float, glob_last_good_h, glob_look_poles, glob_neg_h, glob_display_interval, glob_next_display, glob_dump_analytic, glob_log10_abserr, glob_log10_relerr, glob_abserr, glob_relerr, glob_max_hours, glob_max_iter, glob_max_rel_trunc_err, glob_max_trunc_err, glob_no_eqs, glob_optimal_clock_start_sec, glob_optimal_start, glob_small_float, glob_smallish_float, glob_unchanged_h_cnt, glob_warned, glob_warned2, glob_max_sec, glob_orig_start_sec, glob_start, glob_curr_iter_when_opt, glob_current_iter, glob_iter, glob_normmax, glob_log10abserr, glob_log10relerr, glob_max_minutes, array_const_3, array_const_0D0, array_const_1, array_const_1D0, array_y2_init, array_y1_init, array_norms, array_fact_1, array_pole, array_1st_rel_error, array_last_rel_error, array_type_pole, array_y2, array_x, array_y1, array_tmp0, array_tmp1_g, array_tmp1, array_tmp2, array_tmp3, array_tmp4, array_tmp5, array_tmp6, array_m1, array_y2_higher, array_y2_higher_work, array_y2_higher_work2, array_y2_set_initial, array_y1_higher, array_y1_higher_work, array_y1_higher_work2, array_y1_set_initial, array_poles, array_real_pole, array_complex_pole, array_fact_2, glob_last; glob_last; ALWAYS := 1; INFO := 2; DEBUGL := 3; DEBUGMASSIVE := 4; glob_iolevel := INFO; glob_max_terms := 30; glob_iolevel := 5; ALWAYS := 1; INFO := 2; DEBUGL := 3; DEBUGMASSIVE := 4; MAX_UNCHANGED := 10; glob_check_sign := 1.0; glob_desired_digits_correct := 8.0; glob_max_value3 := 0.; glob_ratio_of_radius := 0.01; glob_percent_done := 0.; glob_subiter_method := 3; glob_log10normmin := 0.1; glob_total_exp_sec := 0.1; glob_optimal_expect_sec := 0.1; glob_html_log := true; glob_good_digits := 0; glob_max_opt_iter := 10; glob_dump := false; glob_djd_debug := true; glob_display_flag := true; glob_djd_debug2 := true; glob_sec_in_minute := 60; glob_min_in_hour := 60; glob_hours_in_day := 24; glob_days_in_year := 365; glob_sec_in_hour := 3600; glob_sec_in_day := 86400; glob_sec_in_year := 31536000; glob_almost_1 := 0.9990; glob_clock_sec := 0.; glob_clock_start_sec := 0.; glob_not_yet_finished := true; glob_initial_pass := true; glob_not_yet_start_msg := true; glob_reached_optimal_h := false; glob_optimal_done := false; glob_disp_incr := 0.1; glob_h := 0.1; glob_hmax := 1.0; glob_hmin := 0.1*10^(-10); glob_hmin_init := 0.001; glob_large_float := 0.90*10^101; glob_last_good_h := 0.1; glob_look_poles := false; glob_neg_h := false; glob_display_interval := 0.; glob_next_display := 0.; glob_dump_analytic := false; glob_log10_abserr := 0.1*10^(-10); glob_log10_relerr := 0.1*10^(-10); glob_abserr := 0.1*10^(-10); glob_relerr := 0.1*10^(-10); glob_max_hours := 0.; glob_max_iter := 1000; glob_max_rel_trunc_err := 0.1*10^(-10); glob_max_trunc_err := 0.1*10^(-10); glob_no_eqs := 0; glob_optimal_clock_start_sec := 0.; glob_optimal_start := 0.; glob_small_float := 0.1*10^(-50); glob_smallish_float := 0.1*10^(-100); glob_unchanged_h_cnt := 0; glob_warned := false; glob_warned2 := false; glob_max_sec := 10000.0; glob_orig_start_sec := 0.; glob_start := 0; glob_curr_iter_when_opt := 0; glob_current_iter := 0; glob_iter := 0; glob_normmax := 0.; glob_log10abserr := 0.; glob_log10relerr := 0.; glob_max_minutes := 0.; glob_orig_start_sec := elapsed_time_seconds(); MAX_UNCHANGED := 10; glob_curr_iter_when_opt := 0; glob_display_flag := true; glob_no_eqs := 2; glob_iter := -1; opt_iter := -1; glob_max_iter := 50000; glob_max_hours := 0.; glob_max_minutes := 15.0; omniout_str(ALWAYS, "##############ECHO OF PROBLEM#################"); omniout_str(ALWAYS, "##############temp/mtest4postode.ode#################"); omniout_str(ALWAYS, "diff ( y2 , x , 3 ) = m1 * cos(x) ;"); omniout_str(ALWAYS, "diff ( y1 , x , 1 ) = m1 * y2 + 1.0;"); omniout_str(ALWAYS, "!"); omniout_str(ALWAYS, "#BEGIN FIRST INPUT BLOCK"); omniout_str(ALWAYS, "Digits:=32;"); omniout_str(ALWAYS, "max_terms:=30;"); omniout_str(ALWAYS, "!"); omniout_str(ALWAYS, "#END FIRST INPUT BLOCK"); omniout_str(ALWAYS, "#BEGIN SECOND INPUT BLOCK"); omniout_str(ALWAYS, "x_start := 0.1;"); omniout_str(ALWAYS, "x_end := 5.0;"); omniout_str(ALWAYS, "glob_h := 0.00001;"); omniout_str(ALWAYS, "array_y1_init[0 + 1] := exact_soln_y1(x_start);"); omniout_str(ALWAYS, "array_y2_init[0 + 1] := exact_soln_y2(x_start);"); omniout_str(ALWAYS, "array_y2_init[1 + 1] := exact_soln_y2p(x_start);") ; omniout_str(ALWAYS, "array_y2_init[2 + 1] := exact_soln_y2pp(x_start);") ; omniout_str(ALWAYS, "glob_max_iter := 20;"); omniout_str(ALWAYS, "#END SECOND INPUT BLOCK"); omniout_str(ALWAYS, "#BEGIN OVERRIDE BLOCK"); omniout_str(ALWAYS, "glob_desired_digits_correct:=10;"); omniout_str(ALWAYS, "glob_display_interval:=0.001;"); omniout_str(ALWAYS, "glob_look_poles:=true;"); omniout_str(ALWAYS, "glob_max_iter:=10000000;"); omniout_str(ALWAYS, "glob_max_minutes:=3;"); omniout_str(ALWAYS, "#END OVERRIDE BLOCK"); omniout_str(ALWAYS, "!"); omniout_str(ALWAYS, "#BEGIN USER DEF BLOCK"); omniout_str(ALWAYS, "exact_soln_y2 := proc(x)"); omniout_str(ALWAYS, "return(1.0 + cos(x));"); omniout_str(ALWAYS, "end;"); omniout_str(ALWAYS, "exact_soln_y2p := proc(x)"); omniout_str(ALWAYS, "return( -sin(x));"); omniout_str(ALWAYS, "end;"); omniout_str(ALWAYS, "exact_soln_y2pp := proc(x)"); omniout_str(ALWAYS, "return( -cos(x));"); omniout_str(ALWAYS, "end;"); omniout_str(ALWAYS, "exact_soln_y1 := proc(x)"); omniout_str(ALWAYS, "return( 1.0 - sin(x));"); omniout_str(ALWAYS, "end;"); omniout_str(ALWAYS, ""); omniout_str(ALWAYS, "#END USER DEF BLOCK"); omniout_str(ALWAYS, "#######END OF ECHO OF PROBLEM#################"); glob_unchanged_h_cnt := 0; glob_warned := false; glob_warned2 := false; glob_small_float := 0.10*10^(-199); glob_smallish_float := 0.10*10^(-63); glob_large_float := 0.10*10^101; glob_almost_1 := 0.99; glob_log10_abserr := -8.0; glob_log10_relerr := -8.0; glob_hmax := 0.01; Digits := 32; max_terms := 30; glob_max_terms := max_terms; glob_html_log := true; array_y2_init := Array(0 .. max_terms + 1, []); array_y1_init := Array(0 .. max_terms + 1, []); array_norms := Array(0 .. max_terms + 1, []); array_fact_1 := Array(0 .. max_terms + 1, []); array_pole := Array(0 .. max_terms + 1, []); array_1st_rel_error := Array(0 .. max_terms + 1, []); array_last_rel_error := Array(0 .. max_terms + 1, []); array_type_pole := Array(0 .. max_terms + 1, []); array_y2 := Array(0 .. max_terms + 1, []); array_x := Array(0 .. max_terms + 1, []); array_y1 := Array(0 .. max_terms + 1, []); array_tmp0 := Array(0 .. max_terms + 1, []); array_tmp1_g := Array(0 .. max_terms + 1, []); array_tmp1 := Array(0 .. max_terms + 1, []); array_tmp2 := Array(0 .. max_terms + 1, []); array_tmp3 := Array(0 .. max_terms + 1, []); array_tmp4 := Array(0 .. max_terms + 1, []); array_tmp5 := Array(0 .. max_terms + 1, []); array_tmp6 := Array(0 .. max_terms + 1, []); array_m1 := Array(0 .. max_terms + 1, []); array_y2_higher := Array(0 .. 5, 0 .. max_terms + 1, []); array_y2_higher_work := Array(0 .. 5, 0 .. max_terms + 1, []); array_y2_higher_work2 := Array(0 .. 5, 0 .. max_terms + 1, []); array_y2_set_initial := Array(0 .. 4, 0 .. max_terms + 1, []); array_y1_higher := Array(0 .. 3, 0 .. max_terms + 1, []); array_y1_higher_work := Array(0 .. 3, 0 .. max_terms + 1, []); array_y1_higher_work2 := Array(0 .. 3, 0 .. max_terms + 1, []); array_y1_set_initial := Array(0 .. 4, 0 .. max_terms + 1, []); array_poles := Array(0 .. 3, 0 .. 4, []); array_real_pole := Array(0 .. 3, 0 .. 4, []); array_complex_pole := Array(0 .. 3, 0 .. 4, []); array_fact_2 := Array(0 .. max_terms + 1, 0 .. max_terms + 1, []); term := 1; while term <= max_terms do array_y2_init[term] := 0.; term := term + 1 end do; term := 1; while term <= max_terms do array_y1_init[term] := 0.; term := term + 1 end do; term := 1; while term <= max_terms do array_norms[term] := 0.; term := term + 1 end do; term := 1; while term <= max_terms do array_fact_1[term] := 0.; term := term + 1 end do; term := 1; while term <= max_terms do array_pole[term] := 0.; term := term + 1 end do; term := 1; while term <= max_terms do array_1st_rel_error[term] := 0.; term := term + 1 end do; term := 1; while term <= max_terms do array_last_rel_error[term] := 0.; term := term + 1 end do; term := 1; while term <= max_terms do array_type_pole[term] := 0.; term := term + 1 end do; term := 1; while term <= max_terms do array_y2[term] := 0.; term := term + 1 end do; term := 1; while term <= max_terms do array_x[term] := 0.; term := term + 1 end do ; term := 1; while term <= max_terms do array_y1[term] := 0.; term := term + 1 end do; term := 1; while term <= max_terms do array_tmp0[term] := 0.; term := term + 1 end do; term := 1; while term <= max_terms do array_tmp1_g[term] := 0.; term := term + 1 end do; term := 1; while term <= max_terms do array_tmp1[term] := 0.; term := term + 1 end do; term := 1; while term <= max_terms do array_tmp2[term] := 0.; term := term + 1 end do; term := 1; while term <= max_terms do array_tmp3[term] := 0.; term := term + 1 end do; term := 1; while term <= max_terms do array_tmp4[term] := 0.; term := term + 1 end do; term := 1; while term <= max_terms do array_tmp5[term] := 0.; term := term + 1 end do; term := 1; while term <= max_terms do array_tmp6[term] := 0.; term := term + 1 end do; term := 1; while term <= max_terms do array_m1[term] := 0.; term := term + 1 end do; ord := 1; while ord <= 4 do term := 1; while term <= max_terms do array_y2_higher[ord, term] := 0.; term := term + 1 end do; ord := ord + 1 end do; ord := 1; while ord <= 4 do term := 1; while term <= max_terms do array_y2_higher_work[ord, term] := 0.; term := term + 1 end do; ord := ord + 1 end do; ord := 1; while ord <= 4 do term := 1; while term <= max_terms do array_y2_higher_work2[ord, term] := 0.; term := term + 1 end do; ord := ord + 1 end do; ord := 1; while ord <= 3 do term := 1; while term <= max_terms do array_y2_set_initial[ord, term] := 0.; term := term + 1 end do; ord := ord + 1 end do; ord := 1; while ord <= 2 do term := 1; while term <= max_terms do array_y1_higher[ord, term] := 0.; term := term + 1 end do; ord := ord + 1 end do; ord := 1; while ord <= 2 do term := 1; while term <= max_terms do array_y1_higher_work[ord, term] := 0.; term := term + 1 end do; ord := ord + 1 end do; ord := 1; while ord <= 2 do term := 1; while term <= max_terms do array_y1_higher_work2[ord, term] := 0.; term := term + 1 end do; ord := ord + 1 end do; ord := 1; while ord <= 3 do term := 1; while term <= max_terms do array_y1_set_initial[ord, term] := 0.; term := term + 1 end do; ord := ord + 1 end do; ord := 1; while ord <= 2 do term := 1; while term <= 3 do array_poles[ord, term] := 0.; term := term + 1 end do; ord := ord + 1 end do; ord := 1; while ord <= 2 do term := 1; while term <= 3 do array_real_pole[ord, term] := 0.; term := term + 1 end do; ord := ord + 1 end do; ord := 1; while ord <= 2 do term := 1; while term <= 3 do array_complex_pole[ord, term] := 0.; term := term + 1 end do; ord := ord + 1 end do; ord := 1; while ord <= max_terms do term := 1; while term <= max_terms do array_fact_2[ord, term] := 0.; term := term + 1 end do; ord := ord + 1 end do; array_y2 := Array(1 .. max_terms + 2, []); term := 1; while term <= max_terms + 1 do array_y2[term] := 0.; term := term + 1 end do; array_x := Array(1 .. max_terms + 2, []); term := 1; while term <= max_terms + 1 do array_x[term] := 0.; term := term + 1 end do; array_m1 := Array(1 .. max_terms + 2, []); term := 1; while term <= max_terms + 1 do array_m1[term] := 0.; term := term + 1 end do; array_y1 := Array(1 .. max_terms + 2, []); term := 1; while term <= max_terms + 1 do array_y1[term] := 0.; term := term + 1 end do; array_tmp0 := Array(1 .. max_terms + 2, []); term := 1; while term <= max_terms + 1 do array_tmp0[term] := 0.; term := term + 1 end do; array_tmp1_g := Array(1 .. max_terms + 2, []); term := 1; while term <= max_terms + 1 do array_tmp1_g[term] := 0.; term := term + 1 end do; array_tmp1 := Array(1 .. max_terms + 2, []); term := 1; while term <= max_terms + 1 do array_tmp1[term] := 0.; term := term + 1 end do; array_tmp2 := Array(1 .. max_terms + 2, []); term := 1; while term <= max_terms + 1 do array_tmp2[term] := 0.; term := term + 1 end do; array_tmp3 := Array(1 .. max_terms + 2, []); term := 1; while term <= max_terms + 1 do array_tmp3[term] := 0.; term := term + 1 end do; array_tmp4 := Array(1 .. max_terms + 2, []); term := 1; while term <= max_terms + 1 do array_tmp4[term] := 0.; term := term + 1 end do; array_tmp5 := Array(1 .. max_terms + 2, []); term := 1; while term <= max_terms + 1 do array_tmp5[term] := 0.; term := term + 1 end do; array_tmp6 := Array(1 .. max_terms + 2, []); term := 1; while term <= max_terms + 1 do array_tmp6[term] := 0.; term := term + 1 end do; array_const_3 := Array(1 .. max_terms + 2, []); term := 1; while term <= max_terms + 1 do array_const_3[term] := 0.; term := term + 1 end do; array_const_3[1] := 3; array_const_0D0 := Array(1 .. max_terms + 2, []); term := 1; while term <= max_terms + 1 do array_const_0D0[term] := 0.; term := term + 1 end do; array_const_0D0[1] := 0.; array_const_1 := Array(1 .. max_terms + 2, []); term := 1; while term <= max_terms + 1 do array_const_1[term] := 0.; term := term + 1 end do; array_const_1[1] := 1; array_const_1D0 := Array(1 .. max_terms + 2, []); term := 1; while term <= max_terms + 1 do array_const_1D0[term] := 0.; term := term + 1 end do; array_const_1D0[1] := 1.0; array_m1 := Array(1 .. max_terms + 2, []); term := 1; while term <= max_terms do array_m1[term] := 0.; term := term + 1 end do; array_m1[1] := -1.0; iiif := 0; while iiif <= glob_max_terms do jjjf := 0; while jjjf <= glob_max_terms do array_fact_1[iiif] := 0; array_fact_2[iiif, jjjf] := 0; jjjf := jjjf + 1 end do; iiif := iiif + 1 end do; x_start := 0.1; x_end := 5.0; glob_h := 0.00001; array_y1_init[1] := exact_soln_y1(x_start); array_y2_init[1] := exact_soln_y2(x_start); array_y2_init[2] := exact_soln_y2p(x_start); array_y2_init[3] := exact_soln_y2pp(x_start); glob_max_iter := 20; glob_desired_digits_correct := 10; glob_display_interval := 0.001; glob_look_poles := true; glob_max_iter := 10000000; glob_max_minutes := 3; glob_last_good_h := glob_h; glob_max_terms := max_terms; glob_max_sec := convfloat(60.0)*convfloat(glob_max_minutes) + convfloat(3600.0)*convfloat(glob_max_hours); glob_abserr := expt(10.0, glob_log10_abserr); glob_relerr := expt(10.0, glob_log10_relerr); if 0. < glob_h then glob_neg_h := false; glob_display_interval := omniabs(glob_display_interval) else glob_neg_h := true; glob_display_interval := -omniabs(glob_display_interval) end if; chk_data(); array_y2_set_initial[1, 1] := true; array_y2_set_initial[1, 2] := true; array_y2_set_initial[1, 3] := true; array_y2_set_initial[1, 4] := false; array_y2_set_initial[1, 5] := false; array_y2_set_initial[1, 6] := false; array_y2_set_initial[1, 7] := false; array_y2_set_initial[1, 8] := false; array_y2_set_initial[1, 9] := false; array_y2_set_initial[1, 10] := false; array_y2_set_initial[1, 11] := false; array_y2_set_initial[1, 12] := false; array_y2_set_initial[1, 13] := false; array_y2_set_initial[1, 14] := false; array_y2_set_initial[1, 15] := false; array_y2_set_initial[1, 16] := false; array_y2_set_initial[1, 17] := false; array_y2_set_initial[1, 18] := false; array_y2_set_initial[1, 19] := false; array_y2_set_initial[1, 20] := false; array_y2_set_initial[1, 21] := false; array_y2_set_initial[1, 22] := false; array_y2_set_initial[1, 23] := false; array_y2_set_initial[1, 24] := false; array_y2_set_initial[1, 25] := false; array_y2_set_initial[1, 26] := false; array_y2_set_initial[1, 27] := false; array_y2_set_initial[1, 28] := false; array_y2_set_initial[1, 29] := false; array_y2_set_initial[1, 30] := false; array_y1_set_initial[2, 1] := true; array_y1_set_initial[2, 2] := false; array_y1_set_initial[2, 3] := false; array_y1_set_initial[2, 4] := false; array_y1_set_initial[2, 5] := false; array_y1_set_initial[2, 6] := false; array_y1_set_initial[2, 7] := false; array_y1_set_initial[2, 8] := false; array_y1_set_initial[2, 9] := false; array_y1_set_initial[2, 10] := false; array_y1_set_initial[2, 11] := false; array_y1_set_initial[2, 12] := false; array_y1_set_initial[2, 13] := false; array_y1_set_initial[2, 14] := false; array_y1_set_initial[2, 15] := false; array_y1_set_initial[2, 16] := false; array_y1_set_initial[2, 17] := false; array_y1_set_initial[2, 18] := false; array_y1_set_initial[2, 19] := false; array_y1_set_initial[2, 20] := false; array_y1_set_initial[2, 21] := false; array_y1_set_initial[2, 22] := false; array_y1_set_initial[2, 23] := false; array_y1_set_initial[2, 24] := false; array_y1_set_initial[2, 25] := false; array_y1_set_initial[2, 26] := false; array_y1_set_initial[2, 27] := false; array_y1_set_initial[2, 28] := false; array_y1_set_initial[2, 29] := false; array_y1_set_initial[2, 30] := false; omniout_str(ALWAYS, "START of Optimize"); glob_check_sign := check_sign(x_start, x_end); glob_h := check_sign(x_start, x_end); if glob_display_interval < glob_h then glob_h := glob_display_interval end if; found_h := -1.0; best_h := 0.; min_value := glob_large_float; est_answer := est_size_answer(); opt_iter := 1; while opt_iter <= 20 and found_h < 0. do omniout_int(ALWAYS, "opt_iter", 32, opt_iter, 4, ""); array_x[1] := x_start; array_x[2] := glob_h; glob_next_display := x_start; order_diff := 3; term_no := 1; while term_no <= order_diff do array_y2[term_no] := array_y2_init[term_no]* expt(glob_h, term_no - 1)/factorial_1(term_no - 1); term_no := term_no + 1 end do; rows := order_diff; r_order := 1; while r_order <= rows do term_no := 1; while term_no <= rows - r_order + 1 do it := term_no + r_order - 1; array_y2_higher[r_order, term_no] := array_y2_init[it]* expt(glob_h, term_no - 1)/factorial_1(term_no - 1); term_no := term_no + 1 end do; r_order := r_order + 1 end do; order_diff := 1; term_no := 1; while term_no <= order_diff do array_y1[term_no] := array_y1_init[term_no]* expt(glob_h, term_no - 1)/factorial_1(term_no - 1); term_no := term_no + 1 end do; rows := order_diff; r_order := 1; while r_order <= rows do term_no := 1; while term_no <= rows - r_order + 1 do it := term_no + r_order - 1; array_y1_higher[r_order, term_no] := array_y1_init[it]* expt(glob_h, term_no - 1)/factorial_1(term_no - 1); term_no := term_no + 1 end do; r_order := r_order + 1 end do; if glob_subiter_method = 1 then atomall() elif glob_subiter_method = 2 then subiter := 1; while subiter <= 4 do atomall(); subiter := subiter + 1 end do else subiter := 1; while subiter <= 4 + glob_max_terms do atomall(); subiter := subiter + 1 end do end if; est_needed_step_err := estimated_needed_step_error(x_start, x_end, glob_h, est_answer) ; omniout_float(ALWAYS, "est_needed_step_err", 32, est_needed_step_err, 16, ""); value3 := test_suggested_h(); omniout_float(ALWAYS, "value3", 32, value3, 32, ""); if value3 < est_needed_step_err and found_h < 0. then best_h := glob_h; found_h := 1.0 end if; omniout_float(ALWAYS, "best_h", 32, best_h, 32, ""); opt_iter := opt_iter + 1; glob_h := glob_h*0.5 end do; if 0. < found_h then glob_h := best_h else omniout_str(ALWAYS, "No increment to obtain desired accuracy found") end if; if glob_html_log then html_log_file := fopen("html/entry.html", WRITE, TEXT) end if; if 0. < found_h then omniout_str(ALWAYS, "START of Soultion"); array_x[1] := x_start; array_x[2] := glob_h; glob_next_display := x_start; order_diff := 3; term_no := 1; while term_no <= order_diff do array_y2[term_no] := array_y2_init[term_no]* expt(glob_h, term_no - 1)/factorial_1(term_no - 1); term_no := term_no + 1 end do; rows := order_diff; r_order := 1; while r_order <= rows do term_no := 1; while term_no <= rows - r_order + 1 do it := term_no + r_order - 1; array_y2_higher[r_order, term_no] := array_y2_init[it]* expt(glob_h, term_no - 1)/factorial_1(term_no - 1); term_no := term_no + 1 end do; r_order := r_order + 1 end do; order_diff := 1; term_no := 1; while term_no <= order_diff do array_y1[term_no] := array_y1_init[term_no]* expt(glob_h, term_no - 1)/factorial_1(term_no - 1); term_no := term_no + 1 end do; rows := order_diff; r_order := 1; while r_order <= rows do term_no := 1; while term_no <= rows - r_order + 1 do it := term_no + r_order - 1; array_y1_higher[r_order, term_no] := array_y1_init[it]* expt(glob_h, term_no - 1)/factorial_1(term_no - 1); term_no := term_no + 1 end do; r_order := r_order + 1 end do; current_iter := 1; glob_clock_start_sec := elapsed_time_seconds(); glob_log10normmin := -glob_large_float; if glob_small_float < omniabs(array_y2_higher[1, 1]) then tmp := omniabs(array_y2_higher[1, 1]); log10norm := log10(tmp); if log10norm < glob_log10normmin then glob_log10normmin := log10norm end if end if; display_alot(current_iter); if glob_small_float < omniabs(array_y1_higher[1, 1]) then tmp := omniabs(array_y1_higher[1, 1]); log10norm := log10(tmp); if log10norm < glob_log10normmin then glob_log10normmin := log10norm end if end if; display_alot(current_iter); glob_clock_sec := elapsed_time_seconds(); glob_current_iter := 0; glob_iter := 0; omniout_str(DEBUGL, " "); glob_reached_optimal_h := true; glob_optimal_clock_start_sec := elapsed_time_seconds(); while glob_current_iter < glob_max_iter and glob_check_sign*array_x[1] < glob_check_sign*x_end and convfloat(glob_clock_sec) - convfloat(glob_orig_start_sec) < convfloat(glob_max_sec) do if reached_interval() then omniout_str(INFO, " "); omniout_str(INFO, "TOP MAIN SOLVE Loop") end if; glob_iter := glob_iter + 1; glob_clock_sec := elapsed_time_seconds(); glob_current_iter := glob_current_iter + 1; if glob_subiter_method = 1 then atomall() elif glob_subiter_method = 2 then subiter := 1; while subiter <= 4 do atomall(); subiter := subiter + 1 end do else subiter := 1; while subiter <= 4 + glob_max_terms do atomall(); subiter := subiter + 1 end do end if; if glob_look_poles then check_for_pole() end if; if reached_interval() then glob_next_display := glob_next_display + glob_display_interval end if; array_x[1] := array_x[1] + glob_h; array_x[2] := glob_h; order_diff := 3; ord := 4; calc_term := 1; iii := glob_max_terms; while calc_term <= iii do array_y2_higher_work[4, iii] := array_y2_higher[4, iii]/( expt(glob_h, calc_term - 1)* factorial_3(iii - calc_term, iii - 1)); iii := iii - 1 end do; temp_sum := 0.; ord := 4; calc_term := 1; iii := glob_max_terms; while calc_term <= iii do temp_sum := temp_sum + array_y2_higher_work[ord, iii]; iii := iii - 1 end do; array_y2_higher_work2[ord, calc_term] := temp_sum* expt(glob_h, calc_term - 1)/factorial_1(calc_term - 1); ord := 3; calc_term := 2; iii := glob_max_terms; while calc_term <= iii do array_y2_higher_work[3, iii] := array_y2_higher[3, iii]/( expt(glob_h, calc_term - 1)* factorial_3(iii - calc_term, iii - 1)); iii := iii - 1 end do; temp_sum := 0.; ord := 3; calc_term := 2; iii := glob_max_terms; while calc_term <= iii do temp_sum := temp_sum + array_y2_higher_work[ord, iii]; iii := iii - 1 end do; array_y2_higher_work2[ord, calc_term] := temp_sum* expt(glob_h, calc_term - 1)/factorial_1(calc_term - 1); ord := 3; calc_term := 1; iii := glob_max_terms; while calc_term <= iii do array_y2_higher_work[3, iii] := array_y2_higher[3, iii]/( expt(glob_h, calc_term - 1)* factorial_3(iii - calc_term, iii - 1)); iii := iii - 1 end do; temp_sum := 0.; ord := 3; calc_term := 1; iii := glob_max_terms; while calc_term <= iii do temp_sum := temp_sum + array_y2_higher_work[ord, iii]; iii := iii - 1 end do; array_y2_higher_work2[ord, calc_term] := temp_sum* expt(glob_h, calc_term - 1)/factorial_1(calc_term - 1); ord := 2; calc_term := 3; iii := glob_max_terms; while calc_term <= iii do array_y2_higher_work[2, iii] := array_y2_higher[2, iii]/( expt(glob_h, calc_term - 1)* factorial_3(iii - calc_term, iii - 1)); iii := iii - 1 end do; temp_sum := 0.; ord := 2; calc_term := 3; iii := glob_max_terms; while calc_term <= iii do temp_sum := temp_sum + array_y2_higher_work[ord, iii]; iii := iii - 1 end do; array_y2_higher_work2[ord, calc_term] := temp_sum* expt(glob_h, calc_term - 1)/factorial_1(calc_term - 1); ord := 2; calc_term := 2; iii := glob_max_terms; while calc_term <= iii do array_y2_higher_work[2, iii] := array_y2_higher[2, iii]/( expt(glob_h, calc_term - 1)* factorial_3(iii - calc_term, iii - 1)); iii := iii - 1 end do; temp_sum := 0.; ord := 2; calc_term := 2; iii := glob_max_terms; while calc_term <= iii do temp_sum := temp_sum + array_y2_higher_work[ord, iii]; iii := iii - 1 end do; array_y2_higher_work2[ord, calc_term] := temp_sum* expt(glob_h, calc_term - 1)/factorial_1(calc_term - 1); ord := 2; calc_term := 1; iii := glob_max_terms; while calc_term <= iii do array_y2_higher_work[2, iii] := array_y2_higher[2, iii]/( expt(glob_h, calc_term - 1)* factorial_3(iii - calc_term, iii - 1)); iii := iii - 1 end do; temp_sum := 0.; ord := 2; calc_term := 1; iii := glob_max_terms; while calc_term <= iii do temp_sum := temp_sum + array_y2_higher_work[ord, iii]; iii := iii - 1 end do; array_y2_higher_work2[ord, calc_term] := temp_sum* expt(glob_h, calc_term - 1)/factorial_1(calc_term - 1); ord := 1; calc_term := 4; iii := glob_max_terms; while calc_term <= iii do array_y2_higher_work[1, iii] := array_y2_higher[1, iii]/( expt(glob_h, calc_term - 1)* factorial_3(iii - calc_term, iii - 1)); iii := iii - 1 end do; temp_sum := 0.; ord := 1; calc_term := 4; iii := glob_max_terms; while calc_term <= iii do temp_sum := temp_sum + array_y2_higher_work[ord, iii]; iii := iii - 1 end do; array_y2_higher_work2[ord, calc_term] := temp_sum* expt(glob_h, calc_term - 1)/factorial_1(calc_term - 1); ord := 1; calc_term := 3; iii := glob_max_terms; while calc_term <= iii do array_y2_higher_work[1, iii] := array_y2_higher[1, iii]/( expt(glob_h, calc_term - 1)* factorial_3(iii - calc_term, iii - 1)); iii := iii - 1 end do; temp_sum := 0.; ord := 1; calc_term := 3; iii := glob_max_terms; while calc_term <= iii do temp_sum := temp_sum + array_y2_higher_work[ord, iii]; iii := iii - 1 end do; array_y2_higher_work2[ord, calc_term] := temp_sum* expt(glob_h, calc_term - 1)/factorial_1(calc_term - 1); ord := 1; calc_term := 2; iii := glob_max_terms; while calc_term <= iii do array_y2_higher_work[1, iii] := array_y2_higher[1, iii]/( expt(glob_h, calc_term - 1)* factorial_3(iii - calc_term, iii - 1)); iii := iii - 1 end do; temp_sum := 0.; ord := 1; calc_term := 2; iii := glob_max_terms; while calc_term <= iii do temp_sum := temp_sum + array_y2_higher_work[ord, iii]; iii := iii - 1 end do; array_y2_higher_work2[ord, calc_term] := temp_sum* expt(glob_h, calc_term - 1)/factorial_1(calc_term - 1); ord := 1; calc_term := 1; iii := glob_max_terms; while calc_term <= iii do array_y2_higher_work[1, iii] := array_y2_higher[1, iii]/( expt(glob_h, calc_term - 1)* factorial_3(iii - calc_term, iii - 1)); iii := iii - 1 end do; temp_sum := 0.; ord := 1; calc_term := 1; iii := glob_max_terms; while calc_term <= iii do temp_sum := temp_sum + array_y2_higher_work[ord, iii]; iii := iii - 1 end do; array_y2_higher_work2[ord, calc_term] := temp_sum* expt(glob_h, calc_term - 1)/factorial_1(calc_term - 1); term_no := glob_max_terms; while 1 <= term_no do array_y2[term_no] := array_y2_higher_work2[1, term_no]; ord := 1; while ord <= order_diff do array_y2_higher[ord, term_no] := array_y2_higher_work2[ord, term_no]; ord := ord + 1 end do; term_no := term_no - 1 end do; order_diff := 1; ord := 2; calc_term := 1; iii := glob_max_terms; while calc_term <= iii do array_y1_higher_work[2, iii] := array_y1_higher[2, iii]/( expt(glob_h, calc_term - 1)* factorial_3(iii - calc_term, iii - 1)); iii := iii - 1 end do; temp_sum := 0.; ord := 2; calc_term := 1; iii := glob_max_terms; while calc_term <= iii do temp_sum := temp_sum + array_y1_higher_work[ord, iii]; iii := iii - 1 end do; array_y1_higher_work2[ord, calc_term] := temp_sum* expt(glob_h, calc_term - 1)/factorial_1(calc_term - 1); ord := 1; calc_term := 2; iii := glob_max_terms; while calc_term <= iii do array_y1_higher_work[1, iii] := array_y1_higher[1, iii]/( expt(glob_h, calc_term - 1)* factorial_3(iii - calc_term, iii - 1)); iii := iii - 1 end do; temp_sum := 0.; ord := 1; calc_term := 2; iii := glob_max_terms; while calc_term <= iii do temp_sum := temp_sum + array_y1_higher_work[ord, iii]; iii := iii - 1 end do; array_y1_higher_work2[ord, calc_term] := temp_sum* expt(glob_h, calc_term - 1)/factorial_1(calc_term - 1); ord := 1; calc_term := 1; iii := glob_max_terms; while calc_term <= iii do array_y1_higher_work[1, iii] := array_y1_higher[1, iii]/( expt(glob_h, calc_term - 1)* factorial_3(iii - calc_term, iii - 1)); iii := iii - 1 end do; temp_sum := 0.; ord := 1; calc_term := 1; iii := glob_max_terms; while calc_term <= iii do temp_sum := temp_sum + array_y1_higher_work[ord, iii]; iii := iii - 1 end do; array_y1_higher_work2[ord, calc_term] := temp_sum* expt(glob_h, calc_term - 1)/factorial_1(calc_term - 1); term_no := glob_max_terms; while 1 <= term_no do array_y1[term_no] := array_y1_higher_work2[1, term_no]; ord := 1; while ord <= order_diff do array_y1_higher[ord, term_no] := array_y1_higher_work2[ord, term_no]; ord := ord + 1 end do; term_no := term_no - 1 end do; display_alot(current_iter) end do; omniout_str(ALWAYS, "Finished!"); if glob_max_iter <= glob_iter then omniout_str(ALWAYS, "Maximum Iterations Reached before Solution Completed!") end if; if convfloat(glob_max_sec) <= elapsed_time_seconds() - convfloat(glob_orig_start_sec) then omniout_str(ALWAYS, "Maximum Time Reached before Solution Completed!") end if; glob_clock_sec := elapsed_time_seconds(); omniout_str(INFO, "diff ( y2 , x , 3 ) = m1 * cos(x) ;"); omniout_str(INFO, "diff ( y1 , x , 1 ) = m1 * y2 + 1.0;"); omniout_int(INFO, "Iterations ", 32, glob_iter, 4, " "); prog_report(x_start, x_end); if glob_html_log then logstart(html_log_file); logitem_str(html_log_file, "2012-12-15T00:03:28-06:00"); logitem_str(html_log_file, "Maple"); logitem_str(html_log_file, "mtest4"); logitem_str(html_log_file, "diff ( y2 , x , 3 ) = m1 * cos(x) ;"); logitem_float(html_log_file, x_start); logitem_float(html_log_file, x_end); logitem_float(html_log_file, array_x[1]); logitem_float(html_log_file, glob_h); logitem_integer(html_log_file, Digits); logitem_good_digits(html_log_file, array_last_rel_error[1]); logitem_integer(html_log_file, glob_max_terms); logitem_float(html_log_file, array_1st_rel_error[1]); logitem_float(html_log_file, array_last_rel_error[1]); logitem_integer(html_log_file, glob_iter); logitem_pole(html_log_file, array_type_pole[1]); if array_type_pole[1] = 1 or array_type_pole[1] = 2 then logitem_float(html_log_file, array_pole[1]); logitem_float(html_log_file, array_pole[2]); 0 else logitem_str(html_log_file, "NA"); logitem_str(html_log_file, "NA"); 0 end if; logitem_time(html_log_file, convfloat(glob_clock_sec)); if glob_percent_done < 100.0 then logitem_time(html_log_file, convfloat(glob_total_exp_sec)); 0 else logitem_str(html_log_file, "Done"); 0 end if; log_revs(html_log_file, " 151 "); logitem_str(html_log_file, "mtest4 diffeq.mxt"); logitem_str(html_log_file, "mtest4 maple results"); logitem_str(html_log_file, "Languages compared"); logend(html_log_file); logditto(html_log_file); logditto(html_log_file); logditto(html_log_file); logitem_str(html_log_file, "diff ( y1 , x , 1 ) = m1 * y2 + 1.0;"); logditto(html_log_file); logditto(html_log_file); logditto(html_log_file); logditto(html_log_file); logditto(html_log_file); logitem_good_digits(html_log_file, array_last_rel_error[2]); logditto(html_log_file); logitem_float(html_log_file, array_1st_rel_error[2]); logitem_float(html_log_file, array_last_rel_error[2]); logditto(html_log_file); logitem_pole(html_log_file, array_type_pole[2]); if array_type_pole[2] = 1 or array_type_pole[2] = 2 then logitem_float(html_log_file, array_pole[1]); logitem_float(html_log_file, array_pole[2]); 0 else logitem_str(html_log_file, "NA"); logitem_str(html_log_file, "NA"); 0 end if; logditto(html_log_file); if glob_percent_done < 100.0 then logditto(html_log_file); 0 else logditto(html_log_file); 0 end if; logditto(html_log_file); logditto(html_log_file); logditto(html_log_file); logditto(html_log_file); logend(html_log_file) end if; if glob_html_log then fclose(html_log_file) end if end if end proc > # End Function number 12 > main(); ##############ECHO OF PROBLEM################# ##############temp/mtest4postode.ode################# diff ( y2 , x , 3 ) = m1 * cos(x) ; diff ( y1 , x , 1 ) = m1 * y2 + 1.0; ! #BEGIN FIRST INPUT BLOCK Digits:=32; max_terms:=30; ! #END FIRST INPUT BLOCK #BEGIN SECOND INPUT BLOCK x_start := 0.1; x_end := 5.0; glob_h := 0.00001; array_y1_init[0 + 1] := exact_soln_y1(x_start); array_y2_init[0 + 1] := exact_soln_y2(x_start); array_y2_init[1 + 1] := exact_soln_y2p(x_start); array_y2_init[2 + 1] := exact_soln_y2pp(x_start); glob_max_iter := 20; #END SECOND INPUT BLOCK #BEGIN OVERRIDE BLOCK glob_desired_digits_correct:=10; glob_display_interval:=0.001; glob_look_poles:=true; glob_max_iter:=10000000; glob_max_minutes:=3; #END OVERRIDE BLOCK ! #BEGIN USER DEF BLOCK exact_soln_y2 := proc(x) return(1.0 + cos(x)); end; exact_soln_y2p := proc(x) return( -sin(x)); end; exact_soln_y2pp := proc(x) return( -cos(x)); end; exact_soln_y1 := proc(x) return( 1.0 - sin(x)); end; #END USER DEF BLOCK #######END OF ECHO OF PROBLEM################# START of Optimize min_size = 0 min_size = 1 opt_iter = 1 memory used=3.8MB, alloc=3.1MB, time=0.49 glob_desired_digits_correct = 10 desired_abs_gbl_error = 1.0000000000000000000000000000000e-10 range = 4.9 estimated_steps = 4900 step_error = 2.0408163265306122448979591836735e-14 est_needed_step_err = 2.0408163265306122448979591836735e-14 hn_div_ho = 0.5 hn_div_ho_2 = 0.25 hn_div_ho_3 = 0.125 value3 = 6.0257004821125658910535555720262e-98 value3 = 3.1762130693575481631721789540770e-94 max_value3 = 3.1762130693575481631721789540770e-94 value3 = 3.1762130693575481631721789540770e-94 best_h = 0.001 START of Soultion x[1] = 0.1 y2[1] (analytic) = 1.9950041652780257660955619878039 y2[1] (numeric) = 1.9950041652780257660955619878039 absolute error = 0 relative error = 0 % Correct digits = 32 h = 0.001 y1[1] (analytic) = 0.90016658335317184769318580158938 y1[1] (numeric) = 0.90016658335317184769318580158938 absolute error = 0 relative error = 0 % Correct digits = 32 h = 0.001 x[1] = 0.1 y2[1] (analytic) = 1.9950041652780257660955619878039 y2[1] (numeric) = 1.9950041652780257660955619878039 absolute error = 0 relative error = 0 % Correct digits = 32 h = 0.001 y1[1] (analytic) = 0.90016658335317184769318580158938 y1[1] (numeric) = 0.90016658335317184769318580158938 absolute error = 0 relative error = 0 % Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop memory used=7.6MB, alloc=4.4MB, time=1.11 NO POLE NO POLE x[1] = 0.101 y2[1] (analytic) = 1.994903834375976659378402999829 y2[1] (numeric) = 1.9949038341934664394012909185839 absolute error = 1.825102199771120812451e-10 relative error = 9.1488229573834506108571290687389e-09 % Correct digits = 10 h = 0.001 y1[1] (analytic) = 0.89917162927043200487024788047681 y1[1] (numeric) = 0.89917162927047763051269622776999 absolute error = 4.562564244834729318e-14 relative error = 5.0741861690372650527904610993296e-12 % Correct digits = 13 h = 0.001 TOP MAIN SOLVE Loop memory used=11.4MB, alloc=4.4MB, time=1.70 NO POLE NO POLE x[1] = 0.102 y2[1] (analytic) = 1.9948025085701760853346856764599 y2[1] (numeric) = 1.9948025071097961543053684133078 absolute error = 1.4603799310293172631521e-09 relative error = 7.3209248773006637627269282904849e-08 % Correct digits = 9 h = 0.001 y1[1] (analytic) = 0.89817677601605448925135770391935 y1[1] (numeric) = 0.89817677601678461949076921734969 absolute error = 7.3013023941151343034e-13 relative error = 8.1290260326043288190470278235809e-11 % Correct digits = 12 h = 0.001 TOP MAIN SOLVE Loop memory used=15.2MB, alloc=4.4MB, time=2.29 memory used=19.0MB, alloc=4.5MB, time=2.90 NO POLE NO POLE x[1] = 0.103 y2[1] (analytic) = 1.9947001879619498413211671928266 y2[1] (numeric) = 1.994700183032161739334729758572 absolute error = 4.9297881019864374342546e-09 relative error = 2.4714431430536749104740675040197e-07 % Correct digits = 8 h = 0.001 y1[1] (analytic) = 0.89718202458489247230959578949541 y1[1] (numeric) = 0.89718202458858936061535958962337 absolute error = 3.69688830576380012796e-12 relative error = 4.1205554775512513471917282491335e-10 % Correct digits = 11 h = 0.001 TOP MAIN SOLVE Loop memory used=22.8MB, alloc=4.5MB, time=3.50 NO POLE NO POLE x[1] = 0.104 y2[1] (analytic) = 1.9945968726536185270373744944846 y2[1] (numeric) = 1.9945968609658118462233238064179 absolute error = 1.16878066808140506880667e-08 relative error = 5.8597337843333488006791561297099e-07 % Correct digits = 8 h = 0.001 y1[1] (analytic) = 0.89618737597169730231102924533054 y1[1] (numeric) = 0.89618737598338320221719191842414 absolute error = 1.168589990616267309360e-11 relative error = 1.3039572102309693950436998902713e-09 % Correct digits = 10 h = 0.001 TOP MAIN SOLVE Loop memory used=26.7MB, alloc=4.5MB, time=4.09 NO POLE NO POLE x[1] = 0.105 y2[1] (analytic) = 1.9944925627484974422050131246041 y2[1] (numeric) = 1.9944925399160979446633783444402 absolute error = 2.28323994975416347801639e-08 relative error = 1.1447723558355913777363300708949e-06 % Correct digits = 7 h = 0.001 y1[1] (analytic) = 0.89519283117111750956344639997322 y1[1] (numeric) = 0.89519283119965219264916935915673 absolute error = 2.853468308572295918351e-11 relative error = 3.1875459780428592250079423704652e-09 % Correct digits = 10 h = 0.001 TOP MAIN SOLVE Loop memory used=30.5MB, alloc=4.5MB, time=4.69 NO POLE NO POLE x[1] = 0.106 y2[1] (analytic) = 1.9943872583508964832526761118722 y2[1] (numeric) = 1.9943872188884753169538475161843 absolute error = 3.94624211662988285956879e-08 relative error = 1.9786739511627852210245575409786e-06 % Correct digits = 7 h = 0.001 y1[1] (analytic) = 0.89419839117769781176790938198128 y1[1] (numeric) = 0.89419839123687697697108253654392 absolute error = 5.917916520317315456264e-11 relative error = 6.6181247681771876135615985472376e-09 % Correct digits = 10 h = 0.001 TOP MAIN SOLVE Loop memory used=34.3MB, alloc=4.5MB, time=5.31 NO POLE NO POLE x[1] = 0.107 y2[1] (analytic) = 1.9942809595661200390059562343918 y2[1] (numeric) = 1.9942808968885040525450466434685 absolute error = 6.26776159864609095909233e-08 relative error = 3.1428678936039776251881060448096e-06 % Correct digits = 7 h = 0.001 y1[1] (analytic) = 0.89320405698587811947411929758354 y1[1] (numeric) = 0.89320405709553269263972180836863 absolute error = 1.0965457316560251078509e-10 relative error = 1.2276542219885616732044416743009e-08 % Correct digits = 9 h = 0.001 TOP MAIN SOLVE Loop memory used=38.1MB, alloc=4.5MB, time=5.92 NO POLE NO POLE memory used=41.9MB, alloc=4.5MB, time=6.52 x[1] = 0.108 y2[1] (analytic) = 1.9941736665004668853830659694533 y2[1] (numeric) = 1.9941735729218500424784799060787 absolute error = 9.35786168429045860633746e-08 relative error = 4.6926011718489753206465608866796e-06 % Correct digits = 7 h = 0.001 y1[1] (analytic) = 0.89220982958999254164058855096841 y1[1] (numeric) = 0.89220982977708886420449721509058 absolute error = 1.8709632256390866412217e-10 relative error = 2.0969991179080283387340604267290e-08 % Correct digits = 9 h = 0.001 TOP MAIN SOLVE Loop memory used=45.7MB, alloc=4.5MB, time=7.13 NO POLE NO POLE x[1] = 0.109 y2[1] (analytic) = 1.9940653792612300790960704335539 y2[1] (numeric) = 1.9940652459942859737208664390916 absolute error = 1.332669441053752039944623e-07 relative error = 6.6831782694481419064370370223023e-06 % Correct digits = 7 h = 0.001 y1[1] (analytic) = 0.89121570998426839130061474694456 y1[1] (numeric) = 0.89121571028400929700867141970888 absolute error = 2.9974090570805667276432e-10 relative error = 3.3632812163213287069236690518281e-08 % Correct digits = 9 h = 0.001 TOP MAIN SOLVE Loop memory used=49.5MB, alloc=4.5MB, time=7.73 NO POLE NO POLE x[1] = 0.11 y2[1] (analytic) = 1.9939560979566968503578396114198 y2[1] (numeric) = 1.9939559151116923233913705138818 absolute error = 1.828450045269664690975380e-07 relative error = 9.1699614005712853566024566661120e-06 % Correct digits = 7 h = 0.001 y1[1] (analytic) = 0.89022169916282519133505050991655 y1[1] (numeric) = 0.89022169961975196989631193662872 absolute error = 4.5692677856126142671217e-10 relative error = 5.1327301838515132541887056084713e-08 % Correct digits = 9 h = 0.001 TOP MAIN SOLVE Loop memory used=53.4MB, alloc=4.5MB, time=8.33 NO POLE NO POLE x[1] = 0.111 y2[1] (analytic) = 1.993845822696148494594827167072 y2[1] (numeric) = 1.9938455792800583528810415756671 absolute error = 2.434160901417137855914049e-07 relative error = 1.2208370746167222774730999741113e-05 % Correct digits = 6 h = 0.001 y1[1] (analytic) = 0.88922779811967368035286344632307 y1[1] (numeric) = 0.889227798788768926925069942571 absolute error = 6.6909524657220649624793e-10 relative error = 7.5244526541685846180823891012885e-08 % Correct digits = 9 h = 0.001 TOP MAIN SOLVE Loop memory used=57.2MB, alloc=4.5MB, time=8.92 NO POLE NO POLE x[1] = 0.112 y2[1] (analytic) = 1.9937345535898602631657841241467 y2[1] (numeric) = 1.9937342375054831018634700182333 absolute error = 3.160843771613023141059134e-07 relative error = 1.5853884690525627267311496258209e-05 % Correct digits = 6 h = 0.001 y1[1] (analytic) = 0.88823400784871481868048036989479 y1[1] (numeric) = 0.88823400879650616808489395673708 absolute error = 9.4779134940441358684229e-10 relative error = 1.0670514087835315721184990196243e-07 % Correct digits = 8 h = 0.001 TOP MAIN SOLVE Loop memory used=61.0MB, alloc=4.5MB, time=9.53 NO POLE NO POLE x[1] = 0.113 y2[1] (analytic) = 1.9936222907491012530865166967484 y2[1] (numeric) = 1.9936218887941763821956646852667 absolute error = 4.019549248708908520114817e-07 relative error = 2.0162040058242765598662105752393e-05 % Correct digits = 6 h = 0.001 y1[1] (analytic) = 0.8872403293437387944609098003048 y1[1] (numeric) = 0.88724033064940353902278767150582 absolute error = 1.30566474456187787120102e-09 relative error = 1.4716021143083444468883511482671e-07 % Correct digits = 8 h = 0.001 TOP MAIN SOLVE Loop memory used=64.8MB, alloc=4.5MB, time=10.14 NO POLE NO POLE memory used=68.6MB, alloc=4.6MB, time=10.76 x[1] = 0.114 y2[1] (analytic) = 1.9935090342861342957607985460685 y2[1] (numeric) = 1.9935085321524597717081581974991 absolute error = 5.021336745240526403485694e-07 relative error = 2.5188432351592739098976883171706e-05 % Correct digits = 6 h = 0.001 y1[1] (analytic) = 0.88624676359842402986363663600634 y1[1] (numeric) = 0.88624676535489461977372220889591 absolute error = 1.75647058991008557288957e-09 relative error = 1.9819204560796311158918393558900e-07 % Correct digits = 8 h = 0.001 TOP MAIN SOLVE Loop memory used=72.4MB, alloc=4.6MB, time=11.38 NO POLE NO POLE x[1] = 0.115 y2[1] (analytic) = 1.9933947843142158447175487318465 y2[1] (numeric) = 1.9933941665867676078833463156425 absolute error = 6.177274482368342024162040e-07 relative error = 3.0988715988305844122567279277046e-05 % Correct digits = 6 h = 0.001 y1[1] (analytic) = 0.8852533116063361874062827912803 y1[1] (numeric) = 0.88525331392140661249781407187201 absolute error = 2.31507042509153128059171e-09 relative error = 2.6151502566996567205721283023024e-07 % Correct digits = 8 h = 0.001 TOP MAIN SOLVE Loop memory used=76.2MB, alloc=4.6MB, time=11.99 NO POLE NO POLE x[1] = 0.116 y2[1] (analytic) = 1.993279540947595862354387621489 y2[1] (numeric) = 1.9932787911036479814210676608578 absolute error = 7.498439478809333199606312e-07 relative error = 3.7618604539755672195704503518730e-05 % Correct digits = 6 h = 0.001 y1[1] (analytic) = 0.88425997436092717638902747574917 y1[1] (numeric) = 0.88425997735836022822388105330731 absolute error = 2.99743305183485357755814e-09 relative error = 3.3897644796160313995016410227806e-07 % Correct digits = 8 h = 0.001 TOP MAIN SOLVE Loop memory used=80.1MB, alloc=4.6MB, time=12.59 NO POLE NO POLE x[1] = 0.117 y2[1] (analytic) = 1.993163304301517705687684013279 y2[1] (numeric) = 1.9931624047097637296904302272597 absolute error = 8.995917539759972537860193e-07 relative error = 4.5133870969556573852644672943029e-05 % Correct digits = 6 h = 0.001 y1[1] (analytic) = 0.88326675285553415944278068185407 y1[1] (numeric) = 0.88326675667616957259948935903721 absolute error = 3.82063541315670867718314e-09 relative error = 4.3255736738701929991821810321586e-07 % Correct digits = 8 h = 0.001 TOP MAIN SOLVE Loop memory used=83.9MB, alloc=4.6MB, time=13.20 NO POLE NO POLE x[1] = 0.118 y2[1] (analytic) = 1.99304607449221801110920772362 y2[1] (numeric) = 1.9930450064118934300668912347145 absolute error = 1.0680803245810423164889055e-06 relative error = 5.3590347872573114034493740689458e-05 % Correct digits = 6 h = 0.001 y1[1] (analytic) = 0.88227364808337855919210333203896 y1[1] (numeric) = 0.88227365288624203064760619494748 absolute error = 4.80286347145550286290852e-09 relative error = 5.4437344715996913987418014502441e-07 % Correct digits = 8 h = 0.001 TOP MAIN SOLVE Loop memory used=87.7MB, alloc=4.6MB, time=13.81 NO POLE NO POLE x[1] = 0.119 y2[1] (analytic) = 1.9929278516369265781495028816522 y2[1] (numeric) = 1.9929265952169323931535969849339 absolute error = 1.2564199941849959058967183e-06 relative error = 6.3043927714343150818594604791545e-05 % Correct digits = 6 h = 0.001 y1[1] (analytic) = 0.88128066103756506503386742263883 y1[1] (numeric) = 0.88128066700097815052997306143469 absolute error = 5.96341308549610563879586e-09 relative error = 6.7667581386333313959440751158943e-07 % Correct digits = 8 h = 0.001 TOP MAIN SOLVE Loop memory used=91.5MB, alloc=4.6MB, time=14.42 memory used=95.3MB, alloc=4.6MB, time=15.04 NO POLE NO POLE x[1] = 0.12 y2[1] (analytic) = 1.9928086358538662522480981678576 y2[1] (numeric) = 1.9928071701318936558859894996074 absolute error = 1.4657219725963621086682502e-06 relative error = 7.3550563070916173156146755194178e-05 % Correct digits = 6 h = 0.001 y1[1] (analytic) = 0.88028779271108064003264938572903 y1[1] (numeric) = 0.88028780003377152631731599185595 absolute error = 7.32269088628466660612692e-09 relative error = 8.3185191785205725817229582278112e-07 % Correct digits = 8 h = 0.001 TOP MAIN SOLVE Loop memory used=99.1MB, alloc=4.6MB, time=15.65 NO POLE NO POLE x[1] = 0.121 y2[1] (analytic) = 1.9926884272622528065306712264356 y2[1] (numeric) = 1.9926867301639089745186868360493 absolute error = 1.6970983438320119843903863e-06 relative error = 8.5166266869108537222851444855799e-05 % Correct digits = 6 h = 0.001 y1[1] (analytic) = 0.87929504409679352793384977345972 y1[1] (numeric) = 0.87929505299900867976650996474792 absolute error = 8.90221515183266019128820e-09 relative error = 1.0124263990338943570719884658547e-06 % Correct digits = 7 h = 0.001 TOP MAIN SOLVE Loop memory used=102.9MB, alloc=4.6MB, time=16.25 NO POLE NO POLE x[1] = 0.122 y2[1] (analytic) = 1.992567225982294822593285474272 y2[1] (numeric) = 1.9925652743202298174936440935631 absolute error = 1.9516620650050996413807089e-06 relative error = 9.7947112627177244931564738880471e-05 % Correct digits = 6 h = 0.001 y1[1] (analytic) = 0.87830241618745226029553225167281 y1[1] (numeric) = 0.87830242691206894110481571264086 absolute error = 1.072461668080928346096805e-08 relative error = 1.2210619580625604496766972714592e-06 % Correct digits = 7 h = 0.001 TOP MAIN SOLVE Loop memory used=106.8MB, alloc=4.6MB, time=16.86 NO POLE NO POLE x[1] = 0.123 y2[1] (analytic) = 1.9924450321351935702938185222573 y2[1] (numeric) = 1.9924428016082283581886022424449 absolute error = 2.2305269652121052162798124e-06 relative error = 0.00011194923469591391211729047845673 % Correct digits = 5 h = 0.001 y1[1] (analytic) = 0.8773099099756846637399747708799 y1[1] (numeric) = 0.87730992278932432882130814322096 absolute error = 1.281363966508133337234106e-08 relative error = 1.4605602329781585966890431183704e-06 % Correct digits = 7 h = 0.001 TOP MAIN SOLVE Loop memory used=110.6MB, alloc=4.6MB, time=17.47 NO POLE NO POLE x[1] = 0.124 y2[1] (analytic) = 1.992321845843142886550702417515 y2[1] (numeric) = 1.9923193110353984675448320272597 absolute error = 2.5348077444190058703902553e-06 relative error = 0.00012722882850016057788340711862612 % Correct digits = 5 h = 0.001 y1[1] (analytic) = 0.87631752645399686732592566296706 y1[1] (numeric) = 0.8763175416481394284656165814025 absolute error = 1.519414256113969091843544e-08 relative error = 1.7338626813299644838398569095937e-06 % Correct digits = 7 h = 0.001 TOP MAIN SOLVE Loop memory used=114.4MB, alloc=4.6MB, time=18.08 NO POLE NO POLE x[1] = 0.125 y2[1] (analytic) = 1.9921976672293290531490969077882 y2[1] (numeric) = 1.9921948016093567065731803167291 absolute error = 2.8656199723465759165910591e-06 relative error = 0.0001438421507807490105938504288384 % Correct digits = 5 h = 0.001 y1[1] (analytic) = 0.87532526661477231004255729128789 y1[1] (numeric) = 0.87532528450687127045409803355956 absolute error = 1.789209896041154074227167e-08 relative error = 2.0440514678169107385408029961746e-06 % Correct digits = 7 h = 0.001 TOP MAIN SOLVE Loop memory used=118.2MB, alloc=4.6MB, time=18.69 memory used=122.0MB, alloc=4.6MB, time=19.31 NO POLE NO POLE x[1] = 0.126 y2[1] (analytic) = 1.9920724964179306735546179218037 y2[1] (numeric) = 1.9920692723378433187374263942675 absolute error = 3.2240800873548171915275362e-06 relative error = 0.0001618455198368651700091216376207 % Correct digits = 5 h = 0.001 y1[1] (analytic) = 0.87433313145027074842610976010826 y1[1] (numeric) = 0.8743331523848692068835656677337 absolute error = 2.093459845845745590762544e-08 relative error = 2.3943503574813518799450506428590e-06 % Correct digits = 7 h = 0.001 TOP MAIN SOLVE Loop memory used=125.8MB, alloc=4.6MB, time=19.92 NO POLE NO POLE x[1] = 0.127 y2[1] (analytic) = 1.9919463335341185487347444518721 y2[1] (numeric) = 1.9919427222287232222139558058926 absolute error = 3.6113053953265207886459795e-06 relative error = 0.00018129531576884048909451097993496 % Correct digits = 5 h = 0.001 y1[1] (analytic) = 0.87334112195262726430021706667654 y1[1] (numeric) = 0.87334114630247478735269569607905 absolute error = 2.434984752305247862940251e-08 relative error = 2.7881256144919384670556855808051e-06 % Correct digits = 7 h = 0.001 TOP MAIN SOLVE Loop memory used=129.7MB, alloc=4.6MB, time=20.52 NO POLE NO POLE x[1] = 0.128 y2[1] (analytic) = 1.9918191787040555519880280173089 y2[1] (numeric) = 1.9918151502899870020267595059188 absolute error = 4.0284140685499612685113901e-06 relative error = 0.00020224798072137164307687454596889 % Correct digits = 5 h = 0.001 y1[1] (analytic) = 0.87234923911385127264090795551028 y1[1] (numeric) = 0.87234926728102163379123683812737 absolute error = 2.816717036115032888261709e-08 relative error = 3.2288869065516775268686123929550e-06 % Correct digits = 7 h = 0.001 TOP MAIN SOLVE Loop memory used=133.5MB, alloc=4.6MB, time=21.13 NO POLE NO POLE x[1] = 0.129 y2[1] (analytic) = 1.9916910320548965027812298794554 y2[1] (numeric) = 1.991686555529751902056766165518 absolute error = 4.4765251446007244637139374e-06 relative error = 0.00022476001912717047739173118141771 % Correct digits = 5 h = 0.001 y1[1] (analytic) = 0.87135748392582552956727360981603 y1[1] (numeric) = 0.87135751634283531429714753565341 absolute error = 3.241700978472987392583738e-08 relative error = 3.7202882149675067240095751196666e-06 % Correct digits = 7 h = 0.001 TOP MAIN SOLVE Loop memory used=137.3MB, alloc=4.6MB, time=21.73 NO POLE NO POLE x[1] = 0.13 y2[1] (analytic) = 1.9915618937147880395945121711518 y2[1] (numeric) = 1.9915569369562628169245156348972 absolute error = 4.9567585252226699965362546e-06 relative error = 0.0002488879979510457702454113445178 % Correct digits = 5 h = 0.001 y1[1] (analytic) = 0.87036585738030514045879418929169 y1[1] (numeric) = 0.87036589451123321598178708199262 absolute error = 3.713092807552299289270093e-08 relative error = 4.2661287504179619900084038170321e-06 % Correct digits = 7 h = 0.001 TOP MAIN SOLVE Loop memory used=141.1MB, alloc=4.6MB, time=22.34 NO POLE NO POLE x[1] = 0.131 y2[1] (analytic) = 1.9914317638128684917748100954616 y2[1] (numeric) = 1.9914262935778932837451816765028 absolute error = 5.4702349752080296284189588e-06 relative error = 0.00027468854693441850961754543976923 % Correct digits = 5 h = 0.001 y1[1] (analytic) = 0.86937436046891656820031609690237 y1[1] (numeric) = 0.86937440281052441682328782060967 memory used=144.9MB, alloc=4.6MB, time=22.96 absolute error = 4.234160784862297172370730e-08 relative error = 4.8703538744557724794642161087848e-06 % Correct digits = 7 h = 0.001 TOP MAIN SOLVE Loop memory used=148.7MB, alloc=4.6MB, time=23.58 NO POLE NO POLE x[1] = 0.132 y2[1] (analytic) = 1.991300642479267750397513340263 y2[1] (numeric) = 1.9912946244031464737549522143109 absolute error = 6.0180761212766425611259521e-06 relative error = 0.00030221835884027236864738048589441 % Correct digits = 5 h = 0.001 y1[1] (analytic) = 0.86838299418315664155567172956986 y1[1] (numeric) = 0.86838304226600955652823655953475 absolute error = 4.808285291497256482996489e-08 relative error = 5.5370560267824727772425950447837e-06 % Correct digits = 7 h = 0.001 TOP MAIN SOLVE Loop memory used=152.5MB, alloc=4.6MB, time=24.18 NO POLE NO POLE x[1] = 0.133 y2[1] (analytic) = 1.9911685298451071381365858470171 y2[1] (numeric) = 1.9911619284406561838077754729064 absolute error = 6.6014044509543288103741107e-06 relative error = 0.00033153418969854106748331651015593 % Correct digits = 5 h = 0.001 y1[1] (analytic) = 0.86739175951439156367093333907315 y1[1] (numeric) = 0.86739181390398070640179433997562 absolute error = 5.438958914273086100090247e-08 relative error = 6.2704756583323802609936126601075e-06 % Correct digits = 7 h = 0.001 TOP MAIN SOLVE Loop memory used=156.4MB, alloc=4.6MB, time=24.79 NO POLE NO POLE x[1] = 0.134 y2[1] (analytic) = 1.9910354260424992781432540635797 y2[1] (numeric) = 1.9910282046991878277414805096873 absolute error = 7.2213433114504017735538924e-06 relative error = 0.00036269285905193431382871288060563 % Correct digits = 5 h = 0.001 y1[1] (analytic) = 0.86640065745385592070829249982374 y1[1] (numeric) = 0.86640071875172123822638468897469 absolute error = 6.129786531751809218915095e-08 relative error = 7.0750021702035454423070657050853e-06 % Correct digits = 7 h = 0.001 TOP MAIN SOLVE Loop memory used=160.2MB, alloc=4.6MB, time=25.40 NO POLE NO POLE x[1] = 0.135 y2[1] (analytic) = 1.9909013312045479619333948023605 y2[1] (numeric) = 1.9908934521876394276122807741562 absolute error = 7.8790169085343211140282043e-06 relative error = 0.00039575125020220401858848654329686 % Correct digits = 5 h = 0.001 y1[1] (analytic) = 0.86540968899265169061155654955344 y1[1] (numeric) = 0.86540975783750569214908147741195 absolute error = 6.884485400153752492785851e-08 relative error = 7.9551748584735449834847890728841e-06 % Correct digits = 7 h = 0.001 TOP MAIN SOLVE Loop memory used=164.0MB, alloc=4.6MB, time=26.01 NO POLE NO POLE x[1] = 0.136 y2[1] (analytic) = 1.990766245465348016283754816428 y2[1] (numeric) = 1.990757669915042604796669459878 absolute error = 8.5755503054114870853565500e-06 relative error = 0.00043076631045685248721036387982605 % Correct digits = 5 h = 0.001 y1[1] (analytic) = 0.86441885512174725200425323733583 y1[1] (numeric) = 0.86441893219059964357782849595499 absolute error = 7.706885239157357525861916e-08 relative error = 8.9156838649382509311033298550191e-06 % Correct digits = 7 h = 0.001 TOP MAIN SOLVE Loop memory used=167.8MB, alloc=4.6MB, time=26.64 NO POLE NO POLE memory used=171.6MB, alloc=4.6MB, time=27.27 x[1] = 0.137 y2[1] (analytic) = 1.9906301689599851691371351973316 y2[1] (numeric) = 1.9906208568905635709597155472915 absolute error = 9.3120694215981774196500401e-06 relative error = 0.00046779505137628429152191311768066 % Correct digits = 5 h = 0.001 y1[1] (analytic) = 0.86342815683197639322133468075391 y1[1] (numeric) = 0.86342824284125956908662385272532 absolute error = 8.600928317586528917197141e-08 relative error = 9.9613711338119755382972898461626e-06 % Correct digits = 7 h = 0.001 TOP MAIN SOLVE Loop memory used=175.4MB, alloc=4.6MB, time=27.90 NO POLE NO POLE x[1] = 0.138 y2[1] (analytic) = 1.9904931018245359145166746894438 y2[1] (numeric) = 1.9904830121235041188887695691605 absolute error = 1.00897010317956279051202833e-05 relative error = 0.00050689454902140353108973070499163 % Correct digits = 5 h = 0.001 y1[1] (analytic) = 0.86243759511403732147547160042766 y1[1] (numeric) = 0.86243769082073271132980328748545 absolute error = 9.570669538985433168705779e-08 relative error = 1.1097231374427658881188362980596e-05 % Correct digits = 6 h = 0.001 TOP MAIN SOLVE Loop memory used=179.2MB, alloc=4.6MB, time=28.52 NO POLE NO POLE x[1] = 0.139 y2[1] (analytic) = 1.9903550441960673764493670065295 y2[1] (numeric) = 1.9903441346233026131915882650424 absolute error = 1.09095727647632577787414871e-05 relative error = 0.00054812194420165819737044023343287 % Correct digits = 5 h = 0.001 y1[1] (analytic) = 0.86144717095849167215892866552446 y1[1] (numeric) = 0.86144727716125694296555748805225 absolute error = 1.0620276527080662882252779e-07 relative error = 1.2328413029976036327433896601804e-05 % Correct digits = 6 h = 0.001 TOP MAIN SOLVE Loop memory used=183.1MB, alloc=4.6MB, time=29.15 NO POLE NO POLE x[1] = 0.14 y2[1] (analytic) = 1.9902159962126371718989482270114 y2[1] (numeric) = 1.9902042233995349808578874267311 absolute error = 1.17728131021910410608002803e-05 relative error = 0.00059153444272353335818454326355892 % Correct digits = 5 h = 0.001 y1[1] (analytic) = 0.86045688535576351828201164829463 y1[1] (numeric) = 0.86045700289606062958881948540778 absolute error = 1.1754029711130680783711315e-07 relative error = 1.3660219252322994802931021638812e-05 % Correct digits = 6 h = 0.001 TOP MAIN SOLVE Loop memory used=186.9MB, alloc=4.6MB, time=29.77 NO POLE NO POLE x[1] = 0.141 y2[1] (analytic) = 1.9900759580132932727082913350357 y2[1] (numeric) = 1.9900632774619157016833323732044 absolute error = 1.26805513775710249589618313e-05 relative error = 0.00063718931563949488432369564836243 % Correct digits = 5 h = 0.001 y1[1] (analytic) = 0.85946673929613838004907694910232 y1[1] (numeric) = 0.85946686905936249167365919460889 absolute error = 1.2976322411162458224550657e-07 relative error = 1.5098108882944600742892581192794e-05 % Correct digits = 6 h = 0.001 TOP MAIN SOLVE Loop memory used=190.7MB, alloc=4.6MB, time=30.39 NO POLE NO POLE x[1] = 0.142 y2[1] (analytic) = 1.9899349297380738665514459649294 y2[1] (numeric) = 1.9899212958202987985549756311683 absolute error = 1.36339177750679964703337611e-05 relative error = 0.0006851438994973854443997276754098 % Correct digits = 5 h = 0.001 y1[1] (analytic) = 0.85847673376976223457309391585971 y1[1] (numeric) = 0.8584768766863714655253231590895 absolute error = 1.4291660923095222924322979e-07 relative error = 1.6647697440019558622559370441384e-05 % Correct digits = 6 h = 0.001 TOP MAIN SOLVE Loop memory used=194.5MB, alloc=4.6MB, time=31.01 memory used=198.3MB, alloc=4.6MB, time=31.66 NO POLE NO POLE x[1] = 0.143 y2[1] (analytic) = 1.9897929115280072168954623969991 y2[1] (numeric) = 1.9897782774846788275971515358424 absolute error = 1.46340433283892983108611567e-05 relative error = 0.00073545559659027449835974056701027 % Correct digits = 5 h = 0.001 y1[1] (analytic) = 0.85748686976664052572975024321969 y1[1] (numeric) = 0.85748702681328656324205854630426 absolute error = 1.5704664603751230830308457e-07 relative error = 1.8314758111719137057627514441923e-05 % Correct digits = 6 h = 0.001 TOP MAIN SOLVE Loop memory used=202.1MB, alloc=4.6MB, time=32.26 NO POLE NO POLE x[1] = 0.144 y2[1] (analytic) = 1.9896499035251115219721398428361 y2[1] (numeric) = 1.9896342214651918681768376061747 absolute error = 1.56820599196537953022366614e-05 relative error = 0.00078818187520676402442595303629949 % Correct digits = 5 h = 0.001 y1[1] (analytic) = 0.85649714827663717415209059733904 y1[1] (numeric) = 0.85649732047729673168686143287783 absolute error = 1.7220065955753477083553879e-07 relative error = 2.0105222755734879662096754884341e-05 % Correct digits = 6 h = 0.001 TOP MAIN SOLVE Loop memory used=205.9MB, alloc=4.6MB, time=32.87 NO POLE NO POLE x[1] = 0.145 y2[1] (analytic) = 1.989505905872394772759840048366 y2[1] (numeric) = 1.9894891267721165127674926892067 absolute error = 1.67791002782599923473591593e-05 relative error = 0.00084338026988175171857169861853622 % Correct digits = 5 h = 0.001 y1[1] (analytic) = 0.85550757028947358736667847149108 y1[1] (numeric) = 0.85550775871658071046929040749991 absolute error = 1.8842710712310261193600883e-07 relative error = 2.2025182905084700168881935084860e-05 % Correct digits = 6 h = 0.001 TOP MAIN SOLVE Loop memory used=209.8MB, alloc=4.6MB, time=33.47 NO POLE NO POLE x[1] = 0.146 y2[1] (analytic) = 1.9893609187138546099755082328197 y2[1] (numeric) = 1.9893429924158748566703820098333 absolute error = 1.79262979797533051262229864e-05 relative error = 0.00090110838164765341001614649909659 % Correct digits = 5 h = 0.001 y1[1] (analytic) = 0.85451813679472767007227113628341 y1[1] (numeric) = 0.85451834257030688893748750974039 absolute error = 2.0577557921886521637345698e-07 relative error = 2.4080890780238245773524602586217e-05 % Correct digits = 6 h = 0.001 TOP MAIN SOLVE Loop memory used=213.6MB, alloc=4.6MB, time=34.08 NO POLE NO POLE x[1] = 0.147 y2[1] (analytic) = 1.9892149421944781800770443715908 y2[1] (numeric) = 1.9891958174070334875923994047151 absolute error = 1.91247874446924846449668757e-05 relative error = 0.00096142387828608644060999400092609 % Correct digits = 5 h = 0.001 y1[1] (analytic) = 0.85352884878183283456199740572324 y1[1] (numeric) = 0.85352907307863316218054951275192 absolute error = 2.2429680032761855210702868e-07 relative error = 2.6278760307602699271196212414669e-05 % Correct digits = 6 h = 0.001 TOP MAIN SOLVE Loop memory used=217.4MB, alloc=4.6MB, time=34.68 NO POLE NO POLE x[1] = 0.148 y2[1] (analytic) = 1.9890679764602419902761688205978 y2[1] (numeric) = 1.9890476007563044750793971626028 absolute error = 2.03757039375151967716579950e-05 relative error = 0.0010243844945800157603926180622892 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.85253970724007701129002779687021 y1[1] (numeric) = 0.85253995128270678604139354747652 absolute error = 2.4404262977475136575060631e-07 relative error = 2.8625368144410479339555024743921e-05 % Correct digits = 6 h = 0.001 TOP MAIN SOLVE Loop memory used=221.2MB, alloc=4.6MB, time=35.29 memory used=225.0MB, alloc=4.6MB, time=35.89 NO POLE NO POLE x[1] = 0.149 y2[1] (analytic) = 1.9889200216581117625619272692718 y2[1] (numeric) = 1.9888983414745463598040340378269 absolute error = 2.16801835654027578932314449e-05 relative error = 0.0010900480325663644960280347317544 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.85155071315860165958372651632402 y1[1] (numeric) = 0.8515509782246642311402620554786 absolute error = 2.6506606257155653553915458e-07 relative error = 3.1127454710050589292717966245559e-05 % Correct digits = 6 h = 0.001 TOP MAIN SOLVE Loop memory used=228.8MB, alloc=4.6MB, time=36.49 NO POLE NO POLE x[1] = 0.15 y2[1] (analytic) = 1.9887710779360422867349809986543 y2[1] (numeric) = 1.9887480385727651427071521491866 absolute error = 2.30393632771440278288494677e-05 relative error = 0.0011584723617890907532725608107102 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.85056186752640077850227456131236 y1[1] (numeric) = 0.85056215494763103590901304688717 absolute error = 2.8742123025740673848557481e-07 relative error = 3.3791925223885657812606148879556e-05 % Correct digits = 6 h = 0.001 TOP MAIN SOLVE Loop memory used=232.7MB, alloc=4.6MB, time=37.08 NO POLE NO POLE x[1] = 0.151 y2[1] (analytic) = 1.9886211454429772724528294103012 y2[1] (numeric) = 1.9885966910621152739916936229441 absolute error = 2.44543808619984611357873571e-05 relative error = 0.0012297154195527324190913596740271 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.8495731713323199178427530766738 y1[1] (numeric) = 0.84957348249572165863634262914485 absolute error = 3.1116340174079358955247105e-07 relative error = 3.6625850749597010571347350443183e-05 % Correct digits = 6 h = 0.001 TOP MAIN SOLVE Loop memory used=236.5MB, alloc=4.6MB, time=37.67 NO POLE NO POLE x[1] = 0.152 y2[1] (analytic) = 1.9884702243288492002861127807586 y2[1] (numeric) = 1.988444297953900641968167986089 absolute error = 2.59263749485583179447946696e-05 relative error = 0.0013038352111764217335241453915517 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.84858462556505518929467596156972 y1[1] (numeric) = 0.84858496191403932852408776132876 absolute error = 3.3634898413922941179975904e-07 relative error = 3.9636469246100409310559963322127e-05 % Correct digits = 6 h = 0.001 TOP MAIN SOLVE Loop memory used=240.3MB, alloc=4.6MB, time=38.27 NO POLE NO POLE x[1] = 0.153 y2[1] (analytic) = 1.9883183147445791717861441852958 y2[1] (numeric) = 1.9882908582595755617506814644894 absolute error = 2.74564850036100354627208064e-05 relative error = 0.0013808898102483714059022756954962 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.84759623121315227774396057131025 y1[1] (numeric) = 0.8475965942486758957547581777281 absolute error = 3.6303552361801079760641785e-07 relative error = 4.2831186625075394858652108869178e-05 % Correct digits = 6 h = 0.001 TOP MAIN SOLVE Loop memory used=244.1MB, alloc=4.6MB, time=38.87 NO POLE NO POLE x[1] = 0.154 y2[1] (analytic) = 1.9881654168420767585638205233501 y2[1] (numeric) = 1.9881363709907457638025394899808 absolute error = 2.90458513309947612810333693e-05 relative error = 0.0014609373588808340545403467649649 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.84660798926500545272732521024132 y1[1] (numeric) = 0.84660838054671168057044741313408 absolute error = 3.9128170622784312220289276e-07 relative error = 4.6217577815151472764361875175223e-05 % Correct digits = 6 h = 0.001 TOP MAIN SOLVE Loop memory used=247.9MB, alloc=4.6MB, time=39.46 memory used=251.7MB, alloc=4.6MB, time=40.07 NO POLE NO POLE x[1] = 0.155 y2[1] (analytic) = 1.9880115307742398503800635667605 y2[1] (numeric) = 1.9879808351591693823304338708747 absolute error = 3.06956150704680496296958858e-05 relative error = 0.001544036067965536753565272201189 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.84561990070885658003810196121268 y1[1] (numeric) = 0.84562032185621532136327385091849 absolute error = 4.2114735874132517188970581e-07 relative error = 4.9803387832794684722420229460094e-05 % Correct digits = 6 h = 0.001 TOP MAIN SOLVE Loop memory used=255.5MB, alloc=4.6MB, time=40.66 NO POLE NO POLE x[1] = 0.156 y2[1] (analytic) = 1.9878566566949545022479429403361 y2[1] (numeric) = 1.9878242497767579435262262317805 absolute error = 3.24069181965587217167085556e-05 relative error = 0.001630244217429592475104747118479 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.84463196653279413348445324573189 y1[1] (numeric) = 0.84463241922624362177750370344733 absolute error = 4.5269344948829305045771544e-07 relative error = 5.3596532859938415784383930154015e-05 % Correct digits = 6 h = 0.001 TOP MAIN SOLVE Loop memory used=259.4MB, alloc=4.6MB, time=41.26 NO POLE NO POLE x[1] = 0.157 y2[1] (analytic) = 1.9877007947590947805466339326243 y2[1] (numeric) = 1.9876666138555773536553394810406 absolute error = 3.41809035174268912944515837e-05 relative error = 0.0017196201564918902196350275559526 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.84364418772475220680098035650535 y1[1] (numeric) = 0.84364467370684139682350882269367 absolute error = 4.8598208919002252846618832e-07 relative error = 5.7605101328402596503477081540569e-05 % Correct digits = 6 h = 0.001 TOP MAIN SOLVE Loop memory used=263.2MB, alloc=4.6MB, time=41.85 NO POLE NO POLE x[1] = 0.158 y2[1] (analytic) = 1.9875439451225226081473640229073 y2[1] (numeric) = 1.987507926407848886990769217469 absolute error = 3.60187146737211565948054383e-05 relative error = 0.0018122223039199656318851579648485 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.84265656527250952571471205067536 y1[1] (numeric) = 0.84265708634904131800371322707918 absolute error = 5.2107653179228900117640382e-07 relative error = 6.1837355011145770675982065741068e-05 % Correct digits = 6 h = 0.001 TOP MAIN SOLVE Loop memory used=267.0MB, alloc=4.6MB, time=42.44 NO POLE NO POLE x[1] = 0.159 y2[1] (analytic) = 1.9873861079420876085515029984672 y2[1] (numeric) = 1.9873481864459501735917271424647 absolute error = 3.79214961374349597758560025e-05 relative error = 0.0019081091482873539043112178689266 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.84166910016368846016646113768246 y1[1] (numeric) = 0.84166965820486375745068321858483 absolute error = 5.5804117529728422208090237e-07 relative error = 6.6301730120394813232790100056876e-05 % Correct digits = 6 h = 0.001 TOP MAIN SOLVE Loop memory used=270.8MB, alloc=4.6MB, time=43.03 NO POLE NO POLE memory used=274.6MB, alloc=4.6MB, time=43.65 x[1] = 0.16 y2[1] (analytic) = 1.9872272833756269490409525240183 y2[1] (numeric) = 1.9871873929824161869259286989385 absolute error = 3.98903932107621150238250798e-05 relative error = 0.0020073392482314267747898959808578 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.84068179338575403668853684031401 y1[1] (numeric) = 0.8406823903273166310775169520277 absolute error = 5.9694156259438898011171369e-07 relative error = 7.1006838412697399122788768996589e-05 % Correct digits = 6 h = 0.001 TOP MAIN SOLVE Loop memory used=278.4MB, alloc=4.6MB, time=44.26 NO POLE NO POLE x[1] = 0.161 y2[1] (analytic) = 1.9870674715819651828409920129024 y2[1] (numeric) = 1.9870255450299402313345373148481 absolute error = 4.19265520249515064546980543e-05 relative error = 0.0021099712327117154298357987926516 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.83969464592601295093980055114447 y1[1] (numeric) = 0.83969528377039524074069030610128 absolute error = 6.3784438228980088975495681e-07 relative error = 7.5961468300942642734633215203530e-05 % Correct digits = 6 h = 0.001 TOP MAIN SOLVE Loop memory used=282.2MB, alloc=4.6MB, time=44.86 NO POLE NO POLE x[1] = 0.162 y2[1] (analytic) = 1.9869066727209140902957386371875 y2[1] (numeric) = 1.9868626416013749293387777864796 absolute error = 4.40311195391609569608507079e-05 relative error = 0.0022160638012687211293214249990116 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.83870765877161258039905244922922 y1[1] (numeric) = 0.83870833958908211541551689332016 absolute error = 6.8081746953501646444409094e-07 relative error = 8.1174585973395648545100739878412e-05 % Correct digits = 6 h = 0.001 TOP MAIN SOLVE Loop memory used=286.1MB, alloc=4.6MB, time=45.47 NO POLE NO POLE x[1] = 0.163 y2[1] (analytic) = 1.9867448869532725190563803011996 y2[1] (numeric) = 1.9866986817097332087872314949437 absolute error = 4.62052435393102691488062559e-05 relative error = 0.0023256757242832153733727507396628 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.83772083290953999721773628358307 y1[1] (numeric) = 0.83772155883934685138438103339595 absolute error = 7.2592980685416664474981288e-07 relative error = 8.6655336519792037280824881103726e-05 % Correct digits = 6 h = 0.001 TOP MAIN SOLVE Loop memory used=289.9MB, alloc=4.6MB, time=46.08 NO POLE NO POLE x[1] = 0.164 y2[1] (analytic) = 1.9865821144408262232823413902376 y2[1] (numeric) = 1.9865336643681892898428263086747 absolute error = 4.84500726369334395150815629e-05 relative error = 0.0024388658432360314368269368609709 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.8367341693266209812329494706565 y1[1] (numeric) = 0.83673494257814595143790350179805 absolute error = 7.7325152497020495403114155e-07 relative error = 9.2413045064538837956084116250121e-05 % Correct digits = 6 h = 0.001 TOP MAIN SOLVE Loop memory used=293.7MB, alloc=4.6MB, time=46.70 NO POLE NO POLE x[1] = 0.165 y2[1] (analytic) = 1.9864183553463477018555420932949 y2[1] (numeric) = 1.9863675885900796718085341850236 absolute error = 5.07667562680300470079082713e-05 relative error = 0.0025556930709683491013718540549928 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.83574766900951903314174549271711 y1[1] (numeric) = 0.83574849186342266308920085232024 absolute error = 8.2285390362994745535960313e-07 relative error = 9.8457217907068464723003457742518e-05 % Correct digits = 6 h = 0.001 TOP MAIN SOLVE Loop memory used=297.5MB, alloc=4.6MB, time=47.31 memory used=301.3MB, alloc=4.6MB, time=47.93 NO POLE NO POLE x[1] = 0.166 y2[1] (analytic) = 1.9862536098335960356079130855139 y2[1] (numeric) = 1.9862004533889041197907896453303 absolute error = 5.31564446919158171234401836e-05 relative error = 0.0026762163919424744202399879797376 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.83476133294473438783771542275181 y1[1] (numeric) = 0.83476220775410681580140009938015 absolute error = 8.7480937242796368467662834e-07 relative error = 0.00010479754366939282856271875186385 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=305.1MB, alloc=4.6MB, time=48.54 NO POLE NO POLE x[1] = 0.167 y2[1] (analytic) = 1.9860878780673167235623283428443 y2[1] (numeric) = 1.9860322577783266511996424601391 absolute error = 5.56202889900723626858827052e-05 relative error = 0.0028004948625031163551019002365169 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.83377516211860302791083523922592 y1[1] (numeric) = 0.83377609131011465722857153252346 absolute error = 9.2919151162931773629329754e-07 relative error = 0.00011144389445090496747764344616607 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=308.9MB, alloc=4.6MB, time=49.15 NO POLE NO POLE x[1] = 0.168 y2[1] (analytic) = 1.985921160213241518187119847961 y2[1] (numeric) = 1.9858630007721765220846580444865 absolute error = 5.81594410649961024618034745e-05 relative error = 0.0029285876111391621295968476108587 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.83278915751729569731156543076966 y1[1] (numeric) = 0.83279014359234868847024342218634 absolute error = 9.8607505299115867799141668e-07 relative error = 0.00011840632699047591503704244181767 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=312.8MB, alloc=4.6MB, time=49.76 NO POLE NO POLE x[1] = 0.169 y2[1] (analytic) = 1.9857534564380882596643389329105 y2[1] (numeric) = 1.9856926813844492133055792274431 absolute error = 6.07750536390463587597054674e-05 relative error = 0.0030605538387459531487504661859799 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.83180332012681691518018922661023 y1[1] (numeric) = 0.83180436566269749833966336218768 absolute error = 1.04553588058315947413557745e-06 relative error = 0.00012569508383589486590192293521608 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=316.6MB, alloc=4.6MB, time=50.37 NO POLE NO POLE x[1] = 0.17 y2[1] (analytic) = 1.9855847669095607091719299902125 y2[1] (numeric) = 1.9855212986293074165367632253302 absolute error = 6.34682802532926351667648823e-05 relative error = 0.0031964528188880633383616756890734 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.83081765093300398984237562332915 y1[1] (numeric) = 0.83081875858403559664597198067599 absolute error = 1.10765103160680359635734684e-06 relative error = 0.00013332059452070103833225383842962 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=320.4MB, alloc=4.6MB, time=50.98 NO POLE NO POLE x[1] = 0.171 y2[1] (analytic) = 1.9854150917963483811799832702289 y2[1] (numeric) = 1.9853488515210820201044078142565 absolute error = 6.62402752663610755754559724e-05 relative error = 0.0033363438980625817632932181287322 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.8298321509215260329719532122995 y1[1] (numeric) = 0.82983332342022324649045573734332 absolute error = 1.17249869721351850252504382e-06 relative error = 0.00014129347674845597768137187039328 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=324.2MB, alloc=4.6MB, time=51.59 memory used=328.0MB, alloc=4.6MB, time=52.20 NO POLE NO POLE x[1] = 0.172 y2[1] (analytic) = 1.9852444312681263747612344685321 y2[1] (numeric) = 1.9851753390742730946555808648301 absolute error = 6.90921938532801056536037020e-05 relative error = 0.0034802864959629013884725803676593 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.82884682107788297392188064494727 y1[1] (numeric) = 0.82884806123610629557704651063946 absolute error = 1.24015822332165516586569219e-06 relative error = 0.00014962453758450539153096629318519 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=331.8MB, alloc=4.6MB, time=52.81 NO POLE NO POLE x[1] = 0.173 y2[1] (analytic) = 1.9850727854955552039159797927608 y2[1] (numeric) = 1.9850007603035508786580675700996 absolute error = 7.20251920043252579122226612e-05 relative error = 0.0036283401057430158513025295522609 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.82786166238740457422439940478408 y1[1] (numeric) = 0.8278629730975160065372366644728 absolute error = 1.31071011143231283725968872e-06 relative error = 0.00015832477465527995643729442133588 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=335.7MB, alloc=4.6MB, time=53.41 NO POLE NO POLE x[1] = 0.174 y2[1] (analytic) = 1.9849001546502806269115761840325 y2[1] (numeric) = 1.984825114223756763730049866958 absolute error = 7.50404265238631815263170745e-05 relative error = 0.0037805642942823261190931802545815 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.82687667583524944226135438597639 y1[1] (numeric) = 0.82687806007126888626957926946858 absolute error = 1.38423601944400822488349219e-06 relative error = 0.00016740537735518488826750310215236 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=339.5MB, alloc=4.6MB, time=54.02 NO POLE NO POLE x[1] = 0.175 y2[1] (analytic) = 1.9847265389049334746366973533995 y2[1] (numeric) = 1.9846483998499042797986327214128 absolute error = 7.81390550291948380646319867e-05 relative error = 0.0039370187024509589100604804432523 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.82589186240640404810566760804859 y1[1] (numeric) = 0.8258933232251665142939441392701 absolute error = 1.46081876246618827653122151e-06 relative error = 0.00017687772806112842282655416463487 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=343.3MB, alloc=4.6MB, time=54.63 NO POLE NO POLE x[1] = 0.176 y2[1] (analytic) = 1.9845519384331294779705172790773 y2[1] (numeric) = 1.9844706161971800800862321192778 absolute error = 8.13222359493978842851597995e-05 relative error = 0.0040977630453755987613893175663595 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.82490722308568173853495022516409 y1[1] (numeric) = 0.82490876362799537012070132761264 absolute error = 1.54054231363158575110244855e-06 relative error = 0.00018675340335473971093291293784061 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=347.1MB, alloc=4.6MB, time=55.24 NO POLE NO POLE x[1] = 0.177 y2[1] (analytic) = 1.9843763534094690941669937952475 y2[1] (numeric) = 1.9842917622809449259238397759814 absolute error = 8.45911285241682431540192661e-05 relative error = 0.0042628571127058356328331743212737 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.82392275885772175221823781629032 y1[1] (numeric) = 0.82392438234952665963500471697206 absolute error = 1.62349180490741676690068174e-06 relative error = 0.0001970441752523269923177006521679 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=350.9MB, alloc=4.6MB, time=55.86 memory used=354.7MB, alloc=4.6MB, time=56.48 NO POLE NO POLE x[1] = 0.178 y2[1] (analytic) = 1.9841997840095373322544258881378 y2[1] (numeric) = 1.9841118371167346713901797523072 absolute error = 8.79468928026608642461358306e-05 relative error = 0.0044323607688810299393164746377158 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.82293847070698823507683376943031 y1[1] (numeric) = 0.82294018046051614049634931449014 absolute error = 1.70975352790541951554505983e-06 relative error = 0.00020776201244262727572048217409878 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=358.5MB, alloc=4.6MB, time=57.10 NO POLE NO POLE x[1] = 0.179 y2[1] (analytic) = 1.9840222304099035774504592998064 y2[1] (numeric) = 1.9839308397202612477757723369942 absolute error = 9.13906896423296746869628122e-05 relative error = 0.0046063339533976969110205221769561 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.82195435961776925582024539899536 y1[1] (numeric) = 0.82195615903270394655357685560478 absolute error = 1.79941493469073333145660942e-06 relative error = 0.0002189190815323991183585159512607 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=362.4MB, alloc=4.6MB, time=57.71 NO POLE NO POLE x[1] = 0.18 y2[1] (analytic) = 1.9838436927881214145927160246115 y2[1] (numeric) = 1.9837487691074136478709207322133 absolute error = 9.49236807077667217952923982e-05 relative error = 0.0047848366810774121844693161993791 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.82097042657417582165819726030079 y1[1] (numeric) = 0.82097231913881441127550530036479 absolute error = 1.89256463858961730804006400e-06 relative error = 0.00023052774829991046657859904599222 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=366.2MB, alloc=4.6MB, time=58.31 NO POLE NO POLE x[1] = 0.181 y2[1] (analytic) = 1.9836641713227284505852242677207 y2[1] (numeric) = 1.9835656242942589100766362540165 absolute error = 9.85470284695405085880137042e-05 relative error = 0.0049679290423352405331876013535449 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.81998667256014089418970594908918 y1[1] (numeric) = 0.81998866185255589019735879178511 absolute error = 1.98929241499600765284269593e-06 relative error = 0.00024260057895637389098527440653907 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=370.0MB, alloc=4.6MB, time=58.92 NO POLE NO POLE x[1] = 0.182 y2[1] (analytic) = 1.983483666193246135860826419216 y2[1] (numeric) = 1.9833814042970431023375179369145 absolute error = 0.0001022618962030335233084823015 relative error = 0.0051556712034486896515803393680671 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.81900309855941840547020049692454 y1[1] (numeric) = 0.81900518824862058238317562979767 absolute error = 2.08968920217691297513287313e-06 relative error = 0.00025515034141538192370002133673727 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=373.8MB, alloc=4.6MB, time=59.53 NO POLE NO POLE memory used=377.6MB, alloc=4.6MB, time=60.14 x[1] = 0.183 y2[1] (analytic) = 1.9833021775801795848597435813723 y2[1] (numeric) = 1.9831961081321923058956026097864 absolute error = 0.0001060694479872789641409715859 relative error = 0.0053481234068271909107804511002098 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.81801970555558227425767229525488 y1[1] (numeric) = 0.81802189940268435090437279837506 absolute error = 2.19384710207664670050312018e-06 relative error = 0.00026819000657039558266723118185126 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=381.4MB, alloc=4.6MB, time=60.77 NO POLE NO POLE x[1] = 0.184 y2[1] (analytic) = 1.9831197056650173955244761705281 y2[1] (numeric) = 1.9830097348163135988642016893521 absolute error = 0.000109970848703796660274481176 relative error = 0.0055453459712821090103302376477434 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.81703649453202542243883830191132 y1[1] (numeric) = 0.81703879639140654233464656724751 absolute error = 2.30185938111989580826533619e-06 relative error = 0.00028173274958033954810860385704581 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=385.2MB, alloc=4.6MB, time=61.38 NO POLE NO POLE x[1] = 0.185 y2[1] (analytic) = 1.9829362506302314678112210986348 y2[1] (numeric) = 1.9828222833661960396207411174537 absolute error = 0.0001139672640354281904799811811 relative error = 0.0057473992922972824547014198869328 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.81605346647195879163630110379855 y1[1] (numeric) = 0.81605588029242980526138967329754 absolute error = 2.41382047101362508856949899e-06 relative error = 0.00029579195116335783936263282118585 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=389.1MB, alloc=4.6MB, time=61.98 NO POLE NO POLE x[1] = 0.186 y2[1] (analytic) = 1.9827518126592768212179870230509 y2[1] (numeric) = 1.9826337527988116500176210493869 absolute error = 0.000118059860465171200365973664 relative error = 0.0059543438423000967888193076444761 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.81507062235841035999768922853466 y1[1] (numeric) = 0.81507315218437990781380657019998 absolute error = 2.52982596954781611734166532e-06 relative error = 0.00031038119889878422645484441696856 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=392.9MB, alloc=4.6MB, time=62.59 NO POLE NO POLE x[1] = 0.187 y2[1] (analytic) = 1.9825663919365914113295901364508 y2[1] (numeric) = 1.9824441421313163984101120825055 absolute error = 0.0001222498052750129194780539453 relative error = 0.0061662401709330925319382942518529 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.81408796317422415916776091581804 y1[1] (numeric) = 0.81409061314686555420790921817688 absolute error = 2.64997264139504014830235884e-06 relative error = 0.00032551428853738199985241470749652 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=396.7MB, alloc=4.6MB, time=63.20 NO POLE NO POLE x[1] = 0.188 y2[1] (analytic) = 1.9823799886475959453797139518383 y2[1] (numeric) = 1.9822534503810511825003049972844 absolute error = 0.0001265382665447628794089545539 relative error = 0.0063831489053261097544187411936282 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.81310548990205929144445437633573 y1[1] (numeric) = 0.81310826426047820030857686885629 absolute error = 2.77435841890886412249252056e-06 relative error = 0.00034120522531990811398892221583312 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=400.5MB, alloc=4.6MB, time=63.81 NO POLE NO POLE memory used=404.3MB, alloc=4.6MB, time=64.43 x[1] = 0.189 y2[1] (analytic) = 1.9821926029786936968302175205875 y2[1] (numeric) = 1.9820616765655428119961311669729 absolute error = 0.0001309264131508848340863536146 relative error = 0.0066051307503689712471794425311111 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.81212320352438894711986738208099 y1[1] (numeric) = 0.81212610660679186820886428315966 absolute error = 2.90308240292108899690107867e-06 relative error = 0.00035746822530405711532675642703144 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=408.1MB, alloc=4.6MB, time=65.03 NO POLE NO POLE x[1] = 0.19 y2[1] (analytic) = 1.9820042351172703189678775041899 y2[1] (numeric) = 1.9818688197025049910844709769 absolute error = 0.0001354154147653278834065272899 relative error = 0.0068322464889847062388453127157245 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.81114110502349942200714884701869 y1[1] (numeric) = 0.8111441412683629598267438028943 absolute error = 3.03624486353781959495587561e-06 relative error = 0.00037431771669984066398176876736047 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=411.9MB, alloc=4.6MB, time=65.64 NO POLE NO POLE x[1] = 0.191 y2[1] (analytic) = 1.9818148852516936575187505029481 y2[1] (numeric) = 1.9816748788098393007173677804057 absolute error = 0.0001400064418543568013827225424 relative error = 0.0070645569824033166208767961408441 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.81015919538148913515428487112495 y1[1] (numeric) = 0.81016236932873006951946767929321 absolute error = 3.17394724093436518280816826e-06 relative error = 0.00039176834121345885929303762006337 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=415.8MB, alloc=4.6MB, time=66.24 NO POLE NO POLE x[1] = 0.192 y2[1] (analytic) = 1.9816245535713135622803430272392 y2[1] (numeric) = 1.9814798529056361807103651052653 absolute error = 0.0001447006656773815699779219739 relative error = 0.0073021231704360876462558262158351 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.80917747558026764674576153393323 y1[1] (numeric) = 0.8091807918724137957157380441244 absolute error = 3.31629214614896997651019117e-06 relative error = 0.00040983495539971998420627003699914 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=419.6MB, alloc=4.6MB, time=66.86 NO POLE NO POLE x[1] = 0.193 y2[1] (analytic) = 1.9814332402664616977717774791618 y2[1] (numeric) = 1.9812837410081759116519850123521 absolute error = 0.0001494992582857861197924668097 relative error = 0.0075450060717504450726130383525464 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.80819594660155467619308653584224 y1[1] (numeric) = 0.80819940998491655156587289118395 absolute error = 3.46338336187537278635534171e-06 relative error = 0.00042853263202306569097876640836783 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=423.4MB, alloc=4.6MB, time=67.47 NO POLE NO POLE x[1] = 0.194 y2[1] (analytic) = 1.9812409455284513529021434943852 y2[1] (numeric) = 1.9810865421359295966233656971412 absolute error = 0.000154403392521756278777797244 relative error = 0.0077932667841453607260124393555202 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.8072146094268791204151515965821 y1[1] (numeric) = 0.80721822475272237461015741799114 absolute error = 3.61532584325419500582140904e-06 relative error = 0.00044787666142725906153365703114659 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=427.2MB, alloc=4.6MB, time=68.10 memory used=431.0MB, alloc=4.6MB, time=68.72 NO POLE NO POLE x[1] = 0.195 y2[1] (analytic) = 1.9810476695495772496572249758333 y2[1] (numeric) = 1.9808882553075601427270766144995 absolute error = 0.0001594142420171069301483613338 relative error = 0.008046966484827308466962928795193 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.80623346503757807230941733039465 y1[1] (numeric) = 0.80623723726329673546557105931839 absolute error = 3.77222571866315615372892374e-06 relative error = 0.00046788255291379338981815033656966 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=434.8MB, alloc=4.6MB, time=69.33 NO POLE NO POLE x[1] = 0.196 y2[1] (analytic) = 1.9808534125231153508047941324606 y2[1] (numeric) = 1.9806888795419232424241295980278 absolute error = 0.0001645329811921083806645344328 relative error = 0.0083061664306867725456010308312403 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.80525251441479583941490212666118 y1[1] (numeric) = 0.80525644860508634553108152581306 absolute error = 3.93419029050611617939915188e-06 relative error = 0.00048856603612907995078192586693738 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=438.6MB, alloc=4.6MB, time=69.93 NO POLE NO POLE x[1] = 0.197 y2[1] (analytic) = 1.980658174643322666618664817809 y2[1] (numeric) = 1.980488413858068354678204637026 absolute error = 0.000169760785254311940460180783 relative error = 0.0085709279585753103383860018378851 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.80427175853948296276795637290694 y1[1] (numeric) = 0.80427585986751896371169814240102 absolute error = 4.10132803600094374176949408e-06 relative error = 0.00050994306246047344111492245563692 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=442.5MB, alloc=4.6MB, time=70.55 NO POLE NO POLE x[1] = 0.198 y2[1] (analytic) = 1.9804619561054370606216984442784 y2[1] (numeric) = 1.9802868572752396859061091669375 absolute error = 0.0001750988301973747155892773409 relative error = 0.0088413124855831714640672056856651 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.80329119839239523595180316432647 y1[1] (numeric) = 0.80329547214100320216147776240257 absolute error = 4.27374860796620967459807610e-06 relative error = 0.00053202980644119420069622503774832 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=446.3MB, alloc=4.6MB, time=71.15 NO POLE NO POLE x[1] = 0.199 y2[1] (analytic) = 1.9802647571056770543479567300861 y2[1] (numeric) = 1.980084208812877170733489922895 absolute error = 0.0001805482927998836144668071911 relative error = 0.0091173815093174752821243692489437 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.8023108349540927243408264502072 y1[1] (numeric) = 0.8023152865169283310456775143386 absolute error = 4.45156283560670485106413140e-06 relative error = 0.00055484266716420675083540590593992 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=450.1MB, alloc=4.6MB, time=71.75 NO POLE NO POLE x[1] = 0.2 y2[1] (analytic) = 1.9800665778412416311241965167482 y2[1] (numeric) = 1.9798804674906174525548166007378 absolute error = 0.0001861103506241785693799160104 relative error = 0.0093991966081809487823441222927353 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.80133066920493878454058737288161 y1[1] (numeric) = 0.80133530408766408232224961925798 absolute error = 4.63488272529778166224637637e-06 relative error = 0.00057839826970511461586264659482954 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=453.9MB, alloc=4.6MB, time=72.35 memory used=457.7MB, alloc=4.6MB, time=72.98 NO POLE NO POLE x[1] = 0.201 y2[1] (analytic) = 1.979867418510310038870902875571 y2[1] (numeric) = 1.9796756323282948638966567655983 absolute error = 0.0001917861820151749742461099727 relative error = 0.0096868194416512268796811635754754 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.80035070212509908402454935910971 y1[1] (numeric) = 0.800355525946560452542874497075 absolute error = 4.82382146136851832513796529e-06 relative error = 0.0006027134665541318284726309536143 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=461.5MB, alloc=4.6MB, time=73.58 NO POLE NO POLE x[1] = 0.202 y2[1] (analytic) = 1.9796672793120415919230577021024 y2[1] (numeric) = 1.9794697023459424065832616448649 absolute error = 0.0001975769660991853397960572375 relative error = 0.0099803117505607171340595556727636 % Correct digits = 4 h = 0.001 y1[1] (analytic) = 0.79937093469454062096849232708521 y1[1] (numeric) = 0.7993759531879475046737293608673 absolute error = 5.01849340688370523703378209e-06 relative error = 0.00062780533905719195647819393731997 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=465.4MB, alloc=4.6MB, time=74.19 NO POLE NO POLE x[1] = 0.203 y2[1] (analytic) = 1.9794661604465754718708419777594 y2[1] (numeric) = 1.9792626765637927317034826400171 absolute error = 0.0002034838827827401673593377423 relative error = 0.010279735357377030920299111479998 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.79839136789303074428359617456935 y1[1] (numeric) = 0.79839658690713516893619047834927 absolute error = 5.21901410442465259430377992e-06 relative error = 0.00065369119886625592931193252695082 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=469.2MB, alloc=4.6MB, time=74.79 NO POLE NO POLE x[1] = 0.204 y2[1] (analytic) = 1.979264062115030527420470857911 y2[1] (numeric) = 1.9790545540022791193780385904976 absolute error = 0.0002095081127514080424322674134 relative error = 0.010585152166483983078903672337185 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.79741200270013617384917351498742 y1[1] (numeric) = 0.7974174282004130426676682598019 absolute error = 5.42550027686881849474481448e-06 relative error = 0.00068038858939888038675659786910794 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=473.0MB, alloc=4.6MB, time=75.40 NO POLE NO POLE x[1] = 0.205 y2[1] (analytic) = 1.9790609845195050732753617255673 y2[1] (numeric) = 1.9788453336820364583261540224363 absolute error = 0.000215650837468614949207703131 relative error = 0.010896624164463162084022369288921 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.79643284009522202094603142867336 y1[1] (numeric) = 0.79643847816505018920277531160751 absolute error = 5.63806982816825674388293415e-06 relative error = 0.00070791528730710872001752219520413 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=476.8MB, alloc=4.6MB, time=76.01 NO POLE NO POLE memory used=480.6MB, alloc=4.6MB, time=76.62 x[1] = 0.206 y2[1] (analytic) = 1.9788569278630766880378363294873 y2[1] (numeric) = 1.9786350146239022252305888156691 absolute error = 0.0002219132391744628072475138182 relative error = 0.011214213420376072770491782271676 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.79545388105745080889144179581925 y1[1] (numeric) = 0.79545973789929493577502857420438 absolute error = 5.85684184412688358677838513e-06 relative error = 0.00073628930395574742640229090509454 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=484.4MB, alloc=4.6MB, time=77.24 NO POLE NO POLE x[1] = 0.207 y2[1] (analytic) = 1.9786518923498020111315591049884 y2[1] (numeric) = 1.9784235958489174639000799241038 absolute error = 0.0002282965008845472314791808846 relative error = 0.011537982086046853667486346006677 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.79447512656578149387669957607767 y1[1] (numeric) = 0.7944812085023746704392876427424 absolute error = 6.08193659317656258806666473e-06 relative error = 0.00076552888691009085357432356223294 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=488.2MB, alloc=4.6MB, time=77.85 NO POLE NO POLE x[1] = 0.208 y2[1] (analytic) = 1.9784458781847165387449147550011 y2[1] (numeric) = 1.978211076378327764228215987073 absolute error = 0.0002348018063887745166987679281 relative error = 0.011867992396345570991946473875924 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.79349657759896848600824819717701 y1[1] (numeric) = 0.79350289107449563801513234798445 absolute error = 6.31347552715200688415080744e-06 relative error = 0.00079565252143315786762822661419819 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=492.1MB, alloc=4.6MB, time=78.46 NO POLE NO POLE x[1] = 0.209 y2[1] (analytic) = 1.9782388855738344187955291479752 y2[1] (numeric) = 1.9779974552335842409477658728807 absolute error = 0.0002414303402501778477632750945 relative error = 0.01220430666947209136061876159635 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.79251823513556067055335101134286 y1[1] (numeric) = 0.79252478671684273505138365405896 absolute error = 6.55158128206449803264271610e-06 relative error = 0.00082667893199250444112625326521233 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=495.9MB, alloc=4.6MB, time=79.06 NO POLE NO POLE x[1] = 0.21 y2[1] (analytic) = 1.9780309147241482449161385680994 y2[1] (numeric) = 1.9777827314363445121794824002953 absolute error = 0.0002481832878037327366561678041 relative error = 0.012546987307240535285230369919266 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.79154010015390042939128757377236 y1[1] (numeric) = 0.79154689653157930381197290852561 absolute error = 6.79637767887442068533475325e-06 relative error = 0.00085862708377667662276776090582847 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=499.7MB, alloc=4.6MB, time=79.66 NO POLE NO POLE x[1] = 0.211 y2[1] (analytic) = 1.9778219658436288494620133319462 y2[1] (numeric) = 1.9775669040084736777744026892683 absolute error = 0.0002550618351551716876106426779 relative error = 0.012896096795364313521030349558814 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.79056217363212266267105329188374 y1[1] (numeric) = 0.79056922162184692528336545886781 absolute error = 7.04798972426261231216698407e-06 relative error = 0.0008915161842213688195682864797293 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=503.5MB, alloc=4.6MB, time=80.27 memory used=507.3MB, alloc=4.6MB, time=80.89 NO POLE NO POLE x[1] = 0.212 y2[1] (analytic) = 1.977612039141225095540142764105 y2[1] (numeric) = 1.9773499719720452974486667986576 absolute error = 0.0002620671691797980914759654474 relative error = 0.013251697703741748344664342856873 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.78958445654815381067654078755991 y1[1] (numeric) = 0.78959176309176521120374562797108 absolute error = 7.30654361140052720484041117e-06 relative error = 0.00092536568454535279533314449574316 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=511.1MB, alloc=4.6MB, time=81.50 NO POLE NO POLE x[1] = 0.213 y2[1] (analytic) = 1.9774011348268636680603895025966 y2[1] (numeric) = 1.9771319343493423687098765162206 absolute error = 0.000269200477521299350512986376 relative error = 0.013613852686742281843105853944728 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.7886069498797108759001811071231 y1[1] (numeric) = 0.78861452204643159511417101938498 absolute error = 7.57216672071921398991226188e-06 relative error = 0.00096019528129624326585395995415091 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=514.9MB, alloc=4.6MB, time=82.11 NO POLE NO POLE x[1] = 0.214 y2[1] (analytic) = 1.9771892531114488638088220829006 y2[1] (numeric) = 1.976912790162858304574016374598 absolute error = 0.0002764629485905592348057083026 relative error = 0.013982624483493273301147205468491 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.78762965460430044532602270531804 y1[1] (numeric) = 0.78763749959192112243190510119695 absolute error = 7.84498762067710588239587891e-06 relative error = 0.0009960249179061664516672404232681 % Correct digits = 5 h = 0.001 TOP MAIN SOLVE Loop memory used=518.8MB, alloc=4.6MB, time=82.72 NO POLE NO POLE x[1] = 0.215 y2[1] (analytic) = 1.9769763942068623805434357272442 y2[1] (numeric) = 1.9766925384352979110719591764499 absolute error = 0.0002838557715644694714765507943 relative error = 0.014358075918167387780756474185232 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.78665257169921771292322592014294 y1[1] (numeric) = 0.78666069683528623954613799516791 absolute error = 8.12513606852662291207502497e-06 relative error = 0.0010328747862573984334242245124167 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=522.6MB, alloc=4.6MB, time=83.33 NO POLE NO POLE x[1] = 0.216 y2[1] (analytic) = 1.9767625583259631051124722434151 y2[1] (numeric) = 1.9764711781895783645445785223193 absolute error = 0.0002913801363847405678937210958 relative error = 0.014740269900270577991433202982359 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.78567570214154550235095044495269 y1[1] (numeric) = 0.78568411488455658193630637539127 absolute error = 8.41274301107958535593043858e-06 relative error = 0.0010707653282580406429633726171454 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=526.4MB, alloc=4.6MB, time=83.94 NO POLE NO POLE x[1] = 0.217 y2[1] (analytic) = 1.9765477456825869005955509147589 y2[1] (numeric) = 1.9762487084488301887254910461929 absolute error = 0.000299037233756711870059868566 relative error = 0.015129269424930661556545603894591 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.78469904690815328987561309286506 y1[1] (numeric) = 0.78470775484873876131322435813787 absolute error = 8.70794058547143761126527281e-06 relative error = 0.001109717237427800315083846275444 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=530.2MB, alloc=4.6MB, time=84.55 memory used=534.0MB, alloc=4.6MB, time=85.17 NO POLE NO POLE x[1] = 0.218 y2[1] (analytic) = 1.976331956491546392467823240215 y2[1] (numeric) = 1.9760251282363982316104512760972 absolute error = 0.0003068282551481608573719641178 relative error = 0.015525137573186495786505378790094 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.78372260697569622750149293613085 y1[1] (numeric) = 0.7837316178378161517832382417381 absolute error = 9.01086211992428174530560725e-06 relative error = 0.001149751460493944220823314565269 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=537.8MB, alloc=4.6MB, time=85.78 NO POLE NO POLE x[1] = 0.219 y2[1] (analytic) = 1.9761151909686307537873653602166 y2[1] (numeric) = 1.9758004365758426421124222504175 absolute error = 0.0003147543927881116749431097991 relative error = 0.015927937512277752075533272893402 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.78274638332061416631566068978145 y1[1] (numeric) = 0.78275570496274867503561893232871 absolute error = 9.32164213450871995824254726e-06 relative error = 0.0011908891989974945027798973347575 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=541.6MB, alloc=4.6MB, time=86.38 NO POLE NO POLE x[1] = 0.22 y2[1] (analytic) = 1.9758974493306054894060229810447 y2[1] (numeric) = 1.97557463249093984650134523495 absolute error = 0.0003228168396656429046777460947 relative error = 0.016337732495935292044689125401921 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.78177037691913068004820899454299 y1[1] (numeric) = 0.78178001733547258455340686805402 absolute error = 9.64041634190450519787351103e-06 relative error = 0.0012331519109097359367197831491105 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=545.5MB, alloc=4.6MB, time=86.99 NO POLE NO POLE x[1] = 0.221 y2[1] (analytic) = 1.9756787317952122192039245867742 y2[1] (numeric) = 1.9753477150056835246276321009987 absolute error = 0.0003310167895286945762924857755 relative error = 0.016754585864672147559784573791852 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.78079458874725208884876003870549 y1[1] (numeric) = 0.78080455606890024884792523085853 absolute error = 9.96732164815999916519215304e-06 relative error = 0.0012765613122591044514131356618323 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=549.3MB, alloc=4.6MB, time=87.60 NO POLE NO POLE x[1] = 0.222 y2[1] (analytic) = 1.9754590385811684603478797042797 y2[1] (numeric) = 1.9751196831442855859284041411063 absolute error = 0.0003393554368828744194755631734 relative error = 0.017178561046075106758764787794103 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.77981901978076648328022674235797 y1[1] (numeric) = 0.77982932227691993371717821133971 absolute error = 1.030249615345043695146898174e-05 relative error = 0.0013211393787685272503757332665431 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=553.1MB, alloc=4.6MB, time=88.21 NO POLE NO POLE x[1] = 0.223 y2[1] (analytic) = 1.975238369908167408573879962885 y2[1] (numeric) = 1.9748905359311771452155013162613 absolute error = 0.0003478339769902633583786466237 relative error = 0.017609721555096908229137739923214 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.778843670995242748530803510147 y1[1] (numeric) = 0.77885431707439558352835206824458 absolute error = 1.064607915283499754855809758e-05 relative error = 0.0013669083475032853949971003982748 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=556.9MB, alloc=4.6MB, time=88.82 memory used=560.7MB, alloc=4.6MB, time=89.44 NO POLE NO POLE x[1] = 0.224 y2[1] (analytic) = 1.9750167259968777184939216661375 y2[1] (numeric) = 1.9746602723910094982442861466537 absolute error = 0.0003564536058682202496355194838 relative error = 0.018048130994349045482045646014964 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.77786854336602958884516234048672 y1[1] (numeric) = 0.77787954157716660152463770009073 absolute error = 1.099821113701267947535960401e-05 relative error = 0.0014138907185294702284427347752511 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=564.5MB, alloc=4.6MB, time=90.06 NO POLE NO POLE x[1] = 0.225 y2[1] (analytic) = 1.9747941070689432829273695688655 y2[1] (numeric) = 1.9744288915486550970622666772566 absolute error = 0.0003652155202881858651028916089 relative error = 0.018493853054395183875613416469905 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.7768936378682545521758298599428 y1[1] (numeric) = 0.77690499690204762915659442207098 absolute error = 1.135903379307698076456212818e-05 relative error = 0.0014621092565831055437637893763887 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=568.4MB, alloc=4.6MB, time=90.67 NO POLE NO POLE x[1] = 0.226 y2[1] (analytic) = 1.9745705133469830112570825281373 y2[1] (numeric) = 1.9741963924292085251365631696916 absolute error = 0.0003741209177744861205193584457 relative error = 0.018946951514045192146273332307828 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.77591895547682305505572063133211 y1[1] (numeric) = 0.77593068416682832443827561685942 absolute error = 1.172869000526938255498552731e-05 relative error = 0.0015115869927500079278679363078717 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=572.2MB, alloc=4.6MB, time=91.28 NO POLE NO POLE x[1] = 0.227 y2[1] (analytic) = 1.9743459450545906068105226719777 y2[1] (numeric) = 1.9739627740579874722592433929936 absolute error = 0.0003831709966031345512792789841 relative error = 0.019407490240649790712853784930269 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.77494449716641740769280186292349 y1[1] (numeric) = 0.7749566044902731393283379031748 absolute error = 1.210732385573163553604025131e-05 relative error = 0.0015623472261564582454361601908068 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=576.0MB, alloc=4.6MB, time=91.89 NO POLE NO POLE x[1] = 0.228 y2[1] (analytic) = 1.9741204024163343432660707047136 y2[1] (numeric) = 1.9737280354605337092295516080195 absolute error = 0.0003923669558006340365190966941 relative error = 0.019875533190395818924332881245236 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.7739702639114958392878644239937 y1[1] (numeric) = 0.77398275899212109613635644097349 absolute error = 1.249508062525684849201697979e-05 relative error = 0.0016144135256707577635482752053666 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=579.8MB, alloc=4.6MB, time=92.49 NO POLE NO POLE memory used=583.6MB, alloc=4.6MB, time=93.11 x[1] = 0.229 y2[1] (analytic) = 1.9738938856577568400847709426156 y2[1] (numeric) = 1.9734921756626140623120565633544 absolute error = 0.0004017099951427777727143792612 relative error = 0.020351144408602123428295102551418 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.77299625668629152357637484888623 y1[1] (numeric) = 0.7730091487930855629545699669381 absolute error = 1.289210679403937819511805187e-05 relative error = 0.0016678097316157429587417459872375 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=587.4MB, alloc=4.6MB, time=93.72 NO POLE NO POLE x[1] = 0.23 y2[1] (analytic) = 1.9736663950053748369677306480716 y2[1] (numeric) = 1.9732551936902213874697440446479 absolute error = 0.0004112013151534494979866034237 relative error = 0.020834388030016069843291103452549 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.77202247646481160459538278763993 y1[1] (numeric) = 0.77203577501485402811528012849802 absolute error = 1.329855004242351989734085809e-05 relative error = 0.0017225599574923335935109742379163 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=591.2MB, alloc=4.6MB, time=94.34 NO POLE NO POLE x[1] = 0.231 y2[1] (analytic) = 1.9734379306866789673393992048733 y2[1] (numeric) = 1.9730170885695755443710797443686 absolute error = 0.0004208421171034229683194605047 relative error = 0.021325328279110679924487233119713 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.77104892422083622267645813619863 y1[1] (numeric) = 0.77106263878008787367413065896369 absolute error = 1.371455925165099767252276506e-05 relative error = 0.0017786885917141891988949926735052 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=595.1MB, alloc=4.6MB, time=94.96 NO POLE NO POLE x[1] = 0.232 y2[1] (analytic) = 1.9732084929301335308569536513194 y2[1] (numeric) = 1.9727778593271243701700684449965 absolute error = 0.0004306336030091606868852063229 relative error = 0.021824029470382396418202543250828 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.77007560092791754066563185318355 y1[1] (numeric) = 0.77008974121242214791949291047661 absolute error = 1.414028450460725386105729306e-05 relative error = 0.001836220299353549653838237700598 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=598.9MB, alloc=4.6MB, time=95.58 NO POLE NO POLE x[1] = 0.233 y2[1] (analytic) = 1.9729780819651762649460180617296 y2[1] (numeric) = 1.9725375049895446530583357356737 absolute error = 0.0004405769756316118876823260559 relative error = 0.022330556008649477807167002988048 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.76910250755937877037131424320659 y1[1] (numeric) = 0.76911708343646533690818523537062 absolute error = 1.457587708656653687099216403e-05 relative error = 0.0018951800238983361104798572814419 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=602.7MB, alloc=4.6MB, time=96.21 NO POLE NO POLE x[1] = 0.234 y2[1] (analytic) = 1.972746698022218115362945240631 y2[1] (numeric) = 1.9722960245837431055882587103142 absolute error = 0.0004506734384750097746865303168 relative error = 0.022844972389351025154595459283179 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.7681296450883131992411642587249 y1[1] (numeric) = 0.76814466657779913502775468020593 absolute error = 1.502148948593578659042148103e-05 relative error = 0.0019555929890205890774703128026511 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=606.5MB, alloc=4.6MB, time=96.82 memory used=610.3MB, alloc=4.6MB, time=97.44 NO POLE NO POLE x[1] = 0.235 y2[1] (analytic) = 1.9725143413326430057838901673172 y2[1] (numeric) = 1.9720534171368573377661723241218 absolute error = 0.0004609241957856680177178431954 relative error = 0.023367343198846643261457650928908 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.7671570144875832172688831434866 y1[1] (numeric) = 0.76717249176297821458555043017518 absolute error = 1.547727539499731666728668858e-05 relative error = 0.0020174847003563210408686756404218 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=614.1MB, alloc=4.6MB, time=98.05 NO POLE NO POLE x[1] = 0.236 y2[1] (analytic) = 1.9722810121288076064209056016861 y2[1] (numeric) = 1.9718096816762568299146783153925 absolute error = 0.0004713304525507765062272862936 relative error = 0.023897733114716738357635394194243 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.76618461672981934413190551069257 y1[1] (numeric) = 0.76620056011952999442481941478886 absolute error = 1.594338971065029291390409629e-05 relative error = 0.0020808809472968615741791869619451 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=617.9MB, alloc=4.6MB, time=98.66 NO POLE NO POLE x[1] = 0.237 y2[1] (analytic) = 1.9720467106440411016652912352422 y2[1] (numeric) = 1.9715648172295439053030838303717 absolute error = 0.0004818934144971963622074048705 relative error = 0.024436206906063454553993998410927 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.76521245278741925656096071810253 y1[1] (numeric) = 0.76522887277595440756805545872518 absolute error = 1.641998853515100709474062265e-05 relative error = 0.002145807804791773465680896787925 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=621.8MB, alloc=4.6MB, time=99.27 NO POLE NO POLE x[1] = 0.238 y2[1] (analytic) = 1.9718114371126449567584287438953 y2[1] (numeric) = 1.9713188228245547025449971208103 absolute error = 0.000492614288090254213431623085 relative error = 0.024982829433812251288756129978204 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.76424052363254681594247717044265 y1[1] (numeric) = 0.76425743086172366788783433447586 absolute error = 1.690722917685194535716403321e-05 relative error = 0.0022122916351634189724294510943859 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=625.6MB, alloc=4.6MB, time=99.87 NO POLE NO POLE x[1] = 0.239 y2[1] (analytic) = 1.9715751917698926834903360717 y2[1] (numeric) = 1.971071697489360147762107916704 absolute error = 0.000503494280532535728228154996 relative error = 0.025537665651014124007952814283975 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.76326883023713109615480194662958 y1[1] (numeric) = 0.76328623550728203580536804593346 absolute error = 1.740527015093965056609930388e-05 relative error = 0.00228035908993325589620565381184 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=629.4MB, alloc=4.6MB, time=100.47 NO POLE NO POLE x[1] = 0.24 y2[1] (analytic) = 1.9713379748520296049261752469634 y2[1] (numeric) = 1.9708234402522669265131803105168 absolute error = 0.0005145345997626784129949364466 relative error = 0.02610078060314847032613813759657 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.76229737357286541163920791551018 y1[1] (numeric) = 0.76231528784404558301701264434626 absolute error = 1.791427118017137780472883608e-05 relative error = 0.0023500371116599437672919734776492 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=633.2MB, alloc=4.6MB, time=101.06 memory used=637.0MB, alloc=4.6MB, time=101.66 NO POLE NO POLE x[1] = 0.241 y2[1] (analytic) = 1.9710997865962726191609490041922 y2[1] (numeric) = 1.9705740501418184554872862239765 absolute error = 0.0005257364544541636736627802157 relative error = 0.026672239428426603919991576228485 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.76132615461120634570666026902879 y1[1] (numeric) = 0.76134458900440195624896485011342 absolute error = 1.843439319561054230458108463e-05 relative error = 0.0024213529357893410173167540134562 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=640.8MB, alloc=4.6MB, time=102.25 NO POLE NO POLE x[1] = 0.242 y2[1] (analytic) = 1.9708606272408099621026224571645 y2[1] (numeric) = 1.9703235261867958539603077642904 absolute error = 0.0005371010540141081423146928741 relative error = 0.027252107358095918413894830263102 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.76035517432337277908131416597463 y1[1] (numeric) = 0.76037414012171014004038372570403 absolute error = 1.896579833736095906955972940e-05 relative error = 0.0024943340925164746225579741259516 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=644.6MB, alloc=4.6MB, time=102.85 NO POLE NO POLE x[1] = 0.243 y2[1] (analytic) = 1.9706204970248009692839070399837 y2[1] (numeric) = 1.9700718674162189150137370133593 absolute error = 0.0005486296085820542701700266244 relative error = 0.027840449716744703523058665615876 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.75938443368034491868171494273065 y1[1] (numeric) = 0.75940394233030021855517461655864 absolute error = 1.950864995529987345967382799e-05 relative error = 0.0025690084086595643040858194843153 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=648.5MB, alloc=4.6MB, time=103.45 NO POLE NO POLE x[1] = 0.244 y2[1] (analytic) = 1.9703793961883758367029449043108 y2[1] (numeric) = 1.9698190728593470765148020312707 absolute error = 0.0005603233290287601881428730401 relative error = 0.028437331922607615726289664028948 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.7584139336528633266406721097428 y1[1] (numeric) = 0.75843399676547313642267354816949 absolute error = 2.006311260980978200143842669e-05 relative error = 0.0026454040095461839809883195759354 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=652.3MB, alloc=4.6MB, time=104.04 NO POLE NO POLE x[1] = 0.245 y2[1] (analytic) = 1.9701373249726353806931329320715 y2[1] (numeric) = 1.9695651415456803918569480940265 absolute error = 0.000572183426954988836184838045 relative error = 0.029042819487871805747027038557188 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.7574436752114279495647781137546 y1[1] (numeric) = 0.75746430456350045860747123863506 absolute error = 2.062935207250904269312488046e-05 relative error = 0.0027235493209116437877094892125991 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=656.1MB, alloc=4.6MB, time=104.66 NO POLE NO POLE x[1] = 0.246 y2[1] (analytic) = 1.9698942836196507968223264937931 y2[1] (numeric) = 1.969310072504960500459703425105 absolute error = 0.0005842111146902963626230686881 relative error = 0.029656978018983705127845885557936 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.75647365932629714803454260620757 y1[1] (numeric) = 0.75649486686162412930861685684499 absolute error = 2.120753532698127407425063742e-05 relative error = 0.0028034730708096765862778375404036 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=659.9MB, alloc=4.6MB, time=105.27 memory used=663.7MB, alloc=4.6MB, time=105.89 NO POLE NO POLE x[1] = 0.247 y2[1] (analytic) = 1.9696502723724634178216640533481 y2[1] (numeric) = 1.969053864767171598026958921072 absolute error = 0.0005964076052918197947051322761 relative error = 0.030279873216956474190215507217988 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.75550388696748672634611271759229 y1[1] (numeric) = 0.75552568479805622988844262707144 absolute error = 2.179783056950354232990947915e-05 relative error = 0.0028852042915355135289582064704128 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=667.5MB, alloc=4.6MB, time=106.49 NO POLE NO POLE x[1] = 0.248 y2[1] (analytic) = 1.9694052914750844705442546902599 y2[1] (numeric) = 1.9687965173625414065626916130422 absolute error = 0.0006087741125430639815630772177 relative error = 0.030911570877678113677919845128134 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.75453435910476896249554959594889 y1[1] (numeric) = 0.75455675951197873583125135112221 absolute error = 2.240040720977333570175517332e-05 relative error = 0.0029687723215614338566655276240263 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=671.3MB, alloc=4.6MB, time=107.09 NO POLE NO POLE x[1] = 0.249 y2[1] (analytic) = 1.9691593411724948319539715808613 y2[1] (numeric) = 1.9685380293215421441431618483483 absolute error = 0.000621311850952687810809732513 relative error = 0.031552136892220242389191710140878 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.75356507670767163840663122515975 y1[1] (numeric) = 0.75358809214354327273210988934774 absolute error = 2.301543587163432547866418799e-05 relative error = 0.0030542068074848747533795090127455 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=675.2MB, alloc=4.6MB, time=107.70 NO POLE NO POLE x[1] = 0.25 y2[1] (analytic) = 1.9689124217106447841445954494942 y2[1] (numeric) = 1.9682783996748914944446144203017 absolute error = 0.0006340220357532896999810291925 relative error = 0.032201637247147543109283472110704 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.75259604074547707040315129515061 y1[1] (numeric) = 0.75261968383387087131599261168825 absolute error = 2.364308839380091284131653764e-05 relative error = 0.003141537705989187716839166012934 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=679.0MB, alloc=4.6MB, time=108.31 NO POLE NO POLE x[1] = 0.251 y2[1] (analytic) = 1.9686645333364537683895529705847 y2[1] (numeric) = 1.9680176274535535760255141184239 absolute error = 0.0006469058829001923640388521608 relative error = 0.032860138024827879161894280036352 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.75162725218722113992668365162059 y1[1] (numeric) = 0.75165153572505172148751979959713 absolute error = 2.428353783058156083614797654e-05 relative error = 0.0032307952858171285510206049951325 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=682.8MB, alloc=4.6MB, time=108.93 NO POLE NO POLE memory used=686.6MB, alloc=4.6MB, time=109.56 x[1] = 0.252 y2[1] (analytic) = 1.9684156762978101382224960718362 y2[1] (numeric) = 1.9677557116887399113623464169944 absolute error = 0.0006599646090702268601496548418 relative error = 0.033527705403743083904597815190236 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.75065871200169232450078160745575 y1[1] (numeric) = 0.75068364896014492541153694908166 absolute error = 2.493695845260091075534162591e-05 relative error = 0.0033220101297571687363560896731607 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=690.4MB, alloc=4.6MB, time=110.19 NO POLE NO POLE x[1] = 0.253 y2[1] (analytic) = 1.9681658508435709115489690579392 y2[1] (numeric) = 1.9674926514119103956380142661945 absolute error = 0.0006731994316605159109547917447 relative error = 0.034204405658800425500165132939257 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.74969042115743072894258115154618 y1[1] (numeric) = 0.74971602468317824962478189426124 absolute error = 2.560352574752068220074271506e-05 relative error = 0.003415213136642716589383139025493 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=694.2MB, alloc=4.6MB, time=110.82 NO POLE NO POLE x[1] = 0.254 y2[1] (analytic) = 1.9679150572235615217894114431114 y2[1] (numeric) = 1.9672284456547742652818621975319 absolute error = 0.0006866115687872565075492455795 relative error = 0.034890305161644749302454420310901 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.7487223806227271168227768433228 y1[1] (numeric) = 0.74874866403914787617888763975527 absolute error = 2.628341642075935611079643247e-05 relative error = 0.0035104355233643372845656274010792 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=698.1MB, alloc=4.6MB, time=111.44 NO POLE NO POLE x[1] = 0.255 y2[1] (analytic) = 1.9676632956885755680537453494437 y2[1] (numeric) = 1.9669630934492910662603592036019 absolute error = 0.0007002022392845017933861458418 relative error = 0.035585470380971300202343582981116 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.74775459136562194217493893295701 y1[1] (numeric) = 0.74778156817401815281496975887715 absolute error = 2.697680839621064003082592014e-05 relative error = 0.0036077088268950614774514290796353 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=701.9MB, alloc=4.6MB, time=112.06 NO POLE NO POLE x[1] = 0.256 y2[1] (analytic) = 1.9674105664903745643477972964435 y2[1] (numeric) = 1.9666965938276716221174721015832 absolute error = 0.0007139726627029422303251948603 relative error = 0.036289967882839227286012575043704 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.7467870543539043814551399978256 y1[1] (numeric) = 0.74681473823472134217004818302624 absolute error = 2.768388081696071490818520064e-05 relative error = 0.003707064906328872940170363197372 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=705.7MB, alloc=4.6MB, time=112.69 NO POLE NO POLE x[1] = 0.257 y2[1] (analytic) = 1.967156869881687687811805175334 y2[1] (numeric) = 1.9664289458223790017637613401757 absolute error = 0.0007279240593086860480438351583 relative error = 0.037003864330985773164740395946136 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.74581977055511136575285913553355 y1[1] (numeric) = 0.74584817536915737001555417583495 absolute error = 2.840481404600426269504030140e-05 relative error = 0.0038085359449324662975797931202383 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=709.5MB, alloc=4.6MB, time=113.34 memory used=713.3MB, alloc=4.6MB, time=113.98 NO POLE NO POLE x[1] = 0.258 y2[1] (analytic) = 1.9669022061162115259912621695806 y2[1] (numeric) = 1.9661601484661294870132314609651 absolute error = 0.0007420576500820389780307086155 relative error = 0.037727226487141150342266799612593 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.74485274093652661325413150250981 y1[1] (numeric) = 0.74488188072619357252817425354315 absolute error = 2.913978966695927404275103334e-05 relative error = 0.0039121544522103666351814140022828 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=717.1MB, alloc=4.6MB, time=114.62 NO POLE NO POLE x[1] = 0.259 y2[1] (analytic) = 1.9666465754486098231403503507787 y2[1] (numeric) = 1.9658902007918935398669686774448 absolute error = 0.0007563746567162832733816733339 relative error = 0.03846012121134410699268109037686 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.74388596646517966195791073494597 y1[1] (numeric) = 0.74391585545566444259328378073485 absolute error = 2.988899048478063537304578888e-05 relative error = 0.0040179532659835034383101796021485 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=720.9MB, alloc=4.6MB, time=115.25 NO POLE NO POLE x[1] = 0.26 y2[1] (analytic) = 1.9663899781345132255582176464501 y2[1] (numeric) = 1.9656191018328967695425982881371 absolute error = 0.000770876301616456015619358313 relative error = 0.039202615462258184528740018516492 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.74291944810784490264661153563478 y1[1] (numeric) = 0.74295010070837137514122393798239 absolute error = 3.065260052647249461240234761e-05 relative error = 0.0041259655544813320160840949283328 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=724.8MB, alloc=4.6MB, time=115.89 NO POLE NO POLE x[1] = 0.261 y2[1] (analytic) = 1.9661324144305190259583528434479 y2[1] (numeric) = 1.9653468506226208992485948944384 absolute error = 0.0007855638078981267097579490095 relative error = 0.039954776297488669347483834117772 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.74195318683104061211179945608533 y1[1] (numeric) = 0.74198461763608241151667672510003 absolute error = 3.143080504179940487726901470e-05 relative error = 0.004236224818447596263251323987038 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=728.6MB, alloc=4.6MB, time=116.52 NO POLE NO POLE x[1] = 0.262 y2[1] (analytic) = 1.9658738845941909068713142575752 y2[1] (numeric) = 1.9650734461948047327024786489574 absolute error = 0.0008004383993861741688356086178 relative error = 0.040716670873900241147014113284701 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.74098718360102798663599464814456 y1[1] (numeric) = 0.74101940739153198288139363061052 absolute error = 3.222379050399624539898246596e-05 relative error = 0.0043487648932598273184287944828659 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=732.4MB, alloc=4.6MB, time=117.16 NO POLE NO POLE x[1] = 0.263 y2[1] (analytic) = 1.9656143888840586830810686666656 y2[1] (numeric) = 1.9647988875834451203919310162313 absolute error = 0.0008155013006135626891376504343 relative error = 0.041488366447935320215319134925458 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.74002143938381017573155610324072 y1[1] (numeric) = 0.74005447112842065265053456467474 absolute error = 3.303174461047691897846143402e-05 relative error = 0.0044636199510626733883447650698463 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=736.2MB, alloc=4.6MB, time=117.79 memory used=740.0MB, alloc=4.6MB, time=118.43 NO POLE NO POLE x[1] = 0.264 y2[1] (analytic) = 1.9653539275596180430951980707674 y2[1] (numeric) = 1.9645231738227979255778637847846 absolute error = 0.0008307537368201175173342859828 relative error = 0.042269930375933116099082461968428 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.73905595514513131613761264028424 y1[1] (numeric) = 0.73908981000141485796287461912389 absolute error = 3.385485628354182526197883965e-05 relative error = 0.0045808245029151567246276800227983 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=743.8MB, alloc=4.6MB, time=119.06 NO POLE NO POLE x[1] = 0.265 y2[1] (analytic) = 1.9650925008813302896492328092017 y2[1] (numeric) = 1.9642463039473789900384753275417 absolute error = 0.00084619693395129961075748166 relative error = 0.043061430114449380067488068652139 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.73809073185047556607600664521424 y1[1] (numeric) = 0.73812542516614665018513718436597 absolute error = 3.469331567108410913053915173e-05 relative error = 0.0047004134009519544624765842087137 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=747.6MB, alloc=4.6MB, time=119.67 NO POLE NO POLE x[1] = 0.266 y2[1] (analytic) = 1.9648301091106220792453705301393 y2[1] (numeric) = 1.9639682769919650995533283666184 absolute error = 0.0008618321186569796920421635209 relative error = 0.043862933220576863793140958356571 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.73712577046506613976721630616662 y1[1] (numeric) = 0.73716131777921343445071291881183 absolute error = 3.554731414729468349661264521e-05 relative error = 0.0048224218405588007592564139741466 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=751.5MB, alloc=4.6MB, time=120.29 NO POLE NO POLE x[1] = 0.267 y2[1] (analytic) = 1.9645667525098851607258414739579 y2[1] (numeric) = 1.9636890919915949491264837584938 absolute error = 0.0008776605182902115993577154641 relative error = 0.04467450735226648667935583703798 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.73616107195386434220722182826113 y1[1] (numeric) = 0.7361974889981777082330250320801 absolute error = 3.641704431336602580320381897e-05 relative error = 0.0049468853625621084057371220318176 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=755.3MB, alloc=4.6MB, time=120.91 NO POLE NO POLE x[1] = 0.268 y2[1] (analytic) = 1.9643024313424761128811814969892 y2[1] (numeric) = 1.9634087479815701079477250765099 absolute error = 0.0008936833609060049334564204793 relative error = 0.045496220268649214270228148005178 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.73519663728156860420628085106048 y1[1] (numeric) = 0.73523393998156679895380230859389 absolute error = 3.730269999819474752145753341e-05 relative error = 0.0050738398554329088233918450097793 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=759.1MB, alloc=4.6MB, time=121.53 NO POLE NO POLE x[1] = 0.269 y2[1] (analytic) = 1.9640371458727160810936752273647 y2[1] (numeric) = 1.9631272439974559840909090295551 absolute error = 0.0009099018752600970027661978096 relative error = 0.046328139830358650187091739505914 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.73423246741261351769057802984597 y1[1] (numeric) = 0.73427067188887260062652226327448 absolute error = 3.820447625908293594423342851e-05 relative error = 0.0052033215575052101079396980857046 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=762.9MB, alloc=4.6MB, time=122.16 memory used=766.7MB, alloc=4.6MB, time=122.79 NO POLE NO POLE x[1] = 0.27 y2[1] (analytic) = 1.9637708963658905130162327094922 y2[1] (numeric) = 1.9628445790750827889484770186607 absolute error = 0.0009263172908077240677556908315 relative error = 0.047170333999854344042185730078493 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.73326856331116887126771347897946 y1[1] (numeric) = 0.73330768588055130953528778586673 absolute error = 3.912256938243826757430688727e-05 relative error = 0.0053353670592088735322173135625684 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=770.5MB, alloc=4.6MB, time=123.42 NO POLE NO POLE x[1] = 0.271 y2[1] (analytic) = 1.9635036830882488932869638582654 y2[1] (numeric) = 1.9625607522505465014011633970797 absolute error = 0.0009429308377023918858004611857 relative error = 0.048022870841745817787599863473817 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.73230492594113868605699451178298 y1[1] (numeric) = 0.73234498311802315894940159499773 absolute error = 4.005717688447289240708321475e-05 relative error = 0.0054700133053171096805444799093104 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=774.3MB, alloc=4.6MB, time=124.05 NO POLE NO POLE x[1] = 0.272 y2[1] (analytic) = 1.9632355063070044772797160084106 y2[1] (numeric) = 1.9622757625602098317219362642202 absolute error = 0.0009597437467946455577797441904 relative error = 0.048885818523117312964842909650602 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.73134155626616025178549484656383 y1[1] (numeric) = 0.73138256476367215287390378737196 absolute error = 4.100849751190108840894080813e-05 relative error = 0.0056072975972086961520682601277283 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=778.2MB, alloc=4.6MB, time=124.68 NO POLE NO POLE x[1] = 0.273 y2[1] (analytic) = 1.9629663662903340238908408084099 y2[1] (numeric) = 1.9619896090407031852132068895725 absolute error = 0.0009767572496308386776339188374 relative error = 0.049759245313853261327682576516344 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.73037845524960316315084518264563 y1[1] (numeric) = 0.73042043198084579883633873154335 absolute error = 4.197673124263568549354889772e-05 relative error = 0.0057472575951450195421823790365275 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=782.0MB, alloc=4.6MB, time=125.30 NO POLE NO POLE x[1] = 0.274 y2[1] (analytic) = 1.9626962633073775273624576722117 y2[1] (numeric) = 1.9617022907289256255763441295007 absolute error = 0.000993972578451901786113542711 relative error = 0.050643219586964481318238054805307 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.72941562385456835645171878353456 y1[1] (numeric) = 0.72945858593385483971001851947499 absolute error = 4.296207928648325829973594043e-05 relative error = 0.0058899313205620451890806093668538 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=785.8MB, alloc=4.6MB, time=125.92 NO POLE NO POLE memory used=789.6MB, alloc=4.6MB, time=126.54 x[1] = 0.275 y2[1] (analytic) = 1.9624251976282379481424819654439 y2[1] (numeric) = 1.9614138066620458380125304674654 absolute error = 0.0010113909661921101299514979785 relative error = 0.051537809818915102883667832150487 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.72845306304388714648697543665472 y1[1] (numeric) = 0.72849702778797298457405115260075 absolute error = 4.396474408583808707571594603e-05 relative error = 0.0060353571583773189568710391918323 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=793.4MB, alloc=4.6MB, time=127.17 NO POLE NO POLE x[1] = 0.276 y2[1] (analytic) = 1.9621531695239809427816870660775 y2[1] (numeric) = 1.9611241558775030920539965769011 absolute error = 0.0010290136464778507276904891764 relative error = 0.052443084589950223128185888867787 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.72749077378012026372442689042862 y1[1] (numeric) = 0.72753575870943663861040260233814 absolute error = 4.498492931637488597571190952e-05 relative error = 0.006183573859312106117509697330398 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=797.2MB, alloc=4.6MB, time=127.79 NO POLE NO POLE x[1] = 0.277 y2[1] (analytic) = 1.9618801792666345928680704024572 y2[1] (numeric) = 1.9608333374130082041246715755936 absolute error = 0.0010468418536263887433988268636 relative error = 0.053359112584424295302558934967044 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.72652875702555689174018659985692 y1[1] (numeric) = 0.72657477986544463203826284796793 absolute error = 4.602283988774029807624811101e-05 relative error = 0.0063346205422287731911648312180347 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=801.1MB, alloc=4.6MB, time=128.41 NO POLE NO POLE x[1] = 0.278 y2[1] (analytic) = 1.9616062271291891329987945343101 y2[1] (numeric) = 1.9605413503065444998292864109885 absolute error = 0.0010648768226446331695081233216 relative error = 0.054285962591130253640686072856475 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.72556701374221370492956634116763 y1[1] (numeric) = 0.72561409242415794808598695749178 absolute error = 4.707868194424315642061632415e-05 relative error = 0.0064885366964835194085555132360159 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=804.9MB, alloc=4.6MB, time=129.00 NO POLE NO POLE x[1] = 0.279 y2[1] (analytic) = 1.9613313133855966777899753047686 y2[1] (numeric) = 1.9602481935963687759699680874069 absolute error = 0.0010831197892279018200072173617 relative error = 0.055223703503629376560340282051583 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.72460554489183390649048198455785 y1[1] (numeric) = 0.72465369755469945000088323950423 absolute error = 4.815266286554351040125494638e-05 relative error = 0.006645362184294565269379101254819 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=808.7MB, alloc=4.6MB, time=129.61 NO POLE NO POLE x[1] = 0.28 y2[1] (analytic) = 1.9610554383107709479245900535965 y2[1] (numeric) = 1.9599538663210122622893627186537 absolute error = 0.0011015719897586856352273349428 relative error = 0.056172404320581890752658529472095 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.72364435143588626668033044154215 y1[1] (numeric) = 0.72369359642715360709712145626812 absolute error = 4.924499126734041679101472597e-05 relative error = 0.0068051372431259064882108711778195 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=812.5MB, alloc=4.6MB, time=130.21 memory used=816.3MB, alloc=4.6MB, time=130.84 NO POLE NO POLE x[1] = 0.281 y2[1] (analytic) = 1.9607786021805869952387798436879 y2[1] (numeric) = 1.959658367519281582939325662977 absolute error = 0.0011202346613054122994541807109 relative error = 0.057132134146078318692504221046019 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.72268343433556416134729952995054 y1[1] (numeric) = 0.72273379021256621984203505006238 absolute error = 5.035587700205849473552011184e-05 relative error = 0.0069679024880867424432859238640607 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=820.1MB, alloc=4.6MB, time=131.44 NO POLE NO POLE x[1] = 0.282 y2[1] (analytic) = 1.9605008052718809268468206145129 y2[1] (numeric) = 1.9593616962302597176742172717673 absolute error = 0.0011391090416212091726033427456 relative error = 0.05810296218997157210939223739543 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.72172279455178461073707222518593 y1[1] (numeric) = 0.72177428008294414398109229647707 absolute error = 5.148553115953324402007129114e-05 relative error = 0.0071336989143466890744188779849962 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=823.9MB, alloc=4.6MB, time=132.04 NO POLE NO POLE x[1] = 0.283 y2[1] (analytic) = 1.9602220478624496283050391375165 y2[1] (numeric) = 1.9590638514933069627678430587815 absolute error = 0.001158196369142665537196078735 relative error = 0.059084957768209793966263048519843 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.72076243304518731857588649095688 y1[1] (numeric) = 0.72081506721125501370181225966152 absolute error = 5.263416606769512592576870464e-05 relative error = 0.0073025678995668870140421140339462 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=827.8MB, alloc=4.6MB, time=132.64 NO POLE NO POLE x[1] = 0.284 y2[1] (analytic) = 1.9599423302310504858149506095312 y2[1] (numeric) = 1.9587648323480618916530773730313 absolute error = 0.0011774978829885941618732364999 relative error = 0.060078190303169951501018490605876 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.71980235077613371143091160634557 y1[1] (numeric) = 0.71985615277142696383690238558656 absolute error = 5.380199529325240599077924099e-05 relative error = 0.0074745512063471165800102470998709 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=831.6MB, alloc=4.6MB, time=133.24 NO POLE NO POLE x[1] = 0.285 y2[1] (analytic) = 1.959661652657401107465895681044 y2[1] (numeric) = 1.9584646378344423152832099357927 absolute error = 0.0011970148229587921826857452513 relative error = 0.061082729323992182893387823796693 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.71884254870470597834890162875478 y1[1] (numeric) = 0.71889753793834835110689553016008 absolute error = 5.498923364237275799390140530e-05 relative error = 0.0076496909846890321104894913464072 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=835.4MB, alloc=4.6MB, time=133.84 NO POLE NO POLE x[1] = 0.286 y2[1] (analytic) = 1.9593800154221790435174556766546 y2[1] (numeric) = 1.9581632669926462422140548804699 absolute error = 0.0012167484295328013034007961847 relative error = 0.062098644466914900127378784497719 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.71788302779070611077408635400021 y1[1] (numeric) = 0.71793922388786747440256517953565 absolute error = 5.619609716136362847882553544e-05 relative error = 0.0078280297744756289799886585649851 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=839.2MB, alloc=4.6MB, time=134.44 memory used=843.0MB, alloc=4.6MB, time=135.06 NO POLE NO POLE x[1] = 0.287 y2[1] (analytic) = 1.9590974188070215057219257252902 y2[1] (numeric) = 1.9578607188631528384058622132845 absolute error = 0.0012366999438686673160635120057 relative error = 0.063126005475610650627284612765023 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.71692378899365494274625985557732 y1[1] (numeric) = 0.71698121179679229410739858017572 absolute error = 5.742280313735136113872459840e-05 relative error = 0.008009610507967057501457340399441 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=846.8MB, alloc=4.6MB, time=135.68 NO POLE NO POLE x[1] = 0.288 y2[1] (analytic) = 1.9588138630945250856871264776764 y2[1] (numeric) = 1.9575569924867233867440718929587 absolute error = 0.0012568706078016989430545847177 relative error = 0.06416488220152274025296458611009 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.71596483327279119138002640493412 y1[1] (numeric) = 0.71602350284289015046040845617284 absolute error = 5.866957009895908038205123872e-05 relative error = 0.0081944765123128987924406122283052 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=850.6MB, alloc=4.6MB, time=136.30 NO POLE NO POLE x[1] = 0.289 y2[1] (analytic) = 1.9585293485682454722798360482323 y2[1] (numeric) = 1.9572520869044022462779510087183 absolute error = 0.001277261663843226001885039514 relative error = 0.065215344604202620247892540620459 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.71500616158707049762616329342395 y1[1] (numeric) = 0.7150660982048874809595649509937 absolute error = 5.993661781698333340165756975e-05 relative error = 0.0083826715120810185636032452326008 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=854.5MB, alloc=4.6MB, time=136.92 NO POLE NO POLE x[1] = 0.29 y2[1] (analytic) = 1.9582438755126971680701247779319 y2[1] (numeric) = 1.9569460011575178111761548180579 absolute error = 0.001297874355179356893969959874 relative error = 0.066277462751648040741275321094443 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.71404777489516446731605979449563 y1[1] (numeric) = 0.71410899906246953680613039019054 absolute error = 6.122416730506949007059569491e-05 relative error = 0.0085742396318031156755854332827053 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=858.3MB, alloc=4.6MB, time=137.55 NO POLE NO POLE x[1] = 0.291 y2[1] (analytic) = 1.9579574442133532048168763737751 y2[1] (numeric) = 1.9566387342876834693982526887882 absolute error = 0.0013187099256697354186236849869 relative error = 0.067351306820641973413381189423192 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.71308967415545971249019122160201 y1[1] (numeric) = 0.7131522065962800983901804207215 absolute error = 6.253244082038589998919911949e-05 relative error = 0.0087692253985370832051925834814269 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=862.1MB, alloc=4.6MB, time=138.19 NO POLE NO POLE x[1] = 0.292 y2[1] (analytic) = 1.9576700549566448579947799393226 y2[1] (numeric) = 1.9563302853367985610812602739181 absolute error = 0.0013397696198462969135196654045 relative error = 0.068436947097092305941087049103178 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.71213186032605689301158675327299 y1[1] (numeric) = 0.71219572198792118981759604133509 absolute error = 6.386166186429680600928806210e-05 relative error = 0.008967673744446300664420579619771 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=865.9MB, alloc=4.6MB, time=138.83 memory used=869.7MB, alloc=4.6MB, time=139.47 NO POLE NO POLE x[1] = 0.293 y2[1] (analytic) = 1.9573817080299613603630783692788 y2[1] (numeric) = 1.9560206533470493366402195329201 absolute error = 0.0013610546829120237228588363587 relative error = 0.069534453976372310848553029091759 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.71117433436476975846524941180534 y1[1] (numeric) = 0.71123954641995279247881199700298 absolute error = 6.521205518303401356258519764e-05 relative error = 0.0091696300093959769258425551761304 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=873.5MB, alloc=4.6MB, time=140.06 NO POLE NO POLE x[1] = 0.294 y2[1] (analytic) = 1.9570924037216496145763595393507 y2[1] (numeric) = 1.9557098373609099145818684988784 absolute error = 0.0013825663607396999944910404723 relative error = 0.070643897963661891395863628412128 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.71021709722912419034448629606947 y1[1] (numeric) = 0.71028368107589255765960796862874 absolute error = 6.658384676836731512167255927e-05 relative error = 0.0093751399435666643255017148906024 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=877.3MB, alloc=4.6MB, time=140.67 NO POLE NO POLE x[1] = 0.295 y2[1] (analytic) = 1.956802142321013904837677680568 y2[1] (numeric) = 1.9553978364211432390304429779303 absolute error = 0.0014043058998706658072347026377 relative error = 0.071765349674289607146436370209669 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.70926014987635724452510688202316 y1[1] (numeric) = 0.70932812714021551819422994721753 absolute error = 6.797726385827366912306519437e-05 relative error = 0.0095842497100850653397358958179885 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=881.2MB, alloc=4.6MB, time=141.27 NO POLE NO POLE x[1] = 0.296 y2[1] (analytic) = 1.9565109241183156075942932849186 y2[1] (numeric) = 1.9550846495708020369646526552782 absolute error = 0.0014262745475135706296406296404 relative error = 0.072898879834075481861991867598794 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.70830349326341619402844691665405 y1[1] (numeric) = 0.70837288579835379916113013936124 absolute error = 6.939253493760513268322270719e-05 relative error = 0.0097970058876722541653728077794627 % Correct digits = 4 h = 0.001 TOP MAIN SOLVE Loop memory used=885.0MB, alloc=4.6MB, time=141.88 NO POLE NO POLE x[1] = 0.297 y2[1] (analytic) = 1.9562187494047729012763208465347 y2[1] (numeric) = 1.9547702758532297751648743708766 absolute error = 0.0014484735515431261114464756581 relative error = 0.07404455927967459638190348097673 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.70734712834695757207417514224732 y1[1] (numeric) = 0.70741795823669632762161470827513 absolute error = 7.082988973875554743956602781e-05 relative error = 0.010013455473309436473550367498387 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=888.8MB, alloc=4.6MB, time=142.49 NO POLE NO POLE memory used=892.6MB, alloc=4.6MB, time=143.10 x[1] = 0.298 y2[1] (analytic) = 1.9559256184725604750785746997598 y2[1] (numeric) = 1.9544547143120616168696056176801 absolute error = 0.0014709041604988582089690820797 relative error = 0.075202458958921469151800466057412 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.70639105608334621542383979809208 y1[1] (numeric) = 0.70646334564258854140168961171397 absolute error = 7.228955924232597784981362189e-05 relative error = 0.01023364588492137155610505619366 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=896.4MB, alloc=4.6MB, time=143.72 NO POLE NO POLE x[1] = 0.299 y2[1] (analytic) = 1.9556315316148092367859041722236 y2[1] (numeric) = 1.9541379639912253781402216060789 absolute error = 0.0014935676235838586456825661447 relative error = 0.076372649931175227074385791494782 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.70543527742865430801611155600021 y1[1] (numeric) = 0.70550904920433209691739575489764 absolute error = 7.377177567778890128419889743e-05 relative error = 0.010457624964077582040104297683213 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=900.2MB, alloc=4.6MB, time=144.32 NO POLE NO POLE x[1] = 0.3 y2[1] (analytic) = 1.955336489125606019642310227568 y2[1] (numeric) = 1.9538200239349424839330795298442 absolute error = 0.0015164651906635357092306977238 relative error = 0.077555203367665569363548764912712 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.70447979333866042489467925431497 y1[1] (numeric) = 0.70455507011118457604392563308666 absolute error = 7.527677252415114924637877169e-05 relative error = 0.010685440978711477310748685906475 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=904.0MB, alloc=4.6MB, time=144.93 NO POLE NO POLE x[1] = 0.301 y2[1] (analytic) = 1.9550404912999932882641367286816 y2[1] (numeric) = 1.953500893187728923878013961559 absolute error = 0.0015395981122643643861227671226 relative error = 0.078750190551839527091003364985646 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.70352460476884857642975450243418 y1[1] (numeric) = 0.70360140955335919202881459466656 absolute error = 7.680478451061559906009223238e-05 relative error = 0.010917142625857517755609409696674 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=907.9MB, alloc=4.6MB, time=145.56 NO POLE NO POLE x[1] = 0.302 y2[1] (analytic) = 1.9547435384339688435976304082261 y2[1] (numeric) = 1.9531805707943962077622675991188 absolute error = 0.0015629676395726358353628091073 relative error = 0.079957682879709021122865855969098 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.70256971267440725283414093426342 y1[1] (numeric) = 0.70264806872202449444950081152537 absolute error = 7.835604761724161535987726195e-05 relative error = 0.011152779034406547924069068373572 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=911.7MB, alloc=4.6MB, time=146.18 NO POLE NO POLE x[1] = 0.303 y2[1] (analytic) = 1.9544456308244855269211645888734 y2[1] (numeric) = 1.9528590558000523207189018794505 absolute error = 0.0015865750244332062022627094229 relative error = 0.081177751860199221151799980517187 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.7016151180102284689748235944506 y1[1] (numeric) = 0.70169504880930407321554899913965 absolute error = 7.993079907560424072540468905e-05 relative error = 0.011392399767879427684974608343493 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=915.5MB, alloc=4.6MB, time=146.78 memory used=919.3MB, alloc=4.6MB, time=147.40 NO POLE NO POLE x[1] = 0.304 y2[1] (analytic) = 1.9541467687694509228924226510006 y2[1] (numeric) = 1.9525363472501026781187322711193 absolute error = 0.0016104215193482447736903798813 relative error = 0.082410469115497708538604907125291 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.70066082173090680948103364573289 y1[1] (numeric) = 0.70074235100827626161583388412062 absolute error = 8.152927736945213480023838773e-05 relative error = 0.011636054827219091462964435416092 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=923.1MB, alloc=4.6MB, time=148.02 NO POLE NO POLE x[1] = 0.305 y2[1] (analytic) = 1.9538469525677270616408382006383 y2[1] (numeric) = 1.9522124441902510801648333539671 absolute error = 0.0016345083774759814760048466712 relative error = 0.083655906381404445685400273665073 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.69970682479073847414974328925156 y1[1] (numeric) = 0.69978997651297383841098037201228 absolute error = 8.315172223536426123708276072e-05 relative error = 0.011883794653601166639773706792411 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=926.9MB, alloc=4.6MB, time=148.63 NO POLE NO POLE x[1] = 0.306 y2[1] (analytic) = 1.9535461825191301199055898452054 y2[1] (numeric) = 1.951887345666500666188659091357 absolute error = 0.0016588368526294537169307538484 relative error = 0.084914135507682554670874238891852 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.69875312814372032364954549226047 y1[1] (numeric) = 0.69883792651838372897135832287645 absolute error = 8.479837466340532181283061598e-05 relative error = 0.01213567013126328322112896545931 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=930.8MB, alloc=4.6MB, time=149.25 NO POLE NO POLE x[1] = 0.307 y2[1] (analytic) = 1.9532444589244301212194494390108 y2[1] (numeric) = 1.9515610507251548686468239989839 absolute error = 0.0016834081992752525726254400269 relative error = 0.086185228458409907886404553688874 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.69779973274354892552387281926885 y1[1] (numeric) = 0.69788620222044670546093079664504 absolute error = 8.646947689777993705797737619e-05 relative error = 0.01239173259035320789269298921478 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=934.6MB, alloc=4.6MB, time=149.88 NO POLE NO POLE x[1] = 0.308 y2[1] (analytic) = 1.9529417820853506351387836146492 y2[1] (numeric) = 1.9512335584128183668175912135485 absolute error = 0.0017082236725322683211924011007 relative error = 0.087469257312331533420239416364524 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.69684663954361960049450936332003 y1[1] (numeric) = 0.6969348048160570860672555843664 absolute error = 8.816527243748557274622104637e-05 relative error = 0.012652033809795936619991091477489 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=938.4MB, alloc=4.6MB, time=150.51 NO POLE NO POLE x[1] = 0.309 y2[1] (analytic) = 1.9526381523045684755200093702652 y2[1] (numeric) = 1.9509048677763980401961137648869 absolute error = 0.0017332845281704353238956053783 relative error = 0.088766294263212837945334405407018 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.6958938494970254690663494738148 y1[1] (numeric) = 0.69598373550306243327794079531909 absolute error = 8.988600603696421159132150429e-05 relative error = 0.012916626020179880987420008474542 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=942.2MB, alloc=4.6MB, time=151.13 memory used=946.0MB, alloc=4.6MB, time=151.75 NO POLE NO POLE x[1] = 0.31 y2[1] (analytic) = 1.9523335698857133978428054362022 y2[1] (numeric) = 1.9505749778631039215874756563933 absolute error = 0.0017585920226094762553297798089 relative error = 0.090076411620193649874884213535951 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.69494136355655649843435667604104 y1[1] (numeric) = 0.69503299548026325120385622351233 absolute error = 9.163192370675276949954747129e-05 relative error = 0.013185561906662284520389594864482 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=949.8MB, alloc=4.6MB, time=152.36 NO POLE NO POLE x[1] = 0.311 y2[1] (analytic) = 1.9520280351333677955803820978034 y2[1] (numeric) = 1.950243887720450149896579660775 absolute error = 0.0017841474129176456838024370284 relative error = 0.091399681808143085558063364293972 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.69398918267469854969367587537158 y1[1] (numeric) = 0.69408258594741268194940317033659 absolute error = 9.340327271413225572729496501e-05 relative error = 0.013458894611894006292456273204909 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=953.6MB, alloc=4.6MB, time=152.98 NO POLE NO POLE x[1] = 0.312 y2[1] (analytic) = 1.9517215483530663956171131040662 y2[1] (numeric) = 1.9499115963962559226139290413302 absolute error = 0.001809951956810473003184062736 relative error = 0.092736177368015241296998701668996 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.69303730780363242535385163593833 y1[1] (numeric) = 0.69313250810521620103014635306915 absolute error = 9.520030158377567629471713082e-05 relative error = 0.013736677738963810186056785287389 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=957.5MB, alloc=4.6MB, time=153.59 NO POLE NO POLE x[1] = 0.313 y2[1] (analytic) = 1.9514141098512959527138342444951 y2[1] (numeric) = 1.9495781029386464479963507130473 absolute error = 0.0018360069126495047174835314478 relative error = 0.09408597095720571397453833170291 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.69208573989523291715810501948532 y1[1] (numeric) = 0.69218276315533131183811248157739 absolute error = 9.702326009839468000746209207e-05 relative error = 0.014018965354362299251223323622024 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=961.3MB, alloc=4.6MB, time=154.20 NO POLE NO POLE x[1] = 0.314 y2[1] (analytic) = 1.9511057199354949430211141288279 y2[1] (numeric) = 1.9492434063960538969417076628815 absolute error = 0.0018623135394410460794064659464 relative error = 0.095449135349908953090956988872778 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.69113447990106785420862116504429 y1[1] (numeric) = 0.6912333523003672391550610378957 absolute error = 9.887239929938494643987285141e-05 relative error = 0.014305811990965635691539442407443 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=965.1MB, alloc=4.6MB, time=154.81 NO POLE NO POLE x[1] = 0.315 y2[1] (analytic) = 1.9507963789140532566408036563392 y2[1] (numeric) = 1.9489075058172183545566487545751 absolute error = 0.0018888730968349020841549017641 relative error = 0.096825743437476447016346627217749 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.69018352877239715139879948406602 y1[1] (numeric) = 0.69028427674388462171403374537977 absolute error = 0.00010074797148747031523426131375 relative error = 0.014597272651039188100663944698907 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=968.9MB, alloc=4.6MB, time=155.43 memory used=972.7MB, alloc=4.6MB, time=156.05 NO POLE NO POLE x[1] = 0.316 y2[1] (analytic) = 1.9504860870963118892361716131461 y2[1] (numeric) = 1.9485704002511887714164443503517 absolute error = 0.0019156868451231178197272627944 relative error = 0.098215868228775746274083524453678 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.68923288746017185815341803867781 y1[1] (numeric) = 0.68933553769039520380949016586311 absolute error = 0.0001026502302233456560721271853 relative error = 0.014893402809261248676091733665471 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=976.5MB, alloc=4.6MB, time=156.65 NO POLE NO POLE x[1] = 0.317 y2[1] (analytic) = 1.9501748447925626326909347873552 y2[1] (numeric) = 1.948232088747323914515956489728 absolute error = 0.0019427560452387181749782976272 relative error = 0.099619582850550326679439465616051 % Correct digits = 3 h = 0.001 y1[1] (analytic) = 0.6882825569150332074776633628236 y1[1] (numeric) = 0.68838713634536152595633781465451 absolute error = 0.00010457943032831847867445183091 relative error = 0.015194258415766964249521758704313 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=980.3MB, alloc=4.6MB, time=157.27 NO POLE NO POLE x[1] = 0.318 y2[1] (analytic) = 1.9498626523140477648174919429938 y2[1] (numeric) = 1.9478925703552933179107926745513 absolute error = 0.0019700819587544469066992684425 relative error = 0.10103696054778029516611477011737 % Correct digits = 2 h = 0.001 y1[1] (analytic) = 0.68733253808731166531597667717754 y1[1] (numeric) = 0.68743907391519661459816613432062 absolute error = 0.00010653582788494928218945714308 relative error = 0.015499895899212626095348889378145 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=984.2MB, alloc=4.6MB, time=157.88 NO POLE NO POLE x[1] = 0.319 y2[1] (analytic) = 1.9495495099729597381146719444671 y2[1] (numeric) = 1.9475518441250782330476926191894 absolute error = 0.0019976658478815050669793252777 relative error = 0.10246807468404394114221517246216 % Correct digits = 2 h = 0.001 y1[1] (analytic) = 0.6863828319270259802216671389056 y1[1] (numeric) = 0.68649135160726367086499461899368 absolute error = 0.00010851968023769064332748008808 relative error = 0.015810372169860464610475877674295 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=988.0MB, alloc=4.6MB, time=158.47 NO POLE NO POLE x[1] = 0.32 y2[1] (analytic) = 1.9492354180824408675753072737661 y2[1] (numeric) = 1.9472099091069725787831976355643 absolute error = 0.0020255089754682887921096382018 relative error = 0.10391299874188013622597299251639 % Correct digits = 2 h = 0.001 y1[1] (analytic) = 0.68543343938388223333824245658285 y1[1] (numeric) = 0.6855439706298757583808463314305 absolute error = 0.00011053124599352504260387484765 relative error = 0.016125744622684096099941456204858 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=991.8MB, alloc=4.6MB, time=159.09 NO POLE NO POLE memory used=995.6MB, alloc=4.6MB, time=159.71 x[1] = 0.321 y2[1] (analytic) = 1.9489203769565830175439451328269 y2[1] (numeric) = 1.9468667643515838910896526344402 absolute error = 0.0020536126049991264542924983867 relative error = 0.10537180632315158522032576724671 % Correct digits = 2 h = 0.001 y1[1] (analytic) = 0.68448436140727288869340688885654 y1[1] (numeric) = 0.68459693219229549012145900522302 absolute error = 0.00011257078502260142805211636648 relative error = 0.016446071140494770053869877789393 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=999.4MB, alloc=4.6MB, time=160.33 NO POLE NO POLE x[1] = 0.322 y2[1] (analytic) = 1.9486043869104272876250092733052 y2[1] (numeric) = 1.9465224089098342724475910370424 absolute error = 0.0020819780005930151774182362628 relative error = 0.10684457114940893119431269392026 % Correct digits = 2 h = 0.001 y1[1] (analytic) = 0.68353559894627584380667633277783 y1[1] (numeric) = 0.68365023750473471432244687442334 absolute error = 0.00011463855845887051577054164551 relative error = 0.016771410097088566462055528355707 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=1003.2MB, alloc=4.6MB, time=160.94 NO POLE NO POLE x[1] = 0.323 y2[1] (analytic) = 1.948287448259963697641726645576 y2[1] (numeric) = 1.946176841832961340923553204702 absolute error = 0.002110606427002356718173440874 relative error = 0.1083313670622557175481309866301 % Correct digits = 2 h = 0.001 y1[1] (analytic) = 0.68258715294965348061155989410811 y1[1] (numeric) = 0.68270388777835419943822732239514 absolute error = 0.00011673482870071882666742828703 relative error = 0.017101820360414693883194234170143 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=1007.0MB, alloc=4.6MB, time=161.55 NO POLE NO POLE x[1] = 0.324 y2[1] (analytic) = 1.9479695613221308716461339080079 y2[1] (numeric) = 1.9458300621725191789323893087862 absolute error = 0.0021394991496116927137445992217 relative error = 0.10983226802371420994761070730148 % Correct digits = 2 h = 0.001 y1[1] (analytic) = 0.68163902436585171669325701733906 y1[1] (numeric) = 0.68175788422526331815202739093872 absolute error = 0.00011885985941160145877037359966 relative error = 0.017437361295765040166452036064955 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=1010.9MB, alloc=4.6MB, time=162.17 NO POLE NO POLE x[1] = 0.325 y2[1] (analytic) = 1.9476507264148157209804797864775 y2[1] (numeric) = 1.9454820689803792816830978786909 absolute error = 0.0021686574344364392973819077866 relative error = 0.11134734811659208102281793132863 % Correct digits = 2 h = 0.001 y1[1] (analytic) = 0.68069121414299905684281893765035 y1[1] (numeric) = 0.68081222805851973043728613965663 absolute error = 0.00012101391552067359446720200628 relative error = 0.017778092768985128913814932616834 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=1014.7MB, alloc=4.6MB, time=162.77 NO POLE NO POLE x[1] = 0.326 y2[1] (analytic) = 1.9473309438568531263903402226954 y2[1] (numeric) = 1.9451328613087315053072515821361 absolute error = 0.0021980825481216210830886405593 relative error = 0.11287668154484996073448238164331 % Correct digits = 2 h = 0.001 y1[1] (analytic) = 0.67974372322890564492872290056454 y1[1] (numeric) = 0.6798669204921290656707697941313 absolute error = 0.00012319726322342074204689356676 relative error = 0.018124075149706635972582742208768 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=1018.5MB, alloc=4.6MB, time=163.39 memory used=1022.3MB, alloc=4.6MB, time=164.02 NO POLE NO POLE x[1] = 0.327 y2[1] (analytic) = 1.9470102139680256191897641982033 y2[1] (numeric) = 1.9447824382100850146690621094172 absolute error = 0.0022277757579406045207020887861 relative error = 0.11442034263396985532096704744275 % Correct digits = 2 h = 0.001 y1[1] (analytic) = 0.67879655257106231608680727764583 y1[1] (numeric) = 0.67892196274104460379771756977291 absolute error = 0.00012541016998228771091029212708 relative error = 0.018475369314601621458551076474564 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=1026.1MB, alloc=4.6MB, time=164.66 NO POLE NO POLE x[1] = 0.328 y2[1] (analytic) = 1.9466885370690630614787690688678 y2[1] (numeric) = 1.9444307987372692308561363516265 absolute error = 0.0022577383317938306226327172413 relative error = 0.11597840583132443774755393004424 % Correct digits = 2 h = 0.001 y1[1] (analytic) = 0.67784970311663964922951538822866 y1[1] (numeric) = 0.67797735602116695554933700616515 absolute error = 0.00012765290452730631982161793649 relative error = 0.018832036650658634031962676472074 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=1029.9MB, alloc=4.6MB, time=165.31 NO POLE NO POLE x[1] = 0.329 y2[1] (analytic) = 1.9463659134816423254135051923513 y2[1] (numeric) = 1.9440779419434347783499763821673 absolute error = 0.002287971538207547063528810184 relative error = 0.1175509457065472125889120648564 % Correct digits = 2 h = 0.001 y1[1] (analytic) = 0.67690317581248701987539551785335 y1[1] (numeric) = 0.67703310154934374171296859438689 absolute error = 0.00012992573685672183757307653354 relative error = 0.019194139058480845380299215351609 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=1033.8MB, alloc=4.6MB, time=165.94 NO POLE NO POLE x[1] = 0.33 y2[1] (analytic) = 1.9460423435283869715294105783662 y2[1] (numeric) = 1.9437238668820544318752760711396 absolute error = 0.0023184766463325396541345072266 relative error = 0.11913803695190355828474149072803 % Correct digits = 2 h = 0.001 y1[1] (analytic) = 0.67595697160513165329980430382978 y1[1] (numeric) = 0.67608920054336927145524042711844 absolute error = 0.00013222893823761815543612328866 relative error = 0.01956173895560637410452426055017 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=1037.6MB, alloc=4.6MB, time=166.55 NO POLE NO POLE x[1] = 0.331 y2[1] (analytic) = 1.9457178275328669261176772385331 y2[1] (numeric) = 1.9433685726069240629270674833803 absolute error = 0.0023492549259428631906097551528 relative error = 0.12073975438266264971775001399161 % Correct digits = 2 h = 0.001 y1[1] (analytic) = 0.67501109144077767800776033714693 y1[1] (numeric) = 0.67514565422198421969853454835082 absolute error = 0.00013456278120654169077421120389 relative error = 0.019934899279850959458575534358702 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=1041.4MB, alloc=4.6MB, time=167.16 NO POLE NO POLE x[1] = 0.332 y2[1] (analytic) = 1.9453923658195981576553518593481 y2[1] (numeric) = 1.9430120581721635859747705330898 absolute error = 0.0023803076474345716805813262583 relative error = 0.12235617293747026407231858120135 % Correct digits = 2 h = 0.001 y1[1] (analytic) = 0.67406553626530517952989450779567 y1[1] (numeric) = 0.67420246380487530355108762620496 absolute error = 0.00013692753957012402119311840929 relative error = 0.020313683492673146655839021046037 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=1045.2MB, alloc=4.6MB, time=167.78 memory used=1049.0MB, alloc=4.6MB, time=168.41 NO POLE NO POLE x[1] = 0.333 y2[1] (analytic) = 1.9450659587140423522893943681328 y2[1] (numeric) = 1.9426543226322179043421996910741 absolute error = 0.0024116360818244479471946770587 relative error = 0.12398736767872247294144597075396 % Correct digits = 2 h = 0.001 y1[1] (analytic) = 0.67312030702426925454244329747574 y1[1] (numeric) = 0.67325963051267495779104951873312 absolute error = 0.00013932348840570324860622125738 relative error = 0.0206981555825621467311189458177 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=1052.8MB, alloc=4.6MB, time=169.03 NO POLE NO POLE x[1] = 0.334 y2[1] (analytic) = 1.9447386065426065883750189078808 y2[1] (numeric) = 1.9422953650418578557625818646749 absolute error = 0.0024432415007487326124370432059 relative error = 0.12563341379294022365883447768021 % Correct digits = 2 h = 0.001 y1[1] (analytic) = 0.67217540466289906531223089961467 y1[1] (numeric) = 0.67231715556696100940482424861686 absolute error = 0.00014175090406194409259334900219 relative error = 0.021088380068448535232347309055464 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=1056.6MB, alloc=4.6MB, time=169.64 NO POLE NO POLE x[1] = 0.335 y2[1] (analytic) = 1.9444103096326430100686426826321 y2[1] (numeric) = 1.9419351844561811576076398954485 absolute error = 0.0024751251764618524610027871836 relative error = 0.12729438659114481284228543783037 % Correct digits = 2 h = 0.001 y1[1] (analytic) = 0.67123083012609689446758572163781 y1[1] (numeric) = 0.67137504019025635118001884839359 absolute error = 0.00014421006415945671243312675578 relative error = 0.021484422003137955313056630895819 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=1060.5MB, alloc=4.6MB, time=170.26 NO POLE NO POLE x[1] = 0.336 y2[1] (analytic) = 1.9440810683124484999757690804005 y2[1] (numeric) = 1.9415737799306133517897964455887 absolute error = 0.0025072883818351481859726348118 relative error = 0.12897036150923425514391695751657 % Correct digits = 2 h = 0.001 y1[1] (analytic) = 0.67028658435843720009613649849422 y1[1] (numeric) = 0.67043328560602861435332648323559 absolute error = 0.00014670124759141425718998474137 relative error = 0.021886346976767992104573009377491 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=1064.3MB, alloc=4.6MB, time=170.88 NO POLE NO POLE x[1] = 0.337 y2[1] (analytic) = 1.943750882911264350854132425743 y2[1] (numeric) = 1.9412111505209087493365533709686 absolute error = 0.0025397323903556015175790547744 relative error = 0.13066141410836055021209622298808 % Correct digits = 2 h = 0.001 y1[1] (analytic) = 0.66934266830416567117043291956346 y1[1] (numeric) = 0.66949189303868984031367120337104 absolute error = 0.00014922473452416914323828380758 relative error = 0.022294221120288386566077725004224 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=1068.1MB, alloc=4.6MB, time=171.50 NO POLE NO POLE x[1] = 0.338 y2[1] (analytic) = 1.9434197537592759363724326587988 y2[1] (numeric) = 1.9408472952831513746361020065006 absolute error = 0.0025724584761245617363306522982 relative error = 0.13236762007530785087939540263172 % Correct digits = 2 h = 0.001 y1[1] (analytic) = 0.66839908290719828330233534324402 y1[1] (numeric) = 0.66855086371359615136094262297508 absolute error = 0.00015178080639786805860727973106 relative error = 0.022708111108964758341239693481155 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=1071.9MB, alloc=4.6MB, time=172.12 memory used=1075.7MB, alloc=4.6MB, time=172.74 NO POLE NO POLE x[1] = 0.339 y2[1] (analytic) = 1.9430876811876123809249891820363 y2[1] (numeric) = 1.9404822132737559093532201182831 absolute error = 0.0026054679138564715717690637532 relative error = 0.13408905522287153560033356548316 % Correct digits = 2 h = 0.001 y1[1] (analytic) = 0.66745582911112035482711784475499 y1[1] (numeric) = 0.66761019885704742052064976676866 absolute error = 0.00015436974592706569353192201367 relative error = 0.023128084165906008492144399032598 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=1079.5MB, alloc=4.6MB, time=173.36 NO POLE NO POLE x[1] = 0.34 y2[1] (analytic) = 1.9427546655283462285026440600266 y2[1] (numeric) = 1.9401159035494686360145116067154 absolute error = 0.0026387619788775924881324533112 relative error = 0.13582579549023818817215736515868 % Correct digits = 2 h = 0.001 y1[1] (analytic) = 0.66651290785918560321822851296921 y1[1] (numeric) = 0.66666989969628694041482426964391 absolute error = 0.0001569918371013371965957566747 relative error = 0.023554208065615574334844931770538 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=1083.3MB, alloc=4.6MB, time=173.97 NO POLE NO POLE x[1] = 0.341 y2[1] (analytic) = 1.9424207071144931106202457013121 y2[1] (numeric) = 1.9397483651673683812620453754201 absolute error = 0.002672341947124729358200325892 relative error = 0.13757791694336648778144062205188 % Correct digits = 2 h = 0.001 y1[1] (analytic) = 0.66557032009431520183365058143904 y1[1] (numeric) = 0.66572996745950109118950405838515 absolute error = 0.00015964736518588935585347694611 relative error = 0.023986551137566709966145890350225 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=1087.2MB, alloc=4.6MB, time=174.57 NO POLE NO POLE x[1] = 0.342 y2[1] (analytic) = 1.9420858062800114133010450948604 y2[1] (numeric) = 1.9393795971848674587744501124121 absolute error = 0.0027062090951439545265949824483 relative error = 0.1393454957753690124288475228521 % Correct digits = 2 h = 0.001 y1[1] (analytic) = 0.66462806675909683699480764717492 y1[1] (numeric) = 0.66479040337581900749912958797428 absolute error = 0.00016233661672217050432194079936 relative error = 0.024425182269801967448310781979183 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=1091.0MB, alloc=4.6MB, time=175.17 NO POLE NO POLE x[1] = 0.343 y2[1] (analytic) = 1.9417499633598019431183376166772 y2[1] (numeric) = 1.9390095986597126118545220624991 absolute error = 0.0027403647000893312638155541781 relative error = 0.14112860830689495879400608912848 % Correct digits = 2 h = 0.001 y1[1] (analytic) = 0.66368614879578376539895589819304 y1[1] (numeric) = 0.6638512086753122445481856480565 absolute error = 0.00016505987952847914922974986346 relative error = 0.024870170912557055007368853448317 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=1094.8MB, alloc=4.6MB, time=175.76 NO POLE NO POLE memory used=1098.6MB, alloc=4.6MB, time=176.37 x[1] = 0.344 y2[1] (analytic) = 1.9414131786897075922946843649114 y2[1] (numeric) = 1.9386383686499859556824032033828 absolute error = 0.0027748100397216366122811615286 relative error = 0.14292733098651378161207799234856 % Correct digits = 2 h = 0.001 y1[1] (analytic) = 0.66274456714629387186600593736127 y1[1] (numeric) = 0.66291238458899444319042269789671 absolute error = 0.00016781744270057132441676053544 relative error = 0.025321587081909250001699841221332 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=1102.4MB, alloc=4.6MB, time=176.98 NO POLE NO POLE x[1] = 0.345 y2[1] (analytic) = 1.9410754526065130028590479241997 y2[1] (numeric) = 1.9382659062141059192333875723628 absolute error = 0.0028095463924070836256603518369 relative error = 0.14474174039109975564328785565688 % Correct digits = 2 h = 0.001 y1[1] (analytic) = 0.66180332275220872742071645564298 y1[1] (numeric) = 0.66197393234882099408599263057743 absolute error = 0.00017060959661226666527617493445 relative error = 0.02577950136345054583070789360038 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=1106.2MB, alloc=4.6MB, time=177.58 NO POLE NO POLE x[1] = 0.346 y2[1] (analytic) = 1.9407367854479442298621784020909 y2[1] (numeric) = 1.9378922104108281868594138259141 absolute error = 0.0028445750371160430027645761768 relative error = 0.1465719132262174633263900315813 % Correct digits = 2 h = 0.001 y1[1] (analytic) = 0.66086241655477264771120167246664 y1[1] (numeric) = 0.66103585318768870091683480927438 absolute error = 0.00017343663291605320563313680774 relative error = 0.026243984915985713378773000134171 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=1110.0MB, alloc=4.6MB, time=178.18 NO POLE NO POLE x[1] = 0.347 y2[1] (analytic) = 1.9403971775526684036505865221322 y2[1] (numeric) = 1.9375172802992466395333024507247 absolute error = 0.0028798972534217641172840714075 relative error = 0.14841792632650821121680362482798 % Correct digits = 2 h = 0.001 y1[1] (analytic) = 0.65992184949489175176469412463536 y1[1] (numeric) = 0.66009814833943544266064916019569 absolute error = 0.00017629884454369089595503556033 relative error = 0.026715109475255459027404930622172 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=1113.9MB, alloc=4.6MB, time=178.78 NO POLE NO POLE x[1] = 0.348 y2[1] (analytic) = 1.9400566292602933911994414996184 y2[1] (numeric) = 1.9371411149387942957547963820347 absolute error = 0.0029155143214990954446451175837 relative error = 0.15027985665607737831993739025789 % Correct digits = 2 h = 0.001 y1[1] (analytic) = 0.65898162251313302108150404793491 y1[1] (numeric) = 0.65916081903883983492379404818352 absolute error = 0.00017919652570681384229000024861 relative error = 0.027192947357684862718737379907132 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=1117.7MB, alloc=4.6MB, time=179.37 NO POLE NO POLE x[1] = 0.349 y2[1] (analytic) = 1.9397151409113674565047323670778 y2[1] (numeric) = 1.9367637133892442521174641233139 absolute error = 0.0029514275221232043872682437639 relative error = 0.15215778130888269944005522546448 % Correct digits = 2 h = 0.001 y1[1] (analytic) = 0.65804173654972335906811625740272 y1[1] (numeric) = 0.6582238665216208903334476020519 absolute error = 0.00018212997189753126533134464918 relative error = 0.02767757146415728101630636344816 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=1121.5MB, alloc=4.6MB, time=179.97 memory used=1125.3MB, alloc=4.6MB, time=180.58 NO POLE NO POLE x[1] = 0.35 y2[1] (analytic) = 1.9393727128473789200350323573037 y2[1] (numeric) = 1.9363850747107106235355248004543 absolute error = 0.0029876381366682964995075568494 relative error = 0.15405177750912348667490044468658 % Correct digits = 2 h = 0.001 y1[1] (analytic) = 0.65710219254454865081036509308237 y1[1] (numeric) = 0.65728729202443767798937209747127 absolute error = 0.0001850994798890271790070043889 relative error = 0.028169055283813901584575741034472 % Correct digits = 3 h = 0.001 TOP MAIN SOLVE Loop memory used=1129.1MB, alloc=4.6MB, time=181.17 NO POLE NO POLE x[1] = 0.351 y2[1] (analytic) = 1.9390293454107558172432068921403 y2[1] (numeric) = 1.9360051979636494831296549237295 absolute error = 0.0030241474471063341135519684108 relative error = 0.15596192261163079219620301663794 % Correct digits = 2 h = 0.001 y1[1] (analytic) = 0.65616299143715282318762765801042 y1[1] (numeric) = 0.65635109678488898197562194560688 absolute error = 0.00018810534773615878799428759646 relative error = 0.028667472897879136997024102802593 % Correct digits = 3 h = 0.001 Finished! Maximum Time Reached before Solution Completed! diff ( y2 , x , 3 ) = m1 * cos(x) ; diff ( y1 , x , 1 ) = m1 * y2 + 1.0; Iterations = 251 Total Elapsed Time = 3 Minutes 1 Seconds Elapsed Time(since restart) = 3 Minutes 0 Seconds Expected Time Remaining = 55 Minutes 42 Seconds Optimized Time Remaining = 55 Minutes 28 Seconds Expected Total Time = 58 Minutes 29 Seconds Time to Timeout Unknown Percent Done = 5.143 % > quit memory used=1130.1MB, alloc=4.6MB, time=181.31