|\^/| 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