Details

Time bar (total: 16.2s)

analyze646.0ms (4%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.8%0.2%0%0%0%0
0%0%99.8%0.2%0%0%0%1
0%0%99.8%0.2%0%0%0%2
0%0%99.8%0.2%0%0%0%3
0%0%99.8%0.2%0%0%0%4
0%0%99.8%0.2%0%0%0%5
0%0%99.8%0.2%0%0%0%6
0%0%99.8%0.2%0%0%0%7
0%0%99.8%0.2%0%0%0%8
6.3%6.2%93.6%0.2%0%0%0%9
6.5%6.2%90.4%0.2%3.1%0%0%10
9.7%9.4%87.3%0.2%3.1%0%0%11
14.5%14%82.7%0.2%3.1%0%0%12
Compiler

Compiled 20 to 12 computations (40% saved)

sample4.0s (24.6%)

Results
2.4s8256×body256valid
1.6s3664×body256infinite
Bogosity

preprocess208.0ms (1.3%)

Algorithm
egg-herbie
Rules
1582×rational.json-simplify-51
1290×rational.json-simplify-46
1160×rational.json-simplify-49
936×rational.json-simplify-19
896×rational.json-simplify-37
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
041301
180259
2139217
3267175
4940175
54386175
66927175
044
144
Stop Event
unsound
node limit
Calls
Call 1
Inputs
0
1
2
3
Outputs
0
1
2
3
1
Call 2
Inputs
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
(-.f64 (+.f64 (-.f64 (*.f64 d2 d1) (*.f64 d2 d3)) (*.f64 d4 d2)) (*.f64 d2 d2))
(-.f64 (+.f64 (-.f64 (*.f64 d3 d2) (*.f64 d3 d1)) (*.f64 d4 d3)) (*.f64 d3 d3))
(-.f64 (+.f64 (-.f64 (*.f64 d4 d2) (*.f64 d4 d3)) (*.f64 d1 d4)) (*.f64 d4 d4))
(-.f64 (+.f64 (-.f64 (*.f64 d1 d3) (*.f64 d1 d2)) (*.f64 d4 d1)) (*.f64 d1 d1))
(-.f64 (+.f64 (-.f64 (*.f64 d1 d4) (*.f64 d1 d3)) (*.f64 d2 d1)) (*.f64 d1 d1))
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d4)) (*.f64 d3 d1)) (*.f64 d1 d1))
Outputs
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
(+.f64 (*.f64 d1 d4) (-.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d1 d1)))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (-.f64 (*.f64 d1 d4) (*.f64 d1 d1)))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 d1 (-.f64 d4 d1)))
(*.f64 d1 (-.f64 (+.f64 d4 (-.f64 d2 d3)) d1))
(*.f64 d1 (+.f64 (-.f64 d2 d1) (-.f64 d4 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d3) d1)))
(-.f64 (+.f64 (-.f64 (*.f64 d2 d1) (*.f64 d2 d3)) (*.f64 d4 d2)) (*.f64 d2 d2))
(+.f64 (*.f64 d2 d4) (-.f64 (-.f64 (*.f64 d1 d2) (*.f64 d2 d3)) (*.f64 d2 d2)))
(+.f64 (*.f64 d2 (-.f64 d1 d3)) (-.f64 (*.f64 d2 d4) (*.f64 d2 d2)))
(+.f64 (*.f64 d2 (-.f64 d1 d3)) (*.f64 d2 (-.f64 d4 d2)))
(*.f64 d2 (+.f64 d4 (-.f64 (-.f64 d1 d3) d2)))
(*.f64 d2 (+.f64 (-.f64 d1 d3) (-.f64 d4 d2)))
(-.f64 (+.f64 (-.f64 (*.f64 d3 d2) (*.f64 d3 d1)) (*.f64 d4 d3)) (*.f64 d3 d3))
(+.f64 (*.f64 d3 d4) (-.f64 (-.f64 (*.f64 d2 d3) (*.f64 d1 d3)) (*.f64 d3 d3)))
(+.f64 (*.f64 d3 d4) (-.f64 (*.f64 d3 (-.f64 d2 d1)) (*.f64 d3 d3)))
(+.f64 (*.f64 d3 (-.f64 d2 d1)) (*.f64 d3 (-.f64 d4 d3)))
(*.f64 d3 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d3 (+.f64 (-.f64 d2 d1) (-.f64 d4 d3)))
(*.f64 d3 (+.f64 d2 (-.f64 (-.f64 d4 d3) d1)))
(-.f64 (+.f64 (-.f64 (*.f64 d4 d2) (*.f64 d4 d3)) (*.f64 d1 d4)) (*.f64 d4 d4))
(+.f64 (*.f64 d1 d4) (-.f64 (-.f64 (*.f64 d2 d4) (*.f64 d3 d4)) (*.f64 d4 d4)))
(+.f64 (*.f64 d4 (-.f64 d2 d3)) (-.f64 (*.f64 d1 d4) (*.f64 d4 d4)))
(+.f64 (*.f64 d4 (-.f64 d2 d3)) (*.f64 d4 (-.f64 d1 d4)))
(*.f64 d4 (+.f64 d1 (-.f64 (-.f64 d2 d3) d4)))
(*.f64 d4 (+.f64 (-.f64 d2 d3) (-.f64 d1 d4)))
(*.f64 d4 (+.f64 d1 (-.f64 (-.f64 d2 d4) d3)))
(-.f64 (+.f64 (-.f64 (*.f64 d1 d3) (*.f64 d1 d2)) (*.f64 d4 d1)) (*.f64 d1 d1))
(+.f64 (*.f64 d1 d4) (-.f64 (-.f64 (*.f64 d1 d3) (*.f64 d1 d2)) (*.f64 d1 d1)))
(+.f64 (*.f64 d1 d4) (-.f64 (*.f64 d1 (-.f64 d3 d2)) (*.f64 d1 d1)))
(+.f64 (*.f64 d1 d4) (*.f64 d1 (-.f64 (-.f64 d3 d2) d1)))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d3 d2) d1)))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d3 d1) d2)))
(-.f64 (+.f64 (-.f64 (*.f64 d1 d4) (*.f64 d1 d3)) (*.f64 d2 d1)) (*.f64 d1 d1))
(+.f64 (*.f64 d1 d4) (-.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d1 d1)))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (-.f64 (*.f64 d1 d4) (*.f64 d1 d1)))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 d1 (-.f64 d4 d1)))
(*.f64 d1 (-.f64 (+.f64 d4 (-.f64 d2 d3)) d1))
(*.f64 d1 (+.f64 (-.f64 d2 d1) (-.f64 d4 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d3) d1)))
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d4)) (*.f64 d3 d1)) (*.f64 d1 d1))
(+.f64 (*.f64 d1 d3) (-.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d4)) (*.f64 d1 d1)))
(+.f64 (*.f64 d1 d3) (-.f64 (*.f64 d1 (-.f64 d2 d4)) (*.f64 d1 d1)))
(+.f64 (*.f64 d1 d3) (*.f64 d1 (-.f64 (-.f64 d2 d4) d1)))
(*.f64 d1 (+.f64 d3 (-.f64 (-.f64 d2 d1) d4)))
(*.f64 d1 (+.f64 (-.f64 d2 d4) (-.f64 d3 d1)))
(*.f64 d1 (+.f64 d3 (-.f64 (-.f64 d2 d4) d1)))
Symmetry

(sort d2 d4)

Compiler

Compiled 23 to 15 computations (34.8% saved)

simplify531.0ms (3.3%)

Algorithm
egg-herbie
Rules
1812×rational.json-simplify-35
1346×rational.json-simplify-53
982×rational.json-simplify-39
864×rational.json-simplify-59
640×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01343
12137
23231
36025
422125
5199525
6593925
7776125
Stop Event
node limit
Counts
1 → 5
Calls
Call 1
Inputs
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
Outputs
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
(+.f64 (*.f64 d1 d4) (-.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d1 d1)))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (-.f64 (*.f64 d1 d4) (*.f64 d1 d1)))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 d1 (-.f64 d4 d1)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))

eval1.0ms (0%)

Compiler

Compiled 67 to 23 computations (65.7% saved)

prune2.0ms (0%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New145
Fresh011
Picked000
Done000
Total156
Error
0.0b
Counts
6 → 4
Alt Table
Click to see full alt table
StatusErrorProgram
0.0b
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
0.0b
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (-.f64 (*.f64 d1 d4) (*.f64 d1 d1)))
0.0b
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 d1 (-.f64 d4 d1)))
0.0b
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
Compiler

Compiled 64 to 38 computations (40.6% saved)

localize9.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

Compiled 30 to 8 computations (73.3% saved)

series6.0ms (0%)

Counts
1 → 48
Calls

12 calls:

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

rewrite115.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1594×rational.json-1
1594×rational.json-2
1270×rational.json-3
1264×exponential.json-3
1264×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
16425
213625
330225
459025
5147925
6332325
7568825
8772625
Stop Event
node limit
Counts
1 → 12
Calls
Call 1
Inputs
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 1/2)) (*.f64 d1 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) (+.f64 d1 d1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) (*.f64 d1 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 1)))))

simplify725.0ms (4.5%)

Algorithm
egg-herbie
Rules
3040×rational.json-simplify-2
2832×rational.json-simplify-35
2192×rational.json-simplify-53
1162×exponential.json-simplify-26
732×rational.json-simplify-1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0651626
11491474
22671474
35461474
418351474
534761474
639491474
741131474
842341474
943531474
1044711474
1154821474
1261431474
1364501474
1464501474
1564501474
1665691474
1766881474
1873051474
1975711474
Stop Event
node limit
Counts
60 → 45
Calls
Call 1
Inputs
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(*.f64 (-.f64 d2 (+.f64 d1 d3)) d1)
(+.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) d1) (*.f64 d1 d4))
(+.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) d1) (*.f64 d1 d4))
(+.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) d1) (*.f64 d1 d4))
(*.f64 d1 d4)
(+.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) (*.f64 d1 d4))
(+.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) (*.f64 d1 d4))
(+.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) (*.f64 d1 d4))
(*.f64 d1 d4)
(+.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) d1) (*.f64 d1 d4))
(+.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) d1) (*.f64 d1 d4))
(+.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) d1) (*.f64 d1 d4))
(+.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 0)
(+.f64 0 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))))
(+.f64 (*.f64 d1 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 1/2)) (*.f64 d1 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 1/2)))
(-.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 0)
(/.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 1)
(/.f64 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) (+.f64 d1 d1)) 2)
(/.f64 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) (*.f64 d1 4)) 4)
(/.f64 (*.f64 d1 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 8)) 8)
(/.f64 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 8))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 8)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 8))))) 64)
(pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 1)
Outputs
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) (neg.f64 (pow.f64 d1 2)))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) (neg.f64 (pow.f64 d1 2)))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) (neg.f64 (pow.f64 d1 2)))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d1))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d1)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(+.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d1))) (*.f64 -1 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 (+.f64 d2 (-.f64 d4 d1)) (neg.f64 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 (-.f64 d4 d1) (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(+.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d1))) (*.f64 -1 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 (+.f64 d2 (-.f64 d4 d1)) (neg.f64 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 (-.f64 d4 d1) (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(+.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d1))) (*.f64 -1 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 (+.f64 d2 (-.f64 d4 d1)) (neg.f64 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 (-.f64 d4 d1) (neg.f64 d3))))
(*.f64 -1 (*.f64 d1 d3))
(*.f64 d1 (neg.f64 d3))
(*.f64 d3 (neg.f64 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(+.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d1))) (*.f64 -1 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 (+.f64 d2 (-.f64 d4 d1)) (neg.f64 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 (-.f64 d4 d1) (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(+.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d1))) (*.f64 -1 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 (+.f64 d2 (-.f64 d4 d1)) (neg.f64 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 (-.f64 d4 d1) (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(+.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d1))) (*.f64 -1 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 (+.f64 d2 (-.f64 d4 d1)) (neg.f64 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 (-.f64 d4 d1) (neg.f64 d3))))
(*.f64 -1 (*.f64 d1 d3))
(*.f64 d1 (neg.f64 d3))
(*.f64 d3 (neg.f64 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(+.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d1))) (*.f64 -1 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 (+.f64 d2 (-.f64 d4 d1)) (neg.f64 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 (-.f64 d4 d1) (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(+.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d1))) (*.f64 -1 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 (+.f64 d2 (-.f64 d4 d1)) (neg.f64 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 (-.f64 d4 d1) (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(+.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d1))) (*.f64 -1 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 (+.f64 d2 (-.f64 d4 d1)) (neg.f64 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 (-.f64 d4 d1) (neg.f64 d3))))
(*.f64 (-.f64 d2 (+.f64 d1 d3)) d1)
(*.f64 d1 (-.f64 d2 (+.f64 d1 d3)))
(+.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) d1) (*.f64 d1 d4))
(+.f64 (*.f64 d1 d4) (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 (-.f64 d2 (+.f64 d1 d3)) d4))
(*.f64 d1 (+.f64 d4 (-.f64 d2 (+.f64 d1 d3))))
(+.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) d1) (*.f64 d1 d4))
(+.f64 (*.f64 d1 d4) (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 (-.f64 d2 (+.f64 d1 d3)) d4))
(*.f64 d1 (+.f64 d4 (-.f64 d2 (+.f64 d1 d3))))
(+.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) d1) (*.f64 d1 d4))
(+.f64 (*.f64 d1 d4) (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 (-.f64 d2 (+.f64 d1 d3)) d4))
(*.f64 d1 (+.f64 d4 (-.f64 d2 (+.f64 d1 d3))))
(*.f64 d1 d4)
(+.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) (*.f64 d1 d4))
(+.f64 (*.f64 d1 d4) (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 (-.f64 d2 (+.f64 d1 d3)) d4))
(*.f64 d1 (+.f64 d4 (-.f64 d2 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) (*.f64 d1 d4))
(+.f64 (*.f64 d1 d4) (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 (-.f64 d2 (+.f64 d1 d3)) d4))
(*.f64 d1 (+.f64 d4 (-.f64 d2 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) (*.f64 d1 d4))
(+.f64 (*.f64 d1 d4) (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 (-.f64 d2 (+.f64 d1 d3)) d4))
(*.f64 d1 (+.f64 d4 (-.f64 d2 (+.f64 d1 d3))))
(*.f64 d1 d4)
(+.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) d1) (*.f64 d1 d4))
(+.f64 (*.f64 d1 d4) (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 (-.f64 d2 (+.f64 d1 d3)) d4))
(*.f64 d1 (+.f64 d4 (-.f64 d2 (+.f64 d1 d3))))
(+.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) d1) (*.f64 d1 d4))
(+.f64 (*.f64 d1 d4) (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 (-.f64 d2 (+.f64 d1 d3)) d4))
(*.f64 d1 (+.f64 d4 (-.f64 d2 (+.f64 d1 d3))))
(+.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) d1) (*.f64 d1 d4))
(+.f64 (*.f64 d1 d4) (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 (-.f64 d2 (+.f64 d1 d3)) d4))
(*.f64 d1 (+.f64 d4 (-.f64 d2 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 0)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(+.f64 0 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 1/2)) (*.f64 d1 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 1/2)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(-.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 0)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(/.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 1)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(/.f64 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) (+.f64 d1 d1)) 2)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(/.f64 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) (*.f64 d1 4)) 4)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(/.f64 (*.f64 d1 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 8)) 8)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(/.f64 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 8))) 16)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 8)))) 32)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 8))))) 64)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 1)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))

localize201.0ms (1.2%)

Local error

Found 3 expressions with local error:

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

Compiled 35 to 9 computations (74.3% saved)

series7.0ms (0%)

Counts
3 → 108
Calls

27 calls:

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

rewrite149.0ms (0.9%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01157
17151
215151
334351
466851
5167251
6379251
7612451
Stop Event
node limit
Counts
3 → 66
Calls
Call 1
Inputs
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 d1 (-.f64 d4 d1)))
(*.f64 d1 (-.f64 d4 d1))
(*.f64 d1 (-.f64 d2 d3))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 d1 (/.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 d1 (/.f64 (-.f64 d1 d4) -2)) (*.f64 (-.f64 d2 d3) (*.f64 d1 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (-.f64 d2 d3) (*.f64 d1 1/2)) (*.f64 d1 (/.f64 (-.f64 d1 d4) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 1/2) d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (/.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (+.f64 (/.f64 (-.f64 d1 d4) -2) (*.f64 (-.f64 d2 d3) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (+.f64 (*.f64 (-.f64 d2 d3) 1/2) (/.f64 (-.f64 d1 d4) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) d1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 (/.f64 (-.f64 d1 d4) -2) (*.f64 (-.f64 d2 d3) 1/2)) (*.f64 d1 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 (*.f64 (-.f64 d2 d3) 1/2) (/.f64 (-.f64 d1 d4) -2)) (*.f64 d1 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) (*.f64 d1 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 -2 (*.f64 (-.f64 d1 d4) d1)) (*.f64 (-.f64 d2 d3) (+.f64 d1 d1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (-.f64 d2 d3) (+.f64 d1 d1)) (*.f64 -2 (*.f64 (-.f64 d1 d4) d1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 1/2) (+.f64 (*.f64 (-.f64 d1 d4) -2) (*.f64 (-.f64 d2 d3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 1/2) (+.f64 (*.f64 (-.f64 d2 d3) 2) (*.f64 (-.f64 d1 d4) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (/.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (+.f64 (-.f64 d1 d4) (-.f64 d3 d2)) (*.f64 d1 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -2 (*.f64 (+.f64 (-.f64 d3 d2) (-.f64 d1 d4)) (*.f64 d1 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 1/2) (+.f64 d1 d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 d1 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 2) (+.f64 d1 d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (-.f64 d1 d4) -2) (*.f64 (-.f64 d2 d3) 2)) (*.f64 d1 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (*.f64 (-.f64 d2 d3) 2) (*.f64 (-.f64 d1 d4) -2)) (*.f64 d1 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (-.f64 d4 d1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 d1 (-.f64 d4 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (/.f64 (-.f64 d1 d4) -2)) (*.f64 d1 (/.f64 (-.f64 d1 d4) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (-.f64 d4 d1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (-.f64 d4 d1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -2 (*.f64 (-.f64 d1 d4) d1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -4 (*.f64 (-.f64 d1 d4) d1)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 (-.f64 d4 d1)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d4 d1)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d4 d1)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d4 d1)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (-.f64 d4 d1)) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (-.f64 d2 d3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 d1 (-.f64 d2 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 d2 d3) (*.f64 d1 1/2)) (*.f64 (-.f64 d2 d3) (*.f64 d1 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (-.f64 d2 d3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (-.f64 d2 d3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 d2 d3) (+.f64 d1 d1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 d2 d3) (*.f64 d1 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 (-.f64 d2 d3)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 d3)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 d3)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 d3)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (-.f64 d2 d3)) 1)))))

simplify401.0ms (2.5%)

Algorithm
egg-herbie
Rules
2766×rational.json-simplify-41
2446×rational.json-simplify-2
1592×rational.json-simplify-35
1316×rational.json-simplify-51
908×rational.json-simplify-53
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01664506
13834056
28643932
323153896
447073896
556803896
661913896
762533896
863093896
972503896
Stop Event
node limit
Counts
174 → 115
Calls
Call 1
Inputs
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (-.f64 d2 d3)) (*.f64 -1 d4)) d1)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (-.f64 d2 d3)) (*.f64 -1 d4)) d1)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (-.f64 d2 d3)) (*.f64 -1 d4)) d1)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(*.f64 d2 d1)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(*.f64 d2 d1)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d2 d3) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)))
(*.f64 d1 d4)
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)))
(*.f64 d1 d4)
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)))
(*.f64 d1 d4)
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(*.f64 d1 d4)
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(*.f64 d1 d4)
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(*.f64 (-.f64 d2 d3) d1)
(*.f64 (-.f64 d2 d3) d1)
(*.f64 (-.f64 d2 d3) d1)
(*.f64 (-.f64 d2 d3) d1)
(*.f64 (-.f64 d2 d3) d1)
(*.f64 (-.f64 d2 d3) d1)
(*.f64 (-.f64 d2 d3) d1)
(*.f64 (-.f64 d2 d3) d1)
(*.f64 (-.f64 d2 d3) d1)
(*.f64 (-.f64 d2 d3) d1)
(*.f64 (-.f64 d2 d3) d1)
(*.f64 (-.f64 d2 d3) d1)
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(-.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 0)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 1)
(*.f64 1 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))))
(*.f64 2 (*.f64 d1 (/.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 2)))
(*.f64 2 (+.f64 (*.f64 d1 (/.f64 (-.f64 d1 d4) -2)) (*.f64 (-.f64 d2 d3) (*.f64 d1 1/2))))
(*.f64 2 (+.f64 (*.f64 (-.f64 d2 d3) (*.f64 d1 1/2)) (*.f64 d1 (/.f64 (-.f64 d1 d4) -2))))
(*.f64 2 (*.f64 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 1/2) d1))
(*.f64 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 2) 1/2)
(*.f64 (+.f64 d1 d1) (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 1/2))
(*.f64 (+.f64 d1 d1) (/.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 2))
(*.f64 (+.f64 d1 d1) (+.f64 (/.f64 (-.f64 d1 d4) -2) (*.f64 (-.f64 d2 d3) 1/2)))
(*.f64 (+.f64 d1 d1) (+.f64 (*.f64 (-.f64 d2 d3) 1/2) (/.f64 (-.f64 d1 d4) -2)))
(*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) d1)
(*.f64 4 (/.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 4))
(*.f64 4 (*.f64 (+.f64 (/.f64 (-.f64 d1 d4) -2) (*.f64 (-.f64 d2 d3) 1/2)) (*.f64 d1 1/2)))
(*.f64 4 (*.f64 (+.f64 (*.f64 (-.f64 d2 d3) 1/2) (/.f64 (-.f64 d1 d4) -2)) (*.f64 d1 1/2)))
(*.f64 (*.f64 d1 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 4)) 1/4)
(*.f64 (*.f64 2 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) (*.f64 d1 1/2))
(*.f64 1/2 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 2))
(*.f64 1/2 (+.f64 (*.f64 -2 (*.f64 (-.f64 d1 d4) d1)) (*.f64 (-.f64 d2 d3) (+.f64 d1 d1))))
(*.f64 1/2 (+.f64 (*.f64 (-.f64 d2 d3) (+.f64 d1 d1)) (*.f64 -2 (*.f64 (-.f64 d1 d4) d1))))
(*.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))))
(*.f64 (*.f64 d1 1/2) (+.f64 (*.f64 (-.f64 d1 d4) -2) (*.f64 (-.f64 d2 d3) 2)))
(*.f64 (*.f64 d1 1/2) (+.f64 (*.f64 (-.f64 d2 d3) 2) (*.f64 (-.f64 d1 d4) -2)))
(*.f64 (*.f64 d1 (/.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 2)) 2)
(*.f64 -2 (*.f64 (+.f64 (-.f64 d1 d4) (-.f64 d3 d2)) (*.f64 d1 1/2)))
(*.f64 -2 (*.f64 (+.f64 (-.f64 d3 d2) (-.f64 d1 d4)) (*.f64 d1 1/2)))
(*.f64 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 1/2) (+.f64 d1 d1))
(*.f64 1/4 (*.f64 d1 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 4)))
(*.f64 (/.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 2) (+.f64 d1 d1))
(*.f64 (/.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 4) 4)
(*.f64 (+.f64 (*.f64 (-.f64 d1 d4) -2) (*.f64 (-.f64 d2 d3) 2)) (*.f64 d1 1/2))
(*.f64 (+.f64 (*.f64 (-.f64 d2 d3) 2) (*.f64 (-.f64 d1 d4) -2)) (*.f64 d1 1/2))
(/.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 1)
(/.f64 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 2) 2)
(/.f64 (*.f64 d1 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 4)) 4)
(/.f64 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 8)))) 64)
(pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 1)
(+.f64 (*.f64 d1 (-.f64 d4 d1)) 0)
(+.f64 0 (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (/.f64 (-.f64 d1 d4) -2)) (*.f64 d1 (/.f64 (-.f64 d1 d4) -2)))
(-.f64 (*.f64 d1 (-.f64 d4 d1)) 0)
(/.f64 (*.f64 d1 (-.f64 d4 d1)) 1)
(/.f64 (*.f64 -2 (*.f64 (-.f64 d1 d4) d1)) 2)
(/.f64 (*.f64 -4 (*.f64 (-.f64 d1 d4) d1)) 4)
(/.f64 (*.f64 (*.f64 d1 (-.f64 d4 d1)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d4 d1)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d4 d1)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d4 d1)) 8)))) 64)
(pow.f64 (*.f64 d1 (-.f64 d4 d1)) 1)
(+.f64 (*.f64 d1 (-.f64 d2 d3)) 0)
(+.f64 0 (*.f64 d1 (-.f64 d2 d3)))
(+.f64 (*.f64 (-.f64 d2 d3) (*.f64 d1 1/2)) (*.f64 (-.f64 d2 d3) (*.f64 d1 1/2)))
(-.f64 (*.f64 d1 (-.f64 d2 d3)) 0)
(/.f64 (*.f64 d1 (-.f64 d2 d3)) 1)
(/.f64 (*.f64 (-.f64 d2 d3) (+.f64 d1 d1)) 2)
(/.f64 (*.f64 (-.f64 d2 d3) (*.f64 d1 4)) 4)
(/.f64 (*.f64 (*.f64 d1 (-.f64 d2 d3)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 d3)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 d3)) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 d3)) 8)))) 64)
(pow.f64 (*.f64 d1 (-.f64 d2 d3)) 1)
Outputs
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (-.f64 d2 d3)) (*.f64 -1 d4)) d1)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (-.f64 d2 d3)) (*.f64 -1 d4)) d1)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (-.f64 d2 d3)) (*.f64 -1 d4)) d1)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 (-.f64 d4 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d1) (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))))
(*.f64 d1 (+.f64 d2 (+.f64 (-.f64 d4 d1) (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))))
(*.f64 d1 (+.f64 d2 (+.f64 (-.f64 d4 d1) (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))))
(*.f64 d1 (+.f64 d2 (+.f64 (-.f64 d4 d1) (neg.f64 d3))))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))))
(*.f64 d1 (+.f64 d2 (+.f64 (-.f64 d4 d1) (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))))
(*.f64 d1 (+.f64 d2 (+.f64 (-.f64 d4 d1) (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))))
(*.f64 d1 (+.f64 d2 (+.f64 (-.f64 d4 d1) (neg.f64 d3))))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))))
(*.f64 d1 (+.f64 d2 (+.f64 (-.f64 d4 d1) (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))))
(*.f64 d1 (+.f64 d2 (+.f64 (-.f64 d4 d1) (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))))
(*.f64 d1 (+.f64 d2 (+.f64 (-.f64 d4 d1) (neg.f64 d3))))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))))
(*.f64 d1 (+.f64 d2 (+.f64 (-.f64 d4 d1) (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))))
(*.f64 d1 (+.f64 d2 (+.f64 (-.f64 d4 d1) (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))))
(*.f64 d1 (+.f64 d2 (+.f64 (-.f64 d4 d1) (neg.f64 d3))))
(*.f64 -1 (*.f64 d1 d3))
(*.f64 d1 (*.f64 d3 -1))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))))
(*.f64 d1 (+.f64 d2 (+.f64 (-.f64 d4 d1) (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))))
(*.f64 d1 (+.f64 d2 (+.f64 (-.f64 d4 d1) (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))))
(*.f64 d1 (+.f64 d2 (+.f64 (-.f64 d4 d1) (neg.f64 d3))))
(*.f64 -1 (*.f64 d1 d3))
(*.f64 d1 (*.f64 d3 -1))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))))
(*.f64 d1 (+.f64 d2 (+.f64 (-.f64 d4 d1) (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))))
(*.f64 d1 (+.f64 d2 (+.f64 (-.f64 d4 d1) (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))))
(*.f64 d1 (+.f64 d2 (+.f64 (-.f64 d4 d1) (neg.f64 d3))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d2 d3) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 d2 d3)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (-.f64 d2 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(*.f64 d1 d4)
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(*.f64 d1 d4)
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(*.f64 d1 d4)
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(*.f64 d1 d4)
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(*.f64 d1 d4)
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(*.f64 (-.f64 d2 d3) d1)
(*.f64 d1 (-.f64 d2 d3))
(*.f64 (-.f64 d2 d3) d1)
(*.f64 d1 (-.f64 d2 d3))
(*.f64 (-.f64 d2 d3) d1)
(*.f64 d1 (-.f64 d2 d3))
(*.f64 (-.f64 d2 d3) d1)
(*.f64 d1 (-.f64 d2 d3))
(*.f64 (-.f64 d2 d3) d1)
(*.f64 d1 (-.f64 d2 d3))
(*.f64 (-.f64 d2 d3) d1)
(*.f64 d1 (-.f64 d2 d3))
(*.f64 (-.f64 d2 d3) d1)
(*.f64 d1 (-.f64 d2 d3))
(*.f64 (-.f64 d2 d3) d1)
(*.f64 d1 (-.f64 d2 d3))
(*.f64 (-.f64 d2 d3) d1)
(*.f64 d1 (-.f64 d2 d3))
(*.f64 (-.f64 d2 d3) d1)
(*.f64 d1 (-.f64 d2 d3))
(*.f64 (-.f64 d2 d3) d1)
(*.f64 d1 (-.f64 d2 d3))
(*.f64 (-.f64 d2 d3) d1)
(*.f64 d1 (-.f64 d2 d3))
(*.f64 -1 (*.f64 d1 d3))
(*.f64 d1 (*.f64 d3 -1))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(*.f64 -1 (*.f64 d1 d3))
(*.f64 d1 (*.f64 d3 -1))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(*.f64 -1 (*.f64 d1 d3))
(*.f64 d1 (*.f64 d3 -1))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(-.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 0)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 1)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 1 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 2 (*.f64 d1 (/.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 2)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 2 (+.f64 (*.f64 d1 (/.f64 (-.f64 d1 d4) -2)) (*.f64 (-.f64 d2 d3) (*.f64 d1 1/2))))
(*.f64 2 (*.f64 d1 (+.f64 (/.f64 (-.f64 d1 d4) -2) (*.f64 (-.f64 d2 d3) 1/2))))
(*.f64 d1 (*.f64 (+.f64 (/.f64 (-.f64 d1 d4) -2) (*.f64 (-.f64 d2 d3) 1/2)) 2))
(*.f64 2 (*.f64 d1 (+.f64 (/.f64 (-.f64 d2 d3) 2) (/.f64 (-.f64 d1 d4) -2))))
(*.f64 2 (*.f64 d1 (+.f64 (/.f64 (-.f64 d1 d4) -2) (/.f64 (-.f64 d2 d3) 2))))
(*.f64 2 (+.f64 (*.f64 (-.f64 d2 d3) (*.f64 d1 1/2)) (*.f64 d1 (/.f64 (-.f64 d1 d4) -2))))
(*.f64 2 (+.f64 (*.f64 d1 (/.f64 (-.f64 d1 d4) -2)) (*.f64 (-.f64 d2 d3) (*.f64 d1 1/2))))
(*.f64 2 (*.f64 d1 (+.f64 (/.f64 (-.f64 d1 d4) -2) (*.f64 (-.f64 d2 d3) 1/2))))
(*.f64 d1 (*.f64 (+.f64 (/.f64 (-.f64 d1 d4) -2) (*.f64 (-.f64 d2 d3) 1/2)) 2))
(*.f64 2 (*.f64 d1 (+.f64 (/.f64 (-.f64 d2 d3) 2) (/.f64 (-.f64 d1 d4) -2))))
(*.f64 2 (*.f64 d1 (+.f64 (/.f64 (-.f64 d1 d4) -2) (/.f64 (-.f64 d2 d3) 2))))
(*.f64 2 (*.f64 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 1/2) d1))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 2) 1/2)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 (+.f64 d1 d1) (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 1/2))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 (+.f64 d1 d1) (/.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 2))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 (+.f64 d1 d1) (+.f64 (/.f64 (-.f64 d1 d4) -2) (*.f64 (-.f64 d2 d3) 1/2)))
(*.f64 2 (+.f64 (*.f64 d1 (/.f64 (-.f64 d1 d4) -2)) (*.f64 (-.f64 d2 d3) (*.f64 d1 1/2))))
(*.f64 2 (*.f64 d1 (+.f64 (/.f64 (-.f64 d1 d4) -2) (*.f64 (-.f64 d2 d3) 1/2))))
(*.f64 d1 (*.f64 (+.f64 (/.f64 (-.f64 d1 d4) -2) (*.f64 (-.f64 d2 d3) 1/2)) 2))
(*.f64 2 (*.f64 d1 (+.f64 (/.f64 (-.f64 d2 d3) 2) (/.f64 (-.f64 d1 d4) -2))))
(*.f64 2 (*.f64 d1 (+.f64 (/.f64 (-.f64 d1 d4) -2) (/.f64 (-.f64 d2 d3) 2))))
(*.f64 (+.f64 d1 d1) (+.f64 (*.f64 (-.f64 d2 d3) 1/2) (/.f64 (-.f64 d1 d4) -2)))
(*.f64 2 (+.f64 (*.f64 d1 (/.f64 (-.f64 d1 d4) -2)) (*.f64 (-.f64 d2 d3) (*.f64 d1 1/2))))
(*.f64 2 (*.f64 d1 (+.f64 (/.f64 (-.f64 d1 d4) -2) (*.f64 (-.f64 d2 d3) 1/2))))
(*.f64 d1 (*.f64 (+.f64 (/.f64 (-.f64 d1 d4) -2) (*.f64 (-.f64 d2 d3) 1/2)) 2))
(*.f64 2 (*.f64 d1 (+.f64 (/.f64 (-.f64 d2 d3) 2) (/.f64 (-.f64 d1 d4) -2))))
(*.f64 2 (*.f64 d1 (+.f64 (/.f64 (-.f64 d1 d4) -2) (/.f64 (-.f64 d2 d3) 2))))
(*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) d1)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 4 (/.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 4))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 4 (*.f64 (+.f64 (/.f64 (-.f64 d1 d4) -2) (*.f64 (-.f64 d2 d3) 1/2)) (*.f64 d1 1/2)))
(*.f64 2 (+.f64 (*.f64 d1 (/.f64 (-.f64 d1 d4) -2)) (*.f64 (-.f64 d2 d3) (*.f64 d1 1/2))))
(*.f64 2 (*.f64 d1 (+.f64 (/.f64 (-.f64 d1 d4) -2) (*.f64 (-.f64 d2 d3) 1/2))))
(*.f64 d1 (*.f64 (+.f64 (/.f64 (-.f64 d1 d4) -2) (*.f64 (-.f64 d2 d3) 1/2)) 2))
(*.f64 2 (*.f64 d1 (+.f64 (/.f64 (-.f64 d2 d3) 2) (/.f64 (-.f64 d1 d4) -2))))
(*.f64 2 (*.f64 d1 (+.f64 (/.f64 (-.f64 d1 d4) -2) (/.f64 (-.f64 d2 d3) 2))))
(*.f64 4 (*.f64 (+.f64 (*.f64 (-.f64 d2 d3) 1/2) (/.f64 (-.f64 d1 d4) -2)) (*.f64 d1 1/2)))
(*.f64 2 (+.f64 (*.f64 d1 (/.f64 (-.f64 d1 d4) -2)) (*.f64 (-.f64 d2 d3) (*.f64 d1 1/2))))
(*.f64 2 (*.f64 d1 (+.f64 (/.f64 (-.f64 d1 d4) -2) (*.f64 (-.f64 d2 d3) 1/2))))
(*.f64 d1 (*.f64 (+.f64 (/.f64 (-.f64 d1 d4) -2) (*.f64 (-.f64 d2 d3) 1/2)) 2))
(*.f64 2 (*.f64 d1 (+.f64 (/.f64 (-.f64 d2 d3) 2) (/.f64 (-.f64 d1 d4) -2))))
(*.f64 2 (*.f64 d1 (+.f64 (/.f64 (-.f64 d1 d4) -2) (/.f64 (-.f64 d2 d3) 2))))
(*.f64 (*.f64 d1 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 4)) 1/4)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 (*.f64 2 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) (*.f64 d1 1/2))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 1/2 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 2))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 1/2 (+.f64 (*.f64 -2 (*.f64 (-.f64 d1 d4) d1)) (*.f64 (-.f64 d2 d3) (+.f64 d1 d1))))
(*.f64 1/2 (+.f64 (*.f64 (-.f64 d1 d4) (*.f64 d1 -2)) (*.f64 (-.f64 d2 d3) (+.f64 d1 d1))))
(*.f64 1/2 (+.f64 (*.f64 d1 (*.f64 (-.f64 d1 d4) -2)) (*.f64 d1 (*.f64 2 (-.f64 d2 d3)))))
(*.f64 d1 (*.f64 1/2 (+.f64 (*.f64 (-.f64 d1 d4) -2) (*.f64 2 (-.f64 d2 d3)))))
(*.f64 1/2 (+.f64 (*.f64 (-.f64 d2 d3) (+.f64 d1 d1)) (*.f64 -2 (*.f64 (-.f64 d1 d4) d1))))
(*.f64 1/2 (+.f64 (*.f64 (-.f64 d1 d4) (*.f64 d1 -2)) (*.f64 (-.f64 d2 d3) (+.f64 d1 d1))))
(*.f64 1/2 (+.f64 (*.f64 d1 (*.f64 (-.f64 d1 d4) -2)) (*.f64 d1 (*.f64 2 (-.f64 d2 d3)))))
(*.f64 d1 (*.f64 1/2 (+.f64 (*.f64 (-.f64 d1 d4) -2) (*.f64 2 (-.f64 d2 d3)))))
(*.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 (*.f64 d1 1/2) (+.f64 (*.f64 (-.f64 d1 d4) -2) (*.f64 (-.f64 d2 d3) 2)))
(*.f64 1/2 (+.f64 (*.f64 (-.f64 d1 d4) (*.f64 d1 -2)) (*.f64 (-.f64 d2 d3) (+.f64 d1 d1))))
(*.f64 1/2 (+.f64 (*.f64 d1 (*.f64 (-.f64 d1 d4) -2)) (*.f64 d1 (*.f64 2 (-.f64 d2 d3)))))
(*.f64 d1 (*.f64 1/2 (+.f64 (*.f64 (-.f64 d1 d4) -2) (*.f64 2 (-.f64 d2 d3)))))
(*.f64 (*.f64 d1 1/2) (+.f64 (*.f64 (-.f64 d2 d3) 2) (*.f64 (-.f64 d1 d4) -2)))
(*.f64 1/2 (+.f64 (*.f64 (-.f64 d1 d4) (*.f64 d1 -2)) (*.f64 (-.f64 d2 d3) (+.f64 d1 d1))))
(*.f64 1/2 (+.f64 (*.f64 d1 (*.f64 (-.f64 d1 d4) -2)) (*.f64 d1 (*.f64 2 (-.f64 d2 d3)))))
(*.f64 d1 (*.f64 1/2 (+.f64 (*.f64 (-.f64 d1 d4) -2) (*.f64 2 (-.f64 d2 d3)))))
(*.f64 (*.f64 d1 (/.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 2)) 2)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 -2 (*.f64 (+.f64 (-.f64 d1 d4) (-.f64 d3 d2)) (*.f64 d1 1/2)))
(*.f64 (+.f64 (-.f64 d1 d4) (-.f64 d3 d2)) (*.f64 (*.f64 d1 1/2) -2))
(*.f64 -2 (*.f64 (*.f64 d1 1/2) (+.f64 (-.f64 d1 d4) (-.f64 d3 d2))))
(*.f64 (+.f64 (-.f64 d1 d4) (-.f64 d3 d2)) (neg.f64 d1))
(*.f64 (+.f64 (-.f64 d3 d2) (-.f64 d1 d4)) (neg.f64 d1))
(*.f64 -2 (*.f64 (+.f64 (-.f64 d3 d2) (-.f64 d1 d4)) (*.f64 d1 1/2)))
(*.f64 (+.f64 (-.f64 d1 d4) (-.f64 d3 d2)) (*.f64 (*.f64 d1 1/2) -2))
(*.f64 -2 (*.f64 (*.f64 d1 1/2) (+.f64 (-.f64 d1 d4) (-.f64 d3 d2))))
(*.f64 (+.f64 (-.f64 d1 d4) (-.f64 d3 d2)) (neg.f64 d1))
(*.f64 (+.f64 (-.f64 d3 d2) (-.f64 d1 d4)) (neg.f64 d1))
(*.f64 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 1/2) (+.f64 d1 d1))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 1/4 (*.f64 d1 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 4)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 (/.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 2) (+.f64 d1 d1))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 (/.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 4) 4)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 (+.f64 (*.f64 (-.f64 d1 d4) -2) (*.f64 (-.f64 d2 d3) 2)) (*.f64 d1 1/2))
(*.f64 1/2 (+.f64 (*.f64 (-.f64 d1 d4) (*.f64 d1 -2)) (*.f64 (-.f64 d2 d3) (+.f64 d1 d1))))
(*.f64 1/2 (+.f64 (*.f64 d1 (*.f64 (-.f64 d1 d4) -2)) (*.f64 d1 (*.f64 2 (-.f64 d2 d3)))))
(*.f64 d1 (*.f64 1/2 (+.f64 (*.f64 (-.f64 d1 d4) -2) (*.f64 2 (-.f64 d2 d3)))))
(*.f64 (+.f64 (*.f64 (-.f64 d2 d3) 2) (*.f64 (-.f64 d1 d4) -2)) (*.f64 d1 1/2))
(*.f64 1/2 (+.f64 (*.f64 (-.f64 d1 d4) (*.f64 d1 -2)) (*.f64 (-.f64 d2 d3) (+.f64 d1 d1))))
(*.f64 1/2 (+.f64 (*.f64 d1 (*.f64 (-.f64 d1 d4) -2)) (*.f64 d1 (*.f64 2 (-.f64 d2 d3)))))
(*.f64 d1 (*.f64 1/2 (+.f64 (*.f64 (-.f64 d1 d4) -2) (*.f64 2 (-.f64 d2 d3)))))
(/.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 1)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(/.f64 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 2) 2)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(/.f64 (*.f64 d1 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 4)) 4)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(/.f64 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 8) 8)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 8)) 16)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 8))) 32)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 8)))) 64)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 1)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) 0)
(*.f64 d1 (-.f64 d4 d1))
(+.f64 0 (*.f64 d1 (-.f64 d4 d1)))
(*.f64 d1 (-.f64 d4 d1))
(+.f64 (*.f64 d1 (/.f64 (-.f64 d1 d4) -2)) (*.f64 d1 (/.f64 (-.f64 d1 d4) -2)))
(*.f64 (/.f64 (-.f64 d1 d4) -2) (+.f64 d1 d1))
(*.f64 d1 (*.f64 2 (/.f64 (-.f64 d1 d4) -2)))
(-.f64 (*.f64 d1 (-.f64 d4 d1)) 0)
(*.f64 d1 (-.f64 d4 d1))
(/.f64 (*.f64 d1 (-.f64 d4 d1)) 1)
(*.f64 d1 (-.f64 d4 d1))
(/.f64 (*.f64 -2 (*.f64 (-.f64 d1 d4) d1)) 2)
(*.f64 d1 (-.f64 d4 d1))
(/.f64 (*.f64 -4 (*.f64 (-.f64 d1 d4) d1)) 4)
(*.f64 d1 (-.f64 d4 d1))
(/.f64 (*.f64 (*.f64 d1 (-.f64 d4 d1)) 8) 8)
(*.f64 d1 (-.f64 d4 d1))
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d4 d1)) 8)) 16)
(*.f64 d1 (-.f64 d4 d1))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d4 d1)) 8))) 32)
(*.f64 d1 (-.f64 d4 d1))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d4 d1)) 8)))) 64)
(*.f64 d1 (-.f64 d4 d1))
(pow.f64 (*.f64 d1 (-.f64 d4 d1)) 1)
(*.f64 d1 (-.f64 d4 d1))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) 0)
(*.f64 d1 (-.f64 d2 d3))
(+.f64 0 (*.f64 d1 (-.f64 d2 d3)))
(*.f64 d1 (-.f64 d2 d3))
(+.f64 (*.f64 (-.f64 d2 d3) (*.f64 d1 1/2)) (*.f64 (-.f64 d2 d3) (*.f64 d1 1/2)))
(*.f64 d1 (-.f64 d2 d3))
(-.f64 (*.f64 d1 (-.f64 d2 d3)) 0)
(*.f64 d1 (-.f64 d2 d3))
(/.f64 (*.f64 d1 (-.f64 d2 d3)) 1)
(*.f64 d1 (-.f64 d2 d3))
(/.f64 (*.f64 (-.f64 d2 d3) (+.f64 d1 d1)) 2)
(*.f64 d1 (-.f64 d2 d3))
(/.f64 (*.f64 (-.f64 d2 d3) (*.f64 d1 4)) 4)
(*.f64 d1 (-.f64 d2 d3))
(/.f64 (*.f64 (*.f64 d1 (-.f64 d2 d3)) 8) 8)
(*.f64 d1 (-.f64 d2 d3))
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 d3)) 8)) 16)
(*.f64 d1 (-.f64 d2 d3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 d3)) 8))) 32)
(*.f64 d1 (-.f64 d2 d3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 d3)) 8)))) 64)
(*.f64 d1 (-.f64 d2 d3))
(pow.f64 (*.f64 d1 (-.f64 d2 d3)) 1)
(*.f64 d1 (-.f64 d2 d3))

localize12.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 42 to 10 computations (76.2% saved)

series48.0ms (0.3%)

Counts
2 → 72
Calls

18 calls:

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

rewrite70.0ms (0.4%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01244
18138
218538
346238
4147438
5474338
Stop Event
node limit
Counts
2 → 46
Calls
Call 1
Inputs
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (-.f64 (*.f64 d1 d4) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 d4) (*.f64 d1 d1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (*.f64 2 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) d1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 d1 (*.f64 2 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 2 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 4)) (*.f64 2 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 d4) (neg.f64 (*.f64 d1 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (-.f64 d4 d1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 d1 (-.f64 d4 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 d1 d1)) (*.f64 d1 d4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 d1 (-.f64 d1 d4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (*.f64 d1 d4) (-.f64 1 (*.f64 d1 d1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (*.f64 d1 (-.f64 d1 d4))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 d1 d4) (-.f64 1 (*.f64 d1 d1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 d1 (-.f64 d4 d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (-.f64 d4 d1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 d1 (-.f64 d4 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 d4 d1) d1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 d1 (-.f64 d4 d1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (*.f64 (-.f64 d4 d1) 2)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (/.f64 (-.f64 d4 d1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (-.f64 d1 d4)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 d4 d1) 2) (/.f64 d1 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 d1 (-.f64 d1 d4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 d1 (*.f64 (-.f64 d4 d1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 d1 2) (*.f64 (-.f64 d4 d1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 d1 (-.f64 d4 d1)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 d4 d1) 2) (+.f64 d1 d1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (-.f64 d4 d1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 (-.f64 d4 d1) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (-.f64 d1 d4)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 (-.f64 d4 d1) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 d1) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 2 (-.f64 d1 d4))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 d1) 4))) (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 d1) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (-.f64 d4 d1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 d1 (-.f64 d1 d4)))))))

simplify111.0ms (0.7%)

Algorithm
egg-herbie
Rules
1366×rational.json-simplify-2
1144×rational.json-simplify-61
980×rational.json-simplify-41
970×rational.json-simplify-59
862×rational.json-simplify-35
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01202954
12602812
25562680
314222668
429712668
567442668
Stop Event
node limit
Counts
118 → 88
Calls
Call 1
Inputs
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (-.f64 d2 d3)) (*.f64 -1 d4)) d1)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (-.f64 d2 d3)) (*.f64 -1 d4)) d1)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (-.f64 d2 d3)) (*.f64 -1 d4)) d1)) (*.f64 -1 (pow.f64 d1 2)))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4))) (pow.f64 d1 2))
(*.f64 d2 d1)
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1))) (pow.f64 d1 2))
(*.f64 d2 d1)
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1))) (pow.f64 d1 2))
(*.f64 -1 (*.f64 d1 d3))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1))) (pow.f64 d1 2))
(*.f64 -1 (*.f64 d1 d3))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1))) (pow.f64 d1 2))
(-.f64 (*.f64 (-.f64 d2 d3) d1) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)) (pow.f64 d1 2))
(*.f64 d1 d4)
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)) (pow.f64 d1 2))
(*.f64 d1 d4)
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)) (pow.f64 d1 2))
(*.f64 d1 d4)
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(*.f64 d1 d4)
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(*.f64 d1 d4)
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(-.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 0)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 1)
(*.f64 1 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))))
(*.f64 2 (/.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 2))
(*.f64 (*.f64 d1 (*.f64 2 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))) 1/2)
(*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) d1)
(*.f64 1/2 (*.f64 d1 (*.f64 2 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))))
(*.f64 (/.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 2) 2)
(/.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 1)
(/.f64 (*.f64 d1 (*.f64 2 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))) 2)
(/.f64 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 4)) (*.f64 2 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 4))) 16)
(pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 1)
(+.f64 (*.f64 d1 d4) (neg.f64 (*.f64 d1 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) 0)
(+.f64 0 (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (neg.f64 (*.f64 d1 d1)) (*.f64 d1 d4))
(+.f64 -1 (-.f64 1 (*.f64 d1 (-.f64 d1 d4))))
(+.f64 -1 (+.f64 (*.f64 d1 d4) (-.f64 1 (*.f64 d1 d1))))
(+.f64 (-.f64 1 (*.f64 d1 (-.f64 d1 d4))) -1)
(+.f64 (+.f64 (*.f64 d1 d4) (-.f64 1 (*.f64 d1 d1))) -1)
(*.f64 d1 (-.f64 d4 d1))
(*.f64 (*.f64 d1 (-.f64 d4 d1)) 1)
(*.f64 1 (*.f64 d1 (-.f64 d4 d1)))
(*.f64 (-.f64 d4 d1) d1)
(*.f64 2 (/.f64 (*.f64 d1 (-.f64 d4 d1)) 2))
(*.f64 (*.f64 d1 (*.f64 (-.f64 d4 d1) 2)) 1/2)
(*.f64 (+.f64 d1 d1) (/.f64 (-.f64 d4 d1) 2))
(*.f64 (*.f64 d1 (-.f64 d1 d4)) -1)
(*.f64 (*.f64 (-.f64 d4 d1) 2) (/.f64 d1 2))
(*.f64 -1 (*.f64 d1 (-.f64 d1 d4)))
(*.f64 1/2 (*.f64 d1 (*.f64 (-.f64 d4 d1) 2)))
(*.f64 (/.f64 d1 2) (*.f64 (-.f64 d4 d1) 2))
(*.f64 (/.f64 (*.f64 d1 (-.f64 d4 d1)) 2) 2)
(*.f64 (/.f64 (-.f64 d4 d1) 2) (+.f64 d1 d1))
(/.f64 (*.f64 d1 (-.f64 d4 d1)) 1)
(/.f64 (*.f64 d1 (*.f64 (-.f64 d4 d1) 2)) 2)
(/.f64 (*.f64 d1 (-.f64 d1 d4)) -1)
(/.f64 (*.f64 d1 (*.f64 (-.f64 d4 d1) 4)) 4)
(/.f64 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 d1) 4))) 8)
(/.f64 (*.f64 d1 (*.f64 2 (-.f64 d1 d4))) -2)
(/.f64 (+.f64 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 d1) 4))) (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 d1) 4)))) 16)
(pow.f64 (*.f64 d1 (-.f64 d4 d1)) 1)
(neg.f64 (*.f64 d1 (-.f64 d1 d4)))
Outputs
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (neg.f64 (pow.f64 d1 2)))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (neg.f64 (pow.f64 d1 2)))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (-.f64 d2 d3)) (*.f64 -1 d4)) d1)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (+.f64 (*.f64 -1 (-.f64 d2 d3)) (*.f64 d4 -1)) (*.f64 d1 -1)))
(*.f64 -1 (+.f64 (*.f64 d1 (*.f64 -1 (-.f64 (+.f64 d2 d4) d3))) (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 (*.f64 (+.f64 d2 (-.f64 d4 d3)) -1))))
(neg.f64 (+.f64 (pow.f64 d1 2) (*.f64 d1 (neg.f64 (+.f64 d2 (-.f64 d4 d3))))))
(neg.f64 (+.f64 (pow.f64 d1 2) (*.f64 d1 (+.f64 (-.f64 d3 d2) (neg.f64 d4)))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (-.f64 d2 d3)) (*.f64 -1 d4)) d1)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (+.f64 (*.f64 -1 (-.f64 d2 d3)) (*.f64 d4 -1)) (*.f64 d1 -1)))
(*.f64 -1 (+.f64 (*.f64 d1 (*.f64 -1 (-.f64 (+.f64 d2 d4) d3))) (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 (*.f64 (+.f64 d2 (-.f64 d4 d3)) -1))))
(neg.f64 (+.f64 (pow.f64 d1 2) (*.f64 d1 (neg.f64 (+.f64 d2 (-.f64 d4 d3))))))
(neg.f64 (+.f64 (pow.f64 d1 2) (*.f64 d1 (+.f64 (-.f64 d3 d2) (neg.f64 d4)))))
(+.f64 (*.f64 -1 (*.f64 (+.f64 (*.f64 -1 (-.f64 d2 d3)) (*.f64 -1 d4)) d1)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (+.f64 (*.f64 -1 (-.f64 d2 d3)) (*.f64 d4 -1)) (*.f64 d1 -1)))
(*.f64 -1 (+.f64 (*.f64 d1 (*.f64 -1 (-.f64 (+.f64 d2 d4) d3))) (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 (*.f64 (+.f64 d2 (-.f64 d4 d3)) -1))))
(neg.f64 (+.f64 (pow.f64 d1 2) (*.f64 d1 (neg.f64 (+.f64 d2 (-.f64 d4 d3))))))
(neg.f64 (+.f64 (pow.f64 d1 2) (*.f64 d1 (+.f64 (-.f64 d3 d2) (neg.f64 d4)))))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d4)) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 d4 (neg.f64 d3))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4))) (pow.f64 d1 2))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (-.f64 (*.f64 d1 (*.f64 d3 -1)) (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (-.f64 (*.f64 d1 (+.f64 d2 d4)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 (+.f64 d2 d4) (neg.f64 d3))) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 d4 (+.f64 d2 (neg.f64 d3)))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4))) (pow.f64 d1 2))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (-.f64 (*.f64 d1 (*.f64 d3 -1)) (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (-.f64 (*.f64 d1 (+.f64 d2 d4)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 (+.f64 d2 d4) (neg.f64 d3))) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 d4 (+.f64 d2 (neg.f64 d3)))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4))) (pow.f64 d1 2))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (-.f64 (*.f64 d1 (*.f64 d3 -1)) (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (-.f64 (*.f64 d1 (+.f64 d2 d4)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 (+.f64 d2 d4) (neg.f64 d3))) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 d4 (+.f64 d2 (neg.f64 d3)))) (pow.f64 d1 2))
(*.f64 d2 d1)
(*.f64 d1 d2)
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1))) (pow.f64 d1 2))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (-.f64 (*.f64 d1 (*.f64 d3 -1)) (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (-.f64 (*.f64 d1 (+.f64 d2 d4)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 (+.f64 d2 d4) (neg.f64 d3))) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 d4 (+.f64 d2 (neg.f64 d3)))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1))) (pow.f64 d1 2))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (-.f64 (*.f64 d1 (*.f64 d3 -1)) (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (-.f64 (*.f64 d1 (+.f64 d2 d4)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 (+.f64 d2 d4) (neg.f64 d3))) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 d4 (+.f64 d2 (neg.f64 d3)))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1))) (pow.f64 d1 2))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (-.f64 (*.f64 d1 (*.f64 d3 -1)) (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (-.f64 (*.f64 d1 (+.f64 d2 d4)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 (+.f64 d2 d4) (neg.f64 d3))) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 d4 (+.f64 d2 (neg.f64 d3)))) (pow.f64 d1 2))
(*.f64 d2 d1)
(*.f64 d1 d2)
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1))) (pow.f64 d1 2))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (-.f64 (*.f64 d1 (*.f64 d3 -1)) (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (-.f64 (*.f64 d1 (+.f64 d2 d4)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 (+.f64 d2 d4) (neg.f64 d3))) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 d4 (+.f64 d2 (neg.f64 d3)))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1))) (pow.f64 d1 2))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (-.f64 (*.f64 d1 (*.f64 d3 -1)) (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (-.f64 (*.f64 d1 (+.f64 d2 d4)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 (+.f64 d2 d4) (neg.f64 d3))) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 d4 (+.f64 d2 (neg.f64 d3)))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1))) (pow.f64 d1 2))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (-.f64 (*.f64 d1 (*.f64 d3 -1)) (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (-.f64 (*.f64 d1 (+.f64 d2 d4)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 (+.f64 d2 d4) (neg.f64 d3))) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 d4 (+.f64 d2 (neg.f64 d3)))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1))) (pow.f64 d1 2))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (-.f64 (*.f64 d1 (*.f64 d3 -1)) (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (-.f64 (*.f64 d1 (+.f64 d2 d4)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 (+.f64 d2 d4) (neg.f64 d3))) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 d4 (+.f64 d2 (neg.f64 d3)))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1))) (pow.f64 d1 2))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (-.f64 (*.f64 d1 (*.f64 d3 -1)) (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (-.f64 (*.f64 d1 (+.f64 d2 d4)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 (+.f64 d2 d4) (neg.f64 d3))) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 d4 (+.f64 d2 (neg.f64 d3)))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1))) (pow.f64 d1 2))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (-.f64 (*.f64 d1 (*.f64 d3 -1)) (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (-.f64 (*.f64 d1 (+.f64 d2 d4)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 (+.f64 d2 d4) (neg.f64 d3))) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 d4 (+.f64 d2 (neg.f64 d3)))) (pow.f64 d1 2))
(*.f64 -1 (*.f64 d1 d3))
(*.f64 d1 (*.f64 d3 -1))
(*.f64 d1 (neg.f64 d3))
(*.f64 d3 (neg.f64 d1))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1))) (pow.f64 d1 2))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (-.f64 (*.f64 d1 (*.f64 d3 -1)) (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (-.f64 (*.f64 d1 (+.f64 d2 d4)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 (+.f64 d2 d4) (neg.f64 d3))) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 d4 (+.f64 d2 (neg.f64 d3)))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1))) (pow.f64 d1 2))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (-.f64 (*.f64 d1 (*.f64 d3 -1)) (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (-.f64 (*.f64 d1 (+.f64 d2 d4)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 (+.f64 d2 d4) (neg.f64 d3))) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 d4 (+.f64 d2 (neg.f64 d3)))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1))) (pow.f64 d1 2))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (-.f64 (*.f64 d1 (*.f64 d3 -1)) (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (-.f64 (*.f64 d1 (+.f64 d2 d4)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 (+.f64 d2 d4) (neg.f64 d3))) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 d4 (+.f64 d2 (neg.f64 d3)))) (pow.f64 d1 2))
(*.f64 -1 (*.f64 d1 d3))
(*.f64 d1 (*.f64 d3 -1))
(*.f64 d1 (neg.f64 d3))
(*.f64 d3 (neg.f64 d1))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1))) (pow.f64 d1 2))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (-.f64 (*.f64 d1 (*.f64 d3 -1)) (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (-.f64 (*.f64 d1 (+.f64 d2 d4)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 (+.f64 d2 d4) (neg.f64 d3))) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 d4 (+.f64 d2 (neg.f64 d3)))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1))) (pow.f64 d1 2))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (-.f64 (*.f64 d1 (*.f64 d3 -1)) (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (-.f64 (*.f64 d1 (+.f64 d2 d4)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 (+.f64 d2 d4) (neg.f64 d3))) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 d4 (+.f64 d2 (neg.f64 d3)))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1))) (pow.f64 d1 2))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (-.f64 (*.f64 d1 (*.f64 d3 -1)) (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (neg.f64 d3)) (-.f64 (*.f64 d1 (+.f64 d2 d4)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 (+.f64 d2 d4) (neg.f64 d3))) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 d4 (+.f64 d2 (neg.f64 d3)))) (pow.f64 d1 2))
(-.f64 (*.f64 (-.f64 d2 d3) d1) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (-.f64 d2 d3)) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (pow.f64 d1 2))
(*.f64 d1 d4)
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (pow.f64 d1 2))
(*.f64 d1 d4)
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1)) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (pow.f64 d1 2))
(*.f64 d1 d4)
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(*.f64 d1 d4)
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(*.f64 d1 d4)
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d4))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d4))
(-.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 0)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 1)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 1 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 2 (/.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 2))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 (*.f64 d1 (*.f64 2 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))) 1/2)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) d1)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 1/2 (*.f64 d1 (*.f64 2 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 (/.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 2) 2)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(/.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 1)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(/.f64 (*.f64 d1 (*.f64 2 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))) 2)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(/.f64 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 4) 4)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 4)) 8)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 4)) (*.f64 2 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 4))) 16)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 1)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(+.f64 (*.f64 d1 d4) (neg.f64 (*.f64 d1 d1)))
(+.f64 (*.f64 d1 d4) (*.f64 d1 (neg.f64 d1)))
(*.f64 d1 (+.f64 d4 (neg.f64 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) 0)
(*.f64 d1 (-.f64 d4 d1))
(+.f64 0 (*.f64 d1 (-.f64 d4 d1)))
(*.f64 d1 (-.f64 d4 d1))
(+.f64 (neg.f64 (*.f64 d1 d1)) (*.f64 d1 d4))
(+.f64 (*.f64 d1 d4) (neg.f64 (*.f64 d1 d1)))
(+.f64 (*.f64 d1 d4) (*.f64 d1 (neg.f64 d1)))
(*.f64 d1 (+.f64 d4 (neg.f64 d1)))
(+.f64 -1 (-.f64 1 (*.f64 d1 (-.f64 d1 d4))))
(*.f64 d1 (-.f64 d4 d1))
(+.f64 -1 (+.f64 (*.f64 d1 d4) (-.f64 1 (*.f64 d1 d1))))
(+.f64 (*.f64 d1 d4) (neg.f64 (*.f64 d1 d1)))
(+.f64 (*.f64 d1 d4) (*.f64 d1 (neg.f64 d1)))
(*.f64 d1 (+.f64 d4 (neg.f64 d1)))
(+.f64 (-.f64 1 (*.f64 d1 (-.f64 d1 d4))) -1)
(*.f64 d1 (-.f64 d4 d1))
(+.f64 (+.f64 (*.f64 d1 d4) (-.f64 1 (*.f64 d1 d1))) -1)
(+.f64 (*.f64 d1 d4) (neg.f64 (*.f64 d1 d1)))
(+.f64 (*.f64 d1 d4) (*.f64 d1 (neg.f64 d1)))
(*.f64 d1 (+.f64 d4 (neg.f64 d1)))
(*.f64 d1 (-.f64 d4 d1))
(*.f64 (*.f64 d1 (-.f64 d4 d1)) 1)
(*.f64 d1 (-.f64 d4 d1))
(*.f64 1 (*.f64 d1 (-.f64 d4 d1)))
(*.f64 d1 (-.f64 d4 d1))
(*.f64 (-.f64 d4 d1) d1)
(*.f64 d1 (-.f64 d4 d1))
(*.f64 2 (/.f64 (*.f64 d1 (-.f64 d4 d1)) 2))
(*.f64 d1 (-.f64 d4 d1))
(*.f64 (*.f64 d1 (*.f64 (-.f64 d4 d1) 2)) 1/2)
(*.f64 d1 (-.f64 d4 d1))
(*.f64 (+.f64 d1 d1) (/.f64 (-.f64 d4 d1) 2))
(*.f64 d1 (-.f64 d4 d1))
(*.f64 (*.f64 d1 (-.f64 d1 d4)) -1)
(*.f64 d1 (-.f64 d4 d1))
(*.f64 (*.f64 (-.f64 d4 d1) 2) (/.f64 d1 2))
(*.f64 d1 (-.f64 d4 d1))
(*.f64 -1 (*.f64 d1 (-.f64 d1 d4)))
(*.f64 d1 (-.f64 d4 d1))
(*.f64 1/2 (*.f64 d1 (*.f64 (-.f64 d4 d1) 2)))
(*.f64 d1 (-.f64 d4 d1))
(*.f64 (/.f64 d1 2) (*.f64 (-.f64 d4 d1) 2))
(*.f64 d1 (-.f64 d4 d1))
(*.f64 (/.f64 (*.f64 d1 (-.f64 d4 d1)) 2) 2)
(*.f64 d1 (-.f64 d4 d1))
(*.f64 (/.f64 (-.f64 d4 d1) 2) (+.f64 d1 d1))
(*.f64 d1 (-.f64 d4 d1))
(/.f64 (*.f64 d1 (-.f64 d4 d1)) 1)
(*.f64 d1 (-.f64 d4 d1))
(/.f64 (*.f64 d1 (*.f64 (-.f64 d4 d1) 2)) 2)
(*.f64 d1 (-.f64 d4 d1))
(/.f64 (*.f64 d1 (-.f64 d1 d4)) -1)
(*.f64 d1 (-.f64 d4 d1))
(/.f64 (*.f64 d1 (*.f64 (-.f64 d4 d1) 4)) 4)
(*.f64 d1 (-.f64 d4 d1))
(/.f64 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 d1) 4))) 8)
(*.f64 d1 (-.f64 d4 d1))
(/.f64 (*.f64 d1 (*.f64 2 (-.f64 d1 d4))) -2)
(*.f64 d1 (-.f64 d4 d1))
(/.f64 (+.f64 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 d1) 4))) (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 d1) 4)))) 16)
(*.f64 d1 (-.f64 d4 d1))
(pow.f64 (*.f64 d1 (-.f64 d4 d1)) 1)
(*.f64 d1 (-.f64 d4 d1))
(neg.f64 (*.f64 d1 (-.f64 d1 d4)))
(*.f64 d1 (-.f64 d4 d1))

localize14.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 53 to 11 computations (79.2% saved)

series6.0ms (0%)

Counts
3 → 132
Calls

33 calls:

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

rewrite79.0ms (0.5%)

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

Useful iterations: 3 (0.0ms)

IterNodesCost
01393
18875
219863
351957
4170757
5558057
Stop Event
node limit
Counts
3 → 82
Calls
Call 1
Inputs
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
(+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1))
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 d2) (+.f64 (*.f64 d1 (-.f64 d4 d1)) (neg.f64 (*.f64 d1 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 d2) (+.f64 (+.f64 (*.f64 d1 d4) (neg.f64 (*.f64 d1 d3))) (*.f64 d1 (neg.f64 d1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 d1 (-.f64 d4 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 d4) (*.f64 d1 (-.f64 (-.f64 d2 d3) d1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) (*.f64 d1 (neg.f64 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (-.f64 (-.f64 d2 d3) d1)) (*.f64 d1 d4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (-.f64 d2 d1)) (+.f64 (*.f64 d1 d4) (neg.f64 (*.f64 d1 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d2 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (neg.f64 d1)) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 d1 d3)) (+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 d1 d3)) (+.f64 (*.f64 d1 (-.f64 d2 d1)) (*.f64 d1 d4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d2) (*.f64 d1 (-.f64 d4 d1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (-.f64 (*.f64 d1 (-.f64 d2 d3)) -1) (*.f64 d1 (-.f64 d4 d1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (-.f64 1 (*.f64 d1 (-.f64 d3 (-.f64 d2 d1)))) (*.f64 d1 d4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (-.f64 1 (*.f64 d1 d1)) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (*.f64 d1 d1)) (+.f64 (-.f64 (*.f64 d1 (-.f64 d2 d3)) -1) (*.f64 d1 d4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 d1 (-.f64 d2 d3)) 1) (+.f64 (-.f64 1 (*.f64 d1 d1)) (*.f64 d1 d4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 d1 d4) (neg.f64 (*.f64 d1 d3))) (*.f64 d1 (-.f64 d2 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 d1 (-.f64 d4 d1)) (neg.f64 (*.f64 d1 d3))) (*.f64 d1 d2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (-.f64 d1 (+.f64 d4 (-.f64 d2 d3)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 d1 (-.f64 d1 (+.f64 d4 (-.f64 d2 d3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1)) d1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (-.f64 d1 (+.f64 d4 (-.f64 d2 d3)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 d1 (-.f64 d1 (+.f64 d4 (-.f64 d2 d3))))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 4)) (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 d1 (-.f64 d1 (+.f64 d4 (-.f64 d2 d3)))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 d1 (+.f64 d4 (-.f64 d2 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (*.f64 2 (+.f64 d4 (-.f64 d2 d3)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d4 (-.f64 d2 d3)) d1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 d1 (*.f64 2 (+.f64 d4 (-.f64 d2 d3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 2 (+.f64 d4 (-.f64 d2 d3)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) 4)) (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) 1)))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (-.f64 d2 d3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 d1 (-.f64 d2 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 d1 d3)) (*.f64 d1 d2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 (*.f64 d1 (-.f64 d2 d3)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 d1 (-.f64 d2 d3)) -1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 d1 (-.f64 d2 d3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (-.f64 d2 d3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 d1 (-.f64 d2 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 d1 (-.f64 d2 d3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (*.f64 2 (-.f64 d2 d3))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (-.f64 d3 d2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 d2 d3) d1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 d1 (-.f64 d3 d2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 d1 (*.f64 2 (-.f64 d2 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 d1 (-.f64 d2 d3)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (-.f64 d2 d3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 2 (-.f64 d2 d3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (-.f64 d3 d2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 (-.f64 d2 d3)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 d3 d2) (+.f64 d1 d1)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 d3)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 d3)) 4)) (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 d3)) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (-.f64 d2 d3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 d1 (-.f64 d3 d2)))))))

simplify147.0ms (0.9%)

Algorithm
egg-herbie
Rules
1230×rational.json-simplify-2
1188×rational.json-simplify-51
1148×rational.json-simplify-48
1016×rational.json-simplify-1
932×rational.json-simplify-35
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
01915324
14124660
29404618
325784576
447994550
573154478
Stop Event
node limit
Counts
214 → 134
Calls
Call 1
Inputs
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 (-.f64 (+.f64 (*.f64 -1 d4) (*.f64 -1 d2)) (*.f64 -1 d3)))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 (-.f64 (+.f64 (*.f64 -1 d4) (*.f64 -1 d2)) (*.f64 -1 d3)))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 (-.f64 (+.f64 (*.f64 -1 d4) (*.f64 -1 d2)) (*.f64 -1 d3)))))
(-.f64 (*.f64 d1 d4) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 d2 d1)
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 d2 d1)
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4))) (pow.f64 d1 2))
(*.f64 -1 (*.f64 d1 d3))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4))) (pow.f64 d1 2))
(*.f64 -1 (*.f64 d1 d3))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4))) (pow.f64 d1 2))
(-.f64 (*.f64 d2 d1) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 d1 d4)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 d1 d4)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 -1 (*.f64 d1 (-.f64 (+.f64 (*.f64 -1 d4) (*.f64 -1 d2)) (*.f64 -1 d3))))
(*.f64 -1 (*.f64 d1 (-.f64 (+.f64 (*.f64 -1 d4) (*.f64 -1 d2)) (*.f64 -1 d3))))
(*.f64 -1 (*.f64 d1 (-.f64 (+.f64 (*.f64 -1 d4) (*.f64 -1 d2)) (*.f64 -1 d3))))
(*.f64 -1 (*.f64 d1 (-.f64 (+.f64 (*.f64 -1 d4) (*.f64 -1 d2)) (*.f64 -1 d3))))
(-.f64 (*.f64 d1 d4) (*.f64 d1 d3))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d2 d1)
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (*.f64 d1 d3))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (*.f64 d1 d3))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (*.f64 d1 d3))
(*.f64 d2 d1)
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (*.f64 d1 d3))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (*.f64 d1 d3))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (*.f64 d1 d3))
(+.f64 (*.f64 d1 d4) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (*.f64 d1 d3))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (*.f64 d1 d3))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (*.f64 d1 d3))
(*.f64 d1 d4)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 d4)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 (-.f64 d2 d3) d1)
(*.f64 (-.f64 d2 d3) d1)
(*.f64 (-.f64 d2 d3) d1)
(*.f64 (-.f64 d2 d3) d1)
(*.f64 (-.f64 d2 d3) d1)
(*.f64 (-.f64 d2 d3) d1)
(*.f64 (-.f64 d2 d3) d1)
(*.f64 (-.f64 d2 d3) d1)
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 d2) (*.f64 -1 d3))))
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 d2) (*.f64 -1 d3))))
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 d2) (*.f64 -1 d3))))
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 d2) (*.f64 -1 d3))))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 d2) (+.f64 (*.f64 d1 (-.f64 d4 d1)) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (+.f64 (+.f64 (*.f64 d1 d4) (neg.f64 (*.f64 d1 d3))) (*.f64 d1 (neg.f64 d1))))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 d4) (*.f64 d1 (-.f64 (-.f64 d2 d3) d1)))
(+.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) (*.f64 d1 (neg.f64 d1)))
(+.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 0)
(+.f64 0 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))))
(+.f64 (*.f64 d1 (-.f64 (-.f64 d2 d3) d1)) (*.f64 d1 d4))
(+.f64 (*.f64 d1 (-.f64 d2 d1)) (+.f64 (*.f64 d1 d4) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d2 d3)))
(+.f64 (*.f64 d1 (neg.f64 d1)) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))))
(+.f64 (neg.f64 (*.f64 d1 d3)) (+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2)))
(+.f64 (neg.f64 (*.f64 d1 d3)) (+.f64 (*.f64 d1 (-.f64 d2 d1)) (*.f64 d1 d4)))
(+.f64 (neg.f64 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d2) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 -1 (-.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) -1))
(+.f64 -1 (+.f64 (-.f64 (*.f64 d1 (-.f64 d2 d3)) -1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 -1 (+.f64 (-.f64 1 (*.f64 d1 (-.f64 d3 (-.f64 d2 d1)))) (*.f64 d1 d4)))
(+.f64 -1 (+.f64 (-.f64 1 (*.f64 d1 d1)) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))))
(+.f64 (-.f64 -1 (*.f64 d1 d1)) (+.f64 (-.f64 (*.f64 d1 (-.f64 d2 d3)) -1) (*.f64 d1 d4)))
(+.f64 (-.f64 (*.f64 d1 (-.f64 d2 d3)) 1) (+.f64 (-.f64 1 (*.f64 d1 d1)) (*.f64 d1 d4)))
(+.f64 (-.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) -1) -1)
(+.f64 (+.f64 (*.f64 d1 d4) (neg.f64 (*.f64 d1 d3))) (*.f64 d1 (-.f64 d2 d1)))
(+.f64 (+.f64 (*.f64 d1 (-.f64 d4 d1)) (neg.f64 (*.f64 d1 d3))) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1)))
(*.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 1)
(*.f64 1 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))))
(*.f64 2 (/.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 2))
(*.f64 (*.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 2) 1/2)
(*.f64 (*.f64 d1 (-.f64 d1 (+.f64 d4 (-.f64 d2 d3)))) -1)
(*.f64 -1 (*.f64 d1 (-.f64 d1 (+.f64 d4 (-.f64 d2 d3)))))
(*.f64 1/2 (*.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 2))
(*.f64 (/.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 2) 2)
(*.f64 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1)) d1)
(/.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 1)
(/.f64 (*.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 2) 2)
(/.f64 (*.f64 d1 (-.f64 d1 (+.f64 d4 (-.f64 d2 d3)))) -1)
(/.f64 (*.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 4) 4)
(/.f64 (*.f64 2 (*.f64 d1 (-.f64 d1 (+.f64 d4 (-.f64 d2 d3))))) -2)
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 4)) (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 4))) 16)
(pow.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 1)
(neg.f64 (*.f64 d1 (-.f64 d1 (+.f64 d4 (-.f64 d2 d3)))))
(-.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) 0)
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) 1)
(*.f64 1 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))))
(*.f64 2 (/.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) 2))
(*.f64 (*.f64 d1 (*.f64 2 (+.f64 d4 (-.f64 d2 d3)))) 1/2)
(*.f64 (+.f64 d4 (-.f64 d2 d3)) d1)
(*.f64 1/2 (*.f64 d1 (*.f64 2 (+.f64 d4 (-.f64 d2 d3)))))
(*.f64 (/.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) 2) 2)
(/.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) 1)
(/.f64 (*.f64 d1 (*.f64 2 (+.f64 d4 (-.f64 d2 d3)))) 2)
(/.f64 (*.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) 4)) (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) 4))) 16)
(pow.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) 1)
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3)))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) 0)
(+.f64 0 (*.f64 d1 (-.f64 d2 d3)))
(+.f64 (neg.f64 (*.f64 d1 d3)) (*.f64 d1 d2))
(+.f64 -1 (-.f64 (*.f64 d1 (-.f64 d2 d3)) -1))
(+.f64 (-.f64 (*.f64 d1 (-.f64 d2 d3)) -1) -1)
(*.f64 d1 (-.f64 d2 d3))
(*.f64 (*.f64 d1 (-.f64 d2 d3)) 1)
(*.f64 1 (*.f64 d1 (-.f64 d2 d3)))
(*.f64 2 (/.f64 (*.f64 d1 (-.f64 d2 d3)) 2))
(*.f64 (*.f64 d1 (*.f64 2 (-.f64 d2 d3))) 1/2)
(*.f64 (*.f64 d1 (-.f64 d3 d2)) -1)
(*.f64 (-.f64 d2 d3) d1)
(*.f64 -1 (*.f64 d1 (-.f64 d3 d2)))
(*.f64 1/2 (*.f64 d1 (*.f64 2 (-.f64 d2 d3))))
(*.f64 (/.f64 (*.f64 d1 (-.f64 d2 d3)) 2) 2)
(/.f64 (*.f64 d1 (-.f64 d2 d3)) 1)
(/.f64 (*.f64 d1 (*.f64 2 (-.f64 d2 d3))) 2)
(/.f64 (*.f64 d1 (-.f64 d3 d2)) -1)
(/.f64 (*.f64 (*.f64 d1 (-.f64 d2 d3)) 4) 4)
(/.f64 (*.f64 (-.f64 d3 d2) (+.f64 d1 d1)) -2)
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 d3)) 4)) 8)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 d3)) 4)) (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 d3)) 4))) 16)
(pow.f64 (*.f64 d1 (-.f64 d2 d3)) 1)
(neg.f64 (*.f64 d1 (-.f64 d3 d2)))
Outputs
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (pow.f64 d1 2))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (pow.f64 d1 2))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 (-.f64 (+.f64 (*.f64 -1 d4) (*.f64 -1 d2)) (*.f64 -1 d3)))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 (-.f64 (+.f64 (*.f64 -1 d4) (*.f64 -1 d2)) (*.f64 -1 d3)))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 (-.f64 (+.f64 (*.f64 -1 d4) (*.f64 -1 d2)) (*.f64 -1 d3)))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (pow.f64 d1 2))
(-.f64 (*.f64 d1 d4) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 d2 d1)
(*.f64 d1 d2)
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 d2 d1)
(*.f64 d1 d2)
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (pow.f64 d1 2))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4))) (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4))) (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4))) (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (pow.f64 d1 2))
(*.f64 -1 (*.f64 d1 d3))
(neg.f64 (*.f64 d1 d3))
(*.f64 d1 (neg.f64 d3))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4))) (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4))) (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4))) (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (pow.f64 d1 2))
(*.f64 -1 (*.f64 d1 d3))
(neg.f64 (*.f64 d1 d3))
(*.f64 d1 (neg.f64 d3))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4))) (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4))) (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4))) (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (pow.f64 d1 2))
(-.f64 (*.f64 d2 d1) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d1 d2) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 d1 d4)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 d1 d4)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 -1 (*.f64 d1 (-.f64 (+.f64 (*.f64 -1 d4) (*.f64 -1 d2)) (*.f64 -1 d3))))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 -1 (*.f64 d1 (-.f64 (+.f64 (*.f64 -1 d4) (*.f64 -1 d2)) (*.f64 -1 d3))))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 -1 (*.f64 d1 (-.f64 (+.f64 (*.f64 -1 d4) (*.f64 -1 d2)) (*.f64 -1 d3))))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 -1 (*.f64 d1 (-.f64 (+.f64 (*.f64 -1 d4) (*.f64 -1 d2)) (*.f64 -1 d3))))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(-.f64 (*.f64 d1 d4) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d4 d3))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d2 d1)
(*.f64 d1 d2)
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d2 d1)
(*.f64 d1 d2)
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(+.f64 (*.f64 d1 d4) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d2 d4))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 -1 (*.f64 d1 d3))
(neg.f64 (*.f64 d1 d3))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 -1 (*.f64 d1 d3))
(neg.f64 (*.f64 d1 d3))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 d4)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 d4)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 (-.f64 d2 d3) d1)
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 (-.f64 d2 d3) d1)
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 (-.f64 d2 d3) d1)
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 (-.f64 d2 d3) d1)
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 (-.f64 d2 d3) d1)
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 (-.f64 d2 d3) d1)
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 (-.f64 d2 d3) d1)
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 (-.f64 d2 d3) d1)
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 d2) (*.f64 -1 d3))))
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 d2) (*.f64 -1 d3))))
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 d2) (*.f64 -1 d3))))
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 -1 (*.f64 d1 (-.f64 (*.f64 -1 d2) (*.f64 -1 d3))))
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 -1 (*.f64 d1 d3))
(neg.f64 (*.f64 d1 d3))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(*.f64 -1 (*.f64 d1 d3))
(neg.f64 (*.f64 d1 d3))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(*.f64 -1 (*.f64 d1 d3))
(neg.f64 (*.f64 d1 d3))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 d1 d2) (+.f64 (*.f64 d1 (-.f64 d4 d1)) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 (-.f64 d2 d1) (+.f64 d4 (neg.f64 d3))))
(+.f64 (*.f64 d1 d2) (+.f64 (+.f64 (*.f64 d1 d4) (neg.f64 (*.f64 d1 d3))) (*.f64 d1 (neg.f64 d1))))
(+.f64 (+.f64 (*.f64 d1 d4) (neg.f64 (*.f64 d1 d3))) (+.f64 (*.f64 d1 (neg.f64 d1)) (*.f64 d1 d2)))
(+.f64 (*.f64 d1 (+.f64 d4 (neg.f64 d3))) (*.f64 d1 (+.f64 d2 (neg.f64 d1))))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 (neg.f64 d1) (neg.f64 d3))))
(*.f64 d1 (+.f64 (+.f64 d2 (neg.f64 d1)) (+.f64 d4 (neg.f64 d3))))
(*.f64 d1 (+.f64 (neg.f64 d1) (+.f64 d2 (-.f64 d4 d3))))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d3) d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(+.f64 (*.f64 d1 d4) (*.f64 d1 (-.f64 (-.f64 d2 d3) d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d3) d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(+.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) (*.f64 d1 (neg.f64 d1)))
(+.f64 (+.f64 (*.f64 d1 d4) (neg.f64 (*.f64 d1 d3))) (+.f64 (*.f64 d1 (neg.f64 d1)) (*.f64 d1 d2)))
(+.f64 (*.f64 d1 (+.f64 d4 (neg.f64 d3))) (*.f64 d1 (+.f64 d2 (neg.f64 d1))))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 (neg.f64 d1) (neg.f64 d3))))
(*.f64 d1 (+.f64 (+.f64 d2 (neg.f64 d1)) (+.f64 d4 (neg.f64 d3))))
(*.f64 d1 (+.f64 (neg.f64 d1) (+.f64 d2 (-.f64 d4 d3))))
(+.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 0)
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d3) d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(+.f64 0 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d3) d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(+.f64 (*.f64 d1 (-.f64 (-.f64 d2 d3) d1)) (*.f64 d1 d4))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d3) d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(+.f64 (*.f64 d1 (-.f64 d2 d1)) (+.f64 (*.f64 d1 d4) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (+.f64 (*.f64 d1 (-.f64 d4 d1)) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 (-.f64 d2 d1) (+.f64 d4 (neg.f64 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d3) d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(+.f64 (*.f64 d1 (neg.f64 d1)) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))))
(+.f64 (+.f64 (*.f64 d1 d4) (neg.f64 (*.f64 d1 d3))) (+.f64 (*.f64 d1 (neg.f64 d1)) (*.f64 d1 d2)))
(+.f64 (*.f64 d1 (+.f64 d4 (neg.f64 d3))) (*.f64 d1 (+.f64 d2 (neg.f64 d1))))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 (neg.f64 d1) (neg.f64 d3))))
(*.f64 d1 (+.f64 (+.f64 d2 (neg.f64 d1)) (+.f64 d4 (neg.f64 d3))))
(*.f64 d1 (+.f64 (neg.f64 d1) (+.f64 d2 (-.f64 d4 d3))))
(+.f64 (neg.f64 (*.f64 d1 d3)) (+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2)))
(+.f64 (*.f64 d1 d2) (+.f64 (*.f64 d1 (-.f64 d4 d1)) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 (-.f64 d2 d1) (+.f64 d4 (neg.f64 d3))))
(+.f64 (neg.f64 (*.f64 d1 d3)) (+.f64 (*.f64 d1 (-.f64 d2 d1)) (*.f64 d1 d4)))
(+.f64 (*.f64 d1 d2) (+.f64 (*.f64 d1 (-.f64 d4 d1)) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 (-.f64 d2 d1) (+.f64 d4 (neg.f64 d3))))
(+.f64 (neg.f64 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d2) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 d1 d2) (+.f64 (*.f64 d1 (-.f64 d4 d1)) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 (-.f64 d2 d1) (+.f64 d4 (neg.f64 d3))))
(+.f64 -1 (-.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) -1))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d3) d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(+.f64 -1 (+.f64 (-.f64 (*.f64 d1 (-.f64 d2 d3)) -1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d3) d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(+.f64 -1 (+.f64 (-.f64 1 (*.f64 d1 (-.f64 d3 (-.f64 d2 d1)))) (*.f64 d1 d4)))
(+.f64 (-.f64 1 (*.f64 d1 (-.f64 d1 (-.f64 d2 d3)))) (+.f64 (*.f64 d1 d4) -1))
(+.f64 -1 (+.f64 (*.f64 d1 d4) (-.f64 1 (*.f64 d1 (-.f64 d1 (-.f64 d2 d3))))))
(+.f64 (-.f64 1 (*.f64 d1 (-.f64 d1 (-.f64 d2 d3)))) (+.f64 -1 (*.f64 d1 d4)))
(+.f64 (*.f64 d1 d4) (-.f64 0 (*.f64 d1 (-.f64 d3 (-.f64 d2 d1)))))
(+.f64 (*.f64 d1 d4) (neg.f64 (*.f64 d1 (-.f64 d3 (-.f64 d2 d1)))))
(+.f64 -1 (+.f64 (-.f64 1 (*.f64 d1 d1)) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))))
(+.f64 (+.f64 (*.f64 d1 d4) (neg.f64 (*.f64 d1 d3))) (+.f64 (*.f64 d1 (neg.f64 d1)) (*.f64 d1 d2)))
(+.f64 (*.f64 d1 (+.f64 d4 (neg.f64 d3))) (*.f64 d1 (+.f64 d2 (neg.f64 d1))))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 (neg.f64 d1) (neg.f64 d3))))
(*.f64 d1 (+.f64 (+.f64 d2 (neg.f64 d1)) (+.f64 d4 (neg.f64 d3))))
(*.f64 d1 (+.f64 (neg.f64 d1) (+.f64 d2 (-.f64 d4 d3))))
(+.f64 (-.f64 -1 (*.f64 d1 d1)) (+.f64 (-.f64 (*.f64 d1 (-.f64 d2 d3)) -1) (*.f64 d1 d4)))
(+.f64 (+.f64 (*.f64 d1 d4) (neg.f64 (*.f64 d1 d3))) (+.f64 (*.f64 d1 (neg.f64 d1)) (*.f64 d1 d2)))
(+.f64 (*.f64 d1 (+.f64 d4 (neg.f64 d3))) (*.f64 d1 (+.f64 d2 (neg.f64 d1))))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 (neg.f64 d1) (neg.f64 d3))))
(*.f64 d1 (+.f64 (+.f64 d2 (neg.f64 d1)) (+.f64 d4 (neg.f64 d3))))
(*.f64 d1 (+.f64 (neg.f64 d1) (+.f64 d2 (-.f64 d4 d3))))
(+.f64 (-.f64 (*.f64 d1 (-.f64 d2 d3)) 1) (+.f64 (-.f64 1 (*.f64 d1 d1)) (*.f64 d1 d4)))
(+.f64 (+.f64 (*.f64 d1 d4) (neg.f64 (*.f64 d1 d3))) (+.f64 (*.f64 d1 (neg.f64 d1)) (*.f64 d1 d2)))
(+.f64 (*.f64 d1 (+.f64 d4 (neg.f64 d3))) (*.f64 d1 (+.f64 d2 (neg.f64 d1))))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 (neg.f64 d1) (neg.f64 d3))))
(*.f64 d1 (+.f64 (+.f64 d2 (neg.f64 d1)) (+.f64 d4 (neg.f64 d3))))
(*.f64 d1 (+.f64 (neg.f64 d1) (+.f64 d2 (-.f64 d4 d3))))
(+.f64 (-.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) -1) -1)
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d3) d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(+.f64 (+.f64 (*.f64 d1 d4) (neg.f64 (*.f64 d1 d3))) (*.f64 d1 (-.f64 d2 d1)))
(+.f64 (*.f64 d1 d2) (+.f64 (*.f64 d1 (-.f64 d4 d1)) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 (-.f64 d2 d1) (+.f64 d4 (neg.f64 d3))))
(+.f64 (+.f64 (*.f64 d1 (-.f64 d4 d1)) (neg.f64 (*.f64 d1 d3))) (*.f64 d1 d2))
(+.f64 (*.f64 d1 d2) (+.f64 (*.f64 d1 (-.f64 d4 d1)) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 (-.f64 d2 d1) (+.f64 d4 (neg.f64 d3))))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d3) d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(*.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 1)
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d3) d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(*.f64 1 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d3) d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(*.f64 2 (/.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 2))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d3) d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(*.f64 (*.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 2) 1/2)
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d3) d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(*.f64 (*.f64 d1 (-.f64 d1 (+.f64 d4 (-.f64 d2 d3)))) -1)
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d3) d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(*.f64 -1 (*.f64 d1 (-.f64 d1 (+.f64 d4 (-.f64 d2 d3)))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d3) d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(*.f64 1/2 (*.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 2))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d3) d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(*.f64 (/.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 2) 2)
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d3) d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(*.f64 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1)) d1)
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d3) d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(/.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 1)
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d3) d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(/.f64 (*.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 2) 2)
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d3) d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(/.f64 (*.f64 d1 (-.f64 d1 (+.f64 d4 (-.f64 d2 d3)))) -1)
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d3) d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(/.f64 (*.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 4) 4)
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d3) d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(/.f64 (*.f64 2 (*.f64 d1 (-.f64 d1 (+.f64 d4 (-.f64 d2 d3))))) -2)
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d3) d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 4)) 8)
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d3) d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 4)) (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 4))) 16)
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d3) d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(pow.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 1)
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d3) d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(neg.f64 (*.f64 d1 (-.f64 d1 (+.f64 d4 (-.f64 d2 d3)))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d3) d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(-.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) 0)
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) 1)
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 1 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 2 (/.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) 2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 (*.f64 d1 (*.f64 2 (+.f64 d4 (-.f64 d2 d3)))) 1/2)
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 (+.f64 d4 (-.f64 d2 d3)) d1)
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 1/2 (*.f64 d1 (*.f64 2 (+.f64 d4 (-.f64 d2 d3)))))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 (/.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) 2) 2)
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(/.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) 1)
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(/.f64 (*.f64 d1 (*.f64 2 (+.f64 d4 (-.f64 d2 d3)))) 2)
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(/.f64 (*.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) 4) 4)
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) 4)) 8)
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) 4)) (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) 4))) 16)
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(pow.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) 1)
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) 0)
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(+.f64 0 (*.f64 d1 (-.f64 d2 d3)))
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(+.f64 (neg.f64 (*.f64 d1 d3)) (*.f64 d1 d2))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 -1 (-.f64 (*.f64 d1 (-.f64 d2 d3)) -1))
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(+.f64 (-.f64 (*.f64 d1 (-.f64 d2 d3)) -1) -1)
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 d1 (-.f64 d2 d3))
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 (*.f64 d1 (-.f64 d2 d3)) 1)
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 1 (*.f64 d1 (-.f64 d2 d3)))
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 2 (/.f64 (*.f64 d1 (-.f64 d2 d3)) 2))
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 (*.f64 d1 (*.f64 2 (-.f64 d2 d3))) 1/2)
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 (*.f64 d1 (-.f64 d3 d2)) -1)
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 (-.f64 d2 d3) d1)
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 -1 (*.f64 d1 (-.f64 d3 d2)))
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 1/2 (*.f64 d1 (*.f64 2 (-.f64 d2 d3))))
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 (/.f64 (*.f64 d1 (-.f64 d2 d3)) 2) 2)
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(/.f64 (*.f64 d1 (-.f64 d2 d3)) 1)
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(/.f64 (*.f64 d1 (*.f64 2 (-.f64 d2 d3))) 2)
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(/.f64 (*.f64 d1 (-.f64 d3 d2)) -1)
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(/.f64 (*.f64 (*.f64 d1 (-.f64 d2 d3)) 4) 4)
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(/.f64 (*.f64 (-.f64 d3 d2) (+.f64 d1 d1)) -2)
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 d3)) 4)) 8)
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 d3)) 4)) (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 d3)) 4))) 16)
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(pow.f64 (*.f64 d1 (-.f64 d2 d3)) 1)
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(neg.f64 (*.f64 d1 (-.f64 d3 d2)))
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))

eval74.0ms (0.5%)

Compiler

Compiled 5091 to 1620 computations (68.2% saved)

prune65.0ms (0.4%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New3909399
Fresh000
Picked101
Done303
Total3949403
Error
0.0b
Counts
403 → 9
Alt Table
Click to see full alt table
StatusErrorProgram
18.6b
(-.f64 (-.f64 (*.f64 d2 d1) (*.f64 d1 d3)) (*.f64 d1 d1))
17.8b
(-.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d1))
17.8b
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1)))
18.6b
(*.f64 (-.f64 d2 (+.f64 d1 d3)) d1)
43.6b
(*.f64 d3 (neg.f64 d1))
43.7b
(*.f64 d2 d1)
17.8b
(*.f64 d1 (-.f64 (+.f64 d2 d4) d1))
17.8b
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
43.4b
(*.f64 d1 d4)
Compiler

Compiled 192 to 124 computations (35.4% saved)

localize7.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 22 to 7 computations (68.2% saved)

series4.0ms (0%)

Counts
1 → 36
Calls

9 calls:

TimeVariablePointExpression
2.0ms
d3
@-inf
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
0.0ms
d1
@-inf
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
0.0ms
d1
@0
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
0.0ms
d4
@-inf
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
0.0ms
d1
@inf
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))

rewrite112.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1652×rational.json-1
1652×rational.json-2
1652×rational.json-3
1516×rational.json-simplify-35
1184×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
15219
211419
325219
449819
5117619
6293719
7510919
8737619
Stop Event
node limit
Counts
1 → 13
Calls
Call 1
Inputs
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) (*.f64 d1 1/2)) (*.f64 (-.f64 d4 (+.f64 d1 d3)) (*.f64 d1 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) (+.f64 d1 d1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 (+.f64 d1 (-.f64 d3 d4)) -4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 8)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 1)))))

simplify612.0ms (3.8%)

Algorithm
egg-herbie
Rules
3632×rational.json-simplify-35
2840×rational.json-simplify-2
1572×rational.json-simplify-53
1072×exponential.json-simplify-26
714×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0611207
11401089
22581029
35421027
416381027
533411027
646181027
749181027
851051027
952861027
1054661027
1160331027
1265671027
1366921027
1466921027
1566921027
1668731027
1770541027
1872351027
1974161027
2075971027
Stop Event
node limit
Counts
49 → 44
Calls
Call 1
Inputs
(*.f64 (-.f64 d4 d3) d1)
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(*.f64 -1 (*.f64 (+.f64 d1 d3) d1))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(*.f64 d1 d4)
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(*.f64 d1 d4)
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(*.f64 d1 (-.f64 d4 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 0)
(+.f64 0 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) (*.f64 d1 1/2)) (*.f64 (-.f64 d4 (+.f64 d1 d3)) (*.f64 d1 1/2)))
(-.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 0)
(/.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 1)
(/.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) (+.f64 d1 d1)) 2)
(/.f64 (*.f64 d1 (*.f64 (+.f64 d1 (-.f64 d3 d4)) -4)) 4)
(/.f64 (*.f64 d1 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 8)) 8)
(/.f64 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 8))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 8)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 8))))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 8)))))) 128)
(pow.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 1)
Outputs
(*.f64 (-.f64 d4 d3) d1)
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 (-.f64 d4 d3) d1) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 (-.f64 d4 d3) d1) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 (-.f64 d4 d3) d1) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 (-.f64 d4 d3) d1) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 (-.f64 d4 d3) d1) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 (-.f64 d4 d3) d1) (neg.f64 (pow.f64 d1 2)))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 (-.f64 d4 d3) d1) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 (-.f64 d4 d3) d1) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 (-.f64 d4 d3) d1) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 (-.f64 d4 d3) d1) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 (-.f64 d4 d3) d1) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 (-.f64 d4 d3) d1) (neg.f64 (pow.f64 d1 2)))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 (-.f64 d4 d3) d1) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 (-.f64 d4 d3) d1) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 (-.f64 d4 d3) d1) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 (-.f64 d4 d3) d1) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 (-.f64 d4 d3) d1) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 (-.f64 d4 d3) d1) (neg.f64 (pow.f64 d1 2)))
(*.f64 -1 (*.f64 (+.f64 d1 d3) d1))
(*.f64 -1 (*.f64 d1 (+.f64 d3 d1)))
(*.f64 (+.f64 d3 d1) (neg.f64 d1))
(*.f64 d1 (neg.f64 (+.f64 d3 d1)))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 (+.f64 d3 d1))) (*.f64 d4 d1))
(+.f64 (*.f64 (+.f64 d3 d1) (neg.f64 d1)) (*.f64 d4 d1))
(*.f64 d1 (+.f64 d4 (neg.f64 (+.f64 d3 d1))))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 (+.f64 d3 d1))) (*.f64 d4 d1))
(+.f64 (*.f64 (+.f64 d3 d1) (neg.f64 d1)) (*.f64 d4 d1))
(*.f64 d1 (+.f64 d4 (neg.f64 (+.f64 d3 d1))))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 (+.f64 d3 d1))) (*.f64 d4 d1))
(+.f64 (*.f64 (+.f64 d3 d1) (neg.f64 d1)) (*.f64 d4 d1))
(*.f64 d1 (+.f64 d4 (neg.f64 (+.f64 d3 d1))))
(*.f64 d1 d4)
(*.f64 d4 d1)
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 (+.f64 d3 d1))) (*.f64 d4 d1))
(+.f64 (*.f64 (+.f64 d3 d1) (neg.f64 d1)) (*.f64 d4 d1))
(*.f64 d1 (+.f64 d4 (neg.f64 (+.f64 d3 d1))))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 (+.f64 d3 d1))) (*.f64 d4 d1))
(+.f64 (*.f64 (+.f64 d3 d1) (neg.f64 d1)) (*.f64 d4 d1))
(*.f64 d1 (+.f64 d4 (neg.f64 (+.f64 d3 d1))))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 (+.f64 d3 d1))) (*.f64 d4 d1))
(+.f64 (*.f64 (+.f64 d3 d1) (neg.f64 d1)) (*.f64 d4 d1))
(*.f64 d1 (+.f64 d4 (neg.f64 (+.f64 d3 d1))))
(*.f64 d1 d4)
(*.f64 d4 d1)
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 (+.f64 d3 d1))) (*.f64 d4 d1))
(+.f64 (*.f64 (+.f64 d3 d1) (neg.f64 d1)) (*.f64 d4 d1))
(*.f64 d1 (+.f64 d4 (neg.f64 (+.f64 d3 d1))))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 (+.f64 d3 d1))) (*.f64 d4 d1))
(+.f64 (*.f64 (+.f64 d3 d1) (neg.f64 d1)) (*.f64 d4 d1))
(*.f64 d1 (+.f64 d4 (neg.f64 (+.f64 d3 d1))))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 (+.f64 d3 d1))) (*.f64 d4 d1))
(+.f64 (*.f64 (+.f64 d3 d1) (neg.f64 d1)) (*.f64 d4 d1))
(*.f64 d1 (+.f64 d4 (neg.f64 (+.f64 d3 d1))))
(*.f64 d1 (-.f64 d4 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 d1 (+.f64 (-.f64 d4 d1) (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 d1 (+.f64 (-.f64 d4 d1) (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 d1 (+.f64 (-.f64 d4 d1) (neg.f64 d3)))
(*.f64 -1 (*.f64 d1 d3))
(*.f64 d1 (*.f64 d3 -1))
(*.f64 d1 (neg.f64 d3))
(*.f64 d3 (neg.f64 d1))
(neg.f64 (*.f64 d3 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 d1 (+.f64 (-.f64 d4 d1) (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 d1 (+.f64 (-.f64 d4 d1) (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 d1 (+.f64 (-.f64 d4 d1) (neg.f64 d3)))
(*.f64 -1 (*.f64 d1 d3))
(*.f64 d1 (*.f64 d3 -1))
(*.f64 d1 (neg.f64 d3))
(*.f64 d3 (neg.f64 d1))
(neg.f64 (*.f64 d3 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 d1 (+.f64 (-.f64 d4 d1) (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 d1 (+.f64 (-.f64 d4 d1) (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 d1 (+.f64 (-.f64 d4 d1) (neg.f64 d3)))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 0)
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(+.f64 0 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(+.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) (*.f64 d1 1/2)) (*.f64 (-.f64 d4 (+.f64 d1 d3)) (*.f64 d1 1/2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(-.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 0)
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(/.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 1)
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(/.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) (+.f64 d1 d1)) 2)
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(/.f64 (*.f64 d1 (*.f64 (+.f64 d1 (-.f64 d3 d4)) -4)) 4)
(*.f64 (*.f64 (+.f64 d1 (-.f64 d3 d4)) -4) (/.f64 d1 4))
(*.f64 d1 (/.f64 (*.f64 (+.f64 d1 (-.f64 d3 d4)) -4) 4))
(*.f64 d1 (*.f64 (+.f64 d1 (-.f64 d3 d4)) -1))
(*.f64 (+.f64 d1 (-.f64 d3 d4)) (neg.f64 d1))
(*.f64 d1 (neg.f64 (+.f64 d1 (-.f64 d3 d4))))
(/.f64 (*.f64 d1 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 8)) 8)
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(/.f64 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 8))) 16)
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 8)))) 32)
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 8))))) 64)
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 8)))))) 128)
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(pow.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 1)
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))

localize5.0ms (0%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

localize5.0ms (0%)

Compiler

Compiled 12 to 6 computations (50% saved)

localize7.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 22 to 7 computations (68.2% saved)

series2.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite110.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1652×rational.json-1
1652×rational.json-2
1652×rational.json-3
1516×rational.json-simplify-35
1184×exponential.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
15219
211419
325219
449819
5117619
6293719
7511119
8737619
Stop Event
node limit
Counts
1 → 13
Calls
Call 1
Inputs
(*.f64 (-.f64 d2 (+.f64 d1 d3)) d1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) (*.f64 d1 1/2)) (*.f64 (-.f64 d2 (+.f64 d1 d3)) (*.f64 d1 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) (+.f64 d1 d1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 (+.f64 d1 (-.f64 d3 d2)) -4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 8)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) 1)))))

simplify697.0ms (4.3%)

Algorithm
egg-herbie
Rules
3634×rational.json-simplify-35
2844×rational.json-simplify-2
1574×rational.json-simplify-53
1076×exponential.json-simplify-26
714×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0611207
11401089
22581029
35421027
416411027
533421027
646321027
749321027
851191027
953001027
1054801027
1160491027
1265851027
1367101027
1467101027
1567101027
1668911027
1770721027
1872531027
1974341027
2076151027
Stop Event
node limit
Counts
49 → 42
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 (+.f64 d1 d3) d1))
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(*.f64 d2 d1)
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(*.f64 d2 d1)
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(*.f64 (-.f64 d2 d3) d1)
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d2 d3) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d2 d3) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d2 d3) d1))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d2 d3) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d2 d3) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d2 d3) d1))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d2 d3) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d2 d3) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d2 d3) d1))
(*.f64 (-.f64 d2 d1) d1)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 (-.f64 d2 d1) d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 (-.f64 d2 d1) d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 (-.f64 d2 d1) d1))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 (-.f64 d2 d1) d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 (-.f64 d2 d1) d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 (-.f64 d2 d1) d1))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 (-.f64 d2 d1) d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 (-.f64 d2 d1) d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 (-.f64 d2 d1) d1))
(+.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) 0)
(+.f64 0 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))))
(+.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) (*.f64 d1 1/2)) (*.f64 (-.f64 d2 (+.f64 d1 d3)) (*.f64 d1 1/2)))
(-.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) 0)
(/.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) 1)
(/.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) (+.f64 d1 d1)) 2)
(/.f64 (*.f64 d1 (*.f64 (+.f64 d1 (-.f64 d3 d2)) -4)) 4)
(/.f64 (*.f64 d1 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 8)) 8)
(/.f64 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 8))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 8)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 8))))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 8)))))) 128)
(pow.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) 1)
Outputs
(*.f64 -1 (*.f64 (+.f64 d1 d3) d1))
(*.f64 -1 (*.f64 d1 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 (+.f64 d1 d3))) (*.f64 d1 d2))
(+.f64 (*.f64 (+.f64 d1 d3) (neg.f64 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 (+.f64 d1 d3))) (*.f64 d1 d2))
(+.f64 (*.f64 (+.f64 d1 d3) (neg.f64 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 (+.f64 d1 d3))) (*.f64 d1 d2))
(+.f64 (*.f64 (+.f64 d1 d3) (neg.f64 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 (+.f64 d1 d3))) (*.f64 d1 d2))
(+.f64 (*.f64 (+.f64 d1 d3) (neg.f64 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 (+.f64 d1 d3))) (*.f64 d1 d2))
(+.f64 (*.f64 (+.f64 d1 d3) (neg.f64 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 (+.f64 d1 d3))) (*.f64 d1 d2))
(+.f64 (*.f64 (+.f64 d1 d3) (neg.f64 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 (+.f64 d1 d3))) (*.f64 d1 d2))
(+.f64 (*.f64 (+.f64 d1 d3) (neg.f64 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 (+.f64 d1 d3))) (*.f64 d1 d2))
(+.f64 (*.f64 (+.f64 d1 d3) (neg.f64 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 (+.f64 d1 d3))) (*.f64 d1 d2))
(+.f64 (*.f64 (+.f64 d1 d3) (neg.f64 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(*.f64 (-.f64 d2 d3) d1)
(*.f64 d1 (-.f64 d2 d3))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d2 d3) d1))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d2 d3) d1))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d2 d3) d1))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (neg.f64 (pow.f64 d1 2)))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d2 d3) d1))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d2 d3) d1))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d2 d3) d1))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (neg.f64 (pow.f64 d1 2)))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d2 d3) d1))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d2 d3) d1))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d2 d3) d1))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (neg.f64 (pow.f64 d1 2)))
(*.f64 (-.f64 d2 d1) d1)
(*.f64 d1 (-.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 (-.f64 d2 d1) d1))
(+.f64 (*.f64 d1 (-.f64 d2 d1)) (*.f64 -1 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d1) (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 (-.f64 d2 d1) d1))
(+.f64 (*.f64 d1 (-.f64 d2 d1)) (*.f64 -1 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d1) (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 (-.f64 d2 d1) d1))
(+.f64 (*.f64 d1 (-.f64 d2 d1)) (*.f64 -1 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d1) (neg.f64 d3)))
(*.f64 -1 (*.f64 d1 d3))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 (-.f64 d2 d1) d1))
(+.f64 (*.f64 d1 (-.f64 d2 d1)) (*.f64 -1 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d1) (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 (-.f64 d2 d1) d1))
(+.f64 (*.f64 d1 (-.f64 d2 d1)) (*.f64 -1 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d1) (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 (-.f64 d2 d1) d1))
(+.f64 (*.f64 d1 (-.f64 d2 d1)) (*.f64 -1 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d1) (neg.f64 d3)))
(*.f64 -1 (*.f64 d1 d3))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 (-.f64 d2 d1) d1))
(+.f64 (*.f64 d1 (-.f64 d2 d1)) (*.f64 -1 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d1) (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 (-.f64 d2 d1) d1))
(+.f64 (*.f64 d1 (-.f64 d2 d1)) (*.f64 -1 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d1) (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 (-.f64 d2 d1) d1))
(+.f64 (*.f64 d1 (-.f64 d2 d1)) (*.f64 -1 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 (-.f64 d2 d1) (neg.f64 d3)))
(+.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) 0)
(*.f64 d1 (-.f64 d2 (+.f64 d1 d3)))
(+.f64 0 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))))
(*.f64 d1 (-.f64 d2 (+.f64 d1 d3)))
(+.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) (*.f64 d1 1/2)) (*.f64 (-.f64 d2 (+.f64 d1 d3)) (*.f64 d1 1/2)))
(*.f64 d1 (-.f64 d2 (+.f64 d1 d3)))
(-.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) 0)
(*.f64 d1 (-.f64 d2 (+.f64 d1 d3)))
(/.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) 1)
(*.f64 d1 (-.f64 d2 (+.f64 d1 d3)))
(/.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) (+.f64 d1 d1)) 2)
(*.f64 d1 (-.f64 d2 (+.f64 d1 d3)))
(/.f64 (*.f64 d1 (*.f64 (+.f64 d1 (-.f64 d3 d2)) -4)) 4)
(*.f64 (*.f64 (+.f64 d1 (-.f64 d3 d2)) -4) (/.f64 d1 4))
(*.f64 d1 (/.f64 (*.f64 (+.f64 d1 (-.f64 d3 d2)) -4) 4))
(*.f64 d1 (*.f64 (+.f64 d1 (-.f64 d3 d2)) -1))
(*.f64 d1 (neg.f64 (+.f64 d1 (-.f64 d3 d2))))
(/.f64 (*.f64 d1 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 8)) 8)
(*.f64 d1 (-.f64 d2 (+.f64 d1 d3)))
(/.f64 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 8))) 16)
(*.f64 d1 (-.f64 d2 (+.f64 d1 d3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 8)))) 32)
(*.f64 d1 (-.f64 d2 (+.f64 d1 d3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 8))))) 64)
(*.f64 d1 (-.f64 d2 (+.f64 d1 d3)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 8))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 8)))))) 128)
(*.f64 d1 (-.f64 d2 (+.f64 d1 d3)))
(pow.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) 1)
(*.f64 d1 (-.f64 d2 (+.f64 d1 d3)))

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 d1 (-.f64 d4 d3))
0.0b
(-.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d1))
Compiler

Compiled 27 to 8 computations (70.4% saved)

series4.0ms (0%)

Counts
2 → 72
Calls

18 calls:

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

rewrite65.0ms (0.4%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0932
16132
215332
339532
4133332
5437532
Stop Event
node limit
Counts
2 → 42
Calls
Call 1
Inputs
(-.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d1))
(*.f64 d1 (-.f64 d4 d3))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 (neg.f64 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (neg.f64 d1)) (*.f64 d1 (-.f64 d4 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 d1 (+.f64 d1 (-.f64 d3 d4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (*.f64 d1 (-.f64 d4 d3)) (-.f64 1 (*.f64 d1 d1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (*.f64 d1 (+.f64 d1 (-.f64 d3 d4)))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 2) (/.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (*.f64 d1 (-.f64 d4 d3)) (-.f64 1 (*.f64 d1 d1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 d1 (-.f64 d4 (+.f64 d1 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 d4 (+.f64 d1 d3)) d1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (/.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) (+.f64 d1 d1)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (/.f64 (-.f64 d4 (+.f64 d1 d3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (+.f64 d1 (-.f64 d3 d4))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 2) (/.f64 d1 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (*.f64 d1 (+.f64 d1 (-.f64 d3 d4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 d4 (+.f64 d1 d3)) (+.f64 d1 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 d1 2) (*.f64 (-.f64 d4 (+.f64 d1 d3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 d4 (+.f64 d1 d3)) 2) (+.f64 d1 d1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) (+.f64 d1 d1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 d1 (-.f64 d3 d4))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 d1 d1) (+.f64 d1 (-.f64 d3 d4))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 d1 (+.f64 d1 (-.f64 d3 d4))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (-.f64 d4 d3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 d1 (-.f64 d4 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (/.f64 (*.f64 d1 (-.f64 d4 d3)) 2) (/.f64 (*.f64 d1 (-.f64 d4 d3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (-.f64 d4 d3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (-.f64 d4 d3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 (-.f64 d4 d3) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 d4 d3) (*.f64 d1 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 d4 d3) (*.f64 d1 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d4 d3) (*.f64 d1 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (-.f64 d4 d3)) 1)))))

simplify98.0ms (0.6%)

Algorithm
egg-herbie
Rules
1350×rational.json-simplify-2
1222×rational.json-simplify-1
922×rational.json-simplify-49
882×rational.json-simplify-61
848×rational.json-simplify-38
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0992596
12182194
24502194
310182194
426322194
565802194
Stop Event
node limit
Counts
114 → 71
Calls
Call 1
Inputs
(*.f64 (-.f64 d4 d3) d1)
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(-.f64 (*.f64 -1 (*.f64 d1 d3)) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(*.f64 d1 d4)
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(*.f64 d1 d4)
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(-.f64 (*.f64 d1 d4) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(*.f64 -1 (*.f64 d1 d3))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(*.f64 -1 (*.f64 d1 d3))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(*.f64 (-.f64 d4 d3) d1)
(*.f64 (-.f64 d4 d3) d1)
(*.f64 (-.f64 d4 d3) d1)
(*.f64 (-.f64 d4 d3) d1)
(*.f64 (-.f64 d4 d3) d1)
(*.f64 (-.f64 d4 d3) d1)
(*.f64 (-.f64 d4 d3) d1)
(*.f64 (-.f64 d4 d3) d1)
(*.f64 (-.f64 d4 d3) d1)
(*.f64 (-.f64 d4 d3) d1)
(*.f64 (-.f64 d4 d3) d1)
(*.f64 (-.f64 d4 d3) d1)
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(*.f64 d1 d4)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(*.f64 d1 d4)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(*.f64 d1 d4)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 (neg.f64 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 0)
(+.f64 0 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 (neg.f64 d1)) (*.f64 d1 (-.f64 d4 d3)))
(+.f64 -1 (-.f64 1 (*.f64 d1 (+.f64 d1 (-.f64 d3 d4)))))
(+.f64 -1 (+.f64 (*.f64 d1 (-.f64 d4 d3)) (-.f64 1 (*.f64 d1 d1))))
(+.f64 (-.f64 1 (*.f64 d1 (+.f64 d1 (-.f64 d3 d4)))) -1)
(+.f64 (/.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 2) (/.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 2))
(+.f64 (+.f64 (*.f64 d1 (-.f64 d4 d3)) (-.f64 1 (*.f64 d1 d1))) -1)
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(*.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 1)
(*.f64 1 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 (-.f64 d4 (+.f64 d1 d3)) d1)
(*.f64 2 (/.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 2))
(*.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) (+.f64 d1 d1)) 1/2)
(*.f64 (+.f64 d1 d1) (/.f64 (-.f64 d4 (+.f64 d1 d3)) 2))
(*.f64 (*.f64 d1 (+.f64 d1 (-.f64 d3 d4))) -1)
(*.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 2) (/.f64 d1 2))
(*.f64 -1 (*.f64 d1 (+.f64 d1 (-.f64 d3 d4))))
(*.f64 1/2 (*.f64 (-.f64 d4 (+.f64 d1 d3)) (+.f64 d1 d1)))
(*.f64 (/.f64 d1 2) (*.f64 (-.f64 d4 (+.f64 d1 d3)) 2))
(*.f64 (/.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 2) 2)
(*.f64 (/.f64 (-.f64 d4 (+.f64 d1 d3)) 2) (+.f64 d1 d1))
(/.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 1)
(/.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) (+.f64 d1 d1)) 2)
(/.f64 (*.f64 d1 (+.f64 d1 (-.f64 d3 d4))) -1)
(/.f64 (*.f64 d1 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 4)) 4)
(/.f64 (*.f64 (+.f64 d1 d1) (+.f64 d1 (-.f64 d3 d4))) -2)
(/.f64 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 4)))) 16)
(pow.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 1)
(neg.f64 (*.f64 d1 (+.f64 d1 (-.f64 d3 d4))))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) 0)
(+.f64 0 (*.f64 d1 (-.f64 d4 d3)))
(+.f64 (/.f64 (*.f64 d1 (-.f64 d4 d3)) 2) (/.f64 (*.f64 d1 (-.f64 d4 d3)) 2))
(-.f64 (*.f64 d1 (-.f64 d4 d3)) 0)
(/.f64 (*.f64 d1 (-.f64 d4 d3)) 1)
(/.f64 (*.f64 d1 (*.f64 (-.f64 d4 d3) 2)) 2)
(/.f64 (*.f64 (-.f64 d4 d3) (*.f64 d1 4)) 4)
(/.f64 (*.f64 2 (*.f64 (-.f64 d4 d3) (*.f64 d1 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d4 d3) (*.f64 d1 4)))) 16)
(pow.f64 (*.f64 d1 (-.f64 d4 d3)) 1)
Outputs
(*.f64 (-.f64 d4 d3) d1)
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 (-.f64 d4 d3) d1) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 (-.f64 d4 d3) d1) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 (-.f64 d4 d3) d1) (neg.f64 (pow.f64 d1 2)))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 (-.f64 d4 d3) d1) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 (-.f64 d4 d3) d1) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 (-.f64 d4 d3) d1) (neg.f64 (pow.f64 d1 2)))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 (-.f64 d4 d3) d1) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 (-.f64 d4 d3) d1) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 (-.f64 d4 d3) d1) (neg.f64 (pow.f64 d1 2)))
(-.f64 (*.f64 -1 (*.f64 d1 d3)) (pow.f64 d1 2))
(-.f64 (*.f64 -1 (*.f64 d3 d1)) (pow.f64 d1 2))
(-.f64 (*.f64 d3 (neg.f64 d1)) (pow.f64 d1 2))
(-.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d3 d1))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(+.f64 (*.f64 d4 d1) (-.f64 (*.f64 -1 (*.f64 d3 d1)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 d4 (neg.f64 d3))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(+.f64 (*.f64 d4 d1) (-.f64 (*.f64 -1 (*.f64 d3 d1)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 d4 (neg.f64 d3))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(+.f64 (*.f64 d4 d1) (-.f64 (*.f64 -1 (*.f64 d3 d1)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 d4 (neg.f64 d3))) (pow.f64 d1 2))
(*.f64 d1 d4)
(*.f64 d4 d1)
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(+.f64 (*.f64 d4 d1) (-.f64 (*.f64 -1 (*.f64 d3 d1)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 d4 (neg.f64 d3))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(+.f64 (*.f64 d4 d1) (-.f64 (*.f64 -1 (*.f64 d3 d1)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 d4 (neg.f64 d3))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(+.f64 (*.f64 d4 d1) (-.f64 (*.f64 -1 (*.f64 d3 d1)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 d4 (neg.f64 d3))) (pow.f64 d1 2))
(*.f64 d1 d4)
(*.f64 d4 d1)
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(+.f64 (*.f64 d4 d1) (-.f64 (*.f64 -1 (*.f64 d3 d1)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 d4 (neg.f64 d3))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(+.f64 (*.f64 d4 d1) (-.f64 (*.f64 -1 (*.f64 d3 d1)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 d4 (neg.f64 d3))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(+.f64 (*.f64 d4 d1) (-.f64 (*.f64 -1 (*.f64 d3 d1)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 d4 (neg.f64 d3))) (pow.f64 d1 2))
(-.f64 (*.f64 d1 d4) (pow.f64 d1 2))
(-.f64 (*.f64 d4 d1) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(+.f64 (*.f64 d4 d1) (-.f64 (*.f64 -1 (*.f64 d3 d1)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 d4 (neg.f64 d3))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(+.f64 (*.f64 d4 d1) (-.f64 (*.f64 -1 (*.f64 d3 d1)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 d4 (neg.f64 d3))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(+.f64 (*.f64 d4 d1) (-.f64 (*.f64 -1 (*.f64 d3 d1)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 d4 (neg.f64 d3))) (pow.f64 d1 2))
(*.f64 -1 (*.f64 d1 d3))
(*.f64 -1 (*.f64 d3 d1))
(*.f64 d3 (neg.f64 d1))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(+.f64 (*.f64 d4 d1) (-.f64 (*.f64 -1 (*.f64 d3 d1)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 d4 (neg.f64 d3))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(+.f64 (*.f64 d4 d1) (-.f64 (*.f64 -1 (*.f64 d3 d1)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 d4 (neg.f64 d3))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(+.f64 (*.f64 d4 d1) (-.f64 (*.f64 -1 (*.f64 d3 d1)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 d4 (neg.f64 d3))) (pow.f64 d1 2))
(*.f64 -1 (*.f64 d1 d3))
(*.f64 -1 (*.f64 d3 d1))
(*.f64 d3 (neg.f64 d1))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(+.f64 (*.f64 d4 d1) (-.f64 (*.f64 -1 (*.f64 d3 d1)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 d4 (neg.f64 d3))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(+.f64 (*.f64 d4 d1) (-.f64 (*.f64 -1 (*.f64 d3 d1)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 d4 (neg.f64 d3))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4)) (pow.f64 d1 2))
(+.f64 (*.f64 d4 d1) (-.f64 (*.f64 -1 (*.f64 d3 d1)) (pow.f64 d1 2)))
(-.f64 (*.f64 d1 (+.f64 d4 (neg.f64 d3))) (pow.f64 d1 2))
(*.f64 (-.f64 d4 d3) d1)
(*.f64 (-.f64 d4 d3) d1)
(*.f64 (-.f64 d4 d3) d1)
(*.f64 (-.f64 d4 d3) d1)
(*.f64 (-.f64 d4 d3) d1)
(*.f64 (-.f64 d4 d3) d1)
(*.f64 (-.f64 d4 d3) d1)
(*.f64 (-.f64 d4 d3) d1)
(*.f64 (-.f64 d4 d3) d1)
(*.f64 (-.f64 d4 d3) d1)
(*.f64 (-.f64 d4 d3) d1)
(*.f64 (-.f64 d4 d3) d1)
(*.f64 -1 (*.f64 d1 d3))
(*.f64 -1 (*.f64 d3 d1))
(*.f64 d3 (neg.f64 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d3 d1)) (*.f64 d4 d1))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d3 d1)) (*.f64 d4 d1))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d3 d1)) (*.f64 d4 d1))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(*.f64 d1 d4)
(*.f64 d4 d1)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d3 d1)) (*.f64 d4 d1))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d3 d1)) (*.f64 d4 d1))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d3 d1)) (*.f64 d4 d1))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(*.f64 d1 d4)
(*.f64 d4 d1)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d3 d1)) (*.f64 d4 d1))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d3 d1)) (*.f64 d4 d1))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d3 d1)) (*.f64 d4 d1))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(*.f64 d1 d4)
(*.f64 d4 d1)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d3 d1)) (*.f64 d4 d1))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d3 d1)) (*.f64 d4 d1))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d3 d1)) (*.f64 d4 d1))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(*.f64 -1 (*.f64 d1 d3))
(*.f64 -1 (*.f64 d3 d1))
(*.f64 d3 (neg.f64 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d3 d1)) (*.f64 d4 d1))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d3 d1)) (*.f64 d4 d1))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d3 d1)) (*.f64 d4 d1))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(*.f64 -1 (*.f64 d1 d3))
(*.f64 -1 (*.f64 d3 d1))
(*.f64 d3 (neg.f64 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d3 d1)) (*.f64 d4 d1))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d3 d1)) (*.f64 d4 d1))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d3 d1)) (*.f64 d4 d1))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 (neg.f64 d1)))
(+.f64 (*.f64 (-.f64 d4 d3) d1) (*.f64 d1 (neg.f64 d1)))
(*.f64 d1 (+.f64 (neg.f64 d1) (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (neg.f64 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 0)
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(+.f64 0 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(+.f64 (*.f64 d1 (neg.f64 d1)) (*.f64 d1 (-.f64 d4 d3)))
(+.f64 (*.f64 (-.f64 d4 d3) d1) (*.f64 d1 (neg.f64 d1)))
(*.f64 d1 (+.f64 (neg.f64 d1) (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (neg.f64 d1)))
(+.f64 -1 (-.f64 1 (*.f64 d1 (+.f64 d1 (-.f64 d3 d4)))))
(*.f64 (neg.f64 d1) (+.f64 d1 (-.f64 d3 d4)))
(*.f64 d1 (neg.f64 (+.f64 d1 (-.f64 d3 d4))))
(+.f64 -1 (+.f64 (*.f64 d1 (-.f64 d4 d3)) (-.f64 1 (*.f64 d1 d1))))
(+.f64 (*.f64 (-.f64 d4 d3) d1) (*.f64 d1 (neg.f64 d1)))
(*.f64 d1 (+.f64 (neg.f64 d1) (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (neg.f64 d1)))
(+.f64 (-.f64 1 (*.f64 d1 (+.f64 d1 (-.f64 d3 d4)))) -1)
(+.f64 -1 (-.f64 1 (*.f64 d1 (+.f64 d1 (-.f64 d3 d4)))))
(*.f64 (neg.f64 d1) (+.f64 d1 (-.f64 d3 d4)))
(*.f64 d1 (neg.f64 (+.f64 d1 (-.f64 d3 d4))))
(+.f64 (/.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 2) (/.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 2))
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(+.f64 (+.f64 (*.f64 d1 (-.f64 d4 d3)) (-.f64 1 (*.f64 d1 d1))) -1)
(+.f64 (*.f64 (-.f64 d4 d3) d1) (*.f64 d1 (neg.f64 d1)))
(*.f64 d1 (+.f64 (neg.f64 d1) (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (neg.f64 d1)))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(*.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 1)
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(*.f64 1 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(*.f64 (-.f64 d4 (+.f64 d1 d3)) d1)
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(*.f64 2 (/.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 2))
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(*.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) (+.f64 d1 d1)) 1/2)
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(*.f64 (+.f64 d1 d1) (/.f64 (-.f64 d4 (+.f64 d1 d3)) 2))
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(*.f64 (*.f64 d1 (+.f64 d1 (-.f64 d3 d4))) -1)
(+.f64 -1 (-.f64 1 (*.f64 d1 (+.f64 d1 (-.f64 d3 d4)))))
(*.f64 (neg.f64 d1) (+.f64 d1 (-.f64 d3 d4)))
(*.f64 d1 (neg.f64 (+.f64 d1 (-.f64 d3 d4))))
(*.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 2) (/.f64 d1 2))
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(*.f64 -1 (*.f64 d1 (+.f64 d1 (-.f64 d3 d4))))
(+.f64 -1 (-.f64 1 (*.f64 d1 (+.f64 d1 (-.f64 d3 d4)))))
(*.f64 (neg.f64 d1) (+.f64 d1 (-.f64 d3 d4)))
(*.f64 d1 (neg.f64 (+.f64 d1 (-.f64 d3 d4))))
(*.f64 1/2 (*.f64 (-.f64 d4 (+.f64 d1 d3)) (+.f64 d1 d1)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(*.f64 (/.f64 d1 2) (*.f64 (-.f64 d4 (+.f64 d1 d3)) 2))
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(*.f64 (/.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 2) 2)
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(*.f64 (/.f64 (-.f64 d4 (+.f64 d1 d3)) 2) (+.f64 d1 d1))
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(/.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 1)
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(/.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) (+.f64 d1 d1)) 2)
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(/.f64 (*.f64 d1 (+.f64 d1 (-.f64 d3 d4))) -1)
(+.f64 -1 (-.f64 1 (*.f64 d1 (+.f64 d1 (-.f64 d3 d4)))))
(*.f64 (neg.f64 d1) (+.f64 d1 (-.f64 d3 d4)))
(*.f64 d1 (neg.f64 (+.f64 d1 (-.f64 d3 d4))))
(/.f64 (*.f64 d1 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 4)) 4)
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(/.f64 (*.f64 (+.f64 d1 d1) (+.f64 d1 (-.f64 d3 d4))) -2)
(+.f64 -1 (-.f64 1 (*.f64 d1 (+.f64 d1 (-.f64 d3 d4)))))
(*.f64 (neg.f64 d1) (+.f64 d1 (-.f64 d3 d4)))
(*.f64 d1 (neg.f64 (+.f64 d1 (-.f64 d3 d4))))
(/.f64 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 4))) 8)
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 4)))) 16)
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(pow.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 1)
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(neg.f64 (*.f64 d1 (+.f64 d1 (-.f64 d3 d4))))
(+.f64 -1 (-.f64 1 (*.f64 d1 (+.f64 d1 (-.f64 d3 d4)))))
(*.f64 (neg.f64 d1) (+.f64 d1 (-.f64 d3 d4)))
(*.f64 d1 (neg.f64 (+.f64 d1 (-.f64 d3 d4))))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) 0)
(*.f64 (-.f64 d4 d3) d1)
(+.f64 0 (*.f64 d1 (-.f64 d4 d3)))
(*.f64 (-.f64 d4 d3) d1)
(+.f64 (/.f64 (*.f64 d1 (-.f64 d4 d3)) 2) (/.f64 (*.f64 d1 (-.f64 d4 d3)) 2))
(*.f64 (-.f64 d4 d3) d1)
(-.f64 (*.f64 d1 (-.f64 d4 d3)) 0)
(*.f64 (-.f64 d4 d3) d1)
(/.f64 (*.f64 d1 (-.f64 d4 d3)) 1)
(*.f64 (-.f64 d4 d3) d1)
(/.f64 (*.f64 d1 (*.f64 (-.f64 d4 d3) 2)) 2)
(*.f64 (-.f64 d4 d3) d1)
(/.f64 (*.f64 (-.f64 d4 d3) (*.f64 d1 4)) 4)
(*.f64 (-.f64 d4 d3) d1)
(/.f64 (*.f64 2 (*.f64 (-.f64 d4 d3) (*.f64 d1 4))) 8)
(*.f64 (-.f64 d4 d3) d1)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d4 d3) (*.f64 d1 4)))) 16)
(*.f64 (-.f64 d4 d3) d1)
(pow.f64 (*.f64 d1 (-.f64 d4 d3)) 1)
(*.f64 (-.f64 d4 d3) d1)

eval77.0ms (0.5%)

Compiler

Compiled 1506 to 559 computations (62.9% saved)

prune26.0ms (0.2%)

Pruning

12 alts after pruning (9 fresh and 3 done)

PrunedKeptTotal
New1516157
Fresh134
Picked011
Done224
Total15412166
Error
0.0b
Counts
166 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
17.8b
(-.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d1))
18.6b
(+.f64 (*.f64 (+.f64 d1 d3) (neg.f64 d1)) (*.f64 d1 d2))
17.8b
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1)))
25.6b
(*.f64 (-.f64 d4 d3) d1)
26.0b
(*.f64 (-.f64 d2 d3) d1)
36.3b
(*.f64 (-.f64 d2 d1) d1)
36.2b
(*.f64 (+.f64 d3 d1) (neg.f64 d1))
43.6b
(*.f64 d3 (neg.f64 d1))
43.7b
(*.f64 d2 d1)
17.8b
(*.f64 d1 (-.f64 (+.f64 d2 d4) d1))
35.5b
(*.f64 d1 (-.f64 d4 d1))
43.4b
(*.f64 d1 d4)
Compiler

Compiled 210 to 139 computations (33.8% saved)

localize94.0ms (0.6%)

Local error

Found 1 expressions with local error:

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

Compiled 22 to 7 computations (68.2% saved)

series2.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite118.0ms (0.7%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
15419
212719
329119
461119
5157619
6375619
7593719
8782219
Stop Event
node limit
Counts
1 → 12
Calls
Call 1
Inputs
(*.f64 d1 (-.f64 (+.f64 d2 d4) d1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (*.f64 (-.f64 d1 (+.f64 d2 d4)) -1/2)) (*.f64 d1 (*.f64 (-.f64 d1 (+.f64 d2 d4)) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 (-.f64 d1 (+.f64 d2 d4)) -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 d2 (-.f64 d4 d1)) (*.f64 d1 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 1)))))

simplify482.0ms (3%)

Algorithm
egg-herbie
Rules
3460×rational.json-simplify-35
2472×rational.json-simplify-2
1188×exponential.json-simplify-26
1066×rational.json-simplify-53
762×rational.json-simplify-1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0541122
1128920
2245920
3512920
41968920
54039920
64789920
75092920
85559920
95942920
105989920
116973920
127000920
137064920
147072920
157329920
167572920
177836920
Stop Event
node limit
Counts
48 → 28
Calls
Call 1
Inputs
(*.f64 d1 (+.f64 d2 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 d4)))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 d4)))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 d4)))
(*.f64 d1 (-.f64 d4 d1))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1)))
(*.f64 d2 d1)
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1)))
(*.f64 d2 d1)
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1)))
(*.f64 (-.f64 d2 d1) d1)
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d1) d1))
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d1) d1))
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d1) d1))
(*.f64 d1 d4)
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d1) d1))
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d1) d1))
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d1) d1))
(*.f64 d1 d4)
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d1) d1))
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d1) d1))
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d1) d1))
(+.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 0)
(+.f64 0 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))))
(+.f64 (*.f64 d1 (*.f64 (-.f64 d1 (+.f64 d2 d4)) -1/2)) (*.f64 d1 (*.f64 (-.f64 d1 (+.f64 d2 d4)) -1/2)))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 0)
(/.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 1)
(/.f64 (*.f64 d1 (*.f64 (-.f64 d1 (+.f64 d2 d4)) -2)) 2)
(/.f64 (*.f64 (+.f64 d2 (-.f64 d4 d1)) (*.f64 d1 4)) 4)
(/.f64 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 8)))) 64)
(pow.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 1)
Outputs
(*.f64 d1 (+.f64 d2 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (neg.f64 (pow.f64 d1 2)))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (neg.f64 (pow.f64 d1 2)))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (neg.f64 (pow.f64 d1 2)))
(*.f64 d1 (-.f64 d4 d1))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(*.f64 (-.f64 d2 d1) d1)
(*.f64 d1 (-.f64 d2 d1))
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d1) d1))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d1) d1))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d1) d1))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(*.f64 d1 d4)
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d1) d1))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d1) d1))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d1) d1))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(*.f64 d1 d4)
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d1) d1))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d1) d1))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d1) d1))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 0)
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(+.f64 0 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (*.f64 (-.f64 d1 (+.f64 d2 d4)) -1/2)) (*.f64 d1 (*.f64 (-.f64 d1 (+.f64 d2 d4)) -1/2)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 0)
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(/.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 1)
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(/.f64 (*.f64 d1 (*.f64 (-.f64 d1 (+.f64 d2 d4)) -2)) 2)
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(/.f64 (*.f64 (+.f64 d2 (-.f64 d4 d1)) (*.f64 d1 4)) 4)
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(/.f64 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 8) 8)
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 8)) 16)
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 8))) 32)
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 8)))) 64)
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(pow.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 1)
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))

localize4.0ms (0%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

localize54.0ms (0.3%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (-.f64 d2 d1) d1)
Compiler

Compiled 14 to 6 computations (57.1% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite131.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1520×rational.json-1
1520×rational.json-2
1312×rational.json-3
1306×exponential.json-3
1306×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
13913
29313
320313
437313
585713
6237813
7465113
8617713
9785813
Stop Event
node limit
Counts
1 → 23
Calls
Call 1
Inputs
(*.f64 (-.f64 d2 d1) d1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (-.f64 d2 d1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 d1 (-.f64 d2 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 d1 (-.f64 d1 d2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d1 d2) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (*.f64 (-.f64 d1 d2) -1/2)) (*.f64 d1 (*.f64 (-.f64 d1 d2) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (-.f64 d2 d1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 d1 (-.f64 d1 d2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d1 d2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (-.f64 d1 d2)) (*.f64 d1 (*.f64 (-.f64 d2 d1) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d1 d2) 1/2)) (*.f64 2 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d1 d2) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (-.f64 d2 d1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 (-.f64 d1 d2) -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 d1 d2) (*.f64 d1 -4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 d2 d1) (*.f64 d1 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 d2 d1) (*.f64 d1 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d2 d1) (*.f64 d1 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (-.f64 d1 d2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d1 d2) 1/2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d2 d1) (*.f64 d1 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d2 d1) (*.f64 d1 8)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (-.f64 d2 d1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 d1 (-.f64 d1 d2)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d1 d2) 1/2)))))))

simplify168.0ms (1%)

Algorithm
egg-herbie
Rules
3042×rational.json-simplify-2
1794×rational.json-simplify-52
1726×rational.json-simplify-35
1036×exponential.json-simplify-26
880×rational.json-simplify-43
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
070809
1171767
2338767
3727767
42260767
53749767
64705767
75689767
87768767
97926767
Stop Event
node limit
Counts
47 → 31
Calls
Call 1
Inputs
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (-.f64 d2 d1)) 0)
(+.f64 0 (*.f64 d1 (-.f64 d2 d1)))
(+.f64 -1 (-.f64 1 (*.f64 d1 (-.f64 d1 d2))))
(+.f64 -1 (-.f64 1 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d1 d2) 1/2))))
(+.f64 (*.f64 d1 (*.f64 (-.f64 d1 d2) -1/2)) (*.f64 d1 (*.f64 (-.f64 d1 d2) -1/2)))
(-.f64 (*.f64 d1 (-.f64 d2 d1)) 0)
(-.f64 0 (*.f64 d1 (-.f64 d1 d2)))
(-.f64 0 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d1 d2) 1/2)))
(-.f64 (*.f64 d1 (-.f64 d1 d2)) (*.f64 d1 (*.f64 (-.f64 d2 d1) -2)))
(-.f64 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d1 d2) 1/2)) (*.f64 2 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d1 d2) 1/2))))
(/.f64 (*.f64 d1 (-.f64 d2 d1)) 1)
(/.f64 (*.f64 d1 (*.f64 (-.f64 d1 d2) -2)) 2)
(/.f64 (*.f64 (-.f64 d1 d2) (*.f64 d1 -4)) 4)
(/.f64 (*.f64 (-.f64 d2 d1) (*.f64 d1 8)) 8)
(/.f64 (*.f64 2 (*.f64 (-.f64 d2 d1) (*.f64 d1 8))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d2 d1) (*.f64 d1 8)))) 32)
(/.f64 (*.f64 d1 (-.f64 d1 d2)) -1)
(/.f64 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d1 d2) 1/2)) -1)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d2 d1) (*.f64 d1 8))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d2 d1) (*.f64 d1 8)))))) 128)
(pow.f64 (*.f64 d1 (-.f64 d2 d1)) 1)
(neg.f64 (*.f64 d1 (-.f64 d1 d2)))
(neg.f64 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d1 d2) 1/2)))
Outputs
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d2))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d2))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d2))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d2))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d2))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d2))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d2))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d2))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d2))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d2))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d2))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d2))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d2))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d2))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d2))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d2))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d2))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d2))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d2))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d2))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d2))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d2))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d2))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d2))
(+.f64 (*.f64 d1 (-.f64 d2 d1)) 0)
(*.f64 d1 (-.f64 d2 d1))
(+.f64 0 (*.f64 d1 (-.f64 d2 d1)))
(*.f64 d1 (-.f64 d2 d1))
(+.f64 -1 (-.f64 1 (*.f64 d1 (-.f64 d1 d2))))
(*.f64 d1 (-.f64 d2 d1))
(+.f64 -1 (-.f64 1 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d1 d2) 1/2))))
(*.f64 d1 (-.f64 d2 d1))
(+.f64 (*.f64 d1 (*.f64 (-.f64 d1 d2) -1/2)) (*.f64 d1 (*.f64 (-.f64 d1 d2) -1/2)))
(*.f64 d1 (-.f64 d2 d1))
(-.f64 (*.f64 d1 (-.f64 d2 d1)) 0)
(*.f64 d1 (-.f64 d2 d1))
(-.f64 0 (*.f64 d1 (-.f64 d1 d2)))
(*.f64 d1 (-.f64 d2 d1))
(-.f64 0 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d1 d2) 1/2)))
(*.f64 d1 (-.f64 d2 d1))
(-.f64 (*.f64 d1 (-.f64 d1 d2)) (*.f64 d1 (*.f64 (-.f64 d2 d1) -2)))
(*.f64 d1 (-.f64 d2 d1))
(-.f64 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d1 d2) 1/2)) (*.f64 2 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d1 d2) 1/2))))
(*.f64 d1 (-.f64 d2 d1))
(/.f64 (*.f64 d1 (-.f64 d2 d1)) 1)
(*.f64 d1 (-.f64 d2 d1))
(/.f64 (*.f64 d1 (*.f64 (-.f64 d1 d2) -2)) 2)
(*.f64 d1 (-.f64 d2 d1))
(/.f64 (*.f64 (-.f64 d1 d2) (*.f64 d1 -4)) 4)
(*.f64 d1 (-.f64 d2 d1))
(/.f64 (*.f64 (-.f64 d2 d1) (*.f64 d1 8)) 8)
(*.f64 d1 (-.f64 d2 d1))
(/.f64 (*.f64 2 (*.f64 (-.f64 d2 d1) (*.f64 d1 8))) 16)
(*.f64 d1 (-.f64 d2 d1))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d2 d1) (*.f64 d1 8)))) 32)
(*.f64 d1 (-.f64 d2 d1))
(/.f64 (*.f64 d1 (-.f64 d1 d2)) -1)
(*.f64 d1 (-.f64 d2 d1))
(/.f64 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d1 d2) 1/2)) -1)
(*.f64 d1 (-.f64 d2 d1))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d2 d1) (*.f64 d1 8))))) 64)
(*.f64 d1 (-.f64 d2 d1))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d2 d1) (*.f64 d1 8)))))) 128)
(*.f64 d1 (-.f64 d2 d1))
(pow.f64 (*.f64 d1 (-.f64 d2 d1)) 1)
(*.f64 d1 (-.f64 d2 d1))
(neg.f64 (*.f64 d1 (-.f64 d1 d2)))
(*.f64 d1 (-.f64 d2 d1))
(neg.f64 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d1 d2) 1/2)))
(*.f64 d1 (-.f64 d2 d1))

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (-.f64 d4 d3) d1)
Compiler

Compiled 15 to 6 computations (60% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

9 calls:

TimeVariablePointExpression
0.0ms
d1
@0
(*.f64 (-.f64 d4 d3) d1)
0.0ms
d4
@0
(*.f64 (-.f64 d4 d3) d1)
0.0ms
d3
@inf
(*.f64 (-.f64 d4 d3) d1)
0.0ms
d3
@0
(*.f64 (-.f64 d4 d3) d1)
0.0ms
d4
@inf
(*.f64 (-.f64 d4 d3) d1)

rewrite113.0ms (0.7%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
14513
210313
322313
441013
594313
6257213
7500413
8657913
Stop Event
node limit
Counts
1 → 23
Calls
Call 1
Inputs
(*.f64 (-.f64 d4 d3) d1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 d4 d3) d1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 d4 d3) d1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d4) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 d1 (-.f64 d3 d4))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 d4 d3) (*.f64 d1 1/2)) (*.f64 (-.f64 d4 d3) (*.f64 d1 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 d4 d3) d1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d4) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 d1 (-.f64 d3 d4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d4) 1/2)) (*.f64 2 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d4) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (-.f64 d3 d4)) (*.f64 (-.f64 d4 d3) (*.f64 d1 -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 d4 d3) d1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 d4 d3) (+.f64 d1 d1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 d4 d3) (*.f64 d1 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 d4 d3) (*.f64 d1 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 d4 d3) (*.f64 d1 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d4 d3) (*.f64 d1 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d4) 1/2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (-.f64 d3 d4)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d4 d3) (*.f64 d1 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d4 d3) (*.f64 d1 8)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 d4 d3) d1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d4) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 d1 (-.f64 d3 d4)))))))

simplify187.0ms (1.2%)

Algorithm
egg-herbie
Rules
2448×rational.json-simplify-2
1650×rational.json-simplify-35
1110×rational.json-simplify-43
938×rational.json-simplify-52
850×rational.json-simplify-1
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
068833
1169683
2339677
3751677
42544677
54291677
64962677
75289677
85532677
95818677
106993677
Stop Event
node limit
Counts
47 → 32
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(*.f64 d1 d4)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(*.f64 d1 d4)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(*.f64 d1 d4)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 (-.f64 d4 d3) d1) 0)
(+.f64 0 (*.f64 (-.f64 d4 d3) d1))
(+.f64 -1 (-.f64 1 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d4) 1/2))))
(+.f64 -1 (-.f64 1 (*.f64 d1 (-.f64 d3 d4))))
(+.f64 (*.f64 (-.f64 d4 d3) (*.f64 d1 1/2)) (*.f64 (-.f64 d4 d3) (*.f64 d1 1/2)))
(-.f64 (*.f64 (-.f64 d4 d3) d1) 0)
(-.f64 0 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d4) 1/2)))
(-.f64 0 (*.f64 d1 (-.f64 d3 d4)))
(-.f64 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d4) 1/2)) (*.f64 2 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d4) 1/2))))
(-.f64 (*.f64 d1 (-.f64 d3 d4)) (*.f64 (-.f64 d4 d3) (*.f64 d1 -2)))
(/.f64 (*.f64 (-.f64 d4 d3) d1) 1)
(/.f64 (*.f64 (-.f64 d4 d3) (+.f64 d1 d1)) 2)
(/.f64 (*.f64 (-.f64 d4 d3) (*.f64 d1 4)) 4)
(/.f64 (*.f64 (-.f64 d4 d3) (*.f64 d1 8)) 8)
(/.f64 (*.f64 2 (*.f64 (-.f64 d4 d3) (*.f64 d1 8))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d4 d3) (*.f64 d1 8)))) 32)
(/.f64 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d4) 1/2)) -1)
(/.f64 (*.f64 d1 (-.f64 d3 d4)) -1)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d4 d3) (*.f64 d1 8))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d4 d3) (*.f64 d1 8)))))) 128)
(pow.f64 (*.f64 (-.f64 d4 d3) d1) 1)
(neg.f64 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d4) 1/2)))
(neg.f64 (*.f64 d1 (-.f64 d3 d4)))
Outputs
(*.f64 -1 (*.f64 d1 d3))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(*.f64 d1 d4)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(*.f64 d1 d4)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(*.f64 d1 d4)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(*.f64 -1 (*.f64 d1 d3))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(*.f64 -1 (*.f64 d1 d3))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 (-.f64 d4 d3) d1) 0)
(*.f64 d1 (-.f64 d4 d3))
(+.f64 0 (*.f64 (-.f64 d4 d3) d1))
(*.f64 d1 (-.f64 d4 d3))
(+.f64 -1 (-.f64 1 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d4) 1/2))))
(*.f64 d1 (-.f64 d4 d3))
(+.f64 -1 (-.f64 1 (*.f64 d1 (-.f64 d3 d4))))
(*.f64 d1 (-.f64 d4 d3))
(+.f64 (*.f64 (-.f64 d4 d3) (*.f64 d1 1/2)) (*.f64 (-.f64 d4 d3) (*.f64 d1 1/2)))
(*.f64 d1 (-.f64 d4 d3))
(-.f64 (*.f64 (-.f64 d4 d3) d1) 0)
(*.f64 d1 (-.f64 d4 d3))
(-.f64 0 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d4) 1/2)))
(*.f64 d1 (-.f64 d4 d3))
(-.f64 0 (*.f64 d1 (-.f64 d3 d4)))
(*.f64 d1 (-.f64 d4 d3))
(-.f64 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d4) 1/2)) (*.f64 2 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d4) 1/2))))
(*.f64 d1 (-.f64 d4 d3))
(-.f64 (*.f64 d1 (-.f64 d3 d4)) (*.f64 (-.f64 d4 d3) (*.f64 d1 -2)))
(-.f64 (*.f64 d1 (-.f64 d3 d4)) (*.f64 d1 (*.f64 -2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (-.f64 d3 d4)) (*.f64 d1 (*.f64 (-.f64 d4 d3) -2)))
(*.f64 d1 (-.f64 (-.f64 d3 d4) (*.f64 (-.f64 d4 d3) -2)))
(/.f64 (*.f64 (-.f64 d4 d3) d1) 1)
(*.f64 d1 (-.f64 d4 d3))
(/.f64 (*.f64 (-.f64 d4 d3) (+.f64 d1 d1)) 2)
(*.f64 d1 (-.f64 d4 d3))
(/.f64 (*.f64 (-.f64 d4 d3) (*.f64 d1 4)) 4)
(*.f64 d1 (-.f64 d4 d3))
(/.f64 (*.f64 (-.f64 d4 d3) (*.f64 d1 8)) 8)
(*.f64 d1 (-.f64 d4 d3))
(/.f64 (*.f64 2 (*.f64 (-.f64 d4 d3) (*.f64 d1 8))) 16)
(*.f64 d1 (-.f64 d4 d3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d4 d3) (*.f64 d1 8)))) 32)
(*.f64 d1 (-.f64 d4 d3))
(/.f64 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d4) 1/2)) -1)
(*.f64 d1 (-.f64 d4 d3))
(/.f64 (*.f64 d1 (-.f64 d3 d4)) -1)
(*.f64 d1 (-.f64 d4 d3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d4 d3) (*.f64 d1 8))))) 64)
(*.f64 d1 (-.f64 d4 d3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d4 d3) (*.f64 d1 8)))))) 128)
(*.f64 d1 (-.f64 d4 d3))
(pow.f64 (*.f64 (-.f64 d4 d3) d1) 1)
(*.f64 d1 (-.f64 d4 d3))
(neg.f64 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d4) 1/2)))
(*.f64 d1 (-.f64 d4 d3))
(neg.f64 (*.f64 d1 (-.f64 d3 d4)))
(*.f64 d1 (-.f64 d4 d3))

localize10.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 27 to 8 computations (70.4% saved)

series1.0ms (0%)

Counts
1 → 27
Calls

9 calls:

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

rewrite115.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
1568×rational.json-1
1568×rational.json-2
1568×rational.json-3
1564×rational.json-simplify-35
1548×exponential.json-3
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0925
15919
212919
328919
455319
5134819
6294619
7488719
8680719
Stop Event
node limit
Counts
1 → 33
Calls
Call 1
Inputs
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 d1 (+.f64 d2 (-.f64 d4 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 d2 (-.f64 d4 d1)) (*.f64 d1 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (+.f64 d2 (-.f64 d4 d1)) 1/2) d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (*.f64 (+.f64 d2 (-.f64 d4 d1)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (/.f64 (+.f64 d2 (-.f64 d4 d1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d2 (-.f64 d4 d1)) d1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 (+.f64 d2 (-.f64 d4 d1)) 2) (*.f64 d1 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (*.f64 (+.f64 d2 (-.f64 d4 d1)) 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 d2 (-.f64 d4 d1))) (*.f64 d1 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 d1 (*.f64 (-.f64 d4 d1) 2)) (*.f64 d2 (+.f64 d1 d1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 d2 (-.f64 d4 d1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 1/2) (+.f64 (+.f64 d2 d2) (*.f64 (-.f64 d4 d1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 d2 (-.f64 d4 d1)) (*.f64 d1 1/2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 d2 (-.f64 d4 d1)) 1/2) (+.f64 d1 d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 d1 (*.f64 (+.f64 d2 (-.f64 d4 d1)) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 d2 (-.f64 d4 d1)) 2) (+.f64 d1 d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (+.f64 d2 d2) (*.f64 (-.f64 d4 d1) 2)) (*.f64 d1 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 (+.f64 d2 (-.f64 d4 d1)) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 1)))))

simplify339.0ms (2.1%)

Algorithm
egg-herbie
Rules
2090×rational.json-simplify-2
1880×rational.json-simplify-35
1622×rational.json-simplify-1
796×exponential.json-simplify-26
766×rational.json-simplify-51
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0941326
12151284
24891284
314821284
430141284
541761284
648691284
751471284
853151284
954361284
1055811284
1160741284
1263641284
1369471284
1474761284
1577361284
Stop Event
node limit
Counts
60 → 55
Calls
Call 1
Inputs
(*.f64 d1 (-.f64 d4 d1))
(*.f64 d2 d1)
(*.f64 d2 d1)
(*.f64 d1 (+.f64 d2 d4))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 d4)))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 d4)))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 (+.f64 (*.f64 -1 d4) (*.f64 -1 d2)))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 (+.f64 (*.f64 -1 d4) (*.f64 -1 d2)))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 (+.f64 (*.f64 -1 d4) (*.f64 -1 d2)))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)))
(*.f64 d1 d4)
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(*.f64 d1 d4)
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 0)
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 1)
(*.f64 1 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))))
(*.f64 2 (*.f64 (+.f64 d2 (-.f64 d4 d1)) (*.f64 d1 1/2)))
(*.f64 2 (*.f64 (*.f64 (+.f64 d2 (-.f64 d4 d1)) 1/2) d1))
(*.f64 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 2) 1/2)
(*.f64 (+.f64 d1 d1) (*.f64 (+.f64 d2 (-.f64 d4 d1)) 1/2))
(*.f64 (+.f64 d1 d1) (/.f64 (+.f64 d2 (-.f64 d4 d1)) 2))
(*.f64 (+.f64 d2 (-.f64 d4 d1)) d1)
(*.f64 4 (/.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 4))
(*.f64 4 (*.f64 (/.f64 (+.f64 d2 (-.f64 d4 d1)) 2) (*.f64 d1 1/2)))
(*.f64 (*.f64 d1 (*.f64 (+.f64 d2 (-.f64 d4 d1)) 4)) 1/4)
(*.f64 (*.f64 2 (+.f64 d2 (-.f64 d4 d1))) (*.f64 d1 1/2))
(*.f64 1/2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 2))
(*.f64 1/2 (+.f64 (*.f64 d1 (*.f64 (-.f64 d4 d1) 2)) (*.f64 d2 (+.f64 d1 d1))))
(*.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 d2 (-.f64 d4 d1))))
(*.f64 (*.f64 d1 1/2) (+.f64 (+.f64 d2 d2) (*.f64 (-.f64 d4 d1) 2)))
(*.f64 (*.f64 (+.f64 d2 (-.f64 d4 d1)) (*.f64 d1 1/2)) 2)
(*.f64 (*.f64 (+.f64 d2 (-.f64 d4 d1)) 1/2) (+.f64 d1 d1))
(*.f64 1/4 (*.f64 d1 (*.f64 (+.f64 d2 (-.f64 d4 d1)) 4)))
(*.f64 (/.f64 (+.f64 d2 (-.f64 d4 d1)) 2) (+.f64 d1 d1))
(*.f64 (/.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 4) 4)
(*.f64 (+.f64 (+.f64 d2 d2) (*.f64 (-.f64 d4 d1) 2)) (*.f64 d1 1/2))
(/.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 1)
(/.f64 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 2) 2)
(/.f64 (*.f64 d1 (*.f64 (+.f64 d2 (-.f64 d4 d1)) 4)) 4)
(/.f64 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 8)))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 8))))) 128)
(pow.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 1)
Outputs
(*.f64 d1 (-.f64 d4 d1))
(*.f64 d2 d1)
(*.f64 d1 d2)
(*.f64 d2 d1)
(*.f64 d1 d2)
(*.f64 d1 (+.f64 d2 d4))
(*.f64 d1 (+.f64 d4 d2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 (+.f64 (*.f64 -1 d4) (*.f64 -1 d2)))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 (+.f64 (*.f64 -1 d4) (*.f64 -1 d2)))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 (+.f64 (*.f64 -1 d4) (*.f64 -1 d2)))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 d2) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 d2) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(*.f64 d1 d4)
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(*.f64 d1 d4)
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d4 d2)))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 0)
(*.f64 d1 (+.f64 (-.f64 d4 d1) d2))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d1) d2))
(*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 1)
(*.f64 d1 (+.f64 (-.f64 d4 d1) d2))
(*.f64 1 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))))
(*.f64 d1 (+.f64 (-.f64 d4 d1) d2))
(*.f64 2 (*.f64 (+.f64 d2 (-.f64 d4 d1)) (*.f64 d1 1/2)))
(*.f64 d1 (+.f64 (-.f64 d4 d1) d2))
(*.f64 2 (*.f64 (*.f64 (+.f64 d2 (-.f64 d4 d1)) 1/2) d1))
(*.f64 d1 (+.f64 (-.f64 d4 d1) d2))
(*.f64 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 2) 1/2)
(*.f64 d1 (+.f64 (-.f64 d4 d1) d2))
(*.f64 (+.f64 d1 d1) (*.f64 (+.f64 d2 (-.f64 d4 d1)) 1/2))
(*.f64 d1 (+.f64 (-.f64 d4 d1) d2))
(*.f64 (+.f64 d1 d1) (/.f64 (+.f64 d2 (-.f64 d4 d1)) 2))
(*.f64 d1 (+.f64 (-.f64 d4 d1) d2))
(*.f64 (+.f64 d2 (-.f64 d4 d1)) d1)
(*.f64 d1 (+.f64 (-.f64 d4 d1) d2))
(*.f64 4 (/.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 4))
(*.f64 d1 (+.f64 (-.f64 d4 d1) d2))
(*.f64 4 (*.f64 (/.f64 (+.f64 d2 (-.f64 d4 d1)) 2) (*.f64 d1 1/2)))
(*.f64 d1 (+.f64 (-.f64 d4 d1) d2))
(*.f64 (*.f64 d1 (*.f64 (+.f64 d2 (-.f64 d4 d1)) 4)) 1/4)
(*.f64 d1 (+.f64 (-.f64 d4 d1) d2))
(*.f64 (*.f64 2 (+.f64 d2 (-.f64 d4 d1))) (*.f64 d1 1/2))
(*.f64 d1 (+.f64 (-.f64 d4 d1) d2))
(*.f64 1/2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 2))
(*.f64 d1 (+.f64 (-.f64 d4 d1) d2))
(*.f64 1/2 (+.f64 (*.f64 d1 (*.f64 (-.f64 d4 d1) 2)) (*.f64 d2 (+.f64 d1 d1))))
(*.f64 d1 (+.f64 (-.f64 d4 d1) d2))
(*.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 d2 (-.f64 d4 d1))))
(*.f64 d1 (+.f64 (-.f64 d4 d1) d2))
(*.f64 (*.f64 d1 1/2) (+.f64 (+.f64 d2 d2) (*.f64 (-.f64 d4 d1) 2)))
(*.f64 (*.f64 d1 1/2) (+.f64 (*.f64 (-.f64 d4 d1) 2) (+.f64 d2 d2)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 (-.f64 d4 d1) 2) (+.f64 d2 d2)) d1))
(*.f64 1/2 (*.f64 d1 (+.f64 (*.f64 (-.f64 d4 d1) 2) (+.f64 d2 d2))))
(*.f64 1/2 (*.f64 d1 (+.f64 d2 (+.f64 d2 (*.f64 (-.f64 d4 d1) 2)))))
(*.f64 (*.f64 (+.f64 d2 (-.f64 d4 d1)) (*.f64 d1 1/2)) 2)
(*.f64 d1 (+.f64 (-.f64 d4 d1) d2))
(*.f64 (*.f64 (+.f64 d2 (-.f64 d4 d1)) 1/2) (+.f64 d1 d1))
(*.f64 d1 (+.f64 (-.f64 d4 d1) d2))
(*.f64 1/4 (*.f64 d1 (*.f64 (+.f64 d2 (-.f64 d4 d1)) 4)))
(*.f64 d1 (+.f64 (-.f64 d4 d1) d2))
(*.f64 (/.f64 (+.f64 d2 (-.f64 d4 d1)) 2) (+.f64 d1 d1))
(*.f64 d1 (+.f64 (-.f64 d4 d1) d2))
(*.f64 (/.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 4) 4)
(*.f64 d1 (+.f64 (-.f64 d4 d1) d2))
(*.f64 (+.f64 (+.f64 d2 d2) (*.f64 (-.f64 d4 d1) 2)) (*.f64 d1 1/2))
(*.f64 (*.f64 d1 1/2) (+.f64 (*.f64 (-.f64 d4 d1) 2) (+.f64 d2 d2)))
(*.f64 1/2 (*.f64 (+.f64 (*.f64 (-.f64 d4 d1) 2) (+.f64 d2 d2)) d1))
(*.f64 1/2 (*.f64 d1 (+.f64 (*.f64 (-.f64 d4 d1) 2) (+.f64 d2 d2))))
(*.f64 1/2 (*.f64 d1 (+.f64 d2 (+.f64 d2 (*.f64 (-.f64 d4 d1) 2)))))
(/.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 1)
(*.f64 d1 (+.f64 (-.f64 d4 d1) d2))
(/.f64 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 2) 2)
(*.f64 d1 (+.f64 (-.f64 d4 d1) d2))
(/.f64 (*.f64 d1 (*.f64 (+.f64 d2 (-.f64 d4 d1)) 4)) 4)
(*.f64 d1 (+.f64 (-.f64 d4 d1) d2))
(/.f64 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 8) 8)
(*.f64 d1 (+.f64 (-.f64 d4 d1) d2))
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 8)) 16)
(*.f64 d1 (+.f64 (-.f64 d4 d1) d2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 8))) 32)
(*.f64 d1 (+.f64 (-.f64 d4 d1) d2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 8)))) 64)
(*.f64 d1 (+.f64 (-.f64 d4 d1) d2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 8))))) 128)
(*.f64 d1 (+.f64 (-.f64 d4 d1) d2))
(pow.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d1))) 1)
(*.f64 d1 (+.f64 (-.f64 d4 d1) d2))

eval24.0ms (0.2%)

Compiler

Compiled 1639 to 702 computations (57.2% saved)

prune124.0ms (0.8%)

Pruning

12 alts after pruning (5 fresh and 7 done)

PrunedKeptTotal
New1621163
Fresh044
Picked011
Done167
Total16312175
Error
0.0b
Counts
175 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
17.8b
(-.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d1))
18.6b
(+.f64 (*.f64 (+.f64 d1 d3) (neg.f64 d1)) (*.f64 d1 d2))
17.8b
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1)))
25.6b
(*.f64 (-.f64 d4 d3) d1)
26.0b
(*.f64 (-.f64 d2 d3) d1)
36.3b
(*.f64 (-.f64 d2 d1) d1)
36.2b
(*.f64 (+.f64 d3 d1) (neg.f64 d1))
43.6b
(*.f64 d3 (neg.f64 d1))
43.7b
(*.f64 d2 d1)
35.5b
(*.f64 d1 (-.f64 d4 d1))
25.6b
(*.f64 d1 (+.f64 d4 d2))
43.4b
(*.f64 d1 d4)
Compiler

Compiled 168 to 112 computations (33.3% saved)

localize10.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

Compiled 31 to 9 computations (71% saved)

series3.0ms (0%)

Counts
2 → 60
Calls

15 calls:

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

rewrite124.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
1768×rational.json-simplify-35
1732×rational.json-1
1364×rational.json-2
1364×rational.json-3
1344×exponential.json-3
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01146
17646
216342
335540
473440
5181640
6377340
7590740
8793340
Stop Event
node limit
Counts
2 → 54
Calls
Call 1
Inputs
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(+.f64 (*.f64 (+.f64 d1 d3) (neg.f64 d1)) (*.f64 d1 d2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (neg.f64 (+.f64 d1 d3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 d1 (neg.f64 (+.f64 d1 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 d1 (+.f64 d1 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 d1 d3) (*.f64 d1 -1/2)) (*.f64 (+.f64 d1 d3) (*.f64 d1 -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (*.f64 d1 (+.f64 d1 d3))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (neg.f64 (+.f64 d1 d3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 d1 (+.f64 d1 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 (*.f64 d1 (+.f64 d1 d3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (neg.f64 (+.f64 d1 d3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 d1 d3) (*.f64 d1 -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 (+.f64 d1 d3) -4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 d1 d3)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 -8 (*.f64 d1 (+.f64 d1 d3))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 (+.f64 d1 d3) 2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 -8 (*.f64 d1 (+.f64 d1 d3)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d1 d3) 2))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 -8 (*.f64 d1 (+.f64 d1 d3))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -8 (*.f64 d1 (+.f64 d1 d3)))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -8 (*.f64 d1 (+.f64 d1 d3)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -8 (*.f64 d1 (+.f64 d1 d3))))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (neg.f64 (+.f64 d1 d3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 d1 (+.f64 d1 d3)))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (*.f64 (+.f64 d2 (neg.f64 (+.f64 d1 d3))) 1/2) d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (*.f64 (+.f64 d2 (neg.f64 (+.f64 d1 d3))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (/.f64 (+.f64 d2 (neg.f64 (+.f64 d1 d3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (+.f64 (/.f64 d2 2) (*.f64 (+.f64 d1 d3) -1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (+.f64 (/.f64 d2 2) (*.f64 (neg.f64 (+.f64 d1 d3)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (/.f64 (+.f64 d2 (neg.f64 (+.f64 d1 d3))) 2) (*.f64 d1 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 d1 4) (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d2 (neg.f64 (+.f64 d1 d3))) d1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) (*.f64 d1 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (+.f64 d1 d3) (*.f64 d1 -2)) (*.f64 d2 (+.f64 d1 d1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 1/2) (+.f64 (+.f64 d2 d2) (*.f64 (+.f64 d1 d3) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 d2 (neg.f64 (+.f64 d1 d3))) 1/2) (+.f64 d1 d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (*.f64 d1 4) (+.f64 d2 (neg.f64 (+.f64 d1 d3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 4) (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 8))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 1)))))

simplify432.0ms (2.7%)

Algorithm
egg-herbie
Rules
2880×rational.json-simplify-35
2508×rational.json-simplify-2
1432×rational.json-simplify-53
1056×exponential.json-simplify-26
800×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01463052
13402836
27752602
323262560
441622560
550012560
655612560
760202560
863142560
963622560
1071452560
1171542560
1271672560
1372512560
1475392560
1578082560
Stop Event
node limit
Counts
114 → 88
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(*.f64 (+.f64 d2 (*.f64 -1 d3)) d1)
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (+.f64 d2 (*.f64 -1 d3)) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (+.f64 d2 (*.f64 -1 d3)) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (+.f64 d2 (*.f64 -1 d3)) d1))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (+.f64 d2 (*.f64 -1 d3)) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (+.f64 d2 (*.f64 -1 d3)) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (+.f64 d2 (*.f64 -1 d3)) d1))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 (+.f64 d3 (*.f64 -1 d2)))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 (+.f64 d3 (*.f64 -1 d2)))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 (+.f64 d3 (*.f64 -1 d2)))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1)))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1)))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1)))
(*.f64 -1 (*.f64 (+.f64 d1 d3) d1))
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(*.f64 d2 d1)
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(*.f64 d2 d1)
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d1 (neg.f64 (+.f64 d1 d3))) 0)
(+.f64 0 (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(+.f64 -1 (-.f64 1 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 (+.f64 d1 d3) (*.f64 d1 -1/2)) (*.f64 (+.f64 d1 d3) (*.f64 d1 -1/2)))
(+.f64 (-.f64 1 (*.f64 d1 (+.f64 d1 d3))) -1)
(-.f64 (*.f64 d1 (neg.f64 (+.f64 d1 d3))) 0)
(-.f64 0 (*.f64 d1 (+.f64 d1 d3)))
(-.f64 (-.f64 1 (*.f64 d1 (+.f64 d1 d3))) 1)
(/.f64 (*.f64 d1 (neg.f64 (+.f64 d1 d3))) 1)
(/.f64 (*.f64 (+.f64 d1 d3) (*.f64 d1 -2)) 2)
(/.f64 (*.f64 d1 (*.f64 (+.f64 d1 d3) -4)) 4)
(/.f64 (*.f64 d1 (+.f64 d1 d3)) -1)
(/.f64 (*.f64 -8 (*.f64 d1 (+.f64 d1 d3))) 8)
(/.f64 (*.f64 d1 (*.f64 (+.f64 d1 d3) 2)) -2)
(/.f64 (*.f64 2 (*.f64 -8 (*.f64 d1 (+.f64 d1 d3)))) 16)
(/.f64 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d1 d3) 2))) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 -8 (*.f64 d1 (+.f64 d1 d3))))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -8 (*.f64 d1 (+.f64 d1 d3)))))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -8 (*.f64 d1 (+.f64 d1 d3)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -8 (*.f64 d1 (+.f64 d1 d3))))))) 128)
(pow.f64 (*.f64 d1 (neg.f64 (+.f64 d1 d3))) 1)
(neg.f64 (*.f64 d1 (+.f64 d1 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 0)
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 1)
(*.f64 1 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))))
(*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 1/2))
(*.f64 2 (*.f64 (*.f64 (+.f64 d2 (neg.f64 (+.f64 d1 d3))) 1/2) d1))
(*.f64 (*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 2) 1/2)
(*.f64 (+.f64 d1 d1) (*.f64 (+.f64 d2 (neg.f64 (+.f64 d1 d3))) 1/2))
(*.f64 (+.f64 d1 d1) (/.f64 (+.f64 d2 (neg.f64 (+.f64 d1 d3))) 2))
(*.f64 (+.f64 d1 d1) (+.f64 (/.f64 d2 2) (*.f64 (+.f64 d1 d3) -1/2)))
(*.f64 (+.f64 d1 d1) (+.f64 (/.f64 d2 2) (*.f64 (neg.f64 (+.f64 d1 d3)) 1/2)))
(*.f64 4 (/.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 4))
(*.f64 4 (*.f64 (/.f64 (+.f64 d2 (neg.f64 (+.f64 d1 d3))) 2) (*.f64 d1 1/2)))
(*.f64 (*.f64 (*.f64 d1 4) (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 1/4)
(*.f64 (+.f64 d2 (neg.f64 (+.f64 d1 d3))) d1)
(*.f64 (*.f64 2 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) (*.f64 d1 1/2))
(*.f64 1/2 (*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 2))
(*.f64 1/2 (+.f64 (*.f64 (+.f64 d1 d3) (*.f64 d1 -2)) (*.f64 d2 (+.f64 d1 d1))))
(*.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))))
(*.f64 (*.f64 d1 1/2) (+.f64 (+.f64 d2 d2) (*.f64 (+.f64 d1 d3) -2)))
(*.f64 (*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 1/2) 2)
(*.f64 (*.f64 (+.f64 d2 (neg.f64 (+.f64 d1 d3))) 1/2) (+.f64 d1 d1))
(*.f64 1/4 (*.f64 (*.f64 d1 4) (+.f64 d2 (neg.f64 (+.f64 d1 d3)))))
(*.f64 (/.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 4) 4)
(/.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 1)
(/.f64 (*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 2) 2)
(/.f64 (*.f64 (*.f64 d1 4) (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 4)
(/.f64 (*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 8))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 8)))) 64)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 8))))) 128)
(pow.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 1)
Outputs
(*.f64 -1 (*.f64 d1 d3))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(neg.f64 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(neg.f64 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(neg.f64 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(neg.f64 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(neg.f64 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(neg.f64 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(neg.f64 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(neg.f64 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(neg.f64 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(neg.f64 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(neg.f64 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(neg.f64 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(*.f64 -1 (*.f64 d1 d3))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(neg.f64 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(neg.f64 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(neg.f64 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(*.f64 -1 (*.f64 d1 d3))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(neg.f64 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(neg.f64 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(neg.f64 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(*.f64 (+.f64 d2 (*.f64 -1 d3)) d1)
(*.f64 d1 (+.f64 d2 (*.f64 -1 d3)))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (+.f64 d2 (*.f64 -1 d3)) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (*.f64 -1 d3))))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (+.f64 d2 (*.f64 -1 d3)) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (*.f64 -1 d3))))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (+.f64 d2 (*.f64 -1 d3)) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (*.f64 -1 d3))))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (+.f64 d2 (*.f64 -1 d3)) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (*.f64 -1 d3))))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (+.f64 d2 (*.f64 -1 d3)) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (*.f64 -1 d3))))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (+.f64 d2 (*.f64 -1 d3)) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (*.f64 -1 d3))))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 (+.f64 d3 (*.f64 -1 d2)))))
(*.f64 -1 (+.f64 (*.f64 d1 (+.f64 d3 (neg.f64 d2))) (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 (+.f64 d3 (neg.f64 d2)))))
(neg.f64 (+.f64 (pow.f64 d1 2) (*.f64 d1 (+.f64 d3 (neg.f64 d2)))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 (+.f64 d3 (*.f64 -1 d2)))))
(*.f64 -1 (+.f64 (*.f64 d1 (+.f64 d3 (neg.f64 d2))) (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 (+.f64 d3 (neg.f64 d2)))))
(neg.f64 (+.f64 (pow.f64 d1 2) (*.f64 d1 (+.f64 d3 (neg.f64 d2)))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 (+.f64 d3 (*.f64 -1 d2)))))
(*.f64 -1 (+.f64 (*.f64 d1 (+.f64 d3 (neg.f64 d2))) (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 (+.f64 d3 (neg.f64 d2)))))
(neg.f64 (+.f64 (pow.f64 d1 2) (*.f64 d1 (+.f64 d3 (neg.f64 d2)))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 d2))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 d2))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (*.f64 -1 d3))))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (*.f64 -1 d3))))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d2 d1)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (*.f64 -1 d3))))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 -1 (*.f64 d1 d3))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (*.f64 -1 d3))))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (*.f64 -1 d3))))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (*.f64 -1 d3))))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 -1 (*.f64 d1 d3))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (*.f64 -1 d3))))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (*.f64 -1 d3))))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (*.f64 -1 d3))))
(+.f64 (neg.f64 (pow.f64 d1 2)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 -1 (*.f64 (+.f64 d1 d3) d1))
(neg.f64 (*.f64 d1 (+.f64 d1 d3)))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 (neg.f64 (+.f64 d1 d3))) 0)
(neg.f64 (*.f64 d1 (+.f64 d1 d3)))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(+.f64 0 (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(neg.f64 (*.f64 d1 (+.f64 d1 d3)))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(+.f64 -1 (-.f64 1 (*.f64 d1 (+.f64 d1 d3))))
(neg.f64 (*.f64 d1 (+.f64 d1 d3)))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(+.f64 (*.f64 (+.f64 d1 d3) (*.f64 d1 -1/2)) (*.f64 (+.f64 d1 d3) (*.f64 d1 -1/2)))
(neg.f64 (*.f64 d1 (+.f64 d1 d3)))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(+.f64 (-.f64 1 (*.f64 d1 (+.f64 d1 d3))) -1)
(neg.f64 (*.f64 d1 (+.f64 d1 d3)))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(-.f64 (*.f64 d1 (neg.f64 (+.f64 d1 d3))) 0)
(neg.f64 (*.f64 d1 (+.f64 d1 d3)))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(-.f64 0 (*.f64 d1 (+.f64 d1 d3)))
(neg.f64 (*.f64 d1 (+.f64 d1 d3)))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(-.f64 (-.f64 1 (*.f64 d1 (+.f64 d1 d3))) 1)
(neg.f64 (*.f64 d1 (+.f64 d1 d3)))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(/.f64 (*.f64 d1 (neg.f64 (+.f64 d1 d3))) 1)
(neg.f64 (*.f64 d1 (+.f64 d1 d3)))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(/.f64 (*.f64 (+.f64 d1 d3) (*.f64 d1 -2)) 2)
(neg.f64 (*.f64 d1 (+.f64 d1 d3)))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(/.f64 (*.f64 d1 (*.f64 (+.f64 d1 d3) -4)) 4)
(neg.f64 (*.f64 d1 (+.f64 d1 d3)))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(/.f64 (*.f64 d1 (+.f64 d1 d3)) -1)
(neg.f64 (*.f64 d1 (+.f64 d1 d3)))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(/.f64 (*.f64 -8 (*.f64 d1 (+.f64 d1 d3))) 8)
(neg.f64 (*.f64 d1 (+.f64 d1 d3)))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(/.f64 (*.f64 d1 (*.f64 (+.f64 d1 d3) 2)) -2)
(neg.f64 (*.f64 d1 (+.f64 d1 d3)))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(/.f64 (*.f64 2 (*.f64 -8 (*.f64 d1 (+.f64 d1 d3)))) 16)
(neg.f64 (*.f64 d1 (+.f64 d1 d3)))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(/.f64 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d1 d3) 2))) -4)
(neg.f64 (*.f64 d1 (+.f64 d1 d3)))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 -8 (*.f64 d1 (+.f64 d1 d3))))) 32)
(neg.f64 (*.f64 d1 (+.f64 d1 d3)))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -8 (*.f64 d1 (+.f64 d1 d3)))))) 64)
(neg.f64 (*.f64 d1 (+.f64 d1 d3)))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -8 (*.f64 d1 (+.f64 d1 d3)))))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 -8 (*.f64 d1 (+.f64 d1 d3))))))) 128)
(neg.f64 (*.f64 d1 (+.f64 d1 d3)))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(pow.f64 (*.f64 d1 (neg.f64 (+.f64 d1 d3))) 1)
(neg.f64 (*.f64 d1 (+.f64 d1 d3)))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(neg.f64 (*.f64 d1 (+.f64 d1 d3)))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 0)
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 1)
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(*.f64 1 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 1/2))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(*.f64 2 (*.f64 (*.f64 (+.f64 d2 (neg.f64 (+.f64 d1 d3))) 1/2) d1))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(*.f64 (*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 2) 1/2)
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(*.f64 (+.f64 d1 d1) (*.f64 (+.f64 d2 (neg.f64 (+.f64 d1 d3))) 1/2))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(*.f64 (+.f64 d1 d1) (/.f64 (+.f64 d2 (neg.f64 (+.f64 d1 d3))) 2))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(*.f64 (+.f64 d1 d1) (+.f64 (/.f64 d2 2) (*.f64 (+.f64 d1 d3) -1/2)))
(*.f64 (+.f64 d1 d1) (+.f64 (/.f64 d2 2) (*.f64 (neg.f64 (+.f64 d1 d3)) 1/2)))
(*.f64 (+.f64 d1 d1) (+.f64 (/.f64 d2 2) (*.f64 (+.f64 d1 d3) -1/2)))
(*.f64 4 (/.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 4))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(*.f64 4 (*.f64 (/.f64 (+.f64 d2 (neg.f64 (+.f64 d1 d3))) 2) (*.f64 d1 1/2)))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(*.f64 (*.f64 (*.f64 d1 4) (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 1/4)
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(*.f64 (+.f64 d2 (neg.f64 (+.f64 d1 d3))) d1)
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(*.f64 (*.f64 2 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) (*.f64 d1 1/2))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(*.f64 1/2 (*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 2))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(*.f64 1/2 (+.f64 (*.f64 (+.f64 d1 d3) (*.f64 d1 -2)) (*.f64 d2 (+.f64 d1 d1))))
(*.f64 1/2 (+.f64 (*.f64 d1 (*.f64 (+.f64 d1 d3) -2)) (*.f64 d2 (+.f64 d1 d1))))
(*.f64 1/2 (+.f64 (*.f64 d2 (+.f64 d1 d1)) (*.f64 d1 (*.f64 (+.f64 d1 d3) -2))))
(*.f64 1/2 (+.f64 (*.f64 d2 (+.f64 d1 d1)) (*.f64 (+.f64 d1 d3) (*.f64 d1 -2))))
(*.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(*.f64 (*.f64 d1 1/2) (+.f64 (+.f64 d2 d2) (*.f64 (+.f64 d1 d3) -2)))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(*.f64 (*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 1/2) 2)
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(*.f64 (*.f64 (+.f64 d2 (neg.f64 (+.f64 d1 d3))) 1/2) (+.f64 d1 d1))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(*.f64 1/4 (*.f64 (*.f64 d1 4) (+.f64 d2 (neg.f64 (+.f64 d1 d3)))))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(*.f64 (/.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 4) 4)
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(/.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 1)
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(/.f64 (*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 2) 2)
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(/.f64 (*.f64 (*.f64 d1 4) (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 4)
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(/.f64 (*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 8) 8)
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 8)) 16)
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 8))) 32)
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 8)))) 64)
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 8)))) (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 8))))) 128)
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(pow.f64 (*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3)))) 1)
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))

localize6.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 15 to 6 computations (60% saved)

series2.0ms (0%)

Counts
1 → 36
Calls

9 calls:

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

rewrite171.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
2520×rational.json-simplify-2
1526×rational.json-simplify-35
1258×rational.json-simplify-1
1232×exponential.json-3
1232×rational.json-1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
14613
210213
321413
439713
589613
6231513
7418313
8508813
9616213
10697713
11697713
Stop Event
node limit
Counts
1 → 14
Calls
Call 1
Inputs
(*.f64 d1 (+.f64 d4 d2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (+.f64 d4 d2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 d1 (+.f64 d4 d2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (*.f64 (+.f64 d4 d2) 1/2)) (*.f64 d1 (*.f64 (+.f64 d4 d2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (+.f64 d4 d2)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 d4 d2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 (+.f64 d4 d2) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 (+.f64 d4 d2) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 d4 d2) (*.f64 d1 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 d4 d2) (*.f64 d1 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d4 d2) (*.f64 d1 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d4 d2) (*.f64 d1 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d4 d2) (*.f64 d1 8)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d4 d2) (*.f64 d1 8))))))) 256)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (+.f64 d4 d2)) 1)))))

simplify450.0ms (2.8%)

Algorithm
egg-herbie
Rules
2824×rational.json-simplify-2
2086×rational.json-simplify-35
1520×rational.json-simplify-53
1414×rational.json-simplify-1
1040×rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
051614
1131614
2258614
3618614
42273614
54463614
64678614
74793614
84891614
94989614
105085614
116643614
127189614
137395614
147395614
157395614
167491614
177587614
Stop Event
node limit
Counts
50 → 20
Calls
Call 1
Inputs
(*.f64 d1 (+.f64 d2 d4))
(*.f64 d1 (+.f64 d2 d4))
(*.f64 d1 (+.f64 d2 d4))
(*.f64 d1 (+.f64 d2 d4))
(*.f64 d1 (+.f64 d2 d4))
(*.f64 d1 (+.f64 d2 d4))
(*.f64 d1 (+.f64 d2 d4))
(*.f64 d1 (+.f64 d2 d4))
(*.f64 d1 (+.f64 d2 d4))
(*.f64 d1 (+.f64 d2 d4))
(*.f64 d1 (+.f64 d2 d4))
(*.f64 d1 (+.f64 d2 d4))
(*.f64 d2 d1)
(+.f64 (*.f64 d1 d4) (*.f64 d2 d1))
(+.f64 (*.f64 d1 d4) (*.f64 d2 d1))
(+.f64 (*.f64 d1 d4) (*.f64 d2 d1))
(*.f64 d1 d4)
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
(*.f64 d1 d4)
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
(*.f64 d1 d4)
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
(*.f64 d2 d1)
(+.f64 (*.f64 d1 d4) (*.f64 d2 d1))
(+.f64 (*.f64 d1 d4) (*.f64 d2 d1))
(+.f64 (*.f64 d1 d4) (*.f64 d2 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 d1 d4) (*.f64 d2 d1))
(+.f64 (*.f64 d1 d4) (*.f64 d2 d1))
(+.f64 (*.f64 d1 d4) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (+.f64 d4 d2)) 0)
(+.f64 0 (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (*.f64 d1 (*.f64 (+.f64 d4 d2) 1/2)) (*.f64 d1 (*.f64 (+.f64 d4 d2) 1/2)))
(-.f64 (*.f64 d1 (+.f64 d4 d2)) 0)
(/.f64 (*.f64 d1 (+.f64 d4 d2)) 1)
(/.f64 (*.f64 d1 (*.f64 (+.f64 d4 d2) 2)) 2)
(/.f64 (*.f64 d1 (*.f64 (+.f64 d4 d2) 4)) 4)
(/.f64 (*.f64 (+.f64 d4 d2) (*.f64 d1 8)) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 d4 d2) (*.f64 d1 8))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d4 d2) (*.f64 d1 8)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d4 d2) (*.f64 d1 8))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d4 d2) (*.f64 d1 8)))))) 128)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d4 d2) (*.f64 d1 8))))))) 256)
(pow.f64 (*.f64 d1 (+.f64 d4 d2)) 1)
Outputs
(*.f64 d1 (+.f64 d2 d4))
(*.f64 d1 (+.f64 d2 d4))
(*.f64 d1 (+.f64 d2 d4))
(*.f64 d1 (+.f64 d2 d4))
(*.f64 d1 (+.f64 d2 d4))
(*.f64 d1 (+.f64 d2 d4))
(*.f64 d1 (+.f64 d2 d4))
(*.f64 d1 (+.f64 d2 d4))
(*.f64 d1 (+.f64 d2 d4))
(*.f64 d1 (+.f64 d2 d4))
(*.f64 d1 (+.f64 d2 d4))
(*.f64 d1 (+.f64 d2 d4))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 d1 d4) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d2 d4))
(+.f64 (*.f64 d1 d4) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d2 d4))
(+.f64 (*.f64 d1 d4) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d2 d4))
(*.f64 d1 d4)
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d2 d4))
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d2 d4))
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d2 d4))
(*.f64 d1 d4)
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d2 d4))
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d2 d4))
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d2 d4))
(*.f64 d1 d4)
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d2 d4))
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d2 d4))
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d2 d4))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 d1 d4) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d2 d4))
(+.f64 (*.f64 d1 d4) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d2 d4))
(+.f64 (*.f64 d1 d4) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d2 d4))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 d1 d4) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d2 d4))
(+.f64 (*.f64 d1 d4) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d2 d4))
(+.f64 (*.f64 d1 d4) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d2 d4))
(+.f64 (*.f64 d1 (+.f64 d4 d2)) 0)
(*.f64 d1 (+.f64 d2 d4))
(+.f64 0 (*.f64 d1 (+.f64 d4 d2)))
(*.f64 d1 (+.f64 d2 d4))
(+.f64 (*.f64 d1 (*.f64 (+.f64 d4 d2) 1/2)) (*.f64 d1 (*.f64 (+.f64 d4 d2) 1/2)))
(*.f64 d1 (+.f64 d2 d4))
(-.f64 (*.f64 d1 (+.f64 d4 d2)) 0)
(*.f64 d1 (+.f64 d2 d4))
(/.f64 (*.f64 d1 (+.f64 d4 d2)) 1)
(*.f64 d1 (+.f64 d2 d4))
(/.f64 (*.f64 d1 (*.f64 (+.f64 d4 d2) 2)) 2)
(*.f64 d1 (+.f64 d2 d4))
(/.f64 (*.f64 d1 (*.f64 (+.f64 d4 d2) 4)) 4)
(*.f64 d1 (+.f64 d2 d4))
(/.f64 (*.f64 (+.f64 d4 d2) (*.f64 d1 8)) 8)
(*.f64 d1 (+.f64 d2 d4))
(/.f64 (*.f64 2 (*.f64 (+.f64 d4 d2) (*.f64 d1 8))) 16)
(*.f64 d1 (+.f64 d2 d4))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d4 d2) (*.f64 d1 8)))) 32)
(*.f64 d1 (+.f64 d2 d4))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d4 d2) (*.f64 d1 8))))) 64)
(*.f64 d1 (+.f64 d2 d4))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d4 d2) (*.f64 d1 8)))))) 128)
(*.f64 d1 (+.f64 d2 d4))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d4 d2) (*.f64 d1 8))))))) 256)
(*.f64 d1 (+.f64 d2 d4))
(pow.f64 (*.f64 d1 (+.f64 d4 d2)) 1)
(*.f64 d1 (+.f64 d2 d4))

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

NewErrorProgram
0.0b
(*.f64 d1 (-.f64 d4 d1))
Compiler

Compiled 14 to 6 computations (57.1% saved)

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 15 to 6 computations (60% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

9 calls:

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

rewrite105.0ms (0.7%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
14513
210313
322313
441013
594313
6257213
7500413
8657913
Stop Event
node limit
Counts
1 → 23
Calls
Call 1
Inputs
(*.f64 (-.f64 d2 d3) d1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 d2 d3) d1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 (-.f64 d2 d3) d1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d2) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 d1 (-.f64 d3 d2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 d2 d3) (*.f64 d1 1/2)) (*.f64 (-.f64 d2 d3) (*.f64 d1 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (-.f64 d2 d3) d1) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 d1 (-.f64 d3 d2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d2) 1/2)) (*.f64 2 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d2) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (-.f64 d3 d2)) (*.f64 (-.f64 d2 d3) (*.f64 d1 -2)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 d2 d3) d1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 d2 d3) (+.f64 d1 d1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 d2 d3) (*.f64 d1 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 d2 d3) (*.f64 d1 8)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 d2 d3) (*.f64 d1 8))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d2 d3) (*.f64 d1 8)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d2) 1/2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (-.f64 d3 d2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d2 d3) (*.f64 d1 8))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d2 d3) (*.f64 d1 8)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 (-.f64 d2 d3) d1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d2) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 d1 (-.f64 d3 d2)))))))

simplify186.0ms (1.1%)

Algorithm
egg-herbie
Rules
2448×rational.json-simplify-2
1650×rational.json-simplify-35
1110×rational.json-simplify-43
938×rational.json-simplify-52
850×rational.json-simplify-1
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
068833
1169683
2339677
3751677
42544677
54291677
64962677
75289677
85532677
95818677
106993677
Stop Event
node limit
Counts
47 → 34
Calls
Call 1
Inputs
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 (-.f64 d2 d3) d1) 0)
(+.f64 0 (*.f64 (-.f64 d2 d3) d1))
(+.f64 -1 (-.f64 1 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d2) 1/2))))
(+.f64 -1 (-.f64 1 (*.f64 d1 (-.f64 d3 d2))))
(+.f64 (*.f64 (-.f64 d2 d3) (*.f64 d1 1/2)) (*.f64 (-.f64 d2 d3) (*.f64 d1 1/2)))
(-.f64 (*.f64 (-.f64 d2 d3) d1) 0)
(-.f64 0 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d2) 1/2)))
(-.f64 0 (*.f64 d1 (-.f64 d3 d2)))
(-.f64 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d2) 1/2)) (*.f64 2 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d2) 1/2))))
(-.f64 (*.f64 d1 (-.f64 d3 d2)) (*.f64 (-.f64 d2 d3) (*.f64 d1 -2)))
(/.f64 (*.f64 (-.f64 d2 d3) d1) 1)
(/.f64 (*.f64 (-.f64 d2 d3) (+.f64 d1 d1)) 2)
(/.f64 (*.f64 (-.f64 d2 d3) (*.f64 d1 4)) 4)
(/.f64 (*.f64 (-.f64 d2 d3) (*.f64 d1 8)) 8)
(/.f64 (*.f64 2 (*.f64 (-.f64 d2 d3) (*.f64 d1 8))) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d2 d3) (*.f64 d1 8)))) 32)
(/.f64 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d2) 1/2)) -1)
(/.f64 (*.f64 d1 (-.f64 d3 d2)) -1)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d2 d3) (*.f64 d1 8))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d2 d3) (*.f64 d1 8)))))) 128)
(pow.f64 (*.f64 (-.f64 d2 d3) d1) 1)
(neg.f64 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d2) 1/2)))
(neg.f64 (*.f64 d1 (-.f64 d3 d2)))
Outputs
(*.f64 -1 (*.f64 d1 d3))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(*.f64 -1 (*.f64 d1 d3))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(*.f64 -1 (*.f64 d1 d3))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 (-.f64 d2 d3) d1) 0)
(*.f64 d1 (-.f64 d2 d3))
(+.f64 0 (*.f64 (-.f64 d2 d3) d1))
(*.f64 d1 (-.f64 d2 d3))
(+.f64 -1 (-.f64 1 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d2) 1/2))))
(*.f64 d1 (-.f64 d2 d3))
(+.f64 -1 (-.f64 1 (*.f64 d1 (-.f64 d3 d2))))
(*.f64 d1 (-.f64 d2 d3))
(+.f64 (*.f64 (-.f64 d2 d3) (*.f64 d1 1/2)) (*.f64 (-.f64 d2 d3) (*.f64 d1 1/2)))
(*.f64 d1 (-.f64 d2 d3))
(-.f64 (*.f64 (-.f64 d2 d3) d1) 0)
(*.f64 d1 (-.f64 d2 d3))
(-.f64 0 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d2) 1/2)))
(*.f64 d1 (-.f64 d2 d3))
(-.f64 0 (*.f64 d1 (-.f64 d3 d2)))
(*.f64 d1 (-.f64 d2 d3))
(-.f64 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d2) 1/2)) (*.f64 2 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d2) 1/2))))
(*.f64 d1 (-.f64 d2 d3))
(-.f64 (*.f64 d1 (-.f64 d3 d2)) (*.f64 (-.f64 d2 d3) (*.f64 d1 -2)))
(-.f64 (*.f64 d1 (-.f64 d3 d2)) (*.f64 d1 (*.f64 -2 (-.f64 d2 d3))))
(-.f64 (*.f64 d1 (-.f64 d3 d2)) (*.f64 d1 (*.f64 (-.f64 d2 d3) -2)))
(*.f64 d1 (-.f64 (-.f64 d3 d2) (*.f64 (-.f64 d2 d3) -2)))
(/.f64 (*.f64 (-.f64 d2 d3) d1) 1)
(*.f64 d1 (-.f64 d2 d3))
(/.f64 (*.f64 (-.f64 d2 d3) (+.f64 d1 d1)) 2)
(*.f64 d1 (-.f64 d2 d3))
(/.f64 (*.f64 (-.f64 d2 d3) (*.f64 d1 4)) 4)
(*.f64 d1 (-.f64 d2 d3))
(/.f64 (*.f64 (-.f64 d2 d3) (*.f64 d1 8)) 8)
(*.f64 d1 (-.f64 d2 d3))
(/.f64 (*.f64 2 (*.f64 (-.f64 d2 d3) (*.f64 d1 8))) 16)
(*.f64 d1 (-.f64 d2 d3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d2 d3) (*.f64 d1 8)))) 32)
(*.f64 d1 (-.f64 d2 d3))
(/.f64 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d2) 1/2)) -1)
(*.f64 d1 (-.f64 d2 d3))
(/.f64 (*.f64 d1 (-.f64 d3 d2)) -1)
(*.f64 d1 (-.f64 d2 d3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d2 d3) (*.f64 d1 8))))) 64)
(*.f64 d1 (-.f64 d2 d3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d2 d3) (*.f64 d1 8)))))) 128)
(*.f64 d1 (-.f64 d2 d3))
(pow.f64 (*.f64 (-.f64 d2 d3) d1) 1)
(*.f64 d1 (-.f64 d2 d3))
(neg.f64 (*.f64 (+.f64 d1 d1) (*.f64 (-.f64 d3 d2) 1/2)))
(*.f64 d1 (-.f64 d2 d3))
(neg.f64 (*.f64 d1 (-.f64 d3 d2)))
(*.f64 d1 (-.f64 d2 d3))

localize93.0ms (0.6%)

Local error

Found 1 expressions with local error:

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

Compiled 17 to 7 computations (58.8% saved)

series1.0ms (0%)

Counts
1 → 24
Calls

6 calls:

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

rewrite155.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
1492×rational.json-1
1492×rational.json-2
1492×rational.json-3
1482×rational.json-4
1248×rational.json-simplify-35
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0817
15617
213117
328517
457617
5138817
6274817
7440317
8590917
9675817
10739417
Stop Event
node limit
Counts
1 → 30
Calls
Call 1
Inputs
(*.f64 (+.f64 d3 d1) (neg.f64 d1))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (neg.f64 (+.f64 d3 d1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 d1 (neg.f64 (+.f64 d3 d1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (-.f64 1 (*.f64 d1 (+.f64 d3 d1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 1 (+.f64 (*.f64 d1 (+.f64 d3 d1)) -1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (/.f64 (+.f64 d3 d1) -2)) (*.f64 d1 (/.f64 (+.f64 d3 d1) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (*.f64 d1 (+.f64 d3 d1))) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (+.f64 d3 d1) -1/2) d1) (*.f64 (*.f64 (+.f64 d3 d1) -1/2) d1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 (neg.f64 (+.f64 d3 d1)) 1/2) d1) (*.f64 (*.f64 (neg.f64 (+.f64 d3 d1)) 1/2) d1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 -1 (*.f64 (+.f64 d3 d1) (*.f64 d1 1/2))) (-.f64 1 (*.f64 (+.f64 d3 d1) (*.f64 d1 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (neg.f64 (+.f64 d3 d1))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (*.f64 d1 (+.f64 d3 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (+.f64 (*.f64 d1 (+.f64 d3 d1)) -1) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 0 (-.f64 (*.f64 (+.f64 d3 d1) (*.f64 d1 1/2)) (*.f64 d1 (/.f64 (+.f64 d3 d1) -2))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 1 (-.f64 (*.f64 d1 (+.f64 d3 d1)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 -1 (+.f64 (*.f64 d1 (+.f64 d3 d1)) -1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (/.f64 (+.f64 d3 d1) -2)) (*.f64 (+.f64 d3 d1) (*.f64 d1 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (-.f64 1 (*.f64 d1 (+.f64 d3 d1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (neg.f64 (+.f64 d3 d1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 (+.f64 d3 d1) -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 (+.f64 d3 d1) -4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 d3 d1)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 -8) (+.f64 d3 d1)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 (+.f64 d3 d1) 2)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 d1 -8) (+.f64 d3 d1))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d3 d1) 2))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 -8) (+.f64 d3 d1)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 -8) (+.f64 d3 d1))))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 -8) (+.f64 d3 d1)))))) 128)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (neg.f64 (+.f64 d3 d1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 d1 (+.f64 d3 d1)))))))

simplify221.0ms (1.4%)

Algorithm
egg-herbie
Rules
1918×rational.json-simplify-1
1708×rational.json-simplify-35
1290×rational.json-simplify-52
1088×rational.json-simplify-41
1040×rational.json-simplify-53
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0891146
12111026
24091026
3869990
42497990
54344990
65364990
76380990
87052990
97949990
107962990
Stop Event
node limit
Counts
54 → 43
Calls
Call 1
Inputs
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 d1 (neg.f64 (+.f64 d3 d1))) 0)
(+.f64 0 (*.f64 d1 (neg.f64 (+.f64 d3 d1))))
(+.f64 -1 (-.f64 1 (*.f64 d1 (+.f64 d3 d1))))
(+.f64 -2 (-.f64 1 (+.f64 (*.f64 d1 (+.f64 d3 d1)) -1)))
(+.f64 (*.f64 d1 (/.f64 (+.f64 d3 d1) -2)) (*.f64 d1 (/.f64 (+.f64 d3 d1) -2)))
(+.f64 (-.f64 1 (*.f64 d1 (+.f64 d3 d1))) -1)
(+.f64 (*.f64 (*.f64 (+.f64 d3 d1) -1/2) d1) (*.f64 (*.f64 (+.f64 d3 d1) -1/2) d1))
(+.f64 (*.f64 (*.f64 (neg.f64 (+.f64 d3 d1)) 1/2) d1) (*.f64 (*.f64 (neg.f64 (+.f64 d3 d1)) 1/2) d1))
(+.f64 (-.f64 -1 (*.f64 (+.f64 d3 d1) (*.f64 d1 1/2))) (-.f64 1 (*.f64 (+.f64 d3 d1) (*.f64 d1 1/2))))
(-.f64 (*.f64 d1 (neg.f64 (+.f64 d3 d1))) 0)
(-.f64 0 (*.f64 d1 (+.f64 d3 d1)))
(-.f64 0 (-.f64 (+.f64 (*.f64 d1 (+.f64 d3 d1)) -1) -1))
(-.f64 0 (-.f64 (*.f64 (+.f64 d3 d1) (*.f64 d1 1/2)) (*.f64 d1 (/.f64 (+.f64 d3 d1) -2))))
(-.f64 1 (-.f64 (*.f64 d1 (+.f64 d3 d1)) -1))
(-.f64 -1 (+.f64 (*.f64 d1 (+.f64 d3 d1)) -1))
(-.f64 (*.f64 d1 (/.f64 (+.f64 d3 d1) -2)) (*.f64 (+.f64 d3 d1) (*.f64 d1 1/2)))
(-.f64 (-.f64 1 (*.f64 d1 (+.f64 d3 d1))) 1)
(/.f64 (*.f64 d1 (neg.f64 (+.f64 d3 d1))) 1)
(/.f64 (*.f64 d1 (*.f64 (+.f64 d3 d1) -2)) 2)
(/.f64 (*.f64 d1 (*.f64 (+.f64 d3 d1) -4)) 4)
(/.f64 (*.f64 d1 (+.f64 d3 d1)) -1)
(/.f64 (*.f64 (*.f64 d1 -8) (+.f64 d3 d1)) 8)
(/.f64 (*.f64 d1 (*.f64 (+.f64 d3 d1) 2)) -2)
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 -8) (+.f64 d3 d1))) 16)
(/.f64 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d3 d1) 2))) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 -8) (+.f64 d3 d1)))) 32)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 -8) (+.f64 d3 d1))))) 64)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 -8) (+.f64 d3 d1)))))) 128)
(pow.f64 (*.f64 d1 (neg.f64 (+.f64 d3 d1))) 1)
(neg.f64 (*.f64 d1 (+.f64 d3 d1)))
Outputs
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(neg.f64 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(neg.f64 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(neg.f64 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 -1 (*.f64 d1 d3))
(*.f64 d1 (*.f64 d3 -1))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(neg.f64 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(neg.f64 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(neg.f64 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 -1 (*.f64 d1 d3))
(*.f64 d1 (*.f64 d3 -1))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(neg.f64 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(neg.f64 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(neg.f64 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 -1 (*.f64 d1 d3))
(*.f64 d1 (*.f64 d3 -1))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(neg.f64 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(neg.f64 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(neg.f64 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(neg.f64 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(neg.f64 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(neg.f64 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(neg.f64 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(neg.f64 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 -1 (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(*.f64 -1 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(neg.f64 (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(+.f64 (*.f64 d1 (neg.f64 (+.f64 d3 d1))) 0)
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(+.f64 0 (*.f64 d1 (neg.f64 (+.f64 d3 d1))))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(+.f64 -1 (-.f64 1 (*.f64 d1 (+.f64 d3 d1))))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(+.f64 -2 (-.f64 1 (+.f64 (*.f64 d1 (+.f64 d3 d1)) -1)))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(+.f64 (*.f64 d1 (/.f64 (+.f64 d3 d1) -2)) (*.f64 d1 (/.f64 (+.f64 d3 d1) -2)))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(+.f64 (-.f64 1 (*.f64 d1 (+.f64 d3 d1))) -1)
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(+.f64 (*.f64 (*.f64 (+.f64 d3 d1) -1/2) d1) (*.f64 (*.f64 (+.f64 d3 d1) -1/2) d1))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(+.f64 (*.f64 (*.f64 (neg.f64 (+.f64 d3 d1)) 1/2) d1) (*.f64 (*.f64 (neg.f64 (+.f64 d3 d1)) 1/2) d1))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(+.f64 (-.f64 -1 (*.f64 (+.f64 d3 d1) (*.f64 d1 1/2))) (-.f64 1 (*.f64 (+.f64 d3 d1) (*.f64 d1 1/2))))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(-.f64 (*.f64 d1 (neg.f64 (+.f64 d3 d1))) 0)
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(-.f64 0 (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(-.f64 0 (-.f64 (+.f64 (*.f64 d1 (+.f64 d3 d1)) -1) -1))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(-.f64 0 (-.f64 (*.f64 (+.f64 d3 d1) (*.f64 d1 1/2)) (*.f64 d1 (/.f64 (+.f64 d3 d1) -2))))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(-.f64 1 (-.f64 (*.f64 d1 (+.f64 d3 d1)) -1))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(-.f64 -1 (+.f64 (*.f64 d1 (+.f64 d3 d1)) -1))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(-.f64 (*.f64 d1 (/.f64 (+.f64 d3 d1) -2)) (*.f64 (+.f64 d3 d1) (*.f64 d1 1/2)))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(-.f64 (-.f64 1 (*.f64 d1 (+.f64 d3 d1))) 1)
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(/.f64 (*.f64 d1 (neg.f64 (+.f64 d3 d1))) 1)
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(/.f64 (*.f64 d1 (*.f64 (+.f64 d3 d1) -2)) 2)
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(/.f64 (*.f64 d1 (*.f64 (+.f64 d3 d1) -4)) 4)
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(/.f64 (*.f64 d1 (+.f64 d3 d1)) -1)
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(/.f64 (*.f64 (*.f64 d1 -8) (+.f64 d3 d1)) 8)
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(/.f64 (*.f64 d1 (*.f64 (+.f64 d3 d1) 2)) -2)
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 -8) (+.f64 d3 d1))) 16)
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(/.f64 (*.f64 2 (*.f64 d1 (*.f64 (+.f64 d3 d1) 2))) -4)
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 -8) (+.f64 d3 d1)))) 32)
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 -8) (+.f64 d3 d1))))) 64)
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 -8) (+.f64 d3 d1)))))) 128)
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(pow.f64 (*.f64 d1 (neg.f64 (+.f64 d3 d1))) 1)
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(neg.f64 (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))

eval94.0ms (0.6%)

Compiler

Compiled 2163 to 981 computations (54.6% saved)

prune33.0ms (0.2%)

Pruning

12 alts after pruning (2 fresh and 10 done)

PrunedKeptTotal
New2002202
Fresh000
Picked011
Done2911
Total20212214
Error
0.0b
Counts
214 → 12
Alt Table
Click to see full alt table
StatusErrorProgram
17.8b
(-.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d1))
25.6b
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
26.0b
(+.f64 (*.f64 d1 (neg.f64 d3)) (*.f64 d1 d2))
25.6b
(*.f64 (-.f64 d4 d3) d1)
26.0b
(*.f64 (-.f64 d2 d3) d1)
36.3b
(*.f64 (-.f64 d2 d1) d1)
36.2b
(*.f64 (+.f64 d3 d1) (neg.f64 d1))
43.6b
(*.f64 d3 (neg.f64 d1))
43.7b
(*.f64 d2 d1)
35.5b
(*.f64 d1 (-.f64 d4 d1))
25.6b
(*.f64 d1 (+.f64 d4 d2))
43.4b
(*.f64 d1 d4)
Compiler

Compiled 113 to 76 computations (32.7% saved)

regimes157.0ms (1%)

Counts
22 → 1
Calls
Call 1
Inputs
(*.f64 d1 d4)
(*.f64 d2 d1)
(*.f64 d3 (neg.f64 d1))
(*.f64 d1 (+.f64 d4 d2))
(*.f64 d1 (-.f64 d4 d1))
(*.f64 (-.f64 d2 d1) d1)
(*.f64 (-.f64 d2 d3) d1)
(*.f64 (-.f64 d4 d3) d1)
(*.f64 (+.f64 d3 d1) (neg.f64 d1))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d1))
(*.f64 (-.f64 d2 (+.f64 d1 d3)) d1)
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
(+.f64 (*.f64 d1 (neg.f64 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1)))
(-.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d1))
(+.f64 (*.f64 (+.f64 d1 d3) (neg.f64 d1)) (*.f64 d1 d2))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 d1 (-.f64 d4 d1)))
(-.f64 (-.f64 (*.f64 d2 d1) (*.f64 d1 d3)) (*.f64 d1 d1))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (-.f64 (*.f64 d1 d4) (*.f64 d1 d1)))
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
Outputs
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
Calls

5 calls:

81.0ms
d3
37.0ms
d1
12.0ms
d4
11.0ms
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
10.0ms
d2
Results
ErrorSegmentsBranch
0.0b1d1
0.0b1d2
0.0b1d3
0.0b1d4
0.0b1(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
Compiler

Compiled 207 to 79 computations (61.8% saved)

regimes140.0ms (0.9%)

Counts
14 → 3
Calls
Call 1
Inputs
(*.f64 d1 d4)
(*.f64 d2 d1)
(*.f64 d3 (neg.f64 d1))
(*.f64 d1 (+.f64 d4 d2))
(*.f64 d1 (-.f64 d4 d1))
(*.f64 (-.f64 d2 d1) d1)
(*.f64 (-.f64 d2 d3) d1)
(*.f64 (-.f64 d4 d3) d1)
(*.f64 (+.f64 d3 d1) (neg.f64 d1))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d1))
(*.f64 (-.f64 d2 (+.f64 d1 d3)) d1)
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
(+.f64 (*.f64 d1 (neg.f64 d3)) (*.f64 d1 d2))
Outputs
(*.f64 (-.f64 d4 d3) d1)
(*.f64 d1 (-.f64 (+.f64 d2 d4) d1))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
Calls

4 calls:

57.0ms
d1
30.0ms
d2
23.0ms
d3
17.0ms
d4
Results
ErrorSegmentsBranch
12.2b6d1
2.8b2d2
2.8b3d3
3.5b2d4
Compiler

Compiled 101 to 49 computations (51.5% saved)

bsearch34.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
18.0ms
2.2015420569992173e+63
4.77317502878217e+71
15.0ms
-2.142645483934132e+84
-1.777538204393507e+82
Results
31.0ms256×body256valid
Compiler

Compiled 396 to 266 computations (32.8% saved)

regimes129.0ms (0.8%)

Counts
10 → 2
Calls
Call 1
Inputs
(*.f64 d1 d4)
(*.f64 d2 d1)
(*.f64 d3 (neg.f64 d1))
(*.f64 d1 (+.f64 d4 d2))
(*.f64 d1 (-.f64 d4 d1))
(*.f64 (-.f64 d2 d1) d1)
(*.f64 (-.f64 d2 d3) d1)
(*.f64 (-.f64 d4 d3) d1)
(*.f64 (+.f64 d3 d1) (neg.f64 d1))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
Outputs
(*.f64 (-.f64 d2 d3) d1)
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
Calls

4 calls:

54.0ms
d3
35.0ms
d1
25.0ms
d4
12.0ms
d2
Results
ErrorSegmentsBranch
13.0b5d1
3.8b2d2
6.7b7d3
6.9b4d4
Compiler

Compiled 72 to 39 computations (45.8% saved)

bsearch16.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
15.0ms
-3.316188030674775e+59
-1.8468319710512675e+57
Results
14.0ms112×body256valid
Compiler

Compiled 180 to 122 computations (32.2% saved)

regimes133.0ms (0.8%)

Counts
9 → 7
Calls
Call 1
Inputs
(*.f64 d1 d4)
(*.f64 d2 d1)
(*.f64 d3 (neg.f64 d1))
(*.f64 d1 (+.f64 d4 d2))
(*.f64 d1 (-.f64 d4 d1))
(*.f64 (-.f64 d2 d1) d1)
(*.f64 (-.f64 d2 d3) d1)
(*.f64 (-.f64 d4 d3) d1)
(*.f64 (+.f64 d3 d1) (neg.f64 d1))
Outputs
(*.f64 (-.f64 d4 d3) d1)
(*.f64 (-.f64 d2 d3) d1)
(*.f64 d1 (-.f64 d4 d1))
(*.f64 d1 (+.f64 d4 d2))
(*.f64 d1 (-.f64 d4 d1))
(*.f64 d1 (+.f64 d4 d2))
(*.f64 (-.f64 d4 d3) d1)
Calls

4 calls:

42.0ms
d1
37.0ms
d3
29.0ms
d4
23.0ms
d2
Results
ErrorSegmentsBranch
14.8b8d1
9.3b4d2
7.6b7d3
8.5b5d4
Compiler

Compiled 65 to 36 computations (44.6% saved)

bsearch87.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
14.0ms
4.77317502878217e+71
1.8426554609515095e+73
18.0ms
1.0601388414592424e-178
7.10104560416584e-171
14.0ms
1.578078491793479e-251
6.6796827652317614e-251
10.0ms
-2.0348531998298545e-106
-6.667416884762089e-107
20.0ms
-3.1322919390802523e-45
-3.910444376200193e-58
12.0ms
-1.777538204393507e+82
-3.215855006074498e+81
Results
78.0ms688×body256valid
Compiler

Compiled 886 to 619 computations (30.1% saved)

regimes1.1s (6.7%)

Counts
7 → 6
Calls
Call 1
Inputs
(*.f64 d1 d4)
(*.f64 d2 d1)
(*.f64 d3 (neg.f64 d1))
(*.f64 d1 (+.f64 d4 d2))
(*.f64 d1 (-.f64 d4 d1))
(*.f64 (-.f64 d2 d1) d1)
(*.f64 (-.f64 d2 d3) d1)
Outputs
(*.f64 (-.f64 d2 d3) d1)
(*.f64 d1 (-.f64 d4 d1))
(*.f64 d1 (+.f64 d4 d2))
(*.f64 d1 (-.f64 d4 d1))
(*.f64 d1 (+.f64 d4 d2))
(*.f64 (-.f64 d2 d3) d1)
Calls

4 calls:

703.0ms
d4
174.0ms
d3
172.0ms
d1
27.0ms
d2
Results
ErrorSegmentsBranch
16.3b9d1
15.4b6d2
10.3b6d3
11.2b9d4
Compiler

Compiled 54 to 32 computations (40.7% saved)

bsearch74.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
13.0ms
4.298382292607983e+125
2.0878548915146126e+126
18.0ms
1.0601388414592424e-178
7.10104560416584e-171
12.0ms
1.578078491793479e-251
6.6796827652317614e-251
10.0ms
-2.0348531998298545e-106
-6.667416884762089e-107
20.0ms
-3.1322919390802523e-45
-3.910444376200193e-58
Results
66.0ms576×body256valid
Compiler

Compiled 746 to 521 computations (30.2% saved)

regimes110.0ms (0.7%)

Counts
6 → 7
Calls
Call 1
Inputs
(*.f64 d1 d4)
(*.f64 d2 d1)
(*.f64 d3 (neg.f64 d1))
(*.f64 d1 (+.f64 d4 d2))
(*.f64 d1 (-.f64 d4 d1))
(*.f64 (-.f64 d2 d1) d1)
Outputs
(*.f64 d3 (neg.f64 d1))
(*.f64 d1 (+.f64 d4 d2))
(*.f64 d1 (-.f64 d4 d1))
(*.f64 d1 (+.f64 d4 d2))
(*.f64 d1 (-.f64 d4 d1))
(*.f64 d1 (+.f64 d4 d2))
(*.f64 d3 (neg.f64 d1))
Calls

4 calls:

32.0ms
d3
28.0ms
d4
26.0ms
d2
22.0ms
d1
Results
ErrorSegmentsBranch
18.9b5d1
17.1b6d2
11.5b7d3
17.6b6d4
Compiler

Compiled 49 to 30 computations (38.8% saved)

bsearch90.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
15.0ms
4.298382292607983e+125
2.0878548915146126e+126
17.0ms
1.0601388414592424e-178
7.10104560416584e-171
14.0ms
1.578078491793479e-251
6.6796827652317614e-251
10.0ms
-2.0348531998298545e-106
-6.667416884762089e-107
20.0ms
-3.950208896551321e-33
-1.5563092231297193e-39
14.0ms
-2.142645483934132e+84
-1.777538204393507e+82
Results
79.0ms672×body256valid
Compiler

Compiled 853 to 605 computations (29.1% saved)

regimes61.0ms (0.4%)

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

4 calls:

19.0ms
d4
18.0ms
d2
12.0ms
d1
10.0ms
d3
Results
ErrorSegmentsBranch
24.4b3d1
21.5b5d2
13.9b3d3
22.9b5d4
Compiler

Compiled 39 to 26 computations (33.3% saved)

bsearch35.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
22.0ms
4.298382292607983e+125
2.0878548915146126e+126
13.0ms
-2.142645483934132e+84
-1.777538204393507e+82
Results
33.0ms208×body256valid
Compiler

Compiled 273 to 199 computations (27.1% saved)

regimes95.0ms (0.6%)

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

4 calls:

30.0ms
d1
25.0ms
d3
22.0ms
d4
17.0ms
d2
Results
ErrorSegmentsBranch
36.3b8d1
24.7b5d2
22.0b8d3
25.2b7d4
Compiler

Compiled 34 to 24 computations (29.4% saved)

bsearch102.0ms (0.6%)

Algorithm
binary-search
Steps
TimeLeftRight
12.0ms
4.298382292607983e+125
2.0878548915146126e+126
19.0ms
1.8970510156592974e+85
5.327931874301404e+96
18.0ms
8.251827591765857e-197
2.7574860836053498e-191
13.0ms
1.578078491793479e-251
6.6796827652317614e-251
13.0ms
1.1077194010801725e-287
2.285461867287837e-286
16.0ms
-4.779631310839125e-158
-1.9491296674913633e-159
12.0ms
-1.777538204393507e+82
-3.215855006074498e+81
Results
93.0ms816×body256valid
Compiler

Compiled 854 to 641 computations (24.9% saved)

regimes46.0ms (0.3%)

Accuracy

Total -32.9b remaining (-116.1%)

Threshold costs -32.9b (-116.1%)

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

4 calls:

18.0ms
d3
14.0ms
d1
8.0ms
d4
6.0ms
d2
Results
ErrorSegmentsBranch
39.6b4d1
28.3b2d2
34.2b7d3
29.1b2d4
Compiler

Compiled 30 to 22 computations (26.7% saved)

bsearch17.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
17.0ms
-8.89587125380335e+21
-75913868346641.34
Results
15.0ms144×body256valid
Compiler

Compiled 170 to 125 computations (26.5% saved)

simplify10.0ms (0.1%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0120754
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(if (<=.f64 d3 -81999999999999999021353318209567893130448705973715556430964815206645045395422445568) (*.f64 (-.f64 d4 d3) d1) (if (<=.f64 d3 3599999999999999877989285757033031864583391087150183135180776013824) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)) (*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))))
(if (<=.f64 d2 -44999999999999998168435992338943311844078390948570683408384) (*.f64 (-.f64 d2 d3) d1) (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))))
(if (<=.f64 d3 -4999999999999999817033982815443287105513571612636783896840181921713543250771443712) (*.f64 (-.f64 d4 d3) d1) (if (<=.f64 d3 -3588908100331093/13803492693581127574869511724554050904902217944340773110325048447598592) (*.f64 (-.f64 d2 d3) d1) (if (<=.f64 d3 -8263199609878107/41315998049390537434494706752048189989275292685267576205290549704650361952269459114074325652482205302974450751563959894016) (*.f64 d1 (-.f64 d4 d1)) (if (<=.f64 d3 133008724422279/2015283703367863641175612582841936517787350944656835640441744648081489191271686017892521880674961806849191265080479159083871259916315786503793865121700056369432017074581165634798933096605020298206421786911816362015335190936094519572595203013485093980749277423468544) (*.f64 d1 (+.f64 d4 d2)) (if (<=.f64 d3 6237711781905345/2227754207823337509102134573095845373483021732054960903603121346630505452738612005129840239901060253798165190221481644194672219102234100585084307285020612396607419274589973120157653414182912) (*.f64 d1 (-.f64 d4 d1)) (if (<=.f64 d3 3399999999999999848158043072068296255768245933717786907889742760892170240) (*.f64 d1 (+.f64 d4 d2)) (*.f64 (-.f64 d4 d3) d1)))))))
(if (<=.f64 d3 -6749139785887759/3213876088517980551083924184682325205044405987565585670602752) (*.f64 (-.f64 d2 d3) d1) (if (<=.f64 d3 -6403979697655533/41315998049390537434494706752048189989275292685267576205290549704650361952269459114074325652482205302974450751563959894016) (*.f64 d1 (-.f64 d4 d1)) (if (<=.f64 d3 8383580206010313/128978157015543273035239205301883937138390460458037480988271657477215308241387905145121400363197555638348240965150666181367760634644210336242807367788803607643649092773194600627131718182721299085210994362356247168981452219910049252646092992863046014767953755101986816) (*.f64 d1 (+.f64 d4 d2)) (if (<=.f64 d3 8668637173482171/4562440617622195218641171605700291324893228507248559930579192517899275167208677386505912811317371399778642309573594407310688704721375437998252661319722214188251994674360264950082874192246603776) (*.f64 d1 (-.f64 d4 d1)) (if (<=.f64 d3 450000000000000003767174052928128565376791440055069745658572470034500321305762406486767974027003039607372500442444238038237184) (*.f64 d1 (+.f64 d4 d2)) (*.f64 (-.f64 d2 d3) d1))))))
(if (<=.f64 d3 -2100000000000000186013752787204918582319097175748848304635034526890269856084206288896) (*.f64 d3 (neg.f64 d1)) (if (<=.f64 d3 -6225763134767673/95780971304118053647396689196894323976171195136475136) (*.f64 d1 (+.f64 d4 d2)) (if (<=.f64 d3 -3925019814692101/20657999024695268717247353376024094994637646342633788102645274852325180976134729557037162826241102651487225375781979947008) (*.f64 d1 (-.f64 d4 d1)) (if (<=.f64 d3 8254602048994769/128978157015543273035239205301883937138390460458037480988271657477215308241387905145121400363197555638348240965150666181367760634644210336242807367788803607643649092773194600627131718182721299085210994362356247168981452219910049252646092992863046014767953755101986816) (*.f64 d1 (+.f64 d4 d2)) (if (<=.f64 d3 5817111787468299/570305077202774402330146450712536415611653563406069991322399064737409395901084673313239101414671424972330288696699300913836088090171929749781582664965276773531499334295033118760359274030825472) (*.f64 d1 (-.f64 d4 d1)) (if (<=.f64 d3 1249999999999999943661383348122434199412528135922940514809953247814735681286396827769298769037257162608596547173368663864508416) (*.f64 d1 (+.f64 d4 d2)) (*.f64 d3 (neg.f64 d1))))))))
(if (<=.f64 d3 -2000000000000000115533219796231793404874534254192128274196083726469424668033849229312) (*.f64 d3 (neg.f64 d1)) (if (<=.f64 d3 819999999999999983483582116831761250364657571619838463993270236264482761560136935233007347085992590579275416886756634685079552) (*.f64 d1 (+.f64 d4 d2)) (*.f64 d3 (neg.f64 d1))))
(if (<=.f64 d3 -6199999999999999975321738694779474470839441952316842084360408751979087239233667072) (*.f64 d3 (neg.f64 d1)) (if (<=.f64 d3 -2770100496498771/494660802946209068121005042039294380070262698202423679828126112185794450213063734340632802122486089979195342852032278678702730068613502419935092310203786335833213544297398272) (*.f64 d2 d1) (if (<=.f64 d3 1542972394348225/21430172143725346418968500981200036211228096234110672148875007767407021022498722449863967576313917162551893458351062936503742905713846280871969155149397149607869135549648461970842149210124742283755908364306092949967163882534797535118331087892154125829142392955373084335320859663305248773674411336138752) (*.f64 d1 d4) (if (<=.f64 d3 7996645734963683/257956314031086546070478410603767874276780920916074961976543314954430616482775810290242800726395111276696481930301332362735521269288420672485614735577607215287298185546389201254263436365442598170421988724712494337962904439820098505292185985726092029535907510203973632) (*.f64 d2 d1) (if (<=.f64 d3 5786149491703211/5260135901548373507240989882880128665550339802823173859498280903068732154297080822113666536277588451226982968856178217713019432250183803863127814770651880849955223671128444598191663757884322717271293251735781376) (*.f64 d1 d4) (if (<=.f64 d3 5199999999999999993977765793387376733967555272374268714777254373266679348111173761068624248832) (*.f64 d2 d1) (if (<=.f64 d3 439999999999999981972487642109400757212331002179085898237627740792376620516011149511529697989133805818346815364528133608833024) (*.f64 d1 d4) (*.f64 d3 (neg.f64 d1)))))))))
(if (<=.f64 d2 -850000000000000000) (*.f64 d2 d1) (*.f64 d1 d4))
(*.f64 d1 d4)
Outputs
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(if (<=.f64 d3 -81999999999999999021353318209567893130448705973715556430964815206645045395422445568) (*.f64 (-.f64 d4 d3) d1) (if (<=.f64 d3 3599999999999999877989285757033031864583391087150183135180776013824) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)) (*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))))
(if (<=.f64 d2 -44999999999999998168435992338943311844078390948570683408384) (*.f64 (-.f64 d2 d3) d1) (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))))
(if (<=.f64 d3 -4999999999999999817033982815443287105513571612636783896840181921713543250771443712) (*.f64 (-.f64 d4 d3) d1) (if (<=.f64 d3 -3588908100331093/13803492693581127574869511724554050904902217944340773110325048447598592) (*.f64 (-.f64 d2 d3) d1) (if (<=.f64 d3 -8263199609878107/41315998049390537434494706752048189989275292685267576205290549704650361952269459114074325652482205302974450751563959894016) (*.f64 d1 (-.f64 d4 d1)) (if (<=.f64 d3 133008724422279/2015283703367863641175612582841936517787350944656835640441744648081489191271686017892521880674961806849191265080479159083871259916315786503793865121700056369432017074581165634798933096605020298206421786911816362015335190936094519572595203013485093980749277423468544) (*.f64 d1 (+.f64 d4 d2)) (if (<=.f64 d3 6237711781905345/2227754207823337509102134573095845373483021732054960903603121346630505452738612005129840239901060253798165190221481644194672219102234100585084307285020612396607419274589973120157653414182912) (*.f64 d1 (-.f64 d4 d1)) (if (<=.f64 d3 3399999999999999848158043072068296255768245933717786907889742760892170240) (*.f64 d1 (+.f64 d4 d2)) (*.f64 (-.f64 d4 d3) d1)))))))
(if (<=.f64 d3 -6749139785887759/3213876088517980551083924184682325205044405987565585670602752) (*.f64 (-.f64 d2 d3) d1) (if (<=.f64 d3 -6403979697655533/41315998049390537434494706752048189989275292685267576205290549704650361952269459114074325652482205302974450751563959894016) (*.f64 d1 (-.f64 d4 d1)) (if (<=.f64 d3 8383580206010313/128978157015543273035239205301883937138390460458037480988271657477215308241387905145121400363197555638348240965150666181367760634644210336242807367788803607643649092773194600627131718182721299085210994362356247168981452219910049252646092992863046014767953755101986816) (*.f64 d1 (+.f64 d4 d2)) (if (<=.f64 d3 8668637173482171/4562440617622195218641171605700291324893228507248559930579192517899275167208677386505912811317371399778642309573594407310688704721375437998252661319722214188251994674360264950082874192246603776) (*.f64 d1 (-.f64 d4 d1)) (if (<=.f64 d3 450000000000000003767174052928128565376791440055069745658572470034500321305762406486767974027003039607372500442444238038237184) (*.f64 d1 (+.f64 d4 d2)) (*.f64 (-.f64 d2 d3) d1))))))
(if (<=.f64 d3 -2100000000000000186013752787204918582319097175748848304635034526890269856084206288896) (*.f64 d3 (neg.f64 d1)) (if (<=.f64 d3 -6225763134767673/95780971304118053647396689196894323976171195136475136) (*.f64 d1 (+.f64 d4 d2)) (if (<=.f64 d3 -3925019814692101/20657999024695268717247353376024094994637646342633788102645274852325180976134729557037162826241102651487225375781979947008) (*.f64 d1 (-.f64 d4 d1)) (if (<=.f64 d3 8254602048994769/128978157015543273035239205301883937138390460458037480988271657477215308241387905145121400363197555638348240965150666181367760634644210336242807367788803607643649092773194600627131718182721299085210994362356247168981452219910049252646092992863046014767953755101986816) (*.f64 d1 (+.f64 d4 d2)) (if (<=.f64 d3 5817111787468299/570305077202774402330146450712536415611653563406069991322399064737409395901084673313239101414671424972330288696699300913836088090171929749781582664965276773531499334295033118760359274030825472) (*.f64 d1 (-.f64 d4 d1)) (if (<=.f64 d3 1249999999999999943661383348122434199412528135922940514809953247814735681286396827769298769037257162608596547173368663864508416) (*.f64 d1 (+.f64 d4 d2)) (*.f64 d3 (neg.f64 d1))))))))
(if (<=.f64 d3 -2000000000000000115533219796231793404874534254192128274196083726469424668033849229312) (*.f64 d3 (neg.f64 d1)) (if (<=.f64 d3 819999999999999983483582116831761250364657571619838463993270236264482761560136935233007347085992590579275416886756634685079552) (*.f64 d1 (+.f64 d4 d2)) (*.f64 d3 (neg.f64 d1))))
(if (<=.f64 d3 -6199999999999999975321738694779474470839441952316842084360408751979087239233667072) (*.f64 d3 (neg.f64 d1)) (if (<=.f64 d3 -2770100496498771/494660802946209068121005042039294380070262698202423679828126112185794450213063734340632802122486089979195342852032278678702730068613502419935092310203786335833213544297398272) (*.f64 d2 d1) (if (<=.f64 d3 1542972394348225/21430172143725346418968500981200036211228096234110672148875007767407021022498722449863967576313917162551893458351062936503742905713846280871969155149397149607869135549648461970842149210124742283755908364306092949967163882534797535118331087892154125829142392955373084335320859663305248773674411336138752) (*.f64 d1 d4) (if (<=.f64 d3 7996645734963683/257956314031086546070478410603767874276780920916074961976543314954430616482775810290242800726395111276696481930301332362735521269288420672485614735577607215287298185546389201254263436365442598170421988724712494337962904439820098505292185985726092029535907510203973632) (*.f64 d2 d1) (if (<=.f64 d3 5786149491703211/5260135901548373507240989882880128665550339802823173859498280903068732154297080822113666536277588451226982968856178217713019432250183803863127814770651880849955223671128444598191663757884322717271293251735781376) (*.f64 d1 d4) (if (<=.f64 d3 5199999999999999993977765793387376733967555272374268714777254373266679348111173761068624248832) (*.f64 d2 d1) (if (<=.f64 d3 439999999999999981972487642109400757212331002179085898237627740792376620516011149511529697989133805818346815364528133608833024) (*.f64 d1 d4) (*.f64 d3 (neg.f64 d1)))))))))
(if (<=.f64 d2 -850000000000000000) (*.f64 d2 d1) (*.f64 d1 d4))
(*.f64 d1 d4)
Compiler

Compiled 346 to 178 computations (48.6% saved)

soundness189.0ms (1.2%)

Algorithm
egg-herbie
Rules
1812×rational.json-simplify-35
1346×rational.json-simplify-53
982×rational.json-simplify-39
864×rational.json-simplify-59
640×rational.json-simplify-1
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01343
12137
23231
36025
422125
5199525
6593925
7776125
Stop Event
node limit
Compiler

Compiled 76 to 27 computations (64.5% saved)

end79.0ms (0.5%)

Remove

(sort d2 d4)

Compiler

Compiled 336 to 130 computations (61.3% saved)

Profiling

Loading profile data...