(%i1) batch("temp/diffeq.mtest7.max") read and interpret file: /home/dennis/src/mine/omni/testtar/omnisode0060dir/temp/diffeq.mtest7.max (%i2) load("stringproc") (%i3) keepfloat:true (%i4) alias(convfloat,float) (%i5) alias(int_trunc,truncate) (%i6) alias(elapsed_time_seconds,elapsed_real_time) (%i7) alias(ln,log) (%i8) alias(arcsin,asin) (%i9) alias(arccos,acos) (%i10) alias(arctan,atan) (%i11) alias(float_abs,abs) (%i12) mode_declare(display_poles(),fixnum) (%i13) mode_declare(est_size_answer(),convfloat) (%i14) mode_declare(test_suggested_h(),convfloat) (%i15) mode_declare(reached_interval(),boolean) (%i16) mode_declare(display_alot([iter],fixnum),fixnum) (%i17) mode_declare(prog_report([x_start],convfloat,[x_end],convfloat),fixnum) (%i18) mode_declare(check_for_pole(),fixnum) (%i19) mode_declare(atomall(),fixnum) (%i20) mode_declare(log10([x],convfloat),convfloat) (%i21) mode_declare(logitem_timestr([fd],fixnum,[secs_in],number),fixnum) (%i22) mode_declare(omniout_timestr(secs_in,number),fixnum) (%i23) mode_declare(zero_ats_ar(ar,array([40],convfloat)),fixnum) (%i24) mode_declare(ats([mmm_ats],fixnum,[arr_a], completearray([40],convfloat),[arr_b], completearray([40],convfloat),[jjj_ats],fixnum), convfloat) (%i25) mode_declare(att([mmm_att],fixnum,[arr_a], completearray([40],convfloat),[arr_b], completearray([40],convfloat),[jjj_att],fixnum), convfloat) (%i26) mode_declare(logitem_ditto([file],fixnum),fixnum) (%i27) mode_declare(logitem_integer([file],fixnum,[n],fixnum),fixnum) (%i28) mode_declare(logitem_good_digits([file],fixnum,[relerror],convfloat),fixnum) (%i29) mode_declare(logitem_number([file],fixnum,[x],number),fixnum) (%i30) mode_declare(logitem_pole([file],fixnum,[pole],fixnum),fixnum) (%i31) mode_declare(logstart([file],fixnum),fixnum) (%i32) mode_declare(logend([file],fixnum),fixnum) (%i33) mode_declare(chk_data(),fixnum) (%i34) mode_declare(comp_expect_sec([t_end2],convfloat,[t_start2],convfloat, [t2],convfloat,[clock_sec2],convfloat), convfloat) (%i35) mode_declare(comp_percent([t_end2],convfloat,[start2],convfloat,[t2], convfloat),convfloat) (%i36) mode_declare(comp_rad_from_ratio([term1],convfloat,[term2],convfloat, [last_no],fixnum),convfloat) (%i37) mode_declare(comp_ord_from_ratio([term1],convfloat,[term2],convfloat, [last_no],fixnum),convfloat) (%i38) mode_declare(comp_rad_from_three_terms([term1],convfloat,[term2], convfloat,[term3],convfloat, [last_no],fixnum),convfloat) (%i39) mode_declare(comp_ord_from_three_terms([term1],convfloat,[term2], convfloat,[term3],convfloat, [last_no],fixnum),convfloat) (%i40) mode_declare(comp_rad_from_six_terms([term1],convfloat,[term2], convfloat,[term3],convfloat, [term4],convfloat,[term5], convfloat,[term6],convfloat, [last_no],fixnum),convfloat) (%i41) mode_declare(comp_ord_from_six_terms([term1],convfloat,[term2], convfloat,[term3],convfloat, [term4],convfloat,[term5], convfloat,[term6],convfloat, [last_no],fixnum),convfloat) (%i42) mode_declare(neg([nnn],convfloat),convfloat) (%i43) mode_declare(factorial_2([nnn],fixnum),convfloat) (%i44) mode_declare(factorial_1([nnn],fixnum),convfloat) (%i45) mode_declare(factorial_3([mmm],fixnum,[nnn],fixnum),convfloat) (%i46) mode_declare(convfloat([mmm],fixnum),convfloat) (%i47) mode_declare(elaped_time_seconds(),convfloat) (%i48) mode_declare(Si([x],convfloat),convfloat) (%i49) mode_declare(Ci([x],convfloat),convfloat) (%i50) mode_declare(estimated_needed_step_error([x_start],convfloat,[x_end], convfloat,[estimated_h], convfloat,[estimated_answer], convfloat),convfloat) (%i51) mode_declare(my_check_sign([x0],convfloat,[xf],convfloat),convfloat) (%i52) mode_declare(main_prog(),fixnum) (%i53) define_variable(always,1,fixnum) (%i54) define_variable(info,2,fixnum) (%i55) define_variable(debugl,3,fixnum) (%i56) define_variable(debugmassive,4,fixnum) (%i57) define_variable(glob_iolevel,5,fixnum) (%i58) define_variable(glob_yes_pole,4,fixnum) (%i59) define_variable(glob_no_pole,3,fixnum) (%i60) define_variable(glob_not_given,0,fixnum) (%i61) define_variable(glob_no_sing_tests,4,fixnum) (%i62) define_variable(glob_ratio_test,1,fixnum) (%i63) define_variable(glob_three_term_test,2,fixnum) (%i64) define_variable(glob_six_term_test,3,fixnum) (%i65) define_variable(ats_max_terms,40,fixnum) (%i66) define_variable(glob_log_10,0.0,convfloat) (%i67) define_variable(max_unchanged,10,fixnum) (%i68) define_variable(glob__small,1.0E-51,convfloat) (%i69) define_variable(glob_small_float,1.0E-51,convfloat) (%i70) define_variable(glob_smallish_float,1.0E-61,convfloat) (%i71) define_variable(glob_large_float,1.0E+100,convfloat) (%i72) define_variable(glob_larger_float,1.1E+100,convfloat) (%i73) define_variable(glob__m2,-2.0,convfloat) (%i74) define_variable(glob__m1,-1.0,convfloat) (%i75) define_variable(glob__0,0.0,convfloat) (%i76) define_variable(glob__1,1.0,convfloat) (%i77) define_variable(glob__2,2.0,convfloat) (%i78) define_variable(glob__3,3.0,convfloat) (%i79) define_variable(glob__4,4.0,convfloat) (%i80) define_variable(glob__5,5.0,convfloat) (%i81) define_variable(glob__8,8.0,convfloat) (%i82) define_variable(glob__10,10.0,convfloat) (%i83) define_variable(glob__100,100.0,convfloat) (%i84) define_variable(glob__pi,0.0,convfloat) (%i85) define_variable(glob__0_5,0.5,convfloat) (%i86) define_variable(glob__0_8,0.8,convfloat) (%i87) define_variable(glob__m0_8,-0.8,convfloat) (%i88) define_variable(glob__0_25,0.25,convfloat) (%i89) define_variable(glob__0_125,0.125,convfloat) (%i90) define_variable(glob_prec,1.0E-16,convfloat) (%i91) define_variable(glob_check_sign,1.0,convfloat) (%i92) define_variable(glob_desired_digits_correct,8.0,convfloat) (%i93) define_variable(glob_max_estimated_step_error,0.0,convfloat) (%i94) define_variable(glob_ratio_of_radius,0.1,convfloat) (%i95) define_variable(glob_percent_done,0.0,convfloat) (%i96) define_variable(glob_total_exp_sec,0.1,convfloat) (%i97) define_variable(glob_optimal_expect_sec,0.1,convfloat) (%i98) define_variable(glob_estimated_size_answer,100.0,convfloat) (%i99) define_variable(glob_almost_1,0.999,convfloat) (%i100) define_variable(glob_clock_sec,0.0,convfloat) (%i101) define_variable(glob_clock_start_sec,0.0,convfloat) (%i102) define_variable(glob_disp_incr,0.1,convfloat) (%i103) define_variable(glob_h,0.1,convfloat) (%i104) define_variable(glob_diff_rc_fm,0.1,convfloat) (%i105) define_variable(glob_diff_rc_fmm1,0.1,convfloat) (%i106) define_variable(glob_diff_rc_fmm2,0.1,convfloat) (%i107) define_variable(glob_diff_ord_fm,0.1,convfloat) (%i108) define_variable(glob_diff_ord_fmm1,0.1,convfloat) (%i109) define_variable(glob_diff_ord_fmm2,0.1,convfloat) (%i110) define_variable(glob_six_term_ord_save,0.1,convfloat) (%i111) define_variable(glob_guess_error_rc,0.1,convfloat) (%i112) define_variable(glob_guess_error_ord,0.1,convfloat) (%i113) define_variable(glob_least_given_sing,9.9E+200,convfloat) (%i114) define_variable(glob_least_ratio_sing,9.9E+200,convfloat) (%i115) define_variable(glob_least_3_sing,9.9E+100,convfloat) (%i116) define_variable(glob_least_6_sing,9.9E+100,convfloat) (%i117) define_variable(glob_last_good_h,0.1,convfloat) (%i118) define_variable(glob_max_h,0.1,convfloat) (%i119) define_variable(glob_min_h,1.0E-6,convfloat) (%i120) define_variable(glob_display_interval,0.1,convfloat) (%i121) define_variable(glob_abserr,1.0E-11,convfloat) (%i122) define_variable(glob_relerr,1.0E-11,convfloat) (%i123) define_variable(glob_min_pole_est,1.0E+9,convfloat) (%i124) define_variable(glob_max_rel_trunc_err,1.0E-11,convfloat) (%i125) define_variable(glob_max_trunc_err,1.0E-11,convfloat) (%i126) define_variable(glob_max_hours,0.0,convfloat) (%i127) define_variable(glob_optimal_clock_start_sec,0.0,convfloat) (%i128) define_variable(glob_optimal_start,0.0,convfloat) (%i129) define_variable(glob_upper_ratio_limit,1.0001,convfloat) (%i130) define_variable(glob_lower_ratio_limit,0.9999,convfloat) (%i131) define_variable(glob_max_sec,10000.0,convfloat) (%i132) define_variable(glob_orig_start_sec,0.0,convfloat) (%i133) define_variable(glob_normmax,0.0,convfloat) (%i134) define_variable(glob_max_minutes,0.0,convfloat) (%i135) define_variable(glob_next_display,0.0,convfloat) (%i136) define_variable(glob_est_digits,1,fixnum) (%i137) define_variable(glob_subiter_method,3,fixnum) (%i138) define_variable(glob_html_log,true,boolean) (%i139) define_variable(glob_min_good_digits,99999,fixnum) (%i140) define_variable(glob_good_digits,0,fixnum) (%i141) define_variable(glob_min_apfp_est_good_digits,99999,fixnum) (%i142) define_variable(glob_apfp_est_good_digits,0,fixnum) (%i143) define_variable(glob_max_opt_iter,10,fixnum) (%i144) define_variable(glob_dump,false,boolean) (%i145) define_variable(glob_djd_debug,true,boolean) (%i146) define_variable(glob_display_flag,true,boolean) (%i147) define_variable(glob_djd_debug2,true,boolean) (%i148) define_variable(glob_h_reason,0,fixnum) (%i149) define_variable(glob_sec_in_minute,60,fixnum) (%i150) define_variable(glob_min_in_hour,60,fixnum) (%i151) define_variable(glob_hours_in_day,24,fixnum) (%i152) define_variable(glob_days_in_year,365,fixnum) (%i153) define_variable(glob_sec_in_hour,3600,fixnum) (%i154) define_variable(glob_sec_in_day,86400,fixnum) (%i155) define_variable(glob_sec_in_year,31536000,fixnum) (%i156) define_variable(glob_not_yet_finished,true,boolean) (%i157) define_variable(glob_initial_pass,true,boolean) (%i158) define_variable(glob_not_yet_start_msg,true,boolean) (%i159) define_variable(glob_reached_optimal_h,false,boolean) (%i160) define_variable(glob_optimal_done,false,boolean) (%i161) define_variable(glob_type_given_pole,0,fixnum) (%i162) define_variable(glob_optimize,false,boolean) (%i163) define_variable(glob_look_poles,false,boolean) (%i164) define_variable(glob_dump_closed_form,false,boolean) (%i165) define_variable(glob_max_iter,1000,fixnum) (%i166) define_variable(glob_no_eqs,0,fixnum) (%i167) define_variable(glob_unchanged_h_cnt,0,fixnum) (%i168) define_variable(glob_warned,false,boolean) (%i169) define_variable(glob_warned2,false,boolean) (%i170) define_variable(glob_start,0,fixnum) (%i171) define_variable(glob_iter,0,fixnum) (%i172) completearray(array_y2_init,[40],convfloat) (%i173) completearray(array_y1_init,[40],convfloat) (%i174) completearray(array_norms,[40],convfloat) (%i175) completearray(array_fact_1,[40],convfloat) (%i176) completearray(array_1st_rel_error,[3],convfloat) (%i177) completearray(array_last_rel_error,[3],convfloat) (%i178) completearray(array_est_rel_error,[3],convfloat) (%i179) completearray(array_max_est_error,[3],convfloat) (%i180) completearray(array_type_pole,[3],convfloat) (%i181) completearray(array_type_real_pole,[3],convfloat) (%i182) completearray(array_type_complex_pole,[3],convfloat) (%i183) completearray(array_est_digits,[3],convfloat) (%i184) completearray(array_y2,[40],convfloat) (%i185) completearray(array_x,[40],convfloat) (%i186) completearray(array_y1,[40],convfloat) (%i187) completearray(array_tmp0,[40],convfloat) (%i188) completearray(array_tmp1,[40],convfloat) (%i189) completearray(array_tmp2,[40],convfloat) (%i190) completearray(array_tmp3,[40],convfloat) (%i191) completearray(array_tmp4,[40],convfloat) (%i192) completearray(array_m1,[40],convfloat) (%i193) completearray(array_y2_higher,[6,40],convfloat) (%i194) completearray(array_y2_higher_work,[6,40],convfloat) (%i195) completearray(array_y2_higher_work2,[6,40],convfloat) (%i196) completearray(array_y2_set_initial,[3,40],convfloat) (%i197) completearray(array_y1_higher,[2,40],convfloat) (%i198) completearray(array_y1_higher_work,[2,40],convfloat) (%i199) completearray(array_y1_higher_work2,[2,40],convfloat) (%i200) completearray(array_y1_set_initial,[3,40],convfloat) (%i201) completearray(array_given_rad_poles,[3,3],convfloat) (%i202) completearray(array_given_ord_poles,[3,3],convfloat) (%i203) completearray(array_rad_test_poles,[3,4],convfloat) (%i204) completearray(array_ord_test_poles,[3,4],convfloat) (%i205) completearray(array_fact_2,[40,40],convfloat) (%i206) omniout_str(iolevel,str):=if glob_iolevel >= iolevel then printf(true,"~a~%",string(str)) (%i207) omniout_str_noeol(iolevel,str):=if glob_iolevel >= iolevel then printf(true,"~a",string(str)) (%i208) omniout_labstr(iolevel,label,str):=if glob_iolevel >= iolevel then printf(true,"~a = ~a~%",string(label), string(str)) (%i209) omniout_float(iolevel,prelabel,prelen,value,vallen,postlabel):=if glob_iolevel >= iolevel then (if vallen = 4 then printf(true,"~a = ~g ~s ~%",prelabel, value,postlabel) else printf(true,"~a = ~g ~s ~%",prelabel, value,postlabel)) (%i210) omniout_int(iolevel,prelabel,prelen,value,vallen,postlabel):=if glob_iolevel >= iolevel then (printf(true,"~a = ~d ~a~%",prelabel,value, postlabel),newline()) (%i211) omniout_float_arr(iolevel,prelabel,elemnt,prelen,value,vallen, postlabel):=if glob_iolevel >= iolevel then (sprint(prelabel,"[",elemnt,"]=",value, postlabel),newline()) (%i212) logitem_time(fd,secs_in):=( block(mode_declare( [[days_int,hours_int,minutes_int,sec_int, years_int],fixnum,[secs,secs_temp],convfloat]), secs:secs_in,printf(fd,"~%"), if secs >= 0 then (years_int :truncate(secs/glob_sec_in_year), sec_temp :mod(truncate(secs), truncate(glob_sec_in_year)), days_int :truncate(sec_temp/glob_sec_in_day), sec_temp :mod(sec_temp, truncate(glob_sec_in_day)), hours_int :truncate(sec_temp/glob_sec_in_hour), sec_temp :mod(sec_temp, truncate(glob_sec_in_hour)), minutes_int :truncate(sec_temp/glob_sec_in_minute), sec_int :mod(sec_temp, truncate(glob_sec_in_minute)), if truncate(years_int) > 0.1 then printf(fd, "~d Years ~f Days ~f Hours ~f Minutes ~f Seconds~%", years_int,days_int, hours_int,minutes_int, sec_int) elseif days_int > 0.1 then printf(fd, "~d Days ~d Hours ~d Minutes ~d Seconds~%", days_int,hours_int, minutes_int,sec_int) elseif hours_int > 0.1 then printf(fd, "~d Hours ~d Minutes ~d Seconds~%", hours_int,minutes_int, sec_int) elseif minutes_int > 0.1 then printf(fd, "~d Minutes ~d Seconds~%", minutes_int,sec_int) else printf(fd,"~d Seconds~%", sec_int)) else printf(fd," 0.0 Seconds~%"), printf(fd,"~%")),0) (%i213) omniout_timestr(secs_in):=( block(mode_declare( [[days_int,hours_int,minutes_int,sec_int, years_int],fixnum,[secs,secs_temp], convfloat]),secs:secs_in, if secs >= 0 then ( years_int:truncate(secs/glob_sec_in_year), sec_temp :mod(truncate(secs), truncate(glob_sec_in_year)), days_int:truncate(sec_temp/glob_sec_in_day), sec_temp :mod(sec_temp,truncate(glob_sec_in_day)), hours_int :truncate(sec_temp/glob_sec_in_hour), sec_temp :mod(sec_temp,truncate(glob_sec_in_hour)), minutes_int :truncate(sec_temp/glob_sec_in_minute), sec_int :mod(sec_temp, truncate(glob_sec_in_minute)), if years_int > 0 then printf(true, "= ~f Years ~f Days ~f Hours ~f Minutes ~f Seconds~%", years_int,days_int, hours_int,minutes_int, sec_int) elseif days_int > 0.1 then printf(true, "= ~d Days ~d Hours ~d Minutes ~d Seconds~%", days_int,hours_int, minutes_int,sec_int) elseif hours_int > 0.1 then printf(true, "= ~d Hours ~d Minutes ~d Seconds~%", hours_int,minutes_int, sec_int) elseif minutes_int > 0.1 then printf(true, "= ~d Minutes ~d Seconds~%", minutes_int,sec_int) else printf(true,"= ~d Seconds~%", sec_int)) else printf(true,"= 0.0 Seconds~%")),0) (%i214) zero_ats_ar(arr_a):=( block(mode_declare([iii],fixnum),iii:1, while iii <= ats_max_terms do (arr_a[iii]:glob__0,iii:1+iii)),0) (%i215) ats(mmm_ats,arr_a,arr_b,jjj_ats):=block( mode_declare([[iii_ats,lll_ats,ma_ats],fixnum,[ret_ats], convfloat]),ret_ats:glob__0, if jjj_ats <= mmm_ats then (ma_ats:1+mmm_ats,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 :c(arr_a[iii_ats])*c(arr_b[lll_ats])+ret_ats, iii_ats:1+iii_ats)),ret_ats) (%i216) att(mmm_att,arr_aa,arr_bb,jjj_att):=block( mode_declare([[al_att,iii_att,lll_att,ma_att],convfloat,[ret_att], fixnum]),ret_att:glob__0, if jjj_att < mmm_att then (ma_att:2+mmm_att,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 :c(arr_aa[iii_att])*c(arr_bb[lll_att]) *c(al_att) +ret_att,iii_att:1+iii_att), ret_att:ret_att/c(mmm_att)),ret_att) (%i217) logditto(file):=(printf(file,""),printf(file,"ditto"), printf(file,""),0) (%i218) logitem_integer(file,n):=(printf(file,""),printf(file,"~d",n), printf(file,""),0) (%i219) logitem_str(file,str):=(printf(file,""),printf(file,str), printf(file,""),0) (%i220) logitem_good_digits(file,rel_error):=( block(mode_declare([[good_digits],fixnum]), printf(file,""), printf(file,"~d",glob_min_good_digits), printf(file,"")),0) (%i221) log_revs(file,revs):=printf(file,revs) (%i222) logitem_float(file,x):=(printf(file,""),printf(file,"~g",x), printf(file,""),0) (%i223) logitem_h_reason(file):=(printf(file,""), if glob_h_reason = 1 then printf(file,"Max H") elseif glob_h_reason = 2 then printf(file,"Display_interval") elseif glob_h_reason = 3 then printf(file,"Optimal") elseif glob_h_reason = 4 then printf(file,"Pole Accuracy") elseif glob_h_reason = 5 then printf(file,"Min H (Pole)") elseif glob_h_reason = 6 then printf(file,"Pole") elseif glob_h_reason = 7 then printf(file,"Opt Iter") else printf(file,"Impossible"), printf(file,""),0) (%i224) logstart(file):=(printf(file,""),0) (%i225) logend(file):=(printf(file,"~%"),0) (%i226) chk_data():=( block(mode_declare([[errflag],boolean]),errflag:false, if glob_max_iter < 2 then (omniout_str(always,"Illegal max_iter"), errflag:true),if errflag then quit()),0) (%i227) comp_expect_sec(t_end2,t_start2,t2,clock_sec2):=block( mode_declare([[ms2,rrr,sec_left,sub1,sub2], convfloat]),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 sub2 > glob__0 then (rrr:sub1/sub2, sec_left:rrr*c(ms2)-c(ms2)) else sec_left:glob__0),sec_left) (%i228) comp_percent(t_end2,t_start2,t2):=block( mode_declare([[rrr,sub1,sub2],convfloat]), sub1:t_end2-t_start2,sub2:t2-t_start2, if sub2 > glob_small_float then rrr:glob__100*sub2/sub1 else rrr:0.0,rrr) (%i229) comp_rad_from_ratio(term1,term2,last_no):=( if abs(term2) > glob__0 then ret:abs(term1*glob_h/term2) else ret:glob_larger_float,ret) (%i230) comp_ord_from_ratio(term1,term2,last_no):=( if abs(term2) > glob__0 then ret :abs(term2)*c(last_no) *log(abs(term1*glob_h/term2)) /log(c(last_no)) +glob__1 else ret:glob_larger_float,ret) (%i231) c(in_val):=(ret:in_val,ret) (%i232) comp_rad_from_three_terms(term1,term2,term3,last_no):=( temp:abs( term1*term3-term1*term3*c(last_no) +glob__m2*term2*term2 +term2*term2*c(last_no)), if abs(temp) > glob__0 then ret:abs(term2*glob_h*term1/temp) else ret:glob_larger_float,ret) (%i233) comp_ord_from_three_terms(term1,term2,term3,last_no):=( ret:abs( (-term1*term3*c(last_no*last_no) +term2*term2*c(last_no*last_no) +glob__4*term2*term2 -glob__4*term2*term2*c(last_no) -glob__3*term1*term3 +glob__4*term1*term3*c(last_no)) /(term1*term3-term1*term3*c(last_no) -glob__2*term2*term2 +term2*term2*c(last_no))), ret) (%i234) comp_rad_from_six_terms(term1,term2,term3,term4,term5,term6,last_no):= ( 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-3)*rm2 -glob__2*c(last_no-2)*rm1 +c(last_no-1)*rm0, nr2 :c(last_no-4)*rm3 -glob__2*c(last_no-3)*rm2 +c(last_no-2)*rm1, dr1 :(-glob__1)/rm3+glob__2/rm2 +glob__m1/rm1, dr2 :(-glob__1)/rm4+glob__2/rm3 +glob__m1/rm2, ds1 :glob__5/rm3-glob__8/rm2 +glob__3/rm1, ds2 :glob__5/rm4-glob__8/rm3 +glob__3/rm2, if abs(nr1*dr2-nr2*dr1) = glob__0 or abs(dr1) = glob__0 then (rad_c:glob_larger_float, ord_no:glob_larger_float) else (if abs(nr1*dr2-nr2*dr1) > glob__0 then ( rcs :(dr1*dr2-ds2*dr1+ds1*dr2) /(nr1*dr2-nr2*dr1), ord_no :(rcs*nr1-ds1)/(glob__2*dr1) -c(last_no)/glob__2, if abs(rcs) # glob__0 then (if rcs > glob__0 then rad_c :sqrt(rcs) *abs(glob_h) else ( rad_c :glob_larger_float, ord_no :glob_larger_float)) else ( rad_c:glob_larger_float, ord_no:glob_larger_float)) else (rad_c:glob_larger_float, ord_no:glob_larger_float))) else (rad_c:glob_larger_float, ord_no:glob_larger_float), glob_six_term_ord_save:ord_no,rad_c) (%i235) comp_ord_from_six_terms(term1,term2,term3,term4,term5,term6,last_no):=glob_six_term_ord_save (%i236) factorial_2(nnn):=block(mode_declare([[ret],convfloat]),ret:nnn!,ret) (%i237) factorial_1(nnn):=block(mode_declare([[ret],convfloat]), 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]) else ret:factorial_2(nnn),ret) (%i238) factorial_1(in):=block(mode_declare([[ret],convfloat]),ret:in!,ret) (%i239) neg(in):=block(mode_declare([[ret],convfloat]),ret:-in,ret) (%i240) factorial_3(mmm,nnn):=block(mode_declare([[ret],convfloat]), 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]) else ret:factorial_2(mmm)/factorial_2(nnn),ret) (%i241) log10(x):=log(x)/glob_log_10 (%i242) c(x):=x (%i243) expt(x,y):=if y = 0.0 then 1.0 elseif x <= 0.0 and y < 0.0 then print("expt error x = ",x,"y = ",y) else x^y (%i244) estimated_needed_step_error(x_start,x_end,estimated_h, estimated_answer):=block( [desired_abs_gbl_error,range, estimated_steps,step_error], 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(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( abs(desired_abs_gbl_error) /sqrt(c(estimated_steps)) /c(ats_max_terms)), omniout_float(always,"step_error",32, step_error,32,""), step_error) (%i245) exact_soln_y1(x):=block(cos(c(x))) (%o245) exact_soln_y1(x) := block(cos(c(x))) (%i246) exact_soln_y2(x):=block(c(10.0)+c(10.0)*c(x)+sin(c(x))) (%o246) exact_soln_y2(x) := block(c(10.0) + c(10.0) c(x) + sin(c(x))) (%i247) exact_soln_y2p(x):=block(c(10.0)+cos(c(x))) (%o247) exact_soln_y2p(x) := block(c(10.0) + cos(c(x))) (%i248) exact_soln_y2pp(x):=block(neg(sin(c(x)))) (%o248) exact_soln_y2pp(x) := block(neg(sin(c(x)))) (%i249) exact_soln_y2ppp(x):=block(neg(cos(c(x)))) (%o249) exact_soln_y2ppp(x) := block(neg(cos(c(x)))) (%i250) exact_soln_y2pppp(x):=block(sin(c(x))) (%o250) exact_soln_y2pppp(x) := block(sin(c(x))) (%i251) display_poles():=( block(mode_declare([[rad_given],convfloat]), if glob_type_given_pole = 1 or glob_type_given_pole = 2 then (rad_given :sqrt( array_given_rad_poles[1,2] *array_given_rad_poles[1,2] +(array_x[1] -array_given_rad_poles[1,1]) *(array_x[1] -array_given_rad_poles[1,1])), 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) elseif glob_type_given_pole = 3 then omniout_str(always, "NO POLE (given) for Equation 1") elseif 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"), 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], 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"), if array_rad_test_poles[1,2] > glob__small 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], 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"), if array_rad_test_poles[1,3] > glob__small 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], 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"), if glob_type_given_pole = 1 or glob_type_given_pole = 2 then (rad_given :sqrt( array_given_rad_poles[2,2] *array_given_rad_poles[2,2] +(array_x[1] -array_given_rad_poles[2,1]) *(array_x[1] -array_given_rad_poles[2,1])), omniout_float(always, "Radius of convergence (given) for eq 2 ", 4,rad_given,4," "), omniout_float(always, "Order of pole (given) ", 4, array_given_ord_poles[ 2,1],4," "), if rad_given < glob_least_given_sing then glob_least_given_sing :rad_given) elseif glob_type_given_pole = 3 then omniout_str(always, "NO POLE (given) for Equation 2") elseif glob_type_given_pole = 5 then omniout_str(always, "SOME POLE (given) for Equation 2") else omniout_str(always, "NO info (given) for Equation 2"), if array_rad_test_poles[2,1] < glob_large_float then (omniout_float(always, "Radius of convergence (ratio test) for eq 2 ", 4, array_rad_test_poles[2,1], 4," "), if array_rad_test_poles[2,1] < glob_least_ratio_sing then glob_least_ratio_sing :array_rad_test_poles[2,1], omniout_float(always, "Order of pole (ratio test) ", 4, array_ord_test_poles[2,1], 4," ")) else omniout_str(always, "NO POLE (ratio test) for Equation 2"), if array_rad_test_poles[2,2] > glob__small and array_rad_test_poles[2,2] < glob_large_float then (omniout_float(always, "Radius of convergence (three term test) for eq 2 ", 4, array_rad_test_poles[2,2], 4," "), if array_rad_test_poles[2,2] < glob_least_3_sing then glob_least_3_sing :array_rad_test_poles[2,2], omniout_float(always, "Order of pole (three term test) ", 4, array_ord_test_poles[2,2], 4," ")) else omniout_str(always, "NO REAL POLE (three term test) for Equation 2"), if array_rad_test_poles[2,3] > glob__small and array_rad_test_poles[2,3] < glob_large_float then (omniout_float(always, "Radius of convergence (six term test) for eq 2 ", 4, array_rad_test_poles[2,3], 4," "), if array_rad_test_poles[2,3] < glob_least_6_sing then glob_least_6_sing :array_rad_test_poles[2,3], omniout_float(always, "Order of pole (six term test) ", 4, array_ord_test_poles[2,3], 4," ")) else omniout_str(always, "NO COMPLEX POLE (six term test) for Equation 2")), 0) (%i252) my_check_sign(x0,xf):=block([ret], if xf > x0 then ret:glob__1 else ret:glob__m1,ret) (%i253) est_size_answer():=block([min_size], min_size:glob_estimated_size_answer, if abs(array_y2[1]) < min_size then (min_size:abs(array_y2[1]), omniout_float(always,"min_size",32,min_size, 32,"")), if abs(array_y1[1]) < min_size then (min_size:abs(array_y1[1]), omniout_float(always,"min_size",32,min_size, 32,"")), if min_size < glob__1 then (min_size:glob__1, omniout_float(always,"min_size",32,min_size, 32,"")),min_size) (%i254) test_suggested_h():=block( [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:abs(array_y2[no_terms]*hn_div_ho_3 +array_y2[no_terms-1]*hn_div_ho_2 +array_y2[no_terms-2]*hn_div_ho +array_y2[no_terms-3]), if est_tmp >= max_estimated_step_error then max_estimated_step_error:est_tmp, est_tmp:abs(array_y1[no_terms]*hn_div_ho_3 +array_y1[no_terms-1]*hn_div_ho_2 +array_y1[no_terms-2]*hn_div_ho +array_y1[no_terms-3]), if est_tmp >= max_estimated_step_error then max_estimated_step_error:est_tmp, omniout_float(always,"max_estimated_step_error",32, max_estimated_step_error,32,""), max_estimated_step_error) (%i255) track_estimated_error():=block( [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(abs(array_y2[no_terms])) *c(hn_div_ho_3) +c(abs(array_y2[no_terms-1])) *c(hn_div_ho_2) +c(abs(array_y2[no_terms-2])) *c(hn_div_ho) +c(abs(array_y2[no_terms-3])), if glob_prec*c(abs(array_y2[1])) > c(est_tmp) then est_tmp :c(glob_prec)*c(abs(array_y2[1])), if c(est_tmp) >= c(array_max_est_error[1]) then array_max_est_error[1]:c(est_tmp), est_tmp:c(abs(array_y1[no_terms])) *c(hn_div_ho_3) +c(abs(array_y1[no_terms-1])) *c(hn_div_ho_2) +c(abs(array_y1[no_terms-2])) *c(hn_div_ho) +c(abs(array_y1[no_terms-3])), if glob_prec*c(abs(array_y1[1])) > c(est_tmp) then est_tmp :c(glob_prec)*c(abs(array_y1[1])), if c(est_tmp) >= c(array_max_est_error[2]) then array_max_est_error[2]:c(est_tmp)) (%i256) reached_interval():=block(mode_declare([[ret],boolean]), if glob_check_sign*array_x[1] >= glob_check_sign*glob_next_display -glob_h/glob__10 then ret:true else ret:false, return(ret)) (%i257) display_alot(iter):=( block(mode_declare( [[abserr,est_rel_err],convfloat, [closed_form_val_y],convfloat,[ind_var], convfloat,[numeric_val],convfloat,[relerr], convfloat,[term_no],fixnum]), if reached_interval() then (if iter >= 0 then (ind_var:array_x[1], omniout_float(always, "x[1] ", 33,ind_var,20, " "), closed_form_val_y :exact_soln_y2(ind_var), omniout_float(always, "y2[1] (closed_form) ", 33, closed_form_val_y, 20," "), term_no:1, numeric_val:array_y2[term_no], abserr :abs( numeric_val -closed_form_val_y), omniout_float(always, "y2[1] (numeric) ", 33,numeric_val, 20," "), if c(abs(closed_form_val_y)) > c(glob_prec) then ( relerr :abserr*glob__100 /abs(closed_form_val_y), if c(relerr) > c(glob_prec) then glob_good_digits :3 -floor(log10(c(relerr))) else glob_good_digits:16) else (relerr:glob__m1, glob_good_digits:-16), if glob_good_digits < glob_min_good_digits then glob_min_good_digits :glob_good_digits, if glob_apfp_est_good_digits < glob_min_apfp_est_good_digits then glob_min_apfp_est_good_digits :glob_apfp_est_good_digits, if c(abs(numeric_val)) > c(glob_prec) then ( est_rel_err :c(array_max_est_error[1]) *glob__100 *c(sqrt(glob_iter))*c(36) *c(ats_max_terms) /c(abs(numeric_val)), if est_rel_err > glob_prec then glob_est_digits :3 -floor( log10(est_rel_err)) else glob_est_digits:16) else (relerr:glob__m1, glob_est_digits:-16), 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, 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," "), closed_form_val_y :exact_soln_y1(ind_var), omniout_float(always, "y1[1] (closed_form) ", 33, closed_form_val_y, 20," "), term_no:1, numeric_val:array_y1[term_no], abserr :abs( numeric_val -closed_form_val_y), omniout_float(always, "y1[1] (numeric) ", 33,numeric_val, 20," "), if c(abs(closed_form_val_y)) > c(glob_prec) then ( relerr :abserr*glob__100 /abs(closed_form_val_y), if c(relerr) > c(glob_prec) then glob_good_digits :3 -floor(log10(c(relerr))) else glob_good_digits:16) else (relerr:glob__m1, glob_good_digits:-16), if glob_good_digits < glob_min_good_digits then glob_min_good_digits :glob_good_digits, if glob_apfp_est_good_digits < glob_min_apfp_est_good_digits then glob_min_apfp_est_good_digits :glob_apfp_est_good_digits, if c(abs(numeric_val)) > c(glob_prec) then ( est_rel_err :c(array_max_est_error[2]) *glob__100 *c(sqrt(glob_iter))*c(36) *c(ats_max_terms) /c(abs(numeric_val)), if est_rel_err > glob_prec then glob_est_digits :3 -floor( log10(est_rel_err)) else glob_est_digits:16) else (relerr:glob__m1, glob_est_digits:-16), array_est_digits[2] :glob_est_digits, if glob_iter = 1 then array_1st_rel_error[2] :relerr else array_last_rel_error[ 2] :relerr, array_est_rel_error[2] :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, " ")))),0) (%i258) prog_report(x_start,x_end):=( block(mode_declare([[clock_sec],convfloat,[opt_clock_sec], convfloat,[clock_sec1],convfloat, [expect_sec],convfloat,[left_sec], convfloat,[percent_done],convfloat, [total_clock_sec],convfloat]), 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:-clock_sec1+glob_orig_start_sec +glob_max_sec, expect_sec:comp_expect_sec(x_end,x_start, glob_h+array_x[1], 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,glob_h+array_x[1], opt_clock_sec), glob_total_exp_sec :c(total_clock_sec)+glob_optimal_expect_sec, percent_done:comp_percent(x_end,x_start, glob_h+array_x[1]), 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)), omniout_str_noeol(info, "Time to Timeout "), omniout_timestr(left_sec), omniout_float(info, "Percent Done ",33, percent_done,4,"%")),0) (%i259) check_for_pole():=( block(mode_declare([cnt],fixnum,[dr1,dr2,ds1,ds2,hdrc], convfloat,[m,n],fixnum,[nr1,nr2], convfloat,[ord_no],fixnum, [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],convfloat, [found_sing],fixnum, [h_new,ratio,term,local_test, tmp_rad,tmp_ord,tmp_ratio, prev_tmp_rad],convfloat,[last_no], fixnum),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:-10-5+ats_max_terms,cnt:0, while last_no < ats_max_terms-3 and found_sing = 1 do (tmp_rad :comp_rad_from_ratio( array_y2_higher[1,last_no-1], array_y2_higher[1,last_no],last_no), if abs(prev_tmp_rad) > glob__0 then tmp_ratio:tmp_rad/prev_tmp_rad else tmp_ratio:glob_large_float, if cnt > 0 and tmp_ratio < glob_upper_ratio_limit and tmp_ratio > glob_lower_ratio_limit then rad_c:tmp_rad elseif cnt = 0 then rad_c:tmp_rad elseif cnt > 0 then found_sing:0, prev_tmp_rad:tmp_rad,cnt:1+cnt, last_no:1+last_no), 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_y2_higher[1,last_no-1], array_y2_higher[1,last_no], last_no), array_rad_test_poles[1,1]:rad_c, array_ord_test_poles[1,1] :tmp_ord)), 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[2,1]:glob_larger_float, array_ord_test_poles[2,1]:glob_larger_float, found_sing:1,last_no:-10-1+ats_max_terms,cnt:0, while last_no < ats_max_terms-3 and found_sing = 1 do (tmp_rad :comp_rad_from_ratio( array_y1_higher[1,last_no-1], array_y1_higher[1,last_no],last_no), if abs(prev_tmp_rad) > glob__0 then tmp_ratio:tmp_rad/prev_tmp_rad else tmp_ratio:glob_large_float, if cnt > 0 and tmp_ratio < glob_upper_ratio_limit and tmp_ratio > glob_lower_ratio_limit then rad_c:tmp_rad elseif cnt = 0 then rad_c:tmp_rad elseif cnt > 0 then found_sing:0, prev_tmp_rad:tmp_rad,cnt:1+cnt, last_no:1+last_no), if found_sing = 1 then (if rad_c < array_rad_test_poles[2,1] then ( array_rad_test_poles[2,1]:rad_c, last_no:last_no-1, tmp_ord :comp_ord_from_ratio( array_y1_higher[1,last_no-1], array_y1_higher[1,last_no], last_no), array_rad_test_poles[2,1]:rad_c, array_ord_test_poles[2,1] :tmp_ord)), 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:-10-5+ats_max_terms,cnt:0, while last_no < ats_max_terms-4 and found_sing = 1 do (tmp_rad :comp_rad_from_three_terms( array_y2_higher[1,last_no-2], array_y2_higher[1,last_no-1], array_y2_higher[1,last_no],last_no), if abs(prev_tmp_rad) > glob__0 then tmp_ratio:tmp_rad/prev_tmp_rad else tmp_ratio:glob_large_float, if cnt > 0 and tmp_ratio < glob_upper_ratio_limit and tmp_ratio > glob_lower_ratio_limit then rad_c:tmp_rad elseif cnt = 0 then rad_c:tmp_rad elseif cnt > 0 then found_sing:0, prev_tmp_rad:tmp_rad,cnt:1+cnt, last_no:1+last_no), 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_y2_higher[1,last_no-2], array_y2_higher[1,last_no-1], array_y2_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, array_ord_test_poles[1,2] :tmp_ord)), 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[2,2]:glob_larger_float, array_ord_test_poles[2,2]:glob_larger_float, found_sing:1,last_no:-10-1+ats_max_terms,cnt:0, while last_no < ats_max_terms-4 and found_sing = 1 do (tmp_rad :comp_rad_from_three_terms( array_y1_higher[1,last_no-2], array_y1_higher[1,last_no-1], array_y1_higher[1,last_no],last_no), if abs(prev_tmp_rad) > glob__0 then tmp_ratio:tmp_rad/prev_tmp_rad else tmp_ratio:glob_large_float, if cnt > 0 and tmp_ratio < glob_upper_ratio_limit and tmp_ratio > glob_lower_ratio_limit then rad_c:tmp_rad elseif cnt = 0 then rad_c:tmp_rad elseif cnt > 0 then found_sing:0, prev_tmp_rad:tmp_rad,cnt:1+cnt, last_no:1+last_no), if found_sing = 1 then (if rad_c < array_rad_test_poles[2,2] then ( array_rad_test_poles[2,2]:rad_c, last_no:last_no-1, tmp_ord :comp_ord_from_three_terms( array_y1_higher[1,last_no-2], array_y1_higher[1,last_no-1], array_y1_higher[1,last_no], last_no), array_rad_test_poles[2,2]:rad_c, if rad_c < glob_min_pole_est then glob_min_pole_est:rad_c, array_ord_test_poles[2,2] :tmp_ord)), 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:-10-5+ats_max_terms,cnt:0, while last_no < ats_max_terms-7 and found_sing = 1 do (tmp_rad :comp_rad_from_six_terms( array_y2_higher[1,last_no-5], array_y2_higher[1,last_no-4], array_y2_higher[1,last_no-3], array_y2_higher[1,last_no-2], array_y2_higher[1,last_no-1], array_y2_higher[1,last_no],last_no), if abs(prev_tmp_rad) > glob__0 then tmp_ratio:tmp_rad/prev_tmp_rad else tmp_ratio:glob_large_float, if cnt > 0 and tmp_ratio < glob_upper_ratio_limit and tmp_ratio > glob_lower_ratio_limit then rad_c:tmp_rad elseif cnt = 0 then rad_c:tmp_rad elseif cnt > 0 then found_sing:0, prev_tmp_rad:tmp_rad,cnt:1+cnt, last_no:1+last_no), 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_y2_higher[1,last_no-5], array_y2_higher[1,last_no-4], array_y2_higher[1,last_no-3], array_y2_higher[1,last_no-2], array_y2_higher[1,last_no-1], array_y2_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, array_ord_test_poles[1,3] :tmp_ord)), 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[2,3]:glob_larger_float, array_ord_test_poles[2,3]:glob_larger_float, found_sing:1,last_no:-10-1+ats_max_terms,cnt:0, while last_no < ats_max_terms-7 and found_sing = 1 do (tmp_rad :comp_rad_from_six_terms( array_y1_higher[1,last_no-5], array_y1_higher[1,last_no-4], array_y1_higher[1,last_no-3], array_y1_higher[1,last_no-2], array_y1_higher[1,last_no-1], array_y1_higher[1,last_no],last_no), if abs(prev_tmp_rad) > glob__0 then tmp_ratio:tmp_rad/prev_tmp_rad else tmp_ratio:glob_large_float, if cnt > 0 and tmp_ratio < glob_upper_ratio_limit and tmp_ratio > glob_lower_ratio_limit then rad_c:tmp_rad elseif cnt = 0 then rad_c:tmp_rad elseif cnt > 0 then found_sing:0, prev_tmp_rad:tmp_rad,cnt:1+cnt, last_no:1+last_no), if found_sing = 1 then (if rad_c < array_rad_test_poles[2,3] then ( array_rad_test_poles[2,3]:rad_c, last_no:last_no-1, tmp_ord :comp_ord_from_six_terms( array_y1_higher[1,last_no-5], array_y1_higher[1,last_no-4], array_y1_higher[1,last_no-3], array_y1_higher[1,last_no-2], array_y1_higher[1,last_no-1], array_y1_higher[1,last_no], last_no), array_rad_test_poles[2,3]:rad_c, if rad_c < glob_min_pole_est then glob_min_pole_est:rad_c, array_ord_test_poles[2,3] :tmp_ord)), if abs(glob_min_pole_est)*glob_ratio_of_radius < 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*glob_min_h > glob_check_sign*h_new then ( omniout_str(always, "SETTING H FOR MIN H"), h_new:glob_min_h,glob_h_reason:5), term:1,ratio:c(1.0), while term <= ats_max_terms do ( array_y2[term] :array_y2[term]*ratio, array_y2_higher[1,term] :array_y2_higher[1,term]*ratio, array_x[term] :array_x[term]*ratio, array_y1[term] :array_y1[term]*ratio, array_y1_higher[1,term] :array_y1_higher[1,term]*ratio, array_x[term] :array_x[term]*ratio, ratio:ratio*h_new/abs(glob_h), term:1+term),glob_h:h_new), if reached_interval() then display_poles()),0) (%i260) atomall():=( block(mode_declare([[kkk,order_d],fixnum, [adj2,adj3,temporary,term,temp,temp2], convfloat]), array_tmp1[1]:array_y1[1]+array_const_0D0[1], if not array_y2_set_initial[1,6] then (if 1 <= ats_max_terms then ( temporary :c(array_tmp1[1])*expt(glob_h,c(5)) *c(factorial_3(0,5)), if 6 <= ats_max_terms then (array_y2[6]:temporary, array_y2_higher[1,6]:temporary), temporary:c(temporary)*c(5)/c(glob_h), array_y2_higher[2,5]:c(temporary), temporary:c(temporary)*c(4)/c(glob_h), array_y2_higher[3,4]:c(temporary), temporary:c(temporary)*c(3)/c(glob_h), array_y2_higher[4,3]:c(temporary), temporary:c(temporary)*c(2)/c(glob_h), array_y2_higher[5,2]:c(temporary), temporary:c(temporary)*c(1)/c(glob_h), array_y2_higher[6,1]:c(temporary),0)), kkk:2,array_tmp3[1]:array_y2_higher[5,1], array_tmp4[1]:neg(array_tmp3[1]), if not array_y1_set_initial[2,2] then (if 1 <= ats_max_terms then ( temporary :c(array_tmp4[1])*expt(glob_h,c(1)) *c(factorial_3(0,1)), if 2 <= ats_max_terms then (array_y1[2]:temporary, array_y1_higher[1,2]:temporary), temporary:c(temporary)*c(1)/c(glob_h), array_y1_higher[2,1]:c(temporary),0)), kkk:2,array_tmp1[2]:array_y1[2], if not array_y2_set_initial[1,7] then (if 2 <= ats_max_terms then ( temporary :c(array_tmp1[2])*expt(glob_h,c(5)) *c(factorial_3(1,6)), if 7 <= ats_max_terms then (array_y2[7]:temporary, array_y2_higher[1,7]:temporary), temporary:c(temporary)*c(6)/c(glob_h), array_y2_higher[2,6]:c(temporary), temporary:c(temporary)*c(5)/c(glob_h), array_y2_higher[3,5]:c(temporary), temporary:c(temporary)*c(4)/c(glob_h), array_y2_higher[4,4]:c(temporary), temporary:c(temporary)*c(3)/c(glob_h), array_y2_higher[5,3]:c(temporary), temporary:c(temporary)*c(2)/c(glob_h), array_y2_higher[6,2]:c(temporary),0)), kkk:3,array_tmp3[2]:array_y2_higher[5,2], array_tmp4[2]:neg(array_tmp3[2]), if not array_y1_set_initial[2,3] then (if 2 <= ats_max_terms then ( temporary :c(array_tmp4[2])*expt(glob_h,c(1)) *c(factorial_3(1,2)), if 3 <= ats_max_terms then (array_y1[3]:temporary, array_y1_higher[1,3]:temporary), temporary:c(temporary)*c(2)/c(glob_h), array_y1_higher[2,2]:c(temporary),0)), kkk:3,array_tmp1[3]:array_y1[3], if not array_y2_set_initial[1,8] then (if 3 <= ats_max_terms then ( temporary :c(array_tmp1[3])*expt(glob_h,c(5)) *c(factorial_3(2,7)), if 8 <= ats_max_terms then (array_y2[8]:temporary, array_y2_higher[1,8]:temporary), temporary:c(temporary)*c(7)/c(glob_h), array_y2_higher[2,7]:c(temporary), temporary:c(temporary)*c(6)/c(glob_h), array_y2_higher[3,6]:c(temporary), temporary:c(temporary)*c(5)/c(glob_h), array_y2_higher[4,5]:c(temporary), temporary:c(temporary)*c(4)/c(glob_h), array_y2_higher[5,4]:c(temporary), temporary:c(temporary)*c(3)/c(glob_h), array_y2_higher[6,3]:c(temporary),0)), kkk:4,array_tmp3[3]:array_y2_higher[5,3], array_tmp4[3]:neg(array_tmp3[3]), if not array_y1_set_initial[2,4] then (if 3 <= ats_max_terms then ( temporary :c(array_tmp4[3])*expt(glob_h,c(1)) *c(factorial_3(2,3)), if 4 <= ats_max_terms then (array_y1[4]:temporary, array_y1_higher[1,4]:temporary), temporary:c(temporary)*c(3)/c(glob_h), array_y1_higher[2,3]:c(temporary),0)), kkk:4,array_tmp1[4]:array_y1[4], if not array_y2_set_initial[1,9] then (if 4 <= ats_max_terms then ( temporary :c(array_tmp1[4])*expt(glob_h,c(5)) *c(factorial_3(3,8)), if 9 <= ats_max_terms then (array_y2[9]:temporary, array_y2_higher[1,9]:temporary), temporary:c(temporary)*c(8)/c(glob_h), array_y2_higher[2,8]:c(temporary), temporary:c(temporary)*c(7)/c(glob_h), array_y2_higher[3,7]:c(temporary), temporary:c(temporary)*c(6)/c(glob_h), array_y2_higher[4,6]:c(temporary), temporary:c(temporary)*c(5)/c(glob_h), array_y2_higher[5,5]:c(temporary), temporary:c(temporary)*c(4)/c(glob_h), array_y2_higher[6,4]:c(temporary),0)), kkk:5,array_tmp3[4]:array_y2_higher[5,4], array_tmp4[4]:neg(array_tmp3[4]), if not array_y1_set_initial[2,5] then (if 4 <= ats_max_terms then ( temporary :c(array_tmp4[4])*expt(glob_h,c(1)) *c(factorial_3(3,4)), if 5 <= ats_max_terms then (array_y1[5]:temporary, array_y1_higher[1,5]:temporary), temporary:c(temporary)*c(4)/c(glob_h), array_y1_higher[2,4]:c(temporary),0)), kkk:5,array_tmp1[5]:array_y1[5], if not array_y2_set_initial[1,10] then (if 5 <= ats_max_terms then ( temporary :c(array_tmp1[5])*expt(glob_h,c(5)) *c(factorial_3(4,9)), if 10 <= ats_max_terms then (array_y2[10]:temporary, array_y2_higher[1,10] :temporary), temporary:c(temporary)*c(9)/c(glob_h), array_y2_higher[2,9]:c(temporary), temporary:c(temporary)*c(8)/c(glob_h), array_y2_higher[3,8]:c(temporary), temporary:c(temporary)*c(7)/c(glob_h), array_y2_higher[4,7]:c(temporary), temporary:c(temporary)*c(6)/c(glob_h), array_y2_higher[5,6]:c(temporary), temporary:c(temporary)*c(5)/c(glob_h), array_y2_higher[6,5]:c(temporary),0)), kkk:6,array_tmp3[5]:array_y2_higher[5,5], array_tmp4[5]:neg(array_tmp3[5]), if not array_y1_set_initial[2,6] then (if 5 <= ats_max_terms then ( temporary :c(array_tmp4[5])*expt(glob_h,c(1)) *c(factorial_3(4,5)), if 6 <= ats_max_terms then (array_y1[6]:temporary, array_y1_higher[1,6]:temporary), temporary:c(temporary)*c(5)/c(glob_h), array_y1_higher[2,5]:c(temporary),0)), kkk:6, while kkk <= ats_max_terms do (array_tmp1[kkk]:array_y1[kkk],order_d:5, if order_d+kkk <= ats_max_terms then (if not array_y2_set_initial[1,order_d+kkk] then ( temporary :c(array_tmp1[kkk])*expt(glob_h,c(order_d)) *c( factorial_3( kkk-1, -1+order_d+kkk)), array_y2[order_d+kkk]:c(temporary), array_y2_higher[1,order_d+kkk]:c(temporary), term:-1+order_d+kkk,adj2:-1+order_d+kkk, adj3:2, while term >= 1 and term <= ats_max_terms and adj3 < 1+order_d do ( if adj3 <= 1+order_d then ( if adj2 > 0 then temporary :c(temporary)*c(adj2) /c(glob_h) else temporary:c(temporary), array_y2_higher[adj3,term] :c(temporary)),term:term-1, adj2:adj2-1,adj3:1+adj3))), if kkk <= ats_max_terms then array_tmp3[kkk]:array_y2_higher[5,kkk], array_tmp4[kkk]:neg(array_tmp3[kkk]),order_d:1, if order_d+kkk <= ats_max_terms then (if not array_y1_set_initial[2,order_d+kkk] then ( temporary :c(array_tmp4[kkk])*expt(glob_h,c(order_d)) *c( factorial_3( kkk-1, -1+order_d+kkk)), array_y1[order_d+kkk]:c(temporary), array_y1_higher[1,order_d+kkk]:c(temporary), term:-1+order_d+kkk,adj2:-1+order_d+kkk, adj3:2, while term >= 1 and term <= ats_max_terms and adj3 < 1+order_d do ( if adj3 <= 1+order_d then ( if adj2 > 0 then temporary :c(temporary)*c(adj2) /c(glob_h) else temporary:c(temporary), array_y1_higher[adj3,term] :c(temporary)),term:term-1, adj2:adj2-1,adj3:1+adj3))), kkk:1+kkk)),0) (%i261) exact_soln_y1(x):=block(cos(c(x))) (%o261) exact_soln_y1(x) := block(cos(c(x))) (%i262) exact_soln_y2(x):=block(c(10.0)+c(10.0)*c(x)+sin(c(x))) (%o262) exact_soln_y2(x) := block(c(10.0) + c(10.0) c(x) + sin(c(x))) (%i263) exact_soln_y2p(x):=block(c(10.0)+cos(c(x))) (%o263) exact_soln_y2p(x) := block(c(10.0) + cos(c(x))) (%i264) exact_soln_y2pp(x):=block(neg(sin(c(x)))) (%o264) exact_soln_y2pp(x) := block(neg(sin(c(x)))) (%i265) exact_soln_y2ppp(x):=block(neg(cos(c(x)))) (%o265) exact_soln_y2ppp(x) := block(neg(cos(c(x)))) (%i266) exact_soln_y2pppp(x):=block(sin(c(x))) (%o266) exact_soln_y2pppp(x) := block(sin(c(x))) (%i267) main_prog():=block( mode_declare([[d1,d2,d3,d4,est_err_2,display_max],convfloat, [niii,done_once,term,ord,order_diff,term_no, html_log_file,iiif,jjjf,rows,r_order, sub_iter,calc_term,iii],fixnum,[temp_sum], convfloat,[current_iter],fixnum, [x_start,x_end],convfloat,[it,opt_iter], fixnum,[tmp],convfloat,[subiter],fixnum, [est_needed_step_err,estimated_step_error, min_value,est_answer,last_min_pole_est], convfloat,[repeat_it],fixnum],[found_h], boolean),Digits:64,max_terms:40, glob_html_log:true,term:1, while term <= 40 do (array_y2_init[term]:c(0.0),term:1+term),term:1, while term <= 40 do (array_y1_init[term]:c(0.0),term:1+term),term:1, while term <= 40 do (array_norms[term]:c(0.0),term:1+term), term:1, while term <= 40 do (array_fact_1[term]:c(0.0),term:1+term), term:1, while term <= 3 do (array_1st_rel_error[term]:c(0.0),term:1+term),term:1, while term <= 3 do (array_last_rel_error[term]:c(0.0),term:1+term), term:1, while term <= 3 do (array_est_rel_error[term]:c(0.0),term:1+term),term:1, while term <= 3 do (array_max_est_error[term]:c(0.0),term:1+term),term:1, while term <= 3 do (array_type_pole[term]:0,term:1+term), term:1, while term <= 3 do (array_type_real_pole[term]:0,term:1+term),term:1, while term <= 3 do (array_type_complex_pole[term]:0,term:1+term),term:1, while term <= 3 do (array_est_digits[term]:0,term:1+term), term:1, while term <= 40 do (array_y2[term]:c(0.0),term:1+term), term:1, while term <= 40 do (array_x[term]:c(0.0),term:1+term), term:1, while term <= 40 do (array_y1[term]:c(0.0),term:1+term), term:1, while term <= 40 do (array_tmp0[term]:c(0.0),term:1+term), term:1, while term <= 40 do (array_tmp1[term]:c(0.0),term:1+term), term:1, while term <= 40 do (array_tmp2[term]:c(0.0),term:1+term), term:1, while term <= 40 do (array_tmp3[term]:c(0.0),term:1+term), term:1, while term <= 40 do (array_tmp4[term]:c(0.0),term:1+term), term:1, while term <= 40 do (array_m1[term]:c(0.0),term:1+term), ord:1, while ord <= 6 do (term:1, while term <= 40 do (array_y2_higher[ord,term]:c(0.0),term:1+term), ord:1+ord),ord:1, while ord <= 6 do (term:1, while term <= 40 do (array_y2_higher_work[ord,term]:c(0.0), term:1+term),ord:1+ord),ord:1, while ord <= 6 do (term:1, while term <= 40 do (array_y2_higher_work2[ord,term]:c(0.0), term:1+term),ord:1+ord),ord:1, while ord <= 3 do (term:1, while term <= 40 do (array_y2_set_initial[ord,term]:c(0.0), term:1+term),ord:1+ord),ord:1, while ord <= 2 do (term:1, while term <= 40 do (array_y1_higher[ord,term]:c(0.0),term:1+term), ord:1+ord),ord:1, while ord <= 2 do (term:1, while term <= 40 do (array_y1_higher_work[ord,term]:c(0.0), term:1+term),ord:1+ord),ord:1, while ord <= 2 do (term:1, while term <= 40 do (array_y1_higher_work2[ord,term]:c(0.0), term:1+term),ord:1+ord),ord:1, while ord <= 3 do (term:1, while term <= 40 do (array_y1_set_initial[ord,term]:c(0.0), term:1+term),ord:1+ord),ord:1, while ord <= 3 do (term:1, while term <= 3 do (array_given_rad_poles[ord,term]:c(0.0), term:1+term),ord:1+ord),ord:1, while ord <= 3 do (term:1, while term <= 3 do (array_given_ord_poles[ord,term]:c(0.0), term:1+term),ord:1+ord),ord:1, while ord <= 3 do (term:1, while term <= 4 do (array_rad_test_poles[ord,term]:c(0.0), term:1+term),ord:1+ord),ord:1, while ord <= 3 do (term:1, while term <= 4 do (array_ord_test_poles[ord,term]:c(0.0), term:1+term),ord:1+ord),ord:1, while ord <= 40 do (term:1, while term <= 40 do (array_fact_2[ord,term]:c(0.0),term:1+term), ord:1+ord),zero_ats_ar(array_y2), zero_ats_ar(array_x),zero_ats_ar(array_y1), 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_m1), zero_ats_ar(array_const_5),array_const_5[1]:c(5), zero_ats_ar(array_const_0D0),array_const_0D0[1]:c(0.0), zero_ats_ar(array_const_1),array_const_1[1]:c(1), zero_ats_ar(array_const_4),array_const_4[1]:c(4), 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:1+jjjf), iiif:1+iiif),array_y2_set_initial[1,1]:true, array_y2_set_initial[1,2]:true, array_y2_set_initial[1,3]:true, array_y2_set_initial[1,4]:true, array_y2_set_initial[1,5]:true, array_y2_set_initial[1,6]:false, array_y2_set_initial[1,7]:false, array_y2_set_initial[1,8]:false, array_y2_set_initial[1,9]:false, array_y2_set_initial[1,10]:false, array_y2_set_initial[1,11]:false, array_y2_set_initial[1,12]:false, array_y2_set_initial[1,13]:false, array_y2_set_initial[1,14]:false, array_y2_set_initial[1,15]:false, array_y2_set_initial[1,16]:false, array_y2_set_initial[1,17]:false, array_y2_set_initial[1,18]:false, array_y2_set_initial[1,19]:false, array_y2_set_initial[1,20]:false, array_y2_set_initial[1,21]:false, array_y2_set_initial[1,22]:false, array_y2_set_initial[1,23]:false, array_y2_set_initial[1,24]:false, array_y2_set_initial[1,25]:false, array_y2_set_initial[1,26]:false, array_y2_set_initial[1,27]:false, array_y2_set_initial[1,28]:false, array_y2_set_initial[1,29]:false, array_y2_set_initial[1,30]:false, array_y2_set_initial[1,31]:false, array_y2_set_initial[1,32]:false, array_y2_set_initial[1,33]:false, array_y2_set_initial[1,34]:false, array_y2_set_initial[1,35]:false, array_y2_set_initial[1,36]:false, array_y2_set_initial[1,37]:false, array_y2_set_initial[1,38]:false, array_y2_set_initial[1,39]:false, array_y2_set_initial[1,40]:false, array_y1_set_initial[2,1]:true, array_y1_set_initial[2,2]:false, array_y1_set_initial[2,3]:false, array_y1_set_initial[2,4]:false, array_y1_set_initial[2,5]:false, array_y1_set_initial[2,6]:false, array_y1_set_initial[2,7]:false, array_y1_set_initial[2,8]:false, array_y1_set_initial[2,9]:false, array_y1_set_initial[2,10]:false, array_y1_set_initial[2,11]:false, array_y1_set_initial[2,12]:false, array_y1_set_initial[2,13]:false, array_y1_set_initial[2,14]:false, array_y1_set_initial[2,15]:false, array_y1_set_initial[2,16]:false, array_y1_set_initial[2,17]:false, array_y1_set_initial[2,18]:false, array_y1_set_initial[2,19]:false, array_y1_set_initial[2,20]:false, array_y1_set_initial[2,21]:false, array_y1_set_initial[2,22]:false, array_y1_set_initial[2,23]:false, array_y1_set_initial[2,24]:false, array_y1_set_initial[2,25]:false, array_y1_set_initial[2,26]:false, array_y1_set_initial[2,27]:false, array_y1_set_initial[2,28]:false, array_y1_set_initial[2,29]:false, array_y1_set_initial[2,30]:false, array_y1_set_initial[2,31]:false, array_y1_set_initial[2,32]:false, array_y1_set_initial[2,33]:false, array_y1_set_initial[2,34]:false, array_y1_set_initial[2,35]:false, array_y1_set_initial[2,36]:false, array_y1_set_initial[2,37]:false, array_y1_set_initial[2,38]:false, array_y1_set_initial[2,39]:false, array_y1_set_initial[2,40]:false,glob_log_10:log(10.0), glob_orig_start_sec:elapsed_time_seconds(), glob_display_flag:true,glob_no_eqs:2,glob_iter:-1, opt_iter:-1,glob_max_iter:50000,glob_max_hours:0.0, glob_max_minutes:15.0, omniout_str(always, "##############ECHO OF PROBLEM#################"), omniout_str(always, "##############temp/mtest7postode.ode#################"), omniout_str(always, "diff ( y2 , x , 5 ) = y1 ; "), omniout_str(always, "diff ( y1 , x , 1 ) = neg ( diff ( y2 , x , 4 ) ) ; "), omniout_str(always,"!"), omniout_str(always,"/* BEGIN FIRST INPUT BLOCK */"), omniout_str(always,"Digits:64,"), omniout_str(always,"max_terms:40,"),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(0.7),"),omniout_str(always,""), omniout_str(always,""),omniout_str(always,""), omniout_str(always, "array_y1_init[0 + 1] : exact_soln_y1(x_start),"), omniout_str(always, "array_y2_init[0 + 1] : exact_soln_y2(x_start),"), omniout_str(always, "array_y2_init[1 + 1] : exact_soln_y2p(x_start),"), omniout_str(always, "array_y2_init[2 + 1] : exact_soln_y2pp(x_start),"), omniout_str(always, "array_y2_init[3 + 1] : exact_soln_y2ppp(x_start),"), omniout_str(always, "array_y2_init[4 + 1] : exact_soln_y2pppp(x_start),"), omniout_str(always,"glob_look_poles:true,"), omniout_str(always,"glob_max_h:c(0.1),"), 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,"/* 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_y1 (x) := (block("), omniout_str(always," ( cos(c(x)) ) "), omniout_str(always,"));"), omniout_str(always,"exact_soln_y2 (x) := (block("), omniout_str(always, " ( sin(c(x)) + c(10.0) * c(x) + c(10.0)) "), omniout_str(always,"));"), omniout_str(always,"exact_soln_y2p (x) := (block("), omniout_str(always," ( cos(c(x)) + c(10.0)) "), omniout_str(always,"));"), omniout_str(always,"exact_soln_y2pp (x) := (block("), omniout_str(always," ( neg(sin(c(x)))) "), omniout_str(always,"));"), omniout_str(always,"exact_soln_y2ppp (x) := (block("), omniout_str(always," ( neg(cos(c(x)))) "), omniout_str(always,"));"), omniout_str(always,"exact_soln_y2pppp (x) := (block("), omniout_str(always," ( sin(c(x))) "), omniout_str(always,"));"),omniout_str(always,""), omniout_str(always,"/* END USER DEF BLOCK */"), omniout_str(always, "#######END OF ECHO OF PROBLEM#################"), glob_unchanged_h_cnt:0,glob_warned:false,glob_warned2:false, glob_small_float:glob__0,glob_smallish_float:glob__0, glob_large_float:c(1.0E+100),glob_larger_float:c(1.1E+100), glob_almost_1:c(0.99),x_start:c(0.1),x_end:c(0.7), array_y1_init[1+0]:exact_soln_y1(x_start), array_y2_init[1+0]:exact_soln_y2(x_start), array_y2_init[1+1]:exact_soln_y2p(x_start), array_y2_init[1+2]:exact_soln_y2pp(x_start), array_y2_init[1+3]:exact_soln_y2ppp(x_start), array_y2_init[1+4]:exact_soln_y2pppp(x_start), glob_look_poles:true,glob_max_h:c(0.1), 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:3600.0*glob_max_hours+60.0*glob_max_minutes, glob_check_sign:c(my_check_sign(x_start,x_end)), glob__pi:3.141592654,glob_prec:1.0E-16, 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:abs(glob_min_h)*glob_check_sign, glob_max_h:abs(glob_max_h)*glob_check_sign, glob_h:abs(glob_min_h)*glob_check_sign, glob_display_interval :c(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 glob_display_interval:c(display_max), 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:5, term_no:1, while term_no <= order_diff do ( array_y2[term_no] :array_y2_init[term_no] *expt(glob_h,c(term_no-1)) /c(factorial_1(term_no-1)), term_no:1+term_no),rows:order_diff, r_order:1, while r_order <= rows do (term_no:1, while term_no <= 1-r_order+rows do (it:-1+r_order+term_no, if term_no < ats_max_terms then array_y2_higher[ r_order,term_no] :array_y2_init[it] *expt(glob_h, c(term_no-1)) /c( factorial_1( term_no-1)), term_no:1+term_no), r_order:1+r_order),order_diff:1, term_no:1, while term_no <= order_diff do ( array_y1[term_no] :array_y1_init[term_no] *expt(glob_h,c(term_no-1)) /c(factorial_1(term_no-1)), term_no:1+term_no),rows:order_diff, r_order:1, while r_order <= rows do (term_no:1, while term_no <= 1-r_order+rows do (it:-1+r_order+term_no, if term_no < ats_max_terms then array_y1_higher[ r_order,term_no] :array_y1_init[it] *expt(glob_h, c(term_no-1)) /c( factorial_1( term_no-1)), term_no:1+term_no), r_order:1+r_order), if glob_subiter_method = 1 then atomall() elseif glob_subiter_method = 2 then (subiter:1, while subiter <= 6 do (atomall(), subiter:1+subiter)) else (subiter:1, while subiter <= ats_max_terms+6 do (atomall(), subiter:1+subiter)), if glob_check_sign*glob_min_h >= glob_check_sign*glob_h then ( omniout_str(always, "SETTING H FOR MIN H"), glob_h:glob_check_sign*abs(glob_min_h), glob_h_reason:1,found_h:true), 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), if glob_look_poles then check_for_pole(), 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)), opt_iter:1+opt_iter), if not found_h and opt_iter = 1 then (omniout_str(always, "Beginning glob_h too large."), found_h:false), if glob_check_sign*glob_max_h <= glob_check_sign*glob_h then (omniout_str(always, "SETTING H FOR MAX H"), glob_h:glob_check_sign*abs(glob_max_h), glob_h_reason:1,found_h:true)) else (found_h:true,glob_h:glob_h*glob_check_sign), if glob_html_log then html_log_file:openw("entry.html"), 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:5, term_no:1, while term_no <= order_diff do (array_y2[term_no] :array_y2_init[term_no] *expt(glob_h,c(term_no-1)) /c(factorial_1(term_no-1)), term_no:1+term_no),rows:order_diff, r_order:1, while r_order <= rows do (term_no:1, while term_no <= 1-r_order+rows do (it:-1+r_order+term_no, if term_no < ats_max_terms then array_y2_higher[ r_order,term_no] :array_y2_init[it] *expt(glob_h,c(term_no-1)) /c(factorial_1(term_no-1)), term_no:1+term_no), r_order:1+r_order),order_diff:1,term_no:1, while term_no <= order_diff do (array_y1[term_no] :array_y1_init[term_no] *expt(glob_h,c(term_no-1)) /c(factorial_1(term_no-1)), term_no:1+term_no),rows:order_diff, r_order:1, while r_order <= rows do (term_no:1, while term_no <= 1-r_order+rows do (it:-1+r_order+term_no, if term_no < ats_max_terms then array_y1_higher[ r_order,term_no] :array_y1_init[it] *expt(glob_h,c(term_no-1)) /c(factorial_1(term_no-1)), term_no:1+term_no), r_order:1+r_order),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")), glob_iter:1+glob_iter, glob_clock_sec:elapsed_time_seconds(), track_estimated_error(), if glob_subiter_method = 1 then atomall() elseif glob_subiter_method = 2 then (subiter:1, while subiter <= 6 do (atomall(), subiter:1+subiter)) else (subiter:1, while subiter <= ats_max_terms+6 do (atomall(), subiter:1+subiter)), track_estimated_error(), display_alot(current_iter), if glob_look_poles then check_for_pole(), if reached_interval() then glob_next_display :glob_display_interval +glob_next_display, array_x[1]:glob_h+array_x[1], array_x[2]:glob_h,order_diff:6,ord:6, calc_term:1,iii:ats_max_terms, while iii >= calc_term do ( array_y2_higher_work[6,iii] :array_y2_higher[6,iii] /expt(glob_h,c(calc_term-1)) /c( factorial_3(iii-calc_term,iii-1)), iii:iii-1),temp_sum:glob__0,ord:6, calc_term:1,iii:ats_max_terms, while iii >= calc_term do ( temp_sum :array_y2_higher_work[ord,iii] +temp_sum,iii:iii-1), array_y2_higher_work2[ord,calc_term] :temp_sum*expt(glob_h,c(calc_term-1)) /c(factorial_1(calc_term-1)),ord:5, calc_term:2,iii:ats_max_terms, while iii >= calc_term do ( array_y2_higher_work[5,iii] :array_y2_higher[5,iii] /expt(glob_h,c(calc_term-1)) /c( factorial_3(iii-calc_term,iii-1)), iii:iii-1),temp_sum:glob__0,ord:5, calc_term:2,iii:ats_max_terms, while iii >= calc_term do ( temp_sum :array_y2_higher_work[ord,iii] +temp_sum,iii:iii-1), array_y2_higher_work2[ord,calc_term] :temp_sum*expt(glob_h,c(calc_term-1)) /c(factorial_1(calc_term-1)),ord:5, calc_term:1,iii:ats_max_terms, while iii >= calc_term do ( array_y2_higher_work[5,iii] :array_y2_higher[5,iii] /expt(glob_h,c(calc_term-1)) /c( factorial_3(iii-calc_term,iii-1)), iii:iii-1),temp_sum:glob__0,ord:5, calc_term:1,iii:ats_max_terms, while iii >= calc_term do ( temp_sum :array_y2_higher_work[ord,iii] +temp_sum,iii:iii-1), array_y2_higher_work2[ord,calc_term] :temp_sum*expt(glob_h,c(calc_term-1)) /c(factorial_1(calc_term-1)),ord:4, calc_term:3,iii:ats_max_terms, while iii >= calc_term do ( array_y2_higher_work[4,iii] :array_y2_higher[4,iii] /expt(glob_h,c(calc_term-1)) /c( factorial_3(iii-calc_term,iii-1)), iii:iii-1),temp_sum:glob__0,ord:4, calc_term:3,iii:ats_max_terms, while iii >= calc_term do ( temp_sum :array_y2_higher_work[ord,iii] +temp_sum,iii:iii-1), array_y2_higher_work2[ord,calc_term] :temp_sum*expt(glob_h,c(calc_term-1)) /c(factorial_1(calc_term-1)),ord:4, calc_term:2,iii:ats_max_terms, while iii >= calc_term do ( array_y2_higher_work[4,iii] :array_y2_higher[4,iii] /expt(glob_h,c(calc_term-1)) /c( factorial_3(iii-calc_term,iii-1)), iii:iii-1),temp_sum:glob__0,ord:4, calc_term:2,iii:ats_max_terms, while iii >= calc_term do ( temp_sum :array_y2_higher_work[ord,iii] +temp_sum,iii:iii-1), array_y2_higher_work2[ord,calc_term] :temp_sum*expt(glob_h,c(calc_term-1)) /c(factorial_1(calc_term-1)),ord:4, calc_term:1,iii:ats_max_terms, while iii >= calc_term do ( array_y2_higher_work[4,iii] :array_y2_higher[4,iii] /expt(glob_h,c(calc_term-1)) /c( factorial_3(iii-calc_term,iii-1)), iii:iii-1),temp_sum:glob__0,ord:4, calc_term:1,iii:ats_max_terms, while iii >= calc_term do ( temp_sum :array_y2_higher_work[ord,iii] +temp_sum,iii:iii-1), array_y2_higher_work2[ord,calc_term] :temp_sum*expt(glob_h,c(calc_term-1)) /c(factorial_1(calc_term-1)),ord:3, calc_term:4,iii:ats_max_terms, while iii >= calc_term do ( array_y2_higher_work[3,iii] :array_y2_higher[3,iii] /expt(glob_h,c(calc_term-1)) /c( factorial_3(iii-calc_term,iii-1)), iii:iii-1),temp_sum:glob__0,ord:3, calc_term:4,iii:ats_max_terms, while iii >= calc_term do ( temp_sum :array_y2_higher_work[ord,iii] +temp_sum,iii:iii-1), array_y2_higher_work2[ord,calc_term] :temp_sum*expt(glob_h,c(calc_term-1)) /c(factorial_1(calc_term-1)),ord:3, calc_term:3,iii:ats_max_terms, while iii >= calc_term do ( array_y2_higher_work[3,iii] :array_y2_higher[3,iii] /expt(glob_h,c(calc_term-1)) /c( factorial_3(iii-calc_term,iii-1)), iii:iii-1),temp_sum:glob__0,ord:3, calc_term:3,iii:ats_max_terms, while iii >= calc_term do ( temp_sum :array_y2_higher_work[ord,iii] +temp_sum,iii:iii-1), array_y2_higher_work2[ord,calc_term] :temp_sum*expt(glob_h,c(calc_term-1)) /c(factorial_1(calc_term-1)),ord:3, calc_term:2,iii:ats_max_terms, while iii >= calc_term do ( array_y2_higher_work[3,iii] :array_y2_higher[3,iii] /expt(glob_h,c(calc_term-1)) /c( factorial_3(iii-calc_term,iii-1)), iii:iii-1),temp_sum:glob__0,ord:3, calc_term:2,iii:ats_max_terms, while iii >= calc_term do ( temp_sum :array_y2_higher_work[ord,iii] +temp_sum,iii:iii-1), array_y2_higher_work2[ord,calc_term] :temp_sum*expt(glob_h,c(calc_term-1)) /c(factorial_1(calc_term-1)),ord:3, calc_term:1,iii:ats_max_terms, while iii >= calc_term do ( array_y2_higher_work[3,iii] :array_y2_higher[3,iii] /expt(glob_h,c(calc_term-1)) /c( factorial_3(iii-calc_term,iii-1)), iii:iii-1),temp_sum:glob__0,ord:3, calc_term:1,iii:ats_max_terms, while iii >= calc_term do ( temp_sum :array_y2_higher_work[ord,iii] +temp_sum,iii:iii-1), array_y2_higher_work2[ord,calc_term] :temp_sum*expt(glob_h,c(calc_term-1)) /c(factorial_1(calc_term-1)),ord:2, calc_term:5,iii:ats_max_terms, while iii >= calc_term do ( array_y2_higher_work[2,iii] :array_y2_higher[2,iii] /expt(glob_h,c(calc_term-1)) /c( factorial_3(iii-calc_term,iii-1)), iii:iii-1),temp_sum:glob__0,ord:2, calc_term:5,iii:ats_max_terms, while iii >= calc_term do ( temp_sum :array_y2_higher_work[ord,iii] +temp_sum,iii:iii-1), array_y2_higher_work2[ord,calc_term] :temp_sum*expt(glob_h,c(calc_term-1)) /c(factorial_1(calc_term-1)),ord:2, calc_term:4,iii:ats_max_terms, while iii >= calc_term do ( array_y2_higher_work[2,iii] :array_y2_higher[2,iii] /expt(glob_h,c(calc_term-1)) /c( factorial_3(iii-calc_term,iii-1)), iii:iii-1),temp_sum:glob__0,ord:2, calc_term:4,iii:ats_max_terms, while iii >= calc_term do ( temp_sum :array_y2_higher_work[ord,iii] +temp_sum,iii:iii-1), array_y2_higher_work2[ord,calc_term] :temp_sum*expt(glob_h,c(calc_term-1)) /c(factorial_1(calc_term-1)),ord:2, calc_term:3,iii:ats_max_terms, while iii >= calc_term do ( array_y2_higher_work[2,iii] :array_y2_higher[2,iii] /expt(glob_h,c(calc_term-1)) /c( factorial_3(iii-calc_term,iii-1)), iii:iii-1),temp_sum:glob__0,ord:2, calc_term:3,iii:ats_max_terms, while iii >= calc_term do ( temp_sum :array_y2_higher_work[ord,iii] +temp_sum,iii:iii-1), array_y2_higher_work2[ord,calc_term] :temp_sum*expt(glob_h,c(calc_term-1)) /c(factorial_1(calc_term-1)),ord:2, calc_term:2,iii:ats_max_terms, while iii >= calc_term do ( array_y2_higher_work[2,iii] :array_y2_higher[2,iii] /expt(glob_h,c(calc_term-1)) /c( factorial_3(iii-calc_term,iii-1)), iii:iii-1),temp_sum:glob__0,ord:2, calc_term:2,iii:ats_max_terms, while iii >= calc_term do ( temp_sum :array_y2_higher_work[ord,iii] +temp_sum,iii:iii-1), array_y2_higher_work2[ord,calc_term] :temp_sum*expt(glob_h,c(calc_term-1)) /c(factorial_1(calc_term-1)),ord:2, calc_term:1,iii:ats_max_terms, while iii >= calc_term do ( array_y2_higher_work[2,iii] :array_y2_higher[2,iii] /expt(glob_h,c(calc_term-1)) /c( factorial_3(iii-calc_term,iii-1)), iii:iii-1),temp_sum:glob__0,ord:2, calc_term:1,iii:ats_max_terms, while iii >= calc_term do ( temp_sum :array_y2_higher_work[ord,iii] +temp_sum,iii:iii-1), array_y2_higher_work2[ord,calc_term] :temp_sum*expt(glob_h,c(calc_term-1)) /c(factorial_1(calc_term-1)),ord:1, calc_term:6,iii:ats_max_terms, while iii >= calc_term do ( array_y2_higher_work[1,iii] :array_y2_higher[1,iii] /expt(glob_h,c(calc_term-1)) /c( factorial_3(iii-calc_term,iii-1)), iii:iii-1),temp_sum:glob__0,ord:1, calc_term:6,iii:ats_max_terms, while iii >= calc_term do ( temp_sum :array_y2_higher_work[ord,iii] +temp_sum,iii:iii-1), array_y2_higher_work2[ord,calc_term] :temp_sum*expt(glob_h,c(calc_term-1)) /c(factorial_1(calc_term-1)),ord:1, calc_term:5,iii:ats_max_terms, while iii >= calc_term do ( array_y2_higher_work[1,iii] :array_y2_higher[1,iii] /expt(glob_h,c(calc_term-1)) /c( factorial_3(iii-calc_term,iii-1)), iii:iii-1),temp_sum:glob__0,ord:1, calc_term:5,iii:ats_max_terms, while iii >= calc_term do ( temp_sum :array_y2_higher_work[ord,iii] +temp_sum,iii:iii-1), array_y2_higher_work2[ord,calc_term] :temp_sum*expt(glob_h,c(calc_term-1)) /c(factorial_1(calc_term-1)),ord:1, calc_term:4,iii:ats_max_terms, while iii >= calc_term do ( array_y2_higher_work[1,iii] :array_y2_higher[1,iii] /expt(glob_h,c(calc_term-1)) /c( factorial_3(iii-calc_term,iii-1)), iii:iii-1),temp_sum:glob__0,ord:1, calc_term:4,iii:ats_max_terms, while iii >= calc_term do ( temp_sum :array_y2_higher_work[ord,iii] +temp_sum,iii:iii-1), array_y2_higher_work2[ord,calc_term] :temp_sum*expt(glob_h,c(calc_term-1)) /c(factorial_1(calc_term-1)),ord:1, calc_term:3,iii:ats_max_terms, while iii >= calc_term do ( array_y2_higher_work[1,iii] :array_y2_higher[1,iii] /expt(glob_h,c(calc_term-1)) /c( factorial_3(iii-calc_term,iii-1)), iii:iii-1),temp_sum:glob__0,ord:1, calc_term:3,iii:ats_max_terms, while iii >= calc_term do ( temp_sum :array_y2_higher_work[ord,iii] +temp_sum,iii:iii-1), array_y2_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 iii >= calc_term do ( array_y2_higher_work[1,iii] :array_y2_higher[1,iii] /expt(glob_h,c(calc_term-1)) /c( factorial_3(iii-calc_term,iii-1)), iii:iii-1),temp_sum:glob__0,ord:1, calc_term:2,iii:ats_max_terms, while iii >= calc_term do ( temp_sum :array_y2_higher_work[ord,iii] +temp_sum,iii:iii-1), array_y2_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 iii >= calc_term do ( array_y2_higher_work[1,iii] :array_y2_higher[1,iii] /expt(glob_h,c(calc_term-1)) /c( factorial_3(iii-calc_term,iii-1)), iii:iii-1),temp_sum:glob__0,ord:1, calc_term:1,iii:ats_max_terms, while iii >= calc_term do ( temp_sum :array_y2_higher_work[ord,iii] +temp_sum,iii:iii-1), array_y2_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 term_no >= 1 do ( array_y2[term_no] :array_y2_higher_work2[1,term_no], ord:1, while ord <= order_diff do ( array_y2_higher[ord,term_no] :array_y2_higher_work2[ ord,term_no],ord:1+ord), term_no:term_no-1),order_diff:2, ord:2,calc_term:1,iii:ats_max_terms, while iii >= calc_term do ( array_y1_higher_work[2,iii] :array_y1_higher[2,iii] /expt(glob_h,c(calc_term-1)) /c( factorial_3(iii-calc_term,iii-1)), iii:iii-1),temp_sum:glob__0,ord:2, calc_term:1,iii:ats_max_terms, while iii >= calc_term do ( temp_sum :array_y1_higher_work[ord,iii] +temp_sum,iii:iii-1), array_y1_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 iii >= calc_term do ( array_y1_higher_work[1,iii] :array_y1_higher[1,iii] /expt(glob_h,c(calc_term-1)) /c( factorial_3(iii-calc_term,iii-1)), iii:iii-1),temp_sum:glob__0,ord:1, calc_term:2,iii:ats_max_terms, while iii >= calc_term do ( temp_sum :array_y1_higher_work[ord,iii] +temp_sum,iii:iii-1), array_y1_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 iii >= calc_term do ( array_y1_higher_work[1,iii] :array_y1_higher[1,iii] /expt(glob_h,c(calc_term-1)) /c( factorial_3(iii-calc_term,iii-1)), iii:iii-1),temp_sum:glob__0,ord:1, calc_term:1,iii:ats_max_terms, while iii >= calc_term do ( temp_sum :array_y1_higher_work[ord,iii] +temp_sum,iii:iii-1), array_y1_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 term_no >= 1 do ( array_y1[term_no] :array_y1_higher_work2[1,term_no], ord:1, while ord <= order_diff do ( array_y1_higher[ord,term_no] :array_y1_higher_work2[ ord,term_no],ord:1+ord), term_no:term_no-1)), omniout_str(always,"Finished!"), if glob_iter >= glob_max_iter then omniout_str(always, "Maximum Iterations Reached before Solution Completed!"), if elapsed_time_seconds()-glob_orig_start_sec >= glob_max_sec then omniout_str(always, "Maximum Time Reached before Solution Completed!"), glob_clock_sec:elapsed_time_seconds(), omniout_str(info, "diff ( y2 , x , 5 ) = y1 ; "), omniout_str(info, "diff ( y1 , x , 1 ) = neg ( diff ( y2 , x , 4 ) ) ; "), 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-24T21:52:26-05:00"), logitem_str(html_log_file,"Maxima"), logitem_str(html_log_file, "mtest7"), logitem_str(html_log_file, "diff ( y2 , x , 5 ) = y1 ; "), 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_str(html_log_file,"16"), 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]),0) else ( logitem_str(html_log_file, "Unknown"),0), if glob_min_good_digits # -16 then ( logitem_integer(html_log_file, glob_min_good_digits), 0) else ( logitem_str(html_log_file, "Unknown"),0), if glob_good_digits # -16 then ( logitem_integer(html_log_file, glob_good_digits),0) else ( logitem_str(html_log_file, "Unknown"),0), 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"),0) elseif glob_type_given_pole = 4 then ( logitem_str(html_log_file, "No Solution"), logitem_str(html_log_file,"NA"),0) elseif glob_type_given_pole = 5 then ( logitem_str(html_log_file, "Some Pole"), logitem_str(html_log_file,"????"),0) elseif glob_type_given_pole = 3 then ( logitem_str(html_log_file, "No Pole"), logitem_str(html_log_file,"NA"),0) elseif glob_type_given_pole = 1 then ( logitem_str(html_log_file, "Real Sing"), logitem_float(html_log_file, glob_least_given_sing), 0) elseif glob_type_given_pole = 2 then ( logitem_str(html_log_file, "Complex Sing"), logitem_float(html_log_file, glob_least_given_sing), 0), if glob_least_ratio_sing < glob_large_float then ( logitem_float(html_log_file, glob_least_ratio_sing), 0) else ( logitem_str(html_log_file,"NONE"),0), if glob_least_3_sing < glob_large_float then ( logitem_float(html_log_file, glob_least_3_sing),0) else ( logitem_str(html_log_file,"NONE"), 0), if glob_least_6_sing < glob_large_float then ( logitem_float(html_log_file, glob_least_6_sing),0) else ( logitem_str(html_log_file,"NONE"), 0), 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), log_revs(html_log_file, " 308.maple.seems.ok "), logitem_str(html_log_file, "mtest7 diffeq.max"), logitem_str(html_log_file, "mtest7 maxima results"), logitem_str(html_log_file,"OK"), logend(html_log_file), logditto(html_log_file), logditto(html_log_file), logditto(html_log_file), logitem_str(html_log_file, "diff ( y1 , x , 1 ) = neg ( diff ( y2 , x , 4 ) ) ; "), logditto(html_log_file), logditto(html_log_file), logditto(html_log_file), logditto(html_log_file), logditto(html_log_file), logditto(html_log_file), logditto(html_log_file), if array_est_digits[2] # -16 then ( logitem_integer(html_log_file, array_est_digits[ 2]),0) else ( logitem_str(html_log_file, "Unknown"),0), if glob_min_good_digits # -16 then ( logitem_integer(html_log_file, glob_min_good_digits), 0) else ( logitem_str(html_log_file, "Unknown"),0), if glob_good_digits # -16 then ( logitem_integer(html_log_file, glob_good_digits),0) else ( logitem_str(html_log_file, "Unknown"),0), logitem_str(html_log_file,"NA"), logitem_str(html_log_file,"NA"), logditto(html_log_file), if glob_type_given_pole = 0 then (logditto(html_log_file), logditto(html_log_file),0) elseif glob_type_given_pole = 4 then (logditto(html_log_file), logditto(html_log_file),0) elseif glob_type_given_pole = 5 then (logditto(html_log_file), logditto(html_log_file),0) elseif glob_type_given_pole = 3 then (logditto(html_log_file), logditto(html_log_file),0) elseif glob_type_given_pole = 1 then (logditto(html_log_file), logditto(html_log_file),0) elseif glob_type_given_pole = 2 then (logditto(html_log_file), logditto(html_log_file),0), if glob_least_ratio_sing < glob_large_float then (logditto(html_log_file),0) else (logditto(html_log_file),0), if glob_least_3_sing < glob_large_float then (logditto(html_log_file),0) else (logditto(html_log_file),0), if glob_least_6_sing < glob_large_float then (logditto(html_log_file),0) else (logditto(html_log_file),0), logditto(html_log_file), logditto(html_log_file), if c(glob_percent_done) < glob__100 then (logditto(html_log_file),0) else (logditto(html_log_file),0), logditto(html_log_file), logditto(html_log_file), logditto(html_log_file), logditto(html_log_file), logend(html_log_file)), if glob_html_log then close(html_log_file))) (%i268) main():=(glob_iolevel:2,compile(all),main_prog()) (%i269) main() warning: encountered undefined variable glob_iolevel in translation. warning: encountered undefined variable glob_iolevel in translation. warning: encountered undefined variable glob_iolevel in translation. warning: encountered undefined variable glob_iolevel in translation. warning: encountered undefined variable glob_iolevel in translation. warning: encountered undefined variable glob_iolevel in translation. modedeclare: false is not a built-in type; assuming it is a Maxima extension type. warning: encountered undefined variable secs in translation. warning: encountered undefined variable glob_sec_in_year in translation. warning: encountered undefined variable sec_temp in translation. warning: encountered undefined variable glob_sec_in_day in translation. warning: encountered undefined variable glob_sec_in_hour in translation. warning: encountered undefined variable glob_sec_in_minute in translation. warning: encountered undefined variable years_int in translation. warning: encountered undefined variable days_int in translation. warning: encountered undefined variable hours_int in translation. warning: encountered undefined variable minutes_int in translation. warning: encountered undefined variable sec_int in translation. modedeclare: false is not a built-in type; assuming it is a Maxima extension type. warning: encountered undefined variable glob_sec_in_year in translation. warning: encountered undefined variable glob_sec_in_day in translation. warning: encountered undefined variable glob_sec_in_hour in translation. warning: encountered undefined variable glob_sec_in_minute in translation. warning: encountered undefined variable iii in translation. warning: encountered undefined variable ats_max_terms in translation. warning: encountered undefined variable glob__0 in translation. modedeclare: false is not a built-in type; assuming it is a Maxima extension type. warning: encountered undefined variable glob__0 in translation. warning: encountered undefined variable iii_ats in translation. warning: encountered undefined variable ma_ats in translation. warning: encountered undefined variable ret_ats in translation. warning: encountered undefined variable lll_ats in translation. warning: encountered undefined variable ats_max_terms in translation. modedeclare: false is not a built-in type; assuming it is a Maxima extension type. warning: encountered undefined variable glob__0 in translation. warning: encountered undefined variable iii_att in translation. warning: encountered undefined variable ats_max_terms in translation. warning: encountered undefined variable ma_att in translation. warning: encountered undefined variable lll_att in translation. warning: encountered undefined variable ret_att in translation. warning: encountered undefined variable al_att in translation. modedeclare: false is not a built-in type; assuming it is a Maxima extension type. warning: encountered undefined variable glob_min_good_digits in translation. warning: encountered undefined variable glob_h_reason in translation. modedeclare: false is not a built-in type; assuming it is a Maxima extension type. warning: encountered undefined variable always in translation. warning: encountered undefined variable glob_max_iter in translation. warning: encountered undefined variable errflag in translation. modedeclare: false is not a built-in type; assuming it is a Maxima extension type. warning: encountered undefined variable glob__0 in translation. warning: encountered undefined variable sub1 in translation. warning: encountered undefined variable sub2 in translation. warning: encountered undefined variable rrr in translation. warning: encountered undefined variable ms2 in translation. warning: encountered undefined variable sec_left in translation. modedeclare: false is not a built-in type; assuming it is a Maxima extension type. warning: encountered undefined variable glob__100 in translation. warning: encountered undefined variable glob_small_float in translation. warning: encountered undefined variable glob_h in translation. warning: encountered undefined variable glob__0 in translation. warning: encountered undefined variable glob_larger_float in translation. warning: encountered undefined variable ret in translation. warning: encountered undefined variable glob__1 in translation. warning: encountered undefined variable glob_h in translation. warning: encountered undefined variable glob__0 in translation. warning: encountered undefined variable glob_larger_float in translation. warning: encountered undefined variable glob__m2 in translation. warning: encountered undefined variable glob_h in translation. warning: encountered undefined variable temp in translation. warning: encountered undefined variable glob__0 in translation. warning: encountered undefined variable glob_larger_float in translation. warning: encountered undefined variable glob__4 in translation. warning: encountered undefined variable glob__3 in translation. warning: encountered undefined variable glob__2 in translation. warning: encountered undefined variable rm0 in translation. warning: encountered undefined variable glob__2 in translation. warning: encountered undefined variable rm1 in translation. warning: encountered undefined variable rm2 in translation. warning: encountered undefined variable rm3 in translation. warning: encountered undefined variable glob__m1 in translation. warning: encountered undefined variable glob__1 in translation. warning: encountered undefined variable rm4 in translation. warning: encountered undefined variable glob__3 in translation. warning: encountered undefined variable glob__8 in translation. warning: encountered undefined variable glob__5 in translation. warning: encountered undefined variable glob_larger_float in translation. warning: encountered undefined variable nr1 in translation. warning: encountered undefined variable dr2 in translation. warning: encountered undefined variable nr2 in translation. warning: encountered undefined variable dr1 in translation. warning: encountered undefined variable glob__0 in translation. warning: encountered undefined variable ds1 in translation. warning: encountered undefined variable ds2 in translation. warning: encountered undefined variable rcs in translation. warning: encountered undefined variable glob_h in translation. warning: encountered undefined variable ord_no in translation. warning: variable glob_six_term_ord_save (declared type convfloat) assigned type any. warning: encountered undefined variable rad_c in translation. warning: encountered undefined variable glob_six_term_ord_save in translation. modedeclare: false is not a built-in type; assuming it is a Maxima extension type. modedeclare: false is not a built-in type; assuming it is a Maxima extension type. modedeclare: false is not a built-in type; assuming it is a Maxima extension type. modedeclare: false is not a built-in type; assuming it is a Maxima extension type. warning: encountered undefined variable array_fact_2 in translation. warning: encountered undefined variable ats_max_terms in translation. warning: encountered undefined variable glob_log_10 in translation. warning: encountered undefined variable always in translation. warning: encountered undefined variable glob_desired_digits_correct in translation. warning: encountered undefined variable glob__10 in translation. warning: encountered undefined variable ats_max_terms in translation. modedeclare: false is not a built-in type; assuming it is a Maxima extension type. warning: encountered undefined variable array_x in translation. warning: encountered undefined variable array_given_rad_poles in translation. warning: encountered undefined variable always in translation. warning: encountered undefined variable rad_given in translation. warning: encountered undefined variable array_given_ord_poles in translation. warning: variable glob_least_given_sing (declared type convfloat) assigned type any. warning: encountered undefined variable glob_least_given_sing in translation. warning: encountered undefined variable glob_type_given_pole in translation. warning: encountered undefined variable array_rad_test_poles in translation. warning: variable glob_least_ratio_sing (declared type convfloat) assigned type any. warning: encountered undefined variable glob_least_ratio_sing in translation. warning: encountered undefined variable array_ord_test_poles in translation. warning: encountered undefined variable glob_large_float in translation. warning: variable glob_least_3_sing (declared type convfloat) assigned type any. warning: encountered undefined variable glob_least_3_sing in translation. warning: encountered undefined variable glob__small in translation. warning: variable glob_least_6_sing (declared type convfloat) assigned type any. warning: encountered undefined variable glob_least_6_sing in translation. warning: encountered undefined variable glob__1 in translation. warning: encountered undefined variable glob__m1 in translation. warning: encountered undefined variable glob_estimated_size_answer in translation. warning: encountered undefined variable array_y2 in translation. warning: encountered undefined variable always in translation. warning: encountered undefined variable array_y1 in translation. warning: encountered undefined variable glob__1 in translation. warning: encountered undefined variable glob__small in translation. warning: encountered undefined variable ats_max_terms in translation. warning: encountered undefined variable glob__0_5 in translation. warning: encountered undefined variable glob__0_25 in translation. warning: encountered undefined variable glob__0_125 in translation. warning: encountered undefined variable always in translation. warning: encountered undefined variable ats_max_terms in translation. warning: encountered undefined variable glob__0_5 in translation. warning: encountered undefined variable glob__0_25 in translation. warning: encountered undefined variable glob__0_125 in translation. warning: encountered undefined variable glob_prec in translation. warning: encountered undefined variable array_max_est_error in translation. modedeclare: false is not a built-in type; assuming it is a Maxima extension type. warning: encountered undefined variable glob_check_sign in translation. warning: encountered undefined variable glob_next_display in translation. warning: encountered undefined variable glob_h in translation. warning: encountered undefined variable glob__10 in translation. modedeclare: false is not a built-in type; assuming it is a Maxima extension type. warning: encountered undefined variable always in translation. warning: encountered undefined variable ind_var in translation. warning: encountered undefined variable closed_form_val_y in translation. warning: encountered undefined variable term_no in translation. warning: encountered undefined variable numeric_val in translation. warning: encountered undefined variable abserr in translation. warning: encountered undefined variable glob__100 in translation. warning: encountered undefined variable relerr in translation. warning: variable glob_good_digits (declared type fixnum) assigned type any. warning: encountered undefined variable glob_prec in translation. warning: encountered undefined variable glob__m1 in translation. warning: encountered undefined variable glob_good_digits in translation. warning: encountered undefined variable glob_min_good_digits in translation. warning: encountered undefined variable glob_apfp_est_good_digits in translation. warning: encountered undefined variable glob_min_apfp_est_good_digits in translation. warning: encountered undefined variable glob_iter in translation. warning: encountered undefined variable ats_max_terms in translation. warning: encountered undefined variable est_rel_err in translation. warning: variable glob_est_digits (declared type fixnum) assigned type any. warning: encountered undefined variable glob_est_digits in translation. warning: encountered undefined variable array_est_digits in translation. warning: encountered undefined variable array_1st_rel_error in translation. warning: encountered undefined variable array_last_rel_error in translation. warning: encountered undefined variable array_est_rel_error in translation. warning: encountered undefined variable info in translation. warning: encountered undefined variable glob_desired_digits_correct in translation. warning: encountered undefined variable glob_h in translation. modedeclare: false is not a built-in type; assuming it is a Maxima extension type. warning: encountered undefined variable clock_sec1 in translation. warning: encountered undefined variable glob_orig_start_sec in translation. warning: encountered undefined variable glob_clock_start_sec in translation. warning: variable glob_clock_sec (declared type convfloat) assigned type any. warning: encountered undefined variable glob_max_sec in translation. warning: encountered undefined variable glob_h in translation. warning: encountered undefined variable glob_optimal_clock_start_sec in translation. warning: encountered undefined variable opt_clock_sec in translation. warning: variable glob_optimal_expect_sec (declared type convfloat) assigned type any. warning: encountered undefined variable glob_optimal_expect_sec in translation. warning: encountered undefined variable total_clock_sec in translation. warning: variable glob_total_exp_sec (declared type convfloat) assigned type any. warning: encountered undefined variable percent_done in translation. warning: variable glob_percent_done (declared type convfloat) assigned type any. warning: encountered undefined variable info in translation. warning: encountered undefined variable glob_clock_sec in translation. warning: encountered undefined variable expect_sec in translation. warning: encountered undefined variable glob_total_exp_sec in translation. warning: encountered undefined variable glob__100 in translation. warning: encountered undefined variable left_sec in translation. warning: encountered undefined variable glob_larger_float in translation. warning: encountered undefined variable ats_max_terms in translation. warning: encountered undefined variable last_no in translation. warning: encountered undefined variable found_sing in translation. warning: encountered undefined variable array_y2_higher in translation. warning: variable tmp_rad (declared type convfloat) assigned type any. warning: encountered undefined variable tmp_rad in translation. warning: encountered undefined variable prev_tmp_rad in translation. warning: encountered undefined variable glob__0 in translation. warning: encountered undefined variable glob_large_float in translation. warning: encountered undefined variable cnt in translation. warning: encountered undefined variable tmp_ratio in translation. warning: encountered undefined variable glob_upper_ratio_limit in translation. warning: encountered undefined variable glob_lower_ratio_limit in translation. warning: variable tmp_ord (declared type convfloat) assigned type any. warning: encountered undefined variable tmp_ord in translation. warning: encountered undefined variable array_y1_higher in translation. warning: encountered undefined variable glob_min_pole_est in translation. warning: encountered undefined variable glob_check_sign in translation. warning: encountered undefined variable glob_ratio_of_radius in translation. warning: encountered undefined variable always in translation. warning: encountered undefined variable glob_min_h in translation. warning: encountered undefined variable h_new in translation. warning: variable ratio (declared type convfloat) assigned type any. warning: encountered undefined variable term in translation. warning: encountered undefined variable ratio in translation. warning: encountered undefined variable glob_h in translation. modedeclare: false is not a built-in type; assuming it is a Maxima extension type. warning: encountered undefined variable array_const_0D0 in translation. warning: encountered undefined variable array_tmp1 in translation. warning: encountered undefined variable glob_h in translation. warning: encountered undefined variable temporary in translation. warning: encountered undefined variable ats_max_terms in translation. warning: encountered undefined variable array_y2_set_initial in translation. warning: encountered undefined variable array_tmp3 in translation. warning: encountered undefined variable array_tmp4 in translation. warning: encountered undefined variable array_y1_set_initial in translation. warning: encountered undefined variable kkk in translation. warning: encountered undefined variable order_d in translation. warning: encountered undefined variable adj3 in translation. warning: encountered undefined variable adj2 in translation. modedeclare: [found_h] is not a built-in type; assuming it is a Maxima extension type. modedeclare: false is not a built-in type; assuming it is a Maxima extension type. warning: variable term (declared type [found_h]) assigned type fixnum. warning: encountered undefined variable array_y2_init in translation. warning: variable term (declared type [found_h]) assigned type any. warning: encountered undefined variable array_y1_init in translation. warning: encountered undefined variable array_norms in translation. warning: encountered undefined variable array_fact_1 in translation. warning: encountered undefined variable array_type_pole in translation. warning: encountered undefined variable array_type_real_pole in translation. warning: encountered undefined variable array_type_complex_pole in translation. warning: encountered undefined variable array_tmp0 in translation. warning: encountered undefined variable array_tmp2 in translation. warning: encountered undefined variable array_m1 in translation. warning: variable ord (declared type [found_h]) assigned type fixnum. warning: encountered undefined variable ord in translation. warning: variable ord (declared type [found_h]) assigned type any. warning: encountered undefined variable array_y2_higher_work in translation. warning: encountered undefined variable array_y2_higher_work2 in translation. warning: encountered undefined variable array_y1_higher_work in translation. warning: encountered undefined variable array_y1_higher_work2 in translation. warning: encountered undefined variable array_const_5 in translation. warning: encountered undefined variable array_const_1 in translation. warning: encountered undefined variable array_const_4 in translation. warning: encountered undefined variable glob__m1 in translation. warning: variable iiif (declared type [found_h]) assigned type fixnum. warning: encountered undefined variable iiif in translation. warning: encountered undefined variable ats_max_terms in translation. warning: variable jjjf (declared type [found_h]) assigned type fixnum. warning: encountered undefined variable jjjf in translation. warning: variable jjjf (declared type [found_h]) assigned type any. warning: variable iiif (declared type [found_h]) assigned type any. warning: variable glob_orig_start_sec (declared type convfloat) assigned type any. warning: variable opt_iter (declared type [found_h]) assigned type fixnum. warning: encountered undefined variable always in translation. warning: encountered undefined variable glob__0 in translation. warning: variable glob_large_float (declared type convfloat) assigned type any. warning: variable glob_larger_float (declared type convfloat) assigned type any. warning: variable glob_almost_1 (declared type convfloat) assigned type any. warning: variable x_start (declared type [found_h]) assigned type any. warning: variable x_end (declared type [found_h]) assigned type any. warning: encountered undefined variable x_start in translation. warning: variable glob_max_h (declared type convfloat) assigned type any. warning: variable glob_upper_ratio_limit (declared type convfloat) assigned type any. warning: variable glob_lower_ratio_limit (declared type convfloat) assigned type any. warning: variable glob_h (declared type convfloat) assigned type any. warning: variable glob_display_interval (declared type convfloat) assigned type any. warning: encountered undefined variable glob_h in translation. warning: encountered undefined variable glob_max_minutes in translation. warning: encountered undefined variable glob_max_hours in translation. warning: encountered undefined variable x_end in translation. warning: variable glob_check_sign (declared type convfloat) assigned type any. warning: encountered undefined variable glob_larger_float in translation. warning: variable last_min_pole_est (declared type [found_h]) assigned type convfloat. warning: encountered undefined variable glob_min_h in translation. warning: encountered undefined variable glob_check_sign in translation. warning: encountered undefined variable glob_max_h in translation. warning: encountered undefined variable glob_display_interval in translation. warning: encountered undefined variable glob__10 in translation. warning: variable display_max (declared type [found_h]) assigned type any. warning: encountered undefined variable display_max in translation. warning: variable min_value (declared type [found_h]) assigned type convfloat. warning: variable est_answer (declared type [found_h]) assigned type any. warning: encountered undefined variable est_answer in translation. warning: variable est_needed_step_err (declared type [found_h]) assigned type any. warning: encountered undefined variable est_needed_step_err in translation. warning: encountered undefined variable glob_small_float in translation. warning: variable estimated_step_error (declared type [found_h]) assigned type convfloat. warning: encountered undefined variable opt_iter in translation. warning: encountered undefined variable found_h in translation. warning: variable glob_next_display (declared type convfloat) assigned type any. warning: variable order_diff (declared type [found_h]) assigned type fixnum. warning: variable term_no (declared type [found_h]) assigned type fixnum. warning: encountered undefined variable order_diff in translation. warning: variable term_no (declared type [found_h]) assigned type any. warning: variable r_order (declared type [found_h]) assigned type fixnum. warning: encountered undefined variable r_order in translation. warning: encountered undefined variable rows in translation. warning: variable it (declared type [found_h]) assigned type any. warning: encountered undefined variable it in translation. warning: variable r_order (declared type [found_h]) assigned type any. warning: encountered undefined variable glob_subiter_method in translation. warning: variable subiter (declared type [found_h]) assigned type fixnum. warning: encountered undefined variable subiter in translation. warning: variable subiter (declared type [found_h]) assigned type any. warning: encountered undefined variable glob_look_poles in translation. warning: variable estimated_step_error (declared type [found_h]) assigned type any. warning: encountered undefined variable estimated_step_error in translation. warning: encountered undefined variable glob__2 in translation. warning: variable opt_iter (declared type [found_h]) assigned type any. warning: encountered undefined variable glob_optimize in translation. warning: variable html_log_file (declared type [found_h]) assigned type any. warning: encountered undefined variable glob_html_log in translation. warning: variable current_iter (declared type [found_h]) assigned type fixnum. warning: variable glob_clock_start_sec (declared type convfloat) assigned type any. warning: variable glob_clock_sec (declared type convfloat) assigned type any. warning: encountered undefined variable debugl in translation. warning: variable glob_optimal_clock_start_sec (declared type convfloat) assigned type any. warning: encountered undefined variable glob_iter in translation. warning: encountered undefined variable glob_max_iter in translation. warning: encountered undefined variable glob_clock_sec in translation. warning: encountered undefined variable glob_orig_start_sec in translation. warning: encountered undefined variable glob_max_sec in translation. warning: encountered undefined variable info in translation. warning: encountered undefined variable current_iter in translation. warning: encountered undefined variable glob_next_display in translation. warning: variable calc_term (declared type [found_h]) assigned type fixnum. warning: variable iii (declared type [found_h]) assigned type fixnum. warning: encountered undefined variable calc_term in translation. warning: variable iii (declared type [found_h]) assigned type any. warning: variable temp_sum (declared type [found_h]) assigned type convfloat. warning: encountered undefined variable temp_sum in translation. warning: variable temp_sum (declared type [found_h]) assigned type any. warning: encountered undefined variable html_log_file in translation. warning: encountered undefined variable glob_desired_digits_correct in translation. warning: encountered undefined variable glob_min_good_digits in translation. warning: encountered undefined variable glob_good_digits in translation. warning: encountered undefined variable glob_type_given_pole in translation. warning: encountered undefined variable glob_least_given_sing in translation. warning: encountered undefined variable glob_least_ratio_sing in translation. warning: encountered undefined variable glob_large_float in translation. warning: encountered undefined variable glob_least_3_sing in translation. warning: encountered undefined variable glob_least_6_sing in translation. warning: encountered undefined variable glob_total_exp_sec in translation. warning: encountered undefined variable glob_percent_done in translation. warning: encountered undefined variable glob__100 in translation. WARNING: in $MAIN_PROG : |$Digits| is neither declared nor bound, it will be treated as if it were declared SPECIAL. WARNING: in $MAIN_PROG : $MAX_TERMS is neither declared nor bound, it will be treated as if it were declared SPECIAL. WARNING: in $MAIN_PROG : $GLOB_DISPLAY_FLAG is neither declared nor bound, it will be treated as if it were declared SPECIAL. WARNING: in $MAIN_PROG : $GLOB_NO_EQS is neither declared nor bound, it will be treated as if it were declared SPECIAL. WARNING: in $MAIN_PROG : $GLOB_UNCHANGED_H_CNT is neither declared nor bound, it will be treated as if it were declared SPECIAL. WARNING: in $MAIN_PROG : $GLOB_WARNED is neither declared nor bound, it will be treated as if it were declared SPECIAL. WARNING: in $MAIN_PROG : $GLOB_WARNED2 is neither declared nor bound, it will be treated as if it were declared SPECIAL. WARNING: in $MAIN_PROG : $GLOB_SMALLISH_FLOAT is neither declared nor bound, it will be treated as if it were declared SPECIAL. WARNING: in $MAIN_PROG : $GLOB_ALMOST_1 is neither declared nor bound, it will be treated as if it were declared SPECIAL. WARNING: in $MAIN_PROG : $GLOB_LAST_GOOD_H is neither declared nor bound, it will be treated as if it were declared SPECIAL. WARNING: in $MAIN_PROG : $GLOB__PI is neither declared nor bound, it will be treated as if it were declared SPECIAL. WARNING: in $MAIN_PROG : $LAST_MIN_POLE_EST is neither declared nor bound, it will be treated as if it were declared SPECIAL. WARNING: in $MAIN_PROG : $MIN_VALUE is neither declared nor bound, it will be treated as if it were declared SPECIAL. WARNING: in $MAIN_PROG : $GLOB_REACHED_OPTIMAL_H is neither declared nor bound, it will be treated as if it were declared SPECIAL. "##############ECHO OF PROBLEM#################" "##############temp/mtest7postode.ode#################" "diff ( y2 , x , 5 ) = y1 ; " "diff ( y1 , x , 1 ) = neg ( diff ( y2 , x , 4 ) ) ; " "!" "/* BEGIN FIRST INPUT BLOCK */" "Digits:64," "max_terms:40," "!" "/* END FIRST INPUT BLOCK */" "/* BEGIN SECOND INPUT BLOCK */" "x_start:c(0.1)," "x_end:c(0.7)," "" "" "" "array_y1_init[0 + 1] : exact_soln_y1(x_start)," "array_y2_init[0 + 1] : exact_soln_y2(x_start)," "array_y2_init[1 + 1] : exact_soln_y2p(x_start)," "array_y2_init[2 + 1] : exact_soln_y2pp(x_start)," "array_y2_init[3 + 1] : exact_soln_y2ppp(x_start)," "array_y2_init[4 + 1] : exact_soln_y2pppp(x_start)," "glob_look_poles:true," "glob_max_h:c(0.1)," "" "" "" "" "" "" "" "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_y1 (x) := (block(" " ( cos(c(x)) ) " "));" "exact_soln_y2 (x) := (block(" " ( sin(c(x)) + c(10.0) * c(x) + c(10.0)) " "));" "exact_soln_y2p (x) := (block(" " ( cos(c(x)) + c(10.0)) " "));" "exact_soln_y2pp (x) := (block(" " ( neg(sin(c(x)))) " "));" "exact_soln_y2ppp (x) := (block(" " ( neg(cos(c(x)))) " "));" "exact_soln_y2pppp (x) := (block(" " ( sin(c(x))) " "));" "" "/* END USER DEF BLOCK */" "#######END OF ECHO OF PROBLEM#################" "START of Soultion" " " "TOP MAIN SOLVE Loop" x[1] = 0.1 " " y2[1] (closed_form) = 11.099833416646828 " " y2[1] (numeric) = 11.099833416646828 " " absolute error = 0.0 " " relative error = 0.0 "%" Desired digits = 8 Estimated correct digits = 14 Correct digits = 16 h = 1.000E-3 " " y1[1] (closed_form) = 0.9950041652780258 " " y1[1] (numeric) = 0.9950041652780258 " " absolute error = 0.0 " " relative error = 0.0 "%" Desired digits = 8 Estimated correct digits = 14 Correct digits = 16 h = 1.000E-3 " " " " "TOP MAIN SOLVE Loop" x[1] = 0.11000000000000001 " " y2[1] (closed_form) = 11.209778300837176 " " y2[1] (numeric) = 11.209778300837176 " " absolute error = 0.0 " " relative error = 0.0 "%" Desired digits = 8 Estimated correct digits = 14 Correct digits = 16 h = 1.000E-3 " " y1[1] (closed_form) = 0.9939560979566968 " " y1[1] (numeric) = 0.9939560979566969 " " absolute error = 1.11022302462515650000000000000000E-16 " " relative error = 1.116973905494893400000000000000E-14 "%" Desired digits = 8 Estimated correct digits = 14 Correct digits = 17 h = 1.000E-3 " " " " "TOP MAIN SOLVE Loop" x[1] = 0.12000000000000002 " " y2[1] (closed_form) = 11.31971220728892 " " y2[1] (numeric) = 11.319712207288921 " " absolute error = 1.7763568394002505000000000000000E-15 " " relative error = 1.56925971868474700000000000000E-14 "%" Desired digits = 8 Estimated correct digits = 14 Correct digits = 17 h = 1.000E-3 " " y1[1] (closed_form) = 0.9928086358538663 " " y1[1] (numeric) = 0.9928086358538663 " " absolute error = 0.0 " " relative error = 0.0 "%" Desired digits = 8 Estimated correct digits = 14 Correct digits = 16 h = 1.000E-3 " " " " "TOP MAIN SOLVE Loop" x[1] = 0.13000000000000003 " " y2[1] (closed_form) = 11.429634142619696 " " y2[1] (numeric) = 11.429634142619694 " " absolute error = 1.7763568394002505000000000000000E-15 " " relative error = 1.55416771633698690000000000000E-14 "%" Desired digits = 8 Estimated correct digits = 14 Correct digits = 17 h = 1.000E-3 " " y1[1] (closed_form) = 0.9915618937147881 " " y1[1] (numeric) = 0.9915618937147881 " " absolute error = 0.0 " " relative error = 0.0 "%" Desired digits = 8 Estimated correct digits = 14 Correct digits = 16 h = 1.000E-3 " " " " "TOP MAIN SOLVE Loop" x[1] = 0.14000000000000004 " " y2[1] (closed_form) = 11.539543114644237 " " y2[1] (numeric) = 11.539543114644236 " " absolute error = 1.7763568394002505000000000000000E-15 " " relative error = 1.539364965971631600000000000000E-14 "%" Desired digits = 8 Estimated correct digits = 14 Correct digits = 17 h = 1.000E-3 " " y1[1] (closed_form) = 0.9902159962126371 " " y1[1] (numeric) = 0.9902159962126372 " " absolute error = 1.11022302462515650000000000000000E-16 " " relative error = 1.121192779021466400000000000000E-14 "%" Desired digits = 8 Estimated correct digits = 14 Correct digits = 17 h = 1.000E-3 " " " " "TOP MAIN SOLVE Loop" x[1] = 0.15000000000000005 " " y2[1] (closed_form) = 11.6494381324736 " " y2[1] (numeric) = 11.6494381324736 " " absolute error = 0.0 " " relative error = 0.0 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 16 h = 1.000E-3 " " y1[1] (closed_form) = 0.9887710779360422 " " y1[1] (numeric) = 0.9887710779360421 " " absolute error = 1.11022302462515650000000000000000E-16 " " relative error = 1.122831208759294100000000000000E-14 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 17 h = 1.000E-3 " " " " "TOP MAIN SOLVE Loop" x[1] = 0.16000000000000006 " " y2[1] (closed_form) = 11.759318206614246 " " y2[1] (numeric) = 11.759318206614248 " " absolute error = 1.7763568394002505000000000000000E-15 " " relative error = 1.510595094196112200000000000000E-14 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 17 h = 1.000E-3 " " y1[1] (closed_form) = 0.9872272833756269 " " y1[1] (numeric) = 0.9872272833756267 " " absolute error = 2.2204460492503130000000000000000E-16 " " relative error = 2.249174112832397000000000000000E-14 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 17 h = 1.000E-3 " " " " "TOP MAIN SOLVE Loop" x[1] = 0.17000000000000007 " " y2[1] (closed_form) = 11.869182349066996 " " y2[1] (numeric) = 11.869182349066996 " " absolute error = 0.0 " " relative error = 0.0 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 16 h = 1.000E-3 " " y1[1] (closed_form) = 0.9855847669095607 " " y1[1] (numeric) = 0.9855847669095603 " " absolute error = 3.33066907387546960000000000000000E-16 " " relative error = 3.37938367728556730000000000000E-14 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 17 h = 1.000E-3 " " " " "TOP MAIN SOLVE Loop" x[1] = 0.18000000000000008 " " y2[1] (closed_form) = 11.979029573425825 " " y2[1] (numeric) = 11.979029573425825 " " absolute error = 0.0 " " relative error = 0.0 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 16 h = 1.000E-3 " " y1[1] (closed_form) = 0.9838436927881214 " " y1[1] (numeric) = 0.9838436927881212 " " absolute error = 2.2204460492503130000000000000000E-16 " " relative error = 2.256909370387663300000000000000E-14 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 17 h = 1.000E-3 " " " " "TOP MAIN SOLVE Loop" x[1] = 0.19000000000000009 " " y2[1] (closed_form) = 12.088858894976502 " " y2[1] (numeric) = 12.088858894976502 " " absolute error = 0.0 " " relative error = 0.0 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 16 h = 1.000E-3 " " y1[1] (closed_form) = 0.9820042351172703 " " y1[1] (numeric) = 0.9820042351172701 " " absolute error = 2.2204460492503130000000000000000E-16 " " relative error = 2.26113693795337720000000000000E-14 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 17 h = 1.000E-3 " " " " "TOP MAIN SOLVE Loop" x[1] = 0.2000000000000001 " " y2[1] (closed_form) = 12.198669330795063 " " y2[1] (numeric) = 12.198669330795063 " " absolute error = 0.0 " " relative error = 0.0 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 16 h = 1.000E-3 " " y1[1] (closed_form) = 0.9800665778412416 " " y1[1] (numeric) = 0.9800665778412414 " " absolute error = 2.2204460492503130000000000000000E-16 " " relative error = 2.265607357146299200000000000000E-14 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 17 h = 1.000E-3 " " " " "TOP MAIN SOLVE Loop" x[1] = 0.2100000000000001 " " y2[1] (closed_form) = 12.3084598998461 " " y2[1] (numeric) = 12.308459899846103 " " absolute error = 1.7763568394002505000000000000000E-15 " " relative error = 1.443199924161479600000000000000E-14 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 17 h = 1.000E-3 " " y1[1] (closed_form) = 0.9780309147241483 " " y1[1] (numeric) = 0.978030914724148 " " absolute error = 2.2204460492503130000000000000000E-16 " " relative error = 2.270322968141130200000000000000E-14 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 17 h = 1.000E-3 " " " " "TOP MAIN SOLVE Loop" x[1] = 0.2200000000000001 " " y2[1] (closed_form) = 12.41822962308087 " " y2[1] (numeric) = 12.41822962308087 " " absolute error = 0.0 " " relative error = 0.0 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 16 h = 1.000E-3 " " y1[1] (closed_form) = 0.9758974493306055 " " y1[1] (numeric) = 0.9758974493306055 " " absolute error = 0.0 " " relative error = 0.0 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 16 h = 1.000E-3 " " " " "TOP MAIN SOLVE Loop" x[1] = 0.23000000000000012 " " y2[1] (closed_form) = 12.52797752353519 " " y2[1] (numeric) = 12.52797752353519 " " absolute error = 0.0 " " relative error = 0.0 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 16 h = 1.000E-3 " " y1[1] (closed_form) = 0.9736663950053748 " " y1[1] (numeric) = 0.9736663950053749 " " absolute error = 1.11022302462515650000000000000000E-16 " " relative error = 1.140249915494955500000000000000E-14 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 17 h = 1.000E-3 " " " " "TOP MAIN SOLVE Loop" x[1] = 0.24000000000000013 " " y2[1] (closed_form) = 12.637702626427135 " " y2[1] (numeric) = 12.637702626427135 " " absolute error = 0.0 " " relative error = 0.0 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 16 h = 1.000E-3 " " y1[1] (closed_form) = 0.9713379748520296 " " y1[1] (numeric) = 0.9713379748520296 " " absolute error = 0.0 " " relative error = 0.0 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 16 h = 1.000E-3 " " " " "TOP MAIN SOLVE Loop" x[1] = 0.2500000000000001 " " y2[1] (closed_form) = 12.747403959254523 " " y2[1] (numeric) = 12.747403959254523 " " absolute error = 0.0 " " relative error = 0.0 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 16 h = 1.000E-3 " " y1[1] (closed_form) = 0.9689124217106447 " " y1[1] (numeric) = 0.9689124217106446 " " absolute error = 1.11022302462515650000000000000000E-16 " " relative error = 1.145844556998271800000000000000E-14 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 17 h = 1.000E-3 " " " " "TOP MAIN SOLVE Loop" x[1] = 0.2600000000000001 " " y2[1] (closed_form) = 12.857080551892157 " " y2[1] (numeric) = 12.857080551892153 " " absolute error = 3.552713678800501000000000000000E-15 " " relative error = 2.763235140716026600000000000000E-14 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 17 h = 1.000E-3 " " y1[1] (closed_form) = 0.9663899781345132 " " y1[1] (numeric) = 0.9663899781345132 " " absolute error = 0.0 " " relative error = 0.0 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 16 h = 1.000E-3 " " " " "TOP MAIN SOLVE Loop" x[1] = 0.27000000000000013 " " y2[1] (closed_form) = 12.966731436688832 " " y2[1] (numeric) = 12.966731436688832 " " absolute error = 0.0 " " relative error = 0.0 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 16 h = 1.000E-3 " " y1[1] (closed_form) = 0.9637708963658905 " " y1[1] (numeric) = 0.9637708963658905 " " absolute error = 0.0 " " relative error = 0.0 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 16 h = 1.000E-3 " " " " "TOP MAIN SOLVE Loop" x[1] = 0.28000000000000014 " " y2[1] (closed_form) = 13.076355648564116 " " y2[1] (numeric) = 13.076355648564116 " " absolute error = 0.0 " " relative error = 0.0 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 16 h = 1.000E-3 " " y1[1] (closed_form) = 0.9610554383107709 " " y1[1] (numeric) = 0.961055438310771 " " absolute error = 1.11022302462515650000000000000000E-16 " " relative error = 1.155212259738704300000000000000E-14 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 17 h = 1.000E-3 " " " " "TOP MAIN SOLVE Loop" x[1] = 0.29000000000000015 " " y2[1] (closed_form) = 13.185952225104836 " " y2[1] (numeric) = 13.18595222510484 " " absolute error = 3.552713678800501000000000000000E-15 " " relative error = 2.69431711730038100000000000000E-14 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 17 h = 1.000E-3 " " y1[1] (closed_form) = 0.9582438755126971 " " y1[1] (numeric) = 0.9582438755126974 " " absolute error = 3.33066907387546960000000000000000E-16 " " relative error = 3.475805229742204000000000000000E-14 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 17 h = 1.000E-3 " " " " "TOP MAIN SOLVE Loop" x[1] = 0.30000000000000016 " " y2[1] (closed_form) = 13.295520206661342 " " y2[1] (numeric) = 13.295520206661346 " " absolute error = 3.552713678800501000000000000000E-15 " " relative error = 2.672113331090659000000000000000E-14 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 17 h = 1.000E-3 " " y1[1] (closed_form) = 0.955336489125606 " " y1[1] (numeric) = 0.9553364891256064 " " absolute error = 4.4408920985006260000000000000000E-16 " " relative error = 4.6485109163633600000000000000E-14 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 17 h = 1.000E-3 " " " " "TOP MAIN SOLVE Loop" x[1] = 0.31000000000000016 " " y2[1] (closed_form) = 13.405058636443446 " " y2[1] (numeric) = 13.405058636443451 " " absolute error = 5.329070518200751000000000000000E-15 " " relative error = 3.975417536565606400000000000000E-14 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 17 h = 1.000E-3 " " y1[1] (closed_form) = 0.9523335698857134 " " y1[1] (numeric) = 0.9523335698857137 " " absolute error = 3.33066907387546960000000000000000E-16 " " relative error = 3.497376527717251000000000000000E-14 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 17 h = 1.000E-3 " " " " "TOP MAIN SOLVE Loop" x[1] = 0.3200000000000002 " " y2[1] (closed_form) = 13.514566560616121 " " y2[1] (numeric) = 13.514566560616126 " " absolute error = 5.329070518200751000000000000000E-15 " " relative error = 3.94320490731136100000000000000E-14 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 17 h = 1.000E-3 " " y1[1] (closed_form) = 0.9492354180824408 " " y1[1] (numeric) = 0.9492354180824413 " " absolute error = 4.4408920985006260000000000000000E-16 " " relative error = 4.6783885366095096000000000000E-14 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 17 h = 1.000E-3 " " " " "TOP MAIN SOLVE Loop" x[1] = 0.3300000000000002 " " y2[1] (closed_form) = 13.624043028394869 " " y2[1] (numeric) = 13.624043028394876 " " absolute error = 7.105427357601002000000000000000E-15 " " relative error = 5.215358864319540000000000000000E-14 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 17 h = 1.000E-3 " " y1[1] (closed_form) = 0.9460423435283869 " " y1[1] (numeric) = 0.9460423435283875 " " absolute error = 5.5511151231257830000000000000000E-16 " " relative error = 5.86772374524187200000000000000E-14 "%" Desired digits = 8 Estimated correct digits = 13 Correct digits = 17 h = 1.000E-3 " " "Finished!" "Maximum Time Reached before Solution Completed!" "diff ( y2 , x , 5 ) = y1 ; " "diff ( y1 , x , 1 ) = neg ( diff ( y2 , x , 4 ) ) ; " Iterations = 236 "Total Elapsed Time "= 3 Minutes 1 Seconds "Elapsed Time(since restart) "= 3 Minutes 1 Seconds "Expected Time Remaining "= 4 Minutes 37 Seconds "Optimized Time Remaining "= 4 Minutes 37 Seconds "Expected Total Time "= 7 Minutes 38 Seconds "Time to Timeout "= 0.0 Seconds Percent Done = 39.50000000000003 "%" (%o269) temp/diffeq.mtest7.max