diff --git a/cardano-constitution/test/Cardano/Constitution/Validator/Data/GoldenTests/sorted.cbor.size.golden b/cardano-constitution/test/Cardano/Constitution/Validator/Data/GoldenTests/sorted.cbor.size.golden index b4325f69255..cfccfeee77c 100644 --- a/cardano-constitution/test/Cardano/Constitution/Validator/Data/GoldenTests/sorted.cbor.size.golden +++ b/cardano-constitution/test/Cardano/Constitution/Validator/Data/GoldenTests/sorted.cbor.size.golden @@ -1 +1 @@ -2325 \ No newline at end of file +2342 \ No newline at end of file diff --git a/cardano-constitution/test/Cardano/Constitution/Validator/Data/GoldenTests/sorted.large.budget.golden b/cardano-constitution/test/Cardano/Constitution/Validator/Data/GoldenTests/sorted.large.budget.golden index 762f1184911..06dc4e486a8 100644 --- a/cardano-constitution/test/Cardano/Constitution/Validator/Data/GoldenTests/sorted.large.budget.golden +++ b/cardano-constitution/test/Cardano/Constitution/Validator/Data/GoldenTests/sorted.large.budget.golden @@ -1 +1 @@ -ExBudget {exBudgetCPU = ExCPU 610267640, exBudgetMemory = ExMemory 3014102} \ No newline at end of file +ExBudget {exBudgetCPU = ExCPU 559435640, exBudgetMemory = ExMemory 2696402} \ No newline at end of file diff --git a/cardano-constitution/test/Cardano/Constitution/Validator/Data/GoldenTests/sorted.small.budget.golden b/cardano-constitution/test/Cardano/Constitution/Validator/Data/GoldenTests/sorted.small.budget.golden index 3c6cf2986b7..ff52c661819 100644 --- a/cardano-constitution/test/Cardano/Constitution/Validator/Data/GoldenTests/sorted.small.budget.golden +++ b/cardano-constitution/test/Cardano/Constitution/Validator/Data/GoldenTests/sorted.small.budget.golden @@ -1 +1 @@ -ExBudget {exBudgetCPU = ExCPU 97068626, exBudgetMemory = ExMemory 435589} \ No newline at end of file +ExBudget {exBudgetCPU = ExCPU 91932626, exBudgetMemory = ExMemory 403489} \ No newline at end of file diff --git a/cardano-constitution/test/Cardano/Constitution/Validator/Data/GoldenTests/sorted.uplc.golden b/cardano-constitution/test/Cardano/Constitution/Validator/Data/GoldenTests/sorted.uplc.golden index 5689ac1b3f4..d6ccae62166 100644 --- a/cardano-constitution/test/Cardano/Constitution/Validator/Data/GoldenTests/sorted.uplc.golden +++ b/cardano-constitution/test/Cardano/Constitution/Validator/Data/GoldenTests/sorted.uplc.golden @@ -1,17 +1,17 @@ program 1.1.0 - ((\fix1 -> - (\`$fOrdRational0_$c<=` -> - (\`$fOrdInteger_$ccompare` -> - (\validatePreds -> - (\euclid -> - (\unsafeRatio -> - (\cse -> - (\validateParamValue -> - (\validateParamValues -> - (\runRules -> - (\`$fUnsafeFromDataMaybe_$cunsafeFromBuiltinData` -> - (\caseData_go -> + ((\`$fOrdRational0_$c<=` -> + (\`$fOrdInteger_$ccompare` -> + (\validatePreds -> + (\euclid -> + (\unsafeRatio -> + (\cse -> + (\validateParamValue -> + (\validateParamValues -> + (\runRules -> + (\`$fUnsafeFromDataMaybe_$cunsafeFromBuiltinData` -> + (\caseData_go -> + (\cse -> (\cse -> (\cse -> (\cse -> @@ -40,94 +40,132 @@ program (\cse -> (\cse -> (\cse -> - (\cse -> - (\cse -> - (\fun - ds -> - force - (case - ((\cse -> - (\cse -> - force - (force - (force - ifThenElse - (equalsInteger - 0 - cse) - (delay - (delay - ((\l -> - (\l -> - (\ds - cparams - ds -> - constr 0 - [ (force - caseData_go - (unMapData - cparams)) ]) - (`$fUnsafeFromDataMaybe_$cunsafeFromBuiltinData` - (\d -> - d) - (force - headList - l)) - (force - headList - l) - (`$fUnsafeFromDataMaybe_$cunsafeFromBuiltinData` - unBData - (force - headList - (force - tailList - l)))) + (\fun + ds -> + force + (case + ((\cse -> + (\cse -> + force + (force + (force + ifThenElse + (equalsInteger + 0 + cse) + (delay + (delay + ((\l -> + (\l -> + (\ds + cparams + ds -> + constr 0 + [ (force + caseData_go + (unMapData + cparams)) ]) + (`$fUnsafeFromDataMaybe_$cunsafeFromBuiltinData` + (\d -> + d) (force - tailList + headList l)) (force + headList + l) + (`$fUnsafeFromDataMaybe_$cunsafeFromBuiltinData` + unBData (force - sndPair) - cse)))) - (delay - (delay + headList + (force + tailList + l)))) (force - (force - (force - ifThenElse - (equalsInteger - 2 - cse) - (delay - (delay - ((\l -> - (\ds - ds -> - constr 1 - [ ]) - (unMapData - (force - headList - l)) - (`$fUnsafeFromDataMaybe_$cunsafeFromBuiltinData` - unBData - (force - headList - (force - tailList - l)))) + tailList + l)) + (force + (force + sndPair) + cse)))) + (delay + (delay + (force + (force + (force + ifThenElse + (equalsInteger + 2 + cse) + (delay + (delay + ((\l -> + (\ds + ds -> + constr 1 + [ ]) + (unMapData (force + headList + l)) + (`$fUnsafeFromDataMaybe_$cunsafeFromBuiltinData` + unBData + (force + headList (force - sndPair) - cse)))) - (delay - (delay - error)))))))))) + tailList + l)))) + (force + (force + sndPair) + cse)))) + (delay + (delay + error)))))))))) + (force + (force + fstPair) + cse)) + (unConstrData + ((\tup -> + force (force (force - fstPair) - cse)) + ifThenElse + (equalsInteger + 0 + (force + (force + fstPair) + tup)) + (delay + (delay + ((\l -> + (\l -> + (\ds -> + (\ds -> + force + headList + (force + tailList + l)) + (force + headList + l)) + (unIData + (force + headList + l))) + (force + tailList + l)) + (force + (force + sndPair) + tup)))) + (delay + (delay + error))))) (unConstrData ((\tup -> force @@ -135,7 +173,7 @@ program (force ifThenElse (equalsInteger - 0 + 5 (force (force fstPair) @@ -143,24 +181,16 @@ program (delay (delay ((\l -> - (\l -> - (\ds -> - (\ds -> - force - headList - (force - tailList - l)) - (force - headList - l)) - (unIData - (force - headList - l))) - (force - tailList - l)) + (\ds -> + force + headList + (force + tailList + l)) + (unIData + (force + headList + l))) (force (force sndPair) @@ -175,7 +205,7 @@ program (force ifThenElse (equalsInteger - 5 + 0 (force (force fstPair) @@ -183,16 +213,23 @@ program (delay (delay ((\l -> - (\ds -> - force - headList - (force - tailList - l)) - (unIData + (\l -> + (\ds -> + (\ds -> + force + headList + (force + tailList + l)) + (force + headList + l)) (force headList - l))) + l)) + (force + tailList + l)) (force (force sndPair) @@ -201,671 +238,613 @@ program (delay error))))) (unConstrData - ((\tup -> - force - (force - (force - ifThenElse - (equalsInteger - 0 - (force - (force - fstPair) - tup)) - (delay - (delay - ((\l -> - (\l -> - (\ds -> - (\ds -> - force - headList - (force - tailList - l)) - (force - headList - l)) - (force - headList - l)) - (force - tailList - l)) - (force - (force - sndPair) - tup)))) - (delay - (delay - error))))) - (unConstrData - ds)))))))) - [ (\cparams -> - delay - (force - (case - (fun - cparams) - [ (delay - ()) - , (delay - error) ]))) - , (delay - ()) ])) - (runRules - (constr 1 - [ (constr 0 - [ 0 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 30 - , cse ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 1000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 1 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 100000 - , cse ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 10000000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 2 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 24576 - , (constr 0 - [ ]) ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 122880 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 3 - , (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 32768 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 4 - , (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 5000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 5 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 1000000 - , cse ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 5000000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 6 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 250000000 - , cse ]) ]) - , cse ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 7 - , (constr 1 - [ (constr 1 - [ cse - , (constr 0 - [ ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 8 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 250 - , cse ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 2000 - , (constr 0 - [ ]) ]) ]) - , cse ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 9 - , (constr 3 - [ (constr 1 - [ cse - , cse ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 10 - , (constr 3 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ (cse - 1000) - , cse ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ (cse - 200) - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 11 - , (constr 3 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ (cse - 10) - , cse ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 16 - , (constr 1 - [ (constr 1 - [ cse - , cse ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 17 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 3000 - , cse ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 6500 - , (constr 0 - [ ]) ]) ]) - , cse ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 18 - , (constr 0 - [ ]) ]) - , (constr 1 - [ (constr 0 - [ 19 - , (constr 2 - [ (constr 1 - [ (constr 3 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ (cse - 25) - , (constr 0 - [ ]) ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ (cse - 5) - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) - , (constr 1 - [ (constr 3 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ (cse - 20000) - , (constr 0 - [ ]) ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ (cse - 5000) - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 20 - , (constr 2 - [ (constr 1 - [ (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 40000000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) - , (constr 1 - [ (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 15000000000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 21 - , (constr 2 - [ (constr 1 - [ (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 120000000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) - , (constr 1 - [ (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 40000000000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 22 - , (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 12288 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 23 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 100 - , cse ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 200 - , (constr 0 - [ ]) ]) ]) - , cse ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 24 - , (constr 1 - [ (constr 1 - [ cse - , (constr 0 - [ ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 25 - , (constr 2 - [ (constr 1 - [ cse - , (constr 1 - [ cse - , (constr 1 - [ cse - , (constr 1 - [ cse - , cse ]) ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 26 - , (constr 2 - [ (constr 1 - [ cse - , (constr 1 - [ cse - , (constr 1 - [ cse - , (constr 1 - [ (constr 3 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ cse - , (constr 1 - [ (unsafeRatio - 13 - 20) - , (constr 0 - [ ]) ]) ]) ]) - , cse ]) ]) - , (constr 1 - [ cse - , (constr 1 - [ cse - , (constr 1 - [ cse - , (constr 1 - [ cse - , (constr 1 - [ (constr 3 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ cse - , cse ]) ]) - , cse ]) ]) - , cse ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 27 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 0 - , (constr 1 - [ 3 - , (constr 0 - [ ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 10 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 28 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 0 - , (constr 1 - [ 18 - , (constr 0 - [ ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 293 - , (constr 0 - [ ]) ]) ]) - , cse ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 29 - , (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 15 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 30 - , (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 10000000000000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 31 - , (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 100000000000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 32 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 13 - , cse ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 37 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 33 - , (constr 3 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , cse ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ (unsafeRatio - 1000 - 1) - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]))) - (constr 3 - [ (constr 1 - [ cse - , cse ]) ])) - (constr 3 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ cse - , (constr 1 - [ cse - , (constr 0 - [ ]) ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ])) + ds)))))))) + [ (\cparams -> + delay + (force + (case + (fun + cparams) + [ (delay + ()) + , (delay + error) ]))) + , (delay + ()) ])) + (runRules + (constr 1 + [ (constr 0 + [ 0 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 30 + , cse ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 1000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 1 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 100000 + , cse ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 10000000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 2 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 24576 + , (constr 0 + [ ]) ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 122880 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 3 + , (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 32768 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 4 + , (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 5000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 5 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 1000000 + , cse ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 5000000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 6 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 250000000 + , cse ]) ]) + , cse ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 7 + , (constr 1 + [ (constr 1 + [ cse + , (constr 0 + [ ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 8 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 250 + , cse ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 2000 + , (constr 0 + [ ]) ]) ]) + , cse ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 9 + , (constr 3 + [ (constr 1 + [ cse + , cse ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 10 + , (constr 3 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ (cse + 1000) + , cse ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ (cse + 200) + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 11 + , (constr 3 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ (cse + 10) + , cse ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 16 + , (constr 1 + [ (constr 1 + [ cse + , cse ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 17 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 3000 + , cse ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 6500 + , (constr 0 + [ ]) ]) ]) + , cse ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 18 + , (constr 0 + [ ]) ]) + , (constr 1 + [ (constr 0 + [ 19 + , (constr 2 + [ (constr 1 + [ (constr 3 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ (cse + 25) + , (constr 0 + [ ]) ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ (cse + 5) + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) + , (constr 1 + [ (constr 3 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ (cse + 20000) + , (constr 0 + [ ]) ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ (cse + 5000) + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 20 + , (constr 2 + [ (constr 1 + [ (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 40000000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) + , (constr 1 + [ (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 15000000000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 21 + , (constr 2 + [ (constr 1 + [ (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 120000000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) + , (constr 1 + [ (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 40000000000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 22 + , (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 12288 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 23 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 100 + , cse ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 200 + , (constr 0 + [ ]) ]) ]) + , cse ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 24 + , (constr 1 + [ (constr 1 + [ cse + , (constr 0 + [ ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 25 + , (constr 2 + [ (constr 1 + [ cse + , (constr 1 + [ cse + , (constr 1 + [ cse + , (constr 1 + [ cse + , cse ]) ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 26 + , (constr 2 + [ (constr 1 + [ cse + , (constr 1 + [ cse + , (constr 1 + [ cse + , (constr 1 + [ (constr 3 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ cse + , (constr 1 + [ (unsafeRatio + 13 + 20) + , (constr 0 + [ ]) ]) ]) ]) + , cse ]) ]) + , (constr 1 + [ cse + , (constr 1 + [ cse + , (constr 1 + [ cse + , (constr 1 + [ cse + , (constr 1 + [ (constr 3 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ cse + , cse ]) ]) + , cse ]) ]) + , cse ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 27 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 0 + , (constr 1 + [ 3 + , (constr 0 + [ ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 10 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 28 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 0 + , (constr 1 + [ 18 + , (constr 0 + [ ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 293 + , (constr 0 + [ ]) ]) ]) + , cse ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 29 + , (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 15 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 30 + , (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 10000000000000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 31 + , (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 100000000000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 32 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 13 + , cse ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 37 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 33 + , (constr 3 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , cse ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ (unsafeRatio + 1000 + 1) + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]))) (constr 3 [ (constr 1 [ cse @@ -878,81 +857,88 @@ program , cse ]) ]) , (constr 0 [ ]) ]) ]) ])) - (constr 1 - [ (constr 3 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ cse - , (constr 0 - [ ]) ]) ]) - , cse ]) ]) - , (constr 0 - [ ]) ])) - (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) + (constr 3 + [ (constr 1 + [ cse + , cse ]) ])) + (constr 3 + [ (constr 1 + [ cse , (constr 1 - [ cse - , (constr 1 - [ cse - , (constr 0 - [ ]) ]) ]) ]) - , (constr 0 - [ ]) ])) - (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ cse - , (constr 1 - [ cse - , (constr 0 - [ ]) ]) ]) ])) - (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ cse - , cse ]) ])) - (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , cse ]) - , (constr 0 - [ ]) ])) + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ cse + , (constr 1 + [ (cse + 5) + , (constr 0 + [ ]) ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ])) + (constr 1 + [ (constr 3 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ cse + , (constr 0 + [ ]) ]) ]) + , cse ]) ]) + , (constr 0 + [ ]) ])) + (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ cse + , (constr 1 + [ cse + , (constr 0 + [ ]) ]) ]) ]) + , (constr 0 + [ ]) ])) + (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ (cse + 10) + , cse ]) ])) (constr 0 [ (constr 1 [ ]) , (constr 1 - [ 0 + [ cse , (constr 1 - [ 1000000 + [ cse , (constr 0 [ ]) ]) ]) ])) (constr 1 - [ cse + [ (constr 0 + [ (constr 0 + [ ]) + , cse ]) , (constr 0 [ ]) ])) - (constr 1 - [ (constr 0 - [ (constr 2 - [ ]) - , cse ]) - , (constr 0 - [ ]) ])) + (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 0 + , (constr 1 + [ 1000000 + , (constr 0 + [ ]) ]) ]) ])) (constr 1 [ (constr 0 - [ (constr 0 + [ (constr 2 [ ]) - , (constr 1 - [ 500000000 - , (constr 0 - [ ]) ]) ]) + , cse ]) , (constr 0 [ ]) ])) (constr 1 @@ -960,102 +946,114 @@ program , (constr 0 [ ]) ])) (constr 1 - [ (cse - 1) + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 500000000 + , (constr 0 + [ ]) ]) ]) , (constr 0 [ ]) ])) - (cse - 10)) - (cse - 10)) + (constr 1 + [ cse + , (constr 0 + [ ]) ])) + (constr 1 + [ cse + , (constr 0 + [ ]) ])) (cse - 1)) - (constr 0 - [ (constr 1 - [ ]) - , cse ])) + 2)) + (cse + 1)) (cse - 100)) + 10)) (constr 0 [ (constr 1 [ ]) - , (constr 1 - [ 1 - , (constr 0 - [ ]) ]) ])) - (cse 4)) - (cse 5)) - (cse 2)) - (unsafeRatio 9)) - (unsafeRatio 1)) + , cse ])) + (cse 1)) + (cse 4)) + (constr 0 + [ (constr 1 []) + , (constr 1 + [ 1 + , (constr 0 + [ ]) ]) ])) + (cse 100)) + (unsafeRatio 4)) (unsafeRatio 0)) - (constr 1 [0, (constr 0 [])])) - (unsafeRatio 3)) - (unsafeRatio 51)) - (unsafeRatio 4)) - (fix1 - (\caseData_go arg -> - delay - (\xs -> - force - (force (force chooseList) - xs - (delay (constr 0 [])) - (delay - ((\x xs -> - constr 1 - [ (constr 0 - [ (force - (force - fstPair) - x) - , (force - (force - sndPair) - x) ]) - , (force - (caseData_go - (delay - (\x -> - x))) - xs) ]) - (force headList xs) - (force tailList - xs)))))) - (delay (\x -> x)))) - (\`$dUnsafeFromData` d -> - (\tup -> - (\index -> - (\args -> - force - (force - (force ifThenElse - (equalsInteger 1 index) - (delay - (delay (constr 1 []))) + (unsafeRatio 51)) + (unsafeRatio 9)) + (constr 1 [0, (constr 0 [])])) + (unsafeRatio 1)) + (unsafeRatio 3)) + ((\s -> s s) + (\s arg -> + delay + (\xs -> + force + (force (force chooseList) + xs + (delay (constr 0 [])) + (delay + ((\x xs -> + constr 1 + [ (constr 0 + [ (force + (force + fstPair) + x) + , (force + (force + sndPair) + x) ]) + , (force + (s + s + (delay + (\x -> + x))) + xs) ]) + (force headList xs) + (force tailList + xs)))))) + (delay (\x -> x)))) + (\`$dUnsafeFromData` d -> + (\tup -> + (\index -> + (\args -> + force + (force + (force ifThenElse + (equalsInteger 1 index) + (delay + (delay (constr 1 []))) + (delay (delay - (delay + (force (force (force - (force - ifThenElse - (equalsInteger - 0 - index) + ifThenElse + (equalsInteger + 0 + index) + (delay (delay - (delay - (constr 0 - [ (`$dUnsafeFromData` - (force - headList - args)) ]))) + (constr 0 + [ (`$dUnsafeFromData` + (force + headList + args)) ]))) + (delay (delay - (delay - error)))))))))) - (force (force sndPair) tup)) - (force (force fstPair) tup)) - (unConstrData d))) - (fix1 + error)))))))))) + (force (force sndPair) tup)) + (force (force fstPair) tup)) + (unConstrData d))) + ((\s -> s s) + (\s -> (\runRules ds cparams -> force ((\fail -> @@ -1114,421 +1112,406 @@ program [ (delay (constr 0 [])) , (\ipv ipv -> delay - (constr 1 [])) ])))))) - (cse (\arg_0 arg_1 -> arg_1))) - (cse (\arg_0 arg_1 -> arg_0))) - (force - ((\s -> s s) - (\s h -> - delay - (\fr -> - (\k -> - fr - (\x -> k (\f_0 f_1 -> f_0 x)) - (\x -> k (\f_0 f_1 -> f_1 x))) - (\fq -> force (s s h) (force h fq)))) - (delay - (\choose - validateParamValue - validateParamValues -> - choose - (\eta eta -> - force - (case - eta - [ (delay (constr 0 [])) - , (\preds -> - delay - (validatePreds - (constr 0 - [ (\x y -> - force ifThenElse - (equalsInteger - x - y) - (constr 0 []) - (constr 1 [])) - , `$fOrdInteger_$ccompare` - , (\x y -> - force ifThenElse - (lessThanInteger - x - y) - (constr 0 []) - (constr 1 [])) - , (\x y -> - force ifThenElse - (lessThanEqualsInteger - x - y) - (constr 0 []) - (constr 1 [])) - , (\x y -> - force ifThenElse - (lessThanEqualsInteger - x - y) - (constr 1 []) - (constr 0 [])) - , (\x y -> - force ifThenElse - (lessThanInteger - x - y) - (constr 1 []) - (constr 0 [])) - , (\x y -> - force + (constr 1 [])) ])))) + (\x -> s s x)))) + (cse (\arg_0 arg_1 -> arg_1))) + (cse (\arg_0 arg_1 -> arg_0))) + (force + ((\s -> s s) + (\s h -> + delay + (\fr -> + (\k -> + fr + (\x -> k (\f_0 f_1 -> f_0 x)) + (\x -> k (\f_0 f_1 -> f_1 x))) + (\fq -> force (s s h) (force h fq)))) + (delay + (\choose validateParamValue validateParamValues -> + choose + (\eta eta -> + force + (case + eta + [ (delay (constr 0 [])) + , (\preds -> + delay + (validatePreds + (constr 0 + [ (\x y -> + force ifThenElse + (equalsInteger + x + y) + (constr 0 []) + (constr 1 [])) + , `$fOrdInteger_$ccompare` + , (\x y -> + force ifThenElse + (lessThanInteger + x + y) + (constr 0 []) + (constr 1 [])) + , (\x y -> + force ifThenElse + (lessThanEqualsInteger + x + y) + (constr 0 []) + (constr 1 [])) + , (\x y -> + force ifThenElse + (lessThanEqualsInteger + x + y) + (constr 1 []) + (constr 0 [])) + , (\x y -> + force ifThenElse + (lessThanInteger + x + y) + (constr 1 []) + (constr 0 [])) + , (\x y -> + force + (force (force - (force - ifThenElse - (lessThanEqualsInteger - x - y) + ifThenElse + (lessThanEqualsInteger + x + y) + (delay (delay - (delay - y)) + y)) + (delay (delay - (delay - x))))) - , (\x y -> - force + x))))) + , (\x y -> + force + (force (force - (force - ifThenElse - (lessThanEqualsInteger - x - y) + ifThenElse + (lessThanEqualsInteger + x + y) + (delay (delay - (delay - x)) + x)) + (delay (delay - (delay - y))))) ]) - preds - (unIData eta))) - , (\paramValues -> - delay - (validateParamValues - paramValues - (unListData eta))) - , (\preds -> - delay - ((\cse -> - validatePreds - (constr 0 - [ (\ds ds -> - case - ds - [ (\n d -> - case - ds - [ (\n' - d' -> - force + y))))) ]) + preds + (unIData eta))) + , (\paramValues -> + delay + (validateParamValues + paramValues + (unListData eta))) + , (\preds -> + delay + ((\cse -> + validatePreds + (constr 0 + [ (\ds ds -> + case + ds + [ (\n d -> + case + ds + [ (\n' + d' -> + force + (force (force - (force - ifThenElse - (equalsInteger - n - n') - (delay - (delay - (force - ifThenElse - (equalsInteger - d - d') - (constr 0 - [ ]) - (constr 1 - [ ])))) + ifThenElse + (equalsInteger + n + n') + (delay (delay - (delay + (force + ifThenElse + (equalsInteger + d + d') + (constr 0 + [ ]) (constr 1 - [ ])))))) ]) ]) - , (\ds ds -> - case - ds - [ (\n d -> - case - ds - [ (\n' - d' -> - `$fOrdInteger_$ccompare` + [ ])))) + (delay + (delay + (constr 1 + [ ])))))) ]) ]) + , (\ds ds -> + case + ds + [ (\n d -> + case + ds + [ (\n' + d' -> + `$fOrdInteger_$ccompare` + (multiplyInteger + n + d') + (multiplyInteger + n' + d)) ]) ]) + , (\ds ds -> + case + ds + [ (\n d -> + case + ds + [ (\n' + d' -> + force + ifThenElse + (lessThanInteger (multiplyInteger n d') (multiplyInteger n' - d)) ]) ]) - , (\ds ds -> - case - ds - [ (\n d -> - case - ds - [ (\n' - d' -> - force - ifThenElse - (lessThanInteger - (multiplyInteger - n - d') - (multiplyInteger - n' - d)) - (constr 0 - [ ]) - (constr 1 - [ ])) ]) ]) - , `$fOrdRational0_$c<=` - , (\ds ds -> - case - ds - [ (\n d -> - case - ds - [ (\n' - d' -> - force - ifThenElse - (lessThanEqualsInteger - (multiplyInteger - n - d') - (multiplyInteger - n' - d)) - (constr 1 - [ ]) - (constr 0 - [ ])) ]) ]) - , (\ds ds -> - case - ds - [ (\n d -> - case - ds - [ (\n' - d' -> - force - ifThenElse - (lessThanInteger - (multiplyInteger - n - d') - (multiplyInteger - n' - d)) - (constr 1 - [ ]) - (constr 0 - [ ])) ]) ]) - , (\x y -> - force - (case - (`$fOrdRational0_$c<=` - x - y) - [ (delay - y) - , (delay - x) ])) - , (\x y -> - force - (case - (`$fOrdRational0_$c<=` - x - y) - [ (delay - x) - , (delay - y) ])) ]) - preds - ((\cse -> - force ifThenElse - (force nullList - (force - tailList - cse)) - (\ds -> - unsafeRatio - (unIData - (force - headList - cse)) - (unIData - (force - headList - cse)))) - (force tailList - cse) - (\ds -> error) - (constr 0 []))) - (unListData eta))) ])) - (\ds -> - case - ds - [ (\eta -> - force ifThenElse - (force nullList eta) - (constr 0 []) - (constr 1 [])) - , (\paramValueHd - paramValueTl - actualValueData -> - force - (case - (validateParamValue - paramValueHd - (force headList - actualValueData)) - [ (delay - (validateParamValues - paramValueTl - (force tailList - actualValueData))) - , (delay - (constr 1 - [])) ])) ])))))) - (fix1 - (\unsafeRatio n d -> - force - (force - (force ifThenElse - (equalsInteger 0 d) - (delay (delay error)) + d)) + (constr 0 + [ ]) + (constr 1 + [ ])) ]) ]) + , `$fOrdRational0_$c<=` + , (\ds ds -> + case + ds + [ (\n d -> + case + ds + [ (\n' + d' -> + force + ifThenElse + (lessThanEqualsInteger + (multiplyInteger + n + d') + (multiplyInteger + n' + d)) + (constr 1 + [ ]) + (constr 0 + [ ])) ]) ]) + , (\ds ds -> + case + ds + [ (\n d -> + case + ds + [ (\n' + d' -> + force + ifThenElse + (lessThanInteger + (multiplyInteger + n + d') + (multiplyInteger + n' + d)) + (constr 1 + [ ]) + (constr 0 + [ ])) ]) ]) + , (\x y -> + force + (case + (`$fOrdRational0_$c<=` + x + y) + [ (delay y) + , (delay + x) ])) + , (\x y -> + force + (case + (`$fOrdRational0_$c<=` + x + y) + [ (delay x) + , (delay + y) ])) ]) + preds + ((\cse -> + force ifThenElse + (force nullList + (force tailList + cse)) + (\ds -> + unsafeRatio + (unIData + (force + headList + cse)) + (unIData + (force + headList + cse)))) + (force tailList cse) + (\ds -> error) + (constr 0 []))) + (unListData eta))) ])) + (\ds -> + case + ds + [ (\eta -> + force ifThenElse + (force nullList eta) + (constr 0 []) + (constr 1 [])) + , (\paramValueHd + paramValueTl + actualValueData -> + force + (case + (validateParamValue + paramValueHd + (force headList + actualValueData)) + [ (delay + (validateParamValues + paramValueTl + (force tailList + actualValueData))) + , (delay + (constr 1 [])) ])) ])))))) + ((\s -> s s) + (\s n d -> + force + (force + (force ifThenElse + (equalsInteger 0 d) + (delay (delay error)) + (delay (delay - (delay + (force (force - (force - (force ifThenElse - (lessThanInteger d 0) + (force ifThenElse + (lessThanInteger d 0) + (delay (delay - (delay - (unsafeRatio - (subtractInteger 0 n) - (subtractInteger - 0 - d)))) + ((\x -> s s x) + (subtractInteger 0 n) + (subtractInteger 0 d)))) + (delay (delay - (delay - ((\gcd' -> - constr 0 - [ (quotientInteger - n - gcd') - , (quotientInteger - d - gcd') ]) - (euclid - n - d)))))))))))))) - (fix1 - (\euclid x y -> - force - (force - (force ifThenElse - (equalsInteger 0 y) - (delay (delay x)) - (delay (delay (euclid y (modInteger x y))))))))) - (\`$dOrd` ds ds -> - fix1 - (\go ds -> - force - (case - ds - [ (delay (constr 0 [])) - , (\x xs -> - delay - (case - x - [ (\predKey expectedPredValues -> - (\meaning -> - fix1 - (\go ds -> - force + ((\gcd' -> + constr 0 + [ (quotientInteger + n + gcd') + , (quotientInteger + d + gcd') ]) + (euclid n d)))))))))))))) + ((\s -> s s) + (\s x y -> + force + (force + (force ifThenElse + (equalsInteger 0 y) + (delay (delay x)) + (delay (delay (s s y (modInteger x y))))))))) + (\`$dOrd` ds ds -> + (\s -> s s) + (\s ds -> + force + (case + ds + [ (delay (constr 0 [])) + , (\x xs -> + delay + (case + x + [ (\predKey expectedPredValues -> + (\meaning -> + (\s -> s s) + (\s ds -> + force + (case + ds + [ (delay (s s xs)) + , (\x xs -> + delay + (force + (case + (meaning x ds) + [ (delay + (s s xs)) + , (delay + (constr 1 + [ ])) ]))) ])) + expectedPredValues) + (force + (case + predKey + [ (delay (case - ds - [ (delay (go xs)) - , (\x xs -> - delay - (force - (case - (meaning - x - ds) - [ (delay - (go - xs)) - , (delay - (constr 1 - [ ])) ]))) ])) - expectedPredValues) - (force - (case - predKey - [ (delay - (case - `$dOrd` - [ (\v v v v v v v v -> - v) ])) - , (delay - (case - `$dOrd` - [ (\v v v v v v v v -> - v) ])) - , (delay - (\x y -> - force + `$dOrd` + [ (\v v v v v v v v -> + v) ])) + , (delay + (case + `$dOrd` + [ (\v v v v v v v v -> + v) ])) + , (delay + (\x y -> + force + (case (case - (case - `$dOrd` - [ (\v - v - v - v - v - v - v - v -> - v) ] - x - y) - [ (delay - (constr 1 - [])) - , (delay - (constr 0 - [ ])) ]))) ]))) ])) ])) - ds)) - (\eta eta -> - force - (force - (force ifThenElse - (equalsInteger eta eta) - (delay (delay (constr 0 []))) + `$dOrd` + [ (\v + v + v + v + v + v + v + v -> + v) ] + x + y) + [ (delay + (constr 1 [])) + , (delay + (constr 0 + [ ])) ]))) ]))) ])) ])) + ds)) + (\eta eta -> + force + (force + (force ifThenElse + (equalsInteger eta eta) + (delay (delay (constr 0 []))) + (delay (delay - (delay + (force (force - (force - (force ifThenElse - (lessThanEqualsInteger eta eta) - (delay (delay (constr 2 []))) - (delay (delay (constr 1 [])))))))))))) - (\ds ds -> - case - ds - [ (\n d -> - case - ds - [ (\n' d' -> - force ifThenElse - (lessThanEqualsInteger - (multiplyInteger n d') - (multiplyInteger n' d)) - (constr 0 []) - (constr 1 [])) ]) ])) - (\f -> (\s -> s s) (\s -> f (\x -> s s x)))) \ No newline at end of file + (force ifThenElse + (lessThanEqualsInteger eta eta) + (delay (delay (constr 2 []))) + (delay (delay (constr 1 [])))))))))))) + (\ds ds -> + case + ds + [ (\n d -> + case + ds + [ (\n' d' -> + force ifThenElse + (lessThanEqualsInteger + (multiplyInteger n d') + (multiplyInteger n' d)) + (constr 0 []) + (constr 1 [])) ]) ])) \ No newline at end of file diff --git a/cardano-constitution/test/Cardano/Constitution/Validator/Data/GoldenTests/unsorted.cbor.size.golden b/cardano-constitution/test/Cardano/Constitution/Validator/Data/GoldenTests/unsorted.cbor.size.golden index 0748c0f7b95..583f9c4ebef 100644 --- a/cardano-constitution/test/Cardano/Constitution/Validator/Data/GoldenTests/unsorted.cbor.size.golden +++ b/cardano-constitution/test/Cardano/Constitution/Validator/Data/GoldenTests/unsorted.cbor.size.golden @@ -1 +1 @@ -2317 \ No newline at end of file +2331 \ No newline at end of file diff --git a/cardano-constitution/test/Cardano/Constitution/Validator/Data/GoldenTests/unsorted.large.budget.golden b/cardano-constitution/test/Cardano/Constitution/Validator/Data/GoldenTests/unsorted.large.budget.golden index 289b5f4fa4a..e52deb0af1e 100644 --- a/cardano-constitution/test/Cardano/Constitution/Validator/Data/GoldenTests/unsorted.large.budget.golden +++ b/cardano-constitution/test/Cardano/Constitution/Validator/Data/GoldenTests/unsorted.large.budget.golden @@ -1 +1 @@ -ExBudget {exBudgetCPU = ExCPU 969169810, exBudgetMemory = ExMemory 4909072} \ No newline at end of file +ExBudget {exBudgetCPU = ExCPU 870721810, exBudgetMemory = ExMemory 4293772} \ No newline at end of file diff --git a/cardano-constitution/test/Cardano/Constitution/Validator/Data/GoldenTests/unsorted.small.budget.golden b/cardano-constitution/test/Cardano/Constitution/Validator/Data/GoldenTests/unsorted.small.budget.golden index 581e626b1a8..a4369e0841a 100644 --- a/cardano-constitution/test/Cardano/Constitution/Validator/Data/GoldenTests/unsorted.small.budget.golden +++ b/cardano-constitution/test/Cardano/Constitution/Validator/Data/GoldenTests/unsorted.small.budget.golden @@ -1 +1 @@ -ExBudget {exBudgetCPU = ExCPU 94774736, exBudgetMemory = ExMemory 423787} \ No newline at end of file +ExBudget {exBudgetCPU = ExCPU 89062736, exBudgetMemory = ExMemory 388087} \ No newline at end of file diff --git a/cardano-constitution/test/Cardano/Constitution/Validator/Data/GoldenTests/unsorted.uplc.golden b/cardano-constitution/test/Cardano/Constitution/Validator/Data/GoldenTests/unsorted.uplc.golden index 1197a66e6a1..af24a746996 100644 --- a/cardano-constitution/test/Cardano/Constitution/Validator/Data/GoldenTests/unsorted.uplc.golden +++ b/cardano-constitution/test/Cardano/Constitution/Validator/Data/GoldenTests/unsorted.uplc.golden @@ -1,17 +1,17 @@ program 1.1.0 - ((\fix1 -> - (\`$fOrdRational0_$c<=` -> - (\`$fOrdInteger_$ccompare` -> - (\equalsInteger -> - (\validatePreds -> - (\euclid -> - (\unsafeRatio -> - (\cse -> - (\validateParamValue -> - (\validateParamValues -> - (\`$fUnsafeFromDataMaybe_$cunsafeFromBuiltinData` -> - (\caseData_go -> + ((\`$fOrdRational0_$c<=` -> + (\`$fOrdInteger_$ccompare` -> + (\equalsInteger -> + (\validatePreds -> + (\euclid -> + (\unsafeRatio -> + (\cse -> + (\validateParamValue -> + (\validateParamValues -> + (\`$fUnsafeFromDataMaybe_$cunsafeFromBuiltinData` -> + (\caseData_go -> + (\cse -> (\cse -> (\cse -> (\cse -> @@ -39,1530 +39,1491 @@ program (\cse -> (\cse -> (\cse -> - (\cse -> - (\cse -> - (\cse -> - (\cfg -> - (\fun - ds -> - force - (case - ((\cse -> - (\cse -> - force - (force - (force - ifThenElse - (equalsInteger - 0 - cse) - (delay - (delay - ((\l -> - (\l -> - (\ds - cparams - ds -> - constr 0 - [ (force - caseData_go - (unMapData - cparams)) ]) - (`$fUnsafeFromDataMaybe_$cunsafeFromBuiltinData` - (\d -> - d) - (force - headList - l)) - (force - headList - l) - (`$fUnsafeFromDataMaybe_$cunsafeFromBuiltinData` - unBData - (force - headList - (force - tailList - l)))) - (force - tailList - l)) + (\cfg -> + (\fun + ds -> + force + (case + ((\cse -> + (\cse -> + force + (force + (force + ifThenElse + (equalsInteger + 0 + cse) + (delay + (delay + ((\l -> + (\l -> + (\ds + cparams + ds -> + constr 0 + [ (force + caseData_go + (unMapData + cparams)) ]) + (`$fUnsafeFromDataMaybe_$cunsafeFromBuiltinData` + (\d -> + d) (force - (force - sndPair) - cse)))) - (delay - (delay + headList + l)) (force + headList + l) + (`$fUnsafeFromDataMaybe_$cunsafeFromBuiltinData` + unBData (force + headList (force - ifThenElse - (equalsInteger - 2 - cse) - (delay - (delay - ((\l -> - (\ds - ds -> - constr 1 - [ ]) - (unMapData - (force - headList - l)) - (`$fUnsafeFromDataMaybe_$cunsafeFromBuiltinData` - unBData - (force - headList - (force - tailList - l)))) - (force - (force - sndPair) - cse)))) - (delay - (delay - error)))))))))) - (force - (force - fstPair) - cse)) - (unConstrData - ((\tup -> - force + tailList + l)))) + (force + tailList + l)) + (force + (force + sndPair) + cse)))) + (delay + (delay (force (force - ifThenElse - (equalsInteger - 0 - (force - (force - fstPair) - tup)) - (delay + (force + ifThenElse + (equalsInteger + 2 + cse) (delay - ((\l -> - (\l -> - (\ds -> - (\ds -> - force - headList - (force - tailList - l)) + (delay + ((\l -> + (\ds + ds -> + constr 1 + [ ]) + (unMapData (force headList l)) - (unIData + (`$fUnsafeFromDataMaybe_$cunsafeFromBuiltinData` + unBData (force headList - l))) + (force + tailList + l)))) + (force + (force + sndPair) + cse)))) + (delay + (delay + error)))))))))) + (force + (force + fstPair) + cse)) + (unConstrData + ((\tup -> + force + (force + (force + ifThenElse + (equalsInteger + 0 + (force + (force + fstPair) + tup)) + (delay + (delay + ((\l -> + (\l -> + (\ds -> + (\ds -> + force + headList (force tailList l)) (force + headList + l)) + (unIData + (force + headList + l))) + (force + tailList + l)) + (force + (force + sndPair) + tup)))) + (delay + (delay + error))))) + (unConstrData + ((\tup -> + force + (force + (force + ifThenElse + (equalsInteger + 5 + (force + (force + fstPair) + tup)) + (delay + (delay + ((\l -> + (\ds -> + force + headList (force - sndPair) - tup)))) + tailList + l)) + (unIData + (force + headList + l))) + (force + (force + sndPair) + tup)))) + (delay (delay - (delay - error))))) - (unConstrData - ((\tup -> - force + error))))) + (unConstrData + ((\tup -> + force + (force (force - (force - ifThenElse - (equalsInteger - 5 + ifThenElse + (equalsInteger + 0 + (force (force - (force - fstPair) - tup)) + fstPair) + tup)) + (delay (delay - (delay - ((\l -> + ((\l -> + (\l -> (\ds -> - force - headList - (force - tailList - l)) - (unIData - (force + (\ds -> + force headList - l))) - (force - (force - sndPair) - tup)))) - (delay - (delay - error))))) - (unConstrData - ((\tup -> - force - (force - (force - ifThenElse - (equalsInteger - 0 - (force - (force - fstPair) - tup)) - (delay - (delay - ((\l -> - (\l -> - (\ds -> - (\ds -> - force - headList - (force - tailList - l)) - (force - headList - l)) - (force - headList - l)) (force tailList l)) (force - (force - sndPair) - tup)))) - (delay - (delay - error))))) - (unConstrData - ds)))))))) - [ (\cparams -> - delay - (force - (case - (fun - cparams) - [ (delay - ()) - , (delay - error) ]))) - , (delay - ()) ])) - ((\go - eta -> - go - eta) - (fix1 - (\go - ds -> - force - (case - ds - [ (delay - (constr 0 - [ ])) - , (\x - xs -> - delay - (force - (case - (case - x - [ (\ds - actualValueData -> - validateParamValue - ((\k -> - fix1 - (\go - ds -> - force - (case - ds - [ (delay - error) - , (\ds - xs' -> - delay - (case - ds - [ (\k' - i -> - force - (case - (equalsInteger - k - k') - [ (delay - i) - , (delay - (go - xs')) ])) ])) ]))) - (unIData - ds) - cfg) - actualValueData) ]) - [ (delay - (go - xs)) - , (delay - (constr 1 - [ ])) ]))) ]))))) - (constr 1 - [ (constr 0 - [ 0 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 30 - , cse ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 1000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 1 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 100000 - , cse ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 10000000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 2 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 24576 - , (constr 0 - [ ]) ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 122880 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 3 - , (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 32768 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 4 - , (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 5000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 5 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 1000000 - , cse ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 5000000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 6 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 250000000 - , cse ]) ]) - , cse ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 7 - , (constr 1 - [ (constr 1 - [ cse - , (constr 0 - [ ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 8 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 250 - , cse ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 2000 - , (constr 0 - [ ]) ]) ]) - , cse ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 9 - , (constr 3 - [ (constr 1 - [ cse - , cse ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 10 - , (constr 3 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ (cse - 1000) - , cse ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ (cse - 200) - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 11 - , (constr 3 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ (cse - 10) - , cse ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 16 - , (constr 1 - [ (constr 1 - [ cse - , cse ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 17 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 3000 - , cse ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 6500 - , (constr 0 - [ ]) ]) ]) - , cse ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 18 - , (constr 0 - [ ]) ]) - , (constr 1 - [ (constr 0 - [ 19 - , (constr 2 - [ (constr 1 - [ (constr 3 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ (cse - 25) - , (constr 0 - [ ]) ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ (cse - 5) - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) - , (constr 1 - [ (constr 3 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ (cse - 20000) - , (constr 0 - [ ]) ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ (cse - 5000) - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 20 - , (constr 2 - [ (constr 1 - [ (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 40000000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) - , (constr 1 - [ (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 15000000000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 21 - , (constr 2 - [ (constr 1 - [ (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 120000000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) - , (constr 1 - [ (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 40000000000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 22 - , (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 12288 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 23 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 100 - , cse ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 200 - , (constr 0 - [ ]) ]) ]) - , cse ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 24 - , (constr 1 - [ (constr 1 - [ cse - , (constr 0 - [ ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 25 - , (constr 2 - [ (constr 1 - [ cse - , (constr 1 - [ cse - , (constr 1 - [ cse - , (constr 1 - [ cse - , cse ]) ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 26 - , (constr 2 - [ (constr 1 - [ cse - , (constr 1 - [ cse - , (constr 1 - [ cse - , (constr 1 - [ (constr 3 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ cse - , (constr 1 - [ (unsafeRatio - 13 - 20) - , (constr 0 - [ ]) ]) ]) ]) - , cse ]) ]) - , (constr 1 - [ cse - , (constr 1 - [ cse - , (constr 1 - [ cse - , (constr 1 - [ cse - , (constr 1 - [ (constr 3 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ cse - , cse ]) ]) - , cse ]) ]) - , cse ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 27 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 0 - , (constr 1 - [ 3 - , (constr 0 - [ ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 10 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 28 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 0 - , (constr 1 - [ 18 - , (constr 0 - [ ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 293 - , (constr 0 - [ ]) ]) ]) - , cse ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 29 - , (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 15 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 30 - , (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 10000000000000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 31 - , (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 100000000000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 32 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 13 - , cse ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 37 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 33 - , (constr 3 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , cse ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ (unsafeRatio - 1000 - 1) - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ])) - (constr 3 - [ (constr 1 - [ cse - , cse ]) ])) - (constr 3 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ cse - , cse ]) ]) - , (constr 0 - [ ]) ]) ]) ])) - (constr 3 - [ (constr 1 - [ cse + headList + l)) + (force + headList + l)) + (force + tailList + l)) + (force + (force + sndPair) + tup)))) + (delay + (delay + error))))) + (unConstrData + ds)))))))) + [ (\cparams -> + delay + (force + (case + (fun + cparams) + [ (delay + ()) + , (delay + error) ]))) + , (delay + ()) ])) + ((\go + eta -> + go + eta) + ((\s -> + s + s) + (\s + ds -> + force + (case + ds + [ (delay + (constr 0 + [ ])) + , (\x + xs -> + delay + (force + (case + (case + x + [ (\ds + actualValueData -> + validateParamValue + ((\k -> + (\s -> + s + s) + (\s + ds -> + force + (case + ds + [ (delay + error) + , (\ds + xs' -> + delay + (case + ds + [ (\k' + i -> + force + (case + (equalsInteger + k + k') + [ (delay + i) + , (delay + (s + s + xs')) ])) ])) ]))) + (unIData + ds) + cfg) + actualValueData) ]) + [ (delay + (s + s + xs)) + , (delay + (constr 1 + [ ])) ]))) ]))))) + (constr 1 + [ (constr 0 + [ 0 , (constr 1 - [ (constr 0 + [ (constr 1 [ (constr 0 - [ ]) + [ (constr 1 + [ ]) + , (constr 1 + [ 30 + , cse ]) ]) , (constr 1 - [ cse + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 1000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 1 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 100000 + , cse ]) ]) , (constr 1 - [ cse + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 10000000 + , (constr 0 + [ ]) ]) ]) , (constr 0 - [ ]) ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ])) - (constr 1 - [ (constr 3 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ cse - , (constr 0 - [ ]) ]) ]) - , cse ]) ]) - , (constr 0 - [ ]) ])) - (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 2 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 24576 + , (constr 0 + [ ]) ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 122880 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 3 + , (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 32768 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 4 + , (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 5000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 5 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 1000000 + , cse ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 5000000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 6 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 250000000 + , cse ]) ]) + , cse ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 7 + , (constr 1 + [ (constr 1 + [ cse + , (constr 0 + [ ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 8 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 250 + , cse ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 2000 + , (constr 0 + [ ]) ]) ]) + , cse ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 9 + , (constr 3 + [ (constr 1 + [ cse + , cse ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 10 + , (constr 3 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ (cse + 1000) + , cse ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ (cse + 200) + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 11 + , (constr 3 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ (cse + 10) + , cse ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 16 + , (constr 1 + [ (constr 1 + [ cse + , cse ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 17 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 3000 + , cse ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 6500 + , (constr 0 + [ ]) ]) ]) + , cse ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 18 + , (constr 0 + [ ]) ]) + , (constr 1 + [ (constr 0 + [ 19 + , (constr 2 + [ (constr 1 + [ (constr 3 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ (cse + 25) + , (constr 0 + [ ]) ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ (cse + 5) + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) + , (constr 1 + [ (constr 3 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ (cse + 20000) + , (constr 0 + [ ]) ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ (cse + 5000) + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 20 + , (constr 2 + [ (constr 1 + [ (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 40000000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) + , (constr 1 + [ (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 15000000000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 21 + , (constr 2 + [ (constr 1 + [ (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 120000000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) + , (constr 1 + [ (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 40000000000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 22 + , (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 12288 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 23 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 100 + , cse ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 200 + , (constr 0 + [ ]) ]) ]) + , cse ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 24 + , (constr 1 + [ (constr 1 + [ cse + , (constr 0 + [ ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 25 + , (constr 2 + [ (constr 1 + [ cse + , (constr 1 + [ cse + , (constr 1 + [ cse + , (constr 1 + [ cse + , cse ]) ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 26 + , (constr 2 + [ (constr 1 + [ cse + , (constr 1 + [ cse + , (constr 1 + [ cse + , (constr 1 + [ (constr 3 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ cse + , (constr 1 + [ (unsafeRatio + 13 + 20) + , (constr 0 + [ ]) ]) ]) ]) + , cse ]) ]) + , (constr 1 + [ cse + , (constr 1 + [ cse + , (constr 1 + [ cse + , (constr 1 + [ cse + , (constr 1 + [ (constr 3 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ cse + , cse ]) ]) + , cse ]) ]) + , cse ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 27 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 0 + , (constr 1 + [ 3 + , (constr 0 + [ ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 10 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 28 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 0 + , (constr 1 + [ 18 + , (constr 0 + [ ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 293 + , (constr 0 + [ ]) ]) ]) + , cse ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 29 + , (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 15 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 30 + , (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 10000000000000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 31 + , (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 100000000000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 32 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 13 + , cse ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 37 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 33 + , (constr 3 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , cse ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ (unsafeRatio + 1000 + 1) + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ])) + (constr 3 + [ (constr 1 + [ cse + , cse ]) ])) + (constr 3 + [ (constr 1 + [ cse , (constr 1 - [ cse - , (constr 1 - [ (cse - 10) - , (constr 0 - [ ]) ]) ]) ]) - , (constr 0 - [ ]) ])) - (constr 0 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ cse + , cse ]) ]) + , (constr 0 + [ ]) ]) ]) ])) + (constr 3 [ (constr 1 - [ ]) - , (constr 1 [ cse , (constr 1 - [ cse + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ cse + , (constr 1 + [ cse + , (constr 0 + [ ]) ]) ]) ]) , (constr 0 [ ]) ]) ]) ])) - (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ cse - , cse ]) ])) + (constr 1 + [ (constr 3 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ cse + , (constr 0 + [ ]) ]) ]) + , cse ]) ]) + , (constr 0 + [ ]) ])) (constr 1 [ (constr 0 [ (constr 0 [ ]) - , cse ]) + , (constr 1 + [ cse + , (constr 1 + [ cse + , (constr 0 + [ ]) ]) ]) ]) , (constr 0 [ ]) ])) (constr 0 [ (constr 1 [ ]) , (constr 1 - [ 0 - , (constr 1 - [ 1000000 - , (constr 0 - [ ]) ]) ]) ])) - (constr 1 - [ (constr 0 - [ (constr 2 - [ ]) - , cse ]) - , (constr 0 - [ ]) ])) + [ cse + , cse ]) ])) + (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ cse + , (constr 1 + [ (cse + 100) + , (constr 0 + [ ]) ]) ]) ])) (constr 1 [ (constr 0 [ (constr 0 [ ]) - , (constr 1 - [ 500000000 - , (constr 0 - [ ]) ]) ]) + , cse ]) , (constr 0 [ ]) ])) - (constr 1 - [ cse - , (constr 0 - [ ]) ])) + (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 0 + , (constr 1 + [ 1000000 + , (constr 0 + [ ]) ]) ]) ])) (constr 1 - [ cse + [ (constr 0 + [ (constr 2 + [ ]) + , cse ]) , (constr 0 [ ]) ])) (constr 1 - [ cse + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 500000000 + , (constr 0 + [ ]) ]) ]) , (constr 0 [ ]) ])) - (cse - 2)) - (constr 0 - [ (constr 1 - [ ]) - , cse ])) - (cse - 100)) - (cse - 1)) + (constr 1 + [ cse + , (constr 0 + [ ]) ])) + (constr 1 + [ (cse + 4) + , (constr 0 + [ ]) ])) + (constr 1 + [ cse + , (constr 0 + [ ]) ])) + (constr 0 + [ (constr 1 + [ ]) + , cse ])) (cse - 10)) - (cse 4)) - (cse 5)) - (constr 0 - [ (constr 1 - []) - , (constr 1 - [ 1 - , (constr 0 - [ ]) ]) ])) - (cse 1)) - (unsafeRatio 1)) - (unsafeRatio 0)) - (unsafeRatio 51)) - (unsafeRatio 9)) - (constr 1 [0, (constr 0 [])])) - (unsafeRatio 3)) - (unsafeRatio 4)) - (fix1 - (\caseData_go arg -> - delay - (\xs -> - force - (force (force chooseList) - xs - (delay (constr 0 [])) - (delay - ((\x xs -> - constr 1 - [ (constr 0 - [ (force - (force - fstPair) - x) - , (force - (force - sndPair) - x) ]) - , (force - (caseData_go - (delay - (\x -> - x))) - xs) ]) - (force headList xs) - (force tailList - xs)))))) - (delay (\x -> x)))) - (\`$dUnsafeFromData` d -> - (\tup -> - (\index -> - (\args -> - force - (force - (force ifThenElse - (equalsInteger 1 index) - (delay - (delay (constr 1 []))) + 2)) + (cse 1)) + (constr 0 + [ (constr 1 + []) + , (constr 1 + [ 1 + , (constr 0 + [ ]) ]) ])) + (cse 1)) + (cse 10)) + (cse 5)) + (unsafeRatio 9 10)) + (unsafeRatio 4)) + (unsafeRatio 0)) + (unsafeRatio 1)) + (constr 1 [0, (constr 0 [])])) + (unsafeRatio 51)) + (unsafeRatio 3)) + ((\s -> s s) + (\s arg -> + delay + (\xs -> + force + (force (force chooseList) + xs + (delay (constr 0 [])) + (delay + ((\x xs -> + constr 1 + [ (constr 0 + [ (force + (force + fstPair) + x) + , (force + (force + sndPair) + x) ]) + , (force + (s + s + (delay + (\x -> + x))) + xs) ]) + (force headList xs) + (force tailList + xs)))))) + (delay (\x -> x)))) + (\`$dUnsafeFromData` d -> + (\tup -> + (\index -> + (\args -> + force + (force + (force ifThenElse + (equalsInteger 1 index) + (delay + (delay (constr 1 []))) + (delay (delay - (delay + (force (force (force - (force - ifThenElse - (equalsInteger - 0 - index) + ifThenElse + (equalsInteger + 0 + index) + (delay (delay - (delay - (constr 0 - [ (`$dUnsafeFromData` - (force - headList - args)) ]))) + (constr 0 + [ (`$dUnsafeFromData` + (force + headList + args)) ]))) + (delay (delay - (delay - error)))))))))) - (force (force sndPair) tup)) - (force (force fstPair) tup)) - (unConstrData d))) - (cse (\arg_0 arg_1 -> arg_1))) - (cse (\arg_0 arg_1 -> arg_0))) - (force - ((\s -> s s) - (\s h -> - delay - (\fr -> - (\k -> - fr - (\x -> k (\f_0 f_1 -> f_0 x)) - (\x -> k (\f_0 f_1 -> f_1 x))) - (\fq -> force (s s h) (force h fq)))) - (delay - (\choose - validateParamValue - validateParamValues -> - choose - (\eta eta -> - force - (case - eta - [ (delay (constr 0 [])) - , (\preds -> - delay - (validatePreds - (constr 0 - [ equalsInteger - , `$fOrdInteger_$ccompare` - , (\x y -> - force - ifThenElse - (lessThanInteger - x - y) - (constr 0 - []) - (constr 1 - [])) - , (\x y -> - force - ifThenElse - (lessThanEqualsInteger - x - y) - (constr 0 - []) - (constr 1 - [])) - , (\x y -> - force - ifThenElse - (lessThanEqualsInteger - x - y) - (constr 1 - []) - (constr 0 - [])) - , (\x y -> - force - ifThenElse - (lessThanInteger - x - y) - (constr 1 - []) - (constr 0 - [])) - , (\x y -> - force + error)))))))))) + (force (force sndPair) tup)) + (force (force fstPair) tup)) + (unConstrData d))) + (cse (\arg_0 arg_1 -> arg_1))) + (cse (\arg_0 arg_1 -> arg_0))) + (force + ((\s -> s s) + (\s h -> + delay + (\fr -> + (\k -> + fr + (\x -> k (\f_0 f_1 -> f_0 x)) + (\x -> k (\f_0 f_1 -> f_1 x))) + (\fq -> force (s s h) (force h fq)))) + (delay + (\choose + validateParamValue + validateParamValues -> + choose + (\eta eta -> + force + (case + eta + [ (delay (constr 0 [])) + , (\preds -> + delay + (validatePreds + (constr 0 + [ equalsInteger + , `$fOrdInteger_$ccompare` + , (\x y -> + force ifThenElse + (lessThanInteger + x + y) + (constr 0 []) + (constr 1 [])) + , (\x y -> + force ifThenElse + (lessThanEqualsInteger + x + y) + (constr 0 []) + (constr 1 [])) + , (\x y -> + force ifThenElse + (lessThanEqualsInteger + x + y) + (constr 1 []) + (constr 0 [])) + , (\x y -> + force ifThenElse + (lessThanInteger + x + y) + (constr 1 []) + (constr 0 [])) + , (\x y -> + force + (force (force - (force - ifThenElse - (lessThanEqualsInteger - x - y) + ifThenElse + (lessThanEqualsInteger + x + y) + (delay (delay - (delay - y)) + y)) + (delay (delay - (delay - x))))) - , (\x y -> - force + x))))) + , (\x y -> + force + (force (force - (force - ifThenElse - (lessThanEqualsInteger - x - y) + ifThenElse + (lessThanEqualsInteger + x + y) + (delay (delay - (delay - x)) + x)) + (delay (delay - (delay - y))))) ]) - preds - (unIData eta))) - , (\paramValues -> - delay - (validateParamValues - paramValues - (unListData eta))) - , (\preds -> - delay - ((\cse -> - validatePreds - (constr 0 - [ (\ds ds -> - case - ds - [ (\n - d -> - case - ds - [ (\n' - d' -> - force + y))))) ]) + preds + (unIData eta))) + , (\paramValues -> + delay + (validateParamValues + paramValues + (unListData eta))) + , (\preds -> + delay + ((\cse -> + validatePreds + (constr 0 + [ (\ds ds -> + case + ds + [ (\n d -> + case + ds + [ (\n' + d' -> + force + (force (force - (force - ifThenElse - (equalsInteger - n - n') - (delay - (delay - (force - ifThenElse - (equalsInteger - d - d') - (constr 0 - [ ]) - (constr 1 - [ ])))) + ifThenElse + (equalsInteger + n + n') + (delay (delay - (delay + (force + ifThenElse + (equalsInteger + d + d') + (constr 0 + [ ]) (constr 1 - [ ])))))) ]) ]) - , (\ds ds -> - case - ds - [ (\n - d -> - case - ds - [ (\n' - d' -> - `$fOrdInteger_$ccompare` + [ ])))) + (delay + (delay + (constr 1 + [ ])))))) ]) ]) + , (\ds ds -> + case + ds + [ (\n d -> + case + ds + [ (\n' + d' -> + `$fOrdInteger_$ccompare` + (multiplyInteger + n + d') + (multiplyInteger + n' + d)) ]) ]) + , (\ds ds -> + case + ds + [ (\n d -> + case + ds + [ (\n' + d' -> + force + ifThenElse + (lessThanInteger (multiplyInteger n d') (multiplyInteger n' - d)) ]) ]) - , (\ds ds -> - case - ds - [ (\n - d -> - case - ds - [ (\n' - d' -> - force - ifThenElse - (lessThanInteger - (multiplyInteger - n - d') - (multiplyInteger - n' - d)) - (constr 0 - [ ]) - (constr 1 - [ ])) ]) ]) - , `$fOrdRational0_$c<=` - , (\ds ds -> - case - ds - [ (\n - d -> - case - ds - [ (\n' - d' -> - force - ifThenElse - (lessThanEqualsInteger - (multiplyInteger - n - d') - (multiplyInteger - n' - d)) - (constr 1 - [ ]) - (constr 0 - [ ])) ]) ]) - , (\ds ds -> - case - ds - [ (\n - d -> - case - ds - [ (\n' - d' -> - force - ifThenElse - (lessThanInteger - (multiplyInteger - n - d') - (multiplyInteger - n' - d)) - (constr 1 - [ ]) - (constr 0 - [ ])) ]) ]) - , (\x y -> - force - (case - (`$fOrdRational0_$c<=` - x - y) - [ (delay - y) - , (delay - x) ])) - , (\x y -> - force - (case - (`$fOrdRational0_$c<=` - x - y) - [ (delay - x) - , (delay - y) ])) ]) - preds - ((\cse -> - force - ifThenElse + d)) + (constr 0 + [ ]) + (constr 1 + [ ])) ]) ]) + , `$fOrdRational0_$c<=` + , (\ds ds -> + case + ds + [ (\n d -> + case + ds + [ (\n' + d' -> + force + ifThenElse + (lessThanEqualsInteger + (multiplyInteger + n + d') + (multiplyInteger + n' + d)) + (constr 1 + [ ]) + (constr 0 + [ ])) ]) ]) + , (\ds ds -> + case + ds + [ (\n d -> + case + ds + [ (\n' + d' -> + force + ifThenElse + (lessThanInteger + (multiplyInteger + n + d') + (multiplyInteger + n' + d)) + (constr 1 + [ ]) + (constr 0 + [ ])) ]) ]) + , (\x y -> + force + (case + (`$fOrdRational0_$c<=` + x + y) + [ (delay + y) + , (delay + x) ])) + , (\x y -> + force + (case + (`$fOrdRational0_$c<=` + x + y) + [ (delay + x) + , (delay + y) ])) ]) + preds + ((\cse -> + force ifThenElse + (force nullList (force - nullList - (force - tailList - cse)) - (\ds -> - unsafeRatio - (unIData - (force - headList - cse)) - (unIData - (force - headList - cse)))) - (force tailList - cse) - (\ds -> error) - (constr 0 []))) - (unListData eta))) ])) - (\ds -> - case - ds - [ (\eta -> - force ifThenElse - (force nullList eta) - (constr 0 []) - (constr 1 [])) - , (\paramValueHd - paramValueTl - actualValueData -> - force - (case - (validateParamValue - paramValueHd - (force headList - actualValueData)) - [ (delay - (validateParamValues - paramValueTl - (force tailList - actualValueData))) - , (delay - (constr 1 - [])) ])) ])))))) - (fix1 - (\unsafeRatio n d -> - force - (force - (force ifThenElse - (equalsInteger 0 d) - (delay (delay error)) - (delay - (delay - (force - (force - (force ifThenElse - (lessThanInteger d 0) - (delay - (delay - (unsafeRatio - (subtractInteger - 0 - n) - (subtractInteger - 0 - d)))) - (delay - (delay - ((\gcd' -> - constr 0 - [ (quotientInteger - n - gcd') - , (quotientInteger - d - gcd') ]) - (euclid - n - d)))))))))))))) - (fix1 - (\euclid x y -> + tailList + cse)) + (\ds -> + unsafeRatio + (unIData + (force + headList + cse)) + (unIData + (force + headList + cse)))) + (force tailList + cse) + (\ds -> error) + (constr 0 []))) + (unListData eta))) ])) + (\ds -> + case + ds + [ (\eta -> + force ifThenElse + (force nullList eta) + (constr 0 []) + (constr 1 [])) + , (\paramValueHd + paramValueTl + actualValueData -> + force + (case + (validateParamValue + paramValueHd + (force headList + actualValueData)) + [ (delay + (validateParamValues + paramValueTl + (force tailList + actualValueData))) + , (delay + (constr 1 + [])) ])) ])))))) + ((\s -> s s) + (\s n d -> force (force (force ifThenElse - (equalsInteger 0 y) - (delay (delay x)) + (equalsInteger 0 d) + (delay (delay error)) (delay - (delay (euclid y (modInteger x y))))))))) - (\`$dOrd` ds ds -> - fix1 - (\go ds -> - force - (case - ds - [ (delay (constr 0 [])) - , (\x xs -> - delay - (case - x - [ (\predKey expectedPredValues -> - (\meaning -> - fix1 - (\go ds -> - force + (delay + (force + (force + (force ifThenElse + (lessThanInteger d 0) + (delay + (delay + ((\x -> s s x) + (subtractInteger 0 n) + (subtractInteger + 0 + d)))) + (delay + (delay + ((\gcd' -> + constr 0 + [ (quotientInteger + n + gcd') + , (quotientInteger + d + gcd') ]) + (euclid + n + d)))))))))))))) + ((\s -> s s) + (\s x y -> + force + (force + (force ifThenElse + (equalsInteger 0 y) + (delay (delay x)) + (delay (delay (s s y (modInteger x y))))))))) + (\`$dOrd` ds ds -> + (\s -> s s) + (\s ds -> + force + (case + ds + [ (delay (constr 0 [])) + , (\x xs -> + delay + (case + x + [ (\predKey expectedPredValues -> + (\meaning -> + (\s -> s s) + (\s ds -> + force + (case + ds + [ (delay (s s xs)) + , (\x xs -> + delay + (force + (case + (meaning + x + ds) + [ (delay + (s + s + xs)) + , (delay + (constr 1 + [ ])) ]))) ])) + expectedPredValues) + (force + (case + predKey + [ (delay (case - ds - [ (delay (go xs)) - , (\x xs -> - delay - (force - (case - (meaning - x - ds) - [ (delay - (go - xs)) - , (delay - (constr 1 - [ ])) ]))) ])) - expectedPredValues) - (force - (case - predKey - [ (delay - (case - `$dOrd` - [ (\v - v - v - v - v - v - v - v -> - v) ])) - , (delay - (case - `$dOrd` - [ (\v - v - v - v - v - v - v - v -> - v) ])) - , (delay - (\x y -> - force + `$dOrd` + [ (\v v v v v v v v -> + v) ])) + , (delay + (case + `$dOrd` + [ (\v v v v v v v v -> + v) ])) + , (delay + (\x y -> + force + (case (case - (case - `$dOrd` - [ (\v - v - v - v - v - v - v - v -> - v) ] - x - y) - [ (delay - (constr 1 - [])) - , (delay - (constr 0 - [ ])) ]))) ]))) ])) ])) - ds)) - (\x y -> - force ifThenElse - (equalsInteger x y) - (constr 0 []) - (constr 1 []))) - (\eta eta -> - force - (force - (force ifThenElse - (equalsInteger eta eta) - (delay (delay (constr 0 []))) + `$dOrd` + [ (\v + v + v + v + v + v + v + v -> + v) ] + x + y) + [ (delay + (constr 1 + [])) + , (delay + (constr 0 + [ ])) ]))) ]))) ])) ])) + ds)) + (\x y -> + force ifThenElse (equalsInteger x y) (constr 0 []) (constr 1 []))) + (\eta eta -> + force + (force + (force ifThenElse + (equalsInteger eta eta) + (delay (delay (constr 0 []))) + (delay (delay - (delay + (force (force - (force - (force ifThenElse - (lessThanEqualsInteger eta eta) - (delay (delay (constr 2 []))) - (delay (delay (constr 1 [])))))))))))) - (\ds ds -> - case - ds - [ (\n d -> - case - ds - [ (\n' d' -> - force ifThenElse - (lessThanEqualsInteger - (multiplyInteger n d') - (multiplyInteger n' d)) - (constr 0 []) - (constr 1 [])) ]) ])) - (\f -> (\s -> s s) (\s -> f (\x -> s s x)))) \ No newline at end of file + (force ifThenElse + (lessThanEqualsInteger eta eta) + (delay (delay (constr 2 []))) + (delay (delay (constr 1 [])))))))))))) + (\ds ds -> + case + ds + [ (\n d -> + case + ds + [ (\n' d' -> + force ifThenElse + (lessThanEqualsInteger + (multiplyInteger n d') + (multiplyInteger n' d)) + (constr 0 []) + (constr 1 [])) ]) ])) \ No newline at end of file diff --git a/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/sorted.cbor.size.golden b/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/sorted.cbor.size.golden index 8615bfd56e7..bdedcd99466 100644 --- a/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/sorted.cbor.size.golden +++ b/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/sorted.cbor.size.golden @@ -1 +1 @@ -2147 \ No newline at end of file +2164 \ No newline at end of file diff --git a/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/sorted.large.budget.golden b/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/sorted.large.budget.golden index dbeb86b8ed1..db7062df342 100644 --- a/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/sorted.large.budget.golden +++ b/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/sorted.large.budget.golden @@ -1 +1 @@ -ExBudget {exBudgetCPU = ExCPU 604996171, exBudgetMemory = ExMemory 2993818} \ No newline at end of file +ExBudget {exBudgetCPU = ExCPU 554164171, exBudgetMemory = ExMemory 2676118} \ No newline at end of file diff --git a/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/sorted.small.budget.golden b/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/sorted.small.budget.golden index 310fc063069..154826ec362 100644 --- a/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/sorted.small.budget.golden +++ b/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/sorted.small.budget.golden @@ -1 +1 @@ -ExBudget {exBudgetCPU = ExCPU 91797157, exBudgetMemory = ExMemory 415305} \ No newline at end of file +ExBudget {exBudgetCPU = ExCPU 86661157, exBudgetMemory = ExMemory 383205} \ No newline at end of file diff --git a/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/sorted.uplc.golden b/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/sorted.uplc.golden index 56e4e20727a..d3a6746d116 100644 --- a/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/sorted.uplc.golden +++ b/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/sorted.uplc.golden @@ -1,16 +1,16 @@ program 1.1.0 - ((\fix1 -> - (\`$fOrdRational0_$c<=` -> - (\`$fOrdInteger_$ccompare` -> - (\validatePreds -> - (\euclid -> - (\unsafeRatio -> - (\cse -> - (\validateParamValue -> - (\validateParamValues -> - (\runRules -> - (\caseData_go -> + ((\`$fOrdRational0_$c<=` -> + (\`$fOrdInteger_$ccompare` -> + (\validatePreds -> + (\euclid -> + (\unsafeRatio -> + (\cse -> + (\validateParamValue -> + (\validateParamValues -> + (\runRules -> + (\caseData_go -> + (\cse -> (\cse -> (\cse -> (\cse -> @@ -39,886 +39,883 @@ program (\cse -> (\cse -> (\cse -> - (\cse -> - (\cse -> - (\fun - ds -> - force - (case - ((\cse -> - (\x -> - force - (force - (force - ifThenElse - (equalsInteger - 0 - x) - (delay - (delay - (constr 0 - [ ((\d -> - force - caseData_go - (unMapData - d)) + (\fun + ds -> + force + (case + ((\cse -> + (\x -> + force + (force + (force + ifThenElse + (equalsInteger + 0 + x) + (delay + (delay + (constr 0 + [ ((\d -> + force + caseData_go + (unMapData + d)) + (force + headList + (force + tailList (force - headList (force - tailList - (force - (force - sndPair) - cse)))) ]))) - (delay - (delay + sndPair) + cse)))) ]))) + (delay + (delay + (force + (force (force - (force - (force - ifThenElse - (equalsInteger - 2 - x) - (delay - (delay - (constr 1 - [ ]))) - (delay - (delay - error)))))))))) - (force - (force - fstPair) - cse)) - (unConstrData + ifThenElse + (equalsInteger + 2 + x) + (delay + (delay + (constr 1 + [ ]))) + (delay + (delay + error)))))))))) + (force + (force + fstPair) + cse)) + (unConstrData + (force + headList + (force + tailList (force - headList + tailList (force - tailList (force - tailList - (force - (force - sndPair) - (unConstrData - ((\cse -> - force - (force + sndPair) + (unConstrData + ((\cse -> + force + (force + (force + ifThenElse + (equalsInteger + 5 (force - ifThenElse - (equalsInteger - 5 + (force + fstPair) + cse)) + (delay + (delay + (force + headList (force + tailList (force - fstPair) - cse)) - (delay - (delay - (force - headList (force - tailList - (force - (force - sndPair) - cse))))) - (delay - (delay - error))))) - (unConstrData + sndPair) + cse))))) + (delay + (delay + error))))) + (unConstrData + (force + headList + (force + tailList (force - headList + tailList (force - tailList (force - tailList - (force - (force - sndPair) - (unConstrData - ds)))))))))))))) - [ (\cparams -> - delay - (force - (case - (fun - cparams) - [ (delay - ()) - , (delay - error) ]))) - , (delay - ()) ])) - (runRules - (constr 1 - [ (constr 0 - [ 0 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 30 - , cse ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 1000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 1 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 100000 - , cse ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 10000000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 2 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 24576 - , (constr 0 - [ ]) ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 122880 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 3 - , (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 32768 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 4 - , (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 5000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 5 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 1000000 - , cse ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 5000000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 6 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 250000000 - , cse ]) ]) - , cse ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 7 - , (constr 1 - [ (constr 1 - [ cse - , (constr 0 - [ ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 8 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 250 - , cse ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 2000 - , (constr 0 - [ ]) ]) ]) - , cse ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 9 - , (constr 3 - [ (constr 1 - [ cse - , cse ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 10 - , (constr 3 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ (cse - 1000) - , cse ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ (cse - 200) - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 11 - , (constr 3 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ (cse - 10) - , cse ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 16 - , (constr 1 - [ (constr 1 - [ cse - , cse ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 17 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 3000 - , cse ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 6500 - , (constr 0 - [ ]) ]) ]) - , cse ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 18 - , (constr 0 - [ ]) ]) - , (constr 1 - [ (constr 0 - [ 19 - , (constr 2 - [ (constr 1 - [ (constr 3 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ (cse - 25) - , (constr 0 - [ ]) ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ (cse - 5) - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) - , (constr 1 - [ (constr 3 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ (cse - 20000) - , (constr 0 - [ ]) ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ (cse - 5000) - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 20 - , (constr 2 - [ (constr 1 - [ (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 40000000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) - , (constr 1 - [ (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 15000000000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 21 - , (constr 2 - [ (constr 1 - [ (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 120000000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) - , (constr 1 - [ (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 40000000000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 22 - , (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 12288 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 23 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 100 - , cse ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 200 - , (constr 0 - [ ]) ]) ]) - , cse ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 24 - , (constr 1 - [ (constr 1 - [ cse - , (constr 0 - [ ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 25 - , (constr 2 - [ (constr 1 - [ cse - , (constr 1 - [ cse - , (constr 1 - [ cse - , (constr 1 - [ cse - , cse ]) ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 26 - , (constr 2 - [ (constr 1 - [ cse - , (constr 1 - [ cse - , (constr 1 - [ cse - , (constr 1 - [ (constr 3 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ cse - , (constr 1 - [ (unsafeRatio - 13 - 20) - , (constr 0 - [ ]) ]) ]) ]) - , cse ]) ]) - , (constr 1 - [ cse - , (constr 1 - [ cse - , (constr 1 - [ cse - , (constr 1 - [ cse - , (constr 1 - [ (constr 3 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ cse - , cse ]) ]) - , cse ]) ]) - , cse ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 27 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 0 - , (constr 1 - [ 3 - , (constr 0 - [ ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 10 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 28 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 0 - , (constr 1 - [ 18 - , (constr 0 - [ ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 293 - , (constr 0 - [ ]) ]) ]) - , cse ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 29 - , (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 15 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 30 - , (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 10000000000000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 31 - , (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 100000000000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 32 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 13 - , cse ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 37 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 33 - , (constr 3 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , cse ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ (unsafeRatio - 1000 - 1) - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]))) - (constr 3 - [ (constr 1 - [ cse + sndPair) + (unConstrData + ds)))))))))))))) + [ (\cparams -> + delay + (force + (case + (fun + cparams) + [ (delay + ()) + , (delay + error) ]))) + , (delay + ()) ])) + (runRules + (constr 1 + [ (constr 0 + [ 0 , (constr 1 - [ (constr 0 + [ (constr 1 [ (constr 0 - [ ]) + [ (constr 1 + [ ]) + , (constr 1 + [ 30 + , cse ]) ]) , (constr 1 - [ cse + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 1000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 1 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 100000 + , cse ]) ]) , (constr 1 - [ cse + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 10000000 + , (constr 0 + [ ]) ]) ]) , (constr 0 - [ ]) ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ])) - (constr 3 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ cse - , cse ]) ]) - , (constr 0 - [ ]) ]) ]) ])) + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 2 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 24576 + , (constr 0 + [ ]) ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 122880 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 3 + , (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 32768 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 4 + , (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 5000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 5 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 1000000 + , cse ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 5000000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 6 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 250000000 + , cse ]) ]) + , cse ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 7 + , (constr 1 + [ (constr 1 + [ cse + , (constr 0 + [ ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 8 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 250 + , cse ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 2000 + , (constr 0 + [ ]) ]) ]) + , cse ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 9 + , (constr 3 + [ (constr 1 + [ cse + , cse ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 10 + , (constr 3 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ (cse + 1000) + , cse ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ (cse + 200) + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 11 + , (constr 3 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ (cse + 10) + , cse ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 16 + , (constr 1 + [ (constr 1 + [ cse + , cse ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 17 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 3000 + , cse ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 6500 + , (constr 0 + [ ]) ]) ]) + , cse ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 18 + , (constr 0 + [ ]) ]) + , (constr 1 + [ (constr 0 + [ 19 + , (constr 2 + [ (constr 1 + [ (constr 3 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ (cse + 25) + , (constr 0 + [ ]) ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ (cse + 5) + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) + , (constr 1 + [ (constr 3 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ (cse + 20000) + , (constr 0 + [ ]) ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ (cse + 5000) + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 20 + , (constr 2 + [ (constr 1 + [ (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 40000000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) + , (constr 1 + [ (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 15000000000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 21 + , (constr 2 + [ (constr 1 + [ (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 120000000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) + , (constr 1 + [ (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 40000000000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 22 + , (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 12288 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 23 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 100 + , cse ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 200 + , (constr 0 + [ ]) ]) ]) + , cse ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 24 + , (constr 1 + [ (constr 1 + [ cse + , (constr 0 + [ ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 25 + , (constr 2 + [ (constr 1 + [ cse + , (constr 1 + [ cse + , (constr 1 + [ cse + , (constr 1 + [ cse + , cse ]) ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 26 + , (constr 2 + [ (constr 1 + [ cse + , (constr 1 + [ cse + , (constr 1 + [ cse + , (constr 1 + [ (constr 3 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ cse + , (constr 1 + [ (unsafeRatio + 13 + 20) + , (constr 0 + [ ]) ]) ]) ]) + , cse ]) ]) + , (constr 1 + [ cse + , (constr 1 + [ cse + , (constr 1 + [ cse + , (constr 1 + [ cse + , (constr 1 + [ (constr 3 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ cse + , cse ]) ]) + , cse ]) ]) + , cse ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 27 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 0 + , (constr 1 + [ 3 + , (constr 0 + [ ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 10 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 28 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 0 + , (constr 1 + [ 18 + , (constr 0 + [ ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 293 + , (constr 0 + [ ]) ]) ]) + , cse ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 29 + , (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 15 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 30 + , (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 10000000000000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 31 + , (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 100000000000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 32 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 13 + , cse ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 37 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 33 + , (constr 3 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , cse ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ (unsafeRatio + 1000 + 1) + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]))) (constr 3 [ (constr 1 [ cse - , cse ]) ])) - (constr 1 - [ (constr 3 - [ (constr 1 + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ cse + , cse ]) ]) + , (constr 0 + [ ]) ]) ]) ])) + (constr 3 + [ (constr 1 + [ cse + , (constr 1 [ (constr 0 - [ (constr 1 + [ (constr 0 [ ]) , (constr 1 [ cse - , (constr 0 - [ ]) ]) ]) - , cse ]) ]) - , (constr 0 - [ ]) ])) - (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ cse - , (constr 1 - [ cse - , (constr 0 - [ ]) ]) ]) ]) - , (constr 0 - [ ]) ])) - (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ cse - , cse ]) ])) - (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ cse + , (constr 1 + [ (cse + 5) + , (constr 0 + [ ]) ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ])) + (constr 3 + [ (constr 1 + [ cse + , cse ]) ])) + (constr 1 + [ (constr 3 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ cse + , (constr 0 + [ ]) ]) ]) + , cse ]) ]) + , (constr 0 + [ ]) ])) + (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) , (constr 1 [ cse - , (constr 0 - [ ]) ]) ]) ])) - (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , cse ]) - , (constr 0 - [ ]) ])) - (constr 1 - [ cse - , (constr 0 - [ ]) ])) - (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 0 - , (constr 1 - [ 1000000 - , (constr 0 - [ ]) ]) ]) ])) - (constr 1 - [ (constr 0 - [ (constr 2 - [ ]) - , cse ]) - , (constr 0 - [ ]) ])) + , (constr 1 + [ cse + , (constr 0 + [ ]) ]) ]) ]) + , (constr 0 + [ ]) ])) + (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ cse + , (constr 1 + [ cse + , (constr 0 + [ ]) ]) ]) ])) + (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ (cse + 10) + , cse ]) ])) + (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , cse ]) + , (constr 0 + [ ]) ])) + (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 0 + , (constr 1 + [ 1000000 + , (constr 0 + [ ]) ]) ]) ])) (constr 1 - [ (cse - 4) + [ (constr 0 + [ (constr 2 + [ ]) + , cse ]) , (constr 0 [ ]) ])) (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 500000000 - , (constr 0 - [ ]) ]) ]) + [ cse , (constr 0 [ ]) ])) (constr 1 - [ cse + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 500000000 + , (constr 0 + [ ]) ]) ]) , (constr 0 [ ]) ])) - (cse - 2)) - (cse - 10)) - (constr 0 - [ (constr 1 - [ ]) - , cse ])) + (constr 1 + [ cse + , (constr 0 + [ ]) ])) + (constr 1 + [ cse + , (constr 0 + [ ]) ])) + (cse + 10)) (cse - 100)) + 1)) (constr 0 [ (constr 1 [ ]) - , (constr 1 - [ 1 - , (constr 0 - [ ]) ]) ])) - (cse 10)) - (cse 1)) - (cse 5)) - (cse 1)) - (unsafeRatio 1)) + , cse ])) + (cse 4)) + (constr 0 + [ (constr 1 + []) + , (constr 1 + [ 1 + , (constr 0 + [ ]) ]) ])) + (cse 1)) + (cse 100)) + (cse 2)) (unsafeRatio 4)) (unsafeRatio 51)) - (unsafeRatio 0)) - (unsafeRatio 3)) - (constr 1 [0, (constr 0 [])])) - (unsafeRatio 9)) - (fix1 - (\caseData_go arg -> - delay - (\xs -> - force - (force (force chooseList) - xs - (delay (constr 0 [])) - (delay - ((\x xs -> - constr 1 - [ (constr 0 - [ (force - (force - fstPair) - x) - , (force - (force - sndPair) - x) ]) - , (force - (caseData_go - (delay - (\x -> - x))) - xs) ]) - (force headList xs) - (force tailList - xs)))))) - (delay (\x -> x)))) - (fix1 + (unsafeRatio 3)) + (constr 1 [0, (constr 0 [])])) + (unsafeRatio 0)) + (unsafeRatio 1)) + (unsafeRatio 9)) + ((\s -> s s) + (\s arg -> + delay + (\xs -> + force + (force (force chooseList) + xs + (delay (constr 0 [])) + (delay + ((\x xs -> + constr 1 + [ (constr 0 + [ (force + (force + fstPair) + x) + , (force + (force + sndPair) + x) ]) + , (force + (s + s + (delay + (\x -> x))) + xs) ]) + (force headList xs) + (force tailList xs)))))) + (delay (\x -> x)))) + ((\s -> s s) + (\s -> (\runRules ds cparams -> force ((\fail -> @@ -977,421 +974,406 @@ program [ (delay (constr 0 [])) , (\ipv ipv -> delay - (constr 1 [])) ])))))) - (cse (\arg_0 arg_1 -> arg_1))) - (cse (\arg_0 arg_1 -> arg_0))) - (force - ((\s -> s s) - (\s h -> - delay - (\fr -> - (\k -> - fr - (\x -> k (\f_0 f_1 -> f_0 x)) - (\x -> k (\f_0 f_1 -> f_1 x))) - (\fq -> force (s s h) (force h fq)))) - (delay - (\choose - validateParamValue - validateParamValues -> - choose - (\eta eta -> - force - (case - eta - [ (delay (constr 0 [])) - , (\preds -> - delay - (validatePreds - (constr 0 - [ (\x y -> - force ifThenElse - (equalsInteger - x - y) - (constr 0 []) - (constr 1 [])) - , `$fOrdInteger_$ccompare` - , (\x y -> - force ifThenElse - (lessThanInteger - x - y) - (constr 0 []) - (constr 1 [])) - , (\x y -> - force ifThenElse - (lessThanEqualsInteger - x - y) - (constr 0 []) - (constr 1 [])) - , (\x y -> - force ifThenElse - (lessThanEqualsInteger - x - y) - (constr 1 []) - (constr 0 [])) - , (\x y -> - force ifThenElse - (lessThanInteger - x - y) - (constr 1 []) - (constr 0 [])) - , (\x y -> - force + (constr 1 [])) ])))) + (\x -> s s x)))) + (cse (\arg_0 arg_1 -> arg_1))) + (cse (\arg_0 arg_1 -> arg_0))) + (force + ((\s -> s s) + (\s h -> + delay + (\fr -> + (\k -> + fr + (\x -> k (\f_0 f_1 -> f_0 x)) + (\x -> k (\f_0 f_1 -> f_1 x))) + (\fq -> force (s s h) (force h fq)))) + (delay + (\choose validateParamValue validateParamValues -> + choose + (\eta eta -> + force + (case + eta + [ (delay (constr 0 [])) + , (\preds -> + delay + (validatePreds + (constr 0 + [ (\x y -> + force ifThenElse + (equalsInteger + x + y) + (constr 0 []) + (constr 1 [])) + , `$fOrdInteger_$ccompare` + , (\x y -> + force ifThenElse + (lessThanInteger + x + y) + (constr 0 []) + (constr 1 [])) + , (\x y -> + force ifThenElse + (lessThanEqualsInteger + x + y) + (constr 0 []) + (constr 1 [])) + , (\x y -> + force ifThenElse + (lessThanEqualsInteger + x + y) + (constr 1 []) + (constr 0 [])) + , (\x y -> + force ifThenElse + (lessThanInteger + x + y) + (constr 1 []) + (constr 0 [])) + , (\x y -> + force + (force (force - (force - ifThenElse - (lessThanEqualsInteger - x - y) + ifThenElse + (lessThanEqualsInteger + x + y) + (delay (delay - (delay - y)) + y)) + (delay (delay - (delay - x))))) - , (\x y -> - force + x))))) + , (\x y -> + force + (force (force - (force - ifThenElse - (lessThanEqualsInteger - x - y) + ifThenElse + (lessThanEqualsInteger + x + y) + (delay (delay - (delay - x)) + x)) + (delay (delay - (delay - y))))) ]) - preds - (unIData eta))) - , (\paramValues -> - delay - (validateParamValues - paramValues - (unListData eta))) - , (\preds -> - delay - ((\cse -> - validatePreds - (constr 0 - [ (\ds ds -> - case - ds - [ (\n d -> - case - ds - [ (\n' - d' -> - force + y))))) ]) + preds + (unIData eta))) + , (\paramValues -> + delay + (validateParamValues + paramValues + (unListData eta))) + , (\preds -> + delay + ((\cse -> + validatePreds + (constr 0 + [ (\ds ds -> + case + ds + [ (\n d -> + case + ds + [ (\n' + d' -> + force + (force (force - (force - ifThenElse - (equalsInteger - n - n') - (delay - (delay - (force - ifThenElse - (equalsInteger - d - d') - (constr 0 - [ ]) - (constr 1 - [ ])))) + ifThenElse + (equalsInteger + n + n') + (delay (delay - (delay + (force + ifThenElse + (equalsInteger + d + d') + (constr 0 + [ ]) (constr 1 - [ ])))))) ]) ]) - , (\ds ds -> - case - ds - [ (\n d -> - case - ds - [ (\n' - d' -> - `$fOrdInteger_$ccompare` + [ ])))) + (delay + (delay + (constr 1 + [ ])))))) ]) ]) + , (\ds ds -> + case + ds + [ (\n d -> + case + ds + [ (\n' + d' -> + `$fOrdInteger_$ccompare` + (multiplyInteger + n + d') + (multiplyInteger + n' + d)) ]) ]) + , (\ds ds -> + case + ds + [ (\n d -> + case + ds + [ (\n' + d' -> + force + ifThenElse + (lessThanInteger (multiplyInteger n d') (multiplyInteger n' - d)) ]) ]) - , (\ds ds -> - case - ds - [ (\n d -> - case - ds - [ (\n' - d' -> - force - ifThenElse - (lessThanInteger - (multiplyInteger - n - d') - (multiplyInteger - n' - d)) - (constr 0 - [ ]) - (constr 1 - [ ])) ]) ]) - , `$fOrdRational0_$c<=` - , (\ds ds -> - case - ds - [ (\n d -> - case - ds - [ (\n' - d' -> - force - ifThenElse - (lessThanEqualsInteger - (multiplyInteger - n - d') - (multiplyInteger - n' - d)) - (constr 1 - [ ]) - (constr 0 - [ ])) ]) ]) - , (\ds ds -> - case - ds - [ (\n d -> - case - ds - [ (\n' - d' -> - force - ifThenElse - (lessThanInteger - (multiplyInteger - n - d') - (multiplyInteger - n' - d)) - (constr 1 - [ ]) - (constr 0 - [ ])) ]) ]) - , (\x y -> - force - (case - (`$fOrdRational0_$c<=` - x - y) - [ (delay - y) - , (delay - x) ])) - , (\x y -> - force - (case - (`$fOrdRational0_$c<=` - x - y) - [ (delay - x) - , (delay - y) ])) ]) - preds - ((\cse -> - force ifThenElse - (force nullList - (force - tailList - cse)) - (\ds -> - unsafeRatio - (unIData - (force - headList - cse)) - (unIData - (force - headList - cse)))) - (force tailList - cse) - (\ds -> error) - (constr 0 []))) - (unListData eta))) ])) - (\ds -> - case - ds - [ (\eta -> - force ifThenElse - (force nullList eta) - (constr 0 []) - (constr 1 [])) - , (\paramValueHd - paramValueTl - actualValueData -> - force - (case - (validateParamValue - paramValueHd - (force headList - actualValueData)) - [ (delay - (validateParamValues - paramValueTl - (force tailList - actualValueData))) - , (delay - (constr 1 - [])) ])) ])))))) - (fix1 - (\unsafeRatio n d -> - force - (force - (force ifThenElse - (equalsInteger 0 d) - (delay (delay error)) + d)) + (constr 0 + [ ]) + (constr 1 + [ ])) ]) ]) + , `$fOrdRational0_$c<=` + , (\ds ds -> + case + ds + [ (\n d -> + case + ds + [ (\n' + d' -> + force + ifThenElse + (lessThanEqualsInteger + (multiplyInteger + n + d') + (multiplyInteger + n' + d)) + (constr 1 + [ ]) + (constr 0 + [ ])) ]) ]) + , (\ds ds -> + case + ds + [ (\n d -> + case + ds + [ (\n' + d' -> + force + ifThenElse + (lessThanInteger + (multiplyInteger + n + d') + (multiplyInteger + n' + d)) + (constr 1 + [ ]) + (constr 0 + [ ])) ]) ]) + , (\x y -> + force + (case + (`$fOrdRational0_$c<=` + x + y) + [ (delay y) + , (delay + x) ])) + , (\x y -> + force + (case + (`$fOrdRational0_$c<=` + x + y) + [ (delay x) + , (delay + y) ])) ]) + preds + ((\cse -> + force ifThenElse + (force nullList + (force tailList + cse)) + (\ds -> + unsafeRatio + (unIData + (force + headList + cse)) + (unIData + (force + headList + cse)))) + (force tailList cse) + (\ds -> error) + (constr 0 []))) + (unListData eta))) ])) + (\ds -> + case + ds + [ (\eta -> + force ifThenElse + (force nullList eta) + (constr 0 []) + (constr 1 [])) + , (\paramValueHd + paramValueTl + actualValueData -> + force + (case + (validateParamValue + paramValueHd + (force headList + actualValueData)) + [ (delay + (validateParamValues + paramValueTl + (force tailList + actualValueData))) + , (delay + (constr 1 [])) ])) ])))))) + ((\s -> s s) + (\s n d -> + force + (force + (force ifThenElse + (equalsInteger 0 d) + (delay (delay error)) + (delay (delay - (delay + (force (force - (force - (force ifThenElse - (lessThanInteger d 0) + (force ifThenElse + (lessThanInteger d 0) + (delay (delay - (delay - (unsafeRatio - (subtractInteger 0 n) - (subtractInteger - 0 - d)))) + ((\x -> s s x) + (subtractInteger 0 n) + (subtractInteger 0 d)))) + (delay (delay - (delay - ((\gcd' -> - constr 0 - [ (quotientInteger - n - gcd') - , (quotientInteger - d - gcd') ]) - (euclid - n - d)))))))))))))) - (fix1 - (\euclid x y -> - force - (force - (force ifThenElse - (equalsInteger 0 y) - (delay (delay x)) - (delay (delay (euclid y (modInteger x y))))))))) - (\`$dOrd` ds ds -> - fix1 - (\go ds -> - force - (case - ds - [ (delay (constr 0 [])) - , (\x xs -> - delay - (case - x - [ (\predKey expectedPredValues -> - (\meaning -> - fix1 - (\go ds -> - force + ((\gcd' -> + constr 0 + [ (quotientInteger + n + gcd') + , (quotientInteger + d + gcd') ]) + (euclid n d)))))))))))))) + ((\s -> s s) + (\s x y -> + force + (force + (force ifThenElse + (equalsInteger 0 y) + (delay (delay x)) + (delay (delay (s s y (modInteger x y))))))))) + (\`$dOrd` ds ds -> + (\s -> s s) + (\s ds -> + force + (case + ds + [ (delay (constr 0 [])) + , (\x xs -> + delay + (case + x + [ (\predKey expectedPredValues -> + (\meaning -> + (\s -> s s) + (\s ds -> + force + (case + ds + [ (delay (s s xs)) + , (\x xs -> + delay + (force + (case + (meaning x ds) + [ (delay + (s s xs)) + , (delay + (constr 1 + [ ])) ]))) ])) + expectedPredValues) + (force + (case + predKey + [ (delay (case - ds - [ (delay (go xs)) - , (\x xs -> - delay - (force - (case - (meaning - x - ds) - [ (delay - (go - xs)) - , (delay - (constr 1 - [ ])) ]))) ])) - expectedPredValues) - (force - (case - predKey - [ (delay - (case - `$dOrd` - [ (\v v v v v v v v -> - v) ])) - , (delay - (case - `$dOrd` - [ (\v v v v v v v v -> - v) ])) - , (delay - (\x y -> - force + `$dOrd` + [ (\v v v v v v v v -> + v) ])) + , (delay + (case + `$dOrd` + [ (\v v v v v v v v -> + v) ])) + , (delay + (\x y -> + force + (case (case - (case - `$dOrd` - [ (\v - v - v - v - v - v - v - v -> - v) ] - x - y) - [ (delay - (constr 1 - [])) - , (delay - (constr 0 - [ ])) ]))) ]))) ])) ])) - ds)) - (\eta eta -> - force - (force - (force ifThenElse - (equalsInteger eta eta) - (delay (delay (constr 0 []))) + `$dOrd` + [ (\v + v + v + v + v + v + v + v -> + v) ] + x + y) + [ (delay + (constr 1 [])) + , (delay + (constr 0 + [ ])) ]))) ]))) ])) ])) + ds)) + (\eta eta -> + force + (force + (force ifThenElse + (equalsInteger eta eta) + (delay (delay (constr 0 []))) + (delay (delay - (delay + (force (force - (force - (force ifThenElse - (lessThanEqualsInteger eta eta) - (delay (delay (constr 2 []))) - (delay (delay (constr 1 [])))))))))))) - (\ds ds -> - case - ds - [ (\n d -> - case - ds - [ (\n' d' -> - force ifThenElse - (lessThanEqualsInteger - (multiplyInteger n d') - (multiplyInteger n' d)) - (constr 0 []) - (constr 1 [])) ]) ])) - (\f -> (\s -> s s) (\s -> f (\x -> s s x)))) \ No newline at end of file + (force ifThenElse + (lessThanEqualsInteger eta eta) + (delay (delay (constr 2 []))) + (delay (delay (constr 1 [])))))))))))) + (\ds ds -> + case + ds + [ (\n d -> + case + ds + [ (\n' d' -> + force ifThenElse + (lessThanEqualsInteger + (multiplyInteger n d') + (multiplyInteger n' d)) + (constr 0 []) + (constr 1 [])) ]) ])) \ No newline at end of file diff --git a/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/unsorted.cbor.size.golden b/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/unsorted.cbor.size.golden index 7637952e0c2..6f7f6dd235e 100644 --- a/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/unsorted.cbor.size.golden +++ b/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/unsorted.cbor.size.golden @@ -1 +1 @@ -2136 \ No newline at end of file +2161 \ No newline at end of file diff --git a/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/unsorted.large.budget.golden b/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/unsorted.large.budget.golden index 6687ad8aa09..802045155ba 100644 --- a/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/unsorted.large.budget.golden +++ b/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/unsorted.large.budget.golden @@ -1 +1 @@ -ExBudget {exBudgetCPU = ExCPU 963850341, exBudgetMemory = ExMemory 4888488} \ No newline at end of file +ExBudget {exBudgetCPU = ExCPU 865594341, exBudgetMemory = ExMemory 4274388} \ No newline at end of file diff --git a/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/unsorted.small.budget.golden b/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/unsorted.small.budget.golden index a4f7f566a0d..48b9906fb7d 100644 --- a/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/unsorted.small.budget.golden +++ b/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/unsorted.small.budget.golden @@ -1 +1 @@ -ExBudget {exBudgetCPU = ExCPU 89455267, exBudgetMemory = ExMemory 403203} \ No newline at end of file +ExBudget {exBudgetCPU = ExCPU 83935267, exBudgetMemory = ExMemory 368703} \ No newline at end of file diff --git a/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/unsorted.uplc.golden b/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/unsorted.uplc.golden index c9cf05a5514..a3fa28c7fec 100644 --- a/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/unsorted.uplc.golden +++ b/cardano-constitution/test/Cardano/Constitution/Validator/GoldenTests/unsorted.uplc.golden @@ -1,16 +1,16 @@ program 1.1.0 - ((\fix1 -> - (\`$fOrdRational0_$c<=` -> - (\`$fOrdInteger_$ccompare` -> - (\equalsInteger -> - (\validatePreds -> - (\euclid -> - (\unsafeRatio -> - (\cse -> - (\validateParamValue -> - (\validateParamValues -> - (\caseData_go -> + ((\`$fOrdRational0_$c<=` -> + (\`$fOrdInteger_$ccompare` -> + (\equalsInteger -> + (\validatePreds -> + (\euclid -> + (\unsafeRatio -> + (\cse -> + (\validateParamValue -> + (\validateParamValues -> + (\caseData_go -> + (\cse -> (\cse -> (\cse -> (\cse -> @@ -40,861 +40,876 @@ program (\cse -> (\cse -> (\cse -> - (\cfg -> - (\fun - ds -> - force - (case - ((\cse -> - (\x -> - force - (force + (\cse -> + (\cfg -> + (\fun + ds -> + force + (case + ((\cse -> + (\x -> + force (force - ifThenElse - (equalsInteger - 0 - x) - (delay + (force + ifThenElse + (equalsInteger + 0 + x) (delay - (constr 0 - [ ((\d -> - force - caseData_go - (unMapData - d)) - (force - headList + (delay + (constr 0 + [ ((\d -> + force + caseData_go + (unMapData + d)) (force - tailList + headList (force + tailList (force - sndPair) - cse)))) ]))) - (delay + (force + sndPair) + cse)))) ]))) (delay - (force + (delay (force (force - ifThenElse - (equalsInteger - 2 - x) - (delay + (force + ifThenElse + (equalsInteger + 2 + x) (delay - (constr 1 - [ ]))) - (delay + (delay + (constr 1 + [ ]))) (delay - error)))))))))) - (force + (delay + error)))))))))) (force - fstPair) - cse)) - (unConstrData - (force - headList + (force + fstPair) + cse)) + (unConstrData (force - tailList + headList (force tailList (force + tailList (force - sndPair) - (unConstrData - ((\cse -> - force - (force + (force + sndPair) + (unConstrData + ((\cse -> + force (force - ifThenElse - (equalsInteger - 5 - (force + (force + ifThenElse + (equalsInteger + 5 (force - fstPair) - cse)) - (delay + (force + fstPair) + cse)) (delay - (force - headList + (delay (force - tailList + headList (force + tailList (force - sndPair) - cse))))) - (delay + (force + sndPair) + cse))))) (delay - error))))) - (unConstrData - (force - headList + (delay + error))))) + (unConstrData (force - tailList + headList (force tailList (force + tailList (force - sndPair) - (unConstrData - ds)))))))))))))) - [ (\cparams -> - delay - (force - (case - (fun - cparams) - [ (delay - ()) - , (delay - error) ]))) - , (delay - ()) ])) - ((\go - eta -> - go - eta) - (fix1 - (\go - ds -> - force - (case - ds - [ (delay - (constr 0 - [ ])) - , (\x - xs -> - delay - (force - (case + (force + sndPair) + (unConstrData + ds)))))))))))))) + [ (\cparams -> + delay + (force + (case + (fun + cparams) + [ (delay + ()) + , (delay + error) ]))) + , (delay + ()) ])) + ((\go + eta -> + go + eta) + ((\s -> + s + s) + (\s + ds -> + force + (case + ds + [ (delay + (constr 0 + [ ])) + , (\x + xs -> + delay + (force (case - x - [ (\ds - actualValueData -> - validateParamValue - ((\k -> - fix1 - (\go - ds -> - force - (case - ds - [ (delay - error) - , (\ds - xs' -> - delay - (case - ds - [ (\k' - i -> - force - (case - (equalsInteger - k - k') - [ (delay - i) - , (delay - (go - xs')) ])) ])) ]))) - (unIData - ds) - cfg) - actualValueData) ]) - [ (delay - (go - xs)) - , (delay - (constr 1 - [ ])) ]))) ]))))) - (constr 1 - [ (constr 0 - [ 0 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 30 - , cse ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 1000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 1 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 100000 - , cse ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 10000000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) + (case + x + [ (\ds + actualValueData -> + validateParamValue + ((\k -> + (\s -> + s + s) + (\s + ds -> + force + (case + ds + [ (delay + error) + , (\ds + xs' -> + delay + (case + ds + [ (\k' + i -> + force + (case + (equalsInteger + k + k') + [ (delay + i) + , (delay + (s + s + xs')) ])) ])) ]))) + (unIData + ds) + cfg) + actualValueData) ]) + [ (delay + (s + s + xs)) + , (delay + (constr 1 + [ ])) ]))) ]))))) + (constr 1 + [ (constr 0 + [ 0 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 30 + , cse ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 1000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 1 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 100000 + , cse ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 10000000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 2 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 24576 + , (constr 0 + [ ]) ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 122880 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 3 + , (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 32768 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 4 + , (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 5000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 5 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 1000000 + , cse ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 5000000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 6 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 250000000 + , cse ]) ]) + , cse ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 7 + , (constr 1 + [ (constr 1 + [ cse + , (constr 0 + [ ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 8 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 250 + , cse ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 2000 + , (constr 0 + [ ]) ]) ]) + , cse ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 9 + , (constr 3 + [ (constr 1 + [ cse + , cse ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 10 + , (constr 3 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ (cse + 1000) + , cse ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ (cse + 200) + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 11 + , (constr 3 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ (cse + 10) + , cse ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 16 + , (constr 1 + [ (constr 1 + [ cse + , cse ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 17 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 3000 + , cse ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 6500 + , (constr 0 + [ ]) ]) ]) + , cse ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 18 + , (constr 0 + [ ]) ]) + , (constr 1 + [ (constr 0 + [ 19 + , (constr 2 + [ (constr 1 + [ (constr 3 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ (cse + 25) + , (constr 0 + [ ]) ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ (cse + 5) + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) + , (constr 1 + [ (constr 3 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ (cse + 20000) + , (constr 0 + [ ]) ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ (cse + 5000) + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 20 + , (constr 2 + [ (constr 1 + [ (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 40000000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) + , (constr 1 + [ (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 15000000000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 21 + , (constr 2 + [ (constr 1 + [ (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 120000000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) + , (constr 1 + [ (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 40000000000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 22 + , (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 12288 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 23 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 100 + , cse ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 200 + , (constr 0 + [ ]) ]) ]) + , cse ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 24 + , (constr 1 + [ (constr 1 + [ cse + , (constr 0 + [ ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 25 + , (constr 2 + [ (constr 1 + [ cse + , (constr 1 + [ cse + , (constr 1 + [ cse + , (constr 1 + [ cse + , cse ]) ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 26 + , (constr 2 + [ (constr 1 + [ cse + , (constr 1 + [ cse + , (constr 1 + [ cse + , (constr 1 + [ (constr 3 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ cse + , (constr 1 + [ (unsafeRatio + 13 + 20) + , (constr 0 + [ ]) ]) ]) ]) + , cse ]) ]) + , (constr 1 + [ cse + , (constr 1 + [ cse + , (constr 1 + [ cse + , (constr 1 + [ cse + , (constr 1 + [ (constr 3 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ cse + , cse ]) ]) + , cse ]) ]) + , cse ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 27 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 0 + , (constr 1 + [ 3 + , (constr 0 + [ ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 10 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 28 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 0 + , (constr 1 + [ 18 + , (constr 0 + [ ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 293 + , (constr 0 + [ ]) ]) ]) + , cse ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 29 + , (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 15 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 30 + , (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 10000000000000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 31 + , (constr 1 + [ (constr 1 + [ cse + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 100000000000 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 32 + , (constr 1 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 13 + , cse ]) ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ 37 + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 1 + [ (constr 0 + [ 33 + , (constr 3 + [ (constr 1 + [ (constr 0 + [ (constr 1 + [ ]) + , cse ]) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ (unsafeRatio + 1000 + 1) + , (constr 0 + [ ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ])) + (constr 3 + [ (constr 1 + [ cse , (constr 1 [ (constr 0 - [ 2 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 24576 - , (constr 0 - [ ]) ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 122880 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 [ (constr 0 - [ 3 - , (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 32768 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) + [ ]) , (constr 1 - [ (constr 0 - [ 4 - , (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 5000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 5 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 1000000 - , cse ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 5000000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 6 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 250000000 - , cse ]) ]) - , cse ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 7 - , (constr 1 - [ (constr 1 - [ cse - , (constr 0 - [ ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 8 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 250 - , cse ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 2000 - , (constr 0 - [ ]) ]) ]) - , cse ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 9 - , (constr 3 - [ (constr 1 - [ cse - , cse ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 10 - , (constr 3 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ (cse - 1000) - , cse ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ (cse - 200) - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 11 - , (constr 3 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ (cse - 10) - , cse ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 16 - , (constr 1 - [ (constr 1 - [ cse - , cse ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 17 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 3000 - , cse ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 6500 - , (constr 0 - [ ]) ]) ]) - , cse ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 18 - , (constr 0 - [ ]) ]) - , (constr 1 - [ (constr 0 - [ 19 - , (constr 2 - [ (constr 1 - [ (constr 3 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ (cse - 25) - , (constr 0 - [ ]) ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ (cse - 5) - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) - , (constr 1 - [ (constr 3 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ (cse - 20000) - , (constr 0 - [ ]) ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ (cse - 5000) - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 20 - , (constr 2 - [ (constr 1 - [ (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 40000000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) - , (constr 1 - [ (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 15000000000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 21 - , (constr 2 - [ (constr 1 - [ (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 120000000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) - , (constr 1 - [ (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 40000000000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 22 - , (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 12288 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 23 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 100 - , cse ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 200 - , (constr 0 - [ ]) ]) ]) - , cse ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 24 - , (constr 1 - [ (constr 1 - [ cse - , (constr 0 - [ ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 25 - , (constr 2 - [ (constr 1 - [ cse - , (constr 1 - [ cse - , (constr 1 - [ cse - , (constr 1 - [ cse - , cse ]) ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 26 - , (constr 2 - [ (constr 1 - [ cse - , (constr 1 - [ cse - , (constr 1 - [ cse - , (constr 1 - [ (constr 3 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ cse - , (constr 1 - [ (unsafeRatio - 13 - 20) - , (constr 0 - [ ]) ]) ]) ]) - , cse ]) ]) - , (constr 1 - [ cse - , (constr 1 - [ cse - , (constr 1 - [ cse - , (constr 1 - [ cse - , (constr 1 - [ (constr 3 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ cse - , cse ]) ]) - , cse ]) ]) - , cse ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 27 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 0 - , (constr 1 - [ 3 - , (constr 0 - [ ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 10 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 28 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 0 - , (constr 1 - [ 18 - , (constr 0 - [ ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 293 - , (constr 0 - [ ]) ]) ]) - , cse ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 29 - , (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 15 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 30 - , (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 10000000000000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 31 - , (constr 1 - [ (constr 1 - [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 100000000000 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 32 - , (constr 1 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 13 - , cse ]) ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 37 - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 1 - [ (constr 0 - [ 33 - , (constr 3 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , cse ]) - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ (unsafeRatio - 1000 - 1) - , (constr 0 - [ ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ]) ])) + [ cse + , cse ]) ]) + , (constr 0 + [ ]) ]) ]) ])) (constr 3 [ (constr 1 [ cse - , cse ]) ])) + , (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ cse + , (constr 1 + [ cse + , (constr 0 + [ ]) ]) ]) ]) + , (constr 0 + [ ]) ]) ]) ])) (constr 3 [ (constr 1 [ cse - , (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ cse - , cse ]) ]) - , (constr 0 - [ ]) ]) ]) ])) - (constr 3 - [ (constr 1 - [ cse - , (constr 1 + , cse ]) ])) + (constr 1 + [ (constr 3 + [ (constr 1 [ (constr 0 - [ (constr 0 + [ (constr 1 [ ]) , (constr 1 [ cse - , (constr 1 - [ (cse - 5) - , (constr 0 - [ ]) ]) ]) ]) - , (constr 0 - [ ]) ]) ]) ])) + , (constr 0 + [ ]) ]) ]) + , cse ]) ]) + , (constr 0 + [ ]) ])) (constr 1 - [ (constr 3 - [ (constr 1 - [ (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ cse - , (constr 0 - [ ]) ]) ]) - , cse ]) ]) + [ (constr 0 + [ (constr 0 + [ ]) + , (constr 1 + [ cse + , (constr 1 + [ cse + , (constr 0 + [ ]) ]) ]) ]) , (constr 0 [ ]) ])) - (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ cse - , (constr 1 - [ cse - , (constr 0 - [ ]) ]) ]) ]) - , (constr 0 - [ ]) ])) + (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ cse + , cse ]) ])) (constr 0 [ (constr 1 [ ]) , (constr 1 [ cse , (constr 1 - [ (cse - 100) + [ cse , (constr 0 [ ]) ]) ]) ])) - (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ cse - , cse ]) ])) - (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , cse ]) - , (constr 0 - [ ]) ])) - (constr 0 - [ (constr 1 - [ ]) - , (constr 1 - [ 0 - , (constr 1 - [ 1000000 - , (constr 0 - [ ]) ]) ]) ])) + (constr 1 + [ (constr 0 + [ (constr 0 + [ ]) + , cse ]) + , (constr 0 + [ ]) ])) + (constr 0 + [ (constr 1 + [ ]) + , (constr 1 + [ 0 + , (constr 1 + [ 1000000 + , (constr 0 + [ ]) ]) ]) ])) + (constr 1 + [ (constr 0 + [ (constr 2 + [ ]) + , cse ]) + , (constr 0 + [ ]) ])) (constr 1 [ (constr 0 - [ (constr 2 + [ (constr 0 [ ]) - , cse ]) + , (constr 1 + [ 500000000 + , (constr 0 + [ ]) ]) ]) , (constr 0 [ ]) ])) (constr 1 @@ -902,528 +917,480 @@ program , (constr 0 [ ]) ])) (constr 1 - [ (constr 0 - [ (constr 0 - [ ]) - , (constr 1 - [ 500000000 - , (constr 0 - [ ]) ]) ]) + [ cse , (constr 0 [ ]) ])) (constr 1 [ cse , (constr 0 [ ]) ])) - (constr 1 - [ cse - , (constr 0 - [ ]) ])) - (constr 0 - [ (constr 1 - [ ]) - , cse ])) + (cse + 1)) + (cse + 100)) (cse 2)) - (cse - 1)) - (cse 1)) - (constr 0 - [ (constr 1 - []) - , (constr 1 - [ 1 - , (constr 0 - [ ]) ]) ])) + (constr 0 + [ (constr 1 + [ ]) + , cse ])) + (cse 10)) + (cse 1)) (cse 4)) - (cse 10)) - (cse 10)) - (unsafeRatio 3)) - (unsafeRatio 4)) - (unsafeRatio 51)) - (unsafeRatio 0)) - (constr 1 [0, (constr 0 [])])) - (unsafeRatio 1)) + (constr 0 + [ (constr 1 []) + , (constr 1 + [ 1 + , (constr 0 + [ ]) ]) ])) + (cse 5)) + (cse 10)) + (unsafeRatio 51)) + (unsafeRatio 1)) + (unsafeRatio 4)) + (unsafeRatio 3)) + (constr 1 [0, (constr 0 [])])) (unsafeRatio 9)) - (fix1 - (\caseData_go arg -> - delay - (\xs -> - force - (force (force chooseList) - xs - (delay (constr 0 [])) - (delay - ((\x xs -> - constr 1 - [ (constr 0 - [ (force - (force - fstPair) - x) - , (force - (force - sndPair) - x) ]) - , (force - (caseData_go - (delay - (\x -> - x))) - xs) ]) - (force headList xs) - (force tailList - xs)))))) - (delay (\x -> x)))) - (cse (\arg_0 arg_1 -> arg_1))) - (cse (\arg_0 arg_1 -> arg_0))) - (force - ((\s -> s s) - (\s h -> - delay - (\fr -> - (\k -> - fr - (\x -> k (\f_0 f_1 -> f_0 x)) - (\x -> k (\f_0 f_1 -> f_1 x))) - (\fq -> force (s s h) (force h fq)))) - (delay - (\choose - validateParamValue - validateParamValues -> - choose - (\eta eta -> + (unsafeRatio 0)) + ((\s -> s s) + (\s arg -> + delay + (\xs -> force - (case - eta - [ (delay (constr 0 [])) - , (\preds -> - delay - (validatePreds - (constr 0 - [ equalsInteger - , `$fOrdInteger_$ccompare` - , (\x y -> - force - ifThenElse - (lessThanInteger - x - y) - (constr 0 - []) - (constr 1 - [])) - , (\x y -> - force - ifThenElse - (lessThanEqualsInteger - x - y) - (constr 0 - []) - (constr 1 - [])) - , (\x y -> - force - ifThenElse - (lessThanEqualsInteger - x - y) - (constr 1 - []) - (constr 0 - [])) - , (\x y -> - force - ifThenElse - (lessThanInteger - x - y) - (constr 1 - []) - (constr 0 - [])) - , (\x y -> - force + (force (force chooseList) + xs + (delay (constr 0 [])) + (delay + ((\x xs -> + constr 1 + [ (constr 0 + [ (force + (force + fstPair) + x) + , (force + (force + sndPair) + x) ]) + , (force + (s + s + (delay + (\x -> x))) + xs) ]) + (force headList xs) + (force tailList xs)))))) + (delay (\x -> x)))) + (cse (\arg_0 arg_1 -> arg_1))) + (cse (\arg_0 arg_1 -> arg_0))) + (force + ((\s -> s s) + (\s h -> + delay + (\fr -> + (\k -> + fr + (\x -> k (\f_0 f_1 -> f_0 x)) + (\x -> k (\f_0 f_1 -> f_1 x))) + (\fq -> force (s s h) (force h fq)))) + (delay + (\choose + validateParamValue + validateParamValues -> + choose + (\eta eta -> + force + (case + eta + [ (delay (constr 0 [])) + , (\preds -> + delay + (validatePreds + (constr 0 + [ equalsInteger + , `$fOrdInteger_$ccompare` + , (\x y -> + force ifThenElse + (lessThanInteger + x + y) + (constr 0 []) + (constr 1 [])) + , (\x y -> + force ifThenElse + (lessThanEqualsInteger + x + y) + (constr 0 []) + (constr 1 [])) + , (\x y -> + force ifThenElse + (lessThanEqualsInteger + x + y) + (constr 1 []) + (constr 0 [])) + , (\x y -> + force ifThenElse + (lessThanInteger + x + y) + (constr 1 []) + (constr 0 [])) + , (\x y -> + force + (force (force - (force - ifThenElse - (lessThanEqualsInteger - x - y) + ifThenElse + (lessThanEqualsInteger + x + y) + (delay (delay - (delay - y)) + y)) + (delay (delay - (delay - x))))) - , (\x y -> - force + x))))) + , (\x y -> + force + (force (force - (force - ifThenElse - (lessThanEqualsInteger - x - y) + ifThenElse + (lessThanEqualsInteger + x + y) + (delay (delay - (delay - x)) + x)) + (delay (delay - (delay - y))))) ]) - preds - (unIData eta))) - , (\paramValues -> - delay - (validateParamValues - paramValues - (unListData eta))) - , (\preds -> - delay - ((\cse -> - validatePreds - (constr 0 - [ (\ds ds -> - case - ds - [ (\n - d -> - case - ds - [ (\n' - d' -> - force + y))))) ]) + preds + (unIData eta))) + , (\paramValues -> + delay + (validateParamValues + paramValues + (unListData eta))) + , (\preds -> + delay + ((\cse -> + validatePreds + (constr 0 + [ (\ds ds -> + case + ds + [ (\n d -> + case + ds + [ (\n' + d' -> + force + (force (force - (force - ifThenElse - (equalsInteger - n - n') - (delay - (delay - (force - ifThenElse - (equalsInteger - d - d') - (constr 0 - [ ]) - (constr 1 - [ ])))) + ifThenElse + (equalsInteger + n + n') + (delay (delay - (delay + (force + ifThenElse + (equalsInteger + d + d') + (constr 0 + [ ]) (constr 1 - [ ])))))) ]) ]) - , (\ds ds -> - case - ds - [ (\n - d -> - case - ds - [ (\n' - d' -> - `$fOrdInteger_$ccompare` + [ ])))) + (delay + (delay + (constr 1 + [ ])))))) ]) ]) + , (\ds ds -> + case + ds + [ (\n d -> + case + ds + [ (\n' + d' -> + `$fOrdInteger_$ccompare` + (multiplyInteger + n + d') + (multiplyInteger + n' + d)) ]) ]) + , (\ds ds -> + case + ds + [ (\n d -> + case + ds + [ (\n' + d' -> + force + ifThenElse + (lessThanInteger (multiplyInteger n d') (multiplyInteger n' - d)) ]) ]) - , (\ds ds -> - case - ds - [ (\n - d -> - case - ds - [ (\n' - d' -> - force - ifThenElse - (lessThanInteger - (multiplyInteger - n - d') - (multiplyInteger - n' - d)) - (constr 0 - [ ]) - (constr 1 - [ ])) ]) ]) - , `$fOrdRational0_$c<=` - , (\ds ds -> - case - ds - [ (\n - d -> - case - ds - [ (\n' - d' -> - force - ifThenElse - (lessThanEqualsInteger - (multiplyInteger - n - d') - (multiplyInteger - n' - d)) - (constr 1 - [ ]) - (constr 0 - [ ])) ]) ]) - , (\ds ds -> - case - ds - [ (\n - d -> - case - ds - [ (\n' - d' -> - force - ifThenElse - (lessThanInteger - (multiplyInteger - n - d') - (multiplyInteger - n' - d)) - (constr 1 - [ ]) - (constr 0 - [ ])) ]) ]) - , (\x y -> - force - (case - (`$fOrdRational0_$c<=` - x - y) - [ (delay - y) - , (delay - x) ])) - , (\x y -> - force - (case - (`$fOrdRational0_$c<=` - x - y) - [ (delay - x) - , (delay - y) ])) ]) - preds - ((\cse -> - force - ifThenElse + d)) + (constr 0 + [ ]) + (constr 1 + [ ])) ]) ]) + , `$fOrdRational0_$c<=` + , (\ds ds -> + case + ds + [ (\n d -> + case + ds + [ (\n' + d' -> + force + ifThenElse + (lessThanEqualsInteger + (multiplyInteger + n + d') + (multiplyInteger + n' + d)) + (constr 1 + [ ]) + (constr 0 + [ ])) ]) ]) + , (\ds ds -> + case + ds + [ (\n d -> + case + ds + [ (\n' + d' -> + force + ifThenElse + (lessThanInteger + (multiplyInteger + n + d') + (multiplyInteger + n' + d)) + (constr 1 + [ ]) + (constr 0 + [ ])) ]) ]) + , (\x y -> + force + (case + (`$fOrdRational0_$c<=` + x + y) + [ (delay + y) + , (delay + x) ])) + , (\x y -> + force + (case + (`$fOrdRational0_$c<=` + x + y) + [ (delay + x) + , (delay + y) ])) ]) + preds + ((\cse -> + force ifThenElse + (force nullList (force - nullList - (force - tailList - cse)) - (\ds -> - unsafeRatio - (unIData - (force - headList - cse)) - (unIData - (force - headList - cse)))) - (force tailList - cse) - (\ds -> error) - (constr 0 []))) - (unListData eta))) ])) - (\ds -> - case - ds - [ (\eta -> - force ifThenElse - (force nullList eta) - (constr 0 []) - (constr 1 [])) - , (\paramValueHd - paramValueTl - actualValueData -> - force - (case - (validateParamValue - paramValueHd - (force headList - actualValueData)) - [ (delay - (validateParamValues - paramValueTl - (force tailList - actualValueData))) - , (delay - (constr 1 - [])) ])) ])))))) - (fix1 - (\unsafeRatio n d -> - force - (force - (force ifThenElse - (equalsInteger 0 d) - (delay (delay error)) - (delay - (delay - (force - (force - (force ifThenElse - (lessThanInteger d 0) - (delay - (delay - (unsafeRatio - (subtractInteger - 0 - n) - (subtractInteger - 0 - d)))) - (delay - (delay - ((\gcd' -> - constr 0 - [ (quotientInteger - n - gcd') - , (quotientInteger - d - gcd') ]) - (euclid - n - d)))))))))))))) - (fix1 - (\euclid x y -> + tailList + cse)) + (\ds -> + unsafeRatio + (unIData + (force + headList + cse)) + (unIData + (force + headList + cse)))) + (force tailList + cse) + (\ds -> error) + (constr 0 []))) + (unListData eta))) ])) + (\ds -> + case + ds + [ (\eta -> + force ifThenElse + (force nullList eta) + (constr 0 []) + (constr 1 [])) + , (\paramValueHd + paramValueTl + actualValueData -> + force + (case + (validateParamValue + paramValueHd + (force headList + actualValueData)) + [ (delay + (validateParamValues + paramValueTl + (force tailList + actualValueData))) + , (delay + (constr 1 + [])) ])) ])))))) + ((\s -> s s) + (\s n d -> force (force (force ifThenElse - (equalsInteger 0 y) - (delay (delay x)) + (equalsInteger 0 d) + (delay (delay error)) (delay - (delay (euclid y (modInteger x y))))))))) - (\`$dOrd` ds ds -> - fix1 - (\go ds -> - force - (case - ds - [ (delay (constr 0 [])) - , (\x xs -> - delay - (case - x - [ (\predKey expectedPredValues -> - (\meaning -> - fix1 - (\go ds -> - force + (delay + (force + (force + (force ifThenElse + (lessThanInteger d 0) + (delay + (delay + ((\x -> s s x) + (subtractInteger 0 n) + (subtractInteger + 0 + d)))) + (delay + (delay + ((\gcd' -> + constr 0 + [ (quotientInteger + n + gcd') + , (quotientInteger + d + gcd') ]) + (euclid + n + d)))))))))))))) + ((\s -> s s) + (\s x y -> + force + (force + (force ifThenElse + (equalsInteger 0 y) + (delay (delay x)) + (delay (delay (s s y (modInteger x y))))))))) + (\`$dOrd` ds ds -> + (\s -> s s) + (\s ds -> + force + (case + ds + [ (delay (constr 0 [])) + , (\x xs -> + delay + (case + x + [ (\predKey expectedPredValues -> + (\meaning -> + (\s -> s s) + (\s ds -> + force + (case + ds + [ (delay (s s xs)) + , (\x xs -> + delay + (force + (case + (meaning + x + ds) + [ (delay + (s + s + xs)) + , (delay + (constr 1 + [ ])) ]))) ])) + expectedPredValues) + (force + (case + predKey + [ (delay (case - ds - [ (delay (go xs)) - , (\x xs -> - delay - (force - (case - (meaning - x - ds) - [ (delay - (go - xs)) - , (delay - (constr 1 - [ ])) ]))) ])) - expectedPredValues) - (force - (case - predKey - [ (delay - (case - `$dOrd` - [ (\v - v - v - v - v - v - v - v -> - v) ])) - , (delay - (case - `$dOrd` - [ (\v - v - v - v - v - v - v - v -> - v) ])) - , (delay - (\x y -> - force + `$dOrd` + [ (\v v v v v v v v -> + v) ])) + , (delay + (case + `$dOrd` + [ (\v v v v v v v v -> + v) ])) + , (delay + (\x y -> + force + (case (case - (case - `$dOrd` - [ (\v - v - v - v - v - v - v - v -> - v) ] - x - y) - [ (delay - (constr 1 - [])) - , (delay - (constr 0 - [ ])) ]))) ]))) ])) ])) - ds)) - (\x y -> - force ifThenElse - (equalsInteger x y) - (constr 0 []) - (constr 1 []))) - (\eta eta -> - force - (force - (force ifThenElse - (equalsInteger eta eta) - (delay (delay (constr 0 []))) + `$dOrd` + [ (\v + v + v + v + v + v + v + v -> + v) ] + x + y) + [ (delay + (constr 1 + [])) + , (delay + (constr 0 + [ ])) ]))) ]))) ])) ])) + ds)) + (\x y -> + force ifThenElse (equalsInteger x y) (constr 0 []) (constr 1 []))) + (\eta eta -> + force + (force + (force ifThenElse + (equalsInteger eta eta) + (delay (delay (constr 0 []))) + (delay (delay - (delay + (force (force - (force - (force ifThenElse - (lessThanEqualsInteger eta eta) - (delay (delay (constr 2 []))) - (delay (delay (constr 1 [])))))))))))) - (\ds ds -> - case - ds - [ (\n d -> - case - ds - [ (\n' d' -> - force ifThenElse - (lessThanEqualsInteger - (multiplyInteger n d') - (multiplyInteger n' d)) - (constr 0 []) - (constr 1 [])) ]) ])) - (\f -> (\s -> s s) (\s -> f (\x -> s s x)))) \ No newline at end of file + (force ifThenElse + (lessThanEqualsInteger eta eta) + (delay (delay (constr 2 []))) + (delay (delay (constr 1 [])))))))))))) + (\ds ds -> + case + ds + [ (\n d -> + case + ds + [ (\n' d' -> + force ifThenElse + (lessThanEqualsInteger + (multiplyInteger n d') + (multiplyInteger n' d)) + (constr 0 []) + (constr 1 [])) ]) ])) \ No newline at end of file