Details

Time bar (total: 2.3s)

analyze129.0ms (5.7%)

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
25%25%74.9%0.1%0%0%0%5
37.5%37.5%62.4%0.1%0%0%0%6
51.6%50%46.8%0.1%3.1%0%0%7
62.3%59.3%35.9%0.1%4.7%0%0%8
72.3%67.1%25.8%0.1%7%0%0%9
79.1%72.6%19.1%0.1%8.2%0%0%10
85.1%76.9%13.5%0.1%9.6%0%0%11
89%79.8%9.9%0.1%10.2%0%0%12
Compiler

Compiled 14 to 10 computations (28.6% saved)

sample1.3s (59.3%)

Results
1.2s8141×body256valid
139.0ms230×body256infinite
23.0ms75×body1024valid
9.0ms40×body512valid
Bogosity

preprocess9.0ms (0.4%)

Algorithm
egg-herbie
Rules
44×rational.json-simplify-1
26×rational.json-simplify-2
20×rational.json-simplify-47
16×rational.json-simplify-41
trig.json-simplify-45
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01662
12650
24238
36426
47926
58326
022
Stop Event
saturated
saturated
Calls
Call 1
Inputs
0
1
Outputs
0
1
Call 2
Inputs
(+.f64 (+.f64 (*.f64 d1 10) (*.f64 d1 d2)) (*.f64 d1 20))
(+.f64 (+.f64 (*.f64 d2 10) (*.f64 d2 d1)) (*.f64 d2 20))
Outputs
(+.f64 (+.f64 (*.f64 d1 10) (*.f64 d1 d2)) (*.f64 d1 20))
(+.f64 (*.f64 d1 (+.f64 d2 10)) (*.f64 d1 20))
(+.f64 (*.f64 d1 d2) (*.f64 d1 30))
(*.f64 d1 (+.f64 d2 30))
(+.f64 (+.f64 (*.f64 d2 10) (*.f64 d2 d1)) (*.f64 d2 20))
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 10 d2)) (*.f64 d2 20))
(+.f64 (*.f64 d2 (+.f64 10 d1)) (*.f64 d2 20))
(+.f64 (*.f64 d1 d2) (*.f64 d2 30))
(*.f64 d2 (+.f64 d1 30))
Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify18.0ms (0.8%)

Algorithm
egg-herbie
Rules
22×rational.json-simplify-1
14×rational.json-simplify-2
10×rational.json-simplify-47
rational.json-simplify-41
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01131
11625
22419
33613
44413
54613
Stop Event
saturated
Counts
1 → 4
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 d1 10) (*.f64 d1 d2)) (*.f64 d1 20))
Outputs
(+.f64 (+.f64 (*.f64 d1 10) (*.f64 d1 d2)) (*.f64 d1 20))
(+.f64 (*.f64 d1 (+.f64 d2 10)) (*.f64 d1 20))
(+.f64 (*.f64 d1 d2) (*.f64 d1 30))
(*.f64 d1 (+.f64 d2 30))

eval1.0ms (0%)

Compiler

Compiled 34 to 21 computations (38.2% saved)

prune1.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New224
Fresh101
Picked000
Done000
Total325
Error
0.0b
Counts
5 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (*.f64 d1 d2) (*.f64 d1 30))
0.0b
(*.f64 d1 (+.f64 d2 30))
Compiler

Compiled 16 to 11 computations (31.3% saved)

localize5.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 d1 (+.f64 d2 30))
Compiler

Compiled 13 to 8 computations (38.5% saved)

series2.0ms (0.1%)

Counts
1 → 20
Calls

6 calls:

TimeVariablePointExpression
1.0ms
d2
@inf
(*.f64 d1 (+.f64 d2 30))
0.0ms
d1
@0
(*.f64 d1 (+.f64 d2 30))
0.0ms
d1
@-inf
(*.f64 d1 (+.f64 d2 30))
0.0ms
d1
@inf
(*.f64 d1 (+.f64 d2 30))
0.0ms
d2
@-inf
(*.f64 d1 (+.f64 d2 30))

rewrite106.0ms (4.7%)

Algorithm
batch-egg-rewrite
Rules
1370×rational.json-5
1368×exponential.json-3
1368×rational.json-1
1368×rational.json-2
1368×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
15913
218813
367713
4264713
Stop Event
node limit
Counts
1 → 9
Calls
Call 1
Inputs
(*.f64 d1 (+.f64 d2 30))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (+.f64 d2 30)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 d1 (+.f64 d2 30)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (+.f64 d2 30)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 d1 (+.f64 d2 30))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 d1 (+.f64 d2 30)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 d2 30)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 d2 30)) (/.f64 (*.f64 d1 (+.f64 d2 30)) (*.f64 d1 (+.f64 d2 30))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (+.f64 d2 30)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 d1 (+.f64 d2 30))))))))

simplify182.0ms (8%)

Algorithm
egg-herbie
Rules
1102×rational.json-simplify-1
854×rational.json-simplify-111
754×rational.json-simplify-2
728×rational.json-simplify-104
720×rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
029359
155359
2121359
3379359
41544359
54495359
66634359
Stop Event
node limit
Counts
29 → 15
Calls
Call 1
Inputs
(*.f64 d1 (+.f64 30 d2))
(*.f64 d1 (+.f64 30 d2))
(*.f64 d1 (+.f64 30 d2))
(*.f64 d1 (+.f64 30 d2))
(*.f64 d1 (+.f64 30 d2))
(*.f64 d1 (+.f64 30 d2))
(*.f64 d1 (+.f64 30 d2))
(*.f64 d1 (+.f64 30 d2))
(*.f64 30 d1)
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(+.f64 (*.f64 d1 (+.f64 d2 30)) 0)
(+.f64 0 (*.f64 d1 (+.f64 d2 30)))
(-.f64 (*.f64 d1 (+.f64 d2 30)) 0)
(-.f64 0 (neg.f64 (*.f64 d1 (+.f64 d2 30))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 d1 (+.f64 d2 30)))) 1)
(/.f64 (*.f64 d1 (+.f64 d2 30)) 1)
(/.f64 (*.f64 d1 (+.f64 d2 30)) (/.f64 (*.f64 d1 (+.f64 d2 30)) (*.f64 d1 (+.f64 d2 30))))
(pow.f64 (*.f64 d1 (+.f64 d2 30)) 1)
(neg.f64 (neg.f64 (*.f64 d1 (+.f64 d2 30))))
Outputs
(*.f64 d1 (+.f64 30 d2))
(*.f64 d1 (+.f64 30 d2))
(*.f64 d1 (+.f64 30 d2))
(*.f64 d1 (+.f64 30 d2))
(*.f64 d1 (+.f64 30 d2))
(*.f64 d1 (+.f64 30 d2))
(*.f64 d1 (+.f64 30 d2))
(*.f64 d1 (+.f64 30 d2))
(*.f64 30 d1)
(*.f64 d1 30)
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(*.f64 d1 (+.f64 30 d2))
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(*.f64 d1 (+.f64 30 d2))
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(*.f64 d1 (+.f64 30 d2))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(*.f64 d1 (+.f64 30 d2))
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(*.f64 d1 (+.f64 30 d2))
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(*.f64 d1 (+.f64 30 d2))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(*.f64 d1 (+.f64 30 d2))
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(*.f64 d1 (+.f64 30 d2))
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(*.f64 d1 (+.f64 30 d2))
(+.f64 (*.f64 d1 (+.f64 d2 30)) 0)
(*.f64 d1 (+.f64 30 d2))
(+.f64 0 (*.f64 d1 (+.f64 d2 30)))
(*.f64 d1 (+.f64 30 d2))
(-.f64 (*.f64 d1 (+.f64 d2 30)) 0)
(*.f64 d1 (+.f64 30 d2))
(-.f64 0 (neg.f64 (*.f64 d1 (+.f64 d2 30))))
(*.f64 d1 (+.f64 30 d2))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 d1 (+.f64 d2 30)))) 1)
(*.f64 d1 (+.f64 30 d2))
(/.f64 (*.f64 d1 (+.f64 d2 30)) 1)
(*.f64 d1 (+.f64 30 d2))
(/.f64 (*.f64 d1 (+.f64 d2 30)) (/.f64 (*.f64 d1 (+.f64 d2 30)) (*.f64 d1 (+.f64 d2 30))))
(*.f64 d1 (+.f64 30 d2))
(pow.f64 (*.f64 d1 (+.f64 d2 30)) 1)
(*.f64 d1 (+.f64 30 d2))
(neg.f64 (neg.f64 (*.f64 d1 (+.f64 d2 30))))
(*.f64 d1 (+.f64 30 d2))

localize8.0ms (0.3%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 d1 d2) (*.f64 d1 30))
Compiler

Compiled 18 to 9 computations (50% saved)

series3.0ms (0.1%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
1.0ms
d2
@0
(+.f64 (*.f64 d1 d2) (*.f64 d1 30))
1.0ms
d1
@inf
(+.f64 (*.f64 d1 d2) (*.f64 d1 30))
0.0ms
d1
@0
(+.f64 (*.f64 d1 d2) (*.f64 d1 30))
0.0ms
d1
@-inf
(+.f64 (*.f64 d1 d2) (*.f64 d1 30))
0.0ms
d2
@inf
(+.f64 (*.f64 d1 d2) (*.f64 d1 30))

rewrite84.0ms (3.7%)

Algorithm
batch-egg-rewrite
Rules
1720×rational.json-5
1718×exponential.json-3
1718×rational.json-1
1718×rational.json-2
1718×rational.json-4
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0819
16813
222213
383513
4331913
Stop Event
node limit
Counts
1 → 16
Calls
Call 1
Inputs
(+.f64 (*.f64 d1 d2) (*.f64 d1 30))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (+.f64 d2 30)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 d1 (+.f64 d2 30))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (+.f64 d2 30)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (+.f64 d2 30)) (/.f64 (*.f64 d1 (+.f64 d2 30)) (*.f64 d1 (+.f64 d2 30))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 d1 (+.f64 d2 30)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 d1 (+.f64 d2 30)) (*.f64 d1 (+.f64 d2 30))) (*.f64 d1 (+.f64 d2 30)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d2 30) d1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 d1) (*.f64 (+.f64 d2 30) (/.f64 1 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (*.f64 d1 (*.f64 (+.f64 d2 30) (+.f64 d2 30)))) (/.f64 1 (*.f64 d1 (+.f64 d2 30))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 d1 (+.f64 d2 30))) (*.f64 d1 (*.f64 d1 (*.f64 (+.f64 d2 30) (+.f64 d2 30)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (*.f64 (*.f64 d1 (*.f64 d1 (*.f64 (+.f64 d2 30) (+.f64 d2 30)))) (*.f64 d1 (*.f64 (+.f64 d2 30) (+.f64 d2 30))))) (/.f64 (/.f64 1 (*.f64 d1 (+.f64 d2 30))) (*.f64 d1 (*.f64 d1 (*.f64 (+.f64 d2 30) (+.f64 d2 30))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 d2 30) (/.f64 1 d1)) (*.f64 d1 d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (/.f64 1 (*.f64 d1 (+.f64 d2 30))) (*.f64 d1 (*.f64 d1 (*.f64 (+.f64 d2 30) (+.f64 d2 30))))) (*.f64 d1 (*.f64 (*.f64 d1 (*.f64 d1 (*.f64 (+.f64 d2 30) (+.f64 d2 30)))) (*.f64 d1 (*.f64 (+.f64 d2 30) (+.f64 d2 30))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 d2 30)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 d2 30)) (/.f64 (*.f64 d1 (+.f64 d2 30)) (*.f64 d1 (+.f64 d2 30))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (+.f64 d2 30)) 1)))))

simplify198.0ms (8.7%)

Algorithm
egg-herbie
Rules
1828×rational.json-simplify-104
1220×rational.json-simplify-111
838×rational.json-simplify-50
744×rational.json-simplify-47
734×rational.json-simplify-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
043502
185502
2239502
3903502
43443502
56524502
Stop Event
node limit
Counts
40 → 22
Calls
Call 1
Inputs
(*.f64 d1 (+.f64 d2 30))
(*.f64 d1 (+.f64 d2 30))
(*.f64 d1 (+.f64 d2 30))
(*.f64 d1 (+.f64 d2 30))
(*.f64 d1 (+.f64 d2 30))
(*.f64 d1 (+.f64 d2 30))
(*.f64 d1 (+.f64 d2 30))
(*.f64 d1 (+.f64 d2 30))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 d2) 30) d1))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 d2) 30) d1))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 d2) 30) d1))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 d2) 30) d1))
(*.f64 30 d1)
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(-.f64 (*.f64 d1 (+.f64 d2 30)) 0)
(*.f64 d1 (+.f64 d2 30))
(*.f64 (*.f64 d1 (+.f64 d2 30)) 1)
(*.f64 (*.f64 d1 (+.f64 d2 30)) (/.f64 (*.f64 d1 (+.f64 d2 30)) (*.f64 d1 (+.f64 d2 30))))
(*.f64 1 (*.f64 d1 (+.f64 d2 30)))
(*.f64 (/.f64 (*.f64 d1 (+.f64 d2 30)) (*.f64 d1 (+.f64 d2 30))) (*.f64 d1 (+.f64 d2 30)))
(*.f64 (+.f64 d2 30) d1)
(*.f64 (*.f64 d1 d1) (*.f64 (+.f64 d2 30) (/.f64 1 d1)))
(*.f64 (*.f64 d1 (*.f64 d1 (*.f64 (+.f64 d2 30) (+.f64 d2 30)))) (/.f64 1 (*.f64 d1 (+.f64 d2 30))))
(*.f64 (/.f64 1 (*.f64 d1 (+.f64 d2 30))) (*.f64 d1 (*.f64 d1 (*.f64 (+.f64 d2 30) (+.f64 d2 30)))))
(*.f64 (*.f64 d1 (*.f64 (*.f64 d1 (*.f64 d1 (*.f64 (+.f64 d2 30) (+.f64 d2 30)))) (*.f64 d1 (*.f64 (+.f64 d2 30) (+.f64 d2 30))))) (/.f64 (/.f64 1 (*.f64 d1 (+.f64 d2 30))) (*.f64 d1 (*.f64 d1 (*.f64 (+.f64 d2 30) (+.f64 d2 30))))))
(*.f64 (*.f64 (+.f64 d2 30) (/.f64 1 d1)) (*.f64 d1 d1))
(*.f64 (/.f64 (/.f64 1 (*.f64 d1 (+.f64 d2 30))) (*.f64 d1 (*.f64 d1 (*.f64 (+.f64 d2 30) (+.f64 d2 30))))) (*.f64 d1 (*.f64 (*.f64 d1 (*.f64 d1 (*.f64 (+.f64 d2 30) (+.f64 d2 30)))) (*.f64 d1 (*.f64 (+.f64 d2 30) (+.f64 d2 30))))))
(/.f64 (*.f64 d1 (+.f64 d2 30)) 1)
(/.f64 (*.f64 d1 (+.f64 d2 30)) (/.f64 (*.f64 d1 (+.f64 d2 30)) (*.f64 d1 (+.f64 d2 30))))
(pow.f64 (*.f64 d1 (+.f64 d2 30)) 1)
Outputs
(*.f64 d1 (+.f64 d2 30))
(*.f64 d1 (+.f64 d2 30))
(*.f64 d1 (+.f64 d2 30))
(*.f64 d1 (+.f64 d2 30))
(*.f64 d1 (+.f64 d2 30))
(*.f64 d1 (+.f64 d2 30))
(*.f64 d1 (+.f64 d2 30))
(*.f64 d1 (+.f64 d2 30))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 d2) 30) d1))
(*.f64 d1 (+.f64 d2 30))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 d2) 30) d1))
(*.f64 d1 (+.f64 d2 30))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 d2) 30) d1))
(*.f64 d1 (+.f64 d2 30))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 d2) 30) d1))
(*.f64 d1 (+.f64 d2 30))
(*.f64 30 d1)
(*.f64 d1 30)
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(*.f64 d1 (+.f64 d2 30))
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(*.f64 d1 (+.f64 d2 30))
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(*.f64 d1 (+.f64 d2 30))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(*.f64 d1 (+.f64 d2 30))
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(*.f64 d1 (+.f64 d2 30))
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(*.f64 d1 (+.f64 d2 30))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(*.f64 d1 (+.f64 d2 30))
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(*.f64 d1 (+.f64 d2 30))
(+.f64 (*.f64 d2 d1) (*.f64 30 d1))
(*.f64 d1 (+.f64 d2 30))
(-.f64 (*.f64 d1 (+.f64 d2 30)) 0)
(*.f64 d1 (+.f64 d2 30))
(*.f64 d1 (+.f64 d2 30))
(*.f64 (*.f64 d1 (+.f64 d2 30)) 1)
(*.f64 d1 (+.f64 d2 30))
(*.f64 (*.f64 d1 (+.f64 d2 30)) (/.f64 (*.f64 d1 (+.f64 d2 30)) (*.f64 d1 (+.f64 d2 30))))
(*.f64 d1 (+.f64 d2 30))
(*.f64 1 (*.f64 d1 (+.f64 d2 30)))
(*.f64 d1 (+.f64 d2 30))
(*.f64 (/.f64 (*.f64 d1 (+.f64 d2 30)) (*.f64 d1 (+.f64 d2 30))) (*.f64 d1 (+.f64 d2 30)))
(*.f64 d1 (+.f64 d2 30))
(*.f64 (+.f64 d2 30) d1)
(*.f64 d1 (+.f64 d2 30))
(*.f64 (*.f64 d1 d1) (*.f64 (+.f64 d2 30) (/.f64 1 d1)))
(*.f64 d1 (+.f64 d2 30))
(*.f64 (*.f64 d1 (*.f64 d1 (*.f64 (+.f64 d2 30) (+.f64 d2 30)))) (/.f64 1 (*.f64 d1 (+.f64 d2 30))))
(*.f64 d1 (+.f64 d2 30))
(*.f64 (/.f64 1 (*.f64 d1 (+.f64 d2 30))) (*.f64 d1 (*.f64 d1 (*.f64 (+.f64 d2 30) (+.f64 d2 30)))))
(*.f64 d1 (+.f64 d2 30))
(*.f64 (*.f64 d1 (*.f64 (*.f64 d1 (*.f64 d1 (*.f64 (+.f64 d2 30) (+.f64 d2 30)))) (*.f64 d1 (*.f64 (+.f64 d2 30) (+.f64 d2 30))))) (/.f64 (/.f64 1 (*.f64 d1 (+.f64 d2 30))) (*.f64 d1 (*.f64 d1 (*.f64 (+.f64 d2 30) (+.f64 d2 30))))))
(*.f64 d1 (+.f64 d2 30))
(*.f64 (*.f64 (+.f64 d2 30) (/.f64 1 d1)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 30))
(*.f64 (/.f64 (/.f64 1 (*.f64 d1 (+.f64 d2 30))) (*.f64 d1 (*.f64 d1 (*.f64 (+.f64 d2 30) (+.f64 d2 30))))) (*.f64 d1 (*.f64 (*.f64 d1 (*.f64 d1 (*.f64 (+.f64 d2 30) (+.f64 d2 30)))) (*.f64 d1 (*.f64 (+.f64 d2 30) (+.f64 d2 30))))))
(*.f64 d1 (+.f64 d2 30))
(/.f64 (*.f64 d1 (+.f64 d2 30)) 1)
(*.f64 d1 (+.f64 d2 30))
(/.f64 (*.f64 d1 (+.f64 d2 30)) (/.f64 (*.f64 d1 (+.f64 d2 30)) (*.f64 d1 (+.f64 d2 30))))
(*.f64 d1 (+.f64 d2 30))
(pow.f64 (*.f64 d1 (+.f64 d2 30)) 1)
(*.f64 d1 (+.f64 d2 30))

eval13.0ms (0.6%)

Compiler

Compiled 374 to 245 computations (34.5% saved)

prune11.0ms (0.5%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New35237
Fresh000
Picked011
Done011
Total35439
Error
0.0b
Counts
39 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (*.f64 d1 d2) (*.f64 d1 30))
35.9b
(*.f64 d2 d1)
0.0b
(*.f64 d1 (+.f64 d2 30))
26.4b
(*.f64 d1 30)
Compiler

Compiled 26 to 18 computations (30.8% saved)

localize5.0ms (0.2%)

Compiler

Compiled 7 to 5 computations (28.6% saved)

localize5.0ms (0.2%)

Compiler

Compiled 7 to 3 computations (57.1% saved)

eval0.0ms (0%)

Compiler

Compiled 2 to 2 computations (0% saved)

prune2.0ms (0.1%)

Pruning

4 alts after pruning (0 fresh and 4 done)

PrunedKeptTotal
New000
Fresh000
Picked011
Done033
Total044
Error
0.0b
Counts
4 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (*.f64 d1 d2) (*.f64 d1 30))
35.9b
(*.f64 d2 d1)
0.0b
(*.f64 d1 (+.f64 d2 30))
26.4b
(*.f64 d1 30)
Compiler

Compiled 26 to 18 computations (30.8% saved)

regimes18.0ms (0.8%)

Counts
5 → 1
Calls
Call 1
Inputs
(*.f64 d1 30)
(*.f64 d2 d1)
(*.f64 d1 (+.f64 d2 30))
(+.f64 (*.f64 d1 d2) (*.f64 d1 30))
(+.f64 (+.f64 (*.f64 d1 10) (*.f64 d1 d2)) (*.f64 d1 20))
Outputs
(*.f64 d1 (+.f64 d2 30))
Calls

3 calls:

7.0ms
d2
5.0ms
(+.f64 (+.f64 (*.f64 d1 10) (*.f64 d1 d2)) (*.f64 d1 20))
5.0ms
d1
Results
ErrorSegmentsBranch
0.0b1d1
0.0b1d2
0.0b1(+.f64 (+.f64 (*.f64 d1 10) (*.f64 d1 d2)) (*.f64 d1 20))
Compiler

Compiled 50 to 31 computations (38% saved)

regimes34.0ms (1.5%)

Accuracy

Total -60.3b remaining (-6369.2%)

Threshold costs -60.3b (-6369.2%)

Counts
2 → 3
Calls
Call 1
Inputs
(*.f64 d1 30)
(*.f64 d2 d1)
Outputs
(*.f64 d2 d1)
(*.f64 d1 30)
(*.f64 d2 d1)
Calls

2 calls:

24.0ms
d1
9.0ms
d2
Results
ErrorSegmentsBranch
20.4b7d1
0.9b3d2
Compiler

Compiled 14 to 9 computations (35.7% saved)

bsearch38.0ms (1.7%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
2.8998966749390043e-8
642746.3624839816
20.0ms
-386.6851748551941
-4.4288346728464327e-16
Results
33.0ms320×body256valid
Compiler

Compiled 258 to 193 computations (25.2% saved)

simplify6.0ms (0.3%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01759
Stop Event
done
saturated
Calls
Call 1
Inputs
(*.f64 d1 (+.f64 d2 30))
(if (<=.f64 d2 -30) (*.f64 d2 d1) (if (<=.f64 d2 30) (*.f64 d1 30) (*.f64 d2 d1)))
(*.f64 d1 30)
Outputs
(*.f64 d1 (+.f64 d2 30))
(if (<=.f64 d2 -30) (*.f64 d2 d1) (if (<=.f64 d2 30) (*.f64 d1 30) (*.f64 d2 d1)))
(*.f64 d1 30)
Compiler

Compiled 31 to 20 computations (35.5% saved)

soundness19.0ms (0.8%)

Algorithm
egg-herbie
Rules
22×rational.json-simplify-1
14×rational.json-simplify-2
10×rational.json-simplify-47
rational.json-simplify-41
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01131
11625
22419
33613
44413
54613
Stop Event
saturated
Compiler

Compiled 79 to 51 computations (35.4% saved)

end25.0ms (1.1%)

Compiler

Compiled 27 to 16 computations (40.7% saved)

Profiling

Loading profile data...