Details

Time bar (total: 4.4s)

analyze402.0ms (9%)

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
25.4%25%73.3%0.1%1.6%0%0%9
35.3%34.3%62.8%0.1%2.7%0%0%10
43.9%41.3%52.9%0.1%5.7%0%0%11
50.6%46.8%45.7%0.1%7.3%0%0%12
Compiler

Compiled 15 to 10 computations (33.3% saved)

sample1.6s (35.4%)

Results
1.2s7883×body256valid
219.0ms1367×body256infinite
108.0ms180×body1024valid
34.0ms193×body512valid
Bogosity

preprocess16.0ms (0.4%)

Algorithm
egg-herbie
Rules
66×rational.json-simplify-1
38×rational.json-simplify-2
36×rational.json-simplify-51
26×rational.json-simplify-41
swap-d2-d3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023124
140100
26676
39776
411776
512276
033
133
Stop Event
unsound
saturated
Calls
Call 1
Inputs
0
1
2
Outputs
0
1
2
1
Call 2
Inputs
(+.f64 (+.f64 (*.f64 d1 3) (*.f64 d1 d2)) (*.f64 d1 d3))
(+.f64 (+.f64 (*.f64 d2 3) (*.f64 d2 d1)) (*.f64 d2 d3))
(+.f64 (+.f64 (*.f64 d3 3) (*.f64 d3 d2)) (*.f64 d3 d1))
(+.f64 (+.f64 (*.f64 d1 3) (*.f64 d1 d3)) (*.f64 d1 d2))
Outputs
(+.f64 (+.f64 (*.f64 d1 3) (*.f64 d1 d2)) (*.f64 d1 d3))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (+.f64 d3 3)))
(*.f64 d1 (+.f64 d3 (+.f64 3 d2)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(+.f64 (+.f64 (*.f64 d2 3) (*.f64 d2 d1)) (*.f64 d2 d3))
(+.f64 (+.f64 (*.f64 d1 d2) (*.f64 3 d2)) (*.f64 d2 d3))
(+.f64 (*.f64 d2 (+.f64 3 d1)) (*.f64 d2 d3))
(*.f64 d2 (+.f64 d3 (+.f64 d1 3)))
(*.f64 d2 (+.f64 3 (+.f64 d1 d3)))
(+.f64 (+.f64 (*.f64 d3 3) (*.f64 d3 d2)) (*.f64 d3 d1))
(+.f64 (*.f64 d1 d3) (+.f64 (*.f64 3 d3) (*.f64 d2 d3)))
(+.f64 (*.f64 d1 d3) (*.f64 d3 (+.f64 d2 3)))
(*.f64 d3 (+.f64 d1 (+.f64 3 d2)))
(+.f64 (+.f64 (*.f64 d1 3) (*.f64 d1 d3)) (*.f64 d1 d2))
(+.f64 (+.f64 (*.f64 d1 3) (*.f64 d1 d2)) (*.f64 d1 d3))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (+.f64 d3 3)))
(*.f64 d1 (+.f64 d3 (+.f64 3 d2)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
Symmetry

(sort d2 d3)

Compiler

Compiled 17 to 12 computations (29.4% saved)

simplify10.0ms (0.2%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
01131
11625
22419
33519
44319
54519
Stop Event
saturated
Counts
1 → 4
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 d1 3) (*.f64 d1 d2)) (*.f64 d1 d3))
Outputs
(+.f64 (+.f64 (*.f64 d1 3) (*.f64 d1 d2)) (*.f64 d1 d3))
(+.f64 (*.f64 d1 (+.f64 d2 3)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d3 (+.f64 3 d2)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))

eval5.0ms (0.1%)

Compiler

Compiled 37 to 21 computations (43.2% saved)

prune2.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New224
Fresh011
Picked000
Done000
Total235
Error
0.1b
Counts
5 → 2
Alt Table
Click to see full alt table
StatusErrorProgram
0.1b
(+.f64 (+.f64 (*.f64 d1 3) (*.f64 d1 d2)) (*.f64 d1 d3))
0.1b
(*.f64 d1 (+.f64 d3 (+.f64 3 d2)))
Compiler

Compiled 24 to 16 computations (33.3% saved)

localize9.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

Compiled 22 to 13 computations (40.9% saved)

series3.0ms (0.1%)

Counts
1 → 36
Calls

9 calls:

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

rewrite113.0ms (2.5%)

Algorithm
batch-egg-rewrite
Rules
1636×rational.json-1
1636×rational.json-2
1636×rational.json-3
1604×exponential.json-3
1604×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
16119
213319
328119
458819
5150319
6343119
7505419
8685019
Stop Event
node limit
Counts
1 → 13
Calls
Call 1
Inputs
(*.f64 d1 (+.f64 d3 (+.f64 3 d2)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (+.f64 d3 (+.f64 3 d2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 d1 (+.f64 d3 (+.f64 3 d2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 d3 (+.f64 3 d2)) (*.f64 d1 1/2)) (*.f64 (+.f64 d3 (+.f64 3 d2)) (*.f64 d1 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (+.f64 d3 (+.f64 3 d2))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 d3 (+.f64 3 d2))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 d3 (+.f64 3 d2)) (+.f64 d1 d1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 d3 (+.f64 3 d2)) (*.f64 d1 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 3 d2)) 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 3 d2)) 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 3 d2)) 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 3 d2)) 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 3 d2)) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 3 d2)) 8)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (+.f64 d3 (+.f64 3 d2))) 1)))))

simplify363.0ms (8.2%)

Algorithm
egg-herbie
Rules
3512×rational.json-simplify-41
2776×rational.json-simplify-2
2040×rational.json-simplify-35
1416×rational.json-simplify-53
836×exponential.json-simplify-26
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057871
1133871
2242871
3567871
42111871
53545871
63759871
73875871
83974871
94071871
104167871
115138871
126181871
136278871
146374871
156374871
166388871
Stop Event
node limit
Counts
49 → 23
Calls
Call 1
Inputs
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 3 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 3 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 3 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 3 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 (+.f64 d2 3) d1)
(+.f64 (*.f64 (+.f64 d2 3) d1) (*.f64 d1 d3))
(+.f64 (*.f64 (+.f64 d2 3) d1) (*.f64 d1 d3))
(+.f64 (*.f64 (+.f64 d2 3) d1) (*.f64 d1 d3))
(*.f64 d1 d3)
(+.f64 (*.f64 (+.f64 d2 3) d1) (*.f64 d1 d3))
(+.f64 (*.f64 (+.f64 d2 3) d1) (*.f64 d1 d3))
(+.f64 (*.f64 (+.f64 d2 3) d1) (*.f64 d1 d3))
(*.f64 d1 d3)
(+.f64 (*.f64 (+.f64 d2 3) d1) (*.f64 d1 d3))
(+.f64 (*.f64 (+.f64 d2 3) d1) (*.f64 d1 d3))
(+.f64 (*.f64 (+.f64 d2 3) d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 d3))
(+.f64 (*.f64 d1 (+.f64 3 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (+.f64 3 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (+.f64 3 d3)) (*.f64 d2 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 d1 (+.f64 3 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (+.f64 3 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (+.f64 3 d3)) (*.f64 d2 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 d1 (+.f64 3 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (+.f64 3 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (+.f64 3 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (+.f64 d3 (+.f64 3 d2))) 0)
(+.f64 0 (*.f64 d1 (+.f64 d3 (+.f64 3 d2))))
(+.f64 (*.f64 (+.f64 d3 (+.f64 3 d2)) (*.f64 d1 1/2)) (*.f64 (+.f64 d3 (+.f64 3 d2)) (*.f64 d1 1/2)))
(-.f64 (*.f64 d1 (+.f64 d3 (+.f64 3 d2))) 0)
(/.f64 (*.f64 d1 (+.f64 d3 (+.f64 3 d2))) 1)
(/.f64 (*.f64 (+.f64 d3 (+.f64 3 d2)) (+.f64 d1 d1)) 2)
(/.f64 (*.f64 (+.f64 d3 (+.f64 3 d2)) (*.f64 d1 4)) 4)
(/.f64 (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 3 d2)) 8)) 8)
(/.f64 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 3 d2)) 8))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 3 d2)) 8)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 3 d2)) 8))))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 3 d2)) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 3 d2)) 8)))))) 128)
(pow.f64 (*.f64 d1 (+.f64 d3 (+.f64 3 d2))) 1)
Outputs
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 3 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 3 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 3 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 3 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 (+.f64 d2 3) d1)
(*.f64 d1 (+.f64 3 d2))
(+.f64 (*.f64 (+.f64 d2 3) d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(+.f64 (*.f64 (+.f64 d2 3) d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(+.f64 (*.f64 (+.f64 d2 3) d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 d3)
(+.f64 (*.f64 (+.f64 d2 3) d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(+.f64 (*.f64 (+.f64 d2 3) d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(+.f64 (*.f64 (+.f64 d2 3) d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 d3)
(+.f64 (*.f64 (+.f64 d2 3) d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(+.f64 (*.f64 (+.f64 d2 3) d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(+.f64 (*.f64 (+.f64 d2 3) d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 3 d3))
(+.f64 (*.f64 d1 (+.f64 3 d3)) (*.f64 d2 d1))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(+.f64 (*.f64 d1 (+.f64 3 d3)) (*.f64 d2 d1))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(+.f64 (*.f64 d1 (+.f64 3 d3)) (*.f64 d2 d1))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 d1 (+.f64 3 d3)) (*.f64 d2 d1))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(+.f64 (*.f64 d1 (+.f64 3 d3)) (*.f64 d2 d1))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(+.f64 (*.f64 d1 (+.f64 3 d3)) (*.f64 d2 d1))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 d1 (+.f64 3 d3)) (*.f64 d2 d1))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(+.f64 (*.f64 d1 (+.f64 3 d3)) (*.f64 d2 d1))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(+.f64 (*.f64 d1 (+.f64 3 d3)) (*.f64 d2 d1))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(+.f64 (*.f64 d1 (+.f64 d3 (+.f64 3 d2))) 0)
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(+.f64 0 (*.f64 d1 (+.f64 d3 (+.f64 3 d2))))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(+.f64 (*.f64 (+.f64 d3 (+.f64 3 d2)) (*.f64 d1 1/2)) (*.f64 (+.f64 d3 (+.f64 3 d2)) (*.f64 d1 1/2)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(-.f64 (*.f64 d1 (+.f64 d3 (+.f64 3 d2))) 0)
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(/.f64 (*.f64 d1 (+.f64 d3 (+.f64 3 d2))) 1)
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(/.f64 (*.f64 (+.f64 d3 (+.f64 3 d2)) (+.f64 d1 d1)) 2)
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(/.f64 (*.f64 (+.f64 d3 (+.f64 3 d2)) (*.f64 d1 4)) 4)
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(/.f64 (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 3 d2)) 8)) 8)
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(/.f64 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 3 d2)) 8))) 16)
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 3 d2)) 8)))) 32)
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 3 d2)) 8))))) 64)
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 3 d2)) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d3 (+.f64 3 d2)) 8)))))) 128)
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(pow.f64 (*.f64 d1 (+.f64 d3 (+.f64 3 d2))) 1)
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))

localize13.0ms (0.3%)

Local error

Found 2 expressions with local error:

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

Compiled 34 to 15 computations (55.9% saved)

series5.0ms (0.1%)

Counts
2 → 60
Calls

15 calls:

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

rewrite121.0ms (2.7%)

Algorithm
batch-egg-rewrite
Rules
1680×rational.json-1
1680×rational.json-2
1680×rational.json-3
1676×exponential.json-3
1676×rational.json-4
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01150
17338
215032
334332
473032
5194432
6361232
7485632
8706532
Stop Event
node limit
Counts
2 → 59
Calls
Call 1
Inputs
(+.f64 (+.f64 (*.f64 d1 3) (*.f64 d1 d2)) (*.f64 d1 d3))
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (+.f64 3 (+.f64 d2 d3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 d1 (+.f64 3 (+.f64 d2 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (+.f64 3 (+.f64 d2 d3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 d1 (+.f64 3 (+.f64 d2 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 3 (+.f64 d2 d3)) (*.f64 d1 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (+.f64 3 (+.f64 d2 d3)) 1/2) d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (*.f64 2 (+.f64 3 (+.f64 d2 d3)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (*.f64 (+.f64 3 (+.f64 d2 d3)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 d1 (+.f64 3 (+.f64 d2 d3))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 d1 4) (+.f64 3 (+.f64 d2 d3))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 3 (+.f64 d2 d3)) d1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 3 (+.f64 d2 d3))) (*.f64 d1 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 d1 (*.f64 2 (+.f64 3 (+.f64 d2 d3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 3 (+.f64 d2 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 3 (+.f64 d2 d3)) (*.f64 d1 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 3 (+.f64 d2 d3)) 1/2) (+.f64 d1 d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (*.f64 d1 4) (+.f64 3 (+.f64 d2 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 d1 (+.f64 3 (+.f64 d2 d3))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (+.f64 3 (+.f64 d2 d3)) 1/2)) d1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 3 (+.f64 d2 d3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 2 (+.f64 3 (+.f64 d2 d3)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 4) (+.f64 3 (+.f64 d2 d3))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 d1 4) (+.f64 3 (+.f64 d2 d3)))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 4) (+.f64 3 (+.f64 d2 d3))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 4) (+.f64 3 (+.f64 d2 d3)))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 4) (+.f64 3 (+.f64 d2 d3))))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 4) (+.f64 3 (+.f64 d2 d3))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 4) (+.f64 3 (+.f64 d2 d3)))))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (+.f64 3 (+.f64 d2 d3))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (+.f64 3 d2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 d1 (+.f64 3 d2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (+.f64 3 d2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 d1 (+.f64 3 d2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 d1 (/.f64 (+.f64 3 d2) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (+.f64 3 d2) 1/2) d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 d1 d1) (+.f64 3 d2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (*.f64 (+.f64 3 d2) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (/.f64 (+.f64 3 d2) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 3 d2) d1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 d1 (+.f64 3 d2)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (*.f64 4 (+.f64 3 d2))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 3 d2)) (*.f64 d1 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 d1 d1) (+.f64 3 d2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 3 d2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (/.f64 (+.f64 3 d2) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 3 d2) 1/2) (+.f64 d1 d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 d1 (*.f64 4 (+.f64 3 d2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 3 d2) 2) (+.f64 d1 d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 d1 (+.f64 3 d2)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (*.f64 (+.f64 3 d2) 1/2)) d1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (/.f64 (+.f64 3 d2) 2)) d1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 3 d2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 d1 d1) (+.f64 3 d2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 4 (+.f64 3 d2))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 4 (*.f64 (+.f64 d1 d1) (+.f64 3 d2))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 4 (*.f64 (+.f64 d1 d1) (+.f64 3 d2)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (+.f64 d1 d1) (+.f64 3 d2))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (+.f64 d1 d1) (+.f64 3 d2)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (+.f64 d1 d1) (+.f64 3 d2)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (+.f64 d1 d1) (+.f64 3 d2))))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (+.f64 3 d2)) 1)))))

simplify407.0ms (9.2%)

Algorithm
egg-herbie
Rules
4448×rational.json-simplify-41
2476×rational.json-simplify-2
2362×rational.json-simplify-35
1020×rational.json-simplify-51
1000×exponential.json-simplify-26
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
01332273
12971925
26371925
320201901
439891869
548861853
651561853
752981853
854411853
955701853
1061031853
1165091853
1269221853
1369221853
1471031853
1572181853
1673331853
Stop Event
node limit
Counts
119 → 86
Calls
Call 1
Inputs
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 3 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 3 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 3 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 3 d3)))
(*.f64 -1 (*.f64 d1 (-.f64 (+.f64 (*.f64 -1 d3) (*.f64 -1 d2)) 3)))
(*.f64 -1 (*.f64 d1 (-.f64 (+.f64 (*.f64 -1 d3) (*.f64 -1 d2)) 3)))
(*.f64 -1 (*.f64 d1 (-.f64 (+.f64 (*.f64 -1 d3) (*.f64 -1 d2)) 3)))
(*.f64 -1 (*.f64 d1 (-.f64 (+.f64 (*.f64 -1 d3) (*.f64 -1 d2)) 3)))
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(*.f64 d2 d1)
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(*.f64 d2 d1)
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(*.f64 d1 d3)
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(*.f64 d1 d3)
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(*.f64 d1 (+.f64 3 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 (+.f64 d2 3) d1)
(*.f64 (+.f64 d2 3) d1)
(*.f64 (+.f64 d2 3) d1)
(*.f64 (+.f64 d2 3) d1)
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 d2) 3) d1))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 d2) 3) d1))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 d2) 3) d1))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 d2) 3) d1))
(*.f64 3 d1)
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(-.f64 (*.f64 d1 (+.f64 3 (+.f64 d2 d3))) 0)
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 (*.f64 d1 (+.f64 3 (+.f64 d2 d3))) 1)
(*.f64 1 (*.f64 d1 (+.f64 3 (+.f64 d2 d3))))
(*.f64 2 (*.f64 (+.f64 3 (+.f64 d2 d3)) (*.f64 d1 1/2)))
(*.f64 2 (*.f64 (*.f64 (+.f64 3 (+.f64 d2 d3)) 1/2) d1))
(*.f64 (*.f64 d1 (*.f64 2 (+.f64 3 (+.f64 d2 d3)))) 1/2)
(*.f64 (+.f64 d1 d1) (*.f64 (+.f64 3 (+.f64 d2 d3)) 1/2))
(*.f64 4 (/.f64 (*.f64 d1 (+.f64 3 (+.f64 d2 d3))) 4))
(*.f64 (*.f64 (*.f64 d1 4) (+.f64 3 (+.f64 d2 d3))) 1/4)
(*.f64 (+.f64 3 (+.f64 d2 d3)) d1)
(*.f64 (*.f64 2 (+.f64 3 (+.f64 d2 d3))) (*.f64 d1 1/2))
(*.f64 1/2 (*.f64 d1 (*.f64 2 (+.f64 3 (+.f64 d2 d3)))))
(*.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 3 (+.f64 d2 d3))))
(*.f64 (*.f64 (+.f64 3 (+.f64 d2 d3)) (*.f64 d1 1/2)) 2)
(*.f64 (*.f64 (+.f64 3 (+.f64 d2 d3)) 1/2) (+.f64 d1 d1))
(*.f64 1/4 (*.f64 (*.f64 d1 4) (+.f64 3 (+.f64 d2 d3))))
(*.f64 (/.f64 (*.f64 d1 (+.f64 3 (+.f64 d2 d3))) 4) 4)
(*.f64 (*.f64 2 (*.f64 (+.f64 3 (+.f64 d2 d3)) 1/2)) d1)
(/.f64 (*.f64 d1 (+.f64 3 (+.f64 d2 d3))) 1)
(/.f64 (*.f64 d1 (*.f64 2 (+.f64 3 (+.f64 d2 d3)))) 2)
(/.f64 (*.f64 (*.f64 d1 4) (+.f64 3 (+.f64 d2 d3))) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 4) (+.f64 3 (+.f64 d2 d3)))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 4) (+.f64 3 (+.f64 d2 d3))))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 4) (+.f64 3 (+.f64 d2 d3)))))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 4) (+.f64 3 (+.f64 d2 d3))))))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 4) (+.f64 3 (+.f64 d2 d3))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 4) (+.f64 3 (+.f64 d2 d3)))))))) 128)
(pow.f64 (*.f64 d1 (+.f64 3 (+.f64 d2 d3))) 1)
(-.f64 (*.f64 d1 (+.f64 3 d2)) 0)
(*.f64 d1 (+.f64 3 d2))
(*.f64 (*.f64 d1 (+.f64 3 d2)) 1)
(*.f64 1 (*.f64 d1 (+.f64 3 d2)))
(*.f64 2 (*.f64 d1 (/.f64 (+.f64 3 d2) 2)))
(*.f64 2 (*.f64 (*.f64 (+.f64 3 d2) 1/2) d1))
(*.f64 (*.f64 (+.f64 d1 d1) (+.f64 3 d2)) 1/2)
(*.f64 (+.f64 d1 d1) (*.f64 (+.f64 3 d2) 1/2))
(*.f64 (+.f64 d1 d1) (/.f64 (+.f64 3 d2) 2))
(*.f64 (+.f64 3 d2) d1)
(*.f64 4 (/.f64 (*.f64 d1 (+.f64 3 d2)) 4))
(*.f64 (*.f64 d1 (*.f64 4 (+.f64 3 d2))) 1/4)
(*.f64 (*.f64 2 (+.f64 3 d2)) (*.f64 d1 1/2))
(*.f64 1/2 (*.f64 (+.f64 d1 d1) (+.f64 3 d2)))
(*.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 3 d2)))
(*.f64 (*.f64 d1 (/.f64 (+.f64 3 d2) 2)) 2)
(*.f64 (*.f64 (+.f64 3 d2) 1/2) (+.f64 d1 d1))
(*.f64 1/4 (*.f64 d1 (*.f64 4 (+.f64 3 d2))))
(*.f64 (/.f64 (+.f64 3 d2) 2) (+.f64 d1 d1))
(*.f64 (/.f64 (*.f64 d1 (+.f64 3 d2)) 4) 4)
(*.f64 (*.f64 2 (*.f64 (+.f64 3 d2) 1/2)) d1)
(*.f64 (*.f64 2 (/.f64 (+.f64 3 d2) 2)) d1)
(/.f64 (*.f64 d1 (+.f64 3 d2)) 1)
(/.f64 (*.f64 (+.f64 d1 d1) (+.f64 3 d2)) 2)
(/.f64 (*.f64 d1 (*.f64 4 (+.f64 3 d2))) 4)
(/.f64 (*.f64 4 (*.f64 (+.f64 d1 d1) (+.f64 3 d2))) 8)
(/.f64 (*.f64 2 (*.f64 4 (*.f64 (+.f64 d1 d1) (+.f64 3 d2)))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (+.f64 d1 d1) (+.f64 3 d2))))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (+.f64 d1 d1) (+.f64 3 d2)))))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (+.f64 d1 d1) (+.f64 3 d2)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (+.f64 d1 d1) (+.f64 3 d2))))))) 128)
(pow.f64 (*.f64 d1 (+.f64 3 d2)) 1)
Outputs
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 3 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 3 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 3 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 3 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 -1 (*.f64 d1 (-.f64 (+.f64 (*.f64 -1 d3) (*.f64 -1 d2)) 3)))
(*.f64 d1 (*.f64 (+.f64 (*.f64 d2 -1) (-.f64 (*.f64 d3 -1) 3)) -1))
(*.f64 (-.f64 (*.f64 -1 (+.f64 d2 d3)) 3) (neg.f64 d1))
(*.f64 (-.f64 (*.f64 (+.f64 d2 d3) -1) 3) (neg.f64 d1))
(*.f64 (+.f64 (neg.f64 d2) (-.f64 -3 d3)) (neg.f64 d1))
(*.f64 d1 (-.f64 3 (neg.f64 (+.f64 d2 d3))))
(*.f64 d1 (-.f64 (+.f64 d2 d3) -3))
(*.f64 d1 (+.f64 d3 (-.f64 d2 -3)))
(*.f64 d1 (+.f64 d2 (-.f64 d3 -3)))
(*.f64 -1 (*.f64 d1 (-.f64 (+.f64 (*.f64 -1 d3) (*.f64 -1 d2)) 3)))
(*.f64 d1 (*.f64 (+.f64 (*.f64 d2 -1) (-.f64 (*.f64 d3 -1) 3)) -1))
(*.f64 (-.f64 (*.f64 -1 (+.f64 d2 d3)) 3) (neg.f64 d1))
(*.f64 (-.f64 (*.f64 (+.f64 d2 d3) -1) 3) (neg.f64 d1))
(*.f64 (+.f64 (neg.f64 d2) (-.f64 -3 d3)) (neg.f64 d1))
(*.f64 d1 (-.f64 3 (neg.f64 (+.f64 d2 d3))))
(*.f64 d1 (-.f64 (+.f64 d2 d3) -3))
(*.f64 d1 (+.f64 d3 (-.f64 d2 -3)))
(*.f64 d1 (+.f64 d2 (-.f64 d3 -3)))
(*.f64 -1 (*.f64 d1 (-.f64 (+.f64 (*.f64 -1 d3) (*.f64 -1 d2)) 3)))
(*.f64 d1 (*.f64 (+.f64 (*.f64 d2 -1) (-.f64 (*.f64 d3 -1) 3)) -1))
(*.f64 (-.f64 (*.f64 -1 (+.f64 d2 d3)) 3) (neg.f64 d1))
(*.f64 (-.f64 (*.f64 (+.f64 d2 d3) -1) 3) (neg.f64 d1))
(*.f64 (+.f64 (neg.f64 d2) (-.f64 -3 d3)) (neg.f64 d1))
(*.f64 d1 (-.f64 3 (neg.f64 (+.f64 d2 d3))))
(*.f64 d1 (-.f64 (+.f64 d2 d3) -3))
(*.f64 d1 (+.f64 d3 (-.f64 d2 -3)))
(*.f64 d1 (+.f64 d2 (-.f64 d3 -3)))
(*.f64 -1 (*.f64 d1 (-.f64 (+.f64 (*.f64 -1 d3) (*.f64 -1 d2)) 3)))
(*.f64 d1 (*.f64 (+.f64 (*.f64 d2 -1) (-.f64 (*.f64 d3 -1) 3)) -1))
(*.f64 (-.f64 (*.f64 -1 (+.f64 d2 d3)) 3) (neg.f64 d1))
(*.f64 (-.f64 (*.f64 (+.f64 d2 d3) -1) 3) (neg.f64 d1))
(*.f64 (+.f64 (neg.f64 d2) (-.f64 -3 d3)) (neg.f64 d1))
(*.f64 d1 (-.f64 3 (neg.f64 (+.f64 d2 d3))))
(*.f64 d1 (-.f64 (+.f64 d2 d3) -3))
(*.f64 d1 (+.f64 d3 (-.f64 d2 -3)))
(*.f64 d1 (+.f64 d2 (-.f64 d3 -3)))
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(+.f64 (*.f64 d1 3) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 d3))
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 d3)
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 d3)
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(+.f64 (*.f64 3 d1) (+.f64 (*.f64 d2 d1) (*.f64 d1 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 3 d2))
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 (+.f64 d2 3) d1)
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 (+.f64 d2 3) d1)
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 (+.f64 d2 3) d1)
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 (+.f64 d2 3) d1)
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 d2) 3) d1))
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 d2 -1) 3)))
(*.f64 (-.f64 (neg.f64 d2) 3) (neg.f64 d1))
(*.f64 (-.f64 -3 d2) (neg.f64 d1))
(*.f64 d1 (-.f64 d2 -3))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 d2) 3) d1))
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 d2 -1) 3)))
(*.f64 (-.f64 (neg.f64 d2) 3) (neg.f64 d1))
(*.f64 (-.f64 -3 d2) (neg.f64 d1))
(*.f64 d1 (-.f64 d2 -3))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 d2) 3) d1))
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 d2 -1) 3)))
(*.f64 (-.f64 (neg.f64 d2) 3) (neg.f64 d1))
(*.f64 (-.f64 -3 d2) (neg.f64 d1))
(*.f64 d1 (-.f64 d2 -3))
(*.f64 -1 (*.f64 (-.f64 (*.f64 -1 d2) 3) d1))
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 d2 -1) 3)))
(*.f64 (-.f64 (neg.f64 d2) 3) (neg.f64 d1))
(*.f64 (-.f64 -3 d2) (neg.f64 d1))
(*.f64 d1 (-.f64 d2 -3))
(*.f64 3 d1)
(*.f64 d1 3)
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(-.f64 (*.f64 d1 (+.f64 3 (+.f64 d2 d3))) 0)
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 (*.f64 d1 (+.f64 3 (+.f64 d2 d3))) 1)
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 1 (*.f64 d1 (+.f64 3 (+.f64 d2 d3))))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 2 (*.f64 (+.f64 3 (+.f64 d2 d3)) (*.f64 d1 1/2)))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 2 (*.f64 (*.f64 (+.f64 3 (+.f64 d2 d3)) 1/2) d1))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 (*.f64 d1 (*.f64 2 (+.f64 3 (+.f64 d2 d3)))) 1/2)
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 (+.f64 d1 d1) (*.f64 (+.f64 3 (+.f64 d2 d3)) 1/2))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 4 (/.f64 (*.f64 d1 (+.f64 3 (+.f64 d2 d3))) 4))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 (*.f64 (*.f64 d1 4) (+.f64 3 (+.f64 d2 d3))) 1/4)
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 (+.f64 3 (+.f64 d2 d3)) d1)
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 (*.f64 2 (+.f64 3 (+.f64 d2 d3))) (*.f64 d1 1/2))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 1/2 (*.f64 d1 (*.f64 2 (+.f64 3 (+.f64 d2 d3)))))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 3 (+.f64 d2 d3))))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 (*.f64 (+.f64 3 (+.f64 d2 d3)) (*.f64 d1 1/2)) 2)
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 (*.f64 (+.f64 3 (+.f64 d2 d3)) 1/2) (+.f64 d1 d1))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 1/4 (*.f64 (*.f64 d1 4) (+.f64 3 (+.f64 d2 d3))))
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 (/.f64 (*.f64 d1 (+.f64 3 (+.f64 d2 d3))) 4) 4)
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(*.f64 (*.f64 2 (*.f64 (+.f64 3 (+.f64 d2 d3)) 1/2)) d1)
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(/.f64 (*.f64 d1 (+.f64 3 (+.f64 d2 d3))) 1)
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(/.f64 (*.f64 d1 (*.f64 2 (+.f64 3 (+.f64 d2 d3)))) 2)
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(/.f64 (*.f64 (*.f64 d1 4) (+.f64 3 (+.f64 d2 d3))) 4)
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 4) (+.f64 3 (+.f64 d2 d3)))) 8)
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 4) (+.f64 3 (+.f64 d2 d3))))) 16)
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 4) (+.f64 3 (+.f64 d2 d3)))))) 32)
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 4) (+.f64 3 (+.f64 d2 d3))))))) 64)
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 4) (+.f64 3 (+.f64 d2 d3))))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 4) (+.f64 3 (+.f64 d2 d3)))))))) 128)
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(pow.f64 (*.f64 d1 (+.f64 3 (+.f64 d2 d3))) 1)
(*.f64 d1 (+.f64 3 (+.f64 d2 d3)))
(-.f64 (*.f64 d1 (+.f64 3 d2)) 0)
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 d1 (+.f64 3 d2))
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 (*.f64 d1 (+.f64 3 d2)) 1)
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 1 (*.f64 d1 (+.f64 3 d2)))
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 2 (*.f64 d1 (/.f64 (+.f64 3 d2) 2)))
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 2 (*.f64 (*.f64 (+.f64 3 d2) 1/2) d1))
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 (*.f64 (+.f64 d1 d1) (+.f64 3 d2)) 1/2)
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 (+.f64 d1 d1) (*.f64 (+.f64 3 d2) 1/2))
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 (+.f64 d1 d1) (/.f64 (+.f64 3 d2) 2))
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 (+.f64 3 d2) d1)
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 4 (/.f64 (*.f64 d1 (+.f64 3 d2)) 4))
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 (*.f64 d1 (*.f64 4 (+.f64 3 d2))) 1/4)
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 (*.f64 2 (+.f64 3 d2)) (*.f64 d1 1/2))
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 1/2 (*.f64 (+.f64 d1 d1) (+.f64 3 d2)))
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 3 d2)))
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 (*.f64 d1 (/.f64 (+.f64 3 d2) 2)) 2)
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 (*.f64 (+.f64 3 d2) 1/2) (+.f64 d1 d1))
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 1/4 (*.f64 d1 (*.f64 4 (+.f64 3 d2))))
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 (/.f64 (+.f64 3 d2) 2) (+.f64 d1 d1))
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 (/.f64 (*.f64 d1 (+.f64 3 d2)) 4) 4)
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 (*.f64 2 (*.f64 (+.f64 3 d2) 1/2)) d1)
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 (*.f64 2 (/.f64 (+.f64 3 d2) 2)) d1)
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(/.f64 (*.f64 d1 (+.f64 3 d2)) 1)
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(/.f64 (*.f64 (+.f64 d1 d1) (+.f64 3 d2)) 2)
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(/.f64 (*.f64 d1 (*.f64 4 (+.f64 3 d2))) 4)
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(/.f64 (*.f64 4 (*.f64 (+.f64 d1 d1) (+.f64 3 d2))) 8)
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(/.f64 (*.f64 2 (*.f64 4 (*.f64 (+.f64 d1 d1) (+.f64 3 d2)))) 16)
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (+.f64 d1 d1) (+.f64 3 d2))))) 32)
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (+.f64 d1 d1) (+.f64 3 d2)))))) 64)
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (+.f64 d1 d1) (+.f64 3 d2)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 4 (*.f64 (+.f64 d1 d1) (+.f64 3 d2))))))) 128)
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(pow.f64 (*.f64 d1 (+.f64 3 d2)) 1)
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))

eval21.0ms (0.5%)

Compiler

Compiled 1218 to 733 computations (39.8% saved)

prune20.0ms (0.5%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1045109
Fresh000
Picked101
Done011
Total1056111
Error
0.1b
Counts
111 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
21.2b
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
21.2b
(*.f64 (+.f64 d2 3) d1)
44.9b
(*.f64 d2 d1)
0.1b
(*.f64 d1 (+.f64 d3 (+.f64 3 d2)))
18.5b
(*.f64 d1 (+.f64 3 d3))
40.7b
(*.f64 d1 d3)
Compiler

Compiled 86 to 61 computations (29.1% saved)

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 d1 (+.f64 3 d3))
Compiler

Compiled 14 to 9 computations (35.7% saved)

series3.0ms (0.1%)

Counts
1 → 12
Calls

6 calls:

TimeVariablePointExpression
1.0ms
d3
@0
(*.f64 d1 (+.f64 3 d3))
0.0ms
d1
@inf
(*.f64 d1 (+.f64 3 d3))
0.0ms
d1
@0
(*.f64 d1 (+.f64 3 d3))
0.0ms
d1
@-inf
(*.f64 d1 (+.f64 3 d3))
0.0ms
d3
@-inf
(*.f64 d1 (+.f64 3 d3))

rewrite208.0ms (4.7%)

Algorithm
batch-egg-rewrite
Rules
2428×rational.json-simplify-35
1490×rational.json-simplify-1
1486×rational.json-simplify-53
1242×exponential.json-3
1242×rational.json-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
14613
29913
320113
436913
581913
6205813
7364713
8475313
9615013
10688913
11688913
12688913
Stop Event
node limit
Counts
1 → 15
Calls
Call 1
Inputs
(*.f64 d1 (+.f64 3 d3))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (+.f64 3 d3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 d1 (+.f64 3 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 3 d3) (*.f64 d1 1/2)) (*.f64 (+.f64 3 d3) (*.f64 d1 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (+.f64 3 d3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 3 d3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 (+.f64 d3 d3) 6)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 3 d3) (*.f64 d1 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 (+.f64 3 d3) 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 8 (*.f64 d1 (*.f64 (+.f64 3 d3) 8)))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 16 (*.f64 d1 (+.f64 3 d3))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 3 d3) (*.f64 8 (*.f64 d1 4))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 8 (*.f64 d1 (*.f64 (+.f64 3 d3) 8))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 d1 (*.f64 (+.f64 3 d3) 8))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 d1 (*.f64 (+.f64 3 d3) 8))))) (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 d1 (*.f64 (+.f64 3 d3) 8)))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (+.f64 3 d3)) 1)))))

simplify196.0ms (4.4%)

Algorithm
egg-herbie
Rules
2688×rational.json-simplify-2
2078×rational.json-simplify-35
1500×rational.json-simplify-43
1378×rational.json-simplify-1
1262×exponential.json-simplify-26
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
054477
1141333
2289333
3678333
43307333
54874333
65192333
75400333
85577333
95729333
107851333
Stop Event
node limit
Counts
27 → 19
Calls
Call 1
Inputs
(*.f64 3 d1)
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(*.f64 d1 d3)
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(*.f64 d1 d3)
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(+.f64 (*.f64 d1 (+.f64 3 d3)) 0)
(+.f64 0 (*.f64 d1 (+.f64 3 d3)))
(+.f64 (*.f64 (+.f64 3 d3) (*.f64 d1 1/2)) (*.f64 (+.f64 3 d3) (*.f64 d1 1/2)))
(-.f64 (*.f64 d1 (+.f64 3 d3)) 0)
(/.f64 (*.f64 d1 (+.f64 3 d3)) 1)
(/.f64 (*.f64 d1 (+.f64 (+.f64 d3 d3) 6)) 2)
(/.f64 (*.f64 (+.f64 3 d3) (*.f64 d1 4)) 4)
(/.f64 (*.f64 d1 (*.f64 (+.f64 3 d3) 8)) 8)
(/.f64 (*.f64 2 (*.f64 8 (*.f64 d1 (*.f64 (+.f64 3 d3) 8)))) 128)
(/.f64 (*.f64 16 (*.f64 d1 (+.f64 3 d3))) 16)
(/.f64 (*.f64 (+.f64 3 d3) (*.f64 8 (*.f64 d1 4))) 32)
(/.f64 (*.f64 8 (*.f64 d1 (*.f64 (+.f64 3 d3) 8))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 d1 (*.f64 (+.f64 3 d3) 8))))) 256)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 d1 (*.f64 (+.f64 3 d3) 8))))) (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 d1 (*.f64 (+.f64 3 d3) 8)))))) 512)
(pow.f64 (*.f64 d1 (+.f64 3 d3)) 1)
Outputs
(*.f64 3 d1)
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 d3))
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 d3))
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 d3))
(*.f64 d1 d3)
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 d3))
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 d3))
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 d3))
(*.f64 d1 d3)
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 d3))
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 d3))
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 d3))
(+.f64 (*.f64 d1 (+.f64 3 d3)) 0)
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 d3))
(+.f64 0 (*.f64 d1 (+.f64 3 d3)))
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 d3))
(+.f64 (*.f64 (+.f64 3 d3) (*.f64 d1 1/2)) (*.f64 (+.f64 3 d3) (*.f64 d1 1/2)))
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 d3))
(-.f64 (*.f64 d1 (+.f64 3 d3)) 0)
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 d3))
(/.f64 (*.f64 d1 (+.f64 3 d3)) 1)
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 d3))
(/.f64 (*.f64 d1 (+.f64 (+.f64 d3 d3) 6)) 2)
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 d3))
(/.f64 (*.f64 (+.f64 3 d3) (*.f64 d1 4)) 4)
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 d3))
(/.f64 (*.f64 d1 (*.f64 (+.f64 3 d3) 8)) 8)
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 d3))
(/.f64 (*.f64 2 (*.f64 8 (*.f64 d1 (*.f64 (+.f64 3 d3) 8)))) 128)
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 d3))
(/.f64 (*.f64 16 (*.f64 d1 (+.f64 3 d3))) 16)
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 d3))
(/.f64 (*.f64 (+.f64 3 d3) (*.f64 8 (*.f64 d1 4))) 32)
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 d3))
(/.f64 (*.f64 8 (*.f64 d1 (*.f64 (+.f64 3 d3) 8))) 64)
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 d3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 d1 (*.f64 (+.f64 3 d3) 8))))) 256)
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 d3))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 d1 (*.f64 (+.f64 3 d3) 8))))) (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 d1 (*.f64 (+.f64 3 d3) 8)))))) 512)
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 d3))
(pow.f64 (*.f64 d1 (+.f64 3 d3)) 1)
(+.f64 (*.f64 3 d1) (*.f64 d1 d3))
(*.f64 d1 (+.f64 3 d3))

localize3.0ms (0.1%)

Compiler

Compiled 8 to 4 computations (50% saved)

localize5.0ms (0.1%)

Compiler

Compiled 8 to 4 computations (50% saved)

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 14 to 9 computations (35.7% saved)

series1.0ms (0%)

Counts
1 → 20
Calls

6 calls:

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

rewrite208.0ms (4.7%)

Algorithm
batch-egg-rewrite
Rules
2428×rational.json-simplify-35
1496×rational.json-simplify-1
1480×rational.json-simplify-53
1242×exponential.json-3
1242×rational.json-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
14613
29913
320113
436913
581913
6205613
7364013
8474813
9614513
10688413
11688413
12688413
Stop Event
node limit
Counts
1 → 15
Calls
Call 1
Inputs
(*.f64 (+.f64 d2 3) d1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 d2 3) d1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 d2 3) d1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 d2 3) (*.f64 d1 1/2)) (*.f64 (+.f64 d2 3) (*.f64 d1 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 d2 3) d1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 d2 3) d1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 d2 3) (+.f64 d1 d1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 d2 3) (*.f64 d1 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 d2 3) (*.f64 d1 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 8 (*.f64 (+.f64 d2 3) (*.f64 d1 8)))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 16 (*.f64 (+.f64 d2 3) d1)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 4) (*.f64 (+.f64 d2 3) 8)) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 8 (*.f64 (+.f64 d2 3) (*.f64 d1 8))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 (+.f64 d2 3) (*.f64 d1 8))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 (+.f64 d2 3) (*.f64 d1 8))))) (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 (+.f64 d2 3) (*.f64 d1 8)))))) 512)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 d2 3) d1) 1)))))

simplify274.0ms (6.2%)

Algorithm
egg-herbie
Rules
2218×rational.json-simplify-2
1914×rational.json-simplify-35
1480×rational.json-simplify-53
1234×exponential.json-simplify-26
1224×rational.json-simplify-1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
054629
1137437
2284437
3713437
42627437
54840437
65673437
75982437
85987437
95989437
106791437
117876437
127880437
Stop Event
node limit
Counts
35 → 21
Calls
Call 1
Inputs
(*.f64 3 d1)
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(*.f64 d1 (+.f64 3 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 d1 (+.f64 3 d2))
(+.f64 (*.f64 (+.f64 d2 3) d1) 0)
(+.f64 0 (*.f64 (+.f64 d2 3) d1))
(+.f64 (*.f64 (+.f64 d2 3) (*.f64 d1 1/2)) (*.f64 (+.f64 d2 3) (*.f64 d1 1/2)))
(-.f64 (*.f64 (+.f64 d2 3) d1) 0)
(/.f64 (*.f64 (+.f64 d2 3) d1) 1)
(/.f64 (*.f64 (+.f64 d2 3) (+.f64 d1 d1)) 2)
(/.f64 (*.f64 (+.f64 d2 3) (*.f64 d1 4)) 4)
(/.f64 (*.f64 (+.f64 d2 3) (*.f64 d1 8)) 8)
(/.f64 (*.f64 2 (*.f64 8 (*.f64 (+.f64 d2 3) (*.f64 d1 8)))) 128)
(/.f64 (*.f64 16 (*.f64 (+.f64 d2 3) d1)) 16)
(/.f64 (*.f64 (*.f64 d1 4) (*.f64 (+.f64 d2 3) 8)) 32)
(/.f64 (*.f64 8 (*.f64 (+.f64 d2 3) (*.f64 d1 8))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 (+.f64 d2 3) (*.f64 d1 8))))) 256)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 (+.f64 d2 3) (*.f64 d1 8))))) (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 (+.f64 d2 3) (*.f64 d1 8)))))) 512)
(pow.f64 (*.f64 (+.f64 d2 3) d1) 1)
Outputs
(*.f64 3 d1)
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 3 d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 3 d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 3 d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 3 d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 3 d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 3 d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 3 d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 3 d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(+.f64 (*.f64 3 d1) (*.f64 d2 d1))
(+.f64 (*.f64 3 d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(*.f64 d1 (+.f64 3 d2))
(+.f64 (*.f64 3 d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(+.f64 (*.f64 3 d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(+.f64 (*.f64 3 d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(+.f64 (*.f64 3 d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(+.f64 (*.f64 3 d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(+.f64 (*.f64 3 d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(+.f64 (*.f64 3 d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(+.f64 (*.f64 3 d1) (*.f64 d1 d2))
(+.f64 (*.f64 (+.f64 d2 3) d1) 0)
(+.f64 (*.f64 3 d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(+.f64 0 (*.f64 (+.f64 d2 3) d1))
(+.f64 (*.f64 3 d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(+.f64 (*.f64 (+.f64 d2 3) (*.f64 d1 1/2)) (*.f64 (+.f64 d2 3) (*.f64 d1 1/2)))
(+.f64 (*.f64 3 d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(-.f64 (*.f64 (+.f64 d2 3) d1) 0)
(+.f64 (*.f64 3 d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(/.f64 (*.f64 (+.f64 d2 3) d1) 1)
(+.f64 (*.f64 3 d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(/.f64 (*.f64 (+.f64 d2 3) (+.f64 d1 d1)) 2)
(+.f64 (*.f64 3 d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(/.f64 (*.f64 (+.f64 d2 3) (*.f64 d1 4)) 4)
(+.f64 (*.f64 3 d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(/.f64 (*.f64 (+.f64 d2 3) (*.f64 d1 8)) 8)
(+.f64 (*.f64 3 d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(/.f64 (*.f64 2 (*.f64 8 (*.f64 (+.f64 d2 3) (*.f64 d1 8)))) 128)
(+.f64 (*.f64 3 d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(/.f64 (*.f64 16 (*.f64 (+.f64 d2 3) d1)) 16)
(+.f64 (*.f64 3 d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(/.f64 (*.f64 (*.f64 d1 4) (*.f64 (+.f64 d2 3) 8)) 32)
(+.f64 (*.f64 3 d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(/.f64 (*.f64 8 (*.f64 (+.f64 d2 3) (*.f64 d1 8))) 64)
(+.f64 (*.f64 3 d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 (+.f64 d2 3) (*.f64 d1 8))))) 256)
(+.f64 (*.f64 3 d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 (+.f64 d2 3) (*.f64 d1 8))))) (*.f64 2 (*.f64 2 (*.f64 8 (*.f64 (+.f64 d2 3) (*.f64 d1 8)))))) 512)
(+.f64 (*.f64 3 d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))
(pow.f64 (*.f64 (+.f64 d2 3) d1) 1)
(+.f64 (*.f64 3 d1) (*.f64 d1 d2))
(*.f64 d1 (+.f64 3 d2))

localize39.0ms (0.9%)

Local error

Found 1 expressions with local error:

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

Compiled 19 to 10 computations (47.4% saved)

eval16.0ms (0.4%)

Compiler

Compiled 726 to 529 computations (27.1% saved)

prune13.0ms (0.3%)

Pruning

7 alts after pruning (1 fresh and 6 done)

PrunedKeptTotal
New77178
Fresh000
Picked011
Done055
Total77784
Error
0.1b
Counts
84 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
21.2b
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
21.2b
(*.f64 (+.f64 d2 3) d1)
44.9b
(*.f64 d2 d1)
0.1b
(*.f64 d1 (+.f64 d3 (+.f64 3 d2)))
18.5b
(*.f64 d1 (+.f64 3 d3))
40.7b
(*.f64 d1 d3)
39.6b
(*.f64 d1 3)
Compiler

Compiled 54 to 39 computations (27.8% saved)

localize44.0ms (1%)

Compiler

Compiled 8 to 6 computations (25% saved)

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune3.0ms (0.1%)

Pruning

7 alts after pruning (0 fresh and 7 done)

PrunedKeptTotal
New000
Fresh000
Picked011
Done066
Total077
Error
0.1b
Counts
7 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
21.2b
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
21.2b
(*.f64 (+.f64 d2 3) d1)
44.9b
(*.f64 d2 d1)
0.1b
(*.f64 d1 (+.f64 d3 (+.f64 3 d2)))
18.5b
(*.f64 d1 (+.f64 3 d3))
40.7b
(*.f64 d1 d3)
39.6b
(*.f64 d1 3)
Compiler

Compiled 54 to 39 computations (27.8% saved)

regimes34.0ms (0.8%)

Counts
8 → 1
Calls
Call 1
Inputs
(*.f64 d1 3)
(*.f64 d1 d3)
(*.f64 d2 d1)
(*.f64 d1 (+.f64 3 d3))
(*.f64 (+.f64 d2 3) d1)
(*.f64 d1 (+.f64 d3 (+.f64 3 d2)))
(+.f64 (*.f64 d1 3) (*.f64 d1 d2))
(+.f64 (+.f64 (*.f64 d1 3) (*.f64 d1 d2)) (*.f64 d1 d3))
Outputs
(*.f64 d1 (+.f64 d3 (+.f64 3 d2)))
Calls

4 calls:

16.0ms
d2
5.0ms
d1
5.0ms
(+.f64 (+.f64 (*.f64 d1 3) (*.f64 d1 d2)) (*.f64 d1 d3))
5.0ms
d3
Results
ErrorSegmentsBranch
0.1b1d1
0.1b1d2
0.1b1d3
0.1b1(+.f64 (+.f64 (*.f64 d1 3) (*.f64 d1 d2)) (*.f64 d1 d3))
Compiler

Compiled 73 to 43 computations (41.1% saved)

regimes38.0ms (0.9%)

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

3 calls:

20.0ms
d1
9.0ms
d3
9.0ms
d2
Results
ErrorSegmentsBranch
15.6b3d1
3.8b2d2
2.7b2d3
Compiler

Compiled 34 to 22 computations (35.3% saved)

bsearch13.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
13.0ms
0.00018319643265903804
0.0047563051287425155
Results
12.0ms112×body256valid
Compiler

Compiled 146 to 112 computations (23.3% saved)

regimes31.0ms (0.7%)

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

3 calls:

12.0ms
d1
11.0ms
d3
7.0ms
d2
Results
ErrorSegmentsBranch
17.0b3d1
4.7b2d2
13.7b2d3
Compiler

Compiled 29 to 19 computations (34.5% saved)

bsearch15.0ms (0.3%)

Algorithm
binary-search
Steps
TimeLeftRight
15.0ms
-81.40338473865489
-0.04075963082157457
Results
13.0ms128×body256valid
Compiler

Compiled 148 to 110 computations (25.7% saved)

regimes56.0ms (1.2%)

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

3 calls:

30.0ms
d1
15.0ms
d2
9.0ms
d3
Results
ErrorSegmentsBranch
27.4b9d1
15.3b5d2
14.5b3d3
Compiler

Compiled 24 to 16 computations (33.3% saved)

bsearch37.0ms (0.8%)

Algorithm
binary-search
Steps
TimeLeftRight
16.0ms
0.0047563051287425155
450.9189850097351
21.0ms
-1.0180506306665463e-231
-1.2206347237353197e-244
Results
29.0ms282×body256valid
4.0ms19×body1024valid
0.0msbody512valid
Compiler

Compiled 286 to 223 computations (22% saved)

regimes37.0ms (0.8%)

Accuracy

Total -41.8b remaining (-215.6%)

Threshold costs -41.8b (-215.6%)

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

3 calls:

17.0ms
d1
13.0ms
d2
6.0ms
d3
Results
ErrorSegmentsBranch
31.2b5d1
28.9b5d2
19.4b2d3
Compiler

Compiled 21 to 15 computations (28.6% saved)

bsearch18.0ms (0.4%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
0.0047563051287425155
450.9189850097351
Results
16.0ms144×body256valid
Compiler

Compiled 146 to 113 computations (22.6% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
030152
Stop Event
done
saturated
Calls
Call 1
Inputs
(*.f64 d1 (+.f64 d3 (+.f64 3 d2)))
(if (<=.f64 d3 4796153459164483/9223372036854775808) (*.f64 (+.f64 d2 3) d1) (*.f64 d1 (+.f64 3 d3)))
(if (<=.f64 d2 -80) (*.f64 d2 d1) (*.f64 d1 (+.f64 3 d3)))
(if (<=.f64 d3 -5174020727458855/6991919901971426075297554671307333615898862102580725715195666431228287110681861367027657291461090911970058473930419853533788296083269867358507086435928852446414275954096487329654980776728266302794199220759703429559553357814144917874843453883416576) (*.f64 d2 d1) (if (<=.f64 d3 3) (*.f64 d1 3) (*.f64 d1 d3)))
(if (<=.f64 d3 3) (*.f64 d1 3) (*.f64 d1 d3))
(*.f64 d1 3)
Outputs
(*.f64 d1 (+.f64 d3 (+.f64 3 d2)))
(if (<=.f64 d3 4796153459164483/9223372036854775808) (*.f64 (+.f64 d2 3) d1) (*.f64 d1 (+.f64 3 d3)))
(if (<=.f64 d2 -80) (*.f64 d2 d1) (*.f64 d1 (+.f64 3 d3)))
(if (<=.f64 d3 -5174020727458855/6991919901971426075297554671307333615898862102580725715195666431228287110681861367027657291461090911970058473930419853533788296083269867358507086435928852446414275954096487329654980776728266302794199220759703429559553357814144917874843453883416576) (*.f64 d2 d1) (if (<=.f64 d3 3) (*.f64 d1 3) (*.f64 d1 d3)))
(if (<=.f64 d3 3) (*.f64 d1 3) (*.f64 d1 d3))
(*.f64 d1 3)
Compiler

Compiled 81 to 56 computations (30.9% saved)

soundness12.0ms (0.3%)

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

Useful iterations: 2 (0.0ms)

IterNodesCost
01131
11625
22419
33519
44319
54519
Stop Event
saturated
Compiler

Compiled 61 to 30 computations (50.8% saved)

end44.0ms (1%)

Remove

(sort d2 d3)

Compiler

Compiled 86 to 53 computations (38.4% saved)

Profiling

Loading profile data...