var PLATINUM=0;if(window.is_platinum){PLATINUM=1}function badnumber(a){return(isNaN(a)||!isFinite(a))}function binary_sgn(a){return(a>=0?1:-1)}function cl5_round(c,a){if(a>11){return c}var b=Math.pow(10,a);return Math.round(Math.abs(c)*b)/b*binary_sgn(c)}function trim(a){return a.replace(/^\s+|\s+$/g,"")}var x=0;var y=0;var z=0;var w=0;var last_x=0;var alg_op=0;var decimals=2;var decimal_point_is_comma=0;var stomemory=[];var ram=[];var begin=0;var dmy=0;var compoundf=0;var finmemory=[];var njmemory=[];var algmode=0;var program_mode=0;var instruction_pointer=0;var pushed=0;var gtoxx="";var modifier=0;var do_fincalc=0;var xmode=-1;var error_in_display=0;var ALG_PLUS=1;var ALG_MINUS=2;var ALG_MULTIPLY=3;var ALG_DIVIDE=4;var ALG_POWER=5;var FIN_N=0;var FIN_I=1;var FIN_PV=2;var FIN_PMT=3;var FIN_FV=4;var INTERPOLATION=50;var FF=1;var GG=2;var STO=4;var RCL=8;var STO2=16;var RCL2=32;var RCL_GG=64;var STO_PLUS=128;var STO_MINUS=256;var STO_TIMES=512;var STO_DIVIDE=1024;var GTO=2048;var GTO_MOVE=4096;var STAT_N=1;var STAT_X=2;var STAT_X2=3;var STAT_Y=4;var STAT_Y2=5;var STAT_XY=6;var INTERACTIVE=0;var PROGRAMMING=1;var RUNNING=2;var RUNNING_STEP=3;function clear_fin(){for(var a=0;a<5;++a){finmemory[a]=0}}function clear_statistics(){for(var a=1;a<=6;++a){stomemory[a]=0}}var ram_MAX=100;var ram_ADDR_SIZE=2;var GTO00="43.33.00";var INSTRUCTION_SIZE=2;if(PLATINUM){ram_MAX=400;ram_ADDR_SIZE=3;GTO00="43.33.000"}function clear_prog(){ram[0]="";for(var a=1;a<ram_MAX;++a){ram[a]=GTO00}instruction_pointer=0}var MEM_MAX=20;if(PLATINUM){MEM_MAX=30}function clear_sto(){for(var a=0;a<MEM_MAX;++a){stomemory[a]=0;njmemory[a]=1}}var display;var pointer_div;var dbegin;var ddmyc;var dmodifier;var pgrm;var rpnalg;var lcd=[];var has_lcd=0;var LCD_A=1;var LCD_B=2;var LCD_C=4;var LCD_D=8;var LCD_E=16;var LCD_F=32;var LCD_G=64;var LCD_P=128;var LCD_T=256;function zeropad(a,b){a=""+a;while(a.length<b){a="0"+a}return a}function init_lcd(){if(window.lcd_broken){return}if(!document.getElementById("lcd0a")){return}has_lcd=1;for(var a=0;a<=10;++a){lcd[a]=[];lcd[a][0]=0;lcd[a][lcd[a].length]=document.getElementById("lcd"+a+"a");lcd[a][lcd[a].length]=document.getElementById("lcd"+a+"b");lcd[a][lcd[a].length]=document.getElementById("lcd"+a+"c");lcd[a][lcd[a].length]=document.getElementById("lcd"+a+"d");lcd[a][lcd[a].length]=document.getElementById("lcd"+a+"e");lcd[a][lcd[a].length]=document.getElementById("lcd"+a+"f");lcd[a][lcd[a].length]=document.getElementById("lcd"+a+"g");lcd[a][lcd[a].length]=document.getElementById("lcd"+a+"p");lcd[a][lcd[a].length]=document.getElementById("lcd"+a+"t")}}var lcdmap=[];lcdmap["0"]=LCD_A|LCD_B|LCD_C|LCD_E|LCD_F|LCD_G;lcdmap["1"]=LCD_C|LCD_F;lcdmap["2"]=LCD_A|LCD_C|LCD_D|LCD_E|LCD_G;lcdmap["3"]=LCD_A|LCD_C|LCD_D|LCD_F|LCD_G;lcdmap["4"]=LCD_B|LCD_C|LCD_D|LCD_F;lcdmap["5"]=LCD_A|LCD_B|LCD_D|LCD_F|LCD_G;lcdmap["6"]=LCD_A|LCD_B|LCD_D|LCD_E|LCD_F|LCD_G;lcdmap["7"]=LCD_A|LCD_C|LCD_F;lcdmap["8"]=LCD_A|LCD_B|LCD_C|LCD_D|LCD_E|LCD_F|LCD_G;lcdmap["9"]=LCD_A|LCD_B|LCD_C|LCD_D|LCD_F|LCD_G;lcdmap[" "]=0;lcdmap["."]=LCD_P;lcdmap[","]=LCD_P|LCD_T;lcdmap.r=LCD_A|LCD_B;lcdmap.u=LCD_B|LCD_C|LCD_D;lcdmap.n=LCD_B|LCD_C|LCD_A;lcdmap.i=LCD_B;lcdmap.g=LCD_A|LCD_B|LCD_C|LCD_D|LCD_F|LCD_G;lcdmap["-"]=LCD_D;lcdmap.E=LCD_A|LCD_B|LCD_D|LCD_E|LCD_G;lcdmap.e=LCD_A|LCD_B|LCD_D|LCD_E|LCD_G;lcdmap.O=LCD_D|LCD_E|LCD_F|LCD_G;lcdmap.R=LCD_D|LCD_E;function lcd_display_digit(g,i,h){if(!lcdmap[g]){g=" "}var d=lcdmap[g];var a=lcd[i];var c;var b=1;for(c=1;c<a.length;++c){a[c].style.visibility=(d&b)?"visible":((h&&a[c].style.visibility=="visible")?"visible":"hidden");b<<=1}}function lcd_display(a){var b=-1;for(var d=0;d<a.length&&b<lcd.length;++d){var c=a.charAt(d);++b;if(c=="."||c==","){--b;lcd_display_digit(c,b,1)}else{lcd_display_digit(c,b,0)}}for(++b;b<lcd.length;++b){lcd_display_digit(" ",b,0)}}function lcd_clear(){for(var b=0;b<lcd.length;++b){for(var a=1;a<lcd[b].length;++a){lcd[b][a].style.visibility="hidden"}}}var instruction_table="0123456789_-abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";var addr_prefix="$";function compress_opcode(h){var b="";var a=h.split(".");for(var f=0;f<a.length;++f){var d=a[f];var c=d.length;var g=parseInt(d,10);if(c==INSTRUCTION_SIZE&&g>=0&&g<=49){b+=instruction_table.charAt(g)}else{if(c==ram_ADDR_SIZE){b+=addr_prefix;if(g<64){b+=instruction_table.charAt(g)}else{b+=instruction_table.charAt(Math.floor(g/64));b+=instruction_table.charAt(g%64)}}else{return compress_opcode(GTO00)}}}return b}function decompress_opcode(b){var i="";var d=[];var h;var c=0;var g=0;var a=0;for(var f=0;f<b.length;++f){h=b.charAt(f);if(h==addr_prefix){if((d.length<1)||(g>0)){c=1;break}g=1;continue}ncc=instruction_table.indexOf(h);if(ncc<0){c=1;break}if(g){a=(a*64)+ncc;if(a>=Math.pow(10,ram_ADDR_SIZE)){c=1;break}if(a>=ram_MAX){c=1;break}if(g==1){d.push(zeropad(a,ram_ADDR_SIZE))}else{d[d.length-1]=zeropad(a,ram_ADDR_SIZE)}g+=1}else{if(ncc>49){c=1;break}d.push(zeropad(ncc,INSTRUCTION_SIZE))}}if(c){i=GTO00}else{if(d.length>3||d.length<1){i=GTO00}else{i=d.join(".")}}return i}function assert_compression(){if(PLATINUM){if(compress_opcode("43.33.000")!="Fv$0"){alert("Opcode 43.33.000 compression error: returning "+compress_opcode("43.33.000"));return}if(compress_opcode("43.33.099")!="Fv$1x"){alert("Opcode 43.33.099 compression error: returning "+compress_opcode("43.33.099"));return}if(decompress_opcode(compress_opcode("43.33.000"))!="43.33.000"){alert("Opcode 43.33.000 decompression error: returning "+decompress_opcode(compress_opcode("43.33.000")));return}if(decompress_opcode(compress_opcode("43.33.099"))!="43.33.099"){alert("Opcode 43.33.099 decompression error: returning "+decompress_opcode(compress_opcode("43.33.099")));return}}else{if(compress_opcode("43.33.00")!="Fv0"){alert("Opcode 43.33.00 compression error: returning '"+compress_opcode("43.33.00")+"'");return}if(compress_opcode("43.33.99")!="Fv$1x"){alert("Opcode 43.33.99 compression error: returning "+compress_opcode("43.33.99"));return}if(decompress_opcode(compress_opcode("43.33.00"))!="43.33.00"){alert("Opcode 43.33.00 decompression error: returning "+decompress_opcode(compress_opcode("43.33.00")));return}if(decompress_opcode(compress_opcode("43.33.99"))!="43.33.99"){alert("Opcode 43.33.99 decompression error: returning "+decompress_opcode(compress_opcode("43.33.99")));return}}}function marshal_array(b,e){var c="A"+e;for(var d=0;d<b.length;++d){data=b[d];if(e=="X"){data=compress_opcode(data)}c+="!"+data}return c}function unmarshal_array(g,c){if(c.length<2){return}var f=window[g];var e=c.charAt(1);c=c.slice(3);var b=c.split("!");for(var d=0;d<b.length&&d<f.length;++d){if(e=="N"){f[d]=parseFloat(b[d]);if(badnumber(f[d])){f[d]=0}}else{if(d>0){f[d]=decompress_opcode(b[d])}}}return}function save_memory2(){var a=new Date();a.setTime(a.getTime()+7*24*60*60*1000);var b="hp12c"+(PLATINUM?"pl":"")+"=x:"+x+" y:"+y+" z:"+z+" w:"+w+" last_x:"+last_x+" alg_op:"+alg_op+" algmode:"+algmode+" decimals:"+decimals+" decimal_point_is_comma:"+decimal_point_is_comma+" begin:"+begin+" dmy:"+dmy+" compoundf:"+compoundf+" stomemory:"+marshal_array(stomemory,"N")+" finmemory:"+marshal_array(finmemory,"N")+" njmemory:"+marshal_array(njmemory,"N")+" ram:"+marshal_array(ram,"X")+" ; expires="+a.toGMTString()+"; path=/";return b}function save_memory(){document.cookie=save_memory2()}function recover_memory2(i){var c=i.split(";");for(var d=0;d<c.length;++d){var b=c[d].split("=");if(b.length!=2){continue}b[0]=trim(b[0]);b[1]=trim(b[1]);if(b[0]!=("hp12c"+(PLATINUM?"pl":""))){continue}var h=b[1].split(" ");for(var g=0;g<h.length;++g){var a=h[g].split(":");if(a.length==2&&window[a[0]]!==undefined){if(a[1].length>=2&&a[1].charAt(0)=="A"){unmarshal_array(a[0],a[1])}else{window[a[0]]=parseFloat(a[1]);if(badnumber(window[a[0]])){window[a[0]]=0}}}}}}function recover_memory(){recover_memory2(document.cookie)}function close_hp12c(){if(!close_hp12c.done){save_memory();close_hp12c.done=1}}close_hp12c.done=0;function show(a){if(has_lcd){lcd_display(a)}else{display.innerHTML=a}}var keyboard=0;function cli(){keyboard=0}function sti(){keyboard=1}var display_max=9999999999;var display_min=1e-10;var value_max=9.9999999*Math.pow(10,99);var value_min=Math.pow(10,-99);var display_digits=11;function i18n(a){var c=a.indexOf(".");if(c==-1){a+=".";c=a.length-1}if(decimal_point_is_comma){a=a.slice(0,c)+","+a.slice(c+1)}var b=decimal_point_is_comma?".":",";for(var d=c-3;d>0+(a.charAt(0)=="-"?1:0);d-=3){a=a.slice(0,d)+b+a.slice(d)}return a}function format_result(b){var c="";var e=Math.abs(b);var g=decimals;var d=e>=value_min?Math.floor(Math.log(e)/Math.log(10)):-9999;if(e>display_max){g=100}else{if(e>=value_min&&d<-9){g=100}else{if(e>=value_min&&g<(-d)){g=-d}}}if(g==100){if(e<value_min){c=i18n("0")}else{var a=b/Math.pow(10,d);if(d<0){c=i18n(a.toFixed(6))+"-"+zeropad((-d).toFixed(0),2)}else{c=i18n(a.toFixed(6))+" "+zeropad(d.toFixed(0),2)}}}else{var h=Math.max(0,g);var f=b.toFixed(h).length-(h>0?1:0);if(f>display_digits){h-=(f-display_digits);h=Math.max(0,h)}c=i18n(b.toFixed(h))}return c}function displayX3(){if(isNaN(x)){x=0}else{if(x>value_max){x=value_max}else{if(x<-value_max){x=-value_max}else{if(Math.abs(x)<value_min){x=0}}}}if(xmode<0){var a=format_result(x);show(a)}else{if(xmode<100){var f=Math.max(0,xmode-1);var d=x.toFixed(f).length-(f>0?1:0);if(d>display_digits){f-=(d-display_digits);f=Math.max(0,f)}show(i18n(x.toFixed(f)))}else{if(x===0){show(i18n("0"))}else{var e=Math.abs(x);var c=Math.floor(Math.log(e)/Math.log(10));var b=x/Math.pow(10,c);if(c<0){show(i18n(b.toFixed(6))+"-"+zeropad((-c).toFixed(0),2))}else{show(i18n(b.toFixed(6))+" "+zeropad(c.toFixed(0),2))}}}}}function displayX2(){sti();displayX3()}function displayX(){cli();show("");window.setTimeout(displayX2,25)}function display_result(){xmode=-1;pushed=0;displayX()}function prog_pse2(){sti();display_result()}function prog_pse(){cli();window.setTimeout(prog_pse2,1000)}function toogle_decimal_character(){decimal_point_is_comma=decimal_point_is_comma?0:1;display_result()}function date_gen(a){if(dmy){return a.getDate()+(a.getMonth()+1)/100+a.getFullYear()/1000000}else{return(a.getMonth()+1)+a.getDate()/100+a.getFullYear()/1000000}}function date_show(a){var b=a.getDay();if(b===0){b=7}return date_gen(a).toFixed(6)+"  "+b}function display_result_date(a){xmode=-1;pushed=0;show(date_show(a))}function clear_reg(){alg_op=last_x=x=y=z=w=0;clear_fin();clear_sto()}function display_pgrm(){var a="";if(program_mode==PROGRAMMING){a="PGRM"}else{if(program_mode>=RUNNING){a="RUN "+zeropad(instruction_pointer.toFixed(0),2)}}pgrm.innerHTML=a}function display_algmode(){if(PLATINUM){var a=(algmode?"ALG":"RPN");rpnalg.innerHTML=a}}function display_error(a){show("ERROR "+a);xmode=-1;if(program_mode>=RUNNING){program_mode=INTERACTIVE;instruction_pointer=0;display_pgrm()}error_in_display=1}function display_modifier2(b){var a="";if(b==FF){a="f"}else{if(b==GG){a="g"}else{if(b==STO){a="STO"}else{if(b==STO2){a="STO★"}else{if(b==RCL){a="RCL"}else{if(b==RCL2){a="RCL★"}else{if(b==RCL_GG){a="RCL g"}else{if(b==STO_PLUS){a="STO+"}else{if(b==STO_MINUS){a="STO-"}else{if(b==STO_TIMES){a="STO×"}else{if(b==STO_DIVIDE){a="STO÷"}else{if(b==GTO){a="GTO"}else{if(b==GTO_MOVE){a="GTO★"}}}}}}}}}}}}}dmodifier.innerHTML=a}function display_modifier(){display_modifier2(modifier)}function display_begin(){var a="";if(begin){a="BEGIN"}dbegin.innerHTML=a}function display_dmyc(){var a="";if(dmy){a+="D.MY"}if(compoundf){a+="&nbsp;&nbsp;C"}ddmyc.innerHTML=a}function set_dmy(a){dmy=a;display_dmyc();display_result()}function rpn_mode(){algmode=0;alg_op=0;display_algmode();display_result()}function algebraic_mode(){algmode=1;alg_op=0;display_algmode();display_result()}function toogle_compoundf(){compoundf=compoundf?0:1;display_dmyc();display_result()}function set_begin(a){begin=a;display_begin();display_result()}function set_modifier(a,b){modifier=a;display_modifier()}function set_decimals(a){decimals=a;display_result()}function set_decimals_exponential(){decimals=100;display_result()}function rst_modifier(a){if(a){do_fincalc=0}set_modifier(0,a)}function push(){w=z;z=y;y=x;pushed=1}function digit_add(e){var b;if(xmode==-1){if(!pushed){push()}xmode=0;x=e}else{if(xmode===0){b=binary_sgn(x);x=Math.abs(x);if(x<display_max){x=Math.floor(x)*10+e}x=b*x}else{if(xmode<=15){b=binary_sgn(x);x=Math.abs(x);x+=e/Math.pow(10,xmode);x=b*x;++xmode}else{if(xmode==100){var c=Math.floor(Math.log(Math.abs(x))/Math.log(10));var a=x/Math.pow(10,c);c=(c*10+e)%100;x=a*Math.pow(10,c)}}}}displayX()}function digit_delete(){var b;if(xmode==-1){return}if(xmode===0){b=binary_sgn(x);x=Math.abs(x);x=Math.floor(x/10);x=b*x}else{if(xmode==1){xmode=0;b=binary_sgn(x);x=b*Math.floor(Math.abs(x))}else{if(xmode<=15){b=binary_sgn(x);x=Math.abs(x);x=Math.floor(x*Math.pow(10,xmode-2));x=x/Math.pow(10,xmode-2);x=b*x;--xmode}else{if(xmode==100){var c=Math.floor(Math.log(Math.abs(x))/Math.log(10));var a=x/Math.pow(10,c);x=a;xmode=6;var d=x.toFixed(xmode);x=parseFloat(d)}}}}displayX()}function input_exponential(){if(xmode==-1){if(!pushed){push()}x=1}else{if(xmode!=100){if(Math.abs(x)<value_min){x=1}}}xmode=100;displayX()}function decimal_point_mode(){if(xmode==-1){if(!pushed){push()}xmode=1;x=0}else{if(xmode<=0){xmode=1}}displayX()}function chs(){if(xmode==-1){x=-x;display_result()}else{if(xmode==100){var b=Math.floor(Math.log(Math.abs(x))/Math.log(10));var a=x/Math.pow(10,b);x=a*Math.pow(10,-b);displayX()}else{x=-x;displayX()}}}function pop(){x=y;y=z;z=w}function save_lastx(){if(!algmode){last_x=x}}function lstx(){push();x=last_x;display_result()}function clear_prefix2(){sti();display_result()}function clear_prefix(){cli();var a=decimals;decimals=display_digits+1;displayX3();decimals=a;setTimeout(clear_prefix2,1000)}function x_exchange_y(){var a=x;x=y;y=a;display_result()}function r_down(){var a=x;x=y;y=z;z=w;w=a;display_result()}function clx(){x=0;display_result();pushed=1}function arithmetic(a){save_lastx();pop();x=a;display_result()}function alg_resolve(){var b;var a=1;if((!algmode)||(alg_op<=0)){return a}rst_modifier(1);if(alg_op==ALG_PLUS){arithmetic(y+x)}else{if(alg_op==ALG_MINUS){arithmetic(y-x)}else{if(alg_op==ALG_MULTIPLY){arithmetic(y*x)}else{if(alg_op==ALG_DIVIDE){b=y/x;if(badnumber(b)){display_error(0);a=0}else{arithmetic(b)}}else{if(alg_op==ALG_POWER){b=Math.pow(y,x);if(badnumber(b)){display_error(0);a=0}else{arithmetic(b)}}}}}}alg_op=0;return a}function enter(a){if(algmode&&alg_op){alg_resolve()}else{if(!algmode||!a){push();display_result();pushed=1}else{display_result()}}}function plus(){if(algmode){if(!alg_resolve()){return}alg_op=ALG_PLUS;push();display_result()}else{arithmetic(y+x)}}function minus(){if(algmode){if(!alg_resolve()){return}alg_op=ALG_MINUS;push();display_result()}else{arithmetic(y-x)}}function multiply(){if(algmode){if(!alg_resolve()){return}alg_op=ALG_MULTIPLY;push();display_result()}else{arithmetic(y*x)}}function divide(){if(algmode){if(!alg_resolve()){return}alg_op=ALG_DIVIDE;push();display_result()}else{var a=y/x;if(badnumber(a)){display_error(0)}else{arithmetic(a)}}}function poweryx(){if(algmode){if(!alg_resolve()){return}alg_op=ALG_POWER;push();display_result()}else{var a=Math.pow(y,x);if(badnumber(a)){display_error(0)}else{arithmetic(a)}}}function inverse(){var a=1/x;if(badnumber(a)){display_error(0)}else{save_lastx();x=a;display_result()}}function square(){var a=Math.pow(x,2);if(badnumber(a)){display_error(0)}else{save_lastx();x=a;display_result()}}function sqroot(){var a=Math.pow(x,0.5);if(badnumber(a)){display_error(0)}else{save_lastx();x=a;display_result()}}function exp(){var a=Math.exp(x);if(badnumber(a)){display_error(0)}else{save_lastx();x=a;display_result()}}function ln(){var a=Math.log(x);if(badnumber(a)){display_error(0)}else{save_lastx();x=a;display_result()}}function intg(){save_lastx();x=Math.floor(Math.abs(x))*binary_sgn(x);display_result()}function rnd(){save_lastx();x=cl5_round(x,decimals);display_result()}function fatorial(){if(x<0||x!=Math.floor(x)||x>80){display_error(0)}else{save_lastx();var a=1;for(var b=2;b<=x;++b){a*=b}x=a;display_result()}}function frac(){save_lastx();x=(Math.abs(x)-Math.floor(Math.abs(x)))*binary_sgn(x);display_result()}function percent(){var a=y*x/100;if(badnumber(a)){display_error(0)}else{save_lastx();x=a;display_result()}}function percentT(){if(!alg_resolve()){return}var a=100*x/y;if(badnumber(a)){display_error(0)}else{save_lastx();x=a;display_result()}}function deltapercent(){if(!alg_resolve()){return}var a=100*(x/y)-100;if(badnumber(a)){display_error(0)}else{save_lastx();x=a;display_result()}}function sto(a){stomemory[a]=x;display_result()}function stoinfix(d,c){var b=stomemory[d];if(c==STO_PLUS){b+=x}else{if(c==STO_MINUS){b-=x}else{if(c==STO_TIMES){b*=x}else{if(c==STO_DIVIDE){b/=x;if(badnumber(b)){display_error(0);return}}}}}if(Math.abs(b)>value_max){display_error(1);return}stomemory[d]=b;display_result()}function stoCF0(){stomemory[0]=x;finmemory[FIN_N]=0;display_result()}function stoCFj(){if(finmemory[FIN_N]!=Math.floor(finmemory[FIN_N])||finmemory[FIN_N]<0||finmemory[FIN_N]>=MEM_MAX){display_error(6)}else{finmemory[FIN_N]++;stomemory[finmemory[FIN_N]]=x;njmemory[finmemory[FIN_N]]=1;display_result()}}function rclCFj(){if(finmemory[FIN_N]<0||finmemory[FIN_N]>=MEM_MAX||Math.floor(finmemory[FIN_N])!=finmemory[FIN_N]){display_error(6)}else{push();x=stomemory[finmemory[FIN_N]];--finmemory[FIN_N];display_result()}}function rclNj(){if(finmemory[FIN_N]<0||finmemory[FIN_N]>=MEM_MAX||Math.floor(finmemory[FIN_N])!=finmemory[FIN_N]){display_error(6)}else{push();x=njmemory[finmemory[FIN_N]];display_result()}}function stoNj(){if(finmemory[FIN_N]!=Math.floor(finmemory[FIN_N])||finmemory[FIN_N]<0||finmemory[FIN_N]>=MEM_MAX||x!=Math.floor(x)||x<=0){display_error(6)}else{njmemory[finmemory[FIN_N]]=x;display_result()}}function stofin(a){finmemory[a]=x;display_result();pushed=1}function ston_12x(){var a=x*12;if(Math.abs(a)>value_max){display_error(1);return}x=a;stofin(0)}function stoi_12div(){x/=12;stofin(1)}function rcl(a){push();x=stomemory[a];display_result()}function rclfin(a){push();x=finmemory[a];display_result()}function stat_sigma_plus(){if(!alg_resolve()){return}++stomemory[STAT_N];stomemory[STAT_X]+=x;stomemory[STAT_X2]+=x*x;stomemory[STAT_Y]+=y;stomemory[STAT_Y2]+=y*y;stomemory[STAT_XY]+=x*y;save_lastx();x=stomemory[STAT_N];display_result();pushed=1}function stat_sigma_minus(){if(!alg_resolve()){return}--stomemory[STAT_N];stomemory[STAT_X]-=x;stomemory[STAT_X2]-=x*x;stomemory[STAT_Y]-=y;stomemory[STAT_Y2]-=y*y;stomemory[STAT_XY]-=x*y;save_lastx();x=stomemory[STAT_N];display_result();pushed=1}function stat_avgw(){alg_op=0;if(stomemory[STAT_X]===0){display_error(2)}else{save_lastx();x=stomemory[STAT_XY]/stomemory[STAT_X];display_result()}}function stat_avg(){alg_op=0;if(stomemory[STAT_N]===0){display_error(2)}else{save_lastx();x=stomemory[STAT_X]/stomemory[STAT_N];y=stomemory[STAT_Y]/stomemory[STAT_N];display_result()}}function stat_stddev(){alg_op=0;if(stomemory[STAT_N]<=1||(stomemory[STAT_N]*stomemory[STAT_X2]-stomemory[STAT_X]*stomemory[STAT_X])<0||(stomemory[STAT_N]*stomemory[STAT_Y2]-stomemory[STAT_Y]*stomemory[STAT_Y])<0){display_error(2)}else{save_lastx();x=Math.pow((stomemory[STAT_N]*stomemory[STAT_X2]-stomemory[STAT_X]*stomemory[STAT_X])/(stomemory[STAT_N]*(stomemory[STAT_N]-1)),0.5);y=Math.pow((stomemory[STAT_N]*stomemory[STAT_Y2]-stomemory[STAT_Y]*stomemory[STAT_Y])/(stomemory[STAT_N]*(stomemory[STAT_N]-1)),0.5);display_result()}}function stat_kr(h,b){if(stomemory[STAT_N]<=0){return[0,1]}if(h){if((stomemory[STAT_N]*stomemory[STAT_X2]-stomemory[STAT_X]*stomemory[STAT_X])<0){return[0,2]}}else{if((stomemory[STAT_N]*stomemory[STAT_Y2]-stomemory[STAT_Y]*stomemory[STAT_Y])<0){return[0,3]}}var g=stomemory[STAT_X]/stomemory[STAT_N];var f=stomemory[STAT_Y]/stomemory[STAT_N];var d=stomemory[STAT_XY]-stomemory[STAT_X]*stomemory[STAT_Y]/stomemory[STAT_N];d/=stomemory[STAT_X2]-stomemory[STAT_X]*stomemory[STAT_X]/stomemory[STAT_N];if(badnumber(d)){return[0,4]}var e=f-d*g;var m=stomemory[STAT_XY]-stomemory[STAT_X]*stomemory[STAT_Y]/stomemory[STAT_N];m*=m;var l=stomemory[STAT_X2]-stomemory[STAT_X]*stomemory[STAT_X]/stomemory[STAT_N];var k=stomemory[STAT_Y2]-stomemory[STAT_Y]*stomemory[STAT_Y]/stomemory[STAT_N];if(l===0||k===0){return[0,5]}var i=m/(l*k);if(badnumber(i)||i<0){return[0,6]}var a=Math.pow(i,0.5);var j;if(h){if(d===0){return[0,7]}j=(b-e)/d}else{j=e+d*b}if(badnumber(j)){return[0,8]}return[1,j,a]}function stat_lr(b){alg_op=0;var a=stat_kr(b,x);if(!a[0]){display_error(2)}else{save_lastx();push();push();x=a[1];y=a[2];display_result()}}function simple_interest(){if(!alg_resolve()){return}var c=finmemory[FIN_N];var a=finmemory[FIN_I]/100;var b=finmemory[FIN_PV];push();push();push();x=c/360*-b*a;y=-b;z=c/365*-b*a;display_result()}function remap_key(b){var c=b+11;var a=(c%10);if(a===0){c-=10}var d=Math.floor(c/10);if(c==47){c=0}else{if(a>=7&&a<=9&&c!=48&&c!=49){c=a-3*(d-1)}}if(c==46){c=36}return c}var memwin=null;function show_memory2(){if(!memwin||!memwin.document){memwin=null;return}var b=memwin.document;var a=new Date();var d=b.getElementById("tt");var c;if(d){d.innerHTML="HP-12C memory at "+a;for(c=0;c<finmemory.length;++c){b.getElementById("finmemory"+c).innerHTML=format_result(finmemory[c])}for(c=0;c<stomemory.length;++c){b.getElementById("stomemory"+c).innerHTML=format_result(stomemory[c])}for(c=0;c<njmemory.length;++c){b.getElementById("njmemory"+c).innerHTML=format_result(njmemory[c])}b.getElementById("x").innerHTML=format_result(x);b.getElementById("last_x").innerHTML=format_result(last_x);b.getElementById("y").innerHTML=format_result(y);b.getElementById("z").innerHTML=format_result(z);b.getElementById("w").innerHTML=format_result(w);for(c=0;c<ram.length;++c){b.getElementById("ram"+c).innerHTML=ram[c]}}window.setTimeout(show_memory2,1000)}function show_memory(){memwin=window.open("hp12c"+(PLATINUM?"-platinum":"")+"_memory.html");window.setTimeout(show_memory2,1000)}function solve_infinity(a){if(a>Math.pow(10,95)){a=Math.pow(10,95)}else{if(a<-Math.pow(10,95)){a=-Math.pow(10,95)}}return a}function comppmtlim(a,b){if(Math.abs(a)<1e-8){return b}else{return(1-Math.pow(1+(a/100),-b))/(a/100)}}function calcNPV(e){var f=finmemory[FIN_N];var a=finmemory[FIN_I];var c=finmemory[FIN_PV];var b=finmemory[FIN_PMT];var d=finmemory[FIN_FV];if(f==Math.floor(f)||e){return c+(1+(a/100)*(begin?1:0))*b*comppmtlim(a,f)+d*Math.pow(1+(a/100),-f)}else{if(!compoundf){return c*(1+((a/100)*(f-Math.floor(f))))+(1+(a/100)*(begin?1:0))*b*comppmtlim(a,Math.floor(f))+d*Math.pow(1+(a/100),-Math.floor(f))}else{return c*Math.pow(1+(a/100),(f-Math.floor(f)))+(1+(a/100)*(begin?1:0))*b*comppmtlim(a,Math.floor(f))+d*Math.pow(1+(a/100),-Math.floor(f))}}}function financecalc(l){var f=0;if(l===0){f=f||finmemory[FIN_I]<=-100}else{if(l==2){f=f||finmemory[FIN_I]<=-100}else{if(l==3){f=f||finmemory[FIN_I]<=-100;f=f||finmemory[FIN_N]===0}else{if(l==4){f=f||finmemory[FIN_I]<=-100}}}}if(f){return 5}var i;var a;var j;var e;var d;var k=finmemory[l];var c=INTERPOLATION;var g=1.25e-10;var b=0;if(l!=FIN_PV){b+=Math.abs(finmemory[FIN_PV])}if(l!=FIN_PMT){b+=Math.abs(finmemory[FIN_PMT])}if(l!=FIN_N&&l!=FIN_PMT){b+=Math.abs(finmemory[FIN_N]*finmemory[FIN_PMT])}if(l!=FIN_FV){b+=Math.abs(finmemory[FIN_FV])}if(b>0){g*=b}if(l==FIN_N||l==FIN_I||b<=0){d=1}else{d=b}j=0;while(--c>=0){e=d;d=j;finmemory[l]=e;if(finmemory[FIN_I]<=-100){break}i=calcNPV(l===0);finmemory[l]=d;if(finmemory[FIN_I]<=-100){break}a=calcNPV(l===0);if(Math.abs(a)<g){if(l===0){if((d-Math.floor(d))>0.003){finmemory[l]=Math.floor(finmemory[l])+1}else{finmemory[l]=Math.floor(finmemory[l])}}return -1}var h=(a-i)/(d-e);j=i-e*h;j/=-h;j=solve_infinity(j)}finmemory[l]=k;return 5}function fincalc2(b){sti();var a=financecalc(b,finmemory);if(a==-1){push();x=finmemory[b];display_result()}else{display_error(a)}}function sto_or_calc_fin(a){if(!alg_resolve()){return}if(!do_fincalc){stofin(a);do_fincalc=1}else{cli();show("running");window.setTimeout(function(){fincalc2(a)},200)}}function inner_npv(){var b=stomemory[0];var j=finmemory[FIN_N];var a=finmemory[FIN_I];var c=0;for(var h=1;h<=j;++h){var g=stomemory[h];for(var d=1;d<=njmemory[h];++d){++c;b+=g/Math.pow(1+(a/100),c)}}return b}function npv(){alg_op=0;x=inner_npv();display_result()}function inner_npvsum(){var a=Math.abs(stomemory[0]);var c=finmemory[FIN_N];for(var b=1;b<=c;++b){a+=Math.abs(stomemory[b])}return a}function inner_irr(){var h;var a;var i;var e;var c;var d=INTERPOLATION;var f=1.25e-10;var b=inner_npvsum();if(b>0){f*=b}if(finmemory[FIN_I]<=-100||finmemory[FIN_I]>10000000000){finmemory[FIN_I]=0}e=finmemory[FIN_I]+1;c=finmemory[FIN_I];while(--d>0){finmemory[FIN_I]=e;h=inner_npv();finmemory[FIN_I]=c;a=inner_npv();if(finmemory[FIN_I]<-100||finmemory[FIN_I]>10000000000){return 3}if(Math.abs(a)<f){return -1}var g=(a-h)/(c-e);i=h-e*g;i/=-g;i=solve_infinity(i);e=c;c=i}return 7}function irr(){alg_op=0;show("running");var a=inner_irr();if(a!=-1){display_error(a)}else{push();x=finmemory[FIN_I];display_result()}}function tzoffset(a){return a.getTimezoneOffset()*60000}function date_check(c,d,b){var a=31;if(d==4||d==6||d==9||d==11){a=30}else{if(d==2){a=28;if((c%4)===0&&(((c%100)!==0)||((c%400)===0))){a=29}}}if(b<=0||b>a||c<=0||c>9999||d<=0||d>12){return 0}return 1}function date_interpret(e){e=Math.round(Math.abs(e)*1000000);var a=Math.round(e/1000000)%100;var d=Math.round(e/10000)%100;var c=Math.round(e%10000);if(!dmy){var b=a;a=d;d=b}if(!date_check(c,d,a)){return null}return new Date(c,d-1,a,12,0,0)}function date_diff(b,a){return Math.round(((a.getTime()-tzoffset(a))-(b.getTime()-tzoffset(b)))/86400000)}function date_add(a,b){a.setTime(a.getTime()+Math.floor(b)*86400000)}function date_diff30(h,f){var c=h.getDate();var a=f.getDate();var g=c;var e=a;if(c==31){g=30}if(a==31){if(c>=30){e=30}}var d=360*h.getFullYear()+30*(h.getMonth()+1)+g;var b=360*f.getFullYear()+30*(f.getMonth()+1)+e;return b-d}function date_date(){alg_op=0;var a=date_interpret(y);if(a===null){display_error(8);return}date_add(a,x);pop();x=date_gen(a);display_result_date(a)}function date_dys(){alg_op=0;var a=date_interpret(x);var b=date_interpret(y);if((b===null)||(a===null)){display_error(8);return}x=date_diff(b,a);y=date_diff30(b,a);display_result()}function amortization(){alg_op=0;var a=x;var c=finmemory[FIN_N];var f=finmemory[FIN_I]/100;var l=cl5_round(finmemory[FIN_PV],decimals);finmemory[FIN_PV]=l;var d=cl5_round(finmemory[FIN_PMT],decimals);finmemory[FIN_PMT]=d;if(a<=0||a!=Math.floor(a)||f<=-1){display_error(5);return}var b=0;var j=0;for(var h=1;h<=a;++h){var k=cl5_round(-l*f,decimals);if(h==1&&begin&&c<=0){k=0}var g=d-k;b+=k;j+=g;l+=g}push();push();push();x=b;y=j;z=a;finmemory[FIN_N]+=a;finmemory[FIN_PV]+=j;display_result()}function bond_previous_coupon(c,b){var f=0;var a=new Date(b);var e;while(a>c){e=new Date(a);++f;a.setDate(1);a.setMonth(a.getMonth()-6);var d=a.getMonth();a.setDate(b.getDate());if(a.getMonth()!=d){return null}}return[a,e,f]}function _bond_price(f,l,i,a){var k;var c;var b=a;var d=date_diff(i,a);if(d<=0){return null}var n=bond_previous_coupon(i,a);if(n===null){return null}var o=date_diff(n[0],n[1]);var j=date_diff(i,n[1]);var g=n[2];var h=o-j;if(d<=o){k=(100*(100+l/2))/(100+((d/o)*f/2))}else{k=100/Math.pow(1+f/200,g-1+j/o);for(var m=1;m<=g;++m){k+=(l/2)/Math.pow(1+f/200,m-1+j/o)}}c=(l/2)*h/o;k-=c;if(badnumber(k)||badnumber(c)){return null}return[k,c]}function bond_price(){alg_op=0;var c=finmemory[FIN_I];if(c<=-100){display_error(5);return}var a=finmemory[FIN_PMT];var d=date_interpret(y);if(d===null){display_error(8);return}var b=date_interpret(x);if(b===null){display_error(8);return}res=_bond_price(c,a,d,b);if(!res){display_error(5);return}push();push();finmemory[FIN_N]=x=res[0];y=res[1];display_result()}function bond_yield(){alg_op=0;var c;var j=finmemory[FIN_PMT];var g=date_interpret(y);if(g===null){display_error(8);return}var a=date_interpret(x);if(a===null){display_error(8);return}var i=finmemory[FIN_PV];if(i<=0){display_error(5);return}var l;var b;var m;var f;var e;var d=INTERPOLATION;var h=1.25e-10*Math.abs(i);f=0;e=f+1;while(--d>0){res=_bond_price(f,j,g,a);if(!res){display_error(5);return}l=res[0]-i;res=_bond_price(e,j,g,a);if(!res){display_error(5);return}b=res[0]-i;if(f<-100||f>10000000000){display_error(5);return}if(Math.abs(b)<h){c=e;break}var k=(b-l)/(e-f);m=l-f*k;m/=-k;m=solve_infinity(m);f=e;e=m}push();push();finmemory[FIN_I]=x=c;display_result()}function depreciation_sl(){alg_op=0;var f=finmemory[FIN_PV];var d=finmemory[FIN_FV];var c=finmemory[FIN_N];var b=x;var e=0;var a=f-d;if(b<0||b!=Math.floor(b)||c<=0||c>Math.pow(10,10)){display_error(5);return}while(--b>=0){e=(f-d)/c;if(badnumber(e)){display_error(0);return}a-=e}push();push();x=e;y=a;display_result()}function depreciation_soyd(){alg_op=0;var h=finmemory[FIN_PV];var f=finmemory[FIN_FV];var e=finmemory[FIN_N];var d=x;var g=0;var c=h-f;if(d<0||d!=Math.floor(d)||e<=0||e>Math.pow(10,10)){display_error(5);return}var b=0;var a=e*(e+1)/2;while(--d>=0){g=(h-f)*(e-(++b)+1)/a;if(badnumber(g)){display_error(0);return}c-=g}push();push();x=g;y=c;display_result()}function depreciation_db(){alg_op=0;var g=finmemory[FIN_PV];var e=finmemory[FIN_FV];var d=finmemory[FIN_N];var a=finmemory[FIN_I]/100;var c=x;var f=0;var b=g-e;if(c<0||c!=Math.floor(c)||d<=0||d>Math.pow(10,10)){display_error(5);return}while(--c>=0){f=(b+e)*a/d;if(badnumber(f)){display_error(0);return}b-=f}push();push();x=f;y=b;display_result()}function display_program_opcode(){var a=zeropad(instruction_pointer.toFixed(0),ram_ADDR_SIZE)+"-"+ram[instruction_pointer];show(a)}function prog_pr(){if(program_mode==INTERACTIVE){program_mode=PROGRAMMING;display_pgrm();display_program_opcode()}}function prog_bst2(){sti();display_result()}function prog_bst(){if(instruction_pointer>0){--instruction_pointer}display_program_opcode();cli();window.setTimeout(prog_bst2,200)}function program_stop(){program_mode=INTERACTIVE;display_pgrm();display_result()}var opcodes=[];opcodes[0]="";opcodes[FF]="42.";opcodes[GG]="43.";opcodes[STO]="44.";opcodes[STO2]="44.48.";opcodes[STO_PLUS]="44.40.";opcodes[STO_MINUS]="44.30.";opcodes[STO_TIMES]="44.20.";opcodes[STO_DIVIDE]="44.10.";opcodes[RCL]="45.";opcodes[RCL2]="45.48.";opcodes[RCL_GG]="45.43.";opcodes[GTO]="43.33.";opcodes[GTO_MOVE]="43.33.48.";function program_poke(a){if((instruction_pointer+1)>=ram_MAX){display_error(4);return}++instruction_pointer;ram[instruction_pointer]=a}var program_execute=null;function program_sched(){if(program_mode>=RUNNING){display_pgrm();window.setTimeout(program_execute,200)}}program_execute=function(){if(program_mode<RUNNING){return}if(!keyboard){program_sched();return}if(instruction_pointer<=0){instruction_pointer=1;display_pgrm()}var b=ram[instruction_pointer].split(".");var a;for(a=0;a<b.length;++a){b[a]=parseInt(b[a],10)}if(b.length==3&&b[0]==43&&b[1]==33){instruction_pointer=b[2]}else{if(b.length==2&&b[0]==43&&b[1]==34){instruction_pointer+=(x<=y?1:2)}else{if(b.length==2&&b[0]==43&&b[1]==35){instruction_pointer+=(x===0?1:2)}else{if(b.length==1&&b[0]==31){++instruction_pointer;program_stop()}else{if(b.length==2&&b[0]==42&&b[1]==31){}else{if(b.length==2&&b[0]==42&&b[1]==31){}else{for(a=0;a<b.length;++a){if(window["kk"+b[a]]){window["kk"+b[a]]()}}++instruction_pointer}}}}}}if(instruction_pointer<=0){program_stop()}else{if(instruction_pointer>(ram_MAX-1)){instruction_pointer=0;program_stop()}else{if(program_mode==RUNNING_STEP){program_mode=INTERACTIVE;display_pgrm()}else{program_sched()}}}};function program_run_step(){program_mode=RUNNING_STEP;if(instruction_pointer<=0){instruction_pointer=1}display_pgrm();program_sched()}function prog_sst(){if(program_mode==INTERACTIVE){program_run_step()}}function program_run(){program_mode=RUNNING;if(instruction_pointer<=0){instruction_pointer=1}display_pgrm();program_sched()}function prog_rs(){if(program_mode==INTERACTIVE){display_result();program_run()}else{program_stop()}}function program_type(b){if(b==31&&modifier==FF){rst_modifier(1);program_mode=INTERACTIVE;instruction_pointer=0;display_pgrm();display_modifier();display_result();return}else{if(b==32&&!modifier){if(++instruction_pointer>=ram_MAX){instruction_pointer=0}rst_modifier(1)}else{if((b==32&&modifier==GG)||b==98){if(--instruction_pointer<0){instruction_pointer=99}rst_modifier(1)}else{if(b==33&&modifier==FF){clear_prog();rst_modifier(1)}else{if(b==42){set_modifier(FF,1)}else{if(b==43){if(modifier!=RCL){set_modifier(GG,1)}else{set_modifier(RCL_GG,1)}}else{if(b==44){set_modifier(STO,1)}else{if(b==45){set_modifier(RCL,1)}else{if(b==48&&modifier==STO){set_modifier(STO2,1)}else{if(b==48&&modifier==RCL){set_modifier(RCL2,1)}else{if((b==40)&&modifier==STO){set_modifier(STO_PLUS,1)}else{if((b==30)&&modifier==STO){set_modifier(STO_MINUS,1)}else{if((b==20)&&modifier==STO){set_modifier(STO_TIMES,1)}else{if((b==10)&&modifier==STO){set_modifier(STO_DIVIDE,1)}else{if(modifier==GTO_MOVE&&b>=0&&b<10){gtoxx=""+gtoxx+b.toFixed(0);if(gtoxx.length>=ram_ADDR_SIZE){instruction_pointer=parseInt(gtoxx,10)%ram_MAX;gtoxx="";rst_modifier(1)}}else{if(modifier==GTO&&b==48){set_modifier(GTO_MOVE,1)}else{if(modifier==GTO&&b>=0&&b<10){gtoxx=""+gtoxx+b.toFixed(0);if(gtoxx.length>=ram_ADDR_SIZE){gtoxx=zeropad(parseInt(gtoxx,10)%ram_MAX,ram_ADDR_SIZE);program_poke(opcodes[modifier]+gtoxx);gtoxx="";rst_modifier(1)}}else{if(modifier==GG&&b==33){set_modifier(GTO,1);gtoxx=""}else{if(!(window["kk"+b].valid_modifiers&modifier)){modifier=0}var a=opcodes[modifier]+zeropad(b.toFixed(0),INSTRUCTION_SIZE);program_poke(a);rst_modifier(1)}}}}}}}}}}}}}}}}}}display_program_opcode()}function kk11(){if(modifier==FF){amortization();rst_modifier(1)}else{if(modifier==GG){ston_12x();rst_modifier(0)}else{if(modifier==RCL){rclfin(0);rst_modifier(1)}else{if(modifier==STO){stofin(0);rst_modifier(0)}else{sto_or_calc_fin(0);rst_modifier(0)}}}}}kk11.valid_modifiers=FF|GG|STO|RCL;function kk12(){if(modifier==FF){simple_interest();rst_modifier(1)}else{if(modifier==GG){stoi_12div();rst_modifier(0)}else{if(modifier==RCL){rclfin(1);rst_modifier(1)}else{if(modifier==STO){stofin(1);rst_modifier(0)}else{sto_or_calc_fin(1);rst_modifier(0)}}}}}kk12.valid_modifiers=FF|GG|STO|RCL;function kk13(){if(modifier==FF){npv();rst_modifier(1)}else{if(modifier==GG){stoCF0();rst_modifier(1)}else{if(modifier==RCL){rclfin(2);rst_modifier(1)}else{if(modifier==STO){stofin(2);rst_modifier(0)}else{sto_or_calc_fin(2);rst_modifier(0)}}}}}kk13.valid_modifiers=FF|GG|STO|RCL;function kk14(){if(modifier==FF){rnd();rst_modifier(1)}else{if(modifier==RCL_GG){rclCFj();rst_modifier(1)}else{if(modifier==GG){stoCFj();rst_modifier(1)}else{if(modifier==RCL){rclfin(3);rst_modifier(1)}else{if(modifier==STO){stofin(3);rst_modifier(0)}else{sto_or_calc_fin(3);rst_modifier(0)}}}}}}kk14.valid_modifiers=FF|GG|STO|RCL|RCL_GG;function kk15(){if(modifier==FF){irr();rst_modifier(1)}else{if(modifier==RCL_GG){rclNj();rst_modifier(1)}else{if(modifier==GG){stoNj();rst_modifier(1)}else{if(modifier==RCL){rclfin(4);rst_modifier(1)}else{if(modifier==STO){stofin(4);rst_modifier(0)}else{sto_or_calc_fin(4);rst_modifier(0)}}}}}}kk15.valid_modifiers=FF|GG|STO|RCL|RCL_GG;function kk16(){if(modifier==GG){date_date()}else{if(PLATINUM&&modifier==FF){rpn_mode()}else{chs()}}rst_modifier(1)}kk16.valid_modifiers=FF|GG;function kk7(){if(modifier==FF){set_decimals(7);rst_modifier(1)}else{if(modifier==GG){set_begin(1);rst_modifier(0)}else{if(modifier==STO){sto(7);rst_modifier(1)}else{if(modifier==STO_PLUS||modifier==STO_MINUS||modifier==STO_TIMES||modifier==STO_DIVIDE){stoinfix(7,modifier);rst_modifier(1)}else{if(modifier==RCL){rcl(7);rst_modifier(1)}else{if(modifier==STO2){sto(17);rst_modifier(1)}else{if(modifier==RCL2){rcl(17);rst_modifier(1)}else{digit_add(7);rst_modifier(1)}}}}}}}}kk7.valid_modifiers=FF|GG|STO|STO2|RCL|RCL2|STO_PLUS|STO_MINUS|STO_TIMES|STO_DIVIDE;function kk8(){if(modifier==FF){set_decimals(8);rst_modifier(1)}else{if(modifier==GG){set_begin(0);rst_modifier(0)}else{if(modifier==STO){sto(8);rst_modifier(1)}else{if(modifier==STO_PLUS||modifier==STO_MINUS||modifier==STO_TIMES||modifier==STO_DIVIDE){stoinfix(8,modifier);rst_modifier(1)}else{if(modifier==RCL){rcl(8);rst_modifier(1)}else{if(modifier==STO2){sto(18);rst_modifier(1)}else{if(modifier==RCL2){rcl(18);rst_modifier(1)}else{digit_add(8);rst_modifier(1)}}}}}}}}kk8.valid_modifiers=FF|GG|STO|STO2|RCL|RCL2|STO_PLUS|STO_MINUS|STO_TIMES|STO_DIVIDE;function kk9(){if(modifier==FF){set_decimals(9)}else{if(modifier==GG){}else{if(modifier==STO){sto(9)}else{if(modifier==STO_PLUS||modifier==STO_MINUS||modifier==STO_TIMES||modifier==STO_DIVIDE){stoinfix(9,modifier);rst_modifier(1)}else{if(modifier==RCL){rcl(9)}else{if(modifier==STO2){sto(19)}else{if(modifier==RCL2){rcl(19)}else{digit_add(9)}}}}}}}rst_modifier(1)}kk9.valid_modifiers=FF|GG|STO|STO2|RCL|RCL2|STO_PLUS|STO_MINUS|STO_TIMES|STO_DIVIDE;function kk10(){if(modifier==STO){set_modifier(STO_DIVIDE,1)}else{divide();rst_modifier(1)}}kk10.valid_modifiers=0;function kk21(){if(modifier==FF){bond_price()}else{if(modifier==GG){sqroot()}else{poweryx()}}rst_modifier(1)}kk21.valid_modifiers=FF|GG;function kk22(){if(modifier==FF){bond_yield()}else{if(modifier==GG){exp()}else{inverse()}}rst_modifier(1)}kk22.valid_modifiers=FF|GG;function kk23(){if(modifier==FF){depreciation_sl()}else{if(modifier==GG){ln()}else{percentT()}}rst_modifier(1)}kk23.valid_modifiers=FF|GG;function kk24(){if(modifier==FF){depreciation_soyd()}else{if(modifier==GG){frac()}else{deltapercent()}}rst_modifier(1)}kk24.valid_modifiers=FF|GG;function kk25(){if(modifier==FF){depreciation_db()}else{if(modifier==GG){intg()}else{percent()}}rst_modifier(1)}kk25.valid_modifiers=FF|GG;function kk26(){if(modifier==GG){date_dys()}else{if(PLATINUM&&modifier==FF){algebraic_mode()}else{if(modifier==STO){toogle_compoundf()}else{input_exponential()}}}rst_modifier(1)}kk26.valid_modifiers=FF|GG|STO;function kk4(){if(modifier==FF){set_decimals(4)}else{if(modifier==GG){set_dmy(1)}else{if(modifier==STO){sto(4)}else{if(modifier==STO_PLUS||modifier==STO_MINUS||modifier==STO_TIMES||modifier==STO_DIVIDE){stoinfix(4,modifier);rst_modifier(1)}else{if(modifier==RCL){rcl(4)}else{if(modifier==STO2){sto(14)}else{if(modifier==RCL2){rcl(14)}else{digit_add(4)}}}}}}}rst_modifier(1)}kk4.valid_modifiers=FF|GG|STO|STO2|RCL|RCL2|STO_PLUS|STO_MINUS|STO_TIMES|STO_DIVIDE;function kk5(){if(modifier==FF){set_decimals(5)}else{if(modifier==GG){set_dmy(0)}else{if(modifier==STO){sto(5)}else{if(modifier==STO_PLUS||modifier==STO_MINUS||modifier==STO_TIMES||modifier==STO_DIVIDE){stoinfix(5,modifier);rst_modifier(1)}else{if(modifier==RCL){rcl(5)}else{if(modifier==STO2){sto(15)}else{if(modifier==RCL2){rcl(15)}else{digit_add(5)}}}}}}}rst_modifier(1)}kk5.valid_modifiers=FF|GG|STO|STO2|RCL|RCL2|STO_PLUS|STO_MINUS|STO_TIMES|STO_DIVIDE;function kk6(){if(modifier==FF){set_decimals(6)}else{if(modifier==GG){stat_avgw()}else{if(modifier==STO){sto(6)}else{if(modifier==STO_PLUS||modifier==STO_MINUS||modifier==STO_TIMES||modifier==STO_DIVIDE){stoinfix(6,modifier);rst_modifier(1)}else{if(modifier==RCL){rcl(6)}else{if(modifier==STO2){sto(16)}else{if(modifier==RCL2){rcl(16)}else{digit_add(6)}}}}}}}rst_modifier(1)}kk6.valid_modifiers=FF|GG|STO|STO2|RCL|RCL2|STO_PLUS|STO_MINUS|STO_TIMES|STO_DIVIDE;function kk20(){if(modifier==STO){set_modifier(STO_TIMES,1)}else{if(PLATINUM&&modifier==GG){square();rst_modifier(1)}else{multiply();rst_modifier(1)}}}kk20.valid_modifiers=0;if(PLATINUM){kk20.valid_modifiers=GG}function kk31(){if(modifier==GG){prog_pse()}else{if(modifier==FF){prog_pr()}else{prog_rs()}}rst_modifier(1)}kk31.valid_modifiers=FF|GG;function kk32(){if(modifier==FF){clear_statistics();display_result()}else{if(modifier==GG){prog_bst()}else{prog_sst()}}rst_modifier(1)}kk32.valid_modifiers=FF|GG;function kk33(){if(modifier==FF){clear_prog();display_result()}else{if(modifier==GG){display_result()}else{r_down()}}rst_modifier(1)}kk33.valid_modifiers=FF|GG;function kk34(){if(modifier==FF){clear_fin();display_result()}else{if(modifier==GG){display_result()}else{x_exchange_y()}}rst_modifier(1)}kk34.valid_modifiers=FF|GG;function kk35(){if(modifier==FF){clear_reg();display_result()}else{if(modifier==GG){display_result()}else{clx()}}rst_modifier(1)}kk35.valid_modifiers=FF|GG;function kk36(){if(modifier==FF){clear_prefix()}else{if(modifier==GG){if(PLATINUM){enter(1)}else{lstx()}}else{enter(0)}}rst_modifier(1)}kk36.valid_modifiers=FF|GG;function kk1(){if(modifier==FF){set_decimals(1)}else{if(modifier==GG){stat_lr(1)}else{if(modifier==STO){sto(1)}else{if(modifier==STO_PLUS||modifier==STO_MINUS||modifier==STO_TIMES||modifier==STO_DIVIDE){stoinfix(1,modifier);rst_modifier(1)}else{if(modifier==STO2){sto(11)}else{if(modifier==RCL){rcl(1)}else{if(modifier==RCL2){rcl(11)}else{digit_add(1)}}}}}}}rst_modifier(1)}kk1.valid_modifiers=FF|GG|STO|STO2|RCL|RCL2|STO_PLUS|STO_MINUS|STO_TIMES|STO_DIVIDE;function kk2(){if(modifier==FF){set_decimals(2)}else{if(modifier==GG){stat_lr(0)}else{if(modifier==STO){sto(2)}else{if(modifier==STO_PLUS||modifier==STO_MINUS||modifier==STO_TIMES||modifier==STO_DIVIDE){stoinfix(2,modifier);rst_modifier(1)}else{if(modifier==RCL){rcl(2)}else{if(modifier==STO2){sto(12)}else{if(modifier==RCL2){rcl(12)}else{digit_add(2)}}}}}}}rst_modifier(1)}kk2.valid_modifiers=FF|GG|STO|STO2|RCL|RCL2|STO_PLUS|STO_MINUS|STO_TIMES|STO_DIVIDE;function kk3(){if(modifier==FF){set_decimals(3)}else{if(modifier==GG){fatorial()}else{if(modifier==STO){sto(3)}else{if(modifier==STO_PLUS||modifier==STO_MINUS||modifier==STO_TIMES||modifier==STO_DIVIDE){stoinfix(3,modifier);rst_modifier(1)}else{if(modifier==RCL){rcl(3)}else{if(modifier==STO2){sto(13)}else{if(modifier==RCL2){rcl(13)}else{digit_add(3)}}}}}}}rst_modifier(1)}kk3.valid_modifiers=FF|GG|STO|STO2|RCL|RCL2|STO_PLUS|STO_MINUS|STO_TIMES|STO_DIVIDE;function kk30(){if(modifier==STO){set_modifier(STO_MINUS,1)}else{minus();rst_modifier(1)}}kk30.valid_modifiers=0;function kk41(){toogle_decimal_character();rst_modifier(1);save_memory()}kk41.valid_modifiers=0;function kk42(){set_modifier(FF,1)}kk42.valid_modifiers=0;function kk43(){if(modifier==RCL){set_modifier(RCL_GG,1)}else{set_modifier(GG,1)}}kk43.valid_modifiers=0;function kk44(){set_modifier(STO,1)}kk44.valid_modifiers=0;function kk45(){set_modifier(RCL,1)}kk45.valid_modifiers=0;function kk0(){if(modifier==FF){set_decimals(0)}else{if(modifier==GG){stat_avg()}else{if(modifier==STO){sto(0)}else{if(modifier==STO2){sto(10)}else{if(modifier==STO_PLUS||modifier==STO_MINUS||modifier==STO_TIMES||modifier==STO_DIVIDE){stoinfix(0,modifier);rst_modifier(1)}else{if(modifier==RCL){rcl(0)}else{if(modifier==RCL2){rcl(10)}else{digit_add(0)}}}}}}}rst_modifier(1)}kk0.valid_modifiers=FF|GG|STO|STO2|RCL|STO_PLUS|STO_MINUS|STO_TIMES|STO_DIVIDE;function kk48(){if(modifier==FF){set_decimals_exponential();rst_modifier(1)}else{if(modifier==GG){stat_stddev();rst_modifier(1)}else{if(modifier==STO){set_modifier(STO2,1)}else{if(modifier==RCL){set_modifier(RCL2,1)}else{decimal_point_mode();rst_modifier(1)}}}}}kk48.valid_modifiers=FF|GG;function kk49(){if(modifier==GG){stat_sigma_minus()}else{stat_sigma_plus()}rst_modifier(1)}kk49.valid_modifiers=GG;function kk40(){if(modifier==STO){set_modifier(STO_PLUS,1)}else{if(PLATINUM&&modifier==GG){lstx();rst_modifier(1)}else{plus();rst_modifier(1)}}}kk40.valid_modifiers=0;if(PLATINUM){kk40.valid_modifiers=GG}function kk98(){digit_delete()}kk98.valid_modifiers=0;function dispatch(a){var b="kk"+a;if(a==99){show_memory()}else{if(window[b]){if(program_mode==INTERACTIVE&&keyboard){if(error_in_display){error_in_display=0;display_result()}else{window[b]()}}else{if(program_mode==PROGRAMMING){program_type(a)}else{if(program_mode>=RUNNING){program_stop()}}}}}}var xoff,yoff,xl,yl,xd,yd;var kbdtable={};kbdtable["0"]=0;kbdtable["."]=48;kbdtable[","]=48;kbdtable["1"]=1;kbdtable["2"]=2;kbdtable["3"]=3;kbdtable["4"]=4;kbdtable["5"]=5;kbdtable["6"]=6;kbdtable["7"]=7;kbdtable["8"]=8;kbdtable["9"]=9;kbdtable["+"]=40;kbdtable["-"]=30;kbdtable["*"]=20;kbdtable["/"]=10;kbdtable["\r"]=36;kbdtable["\n"]=36;kbdtable["="]=36;kbdtable.c=35;kbdtable.C=35;kbdtable.h=16;kbdtable.H=16;kbdtable.e=26;kbdtable.E=26;kbdtable.f=42;kbdtable.F=42;kbdtable.g=43;kbdtable.G=43;kbdtable.s=44;kbdtable.S=44;kbdtable.r=45;kbdtable.R=45;kbdtable.n=11;kbdtable.N=11;kbdtable.i=12;kbdtable.I=12;kbdtable.p=13;kbdtable.P=13;kbdtable.m=14;kbdtable.M=14;kbdtable.v=15;kbdtable.V=15;kbdtable["#"]=23;kbdtable["$"]=24;kbdtable["%"]=25;kbdtable["!"]=21;kbdtable["\\"]=22;kbdtable.x=34;kbdtable.X=34;kbdtable.d=33;kbdtable.D=33;kbdtable.w=49;kbdtable.W=49;kbdtable.o=41;kbdtable.O=41;kbdtable["["]=31;kbdtable["]"]=32;kbdtable["?"]=99;kbdtable[String.fromCharCode(8)]=98;function key_pressed(e){var c=(e.offsetX?e.offsetX:(e.pageX-pointer_div.offsetLeft))-xoff;var b=(e.offsetY?e.offsetY:(e.pageY-pointer_div.offsetTop))-yoff;if(c<0||b<0||c>=xd*10||b>=yd*4){return}var d=Math.floor(c/xd)+10*Math.floor(b/yd);while(c>xd){c-=xd}while(b>yd){b-=yd}var a=(c<xl)&&((b<yl)||d==25);if(a){dispatch(remap_key(d))}}function kbd(c){var f;var d;var b;if(window.event){c=window.event;f=window.event.keyCode}else{if(c.which){f=c.which}else{return true}}d=String.fromCharCode(f);var a=kbdtable[d];if(a!==undefined&&a!==null){dispatch(kbdtable[d]);c.returnValue=false;if(c.preventDefault){c.preventDefault()}return false}return true}function Init_hp12c(){clear_prog();clear_sto();clear_fin();display=document.getElementById("display");pointer_div=document.getElementById("pointer_div");var b=parseInt(pointer_div.style.width,10)/700;var a=parseInt(pointer_div.style.height,10)/438;xoff=44*b;yoff=151*a;xl=54*b;yl=50*a;xd=(606-44)/9*b;yd=(364-151)/3*a;dbegin=document.getElementById("begin");ddmyc=document.getElementById("dmyc");dmodifier=document.getElementById("modifier");pgrm=document.getElementById("pgrm");if(PLATINUM){rpnalg=document.getElementById("rpnalg")}init_lcd();if(has_lcd){lcd_clear()}recover_memory();displayX();display_modifier();display_begin();display_dmyc();display_pgrm();display_algmode();sti();document.onkeypress=kbd;window.onunload=close_hp12c;window.beforenunload=close_hp12c;document.onunload=close_hp12c;document.beforeunload=close_hp12c};