Details

Time bar (total: 27.0s)

analyze547.0ms (2%)

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)

sample5.0s (18.5%)

Results
3.3s8256×body256valid
957.0ms3577×body256infinite
Bogosity

preprocess87.0ms (0.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)

simplify308.0ms (1.1%)

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

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New235
Fresh011
Picked000
Done000
Total246
Error
0.0b
Counts
6 → 3
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 d1 (-.f64 d4 d1)))
0.0b
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
Compiler

Compiled 47 to 28 computations (40.4% saved)

localize9.0ms (0%)

Local error

Found 2 expressions with local error:

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

Compiled 30 to 8 computations (73.3% saved)

series5.0ms (0%)

Counts
2 → 96
Calls

24 calls:

TimeVariablePointExpression
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
d2
@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)))

rewrite116.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1830×bool.json-1
1830×bool.json-2
1788×rational.json-1
1182×bool.json-3
900×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01044
19744
225744
355944
4119844
5280644
6643044
Stop Event
node limit
Counts
2 → 33
Calls
Call 1
Inputs
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 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 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) (*.f64 d1 1/2)) (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) (*.f64 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 (*.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 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 8)) (*.f64 2 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (/.f64 (-.f64 d1 d4) -2) (*.f64 (-.f64 d2 d3) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 (-.f64 d2 d3) 1/2) (/.f64 (-.f64 d1 d4) -2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.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)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (-.f64 d1 d4) (-.f64 d3 d2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 (-.f64 d3 d2) (-.f64 d1 d4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (-.f64 d4 d1) 2) (*.f64 (-.f64 d2 d3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (-.f64 d2 d3) 2) (*.f64 (-.f64 d4 d1) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.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)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 8)) (*.f64 2 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))))))

simplify2.0s (7.4%)

Algorithm
egg-herbie
Rules
3716×rational.json-simplify-41
1914×rational.json-simplify-35
1642×rational.json-simplify-2
1308×rational.json-simplify-53
670×rational.json-simplify-1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01132883
12222737
25482737
314282737
427532737
531322737
632672737
733712737
834652737
935572737
1046732737
1147682737
1248612737
1349532737
1450452737
1551372737
1652292737
1752292737
Stop Event
node limit
Counts
129 → 86
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 d4 (+.f64 d1 d3))
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
d2
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
d2
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
(-.f64 (+.f64 d2 d4) d1)
(-.f64 (+.f64 d2 (+.f64 (*.f64 -1 d3) d4)) d1)
(-.f64 (+.f64 d2 (+.f64 (*.f64 -1 d3) d4)) d1)
(-.f64 (+.f64 d2 (+.f64 (*.f64 -1 d3) d4)) d1)
(*.f64 -1 d3)
(-.f64 (+.f64 d2 (+.f64 (*.f64 -1 d3) d4)) d1)
(-.f64 (+.f64 d2 (+.f64 (*.f64 -1 d3) d4)) d1)
(-.f64 (+.f64 d2 (+.f64 (*.f64 -1 d3) d4)) d1)
(*.f64 -1 d3)
(-.f64 (+.f64 d2 (+.f64 (*.f64 -1 d3) d4)) d1)
(-.f64 (+.f64 d2 (+.f64 (*.f64 -1 d3) d4)) d1)
(-.f64 (+.f64 d2 (+.f64 (*.f64 -1 d3) d4)) d1)
(-.f64 d2 (+.f64 d1 d3))
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
d4
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
d4
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
(-.f64 (+.f64 d2 d4) d3)
(-.f64 (+.f64 d2 (+.f64 d4 (*.f64 -1 d1))) d3)
(-.f64 (+.f64 d2 (+.f64 d4 (*.f64 -1 d1))) d3)
(-.f64 (+.f64 d2 (+.f64 d4 (*.f64 -1 d1))) d3)
(*.f64 -1 d1)
(-.f64 (+.f64 d2 (+.f64 d4 (*.f64 -1 d1))) d3)
(-.f64 (+.f64 d2 (+.f64 d4 (*.f64 -1 d1))) d3)
(-.f64 (+.f64 d2 (+.f64 d4 (*.f64 -1 d1))) d3)
(*.f64 -1 d1)
(-.f64 (+.f64 d2 (+.f64 d4 (*.f64 -1 d1))) d3)
(-.f64 (+.f64 d2 (+.f64 d4 (*.f64 -1 d1))) d3)
(-.f64 (+.f64 d2 (+.f64 d4 (*.f64 -1 d1))) d3)
(+.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 0)
(+.f64 0 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))))
(+.f64 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) (*.f64 d1 1/2)) (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) (*.f64 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 (*.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 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 8)) (*.f64 2 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 8))) 32)
(-.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 0)
(*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 1)
(*.f64 1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 2 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 1/2))
(*.f64 2 (+.f64 (/.f64 (-.f64 d1 d4) -2) (*.f64 (-.f64 d2 d3) 1/2)))
(*.f64 2 (+.f64 (*.f64 (-.f64 d2 d3) 1/2) (/.f64 (-.f64 d1 d4) -2)))
(*.f64 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 2) 1/2)
(*.f64 4 (/.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 4))
(*.f64 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 4) 1/4)
(*.f64 -1 (+.f64 (-.f64 d1 d4) (-.f64 d3 d2)))
(*.f64 -1 (+.f64 (-.f64 d3 d2) (-.f64 d1 d4)))
(*.f64 1/2 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 2))
(*.f64 1/2 (+.f64 (*.f64 (-.f64 d4 d1) 2) (*.f64 (-.f64 d2 d3) 2)))
(*.f64 1/2 (+.f64 (*.f64 (-.f64 d2 d3) 2) (*.f64 (-.f64 d4 d1) 2)))
(*.f64 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 1/2) 2)
(*.f64 1/4 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 4))
(*.f64 (/.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 4) 4)
(/.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 1)
(/.f64 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 2) 2)
(/.f64 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 4) 4)
(/.f64 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 8)) (*.f64 2 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 8))) 32)
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 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 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 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 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 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 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 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 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 d2 (-.f64 d4 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 d1 (-.f64 (+.f64 d2 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) (+.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) (+.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 d1 (-.f64 (+.f64 d2 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) (+.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) (+.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 d1 (-.f64 (+.f64 d2 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) (+.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) (+.f64 d1 d3)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) 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 (+.f64 d2 d4) d1)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 d1 (+.f64 (-.f64 (+.f64 d2 d4) d1) (neg.f64 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 d1))))
(*.f64 d1 (+.f64 d2 (+.f64 d4 (-.f64 (neg.f64 d1) d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 d1 (+.f64 (-.f64 (+.f64 d2 d4) d1) (neg.f64 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 d1))))
(*.f64 d1 (+.f64 d2 (+.f64 d4 (-.f64 (neg.f64 d1) d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 d1 (+.f64 (-.f64 (+.f64 d2 d4) d1) (neg.f64 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 d1))))
(*.f64 d1 (+.f64 d2 (+.f64 d4 (-.f64 (neg.f64 d1) d3))))
(*.f64 -1 (*.f64 d1 d3))
(*.f64 d1 (*.f64 d3 -1))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 d1 (+.f64 (-.f64 (+.f64 d2 d4) d1) (neg.f64 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 d1))))
(*.f64 d1 (+.f64 d2 (+.f64 d4 (-.f64 (neg.f64 d1) d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 d1 (+.f64 (-.f64 (+.f64 d2 d4) d1) (neg.f64 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 d1))))
(*.f64 d1 (+.f64 d2 (+.f64 d4 (-.f64 (neg.f64 d1) d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 d1 (+.f64 (-.f64 (+.f64 d2 d4) d1) (neg.f64 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 d1))))
(*.f64 d1 (+.f64 d2 (+.f64 d4 (-.f64 (neg.f64 d1) d3))))
(*.f64 -1 (*.f64 d1 d3))
(*.f64 d1 (*.f64 d3 -1))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 d1 (+.f64 (-.f64 (+.f64 d2 d4) d1) (neg.f64 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 d1))))
(*.f64 d1 (+.f64 d2 (+.f64 d4 (-.f64 (neg.f64 d1) d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 d1 (+.f64 (-.f64 (+.f64 d2 d4) d1) (neg.f64 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 d1))))
(*.f64 d1 (+.f64 d2 (+.f64 d4 (-.f64 (neg.f64 d1) d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(+.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 d1 (+.f64 (-.f64 (+.f64 d2 d4) d1) (neg.f64 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 d1))))
(*.f64 d1 (+.f64 d2 (+.f64 d4 (-.f64 (neg.f64 d1) 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 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d1 d3)))
(+.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) d1) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d1 d3)))
(+.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) d1) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d1 d3)))
(*.f64 d1 d4)
(+.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d1 d3)))
(+.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d1 d3)))
(+.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d1 d3)))
(*.f64 d1 d4)
(+.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) d1) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d1 d3)))
(+.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) d1) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d1 d3)))
(+.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) d1) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d1 d3)))
(-.f64 d4 (+.f64 d1 d3))
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
(+.f64 d2 (-.f64 d4 (+.f64 d1 d3)))
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
(+.f64 d2 (-.f64 d4 (+.f64 d1 d3)))
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
(+.f64 d2 (-.f64 d4 (+.f64 d1 d3)))
d2
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
(+.f64 d2 (-.f64 d4 (+.f64 d1 d3)))
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
(+.f64 d2 (-.f64 d4 (+.f64 d1 d3)))
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
(+.f64 d2 (-.f64 d4 (+.f64 d1 d3)))
d2
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
(+.f64 d2 (-.f64 d4 (+.f64 d1 d3)))
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
(+.f64 d2 (-.f64 d4 (+.f64 d1 d3)))
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
(+.f64 d2 (-.f64 d4 (+.f64 d1 d3)))
(-.f64 (+.f64 d2 d4) d1)
(+.f64 d2 (-.f64 d4 d1))
(-.f64 (+.f64 d2 (+.f64 (*.f64 -1 d3) d4)) d1)
(+.f64 (+.f64 d4 (*.f64 d3 -1)) (-.f64 d2 d1))
(+.f64 (+.f64 d2 d4) (-.f64 (neg.f64 d3) d1))
(+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 d1)))
(+.f64 d2 (+.f64 d4 (-.f64 (neg.f64 d1) d3)))
(-.f64 (+.f64 d2 (+.f64 (*.f64 -1 d3) d4)) d1)
(+.f64 (+.f64 d4 (*.f64 d3 -1)) (-.f64 d2 d1))
(+.f64 (+.f64 d2 d4) (-.f64 (neg.f64 d3) d1))
(+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 d1)))
(+.f64 d2 (+.f64 d4 (-.f64 (neg.f64 d1) d3)))
(-.f64 (+.f64 d2 (+.f64 (*.f64 -1 d3) d4)) d1)
(+.f64 (+.f64 d4 (*.f64 d3 -1)) (-.f64 d2 d1))
(+.f64 (+.f64 d2 d4) (-.f64 (neg.f64 d3) d1))
(+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 d1)))
(+.f64 d2 (+.f64 d4 (-.f64 (neg.f64 d1) d3)))
(*.f64 -1 d3)
(*.f64 d3 -1)
(neg.f64 d3)
(-.f64 (+.f64 d2 (+.f64 (*.f64 -1 d3) d4)) d1)
(+.f64 (+.f64 d4 (*.f64 d3 -1)) (-.f64 d2 d1))
(+.f64 (+.f64 d2 d4) (-.f64 (neg.f64 d3) d1))
(+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 d1)))
(+.f64 d2 (+.f64 d4 (-.f64 (neg.f64 d1) d3)))
(-.f64 (+.f64 d2 (+.f64 (*.f64 -1 d3) d4)) d1)
(+.f64 (+.f64 d4 (*.f64 d3 -1)) (-.f64 d2 d1))
(+.f64 (+.f64 d2 d4) (-.f64 (neg.f64 d3) d1))
(+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 d1)))
(+.f64 d2 (+.f64 d4 (-.f64 (neg.f64 d1) d3)))
(-.f64 (+.f64 d2 (+.f64 (*.f64 -1 d3) d4)) d1)
(+.f64 (+.f64 d4 (*.f64 d3 -1)) (-.f64 d2 d1))
(+.f64 (+.f64 d2 d4) (-.f64 (neg.f64 d3) d1))
(+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 d1)))
(+.f64 d2 (+.f64 d4 (-.f64 (neg.f64 d1) d3)))
(*.f64 -1 d3)
(*.f64 d3 -1)
(neg.f64 d3)
(-.f64 (+.f64 d2 (+.f64 (*.f64 -1 d3) d4)) d1)
(+.f64 (+.f64 d4 (*.f64 d3 -1)) (-.f64 d2 d1))
(+.f64 (+.f64 d2 d4) (-.f64 (neg.f64 d3) d1))
(+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 d1)))
(+.f64 d2 (+.f64 d4 (-.f64 (neg.f64 d1) d3)))
(-.f64 (+.f64 d2 (+.f64 (*.f64 -1 d3) d4)) d1)
(+.f64 (+.f64 d4 (*.f64 d3 -1)) (-.f64 d2 d1))
(+.f64 (+.f64 d2 d4) (-.f64 (neg.f64 d3) d1))
(+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 d1)))
(+.f64 d2 (+.f64 d4 (-.f64 (neg.f64 d1) d3)))
(-.f64 (+.f64 d2 (+.f64 (*.f64 -1 d3) d4)) d1)
(+.f64 (+.f64 d4 (*.f64 d3 -1)) (-.f64 d2 d1))
(+.f64 (+.f64 d2 d4) (-.f64 (neg.f64 d3) d1))
(+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 d1)))
(+.f64 d2 (+.f64 d4 (-.f64 (neg.f64 d1) d3)))
(-.f64 d2 (+.f64 d1 d3))
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
(+.f64 d2 (-.f64 d4 (+.f64 d1 d3)))
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
(+.f64 d2 (-.f64 d4 (+.f64 d1 d3)))
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
(+.f64 d2 (-.f64 d4 (+.f64 d1 d3)))
d4
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
(+.f64 d2 (-.f64 d4 (+.f64 d1 d3)))
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
(+.f64 d2 (-.f64 d4 (+.f64 d1 d3)))
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
(+.f64 d2 (-.f64 d4 (+.f64 d1 d3)))
d4
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
(+.f64 d2 (-.f64 d4 (+.f64 d1 d3)))
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
(+.f64 d2 (-.f64 d4 (+.f64 d1 d3)))
(-.f64 (+.f64 d2 d4) (+.f64 d1 d3))
(+.f64 d2 (-.f64 d4 (+.f64 d1 d3)))
(-.f64 (+.f64 d2 d4) d3)
(+.f64 d2 (-.f64 d4 d3))
(-.f64 (+.f64 d2 (+.f64 d4 (*.f64 -1 d1))) d3)
(+.f64 (+.f64 d4 (*.f64 d3 -1)) (-.f64 d2 d1))
(+.f64 (+.f64 d2 d4) (-.f64 (neg.f64 d3) d1))
(+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 d1)))
(+.f64 d2 (+.f64 d4 (-.f64 (neg.f64 d1) d3)))
(-.f64 (+.f64 d2 (+.f64 d4 (*.f64 -1 d1))) d3)
(+.f64 (+.f64 d4 (*.f64 d3 -1)) (-.f64 d2 d1))
(+.f64 (+.f64 d2 d4) (-.f64 (neg.f64 d3) d1))
(+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 d1)))
(+.f64 d2 (+.f64 d4 (-.f64 (neg.f64 d1) d3)))
(-.f64 (+.f64 d2 (+.f64 d4 (*.f64 -1 d1))) d3)
(+.f64 (+.f64 d4 (*.f64 d3 -1)) (-.f64 d2 d1))
(+.f64 (+.f64 d2 d4) (-.f64 (neg.f64 d3) d1))
(+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 d1)))
(+.f64 d2 (+.f64 d4 (-.f64 (neg.f64 d1) d3)))
(*.f64 -1 d1)
(*.f64 d1 -1)
(neg.f64 d1)
(-.f64 (+.f64 d2 (+.f64 d4 (*.f64 -1 d1))) d3)
(+.f64 (+.f64 d4 (*.f64 d3 -1)) (-.f64 d2 d1))
(+.f64 (+.f64 d2 d4) (-.f64 (neg.f64 d3) d1))
(+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 d1)))
(+.f64 d2 (+.f64 d4 (-.f64 (neg.f64 d1) d3)))
(-.f64 (+.f64 d2 (+.f64 d4 (*.f64 -1 d1))) d3)
(+.f64 (+.f64 d4 (*.f64 d3 -1)) (-.f64 d2 d1))
(+.f64 (+.f64 d2 d4) (-.f64 (neg.f64 d3) d1))
(+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 d1)))
(+.f64 d2 (+.f64 d4 (-.f64 (neg.f64 d1) d3)))
(-.f64 (+.f64 d2 (+.f64 d4 (*.f64 -1 d1))) d3)
(+.f64 (+.f64 d4 (*.f64 d3 -1)) (-.f64 d2 d1))
(+.f64 (+.f64 d2 d4) (-.f64 (neg.f64 d3) d1))
(+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 d1)))
(+.f64 d2 (+.f64 d4 (-.f64 (neg.f64 d1) d3)))
(*.f64 -1 d1)
(*.f64 d1 -1)
(neg.f64 d1)
(-.f64 (+.f64 d2 (+.f64 d4 (*.f64 -1 d1))) d3)
(+.f64 (+.f64 d4 (*.f64 d3 -1)) (-.f64 d2 d1))
(+.f64 (+.f64 d2 d4) (-.f64 (neg.f64 d3) d1))
(+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 d1)))
(+.f64 d2 (+.f64 d4 (-.f64 (neg.f64 d1) d3)))
(-.f64 (+.f64 d2 (+.f64 d4 (*.f64 -1 d1))) d3)
(+.f64 (+.f64 d4 (*.f64 d3 -1)) (-.f64 d2 d1))
(+.f64 (+.f64 d2 d4) (-.f64 (neg.f64 d3) d1))
(+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 d1)))
(+.f64 d2 (+.f64 d4 (-.f64 (neg.f64 d1) d3)))
(-.f64 (+.f64 d2 (+.f64 d4 (*.f64 -1 d1))) d3)
(+.f64 (+.f64 d4 (*.f64 d3 -1)) (-.f64 d2 d1))
(+.f64 (+.f64 d2 d4) (-.f64 (neg.f64 d3) d1))
(+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 d1)))
(+.f64 d2 (+.f64 d4 (-.f64 (neg.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 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) (*.f64 d1 1/2)) (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) (*.f64 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 (*.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 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 8)) (*.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 (-.f64 d2 d3) (-.f64 d4 d1)) 0)
(+.f64 (-.f64 d2 d3) (-.f64 d4 d1))
(*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 1)
(+.f64 (-.f64 d2 d3) (-.f64 d4 d1))
(*.f64 1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(+.f64 (-.f64 d2 d3) (-.f64 d4 d1))
(*.f64 2 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 1/2))
(+.f64 (-.f64 d2 d3) (-.f64 d4 d1))
(*.f64 2 (+.f64 (/.f64 (-.f64 d1 d4) -2) (*.f64 (-.f64 d2 d3) 1/2)))
(*.f64 2 (+.f64 (*.f64 (-.f64 d2 d3) 1/2) (/.f64 (-.f64 d1 d4) -2)))
(*.f64 2 (+.f64 (/.f64 (-.f64 d1 d4) -2) (*.f64 (-.f64 d2 d3) 1/2)))
(*.f64 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 2) 1/2)
(+.f64 (-.f64 d2 d3) (-.f64 d4 d1))
(*.f64 4 (/.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 4))
(+.f64 (-.f64 d2 d3) (-.f64 d4 d1))
(*.f64 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 4) 1/4)
(+.f64 (-.f64 d2 d3) (-.f64 d4 d1))
(*.f64 -1 (+.f64 (-.f64 d1 d4) (-.f64 d3 d2)))
(neg.f64 (+.f64 (-.f64 d1 d4) (-.f64 d3 d2)))
(*.f64 -1 (+.f64 (-.f64 d3 d2) (-.f64 d1 d4)))
(*.f64 -1 (+.f64 (-.f64 d1 d4) (-.f64 d3 d2)))
(neg.f64 (+.f64 (-.f64 d1 d4) (-.f64 d3 d2)))
(*.f64 1/2 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 2))
(+.f64 (-.f64 d2 d3) (-.f64 d4 d1))
(*.f64 1/2 (+.f64 (*.f64 (-.f64 d4 d1) 2) (*.f64 (-.f64 d2 d3) 2)))
(+.f64 (-.f64 d2 d3) (-.f64 d4 d1))
(*.f64 1/2 (+.f64 (*.f64 (-.f64 d2 d3) 2) (*.f64 (-.f64 d4 d1) 2)))
(+.f64 (-.f64 d2 d3) (-.f64 d4 d1))
(*.f64 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 1/2) 2)
(+.f64 (-.f64 d2 d3) (-.f64 d4 d1))
(*.f64 1/4 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 4))
(+.f64 (-.f64 d2 d3) (-.f64 d4 d1))
(*.f64 (/.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 4) 4)
(+.f64 (-.f64 d2 d3) (-.f64 d4 d1))
(/.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 1)
(+.f64 (-.f64 d2 d3) (-.f64 d4 d1))
(/.f64 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 2) 2)
(+.f64 (-.f64 d2 d3) (-.f64 d4 d1))
(/.f64 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 4) 4)
(+.f64 (-.f64 d2 d3) (-.f64 d4 d1))
(/.f64 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 8) 8)
(+.f64 (-.f64 d2 d3) (-.f64 d4 d1))
(/.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 8)) 16)
(+.f64 (-.f64 d2 d3) (-.f64 d4 d1))
(/.f64 (+.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 8)) (*.f64 2 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 8))) 32)
(+.f64 (-.f64 d2 d3) (-.f64 d4 d1))

localize11.0ms (0%)

Local error

Found 3 expressions with local error:

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

Compiled 35 to 9 computations (74.3% saved)

series2.4s (9%)

Counts
3 → 108
Calls

27 calls:

TimeVariablePointExpression
2.4s
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)))

rewrite97.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1792×bool.json-1
1792×bool.json-2
1758×rational.json-1
1108×bool.json-3
978×rational.json-2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01157
110751
228151
362251
4132851
5311251
6657551
Stop Event
node limit
Counts
3 → 45
Calls
Call 1
Inputs
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 d1 (-.f64 d4 d1)))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 d1 (-.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 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 (*.f64 d1 (*.f64 2 (+.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)) 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 (-.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 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) (*.f64 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 d1 (*.f64 2 (+.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)) 2)) 2)))) (#(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 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 1/2) (+.f64 d1 d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) (*.f64 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 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 (-.f64 d2 d3) (-.f64 d4 d1)) (*.f64 d1 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) (*.f64 d1 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) (*.f64 d1 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) (*.f64 d1 4)))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) (*.f64 d1 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))))))))
((#(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 d1 (*.f64 (-.f64 d2 d3) 1/2)) (*.f64 d1 (*.f64 (-.f64 d2 d3) 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 d1 (*.f64 (-.f64 d3 d2) -2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 (-.f64 d2 d3) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d2 d3) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d2 d3) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d2 d3) 4)))) (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d2 d3) 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 d1 (-.f64 d2 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 d1 (-.f64 d2 d3)) (*.f64 d1 (-.f64 d2 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 d1 (-.f64 d2 d3)) (*.f64 d1 (-.f64 d2 d3)))))))
((#(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 d4 d1) 1/2)) (*.f64 d1 (*.f64 (-.f64 d4 d1) 1/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 (-.f64 d4 d1) (+.f64 d1 d1)) 2)))) (#(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 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 d1) 4)))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 d1) 4)))) (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 d1) 4))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 d1 (-.f64 d4 d1))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d4 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d4 d1)))))))

simplify729.0ms (2.7%)

Algorithm
egg-herbie
Rules
2292×rational.json-simplify-2
2174×rational.json-simplify-35
1490×rational.json-simplify-53
938×rational.json-simplify-51
836×rational.json-simplify-48
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01233687
12783291
26013183
314143183
430523183
539623183
642563183
745053183
847363183
949863183
1057483183
1166123183
1273993183
1376343183
1478183183
Stop Event
node limit
Counts
153 → 82
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 (-.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 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 d1 (/.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 2)))
(*.f64 (*.f64 d1 (*.f64 2 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))) 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 (-.f64 d2 d3) (-.f64 d4 d1)) d1)
(*.f64 4 (/.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) 4))
(*.f64 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) (*.f64 d1 4)) 1/4)
(*.f64 (*.f64 2 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))) (*.f64 d1 1/2))
(*.f64 1/2 (*.f64 d1 (*.f64 2 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))))
(*.f64 (*.f64 d1 (/.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 2)) 2)
(*.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1))))
(*.f64 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) 1/2) (+.f64 d1 d1))
(*.f64 1/4 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) (*.f64 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 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 (-.f64 d2 d3) (-.f64 d4 d1)) (*.f64 d1 4)) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) (*.f64 d1 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) (*.f64 d1 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) (*.f64 d1 4)))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) (*.f64 d1 4))))) 32)
(+.f64 (*.f64 d1 (-.f64 d2 d3)) 0)
(+.f64 0 (*.f64 d1 (-.f64 d2 d3)))
(+.f64 (*.f64 d1 (*.f64 (-.f64 d2 d3) 1/2)) (*.f64 d1 (*.f64 (-.f64 d2 d3) 1/2)))
(-.f64 (*.f64 d1 (-.f64 d2 d3)) 0)
(/.f64 (*.f64 d1 (-.f64 d2 d3)) 1)
(/.f64 (*.f64 d1 (*.f64 (-.f64 d3 d2) -2)) 2)
(/.f64 (*.f64 d1 (*.f64 (-.f64 d2 d3) 4)) 4)
(/.f64 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d2 d3) 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d2 d3) 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d2 d3) 4)))) (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d2 d3) 4))))) 32)
(+.f64 (*.f64 d1 (-.f64 d4 d1)) 0)
(+.f64 0 (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (*.f64 (-.f64 d4 d1) 1/2)) (*.f64 d1 (*.f64 (-.f64 d4 d1) 1/2)))
(-.f64 (*.f64 d1 (-.f64 d4 d1)) 0)
(/.f64 (*.f64 d1 (-.f64 d4 d1)) 1)
(/.f64 (*.f64 (-.f64 d4 d1) (+.f64 d1 d1)) 2)
(/.f64 (*.f64 d1 (*.f64 (-.f64 d4 d1) 4)) 4)
(/.f64 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 d1) 4))) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 d1) 4)))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 d1) 4)))) (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 d1) 4))))) 32)
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 (neg.f64 (*.f64 d1 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 (neg.f64 (*.f64 d1 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 (neg.f64 (*.f64 d1 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 (neg.f64 (*.f64 d1 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 (neg.f64 (*.f64 d1 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 (neg.f64 (*.f64 d1 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 (neg.f64 (*.f64 d1 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 (neg.f64 (*.f64 d1 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 (neg.f64 (*.f64 d1 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 (neg.f64 (*.f64 d1 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 (neg.f64 (*.f64 d1 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 (neg.f64 (*.f64 d1 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))
(neg.f64 (*.f64 d1 d3))
(*.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 (neg.f64 (*.f64 d1 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 (neg.f64 (*.f64 d1 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 (neg.f64 (*.f64 d1 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))
(neg.f64 (*.f64 d1 d3))
(*.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 (neg.f64 (*.f64 d1 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 (neg.f64 (*.f64 d1 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 (neg.f64 (*.f64 d1 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 (-.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))
(neg.f64 (*.f64 d1 d3))
(*.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))
(neg.f64 (*.f64 d1 d3))
(*.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))
(neg.f64 (*.f64 d1 d3))
(*.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 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 d1 (/.f64 (+.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 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 (-.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 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) (*.f64 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 d1 (*.f64 2 (+.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)) 2)) 2)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.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 (+.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 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) (*.f64 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 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 (-.f64 d2 d3) (-.f64 d4 d1)) (*.f64 d1 4)) 4)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(/.f64 (*.f64 2 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) (*.f64 d1 4))) 8)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) (*.f64 d1 4)))) 16)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) (*.f64 d1 4)))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)) (*.f64 d1 4))))) 32)
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.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 d1 (*.f64 (-.f64 d2 d3) 1/2)) (*.f64 d1 (*.f64 (-.f64 d2 d3) 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 d1 (*.f64 (-.f64 d3 d2) -2)) 2)
(*.f64 d1 (-.f64 d2 d3))
(/.f64 (*.f64 d1 (*.f64 (-.f64 d2 d3) 4)) 4)
(*.f64 d1 (-.f64 d2 d3))
(/.f64 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d2 d3) 4))) 8)
(*.f64 d1 (-.f64 d2 d3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d2 d3) 4)))) 16)
(*.f64 d1 (-.f64 d2 d3))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d2 d3) 4)))) (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d2 d3) 4))))) 32)
(*.f64 d1 (-.f64 d2 d3))
(+.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 d4 d1) 1/2)) (*.f64 d1 (*.f64 (-.f64 d4 d1) 1/2)))
(*.f64 d1 (-.f64 d4 d1))
(-.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 (-.f64 d4 d1) (+.f64 d1 d1)) 2)
(*.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 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 d1) 4)))) 16)
(*.f64 d1 (-.f64 d4 d1))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 d1) 4)))) (*.f64 2 (*.f64 2 (*.f64 d1 (*.f64 (-.f64 d4 d1) 4))))) 32)
(*.f64 d1 (-.f64 d4 d1))

localize15.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 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
0.0b
(+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1))
Compiler

Compiled 53 to 11 computations (79.2% saved)

series7.0ms (0%)

Counts
3 → 132
Calls

33 calls:

TimeVariablePointExpression
1.0ms
d1
@0
(+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1))
1.0ms
d1
@-inf
(+.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))
0.0ms
d2
@0
(+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1))
0.0ms
d3
@0
(+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1))

rewrite98.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1054×rational.json-simplify-35
972×bool.json-1
972×bool.json-2
958×rational.json-1
958×rational.json-2
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01393
113075
235263
386157
4260457
5750157
Stop Event
node limit
Counts
3 → 69
Calls
Call 1
Inputs
(+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1))
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
Outputs
((#(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 (+.f64 d4 (-.f64 d2 d3)) (+.f64 d1 d1)) 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 (+.f64 d4 (-.f64 d2 d3)) (+.f64 d1 d1)))))) (#(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 (+.f64 d4 (-.f64 d2 d3)) (+.f64 d1 d1)) 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 not (not (*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))))))))
((#(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 (-.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 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 -1 (-.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))) -1) -1)))) (#(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 (+.f64 (*.f64 d1 d4) (neg.f64 (*.f64 d1 d3))) (*.f64 d1 (-.f64 d2 d1)))))) (#(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 neg.f64 (*.f64 d1 (-.f64 d1 (+.f64 d4 (-.f64 d2 d3)))))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))))))))
((#(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 1 (*.f64 d1 (-.f64 d3 d2))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 1 (*.f64 d1 (-.f64 d3 d2))) -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 (*.f64 d1 (-.f64 d2 d3)) 2) 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 (*.f64 d1 (-.f64 d2 d3)) 2))))) (#(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 (*.f64 d1 (-.f64 d2 d3)) 2) 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 2 (*.f64 (*.f64 d1 (-.f64 d2 d3)) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 d1 (-.f64 d3 d2))) -2)))) (#(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 neg.f64 (*.f64 d1 (-.f64 d3 d2)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 d1 (-.f64 d2 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 d1 (-.f64 d2 d3)) (*.f64 d1 (-.f64 d2 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 d1 (-.f64 d2 d3)) (*.f64 d1 (-.f64 d2 d3)))))))

simplify2.3s (8.7%)

Algorithm
egg-herbie
Rules
1772×rational.json-simplify-35
1210×rational.json-simplify-48
1170×rational.json-simplify-2
1074×rational.json-simplify-51
884×rational.json-simplify-42
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
01604961
13294399
27454225
320404225
439654225
543854153
649614037
761824037
Stop Event
node limit
Counts
201 → 113
Calls
Call 1
Inputs
(*.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 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 (-.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 (+.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 (+.f64 d4 (-.f64 d2 d3)) (+.f64 d1 d1)) 1/2)
(*.f64 (+.f64 d4 (-.f64 d2 d3)) d1)
(*.f64 1/2 (*.f64 (+.f64 d4 (-.f64 d2 d3)) (+.f64 d1 d1)))
(*.f64 (/.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) 2) 2)
(/.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) 1)
(/.f64 (*.f64 (+.f64 d4 (-.f64 d2 d3)) (+.f64 d1 d1)) 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)
(+.f64 (*.f64 d1 d2) (+.f64 (*.f64 d1 (-.f64 d4 d1)) (neg.f64 (*.f64 d1 d3))))
(+.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 d4 d1)) (*.f64 d1 (-.f64 d2 d3)))
(+.f64 (*.f64 d1 (neg.f64 d1)) (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))))
(+.f64 -1 (-.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) -1))
(+.f64 (-.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) -1) -1)
(+.f64 (+.f64 (*.f64 d1 (-.f64 d4 d1)) (neg.f64 (*.f64 d1 d3))) (*.f64 d1 d2))
(+.f64 (+.f64 (*.f64 d1 d4) (neg.f64 (*.f64 d1 d3))) (*.f64 d1 (-.f64 d2 d1)))
(*.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)
(neg.f64 (*.f64 d1 (-.f64 d1 (+.f64 d4 (-.f64 d2 d3)))))
(+.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 1 (*.f64 d1 (-.f64 d3 d2))))
(+.f64 (-.f64 1 (*.f64 d1 (-.f64 d3 d2))) -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 (*.f64 d1 (-.f64 d2 d3)) 2) 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 (*.f64 d1 (-.f64 d2 d3)) 2))
(*.f64 (/.f64 (*.f64 d1 (-.f64 d2 d3)) 2) 2)
(/.f64 (*.f64 d1 (-.f64 d2 d3)) 1)
(/.f64 (*.f64 (*.f64 d1 (-.f64 d2 d3)) 2) 2)
(/.f64 (*.f64 d1 (-.f64 d3 d2)) -1)
(/.f64 (*.f64 (*.f64 d1 (-.f64 d2 d3)) 4) 4)
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 d3)) 4)) 8)
(/.f64 (*.f64 2 (*.f64 d1 (-.f64 d3 d2))) -2)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 d3)) 4)) (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 d3)) 4))) 16)
(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 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 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 d1 d4) (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(*.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 (*.f64 d1 d3) (pow.f64 d1 2)))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(*.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 (*.f64 d1 d3) (pow.f64 d1 2)))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(-.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 (*.f64 d1 d3) (pow.f64 d1 2)))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(*.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 (*.f64 d1 d3) (pow.f64 d1 2)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(*.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 (*.f64 d1 d3) (pow.f64 d1 2)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (+.f64 (*.f64 d1 d3) (pow.f64 d1 2)))
(*.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) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(-.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) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(-.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) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 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 (+.f64 d4 (-.f64 d2 d3)) (+.f64 d1 d1)) 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 (+.f64 d4 (-.f64 d2 d3)) (+.f64 d1 d1)))
(*.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 (+.f64 d4 (-.f64 d2 d3)) (+.f64 d1 d1)) 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)))
(+.f64 (*.f64 d1 d2) (+.f64 (*.f64 d1 (-.f64 d4 d1)) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 d1))))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 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 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 d1))))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(+.f64 (*.f64 d1 (+.f64 d4 (-.f64 d2 d3))) (*.f64 d1 (neg.f64 d1)))
(*.f64 d1 (+.f64 (neg.f64 d1) (+.f64 d2 (-.f64 d4 d3))))
(*.f64 d1 (+.f64 d2 (+.f64 (-.f64 d4 d3) (neg.f64 d1))))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d1) (-.f64 d4 d3))))
(+.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) 0)
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 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 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 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 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 d1))))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d2 d3)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 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 d1 (+.f64 d4 (-.f64 d2 d3))) (*.f64 d1 (neg.f64 d1)))
(*.f64 d1 (+.f64 (neg.f64 d1) (+.f64 d2 (-.f64 d4 d3))))
(*.f64 d1 (+.f64 d2 (+.f64 (-.f64 d4 d3) (neg.f64 d1))))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d1) (-.f64 d4 d3))))
(+.f64 -1 (-.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) -1))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 d1))))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(+.f64 (-.f64 (*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1))) -1) -1)
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 d1))))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(+.f64 (+.f64 (*.f64 d1 (-.f64 d4 d1)) (neg.f64 (*.f64 d1 d3))) (*.f64 d1 d2))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 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 (-.f64 d4 d1)) (+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 d1))))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 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 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 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 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 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 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 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 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 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 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 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 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 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 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 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 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 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 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 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 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 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 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 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 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 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 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 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 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 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 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 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 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 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 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 (+.f64 d2 (+.f64 (neg.f64 d3) (-.f64 d4 d1))))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(+.f64 (*.f64 d1 d2) (neg.f64 (*.f64 d1 d3)))
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 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) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(+.f64 -1 (-.f64 1 (*.f64 d1 (-.f64 d3 d2))))
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(+.f64 (-.f64 1 (*.f64 d1 (-.f64 d3 d2))) -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 (*.f64 d1 (-.f64 d2 d3)) 2) 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 (*.f64 d1 (-.f64 d2 d3)) 2))
(-.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 (*.f64 d1 (-.f64 d2 d3)) 2) 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 2 (*.f64 (*.f64 d1 (-.f64 d2 d3)) 4)) 8)
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))
(/.f64 (*.f64 2 (*.f64 d1 (-.f64 d3 d2))) -2)
(-.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))
(neg.f64 (*.f64 d1 (-.f64 d3 d2)))
(-.f64 (*.f64 d1 d2) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d2 d3))

eval120.0ms (0.4%)

Compiler

Compiled 3412 to 1066 computations (68.8% saved)

prune1.9s (7.2%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New27110281
Fresh000
Picked101
Done202
Total27410284
Error
0.0b
Counts
284 → 10
Alt Table
Click to see full alt table
StatusErrorProgram
18.5b
(-.f64 (-.f64 (*.f64 d2 d1) (*.f64 d1 d3)) (*.f64 d1 d1))
18.9b
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1)))
18.5b
(*.f64 (-.f64 d2 (+.f64 d1 d3)) d1)
43.7b
(*.f64 d2 d1)
18.9b
(*.f64 d1 (-.f64 (+.f64 d2 d4) d1))
18.8b
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
7.6b
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
43.3b
(*.f64 d1 (neg.f64 d3))
54.3b
(*.f64 d1 (neg.f64 d1))
43.5b
(*.f64 d1 d4)
Compiler

Compiled 204 to 134 computations (34.3% saved)

localize7.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 23 to 7 computations (69.6% saved)

series5.0ms (0%)

Counts
1 → 48
Calls

12 calls:

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

rewrite121.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1470×bool.json-1
1470×bool.json-2
1428×rational.json-1
1428×rational.json-2
1428×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0919
18819
223619
350619
4106819
5243219
6532519
Stop Event
node limit
Counts
1 → 10
Calls
Call 1
Inputs
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (*.f64 (+.f64 d2 (-.f64 d4 d3)) 1/2)) (*.f64 d1 (*.f64 (+.f64 d2 (-.f64 d4 d3)) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 d2 (-.f64 d4 d3)) (+.f64 d1 d1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 d2 (-.f64 d4 d3)) (*.f64 d1 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))))))

simplify1.1s (4.2%)

Algorithm
egg-herbie
Rules
4400×rational.json-simplify-35
2592×rational.json-simplify-2
1220×rational.json-simplify-1
1214×rational.json-simplify-53
878×rational.json-simplify-41
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0531132
11191056
22161056
35031056
419531056
538561056
649001056
752451056
854251056
955981056
1057691056
1161321056
1261381056
1362191056
1462761056
1562911056
1664631056
1766351056
1868071056
1969791056
2071511056
2173231056
2276091056
2376261056
2476831056
2577251056
2677271056
2777271056
2878991056
Stop Event
node limit
Counts
58 → 31
Calls
Call 1
Inputs
(*.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 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 (-.f64 d4 d3) d1)
(+.f64 (*.f64 d2 d1) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 d2 d1) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 d2 d1) (*.f64 (-.f64 d4 d3) d1))
(*.f64 d2 d1)
(+.f64 (*.f64 d2 d1) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 d2 d1) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 d2 d1) (*.f64 (-.f64 d4 d3) d1))
(*.f64 d2 d1)
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d3)))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d3)))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d3)))
(*.f64 (-.f64 d2 d3) d1)
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1))
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1))
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1))
(*.f64 d1 d4)
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1))
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1))
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1))
(*.f64 d1 d4)
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1))
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1))
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1))
(*.f64 d1 (+.f64 d2 d4))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (+.f64 d2 d4)))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (+.f64 d2 d4)))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 0)
(+.f64 0 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(+.f64 (*.f64 d1 (*.f64 (+.f64 d2 (-.f64 d4 d3)) 1/2)) (*.f64 d1 (*.f64 (+.f64 d2 (-.f64 d4 d3)) 1/2)))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 0)
(/.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 1)
(/.f64 (*.f64 (+.f64 d2 (-.f64 d4 d3)) (+.f64 d1 d1)) 2)
(/.f64 (*.f64 (+.f64 d2 (-.f64 d4 d3)) (*.f64 d1 4)) 4)
(/.f64 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 8))) 32)
Outputs
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 (-.f64 d4 d3) d1)
(*.f64 d1 (-.f64 d4 d3))
(+.f64 (*.f64 d2 d1) (*.f64 (-.f64 d4 d3) d1))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(+.f64 (*.f64 d2 d1) (*.f64 (-.f64 d4 d3) d1))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(+.f64 (*.f64 d2 d1) (*.f64 (-.f64 d4 d3) d1))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 d2 d1) (*.f64 (-.f64 d4 d3) d1))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(+.f64 (*.f64 d2 d1) (*.f64 (-.f64 d4 d3) d1))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(+.f64 (*.f64 d2 d1) (*.f64 (-.f64 d4 d3) d1))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d3)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d3)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d3)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 (-.f64 d2 d3) d1)
(*.f64 d1 (-.f64 d2 d3))
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 d4)
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 d4)
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(+.f64 (*.f64 d1 d4) (*.f64 (-.f64 d2 d3) d1))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 d2 d4))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 -1 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 (+.f64 d2 d4) (neg.f64 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 d4 (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 -1 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 (+.f64 d2 d4) (neg.f64 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 d4 (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 -1 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 (+.f64 d2 d4) (neg.f64 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 d4 (neg.f64 d3))))
(*.f64 -1 (*.f64 d1 d3))
(neg.f64 (*.f64 d1 d3))
(*.f64 d3 (neg.f64 d1))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 -1 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 (+.f64 d2 d4) (neg.f64 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 d4 (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 -1 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 (+.f64 d2 d4) (neg.f64 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 d4 (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 -1 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 (+.f64 d2 d4) (neg.f64 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 d4 (neg.f64 d3))))
(*.f64 -1 (*.f64 d1 d3))
(neg.f64 (*.f64 d1 d3))
(*.f64 d3 (neg.f64 d1))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 -1 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 (+.f64 d2 d4) (neg.f64 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 d4 (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 -1 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 (+.f64 d2 d4) (neg.f64 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 d4 (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 -1 (*.f64 d1 d3)))
(*.f64 d1 (+.f64 (+.f64 d2 d4) (neg.f64 d3)))
(*.f64 d1 (+.f64 d2 (+.f64 d4 (neg.f64 d3))))
(+.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 0)
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(+.f64 0 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(+.f64 (*.f64 d1 (*.f64 (+.f64 d2 (-.f64 d4 d3)) 1/2)) (*.f64 d1 (*.f64 (+.f64 d2 (-.f64 d4 d3)) 1/2)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 0)
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(/.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 1)
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(/.f64 (*.f64 (+.f64 d2 (-.f64 d4 d3)) (+.f64 d1 d1)) 2)
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(/.f64 (*.f64 (+.f64 d2 (-.f64 d4 d3)) (*.f64 d1 4)) 4)
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(/.f64 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 8) 8)
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 8)) 16)
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 8))) 32)
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))

localize5.0ms (0%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

localize5.0ms (0%)

Compiler

Compiled 11 to 6 computations (45.5% saved)

localize7.0ms (0%)

Local error

Found 2 expressions with local error:

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

Compiled 22 to 7 computations (68.2% saved)

series3.0ms (0%)

Counts
2 → 72
Calls

18 calls:

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

rewrite135.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1490×rational.json-simplify-35
1422×bool.json-1
1422×bool.json-2
1380×rational.json-1
1380×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0832
17932
221732
347432
4102132
5231332
6505732
Stop Event
node limit
Counts
2 → 50
Calls
Call 1
Inputs
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(-.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 2)) (*.f64 (-.f64 d4 (+.f64 d1 d3)) (/.f64 d1 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 d4 (+.f64 d1 d3)) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 d4 (neg.f64 (+.f64 d1 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 d4 (+.f64 d1 d3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 d4 (+.f64 d1 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (+.f64 d1 d3)) d4)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (-.f64 d4 (+.f64 d1 d3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (-.f64 d4 (+.f64 d1 d3)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 1/2) (*.f64 (-.f64 d4 (+.f64 d1 d3)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 1 (+.f64 d1 (+.f64 (-.f64 d3 d4) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 d4 (+.f64 d1 d3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 d4 (+.f64 d1 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (*.f64 d4 1/2) (*.f64 (+.f64 d1 d3) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 (-.f64 d3 d4)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 d4 (+.f64 d1 d3)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (+.f64 d1 (-.f64 d3 d4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (+.f64 d4 d4) (*.f64 (+.f64 d1 d3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 d4 (+.f64 d1 d3)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 d4 (+.f64 d1 d3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 d1 (-.f64 d3 d4)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 d1 (-.f64 d3 d4))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 d1 (-.f64 d3 d4)) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (+.f64 d1 (-.f64 d3 d4)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 d1 (-.f64 d3 d4))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 d1 (-.f64 d3 d4)) 4)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (+.f64 d1 (-.f64 d3 d4)) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 8))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 d1 (-.f64 d3 d4))))) (*.f64 2 (neg.f64 (*.f64 2 (+.f64 d1 (-.f64 d3 d4)))))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 (+.f64 d1 (-.f64 d3 d4)) 4)) (neg.f64 (*.f64 (+.f64 d1 (-.f64 d3 d4)) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 d1 (-.f64 d3 d4)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (-.f64 d4 (+.f64 d1 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x and (-.f64 d4 (+.f64 d1 d3)) (-.f64 d4 (+.f64 d1 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x or (-.f64 d4 (+.f64 d1 d3)) (-.f64 d4 (+.f64 d1 d3)))))))

simplify254.0ms (0.9%)

Algorithm
egg-herbie
Rules
2922×rational.json-simplify-2
1864×rational.json-simplify-35
1222×rational.json-simplify-48
1100×rational.json-simplify-51
1080×rational.json-simplify-1
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01332306
12892144
26712090
319582090
441662090
549702090
655342090
763872090
870192090
976932090
Stop Event
node limit
Counts
122 → 100
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 -1 (+.f64 d1 d3))
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d4)
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d4)
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d4)
d4
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d4)
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d4)
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d4)
d4
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d4)
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d4)
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d4)
(-.f64 d4 d3)
(-.f64 (+.f64 d4 (*.f64 -1 d1)) d3)
(-.f64 (+.f64 d4 (*.f64 -1 d1)) d3)
(-.f64 (+.f64 d4 (*.f64 -1 d1)) d3)
(*.f64 -1 d1)
(-.f64 (+.f64 d4 (*.f64 -1 d1)) d3)
(-.f64 (+.f64 d4 (*.f64 -1 d1)) d3)
(-.f64 (+.f64 d4 (*.f64 -1 d1)) d3)
(*.f64 -1 d1)
(-.f64 (+.f64 d4 (*.f64 -1 d1)) d3)
(-.f64 (+.f64 d4 (*.f64 -1 d1)) d3)
(-.f64 (+.f64 d4 (*.f64 -1 d1)) d3)
(-.f64 d4 d1)
(-.f64 (+.f64 (*.f64 -1 d3) d4) d1)
(-.f64 (+.f64 (*.f64 -1 d3) d4) d1)
(-.f64 (+.f64 (*.f64 -1 d3) d4) d1)
(*.f64 -1 d3)
(-.f64 (+.f64 (*.f64 -1 d3) d4) d1)
(-.f64 (+.f64 (*.f64 -1 d3) d4) d1)
(-.f64 (+.f64 (*.f64 -1 d3) d4) d1)
(*.f64 -1 d3)
(-.f64 (+.f64 (*.f64 -1 d3) d4) d1)
(-.f64 (+.f64 (*.f64 -1 d3) d4) d1)
(-.f64 (+.f64 (*.f64 -1 d3) 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 2)) (*.f64 (-.f64 d4 (+.f64 d1 d3)) (/.f64 d1 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 d4 (+.f64 d1 d3)) 4)) 4)
(/.f64 (*.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 8)))) 64)
(+.f64 d4 (neg.f64 (+.f64 d1 d3)))
(+.f64 (-.f64 d4 (+.f64 d1 d3)) 0)
(+.f64 0 (-.f64 d4 (+.f64 d1 d3)))
(+.f64 (neg.f64 (+.f64 d1 d3)) d4)
(+.f64 -1 (+.f64 (-.f64 d4 (+.f64 d1 d3)) 1))
(+.f64 (+.f64 (-.f64 d4 (+.f64 d1 d3)) 1) -1)
(+.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 1/2) (*.f64 (-.f64 d4 (+.f64 d1 d3)) 1/2))
(+.f64 -2 (-.f64 1 (+.f64 d1 (+.f64 (-.f64 d3 d4) -1))))
(*.f64 (-.f64 d4 (+.f64 d1 d3)) 1)
(*.f64 1 (-.f64 d4 (+.f64 d1 d3)))
(*.f64 2 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 1/2))
(*.f64 2 (-.f64 (*.f64 d4 1/2) (*.f64 (+.f64 d1 d3) 1/2)))
(*.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 2) 1/2)
(*.f64 (+.f64 d1 (-.f64 d3 d4)) -1)
(*.f64 4 (/.f64 (-.f64 d4 (+.f64 d1 d3)) 4))
(*.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 4) 1/4)
(*.f64 -1 (+.f64 d1 (-.f64 d3 d4)))
(*.f64 1/2 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 2))
(*.f64 1/2 (-.f64 (+.f64 d4 d4) (*.f64 (+.f64 d1 d3) 2)))
(*.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 1/2) 2)
(*.f64 1/4 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 4))
(*.f64 (/.f64 (-.f64 d4 (+.f64 d1 d3)) 4) 4)
(/.f64 (-.f64 d4 (+.f64 d1 d3)) 1)
(/.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 2) 2)
(/.f64 (+.f64 d1 (-.f64 d3 d4)) -1)
(/.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 4) 4)
(/.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 8) 8)
(/.f64 (*.f64 2 (+.f64 d1 (-.f64 d3 d4))) -2)
(/.f64 (*.f64 (+.f64 d1 (-.f64 d3 d4)) 4) -4)
(/.f64 (*.f64 2 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 8)) 16)
(/.f64 (neg.f64 (*.f64 2 (+.f64 d1 (-.f64 d3 d4)))) 2)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 8))) 32)
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 d1 (-.f64 d3 d4))))) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 d1 (-.f64 d3 d4)) 4)) -8)
(/.f64 (neg.f64 (*.f64 (+.f64 d1 (-.f64 d3 d4)) 4)) 4)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 8))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 8)))) 64)
(/.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 d1 (-.f64 d3 d4))))) (*.f64 2 (neg.f64 (*.f64 2 (+.f64 d1 (-.f64 d3 d4)))))) 8)
(/.f64 (+.f64 (neg.f64 (*.f64 (+.f64 d1 (-.f64 d3 d4)) 4)) (neg.f64 (*.f64 (+.f64 d1 (-.f64 d3 d4)) 4))) 8)
(neg.f64 (+.f64 d1 (-.f64 d3 d4)))
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 (+.f64 d3 d1) (*.f64 d1 -1))
(*.f64 d1 (neg.f64 (+.f64 d3 d1)))
(*.f64 (+.f64 d3 d1) (neg.f64 d1))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 (+.f64 d3 d1) (*.f64 d1 -1)) (*.f64 d4 d1))
(+.f64 (*.f64 d1 (neg.f64 (+.f64 d3 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 (+.f64 d3 d1) (*.f64 d1 -1)) (*.f64 d4 d1))
(+.f64 (*.f64 d1 (neg.f64 (+.f64 d3 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 (+.f64 d3 d1) (*.f64 d1 -1)) (*.f64 d4 d1))
(+.f64 (*.f64 d1 (neg.f64 (+.f64 d3 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 (+.f64 d3 d1) (*.f64 d1 -1)) (*.f64 d4 d1))
(+.f64 (*.f64 d1 (neg.f64 (+.f64 d3 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 (+.f64 d3 d1) (*.f64 d1 -1)) (*.f64 d4 d1))
(+.f64 (*.f64 d1 (neg.f64 (+.f64 d3 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 (+.f64 d3 d1) (*.f64 d1 -1)) (*.f64 d4 d1))
(+.f64 (*.f64 d1 (neg.f64 (+.f64 d3 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 (+.f64 d3 d1) (*.f64 d1 -1)) (*.f64 d4 d1))
(+.f64 (*.f64 d1 (neg.f64 (+.f64 d3 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 (+.f64 d3 d1) (*.f64 d1 -1)) (*.f64 d4 d1))
(+.f64 (*.f64 d1 (neg.f64 (+.f64 d3 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 (+.f64 d3 d1) (*.f64 d1 -1)) (*.f64 d4 d1))
(+.f64 (*.f64 d1 (neg.f64 (+.f64 d3 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 -1 (*.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d1) (neg.f64 d3)))
(*.f64 d1 (+.f64 d4 (-.f64 (neg.f64 d3) d1)))
(*.f64 d1 (+.f64 d4 (-.f64 (neg.f64 d1) d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 -1 (*.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d1) (neg.f64 d3)))
(*.f64 d1 (+.f64 d4 (-.f64 (neg.f64 d3) d1)))
(*.f64 d1 (+.f64 d4 (-.f64 (neg.f64 d1) d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 -1 (*.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d1) (neg.f64 d3)))
(*.f64 d1 (+.f64 d4 (-.f64 (neg.f64 d3) d1)))
(*.f64 d1 (+.f64 d4 (-.f64 (neg.f64 d1) d3)))
(*.f64 -1 (*.f64 d1 d3))
(*.f64 -1 (*.f64 d3 d1))
(*.f64 d3 (neg.f64 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 -1 (*.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d1) (neg.f64 d3)))
(*.f64 d1 (+.f64 d4 (-.f64 (neg.f64 d3) d1)))
(*.f64 d1 (+.f64 d4 (-.f64 (neg.f64 d1) d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 -1 (*.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d1) (neg.f64 d3)))
(*.f64 d1 (+.f64 d4 (-.f64 (neg.f64 d3) d1)))
(*.f64 d1 (+.f64 d4 (-.f64 (neg.f64 d1) d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 -1 (*.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d1) (neg.f64 d3)))
(*.f64 d1 (+.f64 d4 (-.f64 (neg.f64 d3) d1)))
(*.f64 d1 (+.f64 d4 (-.f64 (neg.f64 d1) d3)))
(*.f64 -1 (*.f64 d1 d3))
(*.f64 -1 (*.f64 d3 d1))
(*.f64 d3 (neg.f64 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 -1 (*.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d1) (neg.f64 d3)))
(*.f64 d1 (+.f64 d4 (-.f64 (neg.f64 d3) d1)))
(*.f64 d1 (+.f64 d4 (-.f64 (neg.f64 d1) d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 -1 (*.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d1) (neg.f64 d3)))
(*.f64 d1 (+.f64 d4 (-.f64 (neg.f64 d3) d1)))
(*.f64 d1 (+.f64 d4 (-.f64 (neg.f64 d1) d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 -1 (*.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d1) (neg.f64 d3)))
(*.f64 d1 (+.f64 d4 (-.f64 (neg.f64 d3) d1)))
(*.f64 d1 (+.f64 d4 (-.f64 (neg.f64 d1) d3)))
(*.f64 -1 (+.f64 d1 d3))
(neg.f64 (+.f64 d3 d1))
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d4)
(+.f64 d4 (neg.f64 (+.f64 d3 d1)))
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d4)
(+.f64 d4 (neg.f64 (+.f64 d3 d1)))
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d4)
(+.f64 d4 (neg.f64 (+.f64 d3 d1)))
d4
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d4)
(+.f64 d4 (neg.f64 (+.f64 d3 d1)))
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d4)
(+.f64 d4 (neg.f64 (+.f64 d3 d1)))
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d4)
(+.f64 d4 (neg.f64 (+.f64 d3 d1)))
d4
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d4)
(+.f64 d4 (neg.f64 (+.f64 d3 d1)))
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d4)
(+.f64 d4 (neg.f64 (+.f64 d3 d1)))
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d4)
(+.f64 d4 (neg.f64 (+.f64 d3 d1)))
(-.f64 d4 d3)
(-.f64 (+.f64 d4 (*.f64 -1 d1)) d3)
(+.f64 (*.f64 d1 -1) (-.f64 d4 d3))
(+.f64 d4 (-.f64 (neg.f64 d1) d3))
(-.f64 (+.f64 d4 (*.f64 -1 d1)) d3)
(+.f64 (*.f64 d1 -1) (-.f64 d4 d3))
(+.f64 d4 (-.f64 (neg.f64 d1) d3))
(-.f64 (+.f64 d4 (*.f64 -1 d1)) d3)
(+.f64 (*.f64 d1 -1) (-.f64 d4 d3))
(+.f64 d4 (-.f64 (neg.f64 d1) d3))
(*.f64 -1 d1)
(*.f64 d1 -1)
(neg.f64 d1)
(-.f64 (+.f64 d4 (*.f64 -1 d1)) d3)
(+.f64 (*.f64 d1 -1) (-.f64 d4 d3))
(+.f64 d4 (-.f64 (neg.f64 d1) d3))
(-.f64 (+.f64 d4 (*.f64 -1 d1)) d3)
(+.f64 (*.f64 d1 -1) (-.f64 d4 d3))
(+.f64 d4 (-.f64 (neg.f64 d1) d3))
(-.f64 (+.f64 d4 (*.f64 -1 d1)) d3)
(+.f64 (*.f64 d1 -1) (-.f64 d4 d3))
(+.f64 d4 (-.f64 (neg.f64 d1) d3))
(*.f64 -1 d1)
(*.f64 d1 -1)
(neg.f64 d1)
(-.f64 (+.f64 d4 (*.f64 -1 d1)) d3)
(+.f64 (*.f64 d1 -1) (-.f64 d4 d3))
(+.f64 d4 (-.f64 (neg.f64 d1) d3))
(-.f64 (+.f64 d4 (*.f64 -1 d1)) d3)
(+.f64 (*.f64 d1 -1) (-.f64 d4 d3))
(+.f64 d4 (-.f64 (neg.f64 d1) d3))
(-.f64 (+.f64 d4 (*.f64 -1 d1)) d3)
(+.f64 (*.f64 d1 -1) (-.f64 d4 d3))
(+.f64 d4 (-.f64 (neg.f64 d1) d3))
(-.f64 d4 d1)
(-.f64 (+.f64 (*.f64 -1 d3) d4) d1)
(+.f64 (*.f64 d1 -1) (-.f64 d4 d3))
(+.f64 d4 (-.f64 (neg.f64 d1) d3))
(-.f64 (+.f64 (*.f64 -1 d3) d4) d1)
(+.f64 (*.f64 d1 -1) (-.f64 d4 d3))
(+.f64 d4 (-.f64 (neg.f64 d1) d3))
(-.f64 (+.f64 (*.f64 -1 d3) d4) d1)
(+.f64 (*.f64 d1 -1) (-.f64 d4 d3))
(+.f64 d4 (-.f64 (neg.f64 d1) d3))
(*.f64 -1 d3)
(*.f64 d3 -1)
(neg.f64 d3)
(-.f64 (+.f64 (*.f64 -1 d3) d4) d1)
(+.f64 (*.f64 d1 -1) (-.f64 d4 d3))
(+.f64 d4 (-.f64 (neg.f64 d1) d3))
(-.f64 (+.f64 (*.f64 -1 d3) d4) d1)
(+.f64 (*.f64 d1 -1) (-.f64 d4 d3))
(+.f64 d4 (-.f64 (neg.f64 d1) d3))
(-.f64 (+.f64 (*.f64 -1 d3) d4) d1)
(+.f64 (*.f64 d1 -1) (-.f64 d4 d3))
(+.f64 d4 (-.f64 (neg.f64 d1) d3))
(*.f64 -1 d3)
(*.f64 d3 -1)
(neg.f64 d3)
(-.f64 (+.f64 (*.f64 -1 d3) d4) d1)
(+.f64 (*.f64 d1 -1) (-.f64 d4 d3))
(+.f64 d4 (-.f64 (neg.f64 d1) d3))
(-.f64 (+.f64 (*.f64 -1 d3) d4) d1)
(+.f64 (*.f64 d1 -1) (-.f64 d4 d3))
(+.f64 d4 (-.f64 (neg.f64 d1) d3))
(-.f64 (+.f64 (*.f64 -1 d3) d4) d1)
(+.f64 (*.f64 d1 -1) (-.f64 d4 d3))
(+.f64 d4 (-.f64 (neg.f64 d1) 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 2)) (*.f64 (-.f64 d4 (+.f64 d1 d3)) (/.f64 d1 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 d4 (+.f64 d1 d3)) 4)) 4)
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(/.f64 (*.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 8) 8)
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 8)) 16)
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 8))) 32)
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) 8)))) 64)
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(+.f64 d4 (neg.f64 (+.f64 d1 d3)))
(+.f64 d4 (neg.f64 (+.f64 d3 d1)))
(+.f64 (-.f64 d4 (+.f64 d1 d3)) 0)
(-.f64 d4 (+.f64 d3 d1))
(+.f64 0 (-.f64 d4 (+.f64 d1 d3)))
(-.f64 d4 (+.f64 d3 d1))
(+.f64 (neg.f64 (+.f64 d1 d3)) d4)
(+.f64 d4 (neg.f64 (+.f64 d3 d1)))
(+.f64 -1 (+.f64 (-.f64 d4 (+.f64 d1 d3)) 1))
(-.f64 d4 (+.f64 d3 d1))
(+.f64 (+.f64 (-.f64 d4 (+.f64 d1 d3)) 1) -1)
(-.f64 d4 (+.f64 d3 d1))
(+.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 1/2) (*.f64 (-.f64 d4 (+.f64 d1 d3)) 1/2))
(-.f64 d4 (+.f64 d3 d1))
(+.f64 -2 (-.f64 1 (+.f64 d1 (+.f64 (-.f64 d3 d4) -1))))
(+.f64 -2 (-.f64 1 (+.f64 (-.f64 d3 d4) (+.f64 -1 d1))))
(+.f64 -2 (-.f64 1 (+.f64 d1 (+.f64 -1 (-.f64 d3 d4)))))
(+.f64 -2 (-.f64 1 (+.f64 -1 (+.f64 d1 (-.f64 d3 d4)))))
(+.f64 -2 (-.f64 1 (+.f64 d1 (+.f64 d3 (-.f64 -1 d4)))))
(*.f64 (-.f64 d4 (+.f64 d1 d3)) 1)
(-.f64 d4 (+.f64 d3 d1))
(*.f64 1 (-.f64 d4 (+.f64 d1 d3)))
(-.f64 d4 (+.f64 d3 d1))
(*.f64 2 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 1/2))
(-.f64 d4 (+.f64 d3 d1))
(*.f64 2 (-.f64 (*.f64 d4 1/2) (*.f64 (+.f64 d1 d3) 1/2)))
(-.f64 d4 (+.f64 d3 d1))
(*.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 2) 1/2)
(-.f64 d4 (+.f64 d3 d1))
(*.f64 (+.f64 d1 (-.f64 d3 d4)) -1)
(neg.f64 (+.f64 d1 (-.f64 d3 d4)))
(*.f64 4 (/.f64 (-.f64 d4 (+.f64 d1 d3)) 4))
(-.f64 d4 (+.f64 d3 d1))
(*.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 4) 1/4)
(-.f64 d4 (+.f64 d3 d1))
(*.f64 -1 (+.f64 d1 (-.f64 d3 d4)))
(neg.f64 (+.f64 d1 (-.f64 d3 d4)))
(*.f64 1/2 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 2))
(-.f64 d4 (+.f64 d3 d1))
(*.f64 1/2 (-.f64 (+.f64 d4 d4) (*.f64 (+.f64 d1 d3) 2)))
(*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d3 d1)))))
(*.f64 1/2 (-.f64 (+.f64 d4 d4) (*.f64 2 (+.f64 d3 d1))))
(*.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 1/2) 2)
(-.f64 d4 (+.f64 d3 d1))
(*.f64 1/4 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 4))
(-.f64 d4 (+.f64 d3 d1))
(*.f64 (/.f64 (-.f64 d4 (+.f64 d1 d3)) 4) 4)
(-.f64 d4 (+.f64 d3 d1))
(/.f64 (-.f64 d4 (+.f64 d1 d3)) 1)
(-.f64 d4 (+.f64 d3 d1))
(/.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 2) 2)
(-.f64 d4 (+.f64 d3 d1))
(/.f64 (+.f64 d1 (-.f64 d3 d4)) -1)
(neg.f64 (+.f64 d1 (-.f64 d3 d4)))
(/.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 4) 4)
(-.f64 d4 (+.f64 d3 d1))
(/.f64 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 8) 8)
(-.f64 d4 (+.f64 d3 d1))
(/.f64 (*.f64 2 (+.f64 d1 (-.f64 d3 d4))) -2)
(neg.f64 (+.f64 d1 (-.f64 d3 d4)))
(/.f64 (*.f64 (+.f64 d1 (-.f64 d3 d4)) 4) -4)
(neg.f64 (+.f64 d1 (-.f64 d3 d4)))
(/.f64 (*.f64 2 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 8)) 16)
(-.f64 d4 (+.f64 d3 d1))
(/.f64 (neg.f64 (*.f64 2 (+.f64 d1 (-.f64 d3 d4)))) 2)
(neg.f64 (+.f64 d1 (-.f64 d3 d4)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 8))) 32)
(-.f64 d4 (+.f64 d3 d1))
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 d1 (-.f64 d3 d4))))) 4)
(neg.f64 (+.f64 d1 (-.f64 d3 d4)))
(/.f64 (*.f64 2 (*.f64 (+.f64 d1 (-.f64 d3 d4)) 4)) -8)
(neg.f64 (+.f64 d1 (-.f64 d3 d4)))
(/.f64 (neg.f64 (*.f64 (+.f64 d1 (-.f64 d3 d4)) 4)) 4)
(neg.f64 (+.f64 d1 (-.f64 d3 d4)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 8))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 d4 (+.f64 d1 d3)) 8)))) 64)
(-.f64 d4 (+.f64 d3 d1))
(/.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 d1 (-.f64 d3 d4))))) (*.f64 2 (neg.f64 (*.f64 2 (+.f64 d1 (-.f64 d3 d4)))))) 8)
(neg.f64 (+.f64 d1 (-.f64 d3 d4)))
(/.f64 (+.f64 (neg.f64 (*.f64 (+.f64 d1 (-.f64 d3 d4)) 4)) (neg.f64 (*.f64 (+.f64 d1 (-.f64 d3 d4)) 4))) 8)
(neg.f64 (+.f64 d1 (-.f64 d3 d4)))
(neg.f64 (+.f64 d1 (-.f64 d3 d4)))

localize8.0ms (0%)

Local error

Found 2 expressions with local error:

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

Compiled 22 to 7 computations (68.2% saved)

series3.0ms (0%)

Counts
2 → 72
Calls

18 calls:

TimeVariablePointExpression
0.0ms
d1
@-inf
(*.f64 (-.f64 d2 (+.f64 d1 d3)) d1)
0.0ms
d2
@-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
@0
(*.f64 (-.f64 d2 (+.f64 d1 d3)) d1)

rewrite105.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1490×rational.json-simplify-35
1422×bool.json-1
1422×bool.json-2
1380×rational.json-1
1380×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0832
17932
221732
347432
4102132
5231332
6505732
Stop Event
node limit
Counts
2 → 50
Calls
Call 1
Inputs
(*.f64 (-.f64 d2 (+.f64 d1 d3)) d1)
(-.f64 d2 (+.f64 d1 d3))
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 d2 (+.f64 d1 d3)) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 d1 (-.f64 d2 (+.f64 d1 d3)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 d2 (neg.f64 (+.f64 d1 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 d2 (+.f64 d1 d3)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 d2 (+.f64 d1 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (+.f64 d1 d3)) d2)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (-.f64 d2 (+.f64 d1 d3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (-.f64 d2 (+.f64 d1 d3)) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 1/2) (*.f64 (-.f64 d2 (+.f64 d1 d3)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -2 (-.f64 1 (+.f64 d1 (+.f64 (-.f64 d3 d2) -1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 d2 (+.f64 d1 d3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 d2 (+.f64 d1 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (*.f64 d2 1/2) (*.f64 (+.f64 d1 d3) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 (-.f64 d3 d2)) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 d2 (+.f64 d1 d3)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 4) 1/4)))) (#(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 (-.f64 d2 (+.f64 d1 d3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (+.f64 d2 d2) (*.f64 (+.f64 d1 d3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 1/2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 d2 (+.f64 d1 d3)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 d2 (+.f64 d1 d3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 2) 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 d2 (+.f64 d1 d3)) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 d1 (-.f64 d3 d2))) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 d1 (-.f64 d3 d2)) 4) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (+.f64 d1 (-.f64 d3 d2)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 d1 (-.f64 d3 d2))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 d1 (-.f64 d3 d2)) 4)) -8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 (+.f64 d1 (-.f64 d3 d2)) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 8))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 d1 (-.f64 d3 d2))))) (*.f64 2 (neg.f64 (*.f64 2 (+.f64 d1 (-.f64 d3 d2)))))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 (+.f64 d1 (-.f64 d3 d2)) 4)) (neg.f64 (*.f64 (+.f64 d1 (-.f64 d3 d2)) 4))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (+.f64 d1 (-.f64 d3 d2)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (-.f64 d2 (+.f64 d1 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x and (-.f64 d2 (+.f64 d1 d3)) (-.f64 d2 (+.f64 d1 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x or (-.f64 d2 (+.f64 d1 d3)) (-.f64 d2 (+.f64 d1 d3)))))))

simplify235.0ms (0.9%)

Algorithm
egg-herbie
Rules
2942×rational.json-simplify-2
1834×rational.json-simplify-35
1224×rational.json-simplify-48
1020×rational.json-simplify-1
958×rational.json-simplify-51
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01332306
12892144
26682090
319752090
440842090
548592090
654332090
762762090
869062090
975792090
Stop Event
node limit
Counts
122 → 95
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 -1 (+.f64 d1 d3))
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d2)
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d2)
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d2)
d2
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d2)
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d2)
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d2)
d2
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d2)
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d2)
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d2)
(-.f64 d2 d3)
(-.f64 (+.f64 d2 (*.f64 -1 d1)) d3)
(-.f64 (+.f64 d2 (*.f64 -1 d1)) d3)
(-.f64 (+.f64 d2 (*.f64 -1 d1)) d3)
(*.f64 -1 d1)
(-.f64 (+.f64 d2 (*.f64 -1 d1)) d3)
(-.f64 (+.f64 d2 (*.f64 -1 d1)) d3)
(-.f64 (+.f64 d2 (*.f64 -1 d1)) d3)
(*.f64 -1 d1)
(-.f64 (+.f64 d2 (*.f64 -1 d1)) d3)
(-.f64 (+.f64 d2 (*.f64 -1 d1)) d3)
(-.f64 (+.f64 d2 (*.f64 -1 d1)) d3)
(-.f64 d2 d1)
(-.f64 (+.f64 d2 (*.f64 -1 d3)) d1)
(-.f64 (+.f64 d2 (*.f64 -1 d3)) d1)
(-.f64 (+.f64 d2 (*.f64 -1 d3)) d1)
(*.f64 -1 d3)
(-.f64 (+.f64 d2 (*.f64 -1 d3)) d1)
(-.f64 (+.f64 d2 (*.f64 -1 d3)) d1)
(-.f64 (+.f64 d2 (*.f64 -1 d3)) d1)
(*.f64 -1 d3)
(-.f64 (+.f64 d2 (*.f64 -1 d3)) d1)
(-.f64 (+.f64 d2 (*.f64 -1 d3)) d1)
(-.f64 (+.f64 d2 (*.f64 -1 d3)) 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 d2 (+.f64 d1 d3)) 4)) 4)
(/.f64 (*.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) 8)))) 64)
(+.f64 d2 (neg.f64 (+.f64 d1 d3)))
(+.f64 (-.f64 d2 (+.f64 d1 d3)) 0)
(+.f64 0 (-.f64 d2 (+.f64 d1 d3)))
(+.f64 (neg.f64 (+.f64 d1 d3)) d2)
(+.f64 -1 (+.f64 (-.f64 d2 (+.f64 d1 d3)) 1))
(+.f64 (+.f64 (-.f64 d2 (+.f64 d1 d3)) 1) -1)
(+.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 1/2) (*.f64 (-.f64 d2 (+.f64 d1 d3)) 1/2))
(+.f64 -2 (-.f64 1 (+.f64 d1 (+.f64 (-.f64 d3 d2) -1))))
(*.f64 (-.f64 d2 (+.f64 d1 d3)) 1)
(*.f64 1 (-.f64 d2 (+.f64 d1 d3)))
(*.f64 2 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 1/2))
(*.f64 2 (-.f64 (*.f64 d2 1/2) (*.f64 (+.f64 d1 d3) 1/2)))
(*.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 2) 1/2)
(*.f64 (+.f64 d1 (-.f64 d3 d2)) -1)
(*.f64 4 (/.f64 (-.f64 d2 (+.f64 d1 d3)) 4))
(*.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 4) 1/4)
(*.f64 -1 (+.f64 d1 (-.f64 d3 d2)))
(*.f64 1/2 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 2))
(*.f64 1/2 (-.f64 (+.f64 d2 d2) (*.f64 (+.f64 d1 d3) 2)))
(*.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 1/2) 2)
(*.f64 1/4 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 4))
(*.f64 (/.f64 (-.f64 d2 (+.f64 d1 d3)) 4) 4)
(/.f64 (-.f64 d2 (+.f64 d1 d3)) 1)
(/.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 2) 2)
(/.f64 (+.f64 d1 (-.f64 d3 d2)) -1)
(/.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 4) 4)
(/.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 8) 8)
(/.f64 (*.f64 2 (+.f64 d1 (-.f64 d3 d2))) -2)
(/.f64 (*.f64 (+.f64 d1 (-.f64 d3 d2)) 4) -4)
(/.f64 (*.f64 2 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 8)) 16)
(/.f64 (neg.f64 (*.f64 2 (+.f64 d1 (-.f64 d3 d2)))) 2)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 8))) 32)
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 d1 (-.f64 d3 d2))))) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 d1 (-.f64 d3 d2)) 4)) -8)
(/.f64 (neg.f64 (*.f64 (+.f64 d1 (-.f64 d3 d2)) 4)) 4)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 8))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 8)))) 64)
(/.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 d1 (-.f64 d3 d2))))) (*.f64 2 (neg.f64 (*.f64 2 (+.f64 d1 (-.f64 d3 d2)))))) 8)
(/.f64 (+.f64 (neg.f64 (*.f64 (+.f64 d1 (-.f64 d3 d2)) 4)) (neg.f64 (*.f64 (+.f64 d1 (-.f64 d3 d2)) 4))) 8)
(neg.f64 (+.f64 d1 (-.f64 d3 d2)))
Outputs
(*.f64 -1 (*.f64 (+.f64 d1 d3) d1))
(*.f64 (+.f64 d1 d3) (*.f64 -1 d1))
(*.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 (+.f64 d1 d3) (*.f64 -1 d1)) (*.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 (+.f64 d1 d3) (*.f64 -1 d1)) (*.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 (+.f64 d1 d3) (*.f64 -1 d1)) (*.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 (+.f64 d1 d3) (*.f64 -1 d1)) (*.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 (+.f64 d1 d3) (*.f64 -1 d1)) (*.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 (+.f64 d1 d3) (*.f64 -1 d1)) (*.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 (+.f64 d1 d3) (*.f64 -1 d1)) (*.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 (+.f64 d1 d3) (*.f64 -1 d1)) (*.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 (+.f64 d1 d3) (*.f64 -1 d1)) (*.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 d2 (-.f64 (neg.f64 d3) 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 d2 (-.f64 (neg.f64 d3) 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 d2 (-.f64 (neg.f64 d3) d1)))
(*.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 d2 (-.f64 (neg.f64 d3) 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 d2 (-.f64 (neg.f64 d3) 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 d2 (-.f64 (neg.f64 d3) d1)))
(*.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 d2 (-.f64 (neg.f64 d3) 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 d2 (-.f64 (neg.f64 d3) 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 d2 (-.f64 (neg.f64 d3) d1)))
(*.f64 -1 (+.f64 d1 d3))
(neg.f64 (+.f64 d1 d3))
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d2)
(+.f64 d2 (neg.f64 (+.f64 d1 d3)))
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d2)
(+.f64 d2 (neg.f64 (+.f64 d1 d3)))
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d2)
(+.f64 d2 (neg.f64 (+.f64 d1 d3)))
d2
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d2)
(+.f64 d2 (neg.f64 (+.f64 d1 d3)))
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d2)
(+.f64 d2 (neg.f64 (+.f64 d1 d3)))
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d2)
(+.f64 d2 (neg.f64 (+.f64 d1 d3)))
d2
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d2)
(+.f64 d2 (neg.f64 (+.f64 d1 d3)))
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d2)
(+.f64 d2 (neg.f64 (+.f64 d1 d3)))
(+.f64 (*.f64 -1 (+.f64 d1 d3)) d2)
(+.f64 d2 (neg.f64 (+.f64 d1 d3)))
(-.f64 d2 d3)
(-.f64 (+.f64 d2 (*.f64 -1 d1)) d3)
(+.f64 (*.f64 -1 d1) (-.f64 d2 d3))
(+.f64 (-.f64 d2 d3) (neg.f64 d1))
(+.f64 d2 (-.f64 (neg.f64 d3) d1))
(-.f64 (+.f64 d2 (*.f64 -1 d1)) d3)
(+.f64 (*.f64 -1 d1) (-.f64 d2 d3))
(+.f64 (-.f64 d2 d3) (neg.f64 d1))
(+.f64 d2 (-.f64 (neg.f64 d3) d1))
(-.f64 (+.f64 d2 (*.f64 -1 d1)) d3)
(+.f64 (*.f64 -1 d1) (-.f64 d2 d3))
(+.f64 (-.f64 d2 d3) (neg.f64 d1))
(+.f64 d2 (-.f64 (neg.f64 d3) d1))
(*.f64 -1 d1)
(neg.f64 d1)
(-.f64 (+.f64 d2 (*.f64 -1 d1)) d3)
(+.f64 (*.f64 -1 d1) (-.f64 d2 d3))
(+.f64 (-.f64 d2 d3) (neg.f64 d1))
(+.f64 d2 (-.f64 (neg.f64 d3) d1))
(-.f64 (+.f64 d2 (*.f64 -1 d1)) d3)
(+.f64 (*.f64 -1 d1) (-.f64 d2 d3))
(+.f64 (-.f64 d2 d3) (neg.f64 d1))
(+.f64 d2 (-.f64 (neg.f64 d3) d1))
(-.f64 (+.f64 d2 (*.f64 -1 d1)) d3)
(+.f64 (*.f64 -1 d1) (-.f64 d2 d3))
(+.f64 (-.f64 d2 d3) (neg.f64 d1))
(+.f64 d2 (-.f64 (neg.f64 d3) d1))
(*.f64 -1 d1)
(neg.f64 d1)
(-.f64 (+.f64 d2 (*.f64 -1 d1)) d3)
(+.f64 (*.f64 -1 d1) (-.f64 d2 d3))
(+.f64 (-.f64 d2 d3) (neg.f64 d1))
(+.f64 d2 (-.f64 (neg.f64 d3) d1))
(-.f64 (+.f64 d2 (*.f64 -1 d1)) d3)
(+.f64 (*.f64 -1 d1) (-.f64 d2 d3))
(+.f64 (-.f64 d2 d3) (neg.f64 d1))
(+.f64 d2 (-.f64 (neg.f64 d3) d1))
(-.f64 (+.f64 d2 (*.f64 -1 d1)) d3)
(+.f64 (*.f64 -1 d1) (-.f64 d2 d3))
(+.f64 (-.f64 d2 d3) (neg.f64 d1))
(+.f64 d2 (-.f64 (neg.f64 d3) d1))
(-.f64 d2 d1)
(-.f64 (+.f64 d2 (*.f64 -1 d3)) d1)
(+.f64 (*.f64 -1 d1) (-.f64 d2 d3))
(+.f64 (-.f64 d2 d3) (neg.f64 d1))
(+.f64 d2 (-.f64 (neg.f64 d3) d1))
(-.f64 (+.f64 d2 (*.f64 -1 d3)) d1)
(+.f64 (*.f64 -1 d1) (-.f64 d2 d3))
(+.f64 (-.f64 d2 d3) (neg.f64 d1))
(+.f64 d2 (-.f64 (neg.f64 d3) d1))
(-.f64 (+.f64 d2 (*.f64 -1 d3)) d1)
(+.f64 (*.f64 -1 d1) (-.f64 d2 d3))
(+.f64 (-.f64 d2 d3) (neg.f64 d1))
(+.f64 d2 (-.f64 (neg.f64 d3) d1))
(*.f64 -1 d3)
(neg.f64 d3)
(-.f64 (+.f64 d2 (*.f64 -1 d3)) d1)
(+.f64 (*.f64 -1 d1) (-.f64 d2 d3))
(+.f64 (-.f64 d2 d3) (neg.f64 d1))
(+.f64 d2 (-.f64 (neg.f64 d3) d1))
(-.f64 (+.f64 d2 (*.f64 -1 d3)) d1)
(+.f64 (*.f64 -1 d1) (-.f64 d2 d3))
(+.f64 (-.f64 d2 d3) (neg.f64 d1))
(+.f64 d2 (-.f64 (neg.f64 d3) d1))
(-.f64 (+.f64 d2 (*.f64 -1 d3)) d1)
(+.f64 (*.f64 -1 d1) (-.f64 d2 d3))
(+.f64 (-.f64 d2 d3) (neg.f64 d1))
(+.f64 d2 (-.f64 (neg.f64 d3) d1))
(*.f64 -1 d3)
(neg.f64 d3)
(-.f64 (+.f64 d2 (*.f64 -1 d3)) d1)
(+.f64 (*.f64 -1 d1) (-.f64 d2 d3))
(+.f64 (-.f64 d2 d3) (neg.f64 d1))
(+.f64 d2 (-.f64 (neg.f64 d3) d1))
(-.f64 (+.f64 d2 (*.f64 -1 d3)) d1)
(+.f64 (*.f64 -1 d1) (-.f64 d2 d3))
(+.f64 (-.f64 d2 d3) (neg.f64 d1))
(+.f64 d2 (-.f64 (neg.f64 d3) d1))
(-.f64 (+.f64 d2 (*.f64 -1 d3)) d1)
(+.f64 (*.f64 -1 d1) (-.f64 d2 d3))
(+.f64 (-.f64 d2 d3) (neg.f64 d1))
(+.f64 d2 (-.f64 (neg.f64 d3) d1))
(+.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 d2 (+.f64 d1 d3)) 4)) 4)
(*.f64 d1 (-.f64 d2 (+.f64 d1 d3)))
(/.f64 (*.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) 8) 8)
(*.f64 d1 (-.f64 d2 (+.f64 d1 d3)))
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) 8)) 16)
(*.f64 d1 (-.f64 d2 (+.f64 d1 d3)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) 8))) 32)
(*.f64 d1 (-.f64 d2 (+.f64 d1 d3)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) 8)))) 64)
(*.f64 d1 (-.f64 d2 (+.f64 d1 d3)))
(+.f64 d2 (neg.f64 (+.f64 d1 d3)))
(+.f64 (-.f64 d2 (+.f64 d1 d3)) 0)
(-.f64 d2 (+.f64 d1 d3))
(+.f64 0 (-.f64 d2 (+.f64 d1 d3)))
(-.f64 d2 (+.f64 d1 d3))
(+.f64 (neg.f64 (+.f64 d1 d3)) d2)
(+.f64 d2 (neg.f64 (+.f64 d1 d3)))
(+.f64 -1 (+.f64 (-.f64 d2 (+.f64 d1 d3)) 1))
(-.f64 d2 (+.f64 d1 d3))
(+.f64 (+.f64 (-.f64 d2 (+.f64 d1 d3)) 1) -1)
(-.f64 d2 (+.f64 d1 d3))
(+.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 1/2) (*.f64 (-.f64 d2 (+.f64 d1 d3)) 1/2))
(-.f64 d2 (+.f64 d1 d3))
(+.f64 -2 (-.f64 1 (+.f64 d1 (+.f64 (-.f64 d3 d2) -1))))
(+.f64 -2 (-.f64 1 (+.f64 (-.f64 d3 d2) (+.f64 -1 d1))))
(+.f64 -2 (-.f64 1 (+.f64 -1 (+.f64 d1 (-.f64 d3 d2)))))
(+.f64 -2 (-.f64 1 (+.f64 d1 (+.f64 d3 (-.f64 -1 d2)))))
(*.f64 (-.f64 d2 (+.f64 d1 d3)) 1)
(-.f64 d2 (+.f64 d1 d3))
(*.f64 1 (-.f64 d2 (+.f64 d1 d3)))
(-.f64 d2 (+.f64 d1 d3))
(*.f64 2 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 1/2))
(-.f64 d2 (+.f64 d1 d3))
(*.f64 2 (-.f64 (*.f64 d2 1/2) (*.f64 (+.f64 d1 d3) 1/2)))
(-.f64 d2 (+.f64 d1 d3))
(*.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 2) 1/2)
(-.f64 d2 (+.f64 d1 d3))
(*.f64 (+.f64 d1 (-.f64 d3 d2)) -1)
(neg.f64 (+.f64 d1 (-.f64 d3 d2)))
(*.f64 4 (/.f64 (-.f64 d2 (+.f64 d1 d3)) 4))
(-.f64 d2 (+.f64 d1 d3))
(*.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 4) 1/4)
(-.f64 d2 (+.f64 d1 d3))
(*.f64 -1 (+.f64 d1 (-.f64 d3 d2)))
(neg.f64 (+.f64 d1 (-.f64 d3 d2)))
(*.f64 1/2 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 2))
(-.f64 d2 (+.f64 d1 d3))
(*.f64 1/2 (-.f64 (+.f64 d2 d2) (*.f64 (+.f64 d1 d3) 2)))
(*.f64 1/2 (+.f64 d2 (-.f64 d2 (*.f64 (+.f64 d1 d3) 2))))
(*.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 1/2) 2)
(-.f64 d2 (+.f64 d1 d3))
(*.f64 1/4 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 4))
(-.f64 d2 (+.f64 d1 d3))
(*.f64 (/.f64 (-.f64 d2 (+.f64 d1 d3)) 4) 4)
(-.f64 d2 (+.f64 d1 d3))
(/.f64 (-.f64 d2 (+.f64 d1 d3)) 1)
(-.f64 d2 (+.f64 d1 d3))
(/.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 2) 2)
(-.f64 d2 (+.f64 d1 d3))
(/.f64 (+.f64 d1 (-.f64 d3 d2)) -1)
(neg.f64 (+.f64 d1 (-.f64 d3 d2)))
(/.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 4) 4)
(-.f64 d2 (+.f64 d1 d3))
(/.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 8) 8)
(-.f64 d2 (+.f64 d1 d3))
(/.f64 (*.f64 2 (+.f64 d1 (-.f64 d3 d2))) -2)
(neg.f64 (+.f64 d1 (-.f64 d3 d2)))
(/.f64 (*.f64 (+.f64 d1 (-.f64 d3 d2)) 4) -4)
(neg.f64 (+.f64 d1 (-.f64 d3 d2)))
(/.f64 (*.f64 2 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 8)) 16)
(-.f64 d2 (+.f64 d1 d3))
(/.f64 (neg.f64 (*.f64 2 (+.f64 d1 (-.f64 d3 d2)))) 2)
(neg.f64 (+.f64 d1 (-.f64 d3 d2)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 8))) 32)
(-.f64 d2 (+.f64 d1 d3))
(/.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 d1 (-.f64 d3 d2))))) 4)
(neg.f64 (+.f64 d1 (-.f64 d3 d2)))
(/.f64 (*.f64 2 (*.f64 (+.f64 d1 (-.f64 d3 d2)) 4)) -8)
(neg.f64 (+.f64 d1 (-.f64 d3 d2)))
(/.f64 (neg.f64 (*.f64 (+.f64 d1 (-.f64 d3 d2)) 4)) 4)
(neg.f64 (+.f64 d1 (-.f64 d3 d2)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 8))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 d2 (+.f64 d1 d3)) 8)))) 64)
(-.f64 d2 (+.f64 d1 d3))
(/.f64 (+.f64 (*.f64 2 (neg.f64 (*.f64 2 (+.f64 d1 (-.f64 d3 d2))))) (*.f64 2 (neg.f64 (*.f64 2 (+.f64 d1 (-.f64 d3 d2)))))) 8)
(neg.f64 (+.f64 d1 (-.f64 d3 d2)))
(/.f64 (+.f64 (neg.f64 (*.f64 (+.f64 d1 (-.f64 d3 d2)) 4)) (neg.f64 (*.f64 (+.f64 d1 (-.f64 d3 d2)) 4))) 8)
(neg.f64 (+.f64 d1 (-.f64 d3 d2)))
(neg.f64 (+.f64 d1 (-.f64 d3 d2)))

eval34.0ms (0.1%)

Compiler

Compiled 2193 to 898 computations (59.1% saved)

prune82.0ms (0.3%)

Pruning

16 alts after pruning (11 fresh and 5 done)

PrunedKeptTotal
New2179226
Fresh325
Picked011
Done044
Total22016236
Error
0.0b
Counts
236 → 16
Alt Table
Click to see full alt table
StatusErrorProgram
7.5b
(+.f64 (*.f64 d2 d1) (*.f64 (-.f64 d4 d3) d1))
26.0b
(*.f64 (-.f64 d4 d3) d1)
18.5b
(*.f64 (-.f64 d2 (+.f64 d1 d3)) d1)
25.6b
(*.f64 (-.f64 d2 d3) d1)
37.0b
(*.f64 (-.f64 d2 d1) d1)
36.5b
(*.f64 (+.f64 d3 d1) (neg.f64 d1))
43.3b
(*.f64 (neg.f64 d3) d1)
43.7b
(*.f64 d2 d1)
18.9b
(*.f64 d1 (-.f64 (+.f64 d2 d4) d1))
18.8b
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
36.8b
(*.f64 d1 (-.f64 d4 d1))
7.6b
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
25.7b
(*.f64 d1 (+.f64 d2 d4))
18.9b
(*.f64 d1 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d3 d1))))))
54.3b
(*.f64 d1 (neg.f64 d1))
43.5b
(*.f64 d1 d4)
Compiler

Compiled 270 to 182 computations (32.6% saved)

localize76.0ms (0.3%)

Local error

Found 2 expressions with local error:

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

Compiled 28 to 8 computations (71.4% saved)

series4.0ms (0%)

Counts
2 → 72
Calls

21 calls:

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

rewrite87.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
1728×bool.json-1
1728×bool.json-2
1686×rational.json-1
1686×rational.json-2
1148×bool.json-3
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01038
19832
226032
356932
4119832
5274732
6609732
Stop Event
node limit
Counts
2 → 43
Calls
Call 1
Inputs
(+.f64 (*.f64 d2 d1) (*.f64 (-.f64 d4 d3) d1))
(*.f64 (-.f64 d4 d3) d1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 d1 (+.f64 d2 (-.f64 d4 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 d1 (/.f64 (+.f64 d2 (-.f64 d4 d3)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 d1 (*.f64 (-.f64 d4 d3) 1/2)) (*.f64 d2 (*.f64 d1 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (+.f64 (*.f64 d2 (*.f64 d1 1/2)) (*.f64 d1 (*.f64 (-.f64 d4 d3) 1/2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 d1 d1) (+.f64 d2 (-.f64 d4 d3))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (*.f64 (+.f64 d2 (-.f64 d4 d3)) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (/.f64 (+.f64 d2 (-.f64 d4 d3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (+.f64 (*.f64 (-.f64 d4 d3) 1/2) (*.f64 d2 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d1 d1) (+.f64 (*.f64 d2 1/2) (*.f64 (-.f64 d4 d3) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d2 (-.f64 d4 d3)) d1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 d2 (-.f64 d4 d3)) (*.f64 d1 4)) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 (+.f64 d1 d1) (+.f64 d2 (-.f64 d4 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 (*.f64 d1 (-.f64 d4 d3)) 2) (*.f64 d1 (+.f64 d2 d2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (+.f64 (*.f64 d1 (+.f64 d2 d2)) (*.f64 (*.f64 d1 (-.f64 d4 d3)) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 d2 (-.f64 d4 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 1/2) (+.f64 (*.f64 (-.f64 d4 d3) 2) (+.f64 d2 d2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 1/2) (+.f64 (+.f64 d2 d2) (*.f64 (-.f64 d4 d3) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (/.f64 (+.f64 d2 (-.f64 d4 d3)) 2)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 d2 (-.f64 d4 d3)) 1/2) (+.f64 d1 d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 d2 (-.f64 d4 d3)) (*.f64 d1 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (+.f64 d2 (-.f64 d4 d3)) 2) (+.f64 d1 d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 d1 d1) (+.f64 d2 (-.f64 d4 d3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 d2 (-.f64 d4 d3)) (*.f64 d1 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 8)) (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))))))
((#(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 d1 (*.f64 (-.f64 d4 d3) 1/2)) (*.f64 d1 (*.f64 (-.f64 d4 d3) 1/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 (*.f64 d1 (-.f64 d4 d3)) 2) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 (-.f64 d4 d3) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 (-.f64 d4 d3)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d4 d3)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d4 d3)) 8)) (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d4 d3)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 d1 (-.f64 d4 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 (-.f64 d4 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 (-.f64 d4 d3)))))))

simplify299.0ms (1.1%)

Algorithm
egg-herbie
Rules
2134×rational.json-simplify-2
1960×rational.json-simplify-35
1378×rational.json-simplify-53
836×rational.json-simplify-48
826×rational.json-simplify-51
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01152653
12382131
24972023
315402023
432922023
539862023
643732023
745342023
846852023
948412023
1055892023
1160142023
1267352023
1375642023
Stop Event
node limit
Counts
115 → 69
Calls
Call 1
Inputs
(*.f64 d1 (-.f64 d4 d3))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d3)))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d3)))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d3)))
(*.f64 d2 d1)
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d3)))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d3)))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d3)))
(*.f64 d2 d1)
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d3)))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d3)))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 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 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 -1 (*.f64 d1 (+.f64 (*.f64 -1 (-.f64 d4 d3)) (*.f64 -1 d2))))
(*.f64 -1 (*.f64 d1 (+.f64 (*.f64 -1 (-.f64 d4 d3)) (*.f64 -1 d2))))
(*.f64 -1 (*.f64 d1 (+.f64 (*.f64 -1 (-.f64 d4 d3)) (*.f64 -1 d2))))
(*.f64 -1 (*.f64 d1 (+.f64 (*.f64 -1 (-.f64 d4 d3)) (*.f64 -1 d2))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.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 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(*.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 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 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 d2 (-.f64 d4 d3))) 0)
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 1)
(*.f64 1 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(*.f64 2 (*.f64 d1 (/.f64 (+.f64 d2 (-.f64 d4 d3)) 2)))
(*.f64 2 (+.f64 (*.f64 d1 (*.f64 (-.f64 d4 d3) 1/2)) (*.f64 d2 (*.f64 d1 1/2))))
(*.f64 2 (+.f64 (*.f64 d2 (*.f64 d1 1/2)) (*.f64 d1 (*.f64 (-.f64 d4 d3) 1/2))))
(*.f64 (*.f64 (+.f64 d1 d1) (+.f64 d2 (-.f64 d4 d3))) 1/2)
(*.f64 (+.f64 d1 d1) (*.f64 (+.f64 d2 (-.f64 d4 d3)) 1/2))
(*.f64 (+.f64 d1 d1) (/.f64 (+.f64 d2 (-.f64 d4 d3)) 2))
(*.f64 (+.f64 d1 d1) (+.f64 (*.f64 (-.f64 d4 d3) 1/2) (*.f64 d2 1/2)))
(*.f64 (+.f64 d1 d1) (+.f64 (*.f64 d2 1/2) (*.f64 (-.f64 d4 d3) 1/2)))
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 4 (/.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 4))
(*.f64 (*.f64 (+.f64 d2 (-.f64 d4 d3)) (*.f64 d1 4)) 1/4)
(*.f64 (*.f64 2 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 1/2))
(*.f64 1/2 (*.f64 (+.f64 d1 d1) (+.f64 d2 (-.f64 d4 d3))))
(*.f64 1/2 (+.f64 (*.f64 (*.f64 d1 (-.f64 d4 d3)) 2) (*.f64 d1 (+.f64 d2 d2))))
(*.f64 1/2 (+.f64 (*.f64 d1 (+.f64 d2 d2)) (*.f64 (*.f64 d1 (-.f64 d4 d3)) 2)))
(*.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 d2 (-.f64 d4 d3))))
(*.f64 (*.f64 d1 1/2) (+.f64 (*.f64 (-.f64 d4 d3) 2) (+.f64 d2 d2)))
(*.f64 (*.f64 d1 1/2) (+.f64 (+.f64 d2 d2) (*.f64 (-.f64 d4 d3) 2)))
(*.f64 (*.f64 d1 (/.f64 (+.f64 d2 (-.f64 d4 d3)) 2)) 2)
(*.f64 (*.f64 (+.f64 d2 (-.f64 d4 d3)) 1/2) (+.f64 d1 d1))
(*.f64 1/4 (*.f64 (+.f64 d2 (-.f64 d4 d3)) (*.f64 d1 4)))
(*.f64 (/.f64 (+.f64 d2 (-.f64 d4 d3)) 2) (+.f64 d1 d1))
(*.f64 (/.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 4) 4)
(/.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 1)
(/.f64 (*.f64 (+.f64 d1 d1) (+.f64 d2 (-.f64 d4 d3))) 2)
(/.f64 (*.f64 (+.f64 d2 (-.f64 d4 d3)) (*.f64 d1 4)) 4)
(/.f64 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 8)) (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 8))) 32)
(+.f64 (*.f64 d1 (-.f64 d4 d3)) 0)
(+.f64 0 (*.f64 d1 (-.f64 d4 d3)))
(+.f64 (*.f64 d1 (*.f64 (-.f64 d4 d3) 1/2)) (*.f64 d1 (*.f64 (-.f64 d4 d3) 1/2)))
(-.f64 (*.f64 d1 (-.f64 d4 d3)) 0)
(/.f64 (*.f64 d1 (-.f64 d4 d3)) 1)
(/.f64 (*.f64 (*.f64 d1 (-.f64 d4 d3)) 2) 2)
(/.f64 (*.f64 d1 (*.f64 (-.f64 d4 d3) 4)) 4)
(/.f64 (*.f64 (*.f64 d1 (-.f64 d4 d3)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d4 d3)) 8)) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d4 d3)) 8)) (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d4 d3)) 8))) 32)
Outputs
(*.f64 d1 (-.f64 d4 d3))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d3)))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d3)))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d3)))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d3)))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d3)))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d3)))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d3)))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d3)))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d3)))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 -1 (*.f64 d1 (+.f64 (*.f64 -1 (-.f64 d4 d3)) (*.f64 -1 d2))))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 -1 (*.f64 d1 (+.f64 (*.f64 -1 (-.f64 d4 d3)) (*.f64 -1 d2))))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 -1 (*.f64 d1 (+.f64 (*.f64 -1 (-.f64 d4 d3)) (*.f64 -1 d2))))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 -1 (*.f64 d1 (+.f64 (*.f64 -1 (-.f64 d4 d3)) (*.f64 -1 d2))))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d2 d1))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (*.f64 d3 -1)))
(*.f64 d1 (+.f64 d2 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (+.f64 d4 (neg.f64 d3))))
(*.f64 d1 (+.f64 (+.f64 d4 d2) (neg.f64 d3)))
(*.f64 d1 (+.f64 d4 (+.f64 d2 (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (+.f64 d4 (neg.f64 d3))))
(*.f64 d1 (+.f64 (+.f64 d4 d2) (neg.f64 d3)))
(*.f64 d1 (+.f64 d4 (+.f64 d2 (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (+.f64 d4 (neg.f64 d3))))
(*.f64 d1 (+.f64 (+.f64 d4 d2) (neg.f64 d3)))
(*.f64 d1 (+.f64 d4 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 d4)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (+.f64 d4 (neg.f64 d3))))
(*.f64 d1 (+.f64 (+.f64 d4 d2) (neg.f64 d3)))
(*.f64 d1 (+.f64 d4 (+.f64 d2 (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (+.f64 d4 (neg.f64 d3))))
(*.f64 d1 (+.f64 (+.f64 d4 d2) (neg.f64 d3)))
(*.f64 d1 (+.f64 d4 (+.f64 d2 (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (+.f64 d4 (neg.f64 d3))))
(*.f64 d1 (+.f64 (+.f64 d4 d2) (neg.f64 d3)))
(*.f64 d1 (+.f64 d4 (+.f64 d2 (neg.f64 d3))))
(*.f64 d1 d4)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (+.f64 d4 (neg.f64 d3))))
(*.f64 d1 (+.f64 (+.f64 d4 d2) (neg.f64 d3)))
(*.f64 d1 (+.f64 d4 (+.f64 d2 (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (+.f64 d4 (neg.f64 d3))))
(*.f64 d1 (+.f64 (+.f64 d4 d2) (neg.f64 d3)))
(*.f64 d1 (+.f64 d4 (+.f64 d2 (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (+.f64 d4 (neg.f64 d3))))
(*.f64 d1 (+.f64 (+.f64 d4 d2) (neg.f64 d3)))
(*.f64 d1 (+.f64 d4 (+.f64 d2 (neg.f64 d3))))
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 d2))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (+.f64 d4 (neg.f64 d3))))
(*.f64 d1 (+.f64 (+.f64 d4 d2) (neg.f64 d3)))
(*.f64 d1 (+.f64 d4 (+.f64 d2 (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (+.f64 d4 (neg.f64 d3))))
(*.f64 d1 (+.f64 (+.f64 d4 d2) (neg.f64 d3)))
(*.f64 d1 (+.f64 d4 (+.f64 d2 (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (+.f64 d4 (neg.f64 d3))))
(*.f64 d1 (+.f64 (+.f64 d4 d2) (neg.f64 d3)))
(*.f64 d1 (+.f64 d4 (+.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 (*.f64 d1 d4) (*.f64 d2 d1)))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (+.f64 d4 (neg.f64 d3))))
(*.f64 d1 (+.f64 (+.f64 d4 d2) (neg.f64 d3)))
(*.f64 d1 (+.f64 d4 (+.f64 d2 (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (+.f64 d4 (neg.f64 d3))))
(*.f64 d1 (+.f64 (+.f64 d4 d2) (neg.f64 d3)))
(*.f64 d1 (+.f64 d4 (+.f64 d2 (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (+.f64 d4 (neg.f64 d3))))
(*.f64 d1 (+.f64 (+.f64 d4 d2) (neg.f64 d3)))
(*.f64 d1 (+.f64 d4 (+.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 (*.f64 d1 d4) (*.f64 d2 d1)))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (+.f64 d4 (neg.f64 d3))))
(*.f64 d1 (+.f64 (+.f64 d4 d2) (neg.f64 d3)))
(*.f64 d1 (+.f64 d4 (+.f64 d2 (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (+.f64 d4 (neg.f64 d3))))
(*.f64 d1 (+.f64 (+.f64 d4 d2) (neg.f64 d3)))
(*.f64 d1 (+.f64 d4 (+.f64 d2 (neg.f64 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d1 d4) (*.f64 d2 d1)))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 (+.f64 d4 d2)))
(+.f64 (*.f64 d1 d2) (*.f64 d1 (+.f64 d4 (neg.f64 d3))))
(*.f64 d1 (+.f64 (+.f64 d4 d2) (neg.f64 d3)))
(*.f64 d1 (+.f64 d4 (+.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 d1 d4))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(*.f64 d1 d4)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(*.f64 d1 d4)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(*.f64 d1 d4)
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (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 d1 d4))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (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 d1 d4))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 d4))
(+.f64 (*.f64 d1 (*.f64 d3 -1)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 d3)))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 0)
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 1)
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 1 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 2 (*.f64 d1 (/.f64 (+.f64 d2 (-.f64 d4 d3)) 2)))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 2 (+.f64 (*.f64 d1 (*.f64 (-.f64 d4 d3) 1/2)) (*.f64 d2 (*.f64 d1 1/2))))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 2 (+.f64 (*.f64 d2 (*.f64 d1 1/2)) (*.f64 d1 (*.f64 (-.f64 d4 d3) 1/2))))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 (*.f64 (+.f64 d1 d1) (+.f64 d2 (-.f64 d4 d3))) 1/2)
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 (+.f64 d1 d1) (*.f64 (+.f64 d2 (-.f64 d4 d3)) 1/2))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 (+.f64 d1 d1) (/.f64 (+.f64 d2 (-.f64 d4 d3)) 2))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 (+.f64 d1 d1) (+.f64 (*.f64 (-.f64 d4 d3) 1/2) (*.f64 d2 1/2)))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 (+.f64 d1 d1) (+.f64 (*.f64 d2 1/2) (*.f64 (-.f64 d4 d3) 1/2)))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 4 (/.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 4))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 (*.f64 (+.f64 d2 (-.f64 d4 d3)) (*.f64 d1 4)) 1/4)
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 (*.f64 2 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 1/2))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 1/2 (*.f64 (+.f64 d1 d1) (+.f64 d2 (-.f64 d4 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 1/2 (+.f64 (*.f64 (*.f64 d1 (-.f64 d4 d3)) 2) (*.f64 d1 (+.f64 d2 d2))))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 1/2 (+.f64 (*.f64 d1 (+.f64 d2 d2)) (*.f64 (*.f64 d1 (-.f64 d4 d3)) 2)))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 (*.f64 d1 1/2) (*.f64 2 (+.f64 d2 (-.f64 d4 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 (*.f64 d1 1/2) (+.f64 (*.f64 (-.f64 d4 d3) 2) (+.f64 d2 d2)))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 (*.f64 d1 1/2) (+.f64 (+.f64 d2 d2) (*.f64 (-.f64 d4 d3) 2)))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 (*.f64 d1 (/.f64 (+.f64 d2 (-.f64 d4 d3)) 2)) 2)
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 (*.f64 (+.f64 d2 (-.f64 d4 d3)) 1/2) (+.f64 d1 d1))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 1/4 (*.f64 (+.f64 d2 (-.f64 d4 d3)) (*.f64 d1 4)))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 (/.f64 (+.f64 d2 (-.f64 d4 d3)) 2) (+.f64 d1 d1))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 (/.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 4) 4)
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(/.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 1)
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(/.f64 (*.f64 (+.f64 d1 d1) (+.f64 d2 (-.f64 d4 d3))) 2)
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(/.f64 (*.f64 (+.f64 d2 (-.f64 d4 d3)) (*.f64 d1 4)) 4)
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(/.f64 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 8) 8)
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 8)) 16)
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 8)) (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) 8))) 32)
(+.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d2))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(+.f64 (*.f64 d1 (-.f64 d4 d3)) 0)
(*.f64 d1 (-.f64 d4 d3))
(+.f64 0 (*.f64 d1 (-.f64 d4 d3)))
(*.f64 d1 (-.f64 d4 d3))
(+.f64 (*.f64 d1 (*.f64 (-.f64 d4 d3) 1/2)) (*.f64 d1 (*.f64 (-.f64 d4 d3) 1/2)))
(*.f64 d1 (-.f64 d4 d3))
(-.f64 (*.f64 d1 (-.f64 d4 d3)) 0)
(*.f64 d1 (-.f64 d4 d3))
(/.f64 (*.f64 d1 (-.f64 d4 d3)) 1)
(*.f64 d1 (-.f64 d4 d3))
(/.f64 (*.f64 (*.f64 d1 (-.f64 d4 d3)) 2) 2)
(*.f64 d1 (-.f64 d4 d3))
(/.f64 (*.f64 d1 (*.f64 (-.f64 d4 d3) 4)) 4)
(*.f64 d1 (-.f64 d4 d3))
(/.f64 (*.f64 (*.f64 d1 (-.f64 d4 d3)) 8) 8)
(*.f64 d1 (-.f64 d4 d3))
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d4 d3)) 8)) 16)
(*.f64 d1 (-.f64 d4 d3))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d4 d3)) 8)) (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d4 d3)) 8))) 32)
(*.f64 d1 (-.f64 d4 d3))

localize4.0ms (0%)

Compiler

Compiled 9 to 5 computations (44.4% saved)

localize5.0ms (0%)

Local error

Found 1 expressions with local error:

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

Compiled 15 to 6 computations (60% saved)

series2.0ms (0%)

Counts
1 → 24
Calls

9 calls:

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

rewrite97.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1638×bool.json-1
1638×bool.json-2
1606×rational.json-1
1606×rational.json-2
1606×rational.json-3
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
17013
219613
341713
486113
5188513
6389913
7640113
Stop Event
node limit
Counts
1 → 11
Calls
Call 1
Inputs
(*.f64 d1 (+.f64 d2 d4))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (+.f64 d2 d4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 d1 (+.f64 d2 d4)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (+.f64 d2 d4) (*.f64 d1 1/2)) (*.f64 (+.f64 d2 d4) (*.f64 d1 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (+.f64 d2 d4)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 d2 d4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 d2 d4) (+.f64 d1 d1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 (+.f64 d2 d4) 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 (+.f64 d2 d4)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 d4)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 d4)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 d4)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 d4)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 d1 (+.f64 d2 d4))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d2 d4)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d2 d4)))))))

simplify1.2s (4.5%)

Algorithm
egg-herbie
Rules
4576×rational.json-simplify-35
2586×rational.json-simplify-2
1210×rational.json-simplify-1
1062×rational.json-simplify-53
900×rational.json-simplify-41
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
041419
193419
2193419
3475419
41959419
53908419
64904419
75098419
85254419
95407419
105558419
115876419
125977419
136104419
146150419
156223419
166391419
176542419
186693419
196844419
206995419
217146419
227297419
237448419
247564419
257565419
267566419
277566419
287717419
297868419
Stop Event
node limit
Counts
35 → 17
Calls
Call 1
Inputs
(*.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 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 (*.f64 d1 (+.f64 d2 d4)) 0)
(+.f64 0 (*.f64 d1 (+.f64 d2 d4)))
(+.f64 (*.f64 (+.f64 d2 d4) (*.f64 d1 1/2)) (*.f64 (+.f64 d2 d4) (*.f64 d1 1/2)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) 0)
(/.f64 (*.f64 d1 (+.f64 d2 d4)) 1)
(/.f64 (*.f64 (+.f64 d2 d4) (+.f64 d1 d1)) 2)
(/.f64 (*.f64 d1 (*.f64 (+.f64 d2 d4) 4)) 4)
(/.f64 (*.f64 (*.f64 d1 (+.f64 d2 d4)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 d4)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 d4)) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 d4)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 d4)) 8)))) 64)
Outputs
(*.f64 d1 d4)
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 d2))
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 d2))
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 d2))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 d1 d4) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d4 d2))
(+.f64 (*.f64 d1 d4) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d4 d2))
(+.f64 (*.f64 d1 d4) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d4 d2))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 d1 d4) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d4 d2))
(+.f64 (*.f64 d1 d4) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d4 d2))
(+.f64 (*.f64 d1 d4) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d4 d2))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 d1 d4) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d4 d2))
(+.f64 (*.f64 d1 d4) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d4 d2))
(+.f64 (*.f64 d1 d4) (*.f64 d2 d1))
(*.f64 d1 (+.f64 d4 d2))
(*.f64 d1 d4)
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 d2))
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 d2))
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 d2))
(*.f64 d1 d4)
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 d2))
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 d2))
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 d2))
(+.f64 (*.f64 d1 (+.f64 d2 d4)) 0)
(*.f64 d1 (+.f64 d4 d2))
(+.f64 0 (*.f64 d1 (+.f64 d2 d4)))
(*.f64 d1 (+.f64 d4 d2))
(+.f64 (*.f64 (+.f64 d2 d4) (*.f64 d1 1/2)) (*.f64 (+.f64 d2 d4) (*.f64 d1 1/2)))
(*.f64 d1 (+.f64 d4 d2))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) 0)
(*.f64 d1 (+.f64 d4 d2))
(/.f64 (*.f64 d1 (+.f64 d2 d4)) 1)
(*.f64 d1 (+.f64 d4 d2))
(/.f64 (*.f64 (+.f64 d2 d4) (+.f64 d1 d1)) 2)
(*.f64 d1 (+.f64 d4 d2))
(/.f64 (*.f64 d1 (*.f64 (+.f64 d2 d4) 4)) 4)
(*.f64 d1 (+.f64 d4 d2))
(/.f64 (*.f64 (*.f64 d1 (+.f64 d2 d4)) 8) 8)
(*.f64 d1 (+.f64 d4 d2))
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 d4)) 8)) 16)
(*.f64 d1 (+.f64 d4 d2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 d4)) 8))) 32)
(*.f64 d1 (+.f64 d4 d2))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 d4)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (+.f64 d2 d4)) 8)))) 64)
(*.f64 d1 (+.f64 d4 d2))

localize5.0ms (0%)

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
d2
@-inf
(*.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
d1
@0
(*.f64 (-.f64 d2 d1) d1)

rewrite108.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
1234×bool.json-1
1234×bool.json-2
1192×rational.json-1
1192×rational.json-2
1192×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0613
16013
217813
339313
480813
5178113
6409913
7799313
Stop Event
node limit
Counts
1 → 11
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 (*.f64 d1 (*.f64 (-.f64 d2 d1) 1/2)) (*.f64 d1 (*.f64 (-.f64 d2 d1) 1/2)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (-.f64 d2 d1)) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (-.f64 d2 d1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 d2 d1) (+.f64 d1 d1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 d2 d1) (*.f64 d1 4)) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 (-.f64 d2 d1)) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 d1)) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 d1)) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 d1)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 d1)) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 d1 (-.f64 d2 d1))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 d1 (-.f64 d2 d1)) (*.f64 d1 (-.f64 d2 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 d1 (-.f64 d2 d1)) (*.f64 d1 (-.f64 d2 d1)))))))

simplify1.6s (5.7%)

Algorithm
egg-herbie
Rules
5468×rational.json-simplify-35
2600×rational.json-simplify-2
1208×rational.json-simplify-53
736×rational.json-simplify-43
710×rational.json-simplify-1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
041653
193611
2183611
3435611
41811611
53423611
64290611
74610611
84770611
94924611
105073611
115454611
125454611
135533611
145590611
155753611
165901611
176049611
186197611
196345611
206493611
216641611
226789611
236937611
247052611
257069611
267126611
277168611
287170611
297170611
307318611
317466611
327614611
337762611
347910611
Stop Event
node limit
Counts
35 → 19
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 (*.f64 d1 (*.f64 (-.f64 d2 d1) 1/2)) (*.f64 d1 (*.f64 (-.f64 d2 d1) 1/2)))
(-.f64 (*.f64 d1 (-.f64 d2 d1)) 0)
(/.f64 (*.f64 d1 (-.f64 d2 d1)) 1)
(/.f64 (*.f64 (-.f64 d2 d1) (+.f64 d1 d1)) 2)
(/.f64 (*.f64 (-.f64 d2 d1) (*.f64 d1 4)) 4)
(/.f64 (*.f64 (*.f64 d1 (-.f64 d2 d1)) 8) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 d1)) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 d1)) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 d1)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 d1)) 8)))) 64)
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 (*.f64 d1 (*.f64 (-.f64 d2 d1) 1/2)) (*.f64 d1 (*.f64 (-.f64 d2 d1) 1/2)))
(*.f64 d1 (-.f64 d2 d1))
(-.f64 (*.f64 d1 (-.f64 d2 d1)) 0)
(*.f64 d1 (-.f64 d2 d1))
(/.f64 (*.f64 d1 (-.f64 d2 d1)) 1)
(*.f64 d1 (-.f64 d2 d1))
(/.f64 (*.f64 (-.f64 d2 d1) (+.f64 d1 d1)) 2)
(*.f64 d1 (-.f64 d2 d1))
(/.f64 (*.f64 (-.f64 d2 d1) (*.f64 d1 4)) 4)
(*.f64 d1 (-.f64 d2 d1))
(/.f64 (*.f64 (*.f64 d1 (-.f64 d2 d1)) 8) 8)
(*.f64 d1 (-.f64 d2 d1))
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 d1)) 8)) 16)
(*.f64 d1 (-.f64 d2 d1))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 d1)) 8))) 32)
(*.f64 d1 (-.f64 d2 d1))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 d1)) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (-.f64 d2 d1)) 8)))) 64)
(*.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)

eval20.0ms (0.1%)

Compiler

Compiled 1179 to 465 computations (60.6% saved)

prune27.0ms (0.1%)

Pruning

17 alts after pruning (7 fresh and 10 done)

PrunedKeptTotal
New1171118
Fresh066
Picked011
Done099
Total11717134
Error
0.0b
Counts
134 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
7.5b
(+.f64 (*.f64 d2 d1) (*.f64 (-.f64 d4 d3) d1))
25.7b
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
26.0b
(*.f64 (-.f64 d4 d3) d1)
18.5b
(*.f64 (-.f64 d2 (+.f64 d1 d3)) d1)
25.6b
(*.f64 (-.f64 d2 d3) d1)
37.0b
(*.f64 (-.f64 d2 d1) d1)
36.5b
(*.f64 (+.f64 d3 d1) (neg.f64 d1))
43.3b
(*.f64 (neg.f64 d3) d1)
43.7b
(*.f64 d2 d1)
18.9b
(*.f64 d1 (-.f64 (+.f64 d2 d4) d1))
18.8b
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
36.8b
(*.f64 d1 (-.f64 d4 d1))
7.6b
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
25.7b
(*.f64 d1 (+.f64 d2 d4))
18.9b
(*.f64 d1 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d3 d1))))))
54.3b
(*.f64 d1 (neg.f64 d1))
43.5b
(*.f64 d1 d4)
Compiler

Compiled 245 to 165 computations (32.7% saved)

localize20.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

Compiled 57 to 29 computations (49.1% saved)

series6.0ms (0%)

Counts
3 → 108
Calls

27 calls:

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

rewrite142.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
1802×bool.json-1
1802×bool.json-2
1760×rational.json-1
1136×bool.json-3
994×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01381
112981
232681
367481
4138881
5330281
6676381
Stop Event
node limit
Counts
3 → 61
Calls
Call 1
Inputs
(*.f64 d1 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d3 d1))))))
(+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d3 d1))))
(-.f64 d4 (*.f64 2 (+.f64 d3 d1)))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 d1 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 1/4)) (*.f64 d1 (*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 1/4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (*.f64 2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 4) (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 d1 4) (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 d1 4) (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))))) (*.f64 2 (*.f64 (*.f64 d1 4) (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 d1 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 d1 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))))) (*.f64 d1 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 d1 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))))) (*.f64 d1 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))))))))))
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 1/4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))))) (#(struct:change #<rule egg-rr> (2) ((x and (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))))))) (#(struct:change #<rule egg-rr> (2) ((x or (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 d4 (neg.f64 (*.f64 2 (+.f64 d1 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 0)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 (*.f64 2 (+.f64 d1 d3))) d4)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 -1 (+.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (+.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 1) -1)))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (*.f64 1/2 d4) (+.f64 d1 d3)) (-.f64 (*.f64 1/2 d4) (+.f64 d1 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (*.f64 2 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/2 (-.f64 (+.f64 d4 d4) (*.f64 (+.f64 d1 d3) 4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 2 (-.f64 (*.f64 1/2 d4) (+.f64 d1 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 2 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 2 (+.f64 d1 d3)) d4) -1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (/.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 4 (-.f64 (/.f64 d4 4) (*.f64 1/2 (+.f64 d1 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 4) 1/4)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 -1 (-.f64 (*.f64 2 (+.f64 d1 d3)) d4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1/4 (*.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (*.f64 1/2 d4) (+.f64 d1 d3)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 2 (+.f64 d1 d3)) d4) -1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 4) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (-.f64 (*.f64 2 (+.f64 d1 d3)) d4)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 4)) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 2 (+.f64 d1 d3)) d4))) -4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 4))) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 2 (+.f64 d1 d3)) d4))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 4))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 4)))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 2 (+.f64 d1 d3)) d4))) (neg.f64 (*.f64 2 (-.f64 (*.f64 2 (+.f64 d1 d3)) d4)))) 4)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 2 (+.f64 d1 d3)) d4))) -1) 4)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (-.f64 (*.f64 2 (+.f64 d1 d3)) d4))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x or (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))))

simplify268.0ms (1%)

Algorithm
egg-herbie
Rules
2444×rational.json-simplify-2
1816×rational.json-simplify-35
1276×rational.json-simplify-1
906×rational.json-simplify-51
884×rational.json-simplify-52
Iterations

Useful iterations: 8 (0.0ms)

IterNodesCost
01554375
13264071
27243945
319213945
442063945
553423945
661383945
766573945
871833927
974963927
Stop Event
node limit
Counts
169 → 135
Calls
Call 1
Inputs
(*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d3))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d3)))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d3)))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d3)))))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d3)))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d3)))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d3)))))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d3)))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d3)))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d3)))))
(*.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 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d1))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d1)))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d1)))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d1)))))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d1)))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d1)))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d1)))))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d1)))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d1)))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d1)))))
(*.f64 -2 (+.f64 d1 d3))
(+.f64 (*.f64 2 d4) (*.f64 -2 (+.f64 d1 d3)))
(+.f64 (*.f64 2 d4) (*.f64 -2 (+.f64 d1 d3)))
(+.f64 (*.f64 2 d4) (*.f64 -2 (+.f64 d1 d3)))
(*.f64 2 d4)
(+.f64 (*.f64 -2 (+.f64 d1 d3)) (*.f64 2 d4))
(+.f64 (*.f64 -2 (+.f64 d1 d3)) (*.f64 2 d4))
(+.f64 (*.f64 -2 (+.f64 d1 d3)) (*.f64 2 d4))
(*.f64 2 d4)
(+.f64 (*.f64 -2 (+.f64 d1 d3)) (*.f64 2 d4))
(+.f64 (*.f64 -2 (+.f64 d1 d3)) (*.f64 2 d4))
(+.f64 (*.f64 -2 (+.f64 d1 d3)) (*.f64 2 d4))
(-.f64 (*.f64 2 d4) (*.f64 2 d1))
(-.f64 (+.f64 (*.f64 2 d4) (*.f64 -2 d3)) (*.f64 2 d1))
(-.f64 (+.f64 (*.f64 2 d4) (*.f64 -2 d3)) (*.f64 2 d1))
(-.f64 (+.f64 (*.f64 2 d4) (*.f64 -2 d3)) (*.f64 2 d1))
(*.f64 -2 d3)
(-.f64 (+.f64 (*.f64 2 d4) (*.f64 -2 d3)) (*.f64 2 d1))
(-.f64 (+.f64 (*.f64 2 d4) (*.f64 -2 d3)) (*.f64 2 d1))
(-.f64 (+.f64 (*.f64 2 d4) (*.f64 -2 d3)) (*.f64 2 d1))
(*.f64 -2 d3)
(-.f64 (+.f64 (*.f64 2 d4) (*.f64 -2 d3)) (*.f64 2 d1))
(-.f64 (+.f64 (*.f64 2 d4) (*.f64 -2 d3)) (*.f64 2 d1))
(-.f64 (+.f64 (*.f64 2 d4) (*.f64 -2 d3)) (*.f64 2 d1))
(-.f64 (*.f64 2 d4) (*.f64 2 d3))
(-.f64 (+.f64 (*.f64 -2 d1) (*.f64 2 d4)) (*.f64 2 d3))
(-.f64 (+.f64 (*.f64 -2 d1) (*.f64 2 d4)) (*.f64 2 d3))
(-.f64 (+.f64 (*.f64 -2 d1) (*.f64 2 d4)) (*.f64 2 d3))
(*.f64 -2 d1)
(-.f64 (+.f64 (*.f64 -2 d1) (*.f64 2 d4)) (*.f64 2 d3))
(-.f64 (+.f64 (*.f64 -2 d1) (*.f64 2 d4)) (*.f64 2 d3))
(-.f64 (+.f64 (*.f64 -2 d1) (*.f64 2 d4)) (*.f64 2 d3))
(*.f64 -2 d1)
(-.f64 (+.f64 (*.f64 -2 d1) (*.f64 2 d4)) (*.f64 2 d3))
(-.f64 (+.f64 (*.f64 -2 d1) (*.f64 2 d4)) (*.f64 2 d3))
(-.f64 (+.f64 (*.f64 -2 d1) (*.f64 2 d4)) (*.f64 2 d3))
(*.f64 -2 (+.f64 d1 d3))
(+.f64 (*.f64 -2 (+.f64 d1 d3)) d4)
(+.f64 (*.f64 -2 (+.f64 d1 d3)) d4)
(+.f64 (*.f64 -2 (+.f64 d1 d3)) d4)
d4
(+.f64 (*.f64 -2 (+.f64 d1 d3)) d4)
(+.f64 (*.f64 -2 (+.f64 d1 d3)) d4)
(+.f64 (*.f64 -2 (+.f64 d1 d3)) d4)
d4
(+.f64 (*.f64 -2 (+.f64 d1 d3)) d4)
(+.f64 (*.f64 -2 (+.f64 d1 d3)) d4)
(+.f64 (*.f64 -2 (+.f64 d1 d3)) d4)
(-.f64 d4 (*.f64 2 d1))
(-.f64 (+.f64 d4 (*.f64 -2 d3)) (*.f64 2 d1))
(-.f64 (+.f64 d4 (*.f64 -2 d3)) (*.f64 2 d1))
(-.f64 (+.f64 d4 (*.f64 -2 d3)) (*.f64 2 d1))
(*.f64 -2 d3)
(-.f64 (+.f64 d4 (*.f64 -2 d3)) (*.f64 2 d1))
(-.f64 (+.f64 d4 (*.f64 -2 d3)) (*.f64 2 d1))
(-.f64 (+.f64 d4 (*.f64 -2 d3)) (*.f64 2 d1))
(*.f64 -2 d3)
(-.f64 (+.f64 d4 (*.f64 -2 d3)) (*.f64 2 d1))
(-.f64 (+.f64 d4 (*.f64 -2 d3)) (*.f64 2 d1))
(-.f64 (+.f64 d4 (*.f64 -2 d3)) (*.f64 2 d1))
(-.f64 d4 (*.f64 2 d3))
(-.f64 (+.f64 (*.f64 -2 d1) d4) (*.f64 2 d3))
(-.f64 (+.f64 (*.f64 -2 d1) d4) (*.f64 2 d3))
(-.f64 (+.f64 (*.f64 -2 d1) d4) (*.f64 2 d3))
(*.f64 -2 d1)
(-.f64 (+.f64 (*.f64 -2 d1) d4) (*.f64 2 d3))
(-.f64 (+.f64 (*.f64 -2 d1) d4) (*.f64 2 d3))
(-.f64 (+.f64 (*.f64 -2 d1) d4) (*.f64 2 d3))
(*.f64 -2 d1)
(-.f64 (+.f64 (*.f64 -2 d1) d4) (*.f64 2 d3))
(-.f64 (+.f64 (*.f64 -2 d1) d4) (*.f64 2 d3))
(-.f64 (+.f64 (*.f64 -2 d1) d4) (*.f64 2 d3))
(+.f64 (*.f64 d1 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))))) 0)
(+.f64 0 (*.f64 d1 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))))))
(+.f64 (*.f64 d1 (*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 1/4)) (*.f64 d1 (*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 1/4)))
(-.f64 (*.f64 d1 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))))) 0)
(/.f64 (*.f64 d1 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))))) 1)
(/.f64 (*.f64 d1 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))) 2)
(/.f64 (*.f64 d1 (*.f64 2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))))) 4)
(/.f64 (*.f64 (*.f64 d1 4) (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 4) (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 d1 4) (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))))) (*.f64 2 (*.f64 (*.f64 d1 4) (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))) 32)
(-.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 0)
(*.f64 1/2 (*.f64 2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))
(*.f64 2 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))
(*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 1)
(*.f64 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))) 2)
(*.f64 1 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))))
(*.f64 (*.f64 2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))) 1/2)
(*.f64 4 (*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 1/4))
(*.f64 (*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 4) 1/4)
(*.f64 1/4 (*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 4))
(*.f64 (*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 1/4) 4)
(/.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 1)
(/.f64 (*.f64 2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))) 2)
(/.f64 (*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 4) 4)
(/.f64 (*.f64 2 (*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 4))) 16)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 4)))) 32)
(+.f64 d4 (neg.f64 (*.f64 2 (+.f64 d1 d3))))
(+.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 0)
(+.f64 0 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))
(+.f64 (neg.f64 (*.f64 2 (+.f64 d1 d3))) d4)
(+.f64 -1 (+.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 1))
(+.f64 (+.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 1) -1)
(+.f64 (-.f64 (*.f64 1/2 d4) (+.f64 d1 d3)) (-.f64 (*.f64 1/2 d4) (+.f64 d1 d3)))
(*.f64 1/2 (*.f64 2 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))))
(*.f64 1/2 (-.f64 (+.f64 d4 d4) (*.f64 (+.f64 d1 d3) 4)))
(*.f64 2 (-.f64 (*.f64 1/2 d4) (+.f64 d1 d3)))
(*.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 1)
(*.f64 1 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))
(*.f64 (*.f64 2 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 1/2)
(*.f64 (-.f64 (*.f64 2 (+.f64 d1 d3)) d4) -1)
(*.f64 4 (/.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 4))
(*.f64 4 (-.f64 (/.f64 d4 4) (*.f64 1/2 (+.f64 d1 d3))))
(*.f64 (*.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 4) 1/4)
(*.f64 -1 (-.f64 (*.f64 2 (+.f64 d1 d3)) d4))
(*.f64 1/4 (*.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 4))
(*.f64 (-.f64 (*.f64 1/2 d4) (+.f64 d1 d3)) 2)
(*.f64 (/.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 4) 4)
(/.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 1)
(/.f64 (*.f64 2 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 2)
(/.f64 (-.f64 (*.f64 2 (+.f64 d1 d3)) d4) -1)
(/.f64 (*.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 4) 4)
(/.f64 (*.f64 2 (-.f64 (*.f64 2 (+.f64 d1 d3)) d4)) -2)
(/.f64 (*.f64 2 (*.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 4)) 8)
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 2 (+.f64 d1 d3)) d4))) -4)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 4))) 16)
(/.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 2 (+.f64 d1 d3)) d4))) 2)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 4))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 4)))) 32)
(/.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 2 (+.f64 d1 d3)) d4))) (neg.f64 (*.f64 2 (-.f64 (*.f64 2 (+.f64 d1 d3)) d4)))) 4)
(/.f64 (/.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 2 (+.f64 d1 d3)) d4))) -1) 4)
(neg.f64 (-.f64 (*.f64 2 (+.f64 d1 d3)) d4))
Outputs
(*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d3))))
(*.f64 1/2 (*.f64 d1 (*.f64 2 (-.f64 d4 d3))))
(*.f64 (*.f64 2 (-.f64 d4 d3)) (*.f64 1/2 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d3)))))
(+.f64 (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d3)))) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 1/2 (*.f64 d1 (*.f64 2 (-.f64 d4 d3)))) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 (*.f64 2 (-.f64 d4 d3)) (*.f64 1/2 d1)) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d3)))))
(+.f64 (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d3)))) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 1/2 (*.f64 d1 (*.f64 2 (-.f64 d4 d3)))) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 (*.f64 2 (-.f64 d4 d3)) (*.f64 1/2 d1)) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d3)))))
(+.f64 (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d3)))) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 1/2 (*.f64 d1 (*.f64 2 (-.f64 d4 d3)))) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 (*.f64 2 (-.f64 d4 d3)) (*.f64 1/2 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 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d3)))))
(+.f64 (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d3)))) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 1/2 (*.f64 d1 (*.f64 2 (-.f64 d4 d3)))) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 (*.f64 2 (-.f64 d4 d3)) (*.f64 1/2 d1)) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d3)))))
(+.f64 (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d3)))) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 1/2 (*.f64 d1 (*.f64 2 (-.f64 d4 d3)))) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 (*.f64 2 (-.f64 d4 d3)) (*.f64 1/2 d1)) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d3)))))
(+.f64 (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d3)))) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 1/2 (*.f64 d1 (*.f64 2 (-.f64 d4 d3)))) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 (*.f64 2 (-.f64 d4 d3)) (*.f64 1/2 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 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d3)))))
(+.f64 (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d3)))) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 1/2 (*.f64 d1 (*.f64 2 (-.f64 d4 d3)))) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 (*.f64 2 (-.f64 d4 d3)) (*.f64 1/2 d1)) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d3)))))
(+.f64 (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d3)))) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 1/2 (*.f64 d1 (*.f64 2 (-.f64 d4 d3)))) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 (*.f64 2 (-.f64 d4 d3)) (*.f64 1/2 d1)) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d3)))))
(+.f64 (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d3)))) (*.f64 -1 (pow.f64 d1 2)))
(+.f64 (*.f64 1/2 (*.f64 d1 (*.f64 2 (-.f64 d4 d3)))) (neg.f64 (pow.f64 d1 2)))
(+.f64 (*.f64 (*.f64 2 (-.f64 d4 d3)) (*.f64 1/2 d1)) (neg.f64 (pow.f64 d1 2)))
(*.f64 -1 (*.f64 (+.f64 d1 d3) d1))
(*.f64 -1 (*.f64 d1 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 (+.f64 d1 d3))) (*.f64 d1 d4))
(+.f64 (*.f64 (+.f64 d1 d3) (neg.f64 d1)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 (+.f64 d1 d3))) (*.f64 d1 d4))
(+.f64 (*.f64 (+.f64 d1 d3) (neg.f64 d1)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 (+.f64 d1 d3))) (*.f64 d1 d4))
(+.f64 (*.f64 (+.f64 d1 d3) (neg.f64 d1)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 d4)
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 (+.f64 d1 d3))) (*.f64 d1 d4))
(+.f64 (*.f64 (+.f64 d1 d3) (neg.f64 d1)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 (+.f64 d1 d3))) (*.f64 d1 d4))
(+.f64 (*.f64 (+.f64 d1 d3) (neg.f64 d1)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 (+.f64 d1 d3))) (*.f64 d1 d4))
(+.f64 (*.f64 (+.f64 d1 d3) (neg.f64 d1)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 d4)
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 (+.f64 d1 d3))) (*.f64 d1 d4))
(+.f64 (*.f64 (+.f64 d1 d3) (neg.f64 d1)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 (+.f64 d1 d3))) (*.f64 d1 d4))
(+.f64 (*.f64 (+.f64 d1 d3) (neg.f64 d1)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 (+.f64 d1 d3))) (*.f64 d1 d4))
(+.f64 (*.f64 (+.f64 d1 d3) (neg.f64 d1)) (*.f64 d1 d4))
(*.f64 d1 (+.f64 d4 (neg.f64 (+.f64 d1 d3))))
(*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d1))))
(*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 d1 2))))
(*.f64 1/2 (*.f64 d1 (*.f64 2 (-.f64 d4 d1))))
(*.f64 (*.f64 2 (-.f64 d4 d1)) (*.f64 1/2 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d1)))))
(+.f64 (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 d1 2)))) (*.f64 d1 (*.f64 d3 -1)))
(+.f64 (*.f64 1/2 (*.f64 d1 (*.f64 2 (-.f64 d4 d1)))) (*.f64 d1 (neg.f64 d3)))
(*.f64 d1 (+.f64 (neg.f64 d3) (*.f64 1/2 (*.f64 2 (-.f64 d4 d1)))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d1)))))
(+.f64 (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 d1 2)))) (*.f64 d1 (*.f64 d3 -1)))
(+.f64 (*.f64 1/2 (*.f64 d1 (*.f64 2 (-.f64 d4 d1)))) (*.f64 d1 (neg.f64 d3)))
(*.f64 d1 (+.f64 (neg.f64 d3) (*.f64 1/2 (*.f64 2 (-.f64 d4 d1)))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d1)))))
(+.f64 (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 d1 2)))) (*.f64 d1 (*.f64 d3 -1)))
(+.f64 (*.f64 1/2 (*.f64 d1 (*.f64 2 (-.f64 d4 d1)))) (*.f64 d1 (neg.f64 d3)))
(*.f64 d1 (+.f64 (neg.f64 d3) (*.f64 1/2 (*.f64 2 (-.f64 d4 d1)))))
(*.f64 -1 (*.f64 d1 d3))
(*.f64 d1 (*.f64 d3 -1))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d1)))))
(+.f64 (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 d1 2)))) (*.f64 d1 (*.f64 d3 -1)))
(+.f64 (*.f64 1/2 (*.f64 d1 (*.f64 2 (-.f64 d4 d1)))) (*.f64 d1 (neg.f64 d3)))
(*.f64 d1 (+.f64 (neg.f64 d3) (*.f64 1/2 (*.f64 2 (-.f64 d4 d1)))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d1)))))
(+.f64 (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 d1 2)))) (*.f64 d1 (*.f64 d3 -1)))
(+.f64 (*.f64 1/2 (*.f64 d1 (*.f64 2 (-.f64 d4 d1)))) (*.f64 d1 (neg.f64 d3)))
(*.f64 d1 (+.f64 (neg.f64 d3) (*.f64 1/2 (*.f64 2 (-.f64 d4 d1)))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d1)))))
(+.f64 (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 d1 2)))) (*.f64 d1 (*.f64 d3 -1)))
(+.f64 (*.f64 1/2 (*.f64 d1 (*.f64 2 (-.f64 d4 d1)))) (*.f64 d1 (neg.f64 d3)))
(*.f64 d1 (+.f64 (neg.f64 d3) (*.f64 1/2 (*.f64 2 (-.f64 d4 d1)))))
(*.f64 -1 (*.f64 d1 d3))
(*.f64 d1 (*.f64 d3 -1))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d1)))))
(+.f64 (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 d1 2)))) (*.f64 d1 (*.f64 d3 -1)))
(+.f64 (*.f64 1/2 (*.f64 d1 (*.f64 2 (-.f64 d4 d1)))) (*.f64 d1 (neg.f64 d3)))
(*.f64 d1 (+.f64 (neg.f64 d3) (*.f64 1/2 (*.f64 2 (-.f64 d4 d1)))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d1)))))
(+.f64 (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 d1 2)))) (*.f64 d1 (*.f64 d3 -1)))
(+.f64 (*.f64 1/2 (*.f64 d1 (*.f64 2 (-.f64 d4 d1)))) (*.f64 d1 (neg.f64 d3)))
(*.f64 d1 (+.f64 (neg.f64 d3) (*.f64 1/2 (*.f64 2 (-.f64 d4 d1)))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 2 d1)))))
(+.f64 (*.f64 1/2 (*.f64 d1 (-.f64 (*.f64 2 d4) (*.f64 d1 2)))) (*.f64 d1 (*.f64 d3 -1)))
(+.f64 (*.f64 1/2 (*.f64 d1 (*.f64 2 (-.f64 d4 d1)))) (*.f64 d1 (neg.f64 d3)))
(*.f64 d1 (+.f64 (neg.f64 d3) (*.f64 1/2 (*.f64 2 (-.f64 d4 d1)))))
(*.f64 -2 (+.f64 d1 d3))
(*.f64 (+.f64 d1 d3) -2)
(+.f64 (*.f64 2 d4) (*.f64 -2 (+.f64 d1 d3)))
(+.f64 (*.f64 2 d4) (*.f64 (+.f64 d1 d3) -2))
(*.f64 2 (+.f64 d4 (neg.f64 (+.f64 d1 d3))))
(+.f64 (*.f64 2 d4) (*.f64 -2 (+.f64 d1 d3)))
(+.f64 (*.f64 2 d4) (*.f64 (+.f64 d1 d3) -2))
(*.f64 2 (+.f64 d4 (neg.f64 (+.f64 d1 d3))))
(+.f64 (*.f64 2 d4) (*.f64 -2 (+.f64 d1 d3)))
(+.f64 (*.f64 2 d4) (*.f64 (+.f64 d1 d3) -2))
(*.f64 2 (+.f64 d4 (neg.f64 (+.f64 d1 d3))))
(*.f64 2 d4)
(+.f64 (*.f64 -2 (+.f64 d1 d3)) (*.f64 2 d4))
(+.f64 (*.f64 2 d4) (*.f64 (+.f64 d1 d3) -2))
(*.f64 2 (+.f64 d4 (neg.f64 (+.f64 d1 d3))))
(+.f64 (*.f64 -2 (+.f64 d1 d3)) (*.f64 2 d4))
(+.f64 (*.f64 2 d4) (*.f64 (+.f64 d1 d3) -2))
(*.f64 2 (+.f64 d4 (neg.f64 (+.f64 d1 d3))))
(+.f64 (*.f64 -2 (+.f64 d1 d3)) (*.f64 2 d4))
(+.f64 (*.f64 2 d4) (*.f64 (+.f64 d1 d3) -2))
(*.f64 2 (+.f64 d4 (neg.f64 (+.f64 d1 d3))))
(*.f64 2 d4)
(+.f64 (*.f64 -2 (+.f64 d1 d3)) (*.f64 2 d4))
(+.f64 (*.f64 2 d4) (*.f64 (+.f64 d1 d3) -2))
(*.f64 2 (+.f64 d4 (neg.f64 (+.f64 d1 d3))))
(+.f64 (*.f64 -2 (+.f64 d1 d3)) (*.f64 2 d4))
(+.f64 (*.f64 2 d4) (*.f64 (+.f64 d1 d3) -2))
(*.f64 2 (+.f64 d4 (neg.f64 (+.f64 d1 d3))))
(+.f64 (*.f64 -2 (+.f64 d1 d3)) (*.f64 2 d4))
(+.f64 (*.f64 2 d4) (*.f64 (+.f64 d1 d3) -2))
(*.f64 2 (+.f64 d4 (neg.f64 (+.f64 d1 d3))))
(-.f64 (*.f64 2 d4) (*.f64 2 d1))
(-.f64 (*.f64 2 d4) (*.f64 d1 2))
(*.f64 2 (-.f64 d4 d1))
(-.f64 (+.f64 (*.f64 2 d4) (*.f64 -2 d3)) (*.f64 2 d1))
(+.f64 (*.f64 d3 -2) (-.f64 (*.f64 2 d4) (*.f64 d1 2)))
(+.f64 (*.f64 2 (-.f64 d4 d1)) (*.f64 d3 -2))
(-.f64 (+.f64 (*.f64 2 d4) (*.f64 -2 d3)) (*.f64 2 d1))
(+.f64 (*.f64 d3 -2) (-.f64 (*.f64 2 d4) (*.f64 d1 2)))
(+.f64 (*.f64 2 (-.f64 d4 d1)) (*.f64 d3 -2))
(-.f64 (+.f64 (*.f64 2 d4) (*.f64 -2 d3)) (*.f64 2 d1))
(+.f64 (*.f64 d3 -2) (-.f64 (*.f64 2 d4) (*.f64 d1 2)))
(+.f64 (*.f64 2 (-.f64 d4 d1)) (*.f64 d3 -2))
(*.f64 -2 d3)
(*.f64 d3 -2)
(-.f64 (+.f64 (*.f64 2 d4) (*.f64 -2 d3)) (*.f64 2 d1))
(+.f64 (*.f64 d3 -2) (-.f64 (*.f64 2 d4) (*.f64 d1 2)))
(+.f64 (*.f64 2 (-.f64 d4 d1)) (*.f64 d3 -2))
(-.f64 (+.f64 (*.f64 2 d4) (*.f64 -2 d3)) (*.f64 2 d1))
(+.f64 (*.f64 d3 -2) (-.f64 (*.f64 2 d4) (*.f64 d1 2)))
(+.f64 (*.f64 2 (-.f64 d4 d1)) (*.f64 d3 -2))
(-.f64 (+.f64 (*.f64 2 d4) (*.f64 -2 d3)) (*.f64 2 d1))
(+.f64 (*.f64 d3 -2) (-.f64 (*.f64 2 d4) (*.f64 d1 2)))
(+.f64 (*.f64 2 (-.f64 d4 d1)) (*.f64 d3 -2))
(*.f64 -2 d3)
(*.f64 d3 -2)
(-.f64 (+.f64 (*.f64 2 d4) (*.f64 -2 d3)) (*.f64 2 d1))
(+.f64 (*.f64 d3 -2) (-.f64 (*.f64 2 d4) (*.f64 d1 2)))
(+.f64 (*.f64 2 (-.f64 d4 d1)) (*.f64 d3 -2))
(-.f64 (+.f64 (*.f64 2 d4) (*.f64 -2 d3)) (*.f64 2 d1))
(+.f64 (*.f64 d3 -2) (-.f64 (*.f64 2 d4) (*.f64 d1 2)))
(+.f64 (*.f64 2 (-.f64 d4 d1)) (*.f64 d3 -2))
(-.f64 (+.f64 (*.f64 2 d4) (*.f64 -2 d3)) (*.f64 2 d1))
(+.f64 (*.f64 d3 -2) (-.f64 (*.f64 2 d4) (*.f64 d1 2)))
(+.f64 (*.f64 2 (-.f64 d4 d1)) (*.f64 d3 -2))
(-.f64 (*.f64 2 d4) (*.f64 2 d3))
(*.f64 2 (-.f64 d4 d3))
(-.f64 (+.f64 (*.f64 -2 d1) (*.f64 2 d4)) (*.f64 2 d3))
(+.f64 (*.f64 2 d4) (-.f64 (*.f64 d1 -2) (*.f64 2 d3)))
(+.f64 (*.f64 d1 -2) (*.f64 2 (-.f64 d4 d3)))
(+.f64 (*.f64 2 (-.f64 d4 d3)) (*.f64 d1 -2))
(-.f64 (+.f64 (*.f64 -2 d1) (*.f64 2 d4)) (*.f64 2 d3))
(+.f64 (*.f64 2 d4) (-.f64 (*.f64 d1 -2) (*.f64 2 d3)))
(+.f64 (*.f64 d1 -2) (*.f64 2 (-.f64 d4 d3)))
(+.f64 (*.f64 2 (-.f64 d4 d3)) (*.f64 d1 -2))
(-.f64 (+.f64 (*.f64 -2 d1) (*.f64 2 d4)) (*.f64 2 d3))
(+.f64 (*.f64 2 d4) (-.f64 (*.f64 d1 -2) (*.f64 2 d3)))
(+.f64 (*.f64 d1 -2) (*.f64 2 (-.f64 d4 d3)))
(+.f64 (*.f64 2 (-.f64 d4 d3)) (*.f64 d1 -2))
(*.f64 -2 d1)
(*.f64 d1 -2)
(-.f64 (+.f64 (*.f64 -2 d1) (*.f64 2 d4)) (*.f64 2 d3))
(+.f64 (*.f64 2 d4) (-.f64 (*.f64 d1 -2) (*.f64 2 d3)))
(+.f64 (*.f64 d1 -2) (*.f64 2 (-.f64 d4 d3)))
(+.f64 (*.f64 2 (-.f64 d4 d3)) (*.f64 d1 -2))
(-.f64 (+.f64 (*.f64 -2 d1) (*.f64 2 d4)) (*.f64 2 d3))
(+.f64 (*.f64 2 d4) (-.f64 (*.f64 d1 -2) (*.f64 2 d3)))
(+.f64 (*.f64 d1 -2) (*.f64 2 (-.f64 d4 d3)))
(+.f64 (*.f64 2 (-.f64 d4 d3)) (*.f64 d1 -2))
(-.f64 (+.f64 (*.f64 -2 d1) (*.f64 2 d4)) (*.f64 2 d3))
(+.f64 (*.f64 2 d4) (-.f64 (*.f64 d1 -2) (*.f64 2 d3)))
(+.f64 (*.f64 d1 -2) (*.f64 2 (-.f64 d4 d3)))
(+.f64 (*.f64 2 (-.f64 d4 d3)) (*.f64 d1 -2))
(*.f64 -2 d1)
(*.f64 d1 -2)
(-.f64 (+.f64 (*.f64 -2 d1) (*.f64 2 d4)) (*.f64 2 d3))
(+.f64 (*.f64 2 d4) (-.f64 (*.f64 d1 -2) (*.f64 2 d3)))
(+.f64 (*.f64 d1 -2) (*.f64 2 (-.f64 d4 d3)))
(+.f64 (*.f64 2 (-.f64 d4 d3)) (*.f64 d1 -2))
(-.f64 (+.f64 (*.f64 -2 d1) (*.f64 2 d4)) (*.f64 2 d3))
(+.f64 (*.f64 2 d4) (-.f64 (*.f64 d1 -2) (*.f64 2 d3)))
(+.f64 (*.f64 d1 -2) (*.f64 2 (-.f64 d4 d3)))
(+.f64 (*.f64 2 (-.f64 d4 d3)) (*.f64 d1 -2))
(-.f64 (+.f64 (*.f64 -2 d1) (*.f64 2 d4)) (*.f64 2 d3))
(+.f64 (*.f64 2 d4) (-.f64 (*.f64 d1 -2) (*.f64 2 d3)))
(+.f64 (*.f64 d1 -2) (*.f64 2 (-.f64 d4 d3)))
(+.f64 (*.f64 2 (-.f64 d4 d3)) (*.f64 d1 -2))
(*.f64 -2 (+.f64 d1 d3))
(*.f64 (+.f64 d1 d3) -2)
(+.f64 (*.f64 -2 (+.f64 d1 d3)) d4)
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(+.f64 (*.f64 -2 (+.f64 d1 d3)) d4)
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(+.f64 (*.f64 -2 (+.f64 d1 d3)) d4)
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
d4
(+.f64 (*.f64 -2 (+.f64 d1 d3)) d4)
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(+.f64 (*.f64 -2 (+.f64 d1 d3)) d4)
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(+.f64 (*.f64 -2 (+.f64 d1 d3)) d4)
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
d4
(+.f64 (*.f64 -2 (+.f64 d1 d3)) d4)
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(+.f64 (*.f64 -2 (+.f64 d1 d3)) d4)
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(+.f64 (*.f64 -2 (+.f64 d1 d3)) d4)
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(-.f64 d4 (*.f64 2 d1))
(-.f64 d4 (*.f64 d1 2))
(-.f64 d4 (+.f64 d1 d1))
(+.f64 d4 (*.f64 d1 -2))
(-.f64 (+.f64 d4 (*.f64 -2 d3)) (*.f64 2 d1))
(+.f64 (*.f64 d3 -2) (-.f64 d4 (*.f64 d1 2)))
(+.f64 d4 (-.f64 (*.f64 d3 -2) (*.f64 d1 2)))
(+.f64 d4 (-.f64 (*.f64 d3 -2) (+.f64 d1 d1)))
(-.f64 (+.f64 d4 (*.f64 -2 d3)) (*.f64 2 d1))
(+.f64 (*.f64 d3 -2) (-.f64 d4 (*.f64 d1 2)))
(+.f64 d4 (-.f64 (*.f64 d3 -2) (*.f64 d1 2)))
(+.f64 d4 (-.f64 (*.f64 d3 -2) (+.f64 d1 d1)))
(-.f64 (+.f64 d4 (*.f64 -2 d3)) (*.f64 2 d1))
(+.f64 (*.f64 d3 -2) (-.f64 d4 (*.f64 d1 2)))
(+.f64 d4 (-.f64 (*.f64 d3 -2) (*.f64 d1 2)))
(+.f64 d4 (-.f64 (*.f64 d3 -2) (+.f64 d1 d1)))
(*.f64 -2 d3)
(*.f64 d3 -2)
(-.f64 (+.f64 d4 (*.f64 -2 d3)) (*.f64 2 d1))
(+.f64 (*.f64 d3 -2) (-.f64 d4 (*.f64 d1 2)))
(+.f64 d4 (-.f64 (*.f64 d3 -2) (*.f64 d1 2)))
(+.f64 d4 (-.f64 (*.f64 d3 -2) (+.f64 d1 d1)))
(-.f64 (+.f64 d4 (*.f64 -2 d3)) (*.f64 2 d1))
(+.f64 (*.f64 d3 -2) (-.f64 d4 (*.f64 d1 2)))
(+.f64 d4 (-.f64 (*.f64 d3 -2) (*.f64 d1 2)))
(+.f64 d4 (-.f64 (*.f64 d3 -2) (+.f64 d1 d1)))
(-.f64 (+.f64 d4 (*.f64 -2 d3)) (*.f64 2 d1))
(+.f64 (*.f64 d3 -2) (-.f64 d4 (*.f64 d1 2)))
(+.f64 d4 (-.f64 (*.f64 d3 -2) (*.f64 d1 2)))
(+.f64 d4 (-.f64 (*.f64 d3 -2) (+.f64 d1 d1)))
(*.f64 -2 d3)
(*.f64 d3 -2)
(-.f64 (+.f64 d4 (*.f64 -2 d3)) (*.f64 2 d1))
(+.f64 (*.f64 d3 -2) (-.f64 d4 (*.f64 d1 2)))
(+.f64 d4 (-.f64 (*.f64 d3 -2) (*.f64 d1 2)))
(+.f64 d4 (-.f64 (*.f64 d3 -2) (+.f64 d1 d1)))
(-.f64 (+.f64 d4 (*.f64 -2 d3)) (*.f64 2 d1))
(+.f64 (*.f64 d3 -2) (-.f64 d4 (*.f64 d1 2)))
(+.f64 d4 (-.f64 (*.f64 d3 -2) (*.f64 d1 2)))
(+.f64 d4 (-.f64 (*.f64 d3 -2) (+.f64 d1 d1)))
(-.f64 (+.f64 d4 (*.f64 -2 d3)) (*.f64 2 d1))
(+.f64 (*.f64 d3 -2) (-.f64 d4 (*.f64 d1 2)))
(+.f64 d4 (-.f64 (*.f64 d3 -2) (*.f64 d1 2)))
(+.f64 d4 (-.f64 (*.f64 d3 -2) (+.f64 d1 d1)))
(-.f64 d4 (*.f64 2 d3))
(-.f64 (+.f64 (*.f64 -2 d1) d4) (*.f64 2 d3))
(+.f64 d4 (-.f64 (*.f64 d1 -2) (*.f64 2 d3)))
(+.f64 d4 (*.f64 2 (-.f64 (neg.f64 d1) d3)))
(-.f64 (+.f64 (*.f64 -2 d1) d4) (*.f64 2 d3))
(+.f64 d4 (-.f64 (*.f64 d1 -2) (*.f64 2 d3)))
(+.f64 d4 (*.f64 2 (-.f64 (neg.f64 d1) d3)))
(-.f64 (+.f64 (*.f64 -2 d1) d4) (*.f64 2 d3))
(+.f64 d4 (-.f64 (*.f64 d1 -2) (*.f64 2 d3)))
(+.f64 d4 (*.f64 2 (-.f64 (neg.f64 d1) d3)))
(*.f64 -2 d1)
(*.f64 d1 -2)
(-.f64 (+.f64 (*.f64 -2 d1) d4) (*.f64 2 d3))
(+.f64 d4 (-.f64 (*.f64 d1 -2) (*.f64 2 d3)))
(+.f64 d4 (*.f64 2 (-.f64 (neg.f64 d1) d3)))
(-.f64 (+.f64 (*.f64 -2 d1) d4) (*.f64 2 d3))
(+.f64 d4 (-.f64 (*.f64 d1 -2) (*.f64 2 d3)))
(+.f64 d4 (*.f64 2 (-.f64 (neg.f64 d1) d3)))
(-.f64 (+.f64 (*.f64 -2 d1) d4) (*.f64 2 d3))
(+.f64 d4 (-.f64 (*.f64 d1 -2) (*.f64 2 d3)))
(+.f64 d4 (*.f64 2 (-.f64 (neg.f64 d1) d3)))
(*.f64 -2 d1)
(*.f64 d1 -2)
(-.f64 (+.f64 (*.f64 -2 d1) d4) (*.f64 2 d3))
(+.f64 d4 (-.f64 (*.f64 d1 -2) (*.f64 2 d3)))
(+.f64 d4 (*.f64 2 (-.f64 (neg.f64 d1) d3)))
(-.f64 (+.f64 (*.f64 -2 d1) d4) (*.f64 2 d3))
(+.f64 d4 (-.f64 (*.f64 d1 -2) (*.f64 2 d3)))
(+.f64 d4 (*.f64 2 (-.f64 (neg.f64 d1) d3)))
(-.f64 (+.f64 (*.f64 -2 d1) d4) (*.f64 2 d3))
(+.f64 d4 (-.f64 (*.f64 d1 -2) (*.f64 2 d3)))
(+.f64 d4 (*.f64 2 (-.f64 (neg.f64 d1) d3)))
(+.f64 (*.f64 d1 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))))) 0)
(*.f64 1/2 (*.f64 d1 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))
(*.f64 d1 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))
(*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) (/.f64 d1 2))
(*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) (*.f64 1/2 d1))
(*.f64 1/2 (*.f64 d1 (+.f64 d4 (+.f64 d4 (*.f64 (+.f64 d1 d3) -2)))))
(+.f64 0 (*.f64 d1 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))))))
(*.f64 1/2 (*.f64 d1 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))
(*.f64 d1 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))
(*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) (/.f64 d1 2))
(*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) (*.f64 1/2 d1))
(*.f64 1/2 (*.f64 d1 (+.f64 d4 (+.f64 d4 (*.f64 (+.f64 d1 d3) -2)))))
(+.f64 (*.f64 d1 (*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 1/4)) (*.f64 d1 (*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 1/4)))
(*.f64 1/2 (*.f64 d1 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))
(*.f64 d1 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))
(*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) (/.f64 d1 2))
(*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) (*.f64 1/2 d1))
(*.f64 1/2 (*.f64 d1 (+.f64 d4 (+.f64 d4 (*.f64 (+.f64 d1 d3) -2)))))
(-.f64 (*.f64 d1 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))))) 0)
(*.f64 1/2 (*.f64 d1 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))
(*.f64 d1 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))
(*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) (/.f64 d1 2))
(*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) (*.f64 1/2 d1))
(*.f64 1/2 (*.f64 d1 (+.f64 d4 (+.f64 d4 (*.f64 (+.f64 d1 d3) -2)))))
(/.f64 (*.f64 d1 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))))) 1)
(*.f64 1/2 (*.f64 d1 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))
(*.f64 d1 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))
(*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) (/.f64 d1 2))
(*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) (*.f64 1/2 d1))
(*.f64 1/2 (*.f64 d1 (+.f64 d4 (+.f64 d4 (*.f64 (+.f64 d1 d3) -2)))))
(/.f64 (*.f64 d1 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))) 2)
(*.f64 1/2 (*.f64 d1 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))
(*.f64 d1 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))
(*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) (/.f64 d1 2))
(*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) (*.f64 1/2 d1))
(*.f64 1/2 (*.f64 d1 (+.f64 d4 (+.f64 d4 (*.f64 (+.f64 d1 d3) -2)))))
(/.f64 (*.f64 d1 (*.f64 2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))))) 4)
(*.f64 1/2 (*.f64 d1 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))
(*.f64 d1 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))
(*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) (/.f64 d1 2))
(*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) (*.f64 1/2 d1))
(*.f64 1/2 (*.f64 d1 (+.f64 d4 (+.f64 d4 (*.f64 (+.f64 d1 d3) -2)))))
(/.f64 (*.f64 (*.f64 d1 4) (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))) 8)
(*.f64 1/2 (*.f64 d1 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))
(*.f64 d1 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))
(*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) (/.f64 d1 2))
(*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) (*.f64 1/2 d1))
(*.f64 1/2 (*.f64 d1 (+.f64 d4 (+.f64 d4 (*.f64 (+.f64 d1 d3) -2)))))
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 4) (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))))) 16)
(*.f64 1/2 (*.f64 d1 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))
(*.f64 d1 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))
(*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) (/.f64 d1 2))
(*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) (*.f64 1/2 d1))
(*.f64 1/2 (*.f64 d1 (+.f64 d4 (+.f64 d4 (*.f64 (+.f64 d1 d3) -2)))))
(/.f64 (+.f64 (*.f64 2 (*.f64 (*.f64 d1 4) (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))))) (*.f64 2 (*.f64 (*.f64 d1 4) (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))) 32)
(*.f64 1/2 (*.f64 d1 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))
(*.f64 d1 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))
(*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) (/.f64 d1 2))
(*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) (*.f64 1/2 d1))
(*.f64 1/2 (*.f64 d1 (+.f64 d4 (+.f64 d4 (*.f64 (+.f64 d1 d3) -2)))))
(-.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 0)
(+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))
(+.f64 d4 (+.f64 d4 (*.f64 (+.f64 d1 d3) -2)))
(*.f64 1/2 (*.f64 2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))
(+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))
(+.f64 d4 (+.f64 d4 (*.f64 (+.f64 d1 d3) -2)))
(*.f64 2 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))))
(+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))
(+.f64 d4 (+.f64 d4 (*.f64 (+.f64 d1 d3) -2)))
(*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 1)
(+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))
(+.f64 d4 (+.f64 d4 (*.f64 (+.f64 d1 d3) -2)))
(*.f64 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))) 2)
(+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))
(+.f64 d4 (+.f64 d4 (*.f64 (+.f64 d1 d3) -2)))
(*.f64 1 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))))
(+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))
(+.f64 d4 (+.f64 d4 (*.f64 (+.f64 d1 d3) -2)))
(*.f64 (*.f64 2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))) 1/2)
(+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))
(+.f64 d4 (+.f64 d4 (*.f64 (+.f64 d1 d3) -2)))
(*.f64 4 (*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 1/4))
(+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))
(+.f64 d4 (+.f64 d4 (*.f64 (+.f64 d1 d3) -2)))
(*.f64 (*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 4) 1/4)
(+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))
(+.f64 d4 (+.f64 d4 (*.f64 (+.f64 d1 d3) -2)))
(*.f64 1/4 (*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 4))
(+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))
(+.f64 d4 (+.f64 d4 (*.f64 (+.f64 d1 d3) -2)))
(*.f64 (*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 1/4) 4)
(+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))
(+.f64 d4 (+.f64 d4 (*.f64 (+.f64 d1 d3) -2)))
(/.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 1)
(+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))
(+.f64 d4 (+.f64 d4 (*.f64 (+.f64 d1 d3) -2)))
(/.f64 (*.f64 2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))) 2)
(+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))
(+.f64 d4 (+.f64 d4 (*.f64 (+.f64 d1 d3) -2)))
(/.f64 (*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 4) 4)
(+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))
(+.f64 d4 (+.f64 d4 (*.f64 (+.f64 d1 d3) -2)))
(/.f64 (*.f64 2 (*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 4)) 8)
(+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))
(+.f64 d4 (+.f64 d4 (*.f64 (+.f64 d1 d3) -2)))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 4))) 16)
(+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))
(+.f64 d4 (+.f64 d4 (*.f64 (+.f64 d1 d3) -2)))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 4))) (*.f64 2 (*.f64 2 (*.f64 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 4)))) 32)
(+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))
(+.f64 d4 (+.f64 d4 (*.f64 (+.f64 d1 d3) -2)))
(+.f64 d4 (neg.f64 (*.f64 2 (+.f64 d1 d3))))
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(+.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 0)
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(+.f64 0 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(+.f64 (neg.f64 (*.f64 2 (+.f64 d1 d3))) d4)
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(+.f64 -1 (+.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 1))
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(+.f64 (+.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 1) -1)
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(+.f64 (-.f64 (*.f64 1/2 d4) (+.f64 d1 d3)) (-.f64 (*.f64 1/2 d4) (+.f64 d1 d3)))
(*.f64 1/2 (*.f64 2 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))))
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(*.f64 1/2 (-.f64 (+.f64 d4 d4) (*.f64 (+.f64 d1 d3) 4)))
(*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 (+.f64 d1 d3) 4))))
(*.f64 2 (-.f64 (*.f64 1/2 d4) (+.f64 d1 d3)))
(*.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 1)
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(*.f64 1 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))))
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(*.f64 (*.f64 2 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 1/2)
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(*.f64 (-.f64 (*.f64 2 (+.f64 d1 d3)) d4) -1)
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(*.f64 4 (/.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 4))
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(*.f64 4 (-.f64 (/.f64 d4 4) (*.f64 1/2 (+.f64 d1 d3))))
(*.f64 (*.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 4) 1/4)
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(*.f64 -1 (-.f64 (*.f64 2 (+.f64 d1 d3)) d4))
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(*.f64 1/4 (*.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 4))
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(*.f64 (-.f64 (*.f64 1/2 d4) (+.f64 d1 d3)) 2)
(*.f64 2 (-.f64 (*.f64 1/2 d4) (+.f64 d1 d3)))
(*.f64 (/.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 4) 4)
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(/.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 1)
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(/.f64 (*.f64 2 (-.f64 d4 (*.f64 2 (+.f64 d1 d3)))) 2)
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(/.f64 (-.f64 (*.f64 2 (+.f64 d1 d3)) d4) -1)
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(/.f64 (*.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 4) 4)
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(/.f64 (*.f64 2 (-.f64 (*.f64 2 (+.f64 d1 d3)) d4)) -2)
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(/.f64 (*.f64 2 (*.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 4)) 8)
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(/.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 2 (+.f64 d1 d3)) d4))) -4)
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 4))) 16)
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(/.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 2 (+.f64 d1 d3)) d4))) 2)
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 4))) (*.f64 2 (*.f64 2 (*.f64 (-.f64 d4 (*.f64 2 (+.f64 d1 d3))) 4)))) 32)
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(/.f64 (+.f64 (neg.f64 (*.f64 2 (-.f64 (*.f64 2 (+.f64 d1 d3)) d4))) (neg.f64 (*.f64 2 (-.f64 (*.f64 2 (+.f64 d1 d3)) d4)))) 4)
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(/.f64 (/.f64 (*.f64 2 (*.f64 2 (-.f64 (*.f64 2 (+.f64 d1 d3)) d4))) -1) 4)
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))
(neg.f64 (-.f64 (*.f64 2 (+.f64 d1 d3)) d4))
(+.f64 d4 (*.f64 (+.f64 d1 d3) -2))

localize5.0ms (0%)

Compiler

Compiled 12 to 6 computations (50% saved)

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)

localize6.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)

rewrite70.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
1338×bool.json-1
1338×bool.json-2
1296×rational.json-1
1296×rational.json-2
1296×rational.json-4
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
16913
219713
342913
488313
5195013
6447013
Stop Event
node limit
Counts
1 → 11
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 (*.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 (*.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 (-.f64 d2 d3) 8) d1) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 d2 d3) 8) d1)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 d2 d3) 8) d1))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 d2 d3) 8) d1))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 d2 d3) 8) d1)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 (-.f64 d2 d3) d1)))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 (-.f64 d2 d3) d1) (*.f64 (-.f64 d2 d3) d1))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 (-.f64 d2 d3) d1) (*.f64 (-.f64 d2 d3) d1))))))

simplify448.0ms (1.7%)

Algorithm
egg-herbie
Rules
4322×rational.json-simplify-2
2346×rational.json-simplify-53
2228×rational.json-simplify-35
1146×rational.json-simplify-51
1054×rational.json-simplify-1
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
043653
199503
2201503
3443503
41380503
53363503
63975503
74118503
84220503
94319503
104418503
115625503
125735503
135836503
145936503
155936503
166036503
176948503
187777503
Stop Event
node limit
Counts
35 → 19
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 (*.f64 (-.f64 d2 d3) (*.f64 d1 1/2)) (*.f64 (-.f64 d2 d3) (*.f64 d1 1/2)))
(-.f64 (*.f64 (-.f64 d2 d3) d1) 0)
(/.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 (-.f64 d2 d3) 8) d1) 8)
(/.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 d2 d3) 8) d1)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 d2 d3) 8) d1))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 d2 d3) 8) d1))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 d2 d3) 8) d1)))) 64)
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 (*.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 (*.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 (-.f64 d2 d3) 8) d1) 8)
(*.f64 d1 (-.f64 d2 d3))
(/.f64 (*.f64 2 (*.f64 (*.f64 (-.f64 d2 d3) 8) d1)) 16)
(*.f64 d1 (-.f64 d2 d3))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 d2 d3) 8) d1))) 32)
(*.f64 d1 (-.f64 d2 d3))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 d2 d3) 8) d1))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 (-.f64 d2 d3) 8) d1)))) 64)
(*.f64 d1 (-.f64 d2 d3))

localize7.0ms (0%)

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)

series5.0ms (0%)

Counts
1 → 24
Calls

6 calls:

TimeVariablePointExpression
4.0ms
d1
@0
(*.f64 (+.f64 d3 d1) (neg.f64 d1))
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
d3
@inf
(*.f64 (+.f64 d3 d1) (neg.f64 d1))

rewrite83.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
1484×rational.json-simplify-35
1432×bool.json-1
1432×bool.json-2
1378×rational.json-1
1378×rational.json-2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0817
18317
223717
351917
4113017
5259617
6544217
Stop Event
node limit
Counts
1 → 16
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 (*.f64 d1 (/.f64 (+.f64 d3 d1) -2)) (*.f64 d1 (/.f64 (+.f64 d3 d1) -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 (*.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 (neg.f64 (+.f64 d3 d1))) 8) 8)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 d3 d1) (+.f64 d1 d1)) -2)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 (*.f64 d1 (neg.f64 (+.f64 d3 d1))) 8)) 16)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (neg.f64 (+.f64 d3 d1))) 8))) 32)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (neg.f64 (+.f64 d3 d1))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (neg.f64 (+.f64 d3 d1))) 8)))) 64)))) (#(struct:change #<rule egg-rr> (2) ((x neg.f64 (*.f64 d1 (+.f64 d3 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x not (not (*.f64 d1 (neg.f64 (+.f64 d3 d1)))))))) (#(struct:change #<rule egg-rr> (2) ((x and (*.f64 d1 (neg.f64 (+.f64 d3 d1))) (*.f64 d1 (neg.f64 (+.f64 d3 d1))))))) (#(struct:change #<rule egg-rr> (2) ((x or (*.f64 d1 (neg.f64 (+.f64 d3 d1))) (*.f64 d1 (neg.f64 (+.f64 d3 d1))))))))

simplify319.0ms (1.2%)

Algorithm
egg-herbie
Rules
2768×rational.json-simplify-2
2328×rational.json-simplify-35
1558×rational.json-simplify-1
996×rational.json-simplify-48
926×rational.json-simplify-49
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
055908
1128788
2259788
3679752
42787752
54032752
64946752
75364752
85729752
95879752
107092752
117245752
127420752
137504752
Stop Event
node limit
Counts
40 → 28
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 (*.f64 d1 (/.f64 (+.f64 d3 d1) -2)) (*.f64 d1 (/.f64 (+.f64 d3 d1) -2)))
(-.f64 (*.f64 d1 (neg.f64 (+.f64 d3 d1))) 0)
(-.f64 0 (*.f64 d1 (+.f64 d3 d1)))
(/.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 (neg.f64 (+.f64 d3 d1))) 8) 8)
(/.f64 (*.f64 (+.f64 d3 d1) (+.f64 d1 d1)) -2)
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (neg.f64 (+.f64 d3 d1))) 8)) 16)
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (neg.f64 (+.f64 d3 d1))) 8))) 32)
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (neg.f64 (+.f64 d3 d1))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (neg.f64 (+.f64 d3 d1))) 8)))) 64)
(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 -1 (*.f64 d1 d3)))
(*.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 -1 (*.f64 d1 d3)))
(*.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 -1 (*.f64 d1 d3)))
(*.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))
(neg.f64 (*.f64 d1 d3))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(*.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 -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 -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))
(neg.f64 (*.f64 d1 d3))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(*.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 -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 -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))
(neg.f64 (*.f64 d1 d3))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 d3)))
(*.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 -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 -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 -1 (*.f64 d1 d3)))
(*.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 -1 (*.f64 d1 d3)))
(*.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 -1 (*.f64 d1 d3)))
(*.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 -1 (*.f64 d1 d3)))
(*.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 -1 (*.f64 d1 d3)))
(*.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 -1 (*.f64 d1 d3)))
(*.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 (*.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 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 (*.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 (neg.f64 (+.f64 d3 d1))) 8) 8)
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(/.f64 (*.f64 (+.f64 d3 d1) (+.f64 d1 d1)) -2)
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(/.f64 (*.f64 2 (*.f64 (*.f64 d1 (neg.f64 (+.f64 d3 d1))) 8)) 16)
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(/.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (neg.f64 (+.f64 d3 d1))) 8))) 32)
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(/.f64 (+.f64 (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (neg.f64 (+.f64 d3 d1))) 8))) (*.f64 2 (*.f64 2 (*.f64 (*.f64 d1 (neg.f64 (+.f64 d3 d1))) 8)))) 64)
(*.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))

eval683.0ms (2.5%)

Compiler

Compiled 2461 to 1448 computations (41.2% saved)

prune38.0ms (0.1%)

Pruning

17 alts after pruning (3 fresh and 14 done)

PrunedKeptTotal
New1941195
Fresh022
Picked011
Done11314
Total19517212
Error
0.0b
Counts
212 → 17
Alt Table
Click to see full alt table
StatusErrorProgram
7.5b
(+.f64 (*.f64 d2 d1) (*.f64 (-.f64 d4 d3) d1))
25.7b
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
26.0b
(*.f64 (-.f64 d4 d3) d1)
18.5b
(*.f64 (-.f64 d2 (+.f64 d1 d3)) d1)
25.6b
(*.f64 (-.f64 d2 d3) d1)
37.0b
(*.f64 (-.f64 d2 d1) d1)
36.5b
(*.f64 (+.f64 d3 d1) (neg.f64 d1))
43.3b
(*.f64 (neg.f64 d3) d1)
43.7b
(*.f64 d2 d1)
18.9b
(*.f64 d1 (-.f64 (+.f64 d2 d4) d1))
18.8b
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
36.8b
(*.f64 d1 (-.f64 d4 d1))
7.6b
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
25.7b
(*.f64 d1 (+.f64 d2 d4))
26.0b
(*.f64 d1 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 d3)))))
54.3b
(*.f64 d1 (neg.f64 d1))
43.5b
(*.f64 d1 d4)
Compiler

Compiled 168 to 113 computations (32.7% saved)

regimes67.0ms (0.2%)

Counts
24 → 1
Calls
Call 1
Inputs
(*.f64 d1 d4)
(*.f64 d2 d1)
(*.f64 d1 (neg.f64 d1))
(*.f64 d1 (neg.f64 d3))
(*.f64 (neg.f64 d3) d1)
(*.f64 d1 (+.f64 d2 d4))
(*.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 d2 (-.f64 d4 d3)))
(*.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 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d2 d1) (*.f64 (-.f64 d4 d3) d1))
(*.f64 d1 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 d3)))))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 d1 (-.f64 d4 d1)))
(-.f64 (-.f64 (*.f64 d2 d1) (*.f64 d1 d3)) (*.f64 d1 d1))
(*.f64 d1 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 (+.f64 d3 d1))))))
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
Outputs
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 d1 (-.f64 d4 d1)))
Calls

5 calls:

14.0ms
d3
13.0ms
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
12.0ms
d4
12.0ms
d2
11.0ms
d1
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 215 to 89 computations (58.6% saved)

regimes43.0ms (0.2%)

Counts
20 → 1
Calls
Call 1
Inputs
(*.f64 d1 d4)
(*.f64 d2 d1)
(*.f64 d1 (neg.f64 d1))
(*.f64 d1 (neg.f64 d3))
(*.f64 (neg.f64 d3) d1)
(*.f64 d1 (+.f64 d2 d4))
(*.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 d2 (-.f64 d4 d3)))
(*.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 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 d2 d1) (*.f64 (-.f64 d4 d3) d1))
(*.f64 d1 (*.f64 1/2 (+.f64 d4 (-.f64 d4 (*.f64 2 d3)))))
Outputs
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
Calls

4 calls:

10.0ms
d1
10.0ms
d3
10.0ms
d4
9.0ms
d2
Results
ErrorSegmentsBranch
0.0b1d1
0.0b1d2
0.0b1d3
0.0b1d4
Compiler

Compiled 146 to 60 computations (58.9% saved)

regimes157.0ms (0.6%)

Counts
16 → 2
Calls
Call 1
Inputs
(*.f64 d1 d4)
(*.f64 d2 d1)
(*.f64 d1 (neg.f64 d1))
(*.f64 d1 (neg.f64 d3))
(*.f64 (neg.f64 d3) d1)
(*.f64 d1 (+.f64 d2 d4))
(*.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 d2 (-.f64 d4 d3)))
(*.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))
Outputs
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
Calls

4 calls:

87.0ms
d2
29.0ms
d1
22.0ms
d3
16.0ms
d4
Results
ErrorSegmentsBranch
3.4b3d1
1.6b2d2
1.9b3d3
2.8b2d4
Compiler

Compiled 108 to 49 computations (54.6% saved)

bsearch11.0ms (0%)

Algorithm
binary-search
Steps
TimeLeftRight
11.0ms
-1.5505980258783446e-35
-2.000151320181557e-36
Results
10.0ms96×body256valid
Compiler

Compiled 170 to 113 computations (33.5% saved)

regimes283.0ms (1.1%)

Counts
12 → 2
Calls
Call 1
Inputs
(*.f64 d1 d4)
(*.f64 d2 d1)
(*.f64 d1 (neg.f64 d1))
(*.f64 d1 (neg.f64 d3))
(*.f64 (neg.f64 d3) d1)
(*.f64 d1 (+.f64 d2 d4))
(*.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 d2 (-.f64 d4 d3)))
Outputs
(*.f64 (+.f64 d3 d1) (neg.f64 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
Calls

4 calls:

255.0ms
d4
12.0ms
d1
7.0ms
d2
7.0ms
d3
Results
ErrorSegmentsBranch
5.4b2d1
7.6b1d2
7.6b1d3
7.6b1d4
Compiler

Compiled 80 to 41 computations (48.8% saved)

bsearch24.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
24.0ms
-1.0624273981776201e+80
-3.926520102053209e+73
Results
16.0ms144×body256valid
6.0ms58×body256infinite
Compiler

Compiled 233 to 161 computations (30.9% saved)

regimes118.0ms (0.4%)

Counts
11 → 5
Calls
Call 1
Inputs
(*.f64 d1 d4)
(*.f64 d2 d1)
(*.f64 d1 (neg.f64 d1))
(*.f64 d1 (neg.f64 d3))
(*.f64 (neg.f64 d3) d1)
(*.f64 d1 (+.f64 d2 d4))
(*.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 d2 d3) d1)
(*.f64 d1 (+.f64 d2 d4))
(*.f64 (-.f64 d2 d3) d1)
(*.f64 d1 (-.f64 d4 d1))
(*.f64 (-.f64 d4 d3) d1)
Calls

4 calls:

41.0ms
d1
29.0ms
d2
23.0ms
d4
23.0ms
d3
Results
ErrorSegmentsBranch
14.7b7d1
9.4b5d2
11.9b4d3
12.0b4d4
Compiler

Compiled 73 to 39 computations (46.6% saved)

bsearch54.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
13.0ms
-1.1896547294754144e-71
-5.855502612696788e-74
11.0ms
-1.5505980258783446e-35
-2.000151320181557e-36
15.0ms
-5.29140010094601e-13
-2.6962590062910024e-17
15.0ms
-6.730850551694012e+34
-1.6814698792361587e+32
Results
49.0ms464×body256valid
Compiler

Compiled 606 to 423 computations (30.2% saved)

regimes253.0ms (0.9%)

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

4 calls:

84.0ms
d3
53.0ms
d1
36.0ms
d2
21.0ms
d4
Results
ErrorSegmentsBranch
15.4b8d1
15.3b6d2
12.6b5d3
12.1b4d4
Compiler

Compiled 62 to 35 computations (43.5% saved)

bsearch54.0ms (0.2%)

Algorithm
binary-search
Steps
TimeLeftRight
17.0ms
2.3433592022743068e+145
1.8122257608560047e+151
20.0ms
8.039577033428948e+134
1.7373789613227333e+138
17.0ms
2.241785546570182e+21
5.087382878678216e+26
Results
44.0ms416×body256valid
Compiler

Compiled 546 to 381 computations (30.2% saved)

regimes105.0ms (0.4%)

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

4 calls:

38.0ms
d1
25.0ms
d2
22.0ms
d4
19.0ms
d3
Results
ErrorSegmentsBranch
19.2b6d1
19.1b4d2
16.6b3d3
19.3b3d4
Compiler

Compiled 57 to 33 computations (42.1% saved)

bsearch29.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
16.0ms
2.891421667055688e+133
9.70557162247214e+137
13.0ms
-5.357031246955967e+109
-5.3044705023872515e+107
Results
27.0ms240×body256valid
Compiler

Compiled 311 to 227 computations (27% saved)

regimes1.7s (6.3%)

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

4 calls:

1.6s
d1
36.0ms
d3
19.0ms
d4
19.0ms
d2
Results
ErrorSegmentsBranch
30.4b13d1
26.1b4d2
24.8b9d3
25.9b5d4
Compiler

Compiled 42 to 27 computations (35.7% saved)

bsearch125.0ms (0.5%)

Algorithm
binary-search
Steps
TimeLeftRight
21.0ms
0.00010800144359685021
1403104.3140440576
15.0ms
3.130947921931523e-34
2.9395397330586707e-30
20.0ms
2.4470344346806315e-129
1.9862833060354452e-120
11.0ms
4.068687762057689e-232
3.849588263858641e-231
16.0ms
-9.063675212248824e-49
-1.3684049554888778e-52
16.0ms
-7.22297040187006e+50
-7.107591142276338e+47
12.0ms
-2.5371585707213154e+83
-3.441883646222908e+82
14.0ms
-5.357031246955967e+109
-5.3044705023872515e+107
Results
113.0ms992×body256valid
Compiler

Compiled 1049 to 792 computations (24.5% saved)

regimes59.0ms (0.2%)

Accuracy

Total -32.3b remaining (-112%)

Threshold costs -32.3b (-112%)

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

4 calls:

22.0ms
d3
19.0ms
d1
10.0ms
d2
6.0ms
d4
Results
ErrorSegmentsBranch
37.9b5d1
28.8b2d2
36.1b7d3
31.5b2d4
Compiler

Compiled 34 to 24 computations (29.4% saved)

bsearch16.0ms (0.1%)

Algorithm
binary-search
Steps
TimeLeftRight
16.0ms
-6.730850551694012e+34
-1.6814698792361587e+32
Results
14.0ms128×body256valid
Compiler

Compiled 154 to 113 computations (26.6% saved)

simplify8.0ms (0%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
094558
Stop Event
fuel
saturated
Calls
Call 1
Inputs
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 d1 (-.f64 d4 d1)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(if (<=.f64 d2 -6734599544820801/2993155353253689176481146537402947624255349848014848) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))))
(if (<=.f64 d1 -12499999999999999784782659069323232093468455589251987194246890027226394263552) (*.f64 (+.f64 d3 d1) (neg.f64 d1)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(if (<=.f64 d2 -4699999999999999801849660869443584) (*.f64 (-.f64 d2 d3) d1) (if (<=.f64 d2 -5324132520958563/2535301200456458802993406410752) (*.f64 d1 (+.f64 d2 d4)) (if (<=.f64 d2 -8231177221447645/748288838313422294120286634350736906063837462003712) (*.f64 (-.f64 d2 d3) d1) (if (<=.f64 d2 -2859608609356273/248661618204893321077691124073410420050228075398673858720231988446579748506266687766528) (*.f64 d1 (-.f64 d4 d1)) (*.f64 (-.f64 d4 d3) d1)))))
(if (<=.f64 d4 28000000000000000000000) (*.f64 (-.f64 d2 d3) d1) (if (<=.f64 d4 1080000000000000068521685927853750112901738973306932622573532648573507731683130798907810982693512896958125987152832472804500971136116326400) (*.f64 d1 (+.f64 d2 d4)) (if (<=.f64 d4 23500000000000000991247300134678297708230677576330860067569720261221919464624917926386753607706961012035631228417051805498521922211725015252992000) (*.f64 (-.f64 d2 d3) d1) (*.f64 d1 (+.f64 d2 d4)))))
(if (<=.f64 d3 -11500000000000000521358707184939592363036233334898529855998430415255485665529798341546931773231983823832481792) (*.f64 d1 (neg.f64 d3)) (if (<=.f64 d3 2050000000000000010515705784958109489493153976970942740546715081587514081868009546970955012666334914149898712644828701346359622399688704) (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (neg.f64 d3))))
(if (<=.f64 d3 -17000000000000000317242254150233799071686522118718862196540367763004039537868436648615801108765370189187383296) (*.f64 d1 (neg.f64 d3)) (if (<=.f64 d3 -210000000000000002425407278430107981431700665363106426281216799164683496946254479360) (*.f64 d1 d4) (if (<=.f64 d3 -124999999999999999152618584295203497057713555243008) (*.f64 d1 (neg.f64 d3)) (if (<=.f64 d3 -5265614583427859/421249166674228746791672110734681729275580381602196445017243910144) (*.f64 d1 d4) (if (<=.f64 d3 6292727911774283/1747979975492856518824388667826833403974715525645181428798916607807071777670465341756914322865272727992514618482604963383447074020817466839626771608982213111603568988524121832413745194182066575698549805189925857389888339453536229468710863470854144) (*.f64 d2 d1) (if (<=.f64 d3 5116944619041073/46517678354918840995156723704832290198633047083988355858015372747560914439257467092876227245680868195888801382801035387746214504231337984) (*.f64 d1 d4) (if (<=.f64 d3 6028694253989975/91343852333181432387730302044767688728495783936) (*.f64 d2 d1) (if (<=.f64 d3 2700) (*.f64 d1 d4) (*.f64 d1 (neg.f64 d3))))))))))
(if (<=.f64 d2 -3399999999999999930247935816630272) (*.f64 d2 d1) (*.f64 d1 d4))
(*.f64 d1 d4)
Outputs
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 d1 (-.f64 d4 d1)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(if (<=.f64 d2 -6734599544820801/2993155353253689176481146537402947624255349848014848) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))))
(if (<=.f64 d1 -12499999999999999784782659069323232093468455589251987194246890027226394263552) (*.f64 (+.f64 d3 d1) (neg.f64 d1)) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(if (<=.f64 d2 -4699999999999999801849660869443584) (*.f64 (-.f64 d2 d3) d1) (if (<=.f64 d2 -5324132520958563/2535301200456458802993406410752) (*.f64 d1 (+.f64 d2 d4)) (if (<=.f64 d2 -8231177221447645/748288838313422294120286634350736906063837462003712) (*.f64 (-.f64 d2 d3) d1) (if (<=.f64 d2 -2859608609356273/248661618204893321077691124073410420050228075398673858720231988446579748506266687766528) (*.f64 d1 (-.f64 d4 d1)) (*.f64 (-.f64 d4 d3) d1)))))
(if (<=.f64 d4 28000000000000000000000) (*.f64 (-.f64 d2 d3) d1) (if (<=.f64 d4 1080000000000000068521685927853750112901738973306932622573532648573507731683130798907810982693512896958125987152832472804500971136116326400) (*.f64 d1 (+.f64 d2 d4)) (if (<=.f64 d4 23500000000000000991247300134678297708230677576330860067569720261221919464624917926386753607706961012035631228417051805498521922211725015252992000) (*.f64 (-.f64 d2 d3) d1) (*.f64 d1 (+.f64 d2 d4)))))
(if (<=.f64 d3 -11500000000000000521358707184939592363036233334898529855998430415255485665529798341546931773231983823832481792) (*.f64 d1 (neg.f64 d3)) (if (<=.f64 d3 2050000000000000010515705784958109489493153976970942740546715081587514081868009546970955012666334914149898712644828701346359622399688704) (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (neg.f64 d3))))
(if (<=.f64 d3 -17000000000000000317242254150233799071686522118718862196540367763004039537868436648615801108765370189187383296) (*.f64 d1 (neg.f64 d3)) (if (<=.f64 d3 -210000000000000002425407278430107981431700665363106426281216799164683496946254479360) (*.f64 d1 d4) (if (<=.f64 d3 -124999999999999999152618584295203497057713555243008) (*.f64 d1 (neg.f64 d3)) (if (<=.f64 d3 -5265614583427859/421249166674228746791672110734681729275580381602196445017243910144) (*.f64 d1 d4) (if (<=.f64 d3 6292727911774283/1747979975492856518824388667826833403974715525645181428798916607807071777670465341756914322865272727992514618482604963383447074020817466839626771608982213111603568988524121832413745194182066575698549805189925857389888339453536229468710863470854144) (*.f64 d2 d1) (if (<=.f64 d3 5116944619041073/46517678354918840995156723704832290198633047083988355858015372747560914439257467092876227245680868195888801382801035387746214504231337984) (*.f64 d1 d4) (if (<=.f64 d3 6028694253989975/91343852333181432387730302044767688728495783936) (*.f64 d2 d1) (if (<=.f64 d3 2700) (*.f64 d1 d4) (*.f64 d1 (neg.f64 d3))))))))))
(if (<=.f64 d2 -3399999999999999930247935816630272) (*.f64 d2 d1) (*.f64 d1 d4))
(*.f64 d1 d4)
Compiler

Compiled 264 to 144 computations (45.5% saved)

soundness192.0ms (0.7%)

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 101 to 27 computations (73.3% saved)

end94.0ms (0.3%)

Compiler

Compiled 258 to 106 computations (58.9% saved)

Profiling

Loading profile data...