@specy/risc-v 0.1.6 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/dist/index.js +559 -544
  2. package/dist/index.mjs +559 -544
  3. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -3320,8 +3320,8 @@ var asr_JsRiscV__clinit_ = () => {
3320
3320
  jnc_CodingErrorAction__clinit_();
3321
3321
  jnc_CoderResult__clinit_();
3322
3322
  jn_ByteOrder__clinit_();
3323
- asrjt_Float32__clinit_();
3324
3323
  asrjt_Float64__clinit_();
3324
+ asrjt_Float32__clinit_();
3325
3325
  jm_BigInteger__clinit_();
3326
3326
  asrjo_Arithmetic__clinit_();
3327
3327
  asrj_RoundingMode__clinit_();
@@ -7481,25 +7481,20 @@ function asr_JsCompilationResult() {
7481
7481
  }
7482
7482
  var asr_JsCompilationResult__init_0 = ($this, $errorReport) => {
7483
7483
  let var$2, var$3, var$4;
7484
- var$2 = asr_ErrorList_generateReport($errorReport, 1);
7485
- var$3 = asr_ErrorList_generateReport($errorReport, 0);
7486
- var$4 = new jl_StringBuilder();
7487
- jl_AbstractStringBuilder__init_(var$4);
7488
- jl_StringBuilder_append(jl_StringBuilder_append(var$4, var$2), var$3);
7489
- $this.$report = jl_AbstractStringBuilder_toString(var$4);
7484
+ $this.$report = asr_ErrorList_generateErrorAndWarningReport($errorReport);
7490
7485
  $errorReport = ju_Collection_stream($errorReport.$messages);
7491
- var$4 = new asr_JsCompilationResult$_init_$lambda$_0_0();
7492
- var$4.$_06 = $this;
7493
- $errorReport = jusi_SimpleStreamImpl_map($errorReport, var$4);
7494
- var$4 = new asr_JsCompilationResult$_init_$lambda$_0_2();
7486
+ var$2 = new asr_JsCompilationResult$_init_$lambda$_0_0();
7487
+ var$2.$_06 = $this;
7488
+ $errorReport = jusi_SimpleStreamImpl_map($errorReport, var$2);
7489
+ var$2 = new asr_JsCompilationResult$_init_$lambda$_0_2();
7495
7490
  $errorReport = $errorReport;
7496
7491
  var$3 = ju_ArrayList__init_();
7497
- var$2 = $errorReport;
7492
+ var$4 = $errorReport;
7498
7493
  while (true) {
7499
7494
  $errorReport = new jusi_SimpleStreamImpl$collect$lambda$_25_0();
7500
- $errorReport.$_08 = var$4;
7495
+ $errorReport.$_08 = var$2;
7501
7496
  $errorReport.$_12 = var$3;
7502
- if (!jusi_WrappingStreamImpl_next(var$2, $errorReport))
7497
+ if (!jusi_WrappingStreamImpl_next(var$4, $errorReport))
7503
7498
  break;
7504
7499
  }
7505
7500
  $this.$errors1 = var$3;
@@ -7527,7 +7522,7 @@ function asr_AssemblyException() {
7527
7522
  this.$errs = null;
7528
7523
  }
7529
7524
  var asr_AssemblyException__init_0 = ($this, $errs) => {
7530
- jl_Throwable__init_($this);
7525
+ jl_Throwable__init_0($this, asr_ErrorList_generateErrorAndWarningReport($errs));
7531
7526
  $this.$errs = $errs;
7532
7527
  };
7533
7528
  var asr_AssemblyException__init_ = (var_0) => {
@@ -10136,28 +10131,30 @@ var asrri_JAL__init_ = () => {
10136
10131
  return var_0;
10137
10132
  };
10138
10133
  var asrri_JAL_simulate = ($this, $statement) => {
10139
- let $operands, $address, var$4, var$5, var$6, var$7, var$8, var$9, var$10, var$11;
10134
+ let $operands, $address, var$4, var$5, var$6, var$7, var$8, var$9, var$10;
10140
10135
  $operands = $statement.$operands.data;
10141
10136
  asrr_InstructionSet_processReturnAddress($operands[0]);
10142
10137
  $address = (asrrh_RegisterFile_getProgramCounter() - 4 | 0) + $operands[1] | 0;
10143
- var$4 = new asrrh_StackFrame();
10144
- var$5 = asrrh_RegisterFile_getProgramCounter();
10145
- var$6 = Long_lo(asrrh_RegisterFile_getStackPointerRegister().$getValue());
10146
- var$7 = Long_lo(asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $rt_s(212)).$getValue());
10147
- var$8 = asrrh_RegisterFile_instance.$regFile.data.length;
10148
- var$9 = $rt_createIntArray(var$8);
10149
- var$10 = var$9.data;
10150
- var$11 = 0;
10151
- while (var$11 < var$8) {
10152
- var$10[var$11] = Long_lo(asrrh_RegisterFile_instance.$regFile.data[var$11].$getValue());
10153
- var$11 = var$11 + 1 | 0;
10154
- }
10155
- var$4.$pc4 = var$5;
10156
- var$4.$sp0 = var$6;
10157
- var$4.$fp0 = var$7;
10158
- var$4.$toAddress = $address;
10159
- var$4.$registers0 = var$9;
10160
- ju_ArrayList_add(asrrh_Stack_callStack, var$4);
10138
+ if ($operands[0] == 1) {
10139
+ var$4 = new asrrh_StackFrame();
10140
+ var$5 = asrrh_RegisterFile_getProgramCounter();
10141
+ var$6 = Long_lo(asrrh_RegisterFile_getStackPointerRegister().$getValue());
10142
+ var$7 = Long_lo(asrrh_RegisterBlock_getRegister(asrrh_RegisterFile_instance, $rt_s(212)).$getValue());
10143
+ var$8 = asrrh_RegisterFile_instance.$regFile.data.length;
10144
+ $operands = $rt_createIntArray(var$8);
10145
+ var$9 = $operands.data;
10146
+ var$10 = 0;
10147
+ while (var$10 < var$8) {
10148
+ var$9[var$10] = Long_lo(asrrh_RegisterFile_instance.$regFile.data[var$10].$getValue());
10149
+ var$10 = var$10 + 1 | 0;
10150
+ }
10151
+ var$4.$pc4 = var$5;
10152
+ var$4.$sp0 = var$6;
10153
+ var$4.$fp0 = var$7;
10154
+ var$4.$toAddress = $address;
10155
+ var$4.$registers0 = $operands;
10156
+ ju_ArrayList_add(asrrh_Stack_callStack, var$4);
10157
+ }
10161
10158
  asrr_InstructionSet_processJump($address);
10162
10159
  };
10163
10160
  var asrri_JALR = $rt_classWithoutFields(asrr_BasicInstruction);
@@ -11862,6 +11859,15 @@ var asr_ErrorList_getErrorLimit = ($this) => {
11862
11859
  asr_Globals_$callClinit();
11863
11860
  return asr_Globals_maximumErrorMessages;
11864
11861
  };
11862
+ var asr_ErrorList_generateErrorAndWarningReport = ($this) => {
11863
+ let var$1, var$2, var$3;
11864
+ var$1 = asr_ErrorList_generateReport($this, 1);
11865
+ var$2 = asr_ErrorList_generateReport($this, 0);
11866
+ var$3 = new jl_StringBuilder();
11867
+ jl_AbstractStringBuilder__init_(var$3);
11868
+ jl_StringBuilder_append(jl_StringBuilder_append(var$3, var$1), var$2);
11869
+ return jl_AbstractStringBuilder_toString(var$3);
11870
+ };
11865
11871
  var asr_ErrorList_generateReport = ($this, $isWarning) => {
11866
11872
  let $report, var$3, $m;
11867
11873
  $report = jl_StringBuilder__init_0($rt_s(3));
@@ -23540,17 +23546,60 @@ var asr_ErrorMessage__init_1 = ($this, $isWarning, $sourceProgram, $line, $posit
23540
23546
  }
23541
23547
  $this.$macroExpansionHistory = $sourceProgram;
23542
23548
  };
23543
- var asr_ErrorMessage__init_2 = (var_0, var_1, var_2, var_3, var_4) => {
23549
+ var asr_ErrorMessage__init_3 = (var_0, var_1, var_2, var_3, var_4) => {
23544
23550
  let var_5 = new asr_ErrorMessage();
23545
23551
  asr_ErrorMessage__init_1(var_5, var_0, var_1, var_2, var_3, var_4);
23546
23552
  return var_5;
23547
23553
  };
23554
+ var asr_ErrorMessage__init_2 = ($this, $statement, $message) => {
23555
+ let var$3, var$4, $defineLine, var$6, $$je;
23556
+ $this.$isWarning = 0;
23557
+ var$3 = $statement.$sourceProgram0;
23558
+ $this.$filename0 = var$3 === null ? $rt_s(3) : var$3.$filename;
23559
+ $this.$position2 = 0;
23560
+ $this.$message0 = $message;
23561
+ var$3 = $statement.$source;
23562
+ $message = jur_Pattern_matcher(jur_Pattern_compile($rt_s(1495)), var$3);
23563
+ var$4 = jl_String_trim(jl_String__init_0(var$3));
23564
+ $defineLine = ju_ArrayList__init_();
23565
+ a: {
23566
+ while (true) {
23567
+ if (!jur_Matcher_find($message))
23568
+ break a;
23569
+ var$3 = jur_Matcher_group($message, 0);
23570
+ if (jl_String_indexOf0(var$4, var$3))
23571
+ break a;
23572
+ try {
23573
+ ju_ArrayList_add($defineLine, jl_Integer_valueOf(jl_Integer_parseInt0(jl_String_substring(var$3, 1, jl_String_length(var$3) - 1 | 0))));
23574
+ } catch ($$e) {
23575
+ $$je = $rt_wrapException($$e);
23576
+ if ($$je instanceof jl_NumberFormatException) {
23577
+ break;
23578
+ } else {
23579
+ throw $$e;
23580
+ }
23581
+ }
23582
+ var$4 = jl_String_trim(jl_String_substring0(var$4, var$3.$nativeString.length));
23583
+ }
23584
+ }
23585
+ if (!$defineLine.$size0) {
23586
+ $this.$line = $statement.$sourceLine0;
23587
+ $this.$macroExpansionHistory = $rt_s(3);
23588
+ } else {
23589
+ $this.$line = ju_ArrayList_get($defineLine, 0).$value1;
23590
+ var$6 = $statement.$sourceLine0;
23591
+ $statement = new jl_StringBuilder();
23592
+ jl_AbstractStringBuilder__init_($statement);
23593
+ jl_AbstractStringBuilder_append($statement, var$6);
23594
+ $this.$macroExpansionHistory = jl_AbstractStringBuilder_toString($statement);
23595
+ }
23596
+ };
23548
23597
  var asr_ErrorMessage_generateReport = ($this) => {
23549
23598
  let var$1, var$2, var$3, var$4;
23550
- var$1 = !$this.$isWarning ? $rt_s(1495) : $rt_s(1496);
23599
+ var$1 = !$this.$isWarning ? $rt_s(1496) : $rt_s(1497);
23551
23600
  var$2 = new jl_StringBuilder();
23552
23601
  jl_AbstractStringBuilder__init_(var$2);
23553
- jl_StringBuilder_append(jl_StringBuilder_append(var$2, var$1), $rt_s(1497));
23602
+ jl_StringBuilder_append(jl_StringBuilder_append(var$2, var$1), $rt_s(1498));
23554
23603
  var$1 = jl_AbstractStringBuilder_toString(var$2);
23555
23604
  if ($this.$filename0.$nativeString.length > 0) {
23556
23605
  var$3 = $this.$filename0;
@@ -23564,14 +23613,14 @@ var asr_ErrorMessage_generateReport = ($this) => {
23564
23613
  var$4 = $this.$line;
23565
23614
  var$3 = new jl_StringBuilder();
23566
23615
  jl_AbstractStringBuilder__init_(var$3);
23567
- jl_AbstractStringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$3, var$1), $rt_s(1498)), var$2), var$4);
23616
+ jl_AbstractStringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$3, var$1), $rt_s(1499)), var$2), var$4);
23568
23617
  var$1 = jl_AbstractStringBuilder_toString(var$3);
23569
23618
  }
23570
23619
  var$4 = $this.$position2;
23571
23620
  if (var$4 > 0) {
23572
23621
  var$2 = new jl_StringBuilder();
23573
23622
  jl_AbstractStringBuilder__init_(var$2);
23574
- jl_AbstractStringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$2, var$1), $rt_s(1499)), var$4);
23623
+ jl_AbstractStringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$2, var$1), $rt_s(1500)), var$4);
23575
23624
  var$1 = jl_AbstractStringBuilder_toString(var$2);
23576
23625
  }
23577
23626
  var$3 = $this.$message0;
@@ -23956,9 +24005,9 @@ var asrs_Simulator$SimThread_handleTrap = ($this, $se, $pc) => {
23956
24005
  let $utvec, $base, $exceptionHandler, var$6, $$je;
23957
24006
  $utvec = asrs_Simulator$SimThread_$assertionsDisabled;
23958
24007
  if (!$utvec && $se.$cause == -1)
23959
- $rt_throw(jl_AssertionError__init_($rt_s(1500)));
23960
- if (!$utvec && $se.$cause < 0)
23961
24008
  $rt_throw(jl_AssertionError__init_($rt_s(1501)));
24009
+ if (!$utvec && $se.$cause < 0)
24010
+ $rt_throw(jl_AssertionError__init_($rt_s(1502)));
23962
24011
  a: {
23963
24012
  asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1113), Long_fromInt($se.$cause));
23964
24013
  asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(676), Long_fromInt($pc));
@@ -23997,10 +24046,10 @@ var asrs_Simulator$SimThread_handleInterrupt = ($this, $value, $cause, $pc) => {
23997
24046
  let $mode, $code, $utvec, $base, $exceptionHandler, var$9, $$je;
23998
24047
  $mode = asrs_Simulator$SimThread_$assertionsDisabled;
23999
24048
  if (!$mode && !($cause & -2147483648))
24000
- $rt_throw(jl_AssertionError__init_($rt_s(1502)));
24049
+ $rt_throw(jl_AssertionError__init_($rt_s(1503)));
24001
24050
  $code = $cause & 2147483647;
24002
24051
  if (!$mode && !(asrrh_ControlAndStatusRegisterFile_getValue($rt_s(675)) & 1 && asrrh_ControlAndStatusRegisterFile_getValue($rt_s(1110)) & 1 << $code))
24003
- $rt_throw(jl_AssertionError__init_($rt_s(1503)));
24052
+ $rt_throw(jl_AssertionError__init_($rt_s(1504)));
24004
24053
  asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1113), Long_fromInt($cause));
24005
24054
  asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(676), Long_fromInt($pc));
24006
24055
  asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(1114), Long_fromInt($value));
@@ -24035,7 +24084,7 @@ var asrs_Simulator$SimThread_handleInterrupt = ($this, $value, $cause, $pc) => {
24035
24084
  var$9.$cause = -1;
24036
24085
  var$9.$value5 = 0;
24037
24086
  var$9.$message = null;
24038
- var$9.$message = asr_ErrorMessage__init_0(null, 0, 0, $rt_s(1504));
24087
+ var$9.$message = asr_ErrorMessage__init_0(null, 0, 0, $rt_s(1505));
24039
24088
  $this.$pe = var$9;
24040
24089
  asrs_Simulator$SimThread_stopExecution($this, 1, asrs_Simulator$Reason_EXCEPTION);
24041
24090
  return 0;
@@ -24302,7 +24351,7 @@ var asrs_Simulator$SimThread_run = ($this) => {
24302
24351
  throw $$e;
24303
24352
  }
24304
24353
  }
24305
- $tmp_0 = $e.$type1 != 5 ? asr_SimulationException__init_5($rt_s(1505), 0) : asr_SimulationException__init_5($rt_s(1506), 1);
24354
+ $tmp_0 = $e.$type1 != 5 ? asr_SimulationException__init_5($rt_s(1506), 0) : asr_SimulationException__init_5($rt_s(1507), 1);
24306
24355
  if (!asrrh_InterruptController_registerSynchronousTrap($tmp_0, $this.$pc0)) {
24307
24356
  $this.$pe = $tmp_0;
24308
24357
  asrrh_ControlAndStatusRegisterFile_updateRegister($rt_s(676), Long_fromInt($this.$pc0));
@@ -24329,7 +24378,7 @@ var asrs_Simulator$SimThread_run = ($this) => {
24329
24378
  $instruction = new asr_SimulationException();
24330
24379
  $e = asru_Binary_intToHexString(asr_ProgramStatement_getBinaryStatement($se));
24331
24380
  $tmp_0 = jl_StringBuilder__init_();
24332
- jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append($tmp_0, $rt_s(1507)), $e), var$5);
24381
+ jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append($tmp_0, $rt_s(1508)), $e), var$5);
24333
24382
  asr_SimulationException__init_4($instruction, $se, jl_StringBuilder_toString($tmp_0), 2);
24334
24383
  $rt_throw($instruction);
24335
24384
  } catch ($$e) {
@@ -24847,7 +24896,7 @@ var asra_Assembler_assemble = ($this, $tokenizedProgramFiles, $extendedAssembler
24847
24896
  $machineList = ju_ArrayList__init_();
24848
24897
  $this.$errors = asr_ErrorList__init_();
24849
24898
  if (asr_Globals_debug)
24850
- otcic_JsConsolePrintStream_println(jl_System_out(), $rt_s(1508));
24899
+ otcic_JsConsolePrintStream_println(jl_System_out(), $rt_s(1509));
24851
24900
  $statement = $tokenizedProgramFiles;
24852
24901
  $theTokenList = ju_AbstractList_iterator($statement);
24853
24902
  a: {
@@ -24891,7 +24940,7 @@ var asra_Assembler_assemble = ($this, $tokenizedProgramFiles, $extendedAssembler
24891
24940
  $tokenizedProgramFiles = $this.$errors;
24892
24941
  $sourceLineList = new asr_ErrorMessage();
24893
24942
  $tokenList = $this.$fileCurrentlyBeingAssembled;
24894
- asr_ErrorMessage__init_($sourceLineList, $tokenList, asra_Macro_getFromLine(asra_MacroPool_getCurrent(asr_RISCVprogram_getLocalMacroPool($tokenList))), 0, $rt_s(1509));
24943
+ asr_ErrorMessage__init_($sourceLineList, $tokenList, asra_Macro_getFromLine(asra_MacroPool_getCurrent(asr_RISCVprogram_getLocalMacroPool($tokenList))), 0, $rt_s(1510));
24895
24944
  asr_ErrorList_add($tokenizedProgramFiles, $sourceLineList);
24896
24945
  }
24897
24946
  asra_Assembler_transferGlobals($this);
@@ -24905,7 +24954,7 @@ var asra_Assembler_assemble = ($this, $tokenizedProgramFiles, $extendedAssembler
24905
24954
  if (asr_ErrorList_errorsOccurred($this.$errors))
24906
24955
  $rt_throw(asr_AssemblyException__init_($this.$errors));
24907
24956
  if (asr_Globals_debug)
24908
- otcic_JsConsolePrintStream_println(jl_System_out(), $rt_s(1510));
24957
+ otcic_JsConsolePrintStream_println(jl_System_out(), $rt_s(1511));
24909
24958
  $statements = ju_AbstractList_iterator($statement);
24910
24959
  c: {
24911
24960
  d: while (true) {
@@ -24940,7 +24989,7 @@ var asra_Assembler_assemble = ($this, $tokenizedProgramFiles, $extendedAssembler
24940
24989
  if (asr_Globals_debug) {
24941
24990
  $tokenList = jl_System_out();
24942
24991
  $tokenizedProgramFiles = jl_StringBuilder__init_();
24943
- jl_StringBuilder_append(jl_StringBuilder_append($tokenizedProgramFiles, $rt_s(1511)), $instruction);
24992
+ jl_StringBuilder_append(jl_StringBuilder_append($tokenizedProgramFiles, $rt_s(1512)), $instruction);
24944
24993
  $tokenizedProgramFiles = jl_StringBuilder_toString($tokenizedProgramFiles);
24945
24994
  otcic_JsConsolePrintStream_println($tokenList, $tokenizedProgramFiles);
24946
24995
  }
@@ -24959,7 +25008,7 @@ var asra_Assembler_assemble = ($this, $tokenizedProgramFiles, $extendedAssembler
24959
25008
  $rt_throw(asr_AssemblyException__init_($this.$errors));
24960
25009
  }
24961
25010
  if (asr_Globals_debug)
24962
- otcic_JsConsolePrintStream_println(jl_System_out(), $rt_s(1512));
25011
+ otcic_JsConsolePrintStream_println(jl_System_out(), $rt_s(1513));
24963
25012
  $tokenList = ju_AbstractList_iterator($machineList);
24964
25013
  f: {
24965
25014
  while (true) {
@@ -24991,7 +25040,7 @@ var asra_Assembler_assemble = ($this, $tokenizedProgramFiles, $extendedAssembler
24991
25040
  $i = asra_Token_getStartPos($t);
24992
25041
  $sourceLine = asrrh_AddressErrorException_getAddress($e);
24993
25042
  $tokenizedProgramFiles = jl_StringBuilder__init_();
24994
- jl_StringBuilder_append0(jl_StringBuilder_append($tokenizedProgramFiles, $rt_s(1513)), $sourceLine);
25043
+ jl_StringBuilder_append0(jl_StringBuilder_append($tokenizedProgramFiles, $rt_s(1514)), $sourceLine);
24995
25044
  asr_ErrorMessage__init_($statements, $t_0, $extendedAssemblerEnabled, $i, jl_StringBuilder_toString($tokenizedProgramFiles));
24996
25045
  asr_ErrorList_add($parsedList, $statements);
24997
25046
  }
@@ -25022,14 +25071,14 @@ var asra_Assembler_catchDuplicateAddresses = ($this, $instructions, $errors) =>
25022
25071
  $ps2 = $ps1.$sourceProgram0;
25023
25072
  var$11 = $ps2 === null ? $rt_s(3) : $ps2.$filename;
25024
25073
  var$12 = $ps1.$sourceLine0;
25025
- $ps2 = !asrrh_Memory_inTextSegment(var$7) ? $rt_s(1514) : $rt_s(1422);
25074
+ $ps2 = !asrrh_Memory_inTextSegment(var$7) ? $rt_s(1515) : $rt_s(1422);
25026
25075
  $ps1 = new jl_StringBuilder();
25027
25076
  jl_AbstractStringBuilder__init_($ps1);
25028
- var$13 = jl_StringBuilder_append($ps1, $rt_s(1515));
25077
+ var$13 = jl_StringBuilder_append($ps1, $rt_s(1516));
25029
25078
  jl_AbstractStringBuilder_append(var$13, var$7);
25030
- var$13 = jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$13, $rt_s(1516)), var$11), $rt_s(1498));
25079
+ var$13 = jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$13, $rt_s(1517)), var$11), $rt_s(1499));
25031
25080
  jl_AbstractStringBuilder_append(var$13, var$12);
25032
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$13, $rt_s(1517)), $ps2), $rt_s(1518));
25081
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$13, $rt_s(1518)), $ps2), $rt_s(1519));
25033
25082
  asr_ErrorMessage__init_(var$8, var$9, var$10, 0, jl_AbstractStringBuilder_toString($ps1));
25034
25083
  asr_ErrorList_add($errors, var$8);
25035
25084
  }
@@ -25111,7 +25160,7 @@ var asra_Assembler_parseLine = ($this, $tokenList, $source, $sourceLineNumber, $
25111
25160
  $i = 0;
25112
25161
  }
25113
25162
  if ($i)
25114
- asr_ErrorList_add($this.$errors, asr_ErrorMessage__init_0($this.$fileCurrentlyBeingAssembled, asra_TokenList_get($instrMatches, 0).$sourceLine, 0, $rt_s(1519)));
25163
+ asr_ErrorList_add($this.$errors, asr_ErrorMessage__init_0($this.$fileCurrentlyBeingAssembled, asra_TokenList_get($instrMatches, 0).$sourceLine, 0, $rt_s(1520)));
25115
25164
  else {
25116
25165
  $i = $macro.$fromLine + 1 | 0;
25117
25166
  var$17 = Long_fromInt($counter);
@@ -25124,7 +25173,7 @@ var asra_Assembler_parseLine = ($this, $tokenList, $source, $sourceLineNumber, $
25124
25173
  $counter = ($i - $macro.$fromLine | 0) + asra_Macro_getOriginalFromLine($macro) | 0;
25125
25174
  $inst = jl_String_trim($substituted);
25126
25175
  $programStatement = jl_StringBuilder__init_();
25127
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append0(jl_StringBuilder_append1($programStatement, 60), $counter), $rt_s(1520)), $inst);
25176
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append0(jl_StringBuilder_append1($programStatement, 60), $counter), $rt_s(1521)), $inst);
25128
25177
  $statements = asra_Assembler_parseLine($this, $tokenList2, jl_StringBuilder_toString($programStatement), $sourceLineNumber, $extendedAssemblerEnabled);
25129
25178
  if ($statements !== null)
25130
25179
  ju_AbstractCollection_addAll($source, $statements);
@@ -25142,7 +25191,7 @@ var asra_Assembler_parseLine = ($this, $tokenList, $source, $sourceLineNumber, $
25142
25191
  $i = asra_Token_getStartPos($token);
25143
25192
  $macro = asra_Token_getValue($token);
25144
25193
  $inst = jl_StringBuilder__init_();
25145
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append($inst, $rt_s(1521)), $macro), $rt_s(1522));
25194
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append($inst, $rt_s(1522)), $macro), $rt_s(1523));
25146
25195
  asr_ErrorMessage__init_1($source, 1, $instrMatches, $extendedAssemblerEnabled, $i, jl_StringBuilder_toString($inst));
25147
25196
  asr_ErrorList_add($tokenList, $source);
25148
25197
  return null;
@@ -25157,7 +25206,7 @@ var asra_Assembler_parseLine = ($this, $tokenList, $source, $sourceLineNumber, $
25157
25206
  return $ret;
25158
25207
  $inst = asra_OperandFormat_bestOperandMatch($tokens, $instrMatches);
25159
25208
  if ($inst instanceof asrr_ExtendedInstruction && !$extendedAssemblerEnabled)
25160
- asr_ErrorList_add($this.$errors, asr_ErrorMessage__init_0(asra_Token_getSourceProgram($token), asra_Token_getSourceLine($token), asra_Token_getStartPos($token), $rt_s(1523)));
25209
+ asr_ErrorList_add($this.$errors, asr_ErrorMessage__init_0(asra_Token_getSourceProgram($token), asra_Token_getSourceLine($token), asra_Token_getStartPos($token), $rt_s(1524)));
25161
25210
  if (asra_OperandFormat_tokenOperandMatch($tokens, $inst, $this.$errors)) {
25162
25211
  $programStatement = asr_ProgramStatement__init_0($this.$fileCurrentlyBeingAssembled, $source, $tokenList, $tokens, $inst, asra_Assembler$AddressSpace_get($this.$textAddress), $sourceLineNumber);
25163
25212
  $instLength = $inst.$getInstructionLength();
@@ -25183,7 +25232,7 @@ var asra_Assembler_executeDirective = ($this, $tokens) => {
25183
25232
  $i = asra_Token_getSourceLine($token);
25184
25233
  $section = jl_String_valueOf($direct);
25185
25234
  $str = jl_StringBuilder__init_();
25186
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append0(jl_StringBuilder_append($str, $rt_s(1524)), $i), $rt_s(1525)), $section);
25235
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append0(jl_StringBuilder_append($str, $rt_s(1525)), $i), $rt_s(1526)), $section);
25187
25236
  $section = jl_StringBuilder_toString($str);
25188
25237
  otcic_JsConsolePrintStream_println($label, $section);
25189
25238
  }
@@ -25195,7 +25244,7 @@ var asra_Assembler_executeDirective = ($this, $tokens) => {
25195
25244
  $size = asra_Token_getStartPos($token);
25196
25245
  $token = asra_Token_getValue($token);
25197
25246
  $section = jl_StringBuilder__init_();
25198
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append1($section, 34), $token), $rt_s(1526));
25247
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append1($section, 34), $token), $rt_s(1527));
25199
25248
  asr_ErrorMessage__init_($direct, $label, $i, $size, jl_StringBuilder_toString($section));
25200
25249
  asr_ErrorList_add($tokens, $direct);
25201
25250
  return;
@@ -25212,7 +25261,7 @@ var asra_Assembler_executeDirective = ($this, $tokens) => {
25212
25261
  $size = asra_Token_getStartPos($token);
25213
25262
  $token = asra_Token_getValue($token);
25214
25263
  $section = jl_StringBuilder__init_();
25215
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append1($section, 34), $token), $rt_s(1527));
25264
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append1($section, 34), $token), $rt_s(1528));
25216
25265
  asr_ErrorMessage__init_($direct, $label, $i, $size, jl_StringBuilder_toString($section));
25217
25266
  asr_ErrorList_add($tokens, $direct);
25218
25267
  return;
@@ -25225,13 +25274,13 @@ var asra_Assembler_executeDirective = ($this, $tokens) => {
25225
25274
  $size = asra_Token_getStartPos(asra_TokenList_get($tokens, 1));
25226
25275
  $tokens = asra_Token_getValue(asra_TokenList_get($tokens, 1));
25227
25276
  $token = jl_StringBuilder__init_();
25228
- jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append($token, $rt_s(1528)), $tokens), 34);
25277
+ jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append($token, $rt_s(1529)), $tokens), 34);
25229
25278
  asr_ErrorMessage__init_($label, $section, $i, $size, jl_StringBuilder_toString($token));
25230
25279
  asr_ErrorList_add($direct, $label);
25231
25280
  return;
25232
25281
  }
25233
25282
  if ($this.$inMacroSegment) {
25234
- asr_ErrorList_add($this.$errors, asr_ErrorMessage__init_0(asra_Token_getSourceProgram($token), asra_Token_getSourceLine($token), asra_Token_getStartPos($token), $rt_s(1529)));
25283
+ asr_ErrorList_add($this.$errors, asr_ErrorMessage__init_0(asra_Token_getSourceProgram($token), asra_Token_getSourceLine($token), asra_Token_getStartPos($token), $rt_s(1530)));
25235
25284
  return;
25236
25285
  }
25237
25286
  $this.$inMacroSegment = 1;
@@ -25249,7 +25298,7 @@ var asra_Assembler_executeDirective = ($this, $tokens) => {
25249
25298
  $size = asra_Token_getStartPos($arg);
25250
25299
  $label = asra_Token_getValue($arg);
25251
25300
  $section = jl_StringBuilder__init_();
25252
- jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append($section, $rt_s(1530)), $label), 39);
25301
+ jl_StringBuilder_append1(jl_StringBuilder_append(jl_StringBuilder_append($section, $rt_s(1531)), $label), 39);
25253
25302
  asr_ErrorMessage__init_($token, $direct, $i, $size, jl_StringBuilder_toString($section));
25254
25303
  asr_ErrorList_add($tokens, $token);
25255
25304
  return;
@@ -25262,7 +25311,7 @@ var asra_Assembler_executeDirective = ($this, $tokens) => {
25262
25311
  }
25263
25312
  if ($direct === asra_Directives_END_MACRO) {
25264
25313
  if (asra_TokenList_size($tokens) > 1) {
25265
- asr_ErrorList_add($this.$errors, asr_ErrorMessage__init_0(asra_Token_getSourceProgram($token), asra_Token_getSourceLine($token), asra_Token_getStartPos($token), $rt_s(1531)));
25314
+ asr_ErrorList_add($this.$errors, asr_ErrorMessage__init_0(asra_Token_getSourceProgram($token), asra_Token_getSourceLine($token), asra_Token_getStartPos($token), $rt_s(1532)));
25266
25315
  return;
25267
25316
  }
25268
25317
  if ($this.$inMacroSegment) {
@@ -25270,7 +25319,7 @@ var asra_Assembler_executeDirective = ($this, $tokens) => {
25270
25319
  asra_MacroPool_commitMacro(asr_RISCVprogram_getLocalMacroPool($this.$fileCurrentlyBeingAssembled), $token);
25271
25320
  break a;
25272
25321
  }
25273
- asr_ErrorList_add($this.$errors, asr_ErrorMessage__init_0(asra_Token_getSourceProgram($token), asra_Token_getSourceLine($token), asra_Token_getStartPos($token), $rt_s(1532)));
25322
+ asr_ErrorList_add($this.$errors, asr_ErrorMessage__init_0(asra_Token_getSourceProgram($token), asra_Token_getSourceLine($token), asra_Token_getStartPos($token), $rt_s(1533)));
25274
25323
  return;
25275
25324
  }
25276
25325
  if ($this.$inMacroSegment)
@@ -25296,15 +25345,15 @@ var asra_Assembler_executeDirective = ($this, $tokens) => {
25296
25345
  }
25297
25346
  if ($direct === asra_Directives_SECTION) {
25298
25347
  if (asra_TokenList_size($tokens) < 2) {
25299
- asr_ErrorList_add($this.$errors, asr_ErrorMessage__init_2(1, asra_Token_getSourceProgram($token), asra_Token_getSourceLine($token), asra_Token_getStartPos($token), $rt_s(1533)));
25348
+ asr_ErrorList_add($this.$errors, asr_ErrorMessage__init_3(1, asra_Token_getSourceProgram($token), asra_Token_getSourceLine($token), asra_Token_getStartPos($token), $rt_s(1534)));
25300
25349
  break a;
25301
25350
  }
25302
25351
  $section = asra_TokenList_get($tokens, 1);
25303
25352
  if (asra_Token_getType($section) !== asra_TokenTypes_QUOTED_STRING && asra_Token_getType($section) !== asra_TokenTypes_IDENTIFIER)
25304
- asr_ErrorList_add($this.$errors, asr_ErrorMessage__init_0(asra_Token_getSourceProgram($token), asra_Token_getSourceLine($token), asra_Token_getStartPos($token), $rt_s(1534)));
25353
+ asr_ErrorList_add($this.$errors, asr_ErrorMessage__init_0(asra_Token_getSourceProgram($token), asra_Token_getSourceLine($token), asra_Token_getStartPos($token), $rt_s(1535)));
25305
25354
  else {
25306
25355
  $str = asra_Token_getValue($section);
25307
- if (!jl_String_startsWith($str, $rt_s(1420)) && !jl_String_startsWith($str, $rt_s(1535)) && !jl_String_startsWith($str, $rt_s(1536))) {
25356
+ if (!jl_String_startsWith($str, $rt_s(1420)) && !jl_String_startsWith($str, $rt_s(1536)) && !jl_String_startsWith($str, $rt_s(1537))) {
25308
25357
  if (jl_String_startsWith($str, $rt_s(1422)))
25309
25358
  $this.$inDataSegment0 = 0;
25310
25359
  else {
@@ -25314,7 +25363,7 @@ var asra_Assembler_executeDirective = ($this, $tokens) => {
25314
25363
  $size = asra_Token_getSourceLine($token);
25315
25364
  $value = asra_Token_getStartPos($token);
25316
25365
  $token = jl_StringBuilder__init_();
25317
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append($token, $rt_s(1537)), $str), $rt_s(1538));
25366
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append($token, $rt_s(1538)), $str), $rt_s(1539));
25318
25367
  asr_ErrorMessage__init_1($direct, 1, $label, $size, $value, jl_StringBuilder_toString($token));
25319
25368
  asr_ErrorList_add($tokens, $direct);
25320
25369
  }
@@ -25348,7 +25397,7 @@ var asra_Assembler_executeDirective = ($this, $tokens) => {
25348
25397
  $size = asra_Token_getStartPos($token);
25349
25398
  $token = asra_Token_getValue($token);
25350
25399
  $section = jl_StringBuilder__init_();
25351
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append1($section, 34), $token), $rt_s(1539));
25400
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append1($section, 34), $token), $rt_s(1540));
25352
25401
  asr_ErrorMessage__init_($direct, $label, $i, $size, jl_StringBuilder_toString($section));
25353
25402
  asr_ErrorList_add($tokens, $direct);
25354
25403
  return;
@@ -25356,7 +25405,7 @@ var asra_Assembler_executeDirective = ($this, $tokens) => {
25356
25405
  if (asra_TokenTypes_isIntegerTokenType(asra_Token_getType(asra_TokenList_get($tokens, 1))) && asru_Binary_stringToInt(asra_Token_getValue(asra_TokenList_get($tokens, 1))) >= 0) {
25357
25406
  $value = asru_Binary_stringToInt(asra_Token_getValue(asra_TokenList_get($tokens, 1)));
25358
25407
  if ($value < 2 && !$this.$inDataSegment0) {
25359
- asr_ErrorList_add($this.$errors, asr_ErrorMessage__init_2(1, asra_Token_getSourceProgram($token), asra_Token_getSourceLine($token), asra_Token_getStartPos($token), $rt_s(1540)));
25408
+ asr_ErrorList_add($this.$errors, asr_ErrorMessage__init_3(1, asra_Token_getSourceProgram($token), asra_Token_getSourceLine($token), asra_Token_getStartPos($token), $rt_s(1541)));
25360
25409
  $tokens = $this.$dataAddress;
25361
25410
  asra_Assembler$AddressSpace_set($tokens, asra_Assembler_alignToBoundary($this, asra_Assembler$AddressSpace_get($tokens), 4));
25362
25411
  } else if (!$value)
@@ -25374,7 +25423,7 @@ var asra_Assembler_executeDirective = ($this, $tokens) => {
25374
25423
  $size = asra_Token_getStartPos($token);
25375
25424
  $token = asra_Token_getValue($token);
25376
25425
  $section = jl_StringBuilder__init_();
25377
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append1($section, 34), $token), $rt_s(1541));
25426
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append1($section, 34), $token), $rt_s(1542));
25378
25427
  asr_ErrorMessage__init_($direct, $label, $i, $size, jl_StringBuilder_toString($section));
25379
25428
  asr_ErrorList_add($tokens, $direct);
25380
25429
  return;
@@ -25390,7 +25439,7 @@ var asra_Assembler_executeDirective = ($this, $tokens) => {
25390
25439
  $size = asra_Token_getStartPos($token);
25391
25440
  $token = asra_Token_getValue($token);
25392
25441
  $section = jl_StringBuilder__init_();
25393
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append1($section, 34), $token), $rt_s(1539));
25442
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append1($section, 34), $token), $rt_s(1540));
25394
25443
  asr_ErrorMessage__init_($direct, $label, $i, $size, jl_StringBuilder_toString($section));
25395
25444
  asr_ErrorList_add($tokens, $direct);
25396
25445
  return;
@@ -25407,7 +25456,7 @@ var asra_Assembler_executeDirective = ($this, $tokens) => {
25407
25456
  $size = asra_Token_getStartPos($token);
25408
25457
  $token = asra_Token_getValue($token);
25409
25458
  $section = jl_StringBuilder__init_();
25410
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append1($section, 34), $token), $rt_s(1541));
25459
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append1($section, 34), $token), $rt_s(1542));
25411
25460
  asr_ErrorMessage__init_($direct, $label, $i, $size, jl_StringBuilder_toString($section));
25412
25461
  asr_ErrorList_add($tokens, $direct);
25413
25462
  return;
@@ -25421,7 +25470,7 @@ var asra_Assembler_executeDirective = ($this, $tokens) => {
25421
25470
  $size = asra_Token_getStartPos($token);
25422
25471
  $token = asra_Token_getValue($token);
25423
25472
  $section = jl_StringBuilder__init_();
25424
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append1($section, 34), $token), $rt_s(1542));
25473
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append1($section, 34), $token), $rt_s(1543));
25425
25474
  asr_ErrorMessage__init_($direct, $label, $i, $size, jl_StringBuilder_toString($section));
25426
25475
  asr_ErrorList_add($tokens, $direct);
25427
25476
  return;
@@ -25441,7 +25490,7 @@ var asra_Assembler_executeDirective = ($this, $tokens) => {
25441
25490
  $size = asra_Token_getStartPos($token);
25442
25491
  $token = asra_Token_getValue($token);
25443
25492
  $section = jl_StringBuilder__init_();
25444
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append1($section, 34), $token), $rt_s(1543));
25493
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append1($section, 34), $token), $rt_s(1544));
25445
25494
  asr_ErrorMessage__init_($direct, $label, $i, $size, jl_StringBuilder_toString($section));
25446
25495
  asr_ErrorList_add($tokens, $direct);
25447
25496
  return;
@@ -25454,7 +25503,7 @@ var asra_Assembler_executeDirective = ($this, $tokens) => {
25454
25503
  $size = asra_Token_getStartPos($token);
25455
25504
  $token = asra_Token_getValue($token);
25456
25505
  $section = jl_StringBuilder__init_();
25457
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append1($section, 34), $token), $rt_s(1544));
25506
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append1($section, 34), $token), $rt_s(1545));
25458
25507
  asr_ErrorMessage__init_($direct, $label, $i, $size, jl_StringBuilder_toString($section));
25459
25508
  asr_ErrorList_add($tokens, $direct);
25460
25509
  break a;
@@ -25467,7 +25516,7 @@ var asra_Assembler_executeDirective = ($this, $tokens) => {
25467
25516
  $size = asra_Token_getStartPos($token);
25468
25517
  $token = asra_Token_getValue($token);
25469
25518
  $section = jl_StringBuilder__init_();
25470
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append1($section, 34), $token), $rt_s(1527));
25519
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append1($section, 34), $token), $rt_s(1528));
25471
25520
  asr_ErrorMessage__init_($direct, $label, $i, $size, jl_StringBuilder_toString($section));
25472
25521
  asr_ErrorList_add($tokens, $direct);
25473
25522
  return;
@@ -25483,7 +25532,7 @@ var asra_Assembler_executeDirective = ($this, $tokens) => {
25483
25532
  $size = asra_Token_getStartPos($token);
25484
25533
  $token = asra_Token_getValue($token);
25485
25534
  $section = jl_StringBuilder__init_();
25486
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append1($section, 34), $token), $rt_s(1545));
25535
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append1($section, 34), $token), $rt_s(1546));
25487
25536
  asr_ErrorMessage__init_($direct, $label, $i, $size, jl_StringBuilder_toString($section));
25488
25537
  asr_ErrorList_add($tokens, $direct);
25489
25538
  return;
@@ -25509,7 +25558,7 @@ var asra_Assembler_transferGlobals = ($this) => {
25509
25558
  $symtabEntry = new jl_StringBuilder();
25510
25559
  jl_AbstractStringBuilder__init_($symtabEntry);
25511
25560
  jl_AbstractStringBuilder_append0($symtabEntry, 34);
25512
- jl_StringBuilder_append(jl_StringBuilder_append($symtabEntry, $label), $rt_s(1546));
25561
+ jl_StringBuilder_append(jl_StringBuilder_append($symtabEntry, $label), $rt_s(1547));
25513
25562
  asr_ErrorMessage__init_(var$5, var$6, var$7, var$8, jl_AbstractStringBuilder_toString($symtabEntry));
25514
25563
  asr_ErrorList_add(var$4, var$5);
25515
25564
  } else {
@@ -25524,7 +25573,7 @@ var asra_Assembler_transferGlobals = ($this) => {
25524
25573
  $label = new jl_StringBuilder();
25525
25574
  jl_AbstractStringBuilder__init_($label);
25526
25575
  jl_AbstractStringBuilder_append0($label, 34);
25527
- jl_StringBuilder_append(jl_StringBuilder_append($label, $symtabEntry), $rt_s(1547));
25576
+ jl_StringBuilder_append(jl_StringBuilder_append($label, $symtabEntry), $rt_s(1548));
25528
25577
  asr_ErrorMessage__init_(var$5, var$6, var$7, var$8, jl_AbstractStringBuilder_toString($label));
25529
25578
  asr_ErrorList_add(var$4, var$5);
25530
25579
  } else {
@@ -25546,7 +25595,7 @@ var asra_Assembler_transferGlobals = ($this) => {
25546
25595
  var$4 = var$6.$filename1;
25547
25596
  var$6 = new jl_StringBuilder();
25548
25597
  jl_AbstractStringBuilder__init_(var$6);
25549
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$6, $rt_s(79)), var$5), $rt_s(1548)), var$4), $rt_s(82));
25598
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$6, $rt_s(79)), var$5), $rt_s(1549)), var$4), $rt_s(82));
25550
25599
  var$5 = jl_AbstractStringBuilder_toString(var$6);
25551
25600
  otcic_JsConsolePrintStream_println(var$9, var$5);
25552
25601
  }
@@ -25580,7 +25629,7 @@ var asra_Assembler_matchInstruction = ($this, $token) => {
25580
25629
  var$8 = $token.$value;
25581
25630
  $token = new jl_StringBuilder();
25582
25631
  jl_AbstractStringBuilder__init_($token);
25583
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append($token, $rt_s(1549)), var$8), $rt_s(1550));
25632
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append($token, $rt_s(1550)), var$8), $rt_s(1551));
25584
25633
  asr_ErrorMessage__init_(var$4, var$5, var$6, var$7, jl_AbstractStringBuilder_toString($token));
25585
25634
  asr_ErrorList_add(var$3, var$4);
25586
25635
  }
@@ -25608,7 +25657,7 @@ var asra_Assembler_matchInstruction = ($this, $token) => {
25608
25657
  $token = new jl_StringBuilder();
25609
25658
  jl_AbstractStringBuilder__init_($token);
25610
25659
  jl_AbstractStringBuilder_append0($token, 34);
25611
- jl_StringBuilder_append(jl_StringBuilder_append($token, var$10), $rt_s(1551));
25660
+ jl_StringBuilder_append(jl_StringBuilder_append($token, var$10), $rt_s(1552));
25612
25661
  asr_ErrorMessage__init_(var$3, var$4, var$9, var$6, jl_AbstractStringBuilder_toString($token));
25613
25662
  asr_ErrorList_add($inst, var$3);
25614
25663
  } else {
@@ -25620,7 +25669,7 @@ var asra_Assembler_matchInstruction = ($this, $token) => {
25620
25669
  var$10 = $token.$value;
25621
25670
  $token = new jl_StringBuilder();
25622
25671
  jl_AbstractStringBuilder__init_($token);
25623
- jl_AbstractStringBuilder_append0(jl_StringBuilder_append(jl_StringBuilder_append($token, $rt_s(1552)), var$10), 34);
25672
+ jl_AbstractStringBuilder_append0(jl_StringBuilder_append(jl_StringBuilder_append($token, $rt_s(1553)), var$10), 34);
25624
25673
  asr_ErrorMessage__init_(var$3, var$8, var$9, var$6, jl_AbstractStringBuilder_toString($token));
25625
25674
  asr_ErrorList_add($inst, var$3);
25626
25675
  }
@@ -25651,7 +25700,7 @@ var asra_Assembler_storeNumeric = ($this, $tokens, $directive, $errors) => {
25651
25700
  if (asra_TokenTypes_isIntegerTokenType($repetitionsToken.$type)) {
25652
25701
  $repetitions = asru_Binary_stringToInt($repetitionsToken.$value);
25653
25702
  if ($repetitions <= 0) {
25654
- asr_ErrorList_add($errors, asr_ErrorMessage__init_0($this.$fileCurrentlyBeingAssembled, $repetitionsToken.$sourceLine, $repetitionsToken.$sourcePos, $rt_s(1553)));
25703
+ asr_ErrorList_add($errors, asr_ErrorMessage__init_0($this.$fileCurrentlyBeingAssembled, $repetitionsToken.$sourceLine, $repetitionsToken.$sourcePos, $rt_s(1554)));
25655
25704
  return;
25656
25705
  }
25657
25706
  b: {
@@ -25675,7 +25724,7 @@ var asra_Assembler_storeNumeric = ($this, $tokens, $directive, $errors) => {
25675
25724
  return;
25676
25725
  }
25677
25726
  }
25678
- asr_ErrorList_add($errors, asr_ErrorMessage__init_0($this.$fileCurrentlyBeingAssembled, $valueToken.$sourceLine, $valueToken.$sourcePos, $rt_s(1554)));
25727
+ asr_ErrorList_add($errors, asr_ErrorMessage__init_0($this.$fileCurrentlyBeingAssembled, $valueToken.$sourceLine, $valueToken.$sourcePos, $rt_s(1555)));
25679
25728
  return;
25680
25729
  }
25681
25730
  while ($i < asra_TokenList_size($tokens)) {
@@ -25700,7 +25749,7 @@ var asra_Assembler_storeInteger = ($this, $token, $directive, $errors) => {
25700
25749
  $token = new jl_StringBuilder();
25701
25750
  jl_AbstractStringBuilder__init_($token);
25702
25751
  jl_AbstractStringBuilder_append0($token, 34);
25703
- jl_StringBuilder_append(jl_StringBuilder_append($token, var$8), $rt_s(1555));
25752
+ jl_StringBuilder_append(jl_StringBuilder_append($token, var$8), $rt_s(1556));
25704
25753
  asr_ErrorMessage__init_($directive, var$5, var$6, $dataAddress, jl_AbstractStringBuilder_toString($token));
25705
25754
  asr_ErrorList_add($errors, $directive);
25706
25755
  } else if (!$this.$inDataSegment0) {
@@ -25712,7 +25761,7 @@ var asra_Assembler_storeInteger = ($this, $token, $directive, $errors) => {
25712
25761
  $token = new jl_StringBuilder();
25713
25762
  jl_AbstractStringBuilder__init_($token);
25714
25763
  jl_AbstractStringBuilder_append0($token, 34);
25715
- jl_StringBuilder_append(jl_StringBuilder_append($token, var$8), $rt_s(1556));
25764
+ jl_StringBuilder_append(jl_StringBuilder_append($token, var$8), $rt_s(1557));
25716
25765
  asr_ErrorMessage__init_($directive, var$5, var$6, $dataAddress, jl_AbstractStringBuilder_toString($token));
25717
25766
  asr_ErrorList_add($errors, $directive);
25718
25767
  } else {
@@ -25756,7 +25805,7 @@ var asra_Assembler_storeInteger = ($this, $token, $directive, $errors) => {
25756
25805
  var$18 = asru_Binary_intToHexString($value);
25757
25806
  var$19 = new jl_StringBuilder();
25758
25807
  jl_AbstractStringBuilder__init_(var$19);
25759
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$19, $rt_s(1557)), var$17), $rt_s(1558)), var$18);
25808
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$19, $rt_s(1558)), var$17), $rt_s(1559)), var$18);
25760
25809
  asr_ErrorMessage__init_1(var$8, 1, var$5, var$11, var$12, jl_AbstractStringBuilder_toString(var$19));
25761
25810
  asr_ErrorList_add($errors, var$8);
25762
25811
  }
@@ -25796,7 +25845,7 @@ var asra_Assembler_storeInteger = ($this, $token, $directive, $errors) => {
25796
25845
  var$18 = asru_Binary_intToHexString($dataAddress);
25797
25846
  var$5 = new jl_StringBuilder();
25798
25847
  jl_AbstractStringBuilder__init_(var$5);
25799
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$5, $rt_s(1557)), var$8), $rt_s(1558)), var$18);
25848
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$5, $rt_s(1558)), var$8), $rt_s(1559)), var$18);
25800
25849
  asr_ErrorMessage__init_1($directive, 1, var$20, var$11, var$12, jl_AbstractStringBuilder_toString(var$5));
25801
25850
  asr_ErrorList_add($errors, $directive);
25802
25851
  }
@@ -25818,7 +25867,7 @@ var asra_Assembler_storeInteger = ($this, $token, $directive, $errors) => {
25818
25867
  jl_AbstractStringBuilder__init_($token);
25819
25868
  jl_AbstractStringBuilder_append0($token, 34);
25820
25869
  jl_AbstractStringBuilder_append($token, $dataAddress);
25821
- jl_StringBuilder_append($token, $rt_s(1559));
25870
+ jl_StringBuilder_append($token, $rt_s(1560));
25822
25871
  asr_ErrorMessage__init_($directive, var$18, var$12, var$6, jl_AbstractStringBuilder_toString($token));
25823
25872
  asr_ErrorList_add($errors, $directive);
25824
25873
  return;
@@ -25847,7 +25896,7 @@ var asra_Assembler_storeRealNumber = ($this, $token, $directive, $errors) => {
25847
25896
  var$8 = new jl_StringBuilder();
25848
25897
  jl_AbstractStringBuilder__init_(var$8);
25849
25898
  jl_AbstractStringBuilder_append0(var$8, 34);
25850
- jl_StringBuilder_append(jl_StringBuilder_append(var$8, $token), $rt_s(1560));
25899
+ jl_StringBuilder_append(jl_StringBuilder_append(var$8, $token), $rt_s(1561));
25851
25900
  asr_ErrorMessage__init_(var$6, $directive, var$7, $lengthInBytes, jl_AbstractStringBuilder_toString(var$8));
25852
25901
  asr_ErrorList_add($errors, var$6);
25853
25902
  return;
@@ -25871,7 +25920,7 @@ var asra_Assembler_storeRealNumber = ($this, $token, $directive, $errors) => {
25871
25920
  $token = new jl_StringBuilder();
25872
25921
  jl_AbstractStringBuilder__init_($token);
25873
25922
  jl_AbstractStringBuilder_append0($token, 34);
25874
- jl_StringBuilder_append(jl_StringBuilder_append($token, var$6), $rt_s(1560));
25923
+ jl_StringBuilder_append(jl_StringBuilder_append($token, var$6), $rt_s(1561));
25875
25924
  asr_ErrorMessage__init_($directive, var$9, var$10, var$7, jl_AbstractStringBuilder_toString($token));
25876
25925
  asr_ErrorList_add($errors, $directive);
25877
25926
  return;
@@ -25898,7 +25947,7 @@ var asra_Assembler_storeRealNumber = ($this, $token, $directive, $errors) => {
25898
25947
  $token = new jl_StringBuilder();
25899
25948
  jl_AbstractStringBuilder__init_($token);
25900
25949
  jl_AbstractStringBuilder_append0($token, 34);
25901
- jl_StringBuilder_append(jl_StringBuilder_append($token, var$6), $rt_s(1561));
25950
+ jl_StringBuilder_append(jl_StringBuilder_append($token, var$6), $rt_s(1562));
25902
25951
  asr_ErrorMessage__init_($directive, var$9, var$10, var$7, jl_AbstractStringBuilder_toString($token));
25903
25952
  asr_ErrorList_add($errors, $directive);
25904
25953
  return;
@@ -25936,7 +25985,7 @@ var asra_Assembler_storeRealNumber = ($this, $token, $directive, $errors) => {
25936
25985
  jl_AbstractStringBuilder__init_($token);
25937
25986
  jl_AbstractStringBuilder_append0($token, 34);
25938
25987
  jl_AbstractStringBuilder_append($token, var$7);
25939
- jl_StringBuilder_append($token, $rt_s(1562));
25988
+ jl_StringBuilder_append($token, $rt_s(1563));
25940
25989
  asr_ErrorMessage__init_($directive, var$8, var$11, var$10, jl_AbstractStringBuilder_toString($token));
25941
25990
  asr_ErrorList_add($errors, $directive);
25942
25991
  }
@@ -25958,7 +26007,7 @@ var asra_Assembler_storeStrings = ($this, $tokens, $direct, $errors) => {
25958
26007
  $token = new jl_StringBuilder();
25959
26008
  jl_AbstractStringBuilder__init_($token);
25960
26009
  jl_AbstractStringBuilder_append0($token, 34);
25961
- jl_StringBuilder_append(jl_StringBuilder_append($token, $invalidCodePoint), $rt_s(1563));
26010
+ jl_StringBuilder_append(jl_StringBuilder_append($token, $invalidCodePoint), $rt_s(1564));
25962
26011
  asr_ErrorMessage__init_($codePoint, var$7, var$8, $j, jl_AbstractStringBuilder_toString($token));
25963
26012
  asr_ErrorList_add($errors, $codePoint);
25964
26013
  } else {
@@ -26024,7 +26073,7 @@ var asra_Assembler_storeStrings = ($this, $tokens, $direct, $errors) => {
26024
26073
  var$8 = $token.$sourcePos;
26025
26074
  var$15 = new jl_StringBuilder();
26026
26075
  jl_AbstractStringBuilder__init_(var$15);
26027
- jl_AbstractStringBuilder_append0(jl_StringBuilder_append(jl_StringBuilder_append(var$15, $rt_s(1564)), $codePoint), 34);
26076
+ jl_AbstractStringBuilder_append0(jl_StringBuilder_append(jl_StringBuilder_append(var$15, $rt_s(1565)), $codePoint), 34);
26028
26077
  asr_ErrorMessage__init_($invalidCodePoint, var$14, $theChar, var$8, jl_AbstractStringBuilder_toString(var$15));
26029
26078
  asr_ErrorList_add($errors, $invalidCodePoint);
26030
26079
  $theChar = var$13;
@@ -26037,7 +26086,7 @@ var asra_Assembler_storeStrings = ($this, $tokens, $direct, $errors) => {
26037
26086
  $theChar = $token.$sourcePos;
26038
26087
  var$15 = new jl_StringBuilder();
26039
26088
  jl_AbstractStringBuilder__init_(var$15);
26040
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$15, $rt_s(1565)), $invalidCodePoint), $rt_s(1566));
26089
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$15, $rt_s(1566)), $invalidCodePoint), $rt_s(1567));
26041
26090
  asr_ErrorMessage__init_($codePoint, var$14, $b, $theChar, jl_AbstractStringBuilder_toString(var$15));
26042
26091
  asr_ErrorList_add($errors, $codePoint);
26043
26092
  $theChar = var$8;
@@ -26083,7 +26132,7 @@ var asra_Assembler_storeStrings = ($this, $tokens, $direct, $errors) => {
26083
26132
  jl_AbstractStringBuilder__init_($invalidCodePoint);
26084
26133
  jl_AbstractStringBuilder_append0($invalidCodePoint, 34);
26085
26134
  jl_AbstractStringBuilder_append($invalidCodePoint, var$8);
26086
- jl_StringBuilder_append($invalidCodePoint, $rt_s(1562));
26135
+ jl_StringBuilder_append($invalidCodePoint, $rt_s(1563));
26087
26136
  asr_ErrorMessage__init_($codePoint, var$7, $b, $theChar, jl_AbstractStringBuilder_toString($invalidCodePoint));
26088
26137
  asr_ErrorList_add($errors, $codePoint);
26089
26138
  }
@@ -26111,7 +26160,7 @@ var asra_Assembler_storeStrings = ($this, $tokens, $direct, $errors) => {
26111
26160
  jl_AbstractStringBuilder__init_($token);
26112
26161
  jl_AbstractStringBuilder_append0($token, 34);
26113
26162
  jl_AbstractStringBuilder_append($token, $j);
26114
- jl_StringBuilder_append($token, $rt_s(1562));
26163
+ jl_StringBuilder_append($token, $rt_s(1563));
26115
26164
  asr_ErrorMessage__init_($codePoint, var$15, $theChar, var$8, jl_AbstractStringBuilder_toString($token));
26116
26165
  asr_ErrorList_add($errors, $codePoint);
26117
26166
  }
@@ -26134,7 +26183,7 @@ var asra_Assembler_passesDataSegmentCheck = ($this, $token) => {
26134
26183
  var$7 = new jl_StringBuilder();
26135
26184
  jl_AbstractStringBuilder__init_(var$7);
26136
26185
  jl_AbstractStringBuilder_append0(var$7, 34);
26137
- jl_StringBuilder_append(jl_StringBuilder_append(var$7, $token), $rt_s(1567));
26186
+ jl_StringBuilder_append(jl_StringBuilder_append(var$7, $token), $rt_s(1568));
26138
26187
  asr_ErrorMessage__init_(var$3, var$4, var$5, var$6, jl_AbstractStringBuilder_toString(var$7));
26139
26188
  asr_ErrorList_add(var$2, var$3);
26140
26189
  return 0;
@@ -26171,7 +26220,7 @@ var asra_Assembler_writeToDataSegment = ($this, $value, $lengthInBytes, $token,
26171
26220
  jl_AbstractStringBuilder__init_($token);
26172
26221
  jl_AbstractStringBuilder_append0($token, 34);
26173
26222
  jl_AbstractStringBuilder_append($token, $lengthInBytes);
26174
- jl_StringBuilder_append($token, $rt_s(1562));
26223
+ jl_StringBuilder_append($token, $rt_s(1563));
26175
26224
  asr_ErrorMessage__init_(var$5, var$7, var$8, $address, jl_AbstractStringBuilder_toString($token));
26176
26225
  asr_ErrorList_add($errors, var$5);
26177
26226
  return $this.$dataAddress.$address;
@@ -26341,7 +26390,7 @@ var asra_Macro_getSubstitutedLine = ($this, $line, $args, $counter, $errors) =>
26341
26390
  if ($j != -1)
26342
26391
  $substitute = asra_TokenList_get($args, $j + 1 | 0).$value;
26343
26392
  else
26344
- asr_ErrorList_add($errors, asr_ErrorMessage__init_0($this.$program, $token.$sourceLine, $token.$sourcePos, $rt_s(1568)));
26393
+ asr_ErrorList_add($errors, asr_ErrorMessage__init_0($this.$program, $token.$sourceLine, $token.$sourcePos, $rt_s(1569)));
26345
26394
  $s = asra_Macro_replaceToken($this, $s, $token, $substitute);
26346
26395
  } else {
26347
26396
  $substitute = $token.$value;
@@ -26382,7 +26431,7 @@ var asra_Macro_getSubstitutedLine = ($this, $line, $args, $counter, $errors) =>
26382
26431
  var$13 = $token.$value;
26383
26432
  var$5 = new jl_StringBuilder();
26384
26433
  jl_AbstractStringBuilder__init_(var$5);
26385
- jl_StringBuilder_append3(jl_StringBuilder_append(jl_StringBuilder_append(var$5, var$13), $rt_s(1569)), $counter);
26434
+ jl_StringBuilder_append3(jl_StringBuilder_append(jl_StringBuilder_append(var$5, var$13), $rt_s(1570)), $counter);
26386
26435
  $s = asra_Macro_replaceToken($this, $s, $token, jl_AbstractStringBuilder_toString(var$5));
26387
26436
  }
26388
26437
  }
@@ -29514,37 +29563,37 @@ var asrs_BackStepper$Action_values = () => {
29514
29563
  var asrs_BackStepper$Action__clinit_ = () => {
29515
29564
  let var$1, var$2, var$3;
29516
29565
  var$1 = new asrs_BackStepper$Action();
29517
- jl_Enum__init_(var$1, $rt_s(1570), 0);
29566
+ jl_Enum__init_(var$1, $rt_s(1571), 0);
29518
29567
  asrs_BackStepper$Action_MEMORY_RESTORE_RAW_WORD = var$1;
29519
29568
  var$1 = new asrs_BackStepper$Action();
29520
- jl_Enum__init_(var$1, $rt_s(1571), 1);
29569
+ jl_Enum__init_(var$1, $rt_s(1572), 1);
29521
29570
  asrs_BackStepper$Action_MEMORY_RESTORE_DOUBLE_WORD = var$1;
29522
29571
  var$1 = new asrs_BackStepper$Action();
29523
- jl_Enum__init_(var$1, $rt_s(1572), 2);
29572
+ jl_Enum__init_(var$1, $rt_s(1573), 2);
29524
29573
  asrs_BackStepper$Action_MEMORY_RESTORE_WORD = var$1;
29525
29574
  var$1 = new asrs_BackStepper$Action();
29526
- jl_Enum__init_(var$1, $rt_s(1573), 3);
29575
+ jl_Enum__init_(var$1, $rt_s(1574), 3);
29527
29576
  asrs_BackStepper$Action_MEMORY_RESTORE_HALF = var$1;
29528
29577
  var$1 = new asrs_BackStepper$Action();
29529
- jl_Enum__init_(var$1, $rt_s(1574), 4);
29578
+ jl_Enum__init_(var$1, $rt_s(1575), 4);
29530
29579
  asrs_BackStepper$Action_MEMORY_RESTORE_BYTE = var$1;
29531
29580
  var$1 = new asrs_BackStepper$Action();
29532
- jl_Enum__init_(var$1, $rt_s(1575), 5);
29581
+ jl_Enum__init_(var$1, $rt_s(1576), 5);
29533
29582
  asrs_BackStepper$Action_REGISTER_RESTORE = var$1;
29534
29583
  var$1 = new asrs_BackStepper$Action();
29535
- jl_Enum__init_(var$1, $rt_s(1576), 6);
29584
+ jl_Enum__init_(var$1, $rt_s(1577), 6);
29536
29585
  asrs_BackStepper$Action_PC_RESTORE = var$1;
29537
29586
  var$1 = new asrs_BackStepper$Action();
29538
- jl_Enum__init_(var$1, $rt_s(1577), 7);
29587
+ jl_Enum__init_(var$1, $rt_s(1578), 7);
29539
29588
  asrs_BackStepper$Action_CONTROL_AND_STATUS_REGISTER_RESTORE = var$1;
29540
29589
  var$1 = new asrs_BackStepper$Action();
29541
- jl_Enum__init_(var$1, $rt_s(1578), 8);
29590
+ jl_Enum__init_(var$1, $rt_s(1579), 8);
29542
29591
  asrs_BackStepper$Action_CONTROL_AND_STATUS_REGISTER_BACKDOOR = var$1;
29543
29592
  var$1 = new asrs_BackStepper$Action();
29544
- jl_Enum__init_(var$1, $rt_s(1579), 9);
29593
+ jl_Enum__init_(var$1, $rt_s(1580), 9);
29545
29594
  asrs_BackStepper$Action_FLOATING_POINT_REGISTER_RESTORE = var$1;
29546
29595
  var$1 = new asrs_BackStepper$Action();
29547
- jl_Enum__init_(var$1, $rt_s(1580), 10);
29596
+ jl_Enum__init_(var$1, $rt_s(1581), 10);
29548
29597
  asrs_BackStepper$Action_DO_NOTHING = var$1;
29549
29598
  var$2 = $rt_createArray(asrs_BackStepper$Action, 11);
29550
29599
  var$3 = var$2.data;
@@ -29588,58 +29637,24 @@ var asr_SimulationException__init_ = (var_0, var_1, var_2) => {
29588
29637
  return var_3;
29589
29638
  };
29590
29639
  var asr_SimulationException__init_0 = ($this, $ps, $m) => {
29591
- let var$3, var$4, var$5, var$6, var$7, var$8, $$je;
29592
- jl_Throwable__init_($this);
29593
- $this.$cause = -1;
29594
- $this.$value5 = 0;
29595
- $this.$message = null;
29640
+ let var$3, var$4, var$5, var$6;
29596
29641
  var$3 = new asr_ErrorMessage();
29597
29642
  var$4 = asru_Binary_intToHexString(asrrh_RegisterFile_getProgramCounter() - 4 | 0);
29598
29643
  var$5 = new jl_StringBuilder();
29599
29644
  jl_AbstractStringBuilder__init_(var$5);
29600
- jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$5, $rt_s(1581)), var$4), $rt_s(11)), $m);
29601
- var$6 = jl_AbstractStringBuilder_toString(var$5);
29602
- var$3.$isWarning = 0;
29603
- $m = $ps.$sourceProgram0;
29604
- var$3.$filename0 = $m === null ? $rt_s(3) : $m.$filename;
29605
- var$3.$position2 = 0;
29606
- var$3.$message0 = var$6;
29607
- var$4 = $ps.$source;
29608
- $m = jur_Pattern_matcher(jur_Pattern_compile($rt_s(1582)), var$4);
29609
- var$6 = jl_String_trim(jl_String__init_0(var$4));
29610
- var$4 = ju_ArrayList__init_();
29611
- a: {
29612
- while (true) {
29613
- if (!jur_Matcher_find($m))
29614
- break a;
29615
- var$7 = jur_Matcher_group($m, 0);
29616
- if (jl_String_indexOf0(var$6, var$7))
29617
- break a;
29618
- try {
29619
- ju_ArrayList_add(var$4, jl_Integer_valueOf(jl_Integer_parseInt0(jl_String_substring(var$7, 1, jl_String_length(var$7) - 1 | 0))));
29620
- } catch ($$e) {
29621
- $$je = $rt_wrapException($$e);
29622
- if ($$je instanceof jl_NumberFormatException) {
29623
- break;
29624
- } else {
29625
- throw $$e;
29626
- }
29627
- }
29628
- var$6 = jl_String_trim(jl_String_substring0(var$6, var$7.$nativeString.length));
29629
- }
29630
- }
29631
- if (!var$4.$size0) {
29632
- var$3.$line = $ps.$sourceLine0;
29633
- var$3.$macroExpansionHistory = $rt_s(3);
29634
- } else {
29635
- var$3.$line = ju_ArrayList_get(var$4, 0).$value1;
29636
- var$8 = $ps.$sourceLine0;
29637
- $ps = new jl_StringBuilder();
29638
- jl_AbstractStringBuilder__init_($ps);
29639
- jl_AbstractStringBuilder_append($ps, var$8);
29640
- var$3.$macroExpansionHistory = jl_AbstractStringBuilder_toString($ps);
29641
- }
29642
- $this.$message = var$3;
29645
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$5, $rt_s(1582)), var$4), $rt_s(11)), $m);
29646
+ asr_ErrorMessage__init_2(var$3, $ps, jl_AbstractStringBuilder_toString(var$5));
29647
+ jl_Throwable__init_0($this, asr_ErrorMessage_generateReport(var$3));
29648
+ $this.$cause = -1;
29649
+ $this.$value5 = 0;
29650
+ $this.$message = null;
29651
+ var$5 = new asr_ErrorMessage();
29652
+ var$6 = asru_Binary_intToHexString(asrrh_RegisterFile_getProgramCounter() - 4 | 0);
29653
+ var$4 = new jl_StringBuilder();
29654
+ jl_AbstractStringBuilder__init_(var$4);
29655
+ jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(jl_StringBuilder_append(var$4, $rt_s(1582)), var$6), $rt_s(11)), $m);
29656
+ asr_ErrorMessage__init_2(var$5, $ps, jl_AbstractStringBuilder_toString(var$4));
29657
+ $this.$message = var$5;
29643
29658
  };
29644
29659
  var asr_SimulationException__init_1 = ($this, $ps, $aee) => {
29645
29660
  asr_SimulationException__init_0($this, $ps, $aee.$message1);
@@ -31214,222 +31229,6 @@ var asrjt_Floating = $rt_classWithoutFields();
31214
31229
  var asrjt_Floating_isFinite = ($this) => {
31215
31230
  return !$this.$isZero() && !$this.$isNormal() && !$this.$isSubnormal() ? 0 : 1;
31216
31231
  };
31217
- function asrjt_Float32() {
31218
- asrjt_Floating.call(this);
31219
- this.$bits0 = 0;
31220
- }
31221
- var asrjt_Float32_Zero = null;
31222
- var asrjt_Float32_NegativeZero = null;
31223
- var asrjt_Float32_NaN = null;
31224
- var asrjt_Float32_Infinity = null;
31225
- var asrjt_Float32_NegativeInfinity = null;
31226
- var asrjt_Float32_$assertionsDisabled = 0;
31227
- var asrjt_Float32__init_2 = ($this, $bits) => {
31228
- $this.$bits0 = $bits;
31229
- };
31230
- var asrjt_Float32__init_ = (var_0) => {
31231
- let var_1 = new asrjt_Float32();
31232
- asrjt_Float32__init_2(var_1, var_0);
31233
- return var_1;
31234
- };
31235
- var asrjt_Float32__init_1 = ($this, $sign, $exponent, $significand) => {
31236
- asrjt_Float32__init_2($this, (!$sign ? 0 : -2147483648) | (($exponent + 127 | 0) & 255) << 23 | $significand & 8388607);
31237
- };
31238
- var asrjt_Float32__init_0 = (var_0, var_1, var_2) => {
31239
- let var_3 = new asrjt_Float32();
31240
- asrjt_Float32__init_1(var_3, var_0, var_1, var_2);
31241
- return var_3;
31242
- };
31243
- var asrjt_Float32_exponent = ($this) => {
31244
- return (($this.$bits0 >>> 23 | 0) & 255) - 127 | 0;
31245
- };
31246
- var asrjt_Float32_negate = ($this) => {
31247
- return asrjt_Float32__init_($this.$bits0 ^ -2147483648);
31248
- };
31249
- var asrjt_Float32_isSignMinus = ($this) => {
31250
- return ($this.$bits0 >>> 31 | 0) != 1 ? 0 : 1;
31251
- };
31252
- var asrjt_Float32_isInfinite = ($this) => {
31253
- return asrjt_Float32_exponent($this) == 128 && !($this.$bits0 & 8388607) ? 1 : 0;
31254
- };
31255
- var asrjt_Float32_isNormal = ($this) => {
31256
- return asrjt_Float32_exponent($this) != -127 && asrjt_Float32_exponent($this) != 128 ? 1 : 0;
31257
- };
31258
- var asrjt_Float32_isSubnormal = ($this) => {
31259
- return asrjt_Float32_exponent($this) == -127 && !asrjt_Float32_isZero($this) ? 1 : 0;
31260
- };
31261
- var asrjt_Float32_isNaN = ($this) => {
31262
- return asrjt_Float32_exponent($this) == 128 && !asrjt_Float32_isInfinite($this) ? 1 : 0;
31263
- };
31264
- var asrjt_Float32_isSignalling = ($this) => {
31265
- if (!asrjt_Float32_isNaN($this))
31266
- return 0;
31267
- return $this.$bits0 & 4194304 ? 0 : 1;
31268
- };
31269
- var asrjt_Float32_isZero = ($this) => {
31270
- let var$1;
31271
- var$1 = $this.$bits0;
31272
- return var$1 && var$1 != -2147483648 ? 0 : 1;
31273
- };
31274
- var asrjt_Float32_fromExactFloat0 = ($this, $ef, $env) => {
31275
- let $normalizedExponent, $mainBits, $roundedBits, $a, $bitsToRound, $upBits, $towardsZero, $awayZero;
31276
- if (asrji_ExactFloat_isZero($ef))
31277
- return !$ef.$sign ? asrjt_Float32_Zero : asrjt_Float32_NegativeZero;
31278
- $ef = asrji_ExactFloat_normalize($ef);
31279
- $normalizedExponent = $ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0;
31280
- if ($normalizedExponent > -126) {
31281
- if ($normalizedExponent > 128) {
31282
- $mainBits = $env.$flags;
31283
- $roundedBits = asrj_Flags_overflow;
31284
- ju_GenericEnumSet_add($mainBits, $roundedBits);
31285
- $mainBits = $env.$flags;
31286
- $roundedBits = asrj_Flags_inexact;
31287
- ju_GenericEnumSet_add($mainBits, $roundedBits);
31288
- asrjt_Float32$1_$callClinit();
31289
- switch (asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
31290
- case 1:
31291
- break;
31292
- case 2:
31293
- case 3:
31294
- $normalizedExponent = $ef.$sign;
31295
- if ($normalizedExponent == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
31296
- return asrjt_Float32__init_0($normalizedExponent, 127, -1);
31297
- return !$normalizedExponent ? asrjt_Float32_Infinity : asrjt_Float32_NegativeInfinity;
31298
- case 4:
31299
- case 5:
31300
- return !$ef.$sign ? asrjt_Float32_Infinity : asrjt_Float32_NegativeInfinity;
31301
- default:
31302
- if (!asrjt_Float32_$assertionsDisabled)
31303
- $rt_throw(jl_AssertionError__init_($rt_s(1617)));
31304
- return !$ef.$sign ? asrjt_Float32_Infinity : asrjt_Float32_NegativeInfinity;
31305
- }
31306
- return asrjt_Float32__init_0($ef.$sign, 127, -1);
31307
- }
31308
- if (jm_BigInteger_bitLength($ef.$significand) <= 24) {
31309
- if (!asrjt_Float32_$assertionsDisabled && (($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0) <= -127)
31310
- $rt_throw(jl_AssertionError__init_($rt_s(1618)));
31311
- $a = new asrjt_Float32();
31312
- $normalizedExponent = $ef.$sign;
31313
- $bitsToRound = ($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0;
31314
- $ef = $ef.$significand;
31315
- asrjt_Float32__init_1($a, $normalizedExponent, $bitsToRound, jm_BigInteger_intValueExact(jm_BigInteger_shiftLeft($ef, 24 - jm_BigInteger_bitLength($ef) | 0)) & 8388607);
31316
- return $a;
31317
- }
31318
- $mainBits = $env.$flags;
31319
- $roundedBits = asrj_Flags_inexact;
31320
- ju_GenericEnumSet_add($mainBits, $roundedBits);
31321
- $bitsToRound = jm_BigInteger_bitLength($ef.$significand) - 24 | 0;
31322
- $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
31323
- $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
31324
- $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
31325
- $towardsZero = asrjt_Float32__init_0($ef.$sign, ($ef.$exponent0 + 23 | 0) + $bitsToRound | 0, jm_BigInteger_intValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)) & 8388607);
31326
- $awayZero = !jm_BigInteger_testBit($upBits, 0) && jm_BigInteger_bitLength($upBits) > 24 ? asrjt_Float32__init_0($ef.$sign, ($ef.$exponent0 + 24 | 0) + $bitsToRound | 0, jm_BigInteger_intValueExact(jm_BigInteger_shiftRight($upBits, 1)) & 8388607) : asrjt_Float32__init_0($ef.$sign, ($ef.$exponent0 + 23 | 0) + $bitsToRound | 0, jm_BigInteger_intValueExact($upBits) & 8388607);
31327
- } else {
31328
- if ($ef.$exponent0 > -150) {
31329
- if (!asrjt_Float32_$assertionsDisabled && jm_BigInteger_bitLength($ef.$significand) > 23)
31330
- $rt_throw(jl_AssertionError__init_($rt_s(1619)));
31331
- return asrjt_Float32__init_0($ef.$sign, -127, jm_BigInteger_intValueExact(jm_BigInteger_shiftLeft($ef.$significand, 149 + $ef.$exponent0 | 0)));
31332
- }
31333
- $mainBits = $env.$flags;
31334
- $roundedBits = asrj_Flags_inexact;
31335
- ju_GenericEnumSet_add($mainBits, $roundedBits);
31336
- $mainBits = $env.$flags;
31337
- $roundedBits = asrj_Flags_underflow;
31338
- ju_GenericEnumSet_add($mainBits, $roundedBits);
31339
- $bitsToRound = -149 - $ef.$exponent0 | 0;
31340
- $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
31341
- $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
31342
- $towardsZero = asrjt_Float32__init_0($ef.$sign, -127, jm_BigInteger_intValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)));
31343
- $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
31344
- if (!jm_BigInteger_testBit($upBits, 0) && jm_BigInteger_bitLength($upBits) > 23)
31345
- $awayZero = asrjt_Float32__init_0($ef.$sign, -126, jm_BigInteger_intValueExact($upBits) & 8388607);
31346
- else {
31347
- if (!asrjt_Float32_$assertionsDisabled && jm_BigInteger_bitLength($upBits) > 23)
31348
- $rt_throw(jl_AssertionError__init_1());
31349
- $awayZero = asrjt_Float32__init_0($ef.$sign, -127, jm_BigInteger_intValueExact($upBits));
31350
- }
31351
- }
31352
- asrjt_Float32$1_$callClinit();
31353
- switch (asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
31354
- case 1:
31355
- break;
31356
- case 2:
31357
- case 3:
31358
- if ($ef.$sign == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
31359
- return $towardsZero;
31360
- return $awayZero;
31361
- default:
31362
- $ef = jm_BigInteger_ONE;
31363
- $normalizedExponent = $bitsToRound - 1 | 0;
31364
- if (!jm_BigInteger_equals($roundedBits, jm_BigInteger_shiftLeft($ef, $normalizedExponent))) {
31365
- if (jm_BigInteger_compareTo($roundedBits, jm_BigInteger_shiftLeft(jm_BigInteger_ONE, $normalizedExponent)) <= 0)
31366
- return $towardsZero;
31367
- return $awayZero;
31368
- }
31369
- if ($env.$mode !== asrj_RoundingMode_away && $awayZero.$bits0 & 1)
31370
- return $towardsZero;
31371
- return $awayZero;
31372
- }
31373
- return $towardsZero;
31374
- };
31375
- var asrjt_Float32_toExactFloat = ($this) => {
31376
- let $sign, $exponent, $significand;
31377
- if (!asrjt_Float32_$assertionsDisabled && asrjt_Float32_isInfinite($this))
31378
- $rt_throw(jl_AssertionError__init_($rt_s(1620)));
31379
- if (!asrjt_Float32_$assertionsDisabled && asrjt_Float32_isNaN($this))
31380
- $rt_throw(jl_AssertionError__init_($rt_s(1621)));
31381
- if (!asrjt_Float32_$assertionsDisabled && asrjt_Float32_isZero($this))
31382
- $rt_throw(jl_AssertionError__init_($rt_s(1622)));
31383
- $sign = asrjt_Float32_isSignMinus($this);
31384
- if (asrjt_Float32_isZero($this)) {
31385
- $exponent = 0;
31386
- $significand = jm_BigInteger_ZERO;
31387
- } else if (asrjt_Float32_isNormal($this)) {
31388
- $exponent = asrjt_Float32_exponent($this) - 23 | 0;
31389
- $significand = jm_BigInteger_valueOf(Long_fromInt(($this.$bits0 & 8388607) + 8388608 | 0));
31390
- } else {
31391
- if (!asrjt_Float32_isSubnormal($this)) {
31392
- if (asrjt_Float32_$assertionsDisabled)
31393
- return null;
31394
- $rt_throw(jl_AssertionError__init_($rt_s(1623)));
31395
- }
31396
- $exponent = asrjt_Float32_exponent($this) - 22 | 0;
31397
- $significand = jm_BigInteger_valueOf(Long_fromInt($this.$bits0 & 8388607));
31398
- }
31399
- return asrji_ExactFloat__init_($sign, $exponent, $significand);
31400
- };
31401
- var asrjt_Float32_maxPrecision = ($this) => {
31402
- return 30;
31403
- };
31404
- var asrjt_Float32_negate0 = ($this) => {
31405
- return asrjt_Float32_negate($this);
31406
- };
31407
- var asrjt_Float32_fromExactFloat = ($this, var$1, var$2) => {
31408
- return asrjt_Float32_fromExactFloat0($this, var$1, var$2);
31409
- };
31410
- var asrjt_Float32_NegativeInfinity0 = ($this) => {
31411
- return asrjt_Float32_NegativeInfinity;
31412
- };
31413
- var asrjt_Float32_Infinity0 = ($this) => {
31414
- return asrjt_Float32_Infinity;
31415
- };
31416
- var asrjt_Float32_NegativeZero0 = ($this) => {
31417
- return asrjt_Float32_NegativeZero;
31418
- };
31419
- var asrjt_Float32_Zero0 = ($this) => {
31420
- return asrjt_Float32_Zero;
31421
- };
31422
- var asrjt_Float32_NaN0 = ($this) => {
31423
- return asrjt_Float32_NaN;
31424
- };
31425
- var asrjt_Float32__clinit_ = () => {
31426
- asrjt_Float32_$assertionsDisabled = 0;
31427
- asrjt_Float32_Zero = asrjt_Float32__init_(0);
31428
- asrjt_Float32_NegativeZero = asrjt_Float32__init_(-2147483648);
31429
- asrjt_Float32_NaN = asrjt_Float32__init_(2143289344);
31430
- asrjt_Float32_Infinity = asrjt_Float32__init_(2139095040);
31431
- asrjt_Float32_NegativeInfinity = asrjt_Float32__init_(-8388608);
31432
- };
31433
31232
  function asrjt_Float64() {
31434
31233
  asrjt_Floating.call(this);
31435
31234
  this.$bits1 = Long_ZERO;
@@ -31646,6 +31445,330 @@ var asrjt_Float64__clinit_ = () => {
31646
31445
  asrjt_Float64_Infinity = asrjt_Float64__init_(Long_create(0, 2146435072));
31647
31446
  asrjt_Float64_NegativeInfinity = asrjt_Float64__init_(Long_create(0, 4293918720));
31648
31447
  };
31448
+ function asrjt_Float32() {
31449
+ asrjt_Floating.call(this);
31450
+ this.$bits0 = 0;
31451
+ }
31452
+ var asrjt_Float32_Zero = null;
31453
+ var asrjt_Float32_NegativeZero = null;
31454
+ var asrjt_Float32_NaN = null;
31455
+ var asrjt_Float32_Infinity = null;
31456
+ var asrjt_Float32_NegativeInfinity = null;
31457
+ var asrjt_Float32_$assertionsDisabled = 0;
31458
+ var asrjt_Float32__init_2 = ($this, $bits) => {
31459
+ $this.$bits0 = $bits;
31460
+ };
31461
+ var asrjt_Float32__init_ = (var_0) => {
31462
+ let var_1 = new asrjt_Float32();
31463
+ asrjt_Float32__init_2(var_1, var_0);
31464
+ return var_1;
31465
+ };
31466
+ var asrjt_Float32__init_1 = ($this, $sign, $exponent, $significand) => {
31467
+ asrjt_Float32__init_2($this, (!$sign ? 0 : -2147483648) | (($exponent + 127 | 0) & 255) << 23 | $significand & 8388607);
31468
+ };
31469
+ var asrjt_Float32__init_0 = (var_0, var_1, var_2) => {
31470
+ let var_3 = new asrjt_Float32();
31471
+ asrjt_Float32__init_1(var_3, var_0, var_1, var_2);
31472
+ return var_3;
31473
+ };
31474
+ var asrjt_Float32_exponent = ($this) => {
31475
+ return (($this.$bits0 >>> 23 | 0) & 255) - 127 | 0;
31476
+ };
31477
+ var asrjt_Float32_negate = ($this) => {
31478
+ return asrjt_Float32__init_($this.$bits0 ^ -2147483648);
31479
+ };
31480
+ var asrjt_Float32_isSignMinus = ($this) => {
31481
+ return ($this.$bits0 >>> 31 | 0) != 1 ? 0 : 1;
31482
+ };
31483
+ var asrjt_Float32_isInfinite = ($this) => {
31484
+ return asrjt_Float32_exponent($this) == 128 && !($this.$bits0 & 8388607) ? 1 : 0;
31485
+ };
31486
+ var asrjt_Float32_isNormal = ($this) => {
31487
+ return asrjt_Float32_exponent($this) != -127 && asrjt_Float32_exponent($this) != 128 ? 1 : 0;
31488
+ };
31489
+ var asrjt_Float32_isSubnormal = ($this) => {
31490
+ return asrjt_Float32_exponent($this) == -127 && !asrjt_Float32_isZero($this) ? 1 : 0;
31491
+ };
31492
+ var asrjt_Float32_isNaN = ($this) => {
31493
+ return asrjt_Float32_exponent($this) == 128 && !asrjt_Float32_isInfinite($this) ? 1 : 0;
31494
+ };
31495
+ var asrjt_Float32_isSignalling = ($this) => {
31496
+ if (!asrjt_Float32_isNaN($this))
31497
+ return 0;
31498
+ return $this.$bits0 & 4194304 ? 0 : 1;
31499
+ };
31500
+ var asrjt_Float32_isZero = ($this) => {
31501
+ let var$1;
31502
+ var$1 = $this.$bits0;
31503
+ return var$1 && var$1 != -2147483648 ? 0 : 1;
31504
+ };
31505
+ var asrjt_Float32_fromExactFloat0 = ($this, $ef, $env) => {
31506
+ let $normalizedExponent, $mainBits, $roundedBits, $a, $bitsToRound, $upBits, $towardsZero, $awayZero;
31507
+ if (asrji_ExactFloat_isZero($ef))
31508
+ return !$ef.$sign ? asrjt_Float32_Zero : asrjt_Float32_NegativeZero;
31509
+ $ef = asrji_ExactFloat_normalize($ef);
31510
+ $normalizedExponent = $ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0;
31511
+ if ($normalizedExponent > -126) {
31512
+ if ($normalizedExponent > 128) {
31513
+ $mainBits = $env.$flags;
31514
+ $roundedBits = asrj_Flags_overflow;
31515
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
31516
+ $mainBits = $env.$flags;
31517
+ $roundedBits = asrj_Flags_inexact;
31518
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
31519
+ asrjt_Float32$1_$callClinit();
31520
+ switch (asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
31521
+ case 1:
31522
+ break;
31523
+ case 2:
31524
+ case 3:
31525
+ $normalizedExponent = $ef.$sign;
31526
+ if ($normalizedExponent == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
31527
+ return asrjt_Float32__init_0($normalizedExponent, 127, -1);
31528
+ return !$normalizedExponent ? asrjt_Float32_Infinity : asrjt_Float32_NegativeInfinity;
31529
+ case 4:
31530
+ case 5:
31531
+ return !$ef.$sign ? asrjt_Float32_Infinity : asrjt_Float32_NegativeInfinity;
31532
+ default:
31533
+ if (!asrjt_Float32_$assertionsDisabled)
31534
+ $rt_throw(jl_AssertionError__init_($rt_s(1617)));
31535
+ return !$ef.$sign ? asrjt_Float32_Infinity : asrjt_Float32_NegativeInfinity;
31536
+ }
31537
+ return asrjt_Float32__init_0($ef.$sign, 127, -1);
31538
+ }
31539
+ if (jm_BigInteger_bitLength($ef.$significand) <= 24) {
31540
+ if (!asrjt_Float32_$assertionsDisabled && (($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0) <= -127)
31541
+ $rt_throw(jl_AssertionError__init_($rt_s(1618)));
31542
+ $a = new asrjt_Float32();
31543
+ $normalizedExponent = $ef.$sign;
31544
+ $bitsToRound = ($ef.$exponent0 + jm_BigInteger_bitLength($ef.$significand) | 0) - 1 | 0;
31545
+ $ef = $ef.$significand;
31546
+ asrjt_Float32__init_1($a, $normalizedExponent, $bitsToRound, jm_BigInteger_intValueExact(jm_BigInteger_shiftLeft($ef, 24 - jm_BigInteger_bitLength($ef) | 0)) & 8388607);
31547
+ return $a;
31548
+ }
31549
+ $mainBits = $env.$flags;
31550
+ $roundedBits = asrj_Flags_inexact;
31551
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
31552
+ $bitsToRound = jm_BigInteger_bitLength($ef.$significand) - 24 | 0;
31553
+ $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
31554
+ $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
31555
+ $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
31556
+ $towardsZero = asrjt_Float32__init_0($ef.$sign, ($ef.$exponent0 + 23 | 0) + $bitsToRound | 0, jm_BigInteger_intValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)) & 8388607);
31557
+ $awayZero = !jm_BigInteger_testBit($upBits, 0) && jm_BigInteger_bitLength($upBits) > 24 ? asrjt_Float32__init_0($ef.$sign, ($ef.$exponent0 + 24 | 0) + $bitsToRound | 0, jm_BigInteger_intValueExact(jm_BigInteger_shiftRight($upBits, 1)) & 8388607) : asrjt_Float32__init_0($ef.$sign, ($ef.$exponent0 + 23 | 0) + $bitsToRound | 0, jm_BigInteger_intValueExact($upBits) & 8388607);
31558
+ } else {
31559
+ if ($ef.$exponent0 > -150) {
31560
+ if (!asrjt_Float32_$assertionsDisabled && jm_BigInteger_bitLength($ef.$significand) > 23)
31561
+ $rt_throw(jl_AssertionError__init_($rt_s(1619)));
31562
+ return asrjt_Float32__init_0($ef.$sign, -127, jm_BigInteger_intValueExact(jm_BigInteger_shiftLeft($ef.$significand, 149 + $ef.$exponent0 | 0)));
31563
+ }
31564
+ $mainBits = $env.$flags;
31565
+ $roundedBits = asrj_Flags_inexact;
31566
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
31567
+ $mainBits = $env.$flags;
31568
+ $roundedBits = asrj_Flags_underflow;
31569
+ ju_GenericEnumSet_add($mainBits, $roundedBits);
31570
+ $bitsToRound = -149 - $ef.$exponent0 | 0;
31571
+ $mainBits = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), $bitsToRound);
31572
+ $roundedBits = jm_BigInteger_subtract($ef.$significand, $mainBits);
31573
+ $towardsZero = asrjt_Float32__init_0($ef.$sign, -127, jm_BigInteger_intValueExact(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound)));
31574
+ $upBits = jm_BigInteger_add(jm_BigInteger_shiftRight($ef.$significand, $bitsToRound), jm_BigInteger_valueOf(Long_fromInt(1)));
31575
+ if (!jm_BigInteger_testBit($upBits, 0) && jm_BigInteger_bitLength($upBits) > 23)
31576
+ $awayZero = asrjt_Float32__init_0($ef.$sign, -126, jm_BigInteger_intValueExact($upBits) & 8388607);
31577
+ else {
31578
+ if (!asrjt_Float32_$assertionsDisabled && jm_BigInteger_bitLength($upBits) > 23)
31579
+ $rt_throw(jl_AssertionError__init_1());
31580
+ $awayZero = asrjt_Float32__init_0($ef.$sign, -127, jm_BigInteger_intValueExact($upBits));
31581
+ }
31582
+ }
31583
+ asrjt_Float32$1_$callClinit();
31584
+ switch (asrjt_Float32$1_$SwitchMap$app$specy$rars$jsoftfloat$RoundingMode.data[jl_Enum_ordinal($env.$mode)]) {
31585
+ case 1:
31586
+ break;
31587
+ case 2:
31588
+ case 3:
31589
+ if ($ef.$sign == ($env.$mode !== asrj_RoundingMode_max ? 0 : 1))
31590
+ return $towardsZero;
31591
+ return $awayZero;
31592
+ default:
31593
+ $ef = jm_BigInteger_ONE;
31594
+ $normalizedExponent = $bitsToRound - 1 | 0;
31595
+ if (!jm_BigInteger_equals($roundedBits, jm_BigInteger_shiftLeft($ef, $normalizedExponent))) {
31596
+ if (jm_BigInteger_compareTo($roundedBits, jm_BigInteger_shiftLeft(jm_BigInteger_ONE, $normalizedExponent)) <= 0)
31597
+ return $towardsZero;
31598
+ return $awayZero;
31599
+ }
31600
+ if ($env.$mode !== asrj_RoundingMode_away && $awayZero.$bits0 & 1)
31601
+ return $towardsZero;
31602
+ return $awayZero;
31603
+ }
31604
+ return $towardsZero;
31605
+ };
31606
+ var asrjt_Float32_toExactFloat = ($this) => {
31607
+ let $sign, $exponent, $significand;
31608
+ if (!asrjt_Float32_$assertionsDisabled && asrjt_Float32_isInfinite($this))
31609
+ $rt_throw(jl_AssertionError__init_($rt_s(1620)));
31610
+ if (!asrjt_Float32_$assertionsDisabled && asrjt_Float32_isNaN($this))
31611
+ $rt_throw(jl_AssertionError__init_($rt_s(1621)));
31612
+ if (!asrjt_Float32_$assertionsDisabled && asrjt_Float32_isZero($this))
31613
+ $rt_throw(jl_AssertionError__init_($rt_s(1622)));
31614
+ $sign = asrjt_Float32_isSignMinus($this);
31615
+ if (asrjt_Float32_isZero($this)) {
31616
+ $exponent = 0;
31617
+ $significand = jm_BigInteger_ZERO;
31618
+ } else if (asrjt_Float32_isNormal($this)) {
31619
+ $exponent = asrjt_Float32_exponent($this) - 23 | 0;
31620
+ $significand = jm_BigInteger_valueOf(Long_fromInt(($this.$bits0 & 8388607) + 8388608 | 0));
31621
+ } else {
31622
+ if (!asrjt_Float32_isSubnormal($this)) {
31623
+ if (asrjt_Float32_$assertionsDisabled)
31624
+ return null;
31625
+ $rt_throw(jl_AssertionError__init_($rt_s(1623)));
31626
+ }
31627
+ $exponent = asrjt_Float32_exponent($this) - 22 | 0;
31628
+ $significand = jm_BigInteger_valueOf(Long_fromInt($this.$bits0 & 8388607));
31629
+ }
31630
+ return asrji_ExactFloat__init_($sign, $exponent, $significand);
31631
+ };
31632
+ var asrjt_Float32_maxPrecision = ($this) => {
31633
+ return 30;
31634
+ };
31635
+ var asrjt_Float32_negate0 = ($this) => {
31636
+ return asrjt_Float32_negate($this);
31637
+ };
31638
+ var asrjt_Float32_fromExactFloat = ($this, var$1, var$2) => {
31639
+ return asrjt_Float32_fromExactFloat0($this, var$1, var$2);
31640
+ };
31641
+ var asrjt_Float32_NegativeInfinity0 = ($this) => {
31642
+ return asrjt_Float32_NegativeInfinity;
31643
+ };
31644
+ var asrjt_Float32_Infinity0 = ($this) => {
31645
+ return asrjt_Float32_Infinity;
31646
+ };
31647
+ var asrjt_Float32_NegativeZero0 = ($this) => {
31648
+ return asrjt_Float32_NegativeZero;
31649
+ };
31650
+ var asrjt_Float32_Zero0 = ($this) => {
31651
+ return asrjt_Float32_Zero;
31652
+ };
31653
+ var asrjt_Float32_NaN0 = ($this) => {
31654
+ return asrjt_Float32_NaN;
31655
+ };
31656
+ var asrjt_Float32__clinit_ = () => {
31657
+ asrjt_Float32_$assertionsDisabled = 0;
31658
+ asrjt_Float32_Zero = asrjt_Float32__init_(0);
31659
+ asrjt_Float32_NegativeZero = asrjt_Float32__init_(-2147483648);
31660
+ asrjt_Float32_NaN = asrjt_Float32__init_(2143289344);
31661
+ asrjt_Float32_Infinity = asrjt_Float32__init_(2139095040);
31662
+ asrjt_Float32_NegativeInfinity = asrjt_Float32__init_(-8388608);
31663
+ };
31664
+ var asrjo_Conversions = $rt_classWithoutFields();
31665
+ var asrjo_Conversions_convertToIntegral = ($f, $max, $min, $env, $quiet) => {
31666
+ let $copy, $rounded, var$8, var$9, var$10, var$11, var$12, var$13;
31667
+ if ($f.$isNaN()) {
31668
+ $f = $env.$flags;
31669
+ $min = asrj_Flags_invalid;
31670
+ ju_GenericEnumSet_add($f, $min);
31671
+ return $max;
31672
+ }
31673
+ if ($f.$isInfinite()) {
31674
+ $env = $env.$flags;
31675
+ $copy = asrj_Flags_invalid;
31676
+ ju_GenericEnumSet_add($env, $copy);
31677
+ if ($f.$isSignMinus())
31678
+ $max = $min;
31679
+ return $max;
31680
+ }
31681
+ $copy = asrj_Environment__init_();
31682
+ $copy.$mode = $env.$mode;
31683
+ if ($f.$isZero())
31684
+ $rounded = jm_BigInteger_ZERO;
31685
+ else {
31686
+ $f = $f.$toExactFloat();
31687
+ if (asrji_ExactFloat_isZero($f))
31688
+ $rounded = jm_BigInteger_ZERO;
31689
+ else {
31690
+ if (asrji_ExactFloat_isZero($f))
31691
+ $rounded = $f;
31692
+ else {
31693
+ $rounded = asrji_ExactFloat_normalize($f);
31694
+ var$8 = $rounded.$exponent0;
31695
+ if (var$8 < 0) {
31696
+ var$8 = -var$8 | 0;
31697
+ var$9 = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($rounded.$significand, var$8), var$8);
31698
+ var$10 = jm_BigInteger_subtract($rounded.$significand, var$9);
31699
+ var$9 = asrji_ExactFloat_normalize(asrji_ExactFloat__init_($rounded.$sign, $rounded.$exponent0, var$9));
31700
+ var$11 = asrji_ExactFloat_add(var$9, asrji_ExactFloat__init_($rounded.$sign, 0, jm_BigInteger_valueOf(Long_fromInt(1))));
31701
+ var$12 = $env.$mode;
31702
+ if (var$12 === asrj_RoundingMode_zero)
31703
+ $rounded = var$9;
31704
+ else {
31705
+ var$13 = asrj_RoundingMode_max;
31706
+ if (var$12 !== var$13 && var$12 !== asrj_RoundingMode_min) {
31707
+ $rounded = jm_BigInteger_ONE;
31708
+ var$8 = var$8 - 1 | 0;
31709
+ $rounded = !jm_BigInteger_equals(var$10, jm_BigInteger_shiftLeft($rounded, var$8)) ? jm_BigInteger_compareTo(var$10, jm_BigInteger_shiftLeft(jm_BigInteger_ONE, var$8)) <= 0 ? var$9 : var$11 : $env.$mode !== asrj_RoundingMode_away && !jm_BigInteger_testBit(var$9.$significand, 0) ? var$9 : var$11;
31710
+ } else
31711
+ $rounded = (var$12 !== var$13 ? 0 : 1) != $rounded.$sign ? var$11 : var$9;
31712
+ }
31713
+ }
31714
+ }
31715
+ $rounded = asrji_ExactFloat_normalize($rounded);
31716
+ if (asrji_ExactFloat_compareTo($rounded, $f)) {
31717
+ var$9 = $env.$flags;
31718
+ var$10 = asrj_Flags_inexact;
31719
+ ju_GenericEnumSet_add(var$9, var$10);
31720
+ }
31721
+ if (!asrji_ExactFloat_$assertionsDisabled && $rounded.$exponent0 < 0)
31722
+ $rt_throw(jl_AssertionError__init_($rt_s(1624)));
31723
+ $rounded = jm_BigInteger_multiply(jm_BigInteger_shiftLeft($rounded.$significand, $rounded.$exponent0), jm_BigInteger_valueOf(!$f.$sign ? Long_fromInt(1) : Long_fromInt(-1)));
31724
+ }
31725
+ }
31726
+ if (!(jm_BigInteger_compareTo($rounded, $max) <= 0 && jm_BigInteger_compareTo($rounded, $min) >= 0)) {
31727
+ $f = $env.$flags;
31728
+ $env = asrj_Flags_invalid;
31729
+ ju_GenericEnumSet_add($f, $env);
31730
+ } else if (!$quiet) {
31731
+ $f = $copy.$flags;
31732
+ $copy = asrj_Flags_inexact;
31733
+ if (ju_GenericEnumSet_contains($f, $copy)) {
31734
+ $f = $env.$flags;
31735
+ $env = asrj_Flags_inexact;
31736
+ ju_GenericEnumSet_add($f, $env);
31737
+ }
31738
+ }
31739
+ if (jm_BigInteger_compareTo($rounded, $max) == -1)
31740
+ $max = $rounded;
31741
+ if (jm_BigInteger_compareTo($max, $min) == 1)
31742
+ $min = $max;
31743
+ return $min;
31744
+ };
31745
+ var asrjo_Conversions_convertToInt = ($f, $env, $quiet) => {
31746
+ return jm_BigInteger_intValueExact(asrjo_Conversions_convertToIntegral($f, jm_BigInteger_valueOf(Long_fromInt(2147483647)), jm_BigInteger_valueOf(Long_fromInt(-2147483648)), $env, $quiet));
31747
+ };
31748
+ var asrjo_Conversions_convertToUnsignedInt = ($f, $env, $quiet) => {
31749
+ return Long_lo(Long_and(jm_BigInteger_longValueExact(asrjo_Conversions_convertToIntegral($f, jm_BigInteger_valueOf(Long_create(4294967295, 0)), jm_BigInteger_ZERO, $env, $quiet)), Long_create(4294967295, 0)));
31750
+ };
31751
+ var asrjo_Conversions_convertToLong = ($f, $env, $quiet) => {
31752
+ return jm_BigInteger_longValueExact(asrjo_Conversions_convertToIntegral($f, jm_BigInteger_valueOf(Long_create(4294967295, 2147483647)), jm_BigInteger_valueOf(Long_create(0, 2147483648)), $env, $quiet));
31753
+ };
31754
+ var asrjo_Conversions_convertToUnsignedLong = ($f, $env, $quiet) => {
31755
+ return jm_BigInteger_longValue(asrjo_Conversions_convertToIntegral($f, jm_BigInteger_add(jm_BigInteger_valueOf(Long_fromInt(-1)), jm_BigInteger_shiftLeft(jm_BigInteger_ONE, 64)), jm_BigInteger_ZERO, $env, $quiet));
31756
+ };
31757
+ var asrjo_Conversions_convertFromInt = ($i, $env, $helper) => {
31758
+ let var$4;
31759
+ if (jm_BigInteger_equals($i, jm_BigInteger_ZERO))
31760
+ return $helper.$Zero();
31761
+ var$4 = new asrji_ExactFloat();
31762
+ if (jm_BigInteger_compareTo($i, jm_BigInteger_ZERO) >= 0)
31763
+ var$4.$sign = 0;
31764
+ else {
31765
+ var$4.$sign = 1;
31766
+ $i = jm_BigInteger_negate($i);
31767
+ }
31768
+ var$4.$exponent0 = 0;
31769
+ var$4.$significand = $i;
31770
+ return $helper.$fromExactFloat(var$4, $env);
31771
+ };
31649
31772
  var asrjo_Comparisons = $rt_classWithoutFields();
31650
31773
  var asrjo_Comparisons_compareNoNAN = ($a, $b) => {
31651
31774
  if ($a.$isZero()) {
@@ -31950,7 +32073,7 @@ var jm_BigInteger_testBit = ($this, $n) => {
31950
32073
  return !($this.$digits.data[0] & 1) ? 0 : 1;
31951
32074
  if ($n < 0) {
31952
32075
  var$2 = new jl_ArithmeticException();
31953
- jl_Throwable__init_0(var$2, $rt_s(1624));
32076
+ jl_Throwable__init_0(var$2, $rt_s(1625));
31954
32077
  $rt_throw(var$2);
31955
32078
  }
31956
32079
  $intCount = $n >> 5;
@@ -31978,7 +32101,7 @@ var jm_BigInteger_intValueExact = ($this) => {
31978
32101
  if ($this.$numberLength <= 1 && jm_BigInteger_bitLength($this) <= 31)
31979
32102
  return $rt_imul($this.$sign0, $this.$digits.data[0]);
31980
32103
  var$1 = new jl_ArithmeticException();
31981
- jl_Throwable__init_0(var$1, $rt_s(1625));
32104
+ jl_Throwable__init_0(var$1, $rt_s(1626));
31982
32105
  $rt_throw(var$1);
31983
32106
  };
31984
32107
  var jm_BigInteger_longValue = ($this) => {
@@ -31996,7 +32119,7 @@ var jm_BigInteger_longValueExact = ($this) => {
31996
32119
  if ($this.$numberLength <= 2 && jm_BigInteger_bitLength($this) <= 63)
31997
32120
  return jm_BigInteger_longValue($this);
31998
32121
  var$1 = new jl_ArithmeticException();
31999
- jl_Throwable__init_0(var$1, $rt_s(1626));
32122
+ jl_Throwable__init_0(var$1, $rt_s(1627));
32000
32123
  $rt_throw(var$1);
32001
32124
  };
32002
32125
  var jm_BigInteger_compareTo = ($this, $val) => {
@@ -32117,114 +32240,6 @@ var jm_BigInteger__clinit_ = () => {
32117
32240
  $i = $i + 1 | 0;
32118
32241
  }
32119
32242
  };
32120
- var asrjo_Conversions = $rt_classWithoutFields();
32121
- var asrjo_Conversions_convertToIntegral = ($f, $max, $min, $env, $quiet) => {
32122
- let $copy, $rounded, var$8, var$9, var$10, var$11, var$12, var$13;
32123
- if ($f.$isNaN()) {
32124
- $f = $env.$flags;
32125
- $min = asrj_Flags_invalid;
32126
- ju_GenericEnumSet_add($f, $min);
32127
- return $max;
32128
- }
32129
- if ($f.$isInfinite()) {
32130
- $env = $env.$flags;
32131
- $copy = asrj_Flags_invalid;
32132
- ju_GenericEnumSet_add($env, $copy);
32133
- if ($f.$isSignMinus())
32134
- $max = $min;
32135
- return $max;
32136
- }
32137
- $copy = asrj_Environment__init_();
32138
- $copy.$mode = $env.$mode;
32139
- if ($f.$isZero())
32140
- $rounded = jm_BigInteger_ZERO;
32141
- else {
32142
- $f = $f.$toExactFloat();
32143
- if (asrji_ExactFloat_isZero($f))
32144
- $rounded = jm_BigInteger_ZERO;
32145
- else {
32146
- if (asrji_ExactFloat_isZero($f))
32147
- $rounded = $f;
32148
- else {
32149
- $rounded = asrji_ExactFloat_normalize($f);
32150
- var$8 = $rounded.$exponent0;
32151
- if (var$8 < 0) {
32152
- var$8 = -var$8 | 0;
32153
- var$9 = jm_BigInteger_shiftLeft(jm_BigInteger_shiftRight($rounded.$significand, var$8), var$8);
32154
- var$10 = jm_BigInteger_subtract($rounded.$significand, var$9);
32155
- var$9 = asrji_ExactFloat_normalize(asrji_ExactFloat__init_($rounded.$sign, $rounded.$exponent0, var$9));
32156
- var$11 = asrji_ExactFloat_add(var$9, asrji_ExactFloat__init_($rounded.$sign, 0, jm_BigInteger_valueOf(Long_fromInt(1))));
32157
- var$12 = $env.$mode;
32158
- if (var$12 === asrj_RoundingMode_zero)
32159
- $rounded = var$9;
32160
- else {
32161
- var$13 = asrj_RoundingMode_max;
32162
- if (var$12 !== var$13 && var$12 !== asrj_RoundingMode_min) {
32163
- $rounded = jm_BigInteger_ONE;
32164
- var$8 = var$8 - 1 | 0;
32165
- $rounded = !jm_BigInteger_equals(var$10, jm_BigInteger_shiftLeft($rounded, var$8)) ? jm_BigInteger_compareTo(var$10, jm_BigInteger_shiftLeft(jm_BigInteger_ONE, var$8)) <= 0 ? var$9 : var$11 : $env.$mode !== asrj_RoundingMode_away && !jm_BigInteger_testBit(var$9.$significand, 0) ? var$9 : var$11;
32166
- } else
32167
- $rounded = (var$12 !== var$13 ? 0 : 1) != $rounded.$sign ? var$11 : var$9;
32168
- }
32169
- }
32170
- }
32171
- $rounded = asrji_ExactFloat_normalize($rounded);
32172
- if (asrji_ExactFloat_compareTo($rounded, $f)) {
32173
- var$9 = $env.$flags;
32174
- var$10 = asrj_Flags_inexact;
32175
- ju_GenericEnumSet_add(var$9, var$10);
32176
- }
32177
- if (!asrji_ExactFloat_$assertionsDisabled && $rounded.$exponent0 < 0)
32178
- $rt_throw(jl_AssertionError__init_($rt_s(1627)));
32179
- $rounded = jm_BigInteger_multiply(jm_BigInteger_shiftLeft($rounded.$significand, $rounded.$exponent0), jm_BigInteger_valueOf(!$f.$sign ? Long_fromInt(1) : Long_fromInt(-1)));
32180
- }
32181
- }
32182
- if (!(jm_BigInteger_compareTo($rounded, $max) <= 0 && jm_BigInteger_compareTo($rounded, $min) >= 0)) {
32183
- $f = $env.$flags;
32184
- $env = asrj_Flags_invalid;
32185
- ju_GenericEnumSet_add($f, $env);
32186
- } else if (!$quiet) {
32187
- $f = $copy.$flags;
32188
- $copy = asrj_Flags_inexact;
32189
- if (ju_GenericEnumSet_contains($f, $copy)) {
32190
- $f = $env.$flags;
32191
- $env = asrj_Flags_inexact;
32192
- ju_GenericEnumSet_add($f, $env);
32193
- }
32194
- }
32195
- if (jm_BigInteger_compareTo($rounded, $max) == -1)
32196
- $max = $rounded;
32197
- if (jm_BigInteger_compareTo($max, $min) == 1)
32198
- $min = $max;
32199
- return $min;
32200
- };
32201
- var asrjo_Conversions_convertToInt = ($f, $env, $quiet) => {
32202
- return jm_BigInteger_intValueExact(asrjo_Conversions_convertToIntegral($f, jm_BigInteger_valueOf(Long_fromInt(2147483647)), jm_BigInteger_valueOf(Long_fromInt(-2147483648)), $env, $quiet));
32203
- };
32204
- var asrjo_Conversions_convertToUnsignedInt = ($f, $env, $quiet) => {
32205
- return Long_lo(Long_and(jm_BigInteger_longValueExact(asrjo_Conversions_convertToIntegral($f, jm_BigInteger_valueOf(Long_create(4294967295, 0)), jm_BigInteger_ZERO, $env, $quiet)), Long_create(4294967295, 0)));
32206
- };
32207
- var asrjo_Conversions_convertToLong = ($f, $env, $quiet) => {
32208
- return jm_BigInteger_longValueExact(asrjo_Conversions_convertToIntegral($f, jm_BigInteger_valueOf(Long_create(4294967295, 2147483647)), jm_BigInteger_valueOf(Long_create(0, 2147483648)), $env, $quiet));
32209
- };
32210
- var asrjo_Conversions_convertToUnsignedLong = ($f, $env, $quiet) => {
32211
- return jm_BigInteger_longValue(asrjo_Conversions_convertToIntegral($f, jm_BigInteger_add(jm_BigInteger_valueOf(Long_fromInt(-1)), jm_BigInteger_shiftLeft(jm_BigInteger_ONE, 64)), jm_BigInteger_ZERO, $env, $quiet));
32212
- };
32213
- var asrjo_Conversions_convertFromInt = ($i, $env, $helper) => {
32214
- let var$4;
32215
- if (jm_BigInteger_equals($i, jm_BigInteger_ZERO))
32216
- return $helper.$Zero();
32217
- var$4 = new asrji_ExactFloat();
32218
- if (jm_BigInteger_compareTo($i, jm_BigInteger_ZERO) >= 0)
32219
- var$4.$sign = 0;
32220
- else {
32221
- var$4.$sign = 1;
32222
- $i = jm_BigInteger_negate($i);
32223
- }
32224
- var$4.$exponent0 = 0;
32225
- var$4.$significand = $i;
32226
- return $helper.$fromExactFloat(var$4, $env);
32227
- };
32228
32243
  var asrjo_Arithmetic = $rt_classWithoutFields();
32229
32244
  var asrjo_Arithmetic_$assertionsDisabled = 0;
32230
32245
  var asrjo_Arithmetic_add = ($a, $b, $env) => {
@@ -32749,6 +32764,7 @@ var jm_Elementary_subtract = ($a, $aSize, $b, $bSize) => {
32749
32764
  }
32750
32765
  return $res;
32751
32766
  };
32767
+ var jl_ArithmeticException = $rt_classWithoutFields(jl_RuntimeException);
32752
32768
  var jm_BitLevel = $rt_classWithoutFields();
32753
32769
  var jm_BitLevel_shiftLeft = ($source, $count) => {
32754
32770
  let $intCount, var$4, var$5, $resLength, $resDigits, var$8, var$9, var$10, var$11, var$12, $result;
@@ -32863,7 +32879,6 @@ var jm_BitLevel_shiftRight = ($source, $count) => {
32863
32879
  jm_BigInteger_cutOffLeadingZeroes($result);
32864
32880
  return $result;
32865
32881
  };
32866
- var jl_ArithmeticException = $rt_classWithoutFields(jl_RuntimeException);
32867
32882
  var asrrs_NullString = $rt_classWithoutFields();
32868
32883
  var asrrs_NullString_get = ($statement) => {
32869
32884
  return asrrs_NullString_get0($statement, $rt_s(220));
@@ -40664,7 +40679,7 @@ $rt_metadata([
40664
40679
  0,
40665
40680
  0,
40666
40681
  0,
40667
- asrjt_Float32,
40682
+ asrjt_Float64,
40668
40683
  0,
40669
40684
  asrjt_Floating,
40670
40685
  [],
@@ -40674,39 +40689,39 @@ $rt_metadata([
40674
40689
  0,
40675
40690
  [
40676
40691
  "$isSignMinus",
40677
- $rt_wrapFunction0(asrjt_Float32_isSignMinus),
40692
+ $rt_wrapFunction0(asrjt_Float64_isSignMinus),
40678
40693
  "$isInfinite",
40679
- $rt_wrapFunction0(asrjt_Float32_isInfinite),
40694
+ $rt_wrapFunction0(asrjt_Float64_isInfinite),
40680
40695
  "$isNormal",
40681
- $rt_wrapFunction0(asrjt_Float32_isNormal),
40696
+ $rt_wrapFunction0(asrjt_Float64_isNormal),
40682
40697
  "$isSubnormal",
40683
- $rt_wrapFunction0(asrjt_Float32_isSubnormal),
40698
+ $rt_wrapFunction0(asrjt_Float64_isSubnormal),
40684
40699
  "$isNaN",
40685
- $rt_wrapFunction0(asrjt_Float32_isNaN),
40700
+ $rt_wrapFunction0(asrjt_Float64_isNaN),
40686
40701
  "$isSignalling",
40687
- $rt_wrapFunction0(asrjt_Float32_isSignalling),
40702
+ $rt_wrapFunction0(asrjt_Float64_isSignalling),
40688
40703
  "$isZero",
40689
- $rt_wrapFunction0(asrjt_Float32_isZero),
40704
+ $rt_wrapFunction0(asrjt_Float64_isZero),
40690
40705
  "$toExactFloat",
40691
- $rt_wrapFunction0(asrjt_Float32_toExactFloat),
40706
+ $rt_wrapFunction0(asrjt_Float64_toExactFloat),
40692
40707
  "$maxPrecision",
40693
- $rt_wrapFunction0(asrjt_Float32_maxPrecision),
40708
+ $rt_wrapFunction0(asrjt_Float64_maxPrecision),
40694
40709
  "$negate2",
40695
- $rt_wrapFunction0(asrjt_Float32_negate0),
40710
+ $rt_wrapFunction0(asrjt_Float64_negate0),
40696
40711
  "$fromExactFloat",
40697
- $rt_wrapFunction2(asrjt_Float32_fromExactFloat),
40712
+ $rt_wrapFunction2(asrjt_Float64_fromExactFloat),
40698
40713
  "$NegativeInfinity",
40699
- $rt_wrapFunction0(asrjt_Float32_NegativeInfinity0),
40714
+ $rt_wrapFunction0(asrjt_Float64_NegativeInfinity0),
40700
40715
  "$Infinity",
40701
- $rt_wrapFunction0(asrjt_Float32_Infinity0),
40716
+ $rt_wrapFunction0(asrjt_Float64_Infinity0),
40702
40717
  "$NegativeZero",
40703
- $rt_wrapFunction0(asrjt_Float32_NegativeZero0),
40718
+ $rt_wrapFunction0(asrjt_Float64_NegativeZero0),
40704
40719
  "$Zero",
40705
- $rt_wrapFunction0(asrjt_Float32_Zero0),
40720
+ $rt_wrapFunction0(asrjt_Float64_Zero0),
40706
40721
  "$NaN",
40707
- $rt_wrapFunction0(asrjt_Float32_NaN0)
40722
+ $rt_wrapFunction0(asrjt_Float64_NaN0)
40708
40723
  ],
40709
- asrjt_Float64,
40724
+ asrjt_Float32,
40710
40725
  0,
40711
40726
  asrjt_Floating,
40712
40727
  [],
@@ -40716,39 +40731,39 @@ $rt_metadata([
40716
40731
  0,
40717
40732
  [
40718
40733
  "$isSignMinus",
40719
- $rt_wrapFunction0(asrjt_Float64_isSignMinus),
40734
+ $rt_wrapFunction0(asrjt_Float32_isSignMinus),
40720
40735
  "$isInfinite",
40721
- $rt_wrapFunction0(asrjt_Float64_isInfinite),
40736
+ $rt_wrapFunction0(asrjt_Float32_isInfinite),
40722
40737
  "$isNormal",
40723
- $rt_wrapFunction0(asrjt_Float64_isNormal),
40738
+ $rt_wrapFunction0(asrjt_Float32_isNormal),
40724
40739
  "$isSubnormal",
40725
- $rt_wrapFunction0(asrjt_Float64_isSubnormal),
40740
+ $rt_wrapFunction0(asrjt_Float32_isSubnormal),
40726
40741
  "$isNaN",
40727
- $rt_wrapFunction0(asrjt_Float64_isNaN),
40742
+ $rt_wrapFunction0(asrjt_Float32_isNaN),
40728
40743
  "$isSignalling",
40729
- $rt_wrapFunction0(asrjt_Float64_isSignalling),
40744
+ $rt_wrapFunction0(asrjt_Float32_isSignalling),
40730
40745
  "$isZero",
40731
- $rt_wrapFunction0(asrjt_Float64_isZero),
40746
+ $rt_wrapFunction0(asrjt_Float32_isZero),
40732
40747
  "$toExactFloat",
40733
- $rt_wrapFunction0(asrjt_Float64_toExactFloat),
40748
+ $rt_wrapFunction0(asrjt_Float32_toExactFloat),
40734
40749
  "$maxPrecision",
40735
- $rt_wrapFunction0(asrjt_Float64_maxPrecision),
40750
+ $rt_wrapFunction0(asrjt_Float32_maxPrecision),
40736
40751
  "$negate2",
40737
- $rt_wrapFunction0(asrjt_Float64_negate0),
40752
+ $rt_wrapFunction0(asrjt_Float32_negate0),
40738
40753
  "$fromExactFloat",
40739
- $rt_wrapFunction2(asrjt_Float64_fromExactFloat),
40754
+ $rt_wrapFunction2(asrjt_Float32_fromExactFloat),
40740
40755
  "$NegativeInfinity",
40741
- $rt_wrapFunction0(asrjt_Float64_NegativeInfinity0),
40756
+ $rt_wrapFunction0(asrjt_Float32_NegativeInfinity0),
40742
40757
  "$Infinity",
40743
- $rt_wrapFunction0(asrjt_Float64_Infinity0),
40758
+ $rt_wrapFunction0(asrjt_Float32_Infinity0),
40744
40759
  "$NegativeZero",
40745
- $rt_wrapFunction0(asrjt_Float64_NegativeZero0),
40760
+ $rt_wrapFunction0(asrjt_Float32_NegativeZero0),
40746
40761
  "$Zero",
40747
- $rt_wrapFunction0(asrjt_Float64_Zero0),
40762
+ $rt_wrapFunction0(asrjt_Float32_Zero0),
40748
40763
  "$NaN",
40749
- $rt_wrapFunction0(asrjt_Float64_NaN0)
40764
+ $rt_wrapFunction0(asrjt_Float32_NaN0)
40750
40765
  ],
40751
- asrjo_Comparisons,
40766
+ asrjo_Conversions,
40752
40767
  0,
40753
40768
  jl_Object,
40754
40769
  [],
@@ -40757,19 +40772,19 @@ $rt_metadata([
40757
40772
  0,
40758
40773
  0,
40759
40774
  0,
40760
- jm_BigInteger,
40775
+ asrjo_Comparisons,
40761
40776
  0,
40762
- jl_Number,
40763
- [jl_Comparable, ji_Serializable],
40777
+ jl_Object,
40778
+ [],
40764
40779
  0,
40765
40780
  3,
40766
40781
  0,
40767
40782
  0,
40768
40783
  0,
40769
- asrjo_Conversions,
40784
+ jm_BigInteger,
40770
40785
  0,
40771
- jl_Object,
40772
- [],
40786
+ jl_Number,
40787
+ [jl_Comparable, ji_Serializable],
40773
40788
  0,
40774
40789
  3,
40775
40790
  0,
@@ -40858,21 +40873,21 @@ $rt_metadata([
40858
40873
  0,
40859
40874
  0,
40860
40875
  0,
40861
- jm_BitLevel,
40876
+ jl_ArithmeticException,
40862
40877
  0,
40863
- jl_Object,
40878
+ jl_RuntimeException,
40864
40879
  [],
40865
40880
  0,
40881
+ 3,
40866
40882
  0,
40867
40883
  0,
40868
40884
  0,
40885
+ jm_BitLevel,
40869
40886
  0,
40870
- jl_ArithmeticException,
40871
- 0,
40872
- jl_RuntimeException,
40887
+ jl_Object,
40873
40888
  [],
40874
40889
  0,
40875
- 3,
40890
+ 0,
40876
40891
  0,
40877
40892
  0,
40878
40893
  0,
@@ -42625,6 +42640,7 @@ $rt_stringPool([
42625
42640
  "LO",
42626
42641
  "TAG",
42627
42642
  "->",
42643
+ "<\\d+>",
42628
42644
  "Error",
42629
42645
  "Warning",
42630
42646
  " in ",
@@ -42712,7 +42728,6 @@ $rt_stringPool([
42712
42728
  "FLOATING_POINT_REGISTER_RESTORE",
42713
42729
  "DO_NOTHING",
42714
42730
  "Runtime exception at ",
42715
- "<\\d+>",
42716
42731
  "Too many or incorrectly formatted operands. Expected: ",
42717
42732
  "Too few or incorrectly formatted operands. Expected: ",
42718
42733
  "Unsigned value is too large to fit into a sign-extended immediate",
@@ -42754,10 +42769,10 @@ $rt_stringPool([
42754
42769
  "NaNs are not exact",
42755
42770
  "Zeros should be handled explicitly",
42756
42771
  "This should not be reachable",
42772
+ "There can't be any fractions at this point",
42757
42773
  "Negative bit address",
42758
42774
  "BigInteger out of int range",
42759
42775
  "BigInteger out of long range",
42760
- "There can't be any fractions at this point",
42761
42776
  "Square root of a negative number is not real",
42762
42777
  "Cannot get here",
42763
42778
  "Both should definitely be finite by this point",