Details

Time bar (total: 2.7s)

analyze140.0ms (5.1%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
0%0%99.9%0.1%0%0%0%1
0%0%99.9%0.1%0%0%0%2
0%0%99.9%0.1%0%0%0%3
0%0%99.9%0.1%0%0%0%4
0%0%99.9%0.1%0%0%0%5
0%0%99.9%0.1%0%0%0%6
12.5%12.5%87.4%0.1%0%0%0%7
18.8%18.7%81.1%0.1%0%0%0%8
28.1%28.1%71.8%0.1%0%0%0%9
42.2%42.1%57.7%0.1%0%0%0%10
49.2%49.1%50.7%0.1%0%0%0%11
57.4%57.3%42.5%0.1%0%0%0%12
Compiler

Compiled 9 to 6 computations (33.3% saved)

sample1.2s (44.6%)

Results
1.2s8253×body256valid
0.0msbody2048valid
0.0msbody1024valid
Bogosity

preprocess9.0ms (0.3%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01352
11852
21852
033
133
Stop Event
unsound
saturated
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
0
2
0
Call 2
Inputs
(+.f64 (+.f64 x y) z)
(+.f64 (+.f64 y x) z)
(+.f64 (+.f64 z y) x)
(+.f64 (+.f64 x z) y)
Outputs
(+.f64 (+.f64 x y) z)
(+.f64 z (+.f64 x y))
(+.f64 x (+.f64 y z))
(+.f64 (+.f64 y x) z)
(+.f64 z (+.f64 x y))
(+.f64 x (+.f64 y z))
(+.f64 (+.f64 z y) x)
(+.f64 z (+.f64 x y))
(+.f64 x (+.f64 y z))
(+.f64 (+.f64 x z) y)
(+.f64 z (+.f64 x y))
(+.f64 x (+.f64 y z))
Symmetry

(sort x y z)

Compiler

Compiled 11 to 8 computations (27.3% saved)

simplify7.0ms (0.3%)

Algorithm
egg-herbie
Rules
12×rational.json-simplify-1
rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
1913
21313
31713
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(+.f64 (+.f64 x y) z)
Outputs
(+.f64 (+.f64 x y) z)
(+.f64 x (+.f64 y z))

eval0.0ms (0%)

Compiler

Compiled 13 to 7 computations (46.2% saved)

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
0.0b
Counts
3 → 1
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (+.f64 x y) z)
Compiler

Compiled 8 to 5 computations (37.5% saved)

localize6.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

Compiled 14 to 5 computations (64.3% saved)

series1.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite74.0ms (2.7%)

Algorithm
batch-egg-rewrite
Rules
1630×bool.json-1
1630×bool.json-2
1598×rational.json-1
1598×rational.json-2
1598×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
17013
220013
344913
499813
5243113
6552213
Stop Event
node limit
Counts
1 → 23
Calls
Call 1
Inputs
(+.f64 (+.f64 x y) z)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 x (+.f64 y z)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 x (+.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 x (+.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 x (+.f64 y z)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 z 1/2) (*.f64 (+.f64 x y) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (+.f64 x y) 1/2) (*.f64 z 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (+.f64 y z)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (+.f64 x (+.f64 y z)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (*.f64 (+.f64 x (+.f64 y z)) 1/2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 (+.f64 x (+.f64 y z)) 4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (+.f64 y z)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 x (+.f64 y z)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (+.f64 z z) (*.f64 (+.f64 x y) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (+.f64 x y) 2) (+.f64 z z)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 x (+.f64 y z)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 x (+.f64 y z)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 x (+.f64 y z)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 x (+.f64 y z)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (+.f64 y z)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (+.f64 y z)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 x (+.f64 y z)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 y z)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 y z)) 8)) (*.f64 2 (*.f64 (+.f64 x (+.f64 y z)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 x (+.f64 y z))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 x (+.f64 y z)) (+.f64 x (+.f64 y z)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 x (+.f64 y z)) (+.f64 x (+.f64 y z)))))))

simplify967.0ms (35.2%)

Algorithm
egg-herbie
Rules
8900×rational.json-simplify-41
2692×rational.json-simplify-51
2382×rational.json-simplify-2
2130×rational.json-simplify-35
1070×rational.json-simplify-49
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
060677
1115677
2310677
3754677
41379677
52228677
62605677
72660677
82698677
92731677
102759677
112787677
122815677
132843677
142871677
152899677
162927677
172955677
182983677
193735677
203793677
215268677
225319677
235350677
245379677
256129677
266158677
276187677
286216677
296245677
306274677
316303677
326332677
336361677
346390677
356419677
366448677
376477677
386506677
396535677
Stop Event
node limit
Counts
59 → 31
Calls
Call 1
Inputs
(+.f64 y z)
(+.f64 y (+.f64 z x))
(+.f64 y (+.f64 z x))
(+.f64 y (+.f64 z x))
x
(+.f64 y (+.f64 z x))
(+.f64 y (+.f64 z x))
(+.f64 y (+.f64 z x))
x
(+.f64 y (+.f64 z x))
(+.f64 y (+.f64 z x))
(+.f64 y (+.f64 z x))
(+.f64 z x)
(+.f64 y (+.f64 z x))
(+.f64 y (+.f64 z x))
(+.f64 y (+.f64 z x))
y
(+.f64 y (+.f64 z x))
(+.f64 y (+.f64 z x))
(+.f64 y (+.f64 z x))
y
(+.f64 y (+.f64 z x))
(+.f64 y (+.f64 z x))
(+.f64 y (+.f64 z x))
(+.f64 y x)
(+.f64 y (+.f64 z x))
(+.f64 y (+.f64 z x))
(+.f64 y (+.f64 z x))
z
(+.f64 y (+.f64 z x))
(+.f64 y (+.f64 z x))
(+.f64 y (+.f64 z x))
z
(+.f64 y (+.f64 z x))
(+.f64 y (+.f64 z x))
(+.f64 y (+.f64 z x))
(-.f64 (+.f64 x (+.f64 y z)) 0)
(*.f64 (+.f64 x (+.f64 y z)) 1)
(*.f64 1 (+.f64 x (+.f64 y z)))
(*.f64 2 (*.f64 (+.f64 x (+.f64 y z)) 1/2))
(*.f64 2 (+.f64 (*.f64 z 1/2) (*.f64 (+.f64 x y) 1/2)))
(*.f64 2 (+.f64 (*.f64 (+.f64 x y) 1/2) (*.f64 z 1/2)))
(*.f64 (*.f64 (+.f64 x (+.f64 y z)) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 x (+.f64 y z)) 4))
(*.f64 4 (*.f64 (*.f64 (+.f64 x (+.f64 y z)) 1/2) 1/2))
(*.f64 4 (*.f64 (/.f64 (+.f64 x (+.f64 y z)) 4) 1))
(*.f64 (*.f64 (+.f64 x (+.f64 y z)) 4) 1/4)
(*.f64 1/2 (*.f64 (+.f64 x (+.f64 y z)) 2))
(*.f64 1/2 (+.f64 (+.f64 z z) (*.f64 (+.f64 x y) 2)))
(*.f64 1/2 (+.f64 (*.f64 (+.f64 x y) 2) (+.f64 z z)))
(*.f64 (*.f64 (+.f64 x (+.f64 y z)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 x (+.f64 y z)) 4))
(*.f64 (/.f64 (+.f64 x (+.f64 y z)) 4) 4)
(/.f64 (+.f64 x (+.f64 y z)) 1)
(/.f64 (*.f64 (+.f64 x (+.f64 y z)) 2) 2)
(/.f64 (*.f64 (+.f64 x (+.f64 y z)) 4) 4)
(/.f64 (*.f64 (+.f64 x (+.f64 y z)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 y z)) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 y z)) 8)) (*.f64 2 (*.f64 (+.f64 x (+.f64 y z)) 8))) 32)
Outputs
(+.f64 y z)
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
x
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
x
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(+.f64 z x)
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
y
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
y
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(+.f64 y x)
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
z
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
z
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(-.f64 (+.f64 x (+.f64 y z)) 0)
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(*.f64 (+.f64 x (+.f64 y z)) 1)
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(*.f64 1 (+.f64 x (+.f64 y z)))
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(*.f64 2 (*.f64 (+.f64 x (+.f64 y z)) 1/2))
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(*.f64 2 (+.f64 (*.f64 z 1/2) (*.f64 (+.f64 x y) 1/2)))
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(*.f64 2 (+.f64 (*.f64 (+.f64 x y) 1/2) (*.f64 z 1/2)))
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(*.f64 (*.f64 (+.f64 x (+.f64 y z)) 2) 1/2)
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(*.f64 4 (/.f64 (+.f64 x (+.f64 y z)) 4))
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(*.f64 4 (*.f64 (*.f64 (+.f64 x (+.f64 y z)) 1/2) 1/2))
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(*.f64 4 (*.f64 (/.f64 (+.f64 x (+.f64 y z)) 4) 1))
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(*.f64 (*.f64 (+.f64 x (+.f64 y z)) 4) 1/4)
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(*.f64 1/2 (*.f64 (+.f64 x (+.f64 y z)) 2))
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(*.f64 1/2 (+.f64 (+.f64 z z) (*.f64 (+.f64 x y) 2)))
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(*.f64 1/2 (+.f64 (*.f64 (+.f64 x y) 2) (+.f64 z z)))
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(*.f64 (*.f64 (+.f64 x (+.f64 y z)) 1/2) 2)
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(*.f64 1/4 (*.f64 (+.f64 x (+.f64 y z)) 4))
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(*.f64 (/.f64 (+.f64 x (+.f64 y z)) 4) 4)
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(/.f64 (+.f64 x (+.f64 y z)) 1)
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(/.f64 (*.f64 (+.f64 x (+.f64 y z)) 2) 2)
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(/.f64 (*.f64 (+.f64 x (+.f64 y z)) 4) 4)
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(/.f64 (*.f64 (+.f64 x (+.f64 y z)) 8) 8)
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(/.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 y z)) 8)) 16)
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 x (+.f64 y z)) 8)) (*.f64 2 (*.f64 (+.f64 x (+.f64 y z)) 8))) 32)
(+.f64 y (+.f64 z x))
(+.f64 z (+.f64 y x))

eval4.0ms (0.2%)

Compiler

Compiled 250 to 116 computations (53.6% saved)

prune6.0ms (0.2%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New26531
Fresh000
Picked011
Done000
Total26632
Error
0.0b
Counts
32 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (+.f64 x y) z)
1.0b
(+.f64 z x)
32.0b
(+.f64 y z)
30.8b
(+.f64 y x)
32.9b
z
31.9b
x
Compiler

Compiled 34 to 23 computations (32.4% saved)

localize3.0ms (0.1%)

Compiler

Compiled 8 to 4 computations (50% saved)

localize3.0ms (0.1%)

Compiler

Compiled 8 to 4 computations (50% saved)

localize3.0ms (0.1%)

Compiler

Compiled 8 to 4 computations (50% saved)

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune2.0ms (0.1%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New000
Fresh022
Picked011
Done033
Total066
Error
0.0b
Counts
6 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (+.f64 x y) z)
1.0b
(+.f64 z x)
32.0b
(+.f64 y z)
30.8b
(+.f64 y x)
32.9b
z
31.9b
x
Compiler

Compiled 34 to 23 computations (32.4% saved)

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune3.0ms (0.1%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New000
Fresh022
Picked000
Done044
Total066
Error
0.0b
Counts
6 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (+.f64 x y) z)
1.0b
(+.f64 z x)
32.0b
(+.f64 y z)
30.8b
(+.f64 y x)
32.9b
z
31.9b
x
Compiler

Compiled 34 to 23 computations (32.4% saved)

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune2.0ms (0.1%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New000
Fresh022
Picked000
Done044
Total066
Error
0.0b
Counts
6 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (+.f64 x y) z)
1.0b
(+.f64 z x)
32.0b
(+.f64 y z)
30.8b
(+.f64 y x)
32.9b
z
31.9b
x
Compiler

Compiled 34 to 23 computations (32.4% saved)

regimes24.0ms (0.9%)

Counts
6 → 1
Calls
Call 1
Inputs
x
z
(+.f64 y x)
(+.f64 y z)
(+.f64 z x)
(+.f64 (+.f64 x y) z)
Outputs
(+.f64 (+.f64 x y) z)
Calls

5 calls:

5.0ms
z
5.0ms
(+.f64 x y)
4.0ms
(+.f64 (+.f64 x y) z)
4.0ms
y
4.0ms
x
Results
ErrorSegmentsBranch
0.0b1x
0.0b1y
0.0b1z
0.0b1(+.f64 (+.f64 x y) z)
0.0b1(+.f64 x y)
Compiler

Compiled 45 to 26 computations (42.2% saved)

regimes15.0ms (0.5%)

Counts
5 → 1
Calls
Call 1
Inputs
x
z
(+.f64 y x)
(+.f64 y z)
(+.f64 z x)
Outputs
(+.f64 z x)
Calls

3 calls:

6.0ms
y
4.0ms
z
4.0ms
x
Results
ErrorSegmentsBranch
1.0b1x
1.0b1y
1.0b1z
Compiler

Compiled 26 to 15 computations (42.3% saved)

regimes44.0ms (1.6%)

Counts
4 → 4
Calls
Call 1
Inputs
x
z
(+.f64 y x)
(+.f64 y z)
Outputs
(+.f64 y x)
(+.f64 y z)
(+.f64 y x)
(+.f64 y z)
Calls

3 calls:

18.0ms
z
15.0ms
y
10.0ms
x
Results
ErrorSegmentsBranch
13.9b2x
14.4b4y
11.8b4z
Compiler

Compiled 23 to 14 computations (39.1% saved)

bsearch27.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
10.0ms
1.3190645676487365e+75
2.2009569600823478e+77
10.0ms
6.307832774348376e-70
3.296780025548133e-69
7.0ms
1.8343331804487936e-81
4.531941387026016e-81
Results
24.0ms288×body256valid
Compiler

Compiled 266 to 190 computations (28.6% saved)

regimes44.0ms (1.6%)

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

3 calls:

16.0ms
z
15.0ms
x
12.0ms
y
Results
ErrorSegmentsBranch
14.4b2x
14.6b4y
12.2b4z
Compiler

Compiled 20 to 13 computations (35% saved)

bsearch26.0ms (0.9%)

Algorithm
binary-search
Steps
TimeLeftRight
11.0ms
1.3190645676487365e+75
2.2009569600823478e+77
8.0ms
6.307832774348376e-70
3.296780025548133e-69
7.0ms
1.8343331804487936e-81
4.531941387026016e-81
Results
23.0ms286×body256valid
0.0msbody2048valid
0.0msbody1024valid
Compiler

Compiled 230 to 172 computations (25.2% saved)

regimes37.0ms (1.4%)

Accuracy

Total -50.2b remaining (-396.6%)

Threshold costs -50.2b (-396.6%)

Counts
2 → 4
Calls
Call 1
Inputs
x
z
Outputs
x
z
x
z
Calls

3 calls:

13.0ms
x
13.0ms
z
11.0ms
y
Results
ErrorSegmentsBranch
13.7b4x
15.2b4y
12.7b4z
Compiler

Compiled 17 to 12 computations (29.4% saved)

bsearch26.0ms (1%)

Algorithm
binary-search
Steps
TimeLeftRight
11.0ms
1.3190645676487365e+75
2.2009569600823478e+77
8.0ms
6.307832774348376e-70
3.296780025548133e-69
7.0ms
1.8343331804487936e-81
4.531941387026016e-81
Results
23.0ms286×body256valid
0.0msbody2048valid
Compiler

Compiled 194 to 154 computations (20.6% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
032150
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 (+.f64 x y) z)
(+.f64 z x)
(if (<=.f64 z 150186588463189/33374797436264220037422214158899251790667258161822699530422525122222183215322508594108782608384) (+.f64 y x) (if (<=.f64 z 315683694986681/485667223056432267729865476705879726660601709763034880312953102434726071301302124544) (+.f64 y z) (if (<=.f64 z 2099999999999999986340619343272166849290169831770610283944319437533133930496) (+.f64 y x) (+.f64 y z))))
(if (<=.f64 z 150186588463189/33374797436264220037422214158899251790667258161822699530422525122222183215322508594108782608384) (+.f64 y x) (if (<=.f64 z 315683694986681/485667223056432267729865476705879726660601709763034880312953102434726071301302124544) z (if (<=.f64 z 15999999999999998824636498823699182776140851443191486196202342716485796888576) (+.f64 y x) z)))
(if (<=.f64 z 150186588463189/33374797436264220037422214158899251790667258161822699530422525122222183215322508594108782608384) x (if (<=.f64 z 315683694986681/485667223056432267729865476705879726660601709763034880312953102434726071301302124544) z (if (<=.f64 z 12999999999999999647618921891376939333850226425529058480240526125692023209984) x z)))
x
Outputs
(+.f64 (+.f64 x y) z)
(+.f64 z x)
(if (<=.f64 z 150186588463189/33374797436264220037422214158899251790667258161822699530422525122222183215322508594108782608384) (+.f64 y x) (if (<=.f64 z 315683694986681/485667223056432267729865476705879726660601709763034880312953102434726071301302124544) (+.f64 y z) (if (<=.f64 z 2099999999999999986340619343272166849290169831770610283944319437533133930496) (+.f64 y x) (+.f64 y z))))
(if (<=.f64 z 150186588463189/33374797436264220037422214158899251790667258161822699530422525122222183215322508594108782608384) (+.f64 y x) (if (<=.f64 z 315683694986681/485667223056432267729865476705879726660601709763034880312953102434726071301302124544) z (if (<=.f64 z 15999999999999998824636498823699182776140851443191486196202342716485796888576) (+.f64 y x) z)))
(if (<=.f64 z 150186588463189/33374797436264220037422214158899251790667258161822699530422525122222183215322508594108782608384) x (if (<=.f64 z 315683694986681/485667223056432267729865476705879726660601709763034880312953102434726071301302124544) z (if (<=.f64 z 12999999999999999647618921891376939333850226425529058480240526125692023209984) x z)))
x
Compiler

Compiled 87 to 51 computations (41.4% saved)

soundness0.0ms (0%)

end39.0ms (1.4%)

Remove

(sort x y z)

Compiler

Compiled 88 to 45 computations (48.9% saved)

Profiling

Loading profile data...