Details

Time bar (total: 4.7s)

analyze1.2s (26.5%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
0%99.8%0.2%8
6.2%93.6%0.2%9
6.2%90.4%3.3%10
9.4%87.3%3.3%11
14%82.7%3.3%12
21.1%75.6%3.3%13
26.3%66.7%7%14
Compiler

Compiled 20 to 12 computations (40% saved)

sample1.3s (28.6%)

Results
963.0ms8256×body128valid
365.0ms3224×body128invalid
Compiler

Compiled 40 to 24 computations (40% saved)

preprocess43.0ms (0.9%)

Algorithm
egg-herbie
Rules
471×fma-neg_binary64
295×cancel-sign-sub-inv_binary64
285×unsub-neg_binary64
269×sub-neg_binary64
261×fma-def_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
040133
116998
255591
3196291
4488291
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 (-.f64 d2 d3)) (-.f64 (*.f64 d1 d4) (*.f64 d1 d1)))
(fma.f64 d1 (-.f64 d2 d3) (*.f64 d1 (-.f64 d4 d1)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d3 d1))))
(-.f64 (+.f64 (-.f64 (*.f64 d2 d1) (*.f64 d2 d3)) (*.f64 d4 d2)) (*.f64 d2 d2))
(+.f64 (*.f64 d2 (-.f64 d1 d3)) (-.f64 (*.f64 d2 d4) (*.f64 d2 d2)))
(fma.f64 d2 (-.f64 d1 d3) (*.f64 d2 (-.f64 d4 d2)))
(*.f64 d2 (-.f64 (+.f64 d1 (-.f64 d4 d3)) d2))
(*.f64 d2 (+.f64 d1 (-.f64 (-.f64 d4 d3) d2)))
(-.f64 (+.f64 (-.f64 (*.f64 d3 d2) (*.f64 d3 d1)) (*.f64 d4 d3)) (*.f64 d3 d3))
(+.f64 (*.f64 d3 (-.f64 d2 d1)) (-.f64 (*.f64 d3 d4) (*.f64 d3 d3)))
(fma.f64 d3 (-.f64 d2 d1) (*.f64 d3 (-.f64 d4 d3)))
(*.f64 d3 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(*.f64 d3 (+.f64 d2 (-.f64 d4 (+.f64 d3 d1))))
(-.f64 (+.f64 (-.f64 (*.f64 d4 d2) (*.f64 d4 d3)) (*.f64 d1 d4)) (*.f64 d4 d4))
(+.f64 (*.f64 d4 (-.f64 d2 d3)) (-.f64 (*.f64 d1 d4) (*.f64 d4 d4)))
(fma.f64 d4 (-.f64 d2 d3) (*.f64 d4 (-.f64 d1 d4)))
(*.f64 d4 (+.f64 (-.f64 d2 d3) (-.f64 d1 d4)))
(-.f64 (+.f64 (-.f64 (*.f64 d1 d3) (*.f64 d1 d2)) (*.f64 d4 d1)) (*.f64 d1 d1))
(+.f64 (*.f64 d1 (-.f64 d3 d2)) (-.f64 (*.f64 d1 d4) (*.f64 d1 d1)))
(fma.f64 d1 (-.f64 d3 d2) (*.f64 d1 (-.f64 d4 d1)))
(*.f64 d1 (-.f64 (+.f64 d4 (-.f64 d3 d2)) d1))
(*.f64 d1 (+.f64 d3 (-.f64 (-.f64 d4 d2) d1)))
(-.f64 (+.f64 (-.f64 (*.f64 d1 d4) (*.f64 d1 d3)) (*.f64 d2 d1)) (*.f64 d1 d1))
(+.f64 (*.f64 d1 (-.f64 d2 d3)) (-.f64 (*.f64 d1 d4) (*.f64 d1 d1)))
(fma.f64 d1 (-.f64 d2 d3) (*.f64 d1 (-.f64 d4 d1)))
(*.f64 d1 (+.f64 (-.f64 d2 d3) (-.f64 d4 d1)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d3 d1))))
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d4)) (*.f64 d3 d1)) (*.f64 d1 d1))
(+.f64 (*.f64 d1 (-.f64 d2 d4)) (-.f64 (*.f64 d1 d3) (*.f64 d1 d1)))
(fma.f64 d1 (-.f64 d2 d4) (*.f64 d1 (-.f64 d3 d1)))
(*.f64 d1 (-.f64 (-.f64 d2 (-.f64 d4 d3)) d1))
(*.f64 d1 (+.f64 d3 (-.f64 d2 (+.f64 d1 d4))))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d3 d1) d4)))
Symmetry

(sort d2 d4)

Compiler

Compiled 19 to 11 computations (42.1% saved)

simplify40.0ms (0.8%)

Algorithm
egg-herbie
Rules
1400×fma-neg_binary64
358×fma-def_binary64
223×sub-neg_binary64
177×unsub-neg_binary64
153×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01219
13214
210013
331613
493513
5247013
6363513
7378013
8378013
Stop Event
node limit
Counts
1 → 2
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 (-.f64 d2 d3)) (-.f64 (*.f64 d1 d4) (*.f64 d1 d1)))
(fma.f64 d1 (-.f64 d2 d3) (*.f64 d1 (-.f64 d4 d1)))
(*.f64 d1 (-.f64 (-.f64 d2 (-.f64 d3 d4)) d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d3) d1)))
(*.f64 d1 (+.f64 d2 (-.f64 (-.f64 d4 d1) d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))

prune3.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
0.0b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.0b
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
Compiler

Compiled 66 to 37 computations (43.9% saved)

localize12.0ms (0.2%)

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

series35.0ms (0.7%)

Counts
3 → 132
Calls

33 calls:

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

rewrite68.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
265×log1p-udef_binary64
155×add-sqr-sqrt_binary64
153×*-un-lft-identity_binary64
153×pow1_binary64
144×add-exp-log_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01239
128831
2454831
Stop Event
node limit
Counts
3 → 154
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 d2) (*.f64 d1 (-.f64 d3 d4)))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (/.f64 (pow.f64 (*.f64 d1 (-.f64 d2 d3)) 2) (*.f64 d1 (-.f64 (-.f64 d2 d3) d4))) (/.f64 (pow.f64 (*.f64 d1 d4) 2) (*.f64 d1 (-.f64 (-.f64 d2 d3) d4))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (+.f64 (*.f64 d1 d4) (*.f64 d1 d2)) (*.f64 d1 d3))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 d1 (+.f64 (-.f64 d2 d3) d4))))) (#(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 (-.f64 d2 d3) d4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) (pow.f64 (cbrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) 2) (cbrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 d1 (-.f64 d2 d3)) 3) (pow.f64 (*.f64 d1 d4) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 d1 (-.f64 d2 d3)) 2) (*.f64 (*.f64 d1 d4) (-.f64 (*.f64 d1 d4) (*.f64 d1 (-.f64 d2 d3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 d1 (-.f64 d2 d3)) 2) (pow.f64 (*.f64 d1 d4) 2)) (/.f64 1 (*.f64 d1 (-.f64 (-.f64 d2 d3) d4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 d1 (-.f64 d2 d3)) 2) (*.f64 (*.f64 d1 d4) (-.f64 (*.f64 d1 d4) (*.f64 d1 (-.f64 d2 d3))))) (+.f64 (pow.f64 (*.f64 d1 (-.f64 d2 d3)) 3) (pow.f64 (*.f64 d1 d4) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 d1 (-.f64 (-.f64 d2 d3) d4)) (-.f64 (pow.f64 (*.f64 d1 (-.f64 d2 d3)) 2) (pow.f64 (*.f64 d1 d4) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 d1 (-.f64 d2 d3)) 3) (pow.f64 (*.f64 d1 d4) 3)) (+.f64 (pow.f64 (*.f64 d1 (-.f64 d2 d3)) 2) (*.f64 (*.f64 d1 d4) (-.f64 (*.f64 d1 d4) (*.f64 d1 (-.f64 d2 d3))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 d1 (-.f64 d2 d3)) 3) (pow.f64 (*.f64 d1 d4) 3)) (+.f64 (pow.f64 (*.f64 d1 d4) 2) (-.f64 (pow.f64 (*.f64 d1 (-.f64 d2 d3)) 2) (*.f64 d1 (*.f64 (-.f64 d2 d3) (*.f64 d1 d4))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 d1 (-.f64 d2 d3)) 2) (pow.f64 (*.f64 d1 d4) 2)) (*.f64 d1 (-.f64 (-.f64 d2 d3) d4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (+.f64 (pow.f64 (*.f64 d1 (-.f64 d2 d3)) 3) (pow.f64 (*.f64 d1 d4) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 d1 (-.f64 d2 d3)) 2) (*.f64 (*.f64 d1 d4) (-.f64 (*.f64 d1 d4) (*.f64 d1 (-.f64 d2 d3)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 d1 (-.f64 d2 d3)) 2) (pow.f64 (*.f64 d1 d4) 2))) (neg.f64 (*.f64 d1 (-.f64 (-.f64 d2 d3) d4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 d1 d2) 3) (pow.f64 (*.f64 d1 (-.f64 d3 d4)) 3)) (+.f64 (pow.f64 (*.f64 d1 d2) 2) (+.f64 (*.f64 (*.f64 d1 (-.f64 d3 d4)) (*.f64 d1 (-.f64 d3 d4))) (*.f64 (*.f64 d1 d2) (*.f64 d1 (-.f64 d3 d4))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 d1 d2) 2) (*.f64 (*.f64 d1 (-.f64 d3 d4)) (*.f64 d1 (-.f64 d3 d4)))) (+.f64 (*.f64 d1 d2) (*.f64 d1 (-.f64 d3 d4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 d1 d4) 2) (pow.f64 (*.f64 d1 (-.f64 d2 d3)) 2)) (-.f64 (*.f64 d1 d4) (*.f64 d1 (-.f64 d2 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 d1 d2 (neg.f64 (*.f64 d1 (-.f64 d3 d4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 d1 d4 (*.f64 d1 (-.f64 d2 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 d1 (-.f64 d2 d3) (*.f64 d1 d4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 d2 d1 (neg.f64 (*.f64 d1 (-.f64 d3 d4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 d4 d1 (*.f64 d1 (-.f64 d2 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 d1 d2) (neg.f64 (*.f64 d1 (-.f64 d3 d4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 d1 (-.f64 d2 d3)) (*.f64 d1 d4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 d1 d4) (*.f64 d1 (-.f64 d2 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 d1 d4)) 2) (cbrt.f64 (*.f64 d1 d4)) (*.f64 d1 (-.f64 d2 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 d1 (-.f64 d2 d3))) 2) (cbrt.f64 (*.f64 d1 (-.f64 d2 d3))) (*.f64 d1 d4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 d1 d2)) 2) (cbrt.f64 (*.f64 d1 d2)) (neg.f64 (*.f64 d1 (-.f64 d3 d4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 d1 d4)) (sqrt.f64 (*.f64 d1 d4)) (*.f64 d1 (-.f64 d2 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 d1 (-.f64 d2 d3))) (sqrt.f64 (*.f64 d1 (-.f64 d2 d3))) (*.f64 d1 d4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 d1 d2)) (sqrt.f64 (*.f64 d1 d2)) (neg.f64 (*.f64 d1 (-.f64 d3 d4))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 d2) (+.f64 (*.f64 d1 (neg.f64 d3)) (*.f64 d1 (-.f64 d4 d1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 d1 (-.f64 d4 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 (*.f64 d1 (-.f64 d4 d1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (-.f64 d2 d3)) (+.f64 (fma.f64 (neg.f64 d3) d1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 d4) (-.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 d1 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 d4) (+.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 d1 (neg.f64 d1))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) (*.f64 d1 (neg.f64 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) (*.f64 (*.f64 d1 (neg.f64 d1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 d1 (-.f64 d2 d3) (*.f64 d1 (-.f64 d4 d1))) (fma.f64 (neg.f64 d1) d1 (*.f64 d1 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 d1 (-.f64 d2 d3) (*.f64 d1 (-.f64 d4 d1))) (fma.f64 (*.f64 d1 (neg.f64 d1)) 1 (*.f64 d1 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 d1 (-.f64 d2 d3) (*.f64 d1 (-.f64 d4 d1))) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 d1) 2)) (cbrt.f64 (pow.f64 d1 4)) (*.f64 d1 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (neg.f64 d1)) (*.f64 d1 (+.f64 (-.f64 d2 d3) 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 (fma.f64 d1 (-.f64 d2 d3) (*.f64 d1 (-.f64 d4 d1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (fma.f64 d1 (-.f64 d2 d3) (*.f64 d1 (-.f64 d4 d1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (fma.f64 d1 (-.f64 d2 d3) (*.f64 d1 (-.f64 d4 d1)))) (cbrt.f64 (pow.f64 (fma.f64 d1 (-.f64 d2 d3) (*.f64 d1 (-.f64 d4 d1))) 2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (pow.f64 (fma.f64 d1 (-.f64 d2 d3) (*.f64 d1 (-.f64 d4 d1))) 2)) (cbrt.f64 (fma.f64 d1 (-.f64 d2 d3) (*.f64 d1 (-.f64 d4 d1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (fma.f64 d1 (-.f64 d2 d3) (*.f64 d1 (-.f64 d4 d1)))) (sqrt.f64 (fma.f64 d1 (-.f64 d2 d3) (*.f64 d1 (-.f64 d4 d1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 3) (pow.f64 d1 6)) (/.f64 1 (+.f64 (+.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 2) (pow.f64 d1 4)) (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) (*.f64 d1 d1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 2) (pow.f64 d1 4)) (/.f64 1 (+.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) (*.f64 d1 d1))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1) (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (+.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 2) (pow.f64 d1 4)) (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) (*.f64 d1 d1))) (-.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 3) (pow.f64 d1 6))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) (*.f64 d1 d1)) (-.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 2) (pow.f64 d1 4))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 3) (pow.f64 d1 6)) (+.f64 (+.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 2) (pow.f64 d1 4)) (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) (*.f64 d1 d1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 2) (pow.f64 d1 4)) (+.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) (*.f64 d1 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 3) (pow.f64 d1 6))) (neg.f64 (+.f64 (+.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 2) (pow.f64 d1 4)) (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) (*.f64 d1 d1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 2) (pow.f64 d1 4))) (neg.f64 (+.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) (*.f64 d1 d1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 d1 (-.f64 d2 d3)) 3) (pow.f64 (*.f64 d1 (-.f64 d4 d1)) 3)) (+.f64 (pow.f64 (*.f64 d1 (-.f64 d2 d3)) 2) (-.f64 (*.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d4 d1))) (*.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 d1 (-.f64 d4 d1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 3) (pow.f64 (*.f64 d1 (neg.f64 d1)) 3)) (+.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 2) (-.f64 (*.f64 (*.f64 d1 (neg.f64 d1)) (*.f64 d1 (neg.f64 d1))) (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) (*.f64 d1 (neg.f64 d1))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 d1 (-.f64 d2 d3)) 2) (*.f64 (*.f64 d1 (-.f64 d4 d1)) (*.f64 d1 (-.f64 d4 d1)))) (-.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 d1 (-.f64 d4 d1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 2) (*.f64 (*.f64 d1 (neg.f64 d1)) (*.f64 d1 (neg.f64 d1)))) (-.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) (*.f64 d1 (neg.f64 d1))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (fma.f64 d1 (-.f64 d2 d3) (*.f64 d1 (-.f64 d4 d1))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (fma.f64 d1 (-.f64 d2 d3) (*.f64 d1 (-.f64 d4 d1))) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (fma.f64 d1 (-.f64 d2 d3) (*.f64 d1 (-.f64 d4 d1)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (fma.f64 d1 (-.f64 d2 d3) (*.f64 d1 (-.f64 d4 d1)))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (fma.f64 d1 (-.f64 d2 d3) (*.f64 d1 (-.f64 d4 d1))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (fma.f64 d1 (-.f64 d2 d3) (*.f64 d1 (-.f64 d4 d1)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (fma.f64 d1 (-.f64 d2 d3) (*.f64 d1 (-.f64 d4 d1))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (fma.f64 d1 (-.f64 d2 d3) (*.f64 d1 (-.f64 d4 d1))) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (fma.f64 d1 (-.f64 d2 d3) (*.f64 d1 (-.f64 d4 d1)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (fma.f64 d1 (-.f64 d2 d3) (*.f64 d1 (-.f64 d4 d1)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (fma.f64 d1 (-.f64 d2 d3) (*.f64 d1 (-.f64 d4 d1)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (fma.f64 d1 (-.f64 d2 d3) (*.f64 d1 (-.f64 d4 d1)))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 d1 (-.f64 d2 d3) (*.f64 d1 (-.f64 d4 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 d1 (-.f64 d2 d3)) (*.f64 d1 (-.f64 d4 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) (*.f64 d1 (neg.f64 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) 2) (cbrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) (*.f64 d1 (neg.f64 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 d1 (-.f64 d2 d3))) 2) (cbrt.f64 (*.f64 d1 (-.f64 d2 d3))) (*.f64 d1 (-.f64 d4 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) (*.f64 d1 (neg.f64 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 d1 (-.f64 d2 d3))) (sqrt.f64 (*.f64 d1 (-.f64 d2 d3))) (*.f64 d1 (-.f64 d4 d1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 d2) (*.f64 (*.f64 d1 (neg.f64 d3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 d2) (+.f64 (*.f64 d1 (neg.f64 d3)) (fma.f64 (neg.f64 d3) d1 (*.f64 d1 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (-.f64 d2 d3)) (fma.f64 (neg.f64 d3) d1 (*.f64 d1 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (-.f64 d2 d3)) (fma.f64 (neg.f64 d1) d3 (*.f64 d1 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (-.f64 d2 d3)) (fma.f64 (*.f64 d1 (neg.f64 d3)) 1 (*.f64 d1 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (-.f64 d2 d3)) (fma.f64 (neg.f64 (cbrt.f64 (*.f64 d1 d3))) (pow.f64 (cbrt.f64 (*.f64 d1 d3)) 2) (*.f64 d1 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (-.f64 d2 d3)) (fma.f64 (neg.f64 (sqrt.f64 (*.f64 d1 d3))) (sqrt.f64 (*.f64 d1 d3)) (*.f64 d1 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 (fma.f64 (neg.f64 d3) d1 (*.f64 d1 d3)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (-.f64 d2 d3)) (+.f64 (fma.f64 (neg.f64 d3) d1 (*.f64 d1 d3)) (fma.f64 (neg.f64 d3) d1 (*.f64 d1 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (fma.f64 (neg.f64 d3) d1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d2 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (neg.f64 d3)) (*.f64 d1 d2))))) (#(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 (pow.f64 (cbrt.f64 d1) 2) (*.f64 (cbrt.f64 d1) (-.f64 d2 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 d1 (-.f64 d2 d3))) (pow.f64 (cbrt.f64 (*.f64 d1 (-.f64 d2 d3))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 d1 (-.f64 d2 d3))) 2) (cbrt.f64 (*.f64 d1 (-.f64 d2 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 d1) (*.f64 (sqrt.f64 d1) (-.f64 d2 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 d1 (-.f64 d2 d3))) (sqrt.f64 (*.f64 d1 (-.f64 d2 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 d1 d2) 3) (pow.f64 (*.f64 d1 d3) 3)) (/.f64 1 (+.f64 (pow.f64 (*.f64 d1 d2) 2) (*.f64 (*.f64 d1 d3) (*.f64 d1 (+.f64 d2 d3))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 d1 d2) 2) (pow.f64 (*.f64 d1 d3) 2)) (/.f64 1 (*.f64 d1 (+.f64 d2 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 d2 d3) d1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (sqrt.f64 (*.f64 d1 d2)) (sqrt.f64 (*.f64 d1 d3))) (-.f64 (sqrt.f64 (*.f64 d1 d2)) (sqrt.f64 (*.f64 d1 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (+.f64 (pow.f64 (*.f64 d1 d2) 2) (*.f64 (*.f64 d1 d3) (*.f64 d1 (+.f64 d2 d3)))) (-.f64 (pow.f64 (*.f64 d1 d2) 3) (pow.f64 (*.f64 d1 d3) 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (*.f64 d1 (+.f64 d2 d3)) (-.f64 (pow.f64 (*.f64 d1 d2) 2) (pow.f64 (*.f64 d1 d3) 2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 d1 d2) 3) (pow.f64 (*.f64 d1 d3) 3)) (+.f64 (pow.f64 (*.f64 d1 d2) 2) (*.f64 (*.f64 d1 d3) (*.f64 d1 (+.f64 d2 d3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 d1 d2) 2) (pow.f64 (*.f64 d1 d3) 2)) (*.f64 d1 (+.f64 d2 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 d1 d2) 3) (pow.f64 (*.f64 d1 d3) 3))) (neg.f64 (+.f64 (pow.f64 (*.f64 d1 d2) 2) (*.f64 (*.f64 d1 d3) (*.f64 d1 (+.f64 d2 d3))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 d1 d2) 2) (pow.f64 (*.f64 d1 d3) 2))) (neg.f64 (*.f64 d1 (+.f64 d2 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 d1 d2) 3) (pow.f64 (*.f64 d1 (neg.f64 d3)) 3)) (+.f64 (pow.f64 (*.f64 d1 d2) 2) (-.f64 (*.f64 (*.f64 d1 (neg.f64 d3)) (*.f64 d1 (neg.f64 d3))) (*.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 d3))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 d1 (-.f64 d2 d3)) 3) (pow.f64 (fma.f64 (neg.f64 d3) d1 (*.f64 d1 d3)) 3)) (+.f64 (pow.f64 (*.f64 d1 (-.f64 d2 d3)) 2) (-.f64 (*.f64 (fma.f64 (neg.f64 d3) d1 (*.f64 d1 d3)) (fma.f64 (neg.f64 d3) d1 (*.f64 d1 d3))) (*.f64 (*.f64 d1 (-.f64 d2 d3)) (fma.f64 (neg.f64 d3) d1 (*.f64 d1 d3))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 d1 d2) 2) (*.f64 (*.f64 d1 (neg.f64 d3)) (*.f64 d1 (neg.f64 d3)))) (-.f64 (*.f64 d1 d2) (*.f64 d1 (neg.f64 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 d1 (-.f64 d2 d3)) 2) (*.f64 (fma.f64 (neg.f64 d3) d1 (*.f64 d1 d3)) (fma.f64 (neg.f64 d3) d1 (*.f64 d1 d3)))) (-.f64 (*.f64 d1 (-.f64 d2 d3)) (fma.f64 (neg.f64 d3) d1 (*.f64 d1 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (-.f64 d2 d3)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 d1 (-.f64 d2 d3))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 d1 (-.f64 d2 d3))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 d1 (-.f64 d2 d3)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 d1 (-.f64 d2 d3)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 d1) (-.f64 d2 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 d1 (-.f64 d2 d3)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 d1 (-.f64 d2 d3)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 d1 (-.f64 d2 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 d1 (-.f64 d2 d3))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 d1 (-.f64 d2 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 d1 (-.f64 d2 d3))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 d1 d2 (*.f64 d1 (neg.f64 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 d1 (-.f64 d2 d3) (fma.f64 (neg.f64 d3) d1 (*.f64 d1 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 d2 d1 (*.f64 d1 (neg.f64 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 d1 d2) (*.f64 d1 (neg.f64 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 d1 (-.f64 d2 d3)) (fma.f64 (neg.f64 d3) d1 (*.f64 d1 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 d1 (-.f64 d2 d3))) 2) (cbrt.f64 (*.f64 d1 (-.f64 d2 d3))) (fma.f64 (neg.f64 d3) d1 (*.f64 d1 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 d1 d2)) 2) (cbrt.f64 (*.f64 d1 d2)) (*.f64 d1 (neg.f64 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 d1 (-.f64 d2 d3))) (sqrt.f64 (*.f64 d1 (-.f64 d2 d3))) (fma.f64 (neg.f64 d3) d1 (*.f64 d1 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 d1 d2)) (sqrt.f64 (*.f64 d1 d2)) (*.f64 d1 (neg.f64 d3)))))))

simplify49.0ms (1%)

Algorithm
egg-herbie
Rules
447×fma-def_binary64
292×distribute-rgt-in_binary64
248×distribute-lft-out_binary64
240×distribute-lft-in_binary64
208×distribute-rgt-out_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0331589
1991342
22461227
37381227
427911227
Stop Event
node limit
Counts
286 → 180
Calls
Call 1
Inputs
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 -1 (*.f64 (-.f64 d3 (+.f64 d2 d4)) d1))
(*.f64 -1 (*.f64 (-.f64 d3 (+.f64 d2 d4)) d1))
(*.f64 -1 (*.f64 (-.f64 d3 (+.f64 d2 d4)) d1))
(*.f64 -1 (*.f64 (-.f64 d3 (+.f64 d2 d4)) d1))
(-.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 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 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(+.f64 (*.f64 d2 d1) (*.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 -1 (*.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 -1 (*.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 (*.f64 d2 d1) (*.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 d1 d4)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 d4)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(-.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 -1 (pow.f64 d1 2))
(-.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 -1 (pow.f64 d1 2))
(-.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 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 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 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 (*.f64 d2 d1) (*.f64 d1 d4)) (pow.f64 d1 2))
(-.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 -1 (*.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 -1 (*.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 (*.f64 d2 d1) (+.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 d1 d4)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 d1 d4)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 -1 (*.f64 (-.f64 d3 d2) d1))
(*.f64 -1 (*.f64 (-.f64 d3 d2) d1))
(*.f64 -1 (*.f64 (-.f64 d3 d2) d1))
(*.f64 -1 (*.f64 (-.f64 d3 d2) d1))
(*.f64 -1 (*.f64 d1 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(*.f64 d2 d1)
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(*.f64 d2 d1)
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(*.f64 d2 d1)
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(*.f64 -1 (*.f64 d1 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(*.f64 -1 (*.f64 d1 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
Outputs
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 -1 (*.f64 (-.f64 d3 (+.f64 d2 d4)) d1))
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 -1 (*.f64 (-.f64 d3 (+.f64 d2 d4)) d1))
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 -1 (*.f64 (-.f64 d3 (+.f64 d2 d4)) d1))
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 -1 (*.f64 (-.f64 d3 (+.f64 d2 d4)) d1))
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(-.f64 (*.f64 d1 d4) (*.f64 d1 d3))
(*.f64 d1 (-.f64 d4 d3))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 d2 d1)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 d2 d1)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(+.f64 (*.f64 d2 d1) (*.f64 d1 d4))
(fma.f64 d2 d1 (*.f64 d4 d1))
(*.f64 d1 (+.f64 d2 d4))
(*.f64 (+.f64 d2 d4) d1)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 -1 (*.f64 d1 d3))
(neg.f64 (*.f64 d3 d1))
(*.f64 d1 (neg.f64 d3))
(*.f64 d3 (neg.f64 d1))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 -1 (*.f64 d1 d3))
(neg.f64 (*.f64 d3 d1))
(*.f64 d1 (neg.f64 d3))
(*.f64 d3 (neg.f64 d1))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(*.f64 d1 (-.f64 d2 d3))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 d1 d4)
(*.f64 d4 d1)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 d1 d4)
(*.f64 d4 d1)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 (+.f64 d2 (-.f64 d4 d3)) d1)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (*.f64 d1 d1))
(*.f64 d1 (neg.f64 d1))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (*.f64 d1 d1))
(*.f64 d1 (neg.f64 d1))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(-.f64 (*.f64 d1 d4) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d4 d1) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (-.f64 d4 d3)) (*.f64 d1 d1))
(*.f64 d1 (-.f64 (-.f64 d4 d3) d1))
(*.f64 d1 (-.f64 d4 (+.f64 d3 d1)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(*.f64 d2 d1)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(*.f64 d2 d1)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (pow.f64 d1 2))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (*.f64 d1 d1))
(fma.f64 d2 d1 (*.f64 d1 (-.f64 d4 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d1) d2))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(*.f64 -1 (*.f64 d1 d3))
(neg.f64 (*.f64 d3 d1))
(*.f64 d1 (neg.f64 d3))
(*.f64 d3 (neg.f64 d1))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(*.f64 -1 (*.f64 d1 d3))
(neg.f64 (*.f64 d3 d1))
(*.f64 d1 (neg.f64 d3))
(*.f64 d3 (neg.f64 d1))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(-.f64 (*.f64 d2 d1) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 d2 d1) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d2 d1) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (-.f64 d2 d3) d1))
(*.f64 d1 (-.f64 d2 (+.f64 d3 d1)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(*.f64 d1 d4)
(*.f64 d4 d1)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(*.f64 d1 d4)
(*.f64 d4 d1)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d4 d1)) (+.f64 (*.f64 d3 d1) (*.f64 d1 d1)))
(-.f64 (*.f64 d1 (+.f64 d2 d4)) (*.f64 d1 (+.f64 d3 d1)))
(*.f64 d1 (-.f64 (+.f64 d2 d4) (+.f64 d3 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) (-.f64 d2 d1)))
(*.f64 d1 (-.f64 d2 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(*.f64 d1 (-.f64 d2 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(*.f64 d1 (-.f64 d2 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(*.f64 d1 (-.f64 d2 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(*.f64 d1 (-.f64 d2 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(*.f64 d1 (-.f64 d2 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(*.f64 d1 (-.f64 d2 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(*.f64 d1 (-.f64 d2 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(*.f64 -1 (*.f64 (-.f64 d3 d2) d1))
(-.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 -1 (*.f64 (-.f64 d3 d2) d1))
(-.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 -1 (*.f64 (-.f64 d3 d2) d1))
(-.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 -1 (*.f64 (-.f64 d3 d2) d1))
(-.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 -1 (*.f64 d1 d3))
(neg.f64 (*.f64 d3 d1))
(*.f64 d1 (neg.f64 d3))
(*.f64 d3 (neg.f64 d1))
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(*.f64 d1 (-.f64 d2 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(*.f64 d1 (-.f64 d2 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 d2 d1)
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(*.f64 d1 (-.f64 d2 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(*.f64 d1 (-.f64 d2 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 d2 d1)
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(*.f64 d1 (-.f64 d2 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(*.f64 d1 (-.f64 d2 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 d2 d1)
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(*.f64 d1 (-.f64 d2 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(*.f64 d1 (-.f64 d2 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 -1 (*.f64 d1 d3))
(neg.f64 (*.f64 d3 d1))
(*.f64 d1 (neg.f64 d3))
(*.f64 d3 (neg.f64 d1))
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(*.f64 d1 (-.f64 d2 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(*.f64 d1 (-.f64 d2 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(*.f64 d1 (-.f64 d2 d3))
(*.f64 -1 (*.f64 d1 d3))
(neg.f64 (*.f64 d3 d1))
(*.f64 d1 (neg.f64 d3))
(*.f64 d3 (neg.f64 d1))
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(*.f64 d1 (-.f64 d2 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(*.f64 d1 (-.f64 d2 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d1 d3))
(-.f64 (*.f64 d2 d1) (*.f64 d3 d1))
(*.f64 d1 (-.f64 d2 d3))

prune122.0ms (2.6%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New1791180
Fresh000
Picked011
Done000
Total1792181
Error
0b
Counts
181 → 2
Alt Table
StatusErrorProgram
0.0b
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
32.5b
(*.f64 (+.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1) (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1))
Compiler

Compiled 3602 to 905 computations (74.9% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1)
0.0b
(*.f64 d1 (+.f64 (-.f64 d2 d3) d4))
0.2b
(*.f64 (+.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1) (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1))
1.5b
(sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)))

series894.0ms (19%)

Counts
4 → 88
Calls

48 calls:

TimeVariablePointExpression
152.0ms
d1
@0
(*.f64 (+.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1) (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1))
65.0ms
d1
@-inf
(*.f64 (+.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1) (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1))
63.0ms
d1
@inf
(*.f64 (+.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1) (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1))
48.0ms
d2
@inf
(*.f64 (+.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1) (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1))
45.0ms
d2
@-inf
(*.f64 (+.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1) (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1))

rewrite79.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
261×expm1-udef_binary64
261×log1p-udef_binary64
153×add-sqr-sqrt_binary64
151×*-un-lft-identity_binary64
151×pow1_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01269
128250
2447250
Stop Event
node limit
Counts
4 → 144
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)))
(*.f64 (+.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1) (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1))
(*.f64 d1 (+.f64 (-.f64 d2 d3) d4))
(-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1)
Outputs
((#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) (cbrt.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)))) (cbrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 d1) (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 1/4) (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 1/4))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)) (sqrt.f64 d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 1 1/2) (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (pow.f64 (cbrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) 2) 1/2) (pow.f64 (cbrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 1/4) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 3/2) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x fabs.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 3/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) 1/2))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)))))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) (neg.f64 (*.f64 d1 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) (*.f64 (neg.f64 d1) d1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (-.f64 (+.f64 (-.f64 d2 d3) d4) d1)) (fma.f64 (neg.f64 d1) d1 (*.f64 d1 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (-.f64 d2 d3)) (-.f64 (*.f64 d1 d4) (*.f64 d1 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) (fma.f64 (sqrt.f64 d1) (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)) d1)) (*.f64 (neg.f64 d1) (fma.f64 (sqrt.f64 d1) (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)) d1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1)) (*.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1)) (*.f64 d1 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (fma.f64 (sqrt.f64 d1) (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)) d1) (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)))) (*.f64 (fma.f64 (sqrt.f64 d1) (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)) d1) (neg.f64 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1) d1) (*.f64 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1) (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1) (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)))) (*.f64 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1) d1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) (*.f64 d1 d1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 d1 (-.f64 (+.f64 (-.f64 d2 d3) d4) d1)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (pow.f64 (*.f64 d1 (-.f64 (+.f64 (-.f64 d2 d3) d4) d1)) 2) (*.f64 d1 (-.f64 (+.f64 (-.f64 d2 d3) d4) d1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 (-.f64 (+.f64 (-.f64 d2 d3) d4) d1)) (+.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 3/2) (pow.f64 d1 3))) (*.f64 (fma.f64 (sqrt.f64 d1) (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)) d1) (fma.f64 d1 (+.f64 (-.f64 d2 d3) d4) (*.f64 d1 (-.f64 d1 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 3/2) (pow.f64 d1 3)) (*.f64 d1 (-.f64 (+.f64 (-.f64 d2 d3) d4) d1))) (+.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 3/2) (pow.f64 d1 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 3/2) (pow.f64 d1 3)) (-.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 3/2) (pow.f64 d1 3))) (*.f64 (fma.f64 d1 (+.f64 (-.f64 d2 d3) d4) (*.f64 d1 (-.f64 d1 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)))))) (fma.f64 d1 (+.f64 (-.f64 d2 d3) d4) (*.f64 d1 (fma.f64 (sqrt.f64 d1) (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)) d1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 (-.f64 (+.f64 (-.f64 d2 d3) d4) d1)) (-.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 3/2) (pow.f64 d1 3))) (*.f64 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1) (fma.f64 d1 (+.f64 (-.f64 d2 d3) d4) (*.f64 d1 (fma.f64 (sqrt.f64 d1) (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)) d1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 3/2) (pow.f64 d1 3)) (+.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 3/2) (pow.f64 d1 3))) (*.f64 (fma.f64 d1 (+.f64 (-.f64 d2 d3) d4) (*.f64 d1 (fma.f64 (sqrt.f64 d1) (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)) d1))) (fma.f64 d1 (+.f64 (-.f64 d2 d3) d4) (*.f64 d1 (-.f64 d1 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 3/2) (pow.f64 d1 3)) (*.f64 d1 (-.f64 (+.f64 (-.f64 d2 d3) d4) d1))) (-.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 3/2) (pow.f64 d1 3)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 3) (pow.f64 (*.f64 d1 d1) 3)) (+.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 2) (+.f64 (*.f64 (*.f64 d1 d1) (*.f64 d1 d1)) (*.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) (*.f64 d1 d1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 2) (*.f64 (*.f64 d1 d1) (*.f64 d1 d1))) (+.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) (*.f64 d1 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 (-.f64 (+.f64 (-.f64 d2 d3) d4) d1)) (fma.f64 (sqrt.f64 d1) (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)) d1)) (fma.f64 (sqrt.f64 d1) (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)) d1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 3/2) (pow.f64 d1 3)) (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1)) (fma.f64 d1 (+.f64 (-.f64 d2 d3) d4) (*.f64 d1 (-.f64 d1 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (*.f64 d1 (-.f64 (+.f64 (-.f64 d2 d3) d4) d1)) (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1)) (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 3/2) (pow.f64 d1 3)) (fma.f64 (sqrt.f64 d1) (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)) d1)) (fma.f64 d1 (+.f64 (-.f64 d2 d3) d4) (*.f64 d1 (fma.f64 (sqrt.f64 d1) (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)) d1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 (sqrt.f64 d1) (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)) d1) (*.f64 d1 (-.f64 (+.f64 (-.f64 d2 d3) d4) d1))) (fma.f64 (sqrt.f64 d1) (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)) d1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (fma.f64 (sqrt.f64 d1) (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)) d1) (-.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 3/2) (pow.f64 d1 3))) (fma.f64 d1 (+.f64 (-.f64 d2 d3) d4) (*.f64 d1 (fma.f64 (sqrt.f64 d1) (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)) d1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1) (+.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 3/2) (pow.f64 d1 3))) (fma.f64 d1 (+.f64 (-.f64 d2 d3) d4) (*.f64 d1 (-.f64 d1 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1) (*.f64 d1 (-.f64 (+.f64 (-.f64 d2 d3) d4) d1))) (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 d1 (-.f64 (+.f64 (-.f64 d2 d3) d4) d1)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 d1 (-.f64 (+.f64 (-.f64 d2 d3) d4) d1))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 d1 (-.f64 (+.f64 (-.f64 d2 d3) d4) d1))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (-.f64 (+.f64 (-.f64 d2 d3) d4) d1)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 d1 (-.f64 (+.f64 (-.f64 d2 d3) d4) d1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 d1 (-.f64 (+.f64 (-.f64 d2 d3) d4) d1))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 d1 (-.f64 (+.f64 (-.f64 d2 d3) d4) d1)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 d1 (-.f64 (+.f64 (-.f64 d2 d3) d4) d1)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (fma.f64 (sqrt.f64 d1) (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)) d1) 3) (pow.f64 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1) 3) (pow.f64 (fma.f64 (sqrt.f64 d1) (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)) d1) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 d1 (-.f64 (+.f64 (-.f64 d2 d3) d4) d1))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 d1 (-.f64 (+.f64 (-.f64 d2 d3) d4) d1))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 d1 (-.f64 (+.f64 (-.f64 d2 d3) d4) d1))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 d1 (-.f64 (+.f64 (-.f64 d2 d3) d4) d1))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 d1 (+.f64 (-.f64 d2 d3) d4) (neg.f64 (*.f64 d1 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (+.f64 (-.f64 d2 d3) d4) d1 (neg.f64 (*.f64 d1 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) (neg.f64 (*.f64 d1 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) (neg.f64 (*.f64 d1 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (cbrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) 2) (cbrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) (neg.f64 (*.f64 d1 d1)))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 d1 d4))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 d4) (*.f64 d1 (-.f64 d2 d3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 d1 (-.f64 d2 d3)) 1) (*.f64 (*.f64 d1 d4) 1))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 d1 (-.f64 d2 d3)) 3) (pow.f64 (*.f64 d1 d4) 3)) (+.f64 (*.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 d1 (-.f64 d2 d3))) (-.f64 (*.f64 (*.f64 d1 d4) (*.f64 d1 d4)) (*.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 d1 d4)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 d1 (-.f64 d2 d3))) (*.f64 (*.f64 d1 d4) (*.f64 d1 d4))) (-.f64 (*.f64 d1 (-.f64 d2 d3)) (*.f64 d1 d4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (+.f64 (pow.f64 (-.f64 d2 d3) 3) (pow.f64 d4 3)) d1) (+.f64 (pow.f64 (-.f64 d2 d3) 2) (*.f64 d4 (-.f64 d4 (-.f64 d2 d3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 (-.f64 (pow.f64 (-.f64 d2 d3) 2) (*.f64 d4 d4)) d1) (-.f64 d2 (+.f64 d3 d4)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (+.f64 (pow.f64 (-.f64 d2 d3) 3) (pow.f64 d4 3))) (+.f64 (pow.f64 (-.f64 d2 d3) 2) (*.f64 d4 (-.f64 d4 (-.f64 d2 d3)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (-.f64 (pow.f64 (-.f64 d2 d3) 2) (*.f64 d4 d4))) (-.f64 d2 (+.f64 d3 d4)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 2) 1/2)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (pow.f64 (exp.f64 d1) (+.f64 (-.f64 d2 d3) d4)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 d1 3) (pow.f64 (+.f64 (-.f64 d2 d3) d4) 3)))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (*.f64 (pow.f64 (+.f64 (-.f64 d2 d3) d4) 3) (pow.f64 d1 3)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 d1 (-.f64 d2 d3) (*.f64 d1 d4))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (-.f64 d2 d3) d1 (*.f64 d1 d4))))))
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) (neg.f64 d1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) (*.f64 (neg.f64 d1) 1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1) (fma.f64 (neg.f64 d1) 1 d1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1) (fma.f64 (neg.f64 (cbrt.f64 d1)) (pow.f64 (cbrt.f64 d1) 2) d1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1) (fma.f64 (neg.f64 (sqrt.f64 d1)) (sqrt.f64 d1) d1))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (neg.f64 d1) (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1)) (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1)) 2) (cbrt.f64 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1)) (sqrt.f64 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 d1) (-.f64 (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)) (sqrt.f64 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (-.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 3/2) (pow.f64 d1 3)) (/.f64 1 (fma.f64 d1 (+.f64 (-.f64 d2 d3) d4) (*.f64 d1 (fma.f64 (sqrt.f64 d1) (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)) d1)))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (-.f64 (+.f64 (-.f64 d2 d3) d4) d1)) (/.f64 1 (fma.f64 (sqrt.f64 d1) (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)) d1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (+.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 1/4) (sqrt.f64 d1)) (-.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 1/4) (sqrt.f64 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 d1 (-.f64 (+.f64 (-.f64 d2 d3) d4) d1)) (+.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 3/2) (pow.f64 d1 3))) (fma.f64 d1 (+.f64 (-.f64 d2 d3) d4) (*.f64 d1 (-.f64 d1 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)))))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (/.f64 (*.f64 d1 (-.f64 (+.f64 (-.f64 d2 d3) d4) d1)) (*.f64 d1 (-.f64 (+.f64 (-.f64 d2 d3) d4) d1))) (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 d1 (+.f64 (-.f64 d2 d3) d4) (*.f64 d1 (fma.f64 (sqrt.f64 d1) (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)) d1))) (-.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 3/2) (pow.f64 d1 3))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 1 (/.f64 (fma.f64 (sqrt.f64 d1) (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)) d1) (*.f64 d1 (-.f64 (+.f64 (-.f64 d2 d3) d4) d1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 3/2) (pow.f64 d1 3)) (fma.f64 d1 (+.f64 (-.f64 d2 d3) d4) (*.f64 d1 (fma.f64 (sqrt.f64 d1) (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)) d1))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (*.f64 d1 (-.f64 (+.f64 (-.f64 d2 d3) d4) d1)) (fma.f64 (sqrt.f64 d1) (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)) d1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (-.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 3/2) (pow.f64 d1 3))) (neg.f64 (fma.f64 d1 (+.f64 (-.f64 d2 d3) d4) (*.f64 d1 (fma.f64 (sqrt.f64 d1) (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)) d1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (neg.f64 (*.f64 d1 (-.f64 (+.f64 (-.f64 d2 d3) d4) d1))) (neg.f64 (fma.f64 (sqrt.f64 d1) (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)) d1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 3/2) (pow.f64 (neg.f64 d1) 3)) (+.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) (-.f64 (*.f64 (neg.f64 d1) (neg.f64 d1)) (*.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) (neg.f64 d1)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) (*.f64 (neg.f64 d1) (neg.f64 d1))) (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) (neg.f64 d1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 d1 (-.f64 (+.f64 (-.f64 d2 d3) d4) d1)) 1) (fma.f64 (sqrt.f64 d1) (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)) d1))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 d1 (-.f64 (+.f64 (-.f64 d2 d3) d4) d1)) (pow.f64 (cbrt.f64 (fma.f64 (sqrt.f64 d1) (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)) d1)) 2)) (cbrt.f64 (fma.f64 (sqrt.f64 d1) (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)) d1)))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (/.f64 (*.f64 d1 (-.f64 (+.f64 (-.f64 d2 d3) d4) d1)) (sqrt.f64 (fma.f64 (sqrt.f64 d1) (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)) d1))) (sqrt.f64 (fma.f64 (sqrt.f64 d1) (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)) d1)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1)) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1)) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1)))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1)))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1)) 1))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1)))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1)))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 1 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) (neg.f64 d1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (cbrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) (cbrt.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)))) (neg.f64 d1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (sqrt.f64 d1) (sqrt.f64 (+.f64 (-.f64 d2 d3) d4)) (neg.f64 d1))))) (#(struct:change #<rule egg-rr> (2) ((x fma.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 1/4) (pow.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4)) 1/4) (neg.f64 d1))))))

simplify55.0ms (1.2%)

Algorithm
egg-herbie
Rules
975×fma-neg_binary64
537×fma-def_binary64
242×cancel-sign-sub-inv_binary64
224×associate-*r*_binary64
218×associate-*l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01271622
13781572
211141554
341671552
Stop Event
node limit
Counts
232 → 213
Calls
Call 1
Inputs
(sqrt.f64 (*.f64 d1 (-.f64 d4 d3)))
(+.f64 (sqrt.f64 (*.f64 d1 (-.f64 d4 d3))) (*.f64 1/2 (*.f64 d2 (sqrt.f64 (/.f64 d1 (-.f64 d4 d3))))))
(-.f64 (+.f64 (sqrt.f64 (*.f64 d1 (-.f64 d4 d3))) (*.f64 1/2 (*.f64 d2 (sqrt.f64 (/.f64 d1 (-.f64 d4 d3)))))) (*.f64 1/8 (*.f64 (pow.f64 d2 2) (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d4 d3) 3))))))
(-.f64 (+.f64 (sqrt.f64 (*.f64 d1 (-.f64 d4 d3))) (+.f64 (*.f64 1/16 (*.f64 (pow.f64 d2 3) (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d4 d3) 5))))) (*.f64 1/2 (*.f64 d2 (sqrt.f64 (/.f64 d1 (-.f64 d4 d3))))))) (*.f64 1/8 (*.f64 (pow.f64 d2 2) (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d4 d3) 3))))))
(sqrt.f64 (*.f64 (+.f64 d2 d4) d1))
(-.f64 (sqrt.f64 (*.f64 (+.f64 d2 d4) d1)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 d1 (+.f64 d2 d4))) d3)))
(-.f64 (sqrt.f64 (*.f64 (+.f64 d2 d4) d1)) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 d1 (+.f64 d2 d4))) d3)) (*.f64 1/8 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (+.f64 d2 d4) 3))) (pow.f64 d3 2)))))
(-.f64 (sqrt.f64 (*.f64 (+.f64 d2 d4) d1)) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 d1 (+.f64 d2 d4))) d3)) (+.f64 (*.f64 1/8 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (+.f64 d2 d4) 3))) (pow.f64 d3 2))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (+.f64 d2 d4) 5))) (pow.f64 d3 3))))))
(sqrt.f64 (*.f64 d1 (-.f64 d2 d3)))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 d1 (-.f64 d2 d3))) d4)) (sqrt.f64 (*.f64 d1 (-.f64 d2 d3))))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 d1 (-.f64 d2 d3))) d4)) (sqrt.f64 (*.f64 d1 (-.f64 d2 d3)))) (*.f64 1/8 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d2 d3) 3))) (pow.f64 d4 2))))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 d1 (-.f64 d2 d3))) d4)) (+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d2 d3) 5))) (pow.f64 d4 3))) (sqrt.f64 (*.f64 d1 (-.f64 d2 d3))))) (*.f64 1/8 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d2 d3) 3))) (pow.f64 d4 2))))
(*.f64 -1 (pow.f64 d1 2))
(*.f64 -1 (pow.f64 d1 2))
(*.f64 (+.f64 (sqrt.f64 (*.f64 d1 (-.f64 d4 d3))) d1) (-.f64 (sqrt.f64 (*.f64 d1 (-.f64 d4 d3))) d1))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d3))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d3))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d3))) (pow.f64 d1 2))
(*.f64 (-.f64 (sqrt.f64 (*.f64 (+.f64 d2 d4) d1)) d1) (+.f64 d1 (sqrt.f64 (*.f64 (+.f64 d2 d4) d1))))
(-.f64 (*.f64 (+.f64 d2 d4) d1) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 (+.f64 d2 d4) d1) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (*.f64 (+.f64 d2 d4) d1) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(*.f64 (+.f64 d1 (sqrt.f64 (*.f64 d1 (-.f64 d2 d3)))) (-.f64 (sqrt.f64 (*.f64 d1 (-.f64 d2 d3))) d1))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d1 (-.f64 d2 d3))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d1 (-.f64 d2 d3))) (pow.f64 d1 2))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d1 (-.f64 d2 d3))) (pow.f64 d1 2))
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 d1 (-.f64 d4 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 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 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 (+.f64 d2 d4) d1)
(-.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 -1 (*.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 -1 (*.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 d1 (-.f64 d2 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 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 -1 d1)
(*.f64 -1 d1)
(-.f64 (sqrt.f64 (*.f64 d1 (-.f64 d4 d3))) d1)
(-.f64 (+.f64 (sqrt.f64 (*.f64 d1 (-.f64 d4 d3))) (*.f64 1/2 (*.f64 d2 (sqrt.f64 (/.f64 d1 (-.f64 d4 d3)))))) d1)
(-.f64 (+.f64 (sqrt.f64 (*.f64 d1 (-.f64 d4 d3))) (*.f64 1/2 (*.f64 d2 (sqrt.f64 (/.f64 d1 (-.f64 d4 d3)))))) (+.f64 d1 (*.f64 1/8 (*.f64 (pow.f64 d2 2) (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d4 d3) 3)))))))
(-.f64 (+.f64 (sqrt.f64 (*.f64 d1 (-.f64 d4 d3))) (+.f64 (*.f64 1/16 (*.f64 (pow.f64 d2 3) (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d4 d3) 5))))) (*.f64 1/2 (*.f64 d2 (sqrt.f64 (/.f64 d1 (-.f64 d4 d3))))))) (+.f64 d1 (*.f64 1/8 (*.f64 (pow.f64 d2 2) (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d4 d3) 3)))))))
(-.f64 (sqrt.f64 (*.f64 (+.f64 d2 d4) d1)) d1)
(-.f64 (sqrt.f64 (*.f64 (+.f64 d2 d4) d1)) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 d1 (+.f64 d2 d4))) d3)) d1))
(-.f64 (sqrt.f64 (*.f64 (+.f64 d2 d4) d1)) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 d1 (+.f64 d2 d4))) d3)) (+.f64 d1 (*.f64 1/8 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (+.f64 d2 d4) 3))) (pow.f64 d3 2))))))
(-.f64 (sqrt.f64 (*.f64 (+.f64 d2 d4) d1)) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 d1 (+.f64 d2 d4))) d3)) (+.f64 d1 (+.f64 (*.f64 1/8 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (+.f64 d2 d4) 3))) (pow.f64 d3 2))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (+.f64 d2 d4) 5))) (pow.f64 d3 3)))))))
(-.f64 (sqrt.f64 (*.f64 d1 (-.f64 d2 d3))) d1)
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 d1 (-.f64 d2 d3))) d4)) (sqrt.f64 (*.f64 d1 (-.f64 d2 d3)))) d1)
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 d1 (-.f64 d2 d3))) d4)) (sqrt.f64 (*.f64 d1 (-.f64 d2 d3)))) (+.f64 (*.f64 1/8 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d2 d3) 3))) (pow.f64 d4 2))) d1))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 d1 (-.f64 d2 d3))) d4)) (+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d2 d3) 5))) (pow.f64 d4 3))) (sqrt.f64 (*.f64 d1 (-.f64 d2 d3))))) (+.f64 (*.f64 1/8 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d2 d3) 3))) (pow.f64 d4 2))) d1))
Outputs
(sqrt.f64 (*.f64 d1 (-.f64 d4 d3)))
(+.f64 (sqrt.f64 (*.f64 d1 (-.f64 d4 d3))) (*.f64 1/2 (*.f64 d2 (sqrt.f64 (/.f64 d1 (-.f64 d4 d3))))))
(+.f64 (sqrt.f64 (*.f64 d1 (-.f64 d4 d3))) (*.f64 (*.f64 1/2 d2) (sqrt.f64 (/.f64 d1 (-.f64 d4 d3)))))
(fma.f64 1/2 (*.f64 d2 (sqrt.f64 (/.f64 d1 (-.f64 d4 d3)))) (sqrt.f64 (*.f64 d1 (-.f64 d4 d3))))
(-.f64 (+.f64 (sqrt.f64 (*.f64 d1 (-.f64 d4 d3))) (*.f64 1/2 (*.f64 d2 (sqrt.f64 (/.f64 d1 (-.f64 d4 d3)))))) (*.f64 1/8 (*.f64 (pow.f64 d2 2) (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d4 d3) 3))))))
(+.f64 (sqrt.f64 (*.f64 d1 (-.f64 d4 d3))) (-.f64 (*.f64 (*.f64 1/2 d2) (sqrt.f64 (/.f64 d1 (-.f64 d4 d3)))) (*.f64 (*.f64 1/8 (*.f64 d2 d2)) (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d4 d3) 3))))))
(+.f64 (sqrt.f64 (*.f64 d1 (-.f64 d4 d3))) (fma.f64 1/2 (*.f64 d2 (sqrt.f64 (/.f64 d1 (-.f64 d4 d3)))) (*.f64 (*.f64 -1/8 (*.f64 d2 d2)) (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d4 d3) 3))))))
(fma.f64 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d4 d3) 3))) (*.f64 d2 d2)) -1/8 (fma.f64 1/2 (*.f64 d2 (sqrt.f64 (/.f64 d1 (-.f64 d4 d3)))) (sqrt.f64 (*.f64 d1 (-.f64 d4 d3)))))
(-.f64 (+.f64 (sqrt.f64 (*.f64 d1 (-.f64 d4 d3))) (+.f64 (*.f64 1/16 (*.f64 (pow.f64 d2 3) (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d4 d3) 5))))) (*.f64 1/2 (*.f64 d2 (sqrt.f64 (/.f64 d1 (-.f64 d4 d3))))))) (*.f64 1/8 (*.f64 (pow.f64 d2 2) (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d4 d3) 3))))))
(+.f64 (sqrt.f64 (*.f64 d1 (-.f64 d4 d3))) (-.f64 (fma.f64 1/16 (*.f64 (pow.f64 d2 3) (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d4 d3) 5)))) (*.f64 (*.f64 1/2 d2) (sqrt.f64 (/.f64 d1 (-.f64 d4 d3))))) (*.f64 (*.f64 1/8 (*.f64 d2 d2)) (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d4 d3) 3))))))
(+.f64 (sqrt.f64 (*.f64 d1 (-.f64 d4 d3))) (+.f64 (*.f64 1/16 (*.f64 (pow.f64 d2 3) (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d4 d3) 5))))) (fma.f64 1/2 (*.f64 d2 (sqrt.f64 (/.f64 d1 (-.f64 d4 d3)))) (*.f64 (*.f64 -1/8 (*.f64 d2 d2)) (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d4 d3) 3)))))))
(fma.f64 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d4 d3) 3))) (*.f64 d2 d2)) -1/8 (fma.f64 1/2 (*.f64 d2 (sqrt.f64 (/.f64 d1 (-.f64 d4 d3)))) (fma.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d4 d3) 5))) (*.f64 1/16 (pow.f64 d2 3)) (sqrt.f64 (*.f64 d1 (-.f64 d4 d3))))))
(sqrt.f64 (*.f64 (+.f64 d2 d4) d1))
(sqrt.f64 (*.f64 d1 (+.f64 d4 d2)))
(-.f64 (sqrt.f64 (*.f64 (+.f64 d2 d4) d1)) (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 d1 (+.f64 d2 d4))) d3)))
(+.f64 (sqrt.f64 (*.f64 d1 (+.f64 d4 d2))) (*.f64 -1/2 (*.f64 d3 (sqrt.f64 (/.f64 d1 (+.f64 d4 d2))))))
(+.f64 (sqrt.f64 (*.f64 d1 (+.f64 d4 d2))) (*.f64 (*.f64 d3 (sqrt.f64 (/.f64 d1 (+.f64 d4 d2)))) -1/2))
(fma.f64 (*.f64 d3 (sqrt.f64 (/.f64 d1 (+.f64 d4 d2)))) -1/2 (sqrt.f64 (*.f64 d1 (+.f64 d4 d2))))
(-.f64 (sqrt.f64 (*.f64 (+.f64 d2 d4) d1)) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 d1 (+.f64 d2 d4))) d3)) (*.f64 1/8 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (+.f64 d2 d4) 3))) (pow.f64 d3 2)))))
(-.f64 (sqrt.f64 (*.f64 d1 (+.f64 d4 d2))) (fma.f64 1/2 (*.f64 d3 (sqrt.f64 (/.f64 d1 (+.f64 d4 d2)))) (*.f64 1/8 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (+.f64 d4 d2) 3))) (*.f64 d3 d3)))))
(+.f64 (sqrt.f64 (*.f64 d1 (+.f64 d4 d2))) (*.f64 d3 (-.f64 (*.f64 (sqrt.f64 (/.f64 d1 (+.f64 d4 d2))) -1/2) (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (+.f64 d4 d2) 3))) (*.f64 1/8 d3)))))
(-.f64 (sqrt.f64 (*.f64 (+.f64 d2 d4) d1)) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 d1 (+.f64 d2 d4))) d3)) (+.f64 (*.f64 1/8 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (+.f64 d2 d4) 3))) (pow.f64 d3 2))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (+.f64 d2 d4) 5))) (pow.f64 d3 3))))))
(-.f64 (sqrt.f64 (*.f64 d1 (+.f64 d4 d2))) (fma.f64 1/2 (*.f64 d3 (sqrt.f64 (/.f64 d1 (+.f64 d4 d2)))) (fma.f64 1/8 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (+.f64 d4 d2) 3))) (*.f64 d3 d3)) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (+.f64 d4 d2) 5))) (pow.f64 d3 3))))))
(-.f64 (sqrt.f64 (*.f64 d1 (+.f64 d4 d2))) (fma.f64 d3 (*.f64 1/2 (sqrt.f64 (/.f64 d1 (+.f64 d4 d2)))) (*.f64 (*.f64 d3 d3) (+.f64 (*.f64 1/8 (sqrt.f64 (/.f64 d1 (pow.f64 (+.f64 d4 d2) 3)))) (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (+.f64 d4 d2) 5))) (*.f64 1/16 d3))))))
(+.f64 (sqrt.f64 (*.f64 d1 (+.f64 d4 d2))) (fma.f64 d3 (-.f64 (*.f64 (sqrt.f64 (/.f64 d1 (+.f64 d4 d2))) -1/2) (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (+.f64 d4 d2) 3))) (*.f64 1/8 d3))) (*.f64 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (+.f64 d4 d2) 5))) (pow.f64 d3 3)) -1/16)))
(sqrt.f64 (*.f64 d1 (-.f64 d2 d3)))
(+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 d1 (-.f64 d2 d3))) d4)) (sqrt.f64 (*.f64 d1 (-.f64 d2 d3))))
(fma.f64 1/2 (*.f64 d4 (sqrt.f64 (/.f64 d1 (-.f64 d2 d3)))) (sqrt.f64 (*.f64 d1 (-.f64 d2 d3))))
(fma.f64 d4 (*.f64 1/2 (sqrt.f64 (/.f64 d1 (-.f64 d2 d3)))) (sqrt.f64 (*.f64 d1 (-.f64 d2 d3))))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 d1 (-.f64 d2 d3))) d4)) (sqrt.f64 (*.f64 d1 (-.f64 d2 d3)))) (*.f64 1/8 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d2 d3) 3))) (pow.f64 d4 2))))
(+.f64 (fma.f64 1/2 (*.f64 d4 (sqrt.f64 (/.f64 d1 (-.f64 d2 d3)))) (sqrt.f64 (*.f64 d1 (-.f64 d2 d3)))) (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d2 d3) 3))) (*.f64 d4 d4))))
(+.f64 (fma.f64 1/2 (*.f64 d4 (sqrt.f64 (/.f64 d1 (-.f64 d2 d3)))) (sqrt.f64 (*.f64 d1 (-.f64 d2 d3)))) (*.f64 (*.f64 d4 (*.f64 d4 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d2 d3) 3))))) -1/8))
(fma.f64 (*.f64 d4 (*.f64 d4 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d2 d3) 3))))) -1/8 (fma.f64 d4 (*.f64 1/2 (sqrt.f64 (/.f64 d1 (-.f64 d2 d3)))) (sqrt.f64 (*.f64 d1 (-.f64 d2 d3)))))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 d1 (-.f64 d2 d3))) d4)) (+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d2 d3) 5))) (pow.f64 d4 3))) (sqrt.f64 (*.f64 d1 (-.f64 d2 d3))))) (*.f64 1/8 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d2 d3) 3))) (pow.f64 d4 2))))
(+.f64 (fma.f64 1/2 (*.f64 d4 (sqrt.f64 (/.f64 d1 (-.f64 d2 d3)))) (fma.f64 1/16 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d2 d3) 5))) (pow.f64 d4 3)) (sqrt.f64 (*.f64 d1 (-.f64 d2 d3))))) (*.f64 -1/8 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d2 d3) 3))) (*.f64 d4 d4))))
(+.f64 (fma.f64 1/2 (*.f64 d4 (sqrt.f64 (/.f64 d1 (-.f64 d2 d3)))) (fma.f64 1/16 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d2 d3) 5))) (pow.f64 d4 3)) (sqrt.f64 (*.f64 d1 (-.f64 d2 d3))))) (*.f64 (*.f64 d4 (*.f64 d4 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d2 d3) 3))))) -1/8))
(fma.f64 (*.f64 d4 (*.f64 d4 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d2 d3) 3))))) -1/8 (fma.f64 d4 (*.f64 1/2 (sqrt.f64 (/.f64 d1 (-.f64 d2 d3)))) (fma.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d2 d3) 5))) (*.f64 1/16 (pow.f64 d4 3)) (sqrt.f64 (*.f64 d1 (-.f64 d2 d3))))))
(+.f64 (fma.f64 d4 (*.f64 1/2 (sqrt.f64 (/.f64 d1 (-.f64 d2 d3)))) (sqrt.f64 (*.f64 d1 (-.f64 d2 d3)))) (*.f64 (*.f64 d4 d4) (fma.f64 d4 (*.f64 1/16 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d2 d3) 5)))) (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d2 d3) 3))) -1/8))))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (*.f64 d1 d1))
(*.f64 d1 (neg.f64 d1))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (*.f64 d1 d1))
(*.f64 d1 (neg.f64 d1))
(*.f64 (+.f64 (sqrt.f64 (*.f64 d1 (-.f64 d4 d3))) d1) (-.f64 (sqrt.f64 (*.f64 d1 (-.f64 d4 d3))) d1))
(*.f64 (+.f64 d1 (sqrt.f64 (*.f64 d1 (-.f64 d4 d3)))) (-.f64 (sqrt.f64 (*.f64 d1 (-.f64 d4 d3))) d1))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d3))) (pow.f64 d1 2))
(-.f64 (fma.f64 d2 d1 (*.f64 d1 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (-.f64 (+.f64 (-.f64 d4 d3) d2) d1))
(*.f64 d1 (+.f64 d4 (-.f64 d2 (+.f64 d1 d3))))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d3))) (pow.f64 d1 2))
(-.f64 (fma.f64 d2 d1 (*.f64 d1 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (-.f64 (+.f64 (-.f64 d4 d3) d2) d1))
(*.f64 d1 (+.f64 d4 (-.f64 d2 (+.f64 d1 d3))))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d3))) (pow.f64 d1 2))
(-.f64 (fma.f64 d2 d1 (*.f64 d1 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (-.f64 (+.f64 (-.f64 d4 d3) d2) d1))
(*.f64 d1 (+.f64 d4 (-.f64 d2 (+.f64 d1 d3))))
(*.f64 (-.f64 (sqrt.f64 (*.f64 (+.f64 d2 d4) d1)) d1) (+.f64 d1 (sqrt.f64 (*.f64 (+.f64 d2 d4) d1))))
(*.f64 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 d4 d2))) d1) (+.f64 d1 (sqrt.f64 (*.f64 d1 (+.f64 d4 d2)))))
(-.f64 (*.f64 (+.f64 d2 d4) d1) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d1 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (-.f64 (+.f64 (-.f64 d4 d3) d2) d1))
(*.f64 d1 (+.f64 d4 (-.f64 d2 (+.f64 d1 d3))))
(-.f64 (*.f64 (+.f64 d2 d4) d1) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d1 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (-.f64 (+.f64 (-.f64 d4 d3) d2) d1))
(*.f64 d1 (+.f64 d4 (-.f64 d2 (+.f64 d1 d3))))
(-.f64 (*.f64 (+.f64 d2 d4) d1) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
(-.f64 (fma.f64 d2 d1 (*.f64 d1 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (-.f64 (+.f64 (-.f64 d4 d3) d2) d1))
(*.f64 d1 (+.f64 d4 (-.f64 d2 (+.f64 d1 d3))))
(*.f64 (+.f64 d1 (sqrt.f64 (*.f64 d1 (-.f64 d2 d3)))) (-.f64 (sqrt.f64 (*.f64 d1 (-.f64 d2 d3))) d1))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d1 (-.f64 d2 d3))) (pow.f64 d1 2))
(-.f64 (fma.f64 d2 d1 (*.f64 d1 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (-.f64 (+.f64 (-.f64 d4 d3) d2) d1))
(*.f64 d1 (+.f64 d4 (-.f64 d2 (+.f64 d1 d3))))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d1 (-.f64 d2 d3))) (pow.f64 d1 2))
(-.f64 (fma.f64 d2 d1 (*.f64 d1 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (-.f64 (+.f64 (-.f64 d4 d3) d2) d1))
(*.f64 d1 (+.f64 d4 (-.f64 d2 (+.f64 d1 d3))))
(-.f64 (+.f64 (*.f64 d1 d4) (*.f64 d1 (-.f64 d2 d3))) (pow.f64 d1 2))
(-.f64 (fma.f64 d2 d1 (*.f64 d1 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (-.f64 (+.f64 (-.f64 d4 d3) d2) d1))
(*.f64 d1 (+.f64 d4 (-.f64 d2 (+.f64 d1 d3))))
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(*.f64 (-.f64 (+.f64 d2 d4) d3) d1)
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(*.f64 d1 (-.f64 d4 d3))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(*.f64 d2 d1)
(*.f64 d1 d2)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(*.f64 d2 d1)
(*.f64 d1 d2)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(*.f64 (+.f64 d2 d4) d1)
(*.f64 d1 (+.f64 d4 d2))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(*.f64 -1 (*.f64 d1 d3))
(neg.f64 (*.f64 d1 d3))
(*.f64 d3 (neg.f64 d1))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(*.f64 -1 (*.f64 d1 d3))
(neg.f64 (*.f64 d1 d3))
(*.f64 d3 (neg.f64 d1))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(*.f64 d1 (-.f64 d2 d3))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(*.f64 d1 d4)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(*.f64 d1 d4)
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(-.f64 (+.f64 (*.f64 d2 d1) (*.f64 d1 d4)) (*.f64 d1 d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(*.f64 d1 (+.f64 (-.f64 d4 d3) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(*.f64 -1 d1)
(neg.f64 d1)
(*.f64 -1 d1)
(neg.f64 d1)
(-.f64 (sqrt.f64 (*.f64 d1 (-.f64 d4 d3))) d1)
(-.f64 (+.f64 (sqrt.f64 (*.f64 d1 (-.f64 d4 d3))) (*.f64 1/2 (*.f64 d2 (sqrt.f64 (/.f64 d1 (-.f64 d4 d3)))))) d1)
(+.f64 (sqrt.f64 (*.f64 d1 (-.f64 d4 d3))) (-.f64 (*.f64 (*.f64 1/2 d2) (sqrt.f64 (/.f64 d1 (-.f64 d4 d3)))) d1))
(-.f64 (fma.f64 1/2 (*.f64 d2 (sqrt.f64 (/.f64 d1 (-.f64 d4 d3)))) (sqrt.f64 (*.f64 d1 (-.f64 d4 d3)))) d1)
(fma.f64 d2 (*.f64 1/2 (sqrt.f64 (/.f64 d1 (-.f64 d4 d3)))) (-.f64 (sqrt.f64 (*.f64 d1 (-.f64 d4 d3))) d1))
(-.f64 (+.f64 (sqrt.f64 (*.f64 d1 (-.f64 d4 d3))) (*.f64 1/2 (*.f64 d2 (sqrt.f64 (/.f64 d1 (-.f64 d4 d3)))))) (+.f64 d1 (*.f64 1/8 (*.f64 (pow.f64 d2 2) (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d4 d3) 3)))))))
(+.f64 (sqrt.f64 (*.f64 d1 (-.f64 d4 d3))) (-.f64 (*.f64 (*.f64 1/2 d2) (sqrt.f64 (/.f64 d1 (-.f64 d4 d3)))) (+.f64 d1 (*.f64 (*.f64 1/8 (*.f64 d2 d2)) (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d4 d3) 3)))))))
(-.f64 (fma.f64 1/2 (*.f64 d2 (sqrt.f64 (/.f64 d1 (-.f64 d4 d3)))) (sqrt.f64 (*.f64 d1 (-.f64 d4 d3)))) (fma.f64 1/8 (*.f64 d2 (*.f64 d2 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d4 d3) 3))))) d1))
(-.f64 (fma.f64 1/2 (*.f64 d2 (sqrt.f64 (/.f64 d1 (-.f64 d4 d3)))) (sqrt.f64 (*.f64 d1 (-.f64 d4 d3)))) (fma.f64 1/8 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d4 d3) 3))) (*.f64 d2 d2)) d1))
(-.f64 (+.f64 (sqrt.f64 (*.f64 d1 (-.f64 d4 d3))) (+.f64 (*.f64 1/16 (*.f64 (pow.f64 d2 3) (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d4 d3) 5))))) (*.f64 1/2 (*.f64 d2 (sqrt.f64 (/.f64 d1 (-.f64 d4 d3))))))) (+.f64 d1 (*.f64 1/8 (*.f64 (pow.f64 d2 2) (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d4 d3) 3)))))))
(+.f64 (sqrt.f64 (*.f64 d1 (-.f64 d4 d3))) (-.f64 (fma.f64 1/16 (*.f64 (pow.f64 d2 3) (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d4 d3) 5)))) (*.f64 (*.f64 1/2 d2) (sqrt.f64 (/.f64 d1 (-.f64 d4 d3))))) (+.f64 d1 (*.f64 (*.f64 1/8 (*.f64 d2 d2)) (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d4 d3) 3)))))))
(+.f64 (fma.f64 1/2 (*.f64 d2 (sqrt.f64 (/.f64 d1 (-.f64 d4 d3)))) (*.f64 1/16 (*.f64 (pow.f64 d2 3) (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d4 d3) 5)))))) (-.f64 (sqrt.f64 (*.f64 d1 (-.f64 d4 d3))) (fma.f64 1/8 (*.f64 d2 (*.f64 d2 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d4 d3) 3))))) d1)))
(-.f64 (fma.f64 1/2 (*.f64 d2 (sqrt.f64 (/.f64 d1 (-.f64 d4 d3)))) (fma.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d4 d3) 5))) (*.f64 1/16 (pow.f64 d2 3)) (sqrt.f64 (*.f64 d1 (-.f64 d4 d3))))) (fma.f64 1/8 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d4 d3) 3))) (*.f64 d2 d2)) d1))
(-.f64 (sqrt.f64 (*.f64 (+.f64 d2 d4) d1)) d1)
(-.f64 (sqrt.f64 (*.f64 d1 (+.f64 d4 d2))) d1)
(-.f64 (sqrt.f64 (*.f64 (+.f64 d2 d4) d1)) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 d1 (+.f64 d2 d4))) d3)) d1))
(-.f64 (sqrt.f64 (*.f64 d1 (+.f64 d4 d2))) (fma.f64 1/2 (*.f64 d3 (sqrt.f64 (/.f64 d1 (+.f64 d4 d2)))) d1))
(-.f64 (sqrt.f64 (*.f64 (+.f64 d2 d4) d1)) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 d1 (+.f64 d2 d4))) d3)) (+.f64 d1 (*.f64 1/8 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (+.f64 d2 d4) 3))) (pow.f64 d3 2))))))
(-.f64 (sqrt.f64 (*.f64 d1 (+.f64 d4 d2))) (+.f64 (fma.f64 1/2 (*.f64 d3 (sqrt.f64 (/.f64 d1 (+.f64 d4 d2)))) d1) (*.f64 1/8 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (+.f64 d4 d2) 3))) (*.f64 d3 d3)))))
(-.f64 (sqrt.f64 (*.f64 d1 (+.f64 d4 d2))) (fma.f64 1/2 (*.f64 d3 (sqrt.f64 (/.f64 d1 (+.f64 d4 d2)))) (fma.f64 1/8 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (+.f64 d4 d2) 3))) (*.f64 d3 d3)) d1)))
(-.f64 (sqrt.f64 (*.f64 d1 (+.f64 d4 d2))) (fma.f64 1/2 (*.f64 d3 (sqrt.f64 (/.f64 d1 (+.f64 d4 d2)))) (fma.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (+.f64 d4 d2) 3))) (*.f64 d3 (*.f64 d3 1/8)) d1)))
(-.f64 (sqrt.f64 (*.f64 (+.f64 d2 d4) d1)) (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 d1 (+.f64 d2 d4))) d3)) (+.f64 d1 (+.f64 (*.f64 1/8 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (+.f64 d2 d4) 3))) (pow.f64 d3 2))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (+.f64 d2 d4) 5))) (pow.f64 d3 3)))))))
(-.f64 (sqrt.f64 (*.f64 d1 (+.f64 d4 d2))) (+.f64 (fma.f64 1/2 (*.f64 d3 (sqrt.f64 (/.f64 d1 (+.f64 d4 d2)))) d1) (fma.f64 1/8 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (+.f64 d4 d2) 3))) (*.f64 d3 d3)) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (+.f64 d4 d2) 5))) (pow.f64 d3 3))))))
(-.f64 (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 d4 d2))) (fma.f64 1/2 (*.f64 d3 (sqrt.f64 (/.f64 d1 (+.f64 d4 d2)))) (fma.f64 1/8 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (+.f64 d4 d2) 3))) (*.f64 d3 d3)) d1))) (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (+.f64 d4 d2) 5))) (pow.f64 d3 3))))
(-.f64 (sqrt.f64 (*.f64 d1 (+.f64 d4 d2))) (fma.f64 1/2 (*.f64 d3 (sqrt.f64 (/.f64 d1 (+.f64 d4 d2)))) (fma.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (+.f64 d4 d2) 3))) (*.f64 d3 (*.f64 d3 1/8)) (fma.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (+.f64 d4 d2) 5))) (*.f64 1/16 (pow.f64 d3 3)) d1))))
(-.f64 (sqrt.f64 (*.f64 d1 (-.f64 d2 d3))) d1)
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 d1 (-.f64 d2 d3))) d4)) (sqrt.f64 (*.f64 d1 (-.f64 d2 d3)))) d1)
(-.f64 (fma.f64 1/2 (*.f64 d4 (sqrt.f64 (/.f64 d1 (-.f64 d2 d3)))) (sqrt.f64 (*.f64 d1 (-.f64 d2 d3)))) d1)
(fma.f64 d4 (*.f64 1/2 (sqrt.f64 (/.f64 d1 (-.f64 d2 d3)))) (-.f64 (sqrt.f64 (*.f64 d1 (-.f64 d2 d3))) d1))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 d1 (-.f64 d2 d3))) d4)) (sqrt.f64 (*.f64 d1 (-.f64 d2 d3)))) (+.f64 (*.f64 1/8 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d2 d3) 3))) (pow.f64 d4 2))) d1))
(-.f64 (fma.f64 1/2 (*.f64 d4 (sqrt.f64 (/.f64 d1 (-.f64 d2 d3)))) (sqrt.f64 (*.f64 d1 (-.f64 d2 d3)))) (fma.f64 1/8 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d2 d3) 3))) (*.f64 d4 d4)) d1))
(-.f64 (fma.f64 1/2 (*.f64 d4 (sqrt.f64 (/.f64 d1 (-.f64 d2 d3)))) (sqrt.f64 (*.f64 d1 (-.f64 d2 d3)))) (fma.f64 1/8 (*.f64 d4 (*.f64 d4 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d2 d3) 3))))) d1))
(fma.f64 d4 (*.f64 1/2 (sqrt.f64 (/.f64 d1 (-.f64 d2 d3)))) (-.f64 (sqrt.f64 (*.f64 d1 (-.f64 d2 d3))) (fma.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d2 d3) 3))) (*.f64 d4 (*.f64 d4 1/8)) d1)))
(-.f64 (+.f64 (*.f64 1/2 (*.f64 (sqrt.f64 (/.f64 d1 (-.f64 d2 d3))) d4)) (+.f64 (*.f64 1/16 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d2 d3) 5))) (pow.f64 d4 3))) (sqrt.f64 (*.f64 d1 (-.f64 d2 d3))))) (+.f64 (*.f64 1/8 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d2 d3) 3))) (pow.f64 d4 2))) d1))
(-.f64 (fma.f64 1/2 (*.f64 d4 (sqrt.f64 (/.f64 d1 (-.f64 d2 d3)))) (fma.f64 1/16 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d2 d3) 5))) (pow.f64 d4 3)) (sqrt.f64 (*.f64 d1 (-.f64 d2 d3))))) (fma.f64 1/8 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d2 d3) 3))) (*.f64 d4 d4)) d1))
(-.f64 (fma.f64 1/2 (*.f64 d4 (sqrt.f64 (/.f64 d1 (-.f64 d2 d3)))) (fma.f64 1/16 (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d2 d3) 5))) (pow.f64 d4 3)) (sqrt.f64 (*.f64 d1 (-.f64 d2 d3))))) (fma.f64 1/8 (*.f64 d4 (*.f64 d4 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d2 d3) 3))))) d1))
(-.f64 (fma.f64 d4 (*.f64 1/2 (sqrt.f64 (/.f64 d1 (-.f64 d2 d3)))) (fma.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d2 d3) 5))) (*.f64 1/16 (pow.f64 d4 3)) (sqrt.f64 (*.f64 d1 (-.f64 d2 d3))))) (fma.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d2 d3) 3))) (*.f64 d4 (*.f64 d4 1/8)) d1))
(+.f64 (fma.f64 d4 (*.f64 1/2 (sqrt.f64 (/.f64 d1 (-.f64 d2 d3)))) (sqrt.f64 (*.f64 d1 (-.f64 d2 d3)))) (fma.f64 (*.f64 d4 d4) (fma.f64 d4 (*.f64 1/16 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d2 d3) 5)))) (*.f64 (sqrt.f64 (/.f64 d1 (pow.f64 (-.f64 d2 d3) 3))) -1/8)) (neg.f64 d1)))

prune139.0ms (3%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New2990299
Fresh000
Picked011
Done011
Total2992301
Error
0b
Counts
301 → 2
Alt Table
StatusErrorProgram
0.0b
(-.f64 (+.f64 (-.f64 (*.f64 d1 d2) (*.f64 d1 d3)) (*.f64 d4 d1)) (*.f64 d1 d1))
32.5b
(*.f64 (+.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1) (-.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 d2 d3) d4))) d1))
Compiler

Compiled 8667 to 1873 computations (78.4% saved)

regimes525.0ms (11.1%)

Accuracy

Total 0.0b remaining (24.4%)

Threshold costs 0.0b (24.4%)

Counts
111 → 1
Compiler

Compiled 9198 to 5754 computations (37.4% saved)

simplify2.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01219
11819
22719
34119
45019
55619
65819
Stop Event
saturated
Calls
Call 1
Inputs
(-.f64 (*.f64 (+.f64 d2 d4) d1) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))
Outputs
(-.f64 (*.f64 (+.f64 d2 d4) d1) (+.f64 (pow.f64 d1 2) (*.f64 d1 d3)))

end45.0ms (0.9%)

Stop Event
done
Remove

(sort d2 d4)

Compiler

Compiled 112 to 66 computations (41.1% saved)

Profiling

Loading profile data...