Details

Time bar (total: 6.5s)

analyze1.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%0%100%0%0%0%0
100%0%0%100%0%0%0%1
Compiler

Compiled 42 to 30 computations (28.6% saved)

sample2.8s (43.6%)

Results
2.7s8256×body256valid
Bogosity

preprocess32.0ms (0.5%)

Algorithm
egg-herbie
Rules
36×rational.json-simplify-1
16×rational.json-simplify-41
14×rational.json-simplify-2
swap-b-d
swap-b-c
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
026133
143133
250133
357133
044
144
Stop Event
unsound
saturated
Calls
Call 1
Inputs
0
1
2
3
Outputs
0
1
2
1
3
1
Call 2
Inputs
(*.f64 a (+.f64 (+.f64 b c) d))
(*.f64 b (+.f64 (+.f64 a c) d))
(*.f64 c (+.f64 (+.f64 b a) d))
(*.f64 d (+.f64 (+.f64 b c) a))
(*.f64 a (+.f64 (+.f64 c b) d))
(*.f64 a (+.f64 (+.f64 d c) b))
(*.f64 a (+.f64 (+.f64 b d) c))
Outputs
(*.f64 a (+.f64 (+.f64 b c) d))
(*.f64 a (+.f64 b (+.f64 c d)))
(*.f64 b (+.f64 (+.f64 a c) d))
(*.f64 b (+.f64 d (+.f64 a c)))
(*.f64 b (+.f64 a (+.f64 c d)))
(*.f64 c (+.f64 (+.f64 b a) d))
(*.f64 c (+.f64 d (+.f64 a b)))
(*.f64 c (+.f64 a (+.f64 b d)))
(*.f64 d (+.f64 (+.f64 b c) a))
(*.f64 d (+.f64 a (+.f64 b c)))
(*.f64 a (+.f64 (+.f64 c b) d))
(*.f64 a (+.f64 (+.f64 b c) d))
(*.f64 a (+.f64 b (+.f64 c d)))
(*.f64 a (+.f64 (+.f64 d c) b))
(*.f64 a (+.f64 (+.f64 b c) d))
(*.f64 a (+.f64 b (+.f64 c d)))
(*.f64 a (+.f64 (+.f64 b d) c))
(*.f64 a (+.f64 (+.f64 b c) d))
(*.f64 a (+.f64 b (+.f64 c d)))
Symmetry

(sort b c d)

Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify24.0ms (0.4%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
11219
21619
32019
Stop Event
saturated
Counts
1 → 2
Calls
Call 1
Inputs
(*.f64 a (+.f64 (+.f64 b c) d))
Outputs
(*.f64 a (+.f64 (+.f64 b c) d))
(*.f64 a (+.f64 b (+.f64 c d)))

eval1.0ms (0%)

Compiler

Compiled 18 to 10 computations (44.4% saved)

prune2.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 a (+.f64 (+.f64 b c) d))
Compiler

Compiled 11 to 7 computations (36.4% saved)

localize120.0ms (1.8%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 a (+.f64 (+.f64 b c) d))
Compiler

Compiled 23 to 7 computations (69.6% saved)

series6.0ms (0.1%)

Counts
1 → 48
Calls

12 calls:

TimeVariablePointExpression
1.0ms
b
@-inf
(*.f64 a (+.f64 (+.f64 b c) d))
1.0ms
a
@-inf
(*.f64 a (+.f64 (+.f64 b c) d))
1.0ms
a
@0
(*.f64 a (+.f64 (+.f64 b c) d))
1.0ms
a
@inf
(*.f64 a (+.f64 (+.f64 b c) d))
1.0ms
d
@inf
(*.f64 a (+.f64 (+.f64 b c) d))

rewrite134.0ms (2%)

Algorithm
batch-egg-rewrite
Rules
972×rational.json-simplify-2
920×rational.json-simplify-80
920×rational.json-simplify-79
560×rational.json-simplify-47
526×rational.json-simplify-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
17719
226019
398919
4395919
Stop Event
node limit
Counts
1 → 9
Calls
Call 1
Inputs
(*.f64 a (+.f64 (+.f64 b c) d))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a (+.f64 b (+.f64 c d))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 a (+.f64 b (+.f64 c d))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 a (+.f64 b (+.f64 c d))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 a (+.f64 b (+.f64 c d)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 a (+.f64 b (+.f64 c d))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a (+.f64 b (+.f64 c d))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a (+.f64 b (+.f64 c d))) (/.f64 (*.f64 a (+.f64 b (+.f64 c d))) (*.f64 a (+.f64 b (+.f64 c d)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a (+.f64 b (+.f64 c d))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 a (+.f64 b (+.f64 c d)))))))))

simplify203.0ms (3.1%)

Algorithm
egg-herbie
Rules
1028×rational.json-simplify-44
870×rational.json-simplify-111
808×rational.json-simplify-1
794×rational.json-simplify-2
660×rational.json-simplify-79
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
041993
180993
2163993
3528993
42260993
55289993
67345993
Stop Event
node limit
Counts
57 → 24
Calls
Call 1
Inputs
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 c d))
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 (+.f64 c d) a))
(+.f64 (*.f64 a b) (*.f64 (+.f64 c d) a))
(+.f64 (*.f64 a b) (*.f64 (+.f64 c d) a))
(*.f64 (+.f64 d b) a)
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 c a)
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 c a)
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 a (+.f64 c b))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a d)
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a d)
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(+.f64 (*.f64 a (+.f64 b (+.f64 c d))) 0)
(+.f64 0 (*.f64 a (+.f64 b (+.f64 c d))))
(-.f64 (*.f64 a (+.f64 b (+.f64 c d))) 0)
(-.f64 0 (neg.f64 (*.f64 a (+.f64 b (+.f64 c d)))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 a (+.f64 b (+.f64 c d))))) 1)
(/.f64 (*.f64 a (+.f64 b (+.f64 c d))) 1)
(/.f64 (*.f64 a (+.f64 b (+.f64 c d))) (/.f64 (*.f64 a (+.f64 b (+.f64 c d))) (*.f64 a (+.f64 b (+.f64 c d)))))
(pow.f64 (*.f64 a (+.f64 b (+.f64 c d))) 1)
(neg.f64 (neg.f64 (*.f64 a (+.f64 b (+.f64 c d)))))
Outputs
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 c d))
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a b)
(*.f64 b a)
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a b)
(*.f64 b a)
(+.f64 (*.f64 a b) (*.f64 (+.f64 c d) a))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 (*.f64 a b) (*.f64 (+.f64 c d) a))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 (*.f64 a b) (*.f64 (+.f64 c d) a))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 (+.f64 d b) a)
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 c a)
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 c a)
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 c b))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a d)
(*.f64 d a)
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a d)
(*.f64 d a)
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 (*.f64 a (+.f64 b (+.f64 c d))) 0)
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 0 (*.f64 a (+.f64 b (+.f64 c d))))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(-.f64 (*.f64 a (+.f64 b (+.f64 c d))) 0)
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(-.f64 0 (neg.f64 (*.f64 a (+.f64 b (+.f64 c d)))))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 a (+.f64 b (+.f64 c d))))) 1)
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(/.f64 (*.f64 a (+.f64 b (+.f64 c d))) 1)
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(/.f64 (*.f64 a (+.f64 b (+.f64 c d))) (/.f64 (*.f64 a (+.f64 b (+.f64 c d))) (*.f64 a (+.f64 b (+.f64 c d)))))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(pow.f64 (*.f64 a (+.f64 b (+.f64 c d))) 1)
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))
(neg.f64 (neg.f64 (*.f64 a (+.f64 b (+.f64 c d)))))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c (+.f64 d b)))

eval3.0ms (0%)

Compiler

Compiled 191 to 49 computations (74.3% saved)

prune6.0ms (0.1%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New21324
Fresh000
Picked011
Done000
Total21425
Error
0.0b
Counts
25 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
3.4b
(*.f64 d a)
0.0b
(*.f64 a (+.f64 (+.f64 b c) d))
0.3b
(*.f64 a (+.f64 c d))
Compiler

Compiled 40 to 26 computations (35% saved)

localize6.0ms (0.1%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 a (+.f64 c d))
Compiler

Compiled 15 to 6 computations (60% saved)

series3.0ms (0%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
1.0ms
a
@inf
(*.f64 a (+.f64 c d))
0.0ms
a
@0
(*.f64 a (+.f64 c d))
0.0ms
a
@-inf
(*.f64 a (+.f64 c d))
0.0ms
c
@inf
(*.f64 a (+.f64 c d))
0.0ms
d
@-inf
(*.f64 a (+.f64 c d))

rewrite118.0ms (1.8%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
16013
220513
376213
4301013
Stop Event
node limit
Counts
1 → 9
Calls
Call 1
Inputs
(*.f64 a (+.f64 c d))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a (+.f64 c d)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 a (+.f64 c d)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 a (+.f64 c d)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 a (+.f64 c d))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 a (+.f64 c d)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a (+.f64 c d)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a (+.f64 c d)) (/.f64 (*.f64 a (+.f64 c d)) (*.f64 a (+.f64 c d))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a (+.f64 c d)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 a (+.f64 c d))))))))

simplify175.0ms (2.7%)

Algorithm
egg-herbie
Rules
850×rational.json-simplify-111
792×rational.json-simplify-1
752×rational.json-simplify-2
732×rational.json-simplify-104
700×rational.json-simplify-42
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
029549
154549
2137549
3438549
41773549
54558549
66500549
Stop Event
node limit
Counts
45 → 15
Calls
Call 1
Inputs
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 a d)
(+.f64 (*.f64 c a) (*.f64 a d))
(+.f64 (*.f64 c a) (*.f64 a d))
(+.f64 (*.f64 c a) (*.f64 a d))
(*.f64 c a)
(+.f64 (*.f64 a d) (*.f64 c a))
(+.f64 (*.f64 a d) (*.f64 c a))
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 c a)
(+.f64 (*.f64 a d) (*.f64 c a))
(+.f64 (*.f64 a d) (*.f64 c a))
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 c a)
(+.f64 (*.f64 a d) (*.f64 c a))
(+.f64 (*.f64 a d) (*.f64 c a))
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 a d)
(+.f64 (*.f64 c a) (*.f64 a d))
(+.f64 (*.f64 c a) (*.f64 a d))
(+.f64 (*.f64 c a) (*.f64 a d))
(*.f64 a d)
(+.f64 (*.f64 c a) (*.f64 a d))
(+.f64 (*.f64 c a) (*.f64 a d))
(+.f64 (*.f64 c a) (*.f64 a d))
(+.f64 (*.f64 a (+.f64 c d)) 0)
(+.f64 0 (*.f64 a (+.f64 c d)))
(-.f64 (*.f64 a (+.f64 c d)) 0)
(-.f64 0 (neg.f64 (*.f64 a (+.f64 c d))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 a (+.f64 c d)))) 1)
(/.f64 (*.f64 a (+.f64 c d)) 1)
(/.f64 (*.f64 a (+.f64 c d)) (/.f64 (*.f64 a (+.f64 c d)) (*.f64 a (+.f64 c d))))
(pow.f64 (*.f64 a (+.f64 c d)) 1)
(neg.f64 (neg.f64 (*.f64 a (+.f64 c d))))
Outputs
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 a d)
(*.f64 d a)
(+.f64 (*.f64 c a) (*.f64 a d))
(*.f64 (+.f64 c d) a)
(+.f64 (*.f64 c a) (*.f64 a d))
(*.f64 (+.f64 c d) a)
(+.f64 (*.f64 c a) (*.f64 a d))
(*.f64 (+.f64 c d) a)
(*.f64 c a)
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 (+.f64 c d) a)
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 (+.f64 c d) a)
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 (+.f64 c d) a)
(*.f64 c a)
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 (+.f64 c d) a)
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 (+.f64 c d) a)
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 (+.f64 c d) a)
(*.f64 c a)
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 (+.f64 c d) a)
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 (+.f64 c d) a)
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 (+.f64 c d) a)
(*.f64 a d)
(*.f64 d a)
(+.f64 (*.f64 c a) (*.f64 a d))
(*.f64 (+.f64 c d) a)
(+.f64 (*.f64 c a) (*.f64 a d))
(*.f64 (+.f64 c d) a)
(+.f64 (*.f64 c a) (*.f64 a d))
(*.f64 (+.f64 c d) a)
(*.f64 a d)
(*.f64 d a)
(+.f64 (*.f64 c a) (*.f64 a d))
(*.f64 (+.f64 c d) a)
(+.f64 (*.f64 c a) (*.f64 a d))
(*.f64 (+.f64 c d) a)
(+.f64 (*.f64 c a) (*.f64 a d))
(*.f64 (+.f64 c d) a)
(+.f64 (*.f64 a (+.f64 c d)) 0)
(*.f64 (+.f64 c d) a)
(+.f64 0 (*.f64 a (+.f64 c d)))
(*.f64 (+.f64 c d) a)
(-.f64 (*.f64 a (+.f64 c d)) 0)
(*.f64 (+.f64 c d) a)
(-.f64 0 (neg.f64 (*.f64 a (+.f64 c d))))
(*.f64 (+.f64 c d) a)
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 a (+.f64 c d)))) 1)
(*.f64 (+.f64 c d) a)
(/.f64 (*.f64 a (+.f64 c d)) 1)
(*.f64 (+.f64 c d) a)
(/.f64 (*.f64 a (+.f64 c d)) (/.f64 (*.f64 a (+.f64 c d)) (*.f64 a (+.f64 c d))))
(*.f64 (+.f64 c d) a)
(pow.f64 (*.f64 a (+.f64 c d)) 1)
(*.f64 (+.f64 c d) a)
(neg.f64 (neg.f64 (*.f64 a (+.f64 c d))))
(*.f64 (+.f64 c d) a)

localize4.0ms (0.1%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

localize10.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 a (+.f64 c b))
0.0b
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
Compiler

Compiled 28 to 8 computations (71.4% saved)

series8.0ms (0.1%)

Counts
2 → 63
Calls

21 calls:

TimeVariablePointExpression
3.0ms
c
@0
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
1.0ms
a
@inf
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
1.0ms
a
@-inf
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
1.0ms
a
@0
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
0.0ms
c
@inf
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))

rewrite117.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
720×rational.json-simplify-54
696×rational.json-simplify-47
572×rational.json-simplify-50
546×rational.json-simplify-49
518×rational.json-5
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01038
18632
228632
3109432
4444032
Stop Event
node limit
Counts
2 → 36
Calls
Call 1
Inputs
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a (+.f64 c b))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 a (+.f64 c b)) (neg.f64 (*.f64 a d)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 a d) (neg.f64 (*.f64 a (+.f64 c b))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 a (+.f64 c (+.f64 b d))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 a (+.f64 c (+.f64 b d)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 a d))) (-.f64 1 (*.f64 a (+.f64 c b))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 a (+.f64 c b)))) (-.f64 1 (*.f64 a d)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 a (+.f64 c (+.f64 b d))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 a d) (-.f64 -1 (*.f64 a (+.f64 c b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (*.f64 a (+.f64 c b)) (-.f64 -1 (*.f64 a d))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a (+.f64 c (+.f64 b d)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a (+.f64 c (+.f64 b d))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a (+.f64 c (+.f64 b d))) (/.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 a (+.f64 c (+.f64 b d)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 a (+.f64 c (+.f64 b d))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 a (+.f64 c (+.f64 b d)))) (*.f64 a (+.f64 c (+.f64 b d))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 c (+.f64 b d)) a)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a a) (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))) (/.f64 1 (*.f64 a (+.f64 c (+.f64 b d)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))) (*.f64 (/.f64 1 (*.f64 a (+.f64 c (+.f64 b d)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))) (/.f64 (/.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 a (+.f64 c (+.f64 b d)))) (*.f64 a (+.f64 c (+.f64 b d)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 a (+.f64 c (+.f64 b d)))) (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))) (/.f64 (/.f64 1 (*.f64 a (+.f64 c (+.f64 b d)))) (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))) (/.f64 (*.f64 (/.f64 1 (*.f64 a (+.f64 c (+.f64 b d)))) 1) (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))) (*.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))) (/.f64 (/.f64 (/.f64 1 (*.f64 a (+.f64 c (+.f64 b d)))) (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))) (*.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a (+.f64 c (+.f64 b d))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a (+.f64 c (+.f64 b d))) (/.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 a (+.f64 c (+.f64 b d)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a (+.f64 c (+.f64 b d))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 a (+.f64 c (+.f64 b d)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a (+.f64 c b)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 a (+.f64 c b)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 a (+.f64 c b)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 a (+.f64 c b))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 a (+.f64 c b)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a (+.f64 c b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a (+.f64 c b)) (/.f64 (*.f64 a (+.f64 c b)) (*.f64 a (+.f64 c b))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a (+.f64 c b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 a (+.f64 c b))))))))

simplify184.0ms (2.8%)

Algorithm
egg-herbie
Rules
1112×rational.json-simplify-2
952×rational.json-simplify-47
866×rational.json-simplify-41
866×rational.json-simplify-44
846×rational.json-simplify-55
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0971563
12221557
25731557
321021557
470471557
Stop Event
node limit
Counts
99 → 53
Calls
Call 1
Inputs
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 (+.f64 c b)) (*.f64 -1 d))))
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 (+.f64 c b)) (*.f64 -1 d))))
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 (+.f64 c b)) (*.f64 -1 d))))
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 (+.f64 c b)) (*.f64 -1 d))))
(+.f64 (*.f64 a b) (*.f64 a d))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c a) (*.f64 a d)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c a) (*.f64 a d)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c a) (*.f64 a d)))
(*.f64 c a)
(+.f64 (*.f64 a b) (+.f64 (*.f64 a d) (*.f64 c a)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 a d) (*.f64 c a)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 a d) (*.f64 c a)))
(*.f64 c a)
(+.f64 (*.f64 a b) (+.f64 (*.f64 a d) (*.f64 c a)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 a d) (*.f64 c a)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 a d) (*.f64 c a)))
(+.f64 (*.f64 c a) (*.f64 a d))
(+.f64 (*.f64 a b) (+.f64 (*.f64 a d) (*.f64 c a)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 a d) (*.f64 c a)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 a d) (*.f64 c a)))
(*.f64 a b)
(+.f64 (*.f64 a b) (+.f64 (*.f64 a d) (*.f64 c a)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 a d) (*.f64 c a)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 a d) (*.f64 c a)))
(*.f64 a b)
(+.f64 (*.f64 a b) (+.f64 (*.f64 a d) (*.f64 c a)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 a d) (*.f64 c a)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 a d) (*.f64 c a)))
(*.f64 a (+.f64 c b))
(*.f64 a d)
(*.f64 a d)
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 c a))
(+.f64 (*.f64 a b) (*.f64 c a))
(+.f64 (*.f64 a b) (*.f64 c a))
(*.f64 c a)
(+.f64 (*.f64 a b) (*.f64 c a))
(+.f64 (*.f64 a b) (*.f64 c a))
(+.f64 (*.f64 a b) (*.f64 c a))
(*.f64 c a)
(+.f64 (*.f64 a b) (*.f64 c a))
(+.f64 (*.f64 a b) (*.f64 c a))
(+.f64 (*.f64 a b) (*.f64 c a))
(*.f64 c a)
(+.f64 (*.f64 a b) (*.f64 c a))
(+.f64 (*.f64 a b) (*.f64 c a))
(+.f64 (*.f64 a b) (*.f64 c a))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 c a))
(+.f64 (*.f64 a b) (*.f64 c a))
(+.f64 (*.f64 a b) (*.f64 c a))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 c a))
(+.f64 (*.f64 a b) (*.f64 c a))
(+.f64 (*.f64 a b) (*.f64 c a))
(-.f64 (*.f64 a (+.f64 c b)) (neg.f64 (*.f64 a d)))
(-.f64 (*.f64 a d) (neg.f64 (*.f64 a (+.f64 c b))))
(-.f64 (*.f64 a (+.f64 c (+.f64 b d))) 0)
(-.f64 0 (neg.f64 (*.f64 a (+.f64 c (+.f64 b d)))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 a d))) (-.f64 1 (*.f64 a (+.f64 c b))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 a (+.f64 c b)))) (-.f64 1 (*.f64 a d)))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 a (+.f64 c (+.f64 b d))))) 1)
(-.f64 (-.f64 (*.f64 a d) (-.f64 -1 (*.f64 a (+.f64 c b)))) 1)
(-.f64 (-.f64 (*.f64 a (+.f64 c b)) (-.f64 -1 (*.f64 a d))) 1)
(*.f64 a (+.f64 c (+.f64 b d)))
(*.f64 (*.f64 a (+.f64 c (+.f64 b d))) 1)
(*.f64 (*.f64 a (+.f64 c (+.f64 b d))) (/.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 a (+.f64 c (+.f64 b d)))))
(*.f64 1 (*.f64 a (+.f64 c (+.f64 b d))))
(*.f64 (/.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 a (+.f64 c (+.f64 b d)))) (*.f64 a (+.f64 c (+.f64 b d))))
(*.f64 (+.f64 c (+.f64 b d)) a)
(*.f64 (*.f64 a a) (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)))
(*.f64 (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))) (/.f64 1 (*.f64 a (+.f64 c (+.f64 b d)))))
(*.f64 (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))) (*.f64 (/.f64 1 (*.f64 a (+.f64 c (+.f64 b d)))) 1))
(*.f64 (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))) (/.f64 (/.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 a (+.f64 c (+.f64 b d)))) (*.f64 a (+.f64 c (+.f64 b d)))))
(*.f64 (/.f64 1 (*.f64 a (+.f64 c (+.f64 b d)))) (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))
(*.f64 (*.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))) (/.f64 (/.f64 1 (*.f64 a (+.f64 c (+.f64 b d)))) (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))
(*.f64 (*.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))) (/.f64 (*.f64 (/.f64 1 (*.f64 a (+.f64 c (+.f64 b d)))) 1) (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))
(*.f64 (*.f64 (*.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))) (*.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))) (/.f64 (/.f64 (/.f64 1 (*.f64 a (+.f64 c (+.f64 b d)))) (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))) (*.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))))
(/.f64 (*.f64 a (+.f64 c (+.f64 b d))) 1)
(/.f64 (*.f64 a (+.f64 c (+.f64 b d))) (/.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 a (+.f64 c (+.f64 b d)))))
(pow.f64 (*.f64 a (+.f64 c (+.f64 b d))) 1)
(neg.f64 (neg.f64 (*.f64 a (+.f64 c (+.f64 b d)))))
(+.f64 (*.f64 a (+.f64 c b)) 0)
(+.f64 0 (*.f64 a (+.f64 c b)))
(-.f64 (*.f64 a (+.f64 c b)) 0)
(-.f64 0 (neg.f64 (*.f64 a (+.f64 c b))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 a (+.f64 c b)))) 1)
(/.f64 (*.f64 a (+.f64 c b)) 1)
(/.f64 (*.f64 a (+.f64 c b)) (/.f64 (*.f64 a (+.f64 c b)) (*.f64 a (+.f64 c b))))
(pow.f64 (*.f64 a (+.f64 c b)) 1)
(neg.f64 (neg.f64 (*.f64 a (+.f64 c b))))
Outputs
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 (+.f64 c b)) (*.f64 -1 d))))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 (+.f64 c b)) (*.f64 -1 d))))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 (+.f64 c b)) (*.f64 -1 d))))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 -1 (*.f64 a (+.f64 (*.f64 -1 (+.f64 c b)) (*.f64 -1 d))))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 (*.f64 a b) (*.f64 a d))
(+.f64 (*.f64 b a) (*.f64 d a))
(*.f64 a (+.f64 d b))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c a) (*.f64 a d)))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c a) (*.f64 a d)))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 c a) (*.f64 a d)))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 c a)
(+.f64 (*.f64 a b) (+.f64 (*.f64 a d) (*.f64 c a)))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 a d) (*.f64 c a)))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 a d) (*.f64 c a)))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 c a)
(+.f64 (*.f64 a b) (+.f64 (*.f64 a d) (*.f64 c a)))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 a d) (*.f64 c a)))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 a d) (*.f64 c a)))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 (*.f64 c a) (*.f64 a d))
(*.f64 a (+.f64 c d))
(+.f64 (*.f64 a b) (+.f64 (*.f64 a d) (*.f64 c a)))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 a d) (*.f64 c a)))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 a d) (*.f64 c a)))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a b)
(*.f64 b a)
(+.f64 (*.f64 a b) (+.f64 (*.f64 a d) (*.f64 c a)))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 a d) (*.f64 c a)))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 a d) (*.f64 c a)))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a b)
(*.f64 b a)
(+.f64 (*.f64 a b) (+.f64 (*.f64 a d) (*.f64 c a)))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 a d) (*.f64 c a)))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 (*.f64 a b) (+.f64 (*.f64 a d) (*.f64 c a)))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 c b))
(*.f64 a d)
(*.f64 d a)
(*.f64 a d)
(*.f64 d a)
(*.f64 a b)
(*.f64 b a)
(+.f64 (*.f64 a b) (*.f64 c a))
(*.f64 a (+.f64 c b))
(+.f64 (*.f64 a b) (*.f64 c a))
(*.f64 a (+.f64 c b))
(+.f64 (*.f64 a b) (*.f64 c a))
(*.f64 a (+.f64 c b))
(*.f64 c a)
(+.f64 (*.f64 a b) (*.f64 c a))
(*.f64 a (+.f64 c b))
(+.f64 (*.f64 a b) (*.f64 c a))
(*.f64 a (+.f64 c b))
(+.f64 (*.f64 a b) (*.f64 c a))
(*.f64 a (+.f64 c b))
(*.f64 c a)
(+.f64 (*.f64 a b) (*.f64 c a))
(*.f64 a (+.f64 c b))
(+.f64 (*.f64 a b) (*.f64 c a))
(*.f64 a (+.f64 c b))
(+.f64 (*.f64 a b) (*.f64 c a))
(*.f64 a (+.f64 c b))
(*.f64 c a)
(+.f64 (*.f64 a b) (*.f64 c a))
(*.f64 a (+.f64 c b))
(+.f64 (*.f64 a b) (*.f64 c a))
(*.f64 a (+.f64 c b))
(+.f64 (*.f64 a b) (*.f64 c a))
(*.f64 a (+.f64 c b))
(*.f64 a b)
(*.f64 b a)
(+.f64 (*.f64 a b) (*.f64 c a))
(*.f64 a (+.f64 c b))
(+.f64 (*.f64 a b) (*.f64 c a))
(*.f64 a (+.f64 c b))
(+.f64 (*.f64 a b) (*.f64 c a))
(*.f64 a (+.f64 c b))
(*.f64 a b)
(*.f64 b a)
(+.f64 (*.f64 a b) (*.f64 c a))
(*.f64 a (+.f64 c b))
(+.f64 (*.f64 a b) (*.f64 c a))
(*.f64 a (+.f64 c b))
(+.f64 (*.f64 a b) (*.f64 c a))
(*.f64 a (+.f64 c b))
(-.f64 (*.f64 a (+.f64 c b)) (neg.f64 (*.f64 a d)))
(*.f64 a (+.f64 c (+.f64 d b)))
(-.f64 (*.f64 a d) (neg.f64 (*.f64 a (+.f64 c b))))
(*.f64 a (+.f64 c (+.f64 d b)))
(-.f64 (*.f64 a (+.f64 c (+.f64 b d))) 0)
(*.f64 a (+.f64 c (+.f64 d b)))
(-.f64 0 (neg.f64 (*.f64 a (+.f64 c (+.f64 b d)))))
(*.f64 a (+.f64 c (+.f64 d b)))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 a d))) (-.f64 1 (*.f64 a (+.f64 c b))))
(*.f64 a (+.f64 c (+.f64 d b)))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 a (+.f64 c b)))) (-.f64 1 (*.f64 a d)))
(*.f64 a (+.f64 c (+.f64 d b)))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 a (+.f64 c (+.f64 b d))))) 1)
(*.f64 a (+.f64 c (+.f64 d b)))
(-.f64 (-.f64 (*.f64 a d) (-.f64 -1 (*.f64 a (+.f64 c b)))) 1)
(*.f64 a (+.f64 c (+.f64 d b)))
(-.f64 (-.f64 (*.f64 a (+.f64 c b)) (-.f64 -1 (*.f64 a d))) 1)
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 c (+.f64 b d)))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 (*.f64 a (+.f64 c (+.f64 b d))) 1)
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 (*.f64 a (+.f64 c (+.f64 b d))) (/.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 a (+.f64 c (+.f64 b d)))))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 1 (*.f64 a (+.f64 c (+.f64 b d))))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 (/.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 a (+.f64 c (+.f64 b d)))) (*.f64 a (+.f64 c (+.f64 b d))))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 (+.f64 c (+.f64 b d)) a)
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 (*.f64 a a) (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))) (/.f64 1 (*.f64 a (+.f64 c (+.f64 b d)))))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))) (*.f64 (/.f64 1 (*.f64 a (+.f64 c (+.f64 b d)))) 1))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))) (/.f64 (/.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 a (+.f64 c (+.f64 b d)))) (*.f64 a (+.f64 c (+.f64 b d)))))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 (/.f64 1 (*.f64 a (+.f64 c (+.f64 b d)))) (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 (*.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))) (/.f64 (/.f64 1 (*.f64 a (+.f64 c (+.f64 b d)))) (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 (*.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))) (/.f64 (*.f64 (/.f64 1 (*.f64 a (+.f64 c (+.f64 b d)))) 1) (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 (*.f64 (*.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))) (*.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))) (/.f64 (/.f64 (/.f64 1 (*.f64 a (+.f64 c (+.f64 b d)))) (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))) (*.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 a (*.f64 a (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))))
(*.f64 a (+.f64 c (+.f64 d b)))
(/.f64 (*.f64 a (+.f64 c (+.f64 b d))) 1)
(*.f64 a (+.f64 c (+.f64 d b)))
(/.f64 (*.f64 a (+.f64 c (+.f64 b d))) (/.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 a (+.f64 c (+.f64 b d)))))
(*.f64 a (+.f64 c (+.f64 d b)))
(pow.f64 (*.f64 a (+.f64 c (+.f64 b d))) 1)
(*.f64 a (+.f64 c (+.f64 d b)))
(neg.f64 (neg.f64 (*.f64 a (+.f64 c (+.f64 b d)))))
(*.f64 a (+.f64 c (+.f64 d b)))
(+.f64 (*.f64 a (+.f64 c b)) 0)
(*.f64 a (+.f64 c b))
(+.f64 0 (*.f64 a (+.f64 c b)))
(*.f64 a (+.f64 c b))
(-.f64 (*.f64 a (+.f64 c b)) 0)
(*.f64 a (+.f64 c b))
(-.f64 0 (neg.f64 (*.f64 a (+.f64 c b))))
(*.f64 a (+.f64 c b))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 a (+.f64 c b)))) 1)
(*.f64 a (+.f64 c b))
(/.f64 (*.f64 a (+.f64 c b)) 1)
(*.f64 a (+.f64 c b))
(/.f64 (*.f64 a (+.f64 c b)) (/.f64 (*.f64 a (+.f64 c b)) (*.f64 a (+.f64 c b))))
(*.f64 a (+.f64 c b))
(pow.f64 (*.f64 a (+.f64 c b)) 1)
(*.f64 a (+.f64 c b))
(neg.f64 (neg.f64 (*.f64 a (+.f64 c b))))
(*.f64 a (+.f64 c b))

eval10.0ms (0.2%)

Compiler

Compiled 937 to 182 computations (80.6% saved)

prune12.0ms (0.2%)

Pruning

6 alts after pruning (2 fresh and 4 done)

PrunedKeptTotal
New66268
Fresh000
Picked011
Done033
Total66672
Error
0.0b
Counts
72 → 6
Alt Table
Click to see full alt table
StatusErrorProgram
0.3b
(+.f64 (*.f64 c a) (*.f64 a d))
0.0b
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
0.4b
(*.f64 (*.f64 a a) (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)))
3.4b
(*.f64 d a)
0.0b
(*.f64 a (+.f64 (+.f64 b c) d))
0.3b
(*.f64 a (+.f64 c d))
Compiler

Compiled 68 to 44 computations (35.3% saved)

localize15.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 c (+.f64 b d))
0.3b
(*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a))
0.4b
(*.f64 (*.f64 a a) (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)))
Compiler

Compiled 45 to 17 computations (62.2% saved)

series7.0ms (0.1%)

Counts
3 → 132
Calls

33 calls:

TimeVariablePointExpression
2.0ms
c
@0
(*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a))
0.0ms
d
@inf
(*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a))
0.0ms
a
@-inf
(*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a))
0.0ms
c
@-inf
(*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a))
0.0ms
c
@inf
(*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a))

rewrite208.0ms (3.2%)

Algorithm
batch-egg-rewrite
Rules
1282×rational.json-simplify-49
1178×rational.json-simplify-47
726×rational.json-simplify-1
696×rational.json-simplify-55
688×rational.json-5
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01375
111575
238057
3147657
4630257
Stop Event
node limit
Counts
3 → 48
Calls
Call 1
Inputs
(*.f64 (*.f64 a a) (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)))
(*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a))
(+.f64 c (+.f64 b d))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a (+.f64 c (+.f64 b d))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 a (+.f64 c (+.f64 b d))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 a (+.f64 c (+.f64 b d))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 a (+.f64 c (+.f64 b d)))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 a (+.f64 c (+.f64 b d))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a (+.f64 c (+.f64 b d))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a (+.f64 c (+.f64 b d))) (/.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 a (+.f64 c (+.f64 b d)))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a (+.f64 c (+.f64 b d))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 a (+.f64 c (+.f64 b d)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 c (-.f64 (neg.f64 d) b))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 b (-.f64 (neg.f64 c) d))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 d (-.f64 (neg.f64 c) b))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 b d) (neg.f64 c))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 c (+.f64 b d)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (neg.f64 c) (+.f64 b d)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 c d) (neg.f64 b))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 c b) (neg.f64 d))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 c)) (-.f64 1 (+.f64 b d)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (+.f64 c d) (-.f64 -1 b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (+.f64 b d) (-.f64 -1 c)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 (+.f64 c b) (-.f64 -1 d)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 (-.f64 -1 d) b)) (-.f64 1 c))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 d)) (-.f64 1 (+.f64 c b)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 b)) (-.f64 1 (+.f64 c d)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 (-.f64 (-.f64 -1 d) b) c)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 c (-.f64 (-.f64 -1 d) b)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 c (-.f64 -1 d)) (-.f64 1 b))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 c (-.f64 -1 b)) (-.f64 1 d))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 c (+.f64 b d)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 c (+.f64 b d)) (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 c (+.f64 b d)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (/.f64 1 (+.f64 c (+.f64 b d))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (*.f64 (/.f64 1 (+.f64 c (+.f64 b d))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (+.f64 c (+.f64 b d))) (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))) (/.f64 (/.f64 1 (+.f64 c (+.f64 b d))) (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 c (+.f64 b d)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 c (+.f64 b d)) (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 c (+.f64 b d)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (neg.f64 c) (+.f64 b d)))))))

simplify274.0ms (4.2%)

Algorithm
egg-herbie
Rules
1276×rational.json-simplify-54
1154×rational.json-simplify-50
1088×rational.json-simplify-43
872×rational.json-simplify-41
614×exponential.json-simplify-26
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01313132
13223132
27963132
329113132
476103132
Stop Event
node limit
Counts
180 → 83
Calls
Call 1
Inputs
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 d b) a)
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 c a)
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 c a)
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 a (+.f64 c d))
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 (+.f64 c d) a))
(+.f64 (*.f64 a b) (*.f64 (+.f64 c d) a))
(+.f64 (*.f64 a b) (*.f64 (+.f64 c d) a))
(*.f64 a (+.f64 c b))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a d)
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a d)
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(/.f64 (+.f64 d b) a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 c a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 c a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 (+.f64 c d) a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 b a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 b a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 (+.f64 c b) a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 d a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 d a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(+.f64 d b)
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
c
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
c
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
(+.f64 c d)
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
b
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
b
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
(+.f64 c b)
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
d
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
d
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
(+.f64 (*.f64 a (+.f64 c (+.f64 b d))) 0)
(+.f64 0 (*.f64 a (+.f64 c (+.f64 b d))))
(-.f64 (*.f64 a (+.f64 c (+.f64 b d))) 0)
(-.f64 0 (neg.f64 (*.f64 a (+.f64 c (+.f64 b d)))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 a (+.f64 c (+.f64 b d))))) 1)
(/.f64 (*.f64 a (+.f64 c (+.f64 b d))) 1)
(/.f64 (*.f64 a (+.f64 c (+.f64 b d))) (/.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 a (+.f64 c (+.f64 b d)))))
(pow.f64 (*.f64 a (+.f64 c (+.f64 b d))) 1)
(neg.f64 (neg.f64 (*.f64 a (+.f64 c (+.f64 b d)))))
(+.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) 0)
(+.f64 0 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)))
(-.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) 0)
(-.f64 0 (neg.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)))) 1)
(/.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) 1)
(/.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a))))
(pow.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) 1)
(neg.f64 (neg.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a))))
(-.f64 c (-.f64 (neg.f64 d) b))
(-.f64 b (-.f64 (neg.f64 c) d))
(-.f64 d (-.f64 (neg.f64 c) b))
(-.f64 (+.f64 b d) (neg.f64 c))
(-.f64 (+.f64 c (+.f64 b d)) 0)
(-.f64 0 (-.f64 (neg.f64 c) (+.f64 b d)))
(-.f64 (+.f64 c d) (neg.f64 b))
(-.f64 (+.f64 c b) (neg.f64 d))
(-.f64 (-.f64 0 (-.f64 -1 c)) (-.f64 1 (+.f64 b d)))
(-.f64 (-.f64 (+.f64 c d) (-.f64 -1 b)) 1)
(-.f64 (-.f64 (+.f64 b d) (-.f64 -1 c)) 1)
(-.f64 (-.f64 (+.f64 c b) (-.f64 -1 d)) 1)
(-.f64 (-.f64 0 (-.f64 (-.f64 -1 d) b)) (-.f64 1 c))
(-.f64 (-.f64 0 (-.f64 -1 d)) (-.f64 1 (+.f64 c b)))
(-.f64 (-.f64 0 (-.f64 -1 b)) (-.f64 1 (+.f64 c d)))
(-.f64 (-.f64 0 (-.f64 (-.f64 (-.f64 -1 d) b) c)) 1)
(-.f64 (-.f64 c (-.f64 (-.f64 -1 d) b)) 1)
(-.f64 (-.f64 c (-.f64 -1 d)) (-.f64 1 b))
(-.f64 (-.f64 c (-.f64 -1 b)) (-.f64 1 d))
(*.f64 (+.f64 c (+.f64 b d)) 1)
(*.f64 (+.f64 c (+.f64 b d)) (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))
(*.f64 1 (+.f64 c (+.f64 b d)))
(*.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (/.f64 1 (+.f64 c (+.f64 b d))))
(*.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (*.f64 (/.f64 1 (+.f64 c (+.f64 b d))) 1))
(*.f64 (/.f64 1 (+.f64 c (+.f64 b d))) (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))
(*.f64 (*.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))) (/.f64 (/.f64 1 (+.f64 c (+.f64 b d))) (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))
(/.f64 (+.f64 c (+.f64 b d)) 1)
(/.f64 (+.f64 c (+.f64 b d)) (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))
(pow.f64 (+.f64 c (+.f64 b d)) 1)
(neg.f64 (-.f64 (neg.f64 c) (+.f64 b d)))
Outputs
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 (+.f64 d b) a)
(*.f64 a (+.f64 d b))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 c a)
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 c a)
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c d))
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a b)
(*.f64 b a)
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a b)
(*.f64 b a)
(+.f64 (*.f64 a b) (*.f64 (+.f64 c d) a))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(+.f64 (*.f64 a b) (*.f64 (+.f64 c d) a))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(+.f64 (*.f64 a b) (*.f64 (+.f64 c d) a))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a (+.f64 c b))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a d)
(*.f64 d a)
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(*.f64 a d)
(*.f64 d a)
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(/.f64 (+.f64 d b) a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 c a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 c a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 (+.f64 c d) a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 b a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 b a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 (+.f64 c b) a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 d a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 d a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 d (+.f64 c b)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 d (+.f64 c b)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 d (+.f64 c b)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 d (+.f64 c b)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 d (+.f64 c b)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 d (+.f64 c b)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 d (+.f64 c b)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 d (+.f64 c b)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 d (+.f64 c b)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 d (+.f64 c b)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 d (+.f64 c b)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 d (+.f64 c b)) a)
(+.f64 d b)
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
c
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
c
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(+.f64 c d)
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
b
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
b
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(+.f64 c b)
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
d
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
d
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(+.f64 (*.f64 a (+.f64 c (+.f64 b d))) 0)
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(+.f64 0 (*.f64 a (+.f64 c (+.f64 b d))))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(-.f64 (*.f64 a (+.f64 c (+.f64 b d))) 0)
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(-.f64 0 (neg.f64 (*.f64 a (+.f64 c (+.f64 b d)))))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 a (+.f64 c (+.f64 b d))))) 1)
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(/.f64 (*.f64 a (+.f64 c (+.f64 b d))) 1)
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(/.f64 (*.f64 a (+.f64 c (+.f64 b d))) (/.f64 (*.f64 a (+.f64 c (+.f64 b d))) (*.f64 a (+.f64 c (+.f64 b d)))))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(pow.f64 (*.f64 a (+.f64 c (+.f64 b d))) 1)
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(neg.f64 (neg.f64 (*.f64 a (+.f64 c (+.f64 b d)))))
(*.f64 a (+.f64 c (+.f64 d b)))
(*.f64 a (+.f64 d (+.f64 c b)))
(+.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) 0)
(*.f64 (+.f64 c (+.f64 d b)) (/.f64 1 a))
(*.f64 (+.f64 d (+.f64 c b)) (/.f64 1 a))
(+.f64 0 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)))
(*.f64 (+.f64 c (+.f64 d b)) (/.f64 1 a))
(*.f64 (+.f64 d (+.f64 c b)) (/.f64 1 a))
(-.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) 0)
(*.f64 (+.f64 c (+.f64 d b)) (/.f64 1 a))
(*.f64 (+.f64 d (+.f64 c b)) (/.f64 1 a))
(-.f64 0 (neg.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a))))
(*.f64 (+.f64 c (+.f64 d b)) (/.f64 1 a))
(*.f64 (+.f64 d (+.f64 c b)) (/.f64 1 a))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)))) 1)
(*.f64 (+.f64 c (+.f64 d b)) (/.f64 1 a))
(*.f64 (+.f64 d (+.f64 c b)) (/.f64 1 a))
(/.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) 1)
(*.f64 (+.f64 c (+.f64 d b)) (/.f64 1 a))
(*.f64 (+.f64 d (+.f64 c b)) (/.f64 1 a))
(/.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a))))
(*.f64 (+.f64 c (+.f64 d b)) (/.f64 1 a))
(*.f64 (+.f64 d (+.f64 c b)) (/.f64 1 a))
(pow.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) 1)
(*.f64 (+.f64 c (+.f64 d b)) (/.f64 1 a))
(*.f64 (+.f64 d (+.f64 c b)) (/.f64 1 a))
(neg.f64 (neg.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a))))
(*.f64 (+.f64 c (+.f64 d b)) (/.f64 1 a))
(*.f64 (+.f64 d (+.f64 c b)) (/.f64 1 a))
(-.f64 c (-.f64 (neg.f64 d) b))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(-.f64 b (-.f64 (neg.f64 c) d))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(-.f64 d (-.f64 (neg.f64 c) b))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(-.f64 (+.f64 b d) (neg.f64 c))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(-.f64 (+.f64 c (+.f64 b d)) 0)
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(-.f64 0 (-.f64 (neg.f64 c) (+.f64 b d)))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(-.f64 (+.f64 c d) (neg.f64 b))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(-.f64 (+.f64 c b) (neg.f64 d))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(-.f64 (-.f64 0 (-.f64 -1 c)) (-.f64 1 (+.f64 b d)))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(-.f64 (-.f64 (+.f64 c d) (-.f64 -1 b)) 1)
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(-.f64 (-.f64 (+.f64 b d) (-.f64 -1 c)) 1)
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(-.f64 (-.f64 (+.f64 c b) (-.f64 -1 d)) 1)
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(-.f64 (-.f64 0 (-.f64 (-.f64 -1 d) b)) (-.f64 1 c))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(-.f64 (-.f64 0 (-.f64 -1 d)) (-.f64 1 (+.f64 c b)))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(-.f64 (-.f64 0 (-.f64 -1 b)) (-.f64 1 (+.f64 c d)))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(-.f64 (-.f64 0 (-.f64 (-.f64 (-.f64 -1 d) b) c)) 1)
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(-.f64 (-.f64 c (-.f64 (-.f64 -1 d) b)) 1)
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(-.f64 (-.f64 c (-.f64 -1 d)) (-.f64 1 b))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(-.f64 (-.f64 c (-.f64 -1 b)) (-.f64 1 d))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(*.f64 (+.f64 c (+.f64 b d)) 1)
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(*.f64 (+.f64 c (+.f64 b d)) (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(*.f64 1 (+.f64 c (+.f64 b d)))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(*.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (/.f64 1 (+.f64 c (+.f64 b d))))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(*.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (*.f64 (/.f64 1 (+.f64 c (+.f64 b d))) 1))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(*.f64 (/.f64 1 (+.f64 c (+.f64 b d))) (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(*.f64 (*.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))) (/.f64 (/.f64 1 (+.f64 c (+.f64 b d))) (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(/.f64 (+.f64 c (+.f64 b d)) 1)
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(/.f64 (+.f64 c (+.f64 b d)) (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(pow.f64 (+.f64 c (+.f64 b d)) 1)
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))
(neg.f64 (-.f64 (neg.f64 c) (+.f64 b d)))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 c b))

localize13.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 c a) (*.f64 a d))
Compiler

Compiled 20 to 7 computations (65% saved)

series3.0ms (0%)

Counts
1 → 27
Calls

9 calls:

TimeVariablePointExpression
1.0ms
a
@-inf
(+.f64 (*.f64 c a) (*.f64 a d))
0.0ms
a
@0
(+.f64 (*.f64 c a) (*.f64 a d))
0.0ms
c
@0
(+.f64 (*.f64 c a) (*.f64 a d))
0.0ms
c
@inf
(+.f64 (*.f64 c a) (*.f64 a d))
0.0ms
d
@0
(+.f64 (*.f64 c a) (*.f64 a d))

rewrite104.0ms (1.6%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
0819
16913
223513
389313
4361613
Stop Event
node limit
Counts
1 → 14
Calls
Call 1
Inputs
(+.f64 (*.f64 c a) (*.f64 a d))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 a (+.f64 c d)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 a (+.f64 c d))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a (+.f64 c d)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a (+.f64 c d)) (/.f64 (*.f64 a (+.f64 c d)) (*.f64 a (+.f64 c d))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 a (+.f64 c d)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 c d) a)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a a) (*.f64 (/.f64 1 a) (+.f64 c d)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a (*.f64 a (*.f64 (+.f64 c d) (+.f64 c d)))) (/.f64 1 (*.f64 a (+.f64 c d))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 a (*.f64 a (*.f64 (+.f64 c d) (+.f64 c d)))) (*.f64 (/.f64 1 (*.f64 a (+.f64 c d))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 1 (*.f64 a (+.f64 c d))) (*.f64 a (*.f64 a (*.f64 (+.f64 c d) (+.f64 c d)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 a (*.f64 a (*.f64 (+.f64 c d) (+.f64 c d)))) (*.f64 a (*.f64 a (*.f64 (+.f64 c d) (+.f64 c d))))) (/.f64 (/.f64 1 (*.f64 a (+.f64 c d))) (*.f64 a (*.f64 a (*.f64 (+.f64 c d) (+.f64 c d))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a (+.f64 c d)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a (+.f64 c d)) (/.f64 (*.f64 a (+.f64 c d)) (*.f64 a (+.f64 c d))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a (+.f64 c d)) 1)))))

simplify219.0ms (3.4%)

Algorithm
egg-herbie
Rules
1836×rational.json-simplify-104
1226×rational.json-simplify-111
762×rational.json-simplify-1
664×rational.json-simplify-50
664×rational.json-simplify-76
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
042497
188497
2233497
3812497
43086497
56102497
Stop Event
node limit
Counts
41 → 20
Calls
Call 1
Inputs
(*.f64 a d)
(*.f64 c a)
(+.f64 (*.f64 a d) (*.f64 c a))
(+.f64 (*.f64 a d) (*.f64 c a))
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 c a)
(+.f64 (*.f64 a d) (*.f64 c a))
(+.f64 (*.f64 a d) (*.f64 c a))
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 c) (*.f64 -1 d)) a))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 c) (*.f64 -1 d)) a))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 c) (*.f64 -1 d)) a))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 c) (*.f64 -1 d)) a))
(*.f64 c a)
(+.f64 (*.f64 a d) (*.f64 c a))
(+.f64 (*.f64 a d) (*.f64 c a))
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 a d)
(*.f64 a d)
(-.f64 (*.f64 a (+.f64 c d)) 0)
(*.f64 a (+.f64 c d))
(*.f64 (*.f64 a (+.f64 c d)) 1)
(*.f64 (*.f64 a (+.f64 c d)) (/.f64 (*.f64 a (+.f64 c d)) (*.f64 a (+.f64 c d))))
(*.f64 1 (*.f64 a (+.f64 c d)))
(*.f64 (+.f64 c d) a)
(*.f64 (*.f64 a a) (*.f64 (/.f64 1 a) (+.f64 c d)))
(*.f64 (*.f64 a (*.f64 a (*.f64 (+.f64 c d) (+.f64 c d)))) (/.f64 1 (*.f64 a (+.f64 c d))))
(*.f64 (*.f64 a (*.f64 a (*.f64 (+.f64 c d) (+.f64 c d)))) (*.f64 (/.f64 1 (*.f64 a (+.f64 c d))) 1))
(*.f64 (/.f64 1 (*.f64 a (+.f64 c d))) (*.f64 a (*.f64 a (*.f64 (+.f64 c d) (+.f64 c d)))))
(*.f64 (*.f64 (*.f64 a (*.f64 a (*.f64 (+.f64 c d) (+.f64 c d)))) (*.f64 a (*.f64 a (*.f64 (+.f64 c d) (+.f64 c d))))) (/.f64 (/.f64 1 (*.f64 a (+.f64 c d))) (*.f64 a (*.f64 a (*.f64 (+.f64 c d) (+.f64 c d))))))
(/.f64 (*.f64 a (+.f64 c d)) 1)
(/.f64 (*.f64 a (+.f64 c d)) (/.f64 (*.f64 a (+.f64 c d)) (*.f64 a (+.f64 c d))))
(pow.f64 (*.f64 a (+.f64 c d)) 1)
Outputs
(*.f64 a d)
(*.f64 c a)
(*.f64 a c)
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 a (+.f64 d c))
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 a (+.f64 d c))
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 a (+.f64 d c))
(*.f64 c a)
(*.f64 a c)
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 a (+.f64 d c))
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 a (+.f64 d c))
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 a (+.f64 d c))
(*.f64 (+.f64 c d) a)
(*.f64 a (+.f64 d c))
(*.f64 (+.f64 c d) a)
(*.f64 a (+.f64 d c))
(*.f64 (+.f64 c d) a)
(*.f64 a (+.f64 d c))
(*.f64 (+.f64 c d) a)
(*.f64 a (+.f64 d c))
(*.f64 (+.f64 c d) a)
(*.f64 a (+.f64 d c))
(*.f64 (+.f64 c d) a)
(*.f64 a (+.f64 d c))
(*.f64 (+.f64 c d) a)
(*.f64 a (+.f64 d c))
(*.f64 (+.f64 c d) a)
(*.f64 a (+.f64 d c))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 c) (*.f64 -1 d)) a))
(*.f64 a (+.f64 d c))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 c) (*.f64 -1 d)) a))
(*.f64 a (+.f64 d c))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 c) (*.f64 -1 d)) a))
(*.f64 a (+.f64 d c))
(*.f64 -1 (*.f64 (+.f64 (*.f64 -1 c) (*.f64 -1 d)) a))
(*.f64 a (+.f64 d c))
(*.f64 c a)
(*.f64 a c)
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 a (+.f64 d c))
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 a (+.f64 d c))
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 a (+.f64 d c))
(*.f64 a d)
(*.f64 a d)
(-.f64 (*.f64 a (+.f64 c d)) 0)
(*.f64 a (+.f64 d c))
(*.f64 a (+.f64 c d))
(*.f64 a (+.f64 d c))
(*.f64 (*.f64 a (+.f64 c d)) 1)
(*.f64 a (+.f64 d c))
(*.f64 (*.f64 a (+.f64 c d)) (/.f64 (*.f64 a (+.f64 c d)) (*.f64 a (+.f64 c d))))
(*.f64 a (+.f64 d c))
(*.f64 1 (*.f64 a (+.f64 c d)))
(*.f64 a (+.f64 d c))
(*.f64 (+.f64 c d) a)
(*.f64 a (+.f64 d c))
(*.f64 (*.f64 a a) (*.f64 (/.f64 1 a) (+.f64 c d)))
(*.f64 a (+.f64 d c))
(*.f64 (*.f64 a (*.f64 a (*.f64 (+.f64 c d) (+.f64 c d)))) (/.f64 1 (*.f64 a (+.f64 c d))))
(*.f64 a (+.f64 d c))
(*.f64 (*.f64 a (*.f64 a (*.f64 (+.f64 c d) (+.f64 c d)))) (*.f64 (/.f64 1 (*.f64 a (+.f64 c d))) 1))
(*.f64 a (+.f64 d c))
(*.f64 (/.f64 1 (*.f64 a (+.f64 c d))) (*.f64 a (*.f64 a (*.f64 (+.f64 c d) (+.f64 c d)))))
(*.f64 a (+.f64 d c))
(*.f64 (*.f64 (*.f64 a (*.f64 a (*.f64 (+.f64 c d) (+.f64 c d)))) (*.f64 a (*.f64 a (*.f64 (+.f64 c d) (+.f64 c d))))) (/.f64 (/.f64 1 (*.f64 a (+.f64 c d))) (*.f64 a (*.f64 a (*.f64 (+.f64 c d) (+.f64 c d))))))
(*.f64 a (+.f64 d c))
(/.f64 (*.f64 a (+.f64 c d)) 1)
(*.f64 a (+.f64 d c))
(/.f64 (*.f64 a (+.f64 c d)) (/.f64 (*.f64 a (+.f64 c d)) (*.f64 a (+.f64 c d))))
(*.f64 a (+.f64 d c))
(pow.f64 (*.f64 a (+.f64 c d)) 1)
(*.f64 a (+.f64 d c))

eval42.0ms (0.6%)

Compiler

Compiled 1346 to 460 computations (65.8% saved)

prune47.0ms (0.7%)

Pruning

7 alts after pruning (2 fresh and 5 done)

PrunedKeptTotal
New1012103
Fresh000
Picked011
Done145
Total1027109
Error
0b
Counts
109 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
0.3b
(+.f64 (*.f64 c a) (*.f64 a d))
0.0b
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
0.6b
(*.f64 (*.f64 a a) (*.f64 (/.f64 1 a) (+.f64 c d)))
5.6b
(*.f64 (*.f64 a a) (*.f64 (*.f64 (/.f64 1 (+.f64 c (+.f64 b d))) (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))) (/.f64 1 a)))
3.4b
(*.f64 d a)
0.0b
(*.f64 a (+.f64 (+.f64 b c) d))
0.3b
(*.f64 a (+.f64 c d))
Compiler

Compiled 97 to 58 computations (40.2% saved)

localize48.0ms (0.7%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))
0.3b
(*.f64 (*.f64 (/.f64 1 (+.f64 c (+.f64 b d))) (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))) (/.f64 1 a))
0.4b
(*.f64 (*.f64 a a) (*.f64 (*.f64 (/.f64 1 (+.f64 c (+.f64 b d))) (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))) (/.f64 1 a)))
5.5b
(*.f64 (/.f64 1 (+.f64 c (+.f64 b d))) (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))
Compiler

Compiled 110 to 29 computations (73.6% saved)

series10.0ms (0.1%)

Counts
4 → 168
Calls

42 calls:

TimeVariablePointExpression
0.0ms
c
@0
(*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))
0.0ms
b
@0
(*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))
0.0ms
d
@0
(*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))
0.0ms
c
@-inf
(*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))
0.0ms
d
@-inf
(*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))

rewrite110.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
1122×rational.json-simplify-55
906×rational.json-5
904×exponential.json-3
904×rational.json-1
904×rational.json-2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
016232
1143106
248788
3190488
Stop Event
node limit
Counts
4 → 58
Calls
Call 1
Inputs
(*.f64 (/.f64 1 (+.f64 c (+.f64 b d))) (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))
(*.f64 (*.f64 a a) (*.f64 (*.f64 (/.f64 1 (+.f64 c (+.f64 b d))) (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))) (/.f64 1 a)))
(*.f64 (*.f64 (/.f64 1 (+.f64 c (+.f64 b d))) (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))) (/.f64 1 a))
(*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 c (+.f64 b d))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 b (+.f64 c d))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 d (+.f64 c b))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 b d) c)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 c (+.f64 b d)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (+.f64 c (+.f64 b d)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 c d) b)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 c b) d)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 c (+.f64 b d)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 c (+.f64 b d)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 c (+.f64 b d)) (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (+.f64 c (+.f64 b d)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 c (+.f64 b d)) a) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 c (+.f64 b d)) a))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 c (+.f64 b d)) a) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 c (+.f64 b d)) a) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 c (+.f64 b d)) a) (/.f64 (*.f64 (+.f64 c (+.f64 b d)) a) (*.f64 (+.f64 c (+.f64 b d)) a)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 c (+.f64 b d)) a) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (neg.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (neg.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (-.f64 0 (neg.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (-.f64 0 (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (+.f64 c (+.f64 b d)) (fabs.f64 (+.f64 c (+.f64 b d)))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (+.f64 c (+.f64 b d)) (-.f64 (neg.f64 c) (+.f64 b d))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 (+.f64 c (+.f64 b d)) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (fabs.f64 (+.f64 c (+.f64 b d))) (+.f64 c (+.f64 b d))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (fabs.f64 (+.f64 c (+.f64 b d))) (-.f64 (neg.f64 c) (+.f64 b d))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (fabs.f64 (+.f64 c (+.f64 b d))) (/.f64 (+.f64 c (+.f64 b d)) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (-.f64 (neg.f64 c) (+.f64 b d)) (+.f64 c (+.f64 b d))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (-.f64 (neg.f64 c) (+.f64 b d)) (fabs.f64 (+.f64 c (+.f64 b d)))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (-.f64 (neg.f64 c) (+.f64 b d)) (/.f64 (+.f64 c (+.f64 b d)) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (/.f64 (+.f64 c (+.f64 b d)) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))) (+.f64 c (+.f64 b d))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (/.f64 (+.f64 c (+.f64 b d)) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))) (fabs.f64 (+.f64 c (+.f64 b d)))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (/.f64 (+.f64 c (+.f64 b d)) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))) (-.f64 (neg.f64 c) (+.f64 b d))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (*.f64 (/.f64 (+.f64 c (+.f64 b d)) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))) (/.f64 (+.f64 c (+.f64 b d)) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (neg.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (/.f64 (+.f64 c (+.f64 b d)) (fabs.f64 (+.f64 c (+.f64 b d))))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (/.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (fabs.f64 (/.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (/.f64 (fabs.f64 (+.f64 c (+.f64 b d))) (-.f64 (neg.f64 c) (+.f64 b d)))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (/.f64 (*.f64 (+.f64 c (+.f64 b d)) 2) (*.f64 (fabs.f64 (+.f64 c (+.f64 b d))) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (/.f64 (neg.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (/.f64 (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (-.f64 0 (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))))))

simplify249.0ms (3.8%)

Algorithm
egg-herbie
Rules
1374×rational.json-simplify-76
1202×rational.json-simplify-49
1040×rational.json-simplify-55
1022×rational.json-simplify-79
848×rational.json-simplify-41
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01845298
13765136
26635136
325335136
453065136
Stop Event
node limit
Counts
226 → 145
Calls
Call 1
Inputs
(+.f64 d b)
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
c
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
c
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
(+.f64 c d)
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
b
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
b
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
(+.f64 c b)
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
d
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
d
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
(+.f64 c (+.f64 d b))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 (+.f64 d b) a)
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 c a)
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 c a)
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 a (+.f64 c d))
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(*.f64 a b)
(+.f64 (*.f64 a b) (*.f64 (+.f64 c d) a))
(+.f64 (*.f64 a b) (*.f64 (+.f64 c d) a))
(+.f64 (*.f64 a b) (*.f64 (+.f64 c d) a))
(*.f64 a (+.f64 c b))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a d)
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a d)
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(/.f64 (+.f64 d b) a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 c a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 c a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 (+.f64 c d) a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 b a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 b a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 (+.f64 c b) a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 d a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 d a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(pow.f64 (+.f64 d b) 2)
(+.f64 (*.f64 (+.f64 (*.f64 2 d) (*.f64 2 b)) c) (pow.f64 (+.f64 d b) 2))
(+.f64 (*.f64 (+.f64 (*.f64 2 d) (*.f64 2 b)) c) (+.f64 (pow.f64 c 2) (pow.f64 (+.f64 d b) 2)))
(+.f64 (*.f64 (+.f64 (*.f64 2 d) (*.f64 2 b)) c) (+.f64 (pow.f64 c 2) (pow.f64 (+.f64 d b) 2)))
(pow.f64 c 2)
(+.f64 (*.f64 (+.f64 (*.f64 2 d) (*.f64 2 b)) c) (pow.f64 c 2))
(+.f64 (*.f64 (+.f64 (*.f64 2 d) (*.f64 2 b)) c) (+.f64 (pow.f64 (+.f64 d b) 2) (pow.f64 c 2)))
(+.f64 (*.f64 (+.f64 (*.f64 2 d) (*.f64 2 b)) c) (+.f64 (pow.f64 (+.f64 d b) 2) (pow.f64 c 2)))
(pow.f64 c 2)
(+.f64 (*.f64 2 (*.f64 c (+.f64 d b))) (pow.f64 c 2))
(+.f64 (*.f64 2 (*.f64 c (+.f64 d b))) (+.f64 (pow.f64 (+.f64 d b) 2) (pow.f64 c 2)))
(+.f64 (*.f64 2 (*.f64 c (+.f64 d b))) (+.f64 (pow.f64 (+.f64 d b) 2) (pow.f64 c 2)))
(pow.f64 (+.f64 c d) 2)
(+.f64 (pow.f64 (+.f64 c d) 2) (*.f64 (+.f64 (*.f64 2 d) (*.f64 2 c)) b))
(+.f64 (pow.f64 (+.f64 c d) 2) (+.f64 (pow.f64 b 2) (*.f64 (+.f64 (*.f64 2 d) (*.f64 2 c)) b)))
(+.f64 (pow.f64 (+.f64 c d) 2) (+.f64 (pow.f64 b 2) (*.f64 (+.f64 (*.f64 2 d) (*.f64 2 c)) b)))
(pow.f64 b 2)
(+.f64 (pow.f64 b 2) (*.f64 (+.f64 (*.f64 2 d) (*.f64 2 c)) b))
(+.f64 (pow.f64 (+.f64 c d) 2) (+.f64 (pow.f64 b 2) (*.f64 (+.f64 (*.f64 2 d) (*.f64 2 c)) b)))
(+.f64 (pow.f64 (+.f64 c d) 2) (+.f64 (pow.f64 b 2) (*.f64 (+.f64 (*.f64 2 d) (*.f64 2 c)) b)))
(pow.f64 b 2)
(+.f64 (*.f64 2 (*.f64 (+.f64 c d) b)) (pow.f64 b 2))
(+.f64 (pow.f64 (+.f64 c d) 2) (+.f64 (*.f64 2 (*.f64 (+.f64 c d) b)) (pow.f64 b 2)))
(+.f64 (pow.f64 (+.f64 c d) 2) (+.f64 (*.f64 2 (*.f64 (+.f64 c d) b)) (pow.f64 b 2)))
(pow.f64 (+.f64 c b) 2)
(+.f64 (pow.f64 (+.f64 c b) 2) (*.f64 (+.f64 (*.f64 2 c) (*.f64 2 b)) d))
(+.f64 (pow.f64 (+.f64 c b) 2) (+.f64 (pow.f64 d 2) (*.f64 (+.f64 (*.f64 2 c) (*.f64 2 b)) d)))
(+.f64 (pow.f64 (+.f64 c b) 2) (+.f64 (pow.f64 d 2) (*.f64 (+.f64 (*.f64 2 c) (*.f64 2 b)) d)))
(pow.f64 d 2)
(+.f64 (pow.f64 d 2) (*.f64 (+.f64 (*.f64 2 c) (*.f64 2 b)) d))
(+.f64 (pow.f64 (+.f64 c b) 2) (+.f64 (pow.f64 d 2) (*.f64 (+.f64 (*.f64 2 c) (*.f64 2 b)) d)))
(+.f64 (pow.f64 (+.f64 c b) 2) (+.f64 (pow.f64 d 2) (*.f64 (+.f64 (*.f64 2 c) (*.f64 2 b)) d)))
(pow.f64 d 2)
(+.f64 (pow.f64 d 2) (*.f64 2 (*.f64 d (+.f64 c b))))
(+.f64 (pow.f64 (+.f64 c b) 2) (+.f64 (pow.f64 d 2) (*.f64 2 (*.f64 d (+.f64 c b)))))
(+.f64 (pow.f64 (+.f64 c b) 2) (+.f64 (pow.f64 d 2) (*.f64 2 (*.f64 d (+.f64 c b)))))
(+.f64 c (+.f64 b d))
(+.f64 b (+.f64 c d))
(+.f64 d (+.f64 c b))
(+.f64 (+.f64 b d) c)
(+.f64 (+.f64 c (+.f64 b d)) 0)
(+.f64 0 (+.f64 c (+.f64 b d)))
(+.f64 (+.f64 c d) b)
(+.f64 (+.f64 c b) d)
(-.f64 (+.f64 c (+.f64 b d)) 0)
(/.f64 (+.f64 c (+.f64 b d)) 1)
(/.f64 (+.f64 c (+.f64 b d)) (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))
(pow.f64 (+.f64 c (+.f64 b d)) 1)
(+.f64 (*.f64 (+.f64 c (+.f64 b d)) a) 0)
(+.f64 0 (*.f64 (+.f64 c (+.f64 b d)) a))
(-.f64 (*.f64 (+.f64 c (+.f64 b d)) a) 0)
(/.f64 (*.f64 (+.f64 c (+.f64 b d)) a) 1)
(/.f64 (*.f64 (+.f64 c (+.f64 b d)) a) (/.f64 (*.f64 (+.f64 c (+.f64 b d)) a) (*.f64 (+.f64 c (+.f64 b d)) a)))
(pow.f64 (*.f64 (+.f64 c (+.f64 b d)) a) 1)
(+.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) 0)
(+.f64 0 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)))
(-.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) 0)
(/.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) 1)
(/.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a))))
(pow.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) 1)
(+.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) 0)
(+.f64 0 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))
(-.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) 0)
(/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) 1)
(/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))
(pow.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) 1)
(fabs.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))
(fabs.f64 (neg.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))
(fabs.f64 (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))
(fabs.f64 (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (neg.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))
(fabs.f64 (-.f64 0 (neg.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))
(fabs.f64 (-.f64 0 (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))
(fabs.f64 (*.f64 (+.f64 c (+.f64 b d)) (fabs.f64 (+.f64 c (+.f64 b d)))))
(fabs.f64 (*.f64 (+.f64 c (+.f64 b d)) (-.f64 (neg.f64 c) (+.f64 b d))))
(fabs.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 (+.f64 c (+.f64 b d)) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))
(fabs.f64 (*.f64 (fabs.f64 (+.f64 c (+.f64 b d))) (+.f64 c (+.f64 b d))))
(fabs.f64 (*.f64 (fabs.f64 (+.f64 c (+.f64 b d))) (-.f64 (neg.f64 c) (+.f64 b d))))
(fabs.f64 (*.f64 (fabs.f64 (+.f64 c (+.f64 b d))) (/.f64 (+.f64 c (+.f64 b d)) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))
(fabs.f64 (*.f64 (-.f64 (neg.f64 c) (+.f64 b d)) (+.f64 c (+.f64 b d))))
(fabs.f64 (*.f64 (-.f64 (neg.f64 c) (+.f64 b d)) (fabs.f64 (+.f64 c (+.f64 b d)))))
(fabs.f64 (*.f64 (-.f64 (neg.f64 c) (+.f64 b d)) (/.f64 (+.f64 c (+.f64 b d)) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))
(fabs.f64 (*.f64 (/.f64 (+.f64 c (+.f64 b d)) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))) (+.f64 c (+.f64 b d))))
(fabs.f64 (*.f64 (/.f64 (+.f64 c (+.f64 b d)) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))) (fabs.f64 (+.f64 c (+.f64 b d)))))
(fabs.f64 (*.f64 (/.f64 (+.f64 c (+.f64 b d)) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))) (-.f64 (neg.f64 c) (+.f64 b d))))
(fabs.f64 (*.f64 (/.f64 (+.f64 c (+.f64 b d)) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))) (/.f64 (+.f64 c (+.f64 b d)) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))
(fabs.f64 (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (neg.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))
(fabs.f64 (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))))
(fabs.f64 (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (/.f64 (+.f64 c (+.f64 b d)) (fabs.f64 (+.f64 c (+.f64 b d))))))
(fabs.f64 (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (/.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (fabs.f64 (/.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))))
(fabs.f64 (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (/.f64 (fabs.f64 (+.f64 c (+.f64 b d))) (-.f64 (neg.f64 c) (+.f64 b d)))))
(fabs.f64 (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (/.f64 (*.f64 (+.f64 c (+.f64 b d)) 2) (*.f64 (fabs.f64 (+.f64 c (+.f64 b d))) 2))))
(fabs.f64 (/.f64 (neg.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))
(fabs.f64 (/.f64 (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))
(fabs.f64 (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (-.f64 0 (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))
Outputs
(+.f64 d b)
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 b c))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 b c))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 b c))
c
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 b c))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 b c))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 b c))
c
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 b c))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 b c))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 b c))
(+.f64 c d)
(+.f64 d c)
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 b c))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 b c))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 b c))
b
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 b c))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 b c))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 b c))
b
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 b c))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 b c))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 b c))
(+.f64 c b)
(+.f64 b c)
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 b c))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 b c))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 b c))
d
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 b c))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 b c))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 b c))
d
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 b c))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 b c))
(+.f64 c (+.f64 d b))
(+.f64 d (+.f64 b c))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 d (+.f64 b c)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 d (+.f64 b c)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 d (+.f64 b c)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 d (+.f64 b c)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 d (+.f64 b c)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 d (+.f64 b c)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 d (+.f64 b c)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 d (+.f64 b c)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 d (+.f64 b c)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 d (+.f64 b c)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 d (+.f64 b c)))
(*.f64 (+.f64 c (+.f64 d b)) a)
(*.f64 a (+.f64 d (+.f64 b c)))
(*.f64 (+.f64 d b) a)
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 a (+.f64 d (+.f64 b c)))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 a (+.f64 d (+.f64 b c)))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 a (+.f64 d (+.f64 b c)))
(*.f64 c a)
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 a (+.f64 d (+.f64 b c)))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 a (+.f64 d (+.f64 b c)))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 a (+.f64 d (+.f64 b c)))
(*.f64 c a)
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 a (+.f64 d (+.f64 b c)))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 a (+.f64 d (+.f64 b c)))
(+.f64 (*.f64 (+.f64 d b) a) (*.f64 c a))
(*.f64 a (+.f64 d (+.f64 b c)))
(*.f64 a (+.f64 c d))
(*.f64 (+.f64 d c) a)
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(*.f64 a (+.f64 d (+.f64 b c)))
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(*.f64 a (+.f64 d (+.f64 b c)))
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(*.f64 a (+.f64 d (+.f64 b c)))
(*.f64 a b)
(*.f64 b a)
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(*.f64 a (+.f64 d (+.f64 b c)))
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(*.f64 a (+.f64 d (+.f64 b c)))
(+.f64 (*.f64 a b) (*.f64 a (+.f64 c d)))
(*.f64 a (+.f64 d (+.f64 b c)))
(*.f64 a b)
(*.f64 b a)
(+.f64 (*.f64 a b) (*.f64 (+.f64 c d) a))
(*.f64 a (+.f64 d (+.f64 b c)))
(+.f64 (*.f64 a b) (*.f64 (+.f64 c d) a))
(*.f64 a (+.f64 d (+.f64 b c)))
(+.f64 (*.f64 a b) (*.f64 (+.f64 c d) a))
(*.f64 a (+.f64 d (+.f64 b c)))
(*.f64 a (+.f64 c b))
(*.f64 (+.f64 b c) a)
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a (+.f64 d (+.f64 b c)))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a (+.f64 d (+.f64 b c)))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a (+.f64 d (+.f64 b c)))
(*.f64 a d)
(*.f64 d a)
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a (+.f64 d (+.f64 b c)))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a (+.f64 d (+.f64 b c)))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a (+.f64 d (+.f64 b c)))
(*.f64 a d)
(*.f64 d a)
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a (+.f64 d (+.f64 b c)))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a (+.f64 d (+.f64 b c)))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a (+.f64 d (+.f64 b c)))
(/.f64 (+.f64 d b) a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 c a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 c a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 (+.f64 c d) a)
(/.f64 (+.f64 d c) a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 b a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 b a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 (+.f64 c b) a)
(/.f64 (+.f64 b c) a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 d a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 d a)
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(+.f64 (/.f64 b a) (+.f64 (/.f64 d a) (/.f64 c a)))
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 d (+.f64 b c)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 d (+.f64 b c)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 d (+.f64 b c)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 d (+.f64 b c)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 d (+.f64 b c)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 d (+.f64 b c)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 d (+.f64 b c)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 d (+.f64 b c)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 d (+.f64 b c)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 d (+.f64 b c)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 d (+.f64 b c)) a)
(/.f64 (+.f64 c (+.f64 d b)) a)
(/.f64 (+.f64 d (+.f64 b c)) a)
(pow.f64 (+.f64 d b) 2)
(+.f64 (*.f64 (+.f64 (*.f64 2 d) (*.f64 2 b)) c) (pow.f64 (+.f64 d b) 2))
(+.f64 (pow.f64 (+.f64 d b) 2) (*.f64 c (+.f64 (*.f64 d 2) (*.f64 b 2))))
(+.f64 (pow.f64 (+.f64 d b) 2) (*.f64 (+.f64 d b) (*.f64 c 2)))
(+.f64 (*.f64 (+.f64 (*.f64 2 d) (*.f64 2 b)) c) (+.f64 (pow.f64 c 2) (pow.f64 (+.f64 d b) 2)))
(+.f64 (pow.f64 (+.f64 d b) 2) (+.f64 (*.f64 c (+.f64 (*.f64 d 2) (*.f64 b 2))) (pow.f64 c 2)))
(+.f64 (pow.f64 (+.f64 d b) 2) (+.f64 (*.f64 (+.f64 d b) (*.f64 c 2)) (pow.f64 c 2)))
(+.f64 (*.f64 (+.f64 d b) (*.f64 c 2)) (+.f64 (pow.f64 (+.f64 d b) 2) (pow.f64 c 2)))
(+.f64 (*.f64 (+.f64 (*.f64 2 d) (*.f64 2 b)) c) (+.f64 (pow.f64 c 2) (pow.f64 (+.f64 d b) 2)))
(+.f64 (pow.f64 (+.f64 d b) 2) (+.f64 (*.f64 c (+.f64 (*.f64 d 2) (*.f64 b 2))) (pow.f64 c 2)))
(+.f64 (pow.f64 (+.f64 d b) 2) (+.f64 (*.f64 (+.f64 d b) (*.f64 c 2)) (pow.f64 c 2)))
(+.f64 (*.f64 (+.f64 d b) (*.f64 c 2)) (+.f64 (pow.f64 (+.f64 d b) 2) (pow.f64 c 2)))
(pow.f64 c 2)
(+.f64 (*.f64 (+.f64 (*.f64 2 d) (*.f64 2 b)) c) (pow.f64 c 2))
(+.f64 (*.f64 c (+.f64 (*.f64 d 2) (*.f64 b 2))) (pow.f64 c 2))
(+.f64 (*.f64 (+.f64 d b) (*.f64 c 2)) (pow.f64 c 2))
(+.f64 (*.f64 (+.f64 (*.f64 2 d) (*.f64 2 b)) c) (+.f64 (pow.f64 (+.f64 d b) 2) (pow.f64 c 2)))
(+.f64 (pow.f64 (+.f64 d b) 2) (+.f64 (*.f64 c (+.f64 (*.f64 d 2) (*.f64 b 2))) (pow.f64 c 2)))
(+.f64 (pow.f64 (+.f64 d b) 2) (+.f64 (*.f64 (+.f64 d b) (*.f64 c 2)) (pow.f64 c 2)))
(+.f64 (*.f64 (+.f64 d b) (*.f64 c 2)) (+.f64 (pow.f64 (+.f64 d b) 2) (pow.f64 c 2)))
(+.f64 (*.f64 (+.f64 (*.f64 2 d) (*.f64 2 b)) c) (+.f64 (pow.f64 (+.f64 d b) 2) (pow.f64 c 2)))
(+.f64 (pow.f64 (+.f64 d b) 2) (+.f64 (*.f64 c (+.f64 (*.f64 d 2) (*.f64 b 2))) (pow.f64 c 2)))
(+.f64 (pow.f64 (+.f64 d b) 2) (+.f64 (*.f64 (+.f64 d b) (*.f64 c 2)) (pow.f64 c 2)))
(+.f64 (*.f64 (+.f64 d b) (*.f64 c 2)) (+.f64 (pow.f64 (+.f64 d b) 2) (pow.f64 c 2)))
(pow.f64 c 2)
(+.f64 (*.f64 2 (*.f64 c (+.f64 d b))) (pow.f64 c 2))
(+.f64 (*.f64 c (+.f64 (*.f64 d 2) (*.f64 b 2))) (pow.f64 c 2))
(+.f64 (*.f64 (+.f64 d b) (*.f64 c 2)) (pow.f64 c 2))
(+.f64 (*.f64 2 (*.f64 c (+.f64 d b))) (+.f64 (pow.f64 (+.f64 d b) 2) (pow.f64 c 2)))
(+.f64 (pow.f64 (+.f64 d b) 2) (+.f64 (*.f64 c (+.f64 (*.f64 d 2) (*.f64 b 2))) (pow.f64 c 2)))
(+.f64 (pow.f64 (+.f64 d b) 2) (+.f64 (*.f64 (+.f64 d b) (*.f64 c 2)) (pow.f64 c 2)))
(+.f64 (*.f64 (+.f64 d b) (*.f64 c 2)) (+.f64 (pow.f64 (+.f64 d b) 2) (pow.f64 c 2)))
(+.f64 (*.f64 2 (*.f64 c (+.f64 d b))) (+.f64 (pow.f64 (+.f64 d b) 2) (pow.f64 c 2)))
(+.f64 (pow.f64 (+.f64 d b) 2) (+.f64 (*.f64 c (+.f64 (*.f64 d 2) (*.f64 b 2))) (pow.f64 c 2)))
(+.f64 (pow.f64 (+.f64 d b) 2) (+.f64 (*.f64 (+.f64 d b) (*.f64 c 2)) (pow.f64 c 2)))
(+.f64 (*.f64 (+.f64 d b) (*.f64 c 2)) (+.f64 (pow.f64 (+.f64 d b) 2) (pow.f64 c 2)))
(pow.f64 (+.f64 c d) 2)
(pow.f64 (+.f64 d c) 2)
(+.f64 (pow.f64 (+.f64 c d) 2) (*.f64 (+.f64 (*.f64 2 d) (*.f64 2 c)) b))
(+.f64 (pow.f64 (+.f64 d c) 2) (*.f64 b (+.f64 (*.f64 d 2) (*.f64 c 2))))
(+.f64 (pow.f64 (+.f64 d c) 2) (*.f64 b (*.f64 2 (+.f64 d c))))
(+.f64 (pow.f64 (+.f64 d c) 2) (*.f64 (+.f64 d c) (*.f64 b 2)))
(+.f64 (pow.f64 (+.f64 c d) 2) (+.f64 (pow.f64 b 2) (*.f64 (+.f64 (*.f64 2 d) (*.f64 2 c)) b)))
(+.f64 (pow.f64 (+.f64 d c) 2) (+.f64 (*.f64 b (+.f64 (*.f64 d 2) (*.f64 c 2))) (pow.f64 b 2)))
(+.f64 (pow.f64 (+.f64 d c) 2) (+.f64 (pow.f64 b 2) (*.f64 b (*.f64 2 (+.f64 d c)))))
(+.f64 (pow.f64 (+.f64 d c) 2) (+.f64 (pow.f64 b 2) (*.f64 (+.f64 d c) (*.f64 b 2))))
(+.f64 (pow.f64 (+.f64 c d) 2) (+.f64 (pow.f64 b 2) (*.f64 (+.f64 (*.f64 2 d) (*.f64 2 c)) b)))
(+.f64 (pow.f64 (+.f64 d c) 2) (+.f64 (*.f64 b (+.f64 (*.f64 d 2) (*.f64 c 2))) (pow.f64 b 2)))
(+.f64 (pow.f64 (+.f64 d c) 2) (+.f64 (pow.f64 b 2) (*.f64 b (*.f64 2 (+.f64 d c)))))
(+.f64 (pow.f64 (+.f64 d c) 2) (+.f64 (pow.f64 b 2) (*.f64 (+.f64 d c) (*.f64 b 2))))
(pow.f64 b 2)
(+.f64 (pow.f64 b 2) (*.f64 (+.f64 (*.f64 2 d) (*.f64 2 c)) b))
(+.f64 (*.f64 b (+.f64 (*.f64 d 2) (*.f64 c 2))) (pow.f64 b 2))
(+.f64 (pow.f64 b 2) (*.f64 b (*.f64 2 (+.f64 d c))))
(+.f64 (pow.f64 b 2) (*.f64 (+.f64 d c) (*.f64 b 2)))
(+.f64 (pow.f64 (+.f64 c d) 2) (+.f64 (pow.f64 b 2) (*.f64 (+.f64 (*.f64 2 d) (*.f64 2 c)) b)))
(+.f64 (pow.f64 (+.f64 d c) 2) (+.f64 (*.f64 b (+.f64 (*.f64 d 2) (*.f64 c 2))) (pow.f64 b 2)))
(+.f64 (pow.f64 (+.f64 d c) 2) (+.f64 (pow.f64 b 2) (*.f64 b (*.f64 2 (+.f64 d c)))))
(+.f64 (pow.f64 (+.f64 d c) 2) (+.f64 (pow.f64 b 2) (*.f64 (+.f64 d c) (*.f64 b 2))))
(+.f64 (pow.f64 (+.f64 c d) 2) (+.f64 (pow.f64 b 2) (*.f64 (+.f64 (*.f64 2 d) (*.f64 2 c)) b)))
(+.f64 (pow.f64 (+.f64 d c) 2) (+.f64 (*.f64 b (+.f64 (*.f64 d 2) (*.f64 c 2))) (pow.f64 b 2)))
(+.f64 (pow.f64 (+.f64 d c) 2) (+.f64 (pow.f64 b 2) (*.f64 b (*.f64 2 (+.f64 d c)))))
(+.f64 (pow.f64 (+.f64 d c) 2) (+.f64 (pow.f64 b 2) (*.f64 (+.f64 d c) (*.f64 b 2))))
(pow.f64 b 2)
(+.f64 (*.f64 2 (*.f64 (+.f64 c d) b)) (pow.f64 b 2))
(+.f64 (*.f64 b (+.f64 (*.f64 d 2) (*.f64 c 2))) (pow.f64 b 2))
(+.f64 (pow.f64 b 2) (*.f64 b (*.f64 2 (+.f64 d c))))
(+.f64 (pow.f64 b 2) (*.f64 (+.f64 d c) (*.f64 b 2)))
(+.f64 (pow.f64 (+.f64 c d) 2) (+.f64 (*.f64 2 (*.f64 (+.f64 c d) b)) (pow.f64 b 2)))
(+.f64 (pow.f64 (+.f64 d c) 2) (+.f64 (*.f64 b (+.f64 (*.f64 d 2) (*.f64 c 2))) (pow.f64 b 2)))
(+.f64 (pow.f64 (+.f64 d c) 2) (+.f64 (pow.f64 b 2) (*.f64 b (*.f64 2 (+.f64 d c)))))
(+.f64 (pow.f64 (+.f64 d c) 2) (+.f64 (pow.f64 b 2) (*.f64 (+.f64 d c) (*.f64 b 2))))
(+.f64 (pow.f64 (+.f64 c d) 2) (+.f64 (*.f64 2 (*.f64 (+.f64 c d) b)) (pow.f64 b 2)))
(+.f64 (pow.f64 (+.f64 d c) 2) (+.f64 (*.f64 b (+.f64 (*.f64 d 2) (*.f64 c 2))) (pow.f64 b 2)))
(+.f64 (pow.f64 (+.f64 d c) 2) (+.f64 (pow.f64 b 2) (*.f64 b (*.f64 2 (+.f64 d c)))))
(+.f64 (pow.f64 (+.f64 d c) 2) (+.f64 (pow.f64 b 2) (*.f64 (+.f64 d c) (*.f64 b 2))))
(pow.f64 (+.f64 c b) 2)
(pow.f64 (+.f64 b c) 2)
(+.f64 (pow.f64 (+.f64 c b) 2) (*.f64 (+.f64 (*.f64 2 c) (*.f64 2 b)) d))
(+.f64 (pow.f64 (+.f64 b c) 2) (*.f64 d (+.f64 (*.f64 b 2) (*.f64 c 2))))
(+.f64 (pow.f64 (+.f64 b c) 2) (*.f64 d (*.f64 (+.f64 b c) 2)))
(+.f64 (pow.f64 (+.f64 c b) 2) (+.f64 (pow.f64 d 2) (*.f64 (+.f64 (*.f64 2 c) (*.f64 2 b)) d)))
(+.f64 (pow.f64 (+.f64 b c) 2) (+.f64 (*.f64 d (+.f64 (*.f64 b 2) (*.f64 c 2))) (pow.f64 d 2)))
(+.f64 (*.f64 d (*.f64 (+.f64 b c) 2)) (+.f64 (pow.f64 (+.f64 b c) 2) (pow.f64 d 2)))
(+.f64 (pow.f64 (+.f64 b c) 2) (+.f64 (*.f64 d (*.f64 (+.f64 b c) 2)) (pow.f64 d 2)))
(+.f64 (pow.f64 (+.f64 c b) 2) (+.f64 (pow.f64 d 2) (*.f64 (+.f64 (*.f64 2 c) (*.f64 2 b)) d)))
(+.f64 (pow.f64 (+.f64 b c) 2) (+.f64 (*.f64 d (+.f64 (*.f64 b 2) (*.f64 c 2))) (pow.f64 d 2)))
(+.f64 (*.f64 d (*.f64 (+.f64 b c) 2)) (+.f64 (pow.f64 (+.f64 b c) 2) (pow.f64 d 2)))
(+.f64 (pow.f64 (+.f64 b c) 2) (+.f64 (*.f64 d (*.f64 (+.f64 b c) 2)) (pow.f64 d 2)))
(pow.f64 d 2)
(+.f64 (pow.f64 d 2) (*.f64 (+.f64 (*.f64 2 c) (*.f64 2 b)) d))
(+.f64 (*.f64 d (+.f64 (*.f64 b 2) (*.f64 c 2))) (pow.f64 d 2))
(+.f64 (*.f64 d (*.f64 (+.f64 b c) 2)) (pow.f64 d 2))
(+.f64 (pow.f64 (+.f64 c b) 2) (+.f64 (pow.f64 d 2) (*.f64 (+.f64 (*.f64 2 c) (*.f64 2 b)) d)))
(+.f64 (pow.f64 (+.f64 b c) 2) (+.f64 (*.f64 d (+.f64 (*.f64 b 2) (*.f64 c 2))) (pow.f64 d 2)))
(+.f64 (*.f64 d (*.f64 (+.f64 b c) 2)) (+.f64 (pow.f64 (+.f64 b c) 2) (pow.f64 d 2)))
(+.f64 (pow.f64 (+.f64 b c) 2) (+.f64 (*.f64 d (*.f64 (+.f64 b c) 2)) (pow.f64 d 2)))
(+.f64 (pow.f64 (+.f64 c b) 2) (+.f64 (pow.f64 d 2) (*.f64 (+.f64 (*.f64 2 c) (*.f64 2 b)) d)))
(+.f64 (pow.f64 (+.f64 b c) 2) (+.f64 (*.f64 d (+.f64 (*.f64 b 2) (*.f64 c 2))) (pow.f64 d 2)))
(+.f64 (*.f64 d (*.f64 (+.f64 b c) 2)) (+.f64 (pow.f64 (+.f64 b c) 2) (pow.f64 d 2)))
(+.f64 (pow.f64 (+.f64 b c) 2) (+.f64 (*.f64 d (*.f64 (+.f64 b c) 2)) (pow.f64 d 2)))
(pow.f64 d 2)
(+.f64 (pow.f64 d 2) (*.f64 2 (*.f64 d (+.f64 c b))))
(+.f64 (*.f64 d (+.f64 (*.f64 b 2) (*.f64 c 2))) (pow.f64 d 2))
(+.f64 (*.f64 d (*.f64 (+.f64 b c) 2)) (pow.f64 d 2))
(+.f64 (pow.f64 (+.f64 c b) 2) (+.f64 (pow.f64 d 2) (*.f64 2 (*.f64 d (+.f64 c b)))))
(+.f64 (pow.f64 (+.f64 b c) 2) (+.f64 (*.f64 d (+.f64 (*.f64 b 2) (*.f64 c 2))) (pow.f64 d 2)))
(+.f64 (*.f64 d (*.f64 (+.f64 b c) 2)) (+.f64 (pow.f64 (+.f64 b c) 2) (pow.f64 d 2)))
(+.f64 (pow.f64 (+.f64 b c) 2) (+.f64 (*.f64 d (*.f64 (+.f64 b c) 2)) (pow.f64 d 2)))
(+.f64 (pow.f64 (+.f64 c b) 2) (+.f64 (pow.f64 d 2) (*.f64 2 (*.f64 d (+.f64 c b)))))
(+.f64 (pow.f64 (+.f64 b c) 2) (+.f64 (*.f64 d (+.f64 (*.f64 b 2) (*.f64 c 2))) (pow.f64 d 2)))
(+.f64 (*.f64 d (*.f64 (+.f64 b c) 2)) (+.f64 (pow.f64 (+.f64 b c) 2) (pow.f64 d 2)))
(+.f64 (pow.f64 (+.f64 b c) 2) (+.f64 (*.f64 d (*.f64 (+.f64 b c) 2)) (pow.f64 d 2)))
(+.f64 c (+.f64 b d))
(+.f64 d (+.f64 b c))
(+.f64 b (+.f64 c d))
(+.f64 d (+.f64 b c))
(+.f64 d (+.f64 c b))
(+.f64 d (+.f64 b c))
(+.f64 (+.f64 b d) c)
(+.f64 d (+.f64 b c))
(+.f64 (+.f64 c (+.f64 b d)) 0)
(+.f64 d (+.f64 b c))
(+.f64 0 (+.f64 c (+.f64 b d)))
(+.f64 d (+.f64 b c))
(+.f64 (+.f64 c d) b)
(+.f64 d (+.f64 b c))
(+.f64 (+.f64 c b) d)
(+.f64 d (+.f64 b c))
(-.f64 (+.f64 c (+.f64 b d)) 0)
(+.f64 d (+.f64 b c))
(/.f64 (+.f64 c (+.f64 b d)) 1)
(+.f64 d (+.f64 b c))
(/.f64 (+.f64 c (+.f64 b d)) (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))
(+.f64 d (+.f64 b c))
(pow.f64 (+.f64 c (+.f64 b d)) 1)
(+.f64 d (+.f64 b c))
(+.f64 (*.f64 (+.f64 c (+.f64 b d)) a) 0)
(*.f64 a (+.f64 d (+.f64 b c)))
(+.f64 0 (*.f64 (+.f64 c (+.f64 b d)) a))
(*.f64 a (+.f64 d (+.f64 b c)))
(-.f64 (*.f64 (+.f64 c (+.f64 b d)) a) 0)
(*.f64 a (+.f64 d (+.f64 b c)))
(/.f64 (*.f64 (+.f64 c (+.f64 b d)) a) 1)
(*.f64 a (+.f64 d (+.f64 b c)))
(/.f64 (*.f64 (+.f64 c (+.f64 b d)) a) (/.f64 (*.f64 (+.f64 c (+.f64 b d)) a) (*.f64 (+.f64 c (+.f64 b d)) a)))
(*.f64 a (+.f64 d (+.f64 b c)))
(pow.f64 (*.f64 (+.f64 c (+.f64 b d)) a) 1)
(*.f64 a (+.f64 d (+.f64 b c)))
(+.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) 0)
(*.f64 (+.f64 d (+.f64 b c)) (/.f64 1 a))
(+.f64 0 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)))
(*.f64 (+.f64 d (+.f64 b c)) (/.f64 1 a))
(-.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) 0)
(*.f64 (+.f64 d (+.f64 b c)) (/.f64 1 a))
(/.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) 1)
(*.f64 (+.f64 d (+.f64 b c)) (/.f64 1 a))
(/.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a))))
(*.f64 (+.f64 d (+.f64 b c)) (/.f64 1 a))
(pow.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)) 1)
(*.f64 (+.f64 d (+.f64 b c)) (/.f64 1 a))
(+.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) 0)
(*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))
(+.f64 0 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))
(*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))
(-.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) 0)
(*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))
(/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) 1)
(*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))
(/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))
(*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))
(pow.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) 1)
(*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))
(fabs.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))
(*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))
(fabs.f64 (neg.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))
(*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))
(fabs.f64 (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))
(*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))
(fabs.f64 (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (neg.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))
(*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))
(fabs.f64 (-.f64 0 (neg.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))
(*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))
(fabs.f64 (-.f64 0 (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))
(*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))
(fabs.f64 (*.f64 (+.f64 c (+.f64 b d)) (fabs.f64 (+.f64 c (+.f64 b d)))))
(*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))
(fabs.f64 (*.f64 (+.f64 c (+.f64 b d)) (-.f64 (neg.f64 c) (+.f64 b d))))
(*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))
(fabs.f64 (*.f64 (+.f64 c (+.f64 b d)) (/.f64 (+.f64 c (+.f64 b d)) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))
(*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))
(fabs.f64 (*.f64 (fabs.f64 (+.f64 c (+.f64 b d))) (+.f64 c (+.f64 b d))))
(*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))
(fabs.f64 (*.f64 (fabs.f64 (+.f64 c (+.f64 b d))) (-.f64 (neg.f64 c) (+.f64 b d))))
(*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))
(fabs.f64 (*.f64 (fabs.f64 (+.f64 c (+.f64 b d))) (/.f64 (+.f64 c (+.f64 b d)) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))
(*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))
(fabs.f64 (*.f64 (-.f64 (neg.f64 c) (+.f64 b d)) (+.f64 c (+.f64 b d))))
(*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))
(fabs.f64 (*.f64 (-.f64 (neg.f64 c) (+.f64 b d)) (fabs.f64 (+.f64 c (+.f64 b d)))))
(*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))
(fabs.f64 (*.f64 (-.f64 (neg.f64 c) (+.f64 b d)) (/.f64 (+.f64 c (+.f64 b d)) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))
(*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))
(fabs.f64 (*.f64 (/.f64 (+.f64 c (+.f64 b d)) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))) (+.f64 c (+.f64 b d))))
(*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))
(fabs.f64 (*.f64 (/.f64 (+.f64 c (+.f64 b d)) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))) (fabs.f64 (+.f64 c (+.f64 b d)))))
(*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))
(fabs.f64 (*.f64 (/.f64 (+.f64 c (+.f64 b d)) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))) (-.f64 (neg.f64 c) (+.f64 b d))))
(*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))
(fabs.f64 (*.f64 (/.f64 (+.f64 c (+.f64 b d)) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))) (/.f64 (+.f64 c (+.f64 b d)) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))
(*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))
(fabs.f64 (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (neg.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))
(*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))
(fabs.f64 (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))))
(*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))
(fabs.f64 (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (/.f64 (+.f64 c (+.f64 b d)) (fabs.f64 (+.f64 c (+.f64 b d))))))
(*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))
(fabs.f64 (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (/.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (fabs.f64 (/.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))))
(*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))
(fabs.f64 (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (/.f64 (fabs.f64 (+.f64 c (+.f64 b d))) (-.f64 (neg.f64 c) (+.f64 b d)))))
(*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))
(fabs.f64 (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (/.f64 (*.f64 (+.f64 c (+.f64 b d)) 2) (*.f64 (fabs.f64 (+.f64 c (+.f64 b d))) 2))))
(fabs.f64 (/.f64 (*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c))) (/.f64 (*.f64 2 (+.f64 d (+.f64 b c))) (*.f64 2 (fabs.f64 (+.f64 d (+.f64 b c)))))))
(fabs.f64 (/.f64 (neg.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))
(*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))
(fabs.f64 (/.f64 (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))) (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))))))
(*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))
(fabs.f64 (/.f64 (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d))) (-.f64 0 (fabs.f64 (/.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))))))
(*.f64 (+.f64 d (+.f64 b c)) (+.f64 d (+.f64 b c)))

localize29.0ms (0.4%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (/.f64 1 a) (+.f64 c d))
0.4b
(*.f64 (*.f64 a a) (*.f64 (/.f64 1 a) (+.f64 c d)))
Compiler

Compiled 35 to 16 computations (54.3% saved)

series9.0ms (0.1%)

Counts
2 → 72
Calls

18 calls:

TimeVariablePointExpression
5.0ms
a
@-inf
(*.f64 (/.f64 1 a) (+.f64 c d))
0.0ms
c
@0
(*.f64 (/.f64 1 a) (+.f64 c d))
0.0ms
c
@inf
(*.f64 (/.f64 1 a) (+.f64 c d))
0.0ms
d
@0
(*.f64 (/.f64 1 a) (+.f64 c d))
0.0ms
d
@-inf
(*.f64 (/.f64 1 a) (+.f64 c d))

rewrite154.0ms (2.4%)

Algorithm
batch-egg-rewrite
Rules
1280×rational.json-simplify-49
1034×rational.json-simplify-47
618×rational.json-simplify-55
568×rational.json-5
566×exponential.json-3
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01150
19650
231432
3122032
4528832
Stop Event
node limit
Counts
2 → 18
Calls
Call 1
Inputs
(*.f64 (*.f64 a a) (*.f64 (/.f64 1 a) (+.f64 c d)))
(*.f64 (/.f64 1 a) (+.f64 c d))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 a (+.f64 c d)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 a (+.f64 c d)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 a (+.f64 c d)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 a (+.f64 c d))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 a (+.f64 c d)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a (+.f64 c d)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 a (+.f64 c d)) (/.f64 (*.f64 a (+.f64 c d)) (*.f64 a (+.f64 c d))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 a (+.f64 c d)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 a (+.f64 c d))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (/.f64 1 a) (+.f64 c d)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (/.f64 1 a) (+.f64 c d)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (/.f64 1 a) (+.f64 c d)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (neg.f64 (*.f64 (/.f64 1 a) (+.f64 c d))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 0 (-.f64 -1 (*.f64 (/.f64 1 a) (+.f64 c d)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 a) (+.f64 c d)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (/.f64 1 a) (+.f64 c d)) (/.f64 (*.f64 (/.f64 1 a) (+.f64 c d)) (*.f64 (/.f64 1 a) (+.f64 c d))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (/.f64 1 a) (+.f64 c d)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (neg.f64 (*.f64 (/.f64 1 a) (+.f64 c d))))))))

simplify293.0ms (4.5%)

Algorithm
egg-herbie
Rules
1204×rational.json-simplify-49
838×rational.json-simplify-54
784×rational.json-simplify-44
736×rational.json-simplify-47
734×rational.json-simplify-43
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0481260
1941260
22301260
37441260
430691260
571791260
Stop Event
node limit
Counts
90 → 29
Calls
Call 1
Inputs
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 a d)
(+.f64 (*.f64 c a) (*.f64 a d))
(+.f64 (*.f64 c a) (*.f64 a d))
(+.f64 (*.f64 c a) (*.f64 a d))
(*.f64 c a)
(+.f64 (*.f64 a d) (*.f64 c a))
(+.f64 (*.f64 a d) (*.f64 c a))
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 c a)
(+.f64 (*.f64 a d) (*.f64 c a))
(+.f64 (*.f64 a d) (*.f64 c a))
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 c a)
(+.f64 (*.f64 a d) (*.f64 c a))
(+.f64 (*.f64 a d) (*.f64 c a))
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 a d)
(+.f64 (*.f64 c a) (*.f64 a d))
(+.f64 (*.f64 c a) (*.f64 a d))
(+.f64 (*.f64 c a) (*.f64 a d))
(*.f64 a d)
(+.f64 (*.f64 c a) (*.f64 a d))
(+.f64 (*.f64 c a) (*.f64 a d))
(+.f64 (*.f64 c a) (*.f64 a d))
(/.f64 (+.f64 c d) a)
(/.f64 (+.f64 c d) a)
(/.f64 (+.f64 c d) a)
(/.f64 (+.f64 c d) a)
(/.f64 (+.f64 c d) a)
(/.f64 (+.f64 c d) a)
(/.f64 (+.f64 c d) a)
(/.f64 (+.f64 c d) a)
(/.f64 (+.f64 c d) a)
(/.f64 (+.f64 c d) a)
(/.f64 (+.f64 c d) a)
(/.f64 (+.f64 c d) a)
(/.f64 d a)
(+.f64 (/.f64 d a) (/.f64 c a))
(+.f64 (/.f64 d a) (/.f64 c a))
(+.f64 (/.f64 d a) (/.f64 c a))
(/.f64 c a)
(+.f64 (/.f64 d a) (/.f64 c a))
(+.f64 (/.f64 d a) (/.f64 c a))
(+.f64 (/.f64 d a) (/.f64 c a))
(/.f64 c a)
(+.f64 (/.f64 d a) (/.f64 c a))
(+.f64 (/.f64 d a) (/.f64 c a))
(+.f64 (/.f64 d a) (/.f64 c a))
(/.f64 c a)
(+.f64 (/.f64 d a) (/.f64 c a))
(+.f64 (/.f64 d a) (/.f64 c a))
(+.f64 (/.f64 d a) (/.f64 c a))
(/.f64 d a)
(+.f64 (/.f64 d a) (/.f64 c a))
(+.f64 (/.f64 d a) (/.f64 c a))
(+.f64 (/.f64 d a) (/.f64 c a))
(/.f64 d a)
(+.f64 (/.f64 d a) (/.f64 c a))
(+.f64 (/.f64 d a) (/.f64 c a))
(+.f64 (/.f64 d a) (/.f64 c a))
(+.f64 (*.f64 a (+.f64 c d)) 0)
(+.f64 0 (*.f64 a (+.f64 c d)))
(-.f64 (*.f64 a (+.f64 c d)) 0)
(-.f64 0 (neg.f64 (*.f64 a (+.f64 c d))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 a (+.f64 c d)))) 1)
(/.f64 (*.f64 a (+.f64 c d)) 1)
(/.f64 (*.f64 a (+.f64 c d)) (/.f64 (*.f64 a (+.f64 c d)) (*.f64 a (+.f64 c d))))
(pow.f64 (*.f64 a (+.f64 c d)) 1)
(neg.f64 (neg.f64 (*.f64 a (+.f64 c d))))
(+.f64 (*.f64 (/.f64 1 a) (+.f64 c d)) 0)
(+.f64 0 (*.f64 (/.f64 1 a) (+.f64 c d)))
(-.f64 (*.f64 (/.f64 1 a) (+.f64 c d)) 0)
(-.f64 0 (neg.f64 (*.f64 (/.f64 1 a) (+.f64 c d))))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (/.f64 1 a) (+.f64 c d)))) 1)
(/.f64 (*.f64 (/.f64 1 a) (+.f64 c d)) 1)
(/.f64 (*.f64 (/.f64 1 a) (+.f64 c d)) (/.f64 (*.f64 (/.f64 1 a) (+.f64 c d)) (*.f64 (/.f64 1 a) (+.f64 c d))))
(pow.f64 (*.f64 (/.f64 1 a) (+.f64 c d)) 1)
(neg.f64 (neg.f64 (*.f64 (/.f64 1 a) (+.f64 c d))))
Outputs
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 (+.f64 c d) a)
(*.f64 a d)
(*.f64 d a)
(+.f64 (*.f64 c a) (*.f64 a d))
(*.f64 (+.f64 c d) a)
(+.f64 (*.f64 c a) (*.f64 a d))
(*.f64 (+.f64 c d) a)
(+.f64 (*.f64 c a) (*.f64 a d))
(*.f64 (+.f64 c d) a)
(*.f64 c a)
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 (+.f64 c d) a)
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 (+.f64 c d) a)
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 (+.f64 c d) a)
(*.f64 c a)
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 (+.f64 c d) a)
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 (+.f64 c d) a)
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 (+.f64 c d) a)
(*.f64 c a)
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 (+.f64 c d) a)
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 (+.f64 c d) a)
(+.f64 (*.f64 a d) (*.f64 c a))
(*.f64 (+.f64 c d) a)
(*.f64 a d)
(*.f64 d a)
(+.f64 (*.f64 c a) (*.f64 a d))
(*.f64 (+.f64 c d) a)
(+.f64 (*.f64 c a) (*.f64 a d))
(*.f64 (+.f64 c d) a)
(+.f64 (*.f64 c a) (*.f64 a d))
(*.f64 (+.f64 c d) a)
(*.f64 a d)
(*.f64 d a)
(+.f64 (*.f64 c a) (*.f64 a d))
(*.f64 (+.f64 c d) a)
(+.f64 (*.f64 c a) (*.f64 a d))
(*.f64 (+.f64 c d) a)
(+.f64 (*.f64 c a) (*.f64 a d))
(*.f64 (+.f64 c d) a)
(/.f64 (+.f64 c d) a)
(/.f64 (+.f64 c d) a)
(/.f64 (+.f64 c d) a)
(/.f64 (+.f64 c d) a)
(/.f64 (+.f64 c d) a)
(/.f64 (+.f64 c d) a)
(/.f64 (+.f64 c d) a)
(/.f64 (+.f64 c d) a)
(/.f64 (+.f64 c d) a)
(/.f64 (+.f64 c d) a)
(/.f64 (+.f64 c d) a)
(/.f64 (+.f64 c d) a)
(/.f64 d a)
(+.f64 (/.f64 d a) (/.f64 c a))
(+.f64 (/.f64 d a) (/.f64 c a))
(+.f64 (/.f64 d a) (/.f64 c a))
(/.f64 c a)
(+.f64 (/.f64 d a) (/.f64 c a))
(+.f64 (/.f64 d a) (/.f64 c a))
(+.f64 (/.f64 d a) (/.f64 c a))
(/.f64 c a)
(+.f64 (/.f64 d a) (/.f64 c a))
(+.f64 (/.f64 d a) (/.f64 c a))
(+.f64 (/.f64 d a) (/.f64 c a))
(/.f64 c a)
(+.f64 (/.f64 d a) (/.f64 c a))
(+.f64 (/.f64 d a) (/.f64 c a))
(+.f64 (/.f64 d a) (/.f64 c a))
(/.f64 d a)
(+.f64 (/.f64 d a) (/.f64 c a))
(+.f64 (/.f64 d a) (/.f64 c a))
(+.f64 (/.f64 d a) (/.f64 c a))
(/.f64 d a)
(+.f64 (/.f64 d a) (/.f64 c a))
(+.f64 (/.f64 d a) (/.f64 c a))
(+.f64 (/.f64 d a) (/.f64 c a))
(+.f64 (*.f64 a (+.f64 c d)) 0)
(*.f64 (+.f64 c d) a)
(+.f64 0 (*.f64 a (+.f64 c d)))
(*.f64 (+.f64 c d) a)
(-.f64 (*.f64 a (+.f64 c d)) 0)
(*.f64 (+.f64 c d) a)
(-.f64 0 (neg.f64 (*.f64 a (+.f64 c d))))
(*.f64 (+.f64 c d) a)
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 a (+.f64 c d)))) 1)
(*.f64 (+.f64 c d) a)
(/.f64 (*.f64 a (+.f64 c d)) 1)
(*.f64 (+.f64 c d) a)
(/.f64 (*.f64 a (+.f64 c d)) (/.f64 (*.f64 a (+.f64 c d)) (*.f64 a (+.f64 c d))))
(*.f64 (+.f64 c d) a)
(pow.f64 (*.f64 a (+.f64 c d)) 1)
(*.f64 (+.f64 c d) a)
(neg.f64 (neg.f64 (*.f64 a (+.f64 c d))))
(*.f64 (+.f64 c d) a)
(+.f64 (*.f64 (/.f64 1 a) (+.f64 c d)) 0)
(*.f64 (+.f64 c d) (/.f64 1 a))
(+.f64 0 (*.f64 (/.f64 1 a) (+.f64 c d)))
(*.f64 (+.f64 c d) (/.f64 1 a))
(-.f64 (*.f64 (/.f64 1 a) (+.f64 c d)) 0)
(*.f64 (+.f64 c d) (/.f64 1 a))
(-.f64 0 (neg.f64 (*.f64 (/.f64 1 a) (+.f64 c d))))
(*.f64 (+.f64 c d) (/.f64 1 a))
(-.f64 (-.f64 0 (-.f64 -1 (*.f64 (/.f64 1 a) (+.f64 c d)))) 1)
(*.f64 (+.f64 c d) (/.f64 1 a))
(/.f64 (*.f64 (/.f64 1 a) (+.f64 c d)) 1)
(*.f64 (+.f64 c d) (/.f64 1 a))
(/.f64 (*.f64 (/.f64 1 a) (+.f64 c d)) (/.f64 (*.f64 (/.f64 1 a) (+.f64 c d)) (*.f64 (/.f64 1 a) (+.f64 c d))))
(*.f64 (+.f64 c d) (/.f64 1 a))
(pow.f64 (*.f64 (/.f64 1 a) (+.f64 c d)) 1)
(*.f64 (+.f64 c d) (/.f64 1 a))
(neg.f64 (neg.f64 (*.f64 (/.f64 1 a) (+.f64 c d))))
(*.f64 (+.f64 c d) (/.f64 1 a))

eval307.0ms (4.7%)

Compiler

Compiled 3727 to 1343 computations (64% saved)

prune43.0ms (0.7%)

Pruning

7 alts after pruning (0 fresh and 7 done)

PrunedKeptTotal
New1740174
Fresh000
Picked011
Done066
Total1747181
Error
0b
Counts
181 → 7
Alt Table
Click to see full alt table
StatusErrorProgram
0.3b
(+.f64 (*.f64 c a) (*.f64 a d))
0.0b
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
0.6b
(*.f64 (*.f64 a a) (*.f64 (/.f64 1 a) (+.f64 c d)))
5.6b
(*.f64 (*.f64 a a) (*.f64 (*.f64 (/.f64 1 (+.f64 c (+.f64 b d))) (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))) (/.f64 1 a)))
3.4b
(*.f64 d a)
0.0b
(*.f64 a (+.f64 (+.f64 b c) d))
0.3b
(*.f64 a (+.f64 c d))
Compiler

Compiled 97 to 58 computations (40.2% saved)

regimes53.0ms (0.8%)

Counts
8 → 1
Calls
Call 1
Inputs
(*.f64 d a)
(*.f64 a (+.f64 c d))
(*.f64 a (+.f64 (+.f64 b c) d))
(+.f64 (*.f64 c a) (*.f64 a d))
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 (*.f64 a a) (*.f64 (/.f64 1 a) (+.f64 c d)))
(*.f64 (*.f64 a a) (*.f64 (+.f64 c (+.f64 b d)) (/.f64 1 a)))
(*.f64 (*.f64 a a) (*.f64 (*.f64 (/.f64 1 (+.f64 c (+.f64 b d))) (*.f64 (+.f64 c (+.f64 b d)) (+.f64 c (+.f64 b d)))) (/.f64 1 a)))
Outputs
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
Calls

7 calls:

10.0ms
(+.f64 (+.f64 b c) d)
10.0ms
c
6.0ms
(*.f64 a (+.f64 (+.f64 b c) d))
6.0ms
(+.f64 b c)
6.0ms
d
Results
ErrorSegmentsBranch
0.0b1a
0.0b1b
0.0b1c
0.0b1d
0.0b1(*.f64 a (+.f64 (+.f64 b c) d))
0.0b1(+.f64 (+.f64 b c) d)
0.0b1(+.f64 b c)
Compiler

Compiled 133 to 69 computations (48.1% saved)

regimes42.0ms (0.6%)

Counts
4 → 1
Calls
Call 1
Inputs
(*.f64 d a)
(*.f64 a (+.f64 c d))
(*.f64 a (+.f64 (+.f64 b c) d))
(+.f64 (*.f64 c a) (*.f64 a d))
Outputs
(*.f64 a (+.f64 (+.f64 b c) d))
Calls

7 calls:

9.0ms
(+.f64 (+.f64 b c) d)
9.0ms
c
5.0ms
b
5.0ms
d
4.0ms
(+.f64 b c)
Results
ErrorSegmentsBranch
0.0b1a
0.0b1b
0.0b1c
0.0b1d
0.0b1(*.f64 a (+.f64 (+.f64 b c) d))
0.0b1(+.f64 (+.f64 b c) d)
0.0b1(+.f64 b c)
Compiler

Compiled 73 to 47 computations (35.6% saved)

regimes114.0ms (1.7%)

Accuracy

Total -3.1b remaining (-1114.6%)

Threshold costs -3.1b (-1114.6%)

Counts
2 → 1
Calls
Call 1
Inputs
(*.f64 d a)
(*.f64 a (+.f64 c d))
Outputs
(*.f64 a (+.f64 c d))
Calls

4 calls:

99.0ms
b
6.0ms
a
4.0ms
c
4.0ms
d
Results
ErrorSegmentsBranch
0.3b1a
0.3b1b
0.3b1c
0.3b1d
Compiler

Compiled 32 to 23 computations (28.1% saved)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01664
Stop Event
done
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a (+.f64 (+.f64 b c) d))
(*.f64 a (+.f64 c d))
(*.f64 d a)
Outputs
(+.f64 (*.f64 a (+.f64 c b)) (*.f64 a d))
(*.f64 a (+.f64 (+.f64 b c) d))
(*.f64 a (+.f64 c d))
(*.f64 d a)
Compiler

Compiled 40 to 26 computations (35% saved)

soundness0.0ms (0%)

end112.0ms (1.7%)

Remove

(sort b c d)

Compiler

Compiled 54 to 30 computations (44.4% saved)

Profiling

Loading profile data...