Details

Time bar (total: 3.5s)

analyze1.3s (37.3%)

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.5s (43.4%)

Results
1.0s8256×body128valid
449.0ms3285×body128invalid
Compiler

Compiled 40 to 24 computations (40% saved)

preprocess40.0ms (1.1%)

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)

simplify54.0ms (1.6%)

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

prune7.0ms (0.2%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 92 to 53 computations (42.4% saved)

localize6.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

series8.0ms (0.2%)

Counts
1 → 48
Calls

12 calls:

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

rewrite50.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
658×fma-def_binary64
337×fma-neg_binary64
210×expm1-udef_binary64
210×log1p-udef_binary64
122×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

simplify44.0ms (1.3%)

Algorithm
egg-herbie
Rules
391×associate-*l*_binary64
299×distribute-rgt-in_binary64
288×fma-neg_binary64
279×cancel-sign-sub-inv_binary64
263×associate-*r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
029692
173656
2164548
3475548
41626548
54667548
Stop Event
node limit
Counts
103 → 75
Calls
Call 1
Inputs
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(*.f64 (-.f64 d2 (+.f64 d1 d3)) d1)
(+.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) d1) (*.f64 d1 d4))
(+.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) d1) (*.f64 d1 d4))
(+.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) d1) (*.f64 d1 d4))
(*.f64 d1 d4)
(+.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) (*.f64 d1 d4))
(+.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) (*.f64 d1 d4))
(+.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) (*.f64 d1 d4))
(*.f64 d1 d4)
(+.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) d1) (*.f64 d1 d4))
(+.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) d1) (*.f64 d1 d4))
(+.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) d1) (*.f64 d1 d4))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
Outputs
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (*.f64 d1 d1))
(*.f64 d1 (neg.f64 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (*.f64 d1 d1))
(*.f64 d1 (neg.f64 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(*.f64 (-.f64 d2 (+.f64 d1 d3)) d1)
(*.f64 d1 (-.f64 d2 (+.f64 d1 d3)))
(*.f64 d1 (-.f64 (-.f64 d2 d3) d1))
(*.f64 d1 (-.f64 (-.f64 d2 d1) d3))
(+.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) d1) (*.f64 d1 d4))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(+.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) d1) (*.f64 d1 d4))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(+.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) d1) (*.f64 d1 d4))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(*.f64 d1 d4)
(+.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) (*.f64 d1 d4))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(+.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) (*.f64 d1 d4))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(+.f64 (*.f64 d1 (-.f64 d2 (+.f64 d1 d3))) (*.f64 d1 d4))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(*.f64 d1 d4)
(+.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) d1) (*.f64 d1 d4))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(+.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) d1) (*.f64 d1 d4))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(+.f64 (*.f64 (-.f64 d2 (+.f64 d1 d3)) d1) (*.f64 d1 d4))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(*.f64 d1 (-.f64 (+.f64 d2 d4) d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(*.f64 -1 (*.f64 d1 d3))
(neg.f64 (*.f64 d1 d3))
(*.f64 d3 (neg.f64 d1))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(*.f64 -1 (*.f64 d1 d3))
(neg.f64 (*.f64 d1 d3))
(*.f64 d3 (neg.f64 d1))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d1)))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))))
(-.f64 (*.f64 d1 (+.f64 d2 (-.f64 d4 d3))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d4 (-.f64 (-.f64 d2 d1) d3)))
(*.f64 d1 (-.f64 d4 (-.f64 (+.f64 d1 d3) d2)))
(*.f64 d1 (-.f64 d4 (+.f64 d3 (-.f64 d1 d2))))

prune43.0ms (1.2%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New73275
Fresh101
Picked101
Done000
Total75277
Error
0b
Counts
77 → 2
Alt Table
StatusErrorProgram
0.0b
(fma.f64 d1 (-.f64 d4 (+.f64 d1 d3)) (*.f64 d1 d2))
0.0b
(fma.f64 d1 d2 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))))
Compiler

Compiled 1111 to 272 computations (75.5% saved)

localize6.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

series11.0ms (0.3%)

Counts
2 → 84
Calls

21 calls:

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

rewrite47.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
512×log-prod_binary64
445×fma-def_binary64
218×fma-neg_binary64
194×expm1-udef_binary64
194×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

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

simplify50.0ms (1.4%)

Algorithm
egg-herbie
Rules
508×fma-def_binary64
257×fma-neg_binary64
250×distribute-rgt-out--_binary64
216×sub-neg_binary64
213×unsub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0411021
1123983
2341873
31016873
43989873
Stop Event
node limit
Counts
140 → 84
Calls
Call 1
Inputs
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 (+.f64 (*.f64 -1 (-.f64 d4 d3)) (*.f64 -1 d2)))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 (+.f64 (*.f64 -1 (-.f64 d4 d3)) (*.f64 -1 d2)))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 (+.f64 (*.f64 -1 (-.f64 d4 d3)) (*.f64 -1 d2)))))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d1 d4) (+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(+.f64 (*.f64 d1 d4) (+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(+.f64 (*.f64 d1 d4) (+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(*.f64 d1 d4)
(+.f64 (*.f64 d2 d1) (+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(+.f64 (*.f64 d2 d1) (+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(+.f64 (*.f64 d2 d1) (+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(*.f64 d1 d4)
(+.f64 (*.f64 d2 d1) (+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(+.f64 (*.f64 d2 d1) (+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(+.f64 (*.f64 d2 d1) (+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(*.f64 (-.f64 d4 d3) d1)
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(*.f64 -1 (*.f64 (+.f64 d1 d3) d1))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(*.f64 d1 d4)
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(*.f64 d1 d4)
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(*.f64 d1 (-.f64 d4 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
Outputs
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (*.f64 d1 d1))
(*.f64 d1 (neg.f64 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (*.f64 d1 d1))
(*.f64 d1 (neg.f64 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 (+.f64 (*.f64 -1 (-.f64 d4 d3)) (*.f64 -1 d2)))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 (+.f64 (*.f64 -1 (-.f64 d4 d3)) (*.f64 -1 d2)))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 (+.f64 (*.f64 -1 (-.f64 d4 d3)) (*.f64 -1 d2)))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(fma.f64 d2 d1 (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 d2 (neg.f64 (+.f64 d1 d3))))
(*.f64 d1 (-.f64 d2 (+.f64 d1 d3)))
(+.f64 (*.f64 d1 d4) (+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d4) (+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d4) (+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 d1 d4)
(+.f64 (*.f64 d2 d1) (+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d2 d1) (+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d2 d1) (+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 d1 d4)
(+.f64 (*.f64 d2 d1) (+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d2 d1) (+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d2 d1) (+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1)))
(fma.f64 d2 d1 (*.f64 d1 (-.f64 d4 d1)))
(*.f64 d1 (+.f64 (-.f64 d4 d1) d2))
(*.f64 d1 (-.f64 d4 (-.f64 d1 d2)))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 -1 (*.f64 d1 d3))
(neg.f64 (*.f64 d1 d3))
(*.f64 d3 (neg.f64 d1))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 -1 (*.f64 d1 d3))
(neg.f64 (*.f64 d1 d3))
(*.f64 d3 (neg.f64 d1))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 (-.f64 d4 d3) d1)
(*.f64 d1 (-.f64 d4 d3))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (*.f64 d1 d1))
(*.f64 d1 (neg.f64 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (*.f64 d1 d1))
(*.f64 d1 (neg.f64 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 (-.f64 d4 d3) d1))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(*.f64 -1 (*.f64 (+.f64 d1 d3) d1))
(neg.f64 (*.f64 d1 (+.f64 d1 d3)))
(*.f64 d1 (neg.f64 (+.f64 d1 d3)))
(*.f64 (+.f64 d1 d3) (neg.f64 d1))
(*.f64 d1 (-.f64 (neg.f64 d3) d1))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(*.f64 d1 d4)
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(*.f64 d1 d4)
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(*.f64 d1 (-.f64 d4 d1))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(*.f64 -1 (*.f64 d1 d3))
(neg.f64 (*.f64 d1 d3))
(*.f64 d3 (neg.f64 d1))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(*.f64 -1 (*.f64 d1 d3))
(neg.f64 (*.f64 d1 d3))
(*.f64 d3 (neg.f64 d1))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (*.f64 d1 (-.f64 d4 d1)))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))

prune45.0ms (1.3%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New84084
Fresh011
Picked011
Done000
Total84286
Error
0b
Counts
86 → 2
Alt Table
StatusErrorProgram
0.0b
(fma.f64 d1 (-.f64 d4 (+.f64 d1 d3)) (*.f64 d1 d2))
0.0b
(fma.f64 d1 d2 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))))
Compiler

Compiled 1193 to 328 computations (72.5% saved)

localize7.0ms (0.2%)

Local error

Found 1 expressions with local error:

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

series5.0ms (0.1%)

Counts
1 → 48
Calls

12 calls:

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

rewrite45.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
512×log-prod_binary64
448×fma-def_binary64
218×fma-neg_binary64
194×expm1-udef_binary64
194×log1p-udef_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0914
120113
2297213
Stop Event
node limit
Counts
1 → 30
Calls
Call 1
Inputs
(fma.f64 d1 (-.f64 d4 (+.f64 d1 d3)) (*.f64 d1 d2))
Outputs
((#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 d2) (*.f64 d1 (-.f64 (-.f64 d4 d1) d3)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 d1 (-.f64 (-.f64 d4 d1) d3)) (*.f64 d1 d2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 0 (*.f64 d1 (+.f64 (-.f64 (-.f64 d4 d1) d3) d2)))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (*.f64 (*.f64 d1 (-.f64 (-.f64 d4 d1) d3)) 1) (*.f64 d1 d2))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (*.f64 d1 (+.f64 (-.f64 (-.f64 d4 d1) d3) d2)))) (cbrt.f64 (exp.f64 (*.f64 d1 (+.f64 (-.f64 (-.f64 d4 d1) d3) d2)))))) (log.f64 (cbrt.f64 (exp.f64 (*.f64 d1 (+.f64 (-.f64 (-.f64 d4 d1) d3) d2))))))))) (#(struct:change #<rule egg-rr> (2) ((x +.f64 (log.f64 (sqrt.f64 (exp.f64 (*.f64 d1 (+.f64 (-.f64 (-.f64 d4 d1) d3) d2))))) (log.f64 (sqrt.f64 (exp.f64 (*.f64 d1 (+.f64 (-.f64 (-.f64 d4 d1) d3) d2))))))))) (#(struct:change #<rule egg-rr> (2) ((x -.f64 (exp.f64 (log1p.f64 (*.f64 d1 (+.f64 (-.f64 (-.f64 d4 d1) d3) d2)))) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 d1 (+.f64 (-.f64 (-.f64 d4 d1) d3) d2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (*.f64 d1 (+.f64 (-.f64 (-.f64 d4 d1) d3) d2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 1 (*.f64 d1 (+.f64 (-.f64 (-.f64 d4 d1) d3) d2)))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (cbrt.f64 (*.f64 d1 (+.f64 (-.f64 (-.f64 d4 d1) d3) d2))) (pow.f64 (cbrt.f64 (*.f64 d1 (+.f64 (-.f64 (-.f64 d4 d1) d3) d2))) 2))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (pow.f64 (cbrt.f64 (*.f64 d1 (+.f64 (-.f64 (-.f64 d4 d1) d3) d2))) 2) (cbrt.f64 (*.f64 d1 (+.f64 (-.f64 (-.f64 d4 d1) d3) d2))))))) (#(struct:change #<rule egg-rr> (2) ((x *.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 (-.f64 d4 d1) d3) d2))) (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 (-.f64 d4 d1) d3) d2))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (+.f64 (pow.f64 (*.f64 d1 (-.f64 (-.f64 d4 d1) d3)) 3) (pow.f64 (*.f64 d1 d2) 3)) (fma.f64 (*.f64 d1 (-.f64 (-.f64 d4 d1) d3)) (*.f64 d1 (-.f64 (-.f64 d4 d1) d3)) (-.f64 (pow.f64 (*.f64 d1 d2) 2) (*.f64 (*.f64 d1 (-.f64 (-.f64 d4 d1) d3)) (*.f64 d1 d2)))))))) (#(struct:change #<rule egg-rr> (2) ((x /.f64 (-.f64 (*.f64 (*.f64 d1 (-.f64 (-.f64 d4 d1) d3)) (*.f64 d1 (-.f64 (-.f64 d4 d1) d3))) (pow.f64 (*.f64 d1 d2) 2)) (-.f64 (*.f64 d1 (-.f64 (-.f64 d4 d1) d3)) (*.f64 d1 d2)))))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (*.f64 d1 (+.f64 (-.f64 (-.f64 d4 d1) d3) d2)) 1)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 (-.f64 d4 d1) d3) d2)) 3) 1/3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (cbrt.f64 (*.f64 d1 (+.f64 (-.f64 (-.f64 d4 d1) d3) d2))) 3)))) (#(struct:change #<rule egg-rr> (2) ((x pow.f64 (sqrt.f64 (*.f64 d1 (+.f64 (-.f64 (-.f64 d4 d1) d3) d2))) 2)))) (#(struct:change #<rule egg-rr> (2) ((x sqrt.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 (-.f64 d4 d1) d3) d2)) 2))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (exp.f64 (*.f64 d1 (+.f64 (-.f64 (-.f64 d4 d1) d3) d2))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (+.f64 1 (expm1.f64 (*.f64 d1 (+.f64 (-.f64 (-.f64 d4 d1) d3) d2)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (pow.f64 (exp.f64 d1) d2) (exp.f64 (*.f64 d1 (-.f64 (-.f64 d4 d1) d3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (+.f64 1 (expm1.f64 (*.f64 d1 d2))) (exp.f64 (*.f64 d1 (-.f64 (-.f64 d4 d1) d3)))))))) (#(struct:change #<rule egg-rr> (2) ((x log.f64 (*.f64 (exp.f64 (*.f64 d1 (-.f64 (-.f64 d4 d1) d3))) (+.f64 1 (expm1.f64 (*.f64 d1 d2)))))))) (#(struct:change #<rule egg-rr> (2) ((x cbrt.f64 (pow.f64 (*.f64 d1 (+.f64 (-.f64 (-.f64 d4 d1) d3) d2)) 3))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (log.f64 (*.f64 d1 (+.f64 (-.f64 (-.f64 d4 d1) d3) d2))))))) (#(struct:change #<rule egg-rr> (2) ((x exp.f64 (*.f64 (log.f64 (*.f64 d1 (+.f64 (-.f64 (-.f64 d4 d1) d3) d2))) 1))))) (#(struct:change #<rule egg-rr> (2) ((x expm1.f64 (log1p.f64 (*.f64 d1 (+.f64 (-.f64 (-.f64 d4 d1) d3) d2))))))) (#(struct:change #<rule egg-rr> (2) ((x log1p.f64 (expm1.f64 (*.f64 d1 (+.f64 (-.f64 (-.f64 d4 d1) d3) d2))))))))

simplify40.0ms (1.1%)

Algorithm
egg-herbie
Rules
521×fma-def_binary64
260×fma-neg_binary64
246×distribute-rgt-out--_binary64
219×distribute-rgt-in_binary64
217×sub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
038696
1115658
2337548
31016548
43994548
Stop Event
node limit
Counts
78 → 51
Calls
Call 1
Inputs
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(*.f64 -1 (pow.f64 d1 2))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 (+.f64 (*.f64 -1 (-.f64 d4 d3)) (*.f64 -1 d2)))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 (+.f64 (*.f64 -1 (-.f64 d4 d3)) (*.f64 -1 d2)))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 (+.f64 (*.f64 -1 (-.f64 d4 d3)) (*.f64 -1 d2)))))
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(+.f64 (*.f64 d1 d4) (+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(+.f64 (*.f64 d1 d4) (+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(+.f64 (*.f64 d1 d4) (+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(*.f64 d1 d4)
(+.f64 (*.f64 d2 d1) (+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(+.f64 (*.f64 d2 d1) (+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(+.f64 (*.f64 d2 d1) (+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(*.f64 d1 d4)
(+.f64 (*.f64 d2 d1) (+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(+.f64 (*.f64 d2 d1) (+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(+.f64 (*.f64 d2 d1) (+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(*.f64 -1 (*.f64 d1 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(*.f64 d2 d1)
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
Outputs
(*.f64 d1 (-.f64 (+.f64 d2 d4) d3))
(*.f64 d1 (-.f64 d4 (-.f64 d3 d2)))
(*.f64 d1 (+.f64 d4 (-.f64 d2 d3)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d3)))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (*.f64 d1 d1))
(*.f64 d1 (neg.f64 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 -1 (pow.f64 d1 2))
(neg.f64 (*.f64 d1 d1))
(*.f64 d1 (neg.f64 d1))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 (+.f64 (*.f64 -1 (-.f64 d4 d3)) (*.f64 -1 d2)))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 (+.f64 (*.f64 -1 (-.f64 d4 d3)) (*.f64 -1 d2)))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 -1 (pow.f64 d1 2)) (*.f64 -1 (*.f64 d1 (+.f64 (*.f64 -1 (-.f64 d4 d3)) (*.f64 -1 d2)))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1)))
(fma.f64 d2 d1 (neg.f64 (*.f64 d1 (+.f64 d1 d3))))
(*.f64 d1 (+.f64 (neg.f64 (+.f64 d1 d3)) d2))
(*.f64 d1 (-.f64 d2 (+.f64 d1 d3)))
(*.f64 d1 (-.f64 (-.f64 d2 d3) d1))
(+.f64 (*.f64 d1 d4) (+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d4) (+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 d4) (+.f64 (*.f64 d2 d1) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 d1 d4)
(+.f64 (*.f64 d2 d1) (+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d2 d1) (+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d2 d1) (+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 d1 d4)
(+.f64 (*.f64 d2 d1) (+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d2 d1) (+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d2 d1) (+.f64 (*.f64 d1 d4) (*.f64 -1 (*.f64 (+.f64 d1 d3) d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1)))
(fma.f64 d2 d1 (*.f64 d1 (-.f64 d4 d1)))
(*.f64 d1 (+.f64 d2 (-.f64 d4 d1)))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 -1 (*.f64 d1 d3))
(neg.f64 (*.f64 d1 d3))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 -1 (*.f64 d1 d3))
(neg.f64 (*.f64 d1 d3))
(*.f64 d1 (neg.f64 d3))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 -1 (*.f64 d1 d3)) (+.f64 (*.f64 d2 d1) (*.f64 d1 (-.f64 d4 d1))))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 d1 (-.f64 d4 (+.f64 d1 d3)))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(*.f64 d2 d1)
(*.f64 d1 d2)
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))
(+.f64 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))) (*.f64 d2 d1))
(fma.f64 -1 (*.f64 d1 d1) (*.f64 d1 (-.f64 (+.f64 d2 d4) d3)))
(-.f64 (*.f64 d1 (-.f64 d4 (-.f64 d3 d2))) (*.f64 d1 d1))
(*.f64 d1 (+.f64 d2 (-.f64 d4 (+.f64 d1 d3))))

prune24.0ms (0.7%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New51051
Fresh000
Picked011
Done011
Total51253
Error
0b
Counts
53 → 2
Alt Table
StatusErrorProgram
0.0b
(fma.f64 d1 (-.f64 d4 (+.f64 d1 d3)) (*.f64 d1 d2))
0.0b
(fma.f64 d1 d2 (*.f64 d1 (-.f64 d4 (+.f64 d1 d3))))
Compiler

Compiled 699 to 183 computations (73.8% saved)

regimes84.0ms (2.4%)

Accuracy

Total 0.0b remaining (39.4%)

Threshold costs 0.0b (39.4%)

Counts
31 → 1
Compiler

Compiled 309 to 117 computations (62.1% 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
0914
11314
22214
33014
43514
53714
Stop Event
saturated
Calls
Call 1
Inputs
(fma.f64 d1 (-.f64 d4 (+.f64 d1 d3)) (*.f64 d1 d2))
Outputs
(fma.f64 d1 (-.f64 d4 (+.f64 d1 d3)) (*.f64 d1 d2))

end56.0ms (1.6%)

Stop Event
done
Compiler

Compiled 84 to 48 computations (42.9% saved)

Profiling

Loading profile data...