Details

Time bar (total: 2.5s)

analyze267.0ms (10.7%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
0%0%99.8%0.2%0%0%0%1
0%0%99.8%0.2%0%0%0%2
0%0%99.8%0.2%0%0%0%3
0%0%99.8%0.2%0%0%0%4
0%0%99.8%0.2%0%0%0%5
0%0%99.8%0.2%0%0%0%6
0%0%99.8%0.2%0%0%0%7
0%0%99.8%0.2%0%0%0%8
6.3%6.2%93.6%0.2%0%0%0%9
9.4%9.4%90.4%0.2%0%0%0%10
13%12.5%83.4%0.2%3.9%0%0%11
19.6%18.7%76.8%0.2%4.3%0%0%12
Compiler

Compiled 12 to 8 computations (33.3% saved)

sample953.0ms (38.3%)

Results
757.0ms8256×body256valid
183.0ms1998×body256infinite
Bogosity

preprocess6.0ms (0.3%)

Algorithm
egg-herbie
Rules
12×rational.json-simplify-2
12×rational.json-simplify-1
swap-z-t
swap-x-y
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023133
132133
044
144
Stop Event
unsound
saturated
Calls
Call 1
Inputs
0
1
2
3
Outputs
0
1
0
2
3
2
Call 2
Inputs
(+.f64 (*.f64 x y) (*.f64 z t))
(+.f64 (*.f64 y x) (*.f64 z t))
(+.f64 (*.f64 z y) (*.f64 x t))
(+.f64 (*.f64 t y) (*.f64 z x))
(+.f64 (*.f64 x z) (*.f64 y t))
(+.f64 (*.f64 x t) (*.f64 z y))
(+.f64 (*.f64 x y) (*.f64 t z))
Outputs
(+.f64 (*.f64 x y) (*.f64 z t))
(+.f64 (*.f64 y x) (*.f64 z t))
(+.f64 (*.f64 x y) (*.f64 z t))
(+.f64 (*.f64 z y) (*.f64 x t))
(+.f64 (*.f64 y z) (*.f64 x t))
(+.f64 (*.f64 t y) (*.f64 z x))
(+.f64 (*.f64 y t) (*.f64 x z))
(+.f64 (*.f64 x z) (*.f64 y t))
(+.f64 (*.f64 y t) (*.f64 x z))
(+.f64 (*.f64 x t) (*.f64 z y))
(+.f64 (*.f64 y z) (*.f64 x t))
(+.f64 (*.f64 x y) (*.f64 t z))
(+.f64 (*.f64 x y) (*.f64 z t))
Symmetry

(sort x y)

(sort z t)

Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify7.0ms (0.3%)

Algorithm
egg-herbie
Rules
rational.json-simplify-2
rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
11219
Stop Event
saturated
Counts
1 → 1
Calls
Call 1
Inputs
(+.f64 (*.f64 x y) (*.f64 z t))
Outputs
(+.f64 (*.f64 x y) (*.f64 z t))

eval0.0ms (0%)

Compiler

Compiled 11 to 7 computations (36.4% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.0b
Counts
2 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (*.f64 x y) (*.f64 z t))
Compiler

Compiled 11 to 7 computations (36.4% saved)

localize8.0ms (0.3%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 x y) (*.f64 z t))
Compiler

Compiled 21 to 7 computations (66.7% saved)

series3.0ms (0.1%)

Counts
1 → 48
Calls

12 calls:

TimeVariablePointExpression
0.0ms
z
@0
(+.f64 (*.f64 x y) (*.f64 z t))
0.0ms
x
@0
(+.f64 (*.f64 x y) (*.f64 z t))
0.0ms
x
@-inf
(+.f64 (*.f64 x y) (*.f64 z t))
0.0ms
z
@-inf
(+.f64 (*.f64 x y) (*.f64 z t))
0.0ms
y
@0
(+.f64 (*.f64 x y) (*.f64 z t))

rewrite110.0ms (4.4%)

Algorithm
batch-egg-rewrite
Rules
1950×bool.json-1
1344×rational.json-simplify-35
1218×bool.json-2
1188×rational.json-1
1188×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
18919
223519
349219
4101819
5225119
6465719
7765919
Stop Event
node limit
Counts
1 → 20
Calls
Call 1
Inputs
(+.f64 (*.f64 x y) (*.f64 z t))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (*.f64 x y) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 t (*.f64 z 1/2)) (*.f64 y (*.f64 x 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 z (+.f64 t t)) (*.f64 x (+.f64 y y))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (*.f64 x y) (*.f64 z t))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (*.f64 x y) (*.f64 z t)) (+.f64 (*.f64 x y) (*.f64 z t)))))))

simplify990.0ms (39.8%)

Algorithm
egg-herbie
Rules
5898×rational.json-simplify-51
1986×rational.json-simplify-35
1706×rational.json-simplify-2
1162×rational.json-simplify-1
1146×rational.json-simplify-49
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0601148
11231148
22901148
37111148
411331148
524631148
632421148
732981148
833281148
933541148
1033801148
1134061148
1234551148
1334811148
1435071148
1535331148
1635591148
1735851148
1836111148
1944551148
2048251148
2148571148
2248871148
2349161148
2449451148
2549741148
2650031148
2750321148
2850611148
2950901148
3051191148
3151481148
3251771148
3352061148
3452351148
3552641148
3652931148
3753221148
3853511148
3953801148
4053801148
Stop Event
node limit
Counts
68 → 23
Calls
Call 1
Inputs
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 0)
(*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)
(*.f64 1 (+.f64 (*.f64 x y) (*.f64 z t)))
(*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1/2))
(*.f64 2 (+.f64 (*.f64 t (*.f64 z 1/2)) (*.f64 y (*.f64 x 1/2))))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2))
(*.f64 1/2 (+.f64 (*.f64 z (+.f64 t t)) (*.f64 x (+.f64 y y))))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))
(*.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 4)
(/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)
(/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2) 2)
(/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 4)
(/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 8)))) 64)
Outputs
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 y x)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 t z)
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(+.f64 (*.f64 y x) (*.f64 t z))
(-.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 0)
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 1 (+.f64 (*.f64 x y) (*.f64 z t)))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1/2))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 2 (+.f64 (*.f64 t (*.f64 z 1/2)) (*.f64 y (*.f64 x 1/2))))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2) 1/2)
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 4 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 1/4)
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 1/2 (+.f64 (*.f64 z (+.f64 t t)) (*.f64 x (+.f64 y y))))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1/2) 2)
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 1/4 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4))
(+.f64 (*.f64 y x) (*.f64 t z))
(*.f64 (/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 4)
(+.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 1)
(+.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 2) 2)
(+.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 4) 4)
(+.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 8) 8)
(+.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 8)) 16)
(+.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 8))) 32)
(+.f64 (*.f64 y x) (*.f64 t z))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 8))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (*.f64 x y) (*.f64 z t)) 8)))) 64)
(+.f64 (*.f64 y x) (*.f64 t z))

eval4.0ms (0.2%)

Compiler

Compiled 257 to 107 computations (58.4% saved)

prune4.0ms (0.2%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New21223
Fresh000
Picked011
Done000
Total21324
Error
0.0b
Counts
24 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (*.f64 x y) (*.f64 z t))
30.3b
(*.f64 y x)
31.2b
(*.f64 t z)
Compiler

Compiled 25 to 17 computations (32% saved)

localize4.0ms (0.1%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

localize4.0ms (0.2%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

eval0.0ms (0%)

Compiler

Compiled 4 to 4 computations (0% saved)

prune1.0ms (0.1%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New000
Fresh000
Picked011
Done022
Total033
Error
0.0b
Counts
3 → 3
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (*.f64 x y) (*.f64 z t))
30.3b
(*.f64 y x)
31.2b
(*.f64 t z)
Compiler

Compiled 25 to 17 computations (32% saved)

regimes26.0ms (1%)

Counts
3 → 1
Calls
Call 1
Inputs
(*.f64 t z)
(*.f64 y x)
(+.f64 (*.f64 x y) (*.f64 z t))
Outputs
(+.f64 (*.f64 x y) (*.f64 z t))
Calls

7 calls:

4.0ms
z
4.0ms
(*.f64 x y)
3.0ms
(+.f64 (*.f64 x y) (*.f64 z t))
3.0ms
t
3.0ms
x
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1t
0.0b1(+.f64 (*.f64 x y) (*.f64 z t))
0.0b1(*.f64 x y)
0.0b1(*.f64 z t)
Compiler

Compiled 62 to 42 computations (32.3% saved)

regimes51.0ms (2%)

Accuracy

Total -45.5b remaining (-310.4%)

Threshold costs -45.5b (-310.4%)

Counts
2 → 3
Calls
Call 1
Inputs
(*.f64 t z)
(*.f64 y x)
Outputs
(*.f64 t z)
(*.f64 y x)
(*.f64 t z)
Calls

4 calls:

14.0ms
y
13.0ms
z
11.0ms
t
11.0ms
x
Results
ErrorSegmentsBranch
18.4b3x
16.6b5y
16.5b5z
14.6b3t
Compiler

Compiled 30 to 22 computations (26.7% saved)

bsearch23.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
10.0ms
7834483942455.18
109715296787704.75
13.0ms
-2.6032704710888764e-122
-6.440994241810654e-125
Results
20.0ms224×body256valid
Compiler

Compiled 242 to 181 computations (25.2% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02065
Stop Event
done
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 x y) (*.f64 z t))
(if (<=.f64 t -7889398248994235/1488565707357402911845015158554633286356257506687627387456491927921949262056238946972039271861787782268441644249633132407878864135402815488) (*.f64 t z) (if (<=.f64 t 13500000000000) (*.f64 y x) (*.f64 t z)))
(*.f64 t z)
Outputs
(+.f64 (*.f64 x y) (*.f64 z t))
(if (<=.f64 t -7889398248994235/1488565707357402911845015158554633286356257506687627387456491927921949262056238946972039271861787782268441644249633132407878864135402815488) (*.f64 t z) (if (<=.f64 t 13500000000000) (*.f64 y x) (*.f64 t z)))
(*.f64 t z)
Compiler

Compiled 39 to 24 computations (38.5% saved)

soundness0.0ms (0%)

end24.0ms (1%)

Remove

(sort z t)

(sort x y)

Compiler

Compiled 75 to 43 computations (42.7% saved)

Profiling

Loading profile data...