|\^/| Maple 18 (X86 64 WINDOWS) ._|\| |/|_. Copyright (c) Maplesoft, a division of Waterloo Maple Inc. 2014 \ MAPLE / All rights reserved. Maple is a trademark of <____ ____> Waterloo Maple Inc. | Type ? for help. #BEGIN OUTFILE1 # before write maple top matter # before write_ats library and user def block #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 > 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 := int_trunc(secs_in / glob_sec_in_year); > sec_temp := int_trunc(secs_in) mod int_trunc(glob_sec_in_year); > days_int := int_trunc(sec_temp / glob_sec_in_day) ; > sec_temp := sec_temp mod int_trunc(glob_sec_in_day) ; > hours_int := int_trunc(sec_temp / glob_sec_in_hour); > sec_temp := sec_temp mod int_trunc(glob_sec_in_hour); > minutes_int := int_trunc(sec_temp / glob_sec_in_minute); > sec_int := sec_temp mod int_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," 0.0 Seconds"); > 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 := int_trunc(secs_in/glob_sec_in_year); sec_temp := int_trunc(secs_in) mod int_trunc(glob_sec_in_year); days_int := int_trunc(sec_temp/glob_sec_in_day); sec_temp := sec_temp mod int_trunc(glob_sec_in_day); hours_int := int_trunc(sec_temp/glob_sec_in_hour); sec_temp := sec_temp mod int_trunc(glob_sec_in_hour); minutes_int := int_trunc(sec_temp/glob_sec_in_minute); sec_int := sec_temp mod int_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, " 0.0 Seconds") end if; fprintf(fd, "\n") end proc # End Function number 8 # Begin Function number 9 > 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 := int_trunc(secs_in / glob_sec_in_year); > sec_temp := (int_trunc(secs_in) mod int_trunc(glob_sec_in_year)); > days_int := int_trunc(sec_temp / glob_sec_in_day) ; > sec_temp := (sec_temp mod int_trunc(glob_sec_in_day)) ; > hours_int := int_trunc(sec_temp / glob_sec_in_hour); > sec_temp := (sec_temp mod int_trunc(glob_sec_in_hour)); > minutes_int := int_trunc(sec_temp / glob_sec_in_minute); > sec_int := (sec_temp mod int_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(" 0.0 Seconds\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 := int_trunc(secs_in/glob_sec_in_year); sec_temp := int_trunc(secs_in) mod int_trunc(glob_sec_in_year); days_int := int_trunc(sec_temp/glob_sec_in_day); sec_temp := sec_temp mod int_trunc(glob_sec_in_day); hours_int := int_trunc(sec_temp/glob_sec_in_hour); sec_temp := sec_temp mod int_trunc(glob_sec_in_hour); minutes_int := int_trunc(sec_temp/glob_sec_in_minute); sec_int := sec_temp mod int_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(" 0.0 Seconds\n") end if end proc # End Function number 9 # Begin Function number 10 > zero_ats_ar := proc(arr_a) > global ATS_MAX_TERMS; > local iii; > iii := 1; > while (iii <= ATS_MAX_TERMS) do # do number 1 > arr_a [iii] := glob__0; > iii := iii + 1; > od;# end do number 1 > end; zero_ats_ar := proc(arr_a) local iii; global ATS_MAX_TERMS; iii := 1; while iii <= ATS_MAX_TERMS do arr_a[iii] := glob__0; iii := iii + 1 end do end proc # End Function number 10 # Begin Function number 11 > ats := proc(mmm_ats,arr_a,arr_b,jjj_ats) > global ATS_MAX_TERMS; > local iii_ats, lll_ats,ma_ats, ret_ats; > ret_ats := glob__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; > if ((lll_ats <= ATS_MAX_TERMS and (iii_ats <= ATS_MAX_TERMS) )) then # if number 7 > ret_ats := ret_ats + c(arr_a[iii_ats])*c(arr_b[lll_ats]); > fi;# end if 7; > 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; global ATS_MAX_TERMS; ret_ats := glob__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; if lll_ats <= ATS_MAX_TERMS and iii_ats <= ATS_MAX_TERMS then ret_ats := ret_ats + c(arr_a[iii_ats])*c(arr_b[lll_ats]) end if; iii_ats := iii_ats + 1 end do end if; ret_ats end proc # End Function number 11 # Begin Function number 12 > att := proc(mmm_att,arr_aa,arr_bb,jjj_att) > global ATS_MAX_TERMS; > local al_att, iii_att,lll_att, ma_att, ret_att; > ret_att := glob__0; > if (jjj_att < mmm_att) then # if number 6 > ma_att := mmm_att + 2; > iii_att := jjj_att; > while ((iii_att < mmm_att) and (iii_att <= ATS_MAX_TERMS) ) do # do number 1 > lll_att := ma_att - iii_att; > al_att := (lll_att - 1); > if ((lll_att <= ATS_MAX_TERMS and (iii_att <= ATS_MAX_TERMS) )) then # if number 7 > ret_att := ret_att + c(arr_aa[iii_att])*c(arr_bb[lll_att])* c(al_att); > fi;# end if 7; > iii_att := iii_att + 1; > od;# end do number 1; > ret_att := ret_att / c(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 ATS_MAX_TERMS; ret_att := glob__0; if jjj_att < mmm_att then ma_att := mmm_att + 2; iii_att := jjj_att; while iii_att < mmm_att and iii_att <= ATS_MAX_TERMS do lll_att := ma_att - iii_att; al_att := lll_att - 1; if lll_att <= ATS_MAX_TERMS and iii_att <= ATS_MAX_TERMS then ret_att := ret_att + c(arr_aa[iii_att])*c(arr_bb[lll_att])*c(al_att) end if; iii_att := iii_att + 1 end do; ret_att := ret_att/c(mmm_att) end if; ret_att end proc # End Function number 12 # Begin Function number 13 > 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 13 # Begin Function number 14 > 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 14 # Begin Function number 15 > 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 15 # Begin Function number 16 > logitem_good_digits := proc(file,rel_error) > global glob_small_float,glob_prec; > local good_digits; > fprintf(file,""); > fprintf(file,"%d",glob_min_good_digits); > fprintf(file,""); > end; logitem_good_digits := proc(file, rel_error) local good_digits; global glob_small_float, glob_prec; fprintf(file, ""); fprintf(file, "%d", glob_min_good_digits); fprintf(file, "") end proc # End Function number 16 # Begin Function number 17 > log_revs := proc(file,revs) > fprintf(file,revs); > end; log_revs := proc(file, revs) fprintf(file, revs) end proc # End Function number 17 # Begin Function number 18 > 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 18 # Begin Function number 19 > logitem_h_reason := proc(file) > global glob_h_reason; > fprintf(file,""); > if (glob_h_reason = 1) then # if number 6 > fprintf(file,"Max H"); > elif > (glob_h_reason = 2) then # if number 7 > fprintf(file,"Display Interval"); > elif > (glob_h_reason = 3) then # if number 8 > fprintf(file,"Optimal"); > elif > (glob_h_reason = 4) then # if number 9 > fprintf(file,"Pole Accuracy"); > elif > (glob_h_reason = 5) then # if number 10 > fprintf(file,"Min H (Pole)"); > elif > (glob_h_reason = 6) then # if number 11 > fprintf(file,"Pole"); > elif > (glob_h_reason = 7) then # if number 12 > fprintf(file,"Opt Iter"); > else > fprintf(file,"Impossible"); > fi;# end if 12 > fprintf(file,""); > end; logitem_h_reason := proc(file) global glob_h_reason; fprintf(file, ""); if glob_h_reason = 1 then fprintf(file, "Max H") elif glob_h_reason = 2 then fprintf(file, "Display Interval") elif glob_h_reason = 3 then fprintf(file, "Optimal") elif glob_h_reason = 4 then fprintf(file, "Pole Accuracy") elif glob_h_reason = 5 then fprintf(file, "Min H (Pole)") elif glob_h_reason = 6 then fprintf(file, "Pole") elif glob_h_reason = 7 then fprintf(file, "Opt Iter") else fprintf(file, "Impossible") end if; fprintf(file, "") end proc # End Function number 19 # Begin Function number 20 > logstart := proc(file) > fprintf(file,""); > end; logstart := proc(file) fprintf(file, "") end proc # End Function number 20 # Begin Function number 21 > logend := proc(file) > fprintf(file,"\n"); > end; logend := proc(file) fprintf(file, "\n") end proc # End Function number 21 # Begin Function number 22 > chk_data := proc() > global glob_max_iter,ALWAYS, ATS_MAX_TERMS; > local errflag; > errflag := false; > if (glob_max_iter < 2) then # if number 12 > omniout_str(ALWAYS,"Illegal max_iter"); > errflag := true; > fi;# end if 12; > if (errflag) then # if number 12 > quit; > fi;# end if 12 > end; chk_data := proc() local errflag; global glob_max_iter, ALWAYS, ATS_MAX_TERMS; errflag := false; 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 22 # Begin Function number 23 > comp_expect_sec := proc(t_end2,t_start2,t2,clock_sec2) > global glob_small_float; > local ms2, rrr, sec_left, sub1, sub2; > ; > ms2 := c(clock_sec2); > sub1 := c(t_end2-t_start2); > sub2 := c(t2-t_start2); > if (sub1 = glob__0) then # if number 12 > sec_left := glob__0; > else > if (sub2 > glob__0) then # if number 13 > rrr := (sub1/sub2); > sec_left := rrr * c(ms2) - c(ms2); > else > sec_left := glob__0; > fi;# end if 13 > fi;# end if 12; > 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 := c(clock_sec2); sub1 := c(t_end2 - t_start2); sub2 := c(t2 - t_start2); if sub1 = glob__0 then sec_left := glob__0 else if glob__0 < sub2 then rrr := sub1/sub2; sec_left := rrr*c(ms2) - c(ms2) else sec_left := glob__0 end if end if; sec_left end proc # End Function number 23 # Begin Function number 24 > 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 12 > rrr := (glob__100*sub2)/sub1; > else > rrr := 0.0; > fi;# end if 12; > 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 := glob__100*sub2/sub1 else rrr := 0. end if; rrr end proc # End Function number 24 # Begin Function number 25 > comp_rad_from_ratio := proc(term1,term2,last_no) > #TOP TWO TERM RADIUS ANALYSIS > global glob_h,glob_larger_float; > local ret; > if (float_abs(term2) > glob__0) then # if number 12 > ret := float_abs(term1 * glob_h / term2); > else > ret := glob_larger_float; > fi;# end if 12; > ret; > #BOTTOM TWO TERM RADIUS ANALYSIS > end; comp_rad_from_ratio := proc(term1, term2, last_no) local ret; global glob_h, glob_larger_float; if glob__0 < float_abs(term2) then ret := float_abs(term1*glob_h/term2) else ret := glob_larger_float end if; ret end proc # End Function number 25 # Begin Function number 26 > comp_ord_from_ratio := proc(term1,term2,last_no) > #TOP TWO TERM ORDER ANALYSIS > global glob_h,glob_larger_float; > local ret; > if (float_abs(term2) > glob__0) then # if number 12 > ret := glob__1 + float_abs(term2) * c(last_no) * ln(float_abs(term1 * glob_h / term2))/ln(c(last_no)); > else > ret := glob_larger_float; > fi;# end if 12; > ret; > #BOTTOM TWO TERM ORDER ANALYSIS > end; comp_ord_from_ratio := proc(term1, term2, last_no) local ret; global glob_h, glob_larger_float; if glob__0 < float_abs(term2) then ret := glob__1 + float_abs(term2)* c(last_no)*ln(float_abs(term1*glob_h/term2))/ln(c(last_no)) else ret := glob_larger_float end if; ret end proc # End Function number 26 # Begin Function number 27 > c := proc(in_val) > #To Force Conversion when needed > local ret; > ret := evalf(in_val); > ret; > #End Conversion > end; c := proc(in_val) local ret; ret := evalf(in_val); ret end proc # End Function number 27 # Begin Function number 28 > comp_rad_from_three_terms := proc(term1,term2,term3,last_no) > #TOP THREE TERM RADIUS ANALYSIS > global glob_h,glob_larger_float; > local ret,temp; > temp := float_abs(term2*term2*c(last_no)+glob__m2*term2*term2-term1*term3*c(last_no)+term1*term3); > if (float_abs(temp) > glob__0) then # if number 12 > ret := float_abs((term2*glob_h*term1)/(temp)); > else > ret := glob_larger_float; > fi;# end if 12; > ret; > #BOTTOM THREE TERM RADIUS ANALYSIS > end; comp_rad_from_three_terms := proc(term1, term2, term3, last_no) local ret, temp; global glob_h, glob_larger_float; temp := float_abs(term2*term2*c(last_no) + glob__m2*term2*term2 - term1*term3*c(last_no) + term1*term3); if glob__0 < float_abs(temp) then ret := float_abs(term2*glob_h*term1/temp) else ret := glob_larger_float end if; ret end proc # End Function number 28 # Begin Function number 29 > comp_ord_from_three_terms := proc(term1,term2,term3,last_no) > #TOP THREE TERM ORDER ANALYSIS > local ret; > ret := float_abs((glob__4*term1*term3*c(last_no)-glob__3*term1*term3-glob__4*term2*term2*c(last_no)+glob__4*term2*term2+term2*term2*c(last_no*last_no)-term1*term3*c(last_no*last_no))/(term2*term2*c(last_no)-glob__2*term2*term2-term1*term3*c(last_no)+term1*term3)); > ret; > #TOP THREE TERM ORDER ANALYSIS > end; comp_ord_from_three_terms := proc(term1, term2, term3, last_no) local ret; ret := float_abs((glob__4*term1*term3*c(last_no) - glob__3*term1*term3 - glob__4*term2*term2*c(last_no) + glob__4*term2*term2 + term2*term2*c(last_no*last_no) - term1*term3*c(last_no*last_no)) /(term2*term2*c(last_no) - glob__2*term2*term2 - term1*term3*c(last_no) + term1*term3)); ret end proc # End Function number 29 # Begin Function number 30 > comp_rad_from_six_terms := proc(term1,term2,term3,term4,term5,term6,last_no) > #TOP SIX TERM RADIUS ANALYSIS > global glob_h,glob_larger_float,glob_six_term_ord_save; > local ret,rm0,rm1,rm2,rm3,rm4,nr1,nr2,dr1,dr2,ds2,rad_c,ord_no,ds1,rcs; > if ((term5 <> glob__0) and (term4 <> glob__0) and (term3 <> glob__0) and (term2 <> glob__0) and (term1 <> glob__0)) then # if number 12 > rm0 := term6/term5; > rm1 := term5/term4; > rm2 := term4/term3; > rm3 := term3/term2; > rm4 := term2/term1; > nr1 := c(last_no-1)*rm0 - glob__2*c(last_no-2)*rm1 + c(last_no-3)*rm2; > nr2 := c(last_no-2)*rm1 - glob__2*c(last_no-3)*rm2 + c(last_no-4)*rm3; > dr1 := glob__m1/rm1 + glob__2/rm2 - glob__1/rm3; > dr2 := glob__m1/rm2 + glob__2/rm3 - glob__1/rm4; > ds1 := glob__3/rm1 - glob__8/rm2 + glob__5/rm3; > ds2 := glob__3/rm2 - glob__8/rm3 + glob__5/rm4; > if ((float_abs(nr1 * dr2 - nr2 * dr1) = glob__0) or (float_abs(dr1) = glob__0)) then # if number 13 > rad_c := glob_larger_float; > ord_no := glob_larger_float; > else > if (float_abs(nr1*dr2 - nr2 * dr1) > glob__0) then # if number 14 > 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)/(glob__2*dr1) -c(last_no)/glob__2; > if (float_abs(rcs) <> glob__0) then # if number 15 > if (rcs > glob__0) then # if number 16 > rad_c := sqrt(rcs) * float_abs(glob_h); > else > rad_c := glob_larger_float; > ord_no := glob_larger_float; > fi;# end if 16 > else > rad_c := glob_larger_float; > ord_no := glob_larger_float; > fi;# end if 15 > else > rad_c := glob_larger_float; > ord_no := glob_larger_float; > fi;# end if 14 > fi;# end if 13 > else > rad_c := glob_larger_float; > ord_no := glob_larger_float; > fi;# end if 12; > glob_six_term_ord_save := ord_no; > rad_c; > #BOTTOM SIX TERM RADIUS ANALYSIS > end; comp_rad_from_six_terms := proc( term1, term2, term3, term4, term5, term6, last_no) local ret, rm0, rm1, rm2, rm3, rm4, nr1, nr2, dr1, dr2, ds2, rad_c, ord_no, ds1, rcs; global glob_h, glob_larger_float, glob_six_term_ord_save; if term5 <> glob__0 and term4 <> glob__0 and term3 <> glob__0 and term2 <> glob__0 and term1 <> glob__0 then rm0 := term6/term5; rm1 := term5/term4; rm2 := term4/term3; rm3 := term3/term2; rm4 := term2/term1; nr1 := c(last_no - 1)*rm0 - glob__2*c(last_no - 2)*rm1 + c(last_no - 3)*rm2; nr2 := c(last_no - 2)*rm1 - glob__2*c(last_no - 3)*rm2 + c(last_no - 4)*rm3; dr1 := glob__m1/rm1 + glob__2/rm2 - glob__1/rm3; dr2 := glob__m1/rm2 + glob__2/rm3 - glob__1/rm4; ds1 := glob__3/rm1 - glob__8/rm2 + glob__5/rm3; ds2 := glob__3/rm2 - glob__8/rm3 + glob__5/rm4; if float_abs(nr1*dr2 - nr2*dr1) = glob__0 or float_abs(dr1) = glob__0 then rad_c := glob_larger_float; ord_no := glob_larger_float else if glob__0 < float_abs(nr1*dr2 - nr2*dr1) then rcs := (ds1*dr2 - ds2*dr1 + dr1*dr2)/(nr1*dr2 - nr2*dr1); ord_no := (rcs*nr1 - ds1)/(glob__2*dr1) - c(last_no)/glob__2; if float_abs(rcs) <> glob__0 then if glob__0 < rcs then rad_c := sqrt(rcs)*float_abs(glob_h) else rad_c := glob_larger_float; ord_no := glob_larger_float end if else rad_c := glob_larger_float; ord_no := glob_larger_float end if else rad_c := glob_larger_float; ord_no := glob_larger_float end if end if else rad_c := glob_larger_float; ord_no := glob_larger_float end if; glob_six_term_ord_save := ord_no; rad_c end proc # End Function number 30 # Begin Function number 31 > comp_ord_from_six_terms := proc(term1,term2,term3,term4,term5,term6,last_no) > global glob_six_term_ord_save; > #TOP SIX TERM ORDER ANALYSIS > #TOP SAVED FROM SIX TERM RADIUS ANALYSIS > glob_six_term_ord_save; > #BOTTOM SIX TERM ORDER ANALYSIS > end; comp_ord_from_six_terms := proc( term1, term2, term3, term4, term5, term6, last_no) global glob_six_term_ord_save; glob_six_term_ord_save end proc # End Function number 31 # Begin Function number 32 > factorial_2 := proc(nnn) > ret := nnn!; > ret;; > end; Warning, `ret` is implicitly declared local to procedure `factorial_2` factorial_2 := proc(nnn) local ret; ret := nnn!; ret end proc # End Function number 32 # Begin Function number 33 > factorial_1 := proc(nnn) > global ATS_MAX_TERMS,array_fact_1; > local ret; > if (nnn <= ATS_MAX_TERMS) then # if number 12 > if (array_fact_1[nnn] = 0) then # if number 13 > ret := factorial_2(nnn); > array_fact_1[nnn] := ret; > else > ret := array_fact_1[nnn]; > fi;# end if 13; > else > ret := factorial_2(nnn); > fi;# end if 12; > ret; > end; factorial_1 := proc(nnn) local ret; global ATS_MAX_TERMS, array_fact_1; if nnn <= ATS_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 33 # Begin Function number 34 > factorial_3 := proc(mmm,nnn) > global ATS_MAX_TERMS,array_fact_2; > local ret; > if ((nnn <= ATS_MAX_TERMS) and (mmm <= ATS_MAX_TERMS)) then # if number 12 > if (array_fact_2[mmm,nnn] = 0) then # if number 13 > ret := factorial_1(mmm)/factorial_1(nnn); > array_fact_2[mmm,nnn] := ret; > else > ret := array_fact_2[mmm,nnn]; > fi;# end if 13; > else > ret := factorial_2(mmm)/factorial_2(nnn); > fi;# end if 12; > ret; > end; factorial_3 := proc(mmm, nnn) local ret; global ATS_MAX_TERMS, array_fact_2; if nnn <= ATS_MAX_TERMS and mmm <= ATS_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 34 # Begin Function number 35 > convfloat := proc(mmm) > (mmm); > end; convfloat := proc(mmm) mmm end proc # End Function number 35 # Begin Function number 36 > elapsed_time_seconds := proc() > time(); > end; elapsed_time_seconds := proc() time() end proc # End Function number 36 # Begin Function number 37 > float_abs := proc(x) > abs(x); > end; float_abs := proc(x) abs(x) end proc # End Function number 37 # Begin Function number 38 > expt := proc(x,y) > x^y; > end; expt := proc(x, y) x^y end proc # End Function number 38 # Begin Function number 39 > neg := proc(x) > -x; > end; neg := proc(x) -x end proc # End Function number 39 # Begin Function number 40 > int_trunc := proc(x) > trunc(x); > end; int_trunc := proc(x) trunc(x) end proc # End Function number 40 # Begin Function number 41 > 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,ATS_MAX_TERMS; > omniout_float(ALWAYS,"glob_desired_digits_correct",32,glob_desired_digits_correct,32,""); > desired_abs_gbl_error := expt(glob__10,c( -glob_desired_digits_correct)) * c(float_abs(c(estimated_answer))); > omniout_float(ALWAYS,"estimated_h",32,estimated_h,32,""); > omniout_float(ALWAYS,"estimated_answer",32,estimated_answer,32,""); > 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 := (c(float_abs(desired_abs_gbl_error) /sqrt(c( estimated_steps))/c(ATS_MAX_TERMS))); > 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, ATS_MAX_TERMS; omniout_float(ALWAYS, "glob_desired_digits_correct", 32, glob_desired_digits_correct, 32, ""); desired_abs_gbl_error := expt(glob__10, c(-glob_desired_digits_correct))* c(float_abs(c(estimated_answer))); omniout_float(ALWAYS, "estimated_h", 32, estimated_h, 32, ""); omniout_float(ALWAYS, "estimated_answer", 32, estimated_answer, 32, "") ; 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 := c(float_abs(desired_abs_gbl_error)/( sqrt(c(estimated_steps))*c(ATS_MAX_TERMS))); omniout_float(ALWAYS, "step_error", 32, step_error, 32, ""); step_error end proc # End Function number 41 #END ATS LIBRARY BLOCK #BEGIN USER FUNCTION BLOCK #BEGIN BLOCK 3 #BEGIN USER DEF BLOCK > exact_soln_y := proc(x) > return(c(0.06) * c(x) + c(2.0)/c(300.0) * c(x) * c(x) * c(x) + c(0.035) * c(x) * c(x)); > end; exact_soln_y := proc(x) return c(0.06)*c(x) + c(2.0)*c(x)*c(x)*c(x)/c(300.0) + c(0.035)*c(x)*c(x) end proc #END USER DEF BLOCK #END BLOCK 3 #END USER FUNCTION BLOCK # before write_aux functions # Begin Function number 2 > display_poles := proc() > local rad_given; > global ALWAYS,glob_display_flag,glob_larger_float, glob_large_float, glob_diff_ord_fm, glob_diff_ord_fmm1, glob_diff_ord_fmm2, glob_diff_rc_fm, glob_diff_rc_fmm1, glob_diff_rc_fmm2, glob_guess_error_ord, glob_guess_error_rc, glob_type_given_pole,array_given_rad_poles,array_given_ord_poles,array_rad_test_poles,array_ord_test_poles,glob_least_3_sing,glob_least_6_sing,glob_least_given_sing,glob_least_ratio_sing,array_x ; > if ((glob_type_given_pole = 1) or (glob_type_given_pole = 2)) then # if number 1 > rad_given := sqrt((array_x[1] - array_given_rad_poles[1,1]) * (array_x[1] - array_given_rad_poles[1,1]) + array_given_rad_poles[1,2] * array_given_rad_poles[1,2]); > omniout_float(ALWAYS,"Radius of convergence (given) for eq 1 ",4,rad_given,4," "); > omniout_float(ALWAYS,"Order of pole (given) ",4,array_given_ord_poles[1,1],4," "); > if (rad_given < glob_least_given_sing) then # if number 2 > glob_least_given_sing := rad_given; > fi;# end if 2; > elif > (glob_type_given_pole = 3) then # if number 2 > omniout_str(ALWAYS,"NO POLE (given) for Equation 1"); > elif > (glob_type_given_pole = 5) then # if number 3 > omniout_str(ALWAYS,"SOME POLE (given) for Equation 1"); > else > omniout_str(ALWAYS,"NO INFO (given) for Equation 1"); > fi;# end if 3; > if (array_rad_test_poles[1,1] < glob_large_float) then # if number 3 > omniout_float(ALWAYS,"Radius of convergence (ratio test) for eq 1 ",4,array_rad_test_poles[1,1],4," "); > if (array_rad_test_poles[1,1]< glob_least_ratio_sing) then # if number 4 > glob_least_ratio_sing := array_rad_test_poles[1,1]; > fi;# end if 4; > omniout_float(ALWAYS,"Order of pole (ratio test) ",4, array_ord_test_poles[1,1],4," "); > else > omniout_str(ALWAYS,"NO POLE (ratio test) for Equation 1"); > fi;# end if 3; > if ((array_rad_test_poles[1,2] > glob__small) and (array_rad_test_poles[1,2] < glob_large_float)) then # if number 3 > omniout_float(ALWAYS,"Radius of convergence (three term test) for eq 1 ",4,array_rad_test_poles[1,2],4," "); > if (array_rad_test_poles[1,2]< glob_least_3_sing) then # if number 4 > glob_least_3_sing := array_rad_test_poles[1,2]; > fi;# end if 4; > omniout_float(ALWAYS,"Order of pole (three term test) ",4, array_ord_test_poles[1,2],4," "); > else > omniout_str(ALWAYS,"NO REAL POLE (three term test) for Equation 1"); > fi;# end if 3; > if ((array_rad_test_poles[1,3] > glob__small) and (array_rad_test_poles[1,3] < glob_large_float)) then # if number 3 > omniout_float(ALWAYS,"Radius of convergence (six term test) for eq 1 ",4,array_rad_test_poles[1,3],4," "); > if (array_rad_test_poles[1,3]< glob_least_6_sing) then # if number 4 > glob_least_6_sing := array_rad_test_poles[1,3]; > fi;# end if 4; > omniout_float(ALWAYS,"Order of pole (six term test) ",4, array_ord_test_poles[1,3],4," "); > else > omniout_str(ALWAYS,"NO COMPLEX POLE (six term test) for Equation 1"); > fi;# end if 3 > ; > end; display_poles := proc() local rad_given; global ALWAYS, glob_display_flag, glob_larger_float, glob_large_float, glob_diff_ord_fm, glob_diff_ord_fmm1, glob_diff_ord_fmm2, glob_diff_rc_fm, glob_diff_rc_fmm1, glob_diff_rc_fmm2, glob_guess_error_ord, glob_guess_error_rc, glob_type_given_pole, array_given_rad_poles, array_given_ord_poles, array_rad_test_poles, array_ord_test_poles, glob_least_3_sing, glob_least_6_sing, glob_least_given_sing, glob_least_ratio_sing, array_x; if glob_type_given_pole = 1 or glob_type_given_pole = 2 then rad_given := sqrt((array_x[1] - array_given_rad_poles[1, 1])* (array_x[1] - array_given_rad_poles[1, 1]) + array_given_rad_poles[1, 2]*array_given_rad_poles[1, 2]); omniout_float(ALWAYS, "Radius of convergence (given) for eq 1 ", 4, rad_given, 4, " "); omniout_float(ALWAYS, "Order of pole (given) ", 4, array_given_ord_poles[1, 1], 4, " "); if rad_given < glob_least_given_sing then glob_least_given_sing := rad_given end if elif glob_type_given_pole = 3 then omniout_str(ALWAYS, "NO POLE (given) for Equation 1") elif glob_type_given_pole = 5 then omniout_str(ALWAYS, "SOME POLE (given) for Equation 1") else omniout_str(ALWAYS, "NO INFO (given) for Equation 1") end if; if array_rad_test_poles[1, 1] < glob_large_float then omniout_float(ALWAYS, "Radius of convergence (ratio test) for eq 1 ", 4, array_rad_test_poles[1, 1], 4, " "); if array_rad_test_poles[1, 1] < glob_least_ratio_sing then glob_least_ratio_sing := array_rad_test_poles[1, 1] end if; omniout_float(ALWAYS, "Order of pole (ratio test) ", 4, array_ord_test_poles[1, 1], 4, " ") else omniout_str(ALWAYS, "NO POLE (ratio test) for Equation 1") end if; if glob__small < array_rad_test_poles[1, 2] and array_rad_test_poles[1, 2] < glob_large_float then omniout_float(ALWAYS, "Radius of convergence (three term test) for eq 1 ", 4, array_rad_test_poles[1, 2], 4, " "); if array_rad_test_poles[1, 2] < glob_least_3_sing then glob_least_3_sing := array_rad_test_poles[1, 2] end if; omniout_float(ALWAYS, "Order of pole (three term test) ", 4, array_ord_test_poles[1, 2], 4, " ") else omniout_str(ALWAYS, "NO REAL POLE (three term test) for Equation 1") end if; if glob__small < array_rad_test_poles[1, 3] and array_rad_test_poles[1, 3] < glob_large_float then omniout_float(ALWAYS, "Radius of convergence (six term test) for eq 1 ", 4, array_rad_test_poles[1, 3], 4, " "); if array_rad_test_poles[1, 3] < glob_least_6_sing then glob_least_6_sing := array_rad_test_poles[1, 3] end if; omniout_float(ALWAYS, "Order of pole (six term test) ", 4, array_ord_test_poles[1, 3], 4, " ") else omniout_str(ALWAYS, "NO COMPLEX POLE (six term test) for Equation 1") end if end proc # End Function number 2 # Begin Function number 3 > my_check_sign := proc( x0 ,xf) > local ret; > if (xf > x0) then # if number 3 > ret := glob__1; > else > ret := glob__m1; > fi;# end if 3; > ret;; > end; my_check_sign := proc(x0, xf) local ret; if x0 < xf then ret := glob__1 else ret := glob__m1 end if; ret end proc # End Function number 3 # Begin Function number 4 > est_size_answer := proc() > global > ALWAYS, > INFO, > DEBUGL, > DEBUGMASSIVE, > glob_iolevel, > glob_yes_pole, > glob_no_pole, > glob_not_given, > glob_no_sing_tests, > glob_ratio_test, > glob_three_term_test, > glob_six_term_test, > glob_log_10, #Top Generate Globals Decl > MAX_UNCHANGED, > glob__small, > glob_small_float, > glob_smallish_float, > glob_large_float, > glob_larger_float, > glob__m2, > glob__m1, > glob__0, > glob__1, > glob__2, > glob__3, > glob__4, > glob__5, > glob__8, > glob__10, > glob__100, > glob__pi, > glob__0_5, > glob__0_8, > glob__m0_8, > glob__0_25, > glob__0_125, > glob_prec, > glob_check_sign, > glob_desired_digits_correct, > glob_max_estimated_step_error, > glob_ratio_of_radius, > glob_percent_done, > glob_total_exp_sec, > glob_optimal_expect_sec, > glob_estimated_size_answer, > glob_almost_1, > glob_clock_sec, > glob_clock_start_sec, > glob_disp_incr, > glob_h, > glob_diff_rc_fm, > glob_diff_rc_fmm1, > glob_diff_rc_fmm2, > glob_diff_ord_fm, > glob_diff_ord_fmm1, > glob_diff_ord_fmm2, > glob_six_term_ord_save, > glob_guess_error_rc, > glob_guess_error_ord, > glob_least_given_sing, > glob_least_ratio_sing, > glob_least_3_sing, > glob_least_6_sing, > glob_last_good_h, > glob_max_h, > glob_min_h, > glob_display_interval, > glob_abserr, > glob_relerr, > glob_min_pole_est, > glob_max_rel_trunc_err, > glob_max_trunc_err, > glob_max_hours, > glob_optimal_clock_start_sec, > glob_optimal_start, > glob_upper_ratio_limit, > glob_lower_ratio_limit, > glob_max_sec, > glob_orig_start_sec, > glob_normmax, > glob_max_minutes, > glob_next_display, > glob_est_digits, > glob_subiter_method, > glob_html_log, > glob_min_good_digits, > glob_good_digits, > glob_min_apfp_est_good_digits, > glob_apfp_est_good_digits, > glob_max_opt_iter, > glob_dump, > glob_djd_debug, > glob_display_flag, > glob_djd_debug2, > glob_h_reason, > 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_not_yet_finished, > glob_initial_pass, > glob_not_yet_start_msg, > glob_reached_optimal_h, > glob_optimal_done, > glob_type_given_pole, > glob_optimize, > glob_look_poles, > glob_dump_closed_form, > glob_max_iter, > glob_no_eqs, > glob_unchanged_h_cnt, > glob_warned, > glob_warned2, > glob_start, > glob_iter, #Bottom Generate Globals Decl #BEGIN CONST > array_const_1, > array_const_0D0, > array_const_0D1, > array_const_0D2, > array_const_0D3, #END CONST > array_y_init, > array_norms, > array_fact_1, > array_1st_rel_error, > array_last_rel_error, > array_est_rel_error, > array_max_est_error, > array_type_pole, > array_type_real_pole, > array_type_complex_pole, > array_est_digits, > array_y, > array_x, > array_tmp0, > array_tmp1, > array_tmp2, > array_tmp3, > array_tmp4, > array_tmp5, > array_tmp6, > array_m1, > array_y_higher, > array_y_higher_work, > array_y_higher_work2, > array_y_set_initial, > array_given_rad_poles, > array_given_ord_poles, > array_rad_test_poles, > array_ord_test_poles, > array_fact_2, > ATS_MAX_TERMS, > glob_last; > local min_size; > min_size := glob_estimated_size_answer; > if (float_abs(array_y[1]) < min_size) then # if number 3 > min_size := float_abs(array_y[1]); > omniout_float(ALWAYS,"min_size",32,min_size,32,""); > fi;# end if 3; > if (min_size < glob__1) then # if number 3 > min_size := glob__1; > omniout_float(ALWAYS,"min_size",32,min_size,32,""); > fi;# end if 3; > min_size; > end; est_size_answer := proc() local min_size; global ALWAYS, INFO, DEBUGL, DEBUGMASSIVE, glob_iolevel, glob_yes_pole, glob_no_pole, glob_not_given, glob_no_sing_tests, glob_ratio_test, glob_three_term_test, glob_six_term_test, glob_log_10, MAX_UNCHANGED, glob__small, glob_small_float, glob_smallish_float, glob_large_float, glob_larger_float, glob__m2, glob__m1, glob__0, glob__1, glob__2, glob__3, glob__4, glob__5, glob__8, glob__10, glob__100, glob__pi, glob__0_5, glob__0_8, glob__m0_8, glob__0_25, glob__0_125, glob_prec, glob_check_sign, glob_desired_digits_correct, glob_max_estimated_step_error, glob_ratio_of_radius, glob_percent_done, glob_total_exp_sec, glob_optimal_expect_sec, glob_estimated_size_answer, glob_almost_1, glob_clock_sec, glob_clock_start_sec, glob_disp_incr, glob_h, glob_diff_rc_fm, glob_diff_rc_fmm1, glob_diff_rc_fmm2, glob_diff_ord_fm, glob_diff_ord_fmm1, glob_diff_ord_fmm2, glob_six_term_ord_save, glob_guess_error_rc, glob_guess_error_ord, glob_least_given_sing, glob_least_ratio_sing, glob_least_3_sing, glob_least_6_sing, glob_last_good_h, glob_max_h, glob_min_h, glob_display_interval, glob_abserr, glob_relerr, glob_min_pole_est, glob_max_rel_trunc_err, glob_max_trunc_err, glob_max_hours, glob_optimal_clock_start_sec, glob_optimal_start, glob_upper_ratio_limit, glob_lower_ratio_limit, glob_max_sec, glob_orig_start_sec, glob_normmax, glob_max_minutes, glob_next_display, glob_est_digits, glob_subiter_method, glob_html_log, glob_min_good_digits, glob_good_digits, glob_min_apfp_est_good_digits, glob_apfp_est_good_digits, glob_max_opt_iter, glob_dump, glob_djd_debug, glob_display_flag, glob_djd_debug2, glob_h_reason, 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_not_yet_finished, glob_initial_pass, glob_not_yet_start_msg, glob_reached_optimal_h, glob_optimal_done, glob_type_given_pole, glob_optimize, glob_look_poles, glob_dump_closed_form, glob_max_iter, glob_no_eqs, glob_unchanged_h_cnt, glob_warned, glob_warned2, glob_start, glob_iter, array_const_1, array_const_0D0, array_const_0D1, array_const_0D2, array_const_0D3, array_y_init, array_norms, array_fact_1, array_1st_rel_error, array_last_rel_error, array_est_rel_error, array_max_est_error, array_type_pole, array_type_real_pole, array_type_complex_pole, array_est_digits, array_y, array_x, array_tmp0, array_tmp1, array_tmp2, array_tmp3, array_tmp4, array_tmp5, array_tmp6, array_m1, array_y_higher, array_y_higher_work, array_y_higher_work2, array_y_set_initial, array_given_rad_poles, array_given_ord_poles, array_rad_test_poles, array_ord_test_poles, array_fact_2, ATS_MAX_TERMS, glob_last; min_size := glob_estimated_size_answer; if float_abs(array_y[1]) < min_size then min_size := float_abs(array_y[1]); omniout_float(ALWAYS, "min_size", 32, min_size, 32, "") end if; if min_size < glob__1 then min_size := glob__1; 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 > ALWAYS, > INFO, > DEBUGL, > DEBUGMASSIVE, > glob_iolevel, > glob_yes_pole, > glob_no_pole, > glob_not_given, > glob_no_sing_tests, > glob_ratio_test, > glob_three_term_test, > glob_six_term_test, > glob_log_10, #Top Generate Globals Decl > MAX_UNCHANGED, > glob__small, > glob_small_float, > glob_smallish_float, > glob_large_float, > glob_larger_float, > glob__m2, > glob__m1, > glob__0, > glob__1, > glob__2, > glob__3, > glob__4, > glob__5, > glob__8, > glob__10, > glob__100, > glob__pi, > glob__0_5, > glob__0_8, > glob__m0_8, > glob__0_25, > glob__0_125, > glob_prec, > glob_check_sign, > glob_desired_digits_correct, > glob_max_estimated_step_error, > glob_ratio_of_radius, > glob_percent_done, > glob_total_exp_sec, > glob_optimal_expect_sec, > glob_estimated_size_answer, > glob_almost_1, > glob_clock_sec, > glob_clock_start_sec, > glob_disp_incr, > glob_h, > glob_diff_rc_fm, > glob_diff_rc_fmm1, > glob_diff_rc_fmm2, > glob_diff_ord_fm, > glob_diff_ord_fmm1, > glob_diff_ord_fmm2, > glob_six_term_ord_save, > glob_guess_error_rc, > glob_guess_error_ord, > glob_least_given_sing, > glob_least_ratio_sing, > glob_least_3_sing, > glob_least_6_sing, > glob_last_good_h, > glob_max_h, > glob_min_h, > glob_display_interval, > glob_abserr, > glob_relerr, > glob_min_pole_est, > glob_max_rel_trunc_err, > glob_max_trunc_err, > glob_max_hours, > glob_optimal_clock_start_sec, > glob_optimal_start, > glob_upper_ratio_limit, > glob_lower_ratio_limit, > glob_max_sec, > glob_orig_start_sec, > glob_normmax, > glob_max_minutes, > glob_next_display, > glob_est_digits, > glob_subiter_method, > glob_html_log, > glob_min_good_digits, > glob_good_digits, > glob_min_apfp_est_good_digits, > glob_apfp_est_good_digits, > glob_max_opt_iter, > glob_dump, > glob_djd_debug, > glob_display_flag, > glob_djd_debug2, > glob_h_reason, > 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_not_yet_finished, > glob_initial_pass, > glob_not_yet_start_msg, > glob_reached_optimal_h, > glob_optimal_done, > glob_type_given_pole, > glob_optimize, > glob_look_poles, > glob_dump_closed_form, > glob_max_iter, > glob_no_eqs, > glob_unchanged_h_cnt, > glob_warned, > glob_warned2, > glob_start, > glob_iter, #Bottom Generate Globals Decl #BEGIN CONST > array_const_1, > array_const_0D0, > array_const_0D1, > array_const_0D2, > array_const_0D3, #END CONST > array_y_init, > array_norms, > array_fact_1, > array_1st_rel_error, > array_last_rel_error, > array_est_rel_error, > array_max_est_error, > array_type_pole, > array_type_real_pole, > array_type_complex_pole, > array_est_digits, > array_y, > array_x, > array_tmp0, > array_tmp1, > array_tmp2, > array_tmp3, > array_tmp4, > array_tmp5, > array_tmp6, > array_m1, > array_y_higher, > array_y_higher_work, > array_y_higher_work2, > array_y_set_initial, > array_given_rad_poles, > array_given_ord_poles, > array_rad_test_poles, > array_ord_test_poles, > array_fact_2, > ATS_MAX_TERMS, > glob_last; > local max_estimated_step_error,hn_div_ho,hn_div_ho_2,hn_div_ho_3,no_terms,est_tmp; > max_estimated_step_error := glob__small; > no_terms := ATS_MAX_TERMS; > hn_div_ho := glob__0_5; > hn_div_ho_2 := glob__0_25; > hn_div_ho_3 := glob__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,""); > est_tmp := float_abs(array_y[no_terms-3] + array_y[no_terms - 2] * hn_div_ho + array_y[no_terms - 1] * hn_div_ho_2 + array_y[no_terms] * hn_div_ho_3); > if (est_tmp >= max_estimated_step_error) then # if number 3 > max_estimated_step_error := est_tmp; > fi;# end if 3; > omniout_float(ALWAYS,"max_estimated_step_error",32,max_estimated_step_error,32,""); > max_estimated_step_error; > end; test_suggested_h := proc() local max_estimated_step_error, hn_div_ho, hn_div_ho_2, hn_div_ho_3, no_terms, est_tmp; global ALWAYS, INFO, DEBUGL, DEBUGMASSIVE, glob_iolevel, glob_yes_pole, glob_no_pole, glob_not_given, glob_no_sing_tests, glob_ratio_test, glob_three_term_test, glob_six_term_test, glob_log_10, MAX_UNCHANGED, glob__small, glob_small_float, glob_smallish_float, glob_large_float, glob_larger_float, glob__m2, glob__m1, glob__0, glob__1, glob__2, glob__3, glob__4, glob__5, glob__8, glob__10, glob__100, glob__pi, glob__0_5, glob__0_8, glob__m0_8, glob__0_25, glob__0_125, glob_prec, glob_check_sign, glob_desired_digits_correct, glob_max_estimated_step_error, glob_ratio_of_radius, glob_percent_done, glob_total_exp_sec, glob_optimal_expect_sec, glob_estimated_size_answer, glob_almost_1, glob_clock_sec, glob_clock_start_sec, glob_disp_incr, glob_h, glob_diff_rc_fm, glob_diff_rc_fmm1, glob_diff_rc_fmm2, glob_diff_ord_fm, glob_diff_ord_fmm1, glob_diff_ord_fmm2, glob_six_term_ord_save, glob_guess_error_rc, glob_guess_error_ord, glob_least_given_sing, glob_least_ratio_sing, glob_least_3_sing, glob_least_6_sing, glob_last_good_h, glob_max_h, glob_min_h, glob_display_interval, glob_abserr, glob_relerr, glob_min_pole_est, glob_max_rel_trunc_err, glob_max_trunc_err, glob_max_hours, glob_optimal_clock_start_sec, glob_optimal_start, glob_upper_ratio_limit, glob_lower_ratio_limit, glob_max_sec, glob_orig_start_sec, glob_normmax, glob_max_minutes, glob_next_display, glob_est_digits, glob_subiter_method, glob_html_log, glob_min_good_digits, glob_good_digits, glob_min_apfp_est_good_digits, glob_apfp_est_good_digits, glob_max_opt_iter, glob_dump, glob_djd_debug, glob_display_flag, glob_djd_debug2, glob_h_reason, 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_not_yet_finished, glob_initial_pass, glob_not_yet_start_msg, glob_reached_optimal_h, glob_optimal_done, glob_type_given_pole, glob_optimize, glob_look_poles, glob_dump_closed_form, glob_max_iter, glob_no_eqs, glob_unchanged_h_cnt, glob_warned, glob_warned2, glob_start, glob_iter, array_const_1, array_const_0D0, array_const_0D1, array_const_0D2, array_const_0D3, array_y_init, array_norms, array_fact_1, array_1st_rel_error, array_last_rel_error, array_est_rel_error, array_max_est_error, array_type_pole, array_type_real_pole, array_type_complex_pole, array_est_digits, array_y, array_x, array_tmp0, array_tmp1, array_tmp2, array_tmp3, array_tmp4, array_tmp5, array_tmp6, array_m1, array_y_higher, array_y_higher_work, array_y_higher_work2, array_y_set_initial, array_given_rad_poles, array_given_ord_poles, array_rad_test_poles, array_ord_test_poles, array_fact_2, ATS_MAX_TERMS, glob_last; max_estimated_step_error := glob__small; no_terms := ATS_MAX_TERMS; hn_div_ho := glob__0_5; hn_div_ho_2 := glob__0_25; hn_div_ho_3 := glob__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, ""); est_tmp := float_abs(array_y[no_terms - 3] + array_y[no_terms - 2]*hn_div_ho + array_y[no_terms - 1]*hn_div_ho_2 + array_y[no_terms]*hn_div_ho_3); if max_estimated_step_error <= est_tmp then max_estimated_step_error := est_tmp end if; omniout_float(ALWAYS, "max_estimated_step_error", 32, max_estimated_step_error, 32, ""); max_estimated_step_error end proc # End Function number 5 # Begin Function number 6 > track_estimated_error := proc() > global > ALWAYS, > INFO, > DEBUGL, > DEBUGMASSIVE, > glob_iolevel, > glob_yes_pole, > glob_no_pole, > glob_not_given, > glob_no_sing_tests, > glob_ratio_test, > glob_three_term_test, > glob_six_term_test, > glob_log_10, #Top Generate Globals Decl > MAX_UNCHANGED, > glob__small, > glob_small_float, > glob_smallish_float, > glob_large_float, > glob_larger_float, > glob__m2, > glob__m1, > glob__0, > glob__1, > glob__2, > glob__3, > glob__4, > glob__5, > glob__8, > glob__10, > glob__100, > glob__pi, > glob__0_5, > glob__0_8, > glob__m0_8, > glob__0_25, > glob__0_125, > glob_prec, > glob_check_sign, > glob_desired_digits_correct, > glob_max_estimated_step_error, > glob_ratio_of_radius, > glob_percent_done, > glob_total_exp_sec, > glob_optimal_expect_sec, > glob_estimated_size_answer, > glob_almost_1, > glob_clock_sec, > glob_clock_start_sec, > glob_disp_incr, > glob_h, > glob_diff_rc_fm, > glob_diff_rc_fmm1, > glob_diff_rc_fmm2, > glob_diff_ord_fm, > glob_diff_ord_fmm1, > glob_diff_ord_fmm2, > glob_six_term_ord_save, > glob_guess_error_rc, > glob_guess_error_ord, > glob_least_given_sing, > glob_least_ratio_sing, > glob_least_3_sing, > glob_least_6_sing, > glob_last_good_h, > glob_max_h, > glob_min_h, > glob_display_interval, > glob_abserr, > glob_relerr, > glob_min_pole_est, > glob_max_rel_trunc_err, > glob_max_trunc_err, > glob_max_hours, > glob_optimal_clock_start_sec, > glob_optimal_start, > glob_upper_ratio_limit, > glob_lower_ratio_limit, > glob_max_sec, > glob_orig_start_sec, > glob_normmax, > glob_max_minutes, > glob_next_display, > glob_est_digits, > glob_subiter_method, > glob_html_log, > glob_min_good_digits, > glob_good_digits, > glob_min_apfp_est_good_digits, > glob_apfp_est_good_digits, > glob_max_opt_iter, > glob_dump, > glob_djd_debug, > glob_display_flag, > glob_djd_debug2, > glob_h_reason, > 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_not_yet_finished, > glob_initial_pass, > glob_not_yet_start_msg, > glob_reached_optimal_h, > glob_optimal_done, > glob_type_given_pole, > glob_optimize, > glob_look_poles, > glob_dump_closed_form, > glob_max_iter, > glob_no_eqs, > glob_unchanged_h_cnt, > glob_warned, > glob_warned2, > glob_start, > glob_iter, #Bottom Generate Globals Decl #BEGIN CONST > array_const_1, > array_const_0D0, > array_const_0D1, > array_const_0D2, > array_const_0D3, #END CONST > array_y_init, > array_norms, > array_fact_1, > array_1st_rel_error, > array_last_rel_error, > array_est_rel_error, > array_max_est_error, > array_type_pole, > array_type_real_pole, > array_type_complex_pole, > array_est_digits, > array_y, > array_x, > array_tmp0, > array_tmp1, > array_tmp2, > array_tmp3, > array_tmp4, > array_tmp5, > array_tmp6, > array_m1, > array_y_higher, > array_y_higher_work, > array_y_higher_work2, > array_y_set_initial, > array_given_rad_poles, > array_given_ord_poles, > array_rad_test_poles, > array_ord_test_poles, > array_fact_2, > ATS_MAX_TERMS, > glob_last; > local hn_div_ho,hn_div_ho_2,hn_div_ho_3,no_terms,est_tmp; > no_terms := ATS_MAX_TERMS; > hn_div_ho := glob__0_5; > hn_div_ho_2 := glob__0_25; > hn_div_ho_3 := glob__0_125; > est_tmp := c(float_abs(array_y[no_terms-3])) + c(float_abs(array_y[no_terms - 2])) * c(hn_div_ho) + c(float_abs(array_y[no_terms - 1])) * c(hn_div_ho_2) + c(float_abs(array_y[no_terms])) * c(hn_div_ho_3); > if (glob_prec * c(float_abs(array_y[1])) > c(est_tmp)) then # if number 3 > est_tmp := c(glob_prec) * c(float_abs(array_y[1])); > fi;# end if 3; > if (c(est_tmp) >= c(array_max_est_error[1])) then # if number 3 > array_max_est_error[1] := c(est_tmp); > fi;# end if 3 > ; > end; track_estimated_error := proc() local hn_div_ho, hn_div_ho_2, hn_div_ho_3, no_terms, est_tmp; global ALWAYS, INFO, DEBUGL, DEBUGMASSIVE, glob_iolevel, glob_yes_pole, glob_no_pole, glob_not_given, glob_no_sing_tests, glob_ratio_test, glob_three_term_test, glob_six_term_test, glob_log_10, MAX_UNCHANGED, glob__small, glob_small_float, glob_smallish_float, glob_large_float, glob_larger_float, glob__m2, glob__m1, glob__0, glob__1, glob__2, glob__3, glob__4, glob__5, glob__8, glob__10, glob__100, glob__pi, glob__0_5, glob__0_8, glob__m0_8, glob__0_25, glob__0_125, glob_prec, glob_check_sign, glob_desired_digits_correct, glob_max_estimated_step_error, glob_ratio_of_radius, glob_percent_done, glob_total_exp_sec, glob_optimal_expect_sec, glob_estimated_size_answer, glob_almost_1, glob_clock_sec, glob_clock_start_sec, glob_disp_incr, glob_h, glob_diff_rc_fm, glob_diff_rc_fmm1, glob_diff_rc_fmm2, glob_diff_ord_fm, glob_diff_ord_fmm1, glob_diff_ord_fmm2, glob_six_term_ord_save, glob_guess_error_rc, glob_guess_error_ord, glob_least_given_sing, glob_least_ratio_sing, glob_least_3_sing, glob_least_6_sing, glob_last_good_h, glob_max_h, glob_min_h, glob_display_interval, glob_abserr, glob_relerr, glob_min_pole_est, glob_max_rel_trunc_err, glob_max_trunc_err, glob_max_hours, glob_optimal_clock_start_sec, glob_optimal_start, glob_upper_ratio_limit, glob_lower_ratio_limit, glob_max_sec, glob_orig_start_sec, glob_normmax, glob_max_minutes, glob_next_display, glob_est_digits, glob_subiter_method, glob_html_log, glob_min_good_digits, glob_good_digits, glob_min_apfp_est_good_digits, glob_apfp_est_good_digits, glob_max_opt_iter, glob_dump, glob_djd_debug, glob_display_flag, glob_djd_debug2, glob_h_reason, 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_not_yet_finished, glob_initial_pass, glob_not_yet_start_msg, glob_reached_optimal_h, glob_optimal_done, glob_type_given_pole, glob_optimize, glob_look_poles, glob_dump_closed_form, glob_max_iter, glob_no_eqs, glob_unchanged_h_cnt, glob_warned, glob_warned2, glob_start, glob_iter, array_const_1, array_const_0D0, array_const_0D1, array_const_0D2, array_const_0D3, array_y_init, array_norms, array_fact_1, array_1st_rel_error, array_last_rel_error, array_est_rel_error, array_max_est_error, array_type_pole, array_type_real_pole, array_type_complex_pole, array_est_digits, array_y, array_x, array_tmp0, array_tmp1, array_tmp2, array_tmp3, array_tmp4, array_tmp5, array_tmp6, array_m1, array_y_higher, array_y_higher_work, array_y_higher_work2, array_y_set_initial, array_given_rad_poles, array_given_ord_poles, array_rad_test_poles, array_ord_test_poles, array_fact_2, ATS_MAX_TERMS, glob_last; no_terms := ATS_MAX_TERMS; hn_div_ho := glob__0_5; hn_div_ho_2 := glob__0_25; hn_div_ho_3 := glob__0_125; est_tmp := c(float_abs(array_y[no_terms - 3])) + c(float_abs(array_y[no_terms - 2]))*c(hn_div_ho) + c(float_abs(array_y[no_terms - 1]))*c(hn_div_ho_2) + c(float_abs(array_y[no_terms]))*c(hn_div_ho_3); if c(est_tmp) < glob_prec*c(float_abs(array_y[1])) then est_tmp := c(glob_prec)*c(float_abs(array_y[1])) end if; if c(array_max_est_error[1]) <= c(est_tmp) then array_max_est_error[1] := c(est_tmp) end if end proc # End Function number 6 # Begin Function number 7 > reached_interval := proc() > global > ALWAYS, > INFO, > DEBUGL, > DEBUGMASSIVE, > glob_iolevel, > glob_yes_pole, > glob_no_pole, > glob_not_given, > glob_no_sing_tests, > glob_ratio_test, > glob_three_term_test, > glob_six_term_test, > glob_log_10, #Top Generate Globals Decl > MAX_UNCHANGED, > glob__small, > glob_small_float, > glob_smallish_float, > glob_large_float, > glob_larger_float, > glob__m2, > glob__m1, > glob__0, > glob__1, > glob__2, > glob__3, > glob__4, > glob__5, > glob__8, > glob__10, > glob__100, > glob__pi, > glob__0_5, > glob__0_8, > glob__m0_8, > glob__0_25, > glob__0_125, > glob_prec, > glob_check_sign, > glob_desired_digits_correct, > glob_max_estimated_step_error, > glob_ratio_of_radius, > glob_percent_done, > glob_total_exp_sec, > glob_optimal_expect_sec, > glob_estimated_size_answer, > glob_almost_1, > glob_clock_sec, > glob_clock_start_sec, > glob_disp_incr, > glob_h, > glob_diff_rc_fm, > glob_diff_rc_fmm1, > glob_diff_rc_fmm2, > glob_diff_ord_fm, > glob_diff_ord_fmm1, > glob_diff_ord_fmm2, > glob_six_term_ord_save, > glob_guess_error_rc, > glob_guess_error_ord, > glob_least_given_sing, > glob_least_ratio_sing, > glob_least_3_sing, > glob_least_6_sing, > glob_last_good_h, > glob_max_h, > glob_min_h, > glob_display_interval, > glob_abserr, > glob_relerr, > glob_min_pole_est, > glob_max_rel_trunc_err, > glob_max_trunc_err, > glob_max_hours, > glob_optimal_clock_start_sec, > glob_optimal_start, > glob_upper_ratio_limit, > glob_lower_ratio_limit, > glob_max_sec, > glob_orig_start_sec, > glob_normmax, > glob_max_minutes, > glob_next_display, > glob_est_digits, > glob_subiter_method, > glob_html_log, > glob_min_good_digits, > glob_good_digits, > glob_min_apfp_est_good_digits, > glob_apfp_est_good_digits, > glob_max_opt_iter, > glob_dump, > glob_djd_debug, > glob_display_flag, > glob_djd_debug2, > glob_h_reason, > 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_not_yet_finished, > glob_initial_pass, > glob_not_yet_start_msg, > glob_reached_optimal_h, > glob_optimal_done, > glob_type_given_pole, > glob_optimize, > glob_look_poles, > glob_dump_closed_form, > glob_max_iter, > glob_no_eqs, > glob_unchanged_h_cnt, > glob_warned, > glob_warned2, > glob_start, > glob_iter, #Bottom Generate Globals Decl #BEGIN CONST > array_const_1, > array_const_0D0, > array_const_0D1, > array_const_0D2, > array_const_0D3, #END CONST > array_y_init, > array_norms, > array_fact_1, > array_1st_rel_error, > array_last_rel_error, > array_est_rel_error, > array_max_est_error, > array_type_pole, > array_type_real_pole, > array_type_complex_pole, > array_est_digits, > array_y, > array_x, > array_tmp0, > array_tmp1, > array_tmp2, > array_tmp3, > array_tmp4, > array_tmp5, > array_tmp6, > array_m1, > array_y_higher, > array_y_higher_work, > array_y_higher_work2, > array_y_set_initial, > array_given_rad_poles, > array_given_ord_poles, > array_rad_test_poles, > array_ord_test_poles, > array_fact_2, > ATS_MAX_TERMS, > glob_last; > local ret; > if ((glob_check_sign * array_x[1]) >= (glob_check_sign * glob_next_display - glob_h/glob__10)) then # if number 3 > ret := true; > else > ret := false; > fi;# end if 3; > return(ret); > end; reached_interval := proc() local ret; global ALWAYS, INFO, DEBUGL, DEBUGMASSIVE, glob_iolevel, glob_yes_pole, glob_no_pole, glob_not_given, glob_no_sing_tests, glob_ratio_test, glob_three_term_test, glob_six_term_test, glob_log_10, MAX_UNCHANGED, glob__small, glob_small_float, glob_smallish_float, glob_large_float, glob_larger_float, glob__m2, glob__m1, glob__0, glob__1, glob__2, glob__3, glob__4, glob__5, glob__8, glob__10, glob__100, glob__pi, glob__0_5, glob__0_8, glob__m0_8, glob__0_25, glob__0_125, glob_prec, glob_check_sign, glob_desired_digits_correct, glob_max_estimated_step_error, glob_ratio_of_radius, glob_percent_done, glob_total_exp_sec, glob_optimal_expect_sec, glob_estimated_size_answer, glob_almost_1, glob_clock_sec, glob_clock_start_sec, glob_disp_incr, glob_h, glob_diff_rc_fm, glob_diff_rc_fmm1, glob_diff_rc_fmm2, glob_diff_ord_fm, glob_diff_ord_fmm1, glob_diff_ord_fmm2, glob_six_term_ord_save, glob_guess_error_rc, glob_guess_error_ord, glob_least_given_sing, glob_least_ratio_sing, glob_least_3_sing, glob_least_6_sing, glob_last_good_h, glob_max_h, glob_min_h, glob_display_interval, glob_abserr, glob_relerr, glob_min_pole_est, glob_max_rel_trunc_err, glob_max_trunc_err, glob_max_hours, glob_optimal_clock_start_sec, glob_optimal_start, glob_upper_ratio_limit, glob_lower_ratio_limit, glob_max_sec, glob_orig_start_sec, glob_normmax, glob_max_minutes, glob_next_display, glob_est_digits, glob_subiter_method, glob_html_log, glob_min_good_digits, glob_good_digits, glob_min_apfp_est_good_digits, glob_apfp_est_good_digits, glob_max_opt_iter, glob_dump, glob_djd_debug, glob_display_flag, glob_djd_debug2, glob_h_reason, 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_not_yet_finished, glob_initial_pass, glob_not_yet_start_msg, glob_reached_optimal_h, glob_optimal_done, glob_type_given_pole, glob_optimize, glob_look_poles, glob_dump_closed_form, glob_max_iter, glob_no_eqs, glob_unchanged_h_cnt, glob_warned, glob_warned2, glob_start, glob_iter, array_const_1, array_const_0D0, array_const_0D1, array_const_0D2, array_const_0D3, array_y_init, array_norms, array_fact_1, array_1st_rel_error, array_last_rel_error, array_est_rel_error, array_max_est_error, array_type_pole, array_type_real_pole, array_type_complex_pole, array_est_digits, array_y, array_x, array_tmp0, array_tmp1, array_tmp2, array_tmp3, array_tmp4, array_tmp5, array_tmp6, array_m1, array_y_higher, array_y_higher_work, array_y_higher_work2, array_y_set_initial, array_given_rad_poles, array_given_ord_poles, array_rad_test_poles, array_ord_test_poles, array_fact_2, ATS_MAX_TERMS, glob_last; if glob_check_sign*glob_next_display - glob_h/glob__10 <= glob_check_sign*array_x[1] then ret := true else ret := false end if; return ret end proc # End Function number 7 # Begin Function number 8 > display_alot := proc(iter) > global > ALWAYS, > INFO, > DEBUGL, > DEBUGMASSIVE, > glob_iolevel, > glob_yes_pole, > glob_no_pole, > glob_not_given, > glob_no_sing_tests, > glob_ratio_test, > glob_three_term_test, > glob_six_term_test, > glob_log_10, #Top Generate Globals Decl > MAX_UNCHANGED, > glob__small, > glob_small_float, > glob_smallish_float, > glob_large_float, > glob_larger_float, > glob__m2, > glob__m1, > glob__0, > glob__1, > glob__2, > glob__3, > glob__4, > glob__5, > glob__8, > glob__10, > glob__100, > glob__pi, > glob__0_5, > glob__0_8, > glob__m0_8, > glob__0_25, > glob__0_125, > glob_prec, > glob_check_sign, > glob_desired_digits_correct, > glob_max_estimated_step_error, > glob_ratio_of_radius, > glob_percent_done, > glob_total_exp_sec, > glob_optimal_expect_sec, > glob_estimated_size_answer, > glob_almost_1, > glob_clock_sec, > glob_clock_start_sec, > glob_disp_incr, > glob_h, > glob_diff_rc_fm, > glob_diff_rc_fmm1, > glob_diff_rc_fmm2, > glob_diff_ord_fm, > glob_diff_ord_fmm1, > glob_diff_ord_fmm2, > glob_six_term_ord_save, > glob_guess_error_rc, > glob_guess_error_ord, > glob_least_given_sing, > glob_least_ratio_sing, > glob_least_3_sing, > glob_least_6_sing, > glob_last_good_h, > glob_max_h, > glob_min_h, > glob_display_interval, > glob_abserr, > glob_relerr, > glob_min_pole_est, > glob_max_rel_trunc_err, > glob_max_trunc_err, > glob_max_hours, > glob_optimal_clock_start_sec, > glob_optimal_start, > glob_upper_ratio_limit, > glob_lower_ratio_limit, > glob_max_sec, > glob_orig_start_sec, > glob_normmax, > glob_max_minutes, > glob_next_display, > glob_est_digits, > glob_subiter_method, > glob_html_log, > glob_min_good_digits, > glob_good_digits, > glob_min_apfp_est_good_digits, > glob_apfp_est_good_digits, > glob_max_opt_iter, > glob_dump, > glob_djd_debug, > glob_display_flag, > glob_djd_debug2, > glob_h_reason, > 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_not_yet_finished, > glob_initial_pass, > glob_not_yet_start_msg, > glob_reached_optimal_h, > glob_optimal_done, > glob_type_given_pole, > glob_optimize, > glob_look_poles, > glob_dump_closed_form, > glob_max_iter, > glob_no_eqs, > glob_unchanged_h_cnt, > glob_warned, > glob_warned2, > glob_start, > glob_iter, #Bottom Generate Globals Decl #BEGIN CONST > array_const_1, > array_const_0D0, > array_const_0D1, > array_const_0D2, > array_const_0D3, #END CONST > array_y_init, > array_norms, > array_fact_1, > array_1st_rel_error, > array_last_rel_error, > array_est_rel_error, > array_max_est_error, > array_type_pole, > array_type_real_pole, > array_type_complex_pole, > array_est_digits, > array_y, > array_x, > array_tmp0, > array_tmp1, > array_tmp2, > array_tmp3, > array_tmp4, > array_tmp5, > array_tmp6, > array_m1, > array_y_higher, > array_y_higher_work, > array_y_higher_work2, > array_y_set_initial, > array_given_rad_poles, > array_given_ord_poles, > array_rad_test_poles, > array_ord_test_poles, > array_fact_2, > ATS_MAX_TERMS, > glob_last; > local abserr, closed_form_val_y, ind_var, numeric_val, relerr, term_no, est_rel_err; > #TOP DISPLAY ALOT > if (reached_interval()) then # if number 3 > if (iter >= 0) then # if number 4 > ind_var := array_x[1]; > omniout_float(ALWAYS,"x[1] ",33,ind_var,20," "); > closed_form_val_y := evalf(exact_soln_y(ind_var)); > omniout_float(ALWAYS,"y[1] (closed_form) ",33,closed_form_val_y,20," "); > term_no := 1; > numeric_val := array_y[term_no]; > abserr := float_abs(numeric_val - closed_form_val_y); > omniout_float(ALWAYS,"y[1] (numeric) ",33,numeric_val,20," "); > if (c(float_abs(closed_form_val_y)) > c(glob_prec)) then # if number 5 > relerr := abserr*glob__100/float_abs(closed_form_val_y); > if (c(relerr) > c(glob_prec)) then # if number 6 > glob_good_digits := -int_trunc(log10(c(relerr))) + 3; > else > glob_good_digits := Digits; > fi;# end if 6; > else > relerr := glob__m1 ; > glob_good_digits := -16; > fi;# end if 5; > if (glob_good_digits < glob_min_good_digits) then # if number 5 > glob_min_good_digits := glob_good_digits; > fi;# end if 5; > if (glob_apfp_est_good_digits < glob_min_apfp_est_good_digits) then # if number 5 > glob_min_apfp_est_good_digits := glob_apfp_est_good_digits; > fi;# end if 5; > if (evalf(float_abs(numeric_val)) > glob_prec) then # if number 5 > est_rel_err := evalf(array_max_est_error[1]*100.0 * sqrt(glob_iter)*28*ATS_MAX_TERMS/float_abs(numeric_val)); > if (evalf(est_rel_err) > glob_prec) then # if number 6 > glob_est_digits := -int_trunc(log10(est_rel_err)) + 3; > else > glob_est_digits := Digits; > fi;# end if 6; > else > relerr := glob__m1 ; > glob_est_digits := -16; > fi;# end if 5; > array_est_digits[1] := glob_est_digits; > if (glob_iter = 1) then # if number 5 > array_1st_rel_error[1] := relerr; > else > array_last_rel_error[1] := relerr; > fi;# end if 5; > array_est_rel_error[1] := est_rel_err; > omniout_float(ALWAYS,"absolute error ",4,abserr,20," "); > omniout_float(ALWAYS,"relative error ",4,relerr,20,"%"); > omniout_int(INFO,"Desired digits ",32,glob_desired_digits_correct,4," "); > omniout_int(INFO,"Estimated correct digits ",32,glob_est_digits,4," "); > omniout_int(INFO,"Correct digits ",32,glob_good_digits,4," ") > ; > omniout_float(ALWAYS,"h ",4,glob_h,20," "); > fi;# end if 4; > #BOTTOM DISPLAY ALOT > fi;# end if 3; > end; display_alot := proc(iter) local abserr, closed_form_val_y, ind_var, numeric_val, relerr, term_no, est_rel_err; global ALWAYS, INFO, DEBUGL, DEBUGMASSIVE, glob_iolevel, glob_yes_pole, glob_no_pole, glob_not_given, glob_no_sing_tests, glob_ratio_test, glob_three_term_test, glob_six_term_test, glob_log_10, MAX_UNCHANGED, glob__small, glob_small_float, glob_smallish_float, glob_large_float, glob_larger_float, glob__m2, glob__m1, glob__0, glob__1, glob__2, glob__3, glob__4, glob__5, glob__8, glob__10, glob__100, glob__pi, glob__0_5, glob__0_8, glob__m0_8, glob__0_25, glob__0_125, glob_prec, glob_check_sign, glob_desired_digits_correct, glob_max_estimated_step_error, glob_ratio_of_radius, glob_percent_done, glob_total_exp_sec, glob_optimal_expect_sec, glob_estimated_size_answer, glob_almost_1, glob_clock_sec, glob_clock_start_sec, glob_disp_incr, glob_h, glob_diff_rc_fm, glob_diff_rc_fmm1, glob_diff_rc_fmm2, glob_diff_ord_fm, glob_diff_ord_fmm1, glob_diff_ord_fmm2, glob_six_term_ord_save, glob_guess_error_rc, glob_guess_error_ord, glob_least_given_sing, glob_least_ratio_sing, glob_least_3_sing, glob_least_6_sing, glob_last_good_h, glob_max_h, glob_min_h, glob_display_interval, glob_abserr, glob_relerr, glob_min_pole_est, glob_max_rel_trunc_err, glob_max_trunc_err, glob_max_hours, glob_optimal_clock_start_sec, glob_optimal_start, glob_upper_ratio_limit, glob_lower_ratio_limit, glob_max_sec, glob_orig_start_sec, glob_normmax, glob_max_minutes, glob_next_display, glob_est_digits, glob_subiter_method, glob_html_log, glob_min_good_digits, glob_good_digits, glob_min_apfp_est_good_digits, glob_apfp_est_good_digits, glob_max_opt_iter, glob_dump, glob_djd_debug, glob_display_flag, glob_djd_debug2, glob_h_reason, 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_not_yet_finished, glob_initial_pass, glob_not_yet_start_msg, glob_reached_optimal_h, glob_optimal_done, glob_type_given_pole, glob_optimize, glob_look_poles, glob_dump_closed_form, glob_max_iter, glob_no_eqs, glob_unchanged_h_cnt, glob_warned, glob_warned2, glob_start, glob_iter, array_const_1, array_const_0D0, array_const_0D1, array_const_0D2, array_const_0D3, array_y_init, array_norms, array_fact_1, array_1st_rel_error, array_last_rel_error, array_est_rel_error, array_max_est_error, array_type_pole, array_type_real_pole, array_type_complex_pole, array_est_digits, array_y, array_x, array_tmp0, array_tmp1, array_tmp2, array_tmp3, array_tmp4, array_tmp5, array_tmp6, array_m1, array_y_higher, array_y_higher_work, array_y_higher_work2, array_y_set_initial, array_given_rad_poles, array_given_ord_poles, array_rad_test_poles, array_ord_test_poles, array_fact_2, ATS_MAX_TERMS, glob_last; if reached_interval() then if 0 <= iter then ind_var := array_x[1]; omniout_float(ALWAYS, "x[1] ", 33, ind_var, 20, " "); closed_form_val_y := evalf(exact_soln_y(ind_var)); omniout_float(ALWAYS, "y[1] (closed_form) ", 33, closed_form_val_y, 20, " "); term_no := 1; numeric_val := array_y[term_no]; abserr := float_abs(numeric_val - closed_form_val_y); omniout_float(ALWAYS, "y[1] (numeric) ", 33, numeric_val, 20, " "); if c(glob_prec) < c(float_abs(closed_form_val_y)) then relerr := abserr*glob__100/float_abs(closed_form_val_y); if c(glob_prec) < c(relerr) then glob_good_digits := -int_trunc(log10(c(relerr))) + 3 else glob_good_digits := Digits end if else relerr := glob__m1; glob_good_digits := -16 end if; if glob_good_digits < glob_min_good_digits then glob_min_good_digits := glob_good_digits end if; if glob_apfp_est_good_digits < glob_min_apfp_est_good_digits then glob_min_apfp_est_good_digits := glob_apfp_est_good_digits end if; if glob_prec < evalf(float_abs(numeric_val)) then est_rel_err := evalf(array_max_est_error[1]*100.0* sqrt(glob_iter)*28*ATS_MAX_TERMS/float_abs(numeric_val)) ; if glob_prec < evalf(est_rel_err) then glob_est_digits := -int_trunc(log10(est_rel_err)) + 3 else glob_est_digits := Digits end if else relerr := glob__m1; glob_est_digits := -16 end if; array_est_digits[1] := glob_est_digits; if glob_iter = 1 then array_1st_rel_error[1] := relerr else array_last_rel_error[1] := relerr end if; array_est_rel_error[1] := est_rel_err; omniout_float(ALWAYS, "absolute error ", 4, abserr, 20, " "); omniout_float(ALWAYS, "relative error ", 4, relerr, 20, "%"); omniout_int(INFO, "Desired digits ", 32, glob_desired_digits_correct, 4, " "); omniout_int(INFO, "Estimated correct digits ", 32, glob_est_digits, 4, " "); 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 8 # Begin Function number 9 > prog_report := proc(x_start,x_end) > global > ALWAYS, > INFO, > DEBUGL, > DEBUGMASSIVE, > glob_iolevel, > glob_yes_pole, > glob_no_pole, > glob_not_given, > glob_no_sing_tests, > glob_ratio_test, > glob_three_term_test, > glob_six_term_test, > glob_log_10, #Top Generate Globals Decl > MAX_UNCHANGED, > glob__small, > glob_small_float, > glob_smallish_float, > glob_large_float, > glob_larger_float, > glob__m2, > glob__m1, > glob__0, > glob__1, > glob__2, > glob__3, > glob__4, > glob__5, > glob__8, > glob__10, > glob__100, > glob__pi, > glob__0_5, > glob__0_8, > glob__m0_8, > glob__0_25, > glob__0_125, > glob_prec, > glob_check_sign, > glob_desired_digits_correct, > glob_max_estimated_step_error, > glob_ratio_of_radius, > glob_percent_done, > glob_total_exp_sec, > glob_optimal_expect_sec, > glob_estimated_size_answer, > glob_almost_1, > glob_clock_sec, > glob_clock_start_sec, > glob_disp_incr, > glob_h, > glob_diff_rc_fm, > glob_diff_rc_fmm1, > glob_diff_rc_fmm2, > glob_diff_ord_fm, > glob_diff_ord_fmm1, > glob_diff_ord_fmm2, > glob_six_term_ord_save, > glob_guess_error_rc, > glob_guess_error_ord, > glob_least_given_sing, > glob_least_ratio_sing, > glob_least_3_sing, > glob_least_6_sing, > glob_last_good_h, > glob_max_h, > glob_min_h, > glob_display_interval, > glob_abserr, > glob_relerr, > glob_min_pole_est, > glob_max_rel_trunc_err, > glob_max_trunc_err, > glob_max_hours, > glob_optimal_clock_start_sec, > glob_optimal_start, > glob_upper_ratio_limit, > glob_lower_ratio_limit, > glob_max_sec, > glob_orig_start_sec, > glob_normmax, > glob_max_minutes, > glob_next_display, > glob_est_digits, > glob_subiter_method, > glob_html_log, > glob_min_good_digits, > glob_good_digits, > glob_min_apfp_est_good_digits, > glob_apfp_est_good_digits, > glob_max_opt_iter, > glob_dump, > glob_djd_debug, > glob_display_flag, > glob_djd_debug2, > glob_h_reason, > 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_not_yet_finished, > glob_initial_pass, > glob_not_yet_start_msg, > glob_reached_optimal_h, > glob_optimal_done, > glob_type_given_pole, > glob_optimize, > glob_look_poles, > glob_dump_closed_form, > glob_max_iter, > glob_no_eqs, > glob_unchanged_h_cnt, > glob_warned, > glob_warned2, > glob_start, > glob_iter, #Bottom Generate Globals Decl #BEGIN CONST > array_const_1, > array_const_0D0, > array_const_0D1, > array_const_0D2, > array_const_0D3, #END CONST > array_y_init, > array_norms, > array_fact_1, > array_1st_rel_error, > array_last_rel_error, > array_est_rel_error, > array_max_est_error, > array_type_pole, > array_type_real_pole, > array_type_complex_pole, > array_est_digits, > array_y, > array_x, > array_tmp0, > array_tmp1, > array_tmp2, > array_tmp3, > array_tmp4, > array_tmp5, > array_tmp6, > array_m1, > array_y_higher, > array_y_higher_work, > array_y_higher_work2, > array_y_set_initial, > array_given_rad_poles, > array_given_ord_poles, > array_rad_test_poles, > array_ord_test_poles, > array_fact_2, > ATS_MAX_TERMS, > 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 := (clock_sec1) - (glob_orig_start_sec); > glob_clock_sec := (clock_sec1) - (glob_clock_start_sec); > left_sec := (glob_max_sec) + (glob_orig_start_sec) - (clock_sec1); > expect_sec := comp_expect_sec((x_end),(x_start),(array_x[1]) + (glob_h) ,( clock_sec1) - (glob_orig_start_sec)); > opt_clock_sec := ( clock_sec1) - (glob_optimal_clock_start_sec); > glob_optimal_expect_sec := comp_expect_sec((x_end),(x_start),(array_x[1]) +( glob_h) ,( opt_clock_sec)); > glob_total_exp_sec := glob_optimal_expect_sec + c(total_clock_sec); > percent_done := comp_percent((x_end),(x_start),(array_x[1]) + (glob_h)); > glob_percent_done := percent_done; > omniout_str_noeol(INFO,"Total Elapsed Time "); > omniout_timestr((total_clock_sec)); > omniout_str_noeol(INFO,"Elapsed Time(since restart) "); > omniout_timestr((glob_clock_sec)); > if (c(percent_done) < glob__100) then # if number 3 > omniout_str_noeol(INFO,"Expected Time Remaining "); > omniout_timestr((expect_sec)); > omniout_str_noeol(INFO,"Optimized Time Remaining "); > omniout_timestr((glob_optimal_expect_sec)); > omniout_str_noeol(INFO,"Expected Total Time "); > omniout_timestr((glob_total_exp_sec)); > fi;# end if 3; > omniout_str_noeol(INFO,"Time to Timeout "); > omniout_timestr((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 ALWAYS, INFO, DEBUGL, DEBUGMASSIVE, glob_iolevel, glob_yes_pole, glob_no_pole, glob_not_given, glob_no_sing_tests, glob_ratio_test, glob_three_term_test, glob_six_term_test, glob_log_10, MAX_UNCHANGED, glob__small, glob_small_float, glob_smallish_float, glob_large_float, glob_larger_float, glob__m2, glob__m1, glob__0, glob__1, glob__2, glob__3, glob__4, glob__5, glob__8, glob__10, glob__100, glob__pi, glob__0_5, glob__0_8, glob__m0_8, glob__0_25, glob__0_125, glob_prec, glob_check_sign, glob_desired_digits_correct, glob_max_estimated_step_error, glob_ratio_of_radius, glob_percent_done, glob_total_exp_sec, glob_optimal_expect_sec, glob_estimated_size_answer, glob_almost_1, glob_clock_sec, glob_clock_start_sec, glob_disp_incr, glob_h, glob_diff_rc_fm, glob_diff_rc_fmm1, glob_diff_rc_fmm2, glob_diff_ord_fm, glob_diff_ord_fmm1, glob_diff_ord_fmm2, glob_six_term_ord_save, glob_guess_error_rc, glob_guess_error_ord, glob_least_given_sing, glob_least_ratio_sing, glob_least_3_sing, glob_least_6_sing, glob_last_good_h, glob_max_h, glob_min_h, glob_display_interval, glob_abserr, glob_relerr, glob_min_pole_est, glob_max_rel_trunc_err, glob_max_trunc_err, glob_max_hours, glob_optimal_clock_start_sec, glob_optimal_start, glob_upper_ratio_limit, glob_lower_ratio_limit, glob_max_sec, glob_orig_start_sec, glob_normmax, glob_max_minutes, glob_next_display, glob_est_digits, glob_subiter_method, glob_html_log, glob_min_good_digits, glob_good_digits, glob_min_apfp_est_good_digits, glob_apfp_est_good_digits, glob_max_opt_iter, glob_dump, glob_djd_debug, glob_display_flag, glob_djd_debug2, glob_h_reason, 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_not_yet_finished, glob_initial_pass, glob_not_yet_start_msg, glob_reached_optimal_h, glob_optimal_done, glob_type_given_pole, glob_optimize, glob_look_poles, glob_dump_closed_form, glob_max_iter, glob_no_eqs, glob_unchanged_h_cnt, glob_warned, glob_warned2, glob_start, glob_iter, array_const_1, array_const_0D0, array_const_0D1, array_const_0D2, array_const_0D3, array_y_init, array_norms, array_fact_1, array_1st_rel_error, array_last_rel_error, array_est_rel_error, array_max_est_error, array_type_pole, array_type_real_pole, array_type_complex_pole, array_est_digits, array_y, array_x, array_tmp0, array_tmp1, array_tmp2, array_tmp3, array_tmp4, array_tmp5, array_tmp6, array_m1, array_y_higher, array_y_higher_work, array_y_higher_work2, array_y_set_initial, array_given_rad_poles, array_given_ord_poles, array_rad_test_poles, array_ord_test_poles, array_fact_2, ATS_MAX_TERMS, glob_last; clock_sec1 := elapsed_time_seconds(); total_clock_sec := clock_sec1 - glob_orig_start_sec; glob_clock_sec := clock_sec1 - glob_clock_start_sec; left_sec := glob_max_sec + glob_orig_start_sec - clock_sec1; expect_sec := comp_expect_sec(x_end, x_start, array_x[1] + glob_h, clock_sec1 - glob_orig_start_sec); opt_clock_sec := clock_sec1 - glob_optimal_clock_start_sec; glob_optimal_expect_sec := comp_expect_sec(x_end, x_start, array_x[1] + glob_h, opt_clock_sec) ; glob_total_exp_sec := glob_optimal_expect_sec + c(total_clock_sec); percent_done := comp_percent(x_end, x_start, array_x[1] + glob_h); glob_percent_done := percent_done; omniout_str_noeol(INFO, "Total Elapsed Time "); omniout_timestr(total_clock_sec); omniout_str_noeol(INFO, "Elapsed Time(since restart) "); omniout_timestr(glob_clock_sec); if c(percent_done) < glob__100 then omniout_str_noeol(INFO, "Expected Time Remaining "); omniout_timestr(expect_sec); omniout_str_noeol(INFO, "Optimized Time Remaining "); omniout_timestr(glob_optimal_expect_sec); omniout_str_noeol(INFO, "Expected Total Time "); omniout_timestr(glob_total_exp_sec) end if; omniout_str_noeol(INFO, "Time to Timeout "); omniout_timestr(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 > ALWAYS, > INFO, > DEBUGL, > DEBUGMASSIVE, > glob_iolevel, > glob_yes_pole, > glob_no_pole, > glob_not_given, > glob_no_sing_tests, > glob_ratio_test, > glob_three_term_test, > glob_six_term_test, > glob_log_10, #Top Generate Globals Decl > MAX_UNCHANGED, > glob__small, > glob_small_float, > glob_smallish_float, > glob_large_float, > glob_larger_float, > glob__m2, > glob__m1, > glob__0, > glob__1, > glob__2, > glob__3, > glob__4, > glob__5, > glob__8, > glob__10, > glob__100, > glob__pi, > glob__0_5, > glob__0_8, > glob__m0_8, > glob__0_25, > glob__0_125, > glob_prec, > glob_check_sign, > glob_desired_digits_correct, > glob_max_estimated_step_error, > glob_ratio_of_radius, > glob_percent_done, > glob_total_exp_sec, > glob_optimal_expect_sec, > glob_estimated_size_answer, > glob_almost_1, > glob_clock_sec, > glob_clock_start_sec, > glob_disp_incr, > glob_h, > glob_diff_rc_fm, > glob_diff_rc_fmm1, > glob_diff_rc_fmm2, > glob_diff_ord_fm, > glob_diff_ord_fmm1, > glob_diff_ord_fmm2, > glob_six_term_ord_save, > glob_guess_error_rc, > glob_guess_error_ord, > glob_least_given_sing, > glob_least_ratio_sing, > glob_least_3_sing, > glob_least_6_sing, > glob_last_good_h, > glob_max_h, > glob_min_h, > glob_display_interval, > glob_abserr, > glob_relerr, > glob_min_pole_est, > glob_max_rel_trunc_err, > glob_max_trunc_err, > glob_max_hours, > glob_optimal_clock_start_sec, > glob_optimal_start, > glob_upper_ratio_limit, > glob_lower_ratio_limit, > glob_max_sec, > glob_orig_start_sec, > glob_normmax, > glob_max_minutes, > glob_next_display, > glob_est_digits, > glob_subiter_method, > glob_html_log, > glob_min_good_digits, > glob_good_digits, > glob_min_apfp_est_good_digits, > glob_apfp_est_good_digits, > glob_max_opt_iter, > glob_dump, > glob_djd_debug, > glob_display_flag, > glob_djd_debug2, > glob_h_reason, > 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_not_yet_finished, > glob_initial_pass, > glob_not_yet_start_msg, > glob_reached_optimal_h, > glob_optimal_done, > glob_type_given_pole, > glob_optimize, > glob_look_poles, > glob_dump_closed_form, > glob_max_iter, > glob_no_eqs, > glob_unchanged_h_cnt, > glob_warned, > glob_warned2, > glob_start, > glob_iter, #Bottom Generate Globals Decl #BEGIN CONST > array_const_1, > array_const_0D0, > array_const_0D1, > array_const_0D2, > array_const_0D3, #END CONST > array_y_init, > array_norms, > array_fact_1, > array_1st_rel_error, > array_last_rel_error, > array_est_rel_error, > array_max_est_error, > array_type_pole, > array_type_real_pole, > array_type_complex_pole, > array_est_digits, > array_y, > array_x, > array_tmp0, > array_tmp1, > array_tmp2, > array_tmp3, > array_tmp4, > array_tmp5, > array_tmp6, > array_m1, > array_y_higher, > array_y_higher_work, > array_y_higher_work2, > array_y_set_initial, > array_given_rad_poles, > array_given_ord_poles, > array_rad_test_poles, > array_ord_test_poles, > array_fact_2, > ATS_MAX_TERMS, > glob_last; > local cnt, dr1, dr2, ds1, ds2, hdrc, m, n, nr1, nr2, ord_no, term1, term2, term3, part1, part2, part3, part4, part5, part6, part7, part8, part9, part10, part11, part12, part13, part14, rad_c, rcs, rm0, rm1, rm2, rm3, rm4, found_sing, h_new, ratio, term, local_test, tmp_rad,tmp_ord, tmp_ratio, prev_tmp_rad, last_no; > #TOP CHECK FOR POLE > tmp_rad := glob_larger_float; > prev_tmp_rad := glob_larger_float; > tmp_ratio := glob_larger_float; > rad_c := glob_larger_float; > array_rad_test_poles[1,1] := glob_larger_float; > array_ord_test_poles[1,1] := glob_larger_float; > found_sing := 1; > last_no := ATS_MAX_TERMS - 1 - 10; > cnt := 0; > while (last_no < ATS_MAX_TERMS-3 and found_sing = 1) do # do number 1 > tmp_rad := comp_rad_from_ratio(array_y_higher[1,last_no-1],array_y_higher[1,last_no],last_no); > if (float_abs(prev_tmp_rad) > glob__0) then # if number 3 > tmp_ratio := tmp_rad / prev_tmp_rad; > else > tmp_ratio := glob_large_float; > fi;# end if 3; > if ((cnt > 0 ) and (tmp_ratio < glob_upper_ratio_limit) and (tmp_ratio > glob_lower_ratio_limit)) then # if number 3 > rad_c := tmp_rad; > elif > (cnt = 0) then # if number 4 > rad_c := tmp_rad; > elif > (cnt > 0) then # if number 5 > found_sing := 0; > fi;# end if 5; > prev_tmp_rad := tmp_rad;; > cnt := cnt + 1; > last_no := last_no + 1; > od;# end do number 1; > if (found_sing = 1) then # if number 5 > if (rad_c < array_rad_test_poles[1,1]) then # if number 6 > array_rad_test_poles[1,1] := rad_c; > last_no := last_no - 1; > tmp_ord := comp_ord_from_ratio(array_y_higher[1,last_no-1],array_y_higher[1,last_no],last_no); > array_rad_test_poles[1,1] := rad_c; > array_ord_test_poles[1,1] := tmp_ord; > fi;# end if 6; > fi;# end if 5; > #BOTTOM general radius test1 > tmp_rad := glob_larger_float; > prev_tmp_rad := glob_larger_float; > tmp_ratio := glob_larger_float; > rad_c := glob_larger_float; > array_rad_test_poles[1,2] := glob_larger_float; > array_ord_test_poles[1,2] := glob_larger_float; > found_sing := 1; > last_no := ATS_MAX_TERMS - 1 - 10; > cnt := 0; > while (last_no < ATS_MAX_TERMS-4 and found_sing = 1) do # do number 1 > tmp_rad := comp_rad_from_three_terms(array_y_higher[1,last_no-2],array_y_higher[1,last_no-1],array_y_higher[1,last_no],last_no); > if (float_abs(prev_tmp_rad) > glob__0) then # if number 5 > tmp_ratio := tmp_rad / prev_tmp_rad; > else > tmp_ratio := glob_large_float; > fi;# end if 5; > if ((cnt > 0 ) and (tmp_ratio < glob_upper_ratio_limit) and (tmp_ratio > glob_lower_ratio_limit)) then # if number 5 > rad_c := tmp_rad; > elif > (cnt = 0) then # if number 6 > rad_c := tmp_rad; > elif > (cnt > 0) then # if number 7 > found_sing := 0; > fi;# end if 7; > prev_tmp_rad := tmp_rad;; > cnt := cnt + 1; > last_no := last_no + 1; > od;# end do number 1; > if (found_sing = 1) then # if number 7 > if (rad_c < array_rad_test_poles[1,2]) then # if number 8 > array_rad_test_poles[1,2] := rad_c; > last_no := last_no - 1; > tmp_ord := comp_ord_from_three_terms(array_y_higher[1,last_no-2],array_y_higher[1,last_no-1],array_y_higher[1,last_no],last_no); > array_rad_test_poles[1,2] := rad_c; > if (rad_c < glob_min_pole_est) then # if number 9 > glob_min_pole_est := rad_c; > fi;# end if 9; > array_ord_test_poles[1,2] := tmp_ord; > fi;# end if 8; > fi;# end if 7; > #BOTTOM general radius test1 > tmp_rad := glob_larger_float; > prev_tmp_rad := glob_larger_float; > tmp_ratio := glob_larger_float; > rad_c := glob_larger_float; > array_rad_test_poles[1,3] := glob_larger_float; > array_ord_test_poles[1,3] := glob_larger_float; > found_sing := 1; > last_no := ATS_MAX_TERMS - 1 - 10; > cnt := 0; > while (last_no < ATS_MAX_TERMS-7 and found_sing = 1) do # do number 1 > tmp_rad := comp_rad_from_six_terms(array_y_higher[1,last_no-5],array_y_higher[1,last_no-4],array_y_higher[1,last_no-3],array_y_higher[1,last_no-2],array_y_higher[1,last_no-1],array_y_higher[1,last_no],last_no); > if (float_abs(prev_tmp_rad) > glob__0) then # if number 7 > tmp_ratio := tmp_rad / prev_tmp_rad; > else > tmp_ratio := glob_large_float; > fi;# end if 7; > if ((cnt > 0 ) and (tmp_ratio < glob_upper_ratio_limit) and (tmp_ratio > glob_lower_ratio_limit)) then # if number 7 > rad_c := tmp_rad; > elif > (cnt = 0) then # if number 8 > rad_c := tmp_rad; > elif > (cnt > 0) then # if number 9 > found_sing := 0; > fi;# end if 9; > prev_tmp_rad := tmp_rad;; > cnt := cnt + 1; > last_no := last_no + 1; > od;# end do number 1; > if (found_sing = 1) then # if number 9 > if (rad_c < array_rad_test_poles[1,3]) then # if number 10 > array_rad_test_poles[1,3] := rad_c; > last_no := last_no - 1; > tmp_ord := comp_ord_from_six_terms(array_y_higher[1,last_no-5],array_y_higher[1,last_no-4],array_y_higher[1,last_no-3],array_y_higher[1,last_no-2],array_y_higher[1,last_no-1],array_y_higher[1,last_no],last_no); > array_rad_test_poles[1,3] := rad_c; > if (rad_c < glob_min_pole_est) then # if number 11 > glob_min_pole_est := rad_c; > fi;# end if 11; > array_ord_test_poles[1,3] := tmp_ord; > fi;# end if 10; > fi;# end if 9; > #BOTTOM general radius test1 > #START ADJUST ALL SERIES > if (float_abs(glob_min_pole_est) * glob_ratio_of_radius < float_abs(glob_h)) then # if number 9 > h_new := glob_check_sign * glob_min_pole_est * glob_ratio_of_radius; > omniout_str(ALWAYS,"SETTING H FOR POLE"); > glob_h_reason := 6; > if (glob_check_sign * glob_min_h > glob_check_sign * h_new) then # if number 10 > omniout_str(ALWAYS,"SETTING H FOR MIN H"); > h_new := glob_min_h; > glob_h_reason := 5; > fi;# end if 10; > term := 1; > ratio := c(1.0); > while (term <= ATS_MAX_TERMS) do # do number 1 > array_y[term] := array_y[term]* ratio; > array_y_higher[1,term] := array_y_higher[1,term]* ratio; > array_x[term] := array_x[term]* ratio; > ratio := ratio * h_new / float_abs(glob_h); > term := term + 1; > od;# end do number 1; > glob_h := h_new; > fi;# end if 9; > #BOTTOM ADJUST ALL SERIES > ; > if (reached_interval()) then # if number 9 > display_poles(); > fi;# end if 9 > end; check_for_pole := proc() local cnt, dr1, dr2, ds1, ds2, hdrc, m, n, nr1, nr2, ord_no, term1, term2, term3, part1, part2, part3, part4, part5, part6, part7, part8, part9, part10, part11, part12, part13, part14, rad_c, rcs, rm0, rm1, rm2, rm3, rm4, found_sing, h_new, ratio, term, local_test, tmp_rad, tmp_ord, tmp_ratio, prev_tmp_rad, last_no; global ALWAYS, INFO, DEBUGL, DEBUGMASSIVE, glob_iolevel, glob_yes_pole, glob_no_pole, glob_not_given, glob_no_sing_tests, glob_ratio_test, glob_three_term_test, glob_six_term_test, glob_log_10, MAX_UNCHANGED, glob__small, glob_small_float, glob_smallish_float, glob_large_float, glob_larger_float, glob__m2, glob__m1, glob__0, glob__1, glob__2, glob__3, glob__4, glob__5, glob__8, glob__10, glob__100, glob__pi, glob__0_5, glob__0_8, glob__m0_8, glob__0_25, glob__0_125, glob_prec, glob_check_sign, glob_desired_digits_correct, glob_max_estimated_step_error, glob_ratio_of_radius, glob_percent_done, glob_total_exp_sec, glob_optimal_expect_sec, glob_estimated_size_answer, glob_almost_1, glob_clock_sec, glob_clock_start_sec, glob_disp_incr, glob_h, glob_diff_rc_fm, glob_diff_rc_fmm1, glob_diff_rc_fmm2, glob_diff_ord_fm, glob_diff_ord_fmm1, glob_diff_ord_fmm2, glob_six_term_ord_save, glob_guess_error_rc, glob_guess_error_ord, glob_least_given_sing, glob_least_ratio_sing, glob_least_3_sing, glob_least_6_sing, glob_last_good_h, glob_max_h, glob_min_h, glob_display_interval, glob_abserr, glob_relerr, glob_min_pole_est, glob_max_rel_trunc_err, glob_max_trunc_err, glob_max_hours, glob_optimal_clock_start_sec, glob_optimal_start, glob_upper_ratio_limit, glob_lower_ratio_limit, glob_max_sec, glob_orig_start_sec, glob_normmax, glob_max_minutes, glob_next_display, glob_est_digits, glob_subiter_method, glob_html_log, glob_min_good_digits, glob_good_digits, glob_min_apfp_est_good_digits, glob_apfp_est_good_digits, glob_max_opt_iter, glob_dump, glob_djd_debug, glob_display_flag, glob_djd_debug2, glob_h_reason, 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_not_yet_finished, glob_initial_pass, glob_not_yet_start_msg, glob_reached_optimal_h, glob_optimal_done, glob_type_given_pole, glob_optimize, glob_look_poles, glob_dump_closed_form, glob_max_iter, glob_no_eqs, glob_unchanged_h_cnt, glob_warned, glob_warned2, glob_start, glob_iter, array_const_1, array_const_0D0, array_const_0D1, array_const_0D2, array_const_0D3, array_y_init, array_norms, array_fact_1, array_1st_rel_error, array_last_rel_error, array_est_rel_error, array_max_est_error, array_type_pole, array_type_real_pole, array_type_complex_pole, array_est_digits, array_y, array_x, array_tmp0, array_tmp1, array_tmp2, array_tmp3, array_tmp4, array_tmp5, array_tmp6, array_m1, array_y_higher, array_y_higher_work, array_y_higher_work2, array_y_set_initial, array_given_rad_poles, array_given_ord_poles, array_rad_test_poles, array_ord_test_poles, array_fact_2, ATS_MAX_TERMS, glob_last; tmp_rad := glob_larger_float; prev_tmp_rad := glob_larger_float; tmp_ratio := glob_larger_float; rad_c := glob_larger_float; array_rad_test_poles[1, 1] := glob_larger_float; array_ord_test_poles[1, 1] := glob_larger_float; found_sing := 1; last_no := ATS_MAX_TERMS - 11; cnt := 0; while last_no < ATS_MAX_TERMS - 3 and found_sing = 1 do tmp_rad := comp_rad_from_ratio(array_y_higher[1, last_no - 1], array_y_higher[1, last_no], last_no); if glob__0 < float_abs(prev_tmp_rad) then tmp_ratio := tmp_rad/prev_tmp_rad else tmp_ratio := glob_large_float end if; if 0 < cnt and tmp_ratio < glob_upper_ratio_limit and glob_lower_ratio_limit < tmp_ratio then rad_c := tmp_rad elif cnt = 0 then rad_c := tmp_rad elif 0 < cnt then found_sing := 0 end if; prev_tmp_rad := tmp_rad; cnt := cnt + 1; last_no := last_no + 1 end do; if found_sing = 1 then if rad_c < array_rad_test_poles[1, 1] then array_rad_test_poles[1, 1] := rad_c; last_no := last_no - 1; tmp_ord := comp_ord_from_ratio(array_y_higher[1, last_no - 1], array_y_higher[1, last_no], last_no); array_rad_test_poles[1, 1] := rad_c; array_ord_test_poles[1, 1] := tmp_ord end if end if; tmp_rad := glob_larger_float; prev_tmp_rad := glob_larger_float; tmp_ratio := glob_larger_float; rad_c := glob_larger_float; array_rad_test_poles[1, 2] := glob_larger_float; array_ord_test_poles[1, 2] := glob_larger_float; found_sing := 1; last_no := ATS_MAX_TERMS - 11; cnt := 0; while last_no < ATS_MAX_TERMS - 4 and found_sing = 1 do tmp_rad := comp_rad_from_three_terms( array_y_higher[1, last_no - 2], array_y_higher[1, last_no - 1], array_y_higher[1, last_no], last_no); if glob__0 < float_abs(prev_tmp_rad) then tmp_ratio := tmp_rad/prev_tmp_rad else tmp_ratio := glob_large_float end if; if 0 < cnt and tmp_ratio < glob_upper_ratio_limit and glob_lower_ratio_limit < tmp_ratio then rad_c := tmp_rad elif cnt = 0 then rad_c := tmp_rad elif 0 < cnt then found_sing := 0 end if; prev_tmp_rad := tmp_rad; cnt := cnt + 1; last_no := last_no + 1 end do; if found_sing = 1 then if rad_c < array_rad_test_poles[1, 2] then array_rad_test_poles[1, 2] := rad_c; last_no := last_no - 1; tmp_ord := comp_ord_from_three_terms( array_y_higher[1, last_no - 2], array_y_higher[1, last_no - 1], array_y_higher[1, last_no], last_no); array_rad_test_poles[1, 2] := rad_c; if rad_c < glob_min_pole_est then glob_min_pole_est := rad_c end if; array_ord_test_poles[1, 2] := tmp_ord end if end if; tmp_rad := glob_larger_float; prev_tmp_rad := glob_larger_float; tmp_ratio := glob_larger_float; rad_c := glob_larger_float; array_rad_test_poles[1, 3] := glob_larger_float; array_ord_test_poles[1, 3] := glob_larger_float; found_sing := 1; last_no := ATS_MAX_TERMS - 11; cnt := 0; while last_no < ATS_MAX_TERMS - 7 and found_sing = 1 do tmp_rad := comp_rad_from_six_terms(array_y_higher[1, last_no - 5], array_y_higher[1, last_no - 4], array_y_higher[1, last_no - 3], array_y_higher[1, last_no - 2], array_y_higher[1, last_no - 1], array_y_higher[1, last_no], last_no); if glob__0 < float_abs(prev_tmp_rad) then tmp_ratio := tmp_rad/prev_tmp_rad else tmp_ratio := glob_large_float end if; if 0 < cnt and tmp_ratio < glob_upper_ratio_limit and glob_lower_ratio_limit < tmp_ratio then rad_c := tmp_rad elif cnt = 0 then rad_c := tmp_rad elif 0 < cnt then found_sing := 0 end if; prev_tmp_rad := tmp_rad; cnt := cnt + 1; last_no := last_no + 1 end do; if found_sing = 1 then if rad_c < array_rad_test_poles[1, 3] then array_rad_test_poles[1, 3] := rad_c; last_no := last_no - 1; tmp_ord := comp_ord_from_six_terms( array_y_higher[1, last_no - 5], array_y_higher[1, last_no - 4], array_y_higher[1, last_no - 3], array_y_higher[1, last_no - 2], array_y_higher[1, last_no - 1], array_y_higher[1, last_no], last_no); array_rad_test_poles[1, 3] := rad_c; if rad_c < glob_min_pole_est then glob_min_pole_est := rad_c end if; array_ord_test_poles[1, 3] := tmp_ord end if end if; if float_abs(glob_min_pole_est)*glob_ratio_of_radius < float_abs(glob_h) then h_new := glob_check_sign*glob_min_pole_est*glob_ratio_of_radius; omniout_str(ALWAYS, "SETTING H FOR POLE"); glob_h_reason := 6; if glob_check_sign*h_new < glob_check_sign*glob_min_h then omniout_str(ALWAYS, "SETTING H FOR MIN H"); h_new := glob_min_h; glob_h_reason := 5 end if; term := 1; ratio := c(1.0); while term <= ATS_MAX_TERMS do array_y[term] := array_y[term]*ratio; array_y_higher[1, term] := array_y_higher[1, term]*ratio; array_x[term] := array_x[term]*ratio; ratio := ratio*h_new/float_abs(glob_h); term := term + 1 end do; glob_h := h_new end if; if reached_interval() then display_poles() end if end proc # End Function number 10 # Begin Function number 11 > atomall := proc() > global > ALWAYS, > INFO, > DEBUGL, > DEBUGMASSIVE, > glob_iolevel, > glob_yes_pole, > glob_no_pole, > glob_not_given, > glob_no_sing_tests, > glob_ratio_test, > glob_three_term_test, > glob_six_term_test, > glob_log_10, #Top Generate Globals Decl > MAX_UNCHANGED, > glob__small, > glob_small_float, > glob_smallish_float, > glob_large_float, > glob_larger_float, > glob__m2, > glob__m1, > glob__0, > glob__1, > glob__2, > glob__3, > glob__4, > glob__5, > glob__8, > glob__10, > glob__100, > glob__pi, > glob__0_5, > glob__0_8, > glob__m0_8, > glob__0_25, > glob__0_125, > glob_prec, > glob_check_sign, > glob_desired_digits_correct, > glob_max_estimated_step_error, > glob_ratio_of_radius, > glob_percent_done, > glob_total_exp_sec, > glob_optimal_expect_sec, > glob_estimated_size_answer, > glob_almost_1, > glob_clock_sec, > glob_clock_start_sec, > glob_disp_incr, > glob_h, > glob_diff_rc_fm, > glob_diff_rc_fmm1, > glob_diff_rc_fmm2, > glob_diff_ord_fm, > glob_diff_ord_fmm1, > glob_diff_ord_fmm2, > glob_six_term_ord_save, > glob_guess_error_rc, > glob_guess_error_ord, > glob_least_given_sing, > glob_least_ratio_sing, > glob_least_3_sing, > glob_least_6_sing, > glob_last_good_h, > glob_max_h, > glob_min_h, > glob_display_interval, > glob_abserr, > glob_relerr, > glob_min_pole_est, > glob_max_rel_trunc_err, > glob_max_trunc_err, > glob_max_hours, > glob_optimal_clock_start_sec, > glob_optimal_start, > glob_upper_ratio_limit, > glob_lower_ratio_limit, > glob_max_sec, > glob_orig_start_sec, > glob_normmax, > glob_max_minutes, > glob_next_display, > glob_est_digits, > glob_subiter_method, > glob_html_log, > glob_min_good_digits, > glob_good_digits, > glob_min_apfp_est_good_digits, > glob_apfp_est_good_digits, > glob_max_opt_iter, > glob_dump, > glob_djd_debug, > glob_display_flag, > glob_djd_debug2, > glob_h_reason, > 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_not_yet_finished, > glob_initial_pass, > glob_not_yet_start_msg, > glob_reached_optimal_h, > glob_optimal_done, > glob_type_given_pole, > glob_optimize, > glob_look_poles, > glob_dump_closed_form, > glob_max_iter, > glob_no_eqs, > glob_unchanged_h_cnt, > glob_warned, > glob_warned2, > glob_start, > glob_iter, #Bottom Generate Globals Decl #BEGIN CONST > array_const_1, > array_const_0D0, > array_const_0D1, > array_const_0D2, > array_const_0D3, #END CONST > array_y_init, > array_norms, > array_fact_1, > array_1st_rel_error, > array_last_rel_error, > array_est_rel_error, > array_max_est_error, > array_type_pole, > array_type_real_pole, > array_type_complex_pole, > array_est_digits, > array_y, > array_x, > array_tmp0, > array_tmp1, > array_tmp2, > array_tmp3, > array_tmp4, > array_tmp5, > array_tmp6, > array_m1, > array_y_higher, > array_y_higher_work, > array_y_higher_work2, > array_y_set_initial, > array_given_rad_poles, > array_given_ord_poles, > array_rad_test_poles, > array_ord_test_poles, > array_fact_2, > ATS_MAX_TERMS, > glob_last; > local kkk, order_d, adj2, adj3 , temporary, term; > #TOP ATOMALL > # before write maple main top matter > # before generate constants assign > # before generate globals assign > #END OUTFILE1 > #BEGIN OUTFILE2 > #END OUTFILE2 > #BEGIN ATOMHDR1 > #emit pre mult CONST - LINEAR $eq_no = 1 i = 1 > array_tmp1[1] := array_const_0D1[1] * array_x[1]; > #emit pre add LINEAR - CONST $eq_no = 1 i = 1 > array_tmp2[1] := array_tmp1[1] + array_const_0D2[1]; > #emit pre mult CONST - LINEAR $eq_no = 1 i = 1 > array_tmp3[1] := array_const_0D2[1] * array_x[1]; > #emit pre add LINEAR - CONST $eq_no = 1 i = 1 > array_tmp4[1] := array_tmp3[1] + array_const_0D3[1]; > #emit pre mult LINEAR - LINEAR $eq_no = 1 i = 1 > array_tmp5[1] := array_tmp2[1] * array_tmp4[1]; > #emit pre add CONST FULL $eq_no = 1 i = 1 > array_tmp6[1] := array_const_0D0[1] + array_tmp5[1]; > #emit pre assign xxx $eq_no = 1 i = 1 $min_hdrs = 5 > if ( not array_y_set_initial[1,2]) then # if number 1 > if (1 <= ATS_MAX_TERMS) then # if number 2 > temporary := c(array_tmp6[1]) * (expt((glob_h) , c(1))) * c(factorial_3(0,1)); > if (2 <= ATS_MAX_TERMS) then # if number 3 > array_y[2] := temporary; > array_y_higher[1,2] := temporary; > fi;# end if 3; > temporary := c(temporary) / c(glob_h) * c(1); > array_y_higher[2,1] := c(temporary); > fi;# end if 2; > fi;# end if 1; > kkk := 2; > #END ATOMHDR1 > #BEGIN ATOMHDR2 > #emit pre mult CONST - LINEAR $eq_no = 1 i = 2 > array_tmp1[2] := array_const_0D1[1] * array_x[2]; > #emit pre add LINEAR - CONST $eq_no = 1 i = 2 > array_tmp2[2] := array_tmp1[2]; > #emit pre mult CONST - LINEAR $eq_no = 1 i = 2 > array_tmp3[2] := array_const_0D2[1] * array_x[2]; > #emit pre add LINEAR - CONST $eq_no = 1 i = 2 > array_tmp4[2] := array_tmp3[2]; > #emit pre mult LINEAR - LINEAR $eq_no = 1 i = 2 > array_tmp5[2] := array_tmp2[1] * array_tmp4[2] + array_tmp2[2] * array_tmp4[1]; > #emit pre add CONST FULL $eq_no = 1 i = 2 > array_tmp6[2] := array_tmp5[2]; > #emit pre assign xxx $eq_no = 1 i = 2 $min_hdrs = 5 > if ( not array_y_set_initial[1,3]) then # if number 1 > if (2 <= ATS_MAX_TERMS) then # if number 2 > temporary := c(array_tmp6[2]) * (expt((glob_h) , c(1))) * c(factorial_3(1,2)); > if (3 <= ATS_MAX_TERMS) then # if number 3 > array_y[3] := temporary; > array_y_higher[1,3] := temporary; > fi;# end if 3; > temporary := c(temporary) / c(glob_h) * c(2); > array_y_higher[2,2] := c(temporary); > fi;# end if 2; > fi;# end if 1; > kkk := 3; > #END ATOMHDR2 > #BEGIN ATOMHDR3 > #emit pre mult LINEAR - LINEAR $eq_no = 1 i = 3 > array_tmp5[3] := array_tmp2[2] * array_tmp4[2]; > #emit pre add CONST FULL $eq_no = 1 i = 3 > array_tmp6[3] := array_tmp5[3]; > #emit pre assign xxx $eq_no = 1 i = 3 $min_hdrs = 5 > if ( not array_y_set_initial[1,4]) then # if number 1 > if (3 <= ATS_MAX_TERMS) then # if number 2 > temporary := c(array_tmp6[3]) * (expt((glob_h) , c(1))) * c(factorial_3(2,3)); > if (4 <= ATS_MAX_TERMS) then # if number 3 > array_y[4] := temporary; > array_y_higher[1,4] := temporary; > fi;# end if 3; > temporary := c(temporary) / c(glob_h) * c(3); > array_y_higher[2,3] := c(temporary); > fi;# end if 2; > fi;# end if 1; > kkk := 4; > #END ATOMHDR3 > #BEGIN ATOMHDR4 > #emit pre add CONST FULL $eq_no = 1 i = 4 > array_tmp6[4] := array_tmp5[4]; > #emit pre assign xxx $eq_no = 1 i = 4 $min_hdrs = 5 > if ( not array_y_set_initial[1,5]) then # if number 1 > if (4 <= ATS_MAX_TERMS) then # if number 2 > temporary := c(array_tmp6[4]) * (expt((glob_h) , c(1))) * c(factorial_3(3,4)); > if (5 <= ATS_MAX_TERMS) then # if number 3 > array_y[5] := temporary; > array_y_higher[1,5] := temporary; > fi;# end if 3; > temporary := c(temporary) / c(glob_h) * c(4); > array_y_higher[2,4] := c(temporary); > fi;# end if 2; > fi;# end if 1; > kkk := 5; > #END ATOMHDR4 > #BEGIN ATOMHDR5 > #emit pre add CONST FULL $eq_no = 1 i = 5 > array_tmp6[5] := array_tmp5[5]; > #emit pre assign xxx $eq_no = 1 i = 5 $min_hdrs = 5 > if ( not array_y_set_initial[1,6]) then # if number 1 > if (5 <= ATS_MAX_TERMS) then # if number 2 > temporary := c(array_tmp6[5]) * (expt((glob_h) , c(1))) * c(factorial_3(4,5)); > if (6 <= ATS_MAX_TERMS) then # if number 3 > array_y[6] := temporary; > array_y_higher[1,6] := temporary; > fi;# end if 3; > temporary := c(temporary) / c(glob_h) * c(5); > array_y_higher[2,5] := c(temporary); > fi;# end if 2; > fi;# end if 1; > kkk := 6; > #END ATOMHDR5 > #BEGIN OUTFILE3 > #Top Atomall While Loop-- outfile3 > while (kkk <= ATS_MAX_TERMS) do # do number 1 > #END OUTFILE3 > #BEGIN OUTFILE4 > #emit mult LINEAR - LINEAR $eq_no = 1 i = 1 > #emit NOT FULL - FULL add $eq_no = 1 > array_tmp6[kkk] := array_tmp5[kkk]; > #emit assign $eq_no = 1 > order_d := 1; > if (kkk + order_d <= ATS_MAX_TERMS) then # if number 1 > if ( not array_y_set_initial[1,kkk + order_d]) then # if number 2 > temporary := c(array_tmp6[kkk]) * expt((glob_h) , c(order_d)) * c(factorial_3((kkk - 1),(kkk + order_d - 1))); > array_y[kkk + order_d] := c(temporary); > array_y_higher[1,kkk + order_d] := c(temporary); > term := kkk + order_d - 1; > adj2 := kkk + order_d - 1; > adj3 := 2; > while ((term >= 1) and (term <= ATS_MAX_TERMS) and (adj3 < order_d + 1)) do # do number 1 > if (adj3 <= order_d + 1) then # if number 3 > if (adj2 > 0) then # if number 4 > temporary := c(temporary) / c(glob_h) * c(adj2); > else > temporary := c(temporary); > fi;# end if 4; > array_y_higher[adj3,term] := c(temporary); > fi;# end if 3; > term := term - 1; > adj2 := adj2 - 1; > adj3 := adj3 + 1; > od;# end do number 1 > 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 ALWAYS, INFO, DEBUGL, DEBUGMASSIVE, glob_iolevel, glob_yes_pole, glob_no_pole, glob_not_given, glob_no_sing_tests, glob_ratio_test, glob_three_term_test, glob_six_term_test, glob_log_10, MAX_UNCHANGED, glob__small, glob_small_float, glob_smallish_float, glob_large_float, glob_larger_float, glob__m2, glob__m1, glob__0, glob__1, glob__2, glob__3, glob__4, glob__5, glob__8, glob__10, glob__100, glob__pi, glob__0_5, glob__0_8, glob__m0_8, glob__0_25, glob__0_125, glob_prec, glob_check_sign, glob_desired_digits_correct, glob_max_estimated_step_error, glob_ratio_of_radius, glob_percent_done, glob_total_exp_sec, glob_optimal_expect_sec, glob_estimated_size_answer, glob_almost_1, glob_clock_sec, glob_clock_start_sec, glob_disp_incr, glob_h, glob_diff_rc_fm, glob_diff_rc_fmm1, glob_diff_rc_fmm2, glob_diff_ord_fm, glob_diff_ord_fmm1, glob_diff_ord_fmm2, glob_six_term_ord_save, glob_guess_error_rc, glob_guess_error_ord, glob_least_given_sing, glob_least_ratio_sing, glob_least_3_sing, glob_least_6_sing, glob_last_good_h, glob_max_h, glob_min_h, glob_display_interval, glob_abserr, glob_relerr, glob_min_pole_est, glob_max_rel_trunc_err, glob_max_trunc_err, glob_max_hours, glob_optimal_clock_start_sec, glob_optimal_start, glob_upper_ratio_limit, glob_lower_ratio_limit, glob_max_sec, glob_orig_start_sec, glob_normmax, glob_max_minutes, glob_next_display, glob_est_digits, glob_subiter_method, glob_html_log, glob_min_good_digits, glob_good_digits, glob_min_apfp_est_good_digits, glob_apfp_est_good_digits, glob_max_opt_iter, glob_dump, glob_djd_debug, glob_display_flag, glob_djd_debug2, glob_h_reason, 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_not_yet_finished, glob_initial_pass, glob_not_yet_start_msg, glob_reached_optimal_h, glob_optimal_done, glob_type_given_pole, glob_optimize, glob_look_poles, glob_dump_closed_form, glob_max_iter, glob_no_eqs, glob_unchanged_h_cnt, glob_warned, glob_warned2, glob_start, glob_iter, array_const_1, array_const_0D0, array_const_0D1, array_const_0D2, array_const_0D3, array_y_init, array_norms, array_fact_1, array_1st_rel_error, array_last_rel_error, array_est_rel_error, array_max_est_error, array_type_pole, array_type_real_pole, array_type_complex_pole, array_est_digits, array_y, array_x, array_tmp0, array_tmp1, array_tmp2, array_tmp3, array_tmp4, array_tmp5, array_tmp6, array_m1, array_y_higher, array_y_higher_work, array_y_higher_work2, array_y_set_initial, array_given_rad_poles, array_given_ord_poles, array_rad_test_poles, array_ord_test_poles, array_fact_2, ATS_MAX_TERMS, glob_last; array_tmp1[1] := array_const_0D1[1]*array_x[1]; array_tmp2[1] := array_tmp1[1] + array_const_0D2[1]; array_tmp3[1] := array_const_0D2[1]*array_x[1]; array_tmp4[1] := array_tmp3[1] + array_const_0D3[1]; array_tmp5[1] := array_tmp2[1]*array_tmp4[1]; array_tmp6[1] := array_const_0D0[1] + array_tmp5[1]; if not array_y_set_initial[1, 2] then if 1 <= ATS_MAX_TERMS then temporary := c(array_tmp6[1])*expt(glob_h, c(1))*c(factorial_3(0, 1)); if 2 <= ATS_MAX_TERMS then array_y[2] := temporary; array_y_higher[1, 2] := temporary end if; temporary := c(temporary)*c(1)/c(glob_h); array_y_higher[2, 1] := c(temporary) end if end if; kkk := 2; array_tmp1[2] := array_const_0D1[1]*array_x[2]; array_tmp2[2] := array_tmp1[2]; array_tmp3[2] := array_const_0D2[1]*array_x[2]; array_tmp4[2] := array_tmp3[2]; array_tmp5[2] := array_tmp2[1]*array_tmp4[2] + array_tmp2[2]*array_tmp4[1]; array_tmp6[2] := array_tmp5[2]; if not array_y_set_initial[1, 3] then if 2 <= ATS_MAX_TERMS then temporary := c(array_tmp6[2])*expt(glob_h, c(1))*c(factorial_3(1, 2)); if 3 <= ATS_MAX_TERMS then array_y[3] := temporary; array_y_higher[1, 3] := temporary end if; temporary := c(temporary)*c(2)/c(glob_h); array_y_higher[2, 2] := c(temporary) end if end if; kkk := 3; array_tmp5[3] := array_tmp2[2]*array_tmp4[2]; array_tmp6[3] := array_tmp5[3]; if not array_y_set_initial[1, 4] then if 3 <= ATS_MAX_TERMS then temporary := c(array_tmp6[3])*expt(glob_h, c(1))*c(factorial_3(2, 3)); if 4 <= ATS_MAX_TERMS then array_y[4] := temporary; array_y_higher[1, 4] := temporary end if; temporary := c(temporary)*c(3)/c(glob_h); array_y_higher[2, 3] := c(temporary) end if end if; kkk := 4; array_tmp6[4] := array_tmp5[4]; if not array_y_set_initial[1, 5] then if 4 <= ATS_MAX_TERMS then temporary := c(array_tmp6[4])*expt(glob_h, c(1))*c(factorial_3(3, 4)); if 5 <= ATS_MAX_TERMS then array_y[5] := temporary; array_y_higher[1, 5] := temporary end if; temporary := c(temporary)*c(4)/c(glob_h); array_y_higher[2, 4] := c(temporary) end if end if; kkk := 5; array_tmp6[5] := array_tmp5[5]; if not array_y_set_initial[1, 6] then if 5 <= ATS_MAX_TERMS then temporary := c(array_tmp6[5])*expt(glob_h, c(1))*c(factorial_3(4, 5)); if 6 <= ATS_MAX_TERMS then array_y[6] := temporary; array_y_higher[1, 6] := temporary end if; temporary := c(temporary)*c(5)/c(glob_h); array_y_higher[2, 5] := c(temporary) end if end if; kkk := 6; while kkk <= ATS_MAX_TERMS do array_tmp6[kkk] := array_tmp5[kkk]; order_d := 1; if kkk + order_d <= ATS_MAX_TERMS then if not array_y_set_initial[1, kkk + order_d] then temporary := c(array_tmp6[kkk])*expt(glob_h, c(order_d))* c(factorial_3(kkk - 1, kkk + order_d - 1)); array_y[kkk + order_d] := c(temporary); array_y_higher[1, kkk + order_d] := c(temporary); term := kkk + order_d - 1; adj2 := kkk + order_d - 1; adj3 := 2; while 1 <= term and term <= ATS_MAX_TERMS and adj3 < order_d + 1 do if adj3 <= order_d + 1 then if 0 < adj2 then temporary := c(temporary)*c(adj2)/c(glob_h) else temporary := c(temporary) end if; array_y_higher[adj3, term] := c(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 #END OUTFILE5 # Begin Function number 12 > main := proc() > #BEGIN OUTFIEMAIN > local d1,d2,d3,d4,est_err_2,niii,done_once,max_terms,display_max, > 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,last_min_pole_est, opt_iter, tmp,subiter, est_needed_step_err,estimated_step_error,min_value,est_answer,found_h,repeat_it; > global > ALWAYS, > INFO, > DEBUGL, > DEBUGMASSIVE, > glob_iolevel, > glob_yes_pole, > glob_no_pole, > glob_not_given, > glob_no_sing_tests, > glob_ratio_test, > glob_three_term_test, > glob_six_term_test, > glob_log_10, > #Top Generate Globals Decl > MAX_UNCHANGED, > glob__small, > glob_small_float, > glob_smallish_float, > glob_large_float, > glob_larger_float, > glob__m2, > glob__m1, > glob__0, > glob__1, > glob__2, > glob__3, > glob__4, > glob__5, > glob__8, > glob__10, > glob__100, > glob__pi, > glob__0_5, > glob__0_8, > glob__m0_8, > glob__0_25, > glob__0_125, > glob_prec, > glob_check_sign, > glob_desired_digits_correct, > glob_max_estimated_step_error, > glob_ratio_of_radius, > glob_percent_done, > glob_total_exp_sec, > glob_optimal_expect_sec, > glob_estimated_size_answer, > glob_almost_1, > glob_clock_sec, > glob_clock_start_sec, > glob_disp_incr, > glob_h, > glob_diff_rc_fm, > glob_diff_rc_fmm1, > glob_diff_rc_fmm2, > glob_diff_ord_fm, > glob_diff_ord_fmm1, > glob_diff_ord_fmm2, > glob_six_term_ord_save, > glob_guess_error_rc, > glob_guess_error_ord, > glob_least_given_sing, > glob_least_ratio_sing, > glob_least_3_sing, > glob_least_6_sing, > glob_last_good_h, > glob_max_h, > glob_min_h, > glob_display_interval, > glob_abserr, > glob_relerr, > glob_min_pole_est, > glob_max_rel_trunc_err, > glob_max_trunc_err, > glob_max_hours, > glob_optimal_clock_start_sec, > glob_optimal_start, > glob_upper_ratio_limit, > glob_lower_ratio_limit, > glob_max_sec, > glob_orig_start_sec, > glob_normmax, > glob_max_minutes, > glob_next_display, > glob_est_digits, > glob_subiter_method, > glob_html_log, > glob_min_good_digits, > glob_good_digits, > glob_min_apfp_est_good_digits, > glob_apfp_est_good_digits, > glob_max_opt_iter, > glob_dump, > glob_djd_debug, > glob_display_flag, > glob_djd_debug2, > glob_h_reason, > 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_not_yet_finished, > glob_initial_pass, > glob_not_yet_start_msg, > glob_reached_optimal_h, > glob_optimal_done, > glob_type_given_pole, > glob_optimize, > glob_look_poles, > glob_dump_closed_form, > glob_max_iter, > glob_no_eqs, > glob_unchanged_h_cnt, > glob_warned, > glob_warned2, > glob_start, > glob_iter, > #Bottom Generate Globals Decl > #BEGIN CONST > array_const_1, > array_const_0D0, > array_const_0D1, > array_const_0D2, > array_const_0D3, > #END CONST > array_y_init, > array_norms, > array_fact_1, > array_1st_rel_error, > array_last_rel_error, > array_est_rel_error, > array_max_est_error, > array_type_pole, > array_type_real_pole, > array_type_complex_pole, > array_est_digits, > array_y, > array_x, > array_tmp0, > array_tmp1, > array_tmp2, > array_tmp3, > array_tmp4, > array_tmp5, > array_tmp6, > array_m1, > array_y_higher, > array_y_higher_work, > array_y_higher_work2, > array_y_set_initial, > array_given_rad_poles, > array_given_ord_poles, > array_rad_test_poles, > array_ord_test_poles, > array_fact_2, > ATS_MAX_TERMS, > glob_last; > ATS_MAX_TERMS := 30; > # before first input block > #BEGIN FIRST INPUT BLOCK > #BEGIN BLOCK 1 > #BEGIN FIRST INPUT BLOCK > Digits:=32; > max_terms:=30; > #END BLOCK 1 > #END FIRST INPUT BLOCK > #START OF INITS AFTER INPUT BLOCK > glob_html_log := true; > #END OF INITS AFTER INPUT BLOCK > # before generate arrays > array_y_init:= Array(0..(30),[]); > array_norms:= Array(0..(30),[]); > array_fact_1:= Array(0..(30),[]); > array_1st_rel_error:= Array(0..(2),[]); > array_last_rel_error:= Array(0..(2),[]); > array_est_rel_error:= Array(0..(2),[]); > array_max_est_error:= Array(0..(2),[]); > array_type_pole:= Array(0..(2),[]); > array_type_real_pole:= Array(0..(2),[]); > array_type_complex_pole:= Array(0..(2),[]); > array_est_digits:= Array(0..(2),[]); > array_y:= Array(0..(30),[]); > array_x:= Array(0..(30),[]); > array_tmp0:= Array(0..(30),[]); > array_tmp1:= Array(0..(30),[]); > array_tmp2:= Array(0..(30),[]); > array_tmp3:= Array(0..(30),[]); > array_tmp4:= Array(0..(30),[]); > array_tmp5:= Array(0..(30),[]); > array_tmp6:= Array(0..(30),[]); > array_m1:= Array(0..(30),[]); > array_y_higher := Array(0..(2) ,(0..30+ 1),[]); > array_y_higher_work := Array(0..(2) ,(0..30+ 1),[]); > array_y_higher_work2 := Array(0..(2) ,(0..30+ 1),[]); > array_y_set_initial := Array(0..(2) ,(0..30+ 1),[]); > array_given_rad_poles := Array(0..(2) ,(0..3+ 1),[]); > array_given_ord_poles := Array(0..(2) ,(0..3+ 1),[]); > array_rad_test_poles := Array(0..(2) ,(0..4+ 1),[]); > array_ord_test_poles := Array(0..(2) ,(0..4+ 1),[]); > array_fact_2 := Array(0..(30) ,(0..30+ 1),[]); > # before generate constants > # before generate globals definition > #Top Generate Globals Definition > #Bottom Generate Globals Deninition > # before generate const definition > # before arrays initialized > term := 1; > while (term <= 30) do # do number 1 > array_y_init[term] := c(0.0); > term := term + 1; > od;# end do number 1; > term := 1; > while (term <= 30) do # do number 1 > array_norms[term] := c(0.0); > term := term + 1; > od;# end do number 1; > term := 1; > while (term <= 30) do # do number 1 > array_fact_1[term] := c(0.0); > term := term + 1; > od;# end do number 1; > term := 1; > while (term <= 2) do # do number 1 > array_1st_rel_error[term] := c(0.0); > term := term + 1; > od;# end do number 1; > term := 1; > while (term <= 2) do # do number 1 > array_last_rel_error[term] := c(0.0); > term := term + 1; > od;# end do number 1; > term := 1; > while (term <= 2) do # do number 1 > array_est_rel_error[term] := c(0.0); > term := term + 1; > od;# end do number 1; > term := 1; > while (term <= 2) do # do number 1 > array_max_est_error[term] := c(0.0); > term := term + 1; > od;# end do number 1; > term := 1; > while (term <= 2) do # do number 1 > array_type_pole[term] := 0; > term := term + 1; > od;# end do number 1; > term := 1; > while (term <= 2) do # do number 1 > array_type_real_pole[term] := 0; > term := term + 1; > od;# end do number 1; > term := 1; > while (term <= 2) do # do number 1 > array_type_complex_pole[term] := 0; > term := term + 1; > od;# end do number 1; > term := 1; > while (term <= 2) do # do number 1 > array_est_digits[term] := 0; > term := term + 1; > od;# end do number 1; > term := 1; > while (term <= 30) do # do number 1 > array_y[term] := c(0.0); > term := term + 1; > od;# end do number 1; > term := 1; > while (term <= 30) do # do number 1 > array_x[term] := c(0.0); > term := term + 1; > od;# end do number 1; > term := 1; > while (term <= 30) do # do number 1 > array_tmp0[term] := c(0.0); > term := term + 1; > od;# end do number 1; > term := 1; > while (term <= 30) do # do number 1 > array_tmp1[term] := c(0.0); > term := term + 1; > od;# end do number 1; > term := 1; > while (term <= 30) do # do number 1 > array_tmp2[term] := c(0.0); > term := term + 1; > od;# end do number 1; > term := 1; > while (term <= 30) do # do number 1 > array_tmp3[term] := c(0.0); > term := term + 1; > od;# end do number 1; > term := 1; > while (term <= 30) do # do number 1 > array_tmp4[term] := c(0.0); > term := term + 1; > od;# end do number 1; > term := 1; > while (term <= 30) do # do number 1 > array_tmp5[term] := c(0.0); > term := term + 1; > od;# end do number 1; > term := 1; > while (term <= 30) do # do number 1 > array_tmp6[term] := c(0.0); > term := term + 1; > od;# end do number 1; > term := 1; > while (term <= 30) do # do number 1 > array_m1[term] := c(0.0); > term := term + 1; > od;# end do number 1; > ord := 1; > while (ord <=2) do # do number 1 > term := 1; > while (term <= 30) do # do number 2 > array_y_higher[ord,term] := c(0.0); > term := term + 1; > od;# end do number 2; > ord := ord + 1; > od;# end do number 1; > ord := 1; > while (ord <=2) do # do number 1 > term := 1; > while (term <= 30) do # do number 2 > array_y_higher_work[ord,term] := c(0.0); > term := term + 1; > od;# end do number 2; > ord := ord + 1; > od;# end do number 1; > ord := 1; > while (ord <=2) do # do number 1 > term := 1; > while (term <= 30) do # do number 2 > array_y_higher_work2[ord,term] := c(0.0); > term := term + 1; > od;# end do number 2; > ord := ord + 1; > od;# end do number 1; > ord := 1; > while (ord <=2) do # do number 1 > term := 1; > while (term <= 30) do # do number 2 > array_y_set_initial[ord,term] := c(0.0); > term := term + 1; > od;# end do number 2; > ord := ord + 1; > od;# end do number 1; > ord := 1; > while (ord <=2) do # do number 1 > term := 1; > while (term <= 3) do # do number 2 > array_given_rad_poles[ord,term] := c(0.0); > term := term + 1; > od;# end do number 2; > ord := ord + 1; > od;# end do number 1; > ord := 1; > while (ord <=2) do # do number 1 > term := 1; > while (term <= 3) do # do number 2 > array_given_ord_poles[ord,term] := c(0.0); > term := term + 1; > od;# end do number 2; > ord := ord + 1; > od;# end do number 1; > ord := 1; > while (ord <=2) do # do number 1 > term := 1; > while (term <= 4) do # do number 2 > array_rad_test_poles[ord,term] := c(0.0); > term := term + 1; > od;# end do number 2; > ord := ord + 1; > od;# end do number 1; > ord := 1; > while (ord <=2) do # do number 1 > term := 1; > while (term <= 4) do # do number 2 > array_ord_test_poles[ord,term] := c(0.0); > term := term + 1; > od;# end do number 2; > ord := ord + 1; > od;# end do number 1; > ord := 1; > while (ord <=30) do # do number 1 > term := 1; > while (term <= 30) do # do number 2 > array_fact_2[ord,term] := c(0.0); > term := term + 1; > od;# end do number 2; > ord := ord + 1; > od;# end do number 1; > # before symbols initialized > #BEGIN SYMBOLS INITIALIZATED > zero_ats_ar(array_y); > zero_ats_ar(array_x); > zero_ats_ar(array_tmp0); > zero_ats_ar(array_tmp1); > zero_ats_ar(array_tmp2); > zero_ats_ar(array_tmp3); > zero_ats_ar(array_tmp4); > zero_ats_ar(array_tmp5); > zero_ats_ar(array_tmp6); > zero_ats_ar(array_m1); > zero_ats_ar(array_const_1); > array_const_1[1] := c(1); > zero_ats_ar(array_const_0D0); > array_const_0D0[1] := c(0.0); > zero_ats_ar(array_const_0D1); > array_const_0D1[1] := c(0.1); > zero_ats_ar(array_const_0D2); > array_const_0D2[1] := c(0.2); > zero_ats_ar(array_const_0D3); > array_const_0D3[1] := c(0.3); > zero_ats_ar(array_m1); > array_m1[1] := glob__m1; > #END SYMBOLS INITIALIZATED > # before generate factorials init > #Initing Factorial Tables > iiif := 0; > while (iiif <= ATS_MAX_TERMS) do # do number 1 > jjjf := 0; > while (jjjf <= ATS_MAX_TERMS) do # do number 2 > array_fact_1[iiif] := 0; > array_fact_2[iiif,jjjf] := 0; > jjjf := jjjf + 1; > od;# end do number 2; > iiif := iiif + 1; > od;# end do number 1; > #Done Initing Factorial Table > ALWAYS := 1; > INFO := 2; > DEBUGL := 3; > DEBUGMASSIVE := 4; > glob_iolevel := 5; > glob_yes_pole := 4; > glob_no_pole := 3; > glob_not_given := 0; > glob_no_sing_tests := 4; > glob_ratio_test := 1; > glob_three_term_test := 2; > glob_six_term_test := 3; > glob_log_10 := log(c(10.0)); > MAX_UNCHANGED := 10; > glob__small := c(0.1e-50); > glob_small_float := c(0.1e-50); > glob_smallish_float := c(0.1e-60); > glob_large_float := c(1.0e100); > glob_larger_float := c(1.1e100); > glob__m2 := c(-2); > glob__m1 := c(-1); > glob__0 := c(0); > glob__1 := c(1); > glob__2 := c(2); > glob__3 := c(3); > glob__4 := c(4); > glob__5 := c(5); > glob__8 := c(8); > glob__10 := c(10); > glob__100 := c(100); > glob__pi := c(0.0); > glob__0_5 := c(0.5); > glob__0_8 := c(0.8); > glob__m0_8 := c(-0.8); > glob__0_25 := c(0.25); > glob__0_125 := c(0.125); > glob_prec := c(1.0e-16); > glob_check_sign := c(1.0); > glob_desired_digits_correct := c(8.0); > glob_max_estimated_step_error := c(0.0); > glob_ratio_of_radius := c(0.1); > glob_percent_done := c(0.0); > glob_total_exp_sec := c(0.1); > glob_optimal_expect_sec := c(0.1); > glob_estimated_size_answer := c(100.0); > glob_almost_1 := c(0.9990); > glob_clock_sec := c(0.0); > glob_clock_start_sec := c(0.0); > glob_disp_incr := c(0.1); > glob_h := c(0.1); > glob_diff_rc_fm := c(0.1); > glob_diff_rc_fmm1 := c(0.1); > glob_diff_rc_fmm2 := c(0.1); > glob_diff_ord_fm := c(0.1); > glob_diff_ord_fmm1 := c(0.1); > glob_diff_ord_fmm2 := c(0.1); > glob_six_term_ord_save := c(0.1); > glob_guess_error_rc := c(0.1); > glob_guess_error_ord := c(0.1); > glob_least_given_sing := c(9.9e200); > glob_least_ratio_sing := c(9.9e200); > glob_least_3_sing := c(9.9e100); > glob_least_6_sing := c(9.9e100); > glob_last_good_h := c(0.1); > glob_max_h := c(0.1); > glob_min_h := c(0.000001); > glob_display_interval := c(0.1); > glob_abserr := c(0.1e-10); > glob_relerr := c(0.1e-10); > glob_min_pole_est := c(0.1e+10); > glob_max_rel_trunc_err := c(0.1e-10); > glob_max_trunc_err := c(0.1e-10); > glob_max_hours := c(0.0); > glob_optimal_clock_start_sec := c(0.0); > glob_optimal_start := c(0.0); > glob_upper_ratio_limit := c(1.0001); > glob_lower_ratio_limit := c(0.9999); > glob_max_sec := c(10000.0); > glob_orig_start_sec := c(0.0); > glob_normmax := c(0.0); > glob_max_minutes := c(0.0); > glob_next_display := c(0.0); > glob_est_digits := 1; > glob_subiter_method := 3; > glob_html_log := true; > glob_min_good_digits := 99999; > glob_good_digits := 0; > glob_min_apfp_est_good_digits := 99999; > glob_apfp_est_good_digits := 0; > glob_max_opt_iter := 10; > glob_dump := false; > glob_djd_debug := true; > glob_display_flag := true; > glob_djd_debug2 := true; > glob_h_reason := 0; > 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_not_yet_finished := true; > glob_initial_pass := true; > glob_not_yet_start_msg := true; > glob_reached_optimal_h := false; > glob_optimal_done := false; > glob_type_given_pole := 0; > glob_optimize := false; > glob_look_poles := false; > glob_dump_closed_form := false; > glob_max_iter := 1000; > glob_no_eqs := 0; > glob_unchanged_h_cnt := 0; > glob_warned := false; > glob_warned2 := false; > glob_start := 0; > glob_iter := 0; > # before generate set diff initial > array_y_set_initial[1,1] := true; > array_y_set_initial[1,2] := false; > array_y_set_initial[1,3] := false; > array_y_set_initial[1,4] := false; > array_y_set_initial[1,5] := false; > array_y_set_initial[1,6] := false; > array_y_set_initial[1,7] := false; > array_y_set_initial[1,8] := false; > array_y_set_initial[1,9] := false; > array_y_set_initial[1,10] := false; > array_y_set_initial[1,11] := false; > array_y_set_initial[1,12] := false; > array_y_set_initial[1,13] := false; > array_y_set_initial[1,14] := false; > array_y_set_initial[1,15] := false; > array_y_set_initial[1,16] := false; > array_y_set_initial[1,17] := false; > array_y_set_initial[1,18] := false; > array_y_set_initial[1,19] := false; > array_y_set_initial[1,20] := false; > array_y_set_initial[1,21] := false; > array_y_set_initial[1,22] := false; > array_y_set_initial[1,23] := false; > array_y_set_initial[1,24] := false; > array_y_set_initial[1,25] := false; > array_y_set_initial[1,26] := false; > array_y_set_initial[1,27] := false; > array_y_set_initial[1,28] := false; > array_y_set_initial[1,29] := false; > array_y_set_initial[1,30] := false; > # before generate init omniout const > ALWAYS := 1; > INFO := 2; > DEBUGL := 3; > DEBUGMASSIVE := 4; > ATS_MAX_TERMS := 30; > glob_iolevel := INFO; > # set default block > #Write Set Defaults > glob_orig_start_sec := elapsed_time_seconds(); > glob_display_flag := true; > glob_no_eqs := 1; > 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/mult_lin_linpostode.ode#################"); > omniout_str(ALWAYS,"diff ( y , x , 1 ) = ( 0.1 * x + 0.2 ) * ( 0.2 * x + 0.3 ) ; "); > 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 := c(0.1);"); > omniout_str(ALWAYS,"x_end := c(5.0) ;"); > omniout_str(ALWAYS,"array_y_init[0 + 1] := exact_soln_y(x_start);"); > omniout_str(ALWAYS,"glob_look_poles := true;"); > omniout_str(ALWAYS,""); > omniout_str(ALWAYS,""); > omniout_str(ALWAYS,""); > omniout_str(ALWAYS,""); > omniout_str(ALWAYS,""); > omniout_str(ALWAYS,""); > omniout_str(ALWAYS,""); > omniout_str(ALWAYS,"glob_type_given_pole := 3;"); > omniout_str(ALWAYS,""); > omniout_str(ALWAYS,"#END SECOND INPUT BLOCK"); > omniout_str(ALWAYS,"#BEGIN OVERRIDE BLOCK"); > omniout_str(ALWAYS,"glob_desired_digits_correct:=8;"); > omniout_str(ALWAYS,"glob_max_minutes:=(3.0);"); > omniout_str(ALWAYS,"glob_subiter_method:=3;"); > omniout_str(ALWAYS,"glob_max_iter:=100000;"); > omniout_str(ALWAYS,"glob_upper_ratio_limit:=c(1.000001);"); > omniout_str(ALWAYS,"glob_lower_ratio_limit:=c(0.999999);"); > omniout_str(ALWAYS,"glob_look_poles:=false;"); > omniout_str(ALWAYS,"glob_h:=c(0.001);"); > omniout_str(ALWAYS,"glob_display_interval:=c(0.01);"); > omniout_str(ALWAYS,"#END OVERRIDE BLOCK"); > omniout_str(ALWAYS,"!"); > omniout_str(ALWAYS,"#BEGIN USER DEF BLOCK"); > omniout_str(ALWAYS,"exact_soln_y := proc(x)"); > omniout_str(ALWAYS,""); > omniout_str(ALWAYS,"return(c(0.06) * c(x) + c(2.0)/c(300.0) * c(x) * c(x) * c(x) + c(0.035) * c(x) * c(x));"); > omniout_str(ALWAYS,"end;"); > 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 := glob__0; > glob_smallish_float := glob__0; > glob_large_float := c(1.0e100); > glob_larger_float := c( 1.1e100); > glob_almost_1 := c( 0.99); > # before second block > #TOP SECOND INPUT BLOCK > #BEGIN SECOND INPUT BLOCK > #BEGIN BLOCK 2 > #END FIRST INPUT BLOCK > #BEGIN SECOND INPUT BLOCK > x_start := c(0.1); > x_end := c(5.0) ; > array_y_init[0 + 1] := exact_soln_y(x_start); > glob_look_poles := true; > glob_type_given_pole := 3; > #END SECOND INPUT BLOCK > #BEGIN OVERRIDE BLOCK > glob_desired_digits_correct:=8; > glob_max_minutes:=(3.0); > glob_subiter_method:=3; > glob_max_iter:=100000; > glob_upper_ratio_limit:=c(1.000001); > glob_lower_ratio_limit:=c(0.999999); > glob_look_poles:=false; > glob_h:=c(0.001); > glob_display_interval:=c(0.01); > #END OVERRIDE BLOCK > #END BLOCK 2 > #END SECOND INPUT BLOCK > #BEGIN INITS AFTER SECOND INPUT BLOCK > glob_last_good_h := glob_h; > glob_max_sec := (60.0) * (glob_max_minutes) + (3600.0) * (glob_max_hours); > # after second input block > glob_check_sign := c(my_check_sign(x_start,x_end)); > glob__pi := arccos(glob__m1); > glob_prec = expt(10.0,c(-Digits)); > if (glob_optimize) then # if number 9 > #BEGIN OPTIMIZE CODE > omniout_str(ALWAYS,"START of Optimize"); > #Start Series -- INITIALIZE FOR OPTIMIZE > found_h := false; > glob_min_pole_est := glob_larger_float; > last_min_pole_est := glob_larger_float; > glob_least_given_sing := glob_larger_float; > glob_least_ratio_sing := glob_larger_float; > glob_least_3_sing := glob_larger_float; > glob_least_6_sing := glob_larger_float; > glob_min_h := float_abs(glob_min_h) * glob_check_sign; > glob_max_h := float_abs(glob_max_h) * glob_check_sign; > glob_h := float_abs(glob_min_h) * glob_check_sign; > glob_display_interval := c((float_abs(c(glob_display_interval))) * (glob_check_sign)); > display_max := c(x_end) - c(x_start)/glob__10; > if ((glob_display_interval) > (display_max)) then # if number 10 > glob_display_interval := c(display_max); > fi;# end if 10; > chk_data(); > min_value := glob_larger_float; > est_answer := est_size_answer(); > opt_iter := 1; > 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,""); > estimated_step_error := glob_small_float; > while ((opt_iter <= 100) and ( not found_h)) do # do number 1 > omniout_int(ALWAYS,"opt_iter",32,opt_iter,4,""); > array_x[1] := c(x_start); > array_x[2] := c(glob_h); > glob_next_display := c(x_start); > order_diff := 1; > #Start Series array_y > term_no := 1; > while (term_no <= order_diff) do # do number 2 > array_y[term_no] := array_y_init[term_no] * expt(glob_h , c(term_no - 1)) / c(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; > if (term_no < ATS_MAX_TERMS) then # if number 10 > array_y_higher[r_order,term_no] := array_y_init[it]* expt(glob_h , c(term_no - 1)) / (c(factorial_1(term_no - 1))); > fi;# end if 10; > term_no := term_no + 1; > od;# end do number 3; > r_order := r_order + 1; > od;# end do number 2 > ; > atomall(); > if (glob_check_sign * glob_min_h >= glob_check_sign * glob_h) then # if number 10 > omniout_str(ALWAYS,"SETTING H FOR MIN H"); > glob_h := glob_check_sign * float_abs(glob_min_h); > glob_h_reason := 1; > found_h := true; > fi;# end if 10; > if (glob_check_sign * glob_display_interval <= glob_check_sign * glob_h) then # if number 10 > omniout_str(ALWAYS,"SETTING H FOR DISPLAY INTERVAL"); > glob_h_reason := 2; > glob_h := glob_display_interval; > found_h := true; > fi;# end if 10; > if (glob_look_poles) then # if number 10 > check_for_pole(); > fi;# end if 10; > if ( not found_h) then # if number 10 > est_answer := est_size_answer(); > 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,""); > estimated_step_error := test_suggested_h(); > omniout_float(ALWAYS,"estimated_step_error",32,estimated_step_error,32,""); > if (estimated_step_error < est_needed_step_err) then # if number 11 > omniout_str(ALWAYS,"Double H and LOOP"); > glob_h := glob_h*glob__2; > else > omniout_str(ALWAYS,"Found H for OPTIMAL"); > found_h := true; > glob_h_reason := 3; > glob_h := glob_h/glob__2; > fi;# end if 11; > fi;# end if 10; > opt_iter := opt_iter + 1; > od;# end do number 1; > if (( not found_h) and (opt_iter = 1)) then # if number 10 > omniout_str(ALWAYS,"Beginning glob_h too large."); > found_h := false; > fi;# end if 10; > if (glob_check_sign * glob_max_h <= glob_check_sign * glob_h) then # if number 10 > omniout_str(ALWAYS,"SETTING H FOR MAX H"); > glob_h := glob_check_sign * float_abs(glob_max_h); > glob_h_reason := 1; > found_h := true; > fi;# end if 10; > else > found_h := true; > glob_h := glob_h * glob_check_sign; > fi;# end if 9; > #END OPTIMIZE CODE > if (glob_html_log) then # if number 9 > html_log_file := fopen("entry.html",WRITE,TEXT); > fi;# end if 9; > #BEGIN SOLUTION CODE > if (found_h) then # if number 9 > omniout_str(ALWAYS,"START of Soultion"); > #Start Series -- INITIALIZE FOR SOLUTION > array_x[1] := c(x_start); > array_x[2] := c(glob_h); > glob_next_display := c(x_start); > glob_min_pole_est := glob_larger_float; > glob_least_given_sing := glob_larger_float; > glob_least_ratio_sing := glob_larger_float; > glob_least_3_sing := glob_larger_float; > glob_least_6_sing := glob_larger_float; > order_diff := 1; > #Start Series array_y > term_no := 1; > while (term_no <= order_diff) do # do number 1 > array_y[term_no] := array_y_init[term_no] * expt(glob_h , c(term_no - 1)) / c(factorial_1(term_no - 1)); > term_no := term_no + 1; > od;# end do number 1; > rows := order_diff; > r_order := 1; > while (r_order <= rows) do # do number 1 > term_no := 1; > while (term_no <= (rows - r_order + 1)) do # do number 2 > it := term_no + r_order - 1; > if (term_no < ATS_MAX_TERMS) then # if number 10 > array_y_higher[r_order,term_no] := array_y_init[it]* expt(glob_h , c(term_no - 1)) / (c(factorial_1(term_no - 1))); > fi;# end if 10; > term_no := term_no + 1; > od;# end do number 2; > r_order := r_order + 1; > od;# end do number 1 > ; > current_iter := 1; > glob_clock_start_sec := elapsed_time_seconds(); > glob_clock_sec := elapsed_time_seconds(); > glob_iter := 0; > omniout_str(DEBUGL," "); > glob_reached_optimal_h := true; > glob_optimal_clock_start_sec := elapsed_time_seconds(); > while ((glob_iter < glob_max_iter) and (glob_check_sign * array_x[1] < glob_check_sign * x_end ) and (((glob_clock_sec) - (glob_orig_start_sec)) < (glob_max_sec))) do # do number 1 > #left paren 0001C > if (reached_interval()) then # if number 10 > omniout_str(INFO," "); > omniout_str(INFO,"TOP MAIN SOLVE Loop"); > fi;# end if 10; > glob_iter := glob_iter + 1; > glob_clock_sec := elapsed_time_seconds(); > track_estimated_error(); > atomall(); > track_estimated_error(); > display_alot(current_iter); > if (glob_look_poles) then # if number 10 > check_for_pole(); > fi;# end if 10; > if (reached_interval()) then # if number 10 > glob_next_display := glob_next_display + glob_display_interval; > fi;# end if 10; > array_x[1] := array_x[1] + glob_h; > array_x[2] := glob_h; > #Jump Series array_y; > order_diff := 2; > #START PART 1 SUM AND ADJUST > #START SUM AND ADJUST EQ =1 > #sum_and_adjust array_y > #BEFORE ADJUST SUBSERIES EQ =1 > ord := 2; > calc_term := 1; > #adjust_subseriesarray_y > iii := ATS_MAX_TERMS; > while (iii >= calc_term) do # do number 2 > array_y_higher_work[2,iii] := array_y_higher[2,iii] / expt(glob_h , c(calc_term - 1)) / c(factorial_3(iii - calc_term , iii - 1)); > iii := iii - 1; > od;# end do number 2; > #AFTER ADJUST SUBSERIES EQ =1 > #BEFORE SUM SUBSERIES EQ =1 > temp_sum := glob__0; > ord := 2; > calc_term := 1; > #sum_subseriesarray_y > iii := ATS_MAX_TERMS; > while (iii >= calc_term) do # do number 2 > temp_sum := temp_sum + array_y_higher_work[ord,iii]; > iii := iii - 1; > od;# end do number 2; > array_y_higher_work2[ord,calc_term] := temp_sum * expt(glob_h , c(calc_term - 1)) / c(factorial_1(calc_term - 1)); > #AFTER SUM SUBSERIES EQ =1 > #BEFORE ADJUST SUBSERIES EQ =1 > ord := 1; > calc_term := 2; > #adjust_subseriesarray_y > iii := ATS_MAX_TERMS; > while (iii >= calc_term) do # do number 2 > array_y_higher_work[1,iii] := array_y_higher[1,iii] / expt(glob_h , c(calc_term - 1)) / c(factorial_3(iii - calc_term , iii - 1)); > iii := iii - 1; > od;# end do number 2; > #AFTER ADJUST SUBSERIES EQ =1 > #BEFORE SUM SUBSERIES EQ =1 > temp_sum := glob__0; > ord := 1; > calc_term := 2; > #sum_subseriesarray_y > iii := ATS_MAX_TERMS; > while (iii >= calc_term) do # do number 2 > temp_sum := temp_sum + array_y_higher_work[ord,iii]; > iii := iii - 1; > od;# end do number 2; > array_y_higher_work2[ord,calc_term] := temp_sum * expt(glob_h , c(calc_term - 1)) / c(factorial_1(calc_term - 1)); > #AFTER SUM SUBSERIES EQ =1 > #BEFORE ADJUST SUBSERIES EQ =1 > ord := 1; > calc_term := 1; > #adjust_subseriesarray_y > iii := ATS_MAX_TERMS; > while (iii >= calc_term) do # do number 2 > array_y_higher_work[1,iii] := array_y_higher[1,iii] / expt(glob_h , c(calc_term - 1)) / c(factorial_3(iii - calc_term , iii - 1)); > iii := iii - 1; > od;# end do number 2; > #AFTER ADJUST SUBSERIES EQ =1 > #BEFORE SUM SUBSERIES EQ =1 > temp_sum := glob__0; > ord := 1; > calc_term := 1; > #sum_subseriesarray_y > iii := ATS_MAX_TERMS; > while (iii >= calc_term) do # do number 2 > temp_sum := temp_sum + array_y_higher_work[ord,iii]; > iii := iii - 1; > od;# end do number 2; > array_y_higher_work2[ord,calc_term] := temp_sum * expt(glob_h , c(calc_term - 1)) / c(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 := ATS_MAX_TERMS; > while (term_no >= 1) do # do number 2 > array_y[term_no] := array_y_higher_work2[1,term_no]; > ord := 1; > while (ord <= order_diff) do # do number 3 > array_y_higher[ord,term_no] := array_y_higher_work2[ord,term_no]; > ord := ord + 1; > od;# end do number 3; > term_no := term_no - 1; > od;# end do number 2; > #END PART 2 HEVE MOVED TERMS to REGULAR Array > ; > od;# end do number 1;#right paren 0001C > omniout_str(ALWAYS,"Finished!"); > if (glob_iter >= glob_max_iter) then # if number 10 > omniout_str(ALWAYS,"Maximum Iterations Reached before Solution Completed!"); > fi;# end if 10; > if (elapsed_time_seconds() - (glob_orig_start_sec) >= (glob_max_sec )) then # if number 10 > omniout_str(ALWAYS,"Maximum Time Reached before Solution Completed!"); > fi;# end if 10; > glob_clock_sec := elapsed_time_seconds(); > omniout_str(INFO,"diff ( y , x , 1 ) = ( 0.1 * x + 0.2 ) * ( 0.2 * x + 0.3 ) ; "); > omniout_int(INFO,"Iterations ",32,glob_iter,4," ") > ; > prog_report(x_start,x_end); > if (glob_html_log) then # if number 10 > logstart(html_log_file); > logitem_str(html_log_file,"2015-04-24T20:33:28-05:00") > ; > logitem_str(html_log_file,"Maple") > ; > logitem_str(html_log_file,"mult_lin_lin") > ; > logitem_str(html_log_file,"diff ( y , x , 1 ) = ( 0.1 * x + 0.2 ) * ( 0.2 * x + 0.3 ) ; ") > ; > 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_h_reason(html_log_file) > ; > logitem_integer(html_log_file,Digits) > ; > ; > logitem_float(html_log_file,glob_desired_digits_correct) > ; > if (array_est_digits[1] <> -16) then # if number 11 > logitem_integer(html_log_file,array_est_digits[1]) > ; > else > logitem_str(html_log_file,"Unknown") > ; > fi;# end if 11; > if (glob_min_good_digits <> -16) then # if number 11 > logitem_integer(html_log_file,glob_min_good_digits) > ; > else > logitem_str(html_log_file,"Unknown") > ; > fi;# end if 11; > if (glob_good_digits <> -16) then # if number 11 > logitem_integer(html_log_file,glob_good_digits) > ; > else > logitem_str(html_log_file,"Unknown") > ; > fi;# end if 11; > logitem_str(html_log_file,"NA") > ; > logitem_str(html_log_file,"NA") > ; > logitem_integer(html_log_file,ATS_MAX_TERMS) > ; > if (glob_type_given_pole = 0) then # if number 11 > logitem_str(html_log_file,"Not Given") > ; > logitem_str(html_log_file,"NA") > ; > elif > (glob_type_given_pole = 4) then # if number 12 > logitem_str(html_log_file,"No Solution") > ; > logitem_str(html_log_file,"NA") > ; > elif > (glob_type_given_pole = 5) then # if number 13 > logitem_str(html_log_file,"Some Pole") > ; > logitem_str(html_log_file,"????") > ; > elif > (glob_type_given_pole = 3) then # if number 14 > logitem_str(html_log_file,"No Pole") > ; > logitem_str(html_log_file,"NA") > ; > elif > (glob_type_given_pole = 1) then # if number 15 > logitem_str(html_log_file,"Real Sing") > ; > logitem_float(html_log_file,glob_least_given_sing) > ; > elif > (glob_type_given_pole = 2) then # if number 16 > logitem_str(html_log_file,"Complex Sing") > ; > logitem_float(html_log_file,glob_least_given_sing) > ; > fi;# end if 16; > if (glob_least_ratio_sing < glob_large_float) then # if number 16 > logitem_float(html_log_file,glob_least_ratio_sing) > ; > else > logitem_str(html_log_file,"NONE") > ; > fi;# end if 16; > if (glob_least_3_sing < glob_large_float) then # if number 16 > logitem_float(html_log_file,glob_least_3_sing) > ; > else > logitem_str(html_log_file,"NONE") > ; > fi;# end if 16; > if (glob_least_6_sing < glob_large_float) then # if number 16 > logitem_float(html_log_file,glob_least_6_sing) > ; > else > logitem_str(html_log_file,"NONE") > ; > fi;# end if 16; > logitem_integer(html_log_file,glob_iter) > ; > logitem_time(html_log_file,(glob_clock_sec)) > ; > if (c(glob_percent_done) < glob__100) then # if number 16 > logitem_time(html_log_file,(glob_total_exp_sec)) > ; > 0; > else > logitem_str(html_log_file,"Done") > ; > 0; > fi;# end if 16; > log_revs(html_log_file," 308.maple.seems.ok ") > ; > logitem_str(html_log_file,"mult_lin_lin diffeq.mxt") > ; > logitem_str(html_log_file,"mult_lin_lin maple results") > ; > logitem_str(html_log_file,"OK") > ; > logend(html_log_file) > ; > ; > fi;# end if 15; > if (glob_html_log) then # if number 15 > fclose(html_log_file); > fi;# end if 15 > ; > ;; > fi;# end if 14 > #END OUTFILEMAIN > end; main := proc() local d1, d2, d3, d4, est_err_2, niii, done_once, max_terms, display_max, 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, last_min_pole_est, opt_iter, tmp, subiter, est_needed_step_err, estimated_step_error, min_value, est_answer, found_h, repeat_it; global ALWAYS, INFO, DEBUGL, DEBUGMASSIVE, glob_iolevel, glob_yes_pole, glob_no_pole, glob_not_given, glob_no_sing_tests, glob_ratio_test, glob_three_term_test, glob_six_term_test, glob_log_10, MAX_UNCHANGED, glob__small, glob_small_float, glob_smallish_float, glob_large_float, glob_larger_float, glob__m2, glob__m1, glob__0, glob__1, glob__2, glob__3, glob__4, glob__5, glob__8, glob__10, glob__100, glob__pi, glob__0_5, glob__0_8, glob__m0_8, glob__0_25, glob__0_125, glob_prec, glob_check_sign, glob_desired_digits_correct, glob_max_estimated_step_error, glob_ratio_of_radius, glob_percent_done, glob_total_exp_sec, glob_optimal_expect_sec, glob_estimated_size_answer, glob_almost_1, glob_clock_sec, glob_clock_start_sec, glob_disp_incr, glob_h, glob_diff_rc_fm, glob_diff_rc_fmm1, glob_diff_rc_fmm2, glob_diff_ord_fm, glob_diff_ord_fmm1, glob_diff_ord_fmm2, glob_six_term_ord_save, glob_guess_error_rc, glob_guess_error_ord, glob_least_given_sing, glob_least_ratio_sing, glob_least_3_sing, glob_least_6_sing, glob_last_good_h, glob_max_h, glob_min_h, glob_display_interval, glob_abserr, glob_relerr, glob_min_pole_est, glob_max_rel_trunc_err, glob_max_trunc_err, glob_max_hours, glob_optimal_clock_start_sec, glob_optimal_start, glob_upper_ratio_limit, glob_lower_ratio_limit, glob_max_sec, glob_orig_start_sec, glob_normmax, glob_max_minutes, glob_next_display, glob_est_digits, glob_subiter_method, glob_html_log, glob_min_good_digits, glob_good_digits, glob_min_apfp_est_good_digits, glob_apfp_est_good_digits, glob_max_opt_iter, glob_dump, glob_djd_debug, glob_display_flag, glob_djd_debug2, glob_h_reason, 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_not_yet_finished, glob_initial_pass, glob_not_yet_start_msg, glob_reached_optimal_h, glob_optimal_done, glob_type_given_pole, glob_optimize, glob_look_poles, glob_dump_closed_form, glob_max_iter, glob_no_eqs, glob_unchanged_h_cnt, glob_warned, glob_warned2, glob_start, glob_iter, array_const_1, array_const_0D0, array_const_0D1, array_const_0D2, array_const_0D3, array_y_init, array_norms, array_fact_1, array_1st_rel_error, array_last_rel_error, array_est_rel_error, array_max_est_error, array_type_pole, array_type_real_pole, array_type_complex_pole, array_est_digits, array_y, array_x, array_tmp0, array_tmp1, array_tmp2, array_tmp3, array_tmp4, array_tmp5, array_tmp6, array_m1, array_y_higher, array_y_higher_work, array_y_higher_work2, array_y_set_initial, array_given_rad_poles, array_given_ord_poles, array_rad_test_poles, array_ord_test_poles, array_fact_2, ATS_MAX_TERMS, glob_last; ATS_MAX_TERMS := 30; Digits := 32; max_terms := 30; glob_html_log := true; array_y_init := Array(0 .. 30, []); array_norms := Array(0 .. 30, []); array_fact_1 := Array(0 .. 30, []); array_1st_rel_error := Array(0 .. 2, []); array_last_rel_error := Array(0 .. 2, []); array_est_rel_error := Array(0 .. 2, []); array_max_est_error := Array(0 .. 2, []); array_type_pole := Array(0 .. 2, []); array_type_real_pole := Array(0 .. 2, []); array_type_complex_pole := Array(0 .. 2, []); array_est_digits := Array(0 .. 2, []); array_y := Array(0 .. 30, []); array_x := Array(0 .. 30, []); array_tmp0 := Array(0 .. 30, []); array_tmp1 := Array(0 .. 30, []); array_tmp2 := Array(0 .. 30, []); array_tmp3 := Array(0 .. 30, []); array_tmp4 := Array(0 .. 30, []); array_tmp5 := Array(0 .. 30, []); array_tmp6 := Array(0 .. 30, []); array_m1 := Array(0 .. 30, []); array_y_higher := Array(0 .. 2, 0 .. 31, []); array_y_higher_work := Array(0 .. 2, 0 .. 31, []); array_y_higher_work2 := Array(0 .. 2, 0 .. 31, []); array_y_set_initial := Array(0 .. 2, 0 .. 31, []); array_given_rad_poles := Array(0 .. 2, 0 .. 4, []); array_given_ord_poles := Array(0 .. 2, 0 .. 4, []); array_rad_test_poles := Array(0 .. 2, 0 .. 5, []); array_ord_test_poles := Array(0 .. 2, 0 .. 5, []); array_fact_2 := Array(0 .. 30, 0 .. 31, []); term := 1; while term <= 30 do array_y_init[term] := c(0.); term := term + 1 end do; term := 1; while term <= 30 do array_norms[term] := c(0.); term := term + 1 end do ; term := 1; while term <= 30 do array_fact_1[term] := c(0.); term := term + 1 end do; term := 1; while term <= 2 do array_1st_rel_error[term] := c(0.); term := term + 1 end do; term := 1; while term <= 2 do array_last_rel_error[term] := c(0.); term := term + 1 end do; term := 1; while term <= 2 do array_est_rel_error[term] := c(0.); term := term + 1 end do; term := 1; while term <= 2 do array_max_est_error[term] := c(0.); term := term + 1 end do; term := 1; while term <= 2 do array_type_pole[term] := 0; term := term + 1 end do; term := 1; while term <= 2 do array_type_real_pole[term] := 0; term := term + 1 end do; term := 1; while term <= 2 do array_type_complex_pole[term] := 0; term := term + 1 end do; term := 1; while term <= 2 do array_est_digits[term] := 0; term := term + 1 end do ; term := 1; while term <= 30 do array_y[term] := c(0.); term := term + 1 end do; term := 1; while term <= 30 do array_x[term] := c(0.); term := term + 1 end do; term := 1; while term <= 30 do array_tmp0[term] := c(0.); term := term + 1 end do; term := 1; while term <= 30 do array_tmp1[term] := c(0.); term := term + 1 end do; term := 1; while term <= 30 do array_tmp2[term] := c(0.); term := term + 1 end do; term := 1; while term <= 30 do array_tmp3[term] := c(0.); term := term + 1 end do; term := 1; while term <= 30 do array_tmp4[term] := c(0.); term := term + 1 end do; term := 1; while term <= 30 do array_tmp5[term] := c(0.); term := term + 1 end do; term := 1; while term <= 30 do array_tmp6[term] := c(0.); term := term + 1 end do; term := 1; while term <= 30 do array_m1[term] := c(0.); term := term + 1 end do; ord := 1; while ord <= 2 do term := 1; while term <= 30 do array_y_higher[ord, term] := c(0.); term := term + 1 end do; ord := ord + 1 end do; ord := 1; while ord <= 2 do term := 1; while term <= 30 do array_y_higher_work[ord, term] := c(0.); term := term + 1 end do; ord := ord + 1 end do; ord := 1; while ord <= 2 do term := 1; while term <= 30 do array_y_higher_work2[ord, term] := c(0.); term := term + 1 end do; ord := ord + 1 end do; ord := 1; while ord <= 2 do term := 1; while term <= 30 do array_y_set_initial[ord, term] := c(0.); term := term + 1 end do; ord := ord + 1 end do; ord := 1; while ord <= 2 do term := 1; while term <= 3 do array_given_rad_poles[ord, term] := c(0.); term := term + 1 end do; ord := ord + 1 end do; ord := 1; while ord <= 2 do term := 1; while term <= 3 do array_given_ord_poles[ord, term] := c(0.); term := term + 1 end do; ord := ord + 1 end do; ord := 1; while ord <= 2 do term := 1; while term <= 4 do array_rad_test_poles[ord, term] := c(0.); term := term + 1 end do; ord := ord + 1 end do; ord := 1; while ord <= 2 do term := 1; while term <= 4 do array_ord_test_poles[ord, term] := c(0.); term := term + 1 end do; ord := ord + 1 end do; ord := 1; while ord <= 30 do term := 1; while term <= 30 do array_fact_2[ord, term] := c(0.); term := term + 1 end do; ord := ord + 1 end do; zero_ats_ar(array_y); zero_ats_ar(array_x); zero_ats_ar(array_tmp0); zero_ats_ar(array_tmp1); zero_ats_ar(array_tmp2); zero_ats_ar(array_tmp3); zero_ats_ar(array_tmp4); zero_ats_ar(array_tmp5); zero_ats_ar(array_tmp6); zero_ats_ar(array_m1); zero_ats_ar(array_const_1); array_const_1[1] := c(1); zero_ats_ar(array_const_0D0); array_const_0D0[1] := c(0.); zero_ats_ar(array_const_0D1); array_const_0D1[1] := c(0.1); zero_ats_ar(array_const_0D2); array_const_0D2[1] := c(0.2); zero_ats_ar(array_const_0D3); array_const_0D3[1] := c(0.3); zero_ats_ar(array_m1); array_m1[1] := glob__m1; iiif := 0; while iiif <= ATS_MAX_TERMS do jjjf := 0; while jjjf <= ATS_MAX_TERMS do array_fact_1[iiif] := 0; array_fact_2[iiif, jjjf] := 0; jjjf := jjjf + 1 end do; iiif := iiif + 1 end do; ALWAYS := 1; INFO := 2; DEBUGL := 3; DEBUGMASSIVE := 4; glob_iolevel := 5; glob_yes_pole := 4; glob_no_pole := 3; glob_not_given := 0; glob_no_sing_tests := 4; glob_ratio_test := 1; glob_three_term_test := 2; glob_six_term_test := 3; glob_log_10 := log(c(10.0)); MAX_UNCHANGED := 10; glob__small := c(0.1*10^(-50)); glob_small_float := c(0.1*10^(-50)); glob_smallish_float := c(0.1*10^(-60)); glob_large_float := c(0.10*10^101); glob_larger_float := c(0.11*10^101); glob__m2 := c(-2); glob__m1 := c(-1); glob__0 := c(0); glob__1 := c(1); glob__2 := c(2); glob__3 := c(3); glob__4 := c(4); glob__5 := c(5); glob__8 := c(8); glob__10 := c(10); glob__100 := c(100); glob__pi := c(0.); glob__0_5 := c(0.5); glob__0_8 := c(0.8); glob__m0_8 := c(-0.8); glob__0_25 := c(0.25); glob__0_125 := c(0.125); glob_prec := c(0.10*10^(-15)); glob_check_sign := c(1.0); glob_desired_digits_correct := c(8.0); glob_max_estimated_step_error := c(0.); glob_ratio_of_radius := c(0.1); glob_percent_done := c(0.); glob_total_exp_sec := c(0.1); glob_optimal_expect_sec := c(0.1); glob_estimated_size_answer := c(100.0); glob_almost_1 := c(0.9990); glob_clock_sec := c(0.); glob_clock_start_sec := c(0.); glob_disp_incr := c(0.1); glob_h := c(0.1); glob_diff_rc_fm := c(0.1); glob_diff_rc_fmm1 := c(0.1); glob_diff_rc_fmm2 := c(0.1); glob_diff_ord_fm := c(0.1); glob_diff_ord_fmm1 := c(0.1); glob_diff_ord_fmm2 := c(0.1); glob_six_term_ord_save := c(0.1); glob_guess_error_rc := c(0.1); glob_guess_error_ord := c(0.1); glob_least_given_sing := c(0.99*10^201); glob_least_ratio_sing := c(0.99*10^201); glob_least_3_sing := c(0.99*10^101); glob_least_6_sing := c(0.99*10^101); glob_last_good_h := c(0.1); glob_max_h := c(0.1); glob_min_h := c(0.1*10^(-5)); glob_display_interval := c(0.1); glob_abserr := c(0.1*10^(-10)); glob_relerr := c(0.1*10^(-10)); glob_min_pole_est := c(0.1*10^10); glob_max_rel_trunc_err := c(0.1*10^(-10)); glob_max_trunc_err := c(0.1*10^(-10)); glob_max_hours := c(0.); glob_optimal_clock_start_sec := c(0.); glob_optimal_start := c(0.); glob_upper_ratio_limit := c(1.0001); glob_lower_ratio_limit := c(0.9999); glob_max_sec := c(10000.0); glob_orig_start_sec := c(0.); glob_normmax := c(0.); glob_max_minutes := c(0.); glob_next_display := c(0.); glob_est_digits := 1; glob_subiter_method := 3; glob_html_log := true; glob_min_good_digits := 99999; glob_good_digits := 0; glob_min_apfp_est_good_digits := 99999; glob_apfp_est_good_digits := 0; glob_max_opt_iter := 10; glob_dump := false; glob_djd_debug := true; glob_display_flag := true; glob_djd_debug2 := true; glob_h_reason := 0; 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_not_yet_finished := true; glob_initial_pass := true; glob_not_yet_start_msg := true; glob_reached_optimal_h := false; glob_optimal_done := false; glob_type_given_pole := 0; glob_optimize := false; glob_look_poles := false; glob_dump_closed_form := false; glob_max_iter := 1000; glob_no_eqs := 0; glob_unchanged_h_cnt := 0; glob_warned := false; glob_warned2 := false; glob_start := 0; glob_iter := 0; array_y_set_initial[1, 1] := true; array_y_set_initial[1, 2] := false; array_y_set_initial[1, 3] := false; array_y_set_initial[1, 4] := false; array_y_set_initial[1, 5] := false; array_y_set_initial[1, 6] := false; array_y_set_initial[1, 7] := false; array_y_set_initial[1, 8] := false; array_y_set_initial[1, 9] := false; array_y_set_initial[1, 10] := false; array_y_set_initial[1, 11] := false; array_y_set_initial[1, 12] := false; array_y_set_initial[1, 13] := false; array_y_set_initial[1, 14] := false; array_y_set_initial[1, 15] := false; array_y_set_initial[1, 16] := false; array_y_set_initial[1, 17] := false; array_y_set_initial[1, 18] := false; array_y_set_initial[1, 19] := false; array_y_set_initial[1, 20] := false; array_y_set_initial[1, 21] := false; array_y_set_initial[1, 22] := false; array_y_set_initial[1, 23] := false; array_y_set_initial[1, 24] := false; array_y_set_initial[1, 25] := false; array_y_set_initial[1, 26] := false; array_y_set_initial[1, 27] := false; array_y_set_initial[1, 28] := false; array_y_set_initial[1, 29] := false; array_y_set_initial[1, 30] := false; ALWAYS := 1; INFO := 2; DEBUGL := 3; DEBUGMASSIVE := 4; ATS_MAX_TERMS := 30; glob_iolevel := INFO; glob_orig_start_sec := elapsed_time_seconds(); glob_display_flag := true; glob_no_eqs := 1; 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/mult_lin_linpostode.ode#################"); omniout_str(ALWAYS, "diff ( y , x , 1 ) = ( 0.1 * x + \ 0.2 ) * ( 0.2 * x + 0.3 ) ; "); 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 := c(0.1);"); omniout_str(ALWAYS, "x_end := c(5.0) ;"); omniout_str(ALWAYS, "array_y_init[0 + 1] := exact_soln_y(x_start);"); omniout_str(ALWAYS, "glob_look_poles := true;"); omniout_str(ALWAYS, ""); omniout_str(ALWAYS, ""); omniout_str(ALWAYS, ""); omniout_str(ALWAYS, ""); omniout_str(ALWAYS, ""); omniout_str(ALWAYS, ""); omniout_str(ALWAYS, ""); omniout_str(ALWAYS, "glob_type_given_pole := 3;"); omniout_str(ALWAYS, ""); omniout_str(ALWAYS, "#END SECOND INPUT BLOCK"); omniout_str(ALWAYS, "#BEGIN OVERRIDE BLOCK"); omniout_str(ALWAYS, "glob_desired_digits_correct:=8;"); omniout_str(ALWAYS, "glob_max_minutes:=(3.0);"); omniout_str(ALWAYS, "glob_subiter_method:=3;"); omniout_str(ALWAYS, "glob_max_iter:=100000;"); omniout_str(ALWAYS, "glob_upper_ratio_limit:=c(1.000001);"); omniout_str(ALWAYS, "glob_lower_ratio_limit:=c(0.999999);"); omniout_str(ALWAYS, "glob_look_poles:=false;"); omniout_str(ALWAYS, "glob_h:=c(0.001);"); omniout_str(ALWAYS, "glob_display_interval:=c(0.01);"); omniout_str(ALWAYS, "#END OVERRIDE BLOCK"); omniout_str(ALWAYS, "!"); omniout_str(ALWAYS, "#BEGIN USER DEF BLOCK"); omniout_str(ALWAYS, "exact_soln_y := proc(x)"); omniout_str(ALWAYS, ""); omniout_str(ALWAYS, "return(c(0.06) * c(x) + c(2.0)/c(300.0) * c(x) *\ c(x) * c(x) + c(0.035) * c(x) * c(x));"); omniout_str(ALWAYS, "end;"); 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 := glob__0; glob_smallish_float := glob__0; glob_large_float := c(0.10*10^101); glob_larger_float := c(0.11*10^101); glob_almost_1 := c(0.99); x_start := c(0.1); x_end := c(5.0); array_y_init[1] := exact_soln_y(x_start); glob_look_poles := true; glob_type_given_pole := 3; glob_desired_digits_correct := 8; glob_max_minutes := 3.0; glob_subiter_method := 3; glob_max_iter := 100000; glob_upper_ratio_limit := c(1.000001); glob_lower_ratio_limit := c(0.999999); glob_look_poles := false; glob_h := c(0.001); glob_display_interval := c(0.01); glob_last_good_h := glob_h; glob_max_sec := 60.0*glob_max_minutes + 3600.0*glob_max_hours; glob_check_sign := c(my_check_sign(x_start, x_end)); glob__pi := arccos(glob__m1); glob_prec = expt(10.0, c(-Digits)); if glob_optimize then omniout_str(ALWAYS, "START of Optimize"); found_h := false; glob_min_pole_est := glob_larger_float; last_min_pole_est := glob_larger_float; glob_least_given_sing := glob_larger_float; glob_least_ratio_sing := glob_larger_float; glob_least_3_sing := glob_larger_float; glob_least_6_sing := glob_larger_float; glob_min_h := float_abs(glob_min_h)*glob_check_sign; glob_max_h := float_abs(glob_max_h)*glob_check_sign; glob_h := float_abs(glob_min_h)*glob_check_sign; glob_display_interval := c(float_abs(c(glob_display_interval))*glob_check_sign); display_max := c(x_end) - c(x_start)/glob__10; if display_max < glob_display_interval then glob_display_interval := c(display_max) end if; chk_data(); min_value := glob_larger_float; est_answer := est_size_answer(); opt_iter := 1; 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, ""); estimated_step_error := glob_small_float; while opt_iter <= 100 and not found_h do omniout_int(ALWAYS, "opt_iter", 32, opt_iter, 4, ""); array_x[1] := c(x_start); array_x[2] := c(glob_h); glob_next_display := c(x_start); order_diff := 1; term_no := 1; while term_no <= order_diff do array_y[term_no] := array_y_init[term_no]* expt(glob_h, c(term_no - 1))/ c(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; if term_no < ATS_MAX_TERMS then array_y_higher[r_order, term_no] := array_y_init[it]*expt(glob_h, c(term_no - 1))/ c(factorial_1(term_no - 1)) end if; term_no := term_no + 1 end do; r_order := r_order + 1 end do; atomall(); if glob_check_sign*glob_h <= glob_check_sign*glob_min_h then omniout_str(ALWAYS, "SETTING H FOR MIN H"); glob_h := float_abs(glob_min_h)*glob_check_sign; glob_h_reason := 1; found_h := true end if; if glob_check_sign*glob_display_interval <= glob_check_sign*glob_h then omniout_str(ALWAYS, "SETTING H FOR DISPLAY INTERVAL"); glob_h_reason := 2; glob_h := glob_display_interval; found_h := true end if; if glob_look_poles then check_for_pole() end if; if not found_h then est_answer := est_size_answer(); 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, ""); estimated_step_error := test_suggested_h(); omniout_float(ALWAYS, "estimated_step_error", 32, estimated_step_error, 32, ""); if estimated_step_error < est_needed_step_err then omniout_str(ALWAYS, "Double H and LOOP"); glob_h := glob_h*glob__2 else omniout_str(ALWAYS, "Found H for OPTIMAL"); found_h := true; glob_h_reason := 3; glob_h := glob_h/glob__2 end if end if; opt_iter := opt_iter + 1 end do; if not found_h and opt_iter = 1 then omniout_str(ALWAYS, "Beginning glob_h too large."); found_h := false end if; if glob_check_sign*glob_max_h <= glob_check_sign*glob_h then omniout_str(ALWAYS, "SETTING H FOR MAX H"); glob_h := float_abs(glob_max_h)*glob_check_sign; glob_h_reason := 1; found_h := true end if else found_h := true; glob_h := glob_check_sign*glob_h end if; if glob_html_log then html_log_file := fopen("entry.html", WRITE, TEXT) end if; if found_h then omniout_str(ALWAYS, "START of Soultion"); array_x[1] := c(x_start); array_x[2] := c(glob_h); glob_next_display := c(x_start); glob_min_pole_est := glob_larger_float; glob_least_given_sing := glob_larger_float; glob_least_ratio_sing := glob_larger_float; glob_least_3_sing := glob_larger_float; glob_least_6_sing := glob_larger_float; order_diff := 1; term_no := 1; while term_no <= order_diff do array_y[term_no] := array_y_init[term_no]* expt(glob_h, c(term_no - 1))/c(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; if term_no < ATS_MAX_TERMS then array_y_higher[r_order, term_no] := array_y_init[it]* expt(glob_h, c(term_no - 1))/ c(factorial_1(term_no - 1)) end if; 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_clock_sec := elapsed_time_seconds(); glob_iter := 0; omniout_str(DEBUGL, " "); glob_reached_optimal_h := true; glob_optimal_clock_start_sec := elapsed_time_seconds(); while glob_iter < glob_max_iter and glob_check_sign*array_x[1] < glob_check_sign*x_end and glob_clock_sec - glob_orig_start_sec < 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(); track_estimated_error(); atomall(); track_estimated_error(); display_alot(current_iter); 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 := 2; ord := 2; calc_term := 1; iii := ATS_MAX_TERMS; while calc_term <= iii do array_y_higher_work[2, iii] := array_y_higher[2, iii]/( expt(glob_h, c(calc_term - 1))* c(factorial_3(iii - calc_term, iii - 1))); iii := iii - 1 end do; temp_sum := glob__0; ord := 2; calc_term := 1; iii := ATS_MAX_TERMS; while calc_term <= iii do temp_sum := temp_sum + array_y_higher_work[ord, iii]; iii := iii - 1 end do; array_y_higher_work2[ord, calc_term] := temp_sum* expt(glob_h, c(calc_term - 1))/ c(factorial_1(calc_term - 1)); ord := 1; calc_term := 2; iii := ATS_MAX_TERMS; while calc_term <= iii do array_y_higher_work[1, iii] := array_y_higher[1, iii]/( expt(glob_h, c(calc_term - 1))* c(factorial_3(iii - calc_term, iii - 1))); iii := iii - 1 end do; temp_sum := glob__0; ord := 1; calc_term := 2; iii := ATS_MAX_TERMS; while calc_term <= iii do temp_sum := temp_sum + array_y_higher_work[ord, iii]; iii := iii - 1 end do; array_y_higher_work2[ord, calc_term] := temp_sum* expt(glob_h, c(calc_term - 1))/ c(factorial_1(calc_term - 1)); ord := 1; calc_term := 1; iii := ATS_MAX_TERMS; while calc_term <= iii do array_y_higher_work[1, iii] := array_y_higher[1, iii]/( expt(glob_h, c(calc_term - 1))* c(factorial_3(iii - calc_term, iii - 1))); iii := iii - 1 end do; temp_sum := glob__0; ord := 1; calc_term := 1; iii := ATS_MAX_TERMS; while calc_term <= iii do temp_sum := temp_sum + array_y_higher_work[ord, iii]; iii := iii - 1 end do; array_y_higher_work2[ord, calc_term] := temp_sum* expt(glob_h, c(calc_term - 1))/ c(factorial_1(calc_term - 1)); term_no := ATS_MAX_TERMS; while 1 <= term_no do array_y[term_no] := array_y_higher_work2[1, term_no]; ord := 1; while ord <= order_diff do array_y_higher[ord, term_no] := array_y_higher_work2[ord, term_no]; ord := ord + 1 end do; term_no := term_no - 1 end do 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 glob_max_sec <= elapsed_time_seconds() - 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 ( y , x , 1 ) = ( 0.1 * x +\ 0.2 ) * ( 0.2 * x + 0.3 ) ; "); 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, "2015-04-24T20:33:28-05:00"); logitem_str(html_log_file, "Maple"); logitem_str(html_log_file, "mult_lin_lin"); logitem_str(html_log_file, "diff ( y , x , 1 ) = (\ 0.1 * x + 0.2 ) * ( 0.2 * x + 0.3 ) ; "); 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_h_reason(html_log_file); logitem_integer(html_log_file, Digits); logitem_float(html_log_file, glob_desired_digits_correct); if array_est_digits[1] <> -16 then logitem_integer(html_log_file, array_est_digits[1]) else logitem_str(html_log_file, "Unknown") end if; if glob_min_good_digits <> -16 then logitem_integer(html_log_file, glob_min_good_digits) else logitem_str(html_log_file, "Unknown") end if; if glob_good_digits <> -16 then logitem_integer(html_log_file, glob_good_digits) else logitem_str(html_log_file, "Unknown") end if; logitem_str(html_log_file, "NA"); logitem_str(html_log_file, "NA"); logitem_integer(html_log_file, ATS_MAX_TERMS); if glob_type_given_pole = 0 then logitem_str(html_log_file, "Not Given"); logitem_str(html_log_file, "NA") elif glob_type_given_pole = 4 then logitem_str(html_log_file, "No Solution"); logitem_str(html_log_file, "NA") elif glob_type_given_pole = 5 then logitem_str(html_log_file, "Some Pole"); logitem_str(html_log_file, "????") elif glob_type_given_pole = 3 then logitem_str(html_log_file, "No Pole"); logitem_str(html_log_file, "NA") elif glob_type_given_pole = 1 then logitem_str(html_log_file, "Real Sing"); logitem_float(html_log_file, glob_least_given_sing) elif glob_type_given_pole = 2 then logitem_str(html_log_file, "Complex Sing"); logitem_float(html_log_file, glob_least_given_sing) end if; if glob_least_ratio_sing < glob_large_float then logitem_float(html_log_file, glob_least_ratio_sing) else logitem_str(html_log_file, "NONE") end if; if glob_least_3_sing < glob_large_float then logitem_float(html_log_file, glob_least_3_sing) else logitem_str(html_log_file, "NONE") end if; if glob_least_6_sing < glob_large_float then logitem_float(html_log_file, glob_least_6_sing) else logitem_str(html_log_file, "NONE") end if; logitem_integer(html_log_file, glob_iter); logitem_time(html_log_file, glob_clock_sec); if c(glob_percent_done) < glob__100 then logitem_time(html_log_file, glob_total_exp_sec); 0 else logitem_str(html_log_file, "Done"); 0 end if; log_revs(html_log_file, " 308.maple.seems.ok "); logitem_str(html_log_file, "mult_lin_lin diffeq.mxt"); logitem_str(html_log_file, "mult_lin_lin maple results"); logitem_str(html_log_file, "OK"); 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/mult_lin_linpostode.ode################# diff ( y , x , 1 ) = ( 0.1 * x + 0.2 ) * ( 0.2 * x + 0.3 ) ; ! #BEGIN FIRST INPUT BLOCK Digits:=32; max_terms:=30; ! #END FIRST INPUT BLOCK #BEGIN SECOND INPUT BLOCK x_start := c(0.1); x_end := c(5.0) ; array_y_init[0 + 1] := exact_soln_y(x_start); glob_look_poles := true; glob_type_given_pole := 3; #END SECOND INPUT BLOCK #BEGIN OVERRIDE BLOCK glob_desired_digits_correct:=8; glob_max_minutes:=(3.0); glob_subiter_method:=3; glob_max_iter:=100000; glob_upper_ratio_limit:=c(1.000001); glob_lower_ratio_limit:=c(0.999999); glob_look_poles:=false; glob_h:=c(0.001); glob_display_interval:=c(0.01); #END OVERRIDE BLOCK ! #BEGIN USER DEF BLOCK exact_soln_y := proc(x) return(c(0.06) * c(x) + c(2.0)/c(300.0) * c(x) * c(x) * c(x) + c(0.035) * c(x) * c(x)); end; #END USER DEF BLOCK #######END OF ECHO OF PROBLEM################# START of Soultion TOP MAIN SOLVE Loop x[1] = 0.1 y[1] (closed_form) = 0.0063566666666666666666666666666667 y[1] (numeric) = 0.0063566666666666666666666666666667 absolute error = 0 relative error = 0 % Desired digits = 8 Estimated correct digits = 14 Correct digits = 32 h = 0.001 memory used=4.1MB, alloc=40.3MB, time=0.08 TOP MAIN SOLVE Loop x[1] = 0.11 y[1] (closed_form) = 0.0070323733333333333333333333333333 y[1] (numeric) = 0.0070323733333333333333333333333337 absolute error = 4e-34 relative error = 5.6879801603252007856996594795878e-30 % Desired digits = 8 Estimated correct digits = 13 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.12 y[1] (closed_form) = 0.00771552 y[1] (numeric) = 0.0077155200000000000000000000000007 absolute error = 7e-34 relative error = 9.0726224544813570569449628800133e-30 % Desired digits = 8 Estimated correct digits = 13 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.13 y[1] (closed_form) = 0.0084061466666666666666666666666667 y[1] (numeric) = 0.0084061466666666666666666666666677 absolute error = 1.0e-33 relative error = 1.1896057012249766440747326162919e-29 % Desired digits = 8 Estimated correct digits = 13 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.14 y[1] (closed_form) = 0.0091042933333333333333333333333333 y[1] (numeric) = 0.0091042933333333333333333333333347 absolute error = 1.4e-33 relative error = 1.5377360424825210669837820105386e-29 % Desired digits = 8 Estimated correct digits = 13 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.15 y[1] (closed_form) = 0.00981 y[1] (numeric) = 0.0098100000000000000000000000000017 absolute error = 1.7e-33 relative error = 1.7329255861365953109072375127421e-29 % Desired digits = 8 Estimated correct digits = 13 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.16 y[1] (closed_form) = 0.010523306666666666666666666666667 y[1] (numeric) = 0.010523306666666666666666666666671 absolute error = 4e-33 relative error = 3.8010866039571845604930262731105e-29 % Desired digits = 8 Estimated correct digits = 13 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.17 y[1] (closed_form) = 0.011244253333333333333333333333333 y[1] (numeric) = 0.011244253333333333333333333333341 absolute error = 8e-33 relative error = 7.1147454284796144756610487846238e-29 % Desired digits = 8 Estimated correct digits = 13 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.18 y[1] (closed_form) = 0.01197288 y[1] (numeric) = 0.011972880000000000000000000000011 absolute error = 1.1e-32 relative error = 9.1874302590521244679642659076179e-29 % Desired digits = 8 Estimated correct digits = 13 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.19 y[1] (closed_form) = 0.012709226666666666666666666666667 y[1] (numeric) = 0.012709226666666666666666666666681 absolute error = 1.4e-32 relative error = 1.1015619098775482798848500616874e-28 % Desired digits = 8 Estimated correct digits = 13 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.2 y[1] (closed_form) = 0.013453333333333333333333333333333 y[1] (numeric) = 0.013453333333333333333333333333351 absolute error = 1.8e-32 relative error = 1.3379583746283448959365708622399e-28 % Desired digits = 8 Estimated correct digits = 13 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.21 y[1] (closed_form) = 0.01420524 y[1] (numeric) = 0.014205240000000000000000000000021 absolute error = 2.1e-32 relative error = 1.4783277156880137188812015847673e-28 % Desired digits = 8 Estimated correct digits = 13 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.22 y[1] (closed_form) = 0.014964986666666666666666666666667 y[1] (numeric) = 0.014964986666666666666666666666691 absolute error = 2.4e-32 relative error = 1.6037434937017429127902107497144e-28 % Desired digits = 8 Estimated correct digits = 13 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.23 y[1] (closed_form) = 0.015732613333333333333333333333333 y[1] (numeric) = 0.015732613333333333333333333333361 absolute error = 2.8e-32 relative error = 1.7797424627906700815122047958127e-28 % Desired digits = 8 Estimated correct digits = 13 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.24 y[1] (closed_form) = 0.01650816 y[1] (numeric) = 0.016508160000000000000000000000031 absolute error = 3.1e-32 relative error = 1.8778591920601690315577266030860e-28 % Desired digits = 8 Estimated correct digits = 13 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.25 y[1] (closed_form) = 0.017291666666666666666666666666667 y[1] (numeric) = 0.017291666666666666666666666666701 absolute error = 3.4e-32 relative error = 1.9662650602409638554216867469879e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.26 y[1] (closed_form) = 0.018083173333333333333333333333333 y[1] (numeric) = 0.018083173333333333333333333333371 absolute error = 3.8e-32 relative error = 2.1014010815210899561876307845673e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.27 y[1] (closed_form) = 0.01888272 y[1] (numeric) = 0.018882720000000000000000000000041 absolute error = 4.1e-32 relative error = 2.1712973554657379869001923451706e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.28 y[1] (closed_form) = 0.019690346666666666666666666666667 y[1] (numeric) = 0.019690346666666666666666666666711 absolute error = 4.4e-32 relative error = 2.2345975286705634436095927886152e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.29 y[1] (closed_form) = 0.020506093333333333333333333333333 y[1] (numeric) = 0.020506093333333333333333333333381 absolute error = 4.8e-32 relative error = 2.3407676547523760417228830194863e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.3 y[1] (closed_form) = 0.02133 y[1] (numeric) = 0.021330000000000000000000000000051 absolute error = 5.1e-32 relative error = 2.3909985935302390998593530239100e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.31 y[1] (closed_form) = 0.022162106666666666666666666666667 y[1] (numeric) = 0.022162106666666666666666666666721 absolute error = 5.4e-32 relative error = 2.4365914672371699922630700571185e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.32 y[1] (closed_form) = 0.023002453333333333333333333333333 y[1] (numeric) = 0.023002453333333333333333333333391 absolute error = 5.8e-32 relative error = 2.5214701736162635405846564772222e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.33 y[1] (closed_form) = 0.02385108 y[1] (numeric) = 0.023851080000000000000000000000061 absolute error = 6.1e-32 relative error = 2.5575361786552223211695235603587e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 memory used=45.8MB, alloc=40.3MB, time=0.58 TOP MAIN SOLVE Loop x[1] = 0.34 y[1] (closed_form) = 0.024708026666666666666666666666667 y[1] (numeric) = 0.024708026666666666666666666666731 absolute error = 6.4e-32 relative error = 2.5902513731030455959790664518197e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.35 y[1] (closed_form) = 0.025573333333333333333333333333333 y[1] (numeric) = 0.025573333333333333333333333333401 absolute error = 6.8e-32 relative error = 2.6590198123044838373305526590198e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.36 y[1] (closed_form) = 0.02644704 y[1] (numeric) = 0.026447040000000000000000000000071 absolute error = 7.1e-32 relative error = 2.6846104516800367829443294977434e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.37 y[1] (closed_form) = 0.027329186666666666666666666666667 y[1] (numeric) = 0.027329186666666666666666666666741 absolute error = 7.4e-32 relative error = 2.7077278552990234128201888188891e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.38 y[1] (closed_form) = 0.028219813333333333333333333333333 y[1] (numeric) = 0.028219813333333333333333333333411 absolute error = 7.8e-32 relative error = 2.7640154482477087020655936301965e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.39 y[1] (closed_form) = 0.02911896 y[1] (numeric) = 0.029118960000000000000000000000081 absolute error = 8.1e-32 relative error = 2.7816927527631481344113938135153e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.4 y[1] (closed_form) = 0.030026666666666666666666666666667 y[1] (numeric) = 0.030026666666666666666666666666751 absolute error = 8.4e-32 relative error = 2.7975133214920071047957371225577e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.41 y[1] (closed_form) = 0.030942973333333333333333333333333 y[1] (numeric) = 0.030942973333333333333333333333421 absolute error = 8.8e-32 relative error = 2.8439413062222419478757266593213e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.42 y[1] (closed_form) = 0.03186792 y[1] (numeric) = 0.031867920000000000000000000000091 absolute error = 9.1e-32 relative error = 2.8555362257718734074894125503014e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.43 y[1] (closed_form) = 0.032801546666666666666666666666667 y[1] (numeric) = 0.032801546666666666666666666666761 absolute error = 9.4e-32 relative error = 2.8657185270938443553068229303008e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.44 y[1] (closed_form) = 0.033743893333333333333333333333333 y[1] (numeric) = 0.033743893333333333333333333333431 absolute error = 9.8e-32 relative error = 2.9042291899136712934132872239204e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.45 y[1] (closed_form) = 0.034695 y[1] (numeric) = 0.034695000000000000000000000000101 absolute error = 1.01e-31 relative error = 2.9110822885141951289811211990200e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.46 y[1] (closed_form) = 0.035654906666666666666666666666667 y[1] (numeric) = 0.035654906666666666666666666666771 absolute error = 1.04e-31 relative error = 2.9168495930246907578498779784587e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.47 y[1] (closed_form) = 0.036623653333333333333333333333333 y[1] (numeric) = 0.036623653333333333333333333333441 absolute error = 1.08e-31 relative error = 2.9489138895300450637729933369109e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.48 y[1] (closed_form) = 0.03760128 y[1] (numeric) = 0.037601280000000000000000000000111 absolute error = 1.11e-31 relative error = 2.9520271650326797385620915032680e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.49 y[1] (closed_form) = 0.038587826666666666666666666666667 y[1] (numeric) = 0.038587826666666666666666666666781 absolute error = 1.14e-31 relative error = 2.9542995770341389184222865449449e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.5 y[1] (closed_form) = 0.039583333333333333333333333333333 y[1] (numeric) = 0.039583333333333333333333333333451 absolute error = 1.18e-31 relative error = 2.9810526315789473684210526315790e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.51 y[1] (closed_form) = 0.04058784 y[1] (numeric) = 0.040587840000000000000000000000121 absolute error = 1.21e-31 relative error = 2.9811884544730638536073858574391e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.52 y[1] (closed_form) = 0.041601386666666666666666666666667 y[1] (numeric) = 0.041601386666666666666666666666791 absolute error = 1.24e-31 relative error = 2.9806698751067272116570473291916e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.53 y[1] (closed_form) = 0.042624013333333333333333333333333 y[1] (numeric) = 0.042624013333333333333333333333461 absolute error = 1.28e-31 relative error = 3.0030020636254805976349481872660e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.54 y[1] (closed_form) = 0.04365576 y[1] (numeric) = 0.043655760000000000000000000000131 absolute error = 1.31e-31 relative error = 3.0007495001805030997055142322571e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.55 y[1] (closed_form) = 0.044696666666666666666666666666667 y[1] (numeric) = 0.044696666666666666666666666666801 absolute error = 1.34e-31 relative error = 2.9979864270266239093146394212842e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 memory used=87.3MB, alloc=40.3MB, time=1.08 TOP MAIN SOLVE Loop x[1] = 0.56 y[1] (closed_form) = 0.045746773333333333333333333333333 y[1] (numeric) = 0.045746773333333333333333333333471 absolute error = 1.38e-31 relative error = 3.0166061985282459265615236105541e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.57 y[1] (closed_form) = 0.04680612 y[1] (numeric) = 0.046806120000000000000000000000141 absolute error = 1.41e-31 relative error = 3.0124265801138825435648158830512e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.58 y[1] (closed_form) = 0.047874746666666666666666666666667 y[1] (numeric) = 0.047874746666666666666666666666811 absolute error = 1.44e-31 relative error = 3.0078488143784085471923123840377e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.59 y[1] (closed_form) = 0.048952693333333333333333333333333 y[1] (numeric) = 0.048952693333333333333333333333481 absolute error = 1.48e-31 relative error = 3.0233270106758851811218014017343e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.6 y[1] (closed_form) = 0.05004 y[1] (numeric) = 0.050040000000000000000000000000151 absolute error = 1.51e-31 relative error = 3.0175859312549960031974420463629e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.61 y[1] (closed_form) = 0.051136706666666666666666666666667 y[1] (numeric) = 0.051136706666666666666666666666821 absolute error = 1.54e-31 relative error = 3.0115353537302493473051191146972e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.62 y[1] (closed_form) = 0.052242853333333333333333333333333 y[1] (numeric) = 0.052242853333333333333333333333491 absolute error = 1.58e-31 relative error = 3.0243371086928891581725755663167e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.63 y[1] (closed_form) = 0.05335848 y[1] (numeric) = 0.053358480000000000000000000000161 absolute error = 1.61e-31 relative error = 3.0173273301638277552134168739439e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.64 y[1] (closed_form) = 0.054483626666666666666666666666667 y[1] (numeric) = 0.054483626666666666666666666666831 absolute error = 1.64e-31 relative error = 3.0100786242325523117403834106002e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.65 y[1] (closed_form) = 0.055618333333333333333333333333333 y[1] (numeric) = 0.055618333333333333333333333333501 absolute error = 1.68e-31 relative error = 3.0205867369872044589613736477780e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.66 y[1] (closed_form) = 0.05676264 y[1] (numeric) = 0.056762640000000000000000000000171 absolute error = 1.71e-31 relative error = 3.0125448710630795185001966081916e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.67 y[1] (closed_form) = 0.057916586666666666666666666666667 y[1] (numeric) = 0.057916586666666666666666666666841 absolute error = 1.74e-31 relative error = 3.0043206966156384906661166035567e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.68 y[1] (closed_form) = 0.059080213333333333333333333333333 y[1] (numeric) = 0.059080213333333333333333333333511 absolute error = 1.78e-31 relative error = 3.0128530341574031779618940667332e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.69 y[1] (closed_form) = 0.06025356 y[1] (numeric) = 0.060253560000000000000000000000181 absolute error = 1.81e-31 relative error = 3.0039718814954668238689962883521e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.7 y[1] (closed_form) = 0.061436666666666666666666666666667 y[1] (numeric) = 0.061436666666666666666666666666851 absolute error = 1.84e-31 relative error = 2.9949541533286311106288318593674e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.71 y[1] (closed_form) = 0.062629573333333333333333333333333 y[1] (numeric) = 0.062629573333333333333333333333521 absolute error = 1.88e-31 relative error = 3.0017767963930990641694722280295e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.72 y[1] (closed_form) = 0.06383232 y[1] (numeric) = 0.063832320000000000000000000000191 absolute error = 1.91e-31 relative error = 2.9922146022579157392368004170928e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.73 y[1] (closed_form) = 0.065044946666666666666666666666667 y[1] (numeric) = 0.065044946666666666666666666666861 absolute error = 1.94e-31 relative error = 2.9825529874624131702980359632344e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.74 y[1] (closed_form) = 0.066267493333333333333333333333333 y[1] (numeric) = 0.066267493333333333333333333333531 absolute error = 1.98e-31 relative error = 2.9878902919118514014513299834087e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.75 y[1] (closed_form) = 0.0675 y[1] (numeric) = 0.067500000000000000000000000000201 absolute error = 2.01e-31 relative error = 2.9777777777777777777777777777778e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.76 y[1] (closed_form) = 0.068742506666666666666666666666667 y[1] (numeric) = 0.068742506666666666666666666666871 absolute error = 2.04e-31 relative error = 2.9675961772706183927343935474761e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.77 y[1] (closed_form) = 0.069995053333333333333333333333333 y[1] (numeric) = 0.069995053333333333333333333333541 absolute error = 2.08e-31 relative error = 2.9716385672206550215262830954340e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.78 y[1] (closed_form) = 0.07125768 y[1] (numeric) = 0.071257680000000000000000000000211 absolute error = 2.11e-31 relative error = 2.9610843350499202331594292713431e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 memory used=128.9MB, alloc=40.3MB, time=1.58 TOP MAIN SOLVE Loop x[1] = 0.79 y[1] (closed_form) = 0.072530426666666666666666666666667 y[1] (numeric) = 0.072530426666666666666666666666881 absolute error = 2.14e-31 relative error = 2.9504858834416526250500479614808e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.8 y[1] (closed_form) = 0.073813333333333333333333333333333 y[1] (numeric) = 0.073813333333333333333333333333551 absolute error = 2.18e-31 relative error = 2.9533959537572254335260115606937e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.81 y[1] (closed_form) = 0.07510644 y[1] (numeric) = 0.075106440000000000000000000000221 absolute error = 2.21e-31 relative error = 2.9424906838880926855273662285152e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.82 y[1] (closed_form) = 0.076409786666666666666666666666667 y[1] (numeric) = 0.076409786666666666666666666666891 absolute error = 2.24e-31 relative error = 2.9315616463789804237991154361727e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.83 y[1] (closed_form) = 0.077723413333333333333333333333333 y[1] (numeric) = 0.077723413333333333333333333333561 absolute error = 2.28e-31 relative error = 2.9334789894284965354069198539231e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.84 y[1] (closed_form) = 0.07904736 y[1] (numeric) = 0.079047360000000000000000000000231 absolute error = 2.31e-31 relative error = 2.9222987333163308679758564991924e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.85 y[1] (closed_form) = 0.080381666666666666666666666666667 y[1] (numeric) = 0.080381666666666666666666666666901 absolute error = 2.34e-31 relative error = 2.9111115718758423355242696303054e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.86 y[1] (closed_form) = 0.081726373333333333333333333333333 y[1] (numeric) = 0.081726373333333333333333333333571 absolute error = 2.38e-31 relative error = 2.9121566306298839803324198243309e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.87 y[1] (closed_form) = 0.08308152 y[1] (numeric) = 0.083081520000000000000000000000241 absolute error = 2.41e-31 relative error = 2.9007654169061904500543562515467e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.88 y[1] (closed_form) = 0.084447146666666666666666666666667 y[1] (numeric) = 0.084447146666666666666666666666911 absolute error = 2.44e-31 relative error = 2.8893812240113579523349989642437e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.89 y[1] (closed_form) = 0.085823293333333333333333333333333 y[1] (numeric) = 0.085823293333333333333333333333581 absolute error = 2.48e-31 relative error = 2.8896583942168303337073835588070e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.9 y[1] (closed_form) = 0.08721 y[1] (numeric) = 0.087210000000000000000000000000251 absolute error = 2.51e-31 relative error = 2.8781103084508657264075220731567e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.91 y[1] (closed_form) = 0.088607306666666666666666666666667 y[1] (numeric) = 0.088607306666666666666666666666921 absolute error = 2.54e-31 relative error = 2.8665807545141499241296579303919e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.92 y[1] (closed_form) = 0.090015253333333333333333333333333 y[1] (numeric) = 0.090015253333333333333333333333591 absolute error = 2.58e-31 relative error = 2.8661809020811880179122234690891e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.93 y[1] (closed_form) = 0.09143388 y[1] (numeric) = 0.091433880000000000000000000000261 absolute error = 2.61e-31 relative error = 2.8545217593303488816180610513302e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.94 y[1] (closed_form) = 0.092863226666666666666666666666667 y[1] (numeric) = 0.092863226666666666666666666666931 absolute error = 2.64e-31 relative error = 2.8428906627122727589909288815006e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.95 y[1] (closed_form) = 0.094303333333333333333333333333333 y[1] (numeric) = 0.094303333333333333333333333333601 absolute error = 2.68e-31 relative error = 2.8418931815771800219150966738539e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.96 y[1] (closed_form) = 0.09575424 y[1] (numeric) = 0.095754240000000000000000000000271 absolute error = 2.71e-31 relative error = 2.8301618810822371938830071650091e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.97 y[1] (closed_form) = 0.097215986666666666666666666666667 y[1] (numeric) = 0.097215986666666666666666666666941 absolute error = 2.74e-31 relative error = 2.8184664826731515625893628743366e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.98 y[1] (closed_form) = 0.098688613333333333333333333333333 y[1] (numeric) = 0.098688613333333333333333333333611 absolute error = 2.78e-31 relative error = 2.8169409885314698919672732254420e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 0.99 y[1] (closed_form) = 0.10017216 y[1] (numeric) = 0.10017216000000000000000000000028 absolute error = 2.8e-31 relative error = 2.7951878046754707096263073492675e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1 y[1] (closed_form) = 0.10166666666666666666666666666667 y[1] (numeric) = 0.10166666666666666666666666666698 absolute error = 3.1e-31 relative error = 3.0491803278688524590163934426229e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.01 y[1] (closed_form) = 0.10317217333333333333333333333333 y[1] (numeric) = 0.10317217333333333333333333333368 absolute error = 3.5e-31 relative error = 3.3923875856448631562541475976792e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 memory used=170.7MB, alloc=40.3MB, time=2.08 TOP MAIN SOLVE Loop x[1] = 1.02 y[1] (closed_form) = 0.10468872 y[1] (numeric) = 0.10468872000000000000000000000038 absolute error = 3.8e-31 relative error = 3.6298084454562057879779215946092e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.03 y[1] (closed_form) = 0.10621634666666666666666666666667 y[1] (numeric) = 0.10621634666666666666666666666708 absolute error = 4.1e-31 relative error = 3.8600461498330577113930737089306e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.04 y[1] (closed_form) = 0.10775509333333333333333333333333 y[1] (numeric) = 0.10775509333333333333333333333378 absolute error = 4.5e-31 relative error = 4.1761367011019556446024763315134e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.05 y[1] (closed_form) = 0.109305 y[1] (numeric) = 0.10930500000000000000000000000048 absolute error = 4.8e-31 relative error = 4.3913819129957458487717853712090e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.06 y[1] (closed_form) = 0.11086610666666666666666666666667 y[1] (numeric) = 0.11086610666666666666666666666718 absolute error = 5.1e-31 relative error = 4.6001435004241753235554527154556e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.07 y[1] (closed_form) = 0.11243845333333333333333333333333 y[1] (numeric) = 0.11243845333333333333333333333388 absolute error = 5.5e-31 relative error = 4.8915649735013549338518115510662e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.08 y[1] (closed_form) = 0.11402208 y[1] (numeric) = 0.11402208000000000000000000000058 absolute error = 5.8e-31 relative error = 5.0867340781715260763529309410949e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.09 y[1] (closed_form) = 0.11561702666666666666666666666667 y[1] (numeric) = 0.11561702666666666666666666666728 absolute error = 6.1e-31 relative error = 5.2760395037547526160218385365845e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.1 y[1] (closed_form) = 0.11722333333333333333333333333333 y[1] (numeric) = 0.11722333333333333333333333333398 absolute error = 6.5e-31 relative error = 5.5449711377143344612847271589844e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.11 y[1] (closed_form) = 0.11884104 y[1] (numeric) = 0.11884104000000000000000000000068 absolute error = 6.8e-31 relative error = 5.7219290575040406916667844710884e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.12 y[1] (closed_form) = 0.12047018666666666666666666666667 y[1] (numeric) = 0.12047018666666666666666666666738 absolute error = 7.1e-31 relative error = 5.8935743327477758259194197313989e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.13 y[1] (closed_form) = 0.12211081333333333333333333333333 y[1] (numeric) = 0.12211081333333333333333333333408 absolute error = 7.5e-31 relative error = 6.1419622024192015318108328053067e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.14 y[1] (closed_form) = 0.12376296 y[1] (numeric) = 0.12376296000000000000000000000078 absolute error = 7.8e-31 relative error = 6.3023702729798964084246207427489e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.15 y[1] (closed_form) = 0.12542666666666666666666666666667 y[1] (numeric) = 0.12542666666666666666666666666748 absolute error = 8.1e-31 relative error = 6.4579568406505793557988731795470e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.16 y[1] (closed_form) = 0.12710197333333333333333333333333 y[1] (numeric) = 0.12710197333333333333333333333418 absolute error = 8.5e-31 relative error = 6.6875436919521207538555918565336e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.17 y[1] (closed_form) = 0.12878892 y[1] (numeric) = 0.12878892000000000000000000000088 absolute error = 8.8e-31 relative error = 6.8328859345974793483787269898684e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.18 y[1] (closed_form) = 0.13048754666666666666666666666667 y[1] (numeric) = 0.13048754666666666666666666666758 absolute error = 9.1e-31 relative error = 6.9738455756595316477710363369540e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.19 y[1] (closed_form) = 0.13219789333333333333333333333333 y[1] (numeric) = 0.13219789333333333333333333333428 absolute error = 9.5e-31 relative error = 7.1861962096824134968565308453732e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.2 y[1] (closed_form) = 0.13392 y[1] (numeric) = 0.13392000000000000000000000000098 absolute error = 9.8e-31 relative error = 7.3178016726403823178016726403823e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.21 y[1] (closed_form) = 0.13565390666666666666666666666667 y[1] (numeric) = 0.13565390666666666666666666666768 absolute error = 1.01e-30 relative error = 7.4454177164378015701329353532316e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.22 y[1] (closed_form) = 0.13739965333333333333333333333333 y[1] (numeric) = 0.13739965333333333333333333333438 absolute error = 1.05e-30 relative error = 7.6419406783559085156352650671415e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.23 y[1] (closed_form) = 0.13915728 y[1] (numeric) = 0.13915728000000000000000000000108 absolute error = 1.08e-30 relative error = 7.7610025145648147189999689559899e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 memory used=212.3MB, alloc=40.3MB, time=2.58 TOP MAIN SOLVE Loop x[1] = 1.24 y[1] (closed_form) = 0.14092682666666666666666666666667 y[1] (numeric) = 0.14092682666666666666666666666778 absolute error = 1.11e-30 relative error = 7.8764279751042432233389772394410e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.25 y[1] (closed_form) = 0.14270833333333333333333333333333 y[1] (numeric) = 0.14270833333333333333333333333448 absolute error = 1.15e-30 relative error = 8.0583941605839416058394160583943e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.26 y[1] (closed_form) = 0.14450184 y[1] (numeric) = 0.14450184000000000000000000000118 absolute error = 1.18e-30 relative error = 8.1659859832926694912673776333921e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.27 y[1] (closed_form) = 0.14630738666666666666666666666667 y[1] (numeric) = 0.14630738666666666666666666666788 absolute error = 1.21e-30 relative error = 8.2702591274954082974530153592608e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.28 y[1] (closed_form) = 0.14812501333333333333333333333333 y[1] (numeric) = 0.14812501333333333333333333333458 absolute error = 1.25e-30 relative error = 8.4388178057885519402709927182231e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.29 y[1] (closed_form) = 0.14995476 y[1] (numeric) = 0.14995476000000000000000000000128 absolute error = 1.28e-30 relative error = 8.5359077631146887234523265550223e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.3 y[1] (closed_form) = 0.15179666666666666666666666666667 y[1] (numeric) = 0.15179666666666666666666666666798 absolute error = 1.31e-30 relative error = 8.6299655240563033883045301829199e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.31 y[1] (closed_form) = 0.15365077333333333333333333333333 y[1] (numeric) = 0.15365077333333333333333333333468 absolute error = 1.35e-30 relative error = 8.7861581865994296329824308075943e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.32 y[1] (closed_form) = 0.15551712 y[1] (numeric) = 0.15551712000000000000000000000138 absolute error = 1.38e-30 relative error = 8.8736211164404279091588115829305e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.33 y[1] (closed_form) = 0.15739574666666666666666666666667 y[1] (numeric) = 0.15739574666666666666666666666808 absolute error = 1.41e-30 relative error = 8.9583106904794801316528587261272e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.34 y[1] (closed_form) = 0.15928669333333333333333333333333 y[1] (numeric) = 0.15928669333333333333333333333478 absolute error = 1.45e-30 relative error = 9.1030830614685369826247047043563e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.35 y[1] (closed_form) = 0.16119 y[1] (numeric) = 0.16119000000000000000000000000148 absolute error = 1.48e-30 relative error = 9.1817110242570879086791984614430e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.36 y[1] (closed_form) = 0.16310570666666666666666666666667 y[1] (numeric) = 0.16310570666666666666666666666818 absolute error = 1.51e-30 relative error = 9.2577999314636692049524038725641e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.37 y[1] (closed_form) = 0.16503385333333333333333333333333 y[1] (numeric) = 0.16503385333333333333333333333488 absolute error = 1.55e-30 relative error = 9.3920124186237668085715585303349e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.38 y[1] (closed_form) = 0.16697448 y[1] (numeric) = 0.16697448000000000000000000000158 absolute error = 1.58e-30 relative error = 9.4625238539446267477521115801648e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.39 y[1] (closed_form) = 0.16892762666666666666666666666667 y[1] (numeric) = 0.16892762666666666666666666666828 absolute error = 1.61e-30 relative error = 9.5307086932376247595419955780667e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.4 y[1] (closed_form) = 0.17089333333333333333333333333333 y[1] (numeric) = 0.17089333333333333333333333333498 absolute error = 1.65e-30 relative error = 9.6551455098697042989779199500665e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.41 y[1] (closed_form) = 0.17287164 y[1] (numeric) = 0.17287164000000000000000000000168 absolute error = 1.68e-30 relative error = 9.7181932212825654919453532112034e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.42 y[1] (closed_form) = 0.17486258666666666666666666666667 y[1] (numeric) = 0.17486258666666666666666666666838 absolute error = 1.71e-30 relative error = 9.7791073127592607193122462483682e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.43 y[1] (closed_form) = 0.17686621333333333333333333333333 y[1] (numeric) = 0.17686621333333333333333333333508 absolute error = 1.75e-30 relative error = 9.8944844638124213812534461075892e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.44 y[1] (closed_form) = 0.17888256 y[1] (numeric) = 0.17888256000000000000000000000178 absolute error = 1.78e-30 relative error = 9.9506626023241170072700211803767e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.45 y[1] (closed_form) = 0.18091166666666666666666666666667 y[1] (numeric) = 0.18091166666666666666666666666848 absolute error = 1.81e-30 relative error = 1.0004882677549817129906860622587e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.46 y[1] (closed_form) = 0.18295357333333333333333333333333 y[1] (numeric) = 0.18295357333333333333333333333518 absolute error = 1.85e-30 relative error = 1.0111854971148235931330629745193e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 memory used=253.9MB, alloc=40.3MB, time=3.08 TOP MAIN SOLVE Loop x[1] = 1.47 y[1] (closed_form) = 0.18500832 y[1] (numeric) = 0.18500832000000000000000000000188 absolute error = 1.88e-30 relative error = 1.0161705160070638985316984663176e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.48 y[1] (closed_form) = 0.18707594666666666666666666666667 y[1] (numeric) = 0.18707594666666666666666666666858 absolute error = 1.91e-30 relative error = 1.0209757235136446545488548821812e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.49 y[1] (closed_form) = 0.18915649333333333333333333333333 y[1] (numeric) = 0.18915649333333333333333333333528 absolute error = 1.95e-30 relative error = 1.0308924455285242829270747741359e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.5 y[1] (closed_form) = 0.19125 y[1] (numeric) = 0.19125000000000000000000000000198 absolute error = 1.98e-30 relative error = 1.0352941176470588235294117647059e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.51 y[1] (closed_form) = 0.19335650666666666666666666666667 y[1] (numeric) = 0.19335650666666666666666666666868 absolute error = 2.01e-30 relative error = 1.0395305721286648538264861770361e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.52 y[1] (closed_form) = 0.19547605333333333333333333333333 y[1] (numeric) = 0.19547605333333333333333333333538 absolute error = 2.05e-30 relative error = 1.0487218076294289824008451435893e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.53 y[1] (closed_form) = 0.19760868 y[1] (numeric) = 0.19760868000000000000000000000208 absolute error = 2.08e-30 relative error = 1.0525853418989489732940880937011e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.54 y[1] (closed_form) = 0.19975442666666666666666666666667 y[1] (numeric) = 0.19975442666666666666666666666878 absolute error = 2.11e-30 relative error = 1.0562969918664130396910019248968e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.55 y[1] (closed_form) = 0.20191333333333333333333333333333 y[1] (numeric) = 0.20191333333333333333333333333548 absolute error = 2.15e-30 relative error = 1.0648132862284148314458348466339e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.56 y[1] (closed_form) = 0.20408544 y[1] (numeric) = 0.20408544000000000000000000000218 absolute error = 2.18e-30 relative error = 1.0681800720325761602591542052191e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.57 y[1] (closed_form) = 0.20627078666666666666666666666667 y[1] (numeric) = 0.20627078666666666666666666666888 absolute error = 2.21e-30 relative error = 1.0714071709879873763348876871173e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.58 y[1] (closed_form) = 0.20846941333333333333333333333333 y[1] (numeric) = 0.20846941333333333333333333333558 absolute error = 2.25e-30 relative error = 1.0792950217605063853971607409586e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.59 y[1] (closed_form) = 0.21068136 y[1] (numeric) = 0.21068136000000000000000000000228 absolute error = 2.28e-30 relative error = 1.0822030007780469995067432638559e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.6 y[1] (closed_form) = 0.21290666666666666666666666666667 y[1] (numeric) = 0.21290666666666666666666666666898 absolute error = 2.31e-30 relative error = 1.0849824649298597194388777555110e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.61 y[1] (closed_form) = 0.21514537333333333333333333333333 y[1] (numeric) = 0.21514537333333333333333333333568 absolute error = 2.35e-30 relative error = 1.0922847020089300239348241000209e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.62 y[1] (closed_form) = 0.21739752 y[1] (numeric) = 0.21739752000000000000000000000238 absolute error = 2.38e-30 relative error = 1.0947686983733761084303077606405e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.63 y[1] (closed_form) = 0.21966314666666666666666666666667 y[1] (numeric) = 0.21966314666666666666666666666908 absolute error = 2.41e-30 relative error = 1.0971344244909296270362086530552e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.64 y[1] (closed_form) = 0.22194229333333333333333333333333 y[1] (numeric) = 0.22194229333333333333333333333578 absolute error = 2.45e-30 relative error = 1.1038905488465710486185237820378e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.65 y[1] (closed_form) = 0.224235 y[1] (numeric) = 0.22423500000000000000000000000248 absolute error = 2.48e-30 relative error = 1.1059825629362053203112805761812e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.66 y[1] (closed_form) = 0.22654130666666666666666666666667 y[1] (numeric) = 0.22654130666666666666666666666918 absolute error = 2.51e-30 relative error = 1.1079657113893224947114869058758e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.67 y[1] (closed_form) = 0.22886125333333333333333333333333 y[1] (numeric) = 0.22886125333333333333333333333588 absolute error = 2.55e-30 relative error = 1.1142121975037685132546683015048e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.68 y[1] (closed_form) = 0.23119488 y[1] (numeric) = 0.23119488000000000000000000000258 absolute error = 2.58e-30 relative error = 1.1159416679123689936386134502633e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.69 y[1] (closed_form) = 0.23354222666666666666666666666667 y[1] (numeric) = 0.23354222666666666666666666666928 absolute error = 2.61e-30 relative error = 1.1175709152269222747840547550944e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 memory used=295.5MB, alloc=40.3MB, time=3.58 TOP MAIN SOLVE Loop x[1] = 1.7 y[1] (closed_form) = 0.23590333333333333333333333333333 y[1] (numeric) = 0.23590333333333333333333333333598 absolute error = 2.65e-30 relative error = 1.1233414816803492956154357010640e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.71 y[1] (closed_form) = 0.23827824 y[1] (numeric) = 0.23827824000000000000000000000268 absolute error = 2.68e-30 relative error = 1.1247355192819957038460582888307e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.72 y[1] (closed_form) = 0.24066698666666666666666666666667 y[1] (numeric) = 0.24066698666666666666666666666938 absolute error = 2.71e-30 relative error = 1.1260372839393454546099218483033e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.73 y[1] (closed_form) = 0.24306961333333333333333333333333 y[1] (numeric) = 0.24306961333333333333333333333608 absolute error = 2.75e-30 relative error = 1.1313631359707597620456713059046e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.74 y[1] (closed_form) = 0.24548616 y[1] (numeric) = 0.24548616000000000000000000000278 absolute error = 2.78e-30 relative error = 1.1324467334533238044865747217684e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.75 y[1] (closed_form) = 0.24791666666666666666666666666667 y[1] (numeric) = 0.24791666666666666666666666666948 absolute error = 2.81e-30 relative error = 1.1334453781512605042016806722689e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.76 y[1] (closed_form) = 0.25036117333333333333333333333333 y[1] (numeric) = 0.25036117333333333333333333333618 absolute error = 2.85e-30 relative error = 1.1383554255058079293232262638382e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.77 y[1] (closed_form) = 0.25281972 y[1] (numeric) = 0.25281972000000000000000000000288 absolute error = 2.88e-30 relative error = 1.1391516452909606893006605655603e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.78 y[1] (closed_form) = 0.25529234666666666666666666666667 y[1] (numeric) = 0.25529234666666666666666666666958 absolute error = 2.91e-30 relative error = 1.1398696584506567790568574819791e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.79 y[1] (closed_form) = 0.25777909333333333333333333333333 y[1] (numeric) = 0.25777909333333333333333333333628 absolute error = 2.95e-30 relative error = 1.1443907113853349989800052054907e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.8 y[1] (closed_form) = 0.26028 y[1] (numeric) = 0.26028000000000000000000000000298 absolute error = 2.98e-30 relative error = 1.1449208544644229291532196096511e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.81 y[1] (closed_form) = 0.26279510666666666666666666666667 y[1] (numeric) = 0.26279510666666666666666666666968 absolute error = 3.01e-30 relative error = 1.1453790133991840436602751558083e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.82 y[1] (closed_form) = 0.26532445333333333333333333333333 y[1] (numeric) = 0.26532445333333333333333333333638 absolute error = 3.05e-30 relative error = 1.1495359593441669957396564126217e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.83 y[1] (closed_form) = 0.26786808 y[1] (numeric) = 0.26786808000000000000000000000308 absolute error = 3.08e-30 relative error = 1.1498197172279728140807221226210e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.84 y[1] (closed_form) = 0.27042602666666666666666666666667 y[1] (numeric) = 0.27042602666666666666666666666978 absolute error = 3.11e-30 relative error = 1.1500372350748093674612778888344e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.85 y[1] (closed_form) = 0.27299833333333333333333333333333 y[1] (numeric) = 0.27299833333333333333333333333648 absolute error = 3.15e-30 relative error = 1.1538531981269726921409776616463e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.86 y[1] (closed_form) = 0.27558504 y[1] (numeric) = 0.27558504000000000000000000000318 absolute error = 3.18e-30 relative error = 1.1539087898240049605014844056847e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.87 y[1] (closed_form) = 0.27818618666666666666666666666667 y[1] (numeric) = 0.27818618666666666666666666666988 absolute error = 3.21e-30 relative error = 1.1539034480695998133432362134060e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.88 y[1] (closed_form) = 0.28080181333333333333333333333333 y[1] (numeric) = 0.28080181333333333333333333333658 absolute error = 3.25e-30 relative error = 1.1573999332198044684991587898578e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.89 y[1] (closed_form) = 0.28343196 y[1] (numeric) = 0.28343196000000000000000000000328 absolute error = 3.28e-30 relative error = 1.1572442289147631763192831182482e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.9 y[1] (closed_form) = 0.28607666666666666666666666666667 y[1] (numeric) = 0.28607666666666666666666666666998 absolute error = 3.31e-30 relative error = 1.1570324971161576733509665241252e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.91 y[1] (closed_form) = 0.28873597333333333333333333333333 y[1] (numeric) = 0.28873597333333333333333333333668 absolute error = 3.35e-30 relative error = 1.1602295208753113224824820350292e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 memory used=337.0MB, alloc=40.3MB, time=4.06 TOP MAIN SOLVE Loop x[1] = 1.92 y[1] (closed_form) = 0.29140992 y[1] (numeric) = 0.29140992000000000000000000000338 absolute error = 3.38e-30 relative error = 1.1598781537704687609810949469393e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.93 y[1] (closed_form) = 0.29409854666666666666666666666667 y[1] (numeric) = 0.29409854666666666666666666667008 absolute error = 3.41e-30 relative error = 1.1594752978718108592262793002128e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.94 y[1] (closed_form) = 0.29680189333333333333333333333333 y[1] (numeric) = 0.29680189333333333333333333333678 absolute error = 3.45e-30 relative error = 1.1623915067567852891504465694783e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.95 y[1] (closed_form) = 0.29952 y[1] (numeric) = 0.29952000000000000000000000000348 absolute error = 3.48e-30 relative error = 1.1618589743589743589743589743590e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.96 y[1] (closed_form) = 0.30225290666666666666666666666667 y[1] (numeric) = 0.30225290666666666666666666667018 absolute error = 3.51e-30 relative error = 1.1612791548340444964234807689525e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.97 y[1] (closed_form) = 0.30500065333333333333333333333333 y[1] (numeric) = 0.30500065333333333333333333333688 absolute error = 3.55e-30 relative error = 1.1639319329982637414241167308538e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.98 y[1] (closed_form) = 0.30776328 y[1] (numeric) = 0.30776328000000000000000000000358 absolute error = 3.58e-30 relative error = 1.1632316889786201914666363056697e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 1.99 y[1] (closed_form) = 0.31054082666666666666666666666667 y[1] (numeric) = 0.31054082666666666666666666667028 absolute error = 3.61e-30 relative error = 1.1624880498804623091533815285350e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2 y[1] (closed_form) = 0.31333333333333333333333333333333 y[1] (numeric) = 0.31333333333333333333333333333698 absolute error = 3.65e-30 relative error = 1.1648936170212765957446808510638e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.01 y[1] (closed_form) = 0.31614084 y[1] (numeric) = 0.31614084000000000000000000000368 absolute error = 3.68e-30 relative error = 1.1640381546401913779946937573772e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.02 y[1] (closed_form) = 0.31896338666666666666666666666667 y[1] (numeric) = 0.31896338666666666666666666667038 absolute error = 3.71e-30 relative error = 1.1631429045105866696340570583357e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.03 y[1] (closed_form) = 0.32180101333333333333333333333333 y[1] (numeric) = 0.32180101333333333333333333333708 absolute error = 3.75e-30 relative error = 1.1653164050529610928094860774418e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.04 y[1] (closed_form) = 0.32465376 y[1] (numeric) = 0.32465376000000000000000000000378 absolute error = 3.78e-30 relative error = 1.1643173330258057075944538575497e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.05 y[1] (closed_form) = 0.32752166666666666666666666666667 y[1] (numeric) = 0.32752166666666666666666666667048 absolute error = 3.81e-30 relative error = 1.1632818185056459369100263086920e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.06 y[1] (closed_form) = 0.33040477333333333333333333333333 y[1] (numeric) = 0.33040477333333333333333333333718 absolute error = 3.85e-30 relative error = 1.1652374029463174018712724005037e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.07 y[1] (closed_form) = 0.33330312 y[1] (numeric) = 0.33330312000000000000000000000388 absolute error = 3.88e-30 relative error = 1.1641055145238364405349700896889e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.08 y[1] (closed_form) = 0.33621674666666666666666666666667 y[1] (numeric) = 0.33621674666666666666666666667058 absolute error = 3.91e-30 relative error = 1.1629402874082496624399752286779e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.09 y[1] (closed_form) = 0.33914569333333333333333333333333 y[1] (numeric) = 0.33914569333333333333333333333728 absolute error = 3.95e-30 relative error = 1.1646911866038929896284102403659e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.1 y[1] (closed_form) = 0.34209 y[1] (numeric) = 0.34209000000000000000000000000398 absolute error = 3.98e-30 relative error = 1.1634365225525446519921658043205e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.11 y[1] (closed_form) = 0.34504970666666666666666666666667 y[1] (numeric) = 0.34504970666666666666666666667068 absolute error = 4.01e-30 relative error = 1.1621514009498457574885442592078e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.12 y[1] (closed_form) = 0.34802485333333333333333333333333 y[1] (numeric) = 0.34802485333333333333333333333738 absolute error = 4.05e-30 relative error = 1.1637099940448697457009200568971e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.13 y[1] (closed_form) = 0.35101548 y[1] (numeric) = 0.35101548000000000000000000000408 absolute error = 4.08e-30 relative error = 1.1623419001350025930480330952925e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.14 y[1] (closed_form) = 0.35402162666666666666666666666667 y[1] (numeric) = 0.35402162666666666666666666667078 absolute error = 4.11e-30 relative error = 1.1609460243144467784303346891576e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 memory used=378.7MB, alloc=40.3MB, time=4.56 TOP MAIN SOLVE Loop x[1] = 2.15 y[1] (closed_form) = 0.35704333333333333333333333333333 y[1] (numeric) = 0.35704333333333333333333333333748 absolute error = 4.15e-30 relative error = 1.1623239009270583402574850858439e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.16 y[1] (closed_form) = 0.36008064 y[1] (numeric) = 0.36008064000000000000000000000418 absolute error = 4.18e-30 relative error = 1.1608510804690860358390831564841e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.17 y[1] (closed_form) = 0.36313358666666666666666666666667 y[1] (numeric) = 0.36313358666666666666666666667088 absolute error = 4.21e-30 relative error = 1.1593529639175210415678432241960e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.18 y[1] (closed_form) = 0.36620221333333333333333333333333 y[1] (numeric) = 0.36620221333333333333333333333758 absolute error = 4.25e-30 relative error = 1.1605609811351586223800722704534e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.19 y[1] (closed_form) = 0.36928656 y[1] (numeric) = 0.36928656000000000000000000000428 absolute error = 4.28e-30 relative error = 1.1589915430445126408066407832443e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.2 y[1] (closed_form) = 0.37238666666666666666666666666667 y[1] (numeric) = 0.37238666666666666666666666667098 absolute error = 4.31e-30 relative error = 1.1573991191951018654445200329407e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.21 y[1] (closed_form) = 0.37550257333333333333333333333333 y[1] (numeric) = 0.37550257333333333333333333333768 absolute error = 4.35e-30 relative error = 1.1584474538709774665370247085391e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.22 y[1] (closed_form) = 0.37863432 y[1] (numeric) = 0.37863432000000000000000000000438 absolute error = 4.38e-30 relative error = 1.1567889566904553184719229889145e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.23 y[1] (closed_form) = 0.38178194666666666666666666666667 y[1] (numeric) = 0.38178194666666666666666666667108 absolute error = 4.41e-30 relative error = 1.1551096217366101403921805836393e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.24 y[1] (closed_form) = 0.38494549333333333333333333333333 y[1] (numeric) = 0.38494549333333333333333333333778 absolute error = 4.45e-30 relative error = 1.1560078185268272786117736772569e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.25 y[1] (closed_form) = 0.388125 y[1] (numeric) = 0.38812500000000000000000000000448 absolute error = 4.48e-30 relative error = 1.1542673107890499194847020933977e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.26 y[1] (closed_form) = 0.39132050666666666666666666666667 y[1] (numeric) = 0.39132050666666666666666666667118 absolute error = 4.51e-30 relative error = 1.1525079629526528263038808972205e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.27 y[1] (closed_form) = 0.39453205333333333333333333333333 y[1] (numeric) = 0.39453205333333333333333333333788 absolute error = 4.55e-30 relative error = 1.1532649784872570049568258146427e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.28 y[1] (closed_form) = 0.39775968 y[1] (numeric) = 0.39775968000000000000000000000458 absolute error = 4.58e-30 relative error = 1.1514490357594817051341151521441e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.29 y[1] (closed_form) = 0.40100342666666666666666666666667 y[1] (numeric) = 0.40100342666666666666666666667128 absolute error = 4.61e-30 relative error = 1.1496161113436204385551884062038e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.3 y[1] (closed_form) = 0.40426333333333333333333333333333 y[1] (numeric) = 0.40426333333333333333333333333798 absolute error = 4.65e-30 relative error = 1.1502403548841926467071793138136e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.31 y[1] (closed_form) = 0.40753944 y[1] (numeric) = 0.40753944000000000000000000000468 absolute error = 4.68e-30 relative error = 1.1483551138019917777773851777389e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.32 y[1] (closed_form) = 0.41083178666666666666666666666667 y[1] (numeric) = 0.41083178666666666666666666667138 absolute error = 4.71e-30 relative error = 1.1464546203240878732395390113274e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.33 y[1] (closed_form) = 0.41414041333333333333333333333333 y[1] (numeric) = 0.41414041333333333333333333333808 absolute error = 4.75e-30 relative error = 1.1469539912244256223436746783241e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.34 y[1] (closed_form) = 0.41746536 y[1] (numeric) = 0.41746536000000000000000000000478 absolute error = 4.78e-30 relative error = 1.1450051807891318216198824256940e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.35 y[1] (closed_form) = 0.42080666666666666666666666666667 y[1] (numeric) = 0.42080666666666666666666666667148 absolute error = 4.81e-30 relative error = 1.1430427274599578587157998130575e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.36 y[1] (closed_form) = 0.42416437333333333333333333333333 y[1] (numeric) = 0.42416437333333333333333333333818 absolute error = 4.85e-30 relative error = 1.1434246497144126013034946703680e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 memory used=420.3MB, alloc=40.3MB, time=5.06 TOP MAIN SOLVE Loop x[1] = 2.37 y[1] (closed_form) = 0.42753852 y[1] (numeric) = 0.42753852000000000000000000000488 absolute error = 4.88e-30 relative error = 1.1414176201012250311387147057533e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.38 y[1] (closed_form) = 0.43092914666666666666666666666667 y[1] (numeric) = 0.43092914666666666666666666667158 absolute error = 4.91e-30 relative error = 1.1393984458883666134627669340599e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.39 y[1] (closed_form) = 0.43433629333333333333333333333333 y[1] (numeric) = 0.43433629333333333333333333333828 absolute error = 4.95e-30 relative error = 1.1396699000240121157117517111626e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.4 y[1] (closed_form) = 0.43776 y[1] (numeric) = 0.43776000000000000000000000000498 absolute error = 4.98e-30 relative error = 1.1376096491228070175438596491228e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.41 y[1] (closed_form) = 0.44120030666666666666666666666667 y[1] (numeric) = 0.44120030666666666666666666667168 absolute error = 5.01e-30 relative error = 1.1355386486132088817224454633954e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.42 y[1] (closed_form) = 0.44465725333333333333333333333333 y[1] (numeric) = 0.44465725333333333333333333333838 absolute error = 5.05e-30 relative error = 1.1357062011567621191621028019364e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.43 y[1] (closed_form) = 0.44813088 y[1] (numeric) = 0.44813088000000000000000000000508 absolute error = 5.08e-30 relative error = 1.1335973990455645457862667263635e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.44 y[1] (closed_form) = 0.45162122666666666666666666666667 y[1] (numeric) = 0.45162122666666666666666666667178 absolute error = 5.11e-30 relative error = 1.1314791463005340876803192480590e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.45 y[1] (closed_form) = 0.45512833333333333333333333333333 y[1] (numeric) = 0.45512833333333333333333333333848 absolute error = 5.15e-30 relative error = 1.1315489770284571750824858922575e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.46 y[1] (closed_form) = 0.45865224 y[1] (numeric) = 0.45865224000000000000000000000518 absolute error = 5.18e-30 relative error = 1.1293959885598727262293540744508e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.47 y[1] (closed_form) = 0.46219298666666666666666666666667 y[1] (numeric) = 0.46219298666666666666666666667188 absolute error = 5.21e-30 relative error = 1.1272347591369769522537685123969e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.48 y[1] (closed_form) = 0.46575061333333333333333333333333 y[1] (numeric) = 0.46575061333333333333333333333858 absolute error = 5.25e-30 relative error = 1.1272126862971245040550456530442e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.49 y[1] (closed_form) = 0.46932516 y[1] (numeric) = 0.46932516000000000000000000000528 absolute error = 5.28e-30 relative error = 1.1250195919605077213418517771346e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.5 y[1] (closed_form) = 0.47291666666666666666666666666667 y[1] (numeric) = 0.47291666666666666666666666667198 absolute error = 5.31e-30 relative error = 1.1228193832599118942731277533040e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.51 y[1] (closed_form) = 0.47652517333333333333333333333333 y[1] (numeric) = 0.47652517333333333333333333333868 absolute error = 5.35e-30 relative error = 1.1227108869351652020454295412110e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.52 y[1] (closed_form) = 0.48015072 y[1] (numeric) = 0.48015072000000000000000000000538 absolute error = 5.38e-30 relative error = 1.1204815021416608518258600132892e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.53 y[1] (closed_form) = 0.48379334666666666666666666666667 y[1] (numeric) = 0.48379334666666666666666666667208 absolute error = 5.41e-30 relative error = 1.1182460522193759809456935896679e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.54 y[1] (closed_form) = 0.48745309333333333333333333333333 y[1] (numeric) = 0.48745309333333333333333333333878 absolute error = 5.45e-30 relative error = 1.1180562959876727420911227779811e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.55 y[1] (closed_form) = 0.49113 y[1] (numeric) = 0.49113000000000000000000000000548 absolute error = 5.48e-30 relative error = 1.1157941889112862174984220063934e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.56 y[1] (closed_form) = 0.49482410666666666666666666666667 y[1] (numeric) = 0.49482410666666666666666666667218 absolute error = 5.51e-30 relative error = 1.1135269938883063848573478284863e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.57 y[1] (closed_form) = 0.49853545333333333333333333333333 y[1] (numeric) = 0.49853545333333333333333333333888 absolute error = 5.55e-30 relative error = 1.1132608449191136095462979978234e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.58 y[1] (closed_form) = 0.50226408 y[1] (numeric) = 0.50226408000000000000000000000558 absolute error = 5.58e-30 relative error = 1.1109693530144540696599286972702e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.59 y[1] (closed_form) = 0.50601002666666666666666666666667 y[1] (numeric) = 0.50601002666666666666666666667228 absolute error = 5.61e-30 relative error = 1.1086736831986886583960180815389e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 memory used=462.0MB, alloc=40.3MB, time=5.56 TOP MAIN SOLVE Loop x[1] = 2.6 y[1] (closed_form) = 0.50977333333333333333333333333333 y[1] (numeric) = 0.50977333333333333333333333333898 absolute error = 5.65e-30 relative error = 1.1083357309130855543640310726336e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.61 y[1] (closed_form) = 0.51355404 y[1] (numeric) = 0.51355404000000000000000000000568 absolute error = 5.68e-30 relative error = 1.1060179762192115166692097291261e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.62 y[1] (closed_form) = 0.51735218666666666666666666666667 y[1] (numeric) = 0.51735218666666666666666666667238 absolute error = 5.71e-30 relative error = 1.1036968910462902202481589975046e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.63 y[1] (closed_form) = 0.52116781333333333333333333333333 y[1] (numeric) = 0.52116781333333333333333333333908 absolute error = 5.75e-30 relative error = 1.1032914644562598467963716152745e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.64 y[1] (closed_form) = 0.52500096 y[1] (numeric) = 0.52500096000000000000000000000578 absolute error = 5.78e-30 relative error = 1.1009503677859941437059467472212e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.65 y[1] (closed_form) = 0.52885166666666666666666666666667 y[1] (numeric) = 0.52885166666666666666666666667248 absolute error = 5.81e-30 relative error = 1.0986067296753027786619436451935e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.66 y[1] (closed_form) = 0.53271997333333333333333333333333 y[1] (numeric) = 0.53271997333333333333333333333918 absolute error = 5.85e-30 relative error = 1.0981379135074292189732802209181e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.67 y[1] (closed_form) = 0.53660592 y[1] (numeric) = 0.53660592000000000000000000000588 absolute error = 5.88e-30 relative error = 1.0957762076124691281825589997218e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.68 y[1] (closed_form) = 0.54050954666666666666666666666667 y[1] (numeric) = 0.54050954666666666666666666667258 absolute error = 5.91e-30 relative error = 1.0934126948260377319021636275262e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.69 y[1] (closed_form) = 0.54443089333333333333333333333333 y[1] (numeric) = 0.54443089333333333333333333333928 absolute error = 5.95e-30 relative error = 1.0928843445254404740245330677659e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.7 y[1] (closed_form) = 0.54837 y[1] (numeric) = 0.54837000000000000000000000000598 absolute error = 5.98e-30 relative error = 1.0905045863194558418585991210314e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.71 y[1] (closed_form) = 0.55232690666666666666666666666667 y[1] (numeric) = 0.55232690666666666666666666667268 absolute error = 6.01e-30 relative error = 1.0881237049034583818211234226069e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.72 y[1] (closed_form) = 0.55630165333333333333333333333333 y[1] (numeric) = 0.55630165333333333333333333333938 absolute error = 6.05e-30 relative error = 1.0875394606053540640205179808442e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.73 y[1] (closed_form) = 0.56029428 y[1] (numeric) = 0.56029428000000000000000000000608 absolute error = 6.08e-30 relative error = 1.0851440425199414850353282207343e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.74 y[1] (closed_form) = 0.56430482666666666666666666666667 y[1] (numeric) = 0.56430482666666666666666666667278 absolute error = 6.11e-30 relative error = 1.0827481374014829148369030430881e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.75 y[1] (closed_form) = 0.56833333333333333333333333333333 y[1] (numeric) = 0.56833333333333333333333333333948 absolute error = 6.15e-30 relative error = 1.0821114369501466275659824046921e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.76 y[1] (closed_form) = 0.57237984 y[1] (numeric) = 0.57237984000000000000000000000618 absolute error = 6.18e-30 relative error = 1.0797025974919032787737597466745e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.77 y[1] (closed_form) = 0.57644438666666666666666666666667 y[1] (numeric) = 0.57644438666666666666666666667288 absolute error = 6.21e-30 relative error = 1.0772938627973802341244644843334e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.78 y[1] (closed_form) = 0.58052701333333333333333333333333 y[1] (numeric) = 0.58052701333333333333333333333958 absolute error = 6.25e-30 relative error = 1.0766079538853959962724444910126e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.79 y[1] (closed_form) = 0.58462776 y[1] (numeric) = 0.58462776000000000000000000000628 absolute error = 6.28e-30 relative error = 1.0741877874564150015729667027785e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.8 y[1] (closed_form) = 0.58874666666666666666666666666667 y[1] (numeric) = 0.58874666666666666666666666667298 absolute error = 6.31e-30 relative error = 1.0717682761119666636470694809312e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.81 y[1] (closed_form) = 0.59288377333333333333333333333333 y[1] (numeric) = 0.59288377333333333333333333333968 absolute error = 6.35e-30 relative error = 1.0710362276064315967223975073428e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.82 y[1] (closed_form) = 0.59703912 y[1] (numeric) = 0.59703912000000000000000000000638 absolute error = 6.38e-30 relative error = 1.0686066936451333373263715114681e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 memory used=503.7MB, alloc=40.3MB, time=6.06 TOP MAIN SOLVE Loop x[1] = 2.83 y[1] (closed_form) = 0.60121274666666666666666666666667 y[1] (numeric) = 0.60121274666666666666666666667308 absolute error = 6.41e-30 relative error = 1.0661783263144831083199921509759e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.84 y[1] (closed_form) = 0.60540469333333333333333333333333 y[1] (numeric) = 0.60540469333333333333333333333978 absolute error = 6.45e-30 relative error = 1.0654030388311932919273481240714e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.85 y[1] (closed_form) = 0.609615 y[1] (numeric) = 0.60961500000000000000000000000648 absolute error = 6.48e-30 relative error = 1.0629659703255333284121945818262e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.86 y[1] (closed_form) = 0.61384370666666666666666666666667 y[1] (numeric) = 0.61384370666666666666666666667318 absolute error = 6.51e-30 relative error = 1.0605305437358017604394325956327e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.87 y[1] (closed_form) = 0.61809085333333333333333333333333 y[1] (numeric) = 0.61809085333333333333333333333988 absolute error = 6.55e-30 relative error = 1.0597147595173387023534447384585e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.88 y[1] (closed_form) = 0.62235648 y[1] (numeric) = 0.62235648000000000000000000000658 absolute error = 6.58e-30 relative error = 1.0572718709380193165177616532570e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.89 y[1] (closed_form) = 0.62664062666666666666666666666667 y[1] (numeric) = 0.62664062666666666666666666667328 absolute error = 6.61e-30 relative error = 1.0548310656398126500873536298221e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.9 y[1] (closed_form) = 0.63094333333333333333333333333333 y[1] (numeric) = 0.63094333333333333333333333333998 absolute error = 6.65e-30 relative error = 1.0539773777888135754399497049392e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.91 y[1] (closed_form) = 0.63526464 y[1] (numeric) = 0.63526464000000000000000000000668 absolute error = 6.68e-30 relative error = 1.0515302724861248376739495527407e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.92 y[1] (closed_form) = 0.63960458666666666666666666666667 y[1] (numeric) = 0.63960458666666666666666666667338 absolute error = 6.71e-30 relative error = 1.0490856600903258062939886359789e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.93 y[1] (closed_form) = 0.64396321333333333333333333333333 y[1] (numeric) = 0.64396321333333333333333333334008 absolute error = 6.75e-30 relative error = 1.0481965212050104476982442951555e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.94 y[1] (closed_form) = 0.64834056 y[1] (numeric) = 0.64834056000000000000000000000678 absolute error = 6.78e-30 relative error = 1.0457466983092959663051159409185e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.95 y[1] (closed_form) = 0.65273666666666666666666666666667 y[1] (numeric) = 0.65273666666666666666666666667348 absolute error = 6.81e-30 relative error = 1.0432997482394635917496080604225e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.96 y[1] (closed_form) = 0.65715157333333333333333333333333 y[1] (numeric) = 0.65715157333333333333333333334018 absolute error = 6.85e-30 relative error = 1.0423774784946620534099814374636e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.97 y[1] (closed_form) = 0.66158532 y[1] (numeric) = 0.66158532000000000000000000000688 absolute error = 6.88e-30 relative error = 1.0399263393571066540593736269723e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.98 y[1] (closed_form) = 0.66603794666666666666666666666667 y[1] (numeric) = 0.66603794666666666666666666667358 absolute error = 6.91e-30 relative error = 1.0374784251531934737011781070492e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 2.99 y[1] (closed_form) = 0.67050949333333333333333333333333 y[1] (numeric) = 0.67050949333333333333333333334028 absolute error = 6.95e-30 relative error = 1.0365252198666359424351774527199e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3 y[1] (closed_form) = 0.675 y[1] (numeric) = 0.67500000000000000000000000000698 absolute error = 6.98e-30 relative error = 1.0340740740740740740740740740741e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.01 y[1] (closed_form) = 0.67950950666666666666666666666667 y[1] (numeric) = 0.67950950666666666666666666667368 absolute error = 7.01e-30 relative error = 1.0316264792802604498268191999590e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.02 y[1] (closed_form) = 0.68403805333333333333333333333333 y[1] (numeric) = 0.68403805333333333333333333334038 absolute error = 7.05e-30 relative error = 1.0306444160007160615274931878059e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.03 y[1] (closed_form) = 0.68858568 y[1] (numeric) = 0.68858568000000000000000000000708 absolute error = 7.08e-30 relative error = 1.0281944869954309825321955577119e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.04 y[1] (closed_form) = 0.69315242666666666666666666666667 y[1] (numeric) = 0.69315242666666666666666666667378 absolute error = 7.11e-30 relative error = 1.0257484106622281752284903876458e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 memory used=545.3MB, alloc=40.3MB, time=6.55 TOP MAIN SOLVE Loop x[1] = 3.05 y[1] (closed_form) = 0.69773833333333333333333333333333 y[1] (numeric) = 0.69773833333333333333333333334048 absolute error = 7.15e-30 relative error = 1.0247394558131868919341778078219e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.06 y[1] (closed_form) = 0.70234344 y[1] (numeric) = 0.70234344000000000000000000000718 absolute error = 7.18e-30 relative error = 1.0222918861461851199179706156293e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.07 y[1] (closed_form) = 0.70696778666666666666666666666667 y[1] (numeric) = 0.70696778666666666666666666667388 absolute error = 7.21e-30 relative error = 1.0198484479745460915296018013758e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.08 y[1] (closed_form) = 0.71161141333333333333333333333333 y[1] (numeric) = 0.71161141333333333333333333334058 absolute error = 7.25e-30 relative error = 1.0188144630844969022044540563487e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.09 y[1] (closed_form) = 0.71627436 y[1] (numeric) = 0.71627436000000000000000000000728 absolute error = 7.28e-30 relative error = 1.0163703193284763117864500971388e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.1 y[1] (closed_form) = 0.72095666666666666666666666666667 y[1] (numeric) = 0.72095666666666666666666666667398 absolute error = 7.31e-30 relative error = 1.0139305644814528843619819961440e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.11 y[1] (closed_form) = 0.72565837333333333333333333333333 y[1] (numeric) = 0.72565837333333333333333333334068 absolute error = 7.35e-30 relative error = 1.0128733120293997664061498323417e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.12 y[1] (closed_form) = 0.73037952 y[1] (numeric) = 0.73037952000000000000000000000738 absolute error = 7.38e-30 relative error = 1.0104335893755618996545795807637e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.13 y[1] (closed_form) = 0.73512014666666666666666666666667 y[1] (numeric) = 0.73512014666666666666666666667408 absolute error = 7.41e-30 relative error = 1.0079984929810385099680123036940e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.14 y[1] (closed_form) = 0.73988029333333333333333333333333 y[1] (numeric) = 0.73988029333333333333333333334078 absolute error = 7.45e-30 relative error = 1.0069196418836906626084486243559e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.15 y[1] (closed_form) = 0.74466 y[1] (numeric) = 0.74466000000000000000000000000748 absolute error = 7.48e-30 relative error = 1.0044852684446593076034700400183e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.16 y[1] (closed_form) = 0.74945930666666666666666666666667 y[1] (numeric) = 0.74945930666666666666666666667418 absolute error = 7.51e-30 relative error = 1.0020557398108588435168407987212e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.17 y[1] (closed_form) = 0.75427825333333333333333333333333 y[1] (numeric) = 0.75427825333333333333333333334088 absolute error = 7.55e-30 relative error = 1.0009568705759142572124886396919e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.18 y[1] (closed_form) = 0.75911688 y[1] (numeric) = 0.75911688000000000000000000000758 absolute error = 7.58e-30 relative error = 9.9852871141529615307724417878838e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.19 y[1] (closed_form) = 0.76397522666666666666666666666667 y[1] (numeric) = 0.76397522666666666666666666667428 absolute error = 7.61e-30 relative error = 9.9610559797907583111508223076413e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.2 y[1] (closed_form) = 0.76885333333333333333333333333333 y[1] (numeric) = 0.76885333333333333333333333334098 absolute error = 7.65e-30 relative error = 9.9498820754716981132075471698114e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.21 y[1] (closed_form) = 0.77375124 y[1] (numeric) = 0.77375124000000000000000000000768 absolute error = 7.68e-30 relative error = 9.9256706845471420504605588741932e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.22 y[1] (closed_form) = 0.77866898666666666666666666666667 y[1] (numeric) = 0.77866898666666666666666666667438 absolute error = 7.71e-30 relative error = 9.9015115948113442264743937235529e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.23 y[1] (closed_form) = 0.78360661333333333333333333333333 y[1] (numeric) = 0.78360661333333333333333333334108 absolute error = 7.75e-30 relative error = 9.8901666577733153723936582056412e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.24 y[1] (closed_form) = 0.78856416 y[1] (numeric) = 0.78856416000000000000000000000778 absolute error = 7.78e-30 relative error = 9.8660329680719955621619932612712e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.25 y[1] (closed_form) = 0.79354166666666666666666666666667 y[1] (numeric) = 0.79354166666666666666666666667448 absolute error = 7.81e-30 relative error = 9.8419532685744289839852979784720e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.26 y[1] (closed_form) = 0.79853917333333333333333333333333 y[1] (numeric) = 0.79853917333333333333333333334118 absolute error = 7.85e-30 relative error = 9.8304507307159784004251229553539e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.27 y[1] (closed_form) = 0.80355672 y[1] (numeric) = 0.80355672000000000000000000000788 absolute error = 7.88e-30 relative error = 9.8064017185992794634335209093889e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 memory used=587.0MB, alloc=40.3MB, time=7.05 TOP MAIN SOLVE Loop x[1] = 3.28 y[1] (closed_form) = 0.80859434666666666666666666666667 y[1] (numeric) = 0.80859434666666666666666666667458 absolute error = 7.91e-30 relative error = 9.7824082404335715035751919512142e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.29 y[1] (closed_form) = 0.81365209333333333333333333333333 y[1] (numeric) = 0.81365209333333333333333333334128 absolute error = 7.95e-30 relative error = 9.7707608265724447961026159796685e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.3 y[1] (closed_form) = 0.81873 y[1] (numeric) = 0.81873000000000000000000000000798 absolute error = 7.98e-30 relative error = 9.7468029753398556300611923344692e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.31 y[1] (closed_form) = 0.82382810666666666666666666666667 y[1] (numeric) = 0.82382810666666666666666666667468 absolute error = 8.01e-30 relative error = 9.7229020655894753967122073426709e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.32 y[1] (closed_form) = 0.82894645333333333333333333333333 y[1] (numeric) = 0.82894645333333333333333333334138 absolute error = 8.05e-30 relative error = 9.7111218313675073889774689749161e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.33 y[1] (closed_form) = 0.83408508 y[1] (numeric) = 0.83408508000000000000000000000808 absolute error = 8.08e-30 relative error = 9.6872611604561971064150913717339e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.34 y[1] (closed_form) = 0.83924402666666666666666666666667 y[1] (numeric) = 0.83924402666666666666666666667478 absolute error = 8.11e-30 relative error = 9.6634587108251804139541328797780e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.35 y[1] (closed_form) = 0.84442333333333333333333333333333 y[1] (numeric) = 0.84442333333333333333333333334148 absolute error = 8.15e-30 relative error = 9.6515570784006442266319815890134e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.36 y[1] (closed_form) = 0.84962304 y[1] (numeric) = 0.84962304000000000000000000000818 absolute error = 8.18e-30 relative error = 9.6277991707946149859589495124803e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.37 y[1] (closed_form) = 0.85484318666666666666666666666667 y[1] (numeric) = 0.85484318666666666666666666667488 absolute error = 8.21e-30 relative error = 9.6041006444862347385069720155614e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.38 y[1] (closed_form) = 0.86008381333333333333333333333333 y[1] (numeric) = 0.86008381333333333333333333334158 absolute error = 8.25e-30 relative error = 9.5920884361564390794410330800940e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.39 y[1] (closed_form) = 0.86534496 y[1] (numeric) = 0.86534496000000000000000000000828 absolute error = 8.28e-30 relative error = 9.5684384641241800264255309235290e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.4 y[1] (closed_form) = 0.87062666666666666666666666666667 y[1] (numeric) = 0.87062666666666666666666666667498 absolute error = 8.31e-30 relative error = 9.5448489210836638742974409237790e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.41 y[1] (closed_form) = 0.87592897333333333333333333333333 y[1] (numeric) = 0.87592897333333333333333333334168 absolute error = 8.35e-30 relative error = 9.5327363909703911609393352182452e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.42 y[1] (closed_form) = 0.88125192 y[1] (numeric) = 0.88125192000000000000000000000838 absolute error = 8.38e-30 relative error = 9.5091991402413058005025396143250e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.43 y[1] (closed_form) = 0.88659554666666666666666666666667 y[1] (numeric) = 0.88659554666666666666666666667508 absolute error = 8.41e-30 relative error = 9.4857232608702779257512173984000e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.44 y[1] (closed_form) = 0.89195989333333333333333333333333 y[1] (numeric) = 0.89195989333333333333333333334178 absolute error = 8.45e-30 relative error = 9.4735201247912611676172226099494e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.45 y[1] (closed_form) = 0.897345 y[1] (numeric) = 0.89734500000000000000000000000848 absolute error = 8.48e-30 relative error = 9.4501000172731780976101722303016e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.46 y[1] (closed_form) = 0.90275090666666666666666666666667 y[1] (numeric) = 0.90275090666666666666666666667518 absolute error = 8.51e-30 relative error = 9.4267421247157466161429720635524e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.47 y[1] (closed_form) = 0.90817765333333333333333333333333 y[1] (numeric) = 0.90817765333333333333333333334188 absolute error = 8.55e-30 relative error = 9.4144575883567215131065986443416e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.48 y[1] (closed_form) = 0.91362528 y[1] (numeric) = 0.91362528000000000000000000000858 absolute error = 8.58e-30 relative error = 9.3911587034894656154873472853115e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.49 y[1] (closed_form) = 0.91909382666666666666666666666667 y[1] (numeric) = 0.91909382666666666666666666667528 absolute error = 8.61e-30 relative error = 9.3679227845827332797375478690699e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.5 y[1] (closed_form) = 0.92458333333333333333333333333333 y[1] (numeric) = 0.92458333333333333333333333334198 absolute error = 8.65e-30 relative error = 9.3555655700766110860748084722848e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 memory used=628.7MB, alloc=40.3MB, time=7.55 TOP MAIN SOLVE Loop x[1] = 3.51 y[1] (closed_form) = 0.93009384 y[1] (numeric) = 0.93009384000000000000000000000868 absolute error = 8.68e-30 relative error = 9.3323916649098546873506871091631e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.52 y[1] (closed_form) = 0.93562538666666666666666666666667 y[1] (numeric) = 0.93562538666666666666666666667538 absolute error = 8.71e-30 relative error = 9.3092813898850457299833278002546e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.53 y[1] (closed_form) = 0.94117801333333333333333333333333 y[1] (numeric) = 0.94117801333333333333333333334208 absolute error = 8.75e-30 relative error = 9.2968597608973752623857157394143e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.54 y[1] (closed_form) = 0.94675176 y[1] (numeric) = 0.94675176000000000000000000000878 absolute error = 8.78e-30 relative error = 9.2738142889747572267518150692426e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.55 y[1] (closed_form) = 0.95234666666666666666666666666667 y[1] (numeric) = 0.95234666666666666666666666667548 absolute error = 8.81e-30 relative error = 9.2508330299890796068658471704981e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.56 y[1] (closed_form) = 0.95796277333333333333333333333333 y[1] (numeric) = 0.95796277333333333333333333334218 absolute error = 8.85e-30 relative error = 9.2383548154021517440176659335183e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.57 y[1] (closed_form) = 0.96360012 y[1] (numeric) = 0.96360012000000000000000000000888 absolute error = 8.88e-30 relative error = 9.2154409445279023003857658299171e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.58 y[1] (closed_form) = 0.96925874666666666666666666666667 y[1] (numeric) = 0.96925874666666666666666666667558 absolute error = 8.91e-30 relative error = 9.1925917931016590189897142842050e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.59 y[1] (closed_form) = 0.97493869333333333333333333333333 y[1] (numeric) = 0.97493869333333333333333333334228 absolute error = 8.95e-30 relative error = 9.1800644093833072744868114920922e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.6 y[1] (closed_form) = 0.98064 y[1] (numeric) = 0.98064000000000000000000000000898 absolute error = 8.98e-30 relative error = 9.1572850383423070647740251264480e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.61 y[1] (closed_form) = 0.98636270666666666666666666666667 y[1] (numeric) = 0.98636270666666666666666666667568 absolute error = 9.01e-30 relative error = 9.1345708217705933002089846516635e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.62 y[1] (closed_form) = 0.99210685333333333333333333333333 y[1] (numeric) = 0.99210685333333333333333333334238 absolute error = 9.05e-30 relative error = 9.1220012941079169241098143003790e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.63 y[1] (closed_form) = 0.99787248 y[1] (numeric) = 0.99787248000000000000000000000908 absolute error = 9.08e-30 relative error = 9.0993590684052134597398657592000e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.64 y[1] (closed_form) = 1.0036596266666666666666666666667 y[1] (numeric) = 1.003659626666666666666666666676 absolute error = 9.3e-30 relative error = 9.2660895715083860036906004468550e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.65 y[1] (closed_form) = 1.0094683333333333333333333333333 y[1] (numeric) = 1.009468333333333333333333333343 absolute error = 9.7e-30 relative error = 9.6090186088056254034714643516970e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.66 y[1] (closed_form) = 1.01529864 y[1] (numeric) = 1.01529864000000000000000000001 absolute error = 1.00e-29 relative error = 9.8493188171708769352828050670884e-28 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.67 y[1] (closed_form) = 1.0211505866666666666666666666667 y[1] (numeric) = 1.021150586666666666666666666677 absolute error = 1.03e-29 relative error = 1.0086661198151199221103452270454e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.68 y[1] (closed_form) = 1.0270242133333333333333333333333 y[1] (numeric) = 1.027024213333333333333333333344 absolute error = 1.07e-29 relative error = 1.0418449595527874344436098721775e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.69 y[1] (closed_form) = 1.03291956 y[1] (numeric) = 1.032919560000000000000000000011 absolute error = 1.10e-29 relative error = 1.0649425595154766940418864756516e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.7 y[1] (closed_form) = 1.0388366666666666666666666666667 y[1] (numeric) = 1.038836666666666666666666666678 absolute error = 1.13e-29 relative error = 1.0877552133636664088996987014320e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.71 y[1] (closed_form) = 1.0447755733333333333333333333333 y[1] (numeric) = 1.044775573333333333333333333345 absolute error = 1.17e-29 relative error = 1.1198577281694487803747530187281e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.72 y[1] (closed_form) = 1.05073632 y[1] (numeric) = 1.050736320000000000000000000012 absolute error = 1.20e-29 relative error = 1.1420562677418441193695483944059e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 memory used=670.2MB, alloc=40.3MB, time=8.05 TOP MAIN SOLVE Loop x[1] = 3.73 y[1] (closed_form) = 1.0567189466666666666666666666667 y[1] (numeric) = 1.056718946666666666666666666679 absolute error = 1.23e-29 relative error = 1.1639802654054176070354929190191e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.74 y[1] (closed_form) = 1.0627234933333333333333333333333 y[1] (numeric) = 1.062723493333333333333333333346 absolute error = 1.27e-29 relative error = 1.1950427443892523589265527607545e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.75 y[1] (closed_form) = 1.06875 y[1] (numeric) = 1.068750000000000000000000000013 absolute error = 1.30e-29 relative error = 1.2163742690058479532163742690058e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.76 y[1] (closed_form) = 1.0747985066666666666666666666667 y[1] (numeric) = 1.07479850666666666666666666668 absolute error = 1.33e-29 relative error = 1.2374412429403201751130084686384e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.77 y[1] (closed_form) = 1.0808690533333333333333333333333 y[1] (numeric) = 1.080869053333333333333333333347 absolute error = 1.37e-29 relative error = 1.2674985890057678155500032880949e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.78 y[1] (closed_form) = 1.08696168 y[1] (numeric) = 1.086961680000000000000000000014 absolute error = 1.40e-29 relative error = 1.2879938876962065488822016246240e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.79 y[1] (closed_form) = 1.0930764266666666666666666666667 y[1] (numeric) = 1.093076426666666666666666666681 absolute error = 1.43e-29 relative error = 1.3082342324047557906655432156912e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.8 y[1] (closed_form) = 1.0992133333333333333333333333333 y[1] (numeric) = 1.099213333333333333333333333348 absolute error = 1.47e-29 relative error = 1.3373200228041872369330794143691e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.81 y[1] (closed_form) = 1.10537244 y[1] (numeric) = 1.105372440000000000000000000015 absolute error = 1.50e-29 relative error = 1.3570086838785305702031072893404e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.82 y[1] (closed_form) = 1.1115537866666666666666666666667 y[1] (numeric) = 1.111553786666666666666666666682 absolute error = 1.53e-29 relative error = 1.3764516106666975023814712028210e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.83 y[1] (closed_form) = 1.1177574133333333333333333333333 y[1] (numeric) = 1.117757413333333333333333333349 absolute error = 1.57e-29 relative error = 1.4045981545476904076240466536055e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.84 y[1] (closed_form) = 1.12398336 y[1] (numeric) = 1.123983360000000000000000000016 absolute error = 1.60e-29 relative error = 1.4235086184905797893662767391859e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.85 y[1] (closed_form) = 1.1302316666666666666666666666667 y[1] (numeric) = 1.130231666666666666666666666683 absolute error = 1.63e-29 relative error = 1.4421822074825367660612352334845e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.86 y[1] (closed_form) = 1.1365023733333333333333333333333 y[1] (numeric) = 1.13650237333333333333333333335 absolute error = 1.67e-29 relative error = 1.4694206005940236898522740143156e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.87 y[1] (closed_form) = 1.14279552 y[1] (numeric) = 1.142795520000000000000000000017 absolute error = 1.70e-29 relative error = 1.4875802103249407208036657336564e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.88 y[1] (closed_form) = 1.1491111466666666666666666666667 y[1] (numeric) = 1.149111146666666666666666666684 absolute error = 1.73e-29 relative error = 1.5055114598952168665181398872747e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.89 y[1] (closed_form) = 1.1554492933333333333333333333334 y[1] (numeric) = 1.155449293333333333333333333351 absolute error = 1.76e-29 relative error = 1.5232169945966300416448680274986e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.9 y[1] (closed_form) = 1.16181 y[1] (numeric) = 1.161810000000000000000000000018 absolute error = 1.80e-29 relative error = 1.5493066852583468897668293438686e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.91 y[1] (closed_form) = 1.1681933066666666666666666666667 y[1] (numeric) = 1.168193306666666666666666666685 absolute error = 1.83e-29 relative error = 1.5665215590232566304266218588617e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.92 y[1] (closed_form) = 1.1745992533333333333333333333334 y[1] (numeric) = 1.174599253333333333333333333352 absolute error = 1.86e-29 relative error = 1.5835187998984368501329656330787e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.93 y[1] (closed_form) = 1.18102788 y[1] (numeric) = 1.181027880000000000000000000019 absolute error = 1.90e-29 relative error = 1.6087681181582267134963824901407e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.94 y[1] (closed_form) = 1.1874792266666666666666666666667 y[1] (numeric) = 1.187479226666666666666666666686 absolute error = 1.93e-29 relative error = 1.6252915896622786675667544589860e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.95 y[1] (closed_form) = 1.1939533333333333333333333333334 y[1] (numeric) = 1.193953333333333333333333333353 absolute error = 1.96e-29 relative error = 1.6416051995332034194524632453529e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 memory used=711.9MB, alloc=40.3MB, time=8.55 TOP MAIN SOLVE Loop x[1] = 3.96 y[1] (closed_form) = 1.20045024 y[1] (numeric) = 1.20045024000000000000000000002 absolute error = 2.00e-29 relative error = 1.6660415678704016919518463339222e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.97 y[1] (closed_form) = 1.2069699866666666666666666666667 y[1] (numeric) = 1.206969986666666666666666666687 absolute error = 2.03e-29 relative error = 1.6818976630946106155039547020384e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.98 y[1] (closed_form) = 1.2135126133333333333333333333334 y[1] (numeric) = 1.213512613333333333333333333354 absolute error = 2.06e-29 relative error = 1.6975513705963841870134221706097e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 3.99 y[1] (closed_form) = 1.22007816 y[1] (numeric) = 1.220078160000000000000000000021 absolute error = 2.10e-29 relative error = 1.7212012056670205456345518060908e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4 y[1] (closed_form) = 1.2266666666666666666666666666667 y[1] (numeric) = 1.226666666666666666666666666688 absolute error = 2.13e-29 relative error = 1.7364130434782608695652173913043e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.01 y[1] (closed_form) = 1.2332781733333333333333333333334 y[1] (numeric) = 1.233278173333333333333333333355 absolute error = 2.16e-29 relative error = 1.7514296828605188536918672784316e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.02 y[1] (closed_form) = 1.23991272 y[1] (numeric) = 1.239912720000000000000000000022 absolute error = 2.20e-29 relative error = 1.7743184375106660733345811630999e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.03 y[1] (closed_form) = 1.2465703466666666666666666666667 y[1] (numeric) = 1.246570346666666666666666666689 absolute error = 2.23e-29 relative error = 1.7889082681639488381433876773538e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.04 y[1] (closed_form) = 1.2532510933333333333333333333334 y[1] (numeric) = 1.253251093333333333333333333356 absolute error = 2.26e-29 relative error = 1.8033098171803443442969747206390e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.05 y[1] (closed_form) = 1.259955 y[1] (numeric) = 1.259955000000000000000000000023 absolute error = 2.30e-29 relative error = 1.8254620204689850034326622776210e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.06 y[1] (closed_form) = 1.2666821066666666666666666666667 y[1] (numeric) = 1.26668210666666666666666666669 absolute error = 2.33e-29 relative error = 1.8394512622677715149535335137704e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.07 y[1] (closed_form) = 1.2734324533333333333333333333334 y[1] (numeric) = 1.273432453333333333333333333357 absolute error = 2.36e-29 relative error = 1.8532588782565344599248682568520e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.08 y[1] (closed_form) = 1.28020608 y[1] (numeric) = 1.280206080000000000000000000024 absolute error = 2.40e-29 relative error = 1.8746981735940513577314052437558e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.09 y[1] (closed_form) = 1.2870030266666666666666666666667 y[1] (numeric) = 1.287003026666666666666666666691 absolute error = 2.43e-29 relative error = 1.8881074478074006497803936788462e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.1 y[1] (closed_form) = 1.2938233333333333333333333333334 y[1] (numeric) = 1.293823333333333333333333333358 absolute error = 2.46e-29 relative error = 1.9013415020597866272314355128340e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.11 y[1] (closed_form) = 1.30066704 y[1] (numeric) = 1.300667040000000000000000000025 absolute error = 2.50e-29 relative error = 1.9220906835618745286264807632859e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.12 y[1] (closed_form) = 1.3075341866666666666666666666667 y[1] (numeric) = 1.307534186666666666666666666692 absolute error = 2.53e-29 relative error = 1.9349398476913246087311991149059e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.13 y[1] (closed_form) = 1.3144248133333333333333333333334 y[1] (numeric) = 1.314424813333333333333333333359 absolute error = 2.56e-29 relative error = 1.9476199581990037700749025218746e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.14 y[1] (closed_form) = 1.32133896 y[1] (numeric) = 1.321338960000000000000000000026 absolute error = 2.60e-29 relative error = 1.9677010053499065826379629342043e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.15 y[1] (closed_form) = 1.3282766666666666666666666666667 y[1] (numeric) = 1.328276666666666666666666666693 absolute error = 2.63e-29 relative error = 1.9800091848334809766037697969549e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.16 y[1] (closed_form) = 1.3352379733333333333333333333334 y[1] (numeric) = 1.33523797333333333333333333336 absolute error = 2.66e-29 relative error = 1.9921542475005304422738206926169e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.17 y[1] (closed_form) = 1.34222292 y[1] (numeric) = 1.342222920000000000000000000027 absolute error = 2.70e-29 relative error = 2.0115883582139992066295515203987e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.18 y[1] (closed_form) = 1.3492315466666666666666666666667 y[1] (numeric) = 1.349231546666666666666666666694 absolute error = 2.73e-29 relative error = 2.0233739766495824398453140229965e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 memory used=753.5MB, alloc=40.3MB, time=9.05 TOP MAIN SOLVE Loop x[1] = 4.19 y[1] (closed_form) = 1.3562638933333333333333333333334 y[1] (numeric) = 1.356263893333333333333333333361 absolute error = 2.76e-29 relative error = 2.0350021950497106797072491064471e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.2 y[1] (closed_form) = 1.36332 y[1] (numeric) = 1.363320000000000000000000000028 absolute error = 2.80e-29 relative error = 2.0538098172109262682275621277470e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.21 y[1] (closed_form) = 1.3703999066666666666666666666667 y[1] (numeric) = 1.370399906666666666666666666695 absolute error = 2.83e-29 relative error = 2.0650906251764387646922684651282e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.22 y[1] (closed_form) = 1.3775036533333333333333333333334 y[1] (numeric) = 1.377503653333333333333333333362 absolute error = 2.86e-29 relative error = 2.0762195389313619630424404246467e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.23 y[1] (closed_form) = 1.38463128 y[1] (numeric) = 1.384631280000000000000000000029 absolute error = 2.90e-29 relative error = 2.0944204004982467245720463573523e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.24 y[1] (closed_form) = 1.3917828266666666666666666666667 y[1] (numeric) = 1.391782826666666666666666666696 absolute error = 2.93e-29 relative error = 2.1052135030415473249313072905473e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.25 y[1] (closed_form) = 1.3989583333333333333333333333334 y[1] (numeric) = 1.398958333333333333333333333363 absolute error = 2.96e-29 relative error = 2.1158600148920327624720774385703e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.26 y[1] (closed_form) = 1.40615784 y[1] (numeric) = 1.40615784000000000000000000003 absolute error = 3.00e-29 relative error = 2.1334731526298640841059493008267e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.27 y[1] (closed_form) = 1.4133813866666666666666666666667 y[1] (numeric) = 1.413381386666666666666666666697 absolute error = 3.03e-29 relative error = 2.1437950354970949855629436901032e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.28 y[1] (closed_form) = 1.4206290133333333333333333333334 y[1] (numeric) = 1.420629013333333333333333333364 absolute error = 3.06e-29 relative error = 2.1539754371340635062913352109866e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.29 y[1] (closed_form) = 1.42790076 y[1] (numeric) = 1.427900760000000000000000000031 absolute error = 3.10e-29 relative error = 2.1710192240530777503052803193410e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.3 y[1] (closed_form) = 1.4351966666666666666666666666667 y[1] (numeric) = 1.435196666666666666666666666698 absolute error = 3.13e-29 relative error = 2.1808857787202218511284167791173e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.31 y[1] (closed_form) = 1.4425167733333333333333333333334 y[1] (numeric) = 1.442516773333333333333333333365 absolute error = 3.16e-29 relative error = 2.1906157754394407596397400180894e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.32 y[1] (closed_form) = 1.44986112 y[1] (numeric) = 1.449861120000000000000000000032 absolute error = 3.20e-29 relative error = 2.2071079470011582902505862078707e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.33 y[1] (closed_form) = 1.4572297466666666666666666666667 y[1] (numeric) = 1.457229746666666666666666666699 absolute error = 3.23e-29 relative error = 2.2165344945698839288951837756885e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.34 y[1] (closed_form) = 1.4646226933333333333333333333334 y[1] (numeric) = 1.464622693333333333333333333366 absolute error = 3.26e-29 relative error = 2.2258292288101649151014110555635e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.35 y[1] (closed_form) = 1.47204 y[1] (numeric) = 1.472040000000000000000000000033 absolute error = 3.30e-29 relative error = 2.2417869079644574875682726012880e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.36 y[1] (closed_form) = 1.4794817066666666666666666666667 y[1] (numeric) = 1.4794817066666666666666666667 absolute error = 3.33e-29 relative error = 2.2507882219798630742109975666433e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.37 y[1] (closed_form) = 1.4869478533333333333333333333334 y[1] (numeric) = 1.486947853333333333333333333367 absolute error = 3.36e-29 relative error = 2.2596622958012901039730700621116e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.38 y[1] (closed_form) = 1.49443848 y[1] (numeric) = 1.494438480000000000000000000034 absolute error = 3.40e-29 relative error = 2.2751020169127336710441235426433e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.39 y[1] (closed_form) = 1.5019536266666666666666666666667 y[1] (numeric) = 1.501953626666666666666666666701 absolute error = 3.43e-29 relative error = 2.2836923451573586976790992268718e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.4 y[1] (closed_form) = 1.5094933333333333333333333333334 y[1] (numeric) = 1.509493333333333333333333333368 absolute error = 3.46e-29 relative error = 2.2921598417128926262233685475037e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 memory used=795.2MB, alloc=40.3MB, time=9.58 TOP MAIN SOLVE Loop x[1] = 4.41 y[1] (closed_form) = 1.51705764 y[1] (numeric) = 1.517057640000000000000000000035 absolute error = 3.50e-29 relative error = 2.3070975734316858257277554727584e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.42 y[1] (closed_form) = 1.5246465866666666666666666666667 y[1] (numeric) = 1.524646586666666666666666666702 absolute error = 3.53e-29 relative error = 2.3152906587471103904525406342474e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.43 y[1] (closed_form) = 1.5322602133333333333333333333334 y[1] (numeric) = 1.532260213333333333333333333369 absolute error = 3.56e-29 relative error = 2.3233651627979359049858859482143e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.44 y[1] (closed_form) = 1.53989856 y[1] (numeric) = 1.539898560000000000000000000036 absolute error = 3.60e-29 relative error = 2.3378163299276025038948020056594e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.45 y[1] (closed_form) = 1.5475616666666666666666666666667 y[1] (numeric) = 1.547561666666666666666666666703 absolute error = 3.63e-29 relative error = 2.3456254301121010794400223146735e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.46 y[1] (closed_form) = 1.5552495733333333333333333333334 y[1] (numeric) = 1.55524957333333333333333333337 absolute error = 3.66e-29 relative error = 2.3533200476342840854918564924344e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.47 y[1] (closed_form) = 1.56296232 y[1] (numeric) = 1.562962320000000000000000000037 absolute error = 3.70e-29 relative error = 2.3672995520455029267756115835217e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.48 y[1] (closed_form) = 1.5706999466666666666666666666667 y[1] (numeric) = 1.570699946666666666666666666704 absolute error = 3.73e-29 relative error = 2.3747374588735369410169373660809e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.49 y[1] (closed_form) = 1.5784624933333333333333333333334 y[1] (numeric) = 1.578462493333333333333333333371 absolute error = 3.76e-29 relative error = 2.3820648358009342880637932505577e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.5 y[1] (closed_form) = 1.58625 y[1] (numeric) = 1.586250000000000000000000000038 absolute error = 3.80e-29 relative error = 2.3955870764381402679275019700552e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.51 y[1] (closed_form) = 1.5940625066666666666666666666667 y[1] (numeric) = 1.594062506666666666666666666705 absolute error = 3.83e-29 relative error = 2.4026661338449563767838196357469e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.52 y[1] (closed_form) = 1.6019000533333333333333333333334 y[1] (numeric) = 1.601900053333333333333333333372 absolute error = 3.86e-29 relative error = 2.4096384739908533952313828917698e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.53 y[1] (closed_form) = 1.60976268 y[1] (numeric) = 1.609762680000000000000000000039 absolute error = 3.90e-29 relative error = 2.4227173660157160557356193647128e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.54 y[1] (closed_form) = 1.6176504266666666666666666666667 y[1] (numeric) = 1.617650426666666666666666666706 absolute error = 3.93e-29 relative error = 2.4294494874879518675077240833128e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.55 y[1] (closed_form) = 1.6255633333333333333333333333334 y[1] (numeric) = 1.625563333333333333333333333373 absolute error = 3.96e-29 relative error = 2.4360785696855859199580043020982e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.56 y[1] (closed_form) = 1.63350144 y[1] (numeric) = 1.63350144000000000000000000004 absolute error = 4.00e-29 relative error = 2.4487275627990875845202805575733e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.57 y[1] (closed_form) = 1.6414647866666666666666666666667 y[1] (numeric) = 1.641464786666666666666666666707 absolute error = 4.03e-29 relative error = 2.4551242480100639218504831526124e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.58 y[1] (closed_form) = 1.6494534133333333333333333333334 y[1] (numeric) = 1.649453413333333333333333333374 absolute error = 4.06e-29 relative error = 2.4614214425100141860326644286511e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.59 y[1] (closed_form) = 1.65746736 y[1] (numeric) = 1.657467360000000000000000000041 absolute error = 4.10e-29 relative error = 2.4736535384926071787018478602197e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.6 y[1] (closed_form) = 1.6655066666666666666666666666667 y[1] (numeric) = 1.665506666666666666666666666708 absolute error = 4.13e-29 relative error = 2.4797258892188963518608951830474e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.61 y[1] (closed_form) = 1.6735713733333333333333333333334 y[1] (numeric) = 1.673571373333333333333333333375 absolute error = 4.16e-29 relative error = 2.4857021733792721900684518560080e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.62 y[1] (closed_form) = 1.68166152 y[1] (numeric) = 1.681661520000000000000000000042 absolute error = 4.20e-29 relative error = 2.4975299428864852660718549354688e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.63 y[1] (closed_form) = 1.6897771466666666666666666666667 y[1] (numeric) = 1.689777146666666666666666666709 absolute error = 4.23e-29 relative error = 2.5032886782403795637398686245695e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 memory used=836.8MB, alloc=40.3MB, time=10.08 TOP MAIN SOLVE Loop x[1] = 4.64 y[1] (closed_form) = 1.6979182933333333333333333333334 y[1] (numeric) = 1.697918293333333333333333333376 absolute error = 4.26e-29 relative error = 2.5089546515438135884544173433017e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.65 y[1] (closed_form) = 1.706085 y[1] (numeric) = 1.706085000000000000000000000043 absolute error = 4.30e-29 relative error = 2.5203902501926926266862436514007e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.66 y[1] (closed_form) = 1.7142773066666666666666666666667 y[1] (numeric) = 1.71427730666666666666666666671 absolute error = 4.33e-29 relative error = 2.5258457212033482128655684317989e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.67 y[1] (closed_form) = 1.7224952533333333333333333333334 y[1] (numeric) = 1.722495253333333333333333333377 absolute error = 4.36e-29 relative error = 2.5312116196329876291715218969466e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.68 y[1] (closed_form) = 1.73073888 y[1] (numeric) = 1.730738880000000000000000000044 absolute error = 4.40e-29 relative error = 2.5422668034128868706063851757927e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.69 y[1] (closed_form) = 1.7390082266666666666666666666667 y[1] (numeric) = 1.739008226666666666666666666711 absolute error = 4.43e-29 relative error = 2.5474290069871779866680638359563e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.7 y[1] (closed_form) = 1.7473033333333333333333333333334 y[1] (numeric) = 1.747303333333333333333333333378 absolute error = 4.46e-29 relative error = 2.5525047167921616357396445188871e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.71 y[1] (closed_form) = 1.75562424 y[1] (numeric) = 1.755624240000000000000000000045 absolute error = 4.50e-29 relative error = 2.5631908568316418324230929962553e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.72 y[1] (closed_form) = 1.7639709866666666666666666666667 y[1] (numeric) = 1.763970986666666666666666666712 absolute error = 4.53e-29 relative error = 2.5680694491241216484407181179336e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.73 y[1] (closed_form) = 1.7723436133333333333333333333334 y[1] (numeric) = 1.772343613333333333333333333379 absolute error = 4.56e-29 relative error = 2.5728645200034235648706525087598e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.74 y[1] (closed_form) = 1.78074216 y[1] (numeric) = 1.780742160000000000000000000046 absolute error = 4.60e-29 relative error = 2.5831926167233553902042730318689e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.75 y[1] (closed_form) = 1.7891666666666666666666666666667 y[1] (numeric) = 1.789166666666666666666666666713 absolute error = 4.63e-29 relative error = 2.5877969259431765253842571029343e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.76 y[1] (closed_form) = 1.7976171733333333333333333333334 y[1] (numeric) = 1.79761717333333333333333333338 absolute error = 4.66e-29 relative error = 2.5923205836751834027872512240054e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.77 y[1] (closed_form) = 1.80609372 y[1] (numeric) = 1.806093720000000000000000000047 absolute error = 4.70e-29 relative error = 2.6023012803565919048763427403978e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.78 y[1] (closed_form) = 1.8145963466666666666666666666667 y[1] (numeric) = 1.814596346666666666666666666714 absolute error = 4.73e-29 relative error = 2.6066403190377854906736062645072e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.79 y[1] (closed_form) = 1.8231250933333333333333333333334 y[1] (numeric) = 1.823125093333333333333333333381 absolute error = 4.76e-29 relative error = 2.6109014775815493136174045822651e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.8 y[1] (closed_form) = 1.83168 y[1] (numeric) = 1.831680000000000000000000000048 absolute error = 4.80e-29 relative error = 2.6205450733752620545073375262055e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.81 y[1] (closed_form) = 1.8402611066666666666666666666667 y[1] (numeric) = 1.840261106666666666666666666715 absolute error = 4.83e-29 relative error = 2.6246275501354036115295320085121e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.82 y[1] (closed_form) = 1.8488684533333333333333333333334 y[1] (numeric) = 1.848868453333333333333333333382 absolute error = 4.86e-29 relative error = 2.6286348232281663536271489846899e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.83 y[1] (closed_form) = 1.85750208 y[1] (numeric) = 1.857502080000000000000000000049 absolute error = 4.90e-29 relative error = 2.6379512856319385655815793218385e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.84 y[1] (closed_form) = 1.8661620266666666666666666666667 y[1] (numeric) = 1.866162026666666666666666666716 absolute error = 4.93e-29 relative error = 2.6417856164429366590476545402074e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.85 y[1] (closed_form) = 1.8748483333333333333333333333334 y[1] (numeric) = 1.874848333333333333333333333383 absolute error = 4.96e-29 relative error = 2.6455473287172562402825472993815e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.86 y[1] (closed_form) = 1.88356104 y[1] (numeric) = 1.88356104000000000000000000005 absolute error = 5.00e-29 relative error = 2.6545463055447356248141552131488e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 memory used=878.4MB, alloc=40.3MB, time=10.58 TOP MAIN SOLVE Loop x[1] = 4.87 y[1] (closed_form) = 1.8923001866666666666666666666667 y[1] (numeric) = 1.892300186666666666666666666717 absolute error = 5.03e-29 relative error = 2.6581406245382603636798598423925e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.88 y[1] (closed_form) = 1.9010658133333333333333333333334 y[1] (numeric) = 1.901065813333333333333333333384 absolute error = 5.06e-29 relative error = 2.6616648221808712272110993232595e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.89 y[1] (closed_form) = 1.90985796 y[1] (numeric) = 1.909857960000000000000000000051 absolute error = 5.10e-29 relative error = 2.6703556530455280559188810041140e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.9 y[1] (closed_form) = 1.9186766666666666666666666666667 y[1] (numeric) = 1.918676666666666666666666666718 absolute error = 5.13e-29 relative error = 2.6737178228744464500706215916178e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.91 y[1] (closed_form) = 1.9275219733333333333333333333334 y[1] (numeric) = 1.927521973333333333333333333385 absolute error = 5.16e-29 relative error = 2.6770122838478597058518271072298e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.92 y[1] (closed_form) = 1.93639392 y[1] (numeric) = 1.936393920000000000000000000052 absolute error = 5.20e-29 relative error = 2.6854040111838401145155423747664e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.93 y[1] (closed_form) = 1.9452925466666666666666666666667 y[1] (numeric) = 1.945292546666666666666666666719 absolute error = 5.23e-29 relative error = 2.6885416329599398523372741584760e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.94 y[1] (closed_form) = 1.9542178933333333333333333333334 y[1] (numeric) = 1.954217893333333333333333333386 absolute error = 5.26e-29 relative error = 2.6916138768067227876915970243699e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.95 y[1] (closed_form) = 1.96317 y[1] (numeric) = 1.963170000000000000000000000053 absolute error = 5.30e-29 relative error = 2.6997152564474803506573551959331e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.96 y[1] (closed_form) = 1.9721489066666666666666666666667 y[1] (numeric) = 1.97214890666666666666666666672 absolute error = 5.33e-29 relative error = 2.7026356792747387404850998134231e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.97 y[1] (closed_form) = 1.9811546533333333333333333333334 y[1] (numeric) = 1.981154653333333333333333333387 absolute error = 5.36e-29 relative error = 2.7054929765234077401556246670670e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.98 y[1] (closed_form) = 1.99018728 y[1] (numeric) = 1.990187280000000000000000000054 absolute error = 5.40e-29 relative error = 2.7133124878579266168357783896599e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 TOP MAIN SOLVE Loop x[1] = 4.99 y[1] (closed_form) = 1.9992468266666666666666666666667 y[1] (numeric) = 1.999246826666666666666666666721 absolute error = 5.43e-29 relative error = 2.7160228179796135494011904963250e-27 % Desired digits = 8 Estimated correct digits = 12 Correct digits = 32 h = 0.001 Finished! diff ( y , x , 1 ) = ( 0.1 * x + 0.2 ) * ( 0.2 * x + 0.3 ) ; Iterations = 4900 Total Elapsed Time = 10 Seconds Elapsed Time(since restart) = 10 Seconds Time to Timeout = 2 Minutes 49 Seconds Percent Done = 100 % > quit memory used=904.1MB, alloc=40.3MB, time=10.89