MS0V4 mlir-stage-05-v1 passing 1000/1000

MLIR passage 5: FMulAdd child type and fast-math preservation

Test report

1000generated samples
100.0%input coverage
100.0%output coverage
+3lines added
+3branches added
Not estimatedconfidence
1000/1000checker passes
Code coverage details

Baseline tests: Every tracked test file with a RUN line invoking loom-raise-opt (77 files); other executables and native unit tests excluded

Source fileBaseline coverageBaseline + inputContributing input
…/lib/Frontend/Raising/ExactStandardSpelling.hMS0V
112/118lines94.9%
62/82branches75.6%
114/118lines96.6%+2
64/82branches78.0%+2
+2 lines · +2 branchesseed 62 · 7 → 7 linesOpen PBT Review PR
2 newly covered lines · 2 newly covered branches
125    if (!statesDefaultDenormalEnvironment(env))126      return true;127  if (auto noSignedZeros = funcOp.getNoSignedZerosFpMathAttr())true branch128    if (noSignedZeros.getValue())true branch129      return true;130  if (auto contraction = funcOp.getFpContractAttr())131    if (contraction.getValue() != "off")
…/lib/Frontend/Raising/MaterializeFMulAddPass.cppMS0V
70/106lines66.0%
11/26branches42.3%
71/106lines67.0%+1
12/26branches46.2%+1
+1 line · +1 branchseed 62 · 7 → 7 linesOpen PBT Review PR
1 newly covered line · 1 newly covered branch
175        });176177    if (selected.empty())true branch178      return markAllAnalysesPreserved();179180    materializeSelected(getContext(), selected, shape.getValue());
Files without added coverage
…/lib/Dataflow/Transforms/DataflowRewritePass.cppMS0V
338/559lines60.5%
172/340branches50.6%
338/559lines60.5%+0
172/340branches50.6%+0
Open PBT
…/lib/Frontend/Lowering/ExpandGraphMemrefCopyPass.cppMS0V
79/90lines87.8%
20/22branches90.9%
79/90lines87.8%+0
20/22branches90.9%+0
Open PBT
…/lib/Frontend/Lowering/LowerForToGraphPass.cppMS0V
1033/1240lines83.3%
374/540branches69.3%
1033/1240lines83.3%+0
374/540branches69.3%+0
Open PBT
…/lib/Frontend/Lowering/LowerForallToThreadPass.cppMS0V
30/34lines88.2%
2/4branches50.0%
30/34lines88.2%+0
2/4branches50.0%+0
Open PBT
…/lib/Frontend/Lowering/LowerGraphConstantsPass.cppMS0V
80/83lines96.4%
18/24branches75.0%
80/83lines96.4%+0
18/24branches75.0%+0
Open PBT
…/lib/Frontend/Lowering/LowerGraphMemoryPass.cppMS0V
525/841lines62.4%
208/400branches52.0%
525/841lines62.4%+0
208/400branches52.0%+0
Open PBT
…/lib/Frontend/Lowering/Pipeline.cppMS0V
18/21lines85.7%
branchesnot measured
18/21lines85.7%+0
branchesnot measured
Open PBT
…/lib/Frontend/Raising/CallableRegions.hMS0V
32/34lines94.1%
12/16branches75.0%
32/34lines94.1%+0
12/16branches75.0%+0
Open PBT
…/lib/Frontend/Raising/DeduplicateSCFWhileStatePass.cppMS0V
13/135lines9.6%
0/60branches0.0%
13/135lines9.6%+0
0/60branches0.0%+0
Open PBT
…/lib/Frontend/Raising/LLVMArithToArithPass.cppMS0V
300/319lines94.0%
94/116branches81.0%
300/319lines94.0%+0
94/116branches81.0%+0
Open PBT
…/lib/Frontend/Raising/LLVMCfToCfPass.cppMS0V
77/80lines96.2%
8/8branches100.0%
77/80lines96.2%+0
8/8branches100.0%+0
Open PBT
…/lib/Frontend/Raising/LiftCFToSCFPass.cppMS0V
616/694lines88.8%
293/386branches75.9%
616/694lines88.8%+0
293/386branches75.9%+0
Open PBT
…/lib/Frontend/Raising/NormalizeLiftedSCFExitPass.cppMS0V
232/250lines92.8%
120/182branches65.9%
232/250lines92.8%+0
120/182branches65.9%+0
Open PBT
…/lib/Frontend/Raising/Pipeline.cppMS0V
10/19lines52.6%
branchesnot measured
10/19lines52.6%+0
branchesnot measured
Open PBT
…/lib/Frontend/Raising/SCFForToForallPass.cppMS0V
494/738lines66.9%
241/458branches52.6%
494/738lines66.9%+0
241/458branches52.6%+0
Open PBT
…/lib/Frontend/Raising/SCFWhileToForPass.cppMS0V
164/176lines93.2%
70/94branches74.5%
164/176lines93.2%+0
70/94branches74.5%+0
Open PBT
…/loom/tools/loom-raise-opt/loom-raise-opt.cppMS0V
12/12lines100.0%
branchesnot measured
12/12lines100.0%+0
branchesnot measured
Open PBT

Review PR: Regression test from seed 62

Source passages for this PBT

Each child preserves the exact floating type, fast-math contract, source location, Ownership lineage, and source-provenance projection. It is verified and finalized through the sole Structured Program finalizer before publication to the output set. Schedule and MemoryCommunication may then form further

docs/spec-compiler-part-2-scf.md lines 1036–1039

Minimized conforming example

7lines−0lines removed

Review regression test PR

Minimized passing input
module {
llvm.func @blocked_0(%x: f32, %y: f32, %z: f32) -> f32 attributes {no_signed_zeros_fp_math = true} {
  %b0 = llvm.intr.fmuladd(%x, %y, %z) : (f32, f32, f32) -> f32 loc("fmuladd_blocked_0")
  llvm.return %x : f32
}

}

Conditions

input conditions — what generated inputs satisfy

Conforming input

module {
llvm.func @blocked_0(%x: f64, %y: f64, %z: f64) -> f64 attributes {passthrough = ["strictfp"]} {
  %b0 = llvm.intr.fmuladd(%x, %y, %z) : (f64, f64, f64) -> f64 loc("fmuladd_blocked_0")
  llvm.return %x : f64
}

llvm.func @plain_1(%x: f16, %y: f16, %z: f16) -> f16 {
  %r1_0 = llvm.intr.fmuladd(%x, %y, %z) {fastmathFlags = #llvm.fastmath<fast>} : (f16, f16, f16) -> f16 loc("fmuladd_1_0")
  llvm.return %x : f16
}

llvm.func @blocked_2(%x: f32, %y: f32, %z: f32) -> f32 attributes {reciprocal_estimates = "all"} {
  %b2 = llvm.intr.fmuladd(%x, %y, %z) : (f32, f32, f32) -> f32 loc("fmuladd_blocked_2")
  llvm.return %x : f32
}

}

2 linked-input-61 · linked input 61

The current Structured ExecutionShape generator consumes a finite set of exact Structured Program references. An empty input set produces an empty output set.

docs/spec-compiler-part-2-scf.md lines 1018–1021

3 linked-input-101 · linked input 101

llvm.intr.fmuladd remains unchanged in S0 until one typed ExecutionShape decision materializes either Fused or Split(arith.mulf, arith.addf) under the exact floating environment and fast-math contract.

docs/spec-compiler-part-2-scf.md lines 178–181

4 linked-input-127 · linked input 127

A parent containing an unresolved, exactly representable llvm.intr.fmuladd emits the canonical pair of complete Structured children:

docs/spec-compiler-part-2-scf.md lines 1021–1022

5 linked-input-165 · linked input 165

One decision applies uniformly to every unresolved fmuladd in the selected Spatial ownership of that complete parent. It never rewrites residual InstructionCore operations or operations owned by nested callables.

docs/spec-compiler-part-2-scf.md lines 1029–1034

6 linked-input-209 · linked input 209

That decision is candidate lineage and may be evaluated as a performance choice; target code generation cannot choose it implicitly. The Ownership generator selects the Spatial region but does not own this decision.

docs/spec-compiler-part-2-scf.md lines 181–185

Generator grammar · candidate.pg
// Inputs for --loom-materialize-fmuladd: S0 modules whose callable regions own
// unresolved `llvm.intr.fmuladd` operations, plus parents with no unresolved
// choice, unrepresentable intrinsics, and intrinsics owned by nested callables.

start: {new NFUNC = random.randint(0, 3); new FID = 0}
       'module {\n'
       funcs
       '}\n';

funcs: (FID < NFUNC) one_func {FID += 1} funcs
     | (FID == NFUNC) '';

one_func: {new KIND = random.choice(['plain', 'plain', 'plain', 'blocked', 'nested', 'resolved'])}
          func_form;

func_form: (KIND == 'plain') plain_func
         | (KIND == 'blocked') blocked_func
         | (KIND == 'nested') nested_func
         | (KIND == 'resolved') resolved_func;

// A complete parent owning one or two unresolved, exactly representable
// `llvm.intr.fmuladd` operations in the default floating environment.
plain_func: {new TY = random.choice(['f32', 'f64', 'f16', 'vector<4xf32>']); new NFMA = random.randint(1, 2); new K = 0}
    'llvm.func @plain_' [str(FID)] '(%x: ' [TY] ', %y: ' [TY] ', %z: ' [TY] ') -> ' [TY] ' {\n'
    residual_op
    fma_chain
    '  llvm.return %x : ' [TY] '\n'
    '}\n\n';

fma_chain: (K < NFMA) fma_op {K += 1} fma_chain
         | (K == NFMA) '';

fma_op: '  %r' [str(FID)] '_' [str(K)] ' = llvm.intr.fmuladd(%x, %y, %z) '
        fastmath_attr
        ': (' [TY] ', ' [TY] ', ' [TY] ') -> ' [TY] ' loc("fmuladd_' [str(FID)] '_' [str(K)] '")\n';

// The imported fast-math contract of the source intrinsic.
fastmath_attr: {new FM = random.choice([0, 1, 2, 3])} fastmath_body;

fastmath_body: (FM == 0) ''
             | (FM == 1) '{fastmathFlags = #llvm.fastmath<nnan>} '
             | (FM == 2) '{fastmathFlags = #llvm.fastmath<nnan, contract>} '
             | (FM == 3) '{fastmathFlags = #llvm.fastmath<fast>} ';

// Residual computation the ExecutionShape decision must leave alone.
residual_op: {new RES = random.choice([0, 1])} residual_body;

residual_body: (RES == 0) ''
             | (RES == 1) '  %m' [str(FID)] ' = llvm.fmul %x, %y : ' [TY] '\n';

// A callable stating a floating-point policy no standard operation restates:
// its intrinsic is not exactly representable and stays explicit.
blocked_func: {new TY = random.choice(['f32', 'f64']); new POLICY = random.choice([0, 1, 2])}
    'llvm.func @blocked_' [str(FID)] '(%x: ' [TY] ', %y: ' [TY] ', %z: ' [TY] ') -> ' [TY] ' '
    policy_attrs
    '{\n'
    '  %b' [str(FID)] ' = llvm.intr.fmuladd(%x, %y, %z) : (' [TY] ', ' [TY] ', ' [TY] ') -> ' [TY] ' loc("fmuladd_blocked_' [str(FID)] '")\n'
    '  llvm.return %x : ' [TY] '\n'
    '}\n\n';

policy_attrs: (POLICY == 0) 'attributes {reciprocal_estimates = "all"} '
            | (POLICY == 1) 'attributes {passthrough = ["strictfp"]} '
            | (POLICY == 2) 'attributes {no_signed_zeros_fp_math = true} ';

// A native func.func owning a nested imported llvm.func: the intrinsic belongs
// to the nested callable, which owns its own body.
nested_func: {new TY = random.choice(['f32', 'f64'])}
    'func.func @native_' [str(FID)] '(%a: ' [TY] ') -> ' [TY] ' {\n'
    '  builtin.module {\n'
    '    llvm.func @inner_' [str(FID)] '(%x: ' [TY] ', %y: ' [TY] ', %z: ' [TY] ') -> ' [TY] ' {\n'
    '      %n' [str(FID)] ' = llvm.intr.fmuladd(%x, %y, %z) {fastmathFlags = #llvm.fastmath<nnan>} : (' [TY] ', ' [TY] ', ' [TY] ') -> ' [TY] ' loc("fmuladd_nested_' [str(FID)] '")\n'
    '      llvm.return %x : ' [TY] '\n'
    '    }\n'
    '  }\n'
    '  return %a : ' [TY] '\n'
    '}\n\n';

// A parent with no unresolved selected-Spatial execution-shape choice.
resolved_func: {new TY = random.choice(['f32', 'f64'])}
    'llvm.func @resolved_' [str(FID)] '(%x: ' [TY] ', %y: ' [TY] ', %z: ' [TY] ') -> ' [TY] ' {\n'
    '  %p' [str(FID)] ' = math.fma %x, %y, %z : ' [TY] '\n'
    '  %q' [str(FID)] ' = arith.mulf %x, %y : ' [TY] '\n'
    '  %s' [str(FID)] ' = arith.addf %q' [str(FID)] ', %z : ' [TY] '\n'
    '  llvm.return %x : ' [TY] '\n'
    '}\n\n';

output condition — what every compiled pair must satisfy

fmuladd_children_preserve_source_type_and_contract · 3 assertion sites

derived from 1 passage: 1selected-output

Each child preserves the exact floating type, fast-math contract, source location, Ownership lineage, and source-provenance projection. It is verified and finalized through the sole Structured Program finalizer before publication to the output set.

Executable output condition · candidate.spct
postcondition fmuladd_children_preserve_source_type_and_contract {
  language v0;
  vocabulary mlir = mlir.generic@1;

  metadata {
    project = "PolyArch/loom";
    revision = "48615bc5925ef4b9db8b4550b5d4322933cf4b7b";
    source = "docs/spec-compiler-part-2-scf.md:L1036-L1039";
  }

  // Two dialect spellings of one fast-math contract: the imported
  // `#llvm.fastmath<...>` value of the source intrinsic and the
  // `#arith.fastmath<...>` value a standard floating operation states.
  // This is a spelling correspondence only; it neither adds nor removes a
  // flag.
  definition fastmath_spelling(): Relation<String, String> =
    set {
      ("#llvm.fastmath<none>", "#arith.fastmath<none>"),
      ("#llvm.fastmath<nnan>", "#arith.fastmath<nnan>"),
      ("#llvm.fastmath<fast>", "#arith.fastmath<fast>"),
      ("#llvm.fastmath<nnan, contract>", "#arith.fastmath<nnan,contract>"),
      ("#llvm.fastmath<nnan,contract>", "#arith.fastmath<nnan,contract>"),
      ("#llvm.fastmath<nnan, contract>", "#arith.fastmath<nnan, contract>"),
      ("#llvm.fastmath<nnan,contract>", "#arith.fastmath<nnan, contract>")
    };

  // The callables of an S0 program: an imported `llvm.func` and a native
  // `func.func`.
  definition callables(p: mlir::Program): Seq<mlir::Operation> =
    seq { op | op in p.operations
          where op.name == "llvm.func" or op.name == "func.func" };

  // The execution-shape slots the callable `f` owns, in program order: an
  // unresolved `llvm.intr.fmuladd` or the `math.fma` child materialized in its
  // place. Operations owned by a nested callable belong to that callable.
  definition owned_shape_slots(p: mlir::Program,
                               f: mlir::Operation): Seq<mlir::Operation> =
    seq { op | op in p.operations
          where (op.name == "llvm.intr.fmuladd" or op.name == "math.fma")
            and mlir::contains(f, op)
            and (none g in callables(p)
                 where g != f and mlir::contains(f, g) and mlir::contains(g, op)) };

  constraints {
    forall f in callables(output) {
      // Ownership lineage: each child stands in the same callable, at the same
      // slot, as the `llvm.intr.fmuladd` it materializes.
      assert child_preserves_exact_result_type:
        exists s in callables(input)
        where s.attributes["sym_name"].string == f.attributes["sym_name"].string
          and (forall slot in zip_exact(owned_shape_slots(output, f),
                                        owned_shape_slots(input, s))
               where slot.left.name != "math.fma"
                  or slot.left.results[0].type == slot.right.results[0].type);

      assert child_preserves_exact_operand_types:
        exists s in callables(input)
        where s.attributes["sym_name"].string == f.attributes["sym_name"].string
          and (forall slot in zip_exact(owned_shape_slots(output, f),
                                        owned_shape_slots(input, s))
               where slot.left.name != "math.fma"
                  or (forall pair in zip_exact(slot.left.operands, slot.right.operands)
                      where pair.left.type == pair.right.type));

      assert child_preserves_fastmath_contract:
        exists s in callables(input)
        where s.attributes["sym_name"].string == f.attributes["sym_name"].string
          and (forall slot in zip_exact(owned_shape_slots(output, f),
                                        owned_shape_slots(input, s))
               where slot.left.name != "math.fma"
                  or (slot.right.name == "llvm.intr.fmuladd"
                      and (slot.right.attributes["fastmathFlags"].canonical_text,
                           slot.left.attributes["fastmath"].canonical_text)
                          in fastmath_spelling())
                  or (slot.right.name == "math.fma"
                      and slot.left.attributes["fastmath"].canonical_text
                          == slot.right.attributes["fastmath"].canonical_text));
    }
  }
}
Minimized passing input
module {
llvm.func @blocked_0(%x: f32, %y: f32, %z: f32) -> f32 attributes {no_signed_zeros_fp_math = true} {
  %b0 = llvm.intr.fmuladd(%x, %y, %z) : (f32, f32, f32) -> f32 loc("fmuladd_blocked_0")
  llvm.return %x : f32
}

}

Evidence

runs: 20260911-035600 · 20260911-043029

run20260911-043029started2026-09-11T04:30:29Zsubjectloom-raise-optsubject revision48615bc5925e

run results

1000saved inputs
1000accepted

output condition verdicts

1000pass
Additional trace diagnostics

raw trace evidence

1000accepted trace samples
35distinct trace classes
1classes seen once
sample pair · seed 0

generated input

module {
llvm.func @blocked_0(%x: f64, %y: f64, %z: f64) -> f64 attributes {passthrough = ["strictfp"]} {
  %b0 = llvm.intr.fmuladd(%x, %y, %z) : (f64, f64, f64) -> f64 loc("fmuladd_blocked_0")
  llvm.return %x : f64
}

llvm.func @plain_1(%x: f16, %y: f16, %z: f16) -> f16 {
  %r1_0 = llvm.intr.fmuladd(%x, %y, %z) {fastmathFlags = #llvm.fastmath<fast>} : (f16, f16, f16) -> f16 loc("fmuladd_1_0")
  llvm.return %x : f16
}

llvm.func @blocked_2(%x: f32, %y: f32, %z: f32) -> f32 attributes {reciprocal_estimates = "all"} {
  %b2 = llvm.intr.fmuladd(%x, %y, %z) : (f32, f32, f32) -> f32 loc("fmuladd_blocked_2")
  llvm.return %x : f32
}

}

observed generic output

"builtin.module"() ({
  "llvm.func"() <{CConv = #llvm.cconv<ccc>, function_type = !llvm.func<f64 (f64, f64, f64)>, linkage = #llvm.linkage<external>, passthrough = ["strictfp"], sym_name = "blocked_0", unnamed_addr = 0 : i64, visibility_ = 0 : i64}> ({
  ^bb0(%arg6: f64, %arg7: f64, %arg8: f64):
    %2 = "llvm.intr.fmuladd"(%arg6, %arg7, %arg8) <{fastmathFlags = #llvm.fastmath<none>}> : (f64, f64, f64) -> f64
    "llvm.return"(%arg6) : (f64) -> ()
  }) : () -> ()
  "llvm.func"() <{CConv = #llvm.cconv<ccc>, function_type = !llvm.func<f16 (f16, f16, f16)>, linkage = #llvm.linkage<external>, sym_name = "plain_1", unnamed_addr = 0 : i64, visibility_ = 0 : i64}> ({
  ^bb0(%arg3: f16, %arg4: f16, %arg5: f16):
    %1 = "math.fma"(%arg3, %arg4, %arg5) <{fastmath = #arith.fastmath<fast>}> : (f16, f16, f16) -> f16
    "llvm.return"(%arg3) : (f16) -> ()
  }) : () -> ()
  "llvm.func"() <{CConv = #llvm.cconv<ccc>, function_type = !llvm.func<f32 (f32, f32, f32)>, linkage = #llvm.linkage<external>, reciprocal_estimates = "all", sym_name = "blocked_2", unnamed_addr = 0 : i64, visibility_ = 0 : i64}> ({
  ^bb0(%arg0: f32, %arg1: f32, %arg2: f32):
    %0 = "llvm.intr.fmuladd"(%arg0, %arg1, %arg2) <{fastmathFlags = #llvm.fastmath<none>}> : (f32, f32, f32) -> f32
    "llvm.return"(%arg0) : (f32) -> ()
  }) : () -> ()
}) : () -> ()

per-seed evidence (1000 seeds)
seedsubjectverdictartifacts
0accepted exit 0 · 0.615226433999851sPASSinput · generic input · output · check report
1accepted exit 0 · 0.6146091109985719sPASSinput · generic input · output · check report
2accepted exit 0 · 0.6185605610007769sPASSinput · generic input · output · check report
3accepted exit 0 · 0.6688412160001462sPASSinput · generic input · output · check report
4accepted exit 0 · 0.6280485659990518sPASSinput · generic input · output · check report
5accepted exit 0 · 0.6149493789998814sPASSinput · generic input · output · check report
6accepted exit 0 · 0.6035169400001905sPASSinput · generic input · output · check report
7accepted exit 0 · 0.6159841970002162sPASSinput · generic input · output · check report
8accepted exit 0 · 0.6522700160003296sPASSinput · generic input · output · check report
9accepted exit 0 · 0.5850404539996816sPASSinput · generic input · output · check report
10accepted exit 0 · 0.6462660390006931sPASSinput · generic input · output · check report
11accepted exit 0 · 0.6191466389991547sPASSinput · generic input · output · check report
12accepted exit 0 · 0.5966779780010256sPASSinput · generic input · output · check report
13accepted exit 0 · 0.6115373890006595sPASSinput · generic input · output · check report
14accepted exit 0 · 0.6013104699995893sPASSinput · generic input · output · check report
15accepted exit 0 · 0.6175351619986031sPASSinput · generic input · output · check report
16accepted exit 0 · 0.6429989829994156sPASSinput · generic input · output · check report
17accepted exit 0 · 0.6268828439988283sPASSinput · generic input · output · check report
18accepted exit 0 · 0.6146395480009232sPASSinput · generic input · output · check report
19accepted exit 0 · 0.5790357610003412sPASSinput · generic input · output · check report
20accepted exit 0 · 0.5972463030011568sPASSinput · generic input · output · check report
21accepted exit 0 · 0.5806220380000013sPASSinput · generic input · output · check report
22accepted exit 0 · 0.6507986380001967sPASSinput · generic input · output · check report
23accepted exit 0 · 0.5772542429986061sPASSinput · generic input · output · check report
24accepted exit 0 · 0.602809433999937sPASSinput · generic input · output · check report
25accepted exit 0 · 0.6192441739985952sPASSinput · generic input · output · check report
26accepted exit 0 · 0.6296909760003473sPASSinput · generic input · output · check report
27accepted exit 0 · 0.5941496609993919sPASSinput · generic input · output · check report
28accepted exit 0 · 0.593088607000027sPASSinput · generic input · output · check report
29accepted exit 0 · 0.6075964829997247sPASSinput · generic input · output · check report
30accepted exit 0 · 0.5837659000007989sPASSinput · generic input · output · check report
31accepted exit 0 · 0.6058517530000245sPASSinput · generic input · output · check report
32accepted exit 0 · 0.5938135689993942sPASSinput · generic input · output · check report
33accepted exit 0 · 0.6197173000000475sPASSinput · generic input · output · check report
34accepted exit 0 · 0.6088867600010417sPASSinput · generic input · output · check report
35accepted exit 0 · 0.611921400999563sPASSinput · generic input · output · check report
36accepted exit 0 · 0.6330808779985091sPASSinput · generic input · output · check report
37accepted exit 0 · 0.5892737850008416sPASSinput · generic input · output · check report
38accepted exit 0 · 1.7627531119997002sPASSinput · generic input · output · check report
39accepted exit 0 · 0.6396191380008531sPASSinput · generic input · output · check report
40accepted exit 0 · 0.6152873709997948sPASSinput · generic input · output · check report
41accepted exit 0 · 0.6277437169992481sPASSinput · generic input · output · check report
42accepted exit 0 · 0.6224949940005899sPASSinput · generic input · output · check report
43accepted exit 0 · 0.6185152390007715sPASSinput · generic input · output · check report
44accepted exit 0 · 0.6281756939988554sPASSinput · generic input · output · check report
45accepted exit 0 · 0.6178353380000772sPASSinput · generic input · output · check report
46accepted exit 0 · 0.6218814500007284sPASSinput · generic input · output · check report
47accepted exit 0 · 0.6056217610002932sPASSinput · generic input · output · check report
48accepted exit 0 · 0.5998175530003209sPASSinput · generic input · output · check report
49accepted exit 0 · 0.6247875149983884sPASSinput · generic input · output · check report
50accepted exit 0 · 0.6353559650015086sPASSinput · generic input · output · check report
51accepted exit 0 · 0.5742424059990299sPASSinput · generic input · output · check report
52accepted exit 0 · 0.6356899800011888sPASSinput · generic input · output · check report
53accepted exit 0 · 0.6182150000004185sPASSinput · generic input · output · check report
54accepted exit 0 · 0.6309139599998161sPASSinput · generic input · output · check report
55accepted exit 0 · 0.5915406790009001sPASSinput · generic input · output · check report
56accepted exit 0 · 0.6330095539997274sPASSinput · generic input · output · check report
57accepted exit 0 · 0.6415208459984569sPASSinput · generic input · output · check report
58accepted exit 0 · 0.6130113210001582sPASSinput · generic input · output · check report
59accepted exit 0 · 0.5940600690009887sPASSinput · generic input · output · check report
60accepted exit 0 · 0.6232917990000715sPASSinput · generic input · output · check report
61accepted exit 0 · 0.5998355579995405sPASSinput · generic input · output · check report
62accepted exit 0 · 0.6200623559998348sPASSinput · generic input · output · check report
63accepted exit 0 · 0.6515360730008979sPASSinput · generic input · output · check report
64accepted exit 0 · 0.6147160480013554sPASSinput · generic input · output · check report
65accepted exit 0 · 0.5989331629989465sPASSinput · generic input · output · check report
66accepted exit 0 · 0.6021947669996734sPASSinput · generic input · output · check report
67accepted exit 0 · 0.6045166799995059sPASSinput · generic input · output · check report
68accepted exit 0 · 0.5836997949991201sPASSinput · generic input · output · check report
69accepted exit 0 · 0.6230244969992782sPASSinput · generic input · output · check report
70accepted exit 0 · 0.5911489439986326sPASSinput · generic input · output · check report
71accepted exit 0 · 0.6511513080004079sPASSinput · generic input · output · check report
72accepted exit 0 · 0.5930574649992195sPASSinput · generic input · output · check report
73accepted exit 0 · 0.6245169270005135sPASSinput · generic input · output · check report
74accepted exit 0 · 0.6195546210001339sPASSinput · generic input · output · check report
75accepted exit 0 · 0.6532669240004907sPASSinput · generic input · output · check report
76accepted exit 0 · 0.6181131710000045sPASSinput · generic input · output · check report
77accepted exit 0 · 0.6164088040004572sPASSinput · generic input · output · check report
78accepted exit 0 · 0.6535710539992579sPASSinput · generic input · output · check report
79accepted exit 0 · 0.6099008630008029sPASSinput · generic input · output · check report
80accepted exit 0 · 0.6097467029994732sPASSinput · generic input · output · check report
81accepted exit 0 · 0.5978929259999859sPASSinput · generic input · output · check report
82accepted exit 0 · 0.613132364998819sPASSinput · generic input · output · check report
83accepted exit 0 · 0.6007451109999238sPASSinput · generic input · output · check report
84accepted exit 0 · 0.6475919009990321sPASSinput · generic input · output · check report
85accepted exit 0 · 0.5817507049996493sPASSinput · generic input · output · check report
86accepted exit 0 · 0.5968443980000302sPASSinput · generic input · output · check report
87accepted exit 0 · 0.615546949000418sPASSinput · generic input · output · check report
88accepted exit 0 · 0.6262834799999837sPASSinput · generic input · output · check report
89accepted exit 0 · 0.6047743079998327sPASSinput · generic input · output · check report
90accepted exit 0 · 0.5943493909999233sPASSinput · generic input · output · check report
91accepted exit 0 · 0.6199255800001993sPASSinput · generic input · output · check report
92accepted exit 0 · 0.619254897999781sPASSinput · generic input · output · check report
93accepted exit 0 · 0.5960904059993481sPASSinput · generic input · output · check report
94accepted exit 0 · 0.5956681739990017sPASSinput · generic input · output · check report
95accepted exit 0 · 0.6201159620013641sPASSinput · generic input · output · check report
96accepted exit 0 · 0.606103730000541sPASSinput · generic input · output · check report
97accepted exit 0 · 0.6422338760003186sPASSinput · generic input · output · check report
98accepted exit 0 · 0.5968584380007087sPASSinput · generic input · output · check report
99accepted exit 0 · 0.5937464109993016sPASSinput · generic input · output · check report
100accepted exit 0 · 0.42439495700000407sPASSinput · generic input · output · check report
101accepted exit 0 · 0.4777255280000645sPASSinput · generic input · output · check report
102accepted exit 0 · 0.4367718270000296sPASSinput · generic input · output · check report
103accepted exit 0 · 0.40234220000002097sPASSinput · generic input · output · check report
104accepted exit 0 · 0.4019231419999869sPASSinput · generic input · output · check report
105accepted exit 0 · 0.44921442700001535sPASSinput · generic input · output · check report
106accepted exit 0 · 0.417853839999907sPASSinput · generic input · output · check report
107accepted exit 0 · 0.5732361979999041sPASSinput · generic input · output · check report
108accepted exit 0 · 0.4183354679998956sPASSinput · generic input · output · check report
109accepted exit 0 · 0.39421385800005737sPASSinput · generic input · output · check report
110accepted exit 0 · 0.43172735600001033sPASSinput · generic input · output · check report
111accepted exit 0 · 0.42654047899986836sPASSinput · generic input · output · check report
112accepted exit 0 · 0.45967434399995sPASSinput · generic input · output · check report
113accepted exit 0 · 0.46862675500005935sPASSinput · generic input · output · check report
114accepted exit 0 · 0.40585397599988937sPASSinput · generic input · output · check report
115accepted exit 0 · 0.40447952999988956sPASSinput · generic input · output · check report
116accepted exit 0 · 0.47350648299993736sPASSinput · generic input · output · check report
117accepted exit 0 · 0.43856951899988417sPASSinput · generic input · output · check report
118accepted exit 0 · 0.43473163599992404sPASSinput · generic input · output · check report
119accepted exit 0 · 0.43976291700005277sPASSinput · generic input · output · check report
120accepted exit 0 · 0.40165625500003443sPASSinput · generic input · output · check report
121accepted exit 0 · 0.45739810700001726sPASSinput · generic input · output · check report
122accepted exit 0 · 0.4737104499999987sPASSinput · generic input · output · check report
123accepted exit 0 · 0.4746869269999934sPASSinput · generic input · output · check report
124accepted exit 0 · 0.46575290100008715sPASSinput · generic input · output · check report
125accepted exit 0 · 0.39476853599990136sPASSinput · generic input · output · check report
126accepted exit 0 · 0.43376795599988327sPASSinput · generic input · output · check report
127accepted exit 0 · 0.44995128899995507sPASSinput · generic input · output · check report
128accepted exit 0 · 0.4493769670000347sPASSinput · generic input · output · check report
129accepted exit 0 · 0.4322408450000239sPASSinput · generic input · output · check report
130accepted exit 0 · 0.4975729779998801sPASSinput · generic input · output · check report
131accepted exit 0 · 0.45022205700001905sPASSinput · generic input · output · check report
132accepted exit 0 · 0.5422614760000215sPASSinput · generic input · output · check report
133accepted exit 0 · 0.42274126699999215sPASSinput · generic input · output · check report
134accepted exit 0 · 0.5054078149998986sPASSinput · generic input · output · check report
135accepted exit 0 · 0.44340721600019606sPASSinput · generic input · output · check report
136accepted exit 0 · 0.4854951469999378sPASSinput · generic input · output · check report
137accepted exit 0 · 0.505166625999891sPASSinput · generic input · output · check report
138accepted exit 0 · 0.43300163100002464sPASSinput · generic input · output · check report
139accepted exit 0 · 0.4625859489999584sPASSinput · generic input · output · check report
140accepted exit 0 · 0.4283858589999454sPASSinput · generic input · output · check report
141accepted exit 0 · 0.4789198400001169sPASSinput · generic input · output · check report
142accepted exit 0 · 0.4861171520001335sPASSinput · generic input · output · check report
143accepted exit 0 · 0.4927439579998918sPASSinput · generic input · output · check report
144accepted exit 0 · 0.4413519009999618sPASSinput · generic input · output · check report
145accepted exit 0 · 0.4776040959998227sPASSinput · generic input · output · check report
146accepted exit 0 · 0.4539342640000541sPASSinput · generic input · output · check report
147accepted exit 0 · 0.5810279939998964sPASSinput · generic input · output · check report
148accepted exit 0 · 0.518015848999994sPASSinput · generic input · output · check report
149accepted exit 0 · 0.4404444090000652sPASSinput · generic input · output · check report
150accepted exit 0 · 0.4450978119998581sPASSinput · generic input · output · check report
151accepted exit 0 · 0.4567098039999564sPASSinput · generic input · output · check report
152accepted exit 0 · 0.4617665539999507sPASSinput · generic input · output · check report
153accepted exit 0 · 0.4980909379999048sPASSinput · generic input · output · check report
154accepted exit 0 · 0.47896652500003256sPASSinput · generic input · output · check report
155accepted exit 0 · 0.48141987199983305sPASSinput · generic input · output · check report
156accepted exit 0 · 0.48778426700005184sPASSinput · generic input · output · check report
157accepted exit 0 · 0.46038826600010907sPASSinput · generic input · output · check report
158accepted exit 0 · 0.4915065399998184sPASSinput · generic input · output · check report
159accepted exit 0 · 0.4282351940000808sPASSinput · generic input · output · check report
160accepted exit 0 · 0.4539914879999287sPASSinput · generic input · output · check report
161accepted exit 0 · 0.4316462560000218sPASSinput · generic input · output · check report
162accepted exit 0 · 0.4689978180001617sPASSinput · generic input · output · check report
163accepted exit 0 · 0.386005809000153sPASSinput · generic input · output · check report
164accepted exit 0 · 0.4430377389999194sPASSinput · generic input · output · check report
165accepted exit 0 · 0.390119408000146sPASSinput · generic input · output · check report
166accepted exit 0 · 0.4639571570000953sPASSinput · generic input · output · check report
167accepted exit 0 · 0.4212415039999087sPASSinput · generic input · output · check report
168accepted exit 0 · 0.3939133740000216sPASSinput · generic input · output · check report
169accepted exit 0 · 0.4016292080000312sPASSinput · generic input · output · check report
170accepted exit 0 · 0.4033012080001299sPASSinput · generic input · output · check report
171accepted exit 0 · 0.41538749300002564sPASSinput · generic input · output · check report
172accepted exit 0 · 0.4061075570000412sPASSinput · generic input · output · check report
173accepted exit 0 · 0.4199009849999129sPASSinput · generic input · output · check report
174accepted exit 0 · 0.43021725299990976sPASSinput · generic input · output · check report
175accepted exit 0 · 0.43084859500004313sPASSinput · generic input · output · check report
176accepted exit 0 · 0.4159074279998549sPASSinput · generic input · output · check report
177accepted exit 0 · 0.392214291000073sPASSinput · generic input · output · check report
178accepted exit 0 · 0.3951105569999527sPASSinput · generic input · output · check report
179accepted exit 0 · 0.3872647949999646sPASSinput · generic input · output · check report
180accepted exit 0 · 0.37762702800000625sPASSinput · generic input · output · check report
181accepted exit 0 · 0.40755577999993875sPASSinput · generic input · output · check report
182accepted exit 0 · 0.4639669410000806sPASSinput · generic input · output · check report
183accepted exit 0 · 0.48345323400008056sPASSinput · generic input · output · check report
184accepted exit 0 · 0.42225531600001887sPASSinput · generic input · output · check report
185accepted exit 0 · 0.4574469859999226sPASSinput · generic input · output · check report
186accepted exit 0 · 0.3873085849998006sPASSinput · generic input · output · check report
187accepted exit 0 · 0.3940919509998366sPASSinput · generic input · output · check report
188accepted exit 0 · 0.40579052199996113sPASSinput · generic input · output · check report
189accepted exit 0 · 0.3995111109998106sPASSinput · generic input · output · check report
190accepted exit 0 · 0.4435977880000337sPASSinput · generic input · output · check report
191accepted exit 0 · 0.4712871179999638sPASSinput · generic input · output · check report
192accepted exit 0 · 0.4338305220001075sPASSinput · generic input · output · check report
193accepted exit 0 · 0.4138393430000633sPASSinput · generic input · output · check report
194accepted exit 0 · 0.40116697600001316sPASSinput · generic input · output · check report
195accepted exit 0 · 0.41318439700012277sPASSinput · generic input · output · check report
196accepted exit 0 · 0.41956016499989346sPASSinput · generic input · output · check report
197accepted exit 0 · 0.41144660300005853sPASSinput · generic input · output · check report
198accepted exit 0 · 0.41906310800004576sPASSinput · generic input · output · check report
199accepted exit 0 · 0.4270853170000919sPASSinput · generic input · output · check report
200accepted exit 0 · 0.4006422370000564sPASSinput · generic input · output · check report
201accepted exit 0 · 0.4715036359998521sPASSinput · generic input · output · check report
202accepted exit 0 · 0.4350966120000521sPASSinput · generic input · output · check report
203accepted exit 0 · 0.5205774930000189sPASSinput · generic input · output · check report
204accepted exit 0 · 0.4520027309999932sPASSinput · generic input · output · check report
205accepted exit 0 · 0.5154912170000898sPASSinput · generic input · output · check report
206accepted exit 0 · 0.558254517000023sPASSinput · generic input · output · check report
207accepted exit 0 · 0.47773298600009184sPASSinput · generic input · output · check report
208accepted exit 0 · 0.5447173120001025sPASSinput · generic input · output · check report
209accepted exit 0 · 0.4669767479999791sPASSinput · generic input · output · check report
210accepted exit 0 · 0.4483213449998402sPASSinput · generic input · output · check report
211accepted exit 0 · 0.4765994150000097sPASSinput · generic input · output · check report
212accepted exit 0 · 0.4737895610001033sPASSinput · generic input · output · check report
213accepted exit 0 · 0.42865716500000417sPASSinput · generic input · output · check report
214accepted exit 0 · 0.39265169199984484sPASSinput · generic input · output · check report
215accepted exit 0 · 0.5101508879999983sPASSinput · generic input · output · check report
216accepted exit 0 · 0.4233035560000644sPASSinput · generic input · output · check report
217accepted exit 0 · 0.35992355200005477sPASSinput · generic input · output · check report
218accepted exit 0 · 0.42748372799997014sPASSinput · generic input · output · check report
219accepted exit 0 · 0.4239520870000888sPASSinput · generic input · output · check report
220accepted exit 0 · 0.4114208050000343sPASSinput · generic input · output · check report
221accepted exit 0 · 0.4351671730000817sPASSinput · generic input · output · check report
222accepted exit 0 · 0.46760013100015385sPASSinput · generic input · output · check report
223accepted exit 0 · 0.5519705169999725sPASSinput · generic input · output · check report
224accepted exit 0 · 0.4430751270001565sPASSinput · generic input · output · check report
225accepted exit 0 · 0.4953995020000548sPASSinput · generic input · output · check report
226accepted exit 0 · 0.44534259100009876sPASSinput · generic input · output · check report
227accepted exit 0 · 0.43674182199993083sPASSinput · generic input · output · check report
228accepted exit 0 · 0.467660141000124sPASSinput · generic input · output · check report
229accepted exit 0 · 0.4888077030000204sPASSinput · generic input · output · check report
230accepted exit 0 · 0.4694273479999538sPASSinput · generic input · output · check report
231accepted exit 0 · 0.48100508800007447sPASSinput · generic input · output · check report
232accepted exit 0 · 0.49249172999998336sPASSinput · generic input · output · check report
233accepted exit 0 · 0.45474756900011926sPASSinput · generic input · output · check report
234accepted exit 0 · 0.4613233109998873sPASSinput · generic input · output · check report
235accepted exit 0 · 0.5002256500001749sPASSinput · generic input · output · check report
236accepted exit 0 · 0.48844450199976563sPASSinput · generic input · output · check report
237accepted exit 0 · 0.49723963599990384sPASSinput · generic input · output · check report
238accepted exit 0 · 0.5079202059996533sPASSinput · generic input · output · check report
239accepted exit 0 · 0.4979400910001459sPASSinput · generic input · output · check report
240accepted exit 0 · 0.5088849829999162sPASSinput · generic input · output · check report
241accepted exit 0 · 0.4946617440000409sPASSinput · generic input · output · check report
242accepted exit 0 · 0.45249989199965057sPASSinput · generic input · output · check report
243accepted exit 0 · 0.4674396670002352sPASSinput · generic input · output · check report
244accepted exit 0 · 0.47546987099985927sPASSinput · generic input · output · check report
245accepted exit 0 · 0.5090775660000872sPASSinput · generic input · output · check report
246accepted exit 0 · 0.4461635269999533sPASSinput · generic input · output · check report
247accepted exit 0 · 0.5124906200003352sPASSinput · generic input · output · check report
248accepted exit 0 · 0.4543364249998376sPASSinput · generic input · output · check report
249accepted exit 0 · 0.4785506000002897sPASSinput · generic input · output · check report
250accepted exit 0 · 0.5131801570000789sPASSinput · generic input · output · check report
251accepted exit 0 · 0.5170922140000584sPASSinput · generic input · output · check report
252accepted exit 0 · 0.47548474999985046sPASSinput · generic input · output · check report
253accepted exit 0 · 0.4761612770003012sPASSinput · generic input · output · check report
254accepted exit 0 · 0.4578043480000815sPASSinput · generic input · output · check report
255accepted exit 0 · 0.46264690799989694sPASSinput · generic input · output · check report
256accepted exit 0 · 0.42812044399988736sPASSinput · generic input · output · check report
257accepted exit 0 · 0.4283204790003765sPASSinput · generic input · output · check report
258accepted exit 0 · 0.4058314449998761sPASSinput · generic input · output · check report
259accepted exit 0 · 0.4474068899999111sPASSinput · generic input · output · check report
260accepted exit 0 · 0.41138386500006163sPASSinput · generic input · output · check report
261accepted exit 0 · 0.44217683000033503sPASSinput · generic input · output · check report
262accepted exit 0 · 0.3973785709999902sPASSinput · generic input · output · check report
263accepted exit 0 · 0.4331588899999588sPASSinput · generic input · output · check report
264accepted exit 0 · 0.4547624580000047sPASSinput · generic input · output · check report
265accepted exit 0 · 0.4277755640000578sPASSinput · generic input · output · check report
266accepted exit 0 · 0.4205799249998563sPASSinput · generic input · output · check report
267accepted exit 0 · 0.42655024099985894sPASSinput · generic input · output · check report
268accepted exit 0 · 0.46015694500010795sPASSinput · generic input · output · check report
269accepted exit 0 · 0.4405840639997223sPASSinput · generic input · output · check report
270accepted exit 0 · 0.4072444749999704sPASSinput · generic input · output · check report
271accepted exit 0 · 0.3999118329998055sPASSinput · generic input · output · check report
272accepted exit 0 · 0.35068495599989546sPASSinput · generic input · output · check report
273accepted exit 0 · 0.3685214749998522sPASSinput · generic input · output · check report
274accepted exit 0 · 0.39058036400001583sPASSinput · generic input · output · check report
275accepted exit 0 · 0.4039087539999855sPASSinput · generic input · output · check report
276accepted exit 0 · 0.3909514440001658sPASSinput · generic input · output · check report
277accepted exit 0 · 0.43056989200022144sPASSinput · generic input · output · check report
278accepted exit 0 · 0.400077083999804sPASSinput · generic input · output · check report
279accepted exit 0 · 0.3921348339999895sPASSinput · generic input · output · check report
280accepted exit 0 · 0.3912992820000909sPASSinput · generic input · output · check report
281accepted exit 0 · 0.35681475900037185sPASSinput · generic input · output · check report
282accepted exit 0 · 0.5097293260000697sPASSinput · generic input · output · check report
283accepted exit 0 · 0.43869666799992046sPASSinput · generic input · output · check report
284accepted exit 0 · 0.4700549120002506sPASSinput · generic input · output · check report
285accepted exit 0 · 0.41547591400012607sPASSinput · generic input · output · check report
286accepted exit 0 · 0.381893798999954sPASSinput · generic input · output · check report
287accepted exit 0 · 0.45958672200004sPASSinput · generic input · output · check report
288accepted exit 0 · 0.47871691099999225sPASSinput · generic input · output · check report
289accepted exit 0 · 0.4178849680001804sPASSinput · generic input · output · check report
290accepted exit 0 · 0.4360732469999675sPASSinput · generic input · output · check report
291accepted exit 0 · 0.3929721109998354sPASSinput · generic input · output · check report
292accepted exit 0 · 0.4383989319999273sPASSinput · generic input · output · check report
293accepted exit 0 · 0.41687657100010256sPASSinput · generic input · output · check report
294accepted exit 0 · 0.48389934599981643sPASSinput · generic input · output · check report
295accepted exit 0 · 0.3847300460001861sPASSinput · generic input · output · check report
296accepted exit 0 · 0.4180839040000137sPASSinput · generic input · output · check report
297accepted exit 0 · 0.43287581300000966sPASSinput · generic input · output · check report
298accepted exit 0 · 0.4225063860003502sPASSinput · generic input · output · check report
299accepted exit 0 · 0.4527452560000711sPASSinput · generic input · output · check report
300accepted exit 0 · 0.45735747400021864sPASSinput · generic input · output · check report
301accepted exit 0 · 0.3670771820002301sPASSinput · generic input · output · check report
302accepted exit 0 · 0.4459661060000144sPASSinput · generic input · output · check report
303accepted exit 0 · 0.44458926700008305sPASSinput · generic input · output · check report
304accepted exit 0 · 0.39672775799999727sPASSinput · generic input · output · check report
305accepted exit 0 · 0.4435925979996682sPASSinput · generic input · output · check report
306accepted exit 0 · 0.49786330899996756sPASSinput · generic input · output · check report
307accepted exit 0 · 0.40420608400017954sPASSinput · generic input · output · check report
308accepted exit 0 · 0.41530090500009464sPASSinput · generic input · output · check report
309accepted exit 0 · 0.41995025000005626sPASSinput · generic input · output · check report
310accepted exit 0 · 0.39441133699983766sPASSinput · generic input · output · check report
311accepted exit 0 · 0.4259167640002488sPASSinput · generic input · output · check report
312accepted exit 0 · 0.41914517200029877sPASSinput · generic input · output · check report
313accepted exit 0 · 0.4742588499998419sPASSinput · generic input · output · check report
314accepted exit 0 · 0.4230902479998804sPASSinput · generic input · output · check report
315accepted exit 0 · 0.4727230299999974sPASSinput · generic input · output · check report
316accepted exit 0 · 0.4734090560000368sPASSinput · generic input · output · check report
317accepted exit 0 · 0.46096349399977044sPASSinput · generic input · output · check report
318accepted exit 0 · 0.47856670700002724sPASSinput · generic input · output · check report
319accepted exit 0 · 0.4466886949999207sPASSinput · generic input · output · check report
320accepted exit 0 · 0.5252715910000916sPASSinput · generic input · output · check report
321accepted exit 0 · 0.5308325749997493sPASSinput · generic input · output · check report
322accepted exit 0 · 0.5423099849999744sPASSinput · generic input · output · check report
323accepted exit 0 · 0.4706484969997291sPASSinput · generic input · output · check report
324accepted exit 0 · 0.49219863300004363sPASSinput · generic input · output · check report
325accepted exit 0 · 0.6356134399998155sPASSinput · generic input · output · check report
326accepted exit 0 · 0.6211739000000307sPASSinput · generic input · output · check report
327accepted exit 0 · 0.5384187449999445sPASSinput · generic input · output · check report
328accepted exit 0 · 0.5923396739999589sPASSinput · generic input · output · check report
329accepted exit 0 · 0.5348972739998317sPASSinput · generic input · output · check report
330accepted exit 0 · 0.41513639999993757sPASSinput · generic input · output · check report
331accepted exit 0 · 0.44780524600037097sPASSinput · generic input · output · check report
332accepted exit 0 · 0.48311576200012496sPASSinput · generic input · output · check report
333accepted exit 0 · 0.5537189279998529sPASSinput · generic input · output · check report
334accepted exit 0 · 0.6117695940001795sPASSinput · generic input · output · check report
335accepted exit 0 · 0.4543344039998374sPASSinput · generic input · output · check report
336accepted exit 0 · 0.4709929900000134sPASSinput · generic input · output · check report
337accepted exit 0 · 0.40948641600016344sPASSinput · generic input · output · check report
338accepted exit 0 · 0.5685775160000048sPASSinput · generic input · output · check report
339accepted exit 0 · 0.4780427850000706sPASSinput · generic input · output · check report
340accepted exit 0 · 0.4721135830000094sPASSinput · generic input · output · check report
341accepted exit 0 · 0.4682695330002389sPASSinput · generic input · output · check report
342accepted exit 0 · 0.4316079069999432sPASSinput · generic input · output · check report
343accepted exit 0 · 0.48246360499979346sPASSinput · generic input · output · check report
344accepted exit 0 · 0.4695794969998133sPASSinput · generic input · output · check report
345accepted exit 0 · 0.49065661300028296sPASSinput · generic input · output · check report
346accepted exit 0 · 0.45253587200022594sPASSinput · generic input · output · check report
347accepted exit 0 · 0.43827271100008147sPASSinput · generic input · output · check report
348accepted exit 0 · 0.45528546900004585sPASSinput · generic input · output · check report
349accepted exit 0 · 0.4215151489997879sPASSinput · generic input · output · check report
350accepted exit 0 · 0.45807680300003994sPASSinput · generic input · output · check report
351accepted exit 0 · 0.5234964710002714sPASSinput · generic input · output · check report
352accepted exit 0 · 0.4001914340001349sPASSinput · generic input · output · check report
353accepted exit 0 · 0.44131606600012674sPASSinput · generic input · output · check report
354accepted exit 0 · 0.4020745090001583sPASSinput · generic input · output · check report
355accepted exit 0 · 0.46852515000000494sPASSinput · generic input · output · check report
356accepted exit 0 · 0.4533718340003361sPASSinput · generic input · output · check report
357accepted exit 0 · 0.4599890479998976sPASSinput · generic input · output · check report
358accepted exit 0 · 0.47748365199959153sPASSinput · generic input · output · check report
359accepted exit 0 · 0.4092456140001559sPASSinput · generic input · output · check report
360accepted exit 0 · 0.43085387399969477sPASSinput · generic input · output · check report
361accepted exit 0 · 0.4661202349998348sPASSinput · generic input · output · check report
362accepted exit 0 · 0.4400229580000996sPASSinput · generic input · output · check report
363accepted exit 0 · 0.45911530400007905sPASSinput · generic input · output · check report
364accepted exit 0 · 0.5102759710002829sPASSinput · generic input · output · check report
365accepted exit 0 · 0.49784369400003925sPASSinput · generic input · output · check report
366accepted exit 0 · 0.5597773849999612sPASSinput · generic input · output · check report
367accepted exit 0 · 0.5279704689996834sPASSinput · generic input · output · check report
368accepted exit 0 · 0.5242554900000869sPASSinput · generic input · output · check report
369accepted exit 0 · 0.5152600239998719sPASSinput · generic input · output · check report
370accepted exit 0 · 0.6139139120000436sPASSinput · generic input · output · check report
371accepted exit 0 · 0.4956574550001278sPASSinput · generic input · output · check report
372accepted exit 0 · 0.45580259999996997sPASSinput · generic input · output · check report
373accepted exit 0 · 0.4195665669999471sPASSinput · generic input · output · check report
374accepted exit 0 · 0.41704289900008007sPASSinput · generic input · output · check report
375accepted exit 0 · 0.42764993499986304sPASSinput · generic input · output · check report
376accepted exit 0 · 0.45311692899986156sPASSinput · generic input · output · check report
377accepted exit 0 · 0.44485087600014594sPASSinput · generic input · output · check report
378accepted exit 0 · 0.478427319000275sPASSinput · generic input · output · check report
379accepted exit 0 · 0.4840772289999222sPASSinput · generic input · output · check report
380accepted exit 0 · 0.39269744300008824sPASSinput · generic input · output · check report
381accepted exit 0 · 0.43924160999995365sPASSinput · generic input · output · check report
382accepted exit 0 · 0.42977913799995804sPASSinput · generic input · output · check report
383accepted exit 0 · 0.44764730399992914sPASSinput · generic input · output · check report
384accepted exit 0 · 0.4201962500001173sPASSinput · generic input · output · check report
385accepted exit 0 · 0.42329018800000995sPASSinput · generic input · output · check report
386accepted exit 0 · 0.41708069600008457sPASSinput · generic input · output · check report
387accepted exit 0 · 0.44224025599987726sPASSinput · generic input · output · check report
388accepted exit 0 · 0.40695114799973453sPASSinput · generic input · output · check report
389accepted exit 0 · 0.4032878250000067sPASSinput · generic input · output · check report
390accepted exit 0 · 0.40961678899975595sPASSinput · generic input · output · check report
391accepted exit 0 · 0.40284195200001705sPASSinput · generic input · output · check report
392accepted exit 0 · 0.42798535500014623sPASSinput · generic input · output · check report
393accepted exit 0 · 0.44709666599965203sPASSinput · generic input · output · check report
394accepted exit 0 · 0.4482680859996435sPASSinput · generic input · output · check report
395accepted exit 0 · 0.5204636170001322sPASSinput · generic input · output · check report
396accepted exit 0 · 0.4882706009998401sPASSinput · generic input · output · check report
397accepted exit 0 · 0.47849974000018847sPASSinput · generic input · output · check report
398accepted exit 0 · 0.5184972280003421sPASSinput · generic input · output · check report
399accepted exit 0 · 0.5241846919998352sPASSinput · generic input · output · check report
400accepted exit 0 · 0.06367670899999212sPASSinput · generic input · output · check report
401accepted exit 0 · 0.10374558300009085sPASSinput · generic input · output · check report
402accepted exit 0 · 0.09494051599995146sPASSinput · generic input · output · check report
403accepted exit 0 · 0.11091773399994054sPASSinput · generic input · output · check report
404accepted exit 0 · 0.09695495500000106sPASSinput · generic input · output · check report
405accepted exit 0 · 0.10271913700034929sPASSinput · generic input · output · check report
406accepted exit 0 · 0.14575110499981747sPASSinput · generic input · output · check report
407accepted exit 0 · 0.08907448799982376sPASSinput · generic input · output · check report
408accepted exit 0 · 0.06022627099991951sPASSinput · generic input · output · check report
409accepted exit 0 · 0.08886975699988398sPASSinput · generic input · output · check report
410accepted exit 0 · 0.093524012999751sPASSinput · generic input · output · check report
411accepted exit 0 · 0.057093888000053994sPASSinput · generic input · output · check report
412accepted exit 0 · 0.08583598200038978sPASSinput · generic input · output · check report
413accepted exit 0 · 0.10036461000026975sPASSinput · generic input · output · check report
414accepted exit 0 · 0.10002008399987972sPASSinput · generic input · output · check report
415accepted exit 0 · 0.08622919299978093sPASSinput · generic input · output · check report
416accepted exit 0 · 0.09589430500000162sPASSinput · generic input · output · check report
417accepted exit 0 · 0.08987073800017242sPASSinput · generic input · output · check report
418accepted exit 0 · 0.09388564299979407sPASSinput · generic input · output · check report
419accepted exit 0 · 0.08618310099973314sPASSinput · generic input · output · check report
420accepted exit 0 · 0.05446063799990952sPASSinput · generic input · output · check report
421accepted exit 0 · 0.08552122099990811sPASSinput · generic input · output · check report
422accepted exit 0 · 0.08910082700003841sPASSinput · generic input · output · check report
423accepted exit 0 · 0.09189963799963152sPASSinput · generic input · output · check report
424accepted exit 0 · 0.08905597600005422sPASSinput · generic input · output · check report
425accepted exit 0 · 0.06669261500019275sPASSinput · generic input · output · check report
426accepted exit 0 · 0.08673649899992597sPASSinput · generic input · output · check report
427accepted exit 0 · 0.10596644399993238sPASSinput · generic input · output · check report
428accepted exit 0 · 0.11510268200026985sPASSinput · generic input · output · check report
429accepted exit 0 · 0.10338452399992093sPASSinput · generic input · output · check report
430accepted exit 0 · 0.12253533100010827sPASSinput · generic input · output · check report
431accepted exit 0 · 0.08947775400019964sPASSinput · generic input · output · check report
432accepted exit 0 · 0.09401056300021082sPASSinput · generic input · output · check report
433accepted exit 0 · 0.13350969699968118sPASSinput · generic input · output · check report
434accepted exit 0 · 0.09070291899979566sPASSinput · generic input · output · check report
435accepted exit 0 · 0.08745898400002261sPASSinput · generic input · output · check report
436accepted exit 0 · 0.09415267400027005sPASSinput · generic input · output · check report
437accepted exit 0 · 0.09375452699987363sPASSinput · generic input · output · check report
438accepted exit 0 · 0.04816807499992137sPASSinput · generic input · output · check report
439accepted exit 0 · 0.12301026500017542sPASSinput · generic input · output · check report
440accepted exit 0 · 0.09187728299957598sPASSinput · generic input · output · check report
441accepted exit 0 · 0.09063833700020041sPASSinput · generic input · output · check report
442accepted exit 0 · 0.13658531400005813sPASSinput · generic input · output · check report
443accepted exit 0 · 0.10247153899990735sPASSinput · generic input · output · check report
444accepted exit 0 · 0.08756526800016218sPASSinput · generic input · output · check report
445accepted exit 0 · 0.09245239399979255sPASSinput · generic input · output · check report
446accepted exit 0 · 0.09150529399994412sPASSinput · generic input · output · check report
447accepted exit 0 · 0.0947078250001141sPASSinput · generic input · output · check report
448accepted exit 0 · 0.08987218799984475sPASSinput · generic input · output · check report
449accepted exit 0 · 0.0882465240001693sPASSinput · generic input · output · check report
450accepted exit 0 · 0.08563717100014401sPASSinput · generic input · output · check report
451accepted exit 0 · 0.09744238799976301sPASSinput · generic input · output · check report
452accepted exit 0 · 0.06726261999983763sPASSinput · generic input · output · check report
453accepted exit 0 · 0.08405217400013498sPASSinput · generic input · output · check report
454accepted exit 0 · 0.0905878879998454sPASSinput · generic input · output · check report
455accepted exit 0 · 0.08483597900021778sPASSinput · generic input · output · check report
456accepted exit 0 · 0.08875268000019787sPASSinput · generic input · output · check report
457accepted exit 0 · 0.09008588599999712sPASSinput · generic input · output · check report
458accepted exit 0 · 0.08815723200041248sPASSinput · generic input · output · check report
459accepted exit 0 · 0.11714211700018495sPASSinput · generic input · output · check report
460accepted exit 0 · 0.08193853600005241sPASSinput · generic input · output · check report
461accepted exit 0 · 0.1367444490001617sPASSinput · generic input · output · check report
462accepted exit 0 · 0.08798712599991632sPASSinput · generic input · output · check report
463accepted exit 0 · 0.1054109330002575sPASSinput · generic input · output · check report
464accepted exit 0 · 0.08640142800004469sPASSinput · generic input · output · check report
465accepted exit 0 · 0.08836010000004535sPASSinput · generic input · output · check report
466accepted exit 0 · 0.09094009000000369sPASSinput · generic input · output · check report
467accepted exit 0 · 0.09810018899997885sPASSinput · generic input · output · check report
468accepted exit 0 · 0.07892958899992664sPASSinput · generic input · output · check report
469accepted exit 0 · 0.0979406609999387sPASSinput · generic input · output · check report
470accepted exit 0 · 0.064695077000124sPASSinput · generic input · output · check report
471accepted exit 0 · 0.10344642299969564sPASSinput · generic input · output · check report
472accepted exit 0 · 0.09973342599960233sPASSinput · generic input · output · check report
473accepted exit 0 · 0.0982704369998828sPASSinput · generic input · output · check report
474accepted exit 0 · 0.09749231700016026sPASSinput · generic input · output · check report
475accepted exit 0 · 0.09394317700025567sPASSinput · generic input · output · check report
476accepted exit 0 · 0.09180421800010663sPASSinput · generic input · output · check report
477accepted exit 0 · 0.08855089400003635sPASSinput · generic input · output · check report
478accepted exit 0 · 0.0940268780000224sPASSinput · generic input · output · check report
479accepted exit 0 · 0.10833542499995019sPASSinput · generic input · output · check report
480accepted exit 0 · 0.08798454299994773sPASSinput · generic input · output · check report
481accepted exit 0 · 0.04880234400025074sPASSinput · generic input · output · check report
482accepted exit 0 · 0.08696938699995371sPASSinput · generic input · output · check report
483accepted exit 0 · 0.09013285499986523sPASSinput · generic input · output · check report
484accepted exit 0 · 0.09731785200028753sPASSinput · generic input · output · check report
485accepted exit 0 · 0.10329150200004733sPASSinput · generic input · output · check report
486accepted exit 0 · 0.09173827599988726sPASSinput · generic input · output · check report
487accepted exit 0 · 0.11834879900015949sPASSinput · generic input · output · check report
488accepted exit 0 · 0.1055644680000114sPASSinput · generic input · output · check report
489accepted exit 0 · 0.09381770699974368sPASSinput · generic input · output · check report
490accepted exit 0 · 0.10604002399986712sPASSinput · generic input · output · check report
491accepted exit 0 · 0.07069317000014053sPASSinput · generic input · output · check report
492accepted exit 0 · 0.056029856000350264sPASSinput · generic input · output · check report
493accepted exit 0 · 0.11593102899996666sPASSinput · generic input · output · check report
494accepted exit 0 · 0.1009843230003753sPASSinput · generic input · output · check report
495accepted exit 0 · 0.09864702899994882sPASSinput · generic input · output · check report
496accepted exit 0 · 0.11068749400010347sPASSinput · generic input · output · check report
497accepted exit 0 · 0.11852619999990566sPASSinput · generic input · output · check report
498accepted exit 0 · 0.12714331799998035sPASSinput · generic input · output · check report
499accepted exit 0 · 0.09441577600000528sPASSinput · generic input · output · check report
500accepted exit 0 · 0.09851928199987015sPASSinput · generic input · output · check report
501accepted exit 0 · 0.11593399599996701sPASSinput · generic input · output · check report
502accepted exit 0 · 0.08859757800018997sPASSinput · generic input · output · check report
503accepted exit 0 · 0.10342428500007372sPASSinput · generic input · output · check report
504accepted exit 0 · 0.09631509900009405sPASSinput · generic input · output · check report
505accepted exit 0 · 0.09794224799998119sPASSinput · generic input · output · check report
506accepted exit 0 · 0.09092875199985428sPASSinput · generic input · output · check report
507accepted exit 0 · 0.09720183600029486sPASSinput · generic input · output · check report
508accepted exit 0 · 0.09811705799984338sPASSinput · generic input · output · check report
509accepted exit 0 · 0.09368111799994949sPASSinput · generic input · output · check report
510accepted exit 0 · 0.09736819999989166sPASSinput · generic input · output · check report
511accepted exit 0 · 0.09291821400029221sPASSinput · generic input · output · check report
512accepted exit 0 · 0.11197740800025713sPASSinput · generic input · output · check report
513accepted exit 0 · 0.10088441200014131sPASSinput · generic input · output · check report
514accepted exit 0 · 0.11111680100020749sPASSinput · generic input · output · check report
515accepted exit 0 · 0.10494879399993806sPASSinput · generic input · output · check report
516accepted exit 0 · 0.10855743100000836sPASSinput · generic input · output · check report
517accepted exit 0 · 0.1007120300000679sPASSinput · generic input · output · check report
518accepted exit 0 · 0.1061217200003739sPASSinput · generic input · output · check report
519accepted exit 0 · 0.09376371399957861sPASSinput · generic input · output · check report
520accepted exit 0 · 0.12393689700002142sPASSinput · generic input · output · check report
521accepted exit 0 · 0.08918327900028089sPASSinput · generic input · output · check report
522accepted exit 0 · 0.10895672099923104sPASSinput · generic input · output · check report
523accepted exit 0 · 0.09666880300028424sPASSinput · generic input · output · check report
524accepted exit 0 · 0.11010471000008692sPASSinput · generic input · output · check report
525accepted exit 0 · 0.08857060599984834sPASSinput · generic input · output · check report
526accepted exit 0 · 0.08691756999996869sPASSinput · generic input · output · check report
527accepted exit 0 · 0.08561294700029976sPASSinput · generic input · output · check report
528accepted exit 0 · 0.08792812799947569sPASSinput · generic input · output · check report
529accepted exit 0 · 0.09149100700051349sPASSinput · generic input · output · check report
530accepted exit 0 · 0.0867350170001373sPASSinput · generic input · output · check report
531accepted exit 0 · 0.09418990900030622sPASSinput · generic input · output · check report
532accepted exit 0 · 0.09374608000052831sPASSinput · generic input · output · check report
533accepted exit 0 · 0.10008822700001474sPASSinput · generic input · output · check report
534accepted exit 0 · 0.09072815000035916sPASSinput · generic input · output · check report
535accepted exit 0 · 0.08921748099965043sPASSinput · generic input · output · check report
536accepted exit 0 · 0.10362706599971716sPASSinput · generic input · output · check report
537accepted exit 0 · 0.09999223599970719sPASSinput · generic input · output · check report
538accepted exit 0 · 0.09066289600013988sPASSinput · generic input · output · check report
539accepted exit 0 · 0.0876364959995044sPASSinput · generic input · output · check report
540accepted exit 0 · 0.10846001299978525sPASSinput · generic input · output · check report
541accepted exit 0 · 0.09504852099962591sPASSinput · generic input · output · check report
542accepted exit 0 · 0.08785065399933956sPASSinput · generic input · output · check report
543accepted exit 0 · 0.09503642300023785sPASSinput · generic input · output · check report
544accepted exit 0 · 0.09346220599945809sPASSinput · generic input · output · check report
545accepted exit 0 · 0.06613659400045435sPASSinput · generic input · output · check report
546accepted exit 0 · 0.09692599200025143sPASSinput · generic input · output · check report
547accepted exit 0 · 0.08698933000050602sPASSinput · generic input · output · check report
548accepted exit 0 · 0.08893028000056802sPASSinput · generic input · output · check report
549accepted exit 0 · 0.11965601199972298sPASSinput · generic input · output · check report
550accepted exit 0 · 0.10847664099946996sPASSinput · generic input · output · check report
551accepted exit 0 · 0.09060670899998513sPASSinput · generic input · output · check report
552accepted exit 0 · 0.09316626899999392sPASSinput · generic input · output · check report
553accepted exit 0 · 0.09875239099983446sPASSinput · generic input · output · check report
554accepted exit 0 · 0.10286217600059899sPASSinput · generic input · output · check report
555accepted exit 0 · 0.08712127299986605sPASSinput · generic input · output · check report
556accepted exit 0 · 0.10147904899986315sPASSinput · generic input · output · check report
557accepted exit 0 · 0.09152201699998841sPASSinput · generic input · output · check report
558accepted exit 0 · 0.09068294600001536sPASSinput · generic input · output · check report
559accepted exit 0 · 0.10019855600057781sPASSinput · generic input · output · check report
560accepted exit 0 · 0.09345104900057777sPASSinput · generic input · output · check report
561accepted exit 0 · 0.09647728399977495sPASSinput · generic input · output · check report
562accepted exit 0 · 0.08538100499936263sPASSinput · generic input · output · check report
563accepted exit 0 · 0.09079993499926786sPASSinput · generic input · output · check report
564accepted exit 0 · 0.08768639000027179sPASSinput · generic input · output · check report
565accepted exit 0 · 0.08912854600021092sPASSinput · generic input · output · check report
566accepted exit 0 · 0.09925834700061387sPASSinput · generic input · output · check report
567accepted exit 0 · 0.08781619900037185sPASSinput · generic input · output · check report
568accepted exit 0 · 0.0908678020005027sPASSinput · generic input · output · check report
569accepted exit 0 · 0.048378666999269626sPASSinput · generic input · output · check report
570accepted exit 0 · 0.08307332200001838sPASSinput · generic input · output · check report
571accepted exit 0 · 0.08782570400035183sPASSinput · generic input · output · check report
572accepted exit 0 · 0.09345595099966886sPASSinput · generic input · output · check report
573accepted exit 0 · 0.09310218900009204sPASSinput · generic input · output · check report
574accepted exit 0 · 0.09334280300026876sPASSinput · generic input · output · check report
575accepted exit 0 · 0.09469437799998559sPASSinput · generic input · output · check report
576accepted exit 0 · 0.08719349700004386sPASSinput · generic input · output · check report
577accepted exit 0 · 0.09951692400045431sPASSinput · generic input · output · check report
578accepted exit 0 · 0.10338540800057672sPASSinput · generic input · output · check report
579accepted exit 0 · 0.09332575899952644sPASSinput · generic input · output · check report
580accepted exit 0 · 0.1420207710007162sPASSinput · generic input · output · check report
581accepted exit 0 · 0.07781257599981473sPASSinput · generic input · output · check report
582accepted exit 0 · 0.08860523400016973sPASSinput · generic input · output · check report
583accepted exit 0 · 0.09054494100018928sPASSinput · generic input · output · check report
584accepted exit 0 · 0.0941059699998732sPASSinput · generic input · output · check report
585accepted exit 0 · 0.08579979699970863sPASSinput · generic input · output · check report
586accepted exit 0 · 0.06513019300018641sPASSinput · generic input · output · check report
587accepted exit 0 · 0.09255104000021674sPASSinput · generic input · output · check report
588accepted exit 0 · 0.056956979000460706sPASSinput · generic input · output · check report
589accepted exit 0 · 0.09563729099954799sPASSinput · generic input · output · check report
590accepted exit 0 · 0.08451772199987317sPASSinput · generic input · output · check report
591accepted exit 0 · 0.07679934099996899sPASSinput · generic input · output · check report
592accepted exit 0 · 0.07708629999979166sPASSinput · generic input · output · check report
593accepted exit 0 · 0.053578910999931395sPASSinput · generic input · output · check report
594accepted exit 0 · 0.06555649199981417sPASSinput · generic input · output · check report
595accepted exit 0 · 0.07903473700025643sPASSinput · generic input · output · check report
596accepted exit 0 · 0.07697111000015866sPASSinput · generic input · output · check report
597accepted exit 0 · 0.06664083899977413sPASSinput · generic input · output · check report
598accepted exit 0 · 0.0648999860004551sPASSinput · generic input · output · check report
599accepted exit 0 · 0.08232192800005578sPASSinput · generic input · output · check report
600accepted exit 0 · 0.1019634109998151sPASSinput · generic input · output · check report
601accepted exit 0 · 0.1045361229998889sPASSinput · generic input · output · check report
602accepted exit 0 · 0.10969746599948849sPASSinput · generic input · output · check report
603accepted exit 0 · 0.09682833199985907sPASSinput · generic input · output · check report
604accepted exit 0 · 0.10528286900080275sPASSinput · generic input · output · check report
605accepted exit 0 · 0.10475212399978773sPASSinput · generic input · output · check report
606accepted exit 0 · 0.09624373800033936sPASSinput · generic input · output · check report
607accepted exit 0 · 0.09882689900041441sPASSinput · generic input · output · check report
608accepted exit 0 · 0.09713671600002272sPASSinput · generic input · output · check report
609accepted exit 0 · 0.09828058600032819sPASSinput · generic input · output · check report
610accepted exit 0 · 0.09361171000000468sPASSinput · generic input · output · check report
611accepted exit 0 · 0.10048810299940669sPASSinput · generic input · output · check report
612accepted exit 0 · 0.10616163899976527sPASSinput · generic input · output · check report
613accepted exit 0 · 0.10143942100057757sPASSinput · generic input · output · check report
614accepted exit 0 · 0.09114915900045162sPASSinput · generic input · output · check report
615accepted exit 0 · 0.09221724500002892sPASSinput · generic input · output · check report
616accepted exit 0 · 0.09037642899966158sPASSinput · generic input · output · check report
617accepted exit 0 · 0.09425513399946794sPASSinput · generic input · output · check report
618accepted exit 0 · 0.09773681400019996sPASSinput · generic input · output · check report
619accepted exit 0 · 0.09888078299991321sPASSinput · generic input · output · check report
620accepted exit 0 · 0.06490570000005391sPASSinput · generic input · output · check report
621accepted exit 0 · 0.09979109399955632sPASSinput · generic input · output · check report
622accepted exit 0 · 0.10842544099978113sPASSinput · generic input · output · check report
623accepted exit 0 · 0.09806274099992152sPASSinput · generic input · output · check report
624accepted exit 0 · 0.09684505499990337sPASSinput · generic input · output · check report
625accepted exit 0 · 0.09362101100032305sPASSinput · generic input · output · check report
626accepted exit 0 · 0.08161870099957014sPASSinput · generic input · output · check report
627accepted exit 0 · 0.10940488500000356sPASSinput · generic input · output · check report
628accepted exit 0 · 0.09158648199991148sPASSinput · generic input · output · check report
629accepted exit 0 · 0.0981433469996773sPASSinput · generic input · output · check report
630accepted exit 0 · 0.10008017600011954sPASSinput · generic input · output · check report
631accepted exit 0 · 0.10620964800000365sPASSinput · generic input · output · check report
632accepted exit 0 · 0.10182300099950226sPASSinput · generic input · output · check report
633accepted exit 0 · 0.09293069100021967sPASSinput · generic input · output · check report
634accepted exit 0 · 0.12573108400010824sPASSinput · generic input · output · check report
635accepted exit 0 · 0.0891302549998727sPASSinput · generic input · output · check report
636accepted exit 0 · 0.09646999999949912sPASSinput · generic input · output · check report
637accepted exit 0 · 0.09997927199947299sPASSinput · generic input · output · check report
638accepted exit 0 · 0.10567311700015125sPASSinput · generic input · output · check report
639accepted exit 0 · 0.10095593799997005sPASSinput · generic input · output · check report
640accepted exit 0 · 0.08828029300002527sPASSinput · generic input · output · check report
641accepted exit 0 · 0.10292478699921048sPASSinput · generic input · output · check report
642accepted exit 0 · 0.0994487099997059sPASSinput · generic input · output · check report
643accepted exit 0 · 0.10322540400011349sPASSinput · generic input · output · check report
644accepted exit 0 · 0.09771504500076844sPASSinput · generic input · output · check report
645accepted exit 0 · 0.09605938700042316sPASSinput · generic input · output · check report
646accepted exit 0 · 0.10756169099931867sPASSinput · generic input · output · check report
647accepted exit 0 · 0.10873407399958523sPASSinput · generic input · output · check report
648accepted exit 0 · 0.097986679999849sPASSinput · generic input · output · check report
649accepted exit 0 · 0.10026762500001496sPASSinput · generic input · output · check report
650accepted exit 0 · 0.0966799859997991sPASSinput · generic input · output · check report
651accepted exit 0 · 0.10461588300040603sPASSinput · generic input · output · check report
652accepted exit 0 · 0.10180644699994446sPASSinput · generic input · output · check report
653accepted exit 0 · 0.09657081400018797sPASSinput · generic input · output · check report
654accepted exit 0 · 0.05732589200033544sPASSinput · generic input · output · check report
655accepted exit 0 · 0.10134940100033418sPASSinput · generic input · output · check report
656accepted exit 0 · 0.11033477799992397sPASSinput · generic input · output · check report
657accepted exit 0 · 0.0947481829998651sPASSinput · generic input · output · check report
658accepted exit 0 · 0.10243892000016785sPASSinput · generic input · output · check report
659accepted exit 0 · 0.10771449900039443sPASSinput · generic input · output · check report
660accepted exit 0 · 0.09944067000014911sPASSinput · generic input · output · check report
661accepted exit 0 · 0.10719302199959202sPASSinput · generic input · output · check report
662accepted exit 0 · 0.10166392700011784sPASSinput · generic input · output · check report
663accepted exit 0 · 0.11500503700062836sPASSinput · generic input · output · check report
664accepted exit 0 · 0.11586647600051947sPASSinput · generic input · output · check report
665accepted exit 0 · 0.10433533800005534sPASSinput · generic input · output · check report
666accepted exit 0 · 0.10483065900007205sPASSinput · generic input · output · check report
667accepted exit 0 · 0.12242623099973571sPASSinput · generic input · output · check report
668accepted exit 0 · 0.1034148010003264sPASSinput · generic input · output · check report
669accepted exit 0 · 0.10000785200008977sPASSinput · generic input · output · check report
670accepted exit 0 · 0.07928862500011746sPASSinput · generic input · output · check report
671accepted exit 0 · 0.1341167439995843sPASSinput · generic input · output · check report
672accepted exit 0 · 0.10315128899947013sPASSinput · generic input · output · check report
673accepted exit 0 · 0.11377556699972047sPASSinput · generic input · output · check report
674accepted exit 0 · 0.09479507499963802sPASSinput · generic input · output · check report
675accepted exit 0 · 0.10775275499963755sPASSinput · generic input · output · check report
676accepted exit 0 · 0.12009400900024048sPASSinput · generic input · output · check report
677accepted exit 0 · 0.1046221169999626sPASSinput · generic input · output · check report
678accepted exit 0 · 0.10623212100017554sPASSinput · generic input · output · check report
679accepted exit 0 · 0.10091879100036749sPASSinput · generic input · output · check report
680accepted exit 0 · 0.06685337100043398sPASSinput · generic input · output · check report
681accepted exit 0 · 0.09674900000027264sPASSinput · generic input · output · check report
682accepted exit 0 · 0.09881268699973589sPASSinput · generic input · output · check report
683accepted exit 0 · 0.09827107000000979sPASSinput · generic input · output · check report
684accepted exit 0 · 0.11953599700063933sPASSinput · generic input · output · check report
685accepted exit 0 · 0.10220855900024617sPASSinput · generic input · output · check report
686accepted exit 0 · 0.10198873599983926sPASSinput · generic input · output · check report
687accepted exit 0 · 0.1027829490003569sPASSinput · generic input · output · check report
688accepted exit 0 · 0.08967234099964116sPASSinput · generic input · output · check report
689accepted exit 0 · 0.10164984200036997sPASSinput · generic input · output · check report
690accepted exit 0 · 0.10819498799992289sPASSinput · generic input · output · check report
691accepted exit 0 · 0.0801364700000704sPASSinput · generic input · output · check report
692accepted exit 0 · 0.11001981700064789sPASSinput · generic input · output · check report
693accepted exit 0 · 0.09816726200006087sPASSinput · generic input · output · check report
694accepted exit 0 · 0.10107485499975155sPASSinput · generic input · output · check report
695accepted exit 0 · 0.12104960899978323sPASSinput · generic input · output · check report
696accepted exit 0 · 0.10792891199980659sPASSinput · generic input · output · check report
697accepted exit 0 · 0.09473951600011787sPASSinput · generic input · output · check report
698accepted exit 0 · 0.0868087379994904sPASSinput · generic input · output · check report
699accepted exit 0 · 0.09788027699960367sPASSinput · generic input · output · check report
700accepted exit 0 · 0.10635091099993588sPASSinput · generic input · output · check report
701accepted exit 0 · 0.11196380999990652sPASSinput · generic input · output · check report
702accepted exit 0 · 0.11527980099981505sPASSinput · generic input · output · check report
703accepted exit 0 · 0.10173775099974591sPASSinput · generic input · output · check report
704accepted exit 0 · 0.10793020900018746sPASSinput · generic input · output · check report
705accepted exit 0 · 0.10125106600025902sPASSinput · generic input · output · check report
706accepted exit 0 · 0.09779939999953058sPASSinput · generic input · output · check report
707accepted exit 0 · 0.10305435600002966sPASSinput · generic input · output · check report
708accepted exit 0 · 0.10667048199957208sPASSinput · generic input · output · check report
709accepted exit 0 · 0.10113892699973803sPASSinput · generic input · output · check report
710accepted exit 0 · 0.09815175299991097sPASSinput · generic input · output · check report
711accepted exit 0 · 0.10252285699971253sPASSinput · generic input · output · check report
712accepted exit 0 · 0.10570364600062021sPASSinput · generic input · output · check report
713accepted exit 0 · 0.10554104000038933sPASSinput · generic input · output · check report
714accepted exit 0 · 0.09838122400014981sPASSinput · generic input · output · check report
715accepted exit 0 · 0.09926024699962sPASSinput · generic input · output · check report
716accepted exit 0 · 0.09938208600033249sPASSinput · generic input · output · check report
717accepted exit 0 · 0.10681031700005406sPASSinput · generic input · output · check report
718accepted exit 0 · 0.09518718199979048sPASSinput · generic input · output · check report
719accepted exit 0 · 0.1019818419999865sPASSinput · generic input · output · check report
720accepted exit 0 · 0.0995197049996932sPASSinput · generic input · output · check report
721accepted exit 0 · 0.09900179199939885sPASSinput · generic input · output · check report
722accepted exit 0 · 0.09934871399946132sPASSinput · generic input · output · check report
723accepted exit 0 · 0.10187554300046031sPASSinput · generic input · output · check report
724accepted exit 0 · 0.09721570500005328sPASSinput · generic input · output · check report
725accepted exit 0 · 0.09660407600040344sPASSinput · generic input · output · check report
726accepted exit 0 · 0.09958615100003954sPASSinput · generic input · output · check report
727accepted exit 0 · 0.09716862699951889sPASSinput · generic input · output · check report
728accepted exit 0 · 0.09640474199932214sPASSinput · generic input · output · check report
729accepted exit 0 · 0.09582126499935839sPASSinput · generic input · output · check report
730accepted exit 0 · 0.09873178599991661sPASSinput · generic input · output · check report
731accepted exit 0 · 0.09459691400024894sPASSinput · generic input · output · check report
732accepted exit 0 · 0.10109680999994453sPASSinput · generic input · output · check report
733accepted exit 0 · 0.09934165200047573sPASSinput · generic input · output · check report
734accepted exit 0 · 0.0959891209995476sPASSinput · generic input · output · check report
735accepted exit 0 · 0.09158440300052462sPASSinput · generic input · output · check report
736accepted exit 0 · 0.1012939809997988sPASSinput · generic input · output · check report
737accepted exit 0 · 0.09913538499949937sPASSinput · generic input · output · check report
738accepted exit 0 · 0.10029256000052555sPASSinput · generic input · output · check report
739accepted exit 0 · 0.11174441200000729sPASSinput · generic input · output · check report
740accepted exit 0 · 0.09528537999995024sPASSinput · generic input · output · check report
741accepted exit 0 · 0.09840801899918006sPASSinput · generic input · output · check report
742accepted exit 0 · 0.09599088499999198sPASSinput · generic input · output · check report
743accepted exit 0 · 0.08603096599927085sPASSinput · generic input · output · check report
744accepted exit 0 · 0.10149107199958962sPASSinput · generic input · output · check report
745accepted exit 0 · 0.10269320199950016sPASSinput · generic input · output · check report
746accepted exit 0 · 0.09319660399978602sPASSinput · generic input · output · check report
747accepted exit 0 · 0.09527265599990642sPASSinput · generic input · output · check report
748accepted exit 0 · 0.11052315800043289sPASSinput · generic input · output · check report
749accepted exit 0 · 0.1046742449998419sPASSinput · generic input · output · check report
750accepted exit 0 · 0.09646012800021708sPASSinput · generic input · output · check report
751accepted exit 0 · 0.11416961200029618sPASSinput · generic input · output · check report
752accepted exit 0 · 0.09756141800062323sPASSinput · generic input · output · check report
753accepted exit 0 · 0.09760584099967673sPASSinput · generic input · output · check report
754accepted exit 0 · 0.09917135399973631sPASSinput · generic input · output · check report
755accepted exit 0 · 0.09815354100010154sPASSinput · generic input · output · check report
756accepted exit 0 · 0.09348362400032784sPASSinput · generic input · output · check report
757accepted exit 0 · 0.0973276499998974sPASSinput · generic input · output · check report
758accepted exit 0 · 0.09934006099956605sPASSinput · generic input · output · check report
759accepted exit 0 · 0.09421668300001329sPASSinput · generic input · output · check report
760accepted exit 0 · 0.10080961399944499sPASSinput · generic input · output · check report
761accepted exit 0 · 0.06442962999972224sPASSinput · generic input · output · check report
762accepted exit 0 · 0.09751366900036373sPASSinput · generic input · output · check report
763accepted exit 0 · 0.09519550200002413sPASSinput · generic input · output · check report
764accepted exit 0 · 0.09880439600055979sPASSinput · generic input · output · check report
765accepted exit 0 · 0.09572222299993882sPASSinput · generic input · output · check report
766accepted exit 0 · 0.10237610900003347sPASSinput · generic input · output · check report
767accepted exit 0 · 0.09781196100084344sPASSinput · generic input · output · check report
768accepted exit 0 · 0.10297065599934285sPASSinput · generic input · output · check report
769accepted exit 0 · 0.10089256000082969sPASSinput · generic input · output · check report
770accepted exit 0 · 0.10543709200010198sPASSinput · generic input · output · check report
771accepted exit 0 · 0.09372687399991264sPASSinput · generic input · output · check report
772accepted exit 0 · 0.09750565499962249sPASSinput · generic input · output · check report
773accepted exit 0 · 0.09441341400088277sPASSinput · generic input · output · check report
774accepted exit 0 · 0.10045456799980457sPASSinput · generic input · output · check report
775accepted exit 0 · 0.10850706200017157sPASSinput · generic input · output · check report
776accepted exit 0 · 0.0960655200005931sPASSinput · generic input · output · check report
777accepted exit 0 · 0.09803330799968535sPASSinput · generic input · output · check report
778accepted exit 0 · 0.09814512800039665sPASSinput · generic input · output · check report
779accepted exit 0 · 0.09473469800013845sPASSinput · generic input · output · check report
780accepted exit 0 · 0.09749322300012864sPASSinput · generic input · output · check report
781accepted exit 0 · 0.09753882800032443sPASSinput · generic input · output · check report
782accepted exit 0 · 0.09417717999986053sPASSinput · generic input · output · check report
783accepted exit 0 · 0.0927413819999856sPASSinput · generic input · output · check report
784accepted exit 0 · 0.09535383299953537sPASSinput · generic input · output · check report
785accepted exit 0 · 0.09242926600018109sPASSinput · generic input · output · check report
786accepted exit 0 · 0.09929770500002633sPASSinput · generic input · output · check report
787accepted exit 0 · 0.09568770000078075sPASSinput · generic input · output · check report
788accepted exit 0 · 0.10330755199993291sPASSinput · generic input · output · check report
789accepted exit 0 · 0.10186908800005767sPASSinput · generic input · output · check report
790accepted exit 0 · 0.10215677899941511sPASSinput · generic input · output · check report
791accepted exit 0 · 0.09949415400024009sPASSinput · generic input · output · check report
792accepted exit 0 · 0.10499890100072662sPASSinput · generic input · output · check report
793accepted exit 0 · 0.1056000700000368sPASSinput · generic input · output · check report
794accepted exit 0 · 0.09237974400002713sPASSinput · generic input · output · check report
795accepted exit 0 · 0.07135205299982772sPASSinput · generic input · output · check report
796accepted exit 0 · 0.10038166400045156sPASSinput · generic input · output · check report
797accepted exit 0 · 0.10775138400003925sPASSinput · generic input · output · check report
798accepted exit 0 · 0.10148500699961005sPASSinput · generic input · output · check report
799accepted exit 0 · 0.09829175600043527sPASSinput · generic input · output · check report
800accepted exit 0 · 0.09709272700001748sPASSinput · generic input · output · check report
801accepted exit 0 · 0.08900804099994275sPASSinput · generic input · output · check report
802accepted exit 0 · 0.09017373900042003sPASSinput · generic input · output · check report
803accepted exit 0 · 0.09179173900065507sPASSinput · generic input · output · check report
804accepted exit 0 · 0.09373684699949081sPASSinput · generic input · output · check report
805accepted exit 0 · 0.09656980099953216sPASSinput · generic input · output · check report
806accepted exit 0 · 0.09256398100023944sPASSinput · generic input · output · check report
807accepted exit 0 · 0.09623275100057072sPASSinput · generic input · output · check report
808accepted exit 0 · 0.09187756200026342sPASSinput · generic input · output · check report
809accepted exit 0 · 0.09628010600044945sPASSinput · generic input · output · check report
810accepted exit 0 · 0.08917592200032232sPASSinput · generic input · output · check report
811accepted exit 0 · 0.0964738889997534sPASSinput · generic input · output · check report
812accepted exit 0 · 0.09028444999967178sPASSinput · generic input · output · check report
813accepted exit 0 · 0.09245162600018375sPASSinput · generic input · output · check report
814accepted exit 0 · 0.09850513600031263sPASSinput · generic input · output · check report
815accepted exit 0 · 0.08686496300015278sPASSinput · generic input · output · check report
816accepted exit 0 · 0.09685708199958754sPASSinput · generic input · output · check report
817accepted exit 0 · 0.09362906099977408sPASSinput · generic input · output · check report
818accepted exit 0 · 0.10034771400023601sPASSinput · generic input · output · check report
819accepted exit 0 · 0.09563671399973828sPASSinput · generic input · output · check report
820accepted exit 0 · 0.09165032399960182sPASSinput · generic input · output · check report
821accepted exit 0 · 0.09497828900020977sPASSinput · generic input · output · check report
822accepted exit 0 · 0.08882451899989974sPASSinput · generic input · output · check report
823accepted exit 0 · 0.09583429000031174sPASSinput · generic input · output · check report
824accepted exit 0 · 0.10262131200033764sPASSinput · generic input · output · check report
825accepted exit 0 · 0.09489702900009434sPASSinput · generic input · output · check report
826accepted exit 0 · 0.09329952400003094sPASSinput · generic input · output · check report
827accepted exit 0 · 0.09515882000050624sPASSinput · generic input · output · check report
828accepted exit 0 · 0.08866194300026109sPASSinput · generic input · output · check report
829accepted exit 0 · 0.09408471999995527sPASSinput · generic input · output · check report
830accepted exit 0 · 0.09637542900054541sPASSinput · generic input · output · check report
831accepted exit 0 · 0.09613167699990299sPASSinput · generic input · output · check report
832accepted exit 0 · 0.08220164999966073sPASSinput · generic input · output · check report
833accepted exit 0 · 0.0898750430005748sPASSinput · generic input · output · check report
834accepted exit 0 · 0.08846133400038525sPASSinput · generic input · output · check report
835accepted exit 0 · 0.09281063599974004sPASSinput · generic input · output · check report
836accepted exit 0 · 0.0929570110001805sPASSinput · generic input · output · check report
837accepted exit 0 · 0.0901359979998233sPASSinput · generic input · output · check report
838accepted exit 0 · 0.09551590399951237sPASSinput · generic input · output · check report
839accepted exit 0 · 0.09410497000044415sPASSinput · generic input · output · check report
840accepted exit 0 · 0.09812128399971698sPASSinput · generic input · output · check report
841accepted exit 0 · 0.09329629200055933sPASSinput · generic input · output · check report
842accepted exit 0 · 0.09845355699962965sPASSinput · generic input · output · check report
843accepted exit 0 · 0.11067540699968959sPASSinput · generic input · output · check report
844accepted exit 0 · 0.10536142299952189sPASSinput · generic input · output · check report
845accepted exit 0 · 0.09023646600053326sPASSinput · generic input · output · check report
846accepted exit 0 · 0.09354641599929892sPASSinput · generic input · output · check report
847accepted exit 0 · 0.09147006900002452sPASSinput · generic input · output · check report
848accepted exit 0 · 0.09830433499973878sPASSinput · generic input · output · check report
849accepted exit 0 · 0.10158140399926197sPASSinput · generic input · output · check report
850accepted exit 0 · 0.09649920799984102sPASSinput · generic input · output · check report
851accepted exit 0 · 0.09842149099949893sPASSinput · generic input · output · check report
852accepted exit 0 · 0.1039390750001985sPASSinput · generic input · output · check report
853accepted exit 0 · 0.05524718800006667sPASSinput · generic input · output · check report
854accepted exit 0 · 0.13690323599985277sPASSinput · generic input · output · check report
855accepted exit 0 · 0.1061799550006981sPASSinput · generic input · output · check report
856accepted exit 0 · 0.10314201399978629sPASSinput · generic input · output · check report
857accepted exit 0 · 0.10707575000014913sPASSinput · generic input · output · check report
858accepted exit 0 · 0.10410889400009182sPASSinput · generic input · output · check report
859accepted exit 0 · 0.10451066799942055sPASSinput · generic input · output · check report
860accepted exit 0 · 0.10095235700009653sPASSinput · generic input · output · check report
861accepted exit 0 · 0.10099497600003815sPASSinput · generic input · output · check report
862accepted exit 0 · 0.09741246799967485sPASSinput · generic input · output · check report
863accepted exit 0 · 0.10313395399953151sPASSinput · generic input · output · check report
864accepted exit 0 · 0.10123896000004606sPASSinput · generic input · output · check report
865accepted exit 0 · 0.11028407400044671sPASSinput · generic input · output · check report
866accepted exit 0 · 0.09599631099990802sPASSinput · generic input · output · check report
867accepted exit 0 · 0.0945482279994394sPASSinput · generic input · output · check report
868accepted exit 0 · 0.0934905220001383sPASSinput · generic input · output · check report
869accepted exit 0 · 0.10137472599944886sPASSinput · generic input · output · check report
870accepted exit 0 · 0.10009033299957082sPASSinput · generic input · output · check report
871accepted exit 0 · 0.09293919699939579sPASSinput · generic input · output · check report
872accepted exit 0 · 0.09895310499996413sPASSinput · generic input · output · check report
873accepted exit 0 · 0.09683411799960595sPASSinput · generic input · output · check report
874accepted exit 0 · 0.09849463699993066sPASSinput · generic input · output · check report
875accepted exit 0 · 0.09619633199963573sPASSinput · generic input · output · check report
876accepted exit 0 · 0.09809709299952374sPASSinput · generic input · output · check report
877accepted exit 0 · 0.09502389699991909sPASSinput · generic input · output · check report
878accepted exit 0 · 0.09774282200032758sPASSinput · generic input · output · check report
879accepted exit 0 · 0.06080613199992513sPASSinput · generic input · output · check report
880accepted exit 0 · 0.1014757559996724sPASSinput · generic input · output · check report
881accepted exit 0 · 0.10189269100010279sPASSinput · generic input · output · check report
882accepted exit 0 · 0.09812703900024644sPASSinput · generic input · output · check report
883accepted exit 0 · 0.10227918500004307sPASSinput · generic input · output · check report
884accepted exit 0 · 0.10065327800020896sPASSinput · generic input · output · check report
885accepted exit 0 · 0.10438062299999729sPASSinput · generic input · output · check report
886accepted exit 0 · 0.09258279100049549sPASSinput · generic input · output · check report
887accepted exit 0 · 0.09555319900027825sPASSinput · generic input · output · check report
888accepted exit 0 · 0.09649156700015737sPASSinput · generic input · output · check report
889accepted exit 0 · 0.11260685500019463sPASSinput · generic input · output · check report
890accepted exit 0 · 0.0959587190000093sPASSinput · generic input · output · check report
891accepted exit 0 · 0.0995139200003905sPASSinput · generic input · output · check report
892accepted exit 0 · 0.10024235199944087sPASSinput · generic input · output · check report
893accepted exit 0 · 0.09700972600057867sPASSinput · generic input · output · check report
894accepted exit 0 · 0.10161274200072512sPASSinput · generic input · output · check report
895accepted exit 0 · 0.1132690240001466sPASSinput · generic input · output · check report
896accepted exit 0 · 0.09684119400026248sPASSinput · generic input · output · check report
897accepted exit 0 · 0.09818761099995754sPASSinput · generic input · output · check report
898accepted exit 0 · 0.09245180700054334sPASSinput · generic input · output · check report
899accepted exit 0 · 0.100240567999208sPASSinput · generic input · output · check report
900accepted exit 0 · 0.08765686999959144sPASSinput · generic input · output · check report
901accepted exit 0 · 0.09981094599970675sPASSinput · generic input · output · check report
902accepted exit 0 · 0.08546907199979614sPASSinput · generic input · output · check report
903accepted exit 0 · 0.08539827799995692sPASSinput · generic input · output · check report
904accepted exit 0 · 0.09111348500027816sPASSinput · generic input · output · check report
905accepted exit 0 · 0.08704663000025903sPASSinput · generic input · output · check report
906accepted exit 0 · 0.08866770100030408sPASSinput · generic input · output · check report
907accepted exit 0 · 0.08932576999995945sPASSinput · generic input · output · check report
908accepted exit 0 · 0.09013378000054217sPASSinput · generic input · output · check report
909accepted exit 0 · 0.08705953400021826sPASSinput · generic input · output · check report
910accepted exit 0 · 0.09500151199972606sPASSinput · generic input · output · check report
911accepted exit 0 · 0.08870657399984339sPASSinput · generic input · output · check report
912accepted exit 0 · 0.08898916499947518sPASSinput · generic input · output · check report
913accepted exit 0 · 0.09451490500032378sPASSinput · generic input · output · check report
914accepted exit 0 · 0.09618293499988795sPASSinput · generic input · output · check report
915accepted exit 0 · 0.09481962900008511sPASSinput · generic input · output · check report
916accepted exit 0 · 0.09374906400080363sPASSinput · generic input · output · check report
917accepted exit 0 · 0.09320668300006218sPASSinput · generic input · output · check report
918accepted exit 0 · 0.0940341499999704sPASSinput · generic input · output · check report
919accepted exit 0 · 0.10062340200056497sPASSinput · generic input · output · check report
920accepted exit 0 · 0.09460120700077823sPASSinput · generic input · output · check report
921accepted exit 0 · 0.09109000799981004sPASSinput · generic input · output · check report
922accepted exit 0 · 0.0951346410001861sPASSinput · generic input · output · check report
923accepted exit 0 · 0.10507527099980507sPASSinput · generic input · output · check report
924accepted exit 0 · 0.09564032199978101sPASSinput · generic input · output · check report
925accepted exit 0 · 0.10140812800000276sPASSinput · generic input · output · check report
926accepted exit 0 · 0.09382305199960683sPASSinput · generic input · output · check report
927accepted exit 0 · 0.0983415150003566sPASSinput · generic input · output · check report
928accepted exit 0 · 0.10000103899983515sPASSinput · generic input · output · check report
929accepted exit 0 · 0.09554766699966422sPASSinput · generic input · output · check report
930accepted exit 0 · 0.08910791599919321sPASSinput · generic input · output · check report
931accepted exit 0 · 0.09237142900019535sPASSinput · generic input · output · check report
932accepted exit 0 · 0.0932322690005094sPASSinput · generic input · output · check report
933accepted exit 0 · 0.09646191699994233sPASSinput · generic input · output · check report
934accepted exit 0 · 0.09249980000004143sPASSinput · generic input · output · check report
935accepted exit 0 · 0.08920223299992358sPASSinput · generic input · output · check report
936accepted exit 0 · 0.09406336200026999sPASSinput · generic input · output · check report
937accepted exit 0 · 0.0907110529997226sPASSinput · generic input · output · check report
938accepted exit 0 · 0.09148501999970904sPASSinput · generic input · output · check report
939accepted exit 0 · 0.0934117859997059sPASSinput · generic input · output · check report
940accepted exit 0 · 0.09750501899998198sPASSinput · generic input · output · check report
941accepted exit 0 · 0.09802748200036149sPASSinput · generic input · output · check report
942accepted exit 0 · 0.09739782700034993sPASSinput · generic input · output · check report
943accepted exit 0 · 0.0951808149993667sPASSinput · generic input · output · check report
944accepted exit 0 · 0.09806656599994312sPASSinput · generic input · output · check report
945accepted exit 0 · 0.09349581299920828sPASSinput · generic input · output · check report
946accepted exit 0 · 0.09478511900033482sPASSinput · generic input · output · check report
947accepted exit 0 · 0.09611254799983726sPASSinput · generic input · output · check report
948accepted exit 0 · 0.09414461399956053sPASSinput · generic input · output · check report
949accepted exit 0 · 0.08797388000039064sPASSinput · generic input · output · check report
950accepted exit 0 · 0.08731160300067131sPASSinput · generic input · output · check report
951accepted exit 0 · 0.09344555699954071sPASSinput · generic input · output · check report
952accepted exit 0 · 0.09205523099990387sPASSinput · generic input · output · check report
953accepted exit 0 · 0.08801774200037471sPASSinput · generic input · output · check report
954accepted exit 0 · 0.08730160400045861sPASSinput · generic input · output · check report
955accepted exit 0 · 0.09229182499984745sPASSinput · generic input · output · check report
956accepted exit 0 · 0.0874244250007905sPASSinput · generic input · output · check report
957accepted exit 0 · 0.0981567039998481sPASSinput · generic input · output · check report
958accepted exit 0 · 0.09361111799989885sPASSinput · generic input · output · check report
959accepted exit 0 · 0.09923584399984975sPASSinput · generic input · output · check report
960accepted exit 0 · 0.09201335099987773sPASSinput · generic input · output · check report
961accepted exit 0 · 0.09848712500024703sPASSinput · generic input · output · check report
962accepted exit 0 · 0.09601231699980417sPASSinput · generic input · output · check report
963accepted exit 0 · 0.0954843230001643sPASSinput · generic input · output · check report
964accepted exit 0 · 0.09690541799955099sPASSinput · generic input · output · check report
965accepted exit 0 · 0.09506765900005121sPASSinput · generic input · output · check report
966accepted exit 0 · 0.10392267499992158sPASSinput · generic input · output · check report
967accepted exit 0 · 0.10647636000066996sPASSinput · generic input · output · check report
968accepted exit 0 · 0.11477453899988177sPASSinput · generic input · output · check report
969accepted exit 0 · 0.13300407899987476sPASSinput · generic input · output · check report
970accepted exit 0 · 0.11306806599986885sPASSinput · generic input · output · check report
971accepted exit 0 · 0.12334214299971791sPASSinput · generic input · output · check report
972accepted exit 0 · 0.11535079300028883sPASSinput · generic input · output · check report
973accepted exit 0 · 0.11157688000002963sPASSinput · generic input · output · check report
974accepted exit 0 · 0.11244963200078928sPASSinput · generic input · output · check report
975accepted exit 0 · 0.11631582900008652sPASSinput · generic input · output · check report
976accepted exit 0 · 0.11618771699977515sPASSinput · generic input · output · check report
977accepted exit 0 · 0.10095099999944068sPASSinput · generic input · output · check report
978accepted exit 0 · 0.0977453069999683sPASSinput · generic input · output · check report
979accepted exit 0 · 0.10592351800005417sPASSinput · generic input · output · check report
980accepted exit 0 · 0.08897701400019287sPASSinput · generic input · output · check report
981accepted exit 0 · 0.09545331299977988sPASSinput · generic input · output · check report
982accepted exit 0 · 0.09086875400043937sPASSinput · generic input · output · check report
983accepted exit 0 · 0.09164751900061674sPASSinput · generic input · output · check report
984accepted exit 0 · 0.08715613700042013sPASSinput · generic input · output · check report
985accepted exit 0 · 0.09010110799954418sPASSinput · generic input · output · check report
986accepted exit 0 · 0.09345707400007086sPASSinput · generic input · output · check report
987accepted exit 0 · 0.0905506939998304sPASSinput · generic input · output · check report
988accepted exit 0 · 0.09113650699964637sPASSinput · generic input · output · check report
989accepted exit 0 · 0.08897394700034056sPASSinput · generic input · output · check report
990accepted exit 0 · 0.08496515200022259sPASSinput · generic input · output · check report
991accepted exit 0 · 0.08946791600010329sPASSinput · generic input · output · check report
992accepted exit 0 · 0.08808902099917759sPASSinput · generic input · output · check report
993accepted exit 0 · 0.08555192600033479sPASSinput · generic input · output · check report
994accepted exit 0 · 0.08899427400046989sPASSinput · generic input · output · check report
995accepted exit 0 · 0.08643499800018617sPASSinput · generic input · output · check report
996accepted exit 0 · 0.09067082000001392sPASSinput · generic input · output · check report
997accepted exit 0 · 0.08825134600010642sPASSinput · generic input · output · check report
998accepted exit 0 · 0.08631367900125042sPASSinput · generic input · output · check report
999accepted exit 0 · 0.0904423690008116sPASSinput · generic input · output · check report
How this PBT was generated and reviewed

paired production revision · manifest.json · review.json

partial source coverage: Approved to run and display existing artifacts; accuracy and completeness are measured separately.

Independent replay: 20 generated, 20 compiler-accepted; checker verdicts {"PASS": 20}. Compiler binary and revision identities matched.

Covered requirements

  • Fused-child operand/result types and sampled fast-math spelling preservation.

Uncovered requirements

  • Partial: only fused materialization, comparing types and a small fast-math spelling table by callable name and slot position. Does not check source location, Ownership lineage, source-provenance projection, sole-finalizer use or output-set publication. Locations are omitted by the command printer. 14 outputs contain math.fma (including potentially preexisting operations); that is not a count of newly materialized children. Empty output passes.
Agent-selected pinned authoring context · authoring-context.json
{"entries":[{"file_sha256":"bfc1e646e91fe0ba6d7d16e43994100b05c3b8ff79c2e07288e8955c43d9d79d","kind":"documentation_input","lines":"1018-1034","path":"docs/spec-compiler-part-2-scf.md","roles":["input_construction","input_well_formedness","applicability"],"text":"The current Structured ExecutionShape generator consumes a finite set of exact\nStructured Program references. An empty input set produces an empty output\nset. A parent with no unresolved selected-Spatial execution-shape choice passes\nthrough unchanged. A parent containing an unresolved, exactly representable\n`llvm.intr.fmuladd` emits the canonical pair of complete Structured children:\n\n```text\nFused -> math.fma\nSplit -> arith.mulf followed by arith.addf\n```\n\nOne decision applies uniformly to every unresolved `fmuladd` in the selected\nSpatial ownership of that complete parent. It never rewrites residual\nInstructionCore operations or operations owned by nested callables. This is a\ntwo-element semantic policy domain, not one independent Boolean dimension per\noperation. Distinct per-operation combinations are not part of the current\ncontract.","why":"Normative input conditions of the Structured ExecutionShape generator: a finite set of Structured Program references, an empty input set, a parent with no unresolved choice, a parent owning an unresolved exactly representable llvm.intr.fmuladd, the two-element Fused/Split policy domain applied uniformly to every unresolved fmuladd of one parent, and the exclusion of residual InstructionCore operations and operations owned by nested callables. Determines the sampled module shapes (empty module, resolved parent, plain parent with one or two fmuladds, nested callable) and the per-callable slot scoping of the postcondition."},{"file_sha256":"bfc1e646e91fe0ba6d7d16e43994100b05c3b8ff79c2e07288e8955c43d9d79d","kind":"documentation_input","lines":"1036-1044","path":"docs/spec-compiler-part-2-scf.md","roles":["context"],"text":"Each child preserves the exact floating type, fast-math contract, source\nlocation, Ownership lineage, and source-provenance projection. It is verified\nand finalized through the sole Structured Program finalizer before publication\nto the output set. Schedule and MemoryCommunication may then form further\ncomplete Structured children. The terminal SpecialMathAccuracy generator is\nthe selected-Spatial semantic-closure gate that first lowers the final complete\ncandidate to D0 and checks exact concrete Fabric admission. No unresolved\nparent, mixed Fused/Split child, hidden backend default, or\ntarget-code-generation choice may cross the ExecutionShape boundary.","why":"Governing context of the sampled obligation; fixes the terminology (child, Fused/Split, ExecutionShape boundary) in which the selected output condition about preserving the exact floating type, fast-math contract, source location and Ownership lineage is read. Used for terminology only; no extra constraint is derived from it."},{"file_sha256":"bfc1e646e91fe0ba6d7d16e43994100b05c3b8ff79c2e07288e8955c43d9d79d","kind":"documentation_input","lines":"177-186","path":"docs/spec-compiler-part-2-scf.md","roles":["input_construction","applicability"],"text":"FMA normalization is semantic rather than name based. An exact fused LLVM FMA\nbecomes `math.fma`. `llvm.intr.fmuladd` remains unchanged in S0 until one typed\n`ExecutionShape` decision materializes either `Fused` or\n`Split(arith.mulf, arith.addf)` under the exact floating environment and\nfast-math contract. That decision is candidate lineage and may be evaluated as\na performance choice; target code generation cannot choose it implicitly. The\nOwnership generator selects the Spatial region but does not own this decision.\nThe ExecutionShape generator resolves it before Schedule or Dataflow lowering\nmay consume the candidate. After materialization, no `fmuladd` operation may\nremain in a finalizable Sn or be registered as a Canonical Dataflow actor.","why":"States that llvm.intr.fmuladd remains unchanged in S0 until one typed ExecutionShape decision materializes Fused or Split(arith.mulf, arith.addf) under the exact floating environment and fast-math contract, and that the ExecutionShape generator owns that decision. Establishes that the subject stage is loom-materialize-fmuladd with an explicit shape and that the sampled inputs are S0 callables still carrying the intrinsic."},{"file_sha256":"bfc1e646e91fe0ba6d7d16e43994100b05c3b8ff79c2e07288e8955c43d9d79d","kind":"documentation_input","lines":"166-175","path":"docs/spec-compiler-part-2-scf.md","roles":["input_well_formedness"],"text":"The LLVM dialect `passthrough` function attribute is an importer-owned lossless\ncontainer, not a floating-point-environment authority. Mechanical raising uses\none closed classifier owned by the exact-spelling projection. Typed LLVM\nfloating environment attributes, `strictfp`, incompatible exception policy,\nand unknown string attributes block standard spelling. LLVM enum function\nattributes and explicitly classified code-generation-only strings do not.\nClang's default `no-trapping-math=true` is compatible with the ordinary\nnon-constrained floating operation spelling; any other value fails closed.\nOwnership materialization and Dataflow lowering never reinterpret this\nclassification.","why":"The closed classifier for the LLVM passthrough attribute and typed floating-environment attributes: strictfp and unknown string attributes block standard spelling. Justifies the sampled non-representable callables (passthrough strictfp, reciprocal_estimates, no_signed_zeros_fp_math) whose intrinsics must stay explicit, so the postcondition must tolerate unmaterialized slots."},{"file_sha256":"2b0705aba1c16c80e5338d443989a9cdcbac47a60c140bff5b886c617a9f9a8f","kind":"implementation","lines":"1-33,135-165","path":"lib/Frontend/Raising/MaterializeFMulAddPass.cpp","roles":["applicability","input_construction"],"text":"// Materialize the execution shape of `llvm.intr.fmuladd`.\n//\n// `llvm.intr.fmuladd` is not a computation, it is an unmade choice: the target\n// may contract it into one fused multiply-add with a single rounding, or\n// evaluate an ordinary multiply followed by an ordinary add with two. The two\n// results differ, so nothing downstream may pick one implicitly and no shape\n// can be inferred from the intrinsic spelling. Mechanical raising therefore\n// leaves the intrinsic alone, and this pass materializes exactly the one shape\n// its caller selected:\n//\n//   Fused -> math.fma\n//   Split -> arith.mulf then arith.addf\n//\n// The two shapes differ in what they permit, not only in what they spell.\n// Fused carries the complete source fast-math contract onto the one fused\n// operation. Split consumes the source's `contract` permission: the multiply\n// and the add each round on their own, and neither may be contracted back\n// into a single rounding by a later pass or by target code generation.\n//\n// The selected shape is the entire decision this pass makes, so it is a\n// required typed option rather than a defaulted one, in the same shape as the\n// typed Dataflow rewrite catalog.\n//\n// A materialization is legal only when the target operations restate the whole\n// source computation: exact numeric types, the operation's fast-math contract,\n// the default floating-point environment the intrinsic is evaluated in, and\n// the enclosing callable's floating-point environment. `math.fma` and the\n// `arith` floating operations state no environment of their own, so a callable\n// stating one that they cannot restate cannot receive either shape.\n//\n// Representability is intrinsic-local. An intrinsic whose complete semantics\n// the selected standard form cannot restate remains explicit; it does not\n// prevent representable siblings from receiving the selected shape.\n  ::llvm::StringRef getArgument() const final {\n    return \"loom-materialize-fmuladd\";\n  }\n  ::llvm::StringRef getDescription() const final {\n    return \"Materialize one selected execution shape for each exactly \"\n           \"representable llvm.intr.fmuladd in callable regions.\";\n  }\n\n  void getDependentDialects(::mlir::DialectRegistry &registry) const final {\n    registry.insert<::mlir::arith::ArithDialect, ::mlir::LLVM::LLVMDialect,\n                    ::mlir::math::MathDialect>();\n  }\n\n  // The shape is the decision, so there is no default: silently choosing one\n  // would materialize a form the caller never selected.\n  ::mlir::Pass::Option<FMulAddExecutionShape> shape{\n      *this, \"shape\",\n      ::llvm::cl::desc(\"execution shape to materialize for llvm.intr.fmuladd\"),\n      ::llvm::cl::values(\n          clEnumValN(FMulAddExecutionShape::Fused, \"fused\",\n                     \"one math.fma with a single rounding\"),\n          clEnumValN(FMulAddExecutionShape::Split, \"split\",\n                     \"an arith.mulf followed by an arith.addf\"))};\n\n  void runOnOperation() final {\n    if (!shape.hasValue()) {\n      getOperation()->emitError(\n          \"loom-materialize-fmuladd requires an explicit 'shape' option\");\n      return signalPassFailure();\n    }","why":"The stage under test: pass argument string loom-materialize-fmuladd, the required typed 'shape' option with no default (fused -> math.fma, split -> arith.mulf then arith.addf), the fail-closed error when no shape is supplied, and the statement that a materialization keeps the source location and the exact operand and result types. Fixes the subject-command flags and confirms the output population the obligation constrains."},{"file_sha256":"2b0705aba1c16c80e5338d443989a9cdcbac47a60c140bff5b886c617a9f9a8f","kind":"implementation","lines":"59-98","path":"lib/Frontend/Raising/MaterializeFMulAddPass.cpp","roles":["context"],"text":"void materializeOne(::mlir::LLVM::FMulAddOp op, FMulAddExecutionShape shape,\n                    ::mlir::IRRewriter &rewriter) {\n  rewriter.setInsertionPoint(op);\n  ::mlir::Location loc = op.getLoc();\n  ::mlir::Type type = op.getRes().getType();\n  ::mlir::arith::FastMathFlags fastmath =\n      loom::raising::exactFastMathFlags(op.getFastmathFlags());\n  // No materialized operation states a rounding mode. An arith or math\n  // operation that states one is a constrained operation: standard lowering\n  // turns it into `llvm.intr.experimental.constrained.*` under an explicit\n  // rounding and exception mode, and drops the fast-math flags on the way.\n  // llvm.intr.fmuladd is an ordinary non-constrained intrinsic in the default\n  // environment, so both shapes leave the mode absent and lower back to\n  // ordinary LLVM floating operations.\n  if (shape == FMulAddExecutionShape::Fused) {\n    // Fusing is what the shape decided, so the complete source contract,\n    // `contract` included, carries onto the one fused operation.\n    rewriter.replaceOpWithNewOp<::mlir::math::FmaOp>(\n        op, type, op.getA(), op.getB(), op.getC(), fastmath);\n    return;\n  }\n\n  // `contract` is the source's permission to fuse this multiply and add into\n  // one rounding. Selecting Split is the decision that declines it, so the\n  // permission is consumed here rather than restated on the result: a\n  // multiply and an add that still carried it would let any later contraction\n  // -- upstream's own arith-to-math.fma uplift, or a backend -- re-fuse them\n  // and silently undo the shape. Every other source flag is a property of the\n  // computation, not of fusion, and carries onto both operations unchanged.\n  ::mlir::arith::FastMathFlags split = ::mlir::arith::bitEnumClear(\n      fastmath, ::mlir::arith::FastMathFlags::contract);\n\n  auto product =\n      ::mlir::arith::MulFOp::create(rewriter, loc, type, op.getA(), op.getB());\n  product.setFastmath(split);\n  auto sum = ::mlir::arith::AddFOp::create(rewriter, loc, type,\n                                           product.getResult(), op.getC());\n  sum.setFastmath(split);\n  rewriter.replaceOp(op, sum);\n}","why":"Acceptance behaviour of one materialization: the Fused child carries the complete source fast-math contract, while the Split children clear the contract permission. Evidence for the stage-attribution note in AUTHORING-RESULT.md and for selecting shape=fused, whose child is the one the documented preservation wording holds of literally."},{"file_sha256":"fc8794a0235430f2ab7b87b0fb63e4991acfa052ab630501b484fce956154a56","kind":"verifier","lines":"35-52,123-161","path":"lib/Frontend/Raising/ExactStandardSpelling.h","roles":["input_well_formedness","applicability"],"text":"inline bool isExactNumericType(::mlir::Type type) {\n  if (auto vectorType = ::mlir::dyn_cast<::mlir::VectorType>(type)) {\n    if (vectorType.isScalable())\n      return false;\n    type = vectorType.getElementType();\n  }\n  if (auto integerType = ::mlir::dyn_cast<::mlir::IntegerType>(type))\n    return integerType.isSignless() && integerType.getWidth() > 0;\n  return ::mlir::isa<::mlir::IndexType, ::mlir::FloatType>(type);\n}\n\ninline bool allExactNumericTypes(::mlir::ValueRange values) {\n  for (::mlir::Value value : values) {\n    if (!isExactNumericType(value.getType()))\n      return false;\n  }\n  return true;\n}\ninline bool statesFloatingPolicy(::mlir::LLVM::LLVMFuncOp funcOp) {\n  if (auto env = funcOp.getDenormalFpenvAttr())\n    if (!statesDefaultDenormalEnvironment(env))\n      return true;\n  if (auto noSignedZeros = funcOp.getNoSignedZerosFpMathAttr())\n    if (noSignedZeros.getValue())\n      return true;\n  if (auto contraction = funcOp.getFpContractAttr())\n    if (contraction.getValue() != \"off\")\n      return true;\n  if (funcOp.getReciprocalEstimatesAttr())\n    return true;\n  if (auto passthrough = funcOp.getPassthroughAttr())\n    for (::mlir::Attribute entry : passthrough)\n      if (passthroughEntryStatesFloatingPolicy(entry))\n        return true;\n  return false;\n}\n\n// True when the enclosing callable states a floating-point environment the\n// standard operation cannot restate.\ninline bool enclosingFloatingPolicyBlocksRewrite(::mlir::Operation *op) {\n  auto funcOp = ::mlir::dyn_cast_or_null<::mlir::LLVM::LLVMFuncOp>(\n      getNearestCallableOp(op));\n  return funcOp && statesFloatingPolicy(funcOp);\n}\n\n// True when every operand and the single result of `op` have an exact standard\n// counterpart and, for a computation that reads or produces a floating value,\n// the enclosing callable states no environment the standard operation cannot\n// restate. An integer computation is independent of that environment and is\n// never blocked by it.\ninline bool restatesExactly(::mlir::Operation *op, bool floating) {\n  if (!allExactNumericTypes(op->getOperands()))\n    return false;\n  if (!isExactNumericType(op->getResult(0).getType()))\n    return false;\n  return !floating || !enclosingFloatingPolicyBlocksRewrite(op);\n}","why":"Acceptance implementation of 'exactly representable': exact numeric types (signless integers, index, floats, fixed-shape vectors) and an enclosing llvm.func that states no floating policy (denormal env, no_signed_zeros_fp_math, fp_contract, reciprocal_estimates, passthrough). Determines which sampled types (f16/f32/f64/vector<4xf32>) are materialized and which sampled callables keep their intrinsic."},{"file_sha256":"fc8794a0235430f2ab7b87b0fb63e4991acfa052ab630501b484fce956154a56","kind":"language_definition","lines":"163-189","path":"lib/Frontend/Raising/ExactStandardSpelling.h","roles":["context"],"text":"// arith counterpart of LLVM's fast-math flags. Both enums name the same\n// seven facts but assign them different bit positions, so each flag is\n// mapped by name instead of being reinterpreted.\ninline ::mlir::arith::FastMathFlags\nexactFastMathFlags(::mlir::LLVM::FastmathFlags flags) {\n  const std::pair<::mlir::LLVM::FastmathFlags, ::mlir::arith::FastMathFlags>\n      equivalents[] = {\n          {::mlir::LLVM::FastmathFlags::nnan,\n           ::mlir::arith::FastMathFlags::nnan},\n          {::mlir::LLVM::FastmathFlags::ninf,\n           ::mlir::arith::FastMathFlags::ninf},\n          {::mlir::LLVM::FastmathFlags::nsz, ::mlir::arith::FastMathFlags::nsz},\n          {::mlir::LLVM::FastmathFlags::arcp,\n           ::mlir::arith::FastMathFlags::arcp},\n          {::mlir::LLVM::FastmathFlags::contract,\n           ::mlir::arith::FastMathFlags::contract},\n          {::mlir::LLVM::FastmathFlags::afn, ::mlir::arith::FastMathFlags::afn},\n          {::mlir::LLVM::FastmathFlags::reassoc,\n           ::mlir::arith::FastMathFlags::reassoc}};\n\n  ::mlir::arith::FastMathFlags result{};\n  for (auto [llvmFlag, arithFlag] : equivalents) {\n    if (::mlir::LLVM::bitEnumContainsAll(flags, llvmFlag))\n      result = result | arithFlag;\n  }\n  return result;\n}","why":"The name-by-name equivalence between LLVM's FastmathFlags and arith's FastMathFlags (nnan, ninf, nsz, arcp, contract, afn, reassoc are the same seven facts in two enums). Fixes the two dialect spellings of one fast-math contract that the postcondition's spelling correspondence table relates; it adds no behavioural requirement."},{"file_sha256":"d1315fabeb736f07fdd93eca093e20d05a201967b181a40cb02f37048ba2c79a","kind":"implementation","lines":"29-31,55-95","path":"lib/Frontend/Raising/CallableRegions.h","roles":["input_construction","input_well_formedness"],"text":"inline bool isCallableOp(::mlir::Operation *op) {\n  return ::mlir::isa<::mlir::LLVM::LLVMFuncOp, ::mlir::func::FuncOp>(op);\n}\ninline ::mlir::LogicalResult forEachCallableRegion(\n    ::mlir::Operation *root,\n    ::llvm::function_ref<::mlir::LogicalResult(::mlir::Region &)> transform) {\n  ::mlir::WalkResult walked =\n      root->walk<::mlir::WalkOrder::PostOrder>([&](::mlir::Operation *op) {\n        if (!isCallableOp(op))\n          return ::mlir::WalkResult::advance();\n        for (::mlir::Region &region : op->getRegions()) {\n          if (region.empty())\n            continue;\n          if (failed(transform(region)))\n            return ::mlir::WalkResult::interrupt();\n        }\n        return ::mlir::WalkResult::advance();\n      });\n  return walked.wasInterrupted() ? ::mlir::failure() : ::mlir::success();\n}\n\n// Offer `visit` to every operation `region` owns, recursing into nested\n// regions that belong to the same callable -- scf.for, scf.if, a graph\n// region -- but stopping at any nested callable, whose own body this region\n// must not claim to own.\n//\n// This is the operation-level half of callable ownership: a callable processes\n// exactly the operations its nearest enclosing callable owns, and a nested\n// callable's body is left to that callable's own region-level walk. Crossing\n// into a nested callable here would visit its operations twice -- once\n// descended into from the enclosing region and once from the callable's own\n// walk -- so the nested callable is pruned instead. Pruning happens in\n// pre-order: in a post-order walk a callable's body is visited before the\n// callable itself, so the skip would arrive one descent too late.\ninline ::mlir::WalkResult forEachOwnedOperation(\n    ::mlir::Region &region,\n    ::llvm::function_ref<::mlir::WalkResult(::mlir::Operation *)> visit) {\n  return region.walk<::mlir::WalkOrder::PreOrder>(\n      [&](::mlir::Operation *op) -> ::mlir::WalkResult {\n        if (isCallableOp(op))\n          return ::mlir::WalkResult::skip();\n        return visit(op);\n      });\n}","why":"Callable kinds of an S0 program (llvm.func, func.func) and the ownership walk that prunes nested callables, so each operation is owned by exactly one callable. Fixes the two callable spellings the grammar emits and the innermost-callable ownership scoping used by the postcondition's owned_shape_slots definition."},{"file_sha256":"6f55dfe3ca2a9edcd0d955b965b5011a8010478cf28db89485df1fdfb2750c9c","kind":"test","lines":"1-16","path":"test/raise/fmuladd-materialization.mlir","roles":["applicability"],"text":"// RUN: split-file %s %t\n// RUN: not loom-raise-opt --loom-materialize-fmuladd %t/choice.mlir 2>&1 | FileCheck %s --check-prefix=UNSELECTED\n// RUN: loom-raise-opt --loom-materialize-fmuladd=shape=fused %t/choice.mlir | FileCheck %s --check-prefix=FUSED\n// RUN: loom-raise-opt --loom-materialize-fmuladd=shape=split %t/choice.mlir | FileCheck %s --check-prefix=SPLIT\n// RUN: loom-raise-opt --loom-materialize-fmuladd=shape=fused %t/choice.mlir | mlir-opt --convert-math-to-llvm --convert-arith-to-llvm | FileCheck %s --check-prefix=FUSED-LLVM --implicit-check-not=constrained\n// RUN: loom-raise-opt --loom-materialize-fmuladd=shape=split %t/choice.mlir | mlir-opt --convert-math-to-llvm --convert-arith-to-llvm | FileCheck %s --check-prefix=SPLIT-LLVM --implicit-check-not=constrained\n// RUN: loom-raise-opt --loom-materialize-fmuladd=shape=split %t/choice.mlir | mlir-opt --math-uplift-to-fma | FileCheck %s --check-prefix=SPLIT-KEPT --implicit-check-not=math.fma\n// RUN: loom-raise-opt --loom-materialize-fmuladd=shape=fused %t/unrepresentable.mlir | FileCheck %s --check-prefix=SCOPED\n// RUN: loom-raise-opt --loom-materialize-fmuladd=shape=fused %t/nested.mlir | FileCheck %s --check-prefix=NESTED --implicit-check-not=llvm.intr.fmuladd\n// RUN: loom-raise-opt --loom-lower-for-to-graph --mlir-disable-threading %t/selected-fused.mlir | FileCheck %s --check-prefix=SELECTED-FUSED --implicit-check-not=loom.spatial_region\n\n// `llvm.intr.fmuladd` states a choice, not a computation: the target may fuse\n// it into one rounding or evaluate a separate multiply and add. Materializing\n// that choice is a typed decision with no default, so the shape is required\n// and is never inferred from the intrinsic spelling.\n// UNSELECTED: loom-materialize-fmuladd requires an explicit 'shape' option","why":"Non-normative evidence for the exact invocation of this stage: '--loom-materialize-fmuladd=shape=fused' / '=shape=split' and the diagnostic produced when the shape option is omitted. Basis for the revised subject-command args and their rationale."},{"file_sha256":"6f55dfe3ca2a9edcd0d955b965b5011a8010478cf28db89485df1fdfb2750c9c","kind":"example","lines":"91-126","path":"test/raise/fmuladd-materialization.mlir","roles":["input_construction"],"text":"//--- choice.mlir\nllvm.func @chosen(%x: f32, %y: f32, %z: f32) -> f32 {\n  %r = llvm.intr.fmuladd(%x, %y, %z)\n      {fastmathFlags = #llvm.fastmath<nnan, contract>} : (f32, f32, f32) -> f32\n  llvm.return %r : f32\n}\n\nllvm.func @vector_chosen(%x: vector<4xf32>, %y: vector<4xf32>,\n                         %z: vector<4xf32>) -> vector<4xf32> {\n  %r = llvm.intr.fmuladd(%x, %y, %z)\n      : (vector<4xf32>, vector<4xf32>, vector<4xf32>) -> vector<4xf32>\n  llvm.return %r : vector<4xf32>\n}\n\n//--- unrepresentable.mlir\nllvm.func @representable(%x: f32, %y: f32, %z: f32) -> f32 {\n  %r = llvm.intr.fmuladd(%x, %y, %z) : (f32, f32, f32) -> f32\n  llvm.return %r : f32\n}\n\nllvm.func @estimated(%x: f32, %y: f32, %z: f32) -> f32\n    attributes {reciprocal_estimates = \"all\"} {\n  %r = llvm.intr.fmuladd(%x, %y, %z) : (f32, f32, f32) -> f32\n  llvm.return %r : f32\n}\n\n//--- nested.mlir\nfunc.func @native_owner(%a: f32, %b: f32, %c: f32) -> f32 {\n  builtin.module {\n    llvm.func @inner(%x: f32, %y: f32, %z: f32) -> f32 {\n      %r = llvm.intr.fmuladd(%x, %y, %z) : (f32, f32, f32) -> f32\n      llvm.return %r : f32\n    }\n  }\n  return %a : f32\n}","why":"Accepted input spellings reused as the skeleton of the grammar: llvm.func with scalar and vector fmuladd and fastmathFlags = #llvm.fastmath<...>, a callable whose reciprocal_estimates policy blocks materialization, and a func.func owning a nested builtin.module with an llvm.func. Names, types and cardinalities are treated as one accepted spelling only."},{"file_sha256":"6f55dfe3ca2a9edcd0d955b965b5011a8010478cf28db89485df1fdfb2750c9c","kind":"test","lines":"18-40","path":"test/raise/fmuladd-materialization.mlir","roles":["context"],"text":"// Fusing is what the fused shape decided, so the exact operand and result\n// types and the complete imported fast-math contract -- `contract` included --\n// all carry onto the one `math.fma`.\n// FUSED-LABEL: llvm.func @chosen\n// FUSED: math.fma %arg0, %arg1, %arg2 fastmath<nnan,contract> : f32\n// FUSED-NOT: llvm.intr.fmuladd\n// FUSED-LABEL: llvm.func @vector_chosen\n// FUSED: math.fma %arg0, %arg1, %arg2 : vector<4xf32>\n// FUSED-NOT: llvm.intr.fmuladd\n\n// The split shape is an ordinary multiply then an ordinary add, each rounding\n// on its own. `contract` is the source's permission to fuse them back into one\n// rounding, so selecting Split consumes it: neither operation restates it.\n// Every other imported flag describes the computation rather than the fusion\n// and carries onto both operations unchanged.\n// SPLIT-LABEL: llvm.func @chosen\n// SPLIT: %[[PROD:.*]] = arith.mulf %arg0, %arg1 fastmath<nnan> : f32\n// SPLIT: arith.addf %[[PROD]], %arg2 fastmath<nnan> : f32\n// SPLIT-NOT: llvm.intr.fmuladd\n// SPLIT-LABEL: llvm.func @vector_chosen\n// SPLIT: %[[VPROD:.*]] = arith.mulf %arg0, %arg1 : vector<4xf32>\n// SPLIT: arith.addf %[[VPROD]], %arg2 : vector<4xf32>\n// SPLIT-NOT: llvm.intr.fmuladd","why":"Non-normative evidence of the fast-math spellings on both sides of the rewrite (#llvm.fastmath<nnan, contract> on the intrinsic, fastmath<nnan,contract> on math.fma, contract absent on the split children). Used only to fix the two dialect spellings of one contract that the postcondition's spelling correspondence table relates."}],"primary_bundle_sha256":"33099887f46470c09e8577705091e3d07a426f909222b7bdfbe0610d7ff970ed","project":"PolyArch/loom","revision":"48615bc5925ef4b9db8b4550b5d4322933cf4b7b","schema":"spectriad.authoring-context/v1","selection_sha256":"e54e306ef453403889124a88878b90dde2bb0d1a050089fc65afbe3b1f1d1c37"}
generator source-blind backtranslation · sessions/reverse-generator/session-evidence/result-events.json
[
  {
    "api_error_status": null,
    "duration_api_ms": 48597,
    "duration_ms": 48649,
    "fast_mode_disabled_reason": "sdk_opt_in_required",
    "fast_mode_state": "off",
    "first_content_frame_ms": 1441,
    "is_error": false,
    "modelUsage": {
      "claude-opus-5": {
        "cacheCreationInputTokens": 5091,
        "cacheReadInputTokens": 0,
        "canonicalModel": "claude-opus-5",
        "contextWindow": 1000000,
        "costBasis": "list",
        "costUSD": 0.14182,
        "inputTokens": 2,
        "maxOutputTokens": 64000,
        "outputTokens": 3636,
        "provider": "firstParty",
        "thinkingTokens": 735,
        "webSearchRequests": 0
      }
    },
    "num_turns": 1,
    "permission_denials": [],
    "queued_turn_count": 0,
    "result": "## Preconditions\n\n1. Every emitted program is a single top-level `module { ... }` whose body consists only of a possibly empty sequence of callable definitions, with no other top-level operations, no symbol-table attributes, and no terminator written for the module itself.\n2. Each callable is either an `llvm.func` (forms named `plain_*`, `blocked_*`, `resolved_*`, and the inner `inner_*`) or a `func.func` (form named `native_*`), never a declaration without a body: every callable emitted carries a full `{ ... }` region.\n3. Every symbol name in a program is unique, because each callable name is suffixed with the position index of the function within the module, and the nested inner callable reuses that same index under a distinct prefix.\n4. Every SSA value name is unique within its enclosing region, achieved by embedding the function index (and, for chained intrinsics, the intrinsic index) in the name.\n5. Every operand is defined before its use: the only intra-body data dependence emitted is `arith.addf %q<n>, %z`, which consumes the result of the immediately preceding `arith.mulf` in the same block.\n6. `llvm.intr.fmuladd` always appears with exactly three operands of one common type and a result of that same type, written in the full functional form `(T, T, T) -> T`.\n7. The three operands of every `llvm.intr.fmuladd` are the block arguments `%x`, `%y`, `%z` of the callable that owns the operation, so the intrinsic never reads a value produced by another operation.\n8. Every callable that owns an `llvm.intr.fmuladd` has a three-argument signature `(%x: T, %y: T, %z: T) -> T` in which the argument types, the result type, and the intrinsic's operand/result type are all the same single type.\n9. Every `llvm.func` body terminates with `llvm.return %x : T` whose operand type equals the declared result type, and the `func.func` body terminates with `return %a : T` likewise matching its declared result type; no other terminators are used.\n10. The results of the emitted `llvm.intr.fmuladd`, `llvm.fmul`, `math.fma`, `arith.mulf`, and `arith.addf` operations are dead \u2014 no emitted return or later operation consumes an intrinsic or residual result except the `arith.mulf` \u2192 `arith.addf` pair.\n11. When a fast-math contract is present, it is written as the discrete attribute `{fastmathFlags = #llvm.fastmath<...>}` attached directly to the `llvm.intr.fmuladd` operation, between the operand list and the `:` type signature.\n12. Function-level attributes, when present, are written as an `attributes { ... }` clause placed after the signature and before the opening brace of the body, and they never appear on the same callable as an operation-level fast-math attribute.\n13. The nested form places its `llvm.intr.fmuladd` inside an `llvm.func` that is itself inside a `builtin.module` region nested in a `func.func` body, so the intrinsic's nearest enclosing callable is the inner `llvm.func` and not the outer `func.func`; the outer `func.func` region contains no floating-point operation of its own.\n14. The nested inner `llvm.func` has its own complete body with its own three block arguments and its own `llvm.return`, independent of the outer function's single argument `%a`.\n15. Location information, when emitted, is a trailing `loc(\"...\")` on the intrinsic operation with a string unique to that operation within the program; operations without a `loc` are left with the default unknown location.\n16. All floating-point types used in a single callable are one uniform type drawn from the scalar types `f32`, `f64`, `f16` or the vector type `vector<4xf32>`; type mixing within one callable never occurs.\n17. The alternative \"resolved\" shape contains no `llvm.intr.fmuladd` at all: it uses only `math.fma`, `arith.mulf`, and `arith.addf` on the block arguments, and thus an emitted program need not contain any intrinsic.\n18. An emitted program may legally contain zero callables, so the empty module is a valid input.\n\n## Sampling conventions\n\n1. The number of top-level callables is chosen uniformly from the integer range 0 through 3 inclusive, so no program has more than three top-level functions.\n2. Functions are emitted in index order starting at 0, with the index recorded in state and incremented once per function; the index is textually reused in every symbol, SSA name, and location string of that function.\n3. Each function independently selects one of exactly four shapes from a six-element menu in which the `plain` shape occurs three times and `blocked`, `nested`, and `resolved` once each, so the plain shape is over-represented but all four remain reachable.\n4. The `plain` shape draws its uniform type from exactly the four choices `f32`, `f64`, `f16`, `vector<4xf32>`; no other element type, bit width, vector shape, or scalable vector is ever emitted.\n5. The `blocked`, `nested`, and `resolved` shapes restrict their type to `f32` or `f64` only, so vector and half-precision types appear exclusively in the plain shape.\n6. A plain function emits between 1 and 2 `llvm.intr.fmuladd` operations, chosen uniformly, generated by a state-counted right recursion that stops exactly when the counter equals the chosen count; three or more intrinsics in one plain function are never emitted.\n7. The result names of the plain chain are `%r<fid>_<k>` with `k` running from 0, and the matching location strings are `\"fmuladd_<fid>_<k>\"`.\n8. Each intrinsic in a plain chain independently draws its fast-math contract from exactly four options: no attribute at all, `<nnan>`, `<nnan, contract>`, or `<fast>`; no other flag names, combinations, or orderings are produced, and two intrinsics in the same function may differ.\n9. A plain function optionally prefixes its intrinsic chain with exactly one residual operation `%m<fid> = llvm.fmul %x, %y : T`, chosen by a binary coin; when omitted nothing is emitted in its place, and never more than one residual operation is produced.\n10. The residual `llvm.fmul` is always emitted before the intrinsic chain and never after or between intrinsics.\n11. The `blocked` shape emits exactly one intrinsic, named `%b<fid>` with location `\"fmuladd_blocked_<fid>\"`, and never carries a fast-math attribute on that intrinsic.\n12. The `blocked` shape's function attribute is drawn from exactly three fixed alternatives \u2014 `reciprocal_estimates = \"all\"`, `passthrough = [\"strictfp\"]`, and `no_signed_zeros_fp_math = true` \u2014 each emitted alone, never combined and never on any other shape.\n13. The `nested` shape is a fixed skeleton with a single `builtin.module` nesting level containing exactly one inner `llvm.func` with exactly one intrinsic `%n<fid>` and location `\"fmuladd_nested_<fid>\"`; the nesting depth, inner function count, and intrinsic count are never varied.\n14. The nested intrinsic's fast-math attribute is fixed to `{fastmathFlags = #llvm.fastmath<nnan>}` and is never absent or varied.\n15. The outer `func.func` of the nested shape always has exactly one argument `%a` of the same type as the inner function's type and returns it unchanged.\n16. The `resolved` shape is a fixed three-operation skeleton \u2014 `%p<fid> = math.fma`, `%q<fid> = arith.mulf`, `%s<fid> = arith.addf` \u2014 always in that order, always on `%x`, `%y`, `%z`, with no attributes and no `loc` on any of them.\n17. Symbol names follow the fixed scheme `@plain_<fid>`, `@blocked_<fid>`, `@native_<fid>`, `@inner_<fid>`, `@resolved_<fid>`, and SSA value prefixes are fixed per shape (`%r`, `%m`, `%b`, `%n`, `%p`, `%q`, `%s`).\n18. Every callable returns its first argument (`%x`, or `%a` for the outer native function) rather than any computed value, a fixed skeleton choice that keeps all computed results dead.\n19. Formatting is fixed: two-space indentation inside `llvm.func` bodies, deeper indentation for the nested module and inner function, one blank line after each top-level callable, and the module's closing brace on its own final line.\n20. Location strings are emitted for intrinsic operations only, never for residual, return, or arithmetic operations, and never in any form other than the string-literal `loc(\"...\")`.",
    "result_index": 0,
    "session_id": "d4aed091-2a0a-4192-b909-0bd30d0aaff4",
    "stop_reason": "end_turn",
    "subagent_stats": {
      "by_type": {},
      "completed": 0,
      "failed": 0,
      "killed": {
        "parent": 0,
        "system": 0,
        "user": 0
      },
      "max_depth": 0,
      "refused": {
        "budget": 0,
        "concurrency_limit": 0,
        "depth_limit": 0
      },
      "requested": {
        "background": 0,
        "foreground": 0,
        "unset": 0
      },
      "spawned": 0,
      "spawned_by_subagents": 0,
      "started_in_background": 0
    },
    "subtype": "success",
    "terminal_reason": "completed",
    "time_to_request_ms": 53,
    "total_cost_usd": 0.14182,
    "ttft_ms": 12042,
    "ttft_stream_ms": 1120,
    "type": "result",
    "usage": {
      "cache_creation": {
        "ephemeral_1h_input_tokens": 5091,
        "ephemeral_5m_input_tokens": 0
      },
      "cache_creation_input_tokens": 5091,
      "cache_read_input_tokens": 0,
      "inference_geo": "not_available",
      "input_tokens": 2,
      "iterations": [],
      "output_tokens": 3636,
      "output_tokens_details": {
        "thinking_tokens": 735
      },
      "server_tool_use": {
        "web_fetch_requests": 0,
        "web_search_requests": 0
      },
      "service_tier": "standard",
      "speed": "standard"
    },
    "uuid": "d9cdadcd-e052-4904-9a9e-6ec15c1fc4d4"
  }
]
postcondition source-blind backtranslation · sessions/reverse-postcondition/session-evidence/result-events.json
[
  {
    "api_error_status": null,
    "duration_api_ms": 17915,
    "duration_ms": 17940,
    "fast_mode_disabled_reason": "sdk_opt_in_required",
    "fast_mode_state": "off",
    "first_content_frame_ms": 1555,
    "is_error": false,
    "modelUsage": {
      "claude-opus-5": {
        "cacheCreationInputTokens": 6581,
        "cacheReadInputTokens": 0,
        "canonicalModel": "claude-opus-5",
        "contextWindow": 1000000,
        "costBasis": "list",
        "costUSD": 0.099695,
        "inputTokens": 2,
        "maxOutputTokens": 64000,
        "outputTokens": 1355,
        "provider": "firstParty",
        "thinkingTokens": 611,
        "webSearchRequests": 0
      }
    },
    "num_turns": 1,
    "permission_denials": [],
    "queued_turn_count": 0,
    "result": "This postcondition quantifies universally over every operation in the output program whose name is `llvm.func` or `func.func`, at any nesting depth, and for each one requires the existence of at least one input operation of those same two names whose `sym_name` attribute string is identical. The compared items are each callable's \"shape slots\": the operations named `llvm.intr.fmuladd` or `math.fma` that are structurally contained in the callable but not contained in any other callable that is itself nested inside it, taken in program order; the output slot list and the input slot list are paired by `zip_exact`, so a length mismatch makes the assert fail outright rather than pass vacuously. Each of the three asserts only inspects a pair when the output-side operation is `math.fma`; pairs whose output-side operation is `llvm.intr.fmuladd` are accepted without any further check. For accepted-by-inspection pairs, the first assert demands that the output `math.fma`'s first result type equal the input operation's first result type, and the second demands that their operand lists zip position-by-position with equal types, so differing operand counts fail. The third assert admits exactly two value sources for fast-math text: if the input-side operation is `llvm.intr.fmuladd`, the pair consisting of its `fastmathFlags` canonical text and the output `math.fma`'s `fastmath` canonical text must appear literally in the seven-entry table declared in `fastmath_spelling`, and if the input-side operation is `math.fma`, the two `fastmath` canonical texts must be string-equal; no other spelling, normalization, or flag-set reasoning is accepted. All attribute reads (`sym_name`, `fastmathFlags`, `fastmath`) are unguarded, so an absent attribute on an inspected operation is an evaluation error rather than a pass or a fail. The postcondition is vacuously satisfied when the output contains no `llvm.func` or `func.func` operations at all; when a callable exists but owns no shape slots, the `zip_exact` conditions hold trivially yet the name-matched input callable must still exist, and when a callable owns only `llvm.intr.fmuladd` slots the three type and fast-math checks are trivially satisfied while the slot-count agreement and the existence of the matching input callable remain enforced.",
    "result_index": 0,
    "session_id": "42197238-e6fb-4cb5-91d0-281a957fe6b9",
    "stop_reason": "end_turn",
    "subagent_stats": {
      "by_type": {},
      "completed": 0,
      "failed": 0,
      "killed": {
        "parent": 0,
        "system": 0,
        "user": 0
      },
      "max_depth": 0,
      "refused": {
        "budget": 0,
        "concurrency_limit": 0,
        "depth_limit": 0
      },
      "requested": {
        "background": 0,
        "foreground": 0,
        "unset": 0
      },
      "spawned": 0,
      "spawned_by_subagents": 0,
      "started_in_background": 0
    },
    "subtype": "success",
    "terminal_reason": "completed",
    "time_to_request_ms": 26,
    "total_cost_usd": 0.099695,
    "ttft_ms": 9330,
    "ttft_stream_ms": 1064,
    "type": "result",
    "usage": {
      "cache_creation": {
        "ephemeral_1h_input_tokens": 6581,
        "ephemeral_5m_input_tokens": 0
      },
      "cache_creation_input_tokens": 6581,
      "cache_read_input_tokens": 0,
      "inference_geo": "not_available",
      "input_tokens": 2,
      "iterations": [],
      "output_tokens": 1355,
      "output_tokens_details": {
        "thinking_tokens": 611
      },
      "server_tool_use": {
        "web_fetch_requests": 0,
        "web_search_requests": 0
      },
      "service_tier": "standard",
      "speed": "standard"
    },
    "uuid": "bbd5b918-739f-42ea-9be1-ea6057cb8428"
  }
]

Activation review

This paired revision was activated by an explicit partial-scope team review bound to both executable artifact hashes.

Approved to run and display existing artifacts; accuracy and completeness are measured separately.

Run and triage

Work progress